summaryrefslogtreecommitdiffstats
path: root/tests/hlsl
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2025-05-15 12:51:29 -0700
committerGitHub <noreply@github.com>2025-05-15 12:51:29 -0700
commit0d6312f3be66f4bff9eec9606228db3edc309e2c (patch)
treea868e452e2d25a88f8a6cdee109a280edd11c0fb /tests/hlsl
parentd961f4438ef865028d289148d22e0fb5c0d8319a (diff)
Add checking for hlsl register semantic. (#7118)
* Add checking for hlsl register semantic. * Fix. * Fix test. * Fix switch error. * Fix tests.
Diffstat (limited to 'tests/hlsl')
-rw-r--r--tests/hlsl/invalid-semantic.slang56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/hlsl/invalid-semantic.slang b/tests/hlsl/invalid-semantic.slang
new file mode 100644
index 000000000..69465f731
--- /dev/null
+++ b/tests/hlsl/invalid-semantic.slang
@@ -0,0 +1,56 @@
+//TEST:SIMPLE(filecheck=CHECK): -target spirv
+
+struct Test_t
+{
+ uint4 foo;
+};
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+RWStructuredBuffer< Test_t > g_Test : register(t0, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+ConstantBuffer< Test_t > g_Test2 : register(t1, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+StructuredBuffer< Test_t > g_Test3 : register(u2, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+ByteAddressBuffer g_Test4 : register(u3, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+RWTexture2D g_Test5 : register(t4, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+Texture2D g_Test6 : register(u5, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+FeedbackTexture2D g_Test7 : register(t6, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+AppendStructuredBuffer< Test_t > g_Test8 : register(t7, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+ConsumeStructuredBuffer< Test_t > g_Test9 : register(t8, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+RWByteAddressBuffer g_Test10 : register(t9, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+RasterizerOrderedByteAddressBuffer g_Test11 : register(t10, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+SamplerState g_Test12 : register(t11, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+SamplerComparisonState g_Test13 : register(t12, space1);
+
+// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
+RaytracingAccelerationStructure g_Test14 : register(u13, space1);
+
+[numthreads(1,1,1)]
+void computeMain()
+{
+ Test_t test;
+ test.foo = uint4( 0, 0, 0, 0 );
+ g_Test[0] = test;
+} \ No newline at end of file