1{ 2 "revision" : 4, 3 "instructions" : [ 4 { 5 "opname" : "Kernel", 6 "opcode" : 1, 7 "operands" : [ 8 { "kind" : "IdRef", "name" : "Kernel" }, 9 { "kind" : "IdRef", "name" : "Name" } 10 ] 11 }, 12 { 13 "opname" : "ArgumentInfo", 14 "opcode" : 2, 15 "operands" : [ 16 { "kind" : "IdRef", "name" : "Name" }, 17 { "kind" : "IdRef", "name" : "Type Name", "quantifier" : "?" }, 18 { "kind" : "IdRef", "name" : "Address Qualifier", "quantifier" : "?" }, 19 { "kind" : "IdRef", "name" : "Access Qualifier", "quantifier" : "?" }, 20 { "kind" : "IdRef", "name" : "Type Qualifier", "quantifier" : "?" } 21 ] 22 }, 23 { 24 "opname" : "ArgumentStorageBuffer", 25 "opcode" : 3, 26 "operands" : [ 27 { "kind" : "IdRef", "name" : "Decl" }, 28 { "kind" : "IdRef", "name" : "Ordinal" }, 29 { "kind" : "IdRef", "name" : "DescriptorSet" }, 30 { "kind" : "IdRef", "name" : "Binding" }, 31 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 32 ] 33 }, 34 { 35 "opname" : "ArgumentUniform", 36 "opcode" : 4, 37 "operands" : [ 38 { "kind" : "IdRef", "name" : "Decl" }, 39 { "kind" : "IdRef", "name" : "Ordinal" }, 40 { "kind" : "IdRef", "name" : "DescriptorSet" }, 41 { "kind" : "IdRef", "name" : "Binding" }, 42 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 43 ] 44 }, 45 { 46 "opname" : "ArgumentPodStorageBuffer", 47 "opcode" : 5, 48 "operands" : [ 49 { "kind" : "IdRef", "name" : "Decl" }, 50 { "kind" : "IdRef", "name" : "Ordinal" }, 51 { "kind" : "IdRef", "name" : "DescriptorSet" }, 52 { "kind" : "IdRef", "name" : "Binding" }, 53 { "kind" : "IdRef", "name" : "Offset" }, 54 { "kind" : "IdRef", "name" : "Size" }, 55 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 56 ] 57 }, 58 { 59 "opname" : "ArgumentPodUniform", 60 "opcode" : 6, 61 "operands" : [ 62 { "kind" : "IdRef", "name" : "Decl" }, 63 { "kind" : "IdRef", "name" : "Ordinal" }, 64 { "kind" : "IdRef", "name" : "DescriptorSet" }, 65 { "kind" : "IdRef", "name" : "Binding" }, 66 { "kind" : "IdRef", "name" : "Offset" }, 67 { "kind" : "IdRef", "name" : "Size" }, 68 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 69 ] 70 }, 71 { 72 "opname" : "ArgumentPodPushConstant", 73 "opcode" : 7, 74 "operands" : [ 75 { "kind" : "IdRef", "name" : "Decl" }, 76 { "kind" : "IdRef", "name" : "Ordinal" }, 77 { "kind" : "IdRef", "name" : "Offset" }, 78 { "kind" : "IdRef", "name" : "Size" }, 79 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 80 ] 81 }, 82 { 83 "opname" : "ArgumentSampledImage", 84 "opcode" : 8, 85 "operands" : [ 86 { "kind" : "IdRef", "name" : "Decl" }, 87 { "kind" : "IdRef", "name" : "Ordinal" }, 88 { "kind" : "IdRef", "name" : "DescriptorSet" }, 89 { "kind" : "IdRef", "name" : "Binding" }, 90 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 91 ] 92 }, 93 { 94 "opname" : "ArgumentStorageImage", 95 "opcode" : 9, 96 "operands" : [ 97 { "kind" : "IdRef", "name" : "Decl" }, 98 { "kind" : "IdRef", "name" : "Ordinal" }, 99 { "kind" : "IdRef", "name" : "DescriptorSet" }, 100 { "kind" : "IdRef", "name" : "Binding" }, 101 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 102 ] 103 }, 104 { 105 "opname" : "ArgumentSampler", 106 "opcode" : 10, 107 "operands" : [ 108 { "kind" : "IdRef", "name" : "Decl" }, 109 { "kind" : "IdRef", "name" : "Ordinal" }, 110 { "kind" : "IdRef", "name" : "DescriptorSet" }, 111 { "kind" : "IdRef", "name" : "Binding" }, 112 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 113 ] 114 }, 115 { 116 "opname" : "ArgumentWorkgroup", 117 "opcode" : 11, 118 "operands" : [ 119 { "kind" : "IdRef", "name" : "Decl" }, 120 { "kind" : "IdRef", "name" : "Ordinal" }, 121 { "kind" : "IdRef", "name" : "SpecId" }, 122 { "kind" : "IdRef", "name" : "ElemSize" }, 123 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 124 ] 125 }, 126 { 127 "opname" : "SpecConstantWorkgroupSize", 128 "opcode" : 12, 129 "operands" : [ 130 { "kind" : "IdRef", "name" : "X" }, 131 { "kind" : "IdRef", "name" : "Y" }, 132 { "kind" : "IdRef", "name" : "Z" } 133 ] 134 }, 135 { 136 "opname" : "SpecConstantGlobalOffset", 137 "opcode" : 13, 138 "operands" : [ 139 { "kind" : "IdRef", "name" : "X" }, 140 { "kind" : "IdRef", "name" : "Y" }, 141 { "kind" : "IdRef", "name" : "Z" } 142 ] 143 }, 144 { 145 "opname" : "SpecConstantWorkDim", 146 "opcode" : 14, 147 "operands" : [ 148 { "kind" : "IdRef", "name" : "Dim" } 149 ] 150 }, 151 { 152 "opname" : "PushConstantGlobalOffset", 153 "opcode" : 15, 154 "operands" : [ 155 { "kind" : "IdRef", "name" : "Offset" }, 156 { "kind" : "IdRef", "name" : "Size" } 157 ] 158 }, 159 { 160 "opname" : "PushConstantEnqueuedLocalSize", 161 "opcode" : 16, 162 "operands" : [ 163 { "kind" : "IdRef", "name" : "Offset" }, 164 { "kind" : "IdRef", "name" : "Size" } 165 ] 166 }, 167 { 168 "opname" : "PushConstantGlobalSize", 169 "opcode" : 17, 170 "operands" : [ 171 { "kind" : "IdRef", "name" : "Offset" }, 172 { "kind" : "IdRef", "name" : "Size" } 173 ] 174 }, 175 { 176 "opname" : "PushConstantRegionOffset", 177 "opcode" : 18, 178 "operands" : [ 179 { "kind" : "IdRef", "name" : "Offset" }, 180 { "kind" : "IdRef", "name" : "Size" } 181 ] 182 }, 183 { 184 "opname" : "PushConstantNumWorkgroups", 185 "opcode" : 19, 186 "operands" : [ 187 { "kind" : "IdRef", "name" : "Offset" }, 188 { "kind" : "IdRef", "name" : "Size" } 189 ] 190 }, 191 { 192 "opname" : "PushConstantRegionGroupOffset", 193 "opcode" : 20, 194 "operands" : [ 195 { "kind" : "IdRef", "name" : "Offset" }, 196 { "kind" : "IdRef", "name" : "Size" } 197 ] 198 }, 199 { 200 "opname" : "ConstantDataStorageBuffer", 201 "opcode" : 21, 202 "operands" : [ 203 { "kind" : "IdRef", "name" : "DescriptorSet" }, 204 { "kind" : "IdRef", "name" : "Binding" }, 205 { "kind" : "IdRef", "name" : "Data" } 206 ] 207 }, 208 { 209 "opname" : "ConstantDataUniform", 210 "opcode" : 22, 211 "operands" : [ 212 { "kind" : "IdRef", "name" : "DescriptorSet" }, 213 { "kind" : "IdRef", "name" : "Binding" }, 214 { "kind" : "IdRef", "name" : "Data" } 215 ] 216 }, 217 { 218 "opname" : "LiteralSampler", 219 "opcode" : 23, 220 "operands" : [ 221 { "kind" : "IdRef", "name" : "DescriptorSet" }, 222 { "kind" : "IdRef", "name" : "Binding" }, 223 { "kind" : "IdRef", "name" : "Mask" } 224 ] 225 }, 226 { 227 "opname" : "PropertyRequiredWorkgroupSize", 228 "opcode" : 24, 229 "operands" : [ 230 { "kind" : "IdRef", "name" : "Kernel" }, 231 { "kind" : "IdRef", "name" : "X" }, 232 { "kind" : "IdRef", "name" : "Y" }, 233 { "kind" : "IdRef", "name" : "Z" } 234 ] 235 }, 236 { 237 "opname" : "SpecConstantSubgroupMaxSize", 238 "opcode" : 25, 239 "operands" : [ 240 { "kind" : "IdRef", "name" : "Size" } 241 ] 242 }, 243 { 244 "opname" : "ArgumentPointerPushConstant", 245 "opcode" : 26, 246 "operands": [ 247 { "kind" : "IdRef", "name" : "Kernel" }, 248 { "kind" : "IdRef", "name" : "Ordinal" }, 249 { "kind" : "IdRef", "name" : "Offset" }, 250 { "kind" : "IdRef", "name" : "Size" }, 251 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 252 ] 253 }, 254 { 255 "opname" : "ArgumentPointerUniform", 256 "opcode" : 27, 257 "operands": [ 258 { "kind" : "IdRef", "name" : "Kernel" }, 259 { "kind" : "IdRef", "name" : "Ordinal" }, 260 { "kind" : "IdRef", "name" : "DescriptorSet" }, 261 { "kind" : "IdRef", "name" : "Binding" }, 262 { "kind" : "IdRef", "name" : "Offset" }, 263 { "kind" : "IdRef", "name" : "Size" }, 264 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 265 ] 266 }, 267 { 268 "opname" : "ProgramScopeVariablesStorageBuffer", 269 "opcode" : 28, 270 "operands": [ 271 { "kind" : "IdRef", "name" : "DescriptorSet" }, 272 { "kind" : "IdRef", "name" : "Binding" }, 273 { "kind" : "IdRef", "name" : "Data" } 274 ] 275 }, 276 { 277 "opname" : "ProgramScopeVariablePointerRelocation", 278 "opcode" : 29, 279 "operands": [ 280 { "kind" : "IdRef", "name" : "ObjectOffset" }, 281 { "kind" : "IdRef", "name" : "PointerOffset" }, 282 { "kind" : "IdRef", "name" : "PointerSize" } 283 ] 284 }, 285 { 286 "opname" : "ImageArgumentInfoChannelOrderPushConstant", 287 "opcode" : 30, 288 "operands": [ 289 { "kind" : "IdRef", "name" : "Kernel" }, 290 { "kind" : "IdRef", "name" : "Ordinal" }, 291 { "kind" : "IdRef", "name" : "Offset" }, 292 { "kind" : "IdRef", "name" : "Size" } 293 ] 294 }, 295 { 296 "opname" : "ImageArgumentInfoChannelDataTypePushConstant", 297 "opcode" : 31, 298 "operands": [ 299 { "kind" : "IdRef", "name" : "Kernel" }, 300 { "kind" : "IdRef", "name" : "Ordinal" }, 301 { "kind" : "IdRef", "name" : "Offset" }, 302 { "kind" : "IdRef", "name" : "Size" } 303 ] 304 }, 305 { 306 "opname" : "ImageArgumentInfoChannelOrderUniform", 307 "opcode" : 32, 308 "operands": [ 309 { "kind" : "IdRef", "name" : "Kernel" }, 310 { "kind" : "IdRef", "name" : "Ordinal" }, 311 { "kind" : "IdRef", "name" : "DescriptorSet" }, 312 { "kind" : "IdRef", "name" : "Binding" }, 313 { "kind" : "IdRef", "name" : "Offset" }, 314 { "kind" : "IdRef", "name" : "Size" } 315 ] 316 }, 317 { 318 "opname" : "ImageArgumentInfoChannelDataTypeUniform", 319 "opcode" : 33, 320 "operands": [ 321 { "kind" : "IdRef", "name" : "Kernel" }, 322 { "kind" : "IdRef", "name" : "Ordinal" }, 323 { "kind" : "IdRef", "name" : "DescriptorSet" }, 324 { "kind" : "IdRef", "name" : "Binding" }, 325 { "kind" : "IdRef", "name" : "Offset" }, 326 { "kind" : "IdRef", "name" : "Size" } 327 ] 328 }, 329 { 330 "opname" : "ArgumentStorageTexelBuffer", 331 "opcode" : 34, 332 "operands" : [ 333 { "kind" : "IdRef", "name" : "Decl" }, 334 { "kind" : "IdRef", "name" : "Ordinal" }, 335 { "kind" : "IdRef", "name" : "DescriptorSet" }, 336 { "kind" : "IdRef", "name" : "Binding" }, 337 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 338 ] 339 }, 340 { 341 "opname" : "ArgumentUniformTexelBuffer", 342 "opcode" : 35, 343 "operands" : [ 344 { "kind" : "IdRef", "name" : "Decl" }, 345 { "kind" : "IdRef", "name" : "Ordinal" }, 346 { "kind" : "IdRef", "name" : "DescriptorSet" }, 347 { "kind" : "IdRef", "name" : "Binding" }, 348 { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } 349 ] 350 } 351 ] 352} 353