1#![doc = r" SPIR-V instruction definitions"]
2#![doc = r""]
3#![doc = r" This file is auto-generated, do not modify manually."]
4use crate::{core::*, op::*};
5use core::fmt::{self, Display};
6#[derive(Clone, Copy, PartialEq, Eq, Debug)]
7pub struct Code(pub(crate) u16);
8impl Code {
9 pub const NOP: Self = Self(0);
10 pub const UNDEF: Self = Self(1);
11 pub const SOURCE_CONTINUED: Self = Self(2);
12 pub const SOURCE: Self = Self(3);
13 pub const SOURCE_EXTENSION: Self = Self(4);
14 pub const NAME: Self = Self(5);
15 pub const MEMBER_NAME: Self = Self(6);
16 pub const STRING: Self = Self(7);
17 pub const LINE: Self = Self(8);
18 pub const EXTENSION: Self = Self(10);
19 pub const EXT_INST_IMPORT: Self = Self(11);
20 pub const EXT_INST: Self = Self(12);
21 pub const MEMORY_MODEL: Self = Self(14);
22 pub const ENTRY_POINT: Self = Self(15);
23 pub const EXECUTION_MODE: Self = Self(16);
24 pub const CAPABILITY: Self = Self(17);
25 pub const TYPE_VOID: Self = Self(19);
26 pub const TYPE_BOOL: Self = Self(20);
27 pub const TYPE_INT: Self = Self(21);
28 pub const TYPE_FLOAT: Self = Self(22);
29 pub const TYPE_VECTOR: Self = Self(23);
30 pub const TYPE_MATRIX: Self = Self(24);
31 pub const TYPE_IMAGE: Self = Self(25);
32 pub const TYPE_SAMPLER: Self = Self(26);
33 pub const TYPE_SAMPLED_IMAGE: Self = Self(27);
34 pub const TYPE_ARRAY: Self = Self(28);
35 pub const TYPE_RUNTIME_ARRAY: Self = Self(29);
36 pub const TYPE_STRUCT: Self = Self(30);
37 pub const TYPE_OPAQUE: Self = Self(31);
38 pub const TYPE_POINTER: Self = Self(32);
39 pub const TYPE_FUNCTION: Self = Self(33);
40 pub const TYPE_EVENT: Self = Self(34);
41 pub const TYPE_DEVICE_EVENT: Self = Self(35);
42 pub const TYPE_RESERVE_ID: Self = Self(36);
43 pub const TYPE_QUEUE: Self = Self(37);
44 pub const TYPE_PIPE: Self = Self(38);
45 pub const TYPE_FORWARD_POINTER: Self = Self(39);
46 pub const CONSTANT_TRUE: Self = Self(41);
47 pub const CONSTANT_FALSE: Self = Self(42);
48 pub const CONSTANT: Self = Self(43);
49 pub const CONSTANT_COMPOSITE: Self = Self(44);
50 pub const CONSTANT_SAMPLER: Self = Self(45);
51 pub const CONSTANT_NULL: Self = Self(46);
52 pub const SPEC_CONSTANT_TRUE: Self = Self(48);
53 pub const SPEC_CONSTANT_FALSE: Self = Self(49);
54 pub const SPEC_CONSTANT: Self = Self(50);
55 pub const SPEC_CONSTANT_COMPOSITE: Self = Self(51);
56 pub const SPEC_CONSTANT_OP: Self = Self(52);
57 pub const FUNCTION: Self = Self(54);
58 pub const FUNCTION_PARAMETER: Self = Self(55);
59 pub const FUNCTION_END: Self = Self(56);
60 pub const FUNCTION_CALL: Self = Self(57);
61 pub const VARIABLE: Self = Self(59);
62 pub const IMAGE_TEXEL_POINTER: Self = Self(60);
63 pub const LOAD: Self = Self(61);
64 pub const STORE: Self = Self(62);
65 pub const COPY_MEMORY: Self = Self(63);
66 pub const COPY_MEMORY_SIZED: Self = Self(64);
67 pub const ACCESS_CHAIN: Self = Self(65);
68 pub const IN_BOUNDS_ACCESS_CHAIN: Self = Self(66);
69 pub const PTR_ACCESS_CHAIN: Self = Self(67);
70 pub const ARRAY_LENGTH: Self = Self(68);
71 pub const GENERIC_PTR_MEM_SEMANTICS: Self = Self(69);
72 pub const IN_BOUNDS_PTR_ACCESS_CHAIN: Self = Self(70);
73 pub const DECORATE: Self = Self(71);
74 pub const MEMBER_DECORATE: Self = Self(72);
75 pub const DECORATION_GROUP: Self = Self(73);
76 pub const GROUP_DECORATE: Self = Self(74);
77 pub const GROUP_MEMBER_DECORATE: Self = Self(75);
78 pub const VECTOR_EXTRACT_DYNAMIC: Self = Self(77);
79 pub const VECTOR_INSERT_DYNAMIC: Self = Self(78);
80 pub const VECTOR_SHUFFLE: Self = Self(79);
81 pub const COMPOSITE_CONSTRUCT: Self = Self(80);
82 pub const COMPOSITE_EXTRACT: Self = Self(81);
83 pub const COMPOSITE_INSERT: Self = Self(82);
84 pub const COPY_OBJECT: Self = Self(83);
85 pub const TRANSPOSE: Self = Self(84);
86 pub const SAMPLED_IMAGE: Self = Self(86);
87 pub const IMAGE_SAMPLE_IMPLICIT_LOD: Self = Self(87);
88 pub const IMAGE_SAMPLE_EXPLICIT_LOD: Self = Self(88);
89 pub const IMAGE_SAMPLE_DREF_IMPLICIT_LOD: Self = Self(89);
90 pub const IMAGE_SAMPLE_DREF_EXPLICIT_LOD: Self = Self(90);
91 pub const IMAGE_SAMPLE_PROJ_IMPLICIT_LOD: Self = Self(91);
92 pub const IMAGE_SAMPLE_PROJ_EXPLICIT_LOD: Self = Self(92);
93 pub const IMAGE_SAMPLE_PROJ_DREF_IMPLICIT_LOD: Self = Self(93);
94 pub const IMAGE_SAMPLE_PROJ_DREF_EXPLICIT_LOD: Self = Self(94);
95 pub const IMAGE_FETCH: Self = Self(95);
96 pub const IMAGE_GATHER: Self = Self(96);
97 pub const IMAGE_DREF_GATHER: Self = Self(97);
98 pub const IMAGE_READ: Self = Self(98);
99 pub const IMAGE_WRITE: Self = Self(99);
100 pub const IMAGE: Self = Self(100);
101 pub const IMAGE_QUERY_FORMAT: Self = Self(101);
102 pub const IMAGE_QUERY_ORDER: Self = Self(102);
103 pub const IMAGE_QUERY_SIZE_LOD: Self = Self(103);
104 pub const IMAGE_QUERY_SIZE: Self = Self(104);
105 pub const IMAGE_QUERY_LOD: Self = Self(105);
106 pub const IMAGE_QUERY_LEVELS: Self = Self(106);
107 pub const IMAGE_QUERY_SAMPLES: Self = Self(107);
108 pub const CONVERT_FTO_U: Self = Self(109);
109 pub const CONVERT_FTO_S: Self = Self(110);
110 pub const CONVERT_STO_F: Self = Self(111);
111 pub const CONVERT_UTO_F: Self = Self(112);
112 pub const UCONVERT: Self = Self(113);
113 pub const SCONVERT: Self = Self(114);
114 pub const FCONVERT: Self = Self(115);
115 pub const QUANTIZE_TO_F16: Self = Self(116);
116 pub const CONVERT_PTR_TO_U: Self = Self(117);
117 pub const SAT_CONVERT_STO_U: Self = Self(118);
118 pub const SAT_CONVERT_UTO_S: Self = Self(119);
119 pub const CONVERT_UTO_PTR: Self = Self(120);
120 pub const PTR_CAST_TO_GENERIC: Self = Self(121);
121 pub const GENERIC_CAST_TO_PTR: Self = Self(122);
122 pub const GENERIC_CAST_TO_PTR_EXPLICIT: Self = Self(123);
123 pub const BITCAST: Self = Self(124);
124 pub const SNEGATE: Self = Self(126);
125 pub const FNEGATE: Self = Self(127);
126 pub const IADD: Self = Self(128);
127 pub const FADD: Self = Self(129);
128 pub const ISUB: Self = Self(130);
129 pub const FSUB: Self = Self(131);
130 pub const IMUL: Self = Self(132);
131 pub const FMUL: Self = Self(133);
132 pub const UDIV: Self = Self(134);
133 pub const SDIV: Self = Self(135);
134 pub const FDIV: Self = Self(136);
135 pub const UMOD: Self = Self(137);
136 pub const SREM: Self = Self(138);
137 pub const SMOD: Self = Self(139);
138 pub const FREM: Self = Self(140);
139 pub const FMOD: Self = Self(141);
140 pub const VECTOR_TIMES_SCALAR: Self = Self(142);
141 pub const MATRIX_TIMES_SCALAR: Self = Self(143);
142 pub const VECTOR_TIMES_MATRIX: Self = Self(144);
143 pub const MATRIX_TIMES_VECTOR: Self = Self(145);
144 pub const MATRIX_TIMES_MATRIX: Self = Self(146);
145 pub const OUTER_PRODUCT: Self = Self(147);
146 pub const DOT: Self = Self(148);
147 pub const IADD_CARRY: Self = Self(149);
148 pub const ISUB_BORROW: Self = Self(150);
149 pub const UMUL_EXTENDED: Self = Self(151);
150 pub const SMUL_EXTENDED: Self = Self(152);
151 pub const ANY: Self = Self(154);
152 pub const ALL: Self = Self(155);
153 pub const IS_NAN: Self = Self(156);
154 pub const IS_INF: Self = Self(157);
155 pub const IS_FINITE: Self = Self(158);
156 pub const IS_NORMAL: Self = Self(159);
157 pub const SIGN_BIT_SET: Self = Self(160);
158 pub const LESS_OR_GREATER: Self = Self(161);
159 pub const ORDERED: Self = Self(162);
160 pub const UNORDERED: Self = Self(163);
161 pub const LOGICAL_EQUAL: Self = Self(164);
162 pub const LOGICAL_NOT_EQUAL: Self = Self(165);
163 pub const LOGICAL_OR: Self = Self(166);
164 pub const LOGICAL_AND: Self = Self(167);
165 pub const LOGICAL_NOT: Self = Self(168);
166 pub const SELECT: Self = Self(169);
167 pub const IEQUAL: Self = Self(170);
168 pub const INOT_EQUAL: Self = Self(171);
169 pub const UGREATER_THAN: Self = Self(172);
170 pub const SGREATER_THAN: Self = Self(173);
171 pub const UGREATER_THAN_EQUAL: Self = Self(174);
172 pub const SGREATER_THAN_EQUAL: Self = Self(175);
173 pub const ULESS_THAN: Self = Self(176);
174 pub const SLESS_THAN: Self = Self(177);
175 pub const ULESS_THAN_EQUAL: Self = Self(178);
176 pub const SLESS_THAN_EQUAL: Self = Self(179);
177 pub const FORD_EQUAL: Self = Self(180);
178 pub const FUNORD_EQUAL: Self = Self(181);
179 pub const FORD_NOT_EQUAL: Self = Self(182);
180 pub const FUNORD_NOT_EQUAL: Self = Self(183);
181 pub const FORD_LESS_THAN: Self = Self(184);
182 pub const FUNORD_LESS_THAN: Self = Self(185);
183 pub const FORD_GREATER_THAN: Self = Self(186);
184 pub const FUNORD_GREATER_THAN: Self = Self(187);
185 pub const FORD_LESS_THAN_EQUAL: Self = Self(188);
186 pub const FUNORD_LESS_THAN_EQUAL: Self = Self(189);
187 pub const FORD_GREATER_THAN_EQUAL: Self = Self(190);
188 pub const FUNORD_GREATER_THAN_EQUAL: Self = Self(191);
189 pub const SHIFT_RIGHT_LOGICAL: Self = Self(194);
190 pub const SHIFT_RIGHT_ARITHMETIC: Self = Self(195);
191 pub const SHIFT_LEFT_LOGICAL: Self = Self(196);
192 pub const BITWISE_OR: Self = Self(197);
193 pub const BITWISE_XOR: Self = Self(198);
194 pub const BITWISE_AND: Self = Self(199);
195 pub const NOT: Self = Self(200);
196 pub const BIT_FIELD_INSERT: Self = Self(201);
197 pub const BIT_FIELD_SEXTRACT: Self = Self(202);
198 pub const BIT_FIELD_UEXTRACT: Self = Self(203);
199 pub const BIT_REVERSE: Self = Self(204);
200 pub const BIT_COUNT: Self = Self(205);
201 pub const DPDX: Self = Self(207);
202 pub const DPDY: Self = Self(208);
203 pub const FWIDTH: Self = Self(209);
204 pub const DPDX_FINE: Self = Self(210);
205 pub const DPDY_FINE: Self = Self(211);
206 pub const FWIDTH_FINE: Self = Self(212);
207 pub const DPDX_COARSE: Self = Self(213);
208 pub const DPDY_COARSE: Self = Self(214);
209 pub const FWIDTH_COARSE: Self = Self(215);
210 pub const EMIT_VERTEX: Self = Self(218);
211 pub const END_PRIMITIVE: Self = Self(219);
212 pub const EMIT_STREAM_VERTEX: Self = Self(220);
213 pub const END_STREAM_PRIMITIVE: Self = Self(221);
214 pub const CONTROL_BARRIER: Self = Self(224);
215 pub const MEMORY_BARRIER: Self = Self(225);
216 pub const ATOMIC_LOAD: Self = Self(227);
217 pub const ATOMIC_STORE: Self = Self(228);
218 pub const ATOMIC_EXCHANGE: Self = Self(229);
219 pub const ATOMIC_COMPARE_EXCHANGE: Self = Self(230);
220 pub const ATOMIC_COMPARE_EXCHANGE_WEAK: Self = Self(231);
221 pub const ATOMIC_IINCREMENT: Self = Self(232);
222 pub const ATOMIC_IDECREMENT: Self = Self(233);
223 pub const ATOMIC_IADD: Self = Self(234);
224 pub const ATOMIC_ISUB: Self = Self(235);
225 pub const ATOMIC_SMIN: Self = Self(236);
226 pub const ATOMIC_UMIN: Self = Self(237);
227 pub const ATOMIC_SMAX: Self = Self(238);
228 pub const ATOMIC_UMAX: Self = Self(239);
229 pub const ATOMIC_AND: Self = Self(240);
230 pub const ATOMIC_OR: Self = Self(241);
231 pub const ATOMIC_XOR: Self = Self(242);
232 pub const PHI: Self = Self(245);
233 pub const LOOP_MERGE: Self = Self(246);
234 pub const SELECTION_MERGE: Self = Self(247);
235 pub const LABEL: Self = Self(248);
236 pub const BRANCH: Self = Self(249);
237 pub const BRANCH_CONDITIONAL: Self = Self(250);
238 pub const SWITCH: Self = Self(251);
239 pub const KILL: Self = Self(252);
240 pub const RETURN: Self = Self(253);
241 pub const RETURN_VALUE: Self = Self(254);
242 pub const UNREACHABLE: Self = Self(255);
243 pub const LIFETIME_START: Self = Self(256);
244 pub const LIFETIME_STOP: Self = Self(257);
245 pub const GROUP_ASYNC_COPY: Self = Self(259);
246 pub const GROUP_WAIT_EVENTS: Self = Self(260);
247 pub const GROUP_ALL: Self = Self(261);
248 pub const GROUP_ANY: Self = Self(262);
249 pub const GROUP_BROADCAST: Self = Self(263);
250 pub const GROUP_IADD: Self = Self(264);
251 pub const GROUP_FADD: Self = Self(265);
252 pub const GROUP_FMIN: Self = Self(266);
253 pub const GROUP_UMIN: Self = Self(267);
254 pub const GROUP_SMIN: Self = Self(268);
255 pub const GROUP_FMAX: Self = Self(269);
256 pub const GROUP_UMAX: Self = Self(270);
257 pub const GROUP_SMAX: Self = Self(271);
258 pub const READ_PIPE: Self = Self(274);
259 pub const WRITE_PIPE: Self = Self(275);
260 pub const RESERVED_READ_PIPE: Self = Self(276);
261 pub const RESERVED_WRITE_PIPE: Self = Self(277);
262 pub const RESERVE_READ_PIPE_PACKETS: Self = Self(278);
263 pub const RESERVE_WRITE_PIPE_PACKETS: Self = Self(279);
264 pub const COMMIT_READ_PIPE: Self = Self(280);
265 pub const COMMIT_WRITE_PIPE: Self = Self(281);
266 pub const IS_VALID_RESERVE_ID: Self = Self(282);
267 pub const GET_NUM_PIPE_PACKETS: Self = Self(283);
268 pub const GET_MAX_PIPE_PACKETS: Self = Self(284);
269 pub const GROUP_RESERVE_READ_PIPE_PACKETS: Self = Self(285);
270 pub const GROUP_RESERVE_WRITE_PIPE_PACKETS: Self = Self(286);
271 pub const GROUP_COMMIT_READ_PIPE: Self = Self(287);
272 pub const GROUP_COMMIT_WRITE_PIPE: Self = Self(288);
273 pub const ENQUEUE_MARKER: Self = Self(291);
274 pub const ENQUEUE_KERNEL: Self = Self(292);
275 pub const GET_KERNEL_NDRANGE_SUB_GROUP_COUNT: Self = Self(293);
276 pub const GET_KERNEL_NDRANGE_MAX_SUB_GROUP_SIZE: Self = Self(294);
277 pub const GET_KERNEL_WORK_GROUP_SIZE: Self = Self(295);
278 pub const GET_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: Self = Self(296);
279 pub const RETAIN_EVENT: Self = Self(297);
280 pub const RELEASE_EVENT: Self = Self(298);
281 pub const CREATE_USER_EVENT: Self = Self(299);
282 pub const IS_VALID_EVENT: Self = Self(300);
283 pub const SET_USER_EVENT_STATUS: Self = Self(301);
284 pub const CAPTURE_EVENT_PROFILING_INFO: Self = Self(302);
285 pub const GET_DEFAULT_QUEUE: Self = Self(303);
286 pub const BUILD_NDRANGE: Self = Self(304);
287 pub const IMAGE_SPARSE_SAMPLE_IMPLICIT_LOD: Self = Self(305);
288 pub const IMAGE_SPARSE_SAMPLE_EXPLICIT_LOD: Self = Self(306);
289 pub const IMAGE_SPARSE_SAMPLE_DREF_IMPLICIT_LOD: Self = Self(307);
290 pub const IMAGE_SPARSE_SAMPLE_DREF_EXPLICIT_LOD: Self = Self(308);
291 pub const IMAGE_SPARSE_SAMPLE_PROJ_IMPLICIT_LOD: Self = Self(309);
292 pub const IMAGE_SPARSE_SAMPLE_PROJ_EXPLICIT_LOD: Self = Self(310);
293 pub const IMAGE_SPARSE_SAMPLE_PROJ_DREF_IMPLICIT_LOD: Self = Self(311);
294 pub const IMAGE_SPARSE_SAMPLE_PROJ_DREF_EXPLICIT_LOD: Self = Self(312);
295 pub const IMAGE_SPARSE_FETCH: Self = Self(313);
296 pub const IMAGE_SPARSE_GATHER: Self = Self(314);
297 pub const IMAGE_SPARSE_DREF_GATHER: Self = Self(315);
298 pub const IMAGE_SPARSE_TEXELS_RESIDENT: Self = Self(316);
299 pub const NO_LINE: Self = Self(317);
300 pub const ATOMIC_FLAG_TEST_AND_SET: Self = Self(318);
301 pub const ATOMIC_FLAG_CLEAR: Self = Self(319);
302 pub const IMAGE_SPARSE_READ: Self = Self(320);
303 pub const SIZE_OF: Self = Self(321);
304 pub const TYPE_PIPE_STORAGE: Self = Self(322);
305 pub const CONSTANT_PIPE_STORAGE: Self = Self(323);
306 pub const CREATE_PIPE_FROM_PIPE_STORAGE: Self = Self(324);
307 pub const GET_KERNEL_LOCAL_SIZE_FOR_SUBGROUP_COUNT: Self = Self(325);
308 pub const GET_KERNEL_MAX_NUM_SUBGROUPS: Self = Self(326);
309 pub const TYPE_NAMED_BARRIER: Self = Self(327);
310 pub const NAMED_BARRIER_INITIALIZE: Self = Self(328);
311 pub const MEMORY_NAMED_BARRIER: Self = Self(329);
312 pub const MODULE_PROCESSED: Self = Self(330);
313 pub const EXECUTION_MODE_ID: Self = Self(331);
314 pub const DECORATE_ID: Self = Self(332);
315 pub const GROUP_NON_UNIFORM_ELECT: Self = Self(333);
316 pub const GROUP_NON_UNIFORM_ALL: Self = Self(334);
317 pub const GROUP_NON_UNIFORM_ANY: Self = Self(335);
318 pub const GROUP_NON_UNIFORM_ALL_EQUAL: Self = Self(336);
319 pub const GROUP_NON_UNIFORM_BROADCAST: Self = Self(337);
320 pub const GROUP_NON_UNIFORM_BROADCAST_FIRST: Self = Self(338);
321 pub const GROUP_NON_UNIFORM_BALLOT: Self = Self(339);
322 pub const GROUP_NON_UNIFORM_INVERSE_BALLOT: Self = Self(340);
323 pub const GROUP_NON_UNIFORM_BALLOT_BIT_EXTRACT: Self = Self(341);
324 pub const GROUP_NON_UNIFORM_BALLOT_BIT_COUNT: Self = Self(342);
325 pub const GROUP_NON_UNIFORM_BALLOT_FIND_LSB: Self = Self(343);
326 pub const GROUP_NON_UNIFORM_BALLOT_FIND_MSB: Self = Self(344);
327 pub const GROUP_NON_UNIFORM_SHUFFLE: Self = Self(345);
328 pub const GROUP_NON_UNIFORM_SHUFFLE_XOR: Self = Self(346);
329 pub const GROUP_NON_UNIFORM_SHUFFLE_UP: Self = Self(347);
330 pub const GROUP_NON_UNIFORM_SHUFFLE_DOWN: Self = Self(348);
331 pub const GROUP_NON_UNIFORM_IADD: Self = Self(349);
332 pub const GROUP_NON_UNIFORM_FADD: Self = Self(350);
333 pub const GROUP_NON_UNIFORM_IMUL: Self = Self(351);
334 pub const GROUP_NON_UNIFORM_FMUL: Self = Self(352);
335 pub const GROUP_NON_UNIFORM_SMIN: Self = Self(353);
336 pub const GROUP_NON_UNIFORM_UMIN: Self = Self(354);
337 pub const GROUP_NON_UNIFORM_FMIN: Self = Self(355);
338 pub const GROUP_NON_UNIFORM_SMAX: Self = Self(356);
339 pub const GROUP_NON_UNIFORM_UMAX: Self = Self(357);
340 pub const GROUP_NON_UNIFORM_FMAX: Self = Self(358);
341 pub const GROUP_NON_UNIFORM_BITWISE_AND: Self = Self(359);
342 pub const GROUP_NON_UNIFORM_BITWISE_OR: Self = Self(360);
343 pub const GROUP_NON_UNIFORM_BITWISE_XOR: Self = Self(361);
344 pub const GROUP_NON_UNIFORM_LOGICAL_AND: Self = Self(362);
345 pub const GROUP_NON_UNIFORM_LOGICAL_OR: Self = Self(363);
346 pub const GROUP_NON_UNIFORM_LOGICAL_XOR: Self = Self(364);
347 pub const GROUP_NON_UNIFORM_QUAD_BROADCAST: Self = Self(365);
348 pub const GROUP_NON_UNIFORM_QUAD_SWAP: Self = Self(366);
349 pub const COPY_LOGICAL: Self = Self(400);
350 pub const PTR_EQUAL: Self = Self(401);
351 pub const PTR_NOT_EQUAL: Self = Self(402);
352 pub const PTR_DIFF: Self = Self(403);
353 pub const COLOR_ATTACHMENT_READ_EXT: Self = Self(4160);
354 pub const DEPTH_ATTACHMENT_READ_EXT: Self = Self(4161);
355 pub const STENCIL_ATTACHMENT_READ_EXT: Self = Self(4162);
356 pub const TYPE_TENSOR_ARM: Self = Self(4163);
357 pub const TENSOR_READ_ARM: Self = Self(4164);
358 pub const TENSOR_WRITE_ARM: Self = Self(4165);
359 pub const TENSOR_QUERY_SIZE_ARM: Self = Self(4166);
360 pub const GRAPH_CONSTANT_ARM: Self = Self(4181);
361 pub const GRAPH_ENTRY_POINT_ARM: Self = Self(4182);
362 pub const GRAPH_ARM: Self = Self(4183);
363 pub const GRAPH_INPUT_ARM: Self = Self(4184);
364 pub const GRAPH_SET_OUTPUT_ARM: Self = Self(4185);
365 pub const GRAPH_END_ARM: Self = Self(4186);
366 pub const TYPE_GRAPH_ARM: Self = Self(4190);
367 pub const TERMINATE_INVOCATION: Self = Self(4416);
368 pub const TYPE_UNTYPED_POINTER_KHR: Self = Self(4417);
369 pub const UNTYPED_VARIABLE_KHR: Self = Self(4418);
370 pub const UNTYPED_ACCESS_CHAIN_KHR: Self = Self(4419);
371 pub const UNTYPED_IN_BOUNDS_ACCESS_CHAIN_KHR: Self = Self(4420);
372 pub const SUBGROUP_BALLOT_KHR: Self = Self(4421);
373 pub const SUBGROUP_FIRST_INVOCATION_KHR: Self = Self(4422);
374 pub const UNTYPED_PTR_ACCESS_CHAIN_KHR: Self = Self(4423);
375 pub const UNTYPED_IN_BOUNDS_PTR_ACCESS_CHAIN_KHR: Self = Self(4424);
376 pub const UNTYPED_ARRAY_LENGTH_KHR: Self = Self(4425);
377 pub const UNTYPED_PREFETCH_KHR: Self = Self(4426);
378 pub const FMA_KHR: Self = Self(4427);
379 pub const SUBGROUP_ALL_KHR: Self = Self(4428);
380 pub const SUBGROUP_ANY_KHR: Self = Self(4429);
381 pub const SUBGROUP_ALL_EQUAL_KHR: Self = Self(4430);
382 pub const GROUP_NON_UNIFORM_ROTATE_KHR: Self = Self(4431);
383 pub const SUBGROUP_READ_INVOCATION_KHR: Self = Self(4432);
384 pub const EXT_INST_WITH_FORWARD_REFS_KHR: Self = Self(4433);
385 pub const UNTYPED_GROUP_ASYNC_COPY_KHR: Self = Self(4434);
386 pub const TRACE_RAY_KHR: Self = Self(4445);
387 pub const EXECUTE_CALLABLE_KHR: Self = Self(4446);
388 pub const CONVERT_UTO_ACCELERATION_STRUCTURE_KHR: Self = Self(4447);
389 pub const IGNORE_INTERSECTION_KHR: Self = Self(4448);
390 pub const TERMINATE_RAY_KHR: Self = Self(4449);
391 pub const SDOT: Self = Self(4450);
392 pub const UDOT: Self = Self(4451);
393 pub const SUDOT: Self = Self(4452);
394 pub const SDOT_ACC_SAT: Self = Self(4453);
395 pub const UDOT_ACC_SAT: Self = Self(4454);
396 pub const SUDOT_ACC_SAT: Self = Self(4455);
397 pub const TYPE_COOPERATIVE_MATRIX_KHR: Self = Self(4456);
398 pub const COOPERATIVE_MATRIX_LOAD_KHR: Self = Self(4457);
399 pub const COOPERATIVE_MATRIX_STORE_KHR: Self = Self(4458);
400 pub const COOPERATIVE_MATRIX_MUL_ADD_KHR: Self = Self(4459);
401 pub const COOPERATIVE_MATRIX_LENGTH_KHR: Self = Self(4460);
402 pub const CONSTANT_COMPOSITE_REPLICATE_EXT: Self = Self(4461);
403 pub const SPEC_CONSTANT_COMPOSITE_REPLICATE_EXT: Self = Self(4462);
404 pub const COMPOSITE_CONSTRUCT_REPLICATE_EXT: Self = Self(4463);
405 pub const TYPE_RAY_QUERY_KHR: Self = Self(4472);
406 pub const RAY_QUERY_INITIALIZE_KHR: Self = Self(4473);
407 pub const RAY_QUERY_TERMINATE_KHR: Self = Self(4474);
408 pub const RAY_QUERY_GENERATE_INTERSECTION_KHR: Self = Self(4475);
409 pub const RAY_QUERY_CONFIRM_INTERSECTION_KHR: Self = Self(4476);
410 pub const RAY_QUERY_PROCEED_KHR: Self = Self(4477);
411 pub const RAY_QUERY_GET_INTERSECTION_TYPE_KHR: Self = Self(4479);
412 pub const IMAGE_SAMPLE_WEIGHTED_QCOM: Self = Self(4480);
413 pub const IMAGE_BOX_FILTER_QCOM: Self = Self(4481);
414 pub const IMAGE_BLOCK_MATCH_SSDQCOM: Self = Self(4482);
415 pub const IMAGE_BLOCK_MATCH_SADQCOM: Self = Self(4483);
416 pub const BIT_CAST_ARRAY_QCOM: Self = Self(4497);
417 pub const IMAGE_BLOCK_MATCH_WINDOW_SSDQCOM: Self = Self(4500);
418 pub const IMAGE_BLOCK_MATCH_WINDOW_SADQCOM: Self = Self(4501);
419 pub const IMAGE_BLOCK_MATCH_GATHER_SSDQCOM: Self = Self(4502);
420 pub const IMAGE_BLOCK_MATCH_GATHER_SADQCOM: Self = Self(4503);
421 pub const COMPOSITE_CONSTRUCT_COOP_MAT_QCOM: Self = Self(4540);
422 pub const COMPOSITE_EXTRACT_COOP_MAT_QCOM: Self = Self(4541);
423 pub const EXTRACT_SUB_ARRAY_QCOM: Self = Self(4542);
424 pub const GROUP_IADD_NON_UNIFORM_AMD: Self = Self(5000);
425 pub const GROUP_FADD_NON_UNIFORM_AMD: Self = Self(5001);
426 pub const GROUP_FMIN_NON_UNIFORM_AMD: Self = Self(5002);
427 pub const GROUP_UMIN_NON_UNIFORM_AMD: Self = Self(5003);
428 pub const GROUP_SMIN_NON_UNIFORM_AMD: Self = Self(5004);
429 pub const GROUP_FMAX_NON_UNIFORM_AMD: Self = Self(5005);
430 pub const GROUP_UMAX_NON_UNIFORM_AMD: Self = Self(5006);
431 pub const GROUP_SMAX_NON_UNIFORM_AMD: Self = Self(5007);
432 pub const FRAGMENT_MASK_FETCH_AMD: Self = Self(5011);
433 pub const FRAGMENT_FETCH_AMD: Self = Self(5012);
434 pub const READ_CLOCK_KHR: Self = Self(5056);
435 pub const ALLOCATE_NODE_PAYLOADS_AMDX: Self = Self(5074);
436 pub const ENQUEUE_NODE_PAYLOADS_AMDX: Self = Self(5075);
437 pub const TYPE_NODE_PAYLOAD_ARRAY_AMDX: Self = Self(5076);
438 pub const FINISH_WRITING_NODE_PAYLOAD_AMDX: Self = Self(5078);
439 pub const NODE_PAYLOAD_ARRAY_LENGTH_AMDX: Self = Self(5090);
440 pub const IS_NODE_PAYLOAD_VALID_AMDX: Self = Self(5101);
441 pub const CONSTANT_STRING_AMDX: Self = Self(5103);
442 pub const SPEC_CONSTANT_STRING_AMDX: Self = Self(5104);
443 pub const GROUP_NON_UNIFORM_QUAD_ALL_KHR: Self = Self(5110);
444 pub const GROUP_NON_UNIFORM_QUAD_ANY_KHR: Self = Self(5111);
445 pub const TYPE_BUFFER_EXT: Self = Self(5115);
446 pub const BUFFER_POINTER_EXT: Self = Self(5119);
447 pub const ABORT_KHR: Self = Self(5121);
448 pub const UNTYPED_IMAGE_TEXEL_POINTER_EXT: Self = Self(5126);
449 pub const MEMBER_DECORATE_ID_EXT: Self = Self(5127);
450 pub const CONSTANT_SIZE_OF_EXT: Self = Self(5129);
451 pub const CONSTANT_DATA_KHR: Self = Self(5147);
452 pub const SPEC_CONSTANT_DATA_KHR: Self = Self(5148);
453 pub const POISON_KHR: Self = Self(5158);
454 pub const FREEZE_KHR: Self = Self(5159);
455 pub const HIT_OBJECT_RECORD_HIT_MOTION_NV: Self = Self(5249);
456 pub const HIT_OBJECT_RECORD_HIT_WITH_INDEX_MOTION_NV: Self = Self(5250);
457 pub const HIT_OBJECT_RECORD_MISS_MOTION_NV: Self = Self(5251);
458 pub const HIT_OBJECT_GET_WORLD_TO_OBJECT_NV: Self = Self(5252);
459 pub const HIT_OBJECT_GET_OBJECT_TO_WORLD_NV: Self = Self(5253);
460 pub const HIT_OBJECT_GET_OBJECT_RAY_DIRECTION_NV: Self = Self(5254);
461 pub const HIT_OBJECT_GET_OBJECT_RAY_ORIGIN_NV: Self = Self(5255);
462 pub const HIT_OBJECT_TRACE_RAY_MOTION_NV: Self = Self(5256);
463 pub const HIT_OBJECT_GET_SHADER_RECORD_BUFFER_HANDLE_NV: Self = Self(5257);
464 pub const HIT_OBJECT_GET_SHADER_BINDING_TABLE_RECORD_INDEX_NV: Self = Self(5258);
465 pub const HIT_OBJECT_RECORD_EMPTY_NV: Self = Self(5259);
466 pub const HIT_OBJECT_TRACE_RAY_NV: Self = Self(5260);
467 pub const HIT_OBJECT_RECORD_HIT_NV: Self = Self(5261);
468 pub const HIT_OBJECT_RECORD_HIT_WITH_INDEX_NV: Self = Self(5262);
469 pub const HIT_OBJECT_RECORD_MISS_NV: Self = Self(5263);
470 pub const HIT_OBJECT_EXECUTE_SHADER_NV: Self = Self(5264);
471 pub const HIT_OBJECT_GET_CURRENT_TIME_NV: Self = Self(5265);
472 pub const HIT_OBJECT_GET_ATTRIBUTES_NV: Self = Self(5266);
473 pub const HIT_OBJECT_GET_HIT_KIND_NV: Self = Self(5267);
474 pub const HIT_OBJECT_GET_PRIMITIVE_INDEX_NV: Self = Self(5268);
475 pub const HIT_OBJECT_GET_GEOMETRY_INDEX_NV: Self = Self(5269);
476 pub const HIT_OBJECT_GET_INSTANCE_ID_NV: Self = Self(5270);
477 pub const HIT_OBJECT_GET_INSTANCE_CUSTOM_INDEX_NV: Self = Self(5271);
478 pub const HIT_OBJECT_GET_WORLD_RAY_DIRECTION_NV: Self = Self(5272);
479 pub const HIT_OBJECT_GET_WORLD_RAY_ORIGIN_NV: Self = Self(5273);
480 pub const HIT_OBJECT_GET_RAY_TMAX_NV: Self = Self(5274);
481 pub const HIT_OBJECT_GET_RAY_TMIN_NV: Self = Self(5275);
482 pub const HIT_OBJECT_IS_EMPTY_NV: Self = Self(5276);
483 pub const HIT_OBJECT_IS_HIT_NV: Self = Self(5277);
484 pub const HIT_OBJECT_IS_MISS_NV: Self = Self(5278);
485 pub const REORDER_THREAD_WITH_HIT_OBJECT_NV: Self = Self(5279);
486 pub const REORDER_THREAD_WITH_HINT_NV: Self = Self(5280);
487 pub const TYPE_HIT_OBJECT_NV: Self = Self(5281);
488 pub const IMAGE_SAMPLE_FOOTPRINT_NV: Self = Self(5283);
489 pub const TYPE_VECTOR_ID_EXT: Self = Self(5288);
490 pub const COOPERATIVE_VECTOR_MATRIX_MUL_NV: Self = Self(5289);
491 pub const COOPERATIVE_VECTOR_OUTER_PRODUCT_ACCUMULATE_NV: Self = Self(5290);
492 pub const COOPERATIVE_VECTOR_REDUCE_SUM_ACCUMULATE_NV: Self = Self(5291);
493 pub const COOPERATIVE_VECTOR_MATRIX_MUL_ADD_NV: Self = Self(5292);
494 pub const COOPERATIVE_MATRIX_CONVERT_NV: Self = Self(5293);
495 pub const EMIT_MESH_TASKS_EXT: Self = Self(5294);
496 pub const SET_MESH_OUTPUTS_EXT: Self = Self(5295);
497 pub const GROUP_NON_UNIFORM_PARTITION_EXT: Self = Self(5296);
498 pub const WRITE_PACKED_PRIMITIVE_INDICES4X8_NV: Self = Self(5299);
499 pub const FETCH_MICRO_TRIANGLE_VERTEX_POSITION_NV: Self = Self(5300);
500 pub const FETCH_MICRO_TRIANGLE_VERTEX_BARYCENTRIC_NV: Self = Self(5301);
501 pub const COOPERATIVE_VECTOR_LOAD_NV: Self = Self(5302);
502 pub const COOPERATIVE_VECTOR_STORE_NV: Self = Self(5303);
503 pub const HIT_OBJECT_RECORD_FROM_QUERY_EXT: Self = Self(5304);
504 pub const HIT_OBJECT_RECORD_MISS_EXT: Self = Self(5305);
505 pub const HIT_OBJECT_RECORD_MISS_MOTION_EXT: Self = Self(5306);
506 pub const HIT_OBJECT_GET_INTERSECTION_TRIANGLE_VERTEX_POSITIONS_EXT: Self = Self(5307);
507 pub const HIT_OBJECT_GET_RAY_FLAGS_EXT: Self = Self(5308);
508 pub const HIT_OBJECT_SET_SHADER_BINDING_TABLE_RECORD_INDEX_EXT: Self = Self(5309);
509 pub const HIT_OBJECT_REORDER_EXECUTE_SHADER_EXT: Self = Self(5310);
510 pub const HIT_OBJECT_TRACE_REORDER_EXECUTE_EXT: Self = Self(5311);
511 pub const HIT_OBJECT_TRACE_MOTION_REORDER_EXECUTE_EXT: Self = Self(5312);
512 pub const TYPE_HIT_OBJECT_EXT: Self = Self(5313);
513 pub const REORDER_THREAD_WITH_HINT_EXT: Self = Self(5314);
514 pub const REORDER_THREAD_WITH_HIT_OBJECT_EXT: Self = Self(5315);
515 pub const HIT_OBJECT_TRACE_RAY_EXT: Self = Self(5316);
516 pub const HIT_OBJECT_TRACE_RAY_MOTION_EXT: Self = Self(5317);
517 pub const HIT_OBJECT_RECORD_EMPTY_EXT: Self = Self(5318);
518 pub const HIT_OBJECT_EXECUTE_SHADER_EXT: Self = Self(5319);
519 pub const HIT_OBJECT_GET_CURRENT_TIME_EXT: Self = Self(5320);
520 pub const HIT_OBJECT_GET_ATTRIBUTES_EXT: Self = Self(5321);
521 pub const HIT_OBJECT_GET_HIT_KIND_EXT: Self = Self(5322);
522 pub const HIT_OBJECT_GET_PRIMITIVE_INDEX_EXT: Self = Self(5323);
523 pub const HIT_OBJECT_GET_GEOMETRY_INDEX_EXT: Self = Self(5324);
524 pub const HIT_OBJECT_GET_INSTANCE_ID_EXT: Self = Self(5325);
525 pub const HIT_OBJECT_GET_INSTANCE_CUSTOM_INDEX_EXT: Self = Self(5326);
526 pub const HIT_OBJECT_GET_OBJECT_RAY_ORIGIN_EXT: Self = Self(5327);
527 pub const HIT_OBJECT_GET_OBJECT_RAY_DIRECTION_EXT: Self = Self(5328);
528 pub const HIT_OBJECT_GET_WORLD_RAY_DIRECTION_EXT: Self = Self(5329);
529 pub const HIT_OBJECT_GET_WORLD_RAY_ORIGIN_EXT: Self = Self(5330);
530 pub const HIT_OBJECT_GET_OBJECT_TO_WORLD_EXT: Self = Self(5331);
531 pub const HIT_OBJECT_GET_WORLD_TO_OBJECT_EXT: Self = Self(5332);
532 pub const HIT_OBJECT_GET_RAY_TMAX_EXT: Self = Self(5333);
533 pub const REPORT_INTERSECTION_KHR: Self = Self(5334);
534 pub const IGNORE_INTERSECTION_NV: Self = Self(5335);
535 pub const TERMINATE_RAY_NV: Self = Self(5336);
536 pub const TRACE_NV: Self = Self(5337);
537 pub const TRACE_MOTION_NV: Self = Self(5338);
538 pub const TRACE_RAY_MOTION_NV: Self = Self(5339);
539 pub const RAY_QUERY_GET_INTERSECTION_TRIANGLE_VERTEX_POSITIONS_KHR: Self = Self(5340);
540 pub const TYPE_ACCELERATION_STRUCTURE_KHR: Self = Self(5341);
541 pub const EXECUTE_CALLABLE_NV: Self = Self(5344);
542 pub const RAY_QUERY_GET_INTERSECTION_CLUSTER_ID_NV: Self = Self(5345);
543 pub const HIT_OBJECT_GET_CLUSTER_ID_NV: Self = Self(5346);
544 pub const HIT_OBJECT_GET_RAY_TMIN_EXT: Self = Self(5347);
545 pub const HIT_OBJECT_GET_SHADER_BINDING_TABLE_RECORD_INDEX_EXT: Self = Self(5348);
546 pub const HIT_OBJECT_GET_SHADER_RECORD_BUFFER_HANDLE_EXT: Self = Self(5349);
547 pub const HIT_OBJECT_IS_EMPTY_EXT: Self = Self(5350);
548 pub const HIT_OBJECT_IS_HIT_EXT: Self = Self(5351);
549 pub const HIT_OBJECT_IS_MISS_EXT: Self = Self(5352);
550 pub const TYPE_COOPERATIVE_MATRIX_NV: Self = Self(5358);
551 pub const COOPERATIVE_MATRIX_LOAD_NV: Self = Self(5359);
552 pub const COOPERATIVE_MATRIX_STORE_NV: Self = Self(5360);
553 pub const COOPERATIVE_MATRIX_MUL_ADD_NV: Self = Self(5361);
554 pub const COOPERATIVE_MATRIX_LENGTH_NV: Self = Self(5362);
555 pub const BEGIN_INVOCATION_INTERLOCK_EXT: Self = Self(5364);
556 pub const END_INVOCATION_INTERLOCK_EXT: Self = Self(5365);
557 pub const COOPERATIVE_MATRIX_REDUCE_NV: Self = Self(5366);
558 pub const COOPERATIVE_MATRIX_LOAD_TENSOR_NV: Self = Self(5367);
559 pub const COOPERATIVE_MATRIX_STORE_TENSOR_NV: Self = Self(5368);
560 pub const COOPERATIVE_MATRIX_PER_ELEMENT_OP_NV: Self = Self(5369);
561 pub const TYPE_TENSOR_LAYOUT_NV: Self = Self(5370);
562 pub const TYPE_TENSOR_VIEW_NV: Self = Self(5371);
563 pub const CREATE_TENSOR_LAYOUT_NV: Self = Self(5372);
564 pub const TENSOR_LAYOUT_SET_DIMENSION_NV: Self = Self(5373);
565 pub const TENSOR_LAYOUT_SET_STRIDE_NV: Self = Self(5374);
566 pub const TENSOR_LAYOUT_SLICE_NV: Self = Self(5375);
567 pub const TENSOR_LAYOUT_SET_CLAMP_VALUE_NV: Self = Self(5376);
568 pub const CREATE_TENSOR_VIEW_NV: Self = Self(5377);
569 pub const TENSOR_VIEW_SET_DIMENSION_NV: Self = Self(5378);
570 pub const TENSOR_VIEW_SET_STRIDE_NV: Self = Self(5379);
571 pub const DEMOTE_TO_HELPER_INVOCATION: Self = Self(5380);
572 pub const IS_HELPER_INVOCATION_EXT: Self = Self(5381);
573 pub const TENSOR_VIEW_SET_CLIP_NV: Self = Self(5382);
574 pub const TENSOR_LAYOUT_SET_BLOCK_SIZE_NV: Self = Self(5384);
575 pub const COOPERATIVE_MATRIX_TRANSPOSE_NV: Self = Self(5390);
576 pub const CONVERT_UTO_IMAGE_NV: Self = Self(5391);
577 pub const CONVERT_UTO_SAMPLER_NV: Self = Self(5392);
578 pub const CONVERT_IMAGE_TO_UNV: Self = Self(5393);
579 pub const CONVERT_SAMPLER_TO_UNV: Self = Self(5394);
580 pub const CONVERT_UTO_SAMPLED_IMAGE_NV: Self = Self(5395);
581 pub const CONVERT_SAMPLED_IMAGE_TO_UNV: Self = Self(5396);
582 pub const SAMPLER_IMAGE_ADDRESSING_MODE_NV: Self = Self(5397);
583 pub const RAW_ACCESS_CHAIN_NV: Self = Self(5398);
584 pub const RAY_QUERY_GET_INTERSECTION_SPHERE_POSITION_NV: Self = Self(5427);
585 pub const RAY_QUERY_GET_INTERSECTION_SPHERE_RADIUS_NV: Self = Self(5428);
586 pub const RAY_QUERY_GET_INTERSECTION_LSSPOSITIONS_NV: Self = Self(5429);
587 pub const RAY_QUERY_GET_INTERSECTION_LSSRADII_NV: Self = Self(5430);
588 pub const RAY_QUERY_GET_INTERSECTION_LSSHIT_VALUE_NV: Self = Self(5431);
589 pub const HIT_OBJECT_GET_SPHERE_POSITION_NV: Self = Self(5432);
590 pub const HIT_OBJECT_GET_SPHERE_RADIUS_NV: Self = Self(5433);
591 pub const HIT_OBJECT_GET_LSSPOSITIONS_NV: Self = Self(5434);
592 pub const HIT_OBJECT_GET_LSSRADII_NV: Self = Self(5435);
593 pub const HIT_OBJECT_IS_SPHERE_HIT_NV: Self = Self(5436);
594 pub const HIT_OBJECT_IS_LSSHIT_NV: Self = Self(5437);
595 pub const RAY_QUERY_IS_SPHERE_HIT_NV: Self = Self(5438);
596 pub const RAY_QUERY_IS_LSSHIT_NV: Self = Self(5439);
597 pub const SUBGROUP_SHUFFLE_INTEL: Self = Self(5571);
598 pub const SUBGROUP_SHUFFLE_DOWN_INTEL: Self = Self(5572);
599 pub const SUBGROUP_SHUFFLE_UP_INTEL: Self = Self(5573);
600 pub const SUBGROUP_SHUFFLE_XOR_INTEL: Self = Self(5574);
601 pub const SUBGROUP_BLOCK_READ_INTEL: Self = Self(5575);
602 pub const SUBGROUP_BLOCK_WRITE_INTEL: Self = Self(5576);
603 pub const SUBGROUP_IMAGE_BLOCK_READ_INTEL: Self = Self(5577);
604 pub const SUBGROUP_IMAGE_BLOCK_WRITE_INTEL: Self = Self(5578);
605 pub const SUBGROUP_IMAGE_MEDIA_BLOCK_READ_INTEL: Self = Self(5580);
606 pub const SUBGROUP_IMAGE_MEDIA_BLOCK_WRITE_INTEL: Self = Self(5581);
607 pub const UCOUNT_LEADING_ZEROS_INTEL: Self = Self(5585);
608 pub const UCOUNT_TRAILING_ZEROS_INTEL: Self = Self(5586);
609 pub const ABS_ISUB_INTEL: Self = Self(5587);
610 pub const ABS_USUB_INTEL: Self = Self(5588);
611 pub const IADD_SAT_INTEL: Self = Self(5589);
612 pub const UADD_SAT_INTEL: Self = Self(5590);
613 pub const IAVERAGE_INTEL: Self = Self(5591);
614 pub const UAVERAGE_INTEL: Self = Self(5592);
615 pub const IAVERAGE_ROUNDED_INTEL: Self = Self(5593);
616 pub const UAVERAGE_ROUNDED_INTEL: Self = Self(5594);
617 pub const ISUB_SAT_INTEL: Self = Self(5595);
618 pub const USUB_SAT_INTEL: Self = Self(5596);
619 pub const IMUL32X16_INTEL: Self = Self(5597);
620 pub const UMUL32X16_INTEL: Self = Self(5598);
621 pub const ATOMIC_FMIN_EXT: Self = Self(5614);
622 pub const ATOMIC_FMAX_EXT: Self = Self(5615);
623 pub const ASSUME_TRUE_KHR: Self = Self(5630);
624 pub const EXPECT_KHR: Self = Self(5631);
625 pub const DECORATE_STRING: Self = Self(5632);
626 pub const MEMBER_DECORATE_STRING: Self = Self(5633);
627 pub const VARIABLE_LENGTH_ARRAY_INTEL: Self = Self(5818);
628 pub const SAVE_MEMORY_INTEL: Self = Self(5819);
629 pub const RESTORE_MEMORY_INTEL: Self = Self(5820);
630 pub const LOOP_CONTROL_INTEL: Self = Self(5887);
631 pub const RAY_QUERY_GET_RAY_TMIN_KHR: Self = Self(6016);
632 pub const RAY_QUERY_GET_RAY_FLAGS_KHR: Self = Self(6017);
633 pub const RAY_QUERY_GET_INTERSECTION_TKHR: Self = Self(6018);
634 pub const RAY_QUERY_GET_INTERSECTION_INSTANCE_CUSTOM_INDEX_KHR: Self = Self(6019);
635 pub const RAY_QUERY_GET_INTERSECTION_INSTANCE_ID_KHR: Self = Self(6020);
636 pub const RAY_QUERY_GET_INTERSECTION_INSTANCE_SHADER_BINDING_TABLE_RECORD_OFFSET_KHR: Self =
637 Self(6021);
638 pub const RAY_QUERY_GET_INTERSECTION_GEOMETRY_INDEX_KHR: Self = Self(6022);
639 pub const RAY_QUERY_GET_INTERSECTION_PRIMITIVE_INDEX_KHR: Self = Self(6023);
640 pub const RAY_QUERY_GET_INTERSECTION_BARYCENTRICS_KHR: Self = Self(6024);
641 pub const RAY_QUERY_GET_INTERSECTION_FRONT_FACE_KHR: Self = Self(6025);
642 pub const RAY_QUERY_GET_INTERSECTION_CANDIDATE_AABBOPAQUE_KHR: Self = Self(6026);
643 pub const RAY_QUERY_GET_INTERSECTION_OBJECT_RAY_DIRECTION_KHR: Self = Self(6027);
644 pub const RAY_QUERY_GET_INTERSECTION_OBJECT_RAY_ORIGIN_KHR: Self = Self(6028);
645 pub const RAY_QUERY_GET_WORLD_RAY_DIRECTION_KHR: Self = Self(6029);
646 pub const RAY_QUERY_GET_WORLD_RAY_ORIGIN_KHR: Self = Self(6030);
647 pub const RAY_QUERY_GET_INTERSECTION_OBJECT_TO_WORLD_KHR: Self = Self(6031);
648 pub const RAY_QUERY_GET_INTERSECTION_WORLD_TO_OBJECT_KHR: Self = Self(6032);
649 pub const ATOMIC_FADD_EXT: Self = Self(6035);
650 pub const TYPE_BUFFER_SURFACE_INTEL: Self = Self(6086);
651 pub const TYPE_STRUCT_CONTINUED_INTEL: Self = Self(6090);
652 pub const CONSTANT_COMPOSITE_CONTINUED_INTEL: Self = Self(6091);
653 pub const SPEC_CONSTANT_COMPOSITE_CONTINUED_INTEL: Self = Self(6092);
654 pub const COMPOSITE_CONSTRUCT_CONTINUED_INTEL: Self = Self(6096);
655 pub const CONVERT_FTO_BF16_INTEL: Self = Self(6116);
656 pub const CONVERT_BF16_TO_FINTEL: Self = Self(6117);
657 pub const CONTROL_BARRIER_ARRIVE_INTEL: Self = Self(6142);
658 pub const CONTROL_BARRIER_WAIT_INTEL: Self = Self(6143);
659 pub const ARITHMETIC_FENCE_EXT: Self = Self(6145);
660 pub const SUBGROUP_BLOCK_PREFETCH_INTEL: Self = Self(6221);
661 pub const SUBGROUP2_DBLOCK_LOAD_INTEL: Self = Self(6231);
662 pub const SUBGROUP2_DBLOCK_LOAD_TRANSFORM_INTEL: Self = Self(6232);
663 pub const SUBGROUP2_DBLOCK_LOAD_TRANSPOSE_INTEL: Self = Self(6233);
664 pub const SUBGROUP2_DBLOCK_PREFETCH_INTEL: Self = Self(6234);
665 pub const SUBGROUP2_DBLOCK_STORE_INTEL: Self = Self(6235);
666 pub const SUBGROUP_MATRIX_MULTIPLY_ACCUMULATE_INTEL: Self = Self(6237);
667 pub const BITWISE_FUNCTION_INTEL: Self = Self(6242);
668 pub const UNTYPED_VARIABLE_LENGTH_ARRAY_INTEL: Self = Self(6244);
669 pub const CONDITIONAL_EXTENSION_INTEL: Self = Self(6248);
670 pub const CONDITIONAL_ENTRY_POINT_INTEL: Self = Self(6249);
671 pub const CONDITIONAL_CAPABILITY_INTEL: Self = Self(6250);
672 pub const SPEC_CONSTANT_TARGET_INTEL: Self = Self(6251);
673 pub const SPEC_CONSTANT_ARCHITECTURE_INTEL: Self = Self(6252);
674 pub const SPEC_CONSTANT_CAPABILITIES_INTEL: Self = Self(6253);
675 pub const CONDITIONAL_COPY_OBJECT_INTEL: Self = Self(6254);
676 pub const GROUP_IMUL_KHR: Self = Self(6401);
677 pub const GROUP_FMUL_KHR: Self = Self(6402);
678 pub const GROUP_BITWISE_AND_KHR: Self = Self(6403);
679 pub const GROUP_BITWISE_OR_KHR: Self = Self(6404);
680 pub const GROUP_BITWISE_XOR_KHR: Self = Self(6405);
681 pub const GROUP_LOGICAL_AND_KHR: Self = Self(6406);
682 pub const GROUP_LOGICAL_OR_KHR: Self = Self(6407);
683 pub const GROUP_LOGICAL_XOR_KHR: Self = Self(6408);
684 pub const ROUND_FTO_TF32_INTEL: Self = Self(6426);
685 pub const MASKED_GATHER_INTEL: Self = Self(6428);
686 pub const MASKED_SCATTER_INTEL: Self = Self(6429);
687 pub const CONVERT_HANDLE_TO_IMAGE_INTEL: Self = Self(6529);
688 pub const CONVERT_HANDLE_TO_SAMPLER_INTEL: Self = Self(6530);
689 pub const CONVERT_HANDLE_TO_SAMPLED_IMAGE_INTEL: Self = Self(6531);
690 pub const FDOT2_MIX_ACC32_VALVE: Self = Self(6916);
691 pub const FDOT2_MIX_ACC16_VALVE: Self = Self(6917);
692 pub const FDOT4_MIX_ACC32_VALVE: Self = Self(6918);
693}
694impl Word for Code {
695 #[inline]
696 fn from_word(word: u32) -> Self {
697 Self(word as u16)
698 }
699}
700impl Display for Code {
701 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
702 write!(f, "{}", INST_INFOS[self.0 as usize].name)
703 }
704}
705#[derive(Clone, Copy)]
706pub struct InstMemoryModel {
707 pub addressing_model: AddressingModel,
708 pub memory_model: MemoryModel,
709}
710#[derive(Clone, Copy)]
711pub struct InstEntryPoint<'a> {
712 pub execution_model: ExecutionModel,
713 pub entry_point: IdRef,
714 pub name: LiteralString<'a>,
715 pub interface: &'a [IdRef],
716}
717#[derive(Clone, Copy)]
718pub struct InstExecutionMode {
719 pub entry_point: IdRef,
720 pub mode: ExecutionMode,
721}
722#[derive(Clone, Copy)]
723pub struct InstCapability {
724 pub capability: Capability,
725}
726#[derive(Clone, Copy)]
727pub struct InstExecutionModeId {
728 pub entry_point: IdRef,
729 pub mode: ExecutionMode,
730}
731#[derive(Clone, Copy)]
732pub struct InstConditionalEntryPointINTEL<'a> {
733 pub condition: IdRef,
734 pub execution_model: ExecutionModel,
735 pub entry_point: IdRef,
736 pub name: LiteralString<'a>,
737 pub interface: &'a [IdRef],
738}
739#[derive(Clone, Copy)]
740pub struct InstConditionalCapabilityINTEL {
741 pub condition: IdRef,
742 pub capability: Capability,
743}
744#[derive(Clone, Copy)]
745pub struct InstVariable {
746 pub id_result_type: IdResultType,
747 pub id_result: IdResult,
748 pub storage_class: StorageClass,
749 pub initializer: Option<IdRef>,
750}
751#[derive(Clone, Copy)]
752pub struct InstImageTexelPointer {
753 pub id_result_type: IdResultType,
754 pub id_result: IdResult,
755 pub image: IdRef,
756 pub coordinate: IdRef,
757 pub sample: IdRef,
758}
759#[derive(Clone, Copy)]
760pub struct InstLoad {
761 pub id_result_type: IdResultType,
762 pub id_result: IdResult,
763 pub pointer: IdRef,
764 pub memory_access: Option<MemoryAccess>,
765}
766#[derive(Clone, Copy)]
767pub struct InstAccessChain<'a> {
768 pub id_result_type: IdResultType,
769 pub id_result: IdResult,
770 pub base: IdRef,
771 pub indexes: &'a [IdRef],
772}
773#[derive(Clone, Copy)]
774pub struct InstInBoundsAccessChain<'a> {
775 pub id_result_type: IdResultType,
776 pub id_result: IdResult,
777 pub base: IdRef,
778 pub indexes: &'a [IdRef],
779}
780#[derive(Clone, Copy)]
781pub struct InstPtrAccessChain<'a> {
782 pub id_result_type: IdResultType,
783 pub id_result: IdResult,
784 pub base: IdRef,
785 pub element: IdRef,
786 pub indexes: &'a [IdRef],
787}
788#[derive(Clone, Copy)]
789pub struct InstArrayLength {
790 pub id_result_type: IdResultType,
791 pub id_result: IdResult,
792 pub structure: IdRef,
793 pub array_member: LiteralInteger,
794}
795#[derive(Clone, Copy)]
796pub struct InstGenericPtrMemSemantics {
797 pub id_result_type: IdResultType,
798 pub id_result: IdResult,
799 pub pointer: IdRef,
800}
801#[derive(Clone, Copy)]
802pub struct InstInBoundsPtrAccessChain<'a> {
803 pub id_result_type: IdResultType,
804 pub id_result: IdResult,
805 pub base: IdRef,
806 pub element: IdRef,
807 pub indexes: &'a [IdRef],
808}
809#[derive(Clone, Copy)]
810pub struct InstPtrEqual {
811 pub id_result_type: IdResultType,
812 pub id_result: IdResult,
813 pub operand_1: IdRef,
814 pub operand_2: IdRef,
815}
816#[derive(Clone, Copy)]
817pub struct InstPtrNotEqual {
818 pub id_result_type: IdResultType,
819 pub id_result: IdResult,
820 pub operand_1: IdRef,
821 pub operand_2: IdRef,
822}
823#[derive(Clone, Copy)]
824pub struct InstPtrDiff {
825 pub id_result_type: IdResultType,
826 pub id_result: IdResult,
827 pub operand_1: IdRef,
828 pub operand_2: IdRef,
829}
830#[derive(Clone, Copy)]
831pub struct InstUntypedVariableKHR {
832 pub id_result_type: IdResultType,
833 pub id_result: IdResult,
834 pub storage_class: StorageClass,
835 pub data_type: Option<IdRef>,
836 pub initializer: Option<IdRef>,
837}
838#[derive(Clone, Copy)]
839pub struct InstUntypedAccessChainKHR<'a> {
840 pub id_result_type: IdResultType,
841 pub id_result: IdResult,
842 pub base_type: IdRef,
843 pub base: IdRef,
844 pub indexes: &'a [IdRef],
845}
846#[derive(Clone, Copy)]
847pub struct InstUntypedInBoundsAccessChainKHR<'a> {
848 pub id_result_type: IdResultType,
849 pub id_result: IdResult,
850 pub base_type: IdRef,
851 pub base: IdRef,
852 pub indexes: &'a [IdRef],
853}
854#[derive(Clone, Copy)]
855pub struct InstUntypedPtrAccessChainKHR<'a> {
856 pub id_result_type: IdResultType,
857 pub id_result: IdResult,
858 pub base_type: IdRef,
859 pub base: IdRef,
860 pub element: IdRef,
861 pub indexes: &'a [IdRef],
862}
863#[derive(Clone, Copy)]
864pub struct InstUntypedInBoundsPtrAccessChainKHR<'a> {
865 pub id_result_type: IdResultType,
866 pub id_result: IdResult,
867 pub base_type: IdRef,
868 pub base: IdRef,
869 pub element: IdRef,
870 pub indexes: &'a [IdRef],
871}
872#[derive(Clone, Copy)]
873pub struct InstUntypedArrayLengthKHR {
874 pub id_result_type: IdResultType,
875 pub id_result: IdResult,
876 pub structure: IdRef,
877 pub pointer: IdRef,
878 pub array_member: LiteralInteger,
879}
880#[derive(Clone, Copy)]
881pub struct InstCooperativeMatrixLoadKHR {
882 pub id_result_type: IdResultType,
883 pub id_result: IdResult,
884 pub pointer: IdRef,
885 pub memory_layout: IdRef,
886 pub stride: Option<IdRef>,
887 pub memory_operand: Option<MemoryAccess>,
888}
889#[derive(Clone, Copy)]
890pub struct InstBufferPointerEXT {
891 pub id_result_type: IdResultType,
892 pub id_result: IdResult,
893 pub buffer: IdRef,
894}
895#[derive(Clone, Copy)]
896pub struct InstUntypedImageTexelPointerEXT {
897 pub id_result_type: IdResultType,
898 pub id_result: IdResult,
899 pub image_type: IdRef,
900 pub image: IdRef,
901 pub coordinate: IdRef,
902 pub sample: IdRef,
903}
904#[derive(Clone, Copy)]
905pub struct InstCooperativeVectorLoadNV {
906 pub id_result_type: IdResultType,
907 pub id_result: IdResult,
908 pub pointer: IdRef,
909 pub offset: IdRef,
910 pub memory_access: Option<MemoryAccess>,
911}
912#[derive(Clone, Copy)]
913pub struct InstCooperativeMatrixLoadTensorNV {
914 pub id_result_type: IdResultType,
915 pub id_result: IdResult,
916 pub pointer: IdRef,
917 pub object: IdRef,
918 pub tensor_layout: IdRef,
919 pub memory_operand: MemoryAccess,
920 pub tensor_addressing_operands: TensorAddressingOperands,
921}
922#[derive(Clone, Copy)]
923pub struct InstRawAccessChainNV {
924 pub id_result_type: IdResultType,
925 pub id_result: IdResult,
926 pub base: IdRef,
927 pub byte_stride: IdRef,
928 pub element_index: IdRef,
929 pub byte_offset: IdRef,
930 pub raw_access_chain_operands: Option<RawAccessChainOperands>,
931}
932#[derive(Clone, Copy)]
933pub struct InstVariableLengthArrayINTEL {
934 pub id_result_type: IdResultType,
935 pub id_result: IdResult,
936 pub length: IdRef,
937}
938#[derive(Clone, Copy)]
939pub struct InstSaveMemoryINTEL {
940 pub id_result_type: IdResultType,
941 pub id_result: IdResult,
942}
943#[derive(Clone, Copy)]
944pub struct InstUntypedVariableLengthArrayINTEL {
945 pub id_result_type: IdResultType,
946 pub id_result: IdResult,
947 pub element_type: IdRef,
948 pub length: IdRef,
949}
950#[derive(Clone, Copy)]
951pub struct InstMaskedGatherINTEL {
952 pub id_result_type: IdResultType,
953 pub id_result: IdResult,
954 pub ptr_vector: IdRef,
955 pub alignment: LiteralInteger,
956 pub mask: IdRef,
957 pub fill_empty: IdRef,
958}
959#[derive(Clone, Copy)]
960pub struct InstStore {
961 pub pointer: IdRef,
962 pub object: IdRef,
963 pub memory_access: Option<MemoryAccess>,
964}
965#[derive(Clone, Copy)]
966pub struct InstCopyMemory {
967 pub target: IdRef,
968 pub source: IdRef,
969 pub memory_access_1: Option<MemoryAccess>,
970 pub memory_access_2: Option<MemoryAccess>,
971}
972#[derive(Clone, Copy)]
973pub struct InstCopyMemorySized {
974 pub target: IdRef,
975 pub source: IdRef,
976 pub size: IdRef,
977 pub memory_access_1: Option<MemoryAccess>,
978 pub memory_access_2: Option<MemoryAccess>,
979}
980#[derive(Clone, Copy)]
981pub struct InstUntypedPrefetchKHR {
982 pub pointer_type: IdRef,
983 pub num_bytes: IdRef,
984 pub rw: Option<IdRef>,
985 pub locality: Option<IdRef>,
986 pub cache_type: Option<IdRef>,
987}
988#[derive(Clone, Copy)]
989pub struct InstCooperativeMatrixStoreKHR {
990 pub pointer: IdRef,
991 pub object: IdRef,
992 pub memory_layout: IdRef,
993 pub stride: Option<IdRef>,
994 pub memory_operand: Option<MemoryAccess>,
995}
996#[derive(Clone, Copy)]
997pub struct InstCooperativeVectorStoreNV {
998 pub pointer: IdRef,
999 pub offset: IdRef,
1000 pub object: IdRef,
1001 pub memory_access: Option<MemoryAccess>,
1002}
1003#[derive(Clone, Copy)]
1004pub struct InstCooperativeMatrixStoreTensorNV {
1005 pub pointer: IdRef,
1006 pub object: IdRef,
1007 pub tensor_layout: IdRef,
1008 pub memory_operand: MemoryAccess,
1009 pub tensor_addressing_operands: TensorAddressingOperands,
1010}
1011#[derive(Clone, Copy)]
1012pub struct InstRestoreMemoryINTEL {
1013 pub ptr: IdRef,
1014}
1015#[derive(Clone, Copy)]
1016pub struct InstMaskedScatterINTEL {
1017 pub input_vector: IdRef,
1018 pub ptr_vector: IdRef,
1019 pub alignment: LiteralInteger,
1020 pub mask: IdRef,
1021}
1022#[derive(Clone, Copy)]
1023pub struct InstConvertFToU {
1024 pub id_result_type: IdResultType,
1025 pub id_result: IdResult,
1026 pub float_value: IdRef,
1027}
1028#[derive(Clone, Copy)]
1029pub struct InstConvertFToS {
1030 pub id_result_type: IdResultType,
1031 pub id_result: IdResult,
1032 pub float_value: IdRef,
1033}
1034#[derive(Clone, Copy)]
1035pub struct InstConvertSToF {
1036 pub id_result_type: IdResultType,
1037 pub id_result: IdResult,
1038 pub signed_value: IdRef,
1039}
1040#[derive(Clone, Copy)]
1041pub struct InstConvertUToF {
1042 pub id_result_type: IdResultType,
1043 pub id_result: IdResult,
1044 pub unsigned_value: IdRef,
1045}
1046#[derive(Clone, Copy)]
1047pub struct InstUConvert {
1048 pub id_result_type: IdResultType,
1049 pub id_result: IdResult,
1050 pub unsigned_value: IdRef,
1051}
1052#[derive(Clone, Copy)]
1053pub struct InstSConvert {
1054 pub id_result_type: IdResultType,
1055 pub id_result: IdResult,
1056 pub signed_value: IdRef,
1057}
1058#[derive(Clone, Copy)]
1059pub struct InstFConvert {
1060 pub id_result_type: IdResultType,
1061 pub id_result: IdResult,
1062 pub float_value: IdRef,
1063}
1064#[derive(Clone, Copy)]
1065pub struct InstQuantizeToF16 {
1066 pub id_result_type: IdResultType,
1067 pub id_result: IdResult,
1068 pub value: IdRef,
1069}
1070#[derive(Clone, Copy)]
1071pub struct InstConvertPtrToU {
1072 pub id_result_type: IdResultType,
1073 pub id_result: IdResult,
1074 pub pointer: IdRef,
1075}
1076#[derive(Clone, Copy)]
1077pub struct InstSatConvertSToU {
1078 pub id_result_type: IdResultType,
1079 pub id_result: IdResult,
1080 pub signed_value: IdRef,
1081}
1082#[derive(Clone, Copy)]
1083pub struct InstSatConvertUToS {
1084 pub id_result_type: IdResultType,
1085 pub id_result: IdResult,
1086 pub unsigned_value: IdRef,
1087}
1088#[derive(Clone, Copy)]
1089pub struct InstConvertUToPtr {
1090 pub id_result_type: IdResultType,
1091 pub id_result: IdResult,
1092 pub integer_value: IdRef,
1093}
1094#[derive(Clone, Copy)]
1095pub struct InstPtrCastToGeneric {
1096 pub id_result_type: IdResultType,
1097 pub id_result: IdResult,
1098 pub pointer: IdRef,
1099}
1100#[derive(Clone, Copy)]
1101pub struct InstGenericCastToPtr {
1102 pub id_result_type: IdResultType,
1103 pub id_result: IdResult,
1104 pub pointer: IdRef,
1105}
1106#[derive(Clone, Copy)]
1107pub struct InstGenericCastToPtrExplicit {
1108 pub id_result_type: IdResultType,
1109 pub id_result: IdResult,
1110 pub pointer: IdRef,
1111 pub storage: StorageClass,
1112}
1113#[derive(Clone, Copy)]
1114pub struct InstBitcast {
1115 pub id_result_type: IdResultType,
1116 pub id_result: IdResult,
1117 pub operand: IdRef,
1118}
1119#[derive(Clone, Copy)]
1120pub struct InstBitCastArrayQCOM {
1121 pub id_result_type: IdResultType,
1122 pub id_result: IdResult,
1123 pub source_array: IdRef,
1124}
1125#[derive(Clone, Copy)]
1126pub struct InstCooperativeMatrixConvertNV {
1127 pub id_result_type: IdResultType,
1128 pub id_result: IdResult,
1129 pub matrix: IdRef,
1130}
1131#[derive(Clone, Copy)]
1132pub struct InstCooperativeMatrixTransposeNV {
1133 pub id_result_type: IdResultType,
1134 pub id_result: IdResult,
1135 pub matrix: IdRef,
1136}
1137#[derive(Clone, Copy)]
1138pub struct InstConvertFToBF16INTEL {
1139 pub id_result_type: IdResultType,
1140 pub id_result: IdResult,
1141 pub float_value: IdRef,
1142}
1143#[derive(Clone, Copy)]
1144pub struct InstConvertBF16ToFINTEL {
1145 pub id_result_type: IdResultType,
1146 pub id_result: IdResult,
1147 pub bfloat16_value: IdRef,
1148}
1149#[derive(Clone, Copy)]
1150pub struct InstRoundFToTF32INTEL {
1151 pub id_result_type: IdResultType,
1152 pub id_result: IdResult,
1153 pub float_value: IdRef,
1154}
1155#[derive(Clone, Copy)]
1156pub struct InstAtomicLoad {
1157 pub id_result_type: IdResultType,
1158 pub id_result: IdResult,
1159 pub pointer: IdRef,
1160 pub memory: IdScope,
1161 pub semantics: IdMemorySemantics,
1162}
1163#[derive(Clone, Copy)]
1164pub struct InstAtomicExchange {
1165 pub id_result_type: IdResultType,
1166 pub id_result: IdResult,
1167 pub pointer: IdRef,
1168 pub memory: IdScope,
1169 pub semantics: IdMemorySemantics,
1170 pub value: IdRef,
1171}
1172#[derive(Clone, Copy)]
1173pub struct InstAtomicCompareExchange {
1174 pub id_result_type: IdResultType,
1175 pub id_result: IdResult,
1176 pub pointer: IdRef,
1177 pub memory: IdScope,
1178 pub equal: IdMemorySemantics,
1179 pub unequal: IdMemorySemantics,
1180 pub value: IdRef,
1181 pub comparator: IdRef,
1182}
1183#[derive(Clone, Copy)]
1184pub struct InstAtomicCompareExchangeWeak {
1185 pub id_result_type: IdResultType,
1186 pub id_result: IdResult,
1187 pub pointer: IdRef,
1188 pub memory: IdScope,
1189 pub equal: IdMemorySemantics,
1190 pub unequal: IdMemorySemantics,
1191 pub value: IdRef,
1192 pub comparator: IdRef,
1193}
1194#[derive(Clone, Copy)]
1195pub struct InstAtomicIIncrement {
1196 pub id_result_type: IdResultType,
1197 pub id_result: IdResult,
1198 pub pointer: IdRef,
1199 pub memory: IdScope,
1200 pub semantics: IdMemorySemantics,
1201}
1202#[derive(Clone, Copy)]
1203pub struct InstAtomicIDecrement {
1204 pub id_result_type: IdResultType,
1205 pub id_result: IdResult,
1206 pub pointer: IdRef,
1207 pub memory: IdScope,
1208 pub semantics: IdMemorySemantics,
1209}
1210#[derive(Clone, Copy)]
1211pub struct InstAtomicIAdd {
1212 pub id_result_type: IdResultType,
1213 pub id_result: IdResult,
1214 pub pointer: IdRef,
1215 pub memory: IdScope,
1216 pub semantics: IdMemorySemantics,
1217 pub value: IdRef,
1218}
1219#[derive(Clone, Copy)]
1220pub struct InstAtomicISub {
1221 pub id_result_type: IdResultType,
1222 pub id_result: IdResult,
1223 pub pointer: IdRef,
1224 pub memory: IdScope,
1225 pub semantics: IdMemorySemantics,
1226 pub value: IdRef,
1227}
1228#[derive(Clone, Copy)]
1229pub struct InstAtomicSMin {
1230 pub id_result_type: IdResultType,
1231 pub id_result: IdResult,
1232 pub pointer: IdRef,
1233 pub memory: IdScope,
1234 pub semantics: IdMemorySemantics,
1235 pub value: IdRef,
1236}
1237#[derive(Clone, Copy)]
1238pub struct InstAtomicUMin {
1239 pub id_result_type: IdResultType,
1240 pub id_result: IdResult,
1241 pub pointer: IdRef,
1242 pub memory: IdScope,
1243 pub semantics: IdMemorySemantics,
1244 pub value: IdRef,
1245}
1246#[derive(Clone, Copy)]
1247pub struct InstAtomicSMax {
1248 pub id_result_type: IdResultType,
1249 pub id_result: IdResult,
1250 pub pointer: IdRef,
1251 pub memory: IdScope,
1252 pub semantics: IdMemorySemantics,
1253 pub value: IdRef,
1254}
1255#[derive(Clone, Copy)]
1256pub struct InstAtomicUMax {
1257 pub id_result_type: IdResultType,
1258 pub id_result: IdResult,
1259 pub pointer: IdRef,
1260 pub memory: IdScope,
1261 pub semantics: IdMemorySemantics,
1262 pub value: IdRef,
1263}
1264#[derive(Clone, Copy)]
1265pub struct InstAtomicAnd {
1266 pub id_result_type: IdResultType,
1267 pub id_result: IdResult,
1268 pub pointer: IdRef,
1269 pub memory: IdScope,
1270 pub semantics: IdMemorySemantics,
1271 pub value: IdRef,
1272}
1273#[derive(Clone, Copy)]
1274pub struct InstAtomicOr {
1275 pub id_result_type: IdResultType,
1276 pub id_result: IdResult,
1277 pub pointer: IdRef,
1278 pub memory: IdScope,
1279 pub semantics: IdMemorySemantics,
1280 pub value: IdRef,
1281}
1282#[derive(Clone, Copy)]
1283pub struct InstAtomicXor {
1284 pub id_result_type: IdResultType,
1285 pub id_result: IdResult,
1286 pub pointer: IdRef,
1287 pub memory: IdScope,
1288 pub semantics: IdMemorySemantics,
1289 pub value: IdRef,
1290}
1291#[derive(Clone, Copy)]
1292pub struct InstAtomicFlagTestAndSet {
1293 pub id_result_type: IdResultType,
1294 pub id_result: IdResult,
1295 pub pointer: IdRef,
1296 pub memory: IdScope,
1297 pub semantics: IdMemorySemantics,
1298}
1299#[derive(Clone, Copy)]
1300pub struct InstAtomicFMinEXT {
1301 pub id_result_type: IdResultType,
1302 pub id_result: IdResult,
1303 pub pointer: IdRef,
1304 pub memory: IdScope,
1305 pub semantics: IdMemorySemantics,
1306 pub value: IdRef,
1307}
1308#[derive(Clone, Copy)]
1309pub struct InstAtomicFMaxEXT {
1310 pub id_result_type: IdResultType,
1311 pub id_result: IdResult,
1312 pub pointer: IdRef,
1313 pub memory: IdScope,
1314 pub semantics: IdMemorySemantics,
1315 pub value: IdRef,
1316}
1317#[derive(Clone, Copy)]
1318pub struct InstAtomicFAddEXT {
1319 pub id_result_type: IdResultType,
1320 pub id_result: IdResult,
1321 pub pointer: IdRef,
1322 pub memory: IdScope,
1323 pub semantics: IdMemorySemantics,
1324 pub value: IdRef,
1325}
1326#[derive(Clone, Copy)]
1327pub struct InstAtomicStore {
1328 pub pointer: IdRef,
1329 pub memory: IdScope,
1330 pub semantics: IdMemorySemantics,
1331 pub value: IdRef,
1332}
1333#[derive(Clone, Copy)]
1334pub struct InstAtomicFlagClear {
1335 pub pointer: IdRef,
1336 pub memory: IdScope,
1337 pub semantics: IdMemorySemantics,
1338}
1339#[derive(Clone, Copy)]
1340pub struct InstString<'a> {
1341 pub id_result: IdResult,
1342 pub string: LiteralString<'a>,
1343}
1344#[derive(Clone, Copy)]
1345pub struct InstSourceContinued<'a> {
1346 pub continued_source: LiteralString<'a>,
1347}
1348#[derive(Clone, Copy)]
1349pub struct InstSource<'a> {
1350 pub source_language: SourceLanguage,
1351 pub version: LiteralInteger,
1352 pub file: Option<IdRef>,
1353 pub source: Option<LiteralString<'a>>,
1354}
1355#[derive(Clone, Copy)]
1356pub struct InstSourceExtension<'a> {
1357 pub extension: LiteralString<'a>,
1358}
1359#[derive(Clone, Copy)]
1360pub struct InstName<'a> {
1361 pub target: IdRef,
1362 pub name: LiteralString<'a>,
1363}
1364#[derive(Clone, Copy)]
1365pub struct InstMemberName<'a> {
1366 pub ty: IdRef,
1367 pub member: LiteralInteger,
1368 pub name: LiteralString<'a>,
1369}
1370#[derive(Clone, Copy)]
1371pub struct InstLine {
1372 pub file: IdRef,
1373 pub line: LiteralInteger,
1374 pub column: LiteralInteger,
1375}
1376#[derive(Clone, Copy)]
1377pub struct InstNoLine;
1378#[derive(Clone, Copy)]
1379pub struct InstModuleProcessed<'a> {
1380 pub process: LiteralString<'a>,
1381}
1382#[derive(Clone, Copy)]
1383pub struct InstSNegate {
1384 pub id_result_type: IdResultType,
1385 pub id_result: IdResult,
1386 pub operand: IdRef,
1387}
1388#[derive(Clone, Copy)]
1389pub struct InstFNegate {
1390 pub id_result_type: IdResultType,
1391 pub id_result: IdResult,
1392 pub operand: IdRef,
1393}
1394#[derive(Clone, Copy)]
1395pub struct InstIAdd {
1396 pub id_result_type: IdResultType,
1397 pub id_result: IdResult,
1398 pub operand_1: IdRef,
1399 pub operand_2: IdRef,
1400}
1401#[derive(Clone, Copy)]
1402pub struct InstFAdd {
1403 pub id_result_type: IdResultType,
1404 pub id_result: IdResult,
1405 pub operand_1: IdRef,
1406 pub operand_2: IdRef,
1407}
1408#[derive(Clone, Copy)]
1409pub struct InstISub {
1410 pub id_result_type: IdResultType,
1411 pub id_result: IdResult,
1412 pub operand_1: IdRef,
1413 pub operand_2: IdRef,
1414}
1415#[derive(Clone, Copy)]
1416pub struct InstFSub {
1417 pub id_result_type: IdResultType,
1418 pub id_result: IdResult,
1419 pub operand_1: IdRef,
1420 pub operand_2: IdRef,
1421}
1422#[derive(Clone, Copy)]
1423pub struct InstIMul {
1424 pub id_result_type: IdResultType,
1425 pub id_result: IdResult,
1426 pub operand_1: IdRef,
1427 pub operand_2: IdRef,
1428}
1429#[derive(Clone, Copy)]
1430pub struct InstFMul {
1431 pub id_result_type: IdResultType,
1432 pub id_result: IdResult,
1433 pub operand_1: IdRef,
1434 pub operand_2: IdRef,
1435}
1436#[derive(Clone, Copy)]
1437pub struct InstUDiv {
1438 pub id_result_type: IdResultType,
1439 pub id_result: IdResult,
1440 pub operand_1: IdRef,
1441 pub operand_2: IdRef,
1442}
1443#[derive(Clone, Copy)]
1444pub struct InstSDiv {
1445 pub id_result_type: IdResultType,
1446 pub id_result: IdResult,
1447 pub operand_1: IdRef,
1448 pub operand_2: IdRef,
1449}
1450#[derive(Clone, Copy)]
1451pub struct InstFDiv {
1452 pub id_result_type: IdResultType,
1453 pub id_result: IdResult,
1454 pub operand_1: IdRef,
1455 pub operand_2: IdRef,
1456}
1457#[derive(Clone, Copy)]
1458pub struct InstUMod {
1459 pub id_result_type: IdResultType,
1460 pub id_result: IdResult,
1461 pub operand_1: IdRef,
1462 pub operand_2: IdRef,
1463}
1464#[derive(Clone, Copy)]
1465pub struct InstSRem {
1466 pub id_result_type: IdResultType,
1467 pub id_result: IdResult,
1468 pub operand_1: IdRef,
1469 pub operand_2: IdRef,
1470}
1471#[derive(Clone, Copy)]
1472pub struct InstSMod {
1473 pub id_result_type: IdResultType,
1474 pub id_result: IdResult,
1475 pub operand_1: IdRef,
1476 pub operand_2: IdRef,
1477}
1478#[derive(Clone, Copy)]
1479pub struct InstFRem {
1480 pub id_result_type: IdResultType,
1481 pub id_result: IdResult,
1482 pub operand_1: IdRef,
1483 pub operand_2: IdRef,
1484}
1485#[derive(Clone, Copy)]
1486pub struct InstFMod {
1487 pub id_result_type: IdResultType,
1488 pub id_result: IdResult,
1489 pub operand_1: IdRef,
1490 pub operand_2: IdRef,
1491}
1492#[derive(Clone, Copy)]
1493pub struct InstVectorTimesScalar {
1494 pub id_result_type: IdResultType,
1495 pub id_result: IdResult,
1496 pub vector: IdRef,
1497 pub scalar: IdRef,
1498}
1499#[derive(Clone, Copy)]
1500pub struct InstMatrixTimesScalar {
1501 pub id_result_type: IdResultType,
1502 pub id_result: IdResult,
1503 pub matrix: IdRef,
1504 pub scalar: IdRef,
1505}
1506#[derive(Clone, Copy)]
1507pub struct InstVectorTimesMatrix {
1508 pub id_result_type: IdResultType,
1509 pub id_result: IdResult,
1510 pub vector: IdRef,
1511 pub matrix: IdRef,
1512}
1513#[derive(Clone, Copy)]
1514pub struct InstMatrixTimesVector {
1515 pub id_result_type: IdResultType,
1516 pub id_result: IdResult,
1517 pub matrix: IdRef,
1518 pub vector: IdRef,
1519}
1520#[derive(Clone, Copy)]
1521pub struct InstMatrixTimesMatrix {
1522 pub id_result_type: IdResultType,
1523 pub id_result: IdResult,
1524 pub left_matrix: IdRef,
1525 pub right_matrix: IdRef,
1526}
1527#[derive(Clone, Copy)]
1528pub struct InstOuterProduct {
1529 pub id_result_type: IdResultType,
1530 pub id_result: IdResult,
1531 pub vector_1: IdRef,
1532 pub vector_2: IdRef,
1533}
1534#[derive(Clone, Copy)]
1535pub struct InstDot {
1536 pub id_result_type: IdResultType,
1537 pub id_result: IdResult,
1538 pub vector_1: IdRef,
1539 pub vector_2: IdRef,
1540}
1541#[derive(Clone, Copy)]
1542pub struct InstIAddCarry {
1543 pub id_result_type: IdResultType,
1544 pub id_result: IdResult,
1545 pub operand_1: IdRef,
1546 pub operand_2: IdRef,
1547}
1548#[derive(Clone, Copy)]
1549pub struct InstISubBorrow {
1550 pub id_result_type: IdResultType,
1551 pub id_result: IdResult,
1552 pub operand_1: IdRef,
1553 pub operand_2: IdRef,
1554}
1555#[derive(Clone, Copy)]
1556pub struct InstUMulExtended {
1557 pub id_result_type: IdResultType,
1558 pub id_result: IdResult,
1559 pub operand_1: IdRef,
1560 pub operand_2: IdRef,
1561}
1562#[derive(Clone, Copy)]
1563pub struct InstSMulExtended {
1564 pub id_result_type: IdResultType,
1565 pub id_result: IdResult,
1566 pub operand_1: IdRef,
1567 pub operand_2: IdRef,
1568}
1569#[derive(Clone, Copy)]
1570pub struct InstFmaKHR {
1571 pub id_result_type: IdResultType,
1572 pub id_result: IdResult,
1573 pub operand_1: IdRef,
1574 pub operand_2: IdRef,
1575 pub operand_3: IdRef,
1576}
1577#[derive(Clone, Copy)]
1578pub struct InstSDot {
1579 pub id_result_type: IdResultType,
1580 pub id_result: IdResult,
1581 pub vector_1: IdRef,
1582 pub vector_2: IdRef,
1583 pub packed_vector_format: Option<PackedVectorFormat>,
1584}
1585#[derive(Clone, Copy)]
1586pub struct InstUDot {
1587 pub id_result_type: IdResultType,
1588 pub id_result: IdResult,
1589 pub vector_1: IdRef,
1590 pub vector_2: IdRef,
1591 pub packed_vector_format: Option<PackedVectorFormat>,
1592}
1593#[derive(Clone, Copy)]
1594pub struct InstSUDot {
1595 pub id_result_type: IdResultType,
1596 pub id_result: IdResult,
1597 pub vector_1: IdRef,
1598 pub vector_2: IdRef,
1599 pub packed_vector_format: Option<PackedVectorFormat>,
1600}
1601#[derive(Clone, Copy)]
1602pub struct InstSDotAccSat {
1603 pub id_result_type: IdResultType,
1604 pub id_result: IdResult,
1605 pub vector_1: IdRef,
1606 pub vector_2: IdRef,
1607 pub accumulator: IdRef,
1608 pub packed_vector_format: Option<PackedVectorFormat>,
1609}
1610#[derive(Clone, Copy)]
1611pub struct InstUDotAccSat {
1612 pub id_result_type: IdResultType,
1613 pub id_result: IdResult,
1614 pub vector_1: IdRef,
1615 pub vector_2: IdRef,
1616 pub accumulator: IdRef,
1617 pub packed_vector_format: Option<PackedVectorFormat>,
1618}
1619#[derive(Clone, Copy)]
1620pub struct InstSUDotAccSat {
1621 pub id_result_type: IdResultType,
1622 pub id_result: IdResult,
1623 pub vector_1: IdRef,
1624 pub vector_2: IdRef,
1625 pub accumulator: IdRef,
1626 pub packed_vector_format: Option<PackedVectorFormat>,
1627}
1628#[derive(Clone, Copy)]
1629pub struct InstCooperativeMatrixMulAddKHR {
1630 pub id_result_type: IdResultType,
1631 pub id_result: IdResult,
1632 pub a: IdRef,
1633 pub b: IdRef,
1634 pub c: IdRef,
1635 pub cooperative_matrix_operands: Option<CooperativeMatrixOperands>,
1636}
1637#[derive(Clone, Copy)]
1638pub struct InstCooperativeMatrixReduceNV {
1639 pub id_result_type: IdResultType,
1640 pub id_result: IdResult,
1641 pub matrix: IdRef,
1642 pub reduce: CooperativeMatrixReduce,
1643 pub combine_func: IdRef,
1644}
1645#[derive(Clone, Copy)]
1646pub struct InstExtInstImport<'a> {
1647 pub id_result: IdResult,
1648 pub name: LiteralString<'a>,
1649}
1650#[derive(Clone, Copy)]
1651pub struct InstExtInst<'a> {
1652 pub id_result_type: IdResultType,
1653 pub id_result: IdResult,
1654 pub set: IdRef,
1655 pub instruction: LiteralExtInstInteger,
1656 pub operands: &'a [IdRef],
1657}
1658#[derive(Clone, Copy)]
1659pub struct InstExtInstWithForwardRefsKHR<'a> {
1660 pub id_result_type: IdResultType,
1661 pub id_result: IdResult,
1662 pub set: IdRef,
1663 pub instruction: LiteralExtInstInteger,
1664 pub operands: &'a [IdRef],
1665}
1666#[derive(Clone, Copy)]
1667pub struct InstExtension<'a> {
1668 pub name: LiteralString<'a>,
1669}
1670#[derive(Clone, Copy)]
1671pub struct InstConditionalExtensionINTEL<'a> {
1672 pub condition: IdRef,
1673 pub name: LiteralString<'a>,
1674}
1675#[derive(Clone, Copy)]
1676pub struct InstShiftRightLogical {
1677 pub id_result_type: IdResultType,
1678 pub id_result: IdResult,
1679 pub base: IdRef,
1680 pub shift: IdRef,
1681}
1682#[derive(Clone, Copy)]
1683pub struct InstShiftRightArithmetic {
1684 pub id_result_type: IdResultType,
1685 pub id_result: IdResult,
1686 pub base: IdRef,
1687 pub shift: IdRef,
1688}
1689#[derive(Clone, Copy)]
1690pub struct InstShiftLeftLogical {
1691 pub id_result_type: IdResultType,
1692 pub id_result: IdResult,
1693 pub base: IdRef,
1694 pub shift: IdRef,
1695}
1696#[derive(Clone, Copy)]
1697pub struct InstBitwiseOr {
1698 pub id_result_type: IdResultType,
1699 pub id_result: IdResult,
1700 pub operand_1: IdRef,
1701 pub operand_2: IdRef,
1702}
1703#[derive(Clone, Copy)]
1704pub struct InstBitwiseXor {
1705 pub id_result_type: IdResultType,
1706 pub id_result: IdResult,
1707 pub operand_1: IdRef,
1708 pub operand_2: IdRef,
1709}
1710#[derive(Clone, Copy)]
1711pub struct InstBitwiseAnd {
1712 pub id_result_type: IdResultType,
1713 pub id_result: IdResult,
1714 pub operand_1: IdRef,
1715 pub operand_2: IdRef,
1716}
1717#[derive(Clone, Copy)]
1718pub struct InstNot {
1719 pub id_result_type: IdResultType,
1720 pub id_result: IdResult,
1721 pub operand: IdRef,
1722}
1723#[derive(Clone, Copy)]
1724pub struct InstBitFieldInsert {
1725 pub id_result_type: IdResultType,
1726 pub id_result: IdResult,
1727 pub base: IdRef,
1728 pub insert: IdRef,
1729 pub offset: IdRef,
1730 pub count: IdRef,
1731}
1732#[derive(Clone, Copy)]
1733pub struct InstBitFieldSExtract {
1734 pub id_result_type: IdResultType,
1735 pub id_result: IdResult,
1736 pub base: IdRef,
1737 pub offset: IdRef,
1738 pub count: IdRef,
1739}
1740#[derive(Clone, Copy)]
1741pub struct InstBitFieldUExtract {
1742 pub id_result_type: IdResultType,
1743 pub id_result: IdResult,
1744 pub base: IdRef,
1745 pub offset: IdRef,
1746 pub count: IdRef,
1747}
1748#[derive(Clone, Copy)]
1749pub struct InstBitReverse {
1750 pub id_result_type: IdResultType,
1751 pub id_result: IdResult,
1752 pub base: IdRef,
1753}
1754#[derive(Clone, Copy)]
1755pub struct InstBitCount {
1756 pub id_result_type: IdResultType,
1757 pub id_result: IdResult,
1758 pub base: IdRef,
1759}
1760#[derive(Clone, Copy)]
1761pub struct InstBitwiseFunctionINTEL {
1762 pub id_result_type: IdResultType,
1763 pub id_result: IdResult,
1764 pub a: IdRef,
1765 pub b: IdRef,
1766 pub c: IdRef,
1767 pub lutindex: IdRef,
1768}
1769#[derive(Clone, Copy)]
1770pub struct InstEmitVertex;
1771#[derive(Clone, Copy)]
1772pub struct InstEndPrimitive;
1773#[derive(Clone, Copy)]
1774pub struct InstEmitStreamVertex {
1775 pub stream: IdRef,
1776}
1777#[derive(Clone, Copy)]
1778pub struct InstEndStreamPrimitive {
1779 pub stream: IdRef,
1780}
1781#[derive(Clone, Copy)]
1782pub struct InstEnqueueMarker {
1783 pub id_result_type: IdResultType,
1784 pub id_result: IdResult,
1785 pub queue: IdRef,
1786 pub num_events: IdRef,
1787 pub wait_events: IdRef,
1788 pub ret_event: IdRef,
1789}
1790#[derive(Clone, Copy)]
1791pub struct InstEnqueueKernel<'a> {
1792 pub id_result_type: IdResultType,
1793 pub id_result: IdResult,
1794 pub queue: IdRef,
1795 pub flags: IdRef,
1796 pub nd_range: IdRef,
1797 pub num_events: IdRef,
1798 pub wait_events: IdRef,
1799 pub ret_event: IdRef,
1800 pub invoke: IdRef,
1801 pub param: IdRef,
1802 pub param_size: IdRef,
1803 pub param_align: IdRef,
1804 pub local_size: &'a [IdRef],
1805}
1806#[derive(Clone, Copy)]
1807pub struct InstGetKernelNDrangeSubGroupCount {
1808 pub id_result_type: IdResultType,
1809 pub id_result: IdResult,
1810 pub nd_range: IdRef,
1811 pub invoke: IdRef,
1812 pub param: IdRef,
1813 pub param_size: IdRef,
1814 pub param_align: IdRef,
1815}
1816#[derive(Clone, Copy)]
1817pub struct InstGetKernelNDrangeMaxSubGroupSize {
1818 pub id_result_type: IdResultType,
1819 pub id_result: IdResult,
1820 pub nd_range: IdRef,
1821 pub invoke: IdRef,
1822 pub param: IdRef,
1823 pub param_size: IdRef,
1824 pub param_align: IdRef,
1825}
1826#[derive(Clone, Copy)]
1827pub struct InstGetKernelWorkGroupSize {
1828 pub id_result_type: IdResultType,
1829 pub id_result: IdResult,
1830 pub invoke: IdRef,
1831 pub param: IdRef,
1832 pub param_size: IdRef,
1833 pub param_align: IdRef,
1834}
1835#[derive(Clone, Copy)]
1836pub struct InstGetKernelPreferredWorkGroupSizeMultiple {
1837 pub id_result_type: IdResultType,
1838 pub id_result: IdResult,
1839 pub invoke: IdRef,
1840 pub param: IdRef,
1841 pub param_size: IdRef,
1842 pub param_align: IdRef,
1843}
1844#[derive(Clone, Copy)]
1845pub struct InstCreateUserEvent {
1846 pub id_result_type: IdResultType,
1847 pub id_result: IdResult,
1848}
1849#[derive(Clone, Copy)]
1850pub struct InstIsValidEvent {
1851 pub id_result_type: IdResultType,
1852 pub id_result: IdResult,
1853 pub event: IdRef,
1854}
1855#[derive(Clone, Copy)]
1856pub struct InstGetDefaultQueue {
1857 pub id_result_type: IdResultType,
1858 pub id_result: IdResult,
1859}
1860#[derive(Clone, Copy)]
1861pub struct InstBuildNDRange {
1862 pub id_result_type: IdResultType,
1863 pub id_result: IdResult,
1864 pub global_work_size: IdRef,
1865 pub local_work_size: IdRef,
1866 pub global_work_offset: IdRef,
1867}
1868#[derive(Clone, Copy)]
1869pub struct InstGetKernelLocalSizeForSubgroupCount {
1870 pub id_result_type: IdResultType,
1871 pub id_result: IdResult,
1872 pub subgroup_count: IdRef,
1873 pub invoke: IdRef,
1874 pub param: IdRef,
1875 pub param_size: IdRef,
1876 pub param_align: IdRef,
1877}
1878#[derive(Clone, Copy)]
1879pub struct InstGetKernelMaxNumSubgroups {
1880 pub id_result_type: IdResultType,
1881 pub id_result: IdResult,
1882 pub invoke: IdRef,
1883 pub param: IdRef,
1884 pub param_size: IdRef,
1885 pub param_align: IdRef,
1886}
1887#[derive(Clone, Copy)]
1888pub struct InstRetainEvent {
1889 pub event: IdRef,
1890}
1891#[derive(Clone, Copy)]
1892pub struct InstReleaseEvent {
1893 pub event: IdRef,
1894}
1895#[derive(Clone, Copy)]
1896pub struct InstSetUserEventStatus {
1897 pub event: IdRef,
1898 pub status: IdRef,
1899}
1900#[derive(Clone, Copy)]
1901pub struct InstCaptureEventProfilingInfo {
1902 pub event: IdRef,
1903 pub profiling_info: IdRef,
1904 pub value: IdRef,
1905}
1906#[derive(Clone, Copy)]
1907pub struct InstDecorationGroup {
1908 pub id_result: IdResult,
1909}
1910#[derive(Clone, Copy)]
1911pub struct InstDecorate<'a> {
1912 pub target: IdRef,
1913 pub decoration: Decoration<'a>,
1914}
1915#[derive(Clone, Copy)]
1916pub struct InstMemberDecorate<'a> {
1917 pub structure_type: IdRef,
1918 pub member: LiteralInteger,
1919 pub decoration: Decoration<'a>,
1920}
1921#[derive(Clone, Copy)]
1922pub struct InstGroupDecorate<'a> {
1923 pub decoration_group: IdRef,
1924 pub targets: &'a [IdRef],
1925}
1926#[derive(Clone, Copy)]
1927pub struct InstGroupMemberDecorate<'a> {
1928 pub decoration_group: IdRef,
1929 pub targets: &'a [PairIdRefLiteralInteger],
1930}
1931#[derive(Clone, Copy)]
1932pub struct InstDecorateId<'a> {
1933 pub target: IdRef,
1934 pub decoration: Decoration<'a>,
1935}
1936#[derive(Clone, Copy)]
1937pub struct InstMemberDecorateIdEXT<'a> {
1938 pub structure_type: IdRef,
1939 pub member: LiteralInteger,
1940 pub decoration: Decoration<'a>,
1941}
1942#[derive(Clone, Copy)]
1943pub struct InstDecorateString<'a> {
1944 pub target: IdRef,
1945 pub decoration: Decoration<'a>,
1946}
1947#[derive(Clone, Copy)]
1948pub struct InstMemberDecorateString<'a> {
1949 pub struct_type: IdRef,
1950 pub member: LiteralInteger,
1951 pub decoration: Decoration<'a>,
1952}
1953#[derive(Clone, Copy)]
1954pub struct InstConvertUToAccelerationStructureKHR {
1955 pub id_result_type: IdResultType,
1956 pub id_result: IdResult,
1957 pub accel: IdRef,
1958}
1959#[derive(Clone, Copy)]
1960pub struct InstRayQueryProceedKHR {
1961 pub id_result_type: IdResultType,
1962 pub id_result: IdResult,
1963 pub ray_query: IdRef,
1964}
1965#[derive(Clone, Copy)]
1966pub struct InstRayQueryGetIntersectionTypeKHR {
1967 pub id_result_type: IdResultType,
1968 pub id_result: IdResult,
1969 pub ray_query: IdRef,
1970 pub intersection: IdRef,
1971}
1972#[derive(Clone, Copy)]
1973pub struct InstFragmentMaskFetchAMD {
1974 pub id_result_type: IdResultType,
1975 pub id_result: IdResult,
1976 pub image: IdRef,
1977 pub coordinate: IdRef,
1978}
1979#[derive(Clone, Copy)]
1980pub struct InstFragmentFetchAMD {
1981 pub id_result_type: IdResultType,
1982 pub id_result: IdResult,
1983 pub image: IdRef,
1984 pub coordinate: IdRef,
1985 pub fragment_index: IdRef,
1986}
1987#[derive(Clone, Copy)]
1988pub struct InstReadClockKHR {
1989 pub id_result_type: IdResultType,
1990 pub id_result: IdResult,
1991 pub scope: IdScope,
1992}
1993#[derive(Clone, Copy)]
1994pub struct InstAllocateNodePayloadsAMDX {
1995 pub id_result_type: IdResultType,
1996 pub id_result: IdResult,
1997 pub visibility: IdScope,
1998 pub payload_count: IdRef,
1999 pub node_index: IdRef,
2000}
2001#[derive(Clone, Copy)]
2002pub struct InstTypeNodePayloadArrayAMDX {
2003 pub id_result: IdResult,
2004 pub payload_type: IdRef,
2005}
2006#[derive(Clone, Copy)]
2007pub struct InstFinishWritingNodePayloadAMDX {
2008 pub id_result_type: IdResultType,
2009 pub id_result: IdResult,
2010 pub payload: IdRef,
2011}
2012#[derive(Clone, Copy)]
2013pub struct InstNodePayloadArrayLengthAMDX {
2014 pub id_result_type: IdResultType,
2015 pub id_result: IdResult,
2016 pub payload_array: IdRef,
2017}
2018#[derive(Clone, Copy)]
2019pub struct InstIsNodePayloadValidAMDX {
2020 pub id_result_type: IdResultType,
2021 pub id_result: IdResult,
2022 pub payload_type: IdRef,
2023 pub node_index: IdRef,
2024}
2025#[derive(Clone, Copy)]
2026pub struct InstConstantStringAMDX<'a> {
2027 pub id_result: IdResult,
2028 pub literal_string: LiteralString<'a>,
2029}
2030#[derive(Clone, Copy)]
2031pub struct InstSpecConstantStringAMDX<'a> {
2032 pub id_result: IdResult,
2033 pub literal_string: LiteralString<'a>,
2034}
2035#[derive(Clone, Copy)]
2036pub struct InstHitObjectGetWorldToObjectNV {
2037 pub id_result_type: IdResultType,
2038 pub id_result: IdResult,
2039 pub hit_object: IdRef,
2040}
2041#[derive(Clone, Copy)]
2042pub struct InstHitObjectGetObjectToWorldNV {
2043 pub id_result_type: IdResultType,
2044 pub id_result: IdResult,
2045 pub hit_object: IdRef,
2046}
2047#[derive(Clone, Copy)]
2048pub struct InstHitObjectGetObjectRayDirectionNV {
2049 pub id_result_type: IdResultType,
2050 pub id_result: IdResult,
2051 pub hit_object: IdRef,
2052}
2053#[derive(Clone, Copy)]
2054pub struct InstHitObjectGetObjectRayOriginNV {
2055 pub id_result_type: IdResultType,
2056 pub id_result: IdResult,
2057 pub hit_object: IdRef,
2058}
2059#[derive(Clone, Copy)]
2060pub struct InstHitObjectGetShaderRecordBufferHandleNV {
2061 pub id_result_type: IdResultType,
2062 pub id_result: IdResult,
2063 pub hit_object: IdRef,
2064}
2065#[derive(Clone, Copy)]
2066pub struct InstHitObjectGetShaderBindingTableRecordIndexNV {
2067 pub id_result_type: IdResultType,
2068 pub id_result: IdResult,
2069 pub hit_object: IdRef,
2070}
2071#[derive(Clone, Copy)]
2072pub struct InstHitObjectGetCurrentTimeNV {
2073 pub id_result_type: IdResultType,
2074 pub id_result: IdResult,
2075 pub hit_object: IdRef,
2076}
2077#[derive(Clone, Copy)]
2078pub struct InstHitObjectGetHitKindNV {
2079 pub id_result_type: IdResultType,
2080 pub id_result: IdResult,
2081 pub hit_object: IdRef,
2082}
2083#[derive(Clone, Copy)]
2084pub struct InstHitObjectGetPrimitiveIndexNV {
2085 pub id_result_type: IdResultType,
2086 pub id_result: IdResult,
2087 pub hit_object: IdRef,
2088}
2089#[derive(Clone, Copy)]
2090pub struct InstHitObjectGetGeometryIndexNV {
2091 pub id_result_type: IdResultType,
2092 pub id_result: IdResult,
2093 pub hit_object: IdRef,
2094}
2095#[derive(Clone, Copy)]
2096pub struct InstHitObjectGetInstanceIdNV {
2097 pub id_result_type: IdResultType,
2098 pub id_result: IdResult,
2099 pub hit_object: IdRef,
2100}
2101#[derive(Clone, Copy)]
2102pub struct InstHitObjectGetInstanceCustomIndexNV {
2103 pub id_result_type: IdResultType,
2104 pub id_result: IdResult,
2105 pub hit_object: IdRef,
2106}
2107#[derive(Clone, Copy)]
2108pub struct InstHitObjectGetWorldRayDirectionNV {
2109 pub id_result_type: IdResultType,
2110 pub id_result: IdResult,
2111 pub hit_object: IdRef,
2112}
2113#[derive(Clone, Copy)]
2114pub struct InstHitObjectGetWorldRayOriginNV {
2115 pub id_result_type: IdResultType,
2116 pub id_result: IdResult,
2117 pub hit_object: IdRef,
2118}
2119#[derive(Clone, Copy)]
2120pub struct InstHitObjectGetRayTMaxNV {
2121 pub id_result_type: IdResultType,
2122 pub id_result: IdResult,
2123 pub hit_object: IdRef,
2124}
2125#[derive(Clone, Copy)]
2126pub struct InstHitObjectGetRayTMinNV {
2127 pub id_result_type: IdResultType,
2128 pub id_result: IdResult,
2129 pub hit_object: IdRef,
2130}
2131#[derive(Clone, Copy)]
2132pub struct InstHitObjectIsEmptyNV {
2133 pub id_result_type: IdResultType,
2134 pub id_result: IdResult,
2135 pub hit_object: IdRef,
2136}
2137#[derive(Clone, Copy)]
2138pub struct InstHitObjectIsHitNV {
2139 pub id_result_type: IdResultType,
2140 pub id_result: IdResult,
2141 pub hit_object: IdRef,
2142}
2143#[derive(Clone, Copy)]
2144pub struct InstHitObjectIsMissNV {
2145 pub id_result_type: IdResultType,
2146 pub id_result: IdResult,
2147 pub hit_object: IdRef,
2148}
2149#[derive(Clone, Copy)]
2150pub struct InstCooperativeVectorMatrixMulNV {
2151 pub id_result_type: IdResultType,
2152 pub id_result: IdResult,
2153 pub input: IdRef,
2154 pub input_interpretation: IdRef,
2155 pub matrix: IdRef,
2156 pub matrix_offset: IdRef,
2157 pub matrix_interpretation: IdRef,
2158 pub m: IdRef,
2159 pub k: IdRef,
2160 pub memory_layout: IdRef,
2161 pub transpose: IdRef,
2162 pub matrix_stride: Option<IdRef>,
2163 pub cooperative_matrix_operands: Option<CooperativeMatrixOperands>,
2164}
2165#[derive(Clone, Copy)]
2166pub struct InstCooperativeVectorMatrixMulAddNV {
2167 pub id_result_type: IdResultType,
2168 pub id_result: IdResult,
2169 pub input: IdRef,
2170 pub input_interpretation: IdRef,
2171 pub matrix: IdRef,
2172 pub matrix_offset: IdRef,
2173 pub matrix_interpretation: IdRef,
2174 pub bias: IdRef,
2175 pub bias_offset: IdRef,
2176 pub bias_interpretation: IdRef,
2177 pub m: IdRef,
2178 pub k: IdRef,
2179 pub memory_layout: IdRef,
2180 pub transpose: IdRef,
2181 pub matrix_stride: Option<IdRef>,
2182 pub cooperative_matrix_operands: Option<CooperativeMatrixOperands>,
2183}
2184#[derive(Clone, Copy)]
2185pub struct InstFetchMicroTriangleVertexPositionNV {
2186 pub id_result_type: IdResultType,
2187 pub id_result: IdResult,
2188 pub accel: IdRef,
2189 pub instance_id: IdRef,
2190 pub geometry_index: IdRef,
2191 pub primitive_index: IdRef,
2192 pub barycentric: IdRef,
2193}
2194#[derive(Clone, Copy)]
2195pub struct InstFetchMicroTriangleVertexBarycentricNV {
2196 pub id_result_type: IdResultType,
2197 pub id_result: IdResult,
2198 pub accel: IdRef,
2199 pub instance_id: IdRef,
2200 pub geometry_index: IdRef,
2201 pub primitive_index: IdRef,
2202 pub barycentric: IdRef,
2203}
2204#[derive(Clone, Copy)]
2205pub struct InstHitObjectGetIntersectionTriangleVertexPositionsEXT {
2206 pub id_result_type: IdResultType,
2207 pub id_result: IdResult,
2208 pub hit_object: IdRef,
2209}
2210#[derive(Clone, Copy)]
2211pub struct InstHitObjectGetRayFlagsEXT {
2212 pub id_result_type: IdResultType,
2213 pub id_result: IdResult,
2214 pub hit_object: IdRef,
2215}
2216#[derive(Clone, Copy)]
2217pub struct InstHitObjectGetCurrentTimeEXT {
2218 pub id_result_type: IdResultType,
2219 pub id_result: IdResult,
2220 pub hit_object: IdRef,
2221}
2222#[derive(Clone, Copy)]
2223pub struct InstHitObjectGetHitKindEXT {
2224 pub id_result_type: IdResultType,
2225 pub id_result: IdResult,
2226 pub hit_object: IdRef,
2227}
2228#[derive(Clone, Copy)]
2229pub struct InstHitObjectGetPrimitiveIndexEXT {
2230 pub id_result_type: IdResultType,
2231 pub id_result: IdResult,
2232 pub hit_object: IdRef,
2233}
2234#[derive(Clone, Copy)]
2235pub struct InstHitObjectGetGeometryIndexEXT {
2236 pub id_result_type: IdResultType,
2237 pub id_result: IdResult,
2238 pub hit_object: IdRef,
2239}
2240#[derive(Clone, Copy)]
2241pub struct InstHitObjectGetInstanceIdEXT {
2242 pub id_result_type: IdResultType,
2243 pub id_result: IdResult,
2244 pub hit_object: IdRef,
2245}
2246#[derive(Clone, Copy)]
2247pub struct InstHitObjectGetInstanceCustomIndexEXT {
2248 pub id_result_type: IdResultType,
2249 pub id_result: IdResult,
2250 pub hit_object: IdRef,
2251}
2252#[derive(Clone, Copy)]
2253pub struct InstHitObjectGetObjectRayOriginEXT {
2254 pub id_result_type: IdResultType,
2255 pub id_result: IdResult,
2256 pub hit_object: IdRef,
2257}
2258#[derive(Clone, Copy)]
2259pub struct InstHitObjectGetObjectRayDirectionEXT {
2260 pub id_result_type: IdResultType,
2261 pub id_result: IdResult,
2262 pub hit_object: IdRef,
2263}
2264#[derive(Clone, Copy)]
2265pub struct InstHitObjectGetWorldRayDirectionEXT {
2266 pub id_result_type: IdResultType,
2267 pub id_result: IdResult,
2268 pub hit_object: IdRef,
2269}
2270#[derive(Clone, Copy)]
2271pub struct InstHitObjectGetWorldRayOriginEXT {
2272 pub id_result_type: IdResultType,
2273 pub id_result: IdResult,
2274 pub hit_object: IdRef,
2275}
2276#[derive(Clone, Copy)]
2277pub struct InstHitObjectGetObjectToWorldEXT {
2278 pub id_result_type: IdResultType,
2279 pub id_result: IdResult,
2280 pub hit_object: IdRef,
2281}
2282#[derive(Clone, Copy)]
2283pub struct InstHitObjectGetWorldToObjectEXT {
2284 pub id_result_type: IdResultType,
2285 pub id_result: IdResult,
2286 pub hit_object: IdRef,
2287}
2288#[derive(Clone, Copy)]
2289pub struct InstHitObjectGetRayTMaxEXT {
2290 pub id_result_type: IdResultType,
2291 pub id_result: IdResult,
2292 pub hit_object: IdRef,
2293}
2294#[derive(Clone, Copy)]
2295pub struct InstReportIntersectionKHR {
2296 pub id_result_type: IdResultType,
2297 pub id_result: IdResult,
2298 pub hit: IdRef,
2299 pub hit_kind: IdRef,
2300}
2301#[derive(Clone, Copy)]
2302pub struct InstRayQueryGetIntersectionTriangleVertexPositionsKHR {
2303 pub id_result_type: IdResultType,
2304 pub id_result: IdResult,
2305 pub ray_query: IdRef,
2306 pub intersection: IdRef,
2307}
2308#[derive(Clone, Copy)]
2309pub struct InstRayQueryGetIntersectionClusterIdNV {
2310 pub id_result_type: IdResultType,
2311 pub id_result: IdResult,
2312 pub ray_query: IdRef,
2313 pub intersection: IdRef,
2314}
2315#[derive(Clone, Copy)]
2316pub struct InstHitObjectGetClusterIdNV {
2317 pub id_result_type: IdResultType,
2318 pub id_result: IdResult,
2319 pub hit_object: IdRef,
2320}
2321#[derive(Clone, Copy)]
2322pub struct InstHitObjectGetRayTMinEXT {
2323 pub id_result_type: IdResultType,
2324 pub id_result: IdResult,
2325 pub hit_object: IdRef,
2326}
2327#[derive(Clone, Copy)]
2328pub struct InstHitObjectGetShaderBindingTableRecordIndexEXT {
2329 pub id_result_type: IdResultType,
2330 pub id_result: IdResult,
2331 pub hit_object: IdRef,
2332}
2333#[derive(Clone, Copy)]
2334pub struct InstHitObjectGetShaderRecordBufferHandleEXT {
2335 pub id_result_type: IdResultType,
2336 pub id_result: IdResult,
2337 pub hit_object: IdRef,
2338}
2339#[derive(Clone, Copy)]
2340pub struct InstHitObjectIsEmptyEXT {
2341 pub id_result_type: IdResultType,
2342 pub id_result: IdResult,
2343 pub hit_object: IdRef,
2344}
2345#[derive(Clone, Copy)]
2346pub struct InstHitObjectIsHitEXT {
2347 pub id_result_type: IdResultType,
2348 pub id_result: IdResult,
2349 pub hit_object: IdRef,
2350}
2351#[derive(Clone, Copy)]
2352pub struct InstHitObjectIsMissEXT {
2353 pub id_result_type: IdResultType,
2354 pub id_result: IdResult,
2355 pub hit_object: IdRef,
2356}
2357#[derive(Clone, Copy)]
2358pub struct InstCooperativeMatrixLoadNV {
2359 pub id_result_type: IdResultType,
2360 pub id_result: IdResult,
2361 pub pointer: IdRef,
2362 pub stride: IdRef,
2363 pub column_major: IdRef,
2364 pub memory_access: Option<MemoryAccess>,
2365}
2366#[derive(Clone, Copy)]
2367pub struct InstCooperativeMatrixMulAddNV {
2368 pub id_result_type: IdResultType,
2369 pub id_result: IdResult,
2370 pub a: IdRef,
2371 pub b: IdRef,
2372 pub c: IdRef,
2373}
2374#[derive(Clone, Copy)]
2375pub struct InstCooperativeMatrixLengthNV {
2376 pub id_result_type: IdResultType,
2377 pub id_result: IdResult,
2378 pub ty: IdRef,
2379}
2380#[derive(Clone, Copy)]
2381pub struct InstCreateTensorLayoutNV {
2382 pub id_result_type: IdResultType,
2383 pub id_result: IdResult,
2384}
2385#[derive(Clone, Copy)]
2386pub struct InstTensorLayoutSetDimensionNV<'a> {
2387 pub id_result_type: IdResultType,
2388 pub id_result: IdResult,
2389 pub tensor_layout: IdRef,
2390 pub dim: &'a [IdRef],
2391}
2392#[derive(Clone, Copy)]
2393pub struct InstTensorLayoutSetStrideNV<'a> {
2394 pub id_result_type: IdResultType,
2395 pub id_result: IdResult,
2396 pub tensor_layout: IdRef,
2397 pub stride: &'a [IdRef],
2398}
2399#[derive(Clone, Copy)]
2400pub struct InstTensorLayoutSliceNV<'a> {
2401 pub id_result_type: IdResultType,
2402 pub id_result: IdResult,
2403 pub tensor_layout: IdRef,
2404 pub operands: &'a [IdRef],
2405}
2406#[derive(Clone, Copy)]
2407pub struct InstTensorLayoutSetClampValueNV {
2408 pub id_result_type: IdResultType,
2409 pub id_result: IdResult,
2410 pub tensor_layout: IdRef,
2411 pub value: IdRef,
2412}
2413#[derive(Clone, Copy)]
2414pub struct InstCreateTensorViewNV {
2415 pub id_result_type: IdResultType,
2416 pub id_result: IdResult,
2417}
2418#[derive(Clone, Copy)]
2419pub struct InstTensorViewSetDimensionNV<'a> {
2420 pub id_result_type: IdResultType,
2421 pub id_result: IdResult,
2422 pub tensor_view: IdRef,
2423 pub dim: &'a [IdRef],
2424}
2425#[derive(Clone, Copy)]
2426pub struct InstTensorViewSetStrideNV<'a> {
2427 pub id_result_type: IdResultType,
2428 pub id_result: IdResult,
2429 pub tensor_view: IdRef,
2430 pub stride: &'a [IdRef],
2431}
2432#[derive(Clone, Copy)]
2433pub struct InstIsHelperInvocationEXT {
2434 pub id_result_type: IdResultType,
2435 pub id_result: IdResult,
2436}
2437#[derive(Clone, Copy)]
2438pub struct InstTensorViewSetClipNV {
2439 pub id_result_type: IdResultType,
2440 pub id_result: IdResult,
2441 pub tensor_view: IdRef,
2442 pub clip_row_offset: IdRef,
2443 pub clip_row_span: IdRef,
2444 pub clip_col_offset: IdRef,
2445 pub clip_col_span: IdRef,
2446}
2447#[derive(Clone, Copy)]
2448pub struct InstTensorLayoutSetBlockSizeNV<'a> {
2449 pub id_result_type: IdResultType,
2450 pub id_result: IdResult,
2451 pub tensor_layout: IdRef,
2452 pub block_size: &'a [IdRef],
2453}
2454#[derive(Clone, Copy)]
2455pub struct InstConvertUToImageNV {
2456 pub id_result_type: IdResultType,
2457 pub id_result: IdResult,
2458 pub operand: IdRef,
2459}
2460#[derive(Clone, Copy)]
2461pub struct InstConvertUToSamplerNV {
2462 pub id_result_type: IdResultType,
2463 pub id_result: IdResult,
2464 pub operand: IdRef,
2465}
2466#[derive(Clone, Copy)]
2467pub struct InstConvertImageToUNV {
2468 pub id_result_type: IdResultType,
2469 pub id_result: IdResult,
2470 pub operand: IdRef,
2471}
2472#[derive(Clone, Copy)]
2473pub struct InstConvertSamplerToUNV {
2474 pub id_result_type: IdResultType,
2475 pub id_result: IdResult,
2476 pub operand: IdRef,
2477}
2478#[derive(Clone, Copy)]
2479pub struct InstConvertUToSampledImageNV {
2480 pub id_result_type: IdResultType,
2481 pub id_result: IdResult,
2482 pub operand: IdRef,
2483}
2484#[derive(Clone, Copy)]
2485pub struct InstConvertSampledImageToUNV {
2486 pub id_result_type: IdResultType,
2487 pub id_result: IdResult,
2488 pub operand: IdRef,
2489}
2490#[derive(Clone, Copy)]
2491pub struct InstRayQueryGetIntersectionSpherePositionNV {
2492 pub id_result_type: IdResultType,
2493 pub id_result: IdResult,
2494 pub ray_query: IdRef,
2495 pub intersection: IdRef,
2496}
2497#[derive(Clone, Copy)]
2498pub struct InstRayQueryGetIntersectionSphereRadiusNV {
2499 pub id_result_type: IdResultType,
2500 pub id_result: IdResult,
2501 pub ray_query: IdRef,
2502 pub intersection: IdRef,
2503}
2504#[derive(Clone, Copy)]
2505pub struct InstRayQueryGetIntersectionLSSPositionsNV {
2506 pub id_result_type: IdResultType,
2507 pub id_result: IdResult,
2508 pub ray_query: IdRef,
2509 pub intersection: IdRef,
2510}
2511#[derive(Clone, Copy)]
2512pub struct InstRayQueryGetIntersectionLSSRadiiNV {
2513 pub id_result_type: IdResultType,
2514 pub id_result: IdResult,
2515 pub ray_query: IdRef,
2516 pub intersection: IdRef,
2517}
2518#[derive(Clone, Copy)]
2519pub struct InstRayQueryGetIntersectionLSSHitValueNV {
2520 pub id_result_type: IdResultType,
2521 pub id_result: IdResult,
2522 pub ray_query: IdRef,
2523 pub intersection: IdRef,
2524}
2525#[derive(Clone, Copy)]
2526pub struct InstHitObjectGetSpherePositionNV {
2527 pub id_result_type: IdResultType,
2528 pub id_result: IdResult,
2529 pub hit_object: IdRef,
2530}
2531#[derive(Clone, Copy)]
2532pub struct InstHitObjectGetSphereRadiusNV {
2533 pub id_result_type: IdResultType,
2534 pub id_result: IdResult,
2535 pub hit_object: IdRef,
2536}
2537#[derive(Clone, Copy)]
2538pub struct InstHitObjectGetLSSPositionsNV {
2539 pub id_result_type: IdResultType,
2540 pub id_result: IdResult,
2541 pub hit_object: IdRef,
2542}
2543#[derive(Clone, Copy)]
2544pub struct InstHitObjectGetLSSRadiiNV {
2545 pub id_result_type: IdResultType,
2546 pub id_result: IdResult,
2547 pub hit_object: IdRef,
2548}
2549#[derive(Clone, Copy)]
2550pub struct InstHitObjectIsSphereHitNV {
2551 pub id_result_type: IdResultType,
2552 pub id_result: IdResult,
2553 pub hit_object: IdRef,
2554}
2555#[derive(Clone, Copy)]
2556pub struct InstHitObjectIsLSSHitNV {
2557 pub id_result_type: IdResultType,
2558 pub id_result: IdResult,
2559 pub hit_object: IdRef,
2560}
2561#[derive(Clone, Copy)]
2562pub struct InstRayQueryIsSphereHitNV {
2563 pub id_result_type: IdResultType,
2564 pub id_result: IdResult,
2565 pub ray_query: IdRef,
2566 pub intersection: IdRef,
2567}
2568#[derive(Clone, Copy)]
2569pub struct InstRayQueryIsLSSHitNV {
2570 pub id_result_type: IdResultType,
2571 pub id_result: IdResult,
2572 pub ray_query: IdRef,
2573 pub intersection: IdRef,
2574}
2575#[derive(Clone, Copy)]
2576pub struct InstUCountLeadingZerosINTEL {
2577 pub id_result_type: IdResultType,
2578 pub id_result: IdResult,
2579 pub operand: IdRef,
2580}
2581#[derive(Clone, Copy)]
2582pub struct InstUCountTrailingZerosINTEL {
2583 pub id_result_type: IdResultType,
2584 pub id_result: IdResult,
2585 pub operand: IdRef,
2586}
2587#[derive(Clone, Copy)]
2588pub struct InstAbsISubINTEL {
2589 pub id_result_type: IdResultType,
2590 pub id_result: IdResult,
2591 pub operand_1: IdRef,
2592 pub operand_2: IdRef,
2593}
2594#[derive(Clone, Copy)]
2595pub struct InstAbsUSubINTEL {
2596 pub id_result_type: IdResultType,
2597 pub id_result: IdResult,
2598 pub operand_1: IdRef,
2599 pub operand_2: IdRef,
2600}
2601#[derive(Clone, Copy)]
2602pub struct InstIAddSatINTEL {
2603 pub id_result_type: IdResultType,
2604 pub id_result: IdResult,
2605 pub operand_1: IdRef,
2606 pub operand_2: IdRef,
2607}
2608#[derive(Clone, Copy)]
2609pub struct InstUAddSatINTEL {
2610 pub id_result_type: IdResultType,
2611 pub id_result: IdResult,
2612 pub operand_1: IdRef,
2613 pub operand_2: IdRef,
2614}
2615#[derive(Clone, Copy)]
2616pub struct InstIAverageINTEL {
2617 pub id_result_type: IdResultType,
2618 pub id_result: IdResult,
2619 pub operand_1: IdRef,
2620 pub operand_2: IdRef,
2621}
2622#[derive(Clone, Copy)]
2623pub struct InstUAverageINTEL {
2624 pub id_result_type: IdResultType,
2625 pub id_result: IdResult,
2626 pub operand_1: IdRef,
2627 pub operand_2: IdRef,
2628}
2629#[derive(Clone, Copy)]
2630pub struct InstIAverageRoundedINTEL {
2631 pub id_result_type: IdResultType,
2632 pub id_result: IdResult,
2633 pub operand_1: IdRef,
2634 pub operand_2: IdRef,
2635}
2636#[derive(Clone, Copy)]
2637pub struct InstUAverageRoundedINTEL {
2638 pub id_result_type: IdResultType,
2639 pub id_result: IdResult,
2640 pub operand_1: IdRef,
2641 pub operand_2: IdRef,
2642}
2643#[derive(Clone, Copy)]
2644pub struct InstISubSatINTEL {
2645 pub id_result_type: IdResultType,
2646 pub id_result: IdResult,
2647 pub operand_1: IdRef,
2648 pub operand_2: IdRef,
2649}
2650#[derive(Clone, Copy)]
2651pub struct InstUSubSatINTEL {
2652 pub id_result_type: IdResultType,
2653 pub id_result: IdResult,
2654 pub operand_1: IdRef,
2655 pub operand_2: IdRef,
2656}
2657#[derive(Clone, Copy)]
2658pub struct InstIMul32x16INTEL {
2659 pub id_result_type: IdResultType,
2660 pub id_result: IdResult,
2661 pub operand_1: IdRef,
2662 pub operand_2: IdRef,
2663}
2664#[derive(Clone, Copy)]
2665pub struct InstUMul32x16INTEL {
2666 pub id_result_type: IdResultType,
2667 pub id_result: IdResult,
2668 pub operand_1: IdRef,
2669 pub operand_2: IdRef,
2670}
2671#[derive(Clone, Copy)]
2672pub struct InstRayQueryGetRayTMinKHR {
2673 pub id_result_type: IdResultType,
2674 pub id_result: IdResult,
2675 pub ray_query: IdRef,
2676}
2677#[derive(Clone, Copy)]
2678pub struct InstRayQueryGetRayFlagsKHR {
2679 pub id_result_type: IdResultType,
2680 pub id_result: IdResult,
2681 pub ray_query: IdRef,
2682}
2683#[derive(Clone, Copy)]
2684pub struct InstRayQueryGetIntersectionTKHR {
2685 pub id_result_type: IdResultType,
2686 pub id_result: IdResult,
2687 pub ray_query: IdRef,
2688 pub intersection: IdRef,
2689}
2690#[derive(Clone, Copy)]
2691pub struct InstRayQueryGetIntersectionInstanceCustomIndexKHR {
2692 pub id_result_type: IdResultType,
2693 pub id_result: IdResult,
2694 pub ray_query: IdRef,
2695 pub intersection: IdRef,
2696}
2697#[derive(Clone, Copy)]
2698pub struct InstRayQueryGetIntersectionInstanceIdKHR {
2699 pub id_result_type: IdResultType,
2700 pub id_result: IdResult,
2701 pub ray_query: IdRef,
2702 pub intersection: IdRef,
2703}
2704#[derive(Clone, Copy)]
2705pub struct InstRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR {
2706 pub id_result_type: IdResultType,
2707 pub id_result: IdResult,
2708 pub ray_query: IdRef,
2709 pub intersection: IdRef,
2710}
2711#[derive(Clone, Copy)]
2712pub struct InstRayQueryGetIntersectionGeometryIndexKHR {
2713 pub id_result_type: IdResultType,
2714 pub id_result: IdResult,
2715 pub ray_query: IdRef,
2716 pub intersection: IdRef,
2717}
2718#[derive(Clone, Copy)]
2719pub struct InstRayQueryGetIntersectionPrimitiveIndexKHR {
2720 pub id_result_type: IdResultType,
2721 pub id_result: IdResult,
2722 pub ray_query: IdRef,
2723 pub intersection: IdRef,
2724}
2725#[derive(Clone, Copy)]
2726pub struct InstRayQueryGetIntersectionBarycentricsKHR {
2727 pub id_result_type: IdResultType,
2728 pub id_result: IdResult,
2729 pub ray_query: IdRef,
2730 pub intersection: IdRef,
2731}
2732#[derive(Clone, Copy)]
2733pub struct InstRayQueryGetIntersectionFrontFaceKHR {
2734 pub id_result_type: IdResultType,
2735 pub id_result: IdResult,
2736 pub ray_query: IdRef,
2737 pub intersection: IdRef,
2738}
2739#[derive(Clone, Copy)]
2740pub struct InstRayQueryGetIntersectionCandidateAABBOpaqueKHR {
2741 pub id_result_type: IdResultType,
2742 pub id_result: IdResult,
2743 pub ray_query: IdRef,
2744}
2745#[derive(Clone, Copy)]
2746pub struct InstRayQueryGetIntersectionObjectRayDirectionKHR {
2747 pub id_result_type: IdResultType,
2748 pub id_result: IdResult,
2749 pub ray_query: IdRef,
2750 pub intersection: IdRef,
2751}
2752#[derive(Clone, Copy)]
2753pub struct InstRayQueryGetIntersectionObjectRayOriginKHR {
2754 pub id_result_type: IdResultType,
2755 pub id_result: IdResult,
2756 pub ray_query: IdRef,
2757 pub intersection: IdRef,
2758}
2759#[derive(Clone, Copy)]
2760pub struct InstRayQueryGetWorldRayDirectionKHR {
2761 pub id_result_type: IdResultType,
2762 pub id_result: IdResult,
2763 pub ray_query: IdRef,
2764}
2765#[derive(Clone, Copy)]
2766pub struct InstRayQueryGetWorldRayOriginKHR {
2767 pub id_result_type: IdResultType,
2768 pub id_result: IdResult,
2769 pub ray_query: IdRef,
2770}
2771#[derive(Clone, Copy)]
2772pub struct InstRayQueryGetIntersectionObjectToWorldKHR {
2773 pub id_result_type: IdResultType,
2774 pub id_result: IdResult,
2775 pub ray_query: IdRef,
2776 pub intersection: IdRef,
2777}
2778#[derive(Clone, Copy)]
2779pub struct InstRayQueryGetIntersectionWorldToObjectKHR {
2780 pub id_result_type: IdResultType,
2781 pub id_result: IdResult,
2782 pub ray_query: IdRef,
2783 pub intersection: IdRef,
2784}
2785#[derive(Clone, Copy)]
2786pub struct InstFDot2MixAcc32VALVE {
2787 pub id_result_type: IdResultType,
2788 pub id_result: IdResult,
2789 pub vector_1: IdRef,
2790 pub vector_2: IdRef,
2791 pub accumulator: IdRef,
2792}
2793#[derive(Clone, Copy)]
2794pub struct InstFDot2MixAcc16VALVE {
2795 pub id_result_type: IdResultType,
2796 pub id_result: IdResult,
2797 pub vector_1: IdRef,
2798 pub vector_2: IdRef,
2799 pub accumulator: IdRef,
2800}
2801#[derive(Clone, Copy)]
2802pub struct InstFDot4MixAcc32VALVE {
2803 pub id_result_type: IdResultType,
2804 pub id_result: IdResult,
2805 pub vector_1: IdRef,
2806 pub vector_2: IdRef,
2807 pub accumulator: IdRef,
2808}
2809#[derive(Clone, Copy)]
2810pub struct InstTraceRayKHR {
2811 pub accel: IdRef,
2812 pub ray_flags: IdRef,
2813 pub cull_mask: IdRef,
2814 pub sbt_offset: IdRef,
2815 pub sbt_stride: IdRef,
2816 pub miss_index: IdRef,
2817 pub ray_origin: IdRef,
2818 pub ray_tmin: IdRef,
2819 pub ray_direction: IdRef,
2820 pub ray_tmax: IdRef,
2821 pub payload: IdRef,
2822}
2823#[derive(Clone, Copy)]
2824pub struct InstExecuteCallableKHR {
2825 pub sbt_index: IdRef,
2826 pub callable_data: IdRef,
2827}
2828#[derive(Clone, Copy)]
2829pub struct InstIgnoreIntersectionKHR;
2830#[derive(Clone, Copy)]
2831pub struct InstTerminateRayKHR;
2832#[derive(Clone, Copy)]
2833pub struct InstRayQueryInitializeKHR {
2834 pub ray_query: IdRef,
2835 pub accel: IdRef,
2836 pub ray_flags: IdRef,
2837 pub cull_mask: IdRef,
2838 pub ray_origin: IdRef,
2839 pub ray_tmin: IdRef,
2840 pub ray_direction: IdRef,
2841 pub ray_tmax: IdRef,
2842}
2843#[derive(Clone, Copy)]
2844pub struct InstRayQueryTerminateKHR {
2845 pub ray_query: IdRef,
2846}
2847#[derive(Clone, Copy)]
2848pub struct InstRayQueryGenerateIntersectionKHR {
2849 pub ray_query: IdRef,
2850 pub hit_t: IdRef,
2851}
2852#[derive(Clone, Copy)]
2853pub struct InstRayQueryConfirmIntersectionKHR {
2854 pub ray_query: IdRef,
2855}
2856#[derive(Clone, Copy)]
2857pub struct InstEnqueueNodePayloadsAMDX {
2858 pub payload_array: IdRef,
2859}
2860#[derive(Clone, Copy)]
2861pub struct InstHitObjectRecordHitMotionNV {
2862 pub hit_object: IdRef,
2863 pub acceleration_structure: IdRef,
2864 pub instance_id: IdRef,
2865 pub primitive_id: IdRef,
2866 pub geometry_index: IdRef,
2867 pub hit_kind: IdRef,
2868 pub sbt_record_offset: IdRef,
2869 pub sbt_record_stride: IdRef,
2870 pub origin: IdRef,
2871 pub tmin: IdRef,
2872 pub direction: IdRef,
2873 pub tmax: IdRef,
2874 pub current_time: IdRef,
2875 pub hit_object_attributes: IdRef,
2876}
2877#[derive(Clone, Copy)]
2878pub struct InstHitObjectRecordHitWithIndexMotionNV {
2879 pub hit_object: IdRef,
2880 pub acceleration_structure: IdRef,
2881 pub instance_id: IdRef,
2882 pub primitive_id: IdRef,
2883 pub geometry_index: IdRef,
2884 pub hit_kind: IdRef,
2885 pub sbt_record_index: IdRef,
2886 pub origin: IdRef,
2887 pub tmin: IdRef,
2888 pub direction: IdRef,
2889 pub tmax: IdRef,
2890 pub current_time: IdRef,
2891 pub hit_object_attributes: IdRef,
2892}
2893#[derive(Clone, Copy)]
2894pub struct InstHitObjectRecordMissMotionNV {
2895 pub hit_object: IdRef,
2896 pub sbt_index: IdRef,
2897 pub origin: IdRef,
2898 pub tmin: IdRef,
2899 pub direction: IdRef,
2900 pub tmax: IdRef,
2901 pub current_time: IdRef,
2902}
2903#[derive(Clone, Copy)]
2904pub struct InstHitObjectTraceRayMotionNV {
2905 pub hit_object: IdRef,
2906 pub acceleration_structure: IdRef,
2907 pub ray_flags: IdRef,
2908 pub cullmask: IdRef,
2909 pub sbt_record_offset: IdRef,
2910 pub sbt_record_stride: IdRef,
2911 pub miss_index: IdRef,
2912 pub origin: IdRef,
2913 pub tmin: IdRef,
2914 pub direction: IdRef,
2915 pub tmax: IdRef,
2916 pub time: IdRef,
2917 pub payload: IdRef,
2918}
2919#[derive(Clone, Copy)]
2920pub struct InstHitObjectRecordEmptyNV {
2921 pub hit_object: IdRef,
2922}
2923#[derive(Clone, Copy)]
2924pub struct InstHitObjectTraceRayNV {
2925 pub hit_object: IdRef,
2926 pub acceleration_structure: IdRef,
2927 pub ray_flags: IdRef,
2928 pub cullmask: IdRef,
2929 pub sbt_record_offset: IdRef,
2930 pub sbt_record_stride: IdRef,
2931 pub miss_index: IdRef,
2932 pub origin: IdRef,
2933 pub tmin: IdRef,
2934 pub direction: IdRef,
2935 pub tmax: IdRef,
2936 pub payload: IdRef,
2937}
2938#[derive(Clone, Copy)]
2939pub struct InstHitObjectRecordHitNV {
2940 pub hit_object: IdRef,
2941 pub acceleration_structure: IdRef,
2942 pub instance_id: IdRef,
2943 pub primitive_id: IdRef,
2944 pub geometry_index: IdRef,
2945 pub hit_kind: IdRef,
2946 pub sbt_record_offset: IdRef,
2947 pub sbt_record_stride: IdRef,
2948 pub origin: IdRef,
2949 pub tmin: IdRef,
2950 pub direction: IdRef,
2951 pub tmax: IdRef,
2952 pub hit_object_attributes: IdRef,
2953}
2954#[derive(Clone, Copy)]
2955pub struct InstHitObjectRecordHitWithIndexNV {
2956 pub hit_object: IdRef,
2957 pub acceleration_structure: IdRef,
2958 pub instance_id: IdRef,
2959 pub primitive_id: IdRef,
2960 pub geometry_index: IdRef,
2961 pub hit_kind: IdRef,
2962 pub sbt_record_index: IdRef,
2963 pub origin: IdRef,
2964 pub tmin: IdRef,
2965 pub direction: IdRef,
2966 pub tmax: IdRef,
2967 pub hit_object_attributes: IdRef,
2968}
2969#[derive(Clone, Copy)]
2970pub struct InstHitObjectRecordMissNV {
2971 pub hit_object: IdRef,
2972 pub sbt_index: IdRef,
2973 pub origin: IdRef,
2974 pub tmin: IdRef,
2975 pub direction: IdRef,
2976 pub tmax: IdRef,
2977}
2978#[derive(Clone, Copy)]
2979pub struct InstHitObjectExecuteShaderNV {
2980 pub hit_object: IdRef,
2981 pub payload: IdRef,
2982}
2983#[derive(Clone, Copy)]
2984pub struct InstHitObjectGetAttributesNV {
2985 pub hit_object: IdRef,
2986 pub hit_object_attribute: IdRef,
2987}
2988#[derive(Clone, Copy)]
2989pub struct InstReorderThreadWithHitObjectNV {
2990 pub hit_object: IdRef,
2991 pub hint: Option<IdRef>,
2992 pub bits: Option<IdRef>,
2993}
2994#[derive(Clone, Copy)]
2995pub struct InstReorderThreadWithHintNV {
2996 pub hint: IdRef,
2997 pub bits: IdRef,
2998}
2999#[derive(Clone, Copy)]
3000pub struct InstCooperativeVectorOuterProductAccumulateNV {
3001 pub pointer: IdRef,
3002 pub offset: IdRef,
3003 pub a: IdRef,
3004 pub b: IdRef,
3005 pub memory_layout: IdRef,
3006 pub matrix_interpretation: IdRef,
3007 pub matrix_stride: Option<IdRef>,
3008}
3009#[derive(Clone, Copy)]
3010pub struct InstCooperativeVectorReduceSumAccumulateNV {
3011 pub pointer: IdRef,
3012 pub offset: IdRef,
3013 pub v: IdRef,
3014}
3015#[derive(Clone, Copy)]
3016pub struct InstEmitMeshTasksEXT {
3017 pub group_count_x: IdRef,
3018 pub group_count_y: IdRef,
3019 pub group_count_z: IdRef,
3020 pub payload: Option<IdRef>,
3021}
3022#[derive(Clone, Copy)]
3023pub struct InstSetMeshOutputsEXT {
3024 pub vertex_count: IdRef,
3025 pub primitive_count: IdRef,
3026}
3027#[derive(Clone, Copy)]
3028pub struct InstWritePackedPrimitiveIndices4x8NV {
3029 pub index_offset: IdRef,
3030 pub packed_indices: IdRef,
3031}
3032#[derive(Clone, Copy)]
3033pub struct InstHitObjectRecordFromQueryEXT {
3034 pub hit_object: IdRef,
3035 pub ray_query: IdRef,
3036 pub sbt_record_index: IdRef,
3037 pub hit_object_attributes: IdRef,
3038}
3039#[derive(Clone, Copy)]
3040pub struct InstHitObjectRecordMissEXT {
3041 pub hit_object: IdRef,
3042 pub ray_flags: IdRef,
3043 pub miss_index: IdRef,
3044 pub ray_origin: IdRef,
3045 pub ray_tmin: IdRef,
3046 pub ray_direction: IdRef,
3047 pub ray_tmax: IdRef,
3048}
3049#[derive(Clone, Copy)]
3050pub struct InstHitObjectRecordMissMotionEXT {
3051 pub hit_object: IdRef,
3052 pub ray_flags: IdRef,
3053 pub miss_index: IdRef,
3054 pub ray_origin: IdRef,
3055 pub ray_tmin: IdRef,
3056 pub ray_direction: IdRef,
3057 pub ray_tmax: IdRef,
3058 pub current_time: IdRef,
3059}
3060#[derive(Clone, Copy)]
3061pub struct InstHitObjectSetShaderBindingTableRecordIndexEXT {
3062 pub hit_object: IdRef,
3063 pub sbt_record_index: IdRef,
3064}
3065#[derive(Clone, Copy)]
3066pub struct InstHitObjectReorderExecuteShaderEXT {
3067 pub hit_object: IdRef,
3068 pub payload: IdRef,
3069 pub hint: Option<IdRef>,
3070 pub bits: Option<IdRef>,
3071}
3072#[derive(Clone, Copy)]
3073pub struct InstHitObjectTraceReorderExecuteEXT {
3074 pub hit_object: IdRef,
3075 pub acceleration_structure: IdRef,
3076 pub ray_flags: IdRef,
3077 pub cull_mask: IdRef,
3078 pub sbt_offset: IdRef,
3079 pub sbt_stride: IdRef,
3080 pub miss_index: IdRef,
3081 pub ray_origin: IdRef,
3082 pub ray_tmin: IdRef,
3083 pub ray_direction: IdRef,
3084 pub ray_tmax: IdRef,
3085 pub payload: IdRef,
3086 pub hint: Option<IdRef>,
3087 pub bits: Option<IdRef>,
3088}
3089#[derive(Clone, Copy)]
3090pub struct InstHitObjectTraceMotionReorderExecuteEXT {
3091 pub hit_object: IdRef,
3092 pub acceleration_structure: IdRef,
3093 pub ray_flags: IdRef,
3094 pub cull_mask: IdRef,
3095 pub sbt_offset: IdRef,
3096 pub sbt_stride: IdRef,
3097 pub miss_index: IdRef,
3098 pub ray_origin: IdRef,
3099 pub ray_tmin: IdRef,
3100 pub ray_direction: IdRef,
3101 pub ray_tmax: IdRef,
3102 pub current_time: IdRef,
3103 pub payload: IdRef,
3104 pub hint: Option<IdRef>,
3105 pub bits: Option<IdRef>,
3106}
3107#[derive(Clone, Copy)]
3108pub struct InstReorderThreadWithHintEXT {
3109 pub hint: IdRef,
3110 pub bits: IdRef,
3111}
3112#[derive(Clone, Copy)]
3113pub struct InstReorderThreadWithHitObjectEXT {
3114 pub hit_object: IdRef,
3115 pub hint: Option<IdRef>,
3116 pub bits: Option<IdRef>,
3117}
3118#[derive(Clone, Copy)]
3119pub struct InstHitObjectTraceRayEXT {
3120 pub hit_object: IdRef,
3121 pub acceleration_structure: IdRef,
3122 pub ray_flags: IdRef,
3123 pub cull_mask: IdRef,
3124 pub sbt_offset: IdRef,
3125 pub sbt_stride: IdRef,
3126 pub miss_index: IdRef,
3127 pub ray_origin: IdRef,
3128 pub ray_tmin: IdRef,
3129 pub ray_direction: IdRef,
3130 pub ray_tmax: IdRef,
3131 pub payload: IdRef,
3132}
3133#[derive(Clone, Copy)]
3134pub struct InstHitObjectTraceRayMotionEXT {
3135 pub hit_object: IdRef,
3136 pub acceleration_structure: IdRef,
3137 pub ray_flags: IdRef,
3138 pub cull_mask: IdRef,
3139 pub sbt_offset: IdRef,
3140 pub sbt_stride: IdRef,
3141 pub miss_index: IdRef,
3142 pub ray_origin: IdRef,
3143 pub ray_tmin: IdRef,
3144 pub ray_direction: IdRef,
3145 pub ray_tmax: IdRef,
3146 pub current_time: IdRef,
3147 pub payload: IdRef,
3148}
3149#[derive(Clone, Copy)]
3150pub struct InstHitObjectRecordEmptyEXT {
3151 pub hit_object: IdRef,
3152}
3153#[derive(Clone, Copy)]
3154pub struct InstHitObjectExecuteShaderEXT {
3155 pub hit_object: IdRef,
3156 pub payload: IdRef,
3157}
3158#[derive(Clone, Copy)]
3159pub struct InstHitObjectGetAttributesEXT {
3160 pub hit_object: IdRef,
3161 pub hit_object_attribute: IdRef,
3162}
3163#[derive(Clone, Copy)]
3164pub struct InstIgnoreIntersectionNV;
3165#[derive(Clone, Copy)]
3166pub struct InstTerminateRayNV;
3167#[derive(Clone, Copy)]
3168pub struct InstTraceNV {
3169 pub accel: IdRef,
3170 pub ray_flags: IdRef,
3171 pub cull_mask: IdRef,
3172 pub sbt_offset: IdRef,
3173 pub sbt_stride: IdRef,
3174 pub miss_index: IdRef,
3175 pub ray_origin: IdRef,
3176 pub ray_tmin: IdRef,
3177 pub ray_direction: IdRef,
3178 pub ray_tmax: IdRef,
3179 pub payload_id: IdRef,
3180}
3181#[derive(Clone, Copy)]
3182pub struct InstTraceMotionNV {
3183 pub accel: IdRef,
3184 pub ray_flags: IdRef,
3185 pub cull_mask: IdRef,
3186 pub sbt_offset: IdRef,
3187 pub sbt_stride: IdRef,
3188 pub miss_index: IdRef,
3189 pub ray_origin: IdRef,
3190 pub ray_tmin: IdRef,
3191 pub ray_direction: IdRef,
3192 pub ray_tmax: IdRef,
3193 pub time: IdRef,
3194 pub payload_id: IdRef,
3195}
3196#[derive(Clone, Copy)]
3197pub struct InstTraceRayMotionNV {
3198 pub accel: IdRef,
3199 pub ray_flags: IdRef,
3200 pub cull_mask: IdRef,
3201 pub sbt_offset: IdRef,
3202 pub sbt_stride: IdRef,
3203 pub miss_index: IdRef,
3204 pub ray_origin: IdRef,
3205 pub ray_tmin: IdRef,
3206 pub ray_direction: IdRef,
3207 pub ray_tmax: IdRef,
3208 pub time: IdRef,
3209 pub payload: IdRef,
3210}
3211#[derive(Clone, Copy)]
3212pub struct InstExecuteCallableNV {
3213 pub sbt_index: IdRef,
3214 pub callable_data_id: IdRef,
3215}
3216#[derive(Clone, Copy)]
3217pub struct InstCooperativeMatrixStoreNV {
3218 pub pointer: IdRef,
3219 pub object: IdRef,
3220 pub stride: IdRef,
3221 pub column_major: IdRef,
3222 pub memory_access: Option<MemoryAccess>,
3223}
3224#[derive(Clone, Copy)]
3225pub struct InstBeginInvocationInterlockEXT;
3226#[derive(Clone, Copy)]
3227pub struct InstEndInvocationInterlockEXT;
3228#[derive(Clone, Copy)]
3229pub struct InstSamplerImageAddressingModeNV {
3230 pub bit_width: LiteralInteger,
3231}
3232#[derive(Clone, Copy)]
3233pub struct InstLoopControlINTEL<'a> {
3234 pub loop_control_parameters: &'a [LiteralInteger],
3235}
3236#[derive(Clone, Copy)]
3237pub struct InstUndef {
3238 pub id_result_type: IdResultType,
3239 pub id_result: IdResult,
3240}
3241#[derive(Clone, Copy)]
3242pub struct InstSizeOf {
3243 pub id_result_type: IdResultType,
3244 pub id_result: IdResult,
3245 pub pointer: IdRef,
3246}
3247#[derive(Clone, Copy)]
3248pub struct InstCooperativeMatrixLengthKHR {
3249 pub id_result_type: IdResultType,
3250 pub id_result: IdResult,
3251 pub ty: IdRef,
3252}
3253#[derive(Clone, Copy)]
3254pub struct InstPoisonKHR {
3255 pub id_result_type: IdResultType,
3256 pub id_result: IdResult,
3257}
3258#[derive(Clone, Copy)]
3259pub struct InstFreezeKHR {
3260 pub id_result_type: IdResultType,
3261 pub id_result: IdResult,
3262 pub value: IdRef,
3263}
3264#[derive(Clone, Copy)]
3265pub struct InstExpectKHR {
3266 pub id_result_type: IdResultType,
3267 pub id_result: IdResult,
3268 pub value: IdRef,
3269 pub expected_value: IdRef,
3270}
3271#[derive(Clone, Copy)]
3272pub struct InstArithmeticFenceEXT {
3273 pub id_result_type: IdResultType,
3274 pub id_result: IdResult,
3275 pub target: IdRef,
3276}
3277#[derive(Clone, Copy)]
3278pub struct InstNop;
3279#[derive(Clone, Copy)]
3280pub struct InstAssumeTrueKHR {
3281 pub condition: IdRef,
3282}
3283#[derive(Clone, Copy)]
3284pub struct InstDPdx {
3285 pub id_result_type: IdResultType,
3286 pub id_result: IdResult,
3287 pub p: IdRef,
3288}
3289#[derive(Clone, Copy)]
3290pub struct InstDPdy {
3291 pub id_result_type: IdResultType,
3292 pub id_result: IdResult,
3293 pub p: IdRef,
3294}
3295#[derive(Clone, Copy)]
3296pub struct InstFwidth {
3297 pub id_result_type: IdResultType,
3298 pub id_result: IdResult,
3299 pub p: IdRef,
3300}
3301#[derive(Clone, Copy)]
3302pub struct InstDPdxFine {
3303 pub id_result_type: IdResultType,
3304 pub id_result: IdResult,
3305 pub p: IdRef,
3306}
3307#[derive(Clone, Copy)]
3308pub struct InstDPdyFine {
3309 pub id_result_type: IdResultType,
3310 pub id_result: IdResult,
3311 pub p: IdRef,
3312}
3313#[derive(Clone, Copy)]
3314pub struct InstFwidthFine {
3315 pub id_result_type: IdResultType,
3316 pub id_result: IdResult,
3317 pub p: IdRef,
3318}
3319#[derive(Clone, Copy)]
3320pub struct InstDPdxCoarse {
3321 pub id_result_type: IdResultType,
3322 pub id_result: IdResult,
3323 pub p: IdRef,
3324}
3325#[derive(Clone, Copy)]
3326pub struct InstDPdyCoarse {
3327 pub id_result_type: IdResultType,
3328 pub id_result: IdResult,
3329 pub p: IdRef,
3330}
3331#[derive(Clone, Copy)]
3332pub struct InstFwidthCoarse {
3333 pub id_result_type: IdResultType,
3334 pub id_result: IdResult,
3335 pub p: IdRef,
3336}
3337#[derive(Clone, Copy)]
3338pub struct InstFunction {
3339 pub id_result_type: IdResultType,
3340 pub id_result: IdResult,
3341 pub function_control: FunctionControl,
3342 pub function_type: IdRef,
3343}
3344#[derive(Clone, Copy)]
3345pub struct InstFunctionParameter {
3346 pub id_result_type: IdResultType,
3347 pub id_result: IdResult,
3348}
3349#[derive(Clone, Copy)]
3350pub struct InstFunctionCall<'a> {
3351 pub id_result_type: IdResultType,
3352 pub id_result: IdResult,
3353 pub function: IdRef,
3354 pub arguments: &'a [IdRef],
3355}
3356#[derive(Clone, Copy)]
3357pub struct InstCooperativeMatrixPerElementOpNV<'a> {
3358 pub id_result_type: IdResultType,
3359 pub id_result: IdResult,
3360 pub matrix: IdRef,
3361 pub func: IdRef,
3362 pub operands: &'a [IdRef],
3363}
3364#[derive(Clone, Copy)]
3365pub struct InstFunctionEnd;
3366#[derive(Clone, Copy)]
3367pub struct InstSampledImage {
3368 pub id_result_type: IdResultType,
3369 pub id_result: IdResult,
3370 pub image: IdRef,
3371 pub sampler: IdRef,
3372}
3373#[derive(Clone, Copy)]
3374pub struct InstImageSampleImplicitLod {
3375 pub id_result_type: IdResultType,
3376 pub id_result: IdResult,
3377 pub sampled_image: IdRef,
3378 pub coordinate: IdRef,
3379 pub image_operands: Option<ImageOperands>,
3380}
3381#[derive(Clone, Copy)]
3382pub struct InstImageSampleExplicitLod {
3383 pub id_result_type: IdResultType,
3384 pub id_result: IdResult,
3385 pub sampled_image: IdRef,
3386 pub coordinate: IdRef,
3387 pub image_operands: ImageOperands,
3388}
3389#[derive(Clone, Copy)]
3390pub struct InstImageSampleDrefImplicitLod {
3391 pub id_result_type: IdResultType,
3392 pub id_result: IdResult,
3393 pub sampled_image: IdRef,
3394 pub coordinate: IdRef,
3395 pub dref: IdRef,
3396 pub image_operands: Option<ImageOperands>,
3397}
3398#[derive(Clone, Copy)]
3399pub struct InstImageSampleDrefExplicitLod {
3400 pub id_result_type: IdResultType,
3401 pub id_result: IdResult,
3402 pub sampled_image: IdRef,
3403 pub coordinate: IdRef,
3404 pub dref: IdRef,
3405 pub image_operands: ImageOperands,
3406}
3407#[derive(Clone, Copy)]
3408pub struct InstImageSampleProjImplicitLod {
3409 pub id_result_type: IdResultType,
3410 pub id_result: IdResult,
3411 pub sampled_image: IdRef,
3412 pub coordinate: IdRef,
3413 pub image_operands: Option<ImageOperands>,
3414}
3415#[derive(Clone, Copy)]
3416pub struct InstImageSampleProjExplicitLod {
3417 pub id_result_type: IdResultType,
3418 pub id_result: IdResult,
3419 pub sampled_image: IdRef,
3420 pub coordinate: IdRef,
3421 pub image_operands: ImageOperands,
3422}
3423#[derive(Clone, Copy)]
3424pub struct InstImageSampleProjDrefImplicitLod {
3425 pub id_result_type: IdResultType,
3426 pub id_result: IdResult,
3427 pub sampled_image: IdRef,
3428 pub coordinate: IdRef,
3429 pub dref: IdRef,
3430 pub image_operands: Option<ImageOperands>,
3431}
3432#[derive(Clone, Copy)]
3433pub struct InstImageSampleProjDrefExplicitLod {
3434 pub id_result_type: IdResultType,
3435 pub id_result: IdResult,
3436 pub sampled_image: IdRef,
3437 pub coordinate: IdRef,
3438 pub dref: IdRef,
3439 pub image_operands: ImageOperands,
3440}
3441#[derive(Clone, Copy)]
3442pub struct InstImageFetch {
3443 pub id_result_type: IdResultType,
3444 pub id_result: IdResult,
3445 pub image: IdRef,
3446 pub coordinate: IdRef,
3447 pub image_operands: Option<ImageOperands>,
3448}
3449#[derive(Clone, Copy)]
3450pub struct InstImageGather {
3451 pub id_result_type: IdResultType,
3452 pub id_result: IdResult,
3453 pub sampled_image: IdRef,
3454 pub coordinate: IdRef,
3455 pub component: IdRef,
3456 pub image_operands: Option<ImageOperands>,
3457}
3458#[derive(Clone, Copy)]
3459pub struct InstImageDrefGather {
3460 pub id_result_type: IdResultType,
3461 pub id_result: IdResult,
3462 pub sampled_image: IdRef,
3463 pub coordinate: IdRef,
3464 pub dref: IdRef,
3465 pub image_operands: Option<ImageOperands>,
3466}
3467#[derive(Clone, Copy)]
3468pub struct InstImageRead {
3469 pub id_result_type: IdResultType,
3470 pub id_result: IdResult,
3471 pub image: IdRef,
3472 pub coordinate: IdRef,
3473 pub image_operands: Option<ImageOperands>,
3474}
3475#[derive(Clone, Copy)]
3476pub struct InstImage {
3477 pub id_result_type: IdResultType,
3478 pub id_result: IdResult,
3479 pub sampled_image: IdRef,
3480}
3481#[derive(Clone, Copy)]
3482pub struct InstImageQueryFormat {
3483 pub id_result_type: IdResultType,
3484 pub id_result: IdResult,
3485 pub image: IdRef,
3486}
3487#[derive(Clone, Copy)]
3488pub struct InstImageQueryOrder {
3489 pub id_result_type: IdResultType,
3490 pub id_result: IdResult,
3491 pub image: IdRef,
3492}
3493#[derive(Clone, Copy)]
3494pub struct InstImageQuerySizeLod {
3495 pub id_result_type: IdResultType,
3496 pub id_result: IdResult,
3497 pub image: IdRef,
3498 pub level_of_detail: IdRef,
3499}
3500#[derive(Clone, Copy)]
3501pub struct InstImageQuerySize {
3502 pub id_result_type: IdResultType,
3503 pub id_result: IdResult,
3504 pub image: IdRef,
3505}
3506#[derive(Clone, Copy)]
3507pub struct InstImageQueryLod {
3508 pub id_result_type: IdResultType,
3509 pub id_result: IdResult,
3510 pub sampled_image: IdRef,
3511 pub coordinate: IdRef,
3512}
3513#[derive(Clone, Copy)]
3514pub struct InstImageQueryLevels {
3515 pub id_result_type: IdResultType,
3516 pub id_result: IdResult,
3517 pub image: IdRef,
3518}
3519#[derive(Clone, Copy)]
3520pub struct InstImageQuerySamples {
3521 pub id_result_type: IdResultType,
3522 pub id_result: IdResult,
3523 pub image: IdRef,
3524}
3525#[derive(Clone, Copy)]
3526pub struct InstImageSparseSampleImplicitLod {
3527 pub id_result_type: IdResultType,
3528 pub id_result: IdResult,
3529 pub sampled_image: IdRef,
3530 pub coordinate: IdRef,
3531 pub image_operands: Option<ImageOperands>,
3532}
3533#[derive(Clone, Copy)]
3534pub struct InstImageSparseSampleExplicitLod {
3535 pub id_result_type: IdResultType,
3536 pub id_result: IdResult,
3537 pub sampled_image: IdRef,
3538 pub coordinate: IdRef,
3539 pub image_operands: ImageOperands,
3540}
3541#[derive(Clone, Copy)]
3542pub struct InstImageSparseSampleDrefImplicitLod {
3543 pub id_result_type: IdResultType,
3544 pub id_result: IdResult,
3545 pub sampled_image: IdRef,
3546 pub coordinate: IdRef,
3547 pub dref: IdRef,
3548 pub image_operands: Option<ImageOperands>,
3549}
3550#[derive(Clone, Copy)]
3551pub struct InstImageSparseSampleDrefExplicitLod {
3552 pub id_result_type: IdResultType,
3553 pub id_result: IdResult,
3554 pub sampled_image: IdRef,
3555 pub coordinate: IdRef,
3556 pub dref: IdRef,
3557 pub image_operands: ImageOperands,
3558}
3559#[derive(Clone, Copy)]
3560pub struct InstImageSparseSampleProjImplicitLod {
3561 pub id_result_type: IdResultType,
3562 pub id_result: IdResult,
3563 pub sampled_image: IdRef,
3564 pub coordinate: IdRef,
3565 pub image_operands: Option<ImageOperands>,
3566}
3567#[derive(Clone, Copy)]
3568pub struct InstImageSparseSampleProjExplicitLod {
3569 pub id_result_type: IdResultType,
3570 pub id_result: IdResult,
3571 pub sampled_image: IdRef,
3572 pub coordinate: IdRef,
3573 pub image_operands: ImageOperands,
3574}
3575#[derive(Clone, Copy)]
3576pub struct InstImageSparseSampleProjDrefImplicitLod {
3577 pub id_result_type: IdResultType,
3578 pub id_result: IdResult,
3579 pub sampled_image: IdRef,
3580 pub coordinate: IdRef,
3581 pub dref: IdRef,
3582 pub image_operands: Option<ImageOperands>,
3583}
3584#[derive(Clone, Copy)]
3585pub struct InstImageSparseSampleProjDrefExplicitLod {
3586 pub id_result_type: IdResultType,
3587 pub id_result: IdResult,
3588 pub sampled_image: IdRef,
3589 pub coordinate: IdRef,
3590 pub dref: IdRef,
3591 pub image_operands: ImageOperands,
3592}
3593#[derive(Clone, Copy)]
3594pub struct InstImageSparseFetch {
3595 pub id_result_type: IdResultType,
3596 pub id_result: IdResult,
3597 pub image: IdRef,
3598 pub coordinate: IdRef,
3599 pub image_operands: Option<ImageOperands>,
3600}
3601#[derive(Clone, Copy)]
3602pub struct InstImageSparseGather {
3603 pub id_result_type: IdResultType,
3604 pub id_result: IdResult,
3605 pub sampled_image: IdRef,
3606 pub coordinate: IdRef,
3607 pub component: IdRef,
3608 pub image_operands: Option<ImageOperands>,
3609}
3610#[derive(Clone, Copy)]
3611pub struct InstImageSparseDrefGather {
3612 pub id_result_type: IdResultType,
3613 pub id_result: IdResult,
3614 pub sampled_image: IdRef,
3615 pub coordinate: IdRef,
3616 pub dref: IdRef,
3617 pub image_operands: Option<ImageOperands>,
3618}
3619#[derive(Clone, Copy)]
3620pub struct InstImageSparseTexelsResident {
3621 pub id_result_type: IdResultType,
3622 pub id_result: IdResult,
3623 pub resident_code: IdRef,
3624}
3625#[derive(Clone, Copy)]
3626pub struct InstImageSparseRead {
3627 pub id_result_type: IdResultType,
3628 pub id_result: IdResult,
3629 pub image: IdRef,
3630 pub coordinate: IdRef,
3631 pub image_operands: Option<ImageOperands>,
3632}
3633#[derive(Clone, Copy)]
3634pub struct InstColorAttachmentReadEXT {
3635 pub id_result_type: IdResultType,
3636 pub id_result: IdResult,
3637 pub attachment: IdRef,
3638 pub sample: Option<IdRef>,
3639}
3640#[derive(Clone, Copy)]
3641pub struct InstDepthAttachmentReadEXT {
3642 pub id_result_type: IdResultType,
3643 pub id_result: IdResult,
3644 pub sample: Option<IdRef>,
3645}
3646#[derive(Clone, Copy)]
3647pub struct InstStencilAttachmentReadEXT {
3648 pub id_result_type: IdResultType,
3649 pub id_result: IdResult,
3650 pub sample: Option<IdRef>,
3651}
3652#[derive(Clone, Copy)]
3653pub struct InstImageSampleWeightedQCOM {
3654 pub id_result_type: IdResultType,
3655 pub id_result: IdResult,
3656 pub texture: IdRef,
3657 pub coordinates: IdRef,
3658 pub weights: IdRef,
3659}
3660#[derive(Clone, Copy)]
3661pub struct InstImageBoxFilterQCOM {
3662 pub id_result_type: IdResultType,
3663 pub id_result: IdResult,
3664 pub texture: IdRef,
3665 pub coordinates: IdRef,
3666 pub box_size: IdRef,
3667}
3668#[derive(Clone, Copy)]
3669pub struct InstImageBlockMatchSSDQCOM {
3670 pub id_result_type: IdResultType,
3671 pub id_result: IdResult,
3672 pub target: IdRef,
3673 pub target_coordinates: IdRef,
3674 pub reference: IdRef,
3675 pub reference_coordinates: IdRef,
3676 pub block_size: IdRef,
3677}
3678#[derive(Clone, Copy)]
3679pub struct InstImageBlockMatchSADQCOM {
3680 pub id_result_type: IdResultType,
3681 pub id_result: IdResult,
3682 pub target: IdRef,
3683 pub target_coordinates: IdRef,
3684 pub reference: IdRef,
3685 pub reference_coordinates: IdRef,
3686 pub block_size: IdRef,
3687}
3688#[derive(Clone, Copy)]
3689pub struct InstImageBlockMatchWindowSSDQCOM {
3690 pub id_result_type: IdResultType,
3691 pub id_result: IdResult,
3692 pub target_sampled_image: IdRef,
3693 pub target_coordinates: IdRef,
3694 pub reference_sampled_image: IdRef,
3695 pub reference_coordinates: IdRef,
3696 pub block_size: IdRef,
3697}
3698#[derive(Clone, Copy)]
3699pub struct InstImageBlockMatchWindowSADQCOM {
3700 pub id_result_type: IdResultType,
3701 pub id_result: IdResult,
3702 pub target_sampled_image: IdRef,
3703 pub target_coordinates: IdRef,
3704 pub reference_sampled_image: IdRef,
3705 pub reference_coordinates: IdRef,
3706 pub block_size: IdRef,
3707}
3708#[derive(Clone, Copy)]
3709pub struct InstImageBlockMatchGatherSSDQCOM {
3710 pub id_result_type: IdResultType,
3711 pub id_result: IdResult,
3712 pub target_sampled_image: IdRef,
3713 pub target_coordinates: IdRef,
3714 pub reference_sampled_image: IdRef,
3715 pub reference_coordinates: IdRef,
3716 pub block_size: IdRef,
3717}
3718#[derive(Clone, Copy)]
3719pub struct InstImageBlockMatchGatherSADQCOM {
3720 pub id_result_type: IdResultType,
3721 pub id_result: IdResult,
3722 pub target_sampled_image: IdRef,
3723 pub target_coordinates: IdRef,
3724 pub reference_sampled_image: IdRef,
3725 pub reference_coordinates: IdRef,
3726 pub block_size: IdRef,
3727}
3728#[derive(Clone, Copy)]
3729pub struct InstImageSampleFootprintNV {
3730 pub id_result_type: IdResultType,
3731 pub id_result: IdResult,
3732 pub sampled_image: IdRef,
3733 pub coordinate: IdRef,
3734 pub granularity: IdRef,
3735 pub coarse: IdRef,
3736 pub image_operands: Option<ImageOperands>,
3737}
3738#[derive(Clone, Copy)]
3739pub struct InstConvertHandleToImageINTEL {
3740 pub id_result_type: IdResultType,
3741 pub id_result: IdResult,
3742 pub operand: IdRef,
3743}
3744#[derive(Clone, Copy)]
3745pub struct InstConvertHandleToSamplerINTEL {
3746 pub id_result_type: IdResultType,
3747 pub id_result: IdResult,
3748 pub operand: IdRef,
3749}
3750#[derive(Clone, Copy)]
3751pub struct InstConvertHandleToSampledImageINTEL {
3752 pub id_result_type: IdResultType,
3753 pub id_result: IdResult,
3754 pub operand: IdRef,
3755}
3756#[derive(Clone, Copy)]
3757pub struct InstImageWrite {
3758 pub image: IdRef,
3759 pub coordinate: IdRef,
3760 pub texel: IdRef,
3761 pub image_operands: Option<ImageOperands>,
3762}
3763#[derive(Clone, Copy)]
3764pub struct InstPhi<'a> {
3765 pub id_result_type: IdResultType,
3766 pub id_result: IdResult,
3767 pub variables: &'a [PairIdRefIdRef],
3768}
3769#[derive(Clone, Copy)]
3770pub struct InstLabel {
3771 pub id_result: IdResult,
3772}
3773#[derive(Clone, Copy)]
3774pub struct InstLoopMerge {
3775 pub merge_block: IdRef,
3776 pub continue_target: IdRef,
3777 pub loop_control: LoopControl,
3778}
3779#[derive(Clone, Copy)]
3780pub struct InstSelectionMerge {
3781 pub merge_block: IdRef,
3782 pub selection_control: SelectionControl,
3783}
3784#[derive(Clone, Copy)]
3785pub struct InstBranch {
3786 pub target_label: IdRef,
3787}
3788#[derive(Clone, Copy)]
3789pub struct InstBranchConditional<'a> {
3790 pub condition: IdRef,
3791 pub true_label: IdRef,
3792 pub false_label: IdRef,
3793 pub branch_weights: &'a [LiteralInteger],
3794}
3795#[derive(Clone, Copy)]
3796pub struct InstSwitch<'a> {
3797 pub selector: IdRef,
3798 pub default: IdRef,
3799 pub target: &'a [PairLiteralIntegerIdRef],
3800}
3801#[derive(Clone, Copy)]
3802pub struct InstKill;
3803#[derive(Clone, Copy)]
3804pub struct InstReturn;
3805#[derive(Clone, Copy)]
3806pub struct InstReturnValue {
3807 pub value: IdRef,
3808}
3809#[derive(Clone, Copy)]
3810pub struct InstUnreachable;
3811#[derive(Clone, Copy)]
3812pub struct InstLifetimeStart {
3813 pub pointer: IdRef,
3814 pub size: LiteralInteger,
3815}
3816#[derive(Clone, Copy)]
3817pub struct InstLifetimeStop {
3818 pub pointer: IdRef,
3819 pub size: LiteralInteger,
3820}
3821#[derive(Clone, Copy)]
3822pub struct InstTerminateInvocation;
3823#[derive(Clone, Copy)]
3824pub struct InstAbortKHR {
3825 pub message_type: IdRef,
3826 pub message: IdRef,
3827}
3828#[derive(Clone, Copy)]
3829pub struct InstDemoteToHelperInvocation;
3830#[derive(Clone, Copy)]
3831pub struct InstVectorExtractDynamic {
3832 pub id_result_type: IdResultType,
3833 pub id_result: IdResult,
3834 pub vector: IdRef,
3835 pub index: IdRef,
3836}
3837#[derive(Clone, Copy)]
3838pub struct InstVectorInsertDynamic {
3839 pub id_result_type: IdResultType,
3840 pub id_result: IdResult,
3841 pub vector: IdRef,
3842 pub component: IdRef,
3843 pub index: IdRef,
3844}
3845#[derive(Clone, Copy)]
3846pub struct InstVectorShuffle<'a> {
3847 pub id_result_type: IdResultType,
3848 pub id_result: IdResult,
3849 pub vector_1: IdRef,
3850 pub vector_2: IdRef,
3851 pub components: &'a [LiteralInteger],
3852}
3853#[derive(Clone, Copy)]
3854pub struct InstCompositeConstruct<'a> {
3855 pub id_result_type: IdResultType,
3856 pub id_result: IdResult,
3857 pub constituents: &'a [IdRef],
3858}
3859#[derive(Clone, Copy)]
3860pub struct InstCompositeExtract<'a> {
3861 pub id_result_type: IdResultType,
3862 pub id_result: IdResult,
3863 pub composite: IdRef,
3864 pub indexes: &'a [LiteralInteger],
3865}
3866#[derive(Clone, Copy)]
3867pub struct InstCompositeInsert<'a> {
3868 pub id_result_type: IdResultType,
3869 pub id_result: IdResult,
3870 pub object: IdRef,
3871 pub composite: IdRef,
3872 pub indexes: &'a [LiteralInteger],
3873}
3874#[derive(Clone, Copy)]
3875pub struct InstCopyObject {
3876 pub id_result_type: IdResultType,
3877 pub id_result: IdResult,
3878 pub operand: IdRef,
3879}
3880#[derive(Clone, Copy)]
3881pub struct InstTranspose {
3882 pub id_result_type: IdResultType,
3883 pub id_result: IdResult,
3884 pub matrix: IdRef,
3885}
3886#[derive(Clone, Copy)]
3887pub struct InstCopyLogical {
3888 pub id_result_type: IdResultType,
3889 pub id_result: IdResult,
3890 pub operand: IdRef,
3891}
3892#[derive(Clone, Copy)]
3893pub struct InstCompositeConstructReplicateEXT {
3894 pub id_result_type: IdResultType,
3895 pub id_result: IdResult,
3896 pub value: IdRef,
3897}
3898#[derive(Clone, Copy)]
3899pub struct InstCompositeConstructCoopMatQCOM {
3900 pub id_result_type: IdResultType,
3901 pub id_result: IdResult,
3902 pub source_array: IdRef,
3903}
3904#[derive(Clone, Copy)]
3905pub struct InstCompositeExtractCoopMatQCOM {
3906 pub id_result_type: IdResultType,
3907 pub id_result: IdResult,
3908 pub source_cooperative_matrix: IdRef,
3909}
3910#[derive(Clone, Copy)]
3911pub struct InstExtractSubArrayQCOM {
3912 pub id_result_type: IdResultType,
3913 pub id_result: IdResult,
3914 pub source_array: IdRef,
3915 pub index: IdRef,
3916}
3917#[derive(Clone, Copy)]
3918pub struct InstCompositeConstructContinuedINTEL<'a> {
3919 pub id_result_type: IdResultType,
3920 pub id_result: IdResult,
3921 pub constituents: &'a [IdRef],
3922}
3923#[derive(Clone, Copy)]
3924pub struct InstConditionalCopyObjectINTEL<'a> {
3925 pub id_result_type: IdResultType,
3926 pub id_result: IdResult,
3927 pub conditions_and_operands_and: &'a [IdRef],
3928}
3929#[derive(Clone, Copy)]
3930pub struct InstConstantTrue {
3931 pub id_result_type: IdResultType,
3932 pub id_result: IdResult,
3933}
3934#[derive(Clone, Copy)]
3935pub struct InstConstantFalse {
3936 pub id_result_type: IdResultType,
3937 pub id_result: IdResult,
3938}
3939#[derive(Clone, Copy)]
3940pub struct InstConstant {
3941 pub id_result_type: IdResultType,
3942 pub id_result: IdResult,
3943 pub value: LiteralContextDependentNumber,
3944}
3945#[derive(Clone, Copy)]
3946pub struct InstConstantComposite<'a> {
3947 pub id_result_type: IdResultType,
3948 pub id_result: IdResult,
3949 pub constituents: &'a [IdRef],
3950}
3951#[derive(Clone, Copy)]
3952pub struct InstConstantSampler {
3953 pub id_result_type: IdResultType,
3954 pub id_result: IdResult,
3955 pub sampler_addressing_mode: SamplerAddressingMode,
3956 pub param: LiteralInteger,
3957 pub sampler_filter_mode: SamplerFilterMode,
3958}
3959#[derive(Clone, Copy)]
3960pub struct InstConstantNull {
3961 pub id_result_type: IdResultType,
3962 pub id_result: IdResult,
3963}
3964#[derive(Clone, Copy)]
3965pub struct InstSpecConstantTrue {
3966 pub id_result_type: IdResultType,
3967 pub id_result: IdResult,
3968}
3969#[derive(Clone, Copy)]
3970pub struct InstSpecConstantFalse {
3971 pub id_result_type: IdResultType,
3972 pub id_result: IdResult,
3973}
3974#[derive(Clone, Copy)]
3975pub struct InstSpecConstant {
3976 pub id_result_type: IdResultType,
3977 pub id_result: IdResult,
3978 pub value: LiteralContextDependentNumber,
3979}
3980#[derive(Clone, Copy)]
3981pub struct InstSpecConstantComposite<'a> {
3982 pub id_result_type: IdResultType,
3983 pub id_result: IdResult,
3984 pub constituents: &'a [IdRef],
3985}
3986#[derive(Clone, Copy)]
3987pub struct InstSpecConstantOp<'a> {
3988 pub id_result_type: IdResultType,
3989 pub id_result: IdResult,
3990 pub opcode: LiteralSpecConstantOpInteger<'a>,
3991}
3992#[derive(Clone, Copy)]
3993pub struct InstConstantCompositeReplicateEXT {
3994 pub id_result_type: IdResultType,
3995 pub id_result: IdResult,
3996 pub value: IdRef,
3997}
3998#[derive(Clone, Copy)]
3999pub struct InstSpecConstantCompositeReplicateEXT {
4000 pub id_result_type: IdResultType,
4001 pub id_result: IdResult,
4002 pub value: IdRef,
4003}
4004#[derive(Clone, Copy)]
4005pub struct InstConstantSizeOfEXT {
4006 pub id_result_type: IdResultType,
4007 pub id_result: IdResult,
4008 pub ty: IdRef,
4009}
4010#[derive(Clone, Copy)]
4011pub struct InstConstantDataKHR<'a> {
4012 pub id_result_type: IdResultType,
4013 pub id_result: IdResult,
4014 pub data: LiteralString<'a>,
4015}
4016#[derive(Clone, Copy)]
4017pub struct InstSpecConstantDataKHR<'a> {
4018 pub id_result_type: IdResultType,
4019 pub id_result: IdResult,
4020 pub data: LiteralString<'a>,
4021}
4022#[derive(Clone, Copy)]
4023pub struct InstSpecConstantTargetINTEL<'a> {
4024 pub id_result_type: IdResultType,
4025 pub id_result: IdResult,
4026 pub target: LiteralInteger,
4027 pub features: &'a [LiteralInteger],
4028}
4029#[derive(Clone, Copy)]
4030pub struct InstSpecConstantArchitectureINTEL {
4031 pub id_result_type: IdResultType,
4032 pub id_result: IdResult,
4033 pub category: LiteralInteger,
4034 pub family: LiteralInteger,
4035 pub opcode: LiteralInteger,
4036 pub architecture: LiteralInteger,
4037}
4038#[derive(Clone, Copy)]
4039pub struct InstSpecConstantCapabilitiesINTEL<'a> {
4040 pub id_result_type: IdResultType,
4041 pub id_result: IdResult,
4042 pub capabilities: &'a [Capability],
4043}
4044#[derive(Clone, Copy)]
4045pub struct InstConstantCompositeContinuedINTEL<'a> {
4046 pub constituents: &'a [IdRef],
4047}
4048#[derive(Clone, Copy)]
4049pub struct InstSpecConstantCompositeContinuedINTEL<'a> {
4050 pub constituents: &'a [IdRef],
4051}
4052#[derive(Clone, Copy)]
4053pub struct InstNamedBarrierInitialize {
4054 pub id_result_type: IdResultType,
4055 pub id_result: IdResult,
4056 pub subgroup_count: IdRef,
4057}
4058#[derive(Clone, Copy)]
4059pub struct InstControlBarrier {
4060 pub execution: IdScope,
4061 pub memory: IdScope,
4062 pub semantics: IdMemorySemantics,
4063}
4064#[derive(Clone, Copy)]
4065pub struct InstMemoryBarrier {
4066 pub memory: IdScope,
4067 pub semantics: IdMemorySemantics,
4068}
4069#[derive(Clone, Copy)]
4070pub struct InstMemoryNamedBarrier {
4071 pub named_barrier: IdRef,
4072 pub memory: IdScope,
4073 pub semantics: IdMemorySemantics,
4074}
4075#[derive(Clone, Copy)]
4076pub struct InstControlBarrierArriveINTEL {
4077 pub execution: IdScope,
4078 pub memory: IdScope,
4079 pub semantics: IdMemorySemantics,
4080}
4081#[derive(Clone, Copy)]
4082pub struct InstControlBarrierWaitINTEL {
4083 pub execution: IdScope,
4084 pub memory: IdScope,
4085 pub semantics: IdMemorySemantics,
4086}
4087#[derive(Clone, Copy)]
4088pub struct InstTypeVoid {
4089 pub id_result: IdResult,
4090}
4091#[derive(Clone, Copy)]
4092pub struct InstTypeBool {
4093 pub id_result: IdResult,
4094}
4095#[derive(Clone, Copy)]
4096pub struct InstTypeInt {
4097 pub id_result: IdResult,
4098 pub width: LiteralInteger,
4099 pub signedness: LiteralInteger,
4100}
4101#[derive(Clone, Copy)]
4102pub struct InstTypeFloat {
4103 pub id_result: IdResult,
4104 pub width: LiteralInteger,
4105 pub floating_point_encoding: Option<FPEncoding>,
4106}
4107#[derive(Clone, Copy)]
4108pub struct InstTypeVector {
4109 pub id_result: IdResult,
4110 pub component_type: IdRef,
4111 pub component_count: LiteralInteger,
4112}
4113#[derive(Clone, Copy)]
4114pub struct InstTypeMatrix {
4115 pub id_result: IdResult,
4116 pub column_type: IdRef,
4117 pub column_count: LiteralInteger,
4118}
4119#[derive(Clone, Copy)]
4120pub struct InstTypeImage {
4121 pub id_result: IdResult,
4122 pub sampled_type: IdRef,
4123 pub dim: Dim,
4124 pub depth: LiteralInteger,
4125 pub arrayed: LiteralInteger,
4126 pub ms: LiteralInteger,
4127 pub sampled: LiteralInteger,
4128 pub image_format: ImageFormat,
4129 pub access_qualifier: Option<AccessQualifier>,
4130}
4131#[derive(Clone, Copy)]
4132pub struct InstTypeSampler {
4133 pub id_result: IdResult,
4134}
4135#[derive(Clone, Copy)]
4136pub struct InstTypeSampledImage {
4137 pub id_result: IdResult,
4138 pub image_type: IdRef,
4139}
4140#[derive(Clone, Copy)]
4141pub struct InstTypeArray {
4142 pub id_result: IdResult,
4143 pub element_type: IdRef,
4144 pub length: IdRef,
4145}
4146#[derive(Clone, Copy)]
4147pub struct InstTypeRuntimeArray {
4148 pub id_result: IdResult,
4149 pub element_type: IdRef,
4150}
4151#[derive(Clone, Copy)]
4152pub struct InstTypeStruct<'a> {
4153 pub id_result: IdResult,
4154 pub member_types: &'a [IdRef],
4155}
4156#[derive(Clone, Copy)]
4157pub struct InstTypeOpaque<'a> {
4158 pub id_result: IdResult,
4159 pub the_name_of_the_opaque_type: LiteralString<'a>,
4160}
4161#[derive(Clone, Copy)]
4162pub struct InstTypePointer {
4163 pub id_result: IdResult,
4164 pub storage_class: StorageClass,
4165 pub ty: IdRef,
4166}
4167#[derive(Clone, Copy)]
4168pub struct InstTypeFunction<'a> {
4169 pub id_result: IdResult,
4170 pub return_type: IdRef,
4171 pub parameter_types: &'a [IdRef],
4172}
4173#[derive(Clone, Copy)]
4174pub struct InstTypeEvent {
4175 pub id_result: IdResult,
4176}
4177#[derive(Clone, Copy)]
4178pub struct InstTypeDeviceEvent {
4179 pub id_result: IdResult,
4180}
4181#[derive(Clone, Copy)]
4182pub struct InstTypeReserveId {
4183 pub id_result: IdResult,
4184}
4185#[derive(Clone, Copy)]
4186pub struct InstTypeQueue {
4187 pub id_result: IdResult,
4188}
4189#[derive(Clone, Copy)]
4190pub struct InstTypePipe {
4191 pub id_result: IdResult,
4192 pub qualifier: AccessQualifier,
4193}
4194#[derive(Clone, Copy)]
4195pub struct InstTypePipeStorage {
4196 pub id_result: IdResult,
4197}
4198#[derive(Clone, Copy)]
4199pub struct InstTypeNamedBarrier {
4200 pub id_result: IdResult,
4201}
4202#[derive(Clone, Copy)]
4203pub struct InstTypeTensorARM {
4204 pub id_result: IdResult,
4205 pub element_type: IdRef,
4206 pub rank: Option<IdRef>,
4207 pub shape: Option<IdRef>,
4208}
4209#[derive(Clone, Copy)]
4210pub struct InstTypeGraphARM<'a> {
4211 pub id_result: IdResult,
4212 pub num_inputs: LiteralInteger,
4213 pub in_out_types: &'a [IdRef],
4214}
4215#[derive(Clone, Copy)]
4216pub struct InstTypeUntypedPointerKHR {
4217 pub id_result: IdResult,
4218 pub storage_class: StorageClass,
4219}
4220#[derive(Clone, Copy)]
4221pub struct InstTypeCooperativeMatrixKHR {
4222 pub id_result: IdResult,
4223 pub component_type: IdRef,
4224 pub scope: IdScope,
4225 pub rows: IdRef,
4226 pub columns: IdRef,
4227 pub using: IdRef,
4228}
4229#[derive(Clone, Copy)]
4230pub struct InstTypeRayQueryKHR {
4231 pub id_result: IdResult,
4232}
4233#[derive(Clone, Copy)]
4234pub struct InstTypeBufferEXT {
4235 pub id_result: IdResult,
4236 pub storage_class: StorageClass,
4237}
4238#[derive(Clone, Copy)]
4239pub struct InstTypeHitObjectNV {
4240 pub id_result: IdResult,
4241}
4242#[derive(Clone, Copy)]
4243pub struct InstTypeVectorIdEXT {
4244 pub id_result: IdResult,
4245 pub component_type: IdRef,
4246 pub component_count: IdRef,
4247}
4248#[derive(Clone, Copy)]
4249pub struct InstTypeHitObjectEXT {
4250 pub id_result: IdResult,
4251}
4252#[derive(Clone, Copy)]
4253pub struct InstTypeAccelerationStructureKHR {
4254 pub id_result: IdResult,
4255}
4256#[derive(Clone, Copy)]
4257pub struct InstTypeCooperativeMatrixNV {
4258 pub id_result: IdResult,
4259 pub component_type: IdRef,
4260 pub execution: IdScope,
4261 pub rows: IdRef,
4262 pub columns: IdRef,
4263}
4264#[derive(Clone, Copy)]
4265pub struct InstTypeTensorLayoutNV {
4266 pub id_result: IdResult,
4267 pub dim: IdRef,
4268 pub clamp_mode: IdRef,
4269}
4270#[derive(Clone, Copy)]
4271pub struct InstTypeTensorViewNV<'a> {
4272 pub id_result: IdResult,
4273 pub dim: IdRef,
4274 pub has_dimensions: IdRef,
4275 pub p: &'a [IdRef],
4276}
4277#[derive(Clone, Copy)]
4278pub struct InstTypeBufferSurfaceINTEL {
4279 pub id_result: IdResult,
4280 pub access_qualifier: AccessQualifier,
4281}
4282#[derive(Clone, Copy)]
4283pub struct InstTypeForwardPointer {
4284 pub pointer_type: IdRef,
4285 pub storage_class: StorageClass,
4286}
4287#[derive(Clone, Copy)]
4288pub struct InstTypeStructContinuedINTEL<'a> {
4289 pub member_types: &'a [IdRef],
4290}
4291#[derive(Clone, Copy)]
4292pub struct InstAny {
4293 pub id_result_type: IdResultType,
4294 pub id_result: IdResult,
4295 pub vector: IdRef,
4296}
4297#[derive(Clone, Copy)]
4298pub struct InstAll {
4299 pub id_result_type: IdResultType,
4300 pub id_result: IdResult,
4301 pub vector: IdRef,
4302}
4303#[derive(Clone, Copy)]
4304pub struct InstIsNan {
4305 pub id_result_type: IdResultType,
4306 pub id_result: IdResult,
4307 pub x: IdRef,
4308}
4309#[derive(Clone, Copy)]
4310pub struct InstIsInf {
4311 pub id_result_type: IdResultType,
4312 pub id_result: IdResult,
4313 pub x: IdRef,
4314}
4315#[derive(Clone, Copy)]
4316pub struct InstIsFinite {
4317 pub id_result_type: IdResultType,
4318 pub id_result: IdResult,
4319 pub x: IdRef,
4320}
4321#[derive(Clone, Copy)]
4322pub struct InstIsNormal {
4323 pub id_result_type: IdResultType,
4324 pub id_result: IdResult,
4325 pub x: IdRef,
4326}
4327#[derive(Clone, Copy)]
4328pub struct InstSignBitSet {
4329 pub id_result_type: IdResultType,
4330 pub id_result: IdResult,
4331 pub x: IdRef,
4332}
4333#[derive(Clone, Copy)]
4334pub struct InstLessOrGreater {
4335 pub id_result_type: IdResultType,
4336 pub id_result: IdResult,
4337 pub x: IdRef,
4338 pub y: IdRef,
4339}
4340#[derive(Clone, Copy)]
4341pub struct InstOrdered {
4342 pub id_result_type: IdResultType,
4343 pub id_result: IdResult,
4344 pub x: IdRef,
4345 pub y: IdRef,
4346}
4347#[derive(Clone, Copy)]
4348pub struct InstUnordered {
4349 pub id_result_type: IdResultType,
4350 pub id_result: IdResult,
4351 pub x: IdRef,
4352 pub y: IdRef,
4353}
4354#[derive(Clone, Copy)]
4355pub struct InstLogicalEqual {
4356 pub id_result_type: IdResultType,
4357 pub id_result: IdResult,
4358 pub operand_1: IdRef,
4359 pub operand_2: IdRef,
4360}
4361#[derive(Clone, Copy)]
4362pub struct InstLogicalNotEqual {
4363 pub id_result_type: IdResultType,
4364 pub id_result: IdResult,
4365 pub operand_1: IdRef,
4366 pub operand_2: IdRef,
4367}
4368#[derive(Clone, Copy)]
4369pub struct InstLogicalOr {
4370 pub id_result_type: IdResultType,
4371 pub id_result: IdResult,
4372 pub operand_1: IdRef,
4373 pub operand_2: IdRef,
4374}
4375#[derive(Clone, Copy)]
4376pub struct InstLogicalAnd {
4377 pub id_result_type: IdResultType,
4378 pub id_result: IdResult,
4379 pub operand_1: IdRef,
4380 pub operand_2: IdRef,
4381}
4382#[derive(Clone, Copy)]
4383pub struct InstLogicalNot {
4384 pub id_result_type: IdResultType,
4385 pub id_result: IdResult,
4386 pub operand: IdRef,
4387}
4388#[derive(Clone, Copy)]
4389pub struct InstSelect {
4390 pub id_result_type: IdResultType,
4391 pub id_result: IdResult,
4392 pub condition: IdRef,
4393 pub object_1: IdRef,
4394 pub object_2: IdRef,
4395}
4396#[derive(Clone, Copy)]
4397pub struct InstIEqual {
4398 pub id_result_type: IdResultType,
4399 pub id_result: IdResult,
4400 pub operand_1: IdRef,
4401 pub operand_2: IdRef,
4402}
4403#[derive(Clone, Copy)]
4404pub struct InstINotEqual {
4405 pub id_result_type: IdResultType,
4406 pub id_result: IdResult,
4407 pub operand_1: IdRef,
4408 pub operand_2: IdRef,
4409}
4410#[derive(Clone, Copy)]
4411pub struct InstUGreaterThan {
4412 pub id_result_type: IdResultType,
4413 pub id_result: IdResult,
4414 pub operand_1: IdRef,
4415 pub operand_2: IdRef,
4416}
4417#[derive(Clone, Copy)]
4418pub struct InstSGreaterThan {
4419 pub id_result_type: IdResultType,
4420 pub id_result: IdResult,
4421 pub operand_1: IdRef,
4422 pub operand_2: IdRef,
4423}
4424#[derive(Clone, Copy)]
4425pub struct InstUGreaterThanEqual {
4426 pub id_result_type: IdResultType,
4427 pub id_result: IdResult,
4428 pub operand_1: IdRef,
4429 pub operand_2: IdRef,
4430}
4431#[derive(Clone, Copy)]
4432pub struct InstSGreaterThanEqual {
4433 pub id_result_type: IdResultType,
4434 pub id_result: IdResult,
4435 pub operand_1: IdRef,
4436 pub operand_2: IdRef,
4437}
4438#[derive(Clone, Copy)]
4439pub struct InstULessThan {
4440 pub id_result_type: IdResultType,
4441 pub id_result: IdResult,
4442 pub operand_1: IdRef,
4443 pub operand_2: IdRef,
4444}
4445#[derive(Clone, Copy)]
4446pub struct InstSLessThan {
4447 pub id_result_type: IdResultType,
4448 pub id_result: IdResult,
4449 pub operand_1: IdRef,
4450 pub operand_2: IdRef,
4451}
4452#[derive(Clone, Copy)]
4453pub struct InstULessThanEqual {
4454 pub id_result_type: IdResultType,
4455 pub id_result: IdResult,
4456 pub operand_1: IdRef,
4457 pub operand_2: IdRef,
4458}
4459#[derive(Clone, Copy)]
4460pub struct InstSLessThanEqual {
4461 pub id_result_type: IdResultType,
4462 pub id_result: IdResult,
4463 pub operand_1: IdRef,
4464 pub operand_2: IdRef,
4465}
4466#[derive(Clone, Copy)]
4467pub struct InstFOrdEqual {
4468 pub id_result_type: IdResultType,
4469 pub id_result: IdResult,
4470 pub operand_1: IdRef,
4471 pub operand_2: IdRef,
4472}
4473#[derive(Clone, Copy)]
4474pub struct InstFUnordEqual {
4475 pub id_result_type: IdResultType,
4476 pub id_result: IdResult,
4477 pub operand_1: IdRef,
4478 pub operand_2: IdRef,
4479}
4480#[derive(Clone, Copy)]
4481pub struct InstFOrdNotEqual {
4482 pub id_result_type: IdResultType,
4483 pub id_result: IdResult,
4484 pub operand_1: IdRef,
4485 pub operand_2: IdRef,
4486}
4487#[derive(Clone, Copy)]
4488pub struct InstFUnordNotEqual {
4489 pub id_result_type: IdResultType,
4490 pub id_result: IdResult,
4491 pub operand_1: IdRef,
4492 pub operand_2: IdRef,
4493}
4494#[derive(Clone, Copy)]
4495pub struct InstFOrdLessThan {
4496 pub id_result_type: IdResultType,
4497 pub id_result: IdResult,
4498 pub operand_1: IdRef,
4499 pub operand_2: IdRef,
4500}
4501#[derive(Clone, Copy)]
4502pub struct InstFUnordLessThan {
4503 pub id_result_type: IdResultType,
4504 pub id_result: IdResult,
4505 pub operand_1: IdRef,
4506 pub operand_2: IdRef,
4507}
4508#[derive(Clone, Copy)]
4509pub struct InstFOrdGreaterThan {
4510 pub id_result_type: IdResultType,
4511 pub id_result: IdResult,
4512 pub operand_1: IdRef,
4513 pub operand_2: IdRef,
4514}
4515#[derive(Clone, Copy)]
4516pub struct InstFUnordGreaterThan {
4517 pub id_result_type: IdResultType,
4518 pub id_result: IdResult,
4519 pub operand_1: IdRef,
4520 pub operand_2: IdRef,
4521}
4522#[derive(Clone, Copy)]
4523pub struct InstFOrdLessThanEqual {
4524 pub id_result_type: IdResultType,
4525 pub id_result: IdResult,
4526 pub operand_1: IdRef,
4527 pub operand_2: IdRef,
4528}
4529#[derive(Clone, Copy)]
4530pub struct InstFUnordLessThanEqual {
4531 pub id_result_type: IdResultType,
4532 pub id_result: IdResult,
4533 pub operand_1: IdRef,
4534 pub operand_2: IdRef,
4535}
4536#[derive(Clone, Copy)]
4537pub struct InstFOrdGreaterThanEqual {
4538 pub id_result_type: IdResultType,
4539 pub id_result: IdResult,
4540 pub operand_1: IdRef,
4541 pub operand_2: IdRef,
4542}
4543#[derive(Clone, Copy)]
4544pub struct InstFUnordGreaterThanEqual {
4545 pub id_result_type: IdResultType,
4546 pub id_result: IdResult,
4547 pub operand_1: IdRef,
4548 pub operand_2: IdRef,
4549}
4550#[derive(Clone, Copy)]
4551pub struct InstGroupAsyncCopy {
4552 pub id_result_type: IdResultType,
4553 pub id_result: IdResult,
4554 pub execution: IdScope,
4555 pub destination: IdRef,
4556 pub source: IdRef,
4557 pub num_elements: IdRef,
4558 pub stride: IdRef,
4559 pub event: IdRef,
4560}
4561#[derive(Clone, Copy)]
4562pub struct InstGroupAll {
4563 pub id_result_type: IdResultType,
4564 pub id_result: IdResult,
4565 pub execution: IdScope,
4566 pub predicate: IdRef,
4567}
4568#[derive(Clone, Copy)]
4569pub struct InstGroupAny {
4570 pub id_result_type: IdResultType,
4571 pub id_result: IdResult,
4572 pub execution: IdScope,
4573 pub predicate: IdRef,
4574}
4575#[derive(Clone, Copy)]
4576pub struct InstGroupBroadcast {
4577 pub id_result_type: IdResultType,
4578 pub id_result: IdResult,
4579 pub execution: IdScope,
4580 pub value: IdRef,
4581 pub local_id: IdRef,
4582}
4583#[derive(Clone, Copy)]
4584pub struct InstGroupIAdd {
4585 pub id_result_type: IdResultType,
4586 pub id_result: IdResult,
4587 pub execution: IdScope,
4588 pub operation: GroupOperation,
4589 pub x: IdRef,
4590}
4591#[derive(Clone, Copy)]
4592pub struct InstGroupFAdd {
4593 pub id_result_type: IdResultType,
4594 pub id_result: IdResult,
4595 pub execution: IdScope,
4596 pub operation: GroupOperation,
4597 pub x: IdRef,
4598}
4599#[derive(Clone, Copy)]
4600pub struct InstGroupFMin {
4601 pub id_result_type: IdResultType,
4602 pub id_result: IdResult,
4603 pub execution: IdScope,
4604 pub operation: GroupOperation,
4605 pub x: IdRef,
4606}
4607#[derive(Clone, Copy)]
4608pub struct InstGroupUMin {
4609 pub id_result_type: IdResultType,
4610 pub id_result: IdResult,
4611 pub execution: IdScope,
4612 pub operation: GroupOperation,
4613 pub x: IdRef,
4614}
4615#[derive(Clone, Copy)]
4616pub struct InstGroupSMin {
4617 pub id_result_type: IdResultType,
4618 pub id_result: IdResult,
4619 pub execution: IdScope,
4620 pub operation: GroupOperation,
4621 pub x: IdRef,
4622}
4623#[derive(Clone, Copy)]
4624pub struct InstGroupFMax {
4625 pub id_result_type: IdResultType,
4626 pub id_result: IdResult,
4627 pub execution: IdScope,
4628 pub operation: GroupOperation,
4629 pub x: IdRef,
4630}
4631#[derive(Clone, Copy)]
4632pub struct InstGroupUMax {
4633 pub id_result_type: IdResultType,
4634 pub id_result: IdResult,
4635 pub execution: IdScope,
4636 pub operation: GroupOperation,
4637 pub x: IdRef,
4638}
4639#[derive(Clone, Copy)]
4640pub struct InstGroupSMax {
4641 pub id_result_type: IdResultType,
4642 pub id_result: IdResult,
4643 pub execution: IdScope,
4644 pub operation: GroupOperation,
4645 pub x: IdRef,
4646}
4647#[derive(Clone, Copy)]
4648pub struct InstSubgroupBallotKHR {
4649 pub id_result_type: IdResultType,
4650 pub id_result: IdResult,
4651 pub predicate: IdRef,
4652}
4653#[derive(Clone, Copy)]
4654pub struct InstSubgroupFirstInvocationKHR {
4655 pub id_result_type: IdResultType,
4656 pub id_result: IdResult,
4657 pub value: IdRef,
4658}
4659#[derive(Clone, Copy)]
4660pub struct InstSubgroupAllKHR {
4661 pub id_result_type: IdResultType,
4662 pub id_result: IdResult,
4663 pub predicate: IdRef,
4664}
4665#[derive(Clone, Copy)]
4666pub struct InstSubgroupAnyKHR {
4667 pub id_result_type: IdResultType,
4668 pub id_result: IdResult,
4669 pub predicate: IdRef,
4670}
4671#[derive(Clone, Copy)]
4672pub struct InstSubgroupAllEqualKHR {
4673 pub id_result_type: IdResultType,
4674 pub id_result: IdResult,
4675 pub predicate: IdRef,
4676}
4677#[derive(Clone, Copy)]
4678pub struct InstGroupNonUniformRotateKHR {
4679 pub id_result_type: IdResultType,
4680 pub id_result: IdResult,
4681 pub execution: IdScope,
4682 pub value: IdRef,
4683 pub delta: IdRef,
4684 pub cluster_size: Option<IdRef>,
4685}
4686#[derive(Clone, Copy)]
4687pub struct InstSubgroupReadInvocationKHR {
4688 pub id_result_type: IdResultType,
4689 pub id_result: IdResult,
4690 pub value: IdRef,
4691 pub index: IdRef,
4692}
4693#[derive(Clone, Copy)]
4694pub struct InstUntypedGroupAsyncCopyKHR {
4695 pub id_result_type: IdResultType,
4696 pub id_result: IdResult,
4697 pub execution: IdRef,
4698 pub destination: IdRef,
4699 pub source: IdRef,
4700 pub element_num_bytes: IdRef,
4701 pub num_elements: IdRef,
4702 pub stride: IdRef,
4703 pub event: IdRef,
4704 pub destination_memory_operands: Option<MemoryAccess>,
4705 pub source_memory_operands: Option<MemoryAccess>,
4706}
4707#[derive(Clone, Copy)]
4708pub struct InstGroupIAddNonUniformAMD {
4709 pub id_result_type: IdResultType,
4710 pub id_result: IdResult,
4711 pub execution: IdScope,
4712 pub operation: GroupOperation,
4713 pub x: IdRef,
4714}
4715#[derive(Clone, Copy)]
4716pub struct InstGroupFAddNonUniformAMD {
4717 pub id_result_type: IdResultType,
4718 pub id_result: IdResult,
4719 pub execution: IdScope,
4720 pub operation: GroupOperation,
4721 pub x: IdRef,
4722}
4723#[derive(Clone, Copy)]
4724pub struct InstGroupFMinNonUniformAMD {
4725 pub id_result_type: IdResultType,
4726 pub id_result: IdResult,
4727 pub execution: IdScope,
4728 pub operation: GroupOperation,
4729 pub x: IdRef,
4730}
4731#[derive(Clone, Copy)]
4732pub struct InstGroupUMinNonUniformAMD {
4733 pub id_result_type: IdResultType,
4734 pub id_result: IdResult,
4735 pub execution: IdScope,
4736 pub operation: GroupOperation,
4737 pub x: IdRef,
4738}
4739#[derive(Clone, Copy)]
4740pub struct InstGroupSMinNonUniformAMD {
4741 pub id_result_type: IdResultType,
4742 pub id_result: IdResult,
4743 pub execution: IdScope,
4744 pub operation: GroupOperation,
4745 pub x: IdRef,
4746}
4747#[derive(Clone, Copy)]
4748pub struct InstGroupFMaxNonUniformAMD {
4749 pub id_result_type: IdResultType,
4750 pub id_result: IdResult,
4751 pub execution: IdScope,
4752 pub operation: GroupOperation,
4753 pub x: IdRef,
4754}
4755#[derive(Clone, Copy)]
4756pub struct InstGroupUMaxNonUniformAMD {
4757 pub id_result_type: IdResultType,
4758 pub id_result: IdResult,
4759 pub execution: IdScope,
4760 pub operation: GroupOperation,
4761 pub x: IdRef,
4762}
4763#[derive(Clone, Copy)]
4764pub struct InstGroupSMaxNonUniformAMD {
4765 pub id_result_type: IdResultType,
4766 pub id_result: IdResult,
4767 pub execution: IdScope,
4768 pub operation: GroupOperation,
4769 pub x: IdRef,
4770}
4771#[derive(Clone, Copy)]
4772pub struct InstSubgroupShuffleINTEL {
4773 pub id_result_type: IdResultType,
4774 pub id_result: IdResult,
4775 pub data: IdRef,
4776 pub invocation_id: IdRef,
4777}
4778#[derive(Clone, Copy)]
4779pub struct InstSubgroupShuffleDownINTEL {
4780 pub id_result_type: IdResultType,
4781 pub id_result: IdResult,
4782 pub current: IdRef,
4783 pub next: IdRef,
4784 pub delta: IdRef,
4785}
4786#[derive(Clone, Copy)]
4787pub struct InstSubgroupShuffleUpINTEL {
4788 pub id_result_type: IdResultType,
4789 pub id_result: IdResult,
4790 pub previous: IdRef,
4791 pub current: IdRef,
4792 pub delta: IdRef,
4793}
4794#[derive(Clone, Copy)]
4795pub struct InstSubgroupShuffleXorINTEL {
4796 pub id_result_type: IdResultType,
4797 pub id_result: IdResult,
4798 pub data: IdRef,
4799 pub value: IdRef,
4800}
4801#[derive(Clone, Copy)]
4802pub struct InstSubgroupBlockReadINTEL {
4803 pub id_result_type: IdResultType,
4804 pub id_result: IdResult,
4805 pub ptr: IdRef,
4806}
4807#[derive(Clone, Copy)]
4808pub struct InstSubgroupImageBlockReadINTEL {
4809 pub id_result_type: IdResultType,
4810 pub id_result: IdResult,
4811 pub image: IdRef,
4812 pub coordinate: IdRef,
4813}
4814#[derive(Clone, Copy)]
4815pub struct InstSubgroupImageMediaBlockReadINTEL {
4816 pub id_result_type: IdResultType,
4817 pub id_result: IdResult,
4818 pub image: IdRef,
4819 pub coordinate: IdRef,
4820 pub width: IdRef,
4821 pub height: IdRef,
4822}
4823#[derive(Clone, Copy)]
4824pub struct InstSubgroupMatrixMultiplyAccumulateINTEL {
4825 pub id_result_type: IdResultType,
4826 pub id_result: IdResult,
4827 pub k_dim: IdRef,
4828 pub matrix_a: IdRef,
4829 pub matrix_b: IdRef,
4830 pub matrix_c: IdRef,
4831 pub matrix_multiply_accumulate_operands: Option<MatrixMultiplyAccumulateOperands>,
4832}
4833#[derive(Clone, Copy)]
4834pub struct InstGroupIMulKHR {
4835 pub id_result_type: IdResultType,
4836 pub id_result: IdResult,
4837 pub execution: IdScope,
4838 pub operation: GroupOperation,
4839 pub x: IdRef,
4840}
4841#[derive(Clone, Copy)]
4842pub struct InstGroupFMulKHR {
4843 pub id_result_type: IdResultType,
4844 pub id_result: IdResult,
4845 pub execution: IdScope,
4846 pub operation: GroupOperation,
4847 pub x: IdRef,
4848}
4849#[derive(Clone, Copy)]
4850pub struct InstGroupBitwiseAndKHR {
4851 pub id_result_type: IdResultType,
4852 pub id_result: IdResult,
4853 pub execution: IdScope,
4854 pub operation: GroupOperation,
4855 pub x: IdRef,
4856}
4857#[derive(Clone, Copy)]
4858pub struct InstGroupBitwiseOrKHR {
4859 pub id_result_type: IdResultType,
4860 pub id_result: IdResult,
4861 pub execution: IdScope,
4862 pub operation: GroupOperation,
4863 pub x: IdRef,
4864}
4865#[derive(Clone, Copy)]
4866pub struct InstGroupBitwiseXorKHR {
4867 pub id_result_type: IdResultType,
4868 pub id_result: IdResult,
4869 pub execution: IdScope,
4870 pub operation: GroupOperation,
4871 pub x: IdRef,
4872}
4873#[derive(Clone, Copy)]
4874pub struct InstGroupLogicalAndKHR {
4875 pub id_result_type: IdResultType,
4876 pub id_result: IdResult,
4877 pub execution: IdScope,
4878 pub operation: GroupOperation,
4879 pub x: IdRef,
4880}
4881#[derive(Clone, Copy)]
4882pub struct InstGroupLogicalOrKHR {
4883 pub id_result_type: IdResultType,
4884 pub id_result: IdResult,
4885 pub execution: IdScope,
4886 pub operation: GroupOperation,
4887 pub x: IdRef,
4888}
4889#[derive(Clone, Copy)]
4890pub struct InstGroupLogicalXorKHR {
4891 pub id_result_type: IdResultType,
4892 pub id_result: IdResult,
4893 pub execution: IdScope,
4894 pub operation: GroupOperation,
4895 pub x: IdRef,
4896}
4897#[derive(Clone, Copy)]
4898pub struct InstGroupWaitEvents {
4899 pub execution: IdScope,
4900 pub num_events: IdRef,
4901 pub events_list: IdRef,
4902}
4903#[derive(Clone, Copy)]
4904pub struct InstSubgroupBlockWriteINTEL {
4905 pub ptr: IdRef,
4906 pub data: IdRef,
4907}
4908#[derive(Clone, Copy)]
4909pub struct InstSubgroupImageBlockWriteINTEL {
4910 pub image: IdRef,
4911 pub coordinate: IdRef,
4912 pub data: IdRef,
4913}
4914#[derive(Clone, Copy)]
4915pub struct InstSubgroupImageMediaBlockWriteINTEL {
4916 pub image: IdRef,
4917 pub coordinate: IdRef,
4918 pub width: IdRef,
4919 pub height: IdRef,
4920 pub data: IdRef,
4921}
4922#[derive(Clone, Copy)]
4923pub struct InstSubgroupBlockPrefetchINTEL {
4924 pub ptr: IdRef,
4925 pub num_bytes: IdRef,
4926 pub memory_access: Option<MemoryAccess>,
4927}
4928#[derive(Clone, Copy)]
4929pub struct InstSubgroup2DBlockLoadINTEL {
4930 pub element_size: IdRef,
4931 pub block_width: IdRef,
4932 pub block_height: IdRef,
4933 pub block_count: IdRef,
4934 pub src_base_pointer: IdRef,
4935 pub memory_width: IdRef,
4936 pub memory_height: IdRef,
4937 pub memory_pitch: IdRef,
4938 pub coordinate: IdRef,
4939 pub dst_pointer: IdRef,
4940}
4941#[derive(Clone, Copy)]
4942pub struct InstSubgroup2DBlockLoadTransformINTEL {
4943 pub element_size: IdRef,
4944 pub block_width: IdRef,
4945 pub block_height: IdRef,
4946 pub block_count: IdRef,
4947 pub src_base_pointer: IdRef,
4948 pub memory_width: IdRef,
4949 pub memory_height: IdRef,
4950 pub memory_pitch: IdRef,
4951 pub coordinate: IdRef,
4952 pub dst_pointer: IdRef,
4953}
4954#[derive(Clone, Copy)]
4955pub struct InstSubgroup2DBlockLoadTransposeINTEL {
4956 pub element_size: IdRef,
4957 pub block_width: IdRef,
4958 pub block_height: IdRef,
4959 pub block_count: IdRef,
4960 pub src_base_pointer: IdRef,
4961 pub memory_width: IdRef,
4962 pub memory_height: IdRef,
4963 pub memory_pitch: IdRef,
4964 pub coordinate: IdRef,
4965 pub dst_pointer: IdRef,
4966}
4967#[derive(Clone, Copy)]
4968pub struct InstSubgroup2DBlockPrefetchINTEL {
4969 pub element_size: IdRef,
4970 pub block_width: IdRef,
4971 pub block_height: IdRef,
4972 pub block_count: IdRef,
4973 pub src_base_pointer: IdRef,
4974 pub memory_width: IdRef,
4975 pub memory_height: IdRef,
4976 pub memory_pitch: IdRef,
4977 pub coordinate: IdRef,
4978}
4979#[derive(Clone, Copy)]
4980pub struct InstSubgroup2DBlockStoreINTEL {
4981 pub element_size: IdRef,
4982 pub block_width: IdRef,
4983 pub block_height: IdRef,
4984 pub block_count: IdRef,
4985 pub src_pointer: IdRef,
4986 pub dst_base_pointer: IdRef,
4987 pub memory_width: IdRef,
4988 pub memory_height: IdRef,
4989 pub memory_pitch: IdRef,
4990 pub coordinate: IdRef,
4991}
4992#[derive(Clone, Copy)]
4993pub struct InstReadPipe {
4994 pub id_result_type: IdResultType,
4995 pub id_result: IdResult,
4996 pub pipe: IdRef,
4997 pub pointer: IdRef,
4998 pub packet_size: IdRef,
4999 pub packet_alignment: IdRef,
5000}
5001#[derive(Clone, Copy)]
5002pub struct InstWritePipe {
5003 pub id_result_type: IdResultType,
5004 pub id_result: IdResult,
5005 pub pipe: IdRef,
5006 pub pointer: IdRef,
5007 pub packet_size: IdRef,
5008 pub packet_alignment: IdRef,
5009}
5010#[derive(Clone, Copy)]
5011pub struct InstReservedReadPipe {
5012 pub id_result_type: IdResultType,
5013 pub id_result: IdResult,
5014 pub pipe: IdRef,
5015 pub reserve_id: IdRef,
5016 pub index: IdRef,
5017 pub pointer: IdRef,
5018 pub packet_size: IdRef,
5019 pub packet_alignment: IdRef,
5020}
5021#[derive(Clone, Copy)]
5022pub struct InstReservedWritePipe {
5023 pub id_result_type: IdResultType,
5024 pub id_result: IdResult,
5025 pub pipe: IdRef,
5026 pub reserve_id: IdRef,
5027 pub index: IdRef,
5028 pub pointer: IdRef,
5029 pub packet_size: IdRef,
5030 pub packet_alignment: IdRef,
5031}
5032#[derive(Clone, Copy)]
5033pub struct InstReserveReadPipePackets {
5034 pub id_result_type: IdResultType,
5035 pub id_result: IdResult,
5036 pub pipe: IdRef,
5037 pub num_packets: IdRef,
5038 pub packet_size: IdRef,
5039 pub packet_alignment: IdRef,
5040}
5041#[derive(Clone, Copy)]
5042pub struct InstReserveWritePipePackets {
5043 pub id_result_type: IdResultType,
5044 pub id_result: IdResult,
5045 pub pipe: IdRef,
5046 pub num_packets: IdRef,
5047 pub packet_size: IdRef,
5048 pub packet_alignment: IdRef,
5049}
5050#[derive(Clone, Copy)]
5051pub struct InstIsValidReserveId {
5052 pub id_result_type: IdResultType,
5053 pub id_result: IdResult,
5054 pub reserve_id: IdRef,
5055}
5056#[derive(Clone, Copy)]
5057pub struct InstGetNumPipePackets {
5058 pub id_result_type: IdResultType,
5059 pub id_result: IdResult,
5060 pub pipe: IdRef,
5061 pub packet_size: IdRef,
5062 pub packet_alignment: IdRef,
5063}
5064#[derive(Clone, Copy)]
5065pub struct InstGetMaxPipePackets {
5066 pub id_result_type: IdResultType,
5067 pub id_result: IdResult,
5068 pub pipe: IdRef,
5069 pub packet_size: IdRef,
5070 pub packet_alignment: IdRef,
5071}
5072#[derive(Clone, Copy)]
5073pub struct InstGroupReserveReadPipePackets {
5074 pub id_result_type: IdResultType,
5075 pub id_result: IdResult,
5076 pub execution: IdScope,
5077 pub pipe: IdRef,
5078 pub num_packets: IdRef,
5079 pub packet_size: IdRef,
5080 pub packet_alignment: IdRef,
5081}
5082#[derive(Clone, Copy)]
5083pub struct InstGroupReserveWritePipePackets {
5084 pub id_result_type: IdResultType,
5085 pub id_result: IdResult,
5086 pub execution: IdScope,
5087 pub pipe: IdRef,
5088 pub num_packets: IdRef,
5089 pub packet_size: IdRef,
5090 pub packet_alignment: IdRef,
5091}
5092#[derive(Clone, Copy)]
5093pub struct InstConstantPipeStorage {
5094 pub id_result_type: IdResultType,
5095 pub id_result: IdResult,
5096 pub packet_size: LiteralInteger,
5097 pub packet_alignment: LiteralInteger,
5098 pub capacity: LiteralInteger,
5099}
5100#[derive(Clone, Copy)]
5101pub struct InstCreatePipeFromPipeStorage {
5102 pub id_result_type: IdResultType,
5103 pub id_result: IdResult,
5104 pub pipe_storage: IdRef,
5105}
5106#[derive(Clone, Copy)]
5107pub struct InstCommitReadPipe {
5108 pub pipe: IdRef,
5109 pub reserve_id: IdRef,
5110 pub packet_size: IdRef,
5111 pub packet_alignment: IdRef,
5112}
5113#[derive(Clone, Copy)]
5114pub struct InstCommitWritePipe {
5115 pub pipe: IdRef,
5116 pub reserve_id: IdRef,
5117 pub packet_size: IdRef,
5118 pub packet_alignment: IdRef,
5119}
5120#[derive(Clone, Copy)]
5121pub struct InstGroupCommitReadPipe {
5122 pub execution: IdScope,
5123 pub pipe: IdRef,
5124 pub reserve_id: IdRef,
5125 pub packet_size: IdRef,
5126 pub packet_alignment: IdRef,
5127}
5128#[derive(Clone, Copy)]
5129pub struct InstGroupCommitWritePipe {
5130 pub execution: IdScope,
5131 pub pipe: IdRef,
5132 pub reserve_id: IdRef,
5133 pub packet_size: IdRef,
5134 pub packet_alignment: IdRef,
5135}
5136#[derive(Clone, Copy)]
5137pub struct InstGroupNonUniformElect {
5138 pub id_result_type: IdResultType,
5139 pub id_result: IdResult,
5140 pub execution: IdScope,
5141}
5142#[derive(Clone, Copy)]
5143pub struct InstGroupNonUniformAll {
5144 pub id_result_type: IdResultType,
5145 pub id_result: IdResult,
5146 pub execution: IdScope,
5147 pub predicate: IdRef,
5148}
5149#[derive(Clone, Copy)]
5150pub struct InstGroupNonUniformAny {
5151 pub id_result_type: IdResultType,
5152 pub id_result: IdResult,
5153 pub execution: IdScope,
5154 pub predicate: IdRef,
5155}
5156#[derive(Clone, Copy)]
5157pub struct InstGroupNonUniformAllEqual {
5158 pub id_result_type: IdResultType,
5159 pub id_result: IdResult,
5160 pub execution: IdScope,
5161 pub value: IdRef,
5162}
5163#[derive(Clone, Copy)]
5164pub struct InstGroupNonUniformBroadcast {
5165 pub id_result_type: IdResultType,
5166 pub id_result: IdResult,
5167 pub execution: IdScope,
5168 pub value: IdRef,
5169 pub invocation_id: IdRef,
5170}
5171#[derive(Clone, Copy)]
5172pub struct InstGroupNonUniformBroadcastFirst {
5173 pub id_result_type: IdResultType,
5174 pub id_result: IdResult,
5175 pub execution: IdScope,
5176 pub value: IdRef,
5177}
5178#[derive(Clone, Copy)]
5179pub struct InstGroupNonUniformBallot {
5180 pub id_result_type: IdResultType,
5181 pub id_result: IdResult,
5182 pub execution: IdScope,
5183 pub predicate: IdRef,
5184}
5185#[derive(Clone, Copy)]
5186pub struct InstGroupNonUniformInverseBallot {
5187 pub id_result_type: IdResultType,
5188 pub id_result: IdResult,
5189 pub execution: IdScope,
5190 pub value: IdRef,
5191}
5192#[derive(Clone, Copy)]
5193pub struct InstGroupNonUniformBallotBitExtract {
5194 pub id_result_type: IdResultType,
5195 pub id_result: IdResult,
5196 pub execution: IdScope,
5197 pub value: IdRef,
5198 pub index: IdRef,
5199}
5200#[derive(Clone, Copy)]
5201pub struct InstGroupNonUniformBallotBitCount {
5202 pub id_result_type: IdResultType,
5203 pub id_result: IdResult,
5204 pub execution: IdScope,
5205 pub operation: GroupOperation,
5206 pub value: IdRef,
5207}
5208#[derive(Clone, Copy)]
5209pub struct InstGroupNonUniformBallotFindLSB {
5210 pub id_result_type: IdResultType,
5211 pub id_result: IdResult,
5212 pub execution: IdScope,
5213 pub value: IdRef,
5214}
5215#[derive(Clone, Copy)]
5216pub struct InstGroupNonUniformBallotFindMSB {
5217 pub id_result_type: IdResultType,
5218 pub id_result: IdResult,
5219 pub execution: IdScope,
5220 pub value: IdRef,
5221}
5222#[derive(Clone, Copy)]
5223pub struct InstGroupNonUniformShuffle {
5224 pub id_result_type: IdResultType,
5225 pub id_result: IdResult,
5226 pub execution: IdScope,
5227 pub value: IdRef,
5228 pub invocation_id: IdRef,
5229}
5230#[derive(Clone, Copy)]
5231pub struct InstGroupNonUniformShuffleXor {
5232 pub id_result_type: IdResultType,
5233 pub id_result: IdResult,
5234 pub execution: IdScope,
5235 pub value: IdRef,
5236 pub mask: IdRef,
5237}
5238#[derive(Clone, Copy)]
5239pub struct InstGroupNonUniformShuffleUp {
5240 pub id_result_type: IdResultType,
5241 pub id_result: IdResult,
5242 pub execution: IdScope,
5243 pub value: IdRef,
5244 pub delta: IdRef,
5245}
5246#[derive(Clone, Copy)]
5247pub struct InstGroupNonUniformShuffleDown {
5248 pub id_result_type: IdResultType,
5249 pub id_result: IdResult,
5250 pub execution: IdScope,
5251 pub value: IdRef,
5252 pub delta: IdRef,
5253}
5254#[derive(Clone, Copy)]
5255pub struct InstGroupNonUniformIAdd {
5256 pub id_result_type: IdResultType,
5257 pub id_result: IdResult,
5258 pub execution: IdScope,
5259 pub operation: GroupOperation,
5260 pub value: IdRef,
5261 pub cluster_size: Option<IdRef>,
5262}
5263#[derive(Clone, Copy)]
5264pub struct InstGroupNonUniformFAdd {
5265 pub id_result_type: IdResultType,
5266 pub id_result: IdResult,
5267 pub execution: IdScope,
5268 pub operation: GroupOperation,
5269 pub value: IdRef,
5270 pub cluster_size: Option<IdRef>,
5271}
5272#[derive(Clone, Copy)]
5273pub struct InstGroupNonUniformIMul {
5274 pub id_result_type: IdResultType,
5275 pub id_result: IdResult,
5276 pub execution: IdScope,
5277 pub operation: GroupOperation,
5278 pub value: IdRef,
5279 pub cluster_size: Option<IdRef>,
5280}
5281#[derive(Clone, Copy)]
5282pub struct InstGroupNonUniformFMul {
5283 pub id_result_type: IdResultType,
5284 pub id_result: IdResult,
5285 pub execution: IdScope,
5286 pub operation: GroupOperation,
5287 pub value: IdRef,
5288 pub cluster_size: Option<IdRef>,
5289}
5290#[derive(Clone, Copy)]
5291pub struct InstGroupNonUniformSMin {
5292 pub id_result_type: IdResultType,
5293 pub id_result: IdResult,
5294 pub execution: IdScope,
5295 pub operation: GroupOperation,
5296 pub value: IdRef,
5297 pub cluster_size: Option<IdRef>,
5298}
5299#[derive(Clone, Copy)]
5300pub struct InstGroupNonUniformUMin {
5301 pub id_result_type: IdResultType,
5302 pub id_result: IdResult,
5303 pub execution: IdScope,
5304 pub operation: GroupOperation,
5305 pub value: IdRef,
5306 pub cluster_size: Option<IdRef>,
5307}
5308#[derive(Clone, Copy)]
5309pub struct InstGroupNonUniformFMin {
5310 pub id_result_type: IdResultType,
5311 pub id_result: IdResult,
5312 pub execution: IdScope,
5313 pub operation: GroupOperation,
5314 pub value: IdRef,
5315 pub cluster_size: Option<IdRef>,
5316}
5317#[derive(Clone, Copy)]
5318pub struct InstGroupNonUniformSMax {
5319 pub id_result_type: IdResultType,
5320 pub id_result: IdResult,
5321 pub execution: IdScope,
5322 pub operation: GroupOperation,
5323 pub value: IdRef,
5324 pub cluster_size: Option<IdRef>,
5325}
5326#[derive(Clone, Copy)]
5327pub struct InstGroupNonUniformUMax {
5328 pub id_result_type: IdResultType,
5329 pub id_result: IdResult,
5330 pub execution: IdScope,
5331 pub operation: GroupOperation,
5332 pub value: IdRef,
5333 pub cluster_size: Option<IdRef>,
5334}
5335#[derive(Clone, Copy)]
5336pub struct InstGroupNonUniformFMax {
5337 pub id_result_type: IdResultType,
5338 pub id_result: IdResult,
5339 pub execution: IdScope,
5340 pub operation: GroupOperation,
5341 pub value: IdRef,
5342 pub cluster_size: Option<IdRef>,
5343}
5344#[derive(Clone, Copy)]
5345pub struct InstGroupNonUniformBitwiseAnd {
5346 pub id_result_type: IdResultType,
5347 pub id_result: IdResult,
5348 pub execution: IdScope,
5349 pub operation: GroupOperation,
5350 pub value: IdRef,
5351 pub cluster_size: Option<IdRef>,
5352}
5353#[derive(Clone, Copy)]
5354pub struct InstGroupNonUniformBitwiseOr {
5355 pub id_result_type: IdResultType,
5356 pub id_result: IdResult,
5357 pub execution: IdScope,
5358 pub operation: GroupOperation,
5359 pub value: IdRef,
5360 pub cluster_size: Option<IdRef>,
5361}
5362#[derive(Clone, Copy)]
5363pub struct InstGroupNonUniformBitwiseXor {
5364 pub id_result_type: IdResultType,
5365 pub id_result: IdResult,
5366 pub execution: IdScope,
5367 pub operation: GroupOperation,
5368 pub value: IdRef,
5369 pub cluster_size: Option<IdRef>,
5370}
5371#[derive(Clone, Copy)]
5372pub struct InstGroupNonUniformLogicalAnd {
5373 pub id_result_type: IdResultType,
5374 pub id_result: IdResult,
5375 pub execution: IdScope,
5376 pub operation: GroupOperation,
5377 pub value: IdRef,
5378 pub cluster_size: Option<IdRef>,
5379}
5380#[derive(Clone, Copy)]
5381pub struct InstGroupNonUniformLogicalOr {
5382 pub id_result_type: IdResultType,
5383 pub id_result: IdResult,
5384 pub execution: IdScope,
5385 pub operation: GroupOperation,
5386 pub value: IdRef,
5387 pub cluster_size: Option<IdRef>,
5388}
5389#[derive(Clone, Copy)]
5390pub struct InstGroupNonUniformLogicalXor {
5391 pub id_result_type: IdResultType,
5392 pub id_result: IdResult,
5393 pub execution: IdScope,
5394 pub operation: GroupOperation,
5395 pub value: IdRef,
5396 pub cluster_size: Option<IdRef>,
5397}
5398#[derive(Clone, Copy)]
5399pub struct InstGroupNonUniformQuadBroadcast {
5400 pub id_result_type: IdResultType,
5401 pub id_result: IdResult,
5402 pub execution: IdScope,
5403 pub value: IdRef,
5404 pub index: IdRef,
5405}
5406#[derive(Clone, Copy)]
5407pub struct InstGroupNonUniformQuadSwap {
5408 pub id_result_type: IdResultType,
5409 pub id_result: IdResult,
5410 pub execution: IdScope,
5411 pub value: IdRef,
5412 pub direction: IdRef,
5413}
5414#[derive(Clone, Copy)]
5415pub struct InstGroupNonUniformQuadAllKHR {
5416 pub id_result_type: IdResultType,
5417 pub id_result: IdResult,
5418 pub predicate: IdRef,
5419}
5420#[derive(Clone, Copy)]
5421pub struct InstGroupNonUniformQuadAnyKHR {
5422 pub id_result_type: IdResultType,
5423 pub id_result: IdResult,
5424 pub predicate: IdRef,
5425}
5426#[derive(Clone, Copy)]
5427pub struct InstGroupNonUniformPartitionEXT {
5428 pub id_result_type: IdResultType,
5429 pub id_result: IdResult,
5430 pub value: IdRef,
5431}
5432#[derive(Clone, Copy)]
5433pub struct InstTensorReadARM {
5434 pub id_result_type: IdResultType,
5435 pub id_result: IdResult,
5436 pub tensor: IdRef,
5437 pub coordinates: IdRef,
5438 pub tensor_operands: Option<TensorOperands>,
5439}
5440#[derive(Clone, Copy)]
5441pub struct InstTensorQuerySizeARM {
5442 pub id_result_type: IdResultType,
5443 pub id_result: IdResult,
5444 pub tensor: IdRef,
5445 pub dimension: IdRef,
5446}
5447#[derive(Clone, Copy)]
5448pub struct InstTensorWriteARM {
5449 pub tensor: IdRef,
5450 pub coordinates: IdRef,
5451 pub object: IdRef,
5452 pub tensor_operands: Option<TensorOperands>,
5453}
5454#[derive(Clone, Copy)]
5455pub struct InstGraphConstantARM {
5456 pub id_result_type: IdResultType,
5457 pub id_result: IdResult,
5458 pub graph_constant_id: LiteralInteger,
5459}
5460#[derive(Clone, Copy)]
5461pub struct InstGraphARM {
5462 pub id_result_type: IdResultType,
5463 pub id_result: IdResult,
5464}
5465#[derive(Clone, Copy)]
5466pub struct InstGraphInputARM<'a> {
5467 pub id_result_type: IdResultType,
5468 pub id_result: IdResult,
5469 pub input_index: IdRef,
5470 pub element_index: &'a [IdRef],
5471}
5472#[derive(Clone, Copy)]
5473pub struct InstGraphEntryPointARM<'a> {
5474 pub graph: IdRef,
5475 pub name: LiteralString<'a>,
5476 pub interface: &'a [IdRef],
5477}
5478#[derive(Clone, Copy)]
5479pub struct InstGraphSetOutputARM<'a> {
5480 pub value: IdRef,
5481 pub output_index: IdRef,
5482 pub element_index: &'a [IdRef],
5483}
5484#[derive(Clone, Copy)]
5485pub struct InstGraphEndARM;