yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeAdd SPIRV intrinsics for ShaderExecutionReordering and RW/Buffer. (#3252)ccf2611c0

master
633 B25 linesraw
1// bool-vector.slang
2
3//TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK):-vk -compute -output-using-type
4
5// Test direct SPIR-V emit on arrays in uniforms.
6
7//TEST_INPUT:set resultBuffer = out ubuffer(data=[0 0 0 0], stride=4)
8RWStructuredBuffer<uint> resultBuffer;
9
10struct Data
11{
12    bool4 bv;
13};
14
15//TEST_INPUT:set dataBuffer = ubuffer(data=[0 1 1 0], stride=4)
16RWStructuredBuffer<Data> dataBuffer;
17
18[numthreads(1, 1, 1)]
19void computeMain(uint3 dispatchThreadID: SV_DispatchThreadID)
20{
21    // CHECK: 0
22    // CHECK: 100
23    resultBuffer[0] = dataBuffer[0].bv.x;
24    resultBuffer[1] = dataBuffer[0].bv.y ? 100 : 0;
25}