yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
401d8cdb1
master
1// extern-test.slang 2 3//TEST:COMPILE: -no-codegen tests/serialization/extern/module-a.slang -o tests/serialization/extern/module-a.slang-lib 4//TEST:COMPILE: -no-codegen tests/serialization/extern/module-b.slang -o tests/serialization/extern/module-b.slang-lib 5//TEST:COMPARE_COMPUTE_EX: -slang -compute -xslang -r -xslang tests/serialization/extern/module-a.slang-lib -xslang -r -xslang tests/serialization/extern/module-b.slang-lib -shaderobj 6 7//TEST_INPUT:ubuffer(data=[0 0 0 0 ], stride=4):out,name outputBuffer 8RWStructuredBuffer<int> outputBuffer; 9 10// Declare the type exists 11extern struct Thing {}; 12// A mechanism to make a Thing without knowing the specific fields. 13extern Thing makeThing(int a, int b); 14 15extern int doSomething(Thing a, Thing b); 16 17[numthreads(4, 1, 1)] 18void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) 19{ 20 int index = int(dispatchThreadID.x); 21 22 Thing a = makeThing(index + 1, index + 2); 23 Thing b = makeThing(-index , index * 2); 24 25 outputBuffer[index] = doSomething(a, b); 26}