summaryrefslogtreecommitdiff
path: root/tests/language-feature/capability/capabilitySimplification1.slang
blob: b694673e98cc6d53b6e53b5f891d24c65a4e213d (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
32
33
34
//TEST:SIMPLE(filecheck=CHECK): -target glsl -entry computeMain -stage compute -profile sm_5_0
//TEST:SIMPLE(filecheck=CHECK_IGNORE_CAPS): -target glsl -emit-spirv-directly -entry computeMain -stage compute  -profile sm_5_0 -ignore-capabilities


// CHECK_IGNORE_CAPS-NOT: error 36107

// CHECK: error 36107
// CHECK-SAME: entrypoint 'computeMain' does not support compilation target 'glsl' with stage 'compute'
// CHECK: capabilitySimplification1.slang(21): note: see using of 'WaveMultiPrefixProduct'
// CHECK-NOT: see using of 'WaveMultiPrefixProduct'
// CHECK: {{.*}}.meta.slang({{.*}}): note: see definition of 'WaveMultiPrefixProduct'
// CHECK: {{.*}}.meta.slang({{.*}}): note: see declaration of 'require'

void nestedSafeCall()
{
    AllMemoryBarrier();
}

void nestedBadCall()
{
    WaveMultiPrefixProduct(1, 0);
}

void nestedCall()
{
    nestedSafeCall();
    nestedBadCall();
}

[numthreads(1,1,1)]
void computeMain()
{
    nestedCall();
}