spv.scalarlayout.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 20

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