summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiStruct.comp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/spv.multiStruct.comp')
-rw-r--r--3rdparty/bgfx/3rdparty/glslang/Test/spv.multiStruct.comp48
1 files changed, 48 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiStruct.comp b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiStruct.comp
new file mode 100644
index 00000000000..7462da43bd3
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiStruct.comp
@@ -0,0 +1,48 @@
+#version 450 core
+
+struct MyStruct
+{
+ vec2 foo[2];
+ bool sb;
+};
+
+layout(binding = 0, std430) buffer SSBO0
+{
+ MyStruct a;
+} inBuf;
+
+layout(binding = 1, std430) buffer SSBO1
+{
+ MyStruct b;
+} outBuf;
+
+layout(binding = 2, std140) uniform UBO
+{
+ MyStruct c;
+} uBuf;
+
+struct Nested {
+ float f;
+ MyStruct S[2];
+};
+
+layout(binding = 2, std140) uniform UBON
+{
+ Nested N1;
+} uBufN;
+
+layout(binding = 1, std430) buffer SSBO1N
+{
+ Nested N2;
+} outBufN;
+
+void main()
+{
+ MyStruct t = inBuf.a;
+ outBuf.b = t;
+ t = uBuf.c;
+ outBuf.b = t;
+
+ Nested n = uBufN.N1;
+ outBufN.N2 = n;
+}