diff options
| author | riperiperi <rhy3756547@hotmail.com> | 2020-05-04 03:24:59 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-04 12:24:59 +1000 |
| commit | cd48576f5846aa89a36bfc833e9de5dde9627aed (patch) | |
| tree | 5bf04a43725cf7fdc098cde59856798a67b839e0 /Ryujinx.Graphics.Gpu/Engine/MethodClear.cs | |
| parent | 651a07c6c2a3e89c059d56e916c45e1881d56abc (diff) | |
Implement Counter Queue and Partial Host Conditional Rendering (#1167)
* Implementation of query queue and host conditional rendering
* Resolve some comments.
* Use overloads instead of passing object.
* Wake the consumer threads when incrementing syncpoints.
Also, do a busy loop when awaiting the counter for a blocking flush, rather than potentially sleeping the thread.
* Ensure there's a command between begin and end query.
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/MethodClear.cs')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Engine/MethodClear.cs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/MethodClear.cs b/Ryujinx.Graphics.Gpu/Engine/MethodClear.cs index a555015d..a9552762 100644 --- a/Ryujinx.Graphics.Gpu/Engine/MethodClear.cs +++ b/Ryujinx.Graphics.Gpu/Engine/MethodClear.cs @@ -13,7 +13,9 @@ namespace Ryujinx.Graphics.Gpu.Engine /// <param name="argument">Method call argument</param> private void Clear(GpuState state, int argument) { - if (!GetRenderEnable(state)) + ConditionalRenderEnabled renderEnable = GetRenderEnable(state); + + if (renderEnable == ConditionalRenderEnabled.False) { return; } @@ -68,6 +70,11 @@ namespace Ryujinx.Graphics.Gpu.Engine } UpdateRenderTargetState(state, useControl: true); + + if (renderEnable == ConditionalRenderEnabled.Host) + { + _context.Renderer.Pipeline.EndHostConditionalRendering(); + } } } }
\ No newline at end of file |
