spv.bufferhandle3.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 50

                              Capability Shader
                              Capability PhysicalStorageBufferAddressesEXT
                              Extension  "SPV_KHR_physical_storage_buffer"
                              Extension  "SPV_KHR_storage_buffer_storage_class"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel PhysicalStorageBuffer64EXT GLSL450
                              EntryPoint Fragment 4  "main" 42
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_buffer_reference"
                              Name 4  "main"
                              Name 9  "t4"
                              MemberName 9(t4) 0  "j"
                              MemberName 9(t4) 1  "k"
                              Name 10  "t3"
                              MemberName 10(t3) 0  "h"
                              Name 14  "foo(1;"
                              Name 13  "y"
                              Name 19  "t5"
                              MemberName 19(t5) 0  "m"
                              Name 21  "s5"
                              Name 23  "param"
                              Name 38  "t4"
                              MemberName 38(t4) 0  "j"
                              MemberName 38(t4) 1  "k"
                              Name 40  "x"
                              Name 42  "k"
                              MemberDecorate 9(t4) 0 Offset 0
                              MemberDecorate 9(t4) 1 Offset 8
                              Decorate 9(t4) Block
                              MemberDecorate 10(t3) 0 Offset 0
                              Decorate 10(t3) Block
                              Decorate 13(y) DecorationAliasedPointerEXT
                              MemberDecorate 19(t5) 0 Offset 0
                              Decorate 19(t5) Block
                              Decorate 21(s5) DescriptorSet 0
                              Decorate 21(s5) Binding 0
                              MemberDecorate 38(t4) 0 Offset 0
                              MemberDecorate 38(t4) 1 Offset 8
                              Decorate 38(t4) Block
                              Decorate 40(x) DescriptorSet 1
                              Decorate 40(x) Binding 2
                              Decorate 42(k) Flat
                              Decorate 42(k) Location 0
                              Decorate 42(k) DecorationAliasedPointerEXT
                              Decorate 23(param) DecorationAliasedPointerEXT
               2:             TypeVoid
               3:             TypeFunction 2
                              TypeForwardPointer 6 PhysicalStorageBufferEXT
               7:             TypeInt 32 1
                              TypeForwardPointer 8 PhysicalStorageBufferEXT
           9(t4):             TypeStruct 7(int) 8
          10(t3):             TypeStruct 7(int)
               8:             TypePointer PhysicalStorageBufferEXT 10(t3)
               6:             TypePointer PhysicalStorageBufferEXT 9(t4)
              11:             TypePointer Function 6(ptr)
              12:             TypeFunction 6(ptr) 11(ptr)
          19(t5):             TypeStruct 6(ptr)
              20:             TypePointer StorageBuffer 19(t5)
          21(s5):     20(ptr) Variable StorageBuffer
              22:      7(int) Constant 0
              24:             TypePointer StorageBuffer 6(ptr)
              30:      7(int) Constant 1
              31:             TypePointer PhysicalStorageBufferEXT 8(ptr)
              34:             TypePointer PhysicalStorageBufferEXT 7(int)
          38(t4):             TypeStruct 7(int) 8(ptr)
              39:             TypePointer StorageBuffer 38(t4)
           40(x):     39(ptr) Variable StorageBuffer
              41:             TypePointer Input 6(ptr)
           42(k):     41(ptr) Variable Input
              48:             TypePointer StorageBuffer 7(int)
         4(main):           2 Function None 3
               5:             Label
       23(param):     11(ptr) Variable Function
              25:     24(ptr) AccessChain 21(s5) 22
              26:      6(ptr) Load 25
                              Store 23(param) 26
              27:      6(ptr) FunctionCall 14(foo(1;) 23(param)
              28:     24(ptr) AccessChain 21(s5) 22
              29:      6(ptr) Load 28
              32:     31(ptr) AccessChain 29 30
              33:      8(ptr) Load 32 Aligned 8
              35:     34(ptr) AccessChain 33 22
              36:      7(int) Load 35 Aligned 16
              37:     34(ptr) AccessChain 27 22
                              Store 37 36 Aligned 16
              43:      6(ptr) Load 42(k)
              44:     31(ptr) AccessChain 43 30
              45:      8(ptr) Load 44 Aligned 8
              46:     34(ptr) AccessChain 45 22
              47:      7(int) Load 46 Aligned 16
              49:     48(ptr) AccessChain 40(x) 22
                              Store 49 47
                              Return
                              FunctionEnd
      14(foo(1;):      6(ptr) Function None 12
           13(y):     11(ptr) FunctionParameter
              15:             Label
              16:      6(ptr) Load 13(y)
                              ReturnValue 16
                              FunctionEnd
