summaryrefslogtreecommitdiffstats
path: root/tests/bugs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bugs')
-rw-r--r--tests/bugs/vk-structured-buffer-binding.hlsl12
-rw-r--r--tests/bugs/vk-structured-buffer-binding.hlsl.expected31
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/bugs/vk-structured-buffer-binding.hlsl b/tests/bugs/vk-structured-buffer-binding.hlsl
new file mode 100644
index 000000000..cdfeb19ab
--- /dev/null
+++ b/tests/bugs/vk-structured-buffer-binding.hlsl
@@ -0,0 +1,12 @@
+//TEST:SIMPLE: -profile ps_4_0 -entry main -target glsl
+///////TEST:REFLECTION:-profile ps_4_0 -target spirv
+
+[[vk::binding(3, 4)]]
+RWStructuredBuffer<uint> gDoneGroups : register(u3);
+
+float4 main(
+ float3 uv : UV)
+ : SV_Target
+{
+ return gDoneGroups[int(uv.z)];
+} \ No newline at end of file
diff --git a/tests/bugs/vk-structured-buffer-binding.hlsl.expected b/tests/bugs/vk-structured-buffer-binding.hlsl.expected
new file mode 100644
index 000000000..fc1cb93ea
--- /dev/null
+++ b/tests/bugs/vk-structured-buffer-binding.hlsl.expected
@@ -0,0 +1,31 @@
+result code = 0
+standard error = {
+}
+standard output = {
+#version 450
+layout(row_major) uniform;
+layout(row_major) buffer;
+
+#line 5 0
+layout(std430, binding = 3, set = 4) buffer _S1 {
+ uint gDoneGroups_0[];
+};
+
+#line 7
+layout(location = 0)
+out vec4 _S2;
+
+
+#line 7
+layout(location = 0)
+in vec3 _S3;
+
+
+#line 7
+void main()
+{
+ _S2 = vec4(gDoneGroups_0[uint(int(_S3.z))]);
+ return;
+}
+
+}