From aa57ec6d552713a322beeac38cdc348a1a9e7a29 Mon Sep 17 00:00:00 2001 From: PixelyIon Date: Sat, 22 Jan 2022 19:09:11 +0530 Subject: [PATCH] Destroy `CommandExecutor` Nodes Before Waiting on Execution `nodes` and `syncTextures` were cleared after waiting on the `CommandExecutor` fence rather than before, this wasted execution time after the wait for something that could be performed prior to the wait. --- .../cpp/skyline/gpu/interconnect/command_executor.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/cpp/skyline/gpu/interconnect/command_executor.cpp b/app/src/main/cpp/skyline/gpu/interconnect/command_executor.cpp index ad1376af..3511e801 100644 --- a/app/src/main/cpp/skyline/gpu/interconnect/command_executor.cpp +++ b/app/src/main/cpp/skyline/gpu/interconnect/command_executor.cpp @@ -169,13 +169,13 @@ namespace skyline::gpu::interconnect { buffer->SynchronizeGuestWithCycle(cycle); commandBuffer.end(); - gpu.scheduler.SubmitCommandBuffer(commandBuffer, activeCommandBuffer.GetFence()); + + nodes.clear(); + syncTextures.clear(); + cycle = activeCommandBuffer.Reset(); } - - nodes.clear(); - syncTextures.clear(); } } }