Browse Source

vk_shader_decompiler: Show comments as OpUndef with a type

Silence the new validation layer error about SPIR-V not allowing OpUndef
on a OpTypeVoid, even when the SPIR-V spec doesn't say anything against
it.

They will be inserted as an undefined int to avoid SPIRV-Cross and
validation errors, but only when a debugging tool is attached.
ReinUsesLisp 5 years ago
parent
commit
c3c7603076
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/video_core/renderer_vulkan/vk_shader_decompiler.cpp

+ 4 - 1
src/video_core/renderer_vulkan/vk_shader_decompiler.cpp

@@ -1334,7 +1334,10 @@ private:
         }
 
         if (const auto comment = std::get_if<CommentNode>(&*node)) {
-            Name(OpUndef(t_void), comment->GetText());
+            if (device.HasDebuggingToolAttached()) {
+                // We should insert comments with OpString instead of using named variables
+                Name(OpUndef(t_int), comment->GetText());
+            }
             return {};
         }