summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag')
-rw-r--r--3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag38
1 files changed, 38 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag
new file mode 100644
index 00000000000..6380493ff72
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag
@@ -0,0 +1,38 @@
+#version 450
+
+#extension GL_EXT_buffer_reference : enable
+#extension GL_EXT_scalar_block_layout : enable
+
+layout(buffer_reference, scalar) buffer T1 {
+ vec3 x[];
+};
+
+layout(buffer_reference, scalar) buffer T2 {
+ vec3 x[][4][2];
+};
+
+struct S
+{
+ highp ivec3 a;
+ mediump mat3 b[4];
+ highp vec4 c;
+};
+
+layout(buffer_reference, scalar) buffer T3 {
+ S s;
+};
+layout(std430) buffer T4 {
+ T1 t1;
+ T2 t2;
+ T3 t3;
+} t4;
+
+layout(location = 0) flat in int i;
+
+void main()
+{
+ vec3 y;
+ y = t4.t1.x[i];
+ y = t4.t2.x[i][i][i];
+ mat3 z = t4.t3.s.b[0];
+}