diff options
Diffstat (limited to 'tests/compute')
| -rw-r--r-- | tests/compute/cbuffer-legalize.slang | 36 | ||||
| -rw-r--r-- | tests/compute/cbuffer-legalize.slang.expected.txt | 4 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/compute/cbuffer-legalize.slang b/tests/compute/cbuffer-legalize.slang new file mode 100644 index 000000000..52641ef51 --- /dev/null +++ b/tests/compute/cbuffer-legalize.slang @@ -0,0 +1,36 @@ +//TEST(compute):COMPARE_COMPUTE:-xslang -use-ir + +//TEST_INPUT:cbuffer(data=[1 2 3 4]):dxbinding(0),glbinding(0) +//TEST_INPUT:Texture2D(size=4, content = one) : dxbinding(0),glbinding(0) +//TEST_INPUT: Sampler : dxbinding(0),glbinding(0,1,2,3,4,5,6) +//TEST_INPUT: ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out + +struct P +{ + uint4 c; + Texture2D t; + SamplerState s; +}; + +float4 test(P p) +{ + return p.t.SampleLevel(p.s, float2(0.0), 0) + p.c; +} + +cbuffer C +{ + P p; +}; + +RWStructuredBuffer<float> outputBuffer; + +[numthreads(1, 1, 1)] +void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) +{ + float4 outVal = test(p); + + outputBuffer[0] = outVal.x; + outputBuffer[1] = outVal.y; + outputBuffer[2] = outVal.z; + outputBuffer[3] = outVal.w; +}
\ No newline at end of file diff --git a/tests/compute/cbuffer-legalize.slang.expected.txt b/tests/compute/cbuffer-legalize.slang.expected.txt new file mode 100644 index 000000000..94fadffd5 --- /dev/null +++ b/tests/compute/cbuffer-legalize.slang.expected.txt @@ -0,0 +1,4 @@ +40000000 +40400000 +40800000 +40A00000 |
