yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
bf607e2f3
master
1//TEST(compute):COMPARE_COMPUTE: -shaderobj 2//TEST(compute):COMPARE_COMPUTE: -shaderobj -cuda 3 4struct Param 5{ 6 Texture2D tex; 7 SamplerState samplerState; 8 float base; 9}; 10 11//TEST_INPUT:Texture2D(size=4, content = one):name=diffuseMap 12Texture2D diffuseMap; 13//TEST_INPUT: Sampler:name=samplerState 14SamplerState samplerState; 15//TEST_INPUT: ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 16RWStructuredBuffer<float> outputBuffer; 17 18float4 run(Param p) 19{ 20 return p.tex.SampleLevel(p.samplerState, float2(0.0), 0) + p.base; 21} 22 23[numthreads(1, 1, 1)] 24void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) 25{ 26 Param p; 27 p.tex = diffuseMap; 28 p.samplerState = samplerState; 29 p.base = -0.5; 30 float4 outVal = run(p); 31 32 outputBuffer[0] = outVal.x; 33 outputBuffer[1] = outVal.y; 34 outputBuffer[2] = outVal.z; 35 outputBuffer[3] = outVal.w; 36}