From 482b960740b817c2ab0ca887eda8b3442c86d09f Mon Sep 17 00:00:00 2001 From: sunshineinabox Date: Sun, 4 Aug 2024 20:50:10 -0700 Subject: [PATCH] More changes to be inline with spec --- src/Ryujinx.Graphics.Vulkan/PipelineBase.cs | 4 ++-- src/Ryujinx.Graphics.Vulkan/PipelineState.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 7afa9acce..482f11844 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -992,11 +992,11 @@ namespace Ryujinx.Graphics.Vulkan public void SetPatchParameters(int vertices, ReadOnlySpan defaultOuterLevel, ReadOnlySpan defaultInnerLevel) { - if (vertices == 0 || vertices > Gd.Capabilities.MaxTessellationPatchSize) + if (vertices == 0 || vertices > Gd.Capabilities.MaxTessellationPatchSize || !_newState.HasTessellationControlShader) { return; } - + if (Gd.Capabilities.SupportsExtendedDynamicState2.ExtendedDynamicState2PatchControlPoints) { DynamicState.SetPatchControlPoints((uint)vertices); diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineState.cs b/src/Ryujinx.Graphics.Vulkan/PipelineState.cs index 14ee61c02..d1df300ed 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -578,7 +578,7 @@ namespace Ryujinx.Graphics.Vulkan RenderPass = renderPass, }; - if (!gd.Capabilities.SupportsExtendedDynamicState2.ExtendedDynamicState2PatchControlPoints) + if (!gd.Capabilities.SupportsExtendedDynamicState2.ExtendedDynamicState2PatchControlPoints && HasTessellationControlShader) { pipelineCreateInfo.PTessellationState = &tessellationState; }