xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/spv.scalarlayoutfloat16.frag (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 450 core
2
3#extension GL_EXT_shader_16bit_storage: enable
4#extension GL_EXT_scalar_block_layout : enable
5
6// Block memory layout
7struct S
8{
9    float16_t      a;   // offset 0
10    f16vec2        b;   // offset 2
11    double         c;   // offset 8
12    float16_t      d;   // offset 16
13    f16vec3        e;   // offset 18
14    float16_t      f;   // offset 24
15    // size = 26, align = 8
16};
17
18layout(column_major, scalar) uniform B1
19{
20    float16_t      a;     // offset = 0
21    f16vec2        b;     // offset = 2
22    f16vec3        c;     // offset = 6
23    float16_t      d[2];  // offset = 12 stride = 2
24    float16_t      g;     // offset = 16
25    S              h;     // offset = 24 (aligned to multiple of 8)
26    S              i[2];  // offset = 56 (aligned to multiple of 8) stride = 32
27};
28
29void main()
30{
31}
32