Просмотр исходного кода

Flush GL commands before inevitably waiting for a query result. (#1278)

riperiperi 5 лет назад
Родитель
Сommit
5dab515c7a
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      Ryujinx.Graphics.OpenGL/Pipeline.cs

+ 5 - 1
Ryujinx.Graphics.OpenGL/Pipeline.cs

@@ -1067,11 +1067,15 @@ namespace Ryujinx.Graphics.OpenGL
                 }
                 }
             }
             }
 
 
-            return false; // The GPU will flush the queries to CPU and evaluate the condition there instead.
+            // The GPU will flush the queries to CPU and evaluate the condition there instead.
+
+            GL.Flush(); // The thread will be stalled manually flushing the counter, so flush GL commands now.
+            return false; 
         }
         }
 
 
         public bool TryHostConditionalRendering(ICounterEvent value, ICounterEvent compare, bool isEqual)
         public bool TryHostConditionalRendering(ICounterEvent value, ICounterEvent compare, bool isEqual)
         {
         {
+            GL.Flush(); // The GPU thread will be stalled manually flushing the counter, so flush GL commands now.
             return false; // We don't currently have a way to compare two counters for conditional rendering.
             return false; // We don't currently have a way to compare two counters for conditional rendering.
         }
         }