Combine compatibility check.

This commit is contained in:
sunshineinabox 2024-05-19 10:43:07 -07:00
parent 8bb369f37d
commit 6c6cd8927a

View file

@ -438,11 +438,6 @@ namespace Ryujinx.Graphics.Vulkan
Topology = Topology, Topology = Topology,
}; };
if (!supportsExtDynamicState)
{
inputAssemblyState.PrimitiveRestartEnable = PrimitiveRestartEnable;
}
var tessellationState = new PipelineTessellationStateCreateInfo var tessellationState = new PipelineTessellationStateCreateInfo
{ {
SType = StructureType.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. //When widelines feature is not supported it must be 1.0f per spec.
rasterizationState.LineWidth = 1.0f; rasterizationState.LineWidth = 1.0f;
} }
if (!supportsExtDynamicState)
{
rasterizationState.CullMode = CullMode;
rasterizationState.FrontFace = FrontFace;
}
if (!supportsExtDynamicState2) if (!supportsExtDynamicState2)
{ {
@ -479,12 +469,6 @@ namespace Ryujinx.Graphics.Vulkan
SType = StructureType.PipelineViewportStateCreateInfo, SType = StructureType.PipelineViewportStateCreateInfo,
}; };
if (!supportsExtDynamicState)
{
viewportState.ViewportCount = ViewportsCount;
viewportState.ScissorCount = ScissorsCount;
}
if (gd.Capabilities.SupportsDepthClipControl && !gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne) if (gd.Capabilities.SupportsDepthClipControl && !gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne)
{ {
var viewportDepthClipControlState = new PipelineViewportDepthClipControlCreateInfoEXT var viewportDepthClipControlState = new PipelineViewportDepthClipControlCreateInfoEXT
@ -516,6 +500,14 @@ namespace Ryujinx.Graphics.Vulkan
if (!supportsExtDynamicState) if (!supportsExtDynamicState)
{ {
inputAssemblyState.PrimitiveRestartEnable = PrimitiveRestartEnable;
rasterizationState.CullMode = CullMode;
rasterizationState.FrontFace = FrontFace;
viewportState.ViewportCount = ViewportsCount;
viewportState.ScissorCount = ScissorsCount;
var stencilFront = new StencilOpState( var stencilFront = new StencilOpState(
StencilFrontFailOp, StencilFrontFailOp,
StencilFrontPassOp, StencilFrontPassOp,