1{
2  "revision" : 1,
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}
238