yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f20f4e2b3
master
1 2//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -compute -output-using-type 3//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cuda -compute -output-using-type 4//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -compute -output-using-type 5 6int myIntrinsicFunc() 7{ 8 __target_switch 9 { 10 case cpp: 11 case hlsl: 12 case cuda: 13 __requirePrelude(R"(#define MY_CUDA_INTRINSIC 100)"); 14 __intrinsic_asm "(MY_CUDA_INTRINSIC)"; 15 } 16} 17 18int myIntrinsicFunc1() 19{ 20 __target_switch 21 { 22 case cpp: 23 case hlsl: 24 case cuda: 25 __requirePrelude(R"(#define MY_CUDA_INTRINSIC 100)"); 26 __intrinsic_asm "(MY_CUDA_INTRINSIC + 1)"; 27 } 28} 29 30//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 31RWStructuredBuffer<uint> outputBuffer; 32 33[numthreads(1, 1, 1)] 34void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) 35{ 36 // CHECK: 201 37 outputBuffer[0] = myIntrinsicFunc() + myIntrinsicFunc1(); 38}