diff options
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag')
-rw-r--r-- | 3rdparty/bgfx/3rdparty/glslang/Test/spv.bufferhandle15.frag | 38 |
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]; +} |