aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2024-04-06 13:25:51 -0300
committerGitHub <noreply@github.com>2024-04-06 13:25:51 -0300
commit791bf22109b90eca79fe1bf934074809661a6c86 (patch)
tree1356f92bfbeecea55748b2cb18809665aaf2ce6b /src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs
parent66b1d59c666b425a8451e1a4fe981e3311be08fb (diff)
Vulkan: Skip draws when patches topology is used without a tessellation shader (#6508)
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs')
-rw-r--r--src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs
index e4ea0e4e..b2be541b 100644
--- a/src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs
+++ b/src/Ryujinx.Graphics.Vulkan/ShaderCollection.cs
@@ -21,6 +21,7 @@ namespace Ryujinx.Graphics.Vulkan
public bool HasMinimalLayout { get; }
public bool UsePushDescriptors { get; }
public bool IsCompute { get; }
+ public bool HasTessellationControlShader => (Stages & (1u << 3)) != 0;
public uint Stages { get; }
@@ -461,6 +462,7 @@ namespace Ryujinx.Graphics.Vulkan
stages[i] = _shaders[i].GetInfo();
}
+ pipeline.HasTessellationControlShader = HasTessellationControlShader;
pipeline.StagesCount = (uint)_shaders.Length;
pipeline.PipelineLayout = PipelineLayout;