aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Ryujinx.Graphics.Vulkan/PipelineBase.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs
index 8d7cd547..00fcc078 100644
--- a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs
+++ b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs
@@ -1020,6 +1020,13 @@ namespace Ryujinx.Graphics.Vulkan
{
_newState.RasterizerDiscardEnable = discard;
SignalStateChange();
+
+ if (!discard && Gd.Vendor == Vendor.Qualcomm)
+ {
+ // On Adreno, enabling rasterizer discard somehow corrupts the viewport state.
+ // Force it to be updated on next use to work around this bug.
+ DynamicState.ForceAllDirty();
+ }
}
public void SetRenderTargetColorMasks(ReadOnlySpan<uint> componentMask)