summaryrefslogtreecommitdiff
path: root/tests/diagnostics
diff options
context:
space:
mode:
Diffstat (limited to 'tests/diagnostics')
-rw-r--r--tests/diagnostics/gh-38-vs.hlsl.expected4
-rw-r--r--tests/diagnostics/packoffset.slang11
-rw-r--r--tests/diagnostics/packoffset.slang.expected6
-rw-r--r--tests/diagnostics/register-bindings.slang22
-rw-r--r--tests/diagnostics/register-bindings.slang.expected10
5 files changed, 51 insertions, 2 deletions
diff --git a/tests/diagnostics/gh-38-vs.hlsl.expected b/tests/diagnostics/gh-38-vs.hlsl.expected
index 05f455821..76987ae44 100644
--- a/tests/diagnostics/gh-38-vs.hlsl.expected
+++ b/tests/diagnostics/gh-38-vs.hlsl.expected
@@ -1,8 +1,8 @@
result code = -1
standard error = {
-tests/diagnostics/gh-38-fs.hlsl(7): error 39999: conflicting explicit bindings for parameter 'conflicting'
+tests/diagnostics/gh-38-fs.hlsl(7): error 39000: conflicting explicit bindings for parameter 'conflicting'
tests/diagnostics/gh-38-vs.hlsl(7): note: see other declaration of 'conflicting'
-tests/diagnostics/gh-38-fs.hlsl(5): warning 39999: explicit binding for parameter 'overlappingB' overlaps with parameter 'overlappingA'
+tests/diagnostics/gh-38-fs.hlsl(5): warning 39001: explicit binding for parameter 'overlappingB' overlaps with parameter 'overlappingA'
tests/diagnostics/gh-38-vs.hlsl(5): note: see declaration of 'overlappingA'
}
standard output = {
diff --git a/tests/diagnostics/packoffset.slang b/tests/diagnostics/packoffset.slang
new file mode 100644
index 000000000..31ee63bbd
--- /dev/null
+++ b/tests/diagnostics/packoffset.slang
@@ -0,0 +1,11 @@
+// packoffset.slang
+//TEST:SIMPLE:-target hlsl
+
+// use of `packoffset` (not supported):
+cbuffer B
+{
+ float4 x : packoffset(c0);
+}
+
+void main()
+{} \ No newline at end of file
diff --git a/tests/diagnostics/packoffset.slang.expected b/tests/diagnostics/packoffset.slang.expected
new file mode 100644
index 000000000..3930fee6a
--- /dev/null
+++ b/tests/diagnostics/packoffset.slang.expected
@@ -0,0 +1,6 @@
+result code = -1
+standard error = {
+tests/diagnostics/packoffset.slang(7): error 39012: explicit 'packoffset' bindings are not yet supported in Slang
+}
+standard output = {
+}
diff --git a/tests/diagnostics/register-bindings.slang b/tests/diagnostics/register-bindings.slang
new file mode 100644
index 000000000..188d22bf5
--- /dev/null
+++ b/tests/diagnostics/register-bindings.slang
@@ -0,0 +1,22 @@
+// register-bindings.slang
+//TEST:SIMPLE:-target hlsl
+
+// Various bad forms for register bindings
+
+// Not a valid register class:
+Texture2D a : register(DOESNT_EXIST);
+
+// No register index given:
+TextureCube b : register(t);
+
+// Unexpected name in place of `space`:
+SamplerState c : register(s0, s1);
+
+// No space index given after `space`:
+SamplerState d : register(s2, space);
+
+// use of a component mask (not supported):
+Texture2D e : register(t3.x);
+
+void main()
+{} \ No newline at end of file
diff --git a/tests/diagnostics/register-bindings.slang.expected b/tests/diagnostics/register-bindings.slang.expected
new file mode 100644
index 000000000..04d062b10
--- /dev/null
+++ b/tests/diagnostics/register-bindings.slang.expected
@@ -0,0 +1,10 @@
+result code = -1
+standard error = {
+tests/diagnostics/register-bindings.slang(7): error 39007: unknown register class: 'DOESNT_EXIST'
+tests/diagnostics/register-bindings.slang(10): error 39008: expected a register index after 't'
+tests/diagnostics/register-bindings.slang(13): error 39009: expected 'space', got 's'
+tests/diagnostics/register-bindings.slang(16): error 39010: expected a register space index after 'space'
+tests/diagnostics/register-bindings.slang(19): error 39011: explicit register component masks are not yet supported in Slang
+}
+standard output = {
+}