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

                              Capability Shader
                              Capability Int64
                              Capability PhysicalStorageBufferAddressesEXT
                              Extension  "SPV_KHR_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_buffer_reference2"
                              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 59  "arr"
                              Name 71  "i"
                              Name 130  "j"
                              Name 153  "k"
                              Name 160  "x"
                              Name 171  "y"
                              Name 178  "T2"
                              MemberName 178(T2) 0  "x"
                              Name 180  "m"
                              Name 190  "x"
                              Name 195  "buf"
                              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
                              Decorate 59(arr) DecorationAliasedPointerEXT
                              Decorate 130(j) DecorationAliasedPointerEXT
                              Decorate 153(k) DecorationAliasedPointerEXT
                              MemberDecorate 178(T2) 0 Offset 0
                              Decorate 178(T2) Block
                              Decorate 180(m) 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
              44: 12(int64_t) Constant 24 0
              47:      7(int) Constant 0
              48:             TypePointer PhysicalStorageBufferEXT 7(int)
              52: 12(int64_t) Constant 40 0
              56:      8(int) Constant 2
              57:             TypeArray 6(ptr) 56
              58:             TypePointer Function 57
              66: 12(int64_t) Constant 56 0
              70:             TypePointer Function 7(int)
              77:             TypeInt 64 1
             137: 12(int64_t) Constant 16 0
             146: 12(int64_t) Constant 32 0
             156: 12(int64_t) Constant 48 0
             159:             TypePointer Function 77(int64_t)
             168: 77(int64_t) Constant 8 0
             170:             TypePointer Function 12(int64_t)
             174: 12(int64_t) Constant 4294967288 4294967295
                              TypeForwardPointer 177 PhysicalStorageBufferEXT
         178(T2):             TypeStruct 7(int)
             177:             TypePointer PhysicalStorageBufferEXT 178(T2)
             179:             TypePointer Function 177(ptr)
             183: 12(int64_t) Constant 64 0
             186:      7(int) Constant 3
             187:      8(int) Constant 3
             188:             TypeArray 7(int) 187
             189:             TypePointer Private 188
          190(x):    189(ptr) Variable Private
             191: 12(int64_t) Constant 10 0
             192:      8(int) Constant 8
             193:             TypeArray 8(int) 192
             194:             TypePointer Private 193
        195(buf):    194(ptr) Variable Private
         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
         59(arr):     58(ptr) Variable Function
           71(i):     70(ptr) Variable Function
          130(j):     10(ptr) Variable Function
          153(k):     10(ptr) Variable Function
          160(x):    159(ptr) Variable Function
          171(y):    170(ptr) Variable Function
          180(m):    179(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
              42:      6(ptr) Load 29(f)
              43: 12(int64_t) ConvertPtrToU 42
              45: 12(int64_t) IAdd 43 44
              46:      6(ptr) ConvertUToPtr 45
              49:     48(ptr) AccessChain 46 47
                              Store 49 31 Aligned 8
              50:      6(ptr) Load 29(f)
              51: 12(int64_t) ConvertPtrToU 50
              53: 12(int64_t) IAdd 51 52
              54:      6(ptr) ConvertUToPtr 53
              55:     48(ptr) AccessChain 54 47
                              Store 55 31 Aligned 8
              60:      6(ptr) Load 11(a)
              61:      6(ptr) Load 29(f)
              62:          57 CompositeConstruct 60 61
                              Store 59(arr) 62
              63:     10(ptr) AccessChain 59(arr) 31
              64:      6(ptr) Load 63
              65: 12(int64_t) ConvertPtrToU 64
              67: 12(int64_t) IAdd 65 66
              68:      6(ptr) ConvertUToPtr 67
              69:     48(ptr) AccessChain 68 47
                              Store 69 31 Aligned 8
              72:      7(int) Load 71(i)
              73:     10(ptr) AccessChain 59(arr) 72
              74:      6(ptr) Load 73
              75: 12(int64_t) ConvertPtrToU 74
              76:      7(int) Load 71(i)
              78: 77(int64_t) SConvert 76
              79: 12(int64_t) Bitcast 78
              80: 12(int64_t) IMul 79 37
              81: 12(int64_t) IAdd 75 80
              82:      6(ptr) ConvertUToPtr 81
              83:     48(ptr) AccessChain 82 47
                              Store 83 31 Aligned 8
              84:      7(int) Load 71(i)
              85:     10(ptr) AccessChain 59(arr) 84
              86:      6(ptr) Load 85
              87: 12(int64_t) ConvertPtrToU 86
              88:      7(int) Load 71(i)
              89: 77(int64_t) SConvert 88
              90: 12(int64_t) Bitcast 89
              91: 12(int64_t) IMul 90 37
              92: 12(int64_t) IAdd 87 91
              93:      6(ptr) ConvertUToPtr 92
              94: 12(int64_t) ConvertPtrToU 93
              95:      7(int) Load 71(i)
              96: 77(int64_t) SConvert 95
              97: 12(int64_t) Bitcast 96
              98: 12(int64_t) IMul 97 37
              99: 12(int64_t) IAdd 94 98
             100:      6(ptr) ConvertUToPtr 99
             101: 12(int64_t) ConvertPtrToU 100
             102:      7(int) Load 71(i)
             103: 77(int64_t) SConvert 102
             104: 12(int64_t) Bitcast 103
             105: 12(int64_t) IMul 104 37
             106: 12(int64_t) IAdd 101 105
             107:      6(ptr) ConvertUToPtr 106
             108: 12(int64_t) ConvertPtrToU 107
             109:      7(int) Load 71(i)
             110: 77(int64_t) SConvert 109
             111: 12(int64_t) Bitcast 110
             112: 12(int64_t) IMul 111 37
             113: 12(int64_t) IAdd 108 112
             114:      6(ptr) ConvertUToPtr 113
             115: 12(int64_t) ConvertPtrToU 114
             116:      7(int) Load 71(i)
             117: 77(int64_t) SConvert 116
             118: 12(int64_t) Bitcast 117
             119: 12(int64_t) IMul 118 37
             120: 12(int64_t) IAdd 115 119
             121:      6(ptr) ConvertUToPtr 120
             122: 12(int64_t) ConvertPtrToU 121
             123:      7(int) Load 71(i)
             124: 77(int64_t) SConvert 123
             125: 12(int64_t) Bitcast 124
             126: 12(int64_t) IMul 125 37
             127: 12(int64_t) IAdd 122 126
             128:      6(ptr) ConvertUToPtr 127
             129:     48(ptr) AccessChain 128 47
                              Store 129 31 Aligned 8
             131:      6(ptr) Load 130(j)
             132: 12(int64_t) ConvertPtrToU 131
             133: 12(int64_t) IAdd 132 37
             134:      6(ptr) ConvertUToPtr 133
                              Store 130(j) 134
             135:      6(ptr) Load 130(j)
             136: 12(int64_t) ConvertPtrToU 135
             138: 12(int64_t) ISub 136 137
             139:      6(ptr) ConvertUToPtr 138
                              Store 130(j) 139
             140:      6(ptr) Load 130(j)
             141: 12(int64_t) ConvertPtrToU 140
             142: 12(int64_t) IAdd 141 44
             143:      6(ptr) ConvertUToPtr 142
                              Store 130(j) 143
             144:      6(ptr) Load 130(j)
             145: 12(int64_t) ConvertPtrToU 144
             147: 12(int64_t) ISub 145 146
             148:      6(ptr) ConvertUToPtr 147
                              Store 130(j) 148
             149:      6(ptr) Load 130(j)
             150: 12(int64_t) ConvertPtrToU 149
             151: 12(int64_t) IAdd 52 150
             152:      6(ptr) ConvertUToPtr 151
                              Store 130(j) 152
             154:      6(ptr) Load 130(j)
             155: 12(int64_t) ConvertPtrToU 154
             157: 12(int64_t) IAdd 155 156
             158:      6(ptr) ConvertUToPtr 157
                              Store 153(k) 158
             161:      6(ptr) Load 153(k)
             162: 12(int64_t) ConvertPtrToU 161
             163: 77(int64_t) Bitcast 162
             164:      6(ptr) Load 130(j)
             165: 12(int64_t) ConvertPtrToU 164
             166: 77(int64_t) Bitcast 165
             167: 77(int64_t) ISub 163 166
             169: 77(int64_t) SDiv 167 168
                              Store 160(x) 169
                              Store 171(y) 37
             172:      6(ptr) Load 153(k)
             173: 12(int64_t) ConvertPtrToU 172
             175: 12(int64_t) IAdd 173 174
             176:      6(ptr) ConvertUToPtr 175
                              Store 153(k) 176
             181:    177(ptr) Load 180(m)
             182: 12(int64_t) ConvertPtrToU 181
             184: 12(int64_t) IAdd 182 183
             185:    177(ptr) ConvertUToPtr 184
                              Store 180(m) 185
                              Return
                              FunctionEnd
