From 78614c9b551458b70f234592d7718aeea949b25c Mon Sep 17 00:00:00 2001 From: Sandy Date: Thu, 26 Sep 2019 21:00:44 +0200 Subject: [PATCH] shaderc: Add before hlsl validation option to spirv (#1892) Fixes opaque type in struct error by disabling check. ``` Error: In Vulkan, OpTypeStruct must not contain an opaque type. %BgfxSampler2D = OpTypeStruct %6 %8 ``` --- tools/shaderc/shaderc_spirv.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/shaderc/shaderc_spirv.cpp b/tools/shaderc/shaderc_spirv.cpp index 88d0332ec..b81749e31 100644 --- a/tools/shaderc/shaderc_spirv.cpp +++ b/tools/shaderc/shaderc_spirv.cpp @@ -980,7 +980,10 @@ namespace bgfx { namespace spirv opt.RegisterLegalizationPasses(); - if (!opt.Run(spirv.data(), spirv.size(), &spirv) ) + spvtools::ValidatorOptions validatorOptions; + validatorOptions.SetBeforeHlslLegalization(true); + + if (!opt.Run(spirv.data(), spirv.size(), &spirv, validatorOptions, false) ) { compiled = false; }