Răsfoiți Sursa

Ensure all pending draws are done before compute dispatch (#3822)

gdkchan 3 ani în urmă
părinte
comite
647de4cd31
1 a modificat fișierele cu 4 adăugiri și 0 ștergeri
  1. 4 0
      Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClass.cs

+ 4 - 0
Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClass.cs

@@ -94,6 +94,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         {
             var memoryManager = _channel.MemoryManager;
 
+            // Since we're going to change the state, make sure any pending instanced draws are done.
+            _3dEngine.PerformDeferredDraws();
+
+            // Make sure all pending uniform buffer data is written to memory.
             _3dEngine.FlushUboDirty();
 
             uint qmdAddress = _state.State.SendPcasA;