Просмотр исходного кода

Vulkan: Force topology to PatchList for Tessellation (#7102)

Vulkan spec states that input topology should always be PatchList when a tessellation pipeline is present. The AMD GPU on windows crashes so hard it BSODs the machine if this isn't the case, so it's forced here just in case.

I'm not sure what providing a different topology here would even do, as you'd think it would always be a patch list input.
riperiperi 1 год назад
Родитель
Сommit
698e36bbd2
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      src/Ryujinx.Graphics.Vulkan/PipelineState.cs

+ 1 - 1
src/Ryujinx.Graphics.Vulkan/PipelineState.cs

@@ -439,7 +439,7 @@ namespace Ryujinx.Graphics.Vulkan
                 {
                 {
                     SType = StructureType.PipelineInputAssemblyStateCreateInfo,
                     SType = StructureType.PipelineInputAssemblyStateCreateInfo,
                     PrimitiveRestartEnable = primitiveRestartEnable,
                     PrimitiveRestartEnable = primitiveRestartEnable,
-                    Topology = Topology,
+                    Topology = HasTessellationControlShader ? PrimitiveTopology.PatchList : Topology,
                 };
                 };
 
 
                 var tessellationState = new PipelineTessellationStateCreateInfo
                 var tessellationState = new PipelineTessellationStateCreateInfo