From c94fd84eff090f326403e67e712bf38e9e27c36c Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 30 Jul 2024 10:52:45 -0700 Subject: Fix SPIRV emit for small-integer texture types. (#4753) * Fix SPIRV emit for small-integer texture types. * Disable -emit-spirv-via-glsl test. --- source/slang/slang-emit-spirv.cpp | 3 ++- 1 file changed, 2 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 cb9eb0ae9..23eaa4435 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -6423,11 +6423,12 @@ struct SPIRVEmitContext // If the component types are not the same, convert them to be so. if (!isTypeEqual(getVectorElementType(toType), fromElementType)) { + SpvOp convertOp = isIntegralType(fromElementType) ? (isSignedType(fromElementType) ? SpvOpSConvert : SpvOpUConvert) : SpvOpFConvert; auto newFromType = replaceVectorElementType(fromType, getVectorElementType(toType)); fromSpvInst = emitInstCustomOperandFunc( parent, nullptr, - SpvOpFConvert, + convertOp, [&]() { emitOperand(newFromType); emitOperand(kResultID), -- cgit v1.2.3