diff options
Diffstat (limited to 'tests/diagnostics')
| -rw-r--r-- | tests/diagnostics/vk-bindings.slang | 16 | ||||
| -rw-r--r-- | tests/diagnostics/vk-bindings.slang.expected | 7 |
2 files changed, 23 insertions, 0 deletions
diff --git a/tests/diagnostics/vk-bindings.slang b/tests/diagnostics/vk-bindings.slang new file mode 100644 index 000000000..f5a8bdeba --- /dev/null +++ b/tests/diagnostics/vk-bindings.slang @@ -0,0 +1,16 @@ +// vk-bindings.slang + +//TEST:SIMPLE:-target spirv + +// D3D `register` without VK binding +Texture2D t : register(t0); + +struct S { float4 a; }; + +// Parameter block with non-zero binding: +[[vk::binding(2,1)]] +ParameterBlock<S> b; + +[shader("compute")] +void main() +{}
\ No newline at end of file diff --git a/tests/diagnostics/vk-bindings.slang.expected b/tests/diagnostics/vk-bindings.slang.expected new file mode 100644 index 000000000..8e085b55f --- /dev/null +++ b/tests/diagnostics/vk-bindings.slang.expected @@ -0,0 +1,7 @@ +result code = -1 +standard error = { +tests/diagnostics/vk-bindings.slang(6): warning 39013: shader parameter 't' has a 'register' specified for D3D, but no '[[vk::binding(...)]]` specified for Vulkan +tests/diagnostics/vk-bindings.slang(11): error 39015: shader parameter 'b' consumes whole descriptor sets, so the binding must be in the form '[[vk::binding(0, ...)]]'; the non-zero binding '2' is not allowed +} +standard output = { +} |
