Force dynamic state update after rasterizer discard disable (#7007)

This commit is contained in:
gdkchan 2024-07-09 23:31:01 -03:00 committed by GitHub
parent a830eb666b
commit 1668ba913f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1020,6 +1020,13 @@ namespace Ryujinx.Graphics.Vulkan
{ {
_newState.RasterizerDiscardEnable = discard; _newState.RasterizerDiscardEnable = discard;
SignalStateChange(); 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) public void SetRenderTargetColorMasks(ReadOnlySpan<uint> componentMask)