From 251f55c5ec4cb2b7432e71d6ba8adc96700d35c2 Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:02:25 -0700 Subject: 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 --- source/slang/slang-emit-hlsl.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/slang/slang-emit-hlsl.cpp') diff --git a/source/slang/slang-emit-hlsl.cpp b/source/slang/slang-emit-hlsl.cpp index 92866f9c4..37411c93e 100644 --- a/source/slang/slang-emit-hlsl.cpp +++ b/source/slang/slang-emit-hlsl.cpp @@ -351,10 +351,22 @@ void HLSLSourceEmitter::emitEntryPointAttributesImpl(IRFunc* irFunc, IREntryPoin m_writer->emit(")]\n"); }; + auto emitWaveSizeAttribute = [&]() + { + Int waveSize; + if (getComputeWaveSize(irFunc, &waveSize)) + { + m_writer->emit("[WaveSize("); + m_writer->emit(waveSize); + m_writer->emit(")]\n"); + } + }; + switch (stage) { case Stage::Compute: { + emitWaveSizeAttribute(); emitNumThreadsAttribute(); } break; -- cgit v1.2.3