diff options
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs b/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs index 68131f62..d70402e9 100644 --- a/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs +++ b/Ryujinx.Graphics.Gpu/Engine/MethodDraw.cs @@ -35,17 +35,22 @@ namespace Ryujinx.Graphics.Gpu.Engine /// <param name="argument">Method call argument</param> private void DrawEnd(GpuState state, int argument) { - bool renderEnable = GetRenderEnable(state); + ConditionalRenderEnabled renderEnable = GetRenderEnable(state); - if (!renderEnable || _instancedDrawPending) + if (renderEnable == ConditionalRenderEnabled.False || _instancedDrawPending) { - if (!renderEnable) + if (renderEnable == ConditionalRenderEnabled.False) { PerformDeferredDraws(); } _drawIndexed = false; + if (renderEnable == ConditionalRenderEnabled.Host) + { + _context.Renderer.Pipeline.EndHostConditionalRendering(); + } + return; } @@ -72,6 +77,11 @@ namespace Ryujinx.Graphics.Gpu.Engine _drawIndexed = false; + if (renderEnable == ConditionalRenderEnabled.Host) + { + _context.Renderer.Pipeline.EndHostConditionalRendering(); + } + return; } @@ -100,6 +110,11 @@ namespace Ryujinx.Graphics.Gpu.Engine drawState.First, firstInstance); } + + if (renderEnable == ConditionalRenderEnabled.Host) + { + _context.Renderer.Pipeline.EndHostConditionalRendering(); + } } /// <summary> |
