From 0363a4d18c655697cfb0d958add2c7bf4b156874 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Tue, 11 Jul 2023 03:05:15 +0800 Subject: Do not fail when emitting GLSL using unorm/snorm textures (#2973) * Do not fail when emitting GLSL using unorm/snorm textures Ignored in glslang https://github.com/KhronosGroup/glslang/blob/main/glslang/HLSL/hlslGrammar.cpp\#L1476 * Add test for unorm modifier on glsl --- source/slang/slang-ir-util.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source/slang/slang-ir-util.cpp') diff --git a/source/slang/slang-ir-util.cpp b/source/slang/slang-ir-util.cpp index d2bf928a4..6b94711e0 100644 --- a/source/slang/slang-ir-util.cpp +++ b/source/slang/slang-ir-util.cpp @@ -1074,4 +1074,18 @@ IRInst* GenericChildrenMigrationContext::cloneInst(IRBuilder* builder, IRInst* s return impl->cloneInst(builder, src); } +IRType* dropNormAttributes(IRType* const t) +{ + if(const auto a = as(t)) + { + switch(a->getAttr()->getOp()) + { + case kIROp_UNormAttr: + case kIROp_SNormAttr: + return dropNormAttributes(a->getBaseType()); + } + } + return t; +} + } -- cgit v1.2.3