summaryrefslogtreecommitdiffstats
path: root/tests/hlsl-intrinsic/literal-float.slang
blob: 49179b53af226e5136d2f8433353c50c2f16d2f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// TODO(JS): Disabled because fails on windows CI.
// Probably because on CI it is using std output to detect errors/warnings, not looking at the return code. 

//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute 
//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute
//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12
//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute

//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
RWStructuredBuffer<float> outputBuffer;

[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
    int idx = int(dispatchThreadID.x);
    
    float v = 0.0f;

    // Test to check handling of + and -inf
    if (idx == 0)
    {
        v = 5e+40;
    }
    else if (idx == 1)
    {
        v = -5e+40;
    }
    
    outputBuffer[idx] = v;
}