summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders/comp/struct-layout.comp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders/comp/struct-layout.comp')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders/comp/struct-layout.comp24
1 files changed, 24 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders/comp/struct-layout.comp b/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders/comp/struct-layout.comp
new file mode 100644
index 00000000000..4feea8be54c
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders/comp/struct-layout.comp
@@ -0,0 +1,24 @@
+#version 310 es
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+
+struct Foo
+{
+ mat4 m;
+};
+
+layout(binding = 1, std430) writeonly buffer SSBO2
+{
+ Foo out_data[];
+} _23;
+
+layout(binding = 0, std430) readonly buffer SSBO
+{
+ Foo in_data[];
+} _30;
+
+void main()
+{
+ uint ident = gl_GlobalInvocationID.x;
+ _23.out_data[ident].m = _30.in_data[ident].m * _30.in_data[ident].m;
+}
+