summaryrefslogtreecommitdiff
path: root/source/slang/slang-lower-to-ir.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-08-29 16:43:25 -0700
committerGitHub <noreply@github.com>2023-08-29 16:43:25 -0700
commit019f702e24d2d1d6ecf53d71f87776a83db96608 (patch)
treefc75001b121794b51d60a19d48b15f95797932a4 /source/slang/slang-lower-to-ir.cpp
parentf3ecf978a07b02681a4d70a9d83991e6661bf753 (diff)
Wave intrinsics. (#3164)
* Wave intrinsics. * scalar intrinsics. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-lower-to-ir.cpp')
-rw-r--r--source/slang/slang-lower-to-ir.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp
index 41347ddef..596d09184 100644
--- a/source/slang/slang-lower-to-ir.cpp
+++ b/source/slang/slang-lower-to-ir.cpp
@@ -3295,6 +3295,17 @@ struct ExprLoweringVisitorBase : ExprVisitor<Derived, LoweredValInfo>
else
return builder->emitSPIRVAsmOperandEnum(i);
}
+ case SPIRVAsmOperand::BuiltinVar:
+ {
+ const auto kind = operand.knownValue;
+ auto kindInst = builder->getIntValue(builder->getIntType(), kind);
+ const auto type = lowerType(context, operand.type.type);
+ return builder->emitSPIRVAsmOperandBuiltinVar(type, kindInst);
+ }
+ case SPIRVAsmOperand::GLSL450Set:
+ {
+ return builder->emitSPIRVAsmOperandGLSL450Set();
+ }
case SPIRVAsmOperand::SlangValue:
{
IRInst* i;