yum-mirror/slang

Making it easier to work with shaders

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

Jay KwakDisable branching subgroup test for WGSL (#8614)36ed0362d

master
1.0 KiB29 linesraw
1//TEST_CATEGORY(wave, compute)
2//DISABLE_TEST:COMPARE_COMPUTE_EX:-cpu -compute -shaderobj
3//DISABLE_TEST:COMPARE_COMPUTE_EX:-slang -compute -shaderobj
4//TEST:COMPARE_COMPUTE_EX:-slang -compute -dx12 -profile cs_6_0 -shaderobj -render-feature hardware-device
5//TEST(vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj -render-feature hardware-device
6//TEST:COMPARE_COMPUTE_EX:-cuda -compute -capability cuda_sm_7_0 -shaderobj
7//TEST:COMPARE_COMPUTE_EX:-metal -compute -shaderobj
8
9// WGSL doesn't support wave functions in a dynamic control flow; it works only with uniform control flow.
10//DISABLE_TEST:COMPARE_COMPUTE_EX:-wgpu -compute -shaderobj
11
12//TEST_INPUT:ubuffer(data=[0 0 0 0  0 0 0 0], stride=4):out,name outputBuffer
13RWStructuredBuffer<int> outputBuffer;
14
15[numthreads(8, 1, 1)]
16void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
17{
18    int idx = int(dispatchThreadID.x);
19
20    if (idx < 3)
21    {
22        // Diverge!!
23        outputBuffer[idx] = -1;
24        return;
25    }
26
27    int value = 0;
28    outputBuffer[idx] = WaveIsFirstLane();
29}