mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-11-30 10:34:15 +01:00
Call all flush callbacks prior to CommandExecutor
submission
The flush callbacks inside `CommandExecutor` weren't being called prior to submission as they should've been, this fixes that by calling them. It additionally removes the requirement to manually flush Maxwell3D at the end of `ChannelGpfifo` pushbuffers as it's a flush callback and will automatically be called by `Submit`. Co-authored-by: Billy Laws <blaws05@gmail.com>
This commit is contained in:
parent
e65707cd9d
commit
ffaefc82d3
@ -316,6 +316,9 @@ namespace skyline::gpu::interconnect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CommandExecutor::Submit() {
|
void CommandExecutor::Submit() {
|
||||||
|
for (const auto &callback : flushCallbacks)
|
||||||
|
callback();
|
||||||
|
|
||||||
if (!nodes.empty()) {
|
if (!nodes.empty()) {
|
||||||
TRACE_EVENT("gpu", "CommandExecutor::Submit");
|
TRACE_EVENT("gpu", "CommandExecutor::Submit");
|
||||||
SubmitInternal();
|
SubmitInternal();
|
||||||
@ -330,6 +333,9 @@ namespace skyline::gpu::interconnect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CommandExecutor::SubmitWithFlush() {
|
void CommandExecutor::SubmitWithFlush() {
|
||||||
|
for (const auto &callback : flushCallbacks)
|
||||||
|
callback();
|
||||||
|
|
||||||
if (!nodes.empty()) {
|
if (!nodes.empty()) {
|
||||||
TRACE_EVENT("gpu", "CommandExecutor::SubmitWithFlush");
|
TRACE_EVENT("gpu", "CommandExecutor::SubmitWithFlush");
|
||||||
SubmitInternal();
|
SubmitInternal();
|
||||||
|
@ -336,7 +336,6 @@ namespace skyline::soc::gm20b {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
channelCtx.maxwell3D->FlushEngineState();
|
|
||||||
channelCtx.executor.Submit();
|
channelCtx.executor.Submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user