diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineState.cs b/src/Ryujinx.Graphics.Vulkan/PipelineState.cs index 479279916..3ddb21dad 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -438,11 +438,6 @@ namespace Ryujinx.Graphics.Vulkan Topology = Topology, }; - if (!supportsExtDynamicState) - { - inputAssemblyState.PrimitiveRestartEnable = PrimitiveRestartEnable; - } - var tessellationState = new PipelineTessellationStateCreateInfo { SType = StructureType.PipelineTessellationStateCreateInfo, @@ -461,12 +456,7 @@ namespace Ryujinx.Graphics.Vulkan //When widelines feature is not supported it must be 1.0f per spec. rasterizationState.LineWidth = 1.0f; } - - if (!supportsExtDynamicState) - { - rasterizationState.CullMode = CullMode; - rasterizationState.FrontFace = FrontFace; - } + if (!supportsExtDynamicState2) { @@ -479,12 +469,6 @@ namespace Ryujinx.Graphics.Vulkan SType = StructureType.PipelineViewportStateCreateInfo, }; - if (!supportsExtDynamicState) - { - viewportState.ViewportCount = ViewportsCount; - viewportState.ScissorCount = ScissorsCount; - } - if (gd.Capabilities.SupportsDepthClipControl && !gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne) { var viewportDepthClipControlState = new PipelineViewportDepthClipControlCreateInfoEXT @@ -516,6 +500,14 @@ namespace Ryujinx.Graphics.Vulkan if (!supportsExtDynamicState) { + inputAssemblyState.PrimitiveRestartEnable = PrimitiveRestartEnable; + + rasterizationState.CullMode = CullMode; + rasterizationState.FrontFace = FrontFace; + + viewportState.ViewportCount = ViewportsCount; + viewportState.ScissorCount = ScissorsCount; + var stencilFront = new StencilOpState( StencilFrontFailOp, StencilFrontPassOp,