spv.bufferhandle15.frag
WARNING: 0:16: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
         "precision mediump int; precision highp float;" 

// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 60

                              Capability Shader
                              Capability PhysicalStorageBufferAddressesEXT
                              Extension  "SPV_EXT_physical_storage_buffer"
                              Extension  "SPV_KHR_storage_buffer_storage_class"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel PhysicalStorageBuffer64EXT GLSL450
                              EntryPoint Fragment 4  "main" 37
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_buffer_reference"
                              SourceExtension  "GL_EXT_scalar_block_layout"
                              Name 4  "main"
                              Name 9  "y"
                              Name 13  "T4"
                              MemberName 13(T4) 0  "t1"
                              MemberName 13(T4) 1  "t2"
                              MemberName 13(T4) 2  "t3"
                              Name 15  "T1"
                              MemberName 15(T1) 0  "x"
                              Name 22  "T2"
                              MemberName 22(T2) 0  "x"
                              Name 28  "S"
                              MemberName 28(S) 0  "a"
                              MemberName 28(S) 1  "b"
                              MemberName 28(S) 2  "c"
                              Name 29  "T3"
                              MemberName 29(T3) 0  "s"
                              Name 31  "t4"
                              Name 37  "i"
                              Name 52  "z"
                              MemberDecorate 13(T4) 0 Offset 0
                              MemberDecorate 13(T4) 1 Offset 8
                              MemberDecorate 13(T4) 2 Offset 16
                              Decorate 13(T4) Block
                              Decorate 14 ArrayStride 12
                              MemberDecorate 15(T1) 0 Offset 0
                              Decorate 15(T1) Block
                              Decorate 18 ArrayStride 12
                              Decorate 20 ArrayStride 24
                              Decorate 21 ArrayStride 96
                              MemberDecorate 22(T2) 0 Offset 0
                              Decorate 22(T2) Block
                              Decorate 26 ArrayStride 36
                              MemberDecorate 28(S) 0 Offset 0
                              MemberDecorate 28(S) 1 ColMajor
                              MemberDecorate 28(S) 1 RelaxedPrecision
                              MemberDecorate 28(S) 1 Offset 12
                              MemberDecorate 28(S) 1 MatrixStride 12
                              MemberDecorate 28(S) 2 Offset 156
                              MemberDecorate 29(T3) 0 Offset 0
                              Decorate 29(T3) Block
                              Decorate 31(t4) DescriptorSet 0
                              Decorate 31(t4) Binding 0
                              Decorate 37(i) Flat
                              Decorate 37(i) Location 0
                              Decorate 59 RelaxedPrecision
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
               8:             TypePointer Function 7(fvec3)
                              TypeForwardPointer 10 PhysicalStorageBufferEXT
                              TypeForwardPointer 11 PhysicalStorageBufferEXT
                              TypeForwardPointer 12 PhysicalStorageBufferEXT
          13(T4):             TypeStruct 10 11 12
              14:             TypeRuntimeArray 7(fvec3)
          15(T1):             TypeStruct 14
              10:             TypePointer PhysicalStorageBufferEXT 15(T1)
              16:             TypeInt 32 0
              17:     16(int) Constant 2
              18:             TypeArray 7(fvec3) 17
              19:     16(int) Constant 4
              20:             TypeArray 18 19
              21:             TypeRuntimeArray 20
          22(T2):             TypeStruct 21
              11:             TypePointer PhysicalStorageBufferEXT 22(T2)
              23:             TypeInt 32 1
              24:             TypeVector 23(int) 3
              25:             TypeMatrix 7(fvec3) 3
              26:             TypeArray 25 19
              27:             TypeVector 6(float) 4
           28(S):             TypeStruct 24(ivec3) 26 27(fvec4)
          29(T3):             TypeStruct 28(S)
              12:             TypePointer PhysicalStorageBufferEXT 29(T3)
              30:             TypePointer StorageBuffer 13(T4)
          31(t4):     30(ptr) Variable StorageBuffer
              32:     23(int) Constant 0
              33:             TypePointer StorageBuffer 10(ptr)
              36:             TypePointer Input 23(int)
           37(i):     36(ptr) Variable Input
              39:             TypePointer PhysicalStorageBufferEXT 7(fvec3)
              42:     23(int) Constant 1
              43:             TypePointer StorageBuffer 11(ptr)
              51:             TypePointer Function 25
              53:     23(int) Constant 2
              54:             TypePointer StorageBuffer 12(ptr)
              57:             TypePointer PhysicalStorageBufferEXT 25
         4(main):           2 Function None 3
               5:             Label
            9(y):      8(ptr) Variable Function
           52(z):     51(ptr) Variable Function
              34:     33(ptr) AccessChain 31(t4) 32
              35:     10(ptr) Load 34
              38:     23(int) Load 37(i)
              40:     39(ptr) AccessChain 35 32 38
              41:    7(fvec3) Load 40 Aligned 4
                              Store 9(y) 41
              44:     43(ptr) AccessChain 31(t4) 42
              45:     11(ptr) Load 44
              46:     23(int) Load 37(i)
              47:     23(int) Load 37(i)
              48:     23(int) Load 37(i)
              49:     39(ptr) AccessChain 45 32 46 47 48
              50:    7(fvec3) Load 49 Aligned 4
                              Store 9(y) 50
              55:     54(ptr) AccessChain 31(t4) 53
              56:     12(ptr) Load 55
              58:     57(ptr) AccessChain 56 32 42 32
              59:          25 Load 58 Aligned 4
                              Store 52(z) 59
                              Return
                              FunctionEnd
