From 25a7d51445e64253beca5c4f70ddd52f40226b1d Mon Sep 17 00:00:00 2001 From: Yong He Date: Sun, 10 Mar 2024 21:23:57 -0700 Subject: Fix spirv builtin for `SV_ShadingRate`. (#3730) --- source/slang/slang-emit-spirv.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-emit-spirv.cpp') diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index 1a661920a..2f318c464 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -3663,7 +3663,11 @@ struct SPIRVEmitContext { requireSPIRVCapability(SpvCapabilityFragmentShadingRateKHR); ensureExtensionDeclaration(UnownedStringSlice("SPV_KHR_fragment_shading_rate")); - return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInPrimitiveShadingRateKHR); + auto importDecor = inst->findDecoration(); + if (importDecor && importDecor->getMangledName() == "gl_PrimitiveShadingRateEXT") + return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInPrimitiveShadingRateKHR); + else + return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInShadingRateKHR); } SLANG_UNREACHABLE("Unimplemented system value in spirv emit."); } -- cgit v1.2.3