Fix SubmitWithFlush not updating MegaBuffer cycle

The `CommandExecutor`'s `MegaBuffer` was not being updated with the latest `FenceCycle` on being flushed in `SubmitWIthFlush`, this led to the megabuffer being overwritten prior to its GPU-side usage being complete. This commit fixes that by replacing the cycle to the latest cycle and prevents any races that occurred prior.
This commit is contained in:
Billy Laws 2022-07-25 20:43:35 +05:30 committed by PixelyIon
parent 3e9d84b0c3
commit 96d8676d5b
No known key found for this signature in database
GPG Key ID: 11BC6C3201BC2C05

View File

@ -350,6 +350,7 @@ namespace skyline::gpu::interconnect {
TRACE_EVENT("gpu", "CommandExecutor::SubmitWithFlush"); TRACE_EVENT("gpu", "CommandExecutor::SubmitWithFlush");
SubmitInternal(); SubmitInternal();
cycle = activeCommandBuffer.Reset(); cycle = activeCommandBuffer.Reset();
megaBuffer.ReplaceCycle(cycle);
megaBuffer.Reset(); megaBuffer.Reset();
} }
ResetInternal(); ResetInternal();