Update clspv reflection non-semantic instruction set (#284)
[platform/upstream/SPIRV-Headers.git] / include / spirv / unified1 / extinst.nonsemantic.clspvreflection.grammar.json
1 {
2   "revision" : 3,
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 }