1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
|
// Hash function for SpvOp
//
// This file was thoughtfully generated by a machine,
// don't even think about modifying it yourself!
//
#include "../core/slang-common.h"
#include "../core/slang-string.h"
#include "spirv/unified1/spirv.h"
namespace Slang
{
static const unsigned tableSalt[703] ={
2, 5, 0, 6, 0, 0, 1, 4, 1, 1, 3, 2, 3, 0, 0, 0,
2, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 4, 0, 0, 0,
0, 1, 1, 3, 3, 1, 1, 0, 6, 0, 0, 0, 0, 4, 1, 5,
2, 6, 6, 0, 2, 2, 3, 0, 0, 1, 3, 0, 4, 1, 7, 3,
9, 1, 2, 2, 0, 2, 1, 0, 0, 1, 3, 1, 1, 1, 0, 0,
5, 0, 3, 4, 9, 0, 0, 1, 0, 0, 6, 1, 0, 2, 4, 0,
0, 0, 0, 3, 5, 1, 0, 1, 2, 6, 10, 0, 0, 0, 5, 1,
0, 1, 2, 0, 2, 3, 1, 0, 2, 0, 0, 2, 2, 1, 1, 4,
1, 1, 0, 1, 2, 4, 3, 4, 6, 0, 1, 0, 0, 2, 2, 1,
3, 0, 4, 0, 1, 4, 1, 0, 2, 0, 0, 1, 0, 1, 4, 1,
0, 3, 3, 0, 4, 2, 1, 0, 2, 0, 3, 0, 2, 0, 2, 3,
4, 2, 3, 5, 1, 0, 1, 12, 2, 1, 0, 1, 4, 5, 3, 1,
0, 0, 0, 1, 3, 2, 1, 0, 1, 0, 10, 1, 3, 10, 0, 1,
0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 3, 0, 3, 6, 1, 0,
1, 0, 2, 7, 0, 5, 1, 1, 0, 0, 0, 3, 1, 15, 2, 3,
7, 7, 2, 1, 0, 0, 4, 3, 3, 0, 3, 5, 2, 1, 0, 2,
1, 5, 0, 0, 1, 6, 2, 3, 3, 0, 0, 1, 8, 0, 0, 2,
4, 1, 4, 1, 5, 4, 1, 2, 10, 2, 0, 0, 2, 2, 4, 1,
2, 0, 3, 1, 13, 3, 5, 1, 8, 2, 3, 0, 0, 4, 3, 0,
0, 2, 5, 0, 7, 1, 1, 0, 2, 1, 0, 7, 1, 4, 0, 8,
3, 1, 1, 1, 1, 1, 0, 0, 0, 11, 1, 1, 2, 1, 0, 0,
0, 15, 0, 6, 0, 1, 1, 0, 0, 9, 8, 1, 0, 14, 0, 0,
0, 10, 0, 3, 0, 1, 4, 0, 2, 1, 2, 10, 0, 6, 1, 1,
0, 7, 0, 11, 0, 1, 2, 6, 0, 0, 0, 4, 10, 2, 8, 4,
1, 0, 2, 0, 4, 0, 9, 1, 3, 1, 0, 2, 0, 0, 8, 0,
2, 0, 0, 0, 5, 2, 0, 2, 5, 6, 1, 0, 3, 0, 0, 2,
0, 0, 0, 4, 5, 0, 2, 3, 6, 2, 14, 0, 0, 0, 1, 1,
15, 14, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 2, 0, 0, 3,
16, 0, 1, 10, 7, 2, 0, 0, 4, 0, 0, 2, 5, 1, 2, 0,
3, 1, 0, 0, 1, 16, 0, 0, 0, 4, 1, 0, 0, 2, 3, 1,
11, 2, 2, 1, 8, 0, 2, 0, 9, 3, 0, 0, 1, 3, 1, 0,
18, 1, 6, 8, 21, 19, 2, 0, 7, 1, 0, 2, 9, 1, 0, 0,
3, 0, 6, 0, 3, 7, 0, 0, 15, 0, 2, 3, 0, 4, 0, 4,
2, 8, 1, 9, 0, 0, 1, 9, 1, 0, 2, 4, 7, 1, 0, 5,
0, 0, 2, 6, 0, 0, 40, 8, 5, 4, 5, 1, 14, 0, 7, 2,
19, 2, 0, 21, 1, 9, 5, 2, 25, 0, 7, 24, 0, 0, 0, 0,
4, 9, 3, 6, 7, 0, 14, 1, 18, 1, 83, 0, 5, 0, 0, 0,
0, 1, 43, 0, 4, 0, 3, 0, 7, 0, 14, 0, 2, 0, 1, 3,
0, 14, 0, 30, 0, 0, 2, 0, 0, 0, 0, 78, 0, 49, 3, 1,
0, 3, 0, 7, 0, 32, 1, 10, 43, 0, 0, 95, 21, 3, 0, 2,
0, 0, 16, 9, 17, 5, 52, 0, 16, 3, 0, 11, 1, 27, 1, 190,
81, 3, 0, 72, 3, 84, 23, 0, 9, 0, 5, 50, 0, 19, 376, 0,
3, 102, 3, 4, 27, 9, 0, 16, 0, 0, 100, 1, 3, 2, 0, 0,
0, 0, 0, 9, 0, 0, 31, 35, 10, 6, 0, 0, 54, 0, 203
};
struct KV
{
const char* name;
SpvOp value;
};
static const KV words[703] =
{
{"OpSUDot", SpvOpSUDot},
{"OpDPdyCoarse", SpvOpDPdyCoarse},
{"OpArbitraryFloatExpm1INTEL", SpvOpArbitraryFloatExpm1INTEL},
{"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL},
{"OpGroupNonUniformShuffleUp", SpvOpGroupNonUniformShuffleUp},
{"OpArbitraryFloatCastINTEL", SpvOpArbitraryFloatCastINTEL},
{"OpTerminateRayKHR", SpvOpTerminateRayKHR},
{"OpFunctionCall", SpvOpFunctionCall},
{"OpIsHelperInvocationEXT", SpvOpIsHelperInvocationEXT},
{"OpArbitraryFloatCosPiINTEL", SpvOpArbitraryFloatCosPiINTEL},
{"OpImageFetch", SpvOpImageFetch},
{"OpBitReverse", SpvOpBitReverse},
{"OpVmeImageINTEL", SpvOpVmeImageINTEL},
{"OpArbitraryFloatSqrtINTEL", SpvOpArbitraryFloatSqrtINTEL},
{"OpExtension", SpvOpExtension},
{"OpGroupAny", SpvOpGroupAny},
{"OpExecutionMode", SpvOpExecutionMode},
{"OpSampledImage", SpvOpSampledImage},
{"OpUnreachable", SpvOpUnreachable},
{"OpSubgroupAvcMceGetInterMinorShapeINTEL", SpvOpSubgroupAvcMceGetInterMinorShapeINTEL},
{"OpImageSampleProjImplicitLod", SpvOpImageSampleProjImplicitLod},
{"OpFixedSinCosPiINTEL", SpvOpFixedSinCosPiINTEL},
{"OpSatConvertUToS", SpvOpSatConvertUToS},
{"OpHitObjectGetObjectToWorldNV", SpvOpHitObjectGetObjectToWorldNV},
{"OpMemoryModel", SpvOpMemoryModel},
{"OpImageQuerySamples", SpvOpImageQuerySamples},
{"OpEntryPoint", SpvOpEntryPoint},
{"OpFUnordGreaterThan", SpvOpFUnordGreaterThan},
{"OpImageSampleFootprintNV", SpvOpImageSampleFootprintNV},
{"OpULessThan", SpvOpULessThan},
{"OpGroupBitwiseAndKHR", SpvOpGroupBitwiseAndKHR},
{"OpArbitraryFloatACosINTEL", SpvOpArbitraryFloatACosINTEL},
{"OpIgnoreIntersectionNV", SpvOpIgnoreIntersectionNV},
{"OpHitObjectGetGeometryIndexNV", SpvOpHitObjectGetGeometryIndexNV},
{"OpSubgroupAvcMceConvertToImeResultINTEL", SpvOpSubgroupAvcMceConvertToImeResultINTEL},
{"OpGroupNonUniformLogicalXor", SpvOpGroupNonUniformLogicalXor},
{"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL},
{"OpSMod", SpvOpSMod},
{"OpImageQueryLevels", SpvOpImageQueryLevels},
{"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL},
{"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL},
{"OpGroupNonUniformAny", SpvOpGroupNonUniformAny},
{"OpHitObjectGetHitKindNV", SpvOpHitObjectGetHitKindNV},
{"OpArbitraryFloatATanPiINTEL", SpvOpArbitraryFloatATanPiINTEL},
{"OpString", SpvOpString},
{"OpFUnordLessThanEqual", SpvOpFUnordLessThanEqual},
{"OpUDotAccSatKHR", SpvOpUDotAccSatKHR},
{"OpHitObjectRecordEmptyNV", SpvOpHitObjectRecordEmptyNV},
{"OpEndStreamPrimitive", SpvOpEndStreamPrimitive},
{"OpSDot", SpvOpSDot},
{"OpSubgroupShuffleUpINTEL", SpvOpSubgroupShuffleUpINTEL},
{"OpMemberName", SpvOpMemberName},
{"OpSubgroupBallotKHR", SpvOpSubgroupBallotKHR},
{"OpGroupLogicalOrKHR", SpvOpGroupLogicalOrKHR},
{"OpFNegate", SpvOpFNegate},
{"OpEmitVertex", SpvOpEmitVertex},
{"OpUAddSatINTEL", SpvOpUAddSatINTEL},
{"OpAtomicOr", SpvOpAtomicOr},
{"OpGroupNonUniformQuadBroadcast", SpvOpGroupNonUniformQuadBroadcast},
{"OpFixedCosINTEL", SpvOpFixedCosINTEL},
{"OpReserveReadPipePackets", SpvOpReserveReadPipePackets},
{"OpNop", SpvOpNop},
{"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL},
{"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL},
{"OpHitObjectGetRayTMaxNV", SpvOpHitObjectGetRayTMaxNV},
{"OpNot", SpvOpNot},
{"OpLogicalNotEqual", SpvOpLogicalNotEqual},
{"OpCooperativeMatrixMulAddNV", SpvOpCooperativeMatrixMulAddNV},
{"OpImageSparseGather", SpvOpImageSparseGather},
{"OpDecorateId", SpvOpDecorateId},
{"OpImageQueryLod", SpvOpImageQueryLod},
{"OpDPdxCoarse", SpvOpDPdxCoarse},
{"OpStore", SpvOpStore},
{"OpTypeRuntimeArray", SpvOpTypeRuntimeArray},
{"OpSubgroupAnyKHR", SpvOpSubgroupAnyKHR},
{"OpConvertSToF", SpvOpConvertSToF},
{"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL},
{"OpFOrdLessThan", SpvOpFOrdLessThan},
{"OpGroupSMinNonUniformAMD", SpvOpGroupSMinNonUniformAMD},
{"OpFixedSinCosINTEL", SpvOpFixedSinCosINTEL},
{"OpGroupSMax", SpvOpGroupSMax},
{"OpSpecConstant", SpvOpSpecConstant},
{"OpConstant", SpvOpConstant},
{"OpGroupAsyncCopy", SpvOpGroupAsyncCopy},
{"OpFragmentMaskFetchAMD", SpvOpFragmentMaskFetchAMD},
{"OpULessThanEqual", SpvOpULessThanEqual},
{"OpSetMeshOutputsEXT", SpvOpSetMeshOutputsEXT},
{"OpHitObjectGetPrimitiveIndexNV", SpvOpHitObjectGetPrimitiveIndexNV},
{"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL},
{"OpExecuteCallableNV", SpvOpExecuteCallableNV},
{"OpImageSampleProjExplicitLod", SpvOpImageSampleProjExplicitLod},
{"OpOrdered", SpvOpOrdered},
{"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL},
{"OpUMod", SpvOpUMod},
{"OpFUnordGreaterThanEqual", SpvOpFUnordGreaterThanEqual},
{"OpDemoteToHelperInvocation", SpvOpDemoteToHelperInvocation},
{"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL},
{"OpAll", SpvOpAll},
{"OpPhi", SpvOpPhi},
{"OpCreatePipeFromPipeStorage", SpvOpCreatePipeFromPipeStorage},
{"OpRayQueryGetRayTMinKHR", SpvOpRayQueryGetRayTMinKHR},
{"OpFOrdNotEqual", SpvOpFOrdNotEqual},
{"OpSpecConstantComposite", SpvOpSpecConstantComposite},
{"OpGroupFAdd", SpvOpGroupFAdd},
{"OpLifetimeStop", SpvOpLifetimeStop},
{"OpRayQueryGetIntersectionObjectRayDirectionKHR", SpvOpRayQueryGetIntersectionObjectRayDirectionKHR},
{"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL},
{"OpEmitStreamVertex", SpvOpEmitStreamVertex},
{"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL},
{"OpConstantComposite", SpvOpConstantComposite},
{"OpArbitraryFloatGEINTEL", SpvOpArbitraryFloatGEINTEL},
{"OpUCountLeadingZerosINTEL", SpvOpUCountLeadingZerosINTEL},
{"OpSizeOf", SpvOpSizeOf},
{"OpISub", SpvOpISub},
{"OpConvertFToU", SpvOpConvertFToU},
{"OpHitObjectRecordMissNV", SpvOpHitObjectRecordMissNV},
{"OpSubgroupAvcSicGetMotionVectorMaskINTEL", SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL},
{"OpTypeCooperativeMatrixNV", SpvOpTypeCooperativeMatrixNV},
{"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL},
{"OpSMulExtended", SpvOpSMulExtended},
{"OpCopyMemory", SpvOpCopyMemory},
{"OpSubgroupFirstInvocationKHR", SpvOpSubgroupFirstInvocationKHR},
{"OpSubgroupAvcImeSetDualReferenceINTEL", SpvOpSubgroupAvcImeSetDualReferenceINTEL},
{"OpHitObjectGetObjectRayOriginNV", SpvOpHitObjectGetObjectRayOriginNV},
{"OpSubgroupAvcImeGetBorderReachedINTEL", SpvOpSubgroupAvcImeGetBorderReachedINTEL},
{"OpAliasDomainDeclINTEL", SpvOpAliasDomainDeclINTEL},
{"OpRayQueryGetIntersectionPrimitiveIndexKHR", SpvOpRayQueryGetIntersectionPrimitiveIndexKHR},
{"OpArbitraryFloatLog1pINTEL", SpvOpArbitraryFloatLog1pINTEL},
{"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL},
{"OpSubgroupAvcSicConfigureIpeLumaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaINTEL},
{"OpLoopControlINTEL", SpvOpLoopControlINTEL},
{"OpGenericCastToPtr", SpvOpGenericCastToPtr},
{"OpAtomicUMin", SpvOpAtomicUMin},
{"OpGroupNonUniformShuffle", SpvOpGroupNonUniformShuffle},
{"OpSubgroupImageBlockWriteINTEL", SpvOpSubgroupImageBlockWriteINTEL},
{"OpAtomicLoad", SpvOpAtomicLoad},
{"OpGroupReserveWritePipePackets", SpvOpGroupReserveWritePipePackets},
{"OpIsNan", SpvOpIsNan},
{"OpImage", SpvOpImage},
{"OpTypeImage", SpvOpTypeImage},
{"OpGetNumPipePackets", SpvOpGetNumPipePackets},
{"OpDPdxFine", SpvOpDPdxFine},
{"OpSubgroupAvcMceSetInterShapePenaltyINTEL", SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL},
{"OpSpecConstantCompositeContinuedINTEL", SpvOpSpecConstantCompositeContinuedINTEL},
{"OpDecorationGroup", SpvOpDecorationGroup},
{"OpBitFieldUExtract", SpvOpBitFieldUExtract},
{"OpSubgroupAvcSicGetIpeLumaShapeINTEL", SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL},
{"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL},
{"OpIsValidEvent", SpvOpIsValidEvent},
{"OpReservedReadPipe", SpvOpReservedReadPipe},
{"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL},
{"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL},
{"OpVectorTimesMatrix", SpvOpVectorTimesMatrix},
{"OpGroupNonUniformBitwiseOr", SpvOpGroupNonUniformBitwiseOr},
{"OpArbitraryFloatSinCosINTEL", SpvOpArbitraryFloatSinCosINTEL},
{"OpRayQueryGetIntersectionInstanceCustomIndexKHR", SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR},
{"OpReserveWritePipePackets", SpvOpReserveWritePipePackets},
{"OpWritePipeBlockingINTEL", SpvOpWritePipeBlockingINTEL},
{"OpSLessThanEqual", SpvOpSLessThanEqual},
{"OpUGreaterThanEqual", SpvOpUGreaterThanEqual},
{"OpTypeSampler", SpvOpTypeSampler},
{"OpSubgroupAvcMceGetBestInterDistortionsINTEL", SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL},
{"OpGroupNonUniformBallotFindLSB", SpvOpGroupNonUniformBallotFindLSB},
{"OpHitObjectRecordHitNV", SpvOpHitObjectRecordHitNV},
{"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL},
{"OpSubgroupBlockWriteINTEL", SpvOpSubgroupBlockWriteINTEL},
{"OpHitObjectGetShaderBindingTableRecordIndexNV", SpvOpHitObjectGetShaderBindingTableRecordIndexNV},
{"OpSelectionMerge", SpvOpSelectionMerge},
{"OpGroupIAdd", SpvOpGroupIAdd},
{"OpReleaseEvent", SpvOpReleaseEvent},
{"OpSGreaterThan", SpvOpSGreaterThan},
{"OpSubgroupAvcRefConvertToMcePayloadINTEL", SpvOpSubgroupAvcRefConvertToMcePayloadINTEL},
{"OpRayQueryConfirmIntersectionKHR", SpvOpRayQueryConfirmIntersectionKHR},
{"OpIgnoreIntersectionKHR", SpvOpIgnoreIntersectionKHR},
{"OpMemoryBarrier", SpvOpMemoryBarrier},
{"OpTypeAvcRefResultINTEL", SpvOpTypeAvcRefResultINTEL},
{"OpImageRead", SpvOpImageRead},
{"OpSConvert", SpvOpSConvert},
{"OpBitFieldInsert", SpvOpBitFieldInsert},
{"OpImageSampleProjDrefImplicitLod", SpvOpImageSampleProjDrefImplicitLod},
{"OpArbitraryFloatRecipINTEL", SpvOpArbitraryFloatRecipINTEL},
{"OpIsFinite", SpvOpIsFinite},
{"OpLogicalNot", SpvOpLogicalNot},
{"OpBranchConditional", SpvOpBranchConditional},
{"OpSatConvertSToU", SpvOpSatConvertSToU},
{"OpGroupNonUniformBallotBitCount", SpvOpGroupNonUniformBallotBitCount},
{"OpCompositeInsert", SpvOpCompositeInsert},
{"OpFDiv", SpvOpFDiv},
{"OpReadPipeBlockingINTEL", SpvOpReadPipeBlockingINTEL},
{"OpGroupSMin", SpvOpGroupSMin},
{"OpAbsUSubINTEL", SpvOpAbsUSubINTEL},
{"OpAsmCallINTEL", SpvOpAsmCallINTEL},
{"OpINotEqual", SpvOpINotEqual},
{"OpImageSampleDrefImplicitLod", SpvOpImageSampleDrefImplicitLod},
{"OpAtomicXor", SpvOpAtomicXor},
{"OpArbitraryFloatSubINTEL", SpvOpArbitraryFloatSubINTEL},
{"OpAsmINTEL", SpvOpAsmINTEL},
{"OpArbitraryFloatATan2INTEL", SpvOpArbitraryFloatATan2INTEL},
{"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL},
{"OpExpectKHR", SpvOpExpectKHR},
{"OpHitObjectGetWorldToObjectNV", SpvOpHitObjectGetWorldToObjectNV},
{"OpTypeAvcImeSingleReferenceStreaminINTEL", SpvOpTypeAvcImeSingleReferenceStreaminINTEL},
{"OpUMul32x16INTEL", SpvOpUMul32x16INTEL},
{"OpRayQueryGetIntersectionBarycentricsKHR", SpvOpRayQueryGetIntersectionBarycentricsKHR},
{"OpRayQueryGetIntersectionWorldToObjectKHR", SpvOpRayQueryGetIntersectionWorldToObjectKHR},
{"OpTypeFloat", SpvOpTypeFloat},
{"OpConvertUToF", SpvOpConvertUToF},
{"OpVariableLengthArrayINTEL", SpvOpVariableLengthArrayINTEL},
{"OpFixedLogINTEL", SpvOpFixedLogINTEL},
{"OpSource", SpvOpSource},
{"OpArbitraryFloatCastFromIntINTEL", SpvOpArbitraryFloatCastFromIntINTEL},
{"OpImageSparseSampleDrefExplicitLod", SpvOpImageSparseSampleDrefExplicitLod},
{"OpConvertSampledImageToUNV", SpvOpConvertSampledImageToUNV},
{"OpAtomicExchange", SpvOpAtomicExchange},
{"OpGetKernelWorkGroupSize", SpvOpGetKernelWorkGroupSize},
{"OpModuleProcessed", SpvOpModuleProcessed},
{"OpLine", SpvOpLine},
{"OpSubgroupAvcMceGetInterReferenceIdsINTEL", SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL},
{"OpGroupNonUniformQuadSwap", SpvOpGroupNonUniformQuadSwap},
{"OpShiftLeftLogical", SpvOpShiftLeftLogical},
{"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL},
{"OpGetKernelNDrangeSubGroupCount", SpvOpGetKernelNDrangeSubGroupCount},
{"OpIMul", SpvOpIMul},
{"OpAny", SpvOpAny},
{"OpShiftRightArithmetic", SpvOpShiftRightArithmetic},
{"OpAtomicCompareExchangeWeak", SpvOpAtomicCompareExchangeWeak},
{"OpTypeAvcImePayloadINTEL", SpvOpTypeAvcImePayloadINTEL},
{"OpConvertUToPtr", SpvOpConvertUToPtr},
{"OpHitObjectGetRayTMinNV", SpvOpHitObjectGetRayTMinNV},
{"OpSDotAccSatKHR", SpvOpSDotAccSatKHR},
{"OpReturn", SpvOpReturn},
{"OpImageSparseFetch", SpvOpImageSparseFetch},
{"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL},
{"OpIAddCarry", SpvOpIAddCarry},
{"OpFixedSinPiINTEL", SpvOpFixedSinPiINTEL},
{"OpSubgroupShuffleXorINTEL", SpvOpSubgroupShuffleXorINTEL},
{"OpBranch", SpvOpBranch},
{"OpAtomicFMaxEXT", SpvOpAtomicFMaxEXT},
{"OpImageSparseRead", SpvOpImageSparseRead},
{"OpGroupNonUniformBitwiseXor", SpvOpGroupNonUniformBitwiseXor},
{"OpCopyLogical", SpvOpCopyLogical},
{"OpSubgroupAvcMceConvertToSicResultINTEL", SpvOpSubgroupAvcMceConvertToSicResultINTEL},
{"OpAbsISubINTEL", SpvOpAbsISubINTEL},
{"OpImageSparseSampleProjDrefImplicitLod", SpvOpImageSparseSampleProjDrefImplicitLod},
{"OpIsValidReserveId", SpvOpIsValidReserveId},
{"OpTypeBool", SpvOpTypeBool},
{"OpFixedSinINTEL", SpvOpFixedSinINTEL},
{"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL},
{"OpImageSparseSampleExplicitLod", SpvOpImageSparseSampleExplicitLod},
{"OpSubgroupAvcMceGetInterMotionVectorCountINTEL", SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL},
{"OpArbitraryFloatExp2INTEL", SpvOpArbitraryFloatExp2INTEL},
{"OpFRem", SpvOpFRem},
{"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL},
{"OpImageWrite", SpvOpImageWrite},
{"OpAsmTargetINTEL", SpvOpAsmTargetINTEL},
{"OpHitObjectGetObjectRayDirectionNV", SpvOpHitObjectGetObjectRayDirectionNV},
{"OpGroupLogicalXorKHR", SpvOpGroupLogicalXorKHR},
{"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL},
{"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL},
{"OpGroupNonUniformBitwiseAnd", SpvOpGroupNonUniformBitwiseAnd},
{"OpTraceRayMotionNV", SpvOpTraceRayMotionNV},
{"OpRetainEvent", SpvOpRetainEvent},
{"OpFOrdEqual", SpvOpFOrdEqual},
{"OpAtomicIAdd", SpvOpAtomicIAdd},
{"OpTypeReserveId", SpvOpTypeReserveId},
{"OpReorderThreadWithHitObjectNV", SpvOpReorderThreadWithHitObjectNV},
{"OpRayQueryGetIntersectionTKHR", SpvOpRayQueryGetIntersectionTKHR},
{"OpImageQuerySizeLod", SpvOpImageQuerySizeLod},
{"OpReportIntersectionNV", SpvOpReportIntersectionNV},
{"OpQuantizeToF16", SpvOpQuantizeToF16},
{"OpHitObjectGetCurrentTimeNV", SpvOpHitObjectGetCurrentTimeNV},
{"OpSubgroupAvcSicConfigureSkcINTEL", SpvOpSubgroupAvcSicConfigureSkcINTEL},
{"OpHitObjectTraceRayNV", SpvOpHitObjectTraceRayNV},
{"OpSubgroupAvcImeGetDualReferenceStreaminINTEL", SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL},
{"OpSwitch", SpvOpSwitch},
{"OpTerminateRayNV", SpvOpTerminateRayNV},
{"OpFunctionEnd", SpvOpFunctionEnd},
{"OpImageQuerySize", SpvOpImageQuerySize},
{"OpArbitraryFloatCosINTEL", SpvOpArbitraryFloatCosINTEL},
{"OpBitCount", SpvOpBitCount},
{"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL},
{"OpBeginInvocationInterlockEXT", SpvOpBeginInvocationInterlockEXT},
{"OpTerminateInvocation", SpvOpTerminateInvocation},
{"OpCooperativeMatrixLengthNV", SpvOpCooperativeMatrixLengthNV},
{"OpPtrDiff", SpvOpPtrDiff},
{"OpGroupBroadcast", SpvOpGroupBroadcast},
{"OpHitObjectGetAttributesNV", SpvOpHitObjectGetAttributesNV},
{"OpGroupNonUniformLogicalAnd", SpvOpGroupNonUniformLogicalAnd},
{"OpAliasScopeListDeclINTEL", SpvOpAliasScopeListDeclINTEL},
{"OpIAddSatINTEL", SpvOpIAddSatINTEL},
{"OpControlBarrierWaitINTEL", SpvOpControlBarrierWaitINTEL},
{"OpReservedWritePipe", SpvOpReservedWritePipe},
{"OpSubgroupImageMediaBlockWriteINTEL", SpvOpSubgroupImageMediaBlockWriteINTEL},
{"OpGroupNonUniformFMin", SpvOpGroupNonUniformFMin},
{"OpSubgroupAvcMceConvertToImePayloadINTEL", SpvOpSubgroupAvcMceConvertToImePayloadINTEL},
{"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL},
{"OpGetDefaultQueue", SpvOpGetDefaultQueue},
{"OpGroupIAddNonUniformAMD", SpvOpGroupIAddNonUniformAMD},
{"OpGroupNonUniformFMul", SpvOpGroupNonUniformFMul},
{"OpGenericCastToPtrExplicit", SpvOpGenericCastToPtrExplicit},
{"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR},
{"OpRayQueryGetRayFlagsKHR", SpvOpRayQueryGetRayFlagsKHR},
{"OpGroupReserveReadPipePackets", SpvOpGroupReserveReadPipePackets},
{"OpGroupNonUniformSMax", SpvOpGroupNonUniformSMax},
{"OpAccessChain", SpvOpAccessChain},
{"OpConvertUToAccelerationStructureKHR", SpvOpConvertUToAccelerationStructureKHR},
{"OpFUnordNotEqual", SpvOpFUnordNotEqual},
{"OpBitwiseOr", SpvOpBitwiseOr},
{"OpHitObjectRecordMissMotionNV", SpvOpHitObjectRecordMissMotionNV},
{"OpTypePointer", SpvOpTypePointer},
{"OpAtomicFAddEXT", SpvOpAtomicFAddEXT},
{"OpControlBarrier", SpvOpControlBarrier},
{"OpArbitraryFloatEQINTEL", SpvOpArbitraryFloatEQINTEL},
{"OpAtomicFMinEXT", SpvOpAtomicFMinEXT},
{"OpImageSparseTexelsResident", SpvOpImageSparseTexelsResident},
{"OpArbitraryFloatPowRINTEL", SpvOpArbitraryFloatPowRINTEL},
{"OpFunctionParameter", SpvOpFunctionParameter},
{"OpUCountTrailingZerosINTEL", SpvOpUCountTrailingZerosINTEL},
{"OpTypeAccelerationStructureNV", SpvOpTypeAccelerationStructureNV},
{"OpDPdyFine", SpvOpDPdyFine},
{"OpConvertUToSamplerNV", SpvOpConvertUToSamplerNV},
{"OpSubgroupAvcImeRefWindowSizeINTEL", SpvOpSubgroupAvcImeRefWindowSizeINTEL},
{"OpRayQueryGetIntersectionFrontFaceKHR", SpvOpRayQueryGetIntersectionFrontFaceKHR},
{"OpTypeArray", SpvOpTypeArray},
{"OpGroupCommitReadPipe", SpvOpGroupCommitReadPipe},
{"OpUnordered", SpvOpUnordered},
{"OpArbitraryFloatPowINTEL", SpvOpArbitraryFloatPowINTEL},
{"OpSubgroupAvcMceGetInterDirectionsINTEL", SpvOpSubgroupAvcMceGetInterDirectionsINTEL},
{"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL},
{"OpSUDotAccSat", SpvOpSUDotAccSat},
{"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR},
{"OpArbitraryFloatCastToIntINTEL", SpvOpArbitraryFloatCastToIntINTEL},
{"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL},
{"OpLoad", SpvOpLoad},
{"OpCopyMemorySized", SpvOpCopyMemorySized},
{"OpLogicalAnd", SpvOpLogicalAnd},
{"OpRayQueryGetWorldRayOriginKHR", SpvOpRayQueryGetWorldRayOriginKHR},
{"OpGetKernelNDrangeMaxSubGroupSize", SpvOpGetKernelNDrangeMaxSubGroupSize},
{"OpGroupBitwiseXorKHR", SpvOpGroupBitwiseXorKHR},
{"OpSubgroupAvcMceGetInterDistortionsINTEL", SpvOpSubgroupAvcMceGetInterDistortionsINTEL},
{"OpWritePackedPrimitiveIndices4x8NV", SpvOpWritePackedPrimitiveIndices4x8NV},
{"OpTraceRayKHR", SpvOpTraceRayKHR},
{"OpImageQueryFormat", SpvOpImageQueryFormat},
{"OpSamplerImageAddressingModeNV", SpvOpSamplerImageAddressingModeNV},
{"OpGroupNonUniformBallot", SpvOpGroupNonUniformBallot},
{"OpName", SpvOpName},
{"OpRayQueryGetIntersectionGeometryIndexKHR", SpvOpRayQueryGetIntersectionGeometryIndexKHR},
{"OpTypeForwardPointer", SpvOpTypeForwardPointer},
{"OpSubgroupAvcImeConvertToMcePayloadINTEL", SpvOpSubgroupAvcImeConvertToMcePayloadINTEL},
{"OpConstantTrue", SpvOpConstantTrue},
{"OpTraceMotionNV", SpvOpTraceMotionNV},
{"OpGroupNonUniformInverseBallot", SpvOpGroupNonUniformInverseBallot},
{"OpAliasScopeDeclINTEL", SpvOpAliasScopeDeclINTEL},
{"OpGroupUMax", SpvOpGroupUMax},
{"OpSubgroupAvcMceGetInterMajorShapeINTEL", SpvOpSubgroupAvcMceGetInterMajorShapeINTEL},
{"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL},
{"OpUAverageINTEL", SpvOpUAverageINTEL},
{"OpCompositeConstruct", SpvOpCompositeConstruct},
{"OpReorderThreadWithHintNV", SpvOpReorderThreadWithHintNV},
{"OpSubgroupAvcMceConvertToSicPayloadINTEL", SpvOpSubgroupAvcMceConvertToSicPayloadINTEL},
{"OpSubgroupAvcRefSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL},
{"OpSubgroupShuffleINTEL", SpvOpSubgroupShuffleINTEL},
{"OpSubgroupAvcSicSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL},
{"OpArbitraryFloatCbrtINTEL", SpvOpArbitraryFloatCbrtINTEL},
{"OpFOrdGreaterThan", SpvOpFOrdGreaterThan},
{"OpSubgroupAvcSicConvertToMcePayloadINTEL", SpvOpSubgroupAvcSicConvertToMcePayloadINTEL},
{"OpArbitraryFloatLog2INTEL", SpvOpArbitraryFloatLog2INTEL},
{"OpGroupDecorate", SpvOpGroupDecorate},
{"OpArbitraryFloatSinPiINTEL", SpvOpArbitraryFloatSinPiINTEL},
{"OpTypeAvcImeResultINTEL", SpvOpTypeAvcImeResultINTEL},
{"OpDPdx", SpvOpDPdx},
{"OpConvertPtrToU", SpvOpConvertPtrToU},
{"OpFOrdGreaterThanEqual", SpvOpFOrdGreaterThanEqual},
{"OpGroupNonUniformPartitionNV", SpvOpGroupNonUniformPartitionNV},
{"OpGroupSMaxNonUniformAMD", SpvOpGroupSMaxNonUniformAMD},
{"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL},
{"OpMemberDecorate", SpvOpMemberDecorate},
{"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL},
{"OpUDotAccSat", SpvOpUDotAccSat},
{"OpHitObjectIsMissNV", SpvOpHitObjectIsMissNV},
{"OpGroupNonUniformElect", SpvOpGroupNonUniformElect},
{"OpSourceExtension", SpvOpSourceExtension},
{"OpDemoteToHelperInvocationEXT", SpvOpDemoteToHelperInvocationEXT},
{"OpFixedExpINTEL", SpvOpFixedExpINTEL},
{"OpGroupMemberDecorate", SpvOpGroupMemberDecorate},
{"OpSubgroupAvcImeSetWeightedSadINTEL", SpvOpSubgroupAvcImeSetWeightedSadINTEL},
{"OpGroupNonUniformIMul", SpvOpGroupNonUniformIMul},
{"OpTypeSampledImage", SpvOpTypeSampledImage},
{"OpExecutionModeId", SpvOpExecutionModeId},
{"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL", SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL},
{"OpGroupAll", SpvOpGroupAll},
{"OpHitObjectGetWorldRayDirectionNV", SpvOpHitObjectGetWorldRayDirectionNV},
{"OpCrossWorkgroupCastToPtrINTEL", SpvOpCrossWorkgroupCastToPtrINTEL},
{"OpRayQueryGetWorldRayDirectionKHR", SpvOpRayQueryGetWorldRayDirectionKHR},
{"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL},
{"OpArbitraryFloatASinPiINTEL", SpvOpArbitraryFloatASinPiINTEL},
{"OpHitObjectGetInstanceCustomIndexNV", SpvOpHitObjectGetInstanceCustomIndexNV},
{"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL},
{"OpVectorExtractDynamic", SpvOpVectorExtractDynamic},
{"OpImageSampleExplicitLod", SpvOpImageSampleExplicitLod},
{"OpAtomicSMax", SpvOpAtomicSMax},
{"OpGroupNonUniformUMin", SpvOpGroupNonUniformUMin},
{"OpUDot", SpvOpUDot},
{"OpSubgroupAvcSicInitializeINTEL", SpvOpSubgroupAvcSicInitializeINTEL},
{"OpHitObjectRecordHitWithIndexMotionNV", SpvOpHitObjectRecordHitWithIndexMotionNV},
{"OpIsNormal", SpvOpIsNormal},
{"OpCopyObject", SpvOpCopyObject},
{"OpImageSparseSampleProjExplicitLod", SpvOpImageSparseSampleProjExplicitLod},
{"OpConvertUToImageNV", SpvOpConvertUToImageNV},
{"OpGroupNonUniformBroadcast", SpvOpGroupNonUniformBroadcast},
{"OpSNegate", SpvOpSNegate},
{"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL},
{"OpKill", SpvOpKill},
{"OpBitcast", SpvOpBitcast},
{"OpSUDotAccSatKHR", SpvOpSUDotAccSatKHR},
{"OpSubgroupAvcMceConvertToRefPayloadINTEL", SpvOpSubgroupAvcMceConvertToRefPayloadINTEL},
{"OpTypeHitObjectNV", SpvOpTypeHitObjectNV},
{"OpImageSparseSampleDrefImplicitLod", SpvOpImageSparseSampleDrefImplicitLod},
{"OpFragmentFetchAMD", SpvOpFragmentFetchAMD},
{"OpTypePipe", SpvOpTypePipe},
{"OpCooperativeMatrixLoadNV", SpvOpCooperativeMatrixLoadNV},
{"OpArbitraryFloatGTINTEL", SpvOpArbitraryFloatGTINTEL},
{"OpControlBarrierArriveINTEL", SpvOpControlBarrierArriveINTEL},
{"OpHitObjectIsHitNV", SpvOpHitObjectIsHitNV},
{"OpHitObjectGetShaderRecordBufferHandleNV", SpvOpHitObjectGetShaderRecordBufferHandleNV},
{"OpSpecConstantTrue", SpvOpSpecConstantTrue},
{"OpLifetimeStart", SpvOpLifetimeStart},
{"OpFunctionPointerCallINTEL", SpvOpFunctionPointerCallINTEL},
{"OpGroupBitwiseOrKHR", SpvOpGroupBitwiseOrKHR},
{"OpUGreaterThan", SpvOpUGreaterThan},
{"OpSDiv", SpvOpSDiv},
{"OpGroupNonUniformSMin", SpvOpGroupNonUniformSMin},
{"OpArrayLength", SpvOpArrayLength},
{"OpMemoryNamedBarrier", SpvOpMemoryNamedBarrier},
{"OpEnqueueKernel", SpvOpEnqueueKernel},
{"OpTypeAvcImeResultDualReferenceStreamoutINTEL", SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL},
{"OpImageSampleProjDrefExplicitLod", SpvOpImageSampleProjDrefExplicitLod},
{"OpTypeAccelerationStructureKHR", SpvOpTypeAccelerationStructureKHR},
{"OpSubgroupReadInvocationKHR", SpvOpSubgroupReadInvocationKHR},
{"OpRayQueryTerminateKHR", SpvOpRayQueryTerminateKHR},
{"OpTypeFunction", SpvOpTypeFunction},
{"OpGroupFMinNonUniformAMD", SpvOpGroupFMinNonUniformAMD},
{"OpConstantFunctionPointerINTEL", SpvOpConstantFunctionPointerINTEL},
{"OpSourceContinued", SpvOpSourceContinued},
{"OpGroupNonUniformShuffleDown", SpvOpGroupNonUniformShuffleDown},
{"OpHitObjectGetWorldRayOriginNV", SpvOpHitObjectGetWorldRayOriginNV},
{"OpImageSparseSampleProjImplicitLod", SpvOpImageSparseSampleProjImplicitLod},
{"OpSDotAccSat", SpvOpSDotAccSat},
{"OpImageSampleImplicitLod", SpvOpImageSampleImplicitLod},
{"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL},
{"OpGroupNonUniformBroadcastFirst", SpvOpGroupNonUniformBroadcastFirst},
{"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL},
{"OpConvertImageToUNV", SpvOpConvertImageToUNV},
{"OpSubgroupAvcImeAdjustRefOffsetINTEL", SpvOpSubgroupAvcImeAdjustRefOffsetINTEL},
{"OpGroupCommitWritePipe", SpvOpGroupCommitWritePipe},
{"OpSetUserEventStatus", SpvOpSetUserEventStatus},
{"OpGroupUMaxNonUniformAMD", SpvOpGroupUMaxNonUniformAMD},
{"OpFixedCosPiINTEL", SpvOpFixedCosPiINTEL},
{"OpLogicalOr", SpvOpLogicalOr},
{"OpDecorateString", SpvOpDecorateString},
{"OpDPdy", SpvOpDPdy},
{"OpGroupNonUniformFAdd", SpvOpGroupNonUniformFAdd},
{"OpUndef", SpvOpUndef},
{"OpGroupFMax", SpvOpGroupFMax},
{"OpFwidthFine", SpvOpFwidthFine},
{"OpExtInst", SpvOpExtInst},
{"OpGenericPtrMemSemantics", SpvOpGenericPtrMemSemantics},
{"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL},
{"OpPtrCastToGeneric", SpvOpPtrCastToGeneric},
{"OpTypeAvcImeResultSingleReferenceStreamoutINTEL", SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL},
{"OpGroupNonUniformShuffleXor", SpvOpGroupNonUniformShuffleXor},
{"OpArbitraryFloatMulINTEL", SpvOpArbitraryFloatMulINTEL},
{"OpGroupNonUniformFMax", SpvOpGroupNonUniformFMax},
{"OpGetKernelLocalSizeForSubgroupCount", SpvOpGetKernelLocalSizeForSubgroupCount},
{"OpExecuteCallableKHR", SpvOpExecuteCallableKHR},
{"OpGroupNonUniformAll", SpvOpGroupNonUniformAll},
{"OpIAverageINTEL", SpvOpIAverageINTEL},
{"OpMatrixTimesScalar", SpvOpMatrixTimesScalar},
{"OpTypeAvcMcePayloadINTEL", SpvOpTypeAvcMcePayloadINTEL},
{"OpFixedRsqrtINTEL", SpvOpFixedRsqrtINTEL},
{"OpISubSatINTEL", SpvOpISubSatINTEL},
{"OpTraceNV", SpvOpTraceNV},
{"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL},
{"OpVectorInsertDynamic", SpvOpVectorInsertDynamic},
{"OpConstantNull", SpvOpConstantNull},
{"OpSubgroupBlockReadINTEL", SpvOpSubgroupBlockReadINTEL},
{"OpFMul", SpvOpFMul},
{"OpGroupNonUniformAllEqual", SpvOpGroupNonUniformAllEqual},
{"OpMemberDecorateStringGOOGLE", SpvOpMemberDecorateStringGOOGLE},
{"OpCompositeExtract", SpvOpCompositeExtract},
{"OpFOrdLessThanEqual", SpvOpFOrdLessThanEqual},
{"OpRayQueryProceedKHR", SpvOpRayQueryProceedKHR},
{"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL},
{"OpSubgroupAvcMceSetAcOnlyHaarINTEL", SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL},
{"OpDecorateStringGOOGLE", SpvOpDecorateStringGOOGLE},
{"OpAtomicISub", SpvOpAtomicISub},
{"OpSubgroupAvcSicGetIpeChromaModeINTEL", SpvOpSubgroupAvcSicGetIpeChromaModeINTEL},
{"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL},
{"OpArbitraryFloatLog10INTEL", SpvOpArbitraryFloatLog10INTEL},
{"OpGroupNonUniformRotateKHR", SpvOpGroupNonUniformRotateKHR},
{"OpISubBorrow", SpvOpISubBorrow},
{"OpFUnordLessThan", SpvOpFUnordLessThan},
{"OpArbitraryFloatExpINTEL", SpvOpArbitraryFloatExpINTEL},
{"OpMatrixTimesMatrix", SpvOpMatrixTimesMatrix},
{"OpTypeMatrix", SpvOpTypeMatrix},
{"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL},
{"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL},
{"OpEndPrimitive", SpvOpEndPrimitive},
{"OpGroupIMulKHR", SpvOpGroupIMulKHR},
{"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL},
{"OpImageQueryOrder", SpvOpImageQueryOrder},
{"OpGetMaxPipePackets", SpvOpGetMaxPipePackets},
{"OpArbitraryFloatSinINTEL", SpvOpArbitraryFloatSinINTEL},
{"OpAssumeTrueKHR", SpvOpAssumeTrueKHR},
{"OpRayQueryGetIntersectionTypeKHR", SpvOpRayQueryGetIntersectionTypeKHR},
{"OpIsInf", SpvOpIsInf},
{"OpUDotKHR", SpvOpUDotKHR},
{"OpUConvert", SpvOpUConvert},
{"OpCooperativeMatrixStoreNV", SpvOpCooperativeMatrixStoreNV},
{"OpInBoundsPtrAccessChain", SpvOpInBoundsPtrAccessChain},
{"OpImageDrefGather", SpvOpImageDrefGather},
{"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL},
{"OpIEqual", SpvOpIEqual},
{"OpImageSparseDrefGather", SpvOpImageSparseDrefGather},
{"OpBitFieldSExtract", SpvOpBitFieldSExtract},
{"OpLabel", SpvOpLabel},
{"OpTypeNamedBarrier", SpvOpTypeNamedBarrier},
{"OpArbitraryFloatAddINTEL", SpvOpArbitraryFloatAddINTEL},
{"OpVectorTimesScalar", SpvOpVectorTimesScalar},
{"OpImageSampleDrefExplicitLod", SpvOpImageSampleDrefExplicitLod},
{"OpGroupFMin", SpvOpGroupFMin},
{"OpFixedSqrtINTEL", SpvOpFixedSqrtINTEL},
{"OpSubgroupAllKHR", SpvOpSubgroupAllKHR},
{"OpHitObjectRecordHitWithIndexNV", SpvOpHitObjectRecordHitWithIndexNV},
{"OpGetKernelPreferredWorkGroupSizeMultiple", SpvOpGetKernelPreferredWorkGroupSizeMultiple},
{"OpNoLine", SpvOpNoLine},
{"OpImageSparseSampleImplicitLod", SpvOpImageSparseSampleImplicitLod},
{"OpAtomicStore", SpvOpAtomicStore},
{"OpSLessThan", SpvOpSLessThan},
{"OpPtrCastToCrossWorkgroupINTEL", SpvOpPtrCastToCrossWorkgroupINTEL},
{"OpGroupNonUniformBallotBitExtract", SpvOpGroupNonUniformBallotBitExtract},
{"OpHitObjectIsEmptyNV", SpvOpHitObjectIsEmptyNV},
{"OpGroupNonUniformUMax", SpvOpGroupNonUniformUMax},
{"OpTypeStruct", SpvOpTypeStruct},
{"OpArbitraryFloatSinCosPiINTEL", SpvOpArbitraryFloatSinCosPiINTEL},
{"OpBitwiseAnd", SpvOpBitwiseAnd},
{"OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL", SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL},
{"OpTypeAvcMceResultINTEL", SpvOpTypeAvcMceResultINTEL},
{"OpImageGather", SpvOpImageGather},
{"OpRayQueryGetIntersectionObjectRayOriginKHR", SpvOpRayQueryGetIntersectionObjectRayOriginKHR},
{"OpReadClockKHR", SpvOpReadClockKHR},
{"OpSubgroupShuffleDownINTEL", SpvOpSubgroupShuffleDownINTEL},
{"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL},
{"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL},
{"OpGroupWaitEvents", SpvOpGroupWaitEvents},
{"OpArbitraryFloatLEINTEL", SpvOpArbitraryFloatLEINTEL},
{"OpAtomicCompareExchange", SpvOpAtomicCompareExchange},
{"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL},
{"OpArbitraryFloatRSqrtINTEL", SpvOpArbitraryFloatRSqrtINTEL},
{"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL},
{"OpCaptureEventProfilingInfo", SpvOpCaptureEventProfilingInfo},
{"OpAtomicSMin", SpvOpAtomicSMin},
{"OpAtomicFlagTestAndSet", SpvOpAtomicFlagTestAndSet},
{"OpSubgroupImageBlockReadINTEL", SpvOpSubgroupImageBlockReadINTEL},
{"OpSubgroupAvcFmeInitializeINTEL", SpvOpSubgroupAvcFmeInitializeINTEL},
{"OpArbitraryFloatPowNINTEL", SpvOpArbitraryFloatPowNINTEL},
{"OpFPGARegINTEL", SpvOpFPGARegINTEL},
{"OpIMul32x16INTEL", SpvOpIMul32x16INTEL},
{"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL},
{"OpSpecConstantOp", SpvOpSpecConstantOp},
{"OpGroupUMin", SpvOpGroupUMin},
{"OpSubgroupAllEqualKHR", SpvOpSubgroupAllEqualKHR},
{"OpGroupNonUniformBallotFindMSB", SpvOpGroupNonUniformBallotFindMSB},
{"OpConstantCompositeContinuedINTEL", SpvOpConstantCompositeContinuedINTEL},
{"OpGroupFMulKHR", SpvOpGroupFMulKHR},
{"OpArbitraryFloatASinINTEL", SpvOpArbitraryFloatASinINTEL},
{"OpShiftRightLogical", SpvOpShiftRightLogical},
{"OpGroupLogicalAndKHR", SpvOpGroupLogicalAndKHR},
{"OpFwidthCoarse", SpvOpFwidthCoarse},
{"OpTypeDeviceEvent", SpvOpTypeDeviceEvent},
{"OpSubgroupAvcMceConvertToRefResultINTEL", SpvOpSubgroupAvcMceConvertToRefResultINTEL},
{"OpConvertSamplerToUNV", SpvOpConvertSamplerToUNV},
{"OpTypeAvcRefPayloadINTEL", SpvOpTypeAvcRefPayloadINTEL},
{"OpAtomicFlagClear", SpvOpAtomicFlagClear},
{"OpReportIntersectionKHR", SpvOpReportIntersectionKHR},
{"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL},
{"OpPtrNotEqual", SpvOpPtrNotEqual},
{"OpSaveMemoryINTEL", SpvOpSaveMemoryINTEL},
{"OpArbitraryFloatExp10INTEL", SpvOpArbitraryFloatExp10INTEL},
{"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL},
{"OpSubgroupAvcBmeInitializeINTEL", SpvOpSubgroupAvcBmeInitializeINTEL},
{"OpPtrAccessChain", SpvOpPtrAccessChain},
{"OpFwidth", SpvOpFwidth},
{"OpSubgroupAvcImeInitializeINTEL", SpvOpSubgroupAvcImeInitializeINTEL},
{"OpNamedBarrierInitialize", SpvOpNamedBarrierInitialize},
{"OpBitwiseXor", SpvOpBitwiseXor},
{"OpAtomicIDecrement", SpvOpAtomicIDecrement},
{"OpTypeStructContinuedINTEL", SpvOpTypeStructContinuedINTEL},
{"OpTypeOpaque", SpvOpTypeOpaque},
{"OpTypeAvcSicResultINTEL", SpvOpTypeAvcSicResultINTEL},
{"OpRayQueryGenerateIntersectionKHR", SpvOpRayQueryGenerateIntersectionKHR},
{"OpConvertUToSampledImageNV", SpvOpConvertUToSampledImageNV},
{"OpFUnordEqual", SpvOpFUnordEqual},
{"OpSubgroupAvcRefConvertToMceResultINTEL", SpvOpSubgroupAvcRefConvertToMceResultINTEL},
{"OpSelect", SpvOpSelect},
{"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL},
{"OpSGreaterThanEqual", SpvOpSGreaterThanEqual},
{"OpArbitraryFloatACosPiINTEL", SpvOpArbitraryFloatACosPiINTEL},
{"OpGroupNonUniformIAdd", SpvOpGroupNonUniformIAdd},
{"OpMemberDecorateString", SpvOpMemberDecorateString},
{"OpTypeAvcSicPayloadINTEL", SpvOpTypeAvcSicPayloadINTEL},
{"OpHitObjectGetInstanceIdNV", SpvOpHitObjectGetInstanceIdNV},
{"OpConstantSampler", SpvOpConstantSampler},
{"OpRayQueryGetIntersectionInstanceIdKHR", SpvOpRayQueryGetIntersectionInstanceIdKHR},
{"OpEndInvocationInterlockEXT", SpvOpEndInvocationInterlockEXT},
{"OpLogicalEqual", SpvOpLogicalEqual},
{"OpGroupNonUniformLogicalOr", SpvOpGroupNonUniformLogicalOr},
{"OpTypeRayQueryKHR", SpvOpTypeRayQueryKHR},
{"OpRayQueryInitializeKHR", SpvOpRayQueryInitializeKHR},
{"OpRestoreMemoryINTEL", SpvOpRestoreMemoryINTEL},
{"OpVariable", SpvOpVariable},
{"OpAtomicIIncrement", SpvOpAtomicIIncrement},
{"OpTypeBufferSurfaceINTEL", SpvOpTypeBufferSurfaceINTEL},
{"OpTypeQueue", SpvOpTypeQueue},
{"OpImageSparseSampleProjDrefExplicitLod", SpvOpImageSparseSampleProjDrefExplicitLod},
{"OpUSubSatINTEL", SpvOpUSubSatINTEL},
{"OpSubgroupAvcSicEvaluateIpeINTEL", SpvOpSubgroupAvcSicEvaluateIpeINTEL},
{"OpHitObjectTraceRayMotionNV", SpvOpHitObjectTraceRayMotionNV},
{"OpAtomicUMax", SpvOpAtomicUMax},
{"OpEmitMeshTasksEXT", SpvOpEmitMeshTasksEXT},
{"OpTranspose", SpvOpTranspose},
{"OpHitObjectExecuteShaderNV", SpvOpHitObjectExecuteShaderNV},
{"OpSubgroupAvcImeConvertToMceResultINTEL", SpvOpSubgroupAvcImeConvertToMceResultINTEL},
{"OpArbitraryFloatLogINTEL", SpvOpArbitraryFloatLogINTEL},
{"OpFAdd", SpvOpFAdd},
{"OpTypeInt", SpvOpTypeInt},
{"OpFMod", SpvOpFMod},
{"OpFSub", SpvOpFSub},
{"OpVectorShuffle", SpvOpVectorShuffle},
{"OpCapability", SpvOpCapability},
{"OpGroupUMinNonUniformAMD", SpvOpGroupUMinNonUniformAMD},
{"OpGroupFMaxNonUniformAMD", SpvOpGroupFMaxNonUniformAMD},
{"OpTypePipeStorage", SpvOpTypePipeStorage},
{"OpSubgroupAvcImeSetSingleReferenceINTEL", SpvOpSubgroupAvcImeSetSingleReferenceINTEL},
{"OpDecorate", SpvOpDecorate},
{"OpTypeVmeImageINTEL", SpvOpTypeVmeImageINTEL},
{"OpPtrEqual", SpvOpPtrEqual},
{"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL},
{"OpLessOrGreater", SpvOpLessOrGreater},
{"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL},
{"OpFunction", SpvOpFunction},
{"OpSubgroupAvcSicConvertToMceResultINTEL", SpvOpSubgroupAvcSicConvertToMceResultINTEL},
{"OpReturnValue", SpvOpReturnValue},
{"OpFConvert", SpvOpFConvert},
{"OpArbitraryFloatLTINTEL", SpvOpArbitraryFloatLTINTEL},
{"OpExtInstImport", SpvOpExtInstImport},
{"OpSubgroupImageMediaBlockReadINTEL", SpvOpSubgroupImageMediaBlockReadINTEL},
{"OpTypeAvcImeDualReferenceStreaminINTEL", SpvOpTypeAvcImeDualReferenceStreaminINTEL},
{"OpSDotKHR", SpvOpSDotKHR},
{"OpHitObjectRecordHitMotionNV", SpvOpHitObjectRecordHitMotionNV},
{"OpMatrixTimesVector", SpvOpMatrixTimesVector},
{"OpConstantPipeStorage", SpvOpConstantPipeStorage},
{"OpIAdd", SpvOpIAdd},
{"OpAtomicAnd", SpvOpAtomicAnd},
{"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL},
{"OpUMulExtended", SpvOpUMulExtended},
{"OpGetKernelMaxNumSubgroups", SpvOpGetKernelMaxNumSubgroups},
{"OpUDiv", SpvOpUDiv},
{"OpDot", SpvOpDot},
{"OpCreateUserEvent", SpvOpCreateUserEvent},
{"OpSUDotKHR", SpvOpSUDotKHR},
{"OpConvertFToS", SpvOpConvertFToS},
{"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL},
{"OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL", SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL},
{"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL},
{"OpEnqueueMarker", SpvOpEnqueueMarker},
{"OpCommitReadPipe", SpvOpCommitReadPipe},
{"OpSubgroupAvcSicGetInterRawSadsINTEL", SpvOpSubgroupAvcSicGetInterRawSadsINTEL},
{"OpGroupFAddNonUniformAMD", SpvOpGroupFAddNonUniformAMD},
{"OpTypeVoid", SpvOpTypeVoid},
{"OpWritePipe", SpvOpWritePipe},
{"OpIAverageRoundedINTEL", SpvOpIAverageRoundedINTEL},
{"OpCommitWritePipe", SpvOpCommitWritePipe},
{"OpSpecConstantFalse", SpvOpSpecConstantFalse},
{"OpArbitraryFloatHypotINTEL", SpvOpArbitraryFloatHypotINTEL},
{"OpTypeVector", SpvOpTypeVector},
{"OpOuterProduct", SpvOpOuterProduct},
{"OpLoopMerge", SpvOpLoopMerge},
{"OpInBoundsAccessChain", SpvOpInBoundsAccessChain},
{"OpFixedRecipINTEL", SpvOpFixedRecipINTEL},
{"OpReadPipe", SpvOpReadPipe},
{"OpSignBitSet", SpvOpSignBitSet},
{"OpUAverageRoundedINTEL", SpvOpUAverageRoundedINTEL},
{"OpSubgroupAvcMceGetMotionVectorsINTEL", SpvOpSubgroupAvcMceGetMotionVectorsINTEL},
{"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL},
{"OpSRem", SpvOpSRem},
{"OpImageTexelPointer", SpvOpImageTexelPointer},
{"OpArbitraryFloatATanINTEL", SpvOpArbitraryFloatATanINTEL},
{"OpBuildNDRange", SpvOpBuildNDRange},
{"OpRayQueryGetIntersectionObjectToWorldKHR", SpvOpRayQueryGetIntersectionObjectToWorldKHR},
{"OpConstantFalse", SpvOpConstantFalse},
{"OpTypeEvent", SpvOpTypeEvent},
{"OpArbitraryFloatDivINTEL", SpvOpArbitraryFloatDivINTEL},
};
static UInt32 hash(const UnownedStringSlice& str, UInt32 salt)
{
UInt64 h = salt;
for(const char c : str)
h = ((h * 0x00000100000001B3) ^ c);
return h % (sizeof(tableSalt)/sizeof(tableSalt[0]));
}
bool lookupSpvOp(const UnownedStringSlice& str, SpvOp& value)
{
const auto i = hash(str, tableSalt[hash(str, 0)]);
if(str == words[i].name)
{
value = words[i].value;
return true;
}
else
{
return false;
}
}
}
|