aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2020-04-22 03:00:11 -0300
committerGitHub <noreply@github.com>2020-04-22 16:00:11 +1000
commit6bfe4715f05be10c73a788abd8727293a7eca77e (patch)
tree2cb319f53b0c4b846352a9836772c3eff4b1db1d /Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs
parentc46edfab858051e4b800b2705df2c019c1d975cd (diff)
Initial conditional rendering support (#1012)
* Initial conditional rendering support * Properly reset state * Support conditional modes and skeleton a counter cache for future host conditional rendering * Address PR feedback
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs b/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs
index b13cc9ca..68131f62 100644
--- a/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs
+++ b/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs
@@ -35,8 +35,15 @@ namespace Ryujinx.Graphics.Gpu.Engine
/// <param name="argument">Method call argument</param>
private void DrawEnd(GpuState state, int argument)
{
- if (_instancedDrawPending)
+ bool renderEnable = GetRenderEnable(state);
+
+ if (!renderEnable || _instancedDrawPending)
{
+ if (!renderEnable)
+ {
+ PerformDeferredDraws();
+ }
+
_drawIndexed = false;
return;