diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 696b5c1cb..f78184c3b 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -899,8 +899,7 @@ namespace Ryujinx.Graphics.Vulkan public void SetDepthMode(DepthMode mode) { bool oldMode; - bool supportsDepthClipandDynamicState = Gd.Capabilities.SupportsDepthClipControl && - Gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne; + bool supportsDepthClipandDynamicState = Gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne; if (supportsDepthClipandDynamicState) { oldMode = DynamicState.DepthMode; diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineState.cs b/src/Ryujinx.Graphics.Vulkan/PipelineState.cs index 7ae909e16..479279916 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -637,6 +637,10 @@ namespace Ryujinx.Graphics.Vulkan { additionalDynamicStatesCount++; } + if (gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne) + { + additionalDynamicStatesCount++; + } } int dynamicStatesCount = baseDynamicStatesCount + additionalDynamicStatesCount; @@ -710,6 +714,10 @@ namespace Ryujinx.Graphics.Vulkan { dynamicStates[currentIndex++] = DynamicState.AlphaToOneEnableExt; } + if (gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne) + { + dynamicStates[currentIndex++] = DynamicState.DepthClipNegativeOneToOneExt; + } } var pipelineDynamicStateCreateInfo = new PipelineDynamicStateCreateInfo