• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "revision" : 6,
3  "instructions" : [
4    {
5      "opname" : "Kernel",
6      "opcode" : 1,
7      "operands" : [
8        { "kind" : "IdRef", "name" : "Kernel" },
9        { "kind" : "IdRef", "name" : "Name" },
10        { "kind" : "IdRef", "name" : "NumArguments", "quantifier" : "?" },
11        { "kind" : "IdRef", "name" : "Flags", "quantifier" : "?"  },
12        { "kind" : "IdRef", "name" : "Attributes", "quantifier" : "?"  }
13      ]
14    },
15    {
16      "opname" : "ArgumentInfo",
17      "opcode" : 2,
18      "operands" : [
19        { "kind" : "IdRef", "name" : "Name" },
20        { "kind" : "IdRef", "name" : "Type Name", "quantifier" : "?" },
21        { "kind" : "IdRef", "name" : "Address Qualifier", "quantifier" : "?" },
22        { "kind" : "IdRef", "name" : "Access Qualifier", "quantifier" : "?" },
23        { "kind" : "IdRef", "name" : "Type Qualifier", "quantifier" : "?" }
24      ]
25    },
26    {
27      "opname" : "ArgumentStorageBuffer",
28      "opcode" : 3,
29      "operands" : [
30        { "kind" : "IdRef", "name" : "Decl" },
31        { "kind" : "IdRef", "name" : "Ordinal" },
32        { "kind" : "IdRef", "name" : "DescriptorSet" },
33        { "kind" : "IdRef", "name" : "Binding" },
34        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
35      ]
36    },
37    {
38      "opname" : "ArgumentUniform",
39      "opcode" : 4,
40      "operands" : [
41        { "kind" : "IdRef", "name" : "Decl" },
42        { "kind" : "IdRef", "name" : "Ordinal" },
43        { "kind" : "IdRef", "name" : "DescriptorSet" },
44        { "kind" : "IdRef", "name" : "Binding" },
45        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
46      ]
47    },
48    {
49      "opname" : "ArgumentPodStorageBuffer",
50      "opcode" : 5,
51      "operands" : [
52        { "kind" : "IdRef", "name" : "Decl" },
53        { "kind" : "IdRef", "name" : "Ordinal" },
54        { "kind" : "IdRef", "name" : "DescriptorSet" },
55        { "kind" : "IdRef", "name" : "Binding" },
56        { "kind" : "IdRef", "name" : "Offset" },
57        { "kind" : "IdRef", "name" : "Size" },
58        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
59      ]
60    },
61    {
62      "opname" : "ArgumentPodUniform",
63      "opcode" : 6,
64      "operands" : [
65        { "kind" : "IdRef", "name" : "Decl" },
66        { "kind" : "IdRef", "name" : "Ordinal" },
67        { "kind" : "IdRef", "name" : "DescriptorSet" },
68        { "kind" : "IdRef", "name" : "Binding" },
69        { "kind" : "IdRef", "name" : "Offset" },
70        { "kind" : "IdRef", "name" : "Size" },
71        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
72      ]
73    },
74    {
75      "opname" : "ArgumentPodPushConstant",
76      "opcode" : 7,
77      "operands" : [
78        { "kind" : "IdRef", "name" : "Decl" },
79        { "kind" : "IdRef", "name" : "Ordinal" },
80        { "kind" : "IdRef", "name" : "Offset" },
81        { "kind" : "IdRef", "name" : "Size" },
82        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
83      ]
84    },
85    {
86      "opname" : "ArgumentSampledImage",
87      "opcode" : 8,
88      "operands" : [
89        { "kind" : "IdRef", "name" : "Decl" },
90        { "kind" : "IdRef", "name" : "Ordinal" },
91        { "kind" : "IdRef", "name" : "DescriptorSet" },
92        { "kind" : "IdRef", "name" : "Binding" },
93        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
94      ]
95    },
96    {
97      "opname" : "ArgumentStorageImage",
98      "opcode" : 9,
99      "operands" : [
100        { "kind" : "IdRef", "name" : "Decl" },
101        { "kind" : "IdRef", "name" : "Ordinal" },
102        { "kind" : "IdRef", "name" : "DescriptorSet" },
103        { "kind" : "IdRef", "name" : "Binding" },
104        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
105      ]
106    },
107    {
108      "opname" : "ArgumentSampler",
109      "opcode" : 10,
110      "operands" : [
111        { "kind" : "IdRef", "name" : "Decl" },
112        { "kind" : "IdRef", "name" : "Ordinal" },
113        { "kind" : "IdRef", "name" : "DescriptorSet" },
114        { "kind" : "IdRef", "name" : "Binding" },
115        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
116      ]
117    },
118    {
119      "opname" : "ArgumentWorkgroup",
120      "opcode" : 11,
121      "operands" : [
122        { "kind" : "IdRef", "name" : "Decl" },
123        { "kind" : "IdRef", "name" : "Ordinal" },
124        { "kind" : "IdRef", "name" : "SpecId" },
125        { "kind" : "IdRef", "name" : "ElemSize" },
126        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
127      ]
128    },
129    {
130      "opname" : "SpecConstantWorkgroupSize",
131      "opcode" : 12,
132      "operands" : [
133        { "kind" : "IdRef", "name" : "X" },
134        { "kind" : "IdRef", "name" : "Y" },
135        { "kind" : "IdRef", "name" : "Z" }
136      ]
137    },
138    {
139      "opname" : "SpecConstantGlobalOffset",
140      "opcode" : 13,
141      "operands" : [
142        { "kind" : "IdRef", "name" : "X" },
143        { "kind" : "IdRef", "name" : "Y" },
144        { "kind" : "IdRef", "name" : "Z" }
145      ]
146    },
147    {
148      "opname" : "SpecConstantWorkDim",
149      "opcode" : 14,
150      "operands" : [
151        { "kind" : "IdRef", "name" : "Dim" }
152      ]
153    },
154    {
155      "opname" : "PushConstantGlobalOffset",
156      "opcode" : 15,
157      "operands" : [
158        { "kind" : "IdRef", "name" : "Offset" },
159        { "kind" : "IdRef", "name" : "Size" }
160      ]
161    },
162    {
163      "opname" : "PushConstantEnqueuedLocalSize",
164      "opcode" : 16,
165      "operands" : [
166        { "kind" : "IdRef", "name" : "Offset" },
167        { "kind" : "IdRef", "name" : "Size" }
168      ]
169    },
170    {
171      "opname" : "PushConstantGlobalSize",
172      "opcode" : 17,
173      "operands" : [
174        { "kind" : "IdRef", "name" : "Offset" },
175        { "kind" : "IdRef", "name" : "Size" }
176      ]
177    },
178    {
179      "opname" : "PushConstantRegionOffset",
180      "opcode" : 18,
181      "operands" : [
182        { "kind" : "IdRef", "name" : "Offset" },
183        { "kind" : "IdRef", "name" : "Size" }
184      ]
185    },
186    {
187      "opname" : "PushConstantNumWorkgroups",
188      "opcode" : 19,
189      "operands" : [
190        { "kind" : "IdRef", "name" : "Offset" },
191        { "kind" : "IdRef", "name" : "Size" }
192      ]
193    },
194    {
195      "opname" : "PushConstantRegionGroupOffset",
196      "opcode" : 20,
197      "operands" : [
198        { "kind" : "IdRef", "name" : "Offset" },
199        { "kind" : "IdRef", "name" : "Size" }
200      ]
201    },
202    {
203      "opname" : "ConstantDataStorageBuffer",
204      "opcode" : 21,
205      "operands" : [
206        { "kind" : "IdRef", "name" : "DescriptorSet" },
207        { "kind" : "IdRef", "name" : "Binding" },
208        { "kind" : "IdRef", "name" : "Data" }
209      ]
210    },
211    {
212      "opname" : "ConstantDataUniform",
213      "opcode" : 22,
214      "operands" : [
215        { "kind" : "IdRef", "name" : "DescriptorSet" },
216        { "kind" : "IdRef", "name" : "Binding" },
217        { "kind" : "IdRef", "name" : "Data" }
218      ]
219    },
220    {
221      "opname" : "LiteralSampler",
222      "opcode" : 23,
223      "operands" : [
224        { "kind" : "IdRef", "name" : "DescriptorSet" },
225        { "kind" : "IdRef", "name" : "Binding" },
226        { "kind" : "IdRef", "name" : "Mask" }
227      ]
228    },
229    {
230      "opname" : "PropertyRequiredWorkgroupSize",
231      "opcode" : 24,
232      "operands" : [
233        { "kind" : "IdRef", "name" : "Kernel" },
234        { "kind" : "IdRef", "name" : "X" },
235        { "kind" : "IdRef", "name" : "Y" },
236        { "kind" : "IdRef", "name" : "Z" }
237      ]
238    },
239    {
240      "opname" : "SpecConstantSubgroupMaxSize",
241      "opcode" : 25,
242      "operands" : [
243        { "kind" : "IdRef", "name" : "Size" }
244      ]
245    },
246    {
247      "opname" : "ArgumentPointerPushConstant",
248      "opcode" : 26,
249      "operands": [
250        { "kind" : "IdRef", "name" : "Kernel" },
251        { "kind" : "IdRef", "name" : "Ordinal" },
252        { "kind" : "IdRef", "name" : "Offset" },
253        { "kind" : "IdRef", "name" : "Size" },
254        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
255      ]
256    },
257    {
258      "opname" : "ArgumentPointerUniform",
259      "opcode" : 27,
260      "operands": [
261        { "kind" : "IdRef", "name" : "Kernel" },
262        { "kind" : "IdRef", "name" : "Ordinal" },
263        { "kind" : "IdRef", "name" : "DescriptorSet" },
264        { "kind" : "IdRef", "name" : "Binding" },
265        { "kind" : "IdRef", "name" : "Offset" },
266        { "kind" : "IdRef", "name" : "Size" },
267        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
268      ]
269    },
270    {
271      "opname" : "ProgramScopeVariablesStorageBuffer",
272      "opcode" : 28,
273      "operands": [
274        { "kind" : "IdRef", "name" : "DescriptorSet" },
275        { "kind" : "IdRef", "name" : "Binding" },
276        { "kind" : "IdRef", "name" : "Data" }
277      ]
278    },
279    {
280      "opname" : "ProgramScopeVariablePointerRelocation",
281      "opcode" : 29,
282      "operands": [
283        { "kind" : "IdRef", "name" : "ObjectOffset" },
284        { "kind" : "IdRef", "name" : "PointerOffset" },
285        { "kind" : "IdRef", "name" : "PointerSize" }
286      ]
287    },
288    {
289      "opname" : "ImageArgumentInfoChannelOrderPushConstant",
290      "opcode" : 30,
291      "operands": [
292        { "kind" : "IdRef", "name" : "Kernel" },
293        { "kind" : "IdRef", "name" : "Ordinal" },
294        { "kind" : "IdRef", "name" : "Offset" },
295        { "kind" : "IdRef", "name" : "Size" }
296      ]
297    },
298    {
299      "opname" : "ImageArgumentInfoChannelDataTypePushConstant",
300      "opcode" : 31,
301      "operands": [
302        { "kind" : "IdRef", "name" : "Kernel" },
303        { "kind" : "IdRef", "name" : "Ordinal" },
304        { "kind" : "IdRef", "name" : "Offset" },
305        { "kind" : "IdRef", "name" : "Size" }
306      ]
307    },
308    {
309      "opname" : "ImageArgumentInfoChannelOrderUniform",
310      "opcode" : 32,
311      "operands": [
312        { "kind" : "IdRef", "name" : "Kernel" },
313        { "kind" : "IdRef", "name" : "Ordinal" },
314        { "kind" : "IdRef", "name" : "DescriptorSet" },
315        { "kind" : "IdRef", "name" : "Binding" },
316        { "kind" : "IdRef", "name" : "Offset" },
317        { "kind" : "IdRef", "name" : "Size" }
318      ]
319    },
320    {
321      "opname" : "ImageArgumentInfoChannelDataTypeUniform",
322      "opcode" : 33,
323      "operands": [
324        { "kind" : "IdRef", "name" : "Kernel" },
325        { "kind" : "IdRef", "name" : "Ordinal" },
326        { "kind" : "IdRef", "name" : "DescriptorSet" },
327        { "kind" : "IdRef", "name" : "Binding" },
328        { "kind" : "IdRef", "name" : "Offset" },
329        { "kind" : "IdRef", "name" : "Size" }
330      ]
331    },
332    {
333      "opname" : "ArgumentStorageTexelBuffer",
334      "opcode" : 34,
335      "operands" : [
336        { "kind" : "IdRef", "name" : "Decl" },
337        { "kind" : "IdRef", "name" : "Ordinal" },
338        { "kind" : "IdRef", "name" : "DescriptorSet" },
339        { "kind" : "IdRef", "name" : "Binding" },
340        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
341      ]
342    },
343    {
344      "opname" : "ArgumentUniformTexelBuffer",
345      "opcode" : 35,
346      "operands" : [
347        { "kind" : "IdRef", "name" : "Decl" },
348        { "kind" : "IdRef", "name" : "Ordinal" },
349        { "kind" : "IdRef", "name" : "DescriptorSet" },
350        { "kind" : "IdRef", "name" : "Binding" },
351        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
352      ]
353    },
354    {
355      "opname" : "ConstantDataPointerPushConstant",
356      "opcode" : 36,
357      "operands" : [
358        { "kind" : "IdRef", "name" : "Offset"},
359        { "kind" : "IdRef", "name" : "Size"},
360        { "kind" : "IdRef", "name" : "Data" }
361      ]
362    },
363    {
364      "opname" : "ProgramScopeVariablePointerPushConstant",
365      "opcode" : 37,
366      "operands" : [
367        { "kind" : "IdRef", "name" : "Offset"},
368        { "kind" : "IdRef", "name" : "Size"},
369        { "kind" : "IdRef", "name" : "Data" }
370      ]
371    },
372    {
373      "opname" : "PrintfInfo",
374      "opcode" : 38,
375      "operands" : [
376        { "kind" : "IdRef", "name" : "PrintfID" },
377        { "kind" : "IdRef", "name" : "FormatString" },
378        { "kind" : "IdRef", "quantifier" : "*", "name" : "ArgumentSizes"}
379      ]
380    },
381    {
382      "opname" : "PrintfBufferStorageBuffer",
383      "opcode" : 39,
384      "operands" : [
385        { "kind" : "IdRef", "name" : "DescriptorSet" },
386        { "kind" : "IdRef", "name" : "Binding" },
387        { "kind" : "IdRef", "name" : "BufferSize"}
388      ]
389    },
390    {
391    "opname" : "PrintfBufferPointerPushConstant",
392    "opcode" : 40,
393    "operands" : [
394      { "kind" : "IdRef", "name" : "Offset" },
395      { "kind" : "IdRef", "name" : "Size"},
396      { "kind" : "IdRef", "name" : "BufferSize"}
397      ]
398    },
399    {
400    "opname" : "NormalizedSamplerMaskPushConstant",
401    "opcode" : 41,
402    "operands" : [
403      { "kind" : "IdRef", "name" : "Kernel" },
404      { "kind" : "IdRef", "name" : "Ordinal" },
405      { "kind" : "IdRef", "name" : "Offset" },
406      { "kind" : "IdRef", "name" : "Size" }
407      ]
408    }
409  ],
410  "operand_kinds" : [
411    {
412      "category" : "BitEnum",
413      "kind" : "KernelPropertyFlags",
414      "enumerants" : [
415        {
416          "enumerant" : "None",
417          "value" : "0x0"
418        },
419        {
420          "enumerant" : "MayUsePrintf",
421          "value" : "0x1"
422        }
423      ]
424    }
425  ]
426}
427