1spv.bufferhandle18.frag 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 196 5 6 Capability Shader 7 Capability Int64 8 Capability PhysicalStorageBufferAddressesEXT 9 Extension "SPV_EXT_physical_storage_buffer" 10 1: ExtInstImport "GLSL.std.450" 11 MemoryModel PhysicalStorageBuffer64EXT GLSL450 12 EntryPoint Fragment 4 "main" 13 ExecutionMode 4 OriginUpperLeft 14 Source GLSL 450 15 SourceExtension "GL_EXT_buffer_reference" 16 SourceExtension "GL_EXT_buffer_reference2" 17 SourceExtension "GL_EXT_scalar_block_layout" 18 SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64" 19 Name 4 "main" 20 Name 9 "T1" 21 MemberName 9(T1) 0 "x" 22 MemberName 9(T1) 1 "y" 23 Name 11 "a" 24 Name 15 "b" 25 Name 18 "c" 26 Name 24 "d" 27 Name 26 "e" 28 Name 29 "f" 29 Name 59 "arr" 30 Name 71 "i" 31 Name 130 "j" 32 Name 153 "k" 33 Name 160 "x" 34 Name 171 "y" 35 Name 178 "T2" 36 MemberName 178(T2) 0 "x" 37 Name 180 "m" 38 Name 190 "x" 39 Name 195 "buf" 40 MemberDecorate 9(T1) 0 Offset 0 41 MemberDecorate 9(T1) 1 Offset 4 42 Decorate 9(T1) Block 43 Decorate 11(a) DecorationAliasedPointerEXT 44 Decorate 15(b) DecorationAliasedPointerEXT 45 Decorate 18(c) DecorationAliasedPointerEXT 46 Decorate 24(d) DecorationAliasedPointerEXT 47 Decorate 26(e) DecorationAliasedPointerEXT 48 Decorate 29(f) DecorationAliasedPointerEXT 49 Decorate 59(arr) DecorationAliasedPointerEXT 50 Decorate 130(j) DecorationAliasedPointerEXT 51 Decorate 153(k) DecorationAliasedPointerEXT 52 MemberDecorate 178(T2) 0 Offset 0 53 Decorate 178(T2) Block 54 Decorate 180(m) DecorationAliasedPointerEXT 55 2: TypeVoid 56 3: TypeFunction 2 57 TypeForwardPointer 6 PhysicalStorageBufferEXT 58 7: TypeInt 32 1 59 8: TypeInt 32 0 60 9(T1): TypeStruct 7(int) 8(int) 61 6: TypePointer PhysicalStorageBufferEXT 9(T1) 62 10: TypePointer Function 6(ptr) 63 12: TypeInt 64 0 64 13: 12(int64_t) Constant 4 0 65 16: 12(int64_t) Constant 5 0 66 19: TypeBool 67 20: 19(bool) ConstantTrue 68 27: 12(int64_t) Constant 6 0 69 31: 7(int) Constant 1 70 32: TypePointer PhysicalStorageBufferEXT 8(int) 71 35: 8(int) Constant 0 72 37: 12(int64_t) Constant 8 0 73 39: 12(int64_t) Constant 9 0 74 44: 12(int64_t) Constant 24 0 75 47: 7(int) Constant 0 76 48: TypePointer PhysicalStorageBufferEXT 7(int) 77 52: 12(int64_t) Constant 40 0 78 56: 8(int) Constant 2 79 57: TypeArray 6(ptr) 56 80 58: TypePointer Function 57 81 66: 12(int64_t) Constant 56 0 82 70: TypePointer Function 7(int) 83 77: TypeInt 64 1 84 137: 12(int64_t) Constant 16 0 85 146: 12(int64_t) Constant 32 0 86 156: 12(int64_t) Constant 48 0 87 159: TypePointer Function 77(int64_t) 88 168: 77(int64_t) Constant 8 0 89 170: TypePointer Function 12(int64_t) 90 174: 12(int64_t) Constant 4294967288 4294967295 91 TypeForwardPointer 177 PhysicalStorageBufferEXT 92 178(T2): TypeStruct 7(int) 93 177: TypePointer PhysicalStorageBufferEXT 178(T2) 94 179: TypePointer Function 177(ptr) 95 183: 12(int64_t) Constant 64 0 96 186: 7(int) Constant 3 97 187: 8(int) Constant 3 98 188: TypeArray 7(int) 187 99 189: TypePointer Private 188 100 190(x): 189(ptr) Variable Private 101 191: 12(int64_t) Constant 10 0 102 192: 8(int) Constant 8 103 193: TypeArray 8(int) 192 104 194: TypePointer Private 193 105 195(buf): 194(ptr) Variable Private 106 4(main): 2 Function None 3 107 5: Label 108 11(a): 10(ptr) Variable Function 109 15(b): 10(ptr) Variable Function 110 18(c): 10(ptr) Variable Function 111 24(d): 10(ptr) Variable Function 112 26(e): 10(ptr) Variable Function 113 29(f): 10(ptr) Variable Function 114 59(arr): 58(ptr) Variable Function 115 71(i): 70(ptr) Variable Function 116 130(j): 10(ptr) Variable Function 117 153(k): 10(ptr) Variable Function 118 160(x): 159(ptr) Variable Function 119 171(y): 170(ptr) Variable Function 120 180(m): 179(ptr) Variable Function 121 14: 6(ptr) Bitcast 13 122 Store 11(a) 14 123 17: 6(ptr) Bitcast 16 124 Store 15(b) 17 125 21: 6(ptr) Load 11(a) 126 22: 6(ptr) Load 15(b) 127 23: 6(ptr) Select 20 21 22 128 Store 18(c) 23 129 25: 6(ptr) Load 15(b) 130 Store 24(d) 25 131 28: 6(ptr) Bitcast 27 132 Store 26(e) 28 133 30: 6(ptr) Load 11(a) 134 33: 32(ptr) AccessChain 30 31 135 34: 8(int) Load 33 Aligned 4 136 36: 19(bool) INotEqual 34 35 137 38: 6(ptr) Bitcast 37 138 40: 6(ptr) Bitcast 39 139 41: 6(ptr) Select 36 38 40 140 Store 29(f) 41 141 42: 6(ptr) Load 29(f) 142 43: 12(int64_t) ConvertPtrToU 42 143 45: 12(int64_t) IAdd 43 44 144 46: 6(ptr) ConvertUToPtr 45 145 49: 48(ptr) AccessChain 46 47 146 Store 49 31 Aligned 8 147 50: 6(ptr) Load 29(f) 148 51: 12(int64_t) ConvertPtrToU 50 149 53: 12(int64_t) IAdd 51 52 150 54: 6(ptr) ConvertUToPtr 53 151 55: 48(ptr) AccessChain 54 47 152 Store 55 31 Aligned 8 153 60: 6(ptr) Load 11(a) 154 61: 6(ptr) Load 29(f) 155 62: 57 CompositeConstruct 60 61 156 Store 59(arr) 62 157 63: 10(ptr) AccessChain 59(arr) 31 158 64: 6(ptr) Load 63 159 65: 12(int64_t) ConvertPtrToU 64 160 67: 12(int64_t) IAdd 65 66 161 68: 6(ptr) ConvertUToPtr 67 162 69: 48(ptr) AccessChain 68 47 163 Store 69 31 Aligned 8 164 72: 7(int) Load 71(i) 165 73: 10(ptr) AccessChain 59(arr) 72 166 74: 6(ptr) Load 73 167 75: 12(int64_t) ConvertPtrToU 74 168 76: 7(int) Load 71(i) 169 78: 77(int64_t) SConvert 76 170 79: 12(int64_t) Bitcast 78 171 80: 12(int64_t) IMul 79 37 172 81: 12(int64_t) IAdd 75 80 173 82: 6(ptr) ConvertUToPtr 81 174 83: 48(ptr) AccessChain 82 47 175 Store 83 31 Aligned 8 176 84: 7(int) Load 71(i) 177 85: 10(ptr) AccessChain 59(arr) 84 178 86: 6(ptr) Load 85 179 87: 12(int64_t) ConvertPtrToU 86 180 88: 7(int) Load 71(i) 181 89: 77(int64_t) SConvert 88 182 90: 12(int64_t) Bitcast 89 183 91: 12(int64_t) IMul 90 37 184 92: 12(int64_t) IAdd 87 91 185 93: 6(ptr) ConvertUToPtr 92 186 94: 12(int64_t) ConvertPtrToU 93 187 95: 7(int) Load 71(i) 188 96: 77(int64_t) SConvert 95 189 97: 12(int64_t) Bitcast 96 190 98: 12(int64_t) IMul 97 37 191 99: 12(int64_t) IAdd 94 98 192 100: 6(ptr) ConvertUToPtr 99 193 101: 12(int64_t) ConvertPtrToU 100 194 102: 7(int) Load 71(i) 195 103: 77(int64_t) SConvert 102 196 104: 12(int64_t) Bitcast 103 197 105: 12(int64_t) IMul 104 37 198 106: 12(int64_t) IAdd 101 105 199 107: 6(ptr) ConvertUToPtr 106 200 108: 12(int64_t) ConvertPtrToU 107 201 109: 7(int) Load 71(i) 202 110: 77(int64_t) SConvert 109 203 111: 12(int64_t) Bitcast 110 204 112: 12(int64_t) IMul 111 37 205 113: 12(int64_t) IAdd 108 112 206 114: 6(ptr) ConvertUToPtr 113 207 115: 12(int64_t) ConvertPtrToU 114 208 116: 7(int) Load 71(i) 209 117: 77(int64_t) SConvert 116 210 118: 12(int64_t) Bitcast 117 211 119: 12(int64_t) IMul 118 37 212 120: 12(int64_t) IAdd 115 119 213 121: 6(ptr) ConvertUToPtr 120 214 122: 12(int64_t) ConvertPtrToU 121 215 123: 7(int) Load 71(i) 216 124: 77(int64_t) SConvert 123 217 125: 12(int64_t) Bitcast 124 218 126: 12(int64_t) IMul 125 37 219 127: 12(int64_t) IAdd 122 126 220 128: 6(ptr) ConvertUToPtr 127 221 129: 48(ptr) AccessChain 128 47 222 Store 129 31 Aligned 8 223 131: 6(ptr) Load 130(j) 224 132: 12(int64_t) ConvertPtrToU 131 225 133: 12(int64_t) IAdd 132 37 226 134: 6(ptr) ConvertUToPtr 133 227 Store 130(j) 134 228 135: 6(ptr) Load 130(j) 229 136: 12(int64_t) ConvertPtrToU 135 230 138: 12(int64_t) ISub 136 137 231 139: 6(ptr) ConvertUToPtr 138 232 Store 130(j) 139 233 140: 6(ptr) Load 130(j) 234 141: 12(int64_t) ConvertPtrToU 140 235 142: 12(int64_t) IAdd 141 44 236 143: 6(ptr) ConvertUToPtr 142 237 Store 130(j) 143 238 144: 6(ptr) Load 130(j) 239 145: 12(int64_t) ConvertPtrToU 144 240 147: 12(int64_t) ISub 145 146 241 148: 6(ptr) ConvertUToPtr 147 242 Store 130(j) 148 243 149: 6(ptr) Load 130(j) 244 150: 12(int64_t) ConvertPtrToU 149 245 151: 12(int64_t) IAdd 52 150 246 152: 6(ptr) ConvertUToPtr 151 247 Store 130(j) 152 248 154: 6(ptr) Load 130(j) 249 155: 12(int64_t) ConvertPtrToU 154 250 157: 12(int64_t) IAdd 155 156 251 158: 6(ptr) ConvertUToPtr 157 252 Store 153(k) 158 253 161: 6(ptr) Load 153(k) 254 162: 12(int64_t) ConvertPtrToU 161 255 163: 77(int64_t) Bitcast 162 256 164: 6(ptr) Load 130(j) 257 165: 12(int64_t) ConvertPtrToU 164 258 166: 77(int64_t) Bitcast 165 259 167: 77(int64_t) ISub 163 166 260 169: 77(int64_t) SDiv 167 168 261 Store 160(x) 169 262 Store 171(y) 37 263 172: 6(ptr) Load 153(k) 264 173: 12(int64_t) ConvertPtrToU 172 265 175: 12(int64_t) IAdd 173 174 266 176: 6(ptr) ConvertUToPtr 175 267 Store 153(k) 176 268 181: 177(ptr) Load 180(m) 269 182: 12(int64_t) ConvertPtrToU 181 270 184: 12(int64_t) IAdd 182 183 271 185: 177(ptr) ConvertUToPtr 184 272 Store 180(m) 185 273 Return 274 FunctionEnd 275