summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-c-like.cpp
diff options
context:
space:
mode:
authorJay Kwak <82421531+jkwak-work@users.noreply.github.com>2024-04-01 22:02:25 -0700
committerGitHub <noreply@github.com>2024-04-01 22:02:25 -0700
commit251f55c5ec4cb2b7432e71d6ba8adc96700d35c2 (patch)
tree6360ae937545943a97f3a380cbcb3c2d8fb950bd /source/slang/slang-emit-c-like.cpp
parentdaf63cc983fd5f8f2b24872a9125e0394ed2180e (diff)
Support SM6.6 keyword "WaveSize" (#3871)
Resolves an issue #3385 Shader Model 6.6 added a new keyowrd, "WaveSize". See the following link for more details: https://microsoft.github.io/DirectX-Specs/d3d/HLSL_SM_6_6_WaveSize.html Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/slang/slang-emit-c-like.cpp')
-rw-r--r--source/slang/slang-emit-c-like.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp
index 5813819b4..58ca39b69 100644
--- a/source/slang/slang-emit-c-like.cpp
+++ b/source/slang/slang-emit-c-like.cpp
@@ -268,6 +268,16 @@ void CLikeSourceEmitter::emitSimpleType(IRType* type)
return decor;
}
+/* static */IRWaveSizeDecoration* CLikeSourceEmitter::getComputeWaveSize(IRFunc* func, Int* outWaveSize)
+{
+ IRWaveSizeDecoration* decor = func->findDecoration<IRWaveSizeDecoration>();
+ if (decor)
+ {
+ *outWaveSize = Int(getIntVal(decor->getOperand(0)));
+ }
+ return decor;
+}
+
List<IRWitnessTableEntry*> CLikeSourceEmitter::getSortedWitnessTableEntries(IRWitnessTable* witnessTable)
{
List<IRWitnessTableEntry*> sortedWitnessTableEntries;