diff options
Diffstat (limited to 'tests/language-feature/capability')
3 files changed, 62 insertions, 0 deletions
diff --git a/tests/language-feature/capability/capability5.slang b/tests/language-feature/capability/capability5.slang new file mode 100644 index 000000000..6199f045a --- /dev/null +++ b/tests/language-feature/capability/capability5.slang @@ -0,0 +1,29 @@ +//TEST:SIMPLE(filecheck=PASS): -target glsl -entry main -stage compute -allow-glsl +//TEST:SIMPLE(filecheck=PASS): -target glsl -entry main -stage compute -allow-glsl -capability shader5_sm_5_0 +//TEST:SIMPLE(filecheck=PASS): -target glsl -entry main -stage compute -allow-glsl -profile sm_6_0 +//TEST:SIMPLE(filecheck=WARN): -target glsl -entry main -stage compute -allow-glsl -capability GLSL_130 +//TEST:SIMPLE(filecheck=ERROR): -target glsl -entry main -stage compute -allow-glsl -capability GLSL_130 -restrictive-capability-check +// CHECK_IGNORE_CAPS-NOT: error 36104 + +// Check that a non-static member method implictly requires capabilities +// defined in ThisType. + +//PASS-NOT: warning 41012 +//PASS-NOT: error 41012 + +//WARN: warning 41012 +//WARN-NOT: error 41012 + +//ERROR-NOT: warning 41012 +//ERROR: error 41012 + +buffer MyBlockName +{ + int data; +} inputBuffer; + +[numthreads(1,1,1)] +void main() +{ + inputBuffer.data = firstbithigh(1); +} diff --git a/tests/language-feature/capability/specializeTargetSwitch.slang b/tests/language-feature/capability/specializeTargetSwitch.slang index 251adfaf8..e1e5d4225 100644 --- a/tests/language-feature/capability/specializeTargetSwitch.slang +++ b/tests/language-feature/capability/specializeTargetSwitch.slang @@ -1,6 +1,8 @@ //TEST:SIMPLE(filecheck=CHECK_HLSL): -target hlsl -entry main -stage compute -capability _sm_5_1 //TEST:SIMPLE(filecheck=CHECK_GLSL1): -target glsl -entry main -stage compute -capability _GLSL_420 +//TEST:SIMPLE(filecheck=CHECK_GLSL1): -target glsl -entry main -stage compute -capability _GLSL_420 //TEST:SIMPLE(filecheck=CHECK_GLSL2): -target glsl -entry main -stage compute -capability _GLSL_330 +//TEST:SIMPLE(filecheck=CHECK_GLSL2_NO_UPGRADE): -target glsl -entry main -stage compute -capability _GLSL_330 -DTURN_OFF_LARGER_GLSL_TARGETS //TEST:SIMPLE(filecheck=CHECK_METAL): -target cpp -entry main -stage compute -capability image_loadstore //TEST:SIMPLE(filecheck=CHECK_WILL_ERROR1): -target glsl -entry main -stage compute -capability image_loadstore -DWILL_ERROR1 //TEST:SIMPLE(filecheck=CHECK_WILL_ERROR2): -target glsl -entry main -stage compute -capability _GLSL_130 -DWILL_ERROR2 @@ -9,11 +11,19 @@ RWTexture1D<int> tex; //CHECK_HLSL: {{.*}}21{{.*}}; + //CHECK_GLSL1: {{.*}}13{{.*}} + //CHECK_GLSL2: {{.*}}11{{.*}} + +//CHECK_GLSL2_NO_UPGRADE-NOT: warning 41012 +//CHECK_GLSL2_NO_UPGRADE-NOT: error 41012 + //CHECK_METAL: {{.*}}30{{.*}} + //CHECK_WILL_ERROR1: error 36109 //CHECK_WILL_ERROR2: error 41011 + //CHECK_GLSL3: {{.*}}30{{.*}} int specialize() @@ -31,10 +41,12 @@ int specialize() return 10; case _GLSL_330: return 11; +#ifndef TURN_OFF_LARGER_GLSL_TARGETS case _GLSL_400: return 12; case _GLSL_410: return 13; +#endif #ifdef WILL_ERROR1 case image_loadstore: return 14; diff --git a/tests/language-feature/capability/testing-framework-with-profiles.slang b/tests/language-feature/capability/testing-framework-with-profiles.slang new file mode 100644 index 000000000..215ba887e --- /dev/null +++ b/tests/language-feature/capability/testing-framework-with-profiles.slang @@ -0,0 +1,21 @@ + +//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-vk -compute +//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-vk -compute -profile sm_6_1 +//TEST:SIMPLE(filecheck=CHECK): -target hlsl -entry computeMain -stage compute +//TEST:SIMPLE(filecheck=CHECK): -target hlsl -entry computeMain -stage compute -capability sm_6_1 +//TEST:SIMPLE(filecheck=CHECK): -target hlsl -entry computeMain -stage compute -profile sm_6_1 +//TEST:SIMPLE(filecheck=CHECK_WARN): -target hlsl -entry computeMain -stage compute -capability sm_4_0 + +//CHECK-NOT: warning 41012 +//CHECK_WARN: warning 41012 +//CHECK: computeMain + +//TEST_INPUT:ubuffer(data=[1], stride=4):out,name outputBuffer +RWStructuredBuffer<uint> outputBuffer; + +[numthreads(1, 1, 1)] +void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) +{ + // BUF: 1 + outputBuffer[0] = WaveMaskSum(0xFF, 1); +} |
