spv.scalarlayoutfloat16.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 18

                              Capability Shader
                              Capability Float64
                              Capability StorageUniform16
                              Extension  "SPV_KHR_16bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_scalar_block_layout"
                              SourceExtension  "GL_EXT_shader_16bit_storage"
                              Name 4  "main"
                              Name 13  "S"
                              MemberName 13(S) 0  "a"
                              MemberName 13(S) 1  "b"
                              MemberName 13(S) 2  "c"
                              MemberName 13(S) 3  "d"
                              MemberName 13(S) 4  "e"
                              MemberName 13(S) 5  "f"
                              Name 15  "B1"
                              MemberName 15(B1) 0  "a"
                              MemberName 15(B1) 1  "b"
                              MemberName 15(B1) 2  "c"
                              MemberName 15(B1) 3  "d"
                              MemberName 15(B1) 4  "g"
                              MemberName 15(B1) 5  "h"
                              MemberName 15(B1) 6  "i"
                              Name 17  ""
                              Decorate 11 ArrayStride 2
                              MemberDecorate 13(S) 0 Offset 0
                              MemberDecorate 13(S) 1 Offset 2
                              MemberDecorate 13(S) 2 Offset 8
                              MemberDecorate 13(S) 3 Offset 16
                              MemberDecorate 13(S) 4 Offset 18
                              MemberDecorate 13(S) 5 Offset 24
                              Decorate 14 ArrayStride 32
                              MemberDecorate 15(B1) 0 Offset 0
                              MemberDecorate 15(B1) 1 Offset 2
                              MemberDecorate 15(B1) 2 Offset 6
                              MemberDecorate 15(B1) 3 Offset 12
                              MemberDecorate 15(B1) 4 Offset 16
                              MemberDecorate 15(B1) 5 Offset 24
                              MemberDecorate 15(B1) 6 Offset 56
                              Decorate 15(B1) Block
                              Decorate 17 DescriptorSet 0
                              Decorate 17 Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 16
               7:             TypeVector 6(float16_t) 2
               8:             TypeVector 6(float16_t) 3
               9:             TypeInt 32 0
              10:      9(int) Constant 2
              11:             TypeArray 6(float16_t) 10
              12:             TypeFloat 64
           13(S):             TypeStruct 6(float16_t) 7(f16vec2) 12(float64_t) 6(float16_t) 8(f16vec3) 6(float16_t)
              14:             TypeArray 13(S) 10
          15(B1):             TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 11 6(float16_t) 13(S) 14
              16:             TypePointer Uniform 15(B1)
              17:     16(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
                              Return
                              FunctionEnd
