summaryrefslogtreecommitdiff
path: root/tests/language-feature/capability/capability1.slang
diff options
context:
space:
mode:
Diffstat (limited to 'tests/language-feature/capability/capability1.slang')
-rw-r--r--tests/language-feature/capability/capability1.slang28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/language-feature/capability/capability1.slang b/tests/language-feature/capability/capability1.slang
new file mode 100644
index 000000000..bccccb964
--- /dev/null
+++ b/tests/language-feature/capability/capability1.slang
@@ -0,0 +1,28 @@
+//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-directly -entry main2 -stage compute
+
+[require(spvShaderClockKHR)]
+void leafFunc1() {}
+
+[require(spvShaderNonUniform)]
+void leafFunc2() {}
+
+void caller()
+{
+ leafFunc1();
+ leafFunc2();
+}
+
+[require(spirv, shaderclock)]
+// CHECK: ([[# @LINE+1]]): error 36104:
+void main1()
+{
+ caller(); // Error, shaderclock does not imply spvShaderNonUniform.
+}
+
+
+[require(spirv, shaderclock)]
+void main2()
+{
+ // CHECK-NOT: error
+ leafFunc1(); // OK, shaderclock implies spvShaderClockKHR.
+}