summaryrefslogtreecommitdiffstats
path: root/tests/language-feature/capability
diff options
context:
space:
mode:
authorArielG-NV <159081215+ArielG-NV@users.noreply.github.com>2024-07-25 18:04:47 -0400
committerGitHub <noreply@github.com>2024-07-25 15:04:47 -0700
commit2e7e2b568ce93697e36a7c0b50364dc78bd1bb97 (patch)
treee18b2a29080adb70326ce2cf6984fbd84b8944ef /tests/language-feature/capability
parent19657f8a3867b0ca266b06ef64d18d03f51cfbd2 (diff)
Add `_Internal`/`External` atom enforcement and validation. (#4702)
* Add `_Internal`/`External` atom validation and use enforcement. Fixes: #4676 Changes: * Added `validateInternalAtomExternalAtomPair` to the capability generator to ensure all `_Internal` atoms have a corresponding `External` atom. * Validation of 'RequireCapabilityAttribute' warns if a user uses an '_Internal' atom. * Added 'External' atoms to atoms with an already existing '_Internal' atom. * Printing an atom removes '_'. * Fixed some incorrect which were checking for the incorrect warning/error (capability4.slang, capability5.slang, capability6.slang). * switch capability name to use `UnownedStringSlice` instead of `const char*` switch capability name to use `UnownedStringSlice` instead of `const char*`, this includes using functions like `.startsWith`. * grammer --------- Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'tests/language-feature/capability')
-rw-r--r--tests/language-feature/capability/capability4.slang2
-rw-r--r--tests/language-feature/capability/capability5.slang2
-rw-r--r--tests/language-feature/capability/capability6.slang2
-rw-r--r--tests/language-feature/capability/usingInternalCapabilityWarning.slang9
4 files changed, 12 insertions, 3 deletions
diff --git a/tests/language-feature/capability/capability4.slang b/tests/language-feature/capability/capability4.slang
index 4a2a6f3c9..eda9a86be 100644
--- a/tests/language-feature/capability/capability4.slang
+++ b/tests/language-feature/capability/capability4.slang
@@ -1,6 +1,6 @@
//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-directly -entry main -stage compute
//TEST:SIMPLE(filecheck=CHECK_IGNORE_CAPS): -target spirv -emit-spirv-directly -entry main -stage compute -ignore-capabilities
-// CHECK_IGNORE_CAPS-NOT: error 36104
+// CHECK_IGNORE_CAPS-NOT: error 36108
// Check that a non-static member method implictly requires capabilities
// defined in ThisType.
diff --git a/tests/language-feature/capability/capability5.slang b/tests/language-feature/capability/capability5.slang
index 6199f045a..33a002175 100644
--- a/tests/language-feature/capability/capability5.slang
+++ b/tests/language-feature/capability/capability5.slang
@@ -3,7 +3,7 @@
//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_IGNORE_CAPS-NOT: error 41012
// Check that a non-static member method implictly requires capabilities
// defined in ThisType.
diff --git a/tests/language-feature/capability/capability6.slang b/tests/language-feature/capability/capability6.slang
index 3d6642063..e4347100a 100644
--- a/tests/language-feature/capability/capability6.slang
+++ b/tests/language-feature/capability/capability6.slang
@@ -1,6 +1,6 @@
//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-directly -entry computeMain -stage compute
//TEST:SIMPLE(filecheck=CHECK_IGNORE_CAPS): -target spirv -emit-spirv-directly -entry computeMain -stage compute -ignore-capabilities
-// CHECK_IGNORE_CAPS-NOT: error 36104
+// CHECK_IGNORE_CAPS-NOT: error 36111
diff --git a/tests/language-feature/capability/usingInternalCapabilityWarning.slang b/tests/language-feature/capability/usingInternalCapabilityWarning.slang
new file mode 100644
index 000000000..48a573ab6
--- /dev/null
+++ b/tests/language-feature/capability/usingInternalCapabilityWarning.slang
@@ -0,0 +1,9 @@
+//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-directly -entry main -stage compute
+//TEST:SIMPLE(filecheck=CHECK_IGNORE_CAPS): -target spirv -emit-spirv-directly -entry main -stage compute -ignore-capabilities
+// CHECK_IGNORE_CAPS-NOT: warning 36113
+// CHECK: .slang(5):{{.*}}warning 36113: {{.*}}_GL_NV_ray_tracing_motion_blur{{.*}}GL_NV_ray_tracing_motion_blur
+[require(_GL_NV_ray_tracing_motion_blur)]
+[numthreads(1,1,1)]
+void computeMain()
+{
+} \ No newline at end of file