spv.bufferhandle16.frag
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 48

                              Capability Shader
                              Capability Int64
                              Capability PhysicalStorageBufferAddressesEXT
                              Extension  "SPV_EXT_physical_storage_buffer"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel PhysicalStorageBuffer64EXT GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_buffer_reference"
                              SourceExtension  "GL_EXT_scalar_block_layout"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
                              Name 4  "main"
                              Name 9  "T1"
                              MemberName 9(T1) 0  "x"
                              MemberName 9(T1) 1  "y"
                              Name 11  "a"
                              Name 15  "b"
                              Name 18  "c"
                              Name 24  "d"
                              Name 26  "e"
                              Name 29  "f"
                              Name 46  "x"
                              MemberDecorate 9(T1) 0 Offset 0
                              MemberDecorate 9(T1) 1 Offset 4
                              Decorate 9(T1) Block
                              Decorate 11(a) DecorationAliasedPointerEXT
                              Decorate 15(b) DecorationAliasedPointerEXT
                              Decorate 18(c) DecorationAliasedPointerEXT
                              Decorate 24(d) DecorationAliasedPointerEXT
                              Decorate 26(e) DecorationAliasedPointerEXT
                              Decorate 29(f) DecorationAliasedPointerEXT
               2:             TypeVoid
               3:             TypeFunction 2
                              TypeForwardPointer 6 PhysicalStorageBufferEXT
               7:             TypeInt 32 1
               8:             TypeInt 32 0
           9(T1):             TypeStruct 7(int) 8(int)
               6:             TypePointer PhysicalStorageBufferEXT 9(T1)
              10:             TypePointer Function 6(ptr)
              12:             TypeInt 64 0
              13: 12(int64_t) Constant 4 0
              16: 12(int64_t) Constant 5 0
              19:             TypeBool
              20:    19(bool) ConstantTrue
              27: 12(int64_t) Constant 6 0
              31:      7(int) Constant 1
              32:             TypePointer PhysicalStorageBufferEXT 8(int)
              35:      8(int) Constant 0
              37: 12(int64_t) Constant 8 0
              39: 12(int64_t) Constant 9 0
              42:      7(int) Constant 3
              43:      8(int) Constant 3
              44:             TypeArray 7(int) 43
              45:             TypePointer Private 44
           46(x):     45(ptr) Variable Private
              47: 12(int64_t) Constant 10 0
         4(main):           2 Function None 3
               5:             Label
           11(a):     10(ptr) Variable Function
           15(b):     10(ptr) Variable Function
           18(c):     10(ptr) Variable Function
           24(d):     10(ptr) Variable Function
           26(e):     10(ptr) Variable Function
           29(f):     10(ptr) Variable Function
              14:      6(ptr) Bitcast 13
                              Store 11(a) 14
              17:      6(ptr) Bitcast 16
                              Store 15(b) 17
              21:      6(ptr) Load 11(a)
              22:      6(ptr) Load 15(b)
              23:      6(ptr) Select 20 21 22
                              Store 18(c) 23
              25:      6(ptr) Load 15(b)
                              Store 24(d) 25
              28:      6(ptr) Bitcast 27
                              Store 26(e) 28
              30:      6(ptr) Load 11(a)
              33:     32(ptr) AccessChain 30 31
              34:      8(int) Load 33 Aligned 4
              36:    19(bool) INotEqual 34 35
              38:      6(ptr) Bitcast 37
              40:      6(ptr) Bitcast 39
              41:      6(ptr) Select 36 38 40
                              Store 29(f) 41
                              Return
                              FunctionEnd
