spirv.h 294 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277
  1. /*
  2. ** Copyright: 2014-2024 The Khronos Group Inc.
  3. ** License: MIT
  4. **
  5. ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
  6. ** KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
  7. ** SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
  8. ** https://www.khronos.org/registry/
  9. */
  10. /*
  11. ** This header is automatically generated by the same tool that creates
  12. ** the Binary Section of the SPIR-V specification.
  13. */
  14. /*
  15. ** Enumeration tokens for SPIR-V, in various styles:
  16. ** C, C++, C++11, JSON, Lua, Python, C#, D, Beef
  17. **
  18. ** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
  19. ** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
  20. ** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
  21. ** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
  22. ** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
  23. ** - C# will use enum classes in the Specification class located in the "Spv" namespace,
  24. ** e.g.: Spv.Specification.SourceLanguage.GLSL
  25. ** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
  26. ** - Beef will use enum classes in the Specification class located in the "Spv" namespace,
  27. ** e.g.: Spv.Specification.SourceLanguage.GLSL
  28. **
  29. ** Some tokens act like mask values, which can be OR'd together,
  30. ** while others are mutually exclusive. The mask-like ones have
  31. ** "Mask" in their name, and a parallel enum that has the shift
  32. ** amount (1 << x) for each corresponding enumerant.
  33. */
  34. #ifndef spirv_H
  35. #define spirv_H
  36. typedef unsigned int SpvId;
  37. #define SPV_VERSION 0x10600
  38. #define SPV_REVISION 1
  39. static const unsigned int SpvMagicNumber = 0x07230203;
  40. static const unsigned int SpvVersion = 0x00010600;
  41. static const unsigned int SpvRevision = 1;
  42. static const unsigned int SpvOpCodeMask = 0xffff;
  43. static const unsigned int SpvWordCountShift = 16;
  44. typedef enum SpvSourceLanguage_ {
  45. SpvSourceLanguageUnknown = 0,
  46. SpvSourceLanguageESSL = 1,
  47. SpvSourceLanguageGLSL = 2,
  48. SpvSourceLanguageOpenCL_C = 3,
  49. SpvSourceLanguageOpenCL_CPP = 4,
  50. SpvSourceLanguageHLSL = 5,
  51. SpvSourceLanguageCPP_for_OpenCL = 6,
  52. SpvSourceLanguageSYCL = 7,
  53. SpvSourceLanguageHERO_C = 8,
  54. SpvSourceLanguageNZSL = 9,
  55. SpvSourceLanguageWGSL = 10,
  56. SpvSourceLanguageSlang = 11,
  57. SpvSourceLanguageZig = 12,
  58. SpvSourceLanguageRust = 13,
  59. SpvSourceLanguageMax = 0x7fffffff,
  60. } SpvSourceLanguage;
  61. typedef enum SpvExecutionModel_ {
  62. SpvExecutionModelVertex = 0,
  63. SpvExecutionModelTessellationControl = 1,
  64. SpvExecutionModelTessellationEvaluation = 2,
  65. SpvExecutionModelGeometry = 3,
  66. SpvExecutionModelFragment = 4,
  67. SpvExecutionModelGLCompute = 5,
  68. SpvExecutionModelKernel = 6,
  69. SpvExecutionModelTaskNV = 5267,
  70. SpvExecutionModelMeshNV = 5268,
  71. SpvExecutionModelRayGenerationKHR = 5313,
  72. SpvExecutionModelRayGenerationNV = 5313,
  73. SpvExecutionModelIntersectionKHR = 5314,
  74. SpvExecutionModelIntersectionNV = 5314,
  75. SpvExecutionModelAnyHitKHR = 5315,
  76. SpvExecutionModelAnyHitNV = 5315,
  77. SpvExecutionModelClosestHitKHR = 5316,
  78. SpvExecutionModelClosestHitNV = 5316,
  79. SpvExecutionModelMissKHR = 5317,
  80. SpvExecutionModelMissNV = 5317,
  81. SpvExecutionModelCallableKHR = 5318,
  82. SpvExecutionModelCallableNV = 5318,
  83. SpvExecutionModelTaskEXT = 5364,
  84. SpvExecutionModelMeshEXT = 5365,
  85. SpvExecutionModelMax = 0x7fffffff,
  86. } SpvExecutionModel;
  87. typedef enum SpvAddressingModel_ {
  88. SpvAddressingModelLogical = 0,
  89. SpvAddressingModelPhysical32 = 1,
  90. SpvAddressingModelPhysical64 = 2,
  91. SpvAddressingModelPhysicalStorageBuffer64 = 5348,
  92. SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
  93. SpvAddressingModelMax = 0x7fffffff,
  94. } SpvAddressingModel;
  95. typedef enum SpvMemoryModel_ {
  96. SpvMemoryModelSimple = 0,
  97. SpvMemoryModelGLSL450 = 1,
  98. SpvMemoryModelOpenCL = 2,
  99. SpvMemoryModelVulkan = 3,
  100. SpvMemoryModelVulkanKHR = 3,
  101. SpvMemoryModelMax = 0x7fffffff,
  102. } SpvMemoryModel;
  103. typedef enum SpvExecutionMode_ {
  104. SpvExecutionModeInvocations = 0,
  105. SpvExecutionModeSpacingEqual = 1,
  106. SpvExecutionModeSpacingFractionalEven = 2,
  107. SpvExecutionModeSpacingFractionalOdd = 3,
  108. SpvExecutionModeVertexOrderCw = 4,
  109. SpvExecutionModeVertexOrderCcw = 5,
  110. SpvExecutionModePixelCenterInteger = 6,
  111. SpvExecutionModeOriginUpperLeft = 7,
  112. SpvExecutionModeOriginLowerLeft = 8,
  113. SpvExecutionModeEarlyFragmentTests = 9,
  114. SpvExecutionModePointMode = 10,
  115. SpvExecutionModeXfb = 11,
  116. SpvExecutionModeDepthReplacing = 12,
  117. SpvExecutionModeDepthGreater = 14,
  118. SpvExecutionModeDepthLess = 15,
  119. SpvExecutionModeDepthUnchanged = 16,
  120. SpvExecutionModeLocalSize = 17,
  121. SpvExecutionModeLocalSizeHint = 18,
  122. SpvExecutionModeInputPoints = 19,
  123. SpvExecutionModeInputLines = 20,
  124. SpvExecutionModeInputLinesAdjacency = 21,
  125. SpvExecutionModeTriangles = 22,
  126. SpvExecutionModeInputTrianglesAdjacency = 23,
  127. SpvExecutionModeQuads = 24,
  128. SpvExecutionModeIsolines = 25,
  129. SpvExecutionModeOutputVertices = 26,
  130. SpvExecutionModeOutputPoints = 27,
  131. SpvExecutionModeOutputLineStrip = 28,
  132. SpvExecutionModeOutputTriangleStrip = 29,
  133. SpvExecutionModeVecTypeHint = 30,
  134. SpvExecutionModeContractionOff = 31,
  135. SpvExecutionModeInitializer = 33,
  136. SpvExecutionModeFinalizer = 34,
  137. SpvExecutionModeSubgroupSize = 35,
  138. SpvExecutionModeSubgroupsPerWorkgroup = 36,
  139. SpvExecutionModeSubgroupsPerWorkgroupId = 37,
  140. SpvExecutionModeLocalSizeId = 38,
  141. SpvExecutionModeLocalSizeHintId = 39,
  142. SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
  143. SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
  144. SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
  145. SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
  146. SpvExecutionModePostDepthCoverage = 4446,
  147. SpvExecutionModeDenormPreserve = 4459,
  148. SpvExecutionModeDenormFlushToZero = 4460,
  149. SpvExecutionModeSignedZeroInfNanPreserve = 4461,
  150. SpvExecutionModeRoundingModeRTE = 4462,
  151. SpvExecutionModeRoundingModeRTZ = 4463,
  152. SpvExecutionModeNonCoherentTileAttachmentReadQCOM = 4489,
  153. SpvExecutionModeTileShadingRateQCOM = 4490,
  154. SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
  155. SpvExecutionModeStencilRefReplacingEXT = 5027,
  156. SpvExecutionModeCoalescingAMDX = 5069,
  157. SpvExecutionModeIsApiEntryAMDX = 5070,
  158. SpvExecutionModeMaxNodeRecursionAMDX = 5071,
  159. SpvExecutionModeStaticNumWorkgroupsAMDX = 5072,
  160. SpvExecutionModeShaderIndexAMDX = 5073,
  161. SpvExecutionModeMaxNumWorkgroupsAMDX = 5077,
  162. SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
  163. SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
  164. SpvExecutionModeStencilRefLessFrontAMD = 5081,
  165. SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
  166. SpvExecutionModeStencilRefGreaterBackAMD = 5083,
  167. SpvExecutionModeStencilRefLessBackAMD = 5084,
  168. SpvExecutionModeQuadDerivativesKHR = 5088,
  169. SpvExecutionModeRequireFullQuadsKHR = 5089,
  170. SpvExecutionModeSharesInputWithAMDX = 5102,
  171. SpvExecutionModeOutputLinesEXT = 5269,
  172. SpvExecutionModeOutputLinesNV = 5269,
  173. SpvExecutionModeOutputPrimitivesEXT = 5270,
  174. SpvExecutionModeOutputPrimitivesNV = 5270,
  175. SpvExecutionModeDerivativeGroupQuadsKHR = 5289,
  176. SpvExecutionModeDerivativeGroupQuadsNV = 5289,
  177. SpvExecutionModeDerivativeGroupLinearKHR = 5290,
  178. SpvExecutionModeDerivativeGroupLinearNV = 5290,
  179. SpvExecutionModeOutputTrianglesEXT = 5298,
  180. SpvExecutionModeOutputTrianglesNV = 5298,
  181. SpvExecutionModePixelInterlockOrderedEXT = 5366,
  182. SpvExecutionModePixelInterlockUnorderedEXT = 5367,
  183. SpvExecutionModeSampleInterlockOrderedEXT = 5368,
  184. SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
  185. SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
  186. SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
  187. SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
  188. SpvExecutionModeRoundingModeRTPINTEL = 5620,
  189. SpvExecutionModeRoundingModeRTNINTEL = 5621,
  190. SpvExecutionModeFloatingPointModeALTINTEL = 5622,
  191. SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
  192. SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
  193. SpvExecutionModeMaxWorkDimINTEL = 5894,
  194. SpvExecutionModeNoGlobalOffsetINTEL = 5895,
  195. SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
  196. SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
  197. SpvExecutionModeMaximallyReconvergesKHR = 6023,
  198. SpvExecutionModeFPFastMathDefault = 6028,
  199. SpvExecutionModeStreamingInterfaceINTEL = 6154,
  200. SpvExecutionModeRegisterMapInterfaceINTEL = 6160,
  201. SpvExecutionModeNamedBarrierCountINTEL = 6417,
  202. SpvExecutionModeMaximumRegistersINTEL = 6461,
  203. SpvExecutionModeMaximumRegistersIdINTEL = 6462,
  204. SpvExecutionModeNamedMaximumRegistersINTEL = 6463,
  205. SpvExecutionModeMax = 0x7fffffff,
  206. } SpvExecutionMode;
  207. typedef enum SpvStorageClass_ {
  208. SpvStorageClassUniformConstant = 0,
  209. SpvStorageClassInput = 1,
  210. SpvStorageClassUniform = 2,
  211. SpvStorageClassOutput = 3,
  212. SpvStorageClassWorkgroup = 4,
  213. SpvStorageClassCrossWorkgroup = 5,
  214. SpvStorageClassPrivate = 6,
  215. SpvStorageClassFunction = 7,
  216. SpvStorageClassGeneric = 8,
  217. SpvStorageClassPushConstant = 9,
  218. SpvStorageClassAtomicCounter = 10,
  219. SpvStorageClassImage = 11,
  220. SpvStorageClassStorageBuffer = 12,
  221. SpvStorageClassTileImageEXT = 4172,
  222. SpvStorageClassTileAttachmentQCOM = 4491,
  223. SpvStorageClassNodePayloadAMDX = 5068,
  224. SpvStorageClassCallableDataKHR = 5328,
  225. SpvStorageClassCallableDataNV = 5328,
  226. SpvStorageClassIncomingCallableDataKHR = 5329,
  227. SpvStorageClassIncomingCallableDataNV = 5329,
  228. SpvStorageClassRayPayloadKHR = 5338,
  229. SpvStorageClassRayPayloadNV = 5338,
  230. SpvStorageClassHitAttributeKHR = 5339,
  231. SpvStorageClassHitAttributeNV = 5339,
  232. SpvStorageClassIncomingRayPayloadKHR = 5342,
  233. SpvStorageClassIncomingRayPayloadNV = 5342,
  234. SpvStorageClassShaderRecordBufferKHR = 5343,
  235. SpvStorageClassShaderRecordBufferNV = 5343,
  236. SpvStorageClassPhysicalStorageBuffer = 5349,
  237. SpvStorageClassPhysicalStorageBufferEXT = 5349,
  238. SpvStorageClassHitObjectAttributeNV = 5385,
  239. SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
  240. SpvStorageClassCodeSectionINTEL = 5605,
  241. SpvStorageClassDeviceOnlyINTEL = 5936,
  242. SpvStorageClassHostOnlyINTEL = 5937,
  243. SpvStorageClassMax = 0x7fffffff,
  244. } SpvStorageClass;
  245. typedef enum SpvDim_ {
  246. SpvDim1D = 0,
  247. SpvDim2D = 1,
  248. SpvDim3D = 2,
  249. SpvDimCube = 3,
  250. SpvDimRect = 4,
  251. SpvDimBuffer = 5,
  252. SpvDimSubpassData = 6,
  253. SpvDimTileImageDataEXT = 4173,
  254. SpvDimMax = 0x7fffffff,
  255. } SpvDim;
  256. typedef enum SpvSamplerAddressingMode_ {
  257. SpvSamplerAddressingModeNone = 0,
  258. SpvSamplerAddressingModeClampToEdge = 1,
  259. SpvSamplerAddressingModeClamp = 2,
  260. SpvSamplerAddressingModeRepeat = 3,
  261. SpvSamplerAddressingModeRepeatMirrored = 4,
  262. SpvSamplerAddressingModeMax = 0x7fffffff,
  263. } SpvSamplerAddressingMode;
  264. typedef enum SpvSamplerFilterMode_ {
  265. SpvSamplerFilterModeNearest = 0,
  266. SpvSamplerFilterModeLinear = 1,
  267. SpvSamplerFilterModeMax = 0x7fffffff,
  268. } SpvSamplerFilterMode;
  269. typedef enum SpvImageFormat_ {
  270. SpvImageFormatUnknown = 0,
  271. SpvImageFormatRgba32f = 1,
  272. SpvImageFormatRgba16f = 2,
  273. SpvImageFormatR32f = 3,
  274. SpvImageFormatRgba8 = 4,
  275. SpvImageFormatRgba8Snorm = 5,
  276. SpvImageFormatRg32f = 6,
  277. SpvImageFormatRg16f = 7,
  278. SpvImageFormatR11fG11fB10f = 8,
  279. SpvImageFormatR16f = 9,
  280. SpvImageFormatRgba16 = 10,
  281. SpvImageFormatRgb10A2 = 11,
  282. SpvImageFormatRg16 = 12,
  283. SpvImageFormatRg8 = 13,
  284. SpvImageFormatR16 = 14,
  285. SpvImageFormatR8 = 15,
  286. SpvImageFormatRgba16Snorm = 16,
  287. SpvImageFormatRg16Snorm = 17,
  288. SpvImageFormatRg8Snorm = 18,
  289. SpvImageFormatR16Snorm = 19,
  290. SpvImageFormatR8Snorm = 20,
  291. SpvImageFormatRgba32i = 21,
  292. SpvImageFormatRgba16i = 22,
  293. SpvImageFormatRgba8i = 23,
  294. SpvImageFormatR32i = 24,
  295. SpvImageFormatRg32i = 25,
  296. SpvImageFormatRg16i = 26,
  297. SpvImageFormatRg8i = 27,
  298. SpvImageFormatR16i = 28,
  299. SpvImageFormatR8i = 29,
  300. SpvImageFormatRgba32ui = 30,
  301. SpvImageFormatRgba16ui = 31,
  302. SpvImageFormatRgba8ui = 32,
  303. SpvImageFormatR32ui = 33,
  304. SpvImageFormatRgb10a2ui = 34,
  305. SpvImageFormatRg32ui = 35,
  306. SpvImageFormatRg16ui = 36,
  307. SpvImageFormatRg8ui = 37,
  308. SpvImageFormatR16ui = 38,
  309. SpvImageFormatR8ui = 39,
  310. SpvImageFormatR64ui = 40,
  311. SpvImageFormatR64i = 41,
  312. SpvImageFormatMax = 0x7fffffff,
  313. } SpvImageFormat;
  314. typedef enum SpvImageChannelOrder_ {
  315. SpvImageChannelOrderR = 0,
  316. SpvImageChannelOrderA = 1,
  317. SpvImageChannelOrderRG = 2,
  318. SpvImageChannelOrderRA = 3,
  319. SpvImageChannelOrderRGB = 4,
  320. SpvImageChannelOrderRGBA = 5,
  321. SpvImageChannelOrderBGRA = 6,
  322. SpvImageChannelOrderARGB = 7,
  323. SpvImageChannelOrderIntensity = 8,
  324. SpvImageChannelOrderLuminance = 9,
  325. SpvImageChannelOrderRx = 10,
  326. SpvImageChannelOrderRGx = 11,
  327. SpvImageChannelOrderRGBx = 12,
  328. SpvImageChannelOrderDepth = 13,
  329. SpvImageChannelOrderDepthStencil = 14,
  330. SpvImageChannelOrdersRGB = 15,
  331. SpvImageChannelOrdersRGBx = 16,
  332. SpvImageChannelOrdersRGBA = 17,
  333. SpvImageChannelOrdersBGRA = 18,
  334. SpvImageChannelOrderABGR = 19,
  335. SpvImageChannelOrderMax = 0x7fffffff,
  336. } SpvImageChannelOrder;
  337. typedef enum SpvImageChannelDataType_ {
  338. SpvImageChannelDataTypeSnormInt8 = 0,
  339. SpvImageChannelDataTypeSnormInt16 = 1,
  340. SpvImageChannelDataTypeUnormInt8 = 2,
  341. SpvImageChannelDataTypeUnormInt16 = 3,
  342. SpvImageChannelDataTypeUnormShort565 = 4,
  343. SpvImageChannelDataTypeUnormShort555 = 5,
  344. SpvImageChannelDataTypeUnormInt101010 = 6,
  345. SpvImageChannelDataTypeSignedInt8 = 7,
  346. SpvImageChannelDataTypeSignedInt16 = 8,
  347. SpvImageChannelDataTypeSignedInt32 = 9,
  348. SpvImageChannelDataTypeUnsignedInt8 = 10,
  349. SpvImageChannelDataTypeUnsignedInt16 = 11,
  350. SpvImageChannelDataTypeUnsignedInt32 = 12,
  351. SpvImageChannelDataTypeHalfFloat = 13,
  352. SpvImageChannelDataTypeFloat = 14,
  353. SpvImageChannelDataTypeUnormInt24 = 15,
  354. SpvImageChannelDataTypeUnormInt101010_2 = 16,
  355. SpvImageChannelDataTypeUnormInt10X6EXT = 17,
  356. SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
  357. SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
  358. SpvImageChannelDataTypeUnormInt2_101010EXT = 21,
  359. SpvImageChannelDataTypeUnsignedInt10X6EXT = 22,
  360. SpvImageChannelDataTypeUnsignedInt12X4EXT = 23,
  361. SpvImageChannelDataTypeUnsignedInt14X2EXT = 24,
  362. SpvImageChannelDataTypeUnormInt12X4EXT = 25,
  363. SpvImageChannelDataTypeUnormInt14X2EXT = 26,
  364. SpvImageChannelDataTypeMax = 0x7fffffff,
  365. } SpvImageChannelDataType;
  366. typedef enum SpvImageOperandsShift_ {
  367. SpvImageOperandsBiasShift = 0,
  368. SpvImageOperandsLodShift = 1,
  369. SpvImageOperandsGradShift = 2,
  370. SpvImageOperandsConstOffsetShift = 3,
  371. SpvImageOperandsOffsetShift = 4,
  372. SpvImageOperandsConstOffsetsShift = 5,
  373. SpvImageOperandsSampleShift = 6,
  374. SpvImageOperandsMinLodShift = 7,
  375. SpvImageOperandsMakeTexelAvailableShift = 8,
  376. SpvImageOperandsMakeTexelAvailableKHRShift = 8,
  377. SpvImageOperandsMakeTexelVisibleShift = 9,
  378. SpvImageOperandsMakeTexelVisibleKHRShift = 9,
  379. SpvImageOperandsNonPrivateTexelShift = 10,
  380. SpvImageOperandsNonPrivateTexelKHRShift = 10,
  381. SpvImageOperandsVolatileTexelShift = 11,
  382. SpvImageOperandsVolatileTexelKHRShift = 11,
  383. SpvImageOperandsSignExtendShift = 12,
  384. SpvImageOperandsZeroExtendShift = 13,
  385. SpvImageOperandsNontemporalShift = 14,
  386. SpvImageOperandsOffsetsShift = 16,
  387. SpvImageOperandsMax = 0x7fffffff,
  388. } SpvImageOperandsShift;
  389. typedef enum SpvImageOperandsMask_ {
  390. SpvImageOperandsMaskNone = 0,
  391. SpvImageOperandsBiasMask = 0x00000001,
  392. SpvImageOperandsLodMask = 0x00000002,
  393. SpvImageOperandsGradMask = 0x00000004,
  394. SpvImageOperandsConstOffsetMask = 0x00000008,
  395. SpvImageOperandsOffsetMask = 0x00000010,
  396. SpvImageOperandsConstOffsetsMask = 0x00000020,
  397. SpvImageOperandsSampleMask = 0x00000040,
  398. SpvImageOperandsMinLodMask = 0x00000080,
  399. SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
  400. SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
  401. SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
  402. SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
  403. SpvImageOperandsNonPrivateTexelMask = 0x00000400,
  404. SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
  405. SpvImageOperandsVolatileTexelMask = 0x00000800,
  406. SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
  407. SpvImageOperandsSignExtendMask = 0x00001000,
  408. SpvImageOperandsZeroExtendMask = 0x00002000,
  409. SpvImageOperandsNontemporalMask = 0x00004000,
  410. SpvImageOperandsOffsetsMask = 0x00010000,
  411. } SpvImageOperandsMask;
  412. typedef enum SpvFPFastMathModeShift_ {
  413. SpvFPFastMathModeNotNaNShift = 0,
  414. SpvFPFastMathModeNotInfShift = 1,
  415. SpvFPFastMathModeNSZShift = 2,
  416. SpvFPFastMathModeAllowRecipShift = 3,
  417. SpvFPFastMathModeFastShift = 4,
  418. SpvFPFastMathModeAllowContractShift = 16,
  419. SpvFPFastMathModeAllowContractFastINTELShift = 16,
  420. SpvFPFastMathModeAllowReassocShift = 17,
  421. SpvFPFastMathModeAllowReassocINTELShift = 17,
  422. SpvFPFastMathModeAllowTransformShift = 18,
  423. SpvFPFastMathModeMax = 0x7fffffff,
  424. } SpvFPFastMathModeShift;
  425. typedef enum SpvFPFastMathModeMask_ {
  426. SpvFPFastMathModeMaskNone = 0,
  427. SpvFPFastMathModeNotNaNMask = 0x00000001,
  428. SpvFPFastMathModeNotInfMask = 0x00000002,
  429. SpvFPFastMathModeNSZMask = 0x00000004,
  430. SpvFPFastMathModeAllowRecipMask = 0x00000008,
  431. SpvFPFastMathModeFastMask = 0x00000010,
  432. SpvFPFastMathModeAllowContractMask = 0x00010000,
  433. SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
  434. SpvFPFastMathModeAllowReassocMask = 0x00020000,
  435. SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
  436. SpvFPFastMathModeAllowTransformMask = 0x00040000,
  437. } SpvFPFastMathModeMask;
  438. typedef enum SpvFPRoundingMode_ {
  439. SpvFPRoundingModeRTE = 0,
  440. SpvFPRoundingModeRTZ = 1,
  441. SpvFPRoundingModeRTP = 2,
  442. SpvFPRoundingModeRTN = 3,
  443. SpvFPRoundingModeMax = 0x7fffffff,
  444. } SpvFPRoundingMode;
  445. typedef enum SpvLinkageType_ {
  446. SpvLinkageTypeExport = 0,
  447. SpvLinkageTypeImport = 1,
  448. SpvLinkageTypeLinkOnceODR = 2,
  449. SpvLinkageTypeMax = 0x7fffffff,
  450. } SpvLinkageType;
  451. typedef enum SpvAccessQualifier_ {
  452. SpvAccessQualifierReadOnly = 0,
  453. SpvAccessQualifierWriteOnly = 1,
  454. SpvAccessQualifierReadWrite = 2,
  455. SpvAccessQualifierMax = 0x7fffffff,
  456. } SpvAccessQualifier;
  457. typedef enum SpvFunctionParameterAttribute_ {
  458. SpvFunctionParameterAttributeZext = 0,
  459. SpvFunctionParameterAttributeSext = 1,
  460. SpvFunctionParameterAttributeByVal = 2,
  461. SpvFunctionParameterAttributeSret = 3,
  462. SpvFunctionParameterAttributeNoAlias = 4,
  463. SpvFunctionParameterAttributeNoCapture = 5,
  464. SpvFunctionParameterAttributeNoWrite = 6,
  465. SpvFunctionParameterAttributeNoReadWrite = 7,
  466. SpvFunctionParameterAttributeRuntimeAlignedINTEL = 5940,
  467. SpvFunctionParameterAttributeMax = 0x7fffffff,
  468. } SpvFunctionParameterAttribute;
  469. typedef enum SpvDecoration_ {
  470. SpvDecorationRelaxedPrecision = 0,
  471. SpvDecorationSpecId = 1,
  472. SpvDecorationBlock = 2,
  473. SpvDecorationBufferBlock = 3,
  474. SpvDecorationRowMajor = 4,
  475. SpvDecorationColMajor = 5,
  476. SpvDecorationArrayStride = 6,
  477. SpvDecorationMatrixStride = 7,
  478. SpvDecorationGLSLShared = 8,
  479. SpvDecorationGLSLPacked = 9,
  480. SpvDecorationCPacked = 10,
  481. SpvDecorationBuiltIn = 11,
  482. SpvDecorationNoPerspective = 13,
  483. SpvDecorationFlat = 14,
  484. SpvDecorationPatch = 15,
  485. SpvDecorationCentroid = 16,
  486. SpvDecorationSample = 17,
  487. SpvDecorationInvariant = 18,
  488. SpvDecorationRestrict = 19,
  489. SpvDecorationAliased = 20,
  490. SpvDecorationVolatile = 21,
  491. SpvDecorationConstant = 22,
  492. SpvDecorationCoherent = 23,
  493. SpvDecorationNonWritable = 24,
  494. SpvDecorationNonReadable = 25,
  495. SpvDecorationUniform = 26,
  496. SpvDecorationUniformId = 27,
  497. SpvDecorationSaturatedConversion = 28,
  498. SpvDecorationStream = 29,
  499. SpvDecorationLocation = 30,
  500. SpvDecorationComponent = 31,
  501. SpvDecorationIndex = 32,
  502. SpvDecorationBinding = 33,
  503. SpvDecorationDescriptorSet = 34,
  504. SpvDecorationOffset = 35,
  505. SpvDecorationXfbBuffer = 36,
  506. SpvDecorationXfbStride = 37,
  507. SpvDecorationFuncParamAttr = 38,
  508. SpvDecorationFPRoundingMode = 39,
  509. SpvDecorationFPFastMathMode = 40,
  510. SpvDecorationLinkageAttributes = 41,
  511. SpvDecorationNoContraction = 42,
  512. SpvDecorationInputAttachmentIndex = 43,
  513. SpvDecorationAlignment = 44,
  514. SpvDecorationMaxByteOffset = 45,
  515. SpvDecorationAlignmentId = 46,
  516. SpvDecorationMaxByteOffsetId = 47,
  517. SpvDecorationSaturatedToLargestFloat8NormalConversionEXT = 4216,
  518. SpvDecorationNoSignedWrap = 4469,
  519. SpvDecorationNoUnsignedWrap = 4470,
  520. SpvDecorationWeightTextureQCOM = 4487,
  521. SpvDecorationBlockMatchTextureQCOM = 4488,
  522. SpvDecorationBlockMatchSamplerQCOM = 4499,
  523. SpvDecorationExplicitInterpAMD = 4999,
  524. SpvDecorationNodeSharesPayloadLimitsWithAMDX = 5019,
  525. SpvDecorationNodeMaxPayloadsAMDX = 5020,
  526. SpvDecorationTrackFinishWritingAMDX = 5078,
  527. SpvDecorationPayloadNodeNameAMDX = 5091,
  528. SpvDecorationPayloadNodeBaseIndexAMDX = 5098,
  529. SpvDecorationPayloadNodeSparseArrayAMDX = 5099,
  530. SpvDecorationPayloadNodeArraySizeAMDX = 5100,
  531. SpvDecorationPayloadDispatchIndirectAMDX = 5105,
  532. SpvDecorationOverrideCoverageNV = 5248,
  533. SpvDecorationPassthroughNV = 5250,
  534. SpvDecorationViewportRelativeNV = 5252,
  535. SpvDecorationSecondaryViewportRelativeNV = 5256,
  536. SpvDecorationPerPrimitiveEXT = 5271,
  537. SpvDecorationPerPrimitiveNV = 5271,
  538. SpvDecorationPerViewNV = 5272,
  539. SpvDecorationPerTaskNV = 5273,
  540. SpvDecorationPerVertexKHR = 5285,
  541. SpvDecorationPerVertexNV = 5285,
  542. SpvDecorationNonUniform = 5300,
  543. SpvDecorationNonUniformEXT = 5300,
  544. SpvDecorationRestrictPointer = 5355,
  545. SpvDecorationRestrictPointerEXT = 5355,
  546. SpvDecorationAliasedPointer = 5356,
  547. SpvDecorationAliasedPointerEXT = 5356,
  548. SpvDecorationHitObjectShaderRecordBufferNV = 5386,
  549. SpvDecorationBindlessSamplerNV = 5398,
  550. SpvDecorationBindlessImageNV = 5399,
  551. SpvDecorationBoundSamplerNV = 5400,
  552. SpvDecorationBoundImageNV = 5401,
  553. SpvDecorationSIMTCallINTEL = 5599,
  554. SpvDecorationReferencedIndirectlyINTEL = 5602,
  555. SpvDecorationClobberINTEL = 5607,
  556. SpvDecorationSideEffectsINTEL = 5608,
  557. SpvDecorationVectorComputeVariableINTEL = 5624,
  558. SpvDecorationFuncParamIOKindINTEL = 5625,
  559. SpvDecorationVectorComputeFunctionINTEL = 5626,
  560. SpvDecorationStackCallINTEL = 5627,
  561. SpvDecorationGlobalVariableOffsetINTEL = 5628,
  562. SpvDecorationCounterBuffer = 5634,
  563. SpvDecorationHlslCounterBufferGOOGLE = 5634,
  564. SpvDecorationHlslSemanticGOOGLE = 5635,
  565. SpvDecorationUserSemantic = 5635,
  566. SpvDecorationUserTypeGOOGLE = 5636,
  567. SpvDecorationFunctionRoundingModeINTEL = 5822,
  568. SpvDecorationFunctionDenormModeINTEL = 5823,
  569. SpvDecorationRegisterINTEL = 5825,
  570. SpvDecorationMemoryINTEL = 5826,
  571. SpvDecorationNumbanksINTEL = 5827,
  572. SpvDecorationBankwidthINTEL = 5828,
  573. SpvDecorationMaxPrivateCopiesINTEL = 5829,
  574. SpvDecorationSinglepumpINTEL = 5830,
  575. SpvDecorationDoublepumpINTEL = 5831,
  576. SpvDecorationMaxReplicatesINTEL = 5832,
  577. SpvDecorationSimpleDualPortINTEL = 5833,
  578. SpvDecorationMergeINTEL = 5834,
  579. SpvDecorationBankBitsINTEL = 5835,
  580. SpvDecorationForcePow2DepthINTEL = 5836,
  581. SpvDecorationStridesizeINTEL = 5883,
  582. SpvDecorationWordsizeINTEL = 5884,
  583. SpvDecorationTrueDualPortINTEL = 5885,
  584. SpvDecorationBurstCoalesceINTEL = 5899,
  585. SpvDecorationCacheSizeINTEL = 5900,
  586. SpvDecorationDontStaticallyCoalesceINTEL = 5901,
  587. SpvDecorationPrefetchINTEL = 5902,
  588. SpvDecorationStallEnableINTEL = 5905,
  589. SpvDecorationFuseLoopsInFunctionINTEL = 5907,
  590. SpvDecorationMathOpDSPModeINTEL = 5909,
  591. SpvDecorationAliasScopeINTEL = 5914,
  592. SpvDecorationNoAliasINTEL = 5915,
  593. SpvDecorationInitiationIntervalINTEL = 5917,
  594. SpvDecorationMaxConcurrencyINTEL = 5918,
  595. SpvDecorationPipelineEnableINTEL = 5919,
  596. SpvDecorationBufferLocationINTEL = 5921,
  597. SpvDecorationIOPipeStorageINTEL = 5944,
  598. SpvDecorationFunctionFloatingPointModeINTEL = 6080,
  599. SpvDecorationSingleElementVectorINTEL = 6085,
  600. SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
  601. SpvDecorationMediaBlockIOINTEL = 6140,
  602. SpvDecorationStallFreeINTEL = 6151,
  603. SpvDecorationFPMaxErrorDecorationINTEL = 6170,
  604. SpvDecorationLatencyControlLabelINTEL = 6172,
  605. SpvDecorationLatencyControlConstraintINTEL = 6173,
  606. SpvDecorationConduitKernelArgumentINTEL = 6175,
  607. SpvDecorationRegisterMapKernelArgumentINTEL = 6176,
  608. SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177,
  609. SpvDecorationMMHostInterfaceDataWidthINTEL = 6178,
  610. SpvDecorationMMHostInterfaceLatencyINTEL = 6179,
  611. SpvDecorationMMHostInterfaceReadWriteModeINTEL = 6180,
  612. SpvDecorationMMHostInterfaceMaxBurstINTEL = 6181,
  613. SpvDecorationMMHostInterfaceWaitRequestINTEL = 6182,
  614. SpvDecorationStableKernelArgumentINTEL = 6183,
  615. SpvDecorationHostAccessINTEL = 6188,
  616. SpvDecorationInitModeINTEL = 6190,
  617. SpvDecorationImplementInRegisterMapINTEL = 6191,
  618. SpvDecorationConditionalINTEL = 6247,
  619. SpvDecorationCacheControlLoadINTEL = 6442,
  620. SpvDecorationCacheControlStoreINTEL = 6443,
  621. SpvDecorationMax = 0x7fffffff,
  622. } SpvDecoration;
  623. typedef enum SpvBuiltIn_ {
  624. SpvBuiltInPosition = 0,
  625. SpvBuiltInPointSize = 1,
  626. SpvBuiltInClipDistance = 3,
  627. SpvBuiltInCullDistance = 4,
  628. SpvBuiltInVertexId = 5,
  629. SpvBuiltInInstanceId = 6,
  630. SpvBuiltInPrimitiveId = 7,
  631. SpvBuiltInInvocationId = 8,
  632. SpvBuiltInLayer = 9,
  633. SpvBuiltInViewportIndex = 10,
  634. SpvBuiltInTessLevelOuter = 11,
  635. SpvBuiltInTessLevelInner = 12,
  636. SpvBuiltInTessCoord = 13,
  637. SpvBuiltInPatchVertices = 14,
  638. SpvBuiltInFragCoord = 15,
  639. SpvBuiltInPointCoord = 16,
  640. SpvBuiltInFrontFacing = 17,
  641. SpvBuiltInSampleId = 18,
  642. SpvBuiltInSamplePosition = 19,
  643. SpvBuiltInSampleMask = 20,
  644. SpvBuiltInFragDepth = 22,
  645. SpvBuiltInHelperInvocation = 23,
  646. SpvBuiltInNumWorkgroups = 24,
  647. SpvBuiltInWorkgroupSize = 25,
  648. SpvBuiltInWorkgroupId = 26,
  649. SpvBuiltInLocalInvocationId = 27,
  650. SpvBuiltInGlobalInvocationId = 28,
  651. SpvBuiltInLocalInvocationIndex = 29,
  652. SpvBuiltInWorkDim = 30,
  653. SpvBuiltInGlobalSize = 31,
  654. SpvBuiltInEnqueuedWorkgroupSize = 32,
  655. SpvBuiltInGlobalOffset = 33,
  656. SpvBuiltInGlobalLinearId = 34,
  657. SpvBuiltInSubgroupSize = 36,
  658. SpvBuiltInSubgroupMaxSize = 37,
  659. SpvBuiltInNumSubgroups = 38,
  660. SpvBuiltInNumEnqueuedSubgroups = 39,
  661. SpvBuiltInSubgroupId = 40,
  662. SpvBuiltInSubgroupLocalInvocationId = 41,
  663. SpvBuiltInVertexIndex = 42,
  664. SpvBuiltInInstanceIndex = 43,
  665. SpvBuiltInCoreIDARM = 4160,
  666. SpvBuiltInCoreCountARM = 4161,
  667. SpvBuiltInCoreMaxIDARM = 4162,
  668. SpvBuiltInWarpIDARM = 4163,
  669. SpvBuiltInWarpMaxIDARM = 4164,
  670. SpvBuiltInSubgroupEqMask = 4416,
  671. SpvBuiltInSubgroupEqMaskKHR = 4416,
  672. SpvBuiltInSubgroupGeMask = 4417,
  673. SpvBuiltInSubgroupGeMaskKHR = 4417,
  674. SpvBuiltInSubgroupGtMask = 4418,
  675. SpvBuiltInSubgroupGtMaskKHR = 4418,
  676. SpvBuiltInSubgroupLeMask = 4419,
  677. SpvBuiltInSubgroupLeMaskKHR = 4419,
  678. SpvBuiltInSubgroupLtMask = 4420,
  679. SpvBuiltInSubgroupLtMaskKHR = 4420,
  680. SpvBuiltInBaseVertex = 4424,
  681. SpvBuiltInBaseInstance = 4425,
  682. SpvBuiltInDrawIndex = 4426,
  683. SpvBuiltInPrimitiveShadingRateKHR = 4432,
  684. SpvBuiltInDeviceIndex = 4438,
  685. SpvBuiltInViewIndex = 4440,
  686. SpvBuiltInShadingRateKHR = 4444,
  687. SpvBuiltInTileOffsetQCOM = 4492,
  688. SpvBuiltInTileDimensionQCOM = 4493,
  689. SpvBuiltInTileApronSizeQCOM = 4494,
  690. SpvBuiltInBaryCoordNoPerspAMD = 4992,
  691. SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
  692. SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
  693. SpvBuiltInBaryCoordSmoothAMD = 4995,
  694. SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
  695. SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
  696. SpvBuiltInBaryCoordPullModelAMD = 4998,
  697. SpvBuiltInFragStencilRefEXT = 5014,
  698. SpvBuiltInRemainingRecursionLevelsAMDX = 5021,
  699. SpvBuiltInShaderIndexAMDX = 5073,
  700. SpvBuiltInViewportMaskNV = 5253,
  701. SpvBuiltInSecondaryPositionNV = 5257,
  702. SpvBuiltInSecondaryViewportMaskNV = 5258,
  703. SpvBuiltInPositionPerViewNV = 5261,
  704. SpvBuiltInViewportMaskPerViewNV = 5262,
  705. SpvBuiltInFullyCoveredEXT = 5264,
  706. SpvBuiltInTaskCountNV = 5274,
  707. SpvBuiltInPrimitiveCountNV = 5275,
  708. SpvBuiltInPrimitiveIndicesNV = 5276,
  709. SpvBuiltInClipDistancePerViewNV = 5277,
  710. SpvBuiltInCullDistancePerViewNV = 5278,
  711. SpvBuiltInLayerPerViewNV = 5279,
  712. SpvBuiltInMeshViewCountNV = 5280,
  713. SpvBuiltInMeshViewIndicesNV = 5281,
  714. SpvBuiltInBaryCoordKHR = 5286,
  715. SpvBuiltInBaryCoordNV = 5286,
  716. SpvBuiltInBaryCoordNoPerspKHR = 5287,
  717. SpvBuiltInBaryCoordNoPerspNV = 5287,
  718. SpvBuiltInFragSizeEXT = 5292,
  719. SpvBuiltInFragmentSizeNV = 5292,
  720. SpvBuiltInFragInvocationCountEXT = 5293,
  721. SpvBuiltInInvocationsPerPixelNV = 5293,
  722. SpvBuiltInPrimitivePointIndicesEXT = 5294,
  723. SpvBuiltInPrimitiveLineIndicesEXT = 5295,
  724. SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
  725. SpvBuiltInCullPrimitiveEXT = 5299,
  726. SpvBuiltInLaunchIdKHR = 5319,
  727. SpvBuiltInLaunchIdNV = 5319,
  728. SpvBuiltInLaunchSizeKHR = 5320,
  729. SpvBuiltInLaunchSizeNV = 5320,
  730. SpvBuiltInWorldRayOriginKHR = 5321,
  731. SpvBuiltInWorldRayOriginNV = 5321,
  732. SpvBuiltInWorldRayDirectionKHR = 5322,
  733. SpvBuiltInWorldRayDirectionNV = 5322,
  734. SpvBuiltInObjectRayOriginKHR = 5323,
  735. SpvBuiltInObjectRayOriginNV = 5323,
  736. SpvBuiltInObjectRayDirectionKHR = 5324,
  737. SpvBuiltInObjectRayDirectionNV = 5324,
  738. SpvBuiltInRayTminKHR = 5325,
  739. SpvBuiltInRayTminNV = 5325,
  740. SpvBuiltInRayTmaxKHR = 5326,
  741. SpvBuiltInRayTmaxNV = 5326,
  742. SpvBuiltInInstanceCustomIndexKHR = 5327,
  743. SpvBuiltInInstanceCustomIndexNV = 5327,
  744. SpvBuiltInObjectToWorldKHR = 5330,
  745. SpvBuiltInObjectToWorldNV = 5330,
  746. SpvBuiltInWorldToObjectKHR = 5331,
  747. SpvBuiltInWorldToObjectNV = 5331,
  748. SpvBuiltInHitTNV = 5332,
  749. SpvBuiltInHitKindKHR = 5333,
  750. SpvBuiltInHitKindNV = 5333,
  751. SpvBuiltInCurrentRayTimeNV = 5334,
  752. SpvBuiltInHitTriangleVertexPositionsKHR = 5335,
  753. SpvBuiltInHitMicroTriangleVertexPositionsNV = 5337,
  754. SpvBuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
  755. SpvBuiltInIncomingRayFlagsKHR = 5351,
  756. SpvBuiltInIncomingRayFlagsNV = 5351,
  757. SpvBuiltInRayGeometryIndexKHR = 5352,
  758. SpvBuiltInHitIsSphereNV = 5359,
  759. SpvBuiltInHitIsLSSNV = 5360,
  760. SpvBuiltInHitSpherePositionNV = 5361,
  761. SpvBuiltInWarpsPerSMNV = 5374,
  762. SpvBuiltInSMCountNV = 5375,
  763. SpvBuiltInWarpIDNV = 5376,
  764. SpvBuiltInSMIDNV = 5377,
  765. SpvBuiltInHitLSSPositionsNV = 5396,
  766. SpvBuiltInHitKindFrontFacingMicroTriangleNV = 5405,
  767. SpvBuiltInHitKindBackFacingMicroTriangleNV = 5406,
  768. SpvBuiltInHitSphereRadiusNV = 5420,
  769. SpvBuiltInHitLSSRadiiNV = 5421,
  770. SpvBuiltInClusterIDNV = 5436,
  771. SpvBuiltInCullMaskKHR = 6021,
  772. SpvBuiltInMax = 0x7fffffff,
  773. } SpvBuiltIn;
  774. typedef enum SpvSelectionControlShift_ {
  775. SpvSelectionControlFlattenShift = 0,
  776. SpvSelectionControlDontFlattenShift = 1,
  777. SpvSelectionControlMax = 0x7fffffff,
  778. } SpvSelectionControlShift;
  779. typedef enum SpvSelectionControlMask_ {
  780. SpvSelectionControlMaskNone = 0,
  781. SpvSelectionControlFlattenMask = 0x00000001,
  782. SpvSelectionControlDontFlattenMask = 0x00000002,
  783. } SpvSelectionControlMask;
  784. typedef enum SpvLoopControlShift_ {
  785. SpvLoopControlUnrollShift = 0,
  786. SpvLoopControlDontUnrollShift = 1,
  787. SpvLoopControlDependencyInfiniteShift = 2,
  788. SpvLoopControlDependencyLengthShift = 3,
  789. SpvLoopControlMinIterationsShift = 4,
  790. SpvLoopControlMaxIterationsShift = 5,
  791. SpvLoopControlIterationMultipleShift = 6,
  792. SpvLoopControlPeelCountShift = 7,
  793. SpvLoopControlPartialCountShift = 8,
  794. SpvLoopControlInitiationIntervalINTELShift = 16,
  795. SpvLoopControlMaxConcurrencyINTELShift = 17,
  796. SpvLoopControlDependencyArrayINTELShift = 18,
  797. SpvLoopControlPipelineEnableINTELShift = 19,
  798. SpvLoopControlLoopCoalesceINTELShift = 20,
  799. SpvLoopControlMaxInterleavingINTELShift = 21,
  800. SpvLoopControlSpeculatedIterationsINTELShift = 22,
  801. SpvLoopControlNoFusionINTELShift = 23,
  802. SpvLoopControlLoopCountINTELShift = 24,
  803. SpvLoopControlMaxReinvocationDelayINTELShift = 25,
  804. SpvLoopControlMax = 0x7fffffff,
  805. } SpvLoopControlShift;
  806. typedef enum SpvLoopControlMask_ {
  807. SpvLoopControlMaskNone = 0,
  808. SpvLoopControlUnrollMask = 0x00000001,
  809. SpvLoopControlDontUnrollMask = 0x00000002,
  810. SpvLoopControlDependencyInfiniteMask = 0x00000004,
  811. SpvLoopControlDependencyLengthMask = 0x00000008,
  812. SpvLoopControlMinIterationsMask = 0x00000010,
  813. SpvLoopControlMaxIterationsMask = 0x00000020,
  814. SpvLoopControlIterationMultipleMask = 0x00000040,
  815. SpvLoopControlPeelCountMask = 0x00000080,
  816. SpvLoopControlPartialCountMask = 0x00000100,
  817. SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
  818. SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
  819. SpvLoopControlDependencyArrayINTELMask = 0x00040000,
  820. SpvLoopControlPipelineEnableINTELMask = 0x00080000,
  821. SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
  822. SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
  823. SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
  824. SpvLoopControlNoFusionINTELMask = 0x00800000,
  825. SpvLoopControlLoopCountINTELMask = 0x01000000,
  826. SpvLoopControlMaxReinvocationDelayINTELMask = 0x02000000,
  827. } SpvLoopControlMask;
  828. typedef enum SpvFunctionControlShift_ {
  829. SpvFunctionControlInlineShift = 0,
  830. SpvFunctionControlDontInlineShift = 1,
  831. SpvFunctionControlPureShift = 2,
  832. SpvFunctionControlConstShift = 3,
  833. SpvFunctionControlOptNoneEXTShift = 16,
  834. SpvFunctionControlOptNoneINTELShift = 16,
  835. SpvFunctionControlMax = 0x7fffffff,
  836. } SpvFunctionControlShift;
  837. typedef enum SpvFunctionControlMask_ {
  838. SpvFunctionControlMaskNone = 0,
  839. SpvFunctionControlInlineMask = 0x00000001,
  840. SpvFunctionControlDontInlineMask = 0x00000002,
  841. SpvFunctionControlPureMask = 0x00000004,
  842. SpvFunctionControlConstMask = 0x00000008,
  843. SpvFunctionControlOptNoneEXTMask = 0x00010000,
  844. SpvFunctionControlOptNoneINTELMask = 0x00010000,
  845. } SpvFunctionControlMask;
  846. typedef enum SpvMemorySemanticsShift_ {
  847. SpvMemorySemanticsAcquireShift = 1,
  848. SpvMemorySemanticsReleaseShift = 2,
  849. SpvMemorySemanticsAcquireReleaseShift = 3,
  850. SpvMemorySemanticsSequentiallyConsistentShift = 4,
  851. SpvMemorySemanticsUniformMemoryShift = 6,
  852. SpvMemorySemanticsSubgroupMemoryShift = 7,
  853. SpvMemorySemanticsWorkgroupMemoryShift = 8,
  854. SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
  855. SpvMemorySemanticsAtomicCounterMemoryShift = 10,
  856. SpvMemorySemanticsImageMemoryShift = 11,
  857. SpvMemorySemanticsOutputMemoryShift = 12,
  858. SpvMemorySemanticsOutputMemoryKHRShift = 12,
  859. SpvMemorySemanticsMakeAvailableShift = 13,
  860. SpvMemorySemanticsMakeAvailableKHRShift = 13,
  861. SpvMemorySemanticsMakeVisibleShift = 14,
  862. SpvMemorySemanticsMakeVisibleKHRShift = 14,
  863. SpvMemorySemanticsVolatileShift = 15,
  864. SpvMemorySemanticsMax = 0x7fffffff,
  865. } SpvMemorySemanticsShift;
  866. typedef enum SpvMemorySemanticsMask_ {
  867. SpvMemorySemanticsMaskNone = 0,
  868. SpvMemorySemanticsAcquireMask = 0x00000002,
  869. SpvMemorySemanticsReleaseMask = 0x00000004,
  870. SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
  871. SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
  872. SpvMemorySemanticsUniformMemoryMask = 0x00000040,
  873. SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
  874. SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
  875. SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
  876. SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
  877. SpvMemorySemanticsImageMemoryMask = 0x00000800,
  878. SpvMemorySemanticsOutputMemoryMask = 0x00001000,
  879. SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
  880. SpvMemorySemanticsMakeAvailableMask = 0x00002000,
  881. SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
  882. SpvMemorySemanticsMakeVisibleMask = 0x00004000,
  883. SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
  884. SpvMemorySemanticsVolatileMask = 0x00008000,
  885. } SpvMemorySemanticsMask;
  886. typedef enum SpvMemoryAccessShift_ {
  887. SpvMemoryAccessVolatileShift = 0,
  888. SpvMemoryAccessAlignedShift = 1,
  889. SpvMemoryAccessNontemporalShift = 2,
  890. SpvMemoryAccessMakePointerAvailableShift = 3,
  891. SpvMemoryAccessMakePointerAvailableKHRShift = 3,
  892. SpvMemoryAccessMakePointerVisibleShift = 4,
  893. SpvMemoryAccessMakePointerVisibleKHRShift = 4,
  894. SpvMemoryAccessNonPrivatePointerShift = 5,
  895. SpvMemoryAccessNonPrivatePointerKHRShift = 5,
  896. SpvMemoryAccessAliasScopeINTELMaskShift = 16,
  897. SpvMemoryAccessNoAliasINTELMaskShift = 17,
  898. SpvMemoryAccessMax = 0x7fffffff,
  899. } SpvMemoryAccessShift;
  900. typedef enum SpvMemoryAccessMask_ {
  901. SpvMemoryAccessMaskNone = 0,
  902. SpvMemoryAccessVolatileMask = 0x00000001,
  903. SpvMemoryAccessAlignedMask = 0x00000002,
  904. SpvMemoryAccessNontemporalMask = 0x00000004,
  905. SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
  906. SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
  907. SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
  908. SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
  909. SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
  910. SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
  911. SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
  912. SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
  913. } SpvMemoryAccessMask;
  914. typedef enum SpvScope_ {
  915. SpvScopeCrossDevice = 0,
  916. SpvScopeDevice = 1,
  917. SpvScopeWorkgroup = 2,
  918. SpvScopeSubgroup = 3,
  919. SpvScopeInvocation = 4,
  920. SpvScopeQueueFamily = 5,
  921. SpvScopeQueueFamilyKHR = 5,
  922. SpvScopeShaderCallKHR = 6,
  923. SpvScopeMax = 0x7fffffff,
  924. } SpvScope;
  925. typedef enum SpvGroupOperation_ {
  926. SpvGroupOperationReduce = 0,
  927. SpvGroupOperationInclusiveScan = 1,
  928. SpvGroupOperationExclusiveScan = 2,
  929. SpvGroupOperationClusteredReduce = 3,
  930. SpvGroupOperationPartitionedReduceNV = 6,
  931. SpvGroupOperationPartitionedInclusiveScanNV = 7,
  932. SpvGroupOperationPartitionedExclusiveScanNV = 8,
  933. SpvGroupOperationMax = 0x7fffffff,
  934. } SpvGroupOperation;
  935. typedef enum SpvKernelEnqueueFlags_ {
  936. SpvKernelEnqueueFlagsNoWait = 0,
  937. SpvKernelEnqueueFlagsWaitKernel = 1,
  938. SpvKernelEnqueueFlagsWaitWorkGroup = 2,
  939. SpvKernelEnqueueFlagsMax = 0x7fffffff,
  940. } SpvKernelEnqueueFlags;
  941. typedef enum SpvKernelProfilingInfoShift_ {
  942. SpvKernelProfilingInfoCmdExecTimeShift = 0,
  943. SpvKernelProfilingInfoMax = 0x7fffffff,
  944. } SpvKernelProfilingInfoShift;
  945. typedef enum SpvKernelProfilingInfoMask_ {
  946. SpvKernelProfilingInfoMaskNone = 0,
  947. SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
  948. } SpvKernelProfilingInfoMask;
  949. typedef enum SpvCapability_ {
  950. SpvCapabilityMatrix = 0,
  951. SpvCapabilityShader = 1,
  952. SpvCapabilityGeometry = 2,
  953. SpvCapabilityTessellation = 3,
  954. SpvCapabilityAddresses = 4,
  955. SpvCapabilityLinkage = 5,
  956. SpvCapabilityKernel = 6,
  957. SpvCapabilityVector16 = 7,
  958. SpvCapabilityFloat16Buffer = 8,
  959. SpvCapabilityFloat16 = 9,
  960. SpvCapabilityFloat64 = 10,
  961. SpvCapabilityInt64 = 11,
  962. SpvCapabilityInt64Atomics = 12,
  963. SpvCapabilityImageBasic = 13,
  964. SpvCapabilityImageReadWrite = 14,
  965. SpvCapabilityImageMipmap = 15,
  966. SpvCapabilityPipes = 17,
  967. SpvCapabilityGroups = 18,
  968. SpvCapabilityDeviceEnqueue = 19,
  969. SpvCapabilityLiteralSampler = 20,
  970. SpvCapabilityAtomicStorage = 21,
  971. SpvCapabilityInt16 = 22,
  972. SpvCapabilityTessellationPointSize = 23,
  973. SpvCapabilityGeometryPointSize = 24,
  974. SpvCapabilityImageGatherExtended = 25,
  975. SpvCapabilityStorageImageMultisample = 27,
  976. SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
  977. SpvCapabilitySampledImageArrayDynamicIndexing = 29,
  978. SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
  979. SpvCapabilityStorageImageArrayDynamicIndexing = 31,
  980. SpvCapabilityClipDistance = 32,
  981. SpvCapabilityCullDistance = 33,
  982. SpvCapabilityImageCubeArray = 34,
  983. SpvCapabilitySampleRateShading = 35,
  984. SpvCapabilityImageRect = 36,
  985. SpvCapabilitySampledRect = 37,
  986. SpvCapabilityGenericPointer = 38,
  987. SpvCapabilityInt8 = 39,
  988. SpvCapabilityInputAttachment = 40,
  989. SpvCapabilitySparseResidency = 41,
  990. SpvCapabilityMinLod = 42,
  991. SpvCapabilitySampled1D = 43,
  992. SpvCapabilityImage1D = 44,
  993. SpvCapabilitySampledCubeArray = 45,
  994. SpvCapabilitySampledBuffer = 46,
  995. SpvCapabilityImageBuffer = 47,
  996. SpvCapabilityImageMSArray = 48,
  997. SpvCapabilityStorageImageExtendedFormats = 49,
  998. SpvCapabilityImageQuery = 50,
  999. SpvCapabilityDerivativeControl = 51,
  1000. SpvCapabilityInterpolationFunction = 52,
  1001. SpvCapabilityTransformFeedback = 53,
  1002. SpvCapabilityGeometryStreams = 54,
  1003. SpvCapabilityStorageImageReadWithoutFormat = 55,
  1004. SpvCapabilityStorageImageWriteWithoutFormat = 56,
  1005. SpvCapabilityMultiViewport = 57,
  1006. SpvCapabilitySubgroupDispatch = 58,
  1007. SpvCapabilityNamedBarrier = 59,
  1008. SpvCapabilityPipeStorage = 60,
  1009. SpvCapabilityGroupNonUniform = 61,
  1010. SpvCapabilityGroupNonUniformVote = 62,
  1011. SpvCapabilityGroupNonUniformArithmetic = 63,
  1012. SpvCapabilityGroupNonUniformBallot = 64,
  1013. SpvCapabilityGroupNonUniformShuffle = 65,
  1014. SpvCapabilityGroupNonUniformShuffleRelative = 66,
  1015. SpvCapabilityGroupNonUniformClustered = 67,
  1016. SpvCapabilityGroupNonUniformQuad = 68,
  1017. SpvCapabilityShaderLayer = 69,
  1018. SpvCapabilityShaderViewportIndex = 70,
  1019. SpvCapabilityUniformDecoration = 71,
  1020. SpvCapabilityCoreBuiltinsARM = 4165,
  1021. SpvCapabilityTileImageColorReadAccessEXT = 4166,
  1022. SpvCapabilityTileImageDepthReadAccessEXT = 4167,
  1023. SpvCapabilityTileImageStencilReadAccessEXT = 4168,
  1024. SpvCapabilityTensorsARM = 4174,
  1025. SpvCapabilityStorageTensorArrayDynamicIndexingARM = 4175,
  1026. SpvCapabilityStorageTensorArrayNonUniformIndexingARM = 4176,
  1027. SpvCapabilityGraphARM = 4191,
  1028. SpvCapabilityCooperativeMatrixLayoutsARM = 4201,
  1029. SpvCapabilityFloat8EXT = 4212,
  1030. SpvCapabilityFloat8CooperativeMatrixEXT = 4213,
  1031. SpvCapabilityFragmentShadingRateKHR = 4422,
  1032. SpvCapabilitySubgroupBallotKHR = 4423,
  1033. SpvCapabilityDrawParameters = 4427,
  1034. SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
  1035. SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
  1036. SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
  1037. SpvCapabilitySubgroupVoteKHR = 4431,
  1038. SpvCapabilityStorageBuffer16BitAccess = 4433,
  1039. SpvCapabilityStorageUniformBufferBlock16 = 4433,
  1040. SpvCapabilityStorageUniform16 = 4434,
  1041. SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
  1042. SpvCapabilityStoragePushConstant16 = 4435,
  1043. SpvCapabilityStorageInputOutput16 = 4436,
  1044. SpvCapabilityDeviceGroup = 4437,
  1045. SpvCapabilityMultiView = 4439,
  1046. SpvCapabilityVariablePointersStorageBuffer = 4441,
  1047. SpvCapabilityVariablePointers = 4442,
  1048. SpvCapabilityAtomicStorageOps = 4445,
  1049. SpvCapabilitySampleMaskPostDepthCoverage = 4447,
  1050. SpvCapabilityStorageBuffer8BitAccess = 4448,
  1051. SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
  1052. SpvCapabilityStoragePushConstant8 = 4450,
  1053. SpvCapabilityDenormPreserve = 4464,
  1054. SpvCapabilityDenormFlushToZero = 4465,
  1055. SpvCapabilitySignedZeroInfNanPreserve = 4466,
  1056. SpvCapabilityRoundingModeRTE = 4467,
  1057. SpvCapabilityRoundingModeRTZ = 4468,
  1058. SpvCapabilityRayQueryProvisionalKHR = 4471,
  1059. SpvCapabilityRayQueryKHR = 4472,
  1060. SpvCapabilityUntypedPointersKHR = 4473,
  1061. SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
  1062. SpvCapabilityRayTracingKHR = 4479,
  1063. SpvCapabilityTextureSampleWeightedQCOM = 4484,
  1064. SpvCapabilityTextureBoxFilterQCOM = 4485,
  1065. SpvCapabilityTextureBlockMatchQCOM = 4486,
  1066. SpvCapabilityTileShadingQCOM = 4495,
  1067. SpvCapabilityCooperativeMatrixConversionQCOM = 4496,
  1068. SpvCapabilityTextureBlockMatch2QCOM = 4498,
  1069. SpvCapabilityFloat16ImageAMD = 5008,
  1070. SpvCapabilityImageGatherBiasLodAMD = 5009,
  1071. SpvCapabilityFragmentMaskAMD = 5010,
  1072. SpvCapabilityStencilExportEXT = 5013,
  1073. SpvCapabilityImageReadWriteLodAMD = 5015,
  1074. SpvCapabilityInt64ImageEXT = 5016,
  1075. SpvCapabilityShaderClockKHR = 5055,
  1076. SpvCapabilityShaderEnqueueAMDX = 5067,
  1077. SpvCapabilityQuadControlKHR = 5087,
  1078. SpvCapabilityInt4TypeINTEL = 5112,
  1079. SpvCapabilityInt4CooperativeMatrixINTEL = 5114,
  1080. SpvCapabilityBFloat16TypeKHR = 5116,
  1081. SpvCapabilityBFloat16DotProductKHR = 5117,
  1082. SpvCapabilityBFloat16CooperativeMatrixKHR = 5118,
  1083. SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
  1084. SpvCapabilityGeometryShaderPassthroughNV = 5251,
  1085. SpvCapabilityShaderViewportIndexLayerEXT = 5254,
  1086. SpvCapabilityShaderViewportIndexLayerNV = 5254,
  1087. SpvCapabilityShaderViewportMaskNV = 5255,
  1088. SpvCapabilityShaderStereoViewNV = 5259,
  1089. SpvCapabilityPerViewAttributesNV = 5260,
  1090. SpvCapabilityFragmentFullyCoveredEXT = 5265,
  1091. SpvCapabilityMeshShadingNV = 5266,
  1092. SpvCapabilityImageFootprintNV = 5282,
  1093. SpvCapabilityMeshShadingEXT = 5283,
  1094. SpvCapabilityFragmentBarycentricKHR = 5284,
  1095. SpvCapabilityFragmentBarycentricNV = 5284,
  1096. SpvCapabilityComputeDerivativeGroupQuadsKHR = 5288,
  1097. SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
  1098. SpvCapabilityFragmentDensityEXT = 5291,
  1099. SpvCapabilityShadingRateNV = 5291,
  1100. SpvCapabilityGroupNonUniformPartitionedNV = 5297,
  1101. SpvCapabilityShaderNonUniform = 5301,
  1102. SpvCapabilityShaderNonUniformEXT = 5301,
  1103. SpvCapabilityRuntimeDescriptorArray = 5302,
  1104. SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
  1105. SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
  1106. SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
  1107. SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
  1108. SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
  1109. SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
  1110. SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
  1111. SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
  1112. SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
  1113. SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
  1114. SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
  1115. SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
  1116. SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
  1117. SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
  1118. SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
  1119. SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
  1120. SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
  1121. SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
  1122. SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
  1123. SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
  1124. SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
  1125. SpvCapabilityRayTracingPositionFetchKHR = 5336,
  1126. SpvCapabilityRayTracingNV = 5340,
  1127. SpvCapabilityRayTracingMotionBlurNV = 5341,
  1128. SpvCapabilityVulkanMemoryModel = 5345,
  1129. SpvCapabilityVulkanMemoryModelKHR = 5345,
  1130. SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
  1131. SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
  1132. SpvCapabilityPhysicalStorageBufferAddresses = 5347,
  1133. SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
  1134. SpvCapabilityComputeDerivativeGroupLinearKHR = 5350,
  1135. SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
  1136. SpvCapabilityRayTracingProvisionalKHR = 5353,
  1137. SpvCapabilityCooperativeMatrixNV = 5357,
  1138. SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
  1139. SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
  1140. SpvCapabilityShaderSMBuiltinsNV = 5373,
  1141. SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
  1142. SpvCapabilityDemoteToHelperInvocation = 5379,
  1143. SpvCapabilityDemoteToHelperInvocationEXT = 5379,
  1144. SpvCapabilityDisplacementMicromapNV = 5380,
  1145. SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
  1146. SpvCapabilityShaderInvocationReorderNV = 5383,
  1147. SpvCapabilityBindlessTextureNV = 5390,
  1148. SpvCapabilityRayQueryPositionFetchKHR = 5391,
  1149. SpvCapabilityCooperativeVectorNV = 5394,
  1150. SpvCapabilityAtomicFloat16VectorNV = 5404,
  1151. SpvCapabilityRayTracingDisplacementMicromapNV = 5409,
  1152. SpvCapabilityRawAccessChainsNV = 5414,
  1153. SpvCapabilityRayTracingSpheresGeometryNV = 5418,
  1154. SpvCapabilityRayTracingLinearSweptSpheresGeometryNV = 5419,
  1155. SpvCapabilityCooperativeMatrixReductionsNV = 5430,
  1156. SpvCapabilityCooperativeMatrixConversionsNV = 5431,
  1157. SpvCapabilityCooperativeMatrixPerElementOperationsNV = 5432,
  1158. SpvCapabilityCooperativeMatrixTensorAddressingNV = 5433,
  1159. SpvCapabilityCooperativeMatrixBlockLoadsNV = 5434,
  1160. SpvCapabilityCooperativeVectorTrainingNV = 5435,
  1161. SpvCapabilityRayTracingClusterAccelerationStructureNV = 5437,
  1162. SpvCapabilityTensorAddressingNV = 5439,
  1163. SpvCapabilitySubgroupShuffleINTEL = 5568,
  1164. SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
  1165. SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
  1166. SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
  1167. SpvCapabilityRoundToInfinityINTEL = 5582,
  1168. SpvCapabilityFloatingPointModeINTEL = 5583,
  1169. SpvCapabilityIntegerFunctions2INTEL = 5584,
  1170. SpvCapabilityFunctionPointersINTEL = 5603,
  1171. SpvCapabilityIndirectReferencesINTEL = 5604,
  1172. SpvCapabilityAsmINTEL = 5606,
  1173. SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
  1174. SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
  1175. SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
  1176. SpvCapabilityVectorComputeINTEL = 5617,
  1177. SpvCapabilityVectorAnyINTEL = 5619,
  1178. SpvCapabilityExpectAssumeKHR = 5629,
  1179. SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
  1180. SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
  1181. SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
  1182. SpvCapabilityVariableLengthArrayINTEL = 5817,
  1183. SpvCapabilityFunctionFloatControlINTEL = 5821,
  1184. SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
  1185. SpvCapabilityFPFastMathModeINTEL = 5837,
  1186. SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
  1187. SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
  1188. SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
  1189. SpvCapabilityFPGALoopControlsINTEL = 5888,
  1190. SpvCapabilityKernelAttributesINTEL = 5892,
  1191. SpvCapabilityFPGAKernelAttributesINTEL = 5897,
  1192. SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
  1193. SpvCapabilityFPGAClusterAttributesINTEL = 5904,
  1194. SpvCapabilityLoopFuseINTEL = 5906,
  1195. SpvCapabilityFPGADSPControlINTEL = 5908,
  1196. SpvCapabilityMemoryAccessAliasingINTEL = 5910,
  1197. SpvCapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,
  1198. SpvCapabilityFPGABufferLocationINTEL = 5920,
  1199. SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
  1200. SpvCapabilityUSMStorageClassesINTEL = 5935,
  1201. SpvCapabilityRuntimeAlignedAttributeINTEL = 5939,
  1202. SpvCapabilityIOPipesINTEL = 5943,
  1203. SpvCapabilityBlockingPipesINTEL = 5945,
  1204. SpvCapabilityFPGARegINTEL = 5948,
  1205. SpvCapabilityDotProductInputAll = 6016,
  1206. SpvCapabilityDotProductInputAllKHR = 6016,
  1207. SpvCapabilityDotProductInput4x8Bit = 6017,
  1208. SpvCapabilityDotProductInput4x8BitKHR = 6017,
  1209. SpvCapabilityDotProductInput4x8BitPacked = 6018,
  1210. SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
  1211. SpvCapabilityDotProduct = 6019,
  1212. SpvCapabilityDotProductKHR = 6019,
  1213. SpvCapabilityRayCullMaskKHR = 6020,
  1214. SpvCapabilityCooperativeMatrixKHR = 6022,
  1215. SpvCapabilityReplicatedCompositesEXT = 6024,
  1216. SpvCapabilityBitInstructions = 6025,
  1217. SpvCapabilityGroupNonUniformRotateKHR = 6026,
  1218. SpvCapabilityFloatControls2 = 6029,
  1219. SpvCapabilityFMAKHR = 6030,
  1220. SpvCapabilityAtomicFloat32AddEXT = 6033,
  1221. SpvCapabilityAtomicFloat64AddEXT = 6034,
  1222. SpvCapabilityLongCompositesINTEL = 6089,
  1223. SpvCapabilityOptNoneEXT = 6094,
  1224. SpvCapabilityOptNoneINTEL = 6094,
  1225. SpvCapabilityAtomicFloat16AddEXT = 6095,
  1226. SpvCapabilityDebugInfoModuleINTEL = 6114,
  1227. SpvCapabilityBFloat16ConversionINTEL = 6115,
  1228. SpvCapabilitySplitBarrierINTEL = 6141,
  1229. SpvCapabilityArithmeticFenceEXT = 6144,
  1230. SpvCapabilityFPGAClusterAttributesV2INTEL = 6150,
  1231. SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,
  1232. SpvCapabilityTaskSequenceINTEL = 6162,
  1233. SpvCapabilityFPMaxErrorINTEL = 6169,
  1234. SpvCapabilityFPGALatencyControlINTEL = 6171,
  1235. SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
  1236. SpvCapabilityGlobalVariableHostAccessINTEL = 6187,
  1237. SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6189,
  1238. SpvCapabilitySubgroupBufferPrefetchINTEL = 6220,
  1239. SpvCapabilitySubgroup2DBlockIOINTEL = 6228,
  1240. SpvCapabilitySubgroup2DBlockTransformINTEL = 6229,
  1241. SpvCapabilitySubgroup2DBlockTransposeINTEL = 6230,
  1242. SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,
  1243. SpvCapabilityTernaryBitwiseFunctionINTEL = 6241,
  1244. SpvCapabilityUntypedVariableLengthArrayINTEL = 6243,
  1245. SpvCapabilitySpecConditionalINTEL = 6245,
  1246. SpvCapabilityFunctionVariantsINTEL = 6246,
  1247. SpvCapabilityGroupUniformArithmeticKHR = 6400,
  1248. SpvCapabilityTensorFloat32RoundingINTEL = 6425,
  1249. SpvCapabilityMaskedGatherScatterINTEL = 6427,
  1250. SpvCapabilityCacheControlsINTEL = 6441,
  1251. SpvCapabilityRegisterLimitsINTEL = 6460,
  1252. SpvCapabilityBindlessImagesINTEL = 6528,
  1253. SpvCapabilityMax = 0x7fffffff,
  1254. } SpvCapability;
  1255. typedef enum SpvRayFlagsShift_ {
  1256. SpvRayFlagsOpaqueKHRShift = 0,
  1257. SpvRayFlagsNoOpaqueKHRShift = 1,
  1258. SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
  1259. SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
  1260. SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
  1261. SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
  1262. SpvRayFlagsCullOpaqueKHRShift = 6,
  1263. SpvRayFlagsCullNoOpaqueKHRShift = 7,
  1264. SpvRayFlagsSkipBuiltinPrimitivesNVShift = 8,
  1265. SpvRayFlagsSkipTrianglesKHRShift = 8,
  1266. SpvRayFlagsSkipAABBsKHRShift = 9,
  1267. SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
  1268. SpvRayFlagsMax = 0x7fffffff,
  1269. } SpvRayFlagsShift;
  1270. typedef enum SpvRayFlagsMask_ {
  1271. SpvRayFlagsMaskNone = 0,
  1272. SpvRayFlagsOpaqueKHRMask = 0x00000001,
  1273. SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
  1274. SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
  1275. SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
  1276. SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
  1277. SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
  1278. SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
  1279. SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
  1280. SpvRayFlagsSkipBuiltinPrimitivesNVMask = 0x00000100,
  1281. SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
  1282. SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
  1283. SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
  1284. } SpvRayFlagsMask;
  1285. typedef enum SpvRayQueryIntersection_ {
  1286. SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
  1287. SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
  1288. SpvRayQueryIntersectionMax = 0x7fffffff,
  1289. } SpvRayQueryIntersection;
  1290. typedef enum SpvRayQueryCommittedIntersectionType_ {
  1291. SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
  1292. SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
  1293. SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
  1294. SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
  1295. } SpvRayQueryCommittedIntersectionType;
  1296. typedef enum SpvRayQueryCandidateIntersectionType_ {
  1297. SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
  1298. SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
  1299. SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
  1300. } SpvRayQueryCandidateIntersectionType;
  1301. typedef enum SpvFragmentShadingRateShift_ {
  1302. SpvFragmentShadingRateVertical2PixelsShift = 0,
  1303. SpvFragmentShadingRateVertical4PixelsShift = 1,
  1304. SpvFragmentShadingRateHorizontal2PixelsShift = 2,
  1305. SpvFragmentShadingRateHorizontal4PixelsShift = 3,
  1306. SpvFragmentShadingRateMax = 0x7fffffff,
  1307. } SpvFragmentShadingRateShift;
  1308. typedef enum SpvFragmentShadingRateMask_ {
  1309. SpvFragmentShadingRateMaskNone = 0,
  1310. SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,
  1311. SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,
  1312. SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,
  1313. SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
  1314. } SpvFragmentShadingRateMask;
  1315. typedef enum SpvFPDenormMode_ {
  1316. SpvFPDenormModePreserve = 0,
  1317. SpvFPDenormModeFlushToZero = 1,
  1318. SpvFPDenormModeMax = 0x7fffffff,
  1319. } SpvFPDenormMode;
  1320. typedef enum SpvFPOperationMode_ {
  1321. SpvFPOperationModeIEEE = 0,
  1322. SpvFPOperationModeALT = 1,
  1323. SpvFPOperationModeMax = 0x7fffffff,
  1324. } SpvFPOperationMode;
  1325. typedef enum SpvQuantizationModes_ {
  1326. SpvQuantizationModesTRN = 0,
  1327. SpvQuantizationModesTRN_ZERO = 1,
  1328. SpvQuantizationModesRND = 2,
  1329. SpvQuantizationModesRND_ZERO = 3,
  1330. SpvQuantizationModesRND_INF = 4,
  1331. SpvQuantizationModesRND_MIN_INF = 5,
  1332. SpvQuantizationModesRND_CONV = 6,
  1333. SpvQuantizationModesRND_CONV_ODD = 7,
  1334. SpvQuantizationModesMax = 0x7fffffff,
  1335. } SpvQuantizationModes;
  1336. typedef enum SpvOverflowModes_ {
  1337. SpvOverflowModesWRAP = 0,
  1338. SpvOverflowModesSAT = 1,
  1339. SpvOverflowModesSAT_ZERO = 2,
  1340. SpvOverflowModesSAT_SYM = 3,
  1341. SpvOverflowModesMax = 0x7fffffff,
  1342. } SpvOverflowModes;
  1343. typedef enum SpvPackedVectorFormat_ {
  1344. SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
  1345. SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
  1346. SpvPackedVectorFormatMax = 0x7fffffff,
  1347. } SpvPackedVectorFormat;
  1348. typedef enum SpvCooperativeMatrixOperandsShift_ {
  1349. SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,
  1350. SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,
  1351. SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,
  1352. SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,
  1353. SpvCooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,
  1354. SpvCooperativeMatrixOperandsMax = 0x7fffffff,
  1355. } SpvCooperativeMatrixOperandsShift;
  1356. typedef enum SpvCooperativeMatrixOperandsMask_ {
  1357. SpvCooperativeMatrixOperandsMaskNone = 0,
  1358. SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,
  1359. SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,
  1360. SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,
  1361. SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,
  1362. SpvCooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,
  1363. } SpvCooperativeMatrixOperandsMask;
  1364. typedef enum SpvCooperativeMatrixLayout_ {
  1365. SpvCooperativeMatrixLayoutRowMajorKHR = 0,
  1366. SpvCooperativeMatrixLayoutColumnMajorKHR = 1,
  1367. SpvCooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,
  1368. SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,
  1369. SpvCooperativeMatrixLayoutMax = 0x7fffffff,
  1370. } SpvCooperativeMatrixLayout;
  1371. typedef enum SpvCooperativeMatrixUse_ {
  1372. SpvCooperativeMatrixUseMatrixAKHR = 0,
  1373. SpvCooperativeMatrixUseMatrixBKHR = 1,
  1374. SpvCooperativeMatrixUseMatrixAccumulatorKHR = 2,
  1375. SpvCooperativeMatrixUseMax = 0x7fffffff,
  1376. } SpvCooperativeMatrixUse;
  1377. typedef enum SpvCooperativeMatrixReduceShift_ {
  1378. SpvCooperativeMatrixReduceRowShift = 0,
  1379. SpvCooperativeMatrixReduceColumnShift = 1,
  1380. SpvCooperativeMatrixReduce2x2Shift = 2,
  1381. SpvCooperativeMatrixReduceMax = 0x7fffffff,
  1382. } SpvCooperativeMatrixReduceShift;
  1383. typedef enum SpvCooperativeMatrixReduceMask_ {
  1384. SpvCooperativeMatrixReduceMaskNone = 0,
  1385. SpvCooperativeMatrixReduceRowMask = 0x00000001,
  1386. SpvCooperativeMatrixReduceColumnMask = 0x00000002,
  1387. SpvCooperativeMatrixReduce2x2Mask = 0x00000004,
  1388. } SpvCooperativeMatrixReduceMask;
  1389. typedef enum SpvTensorClampMode_ {
  1390. SpvTensorClampModeUndefined = 0,
  1391. SpvTensorClampModeConstant = 1,
  1392. SpvTensorClampModeClampToEdge = 2,
  1393. SpvTensorClampModeRepeat = 3,
  1394. SpvTensorClampModeRepeatMirrored = 4,
  1395. SpvTensorClampModeMax = 0x7fffffff,
  1396. } SpvTensorClampMode;
  1397. typedef enum SpvTensorAddressingOperandsShift_ {
  1398. SpvTensorAddressingOperandsTensorViewShift = 0,
  1399. SpvTensorAddressingOperandsDecodeFuncShift = 1,
  1400. SpvTensorAddressingOperandsMax = 0x7fffffff,
  1401. } SpvTensorAddressingOperandsShift;
  1402. typedef enum SpvTensorAddressingOperandsMask_ {
  1403. SpvTensorAddressingOperandsMaskNone = 0,
  1404. SpvTensorAddressingOperandsTensorViewMask = 0x00000001,
  1405. SpvTensorAddressingOperandsDecodeFuncMask = 0x00000002,
  1406. } SpvTensorAddressingOperandsMask;
  1407. typedef enum SpvTensorOperandsShift_ {
  1408. SpvTensorOperandsNontemporalARMShift = 0,
  1409. SpvTensorOperandsOutOfBoundsValueARMShift = 1,
  1410. SpvTensorOperandsMakeElementAvailableARMShift = 2,
  1411. SpvTensorOperandsMakeElementVisibleARMShift = 3,
  1412. SpvTensorOperandsNonPrivateElementARMShift = 4,
  1413. SpvTensorOperandsMax = 0x7fffffff,
  1414. } SpvTensorOperandsShift;
  1415. typedef enum SpvTensorOperandsMask_ {
  1416. SpvTensorOperandsMaskNone = 0,
  1417. SpvTensorOperandsNontemporalARMMask = 0x00000001,
  1418. SpvTensorOperandsOutOfBoundsValueARMMask = 0x00000002,
  1419. SpvTensorOperandsMakeElementAvailableARMMask = 0x00000004,
  1420. SpvTensorOperandsMakeElementVisibleARMMask = 0x00000008,
  1421. SpvTensorOperandsNonPrivateElementARMMask = 0x00000010,
  1422. } SpvTensorOperandsMask;
  1423. typedef enum SpvInitializationModeQualifier_ {
  1424. SpvInitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
  1425. SpvInitializationModeQualifierInitOnDeviceResetINTEL = 1,
  1426. SpvInitializationModeQualifierMax = 0x7fffffff,
  1427. } SpvInitializationModeQualifier;
  1428. typedef enum SpvHostAccessQualifier_ {
  1429. SpvHostAccessQualifierNoneINTEL = 0,
  1430. SpvHostAccessQualifierReadINTEL = 1,
  1431. SpvHostAccessQualifierWriteINTEL = 2,
  1432. SpvHostAccessQualifierReadWriteINTEL = 3,
  1433. SpvHostAccessQualifierMax = 0x7fffffff,
  1434. } SpvHostAccessQualifier;
  1435. typedef enum SpvLoadCacheControl_ {
  1436. SpvLoadCacheControlUncachedINTEL = 0,
  1437. SpvLoadCacheControlCachedINTEL = 1,
  1438. SpvLoadCacheControlStreamingINTEL = 2,
  1439. SpvLoadCacheControlInvalidateAfterReadINTEL = 3,
  1440. SpvLoadCacheControlConstCachedINTEL = 4,
  1441. SpvLoadCacheControlMax = 0x7fffffff,
  1442. } SpvLoadCacheControl;
  1443. typedef enum SpvStoreCacheControl_ {
  1444. SpvStoreCacheControlUncachedINTEL = 0,
  1445. SpvStoreCacheControlWriteThroughINTEL = 1,
  1446. SpvStoreCacheControlWriteBackINTEL = 2,
  1447. SpvStoreCacheControlStreamingINTEL = 3,
  1448. SpvStoreCacheControlMax = 0x7fffffff,
  1449. } SpvStoreCacheControl;
  1450. typedef enum SpvNamedMaximumNumberOfRegisters_ {
  1451. SpvNamedMaximumNumberOfRegistersAutoINTEL = 0,
  1452. SpvNamedMaximumNumberOfRegistersMax = 0x7fffffff,
  1453. } SpvNamedMaximumNumberOfRegisters;
  1454. typedef enum SpvMatrixMultiplyAccumulateOperandsShift_ {
  1455. SpvMatrixMultiplyAccumulateOperandsMatrixASignedComponentsINTELShift = 0,
  1456. SpvMatrixMultiplyAccumulateOperandsMatrixBSignedComponentsINTELShift = 1,
  1457. SpvMatrixMultiplyAccumulateOperandsMatrixCBFloat16INTELShift = 2,
  1458. SpvMatrixMultiplyAccumulateOperandsMatrixResultBFloat16INTELShift = 3,
  1459. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt8INTELShift = 4,
  1460. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt8INTELShift = 5,
  1461. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt4INTELShift = 6,
  1462. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt4INTELShift = 7,
  1463. SpvMatrixMultiplyAccumulateOperandsMatrixATF32INTELShift = 8,
  1464. SpvMatrixMultiplyAccumulateOperandsMatrixBTF32INTELShift = 9,
  1465. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedFloat16INTELShift = 10,
  1466. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedFloat16INTELShift = 11,
  1467. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedBFloat16INTELShift = 12,
  1468. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedBFloat16INTELShift = 13,
  1469. SpvMatrixMultiplyAccumulateOperandsMax = 0x7fffffff,
  1470. } SpvMatrixMultiplyAccumulateOperandsShift;
  1471. typedef enum SpvMatrixMultiplyAccumulateOperandsMask_ {
  1472. SpvMatrixMultiplyAccumulateOperandsMaskNone = 0,
  1473. SpvMatrixMultiplyAccumulateOperandsMatrixASignedComponentsINTELMask = 0x00000001,
  1474. SpvMatrixMultiplyAccumulateOperandsMatrixBSignedComponentsINTELMask = 0x00000002,
  1475. SpvMatrixMultiplyAccumulateOperandsMatrixCBFloat16INTELMask = 0x00000004,
  1476. SpvMatrixMultiplyAccumulateOperandsMatrixResultBFloat16INTELMask = 0x00000008,
  1477. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt8INTELMask = 0x00000010,
  1478. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt8INTELMask = 0x00000020,
  1479. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt4INTELMask = 0x00000040,
  1480. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt4INTELMask = 0x00000080,
  1481. SpvMatrixMultiplyAccumulateOperandsMatrixATF32INTELMask = 0x00000100,
  1482. SpvMatrixMultiplyAccumulateOperandsMatrixBTF32INTELMask = 0x00000200,
  1483. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedFloat16INTELMask = 0x00000400,
  1484. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedFloat16INTELMask = 0x00000800,
  1485. SpvMatrixMultiplyAccumulateOperandsMatrixAPackedBFloat16INTELMask = 0x00001000,
  1486. SpvMatrixMultiplyAccumulateOperandsMatrixBPackedBFloat16INTELMask = 0x00002000,
  1487. } SpvMatrixMultiplyAccumulateOperandsMask;
  1488. typedef enum SpvRawAccessChainOperandsShift_ {
  1489. SpvRawAccessChainOperandsRobustnessPerComponentNVShift = 0,
  1490. SpvRawAccessChainOperandsRobustnessPerElementNVShift = 1,
  1491. SpvRawAccessChainOperandsMax = 0x7fffffff,
  1492. } SpvRawAccessChainOperandsShift;
  1493. typedef enum SpvRawAccessChainOperandsMask_ {
  1494. SpvRawAccessChainOperandsMaskNone = 0,
  1495. SpvRawAccessChainOperandsRobustnessPerComponentNVMask = 0x00000001,
  1496. SpvRawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
  1497. } SpvRawAccessChainOperandsMask;
  1498. typedef enum SpvFPEncoding_ {
  1499. SpvFPEncodingBFloat16KHR = 0,
  1500. SpvFPEncodingFloat8E4M3EXT = 4214,
  1501. SpvFPEncodingFloat8E5M2EXT = 4215,
  1502. SpvFPEncodingMax = 0x7fffffff,
  1503. } SpvFPEncoding;
  1504. typedef enum SpvCooperativeVectorMatrixLayout_ {
  1505. SpvCooperativeVectorMatrixLayoutRowMajorNV = 0,
  1506. SpvCooperativeVectorMatrixLayoutColumnMajorNV = 1,
  1507. SpvCooperativeVectorMatrixLayoutInferencingOptimalNV = 2,
  1508. SpvCooperativeVectorMatrixLayoutTrainingOptimalNV = 3,
  1509. SpvCooperativeVectorMatrixLayoutMax = 0x7fffffff,
  1510. } SpvCooperativeVectorMatrixLayout;
  1511. typedef enum SpvComponentType_ {
  1512. SpvComponentTypeFloat16NV = 0,
  1513. SpvComponentTypeFloat32NV = 1,
  1514. SpvComponentTypeFloat64NV = 2,
  1515. SpvComponentTypeSignedInt8NV = 3,
  1516. SpvComponentTypeSignedInt16NV = 4,
  1517. SpvComponentTypeSignedInt32NV = 5,
  1518. SpvComponentTypeSignedInt64NV = 6,
  1519. SpvComponentTypeUnsignedInt8NV = 7,
  1520. SpvComponentTypeUnsignedInt16NV = 8,
  1521. SpvComponentTypeUnsignedInt32NV = 9,
  1522. SpvComponentTypeUnsignedInt64NV = 10,
  1523. SpvComponentTypeSignedInt8PackedNV = 1000491000,
  1524. SpvComponentTypeUnsignedInt8PackedNV = 1000491001,
  1525. SpvComponentTypeFloatE4M3NV = 1000491002,
  1526. SpvComponentTypeFloatE5M2NV = 1000491003,
  1527. SpvComponentTypeMax = 0x7fffffff,
  1528. } SpvComponentType;
  1529. typedef enum SpvOp_ {
  1530. SpvOpNop = 0,
  1531. SpvOpUndef = 1,
  1532. SpvOpSourceContinued = 2,
  1533. SpvOpSource = 3,
  1534. SpvOpSourceExtension = 4,
  1535. SpvOpName = 5,
  1536. SpvOpMemberName = 6,
  1537. SpvOpString = 7,
  1538. SpvOpLine = 8,
  1539. SpvOpExtension = 10,
  1540. SpvOpExtInstImport = 11,
  1541. SpvOpExtInst = 12,
  1542. SpvOpMemoryModel = 14,
  1543. SpvOpEntryPoint = 15,
  1544. SpvOpExecutionMode = 16,
  1545. SpvOpCapability = 17,
  1546. SpvOpTypeVoid = 19,
  1547. SpvOpTypeBool = 20,
  1548. SpvOpTypeInt = 21,
  1549. SpvOpTypeFloat = 22,
  1550. SpvOpTypeVector = 23,
  1551. SpvOpTypeMatrix = 24,
  1552. SpvOpTypeImage = 25,
  1553. SpvOpTypeSampler = 26,
  1554. SpvOpTypeSampledImage = 27,
  1555. SpvOpTypeArray = 28,
  1556. SpvOpTypeRuntimeArray = 29,
  1557. SpvOpTypeStruct = 30,
  1558. SpvOpTypeOpaque = 31,
  1559. SpvOpTypePointer = 32,
  1560. SpvOpTypeFunction = 33,
  1561. SpvOpTypeEvent = 34,
  1562. SpvOpTypeDeviceEvent = 35,
  1563. SpvOpTypeReserveId = 36,
  1564. SpvOpTypeQueue = 37,
  1565. SpvOpTypePipe = 38,
  1566. SpvOpTypeForwardPointer = 39,
  1567. SpvOpConstantTrue = 41,
  1568. SpvOpConstantFalse = 42,
  1569. SpvOpConstant = 43,
  1570. SpvOpConstantComposite = 44,
  1571. SpvOpConstantSampler = 45,
  1572. SpvOpConstantNull = 46,
  1573. SpvOpSpecConstantTrue = 48,
  1574. SpvOpSpecConstantFalse = 49,
  1575. SpvOpSpecConstant = 50,
  1576. SpvOpSpecConstantComposite = 51,
  1577. SpvOpSpecConstantOp = 52,
  1578. SpvOpFunction = 54,
  1579. SpvOpFunctionParameter = 55,
  1580. SpvOpFunctionEnd = 56,
  1581. SpvOpFunctionCall = 57,
  1582. SpvOpVariable = 59,
  1583. SpvOpImageTexelPointer = 60,
  1584. SpvOpLoad = 61,
  1585. SpvOpStore = 62,
  1586. SpvOpCopyMemory = 63,
  1587. SpvOpCopyMemorySized = 64,
  1588. SpvOpAccessChain = 65,
  1589. SpvOpInBoundsAccessChain = 66,
  1590. SpvOpPtrAccessChain = 67,
  1591. SpvOpArrayLength = 68,
  1592. SpvOpGenericPtrMemSemantics = 69,
  1593. SpvOpInBoundsPtrAccessChain = 70,
  1594. SpvOpDecorate = 71,
  1595. SpvOpMemberDecorate = 72,
  1596. SpvOpDecorationGroup = 73,
  1597. SpvOpGroupDecorate = 74,
  1598. SpvOpGroupMemberDecorate = 75,
  1599. SpvOpVectorExtractDynamic = 77,
  1600. SpvOpVectorInsertDynamic = 78,
  1601. SpvOpVectorShuffle = 79,
  1602. SpvOpCompositeConstruct = 80,
  1603. SpvOpCompositeExtract = 81,
  1604. SpvOpCompositeInsert = 82,
  1605. SpvOpCopyObject = 83,
  1606. SpvOpTranspose = 84,
  1607. SpvOpSampledImage = 86,
  1608. SpvOpImageSampleImplicitLod = 87,
  1609. SpvOpImageSampleExplicitLod = 88,
  1610. SpvOpImageSampleDrefImplicitLod = 89,
  1611. SpvOpImageSampleDrefExplicitLod = 90,
  1612. SpvOpImageSampleProjImplicitLod = 91,
  1613. SpvOpImageSampleProjExplicitLod = 92,
  1614. SpvOpImageSampleProjDrefImplicitLod = 93,
  1615. SpvOpImageSampleProjDrefExplicitLod = 94,
  1616. SpvOpImageFetch = 95,
  1617. SpvOpImageGather = 96,
  1618. SpvOpImageDrefGather = 97,
  1619. SpvOpImageRead = 98,
  1620. SpvOpImageWrite = 99,
  1621. SpvOpImage = 100,
  1622. SpvOpImageQueryFormat = 101,
  1623. SpvOpImageQueryOrder = 102,
  1624. SpvOpImageQuerySizeLod = 103,
  1625. SpvOpImageQuerySize = 104,
  1626. SpvOpImageQueryLod = 105,
  1627. SpvOpImageQueryLevels = 106,
  1628. SpvOpImageQuerySamples = 107,
  1629. SpvOpConvertFToU = 109,
  1630. SpvOpConvertFToS = 110,
  1631. SpvOpConvertSToF = 111,
  1632. SpvOpConvertUToF = 112,
  1633. SpvOpUConvert = 113,
  1634. SpvOpSConvert = 114,
  1635. SpvOpFConvert = 115,
  1636. SpvOpQuantizeToF16 = 116,
  1637. SpvOpConvertPtrToU = 117,
  1638. SpvOpSatConvertSToU = 118,
  1639. SpvOpSatConvertUToS = 119,
  1640. SpvOpConvertUToPtr = 120,
  1641. SpvOpPtrCastToGeneric = 121,
  1642. SpvOpGenericCastToPtr = 122,
  1643. SpvOpGenericCastToPtrExplicit = 123,
  1644. SpvOpBitcast = 124,
  1645. SpvOpSNegate = 126,
  1646. SpvOpFNegate = 127,
  1647. SpvOpIAdd = 128,
  1648. SpvOpFAdd = 129,
  1649. SpvOpISub = 130,
  1650. SpvOpFSub = 131,
  1651. SpvOpIMul = 132,
  1652. SpvOpFMul = 133,
  1653. SpvOpUDiv = 134,
  1654. SpvOpSDiv = 135,
  1655. SpvOpFDiv = 136,
  1656. SpvOpUMod = 137,
  1657. SpvOpSRem = 138,
  1658. SpvOpSMod = 139,
  1659. SpvOpFRem = 140,
  1660. SpvOpFMod = 141,
  1661. SpvOpVectorTimesScalar = 142,
  1662. SpvOpMatrixTimesScalar = 143,
  1663. SpvOpVectorTimesMatrix = 144,
  1664. SpvOpMatrixTimesVector = 145,
  1665. SpvOpMatrixTimesMatrix = 146,
  1666. SpvOpOuterProduct = 147,
  1667. SpvOpDot = 148,
  1668. SpvOpIAddCarry = 149,
  1669. SpvOpISubBorrow = 150,
  1670. SpvOpUMulExtended = 151,
  1671. SpvOpSMulExtended = 152,
  1672. SpvOpAny = 154,
  1673. SpvOpAll = 155,
  1674. SpvOpIsNan = 156,
  1675. SpvOpIsInf = 157,
  1676. SpvOpIsFinite = 158,
  1677. SpvOpIsNormal = 159,
  1678. SpvOpSignBitSet = 160,
  1679. SpvOpLessOrGreater = 161,
  1680. SpvOpOrdered = 162,
  1681. SpvOpUnordered = 163,
  1682. SpvOpLogicalEqual = 164,
  1683. SpvOpLogicalNotEqual = 165,
  1684. SpvOpLogicalOr = 166,
  1685. SpvOpLogicalAnd = 167,
  1686. SpvOpLogicalNot = 168,
  1687. SpvOpSelect = 169,
  1688. SpvOpIEqual = 170,
  1689. SpvOpINotEqual = 171,
  1690. SpvOpUGreaterThan = 172,
  1691. SpvOpSGreaterThan = 173,
  1692. SpvOpUGreaterThanEqual = 174,
  1693. SpvOpSGreaterThanEqual = 175,
  1694. SpvOpULessThan = 176,
  1695. SpvOpSLessThan = 177,
  1696. SpvOpULessThanEqual = 178,
  1697. SpvOpSLessThanEqual = 179,
  1698. SpvOpFOrdEqual = 180,
  1699. SpvOpFUnordEqual = 181,
  1700. SpvOpFOrdNotEqual = 182,
  1701. SpvOpFUnordNotEqual = 183,
  1702. SpvOpFOrdLessThan = 184,
  1703. SpvOpFUnordLessThan = 185,
  1704. SpvOpFOrdGreaterThan = 186,
  1705. SpvOpFUnordGreaterThan = 187,
  1706. SpvOpFOrdLessThanEqual = 188,
  1707. SpvOpFUnordLessThanEqual = 189,
  1708. SpvOpFOrdGreaterThanEqual = 190,
  1709. SpvOpFUnordGreaterThanEqual = 191,
  1710. SpvOpShiftRightLogical = 194,
  1711. SpvOpShiftRightArithmetic = 195,
  1712. SpvOpShiftLeftLogical = 196,
  1713. SpvOpBitwiseOr = 197,
  1714. SpvOpBitwiseXor = 198,
  1715. SpvOpBitwiseAnd = 199,
  1716. SpvOpNot = 200,
  1717. SpvOpBitFieldInsert = 201,
  1718. SpvOpBitFieldSExtract = 202,
  1719. SpvOpBitFieldUExtract = 203,
  1720. SpvOpBitReverse = 204,
  1721. SpvOpBitCount = 205,
  1722. SpvOpDPdx = 207,
  1723. SpvOpDPdy = 208,
  1724. SpvOpFwidth = 209,
  1725. SpvOpDPdxFine = 210,
  1726. SpvOpDPdyFine = 211,
  1727. SpvOpFwidthFine = 212,
  1728. SpvOpDPdxCoarse = 213,
  1729. SpvOpDPdyCoarse = 214,
  1730. SpvOpFwidthCoarse = 215,
  1731. SpvOpEmitVertex = 218,
  1732. SpvOpEndPrimitive = 219,
  1733. SpvOpEmitStreamVertex = 220,
  1734. SpvOpEndStreamPrimitive = 221,
  1735. SpvOpControlBarrier = 224,
  1736. SpvOpMemoryBarrier = 225,
  1737. SpvOpAtomicLoad = 227,
  1738. SpvOpAtomicStore = 228,
  1739. SpvOpAtomicExchange = 229,
  1740. SpvOpAtomicCompareExchange = 230,
  1741. SpvOpAtomicCompareExchangeWeak = 231,
  1742. SpvOpAtomicIIncrement = 232,
  1743. SpvOpAtomicIDecrement = 233,
  1744. SpvOpAtomicIAdd = 234,
  1745. SpvOpAtomicISub = 235,
  1746. SpvOpAtomicSMin = 236,
  1747. SpvOpAtomicUMin = 237,
  1748. SpvOpAtomicSMax = 238,
  1749. SpvOpAtomicUMax = 239,
  1750. SpvOpAtomicAnd = 240,
  1751. SpvOpAtomicOr = 241,
  1752. SpvOpAtomicXor = 242,
  1753. SpvOpPhi = 245,
  1754. SpvOpLoopMerge = 246,
  1755. SpvOpSelectionMerge = 247,
  1756. SpvOpLabel = 248,
  1757. SpvOpBranch = 249,
  1758. SpvOpBranchConditional = 250,
  1759. SpvOpSwitch = 251,
  1760. SpvOpKill = 252,
  1761. SpvOpReturn = 253,
  1762. SpvOpReturnValue = 254,
  1763. SpvOpUnreachable = 255,
  1764. SpvOpLifetimeStart = 256,
  1765. SpvOpLifetimeStop = 257,
  1766. SpvOpGroupAsyncCopy = 259,
  1767. SpvOpGroupWaitEvents = 260,
  1768. SpvOpGroupAll = 261,
  1769. SpvOpGroupAny = 262,
  1770. SpvOpGroupBroadcast = 263,
  1771. SpvOpGroupIAdd = 264,
  1772. SpvOpGroupFAdd = 265,
  1773. SpvOpGroupFMin = 266,
  1774. SpvOpGroupUMin = 267,
  1775. SpvOpGroupSMin = 268,
  1776. SpvOpGroupFMax = 269,
  1777. SpvOpGroupUMax = 270,
  1778. SpvOpGroupSMax = 271,
  1779. SpvOpReadPipe = 274,
  1780. SpvOpWritePipe = 275,
  1781. SpvOpReservedReadPipe = 276,
  1782. SpvOpReservedWritePipe = 277,
  1783. SpvOpReserveReadPipePackets = 278,
  1784. SpvOpReserveWritePipePackets = 279,
  1785. SpvOpCommitReadPipe = 280,
  1786. SpvOpCommitWritePipe = 281,
  1787. SpvOpIsValidReserveId = 282,
  1788. SpvOpGetNumPipePackets = 283,
  1789. SpvOpGetMaxPipePackets = 284,
  1790. SpvOpGroupReserveReadPipePackets = 285,
  1791. SpvOpGroupReserveWritePipePackets = 286,
  1792. SpvOpGroupCommitReadPipe = 287,
  1793. SpvOpGroupCommitWritePipe = 288,
  1794. SpvOpEnqueueMarker = 291,
  1795. SpvOpEnqueueKernel = 292,
  1796. SpvOpGetKernelNDrangeSubGroupCount = 293,
  1797. SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
  1798. SpvOpGetKernelWorkGroupSize = 295,
  1799. SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
  1800. SpvOpRetainEvent = 297,
  1801. SpvOpReleaseEvent = 298,
  1802. SpvOpCreateUserEvent = 299,
  1803. SpvOpIsValidEvent = 300,
  1804. SpvOpSetUserEventStatus = 301,
  1805. SpvOpCaptureEventProfilingInfo = 302,
  1806. SpvOpGetDefaultQueue = 303,
  1807. SpvOpBuildNDRange = 304,
  1808. SpvOpImageSparseSampleImplicitLod = 305,
  1809. SpvOpImageSparseSampleExplicitLod = 306,
  1810. SpvOpImageSparseSampleDrefImplicitLod = 307,
  1811. SpvOpImageSparseSampleDrefExplicitLod = 308,
  1812. SpvOpImageSparseSampleProjImplicitLod = 309,
  1813. SpvOpImageSparseSampleProjExplicitLod = 310,
  1814. SpvOpImageSparseSampleProjDrefImplicitLod = 311,
  1815. SpvOpImageSparseSampleProjDrefExplicitLod = 312,
  1816. SpvOpImageSparseFetch = 313,
  1817. SpvOpImageSparseGather = 314,
  1818. SpvOpImageSparseDrefGather = 315,
  1819. SpvOpImageSparseTexelsResident = 316,
  1820. SpvOpNoLine = 317,
  1821. SpvOpAtomicFlagTestAndSet = 318,
  1822. SpvOpAtomicFlagClear = 319,
  1823. SpvOpImageSparseRead = 320,
  1824. SpvOpSizeOf = 321,
  1825. SpvOpTypePipeStorage = 322,
  1826. SpvOpConstantPipeStorage = 323,
  1827. SpvOpCreatePipeFromPipeStorage = 324,
  1828. SpvOpGetKernelLocalSizeForSubgroupCount = 325,
  1829. SpvOpGetKernelMaxNumSubgroups = 326,
  1830. SpvOpTypeNamedBarrier = 327,
  1831. SpvOpNamedBarrierInitialize = 328,
  1832. SpvOpMemoryNamedBarrier = 329,
  1833. SpvOpModuleProcessed = 330,
  1834. SpvOpExecutionModeId = 331,
  1835. SpvOpDecorateId = 332,
  1836. SpvOpGroupNonUniformElect = 333,
  1837. SpvOpGroupNonUniformAll = 334,
  1838. SpvOpGroupNonUniformAny = 335,
  1839. SpvOpGroupNonUniformAllEqual = 336,
  1840. SpvOpGroupNonUniformBroadcast = 337,
  1841. SpvOpGroupNonUniformBroadcastFirst = 338,
  1842. SpvOpGroupNonUniformBallot = 339,
  1843. SpvOpGroupNonUniformInverseBallot = 340,
  1844. SpvOpGroupNonUniformBallotBitExtract = 341,
  1845. SpvOpGroupNonUniformBallotBitCount = 342,
  1846. SpvOpGroupNonUniformBallotFindLSB = 343,
  1847. SpvOpGroupNonUniformBallotFindMSB = 344,
  1848. SpvOpGroupNonUniformShuffle = 345,
  1849. SpvOpGroupNonUniformShuffleXor = 346,
  1850. SpvOpGroupNonUniformShuffleUp = 347,
  1851. SpvOpGroupNonUniformShuffleDown = 348,
  1852. SpvOpGroupNonUniformIAdd = 349,
  1853. SpvOpGroupNonUniformFAdd = 350,
  1854. SpvOpGroupNonUniformIMul = 351,
  1855. SpvOpGroupNonUniformFMul = 352,
  1856. SpvOpGroupNonUniformSMin = 353,
  1857. SpvOpGroupNonUniformUMin = 354,
  1858. SpvOpGroupNonUniformFMin = 355,
  1859. SpvOpGroupNonUniformSMax = 356,
  1860. SpvOpGroupNonUniformUMax = 357,
  1861. SpvOpGroupNonUniformFMax = 358,
  1862. SpvOpGroupNonUniformBitwiseAnd = 359,
  1863. SpvOpGroupNonUniformBitwiseOr = 360,
  1864. SpvOpGroupNonUniformBitwiseXor = 361,
  1865. SpvOpGroupNonUniformLogicalAnd = 362,
  1866. SpvOpGroupNonUniformLogicalOr = 363,
  1867. SpvOpGroupNonUniformLogicalXor = 364,
  1868. SpvOpGroupNonUniformQuadBroadcast = 365,
  1869. SpvOpGroupNonUniformQuadSwap = 366,
  1870. SpvOpCopyLogical = 400,
  1871. SpvOpPtrEqual = 401,
  1872. SpvOpPtrNotEqual = 402,
  1873. SpvOpPtrDiff = 403,
  1874. SpvOpColorAttachmentReadEXT = 4160,
  1875. SpvOpDepthAttachmentReadEXT = 4161,
  1876. SpvOpStencilAttachmentReadEXT = 4162,
  1877. SpvOpTypeTensorARM = 4163,
  1878. SpvOpTensorReadARM = 4164,
  1879. SpvOpTensorWriteARM = 4165,
  1880. SpvOpTensorQuerySizeARM = 4166,
  1881. SpvOpGraphConstantARM = 4181,
  1882. SpvOpGraphEntryPointARM = 4182,
  1883. SpvOpGraphARM = 4183,
  1884. SpvOpGraphInputARM = 4184,
  1885. SpvOpGraphSetOutputARM = 4185,
  1886. SpvOpGraphEndARM = 4186,
  1887. SpvOpTypeGraphARM = 4190,
  1888. SpvOpTerminateInvocation = 4416,
  1889. SpvOpTypeUntypedPointerKHR = 4417,
  1890. SpvOpUntypedVariableKHR = 4418,
  1891. SpvOpUntypedAccessChainKHR = 4419,
  1892. SpvOpUntypedInBoundsAccessChainKHR = 4420,
  1893. SpvOpSubgroupBallotKHR = 4421,
  1894. SpvOpSubgroupFirstInvocationKHR = 4422,
  1895. SpvOpUntypedPtrAccessChainKHR = 4423,
  1896. SpvOpUntypedInBoundsPtrAccessChainKHR = 4424,
  1897. SpvOpUntypedArrayLengthKHR = 4425,
  1898. SpvOpUntypedPrefetchKHR = 4426,
  1899. SpvOpFmaKHR = 4427,
  1900. SpvOpSubgroupAllKHR = 4428,
  1901. SpvOpSubgroupAnyKHR = 4429,
  1902. SpvOpSubgroupAllEqualKHR = 4430,
  1903. SpvOpGroupNonUniformRotateKHR = 4431,
  1904. SpvOpSubgroupReadInvocationKHR = 4432,
  1905. SpvOpExtInstWithForwardRefsKHR = 4433,
  1906. SpvOpUntypedGroupAsyncCopyKHR = 4434,
  1907. SpvOpTraceRayKHR = 4445,
  1908. SpvOpExecuteCallableKHR = 4446,
  1909. SpvOpConvertUToAccelerationStructureKHR = 4447,
  1910. SpvOpIgnoreIntersectionKHR = 4448,
  1911. SpvOpTerminateRayKHR = 4449,
  1912. SpvOpSDot = 4450,
  1913. SpvOpSDotKHR = 4450,
  1914. SpvOpUDot = 4451,
  1915. SpvOpUDotKHR = 4451,
  1916. SpvOpSUDot = 4452,
  1917. SpvOpSUDotKHR = 4452,
  1918. SpvOpSDotAccSat = 4453,
  1919. SpvOpSDotAccSatKHR = 4453,
  1920. SpvOpUDotAccSat = 4454,
  1921. SpvOpUDotAccSatKHR = 4454,
  1922. SpvOpSUDotAccSat = 4455,
  1923. SpvOpSUDotAccSatKHR = 4455,
  1924. SpvOpTypeCooperativeMatrixKHR = 4456,
  1925. SpvOpCooperativeMatrixLoadKHR = 4457,
  1926. SpvOpCooperativeMatrixStoreKHR = 4458,
  1927. SpvOpCooperativeMatrixMulAddKHR = 4459,
  1928. SpvOpCooperativeMatrixLengthKHR = 4460,
  1929. SpvOpConstantCompositeReplicateEXT = 4461,
  1930. SpvOpSpecConstantCompositeReplicateEXT = 4462,
  1931. SpvOpCompositeConstructReplicateEXT = 4463,
  1932. SpvOpTypeRayQueryKHR = 4472,
  1933. SpvOpRayQueryInitializeKHR = 4473,
  1934. SpvOpRayQueryTerminateKHR = 4474,
  1935. SpvOpRayQueryGenerateIntersectionKHR = 4475,
  1936. SpvOpRayQueryConfirmIntersectionKHR = 4476,
  1937. SpvOpRayQueryProceedKHR = 4477,
  1938. SpvOpRayQueryGetIntersectionTypeKHR = 4479,
  1939. SpvOpImageSampleWeightedQCOM = 4480,
  1940. SpvOpImageBoxFilterQCOM = 4481,
  1941. SpvOpImageBlockMatchSSDQCOM = 4482,
  1942. SpvOpImageBlockMatchSADQCOM = 4483,
  1943. SpvOpBitCastArrayQCOM = 4497,
  1944. SpvOpImageBlockMatchWindowSSDQCOM = 4500,
  1945. SpvOpImageBlockMatchWindowSADQCOM = 4501,
  1946. SpvOpImageBlockMatchGatherSSDQCOM = 4502,
  1947. SpvOpImageBlockMatchGatherSADQCOM = 4503,
  1948. SpvOpCompositeConstructCoopMatQCOM = 4540,
  1949. SpvOpCompositeExtractCoopMatQCOM = 4541,
  1950. SpvOpExtractSubArrayQCOM = 4542,
  1951. SpvOpGroupIAddNonUniformAMD = 5000,
  1952. SpvOpGroupFAddNonUniformAMD = 5001,
  1953. SpvOpGroupFMinNonUniformAMD = 5002,
  1954. SpvOpGroupUMinNonUniformAMD = 5003,
  1955. SpvOpGroupSMinNonUniformAMD = 5004,
  1956. SpvOpGroupFMaxNonUniformAMD = 5005,
  1957. SpvOpGroupUMaxNonUniformAMD = 5006,
  1958. SpvOpGroupSMaxNonUniformAMD = 5007,
  1959. SpvOpFragmentMaskFetchAMD = 5011,
  1960. SpvOpFragmentFetchAMD = 5012,
  1961. SpvOpReadClockKHR = 5056,
  1962. SpvOpAllocateNodePayloadsAMDX = 5074,
  1963. SpvOpEnqueueNodePayloadsAMDX = 5075,
  1964. SpvOpTypeNodePayloadArrayAMDX = 5076,
  1965. SpvOpFinishWritingNodePayloadAMDX = 5078,
  1966. SpvOpNodePayloadArrayLengthAMDX = 5090,
  1967. SpvOpIsNodePayloadValidAMDX = 5101,
  1968. SpvOpConstantStringAMDX = 5103,
  1969. SpvOpSpecConstantStringAMDX = 5104,
  1970. SpvOpGroupNonUniformQuadAllKHR = 5110,
  1971. SpvOpGroupNonUniformQuadAnyKHR = 5111,
  1972. SpvOpHitObjectRecordHitMotionNV = 5249,
  1973. SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,
  1974. SpvOpHitObjectRecordMissMotionNV = 5251,
  1975. SpvOpHitObjectGetWorldToObjectNV = 5252,
  1976. SpvOpHitObjectGetObjectToWorldNV = 5253,
  1977. SpvOpHitObjectGetObjectRayDirectionNV = 5254,
  1978. SpvOpHitObjectGetObjectRayOriginNV = 5255,
  1979. SpvOpHitObjectTraceRayMotionNV = 5256,
  1980. SpvOpHitObjectGetShaderRecordBufferHandleNV = 5257,
  1981. SpvOpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
  1982. SpvOpHitObjectRecordEmptyNV = 5259,
  1983. SpvOpHitObjectTraceRayNV = 5260,
  1984. SpvOpHitObjectRecordHitNV = 5261,
  1985. SpvOpHitObjectRecordHitWithIndexNV = 5262,
  1986. SpvOpHitObjectRecordMissNV = 5263,
  1987. SpvOpHitObjectExecuteShaderNV = 5264,
  1988. SpvOpHitObjectGetCurrentTimeNV = 5265,
  1989. SpvOpHitObjectGetAttributesNV = 5266,
  1990. SpvOpHitObjectGetHitKindNV = 5267,
  1991. SpvOpHitObjectGetPrimitiveIndexNV = 5268,
  1992. SpvOpHitObjectGetGeometryIndexNV = 5269,
  1993. SpvOpHitObjectGetInstanceIdNV = 5270,
  1994. SpvOpHitObjectGetInstanceCustomIndexNV = 5271,
  1995. SpvOpHitObjectGetWorldRayDirectionNV = 5272,
  1996. SpvOpHitObjectGetWorldRayOriginNV = 5273,
  1997. SpvOpHitObjectGetRayTMaxNV = 5274,
  1998. SpvOpHitObjectGetRayTMinNV = 5275,
  1999. SpvOpHitObjectIsEmptyNV = 5276,
  2000. SpvOpHitObjectIsHitNV = 5277,
  2001. SpvOpHitObjectIsMissNV = 5278,
  2002. SpvOpReorderThreadWithHitObjectNV = 5279,
  2003. SpvOpReorderThreadWithHintNV = 5280,
  2004. SpvOpTypeHitObjectNV = 5281,
  2005. SpvOpImageSampleFootprintNV = 5283,
  2006. SpvOpTypeCooperativeVectorNV = 5288,
  2007. SpvOpCooperativeVectorMatrixMulNV = 5289,
  2008. SpvOpCooperativeVectorOuterProductAccumulateNV = 5290,
  2009. SpvOpCooperativeVectorReduceSumAccumulateNV = 5291,
  2010. SpvOpCooperativeVectorMatrixMulAddNV = 5292,
  2011. SpvOpCooperativeMatrixConvertNV = 5293,
  2012. SpvOpEmitMeshTasksEXT = 5294,
  2013. SpvOpSetMeshOutputsEXT = 5295,
  2014. SpvOpGroupNonUniformPartitionNV = 5296,
  2015. SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
  2016. SpvOpFetchMicroTriangleVertexPositionNV = 5300,
  2017. SpvOpFetchMicroTriangleVertexBarycentricNV = 5301,
  2018. SpvOpCooperativeVectorLoadNV = 5302,
  2019. SpvOpCooperativeVectorStoreNV = 5303,
  2020. SpvOpReportIntersectionKHR = 5334,
  2021. SpvOpReportIntersectionNV = 5334,
  2022. SpvOpIgnoreIntersectionNV = 5335,
  2023. SpvOpTerminateRayNV = 5336,
  2024. SpvOpTraceNV = 5337,
  2025. SpvOpTraceMotionNV = 5338,
  2026. SpvOpTraceRayMotionNV = 5339,
  2027. SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
  2028. SpvOpTypeAccelerationStructureKHR = 5341,
  2029. SpvOpTypeAccelerationStructureNV = 5341,
  2030. SpvOpExecuteCallableNV = 5344,
  2031. SpvOpRayQueryGetClusterIdNV = 5345,
  2032. SpvOpRayQueryGetIntersectionClusterIdNV = 5345,
  2033. SpvOpHitObjectGetClusterIdNV = 5346,
  2034. SpvOpTypeCooperativeMatrixNV = 5358,
  2035. SpvOpCooperativeMatrixLoadNV = 5359,
  2036. SpvOpCooperativeMatrixStoreNV = 5360,
  2037. SpvOpCooperativeMatrixMulAddNV = 5361,
  2038. SpvOpCooperativeMatrixLengthNV = 5362,
  2039. SpvOpBeginInvocationInterlockEXT = 5364,
  2040. SpvOpEndInvocationInterlockEXT = 5365,
  2041. SpvOpCooperativeMatrixReduceNV = 5366,
  2042. SpvOpCooperativeMatrixLoadTensorNV = 5367,
  2043. SpvOpCooperativeMatrixStoreTensorNV = 5368,
  2044. SpvOpCooperativeMatrixPerElementOpNV = 5369,
  2045. SpvOpTypeTensorLayoutNV = 5370,
  2046. SpvOpTypeTensorViewNV = 5371,
  2047. SpvOpCreateTensorLayoutNV = 5372,
  2048. SpvOpTensorLayoutSetDimensionNV = 5373,
  2049. SpvOpTensorLayoutSetStrideNV = 5374,
  2050. SpvOpTensorLayoutSliceNV = 5375,
  2051. SpvOpTensorLayoutSetClampValueNV = 5376,
  2052. SpvOpCreateTensorViewNV = 5377,
  2053. SpvOpTensorViewSetDimensionNV = 5378,
  2054. SpvOpTensorViewSetStrideNV = 5379,
  2055. SpvOpDemoteToHelperInvocation = 5380,
  2056. SpvOpDemoteToHelperInvocationEXT = 5380,
  2057. SpvOpIsHelperInvocationEXT = 5381,
  2058. SpvOpTensorViewSetClipNV = 5382,
  2059. SpvOpTensorLayoutSetBlockSizeNV = 5384,
  2060. SpvOpCooperativeMatrixTransposeNV = 5390,
  2061. SpvOpConvertUToImageNV = 5391,
  2062. SpvOpConvertUToSamplerNV = 5392,
  2063. SpvOpConvertImageToUNV = 5393,
  2064. SpvOpConvertSamplerToUNV = 5394,
  2065. SpvOpConvertUToSampledImageNV = 5395,
  2066. SpvOpConvertSampledImageToUNV = 5396,
  2067. SpvOpSamplerImageAddressingModeNV = 5397,
  2068. SpvOpRawAccessChainNV = 5398,
  2069. SpvOpRayQueryGetIntersectionSpherePositionNV = 5427,
  2070. SpvOpRayQueryGetIntersectionSphereRadiusNV = 5428,
  2071. SpvOpRayQueryGetIntersectionLSSPositionsNV = 5429,
  2072. SpvOpRayQueryGetIntersectionLSSRadiiNV = 5430,
  2073. SpvOpRayQueryGetIntersectionLSSHitValueNV = 5431,
  2074. SpvOpHitObjectGetSpherePositionNV = 5432,
  2075. SpvOpHitObjectGetSphereRadiusNV = 5433,
  2076. SpvOpHitObjectGetLSSPositionsNV = 5434,
  2077. SpvOpHitObjectGetLSSRadiiNV = 5435,
  2078. SpvOpHitObjectIsSphereHitNV = 5436,
  2079. SpvOpHitObjectIsLSSHitNV = 5437,
  2080. SpvOpRayQueryIsSphereHitNV = 5438,
  2081. SpvOpRayQueryIsLSSHitNV = 5439,
  2082. SpvOpSubgroupShuffleINTEL = 5571,
  2083. SpvOpSubgroupShuffleDownINTEL = 5572,
  2084. SpvOpSubgroupShuffleUpINTEL = 5573,
  2085. SpvOpSubgroupShuffleXorINTEL = 5574,
  2086. SpvOpSubgroupBlockReadINTEL = 5575,
  2087. SpvOpSubgroupBlockWriteINTEL = 5576,
  2088. SpvOpSubgroupImageBlockReadINTEL = 5577,
  2089. SpvOpSubgroupImageBlockWriteINTEL = 5578,
  2090. SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
  2091. SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
  2092. SpvOpUCountLeadingZerosINTEL = 5585,
  2093. SpvOpUCountTrailingZerosINTEL = 5586,
  2094. SpvOpAbsISubINTEL = 5587,
  2095. SpvOpAbsUSubINTEL = 5588,
  2096. SpvOpIAddSatINTEL = 5589,
  2097. SpvOpUAddSatINTEL = 5590,
  2098. SpvOpIAverageINTEL = 5591,
  2099. SpvOpUAverageINTEL = 5592,
  2100. SpvOpIAverageRoundedINTEL = 5593,
  2101. SpvOpUAverageRoundedINTEL = 5594,
  2102. SpvOpISubSatINTEL = 5595,
  2103. SpvOpUSubSatINTEL = 5596,
  2104. SpvOpIMul32x16INTEL = 5597,
  2105. SpvOpUMul32x16INTEL = 5598,
  2106. SpvOpConstantFunctionPointerINTEL = 5600,
  2107. SpvOpFunctionPointerCallINTEL = 5601,
  2108. SpvOpAsmTargetINTEL = 5609,
  2109. SpvOpAsmINTEL = 5610,
  2110. SpvOpAsmCallINTEL = 5611,
  2111. SpvOpAtomicFMinEXT = 5614,
  2112. SpvOpAtomicFMaxEXT = 5615,
  2113. SpvOpAssumeTrueKHR = 5630,
  2114. SpvOpExpectKHR = 5631,
  2115. SpvOpDecorateString = 5632,
  2116. SpvOpDecorateStringGOOGLE = 5632,
  2117. SpvOpMemberDecorateString = 5633,
  2118. SpvOpMemberDecorateStringGOOGLE = 5633,
  2119. SpvOpVmeImageINTEL = 5699,
  2120. SpvOpTypeVmeImageINTEL = 5700,
  2121. SpvOpTypeAvcImePayloadINTEL = 5701,
  2122. SpvOpTypeAvcRefPayloadINTEL = 5702,
  2123. SpvOpTypeAvcSicPayloadINTEL = 5703,
  2124. SpvOpTypeAvcMcePayloadINTEL = 5704,
  2125. SpvOpTypeAvcMceResultINTEL = 5705,
  2126. SpvOpTypeAvcImeResultINTEL = 5706,
  2127. SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
  2128. SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
  2129. SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
  2130. SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
  2131. SpvOpTypeAvcRefResultINTEL = 5711,
  2132. SpvOpTypeAvcSicResultINTEL = 5712,
  2133. SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
  2134. SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
  2135. SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
  2136. SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
  2137. SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
  2138. SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
  2139. SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
  2140. SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
  2141. SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
  2142. SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
  2143. SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
  2144. SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
  2145. SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
  2146. SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
  2147. SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
  2148. SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
  2149. SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
  2150. SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
  2151. SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
  2152. SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
  2153. SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
  2154. SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
  2155. SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
  2156. SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
  2157. SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
  2158. SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
  2159. SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
  2160. SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
  2161. SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
  2162. SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
  2163. SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
  2164. SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
  2165. SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
  2166. SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
  2167. SpvOpSubgroupAvcImeInitializeINTEL = 5747,
  2168. SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
  2169. SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
  2170. SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
  2171. SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
  2172. SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
  2173. SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
  2174. SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
  2175. SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
  2176. SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
  2177. SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
  2178. SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
  2179. SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
  2180. SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
  2181. SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
  2182. SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
  2183. SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
  2184. SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
  2185. SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
  2186. SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
  2187. SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
  2188. SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
  2189. SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
  2190. SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
  2191. SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
  2192. SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
  2193. SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
  2194. SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
  2195. SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
  2196. SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
  2197. SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
  2198. SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
  2199. SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
  2200. SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
  2201. SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
  2202. SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
  2203. SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
  2204. SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
  2205. SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
  2206. SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
  2207. SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
  2208. SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
  2209. SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
  2210. SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
  2211. SpvOpSubgroupAvcSicInitializeINTEL = 5791,
  2212. SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
  2213. SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
  2214. SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
  2215. SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
  2216. SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
  2217. SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
  2218. SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
  2219. SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
  2220. SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
  2221. SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
  2222. SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
  2223. SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
  2224. SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
  2225. SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
  2226. SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
  2227. SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
  2228. SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
  2229. SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
  2230. SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
  2231. SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
  2232. SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
  2233. SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
  2234. SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
  2235. SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
  2236. SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
  2237. SpvOpVariableLengthArrayINTEL = 5818,
  2238. SpvOpSaveMemoryINTEL = 5819,
  2239. SpvOpRestoreMemoryINTEL = 5820,
  2240. SpvOpArbitraryFloatSinCosPiINTEL = 5840,
  2241. SpvOpArbitraryFloatCastINTEL = 5841,
  2242. SpvOpArbitraryFloatCastFromIntINTEL = 5842,
  2243. SpvOpArbitraryFloatCastToIntINTEL = 5843,
  2244. SpvOpArbitraryFloatAddINTEL = 5846,
  2245. SpvOpArbitraryFloatSubINTEL = 5847,
  2246. SpvOpArbitraryFloatMulINTEL = 5848,
  2247. SpvOpArbitraryFloatDivINTEL = 5849,
  2248. SpvOpArbitraryFloatGTINTEL = 5850,
  2249. SpvOpArbitraryFloatGEINTEL = 5851,
  2250. SpvOpArbitraryFloatLTINTEL = 5852,
  2251. SpvOpArbitraryFloatLEINTEL = 5853,
  2252. SpvOpArbitraryFloatEQINTEL = 5854,
  2253. SpvOpArbitraryFloatRecipINTEL = 5855,
  2254. SpvOpArbitraryFloatRSqrtINTEL = 5856,
  2255. SpvOpArbitraryFloatCbrtINTEL = 5857,
  2256. SpvOpArbitraryFloatHypotINTEL = 5858,
  2257. SpvOpArbitraryFloatSqrtINTEL = 5859,
  2258. SpvOpArbitraryFloatLogINTEL = 5860,
  2259. SpvOpArbitraryFloatLog2INTEL = 5861,
  2260. SpvOpArbitraryFloatLog10INTEL = 5862,
  2261. SpvOpArbitraryFloatLog1pINTEL = 5863,
  2262. SpvOpArbitraryFloatExpINTEL = 5864,
  2263. SpvOpArbitraryFloatExp2INTEL = 5865,
  2264. SpvOpArbitraryFloatExp10INTEL = 5866,
  2265. SpvOpArbitraryFloatExpm1INTEL = 5867,
  2266. SpvOpArbitraryFloatSinINTEL = 5868,
  2267. SpvOpArbitraryFloatCosINTEL = 5869,
  2268. SpvOpArbitraryFloatSinCosINTEL = 5870,
  2269. SpvOpArbitraryFloatSinPiINTEL = 5871,
  2270. SpvOpArbitraryFloatCosPiINTEL = 5872,
  2271. SpvOpArbitraryFloatASinINTEL = 5873,
  2272. SpvOpArbitraryFloatASinPiINTEL = 5874,
  2273. SpvOpArbitraryFloatACosINTEL = 5875,
  2274. SpvOpArbitraryFloatACosPiINTEL = 5876,
  2275. SpvOpArbitraryFloatATanINTEL = 5877,
  2276. SpvOpArbitraryFloatATanPiINTEL = 5878,
  2277. SpvOpArbitraryFloatATan2INTEL = 5879,
  2278. SpvOpArbitraryFloatPowINTEL = 5880,
  2279. SpvOpArbitraryFloatPowRINTEL = 5881,
  2280. SpvOpArbitraryFloatPowNINTEL = 5882,
  2281. SpvOpLoopControlINTEL = 5887,
  2282. SpvOpAliasDomainDeclINTEL = 5911,
  2283. SpvOpAliasScopeDeclINTEL = 5912,
  2284. SpvOpAliasScopeListDeclINTEL = 5913,
  2285. SpvOpFixedSqrtINTEL = 5923,
  2286. SpvOpFixedRecipINTEL = 5924,
  2287. SpvOpFixedRsqrtINTEL = 5925,
  2288. SpvOpFixedSinINTEL = 5926,
  2289. SpvOpFixedCosINTEL = 5927,
  2290. SpvOpFixedSinCosINTEL = 5928,
  2291. SpvOpFixedSinPiINTEL = 5929,
  2292. SpvOpFixedCosPiINTEL = 5930,
  2293. SpvOpFixedSinCosPiINTEL = 5931,
  2294. SpvOpFixedLogINTEL = 5932,
  2295. SpvOpFixedExpINTEL = 5933,
  2296. SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
  2297. SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
  2298. SpvOpReadPipeBlockingINTEL = 5946,
  2299. SpvOpWritePipeBlockingINTEL = 5947,
  2300. SpvOpFPGARegINTEL = 5949,
  2301. SpvOpRayQueryGetRayTMinKHR = 6016,
  2302. SpvOpRayQueryGetRayFlagsKHR = 6017,
  2303. SpvOpRayQueryGetIntersectionTKHR = 6018,
  2304. SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
  2305. SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
  2306. SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
  2307. SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
  2308. SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
  2309. SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
  2310. SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
  2311. SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
  2312. SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
  2313. SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
  2314. SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
  2315. SpvOpRayQueryGetWorldRayOriginKHR = 6030,
  2316. SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
  2317. SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
  2318. SpvOpAtomicFAddEXT = 6035,
  2319. SpvOpTypeBufferSurfaceINTEL = 6086,
  2320. SpvOpTypeStructContinuedINTEL = 6090,
  2321. SpvOpConstantCompositeContinuedINTEL = 6091,
  2322. SpvOpSpecConstantCompositeContinuedINTEL = 6092,
  2323. SpvOpCompositeConstructContinuedINTEL = 6096,
  2324. SpvOpConvertFToBF16INTEL = 6116,
  2325. SpvOpConvertBF16ToFINTEL = 6117,
  2326. SpvOpControlBarrierArriveINTEL = 6142,
  2327. SpvOpControlBarrierWaitINTEL = 6143,
  2328. SpvOpArithmeticFenceEXT = 6145,
  2329. SpvOpTaskSequenceCreateINTEL = 6163,
  2330. SpvOpTaskSequenceAsyncINTEL = 6164,
  2331. SpvOpTaskSequenceGetINTEL = 6165,
  2332. SpvOpTaskSequenceReleaseINTEL = 6166,
  2333. SpvOpTypeTaskSequenceINTEL = 6199,
  2334. SpvOpSubgroupBlockPrefetchINTEL = 6221,
  2335. SpvOpSubgroup2DBlockLoadINTEL = 6231,
  2336. SpvOpSubgroup2DBlockLoadTransformINTEL = 6232,
  2337. SpvOpSubgroup2DBlockLoadTransposeINTEL = 6233,
  2338. SpvOpSubgroup2DBlockPrefetchINTEL = 6234,
  2339. SpvOpSubgroup2DBlockStoreINTEL = 6235,
  2340. SpvOpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
  2341. SpvOpBitwiseFunctionINTEL = 6242,
  2342. SpvOpUntypedVariableLengthArrayINTEL = 6244,
  2343. SpvOpConditionalExtensionINTEL = 6248,
  2344. SpvOpConditionalEntryPointINTEL = 6249,
  2345. SpvOpConditionalCapabilityINTEL = 6250,
  2346. SpvOpSpecConstantTargetINTEL = 6251,
  2347. SpvOpSpecConstantArchitectureINTEL = 6252,
  2348. SpvOpSpecConstantCapabilitiesINTEL = 6253,
  2349. SpvOpConditionalCopyObjectINTEL = 6254,
  2350. SpvOpGroupIMulKHR = 6401,
  2351. SpvOpGroupFMulKHR = 6402,
  2352. SpvOpGroupBitwiseAndKHR = 6403,
  2353. SpvOpGroupBitwiseOrKHR = 6404,
  2354. SpvOpGroupBitwiseXorKHR = 6405,
  2355. SpvOpGroupLogicalAndKHR = 6406,
  2356. SpvOpGroupLogicalOrKHR = 6407,
  2357. SpvOpGroupLogicalXorKHR = 6408,
  2358. SpvOpRoundFToTF32INTEL = 6426,
  2359. SpvOpMaskedGatherINTEL = 6428,
  2360. SpvOpMaskedScatterINTEL = 6429,
  2361. SpvOpConvertHandleToImageINTEL = 6529,
  2362. SpvOpConvertHandleToSamplerINTEL = 6530,
  2363. SpvOpConvertHandleToSampledImageINTEL = 6531,
  2364. SpvOpMax = 0x7fffffff,
  2365. } SpvOp;
  2366. #ifdef SPV_ENABLE_UTILITY_CODE
  2367. #ifndef __cplusplus
  2368. #include <stdbool.h>
  2369. #endif
  2370. inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
  2371. *hasResult = *hasResultType = false;
  2372. switch (opcode) {
  2373. default: /* unknown opcode */ break;
  2374. case SpvOpNop: *hasResult = false; *hasResultType = false; break;
  2375. case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
  2376. case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
  2377. case SpvOpSource: *hasResult = false; *hasResultType = false; break;
  2378. case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
  2379. case SpvOpName: *hasResult = false; *hasResultType = false; break;
  2380. case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
  2381. case SpvOpString: *hasResult = true; *hasResultType = false; break;
  2382. case SpvOpLine: *hasResult = false; *hasResultType = false; break;
  2383. case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
  2384. case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
  2385. case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
  2386. case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
  2387. case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
  2388. case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
  2389. case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
  2390. case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
  2391. case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
  2392. case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
  2393. case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
  2394. case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
  2395. case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
  2396. case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
  2397. case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
  2398. case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
  2399. case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
  2400. case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
  2401. case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
  2402. case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
  2403. case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
  2404. case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
  2405. case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
  2406. case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
  2407. case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
  2408. case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
  2409. case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
  2410. case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
  2411. case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
  2412. case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
  2413. case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
  2414. case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
  2415. case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
  2416. case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
  2417. case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
  2418. case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
  2419. case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
  2420. case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
  2421. case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
  2422. case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
  2423. case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
  2424. case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
  2425. case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
  2426. case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
  2427. case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
  2428. case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
  2429. case SpvOpStore: *hasResult = false; *hasResultType = false; break;
  2430. case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
  2431. case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
  2432. case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
  2433. case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
  2434. case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
  2435. case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
  2436. case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
  2437. case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
  2438. case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
  2439. case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
  2440. case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
  2441. case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
  2442. case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
  2443. case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
  2444. case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
  2445. case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
  2446. case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
  2447. case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
  2448. case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
  2449. case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
  2450. case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
  2451. case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
  2452. case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
  2453. case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
  2454. case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2455. case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2456. case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
  2457. case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
  2458. case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2459. case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2460. case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
  2461. case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
  2462. case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
  2463. case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
  2464. case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
  2465. case SpvOpImage: *hasResult = true; *hasResultType = true; break;
  2466. case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
  2467. case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
  2468. case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
  2469. case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
  2470. case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
  2471. case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
  2472. case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
  2473. case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
  2474. case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
  2475. case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
  2476. case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
  2477. case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
  2478. case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
  2479. case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
  2480. case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
  2481. case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
  2482. case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
  2483. case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
  2484. case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
  2485. case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
  2486. case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
  2487. case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
  2488. case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
  2489. case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
  2490. case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
  2491. case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
  2492. case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
  2493. case SpvOpISub: *hasResult = true; *hasResultType = true; break;
  2494. case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
  2495. case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
  2496. case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
  2497. case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
  2498. case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
  2499. case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
  2500. case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
  2501. case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
  2502. case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
  2503. case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
  2504. case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
  2505. case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
  2506. case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
  2507. case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
  2508. case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
  2509. case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
  2510. case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
  2511. case SpvOpDot: *hasResult = true; *hasResultType = true; break;
  2512. case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
  2513. case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
  2514. case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
  2515. case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
  2516. case SpvOpAny: *hasResult = true; *hasResultType = true; break;
  2517. case SpvOpAll: *hasResult = true; *hasResultType = true; break;
  2518. case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
  2519. case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
  2520. case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
  2521. case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
  2522. case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
  2523. case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
  2524. case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
  2525. case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
  2526. case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
  2527. case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
  2528. case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
  2529. case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
  2530. case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
  2531. case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
  2532. case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
  2533. case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
  2534. case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
  2535. case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
  2536. case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2537. case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2538. case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
  2539. case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
  2540. case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
  2541. case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
  2542. case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
  2543. case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
  2544. case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
  2545. case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
  2546. case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
  2547. case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
  2548. case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
  2549. case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
  2550. case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
  2551. case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
  2552. case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2553. case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2554. case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
  2555. case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
  2556. case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
  2557. case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
  2558. case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
  2559. case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
  2560. case SpvOpNot: *hasResult = true; *hasResultType = true; break;
  2561. case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
  2562. case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
  2563. case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
  2564. case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
  2565. case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
  2566. case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
  2567. case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
  2568. case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
  2569. case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
  2570. case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
  2571. case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
  2572. case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
  2573. case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
  2574. case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
  2575. case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
  2576. case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
  2577. case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
  2578. case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
  2579. case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
  2580. case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
  2581. case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
  2582. case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
  2583. case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
  2584. case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
  2585. case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
  2586. case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
  2587. case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
  2588. case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
  2589. case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
  2590. case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
  2591. case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
  2592. case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
  2593. case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
  2594. case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
  2595. case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
  2596. case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
  2597. case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
  2598. case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
  2599. case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
  2600. case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
  2601. case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
  2602. case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
  2603. case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
  2604. case SpvOpKill: *hasResult = false; *hasResultType = false; break;
  2605. case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
  2606. case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
  2607. case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
  2608. case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
  2609. case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
  2610. case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
  2611. case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
  2612. case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
  2613. case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
  2614. case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
  2615. case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
  2616. case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
  2617. case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
  2618. case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
  2619. case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
  2620. case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
  2621. case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
  2622. case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
  2623. case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
  2624. case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
  2625. case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
  2626. case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
  2627. case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
  2628. case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
  2629. case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
  2630. case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
  2631. case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
  2632. case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
  2633. case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
  2634. case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
  2635. case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
  2636. case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
  2637. case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
  2638. case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
  2639. case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
  2640. case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
  2641. case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
  2642. case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
  2643. case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
  2644. case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
  2645. case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
  2646. case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
  2647. case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
  2648. case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
  2649. case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
  2650. case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
  2651. case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
  2652. case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
  2653. case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
  2654. case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2655. case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2656. case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
  2657. case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
  2658. case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2659. case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2660. case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
  2661. case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
  2662. case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
  2663. case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
  2664. case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
  2665. case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
  2666. case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
  2667. case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
  2668. case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
  2669. case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
  2670. case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
  2671. case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
  2672. case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
  2673. case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
  2674. case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
  2675. case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
  2676. case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
  2677. case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
  2678. case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
  2679. case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
  2680. case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
  2681. case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
  2682. case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
  2683. case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
  2684. case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
  2685. case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
  2686. case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
  2687. case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
  2688. case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
  2689. case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
  2690. case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
  2691. case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
  2692. case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
  2693. case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
  2694. case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
  2695. case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
  2696. case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
  2697. case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
  2698. case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
  2699. case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
  2700. case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
  2701. case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
  2702. case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
  2703. case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
  2704. case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
  2705. case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
  2706. case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
  2707. case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
  2708. case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
  2709. case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
  2710. case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
  2711. case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
  2712. case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
  2713. case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
  2714. case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
  2715. case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
  2716. case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
  2717. case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
  2718. case SpvOpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
  2719. case SpvOpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
  2720. case SpvOpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
  2721. case SpvOpTypeTensorARM: *hasResult = true; *hasResultType = false; break;
  2722. case SpvOpTensorReadARM: *hasResult = true; *hasResultType = true; break;
  2723. case SpvOpTensorWriteARM: *hasResult = false; *hasResultType = false; break;
  2724. case SpvOpTensorQuerySizeARM: *hasResult = true; *hasResultType = true; break;
  2725. case SpvOpGraphConstantARM: *hasResult = true; *hasResultType = true; break;
  2726. case SpvOpGraphEntryPointARM: *hasResult = false; *hasResultType = false; break;
  2727. case SpvOpGraphARM: *hasResult = true; *hasResultType = true; break;
  2728. case SpvOpGraphInputARM: *hasResult = true; *hasResultType = true; break;
  2729. case SpvOpGraphSetOutputARM: *hasResult = false; *hasResultType = false; break;
  2730. case SpvOpGraphEndARM: *hasResult = false; *hasResultType = false; break;
  2731. case SpvOpTypeGraphARM: *hasResult = true; *hasResultType = false; break;
  2732. case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
  2733. case SpvOpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
  2734. case SpvOpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
  2735. case SpvOpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2736. case SpvOpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2737. case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
  2738. case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
  2739. case SpvOpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2740. case SpvOpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2741. case SpvOpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
  2742. case SpvOpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
  2743. case SpvOpFmaKHR: *hasResult = true; *hasResultType = true; break;
  2744. case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
  2745. case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
  2746. case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
  2747. case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
  2748. case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
  2749. case SpvOpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break;
  2750. case SpvOpUntypedGroupAsyncCopyKHR: *hasResult = true; *hasResultType = true; break;
  2751. case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
  2752. case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
  2753. case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
  2754. case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
  2755. case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
  2756. case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
  2757. case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
  2758. case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
  2759. case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
  2760. case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
  2761. case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
  2762. case SpvOpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
  2763. case SpvOpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
  2764. case SpvOpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
  2765. case SpvOpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
  2766. case SpvOpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break;
  2767. case SpvOpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
  2768. case SpvOpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
  2769. case SpvOpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break;
  2770. case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
  2771. case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
  2772. case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
  2773. case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
  2774. case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
  2775. case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
  2776. case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
  2777. case SpvOpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
  2778. case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
  2779. case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
  2780. case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
  2781. case SpvOpBitCastArrayQCOM: *hasResult = true; *hasResultType = true; break;
  2782. case SpvOpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;
  2783. case SpvOpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;
  2784. case SpvOpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;
  2785. case SpvOpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;
  2786. case SpvOpCompositeConstructCoopMatQCOM: *hasResult = true; *hasResultType = true; break;
  2787. case SpvOpCompositeExtractCoopMatQCOM: *hasResult = true; *hasResultType = true; break;
  2788. case SpvOpExtractSubArrayQCOM: *hasResult = true; *hasResultType = true; break;
  2789. case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2790. case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2791. case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2792. case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2793. case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2794. case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2795. case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2796. case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2797. case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
  2798. case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
  2799. case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
  2800. case SpvOpAllocateNodePayloadsAMDX: *hasResult = true; *hasResultType = true; break;
  2801. case SpvOpEnqueueNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
  2802. case SpvOpTypeNodePayloadArrayAMDX: *hasResult = true; *hasResultType = false; break;
  2803. case SpvOpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
  2804. case SpvOpNodePayloadArrayLengthAMDX: *hasResult = true; *hasResultType = true; break;
  2805. case SpvOpIsNodePayloadValidAMDX: *hasResult = true; *hasResultType = true; break;
  2806. case SpvOpConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
  2807. case SpvOpSpecConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
  2808. case SpvOpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
  2809. case SpvOpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break;
  2810. case SpvOpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
  2811. case SpvOpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
  2812. case SpvOpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
  2813. case SpvOpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
  2814. case SpvOpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
  2815. case SpvOpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
  2816. case SpvOpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
  2817. case SpvOpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
  2818. case SpvOpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
  2819. case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
  2820. case SpvOpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
  2821. case SpvOpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
  2822. case SpvOpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
  2823. case SpvOpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
  2824. case SpvOpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
  2825. case SpvOpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
  2826. case SpvOpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
  2827. case SpvOpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
  2828. case SpvOpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
  2829. case SpvOpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
  2830. case SpvOpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
  2831. case SpvOpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
  2832. case SpvOpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
  2833. case SpvOpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
  2834. case SpvOpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
  2835. case SpvOpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
  2836. case SpvOpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
  2837. case SpvOpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
  2838. case SpvOpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
  2839. case SpvOpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
  2840. case SpvOpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
  2841. case SpvOpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
  2842. case SpvOpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
  2843. case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
  2844. case SpvOpTypeCooperativeVectorNV: *hasResult = true; *hasResultType = false; break;
  2845. case SpvOpCooperativeVectorMatrixMulNV: *hasResult = true; *hasResultType = true; break;
  2846. case SpvOpCooperativeVectorOuterProductAccumulateNV: *hasResult = false; *hasResultType = false; break;
  2847. case SpvOpCooperativeVectorReduceSumAccumulateNV: *hasResult = false; *hasResultType = false; break;
  2848. case SpvOpCooperativeVectorMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
  2849. case SpvOpCooperativeMatrixConvertNV: *hasResult = true; *hasResultType = true; break;
  2850. case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
  2851. case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
  2852. case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
  2853. case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
  2854. case SpvOpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
  2855. case SpvOpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break;
  2856. case SpvOpCooperativeVectorLoadNV: *hasResult = true; *hasResultType = true; break;
  2857. case SpvOpCooperativeVectorStoreNV: *hasResult = false; *hasResultType = false; break;
  2858. case SpvOpReportIntersectionKHR: *hasResult = true; *hasResultType = true; break;
  2859. case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
  2860. case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
  2861. case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
  2862. case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
  2863. case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
  2864. case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
  2865. case SpvOpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = false; break;
  2866. case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
  2867. case SpvOpRayQueryGetIntersectionClusterIdNV: *hasResult = true; *hasResultType = true; break;
  2868. case SpvOpHitObjectGetClusterIdNV: *hasResult = true; *hasResultType = true; break;
  2869. case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
  2870. case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
  2871. case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
  2872. case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
  2873. case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
  2874. case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
  2875. case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
  2876. case SpvOpCooperativeMatrixReduceNV: *hasResult = true; *hasResultType = true; break;
  2877. case SpvOpCooperativeMatrixLoadTensorNV: *hasResult = true; *hasResultType = true; break;
  2878. case SpvOpCooperativeMatrixStoreTensorNV: *hasResult = false; *hasResultType = false; break;
  2879. case SpvOpCooperativeMatrixPerElementOpNV: *hasResult = true; *hasResultType = true; break;
  2880. case SpvOpTypeTensorLayoutNV: *hasResult = true; *hasResultType = false; break;
  2881. case SpvOpTypeTensorViewNV: *hasResult = true; *hasResultType = false; break;
  2882. case SpvOpCreateTensorLayoutNV: *hasResult = true; *hasResultType = true; break;
  2883. case SpvOpTensorLayoutSetDimensionNV: *hasResult = true; *hasResultType = true; break;
  2884. case SpvOpTensorLayoutSetStrideNV: *hasResult = true; *hasResultType = true; break;
  2885. case SpvOpTensorLayoutSliceNV: *hasResult = true; *hasResultType = true; break;
  2886. case SpvOpTensorLayoutSetClampValueNV: *hasResult = true; *hasResultType = true; break;
  2887. case SpvOpCreateTensorViewNV: *hasResult = true; *hasResultType = true; break;
  2888. case SpvOpTensorViewSetDimensionNV: *hasResult = true; *hasResultType = true; break;
  2889. case SpvOpTensorViewSetStrideNV: *hasResult = true; *hasResultType = true; break;
  2890. case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
  2891. case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
  2892. case SpvOpTensorViewSetClipNV: *hasResult = true; *hasResultType = true; break;
  2893. case SpvOpTensorLayoutSetBlockSizeNV: *hasResult = true; *hasResultType = true; break;
  2894. case SpvOpCooperativeMatrixTransposeNV: *hasResult = true; *hasResultType = true; break;
  2895. case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
  2896. case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
  2897. case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
  2898. case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
  2899. case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
  2900. case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
  2901. case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
  2902. case SpvOpRawAccessChainNV: *hasResult = true; *hasResultType = true; break;
  2903. case SpvOpRayQueryGetIntersectionSpherePositionNV: *hasResult = true; *hasResultType = true; break;
  2904. case SpvOpRayQueryGetIntersectionSphereRadiusNV: *hasResult = true; *hasResultType = true; break;
  2905. case SpvOpRayQueryGetIntersectionLSSPositionsNV: *hasResult = true; *hasResultType = true; break;
  2906. case SpvOpRayQueryGetIntersectionLSSRadiiNV: *hasResult = true; *hasResultType = true; break;
  2907. case SpvOpRayQueryGetIntersectionLSSHitValueNV: *hasResult = true; *hasResultType = true; break;
  2908. case SpvOpHitObjectGetSpherePositionNV: *hasResult = true; *hasResultType = true; break;
  2909. case SpvOpHitObjectGetSphereRadiusNV: *hasResult = true; *hasResultType = true; break;
  2910. case SpvOpHitObjectGetLSSPositionsNV: *hasResult = true; *hasResultType = true; break;
  2911. case SpvOpHitObjectGetLSSRadiiNV: *hasResult = true; *hasResultType = true; break;
  2912. case SpvOpHitObjectIsSphereHitNV: *hasResult = true; *hasResultType = true; break;
  2913. case SpvOpHitObjectIsLSSHitNV: *hasResult = true; *hasResultType = true; break;
  2914. case SpvOpRayQueryIsSphereHitNV: *hasResult = true; *hasResultType = true; break;
  2915. case SpvOpRayQueryIsLSSHitNV: *hasResult = true; *hasResultType = true; break;
  2916. case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
  2917. case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
  2918. case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
  2919. case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
  2920. case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
  2921. case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
  2922. case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
  2923. case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
  2924. case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
  2925. case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
  2926. case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
  2927. case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
  2928. case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
  2929. case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
  2930. case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
  2931. case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
  2932. case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
  2933. case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
  2934. case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
  2935. case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
  2936. case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
  2937. case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
  2938. case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
  2939. case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
  2940. case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
  2941. case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
  2942. case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = false; break;
  2943. case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
  2944. case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
  2945. case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
  2946. case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
  2947. case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
  2948. case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
  2949. case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
  2950. case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
  2951. case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
  2952. case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
  2953. case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2954. case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2955. case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2956. case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2957. case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
  2958. case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
  2959. case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
  2960. case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
  2961. case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
  2962. case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
  2963. case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
  2964. case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
  2965. case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2966. case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2967. case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2968. case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2969. case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2970. case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2971. case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2972. case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2973. case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2974. case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2975. case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2976. case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  2977. case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2978. case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2979. case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2980. case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
  2981. case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
  2982. case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
  2983. case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
  2984. case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  2985. case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
  2986. case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
  2987. case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
  2988. case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
  2989. case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
  2990. case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
  2991. case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  2992. case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  2993. case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
  2994. case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
  2995. case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
  2996. case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
  2997. case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
  2998. case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
  2999. case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  3000. case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3001. case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3002. case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
  3003. case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
  3004. case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  3005. case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
  3006. case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
  3007. case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
  3008. case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
  3009. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3010. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3011. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3012. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3013. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3014. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3015. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
  3016. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
  3017. case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
  3018. case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3019. case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3020. case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3021. case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3022. case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
  3023. case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  3024. case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
  3025. case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
  3026. case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  3027. case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
  3028. case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
  3029. case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
  3030. case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
  3031. case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
  3032. case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
  3033. case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  3034. case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  3035. case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  3036. case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
  3037. case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
  3038. case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3039. case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3040. case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3041. case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
  3042. case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
  3043. case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  3044. case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
  3045. case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
  3046. case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
  3047. case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
  3048. case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  3049. case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  3050. case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  3051. case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  3052. case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
  3053. case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
  3054. case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
  3055. case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
  3056. case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3057. case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3058. case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3059. case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
  3060. case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
  3061. case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
  3062. case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
  3063. case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
  3064. case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
  3065. case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
  3066. case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
  3067. case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
  3068. case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
  3069. case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
  3070. case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
  3071. case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
  3072. case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3073. case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
  3074. case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
  3075. case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
  3076. case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
  3077. case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
  3078. case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
  3079. case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
  3080. case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
  3081. case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
  3082. case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
  3083. case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
  3084. case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
  3085. case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
  3086. case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3087. case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
  3088. case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
  3089. case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3090. case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
  3091. case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
  3092. case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
  3093. case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
  3094. case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
  3095. case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
  3096. case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
  3097. case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
  3098. case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
  3099. case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
  3100. case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
  3101. case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
  3102. case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3103. case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
  3104. case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
  3105. case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
  3106. case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3107. case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
  3108. case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
  3109. case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
  3110. case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
  3111. case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
  3112. case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
  3113. case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
  3114. case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
  3115. case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
  3116. case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
  3117. case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3118. case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
  3119. case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3120. case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
  3121. case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
  3122. case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
  3123. case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
  3124. case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3125. case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3126. case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
  3127. case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
  3128. case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
  3129. case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
  3130. case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
  3131. case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
  3132. case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
  3133. case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
  3134. case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
  3135. case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
  3136. case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
  3137. case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
  3138. case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
  3139. case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
  3140. case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
  3141. case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
  3142. case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
  3143. case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
  3144. case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
  3145. case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
  3146. case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
  3147. case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
  3148. case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
  3149. case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
  3150. case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
  3151. case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
  3152. case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
  3153. case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
  3154. case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
  3155. case SpvOpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
  3156. case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
  3157. case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
  3158. case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
  3159. case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
  3160. case SpvOpArithmeticFenceEXT: *hasResult = true; *hasResultType = true; break;
  3161. case SpvOpTaskSequenceCreateINTEL: *hasResult = true; *hasResultType = true; break;
  3162. case SpvOpTaskSequenceAsyncINTEL: *hasResult = false; *hasResultType = false; break;
  3163. case SpvOpTaskSequenceGetINTEL: *hasResult = true; *hasResultType = true; break;
  3164. case SpvOpTaskSequenceReleaseINTEL: *hasResult = false; *hasResultType = false; break;
  3165. case SpvOpTypeTaskSequenceINTEL: *hasResult = true; *hasResultType = false; break;
  3166. case SpvOpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
  3167. case SpvOpSubgroup2DBlockLoadINTEL: *hasResult = false; *hasResultType = false; break;
  3168. case SpvOpSubgroup2DBlockLoadTransformINTEL: *hasResult = false; *hasResultType = false; break;
  3169. case SpvOpSubgroup2DBlockLoadTransposeINTEL: *hasResult = false; *hasResultType = false; break;
  3170. case SpvOpSubgroup2DBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
  3171. case SpvOpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = false; break;
  3172. case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; *hasResultType = true; break;
  3173. case SpvOpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  3174. case SpvOpUntypedVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
  3175. case SpvOpConditionalExtensionINTEL: *hasResult = false; *hasResultType = false; break;
  3176. case SpvOpConditionalEntryPointINTEL: *hasResult = false; *hasResultType = false; break;
  3177. case SpvOpConditionalCapabilityINTEL: *hasResult = false; *hasResultType = false; break;
  3178. case SpvOpSpecConstantTargetINTEL: *hasResult = true; *hasResultType = true; break;
  3179. case SpvOpSpecConstantArchitectureINTEL: *hasResult = true; *hasResultType = true; break;
  3180. case SpvOpSpecConstantCapabilitiesINTEL: *hasResult = true; *hasResultType = true; break;
  3181. case SpvOpConditionalCopyObjectINTEL: *hasResult = true; *hasResultType = true; break;
  3182. case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
  3183. case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
  3184. case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
  3185. case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
  3186. case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
  3187. case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
  3188. case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
  3189. case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
  3190. case SpvOpRoundFToTF32INTEL: *hasResult = true; *hasResultType = true; break;
  3191. case SpvOpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
  3192. case SpvOpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
  3193. case SpvOpConvertHandleToImageINTEL: *hasResult = true; *hasResultType = true; break;
  3194. case SpvOpConvertHandleToSamplerINTEL: *hasResult = true; *hasResultType = true; break;
  3195. case SpvOpConvertHandleToSampledImageINTEL: *hasResult = true; *hasResultType = true; break;
  3196. }
  3197. }
  3198. inline const char* SpvSourceLanguageToString(SpvSourceLanguage value) {
  3199. switch (value) {
  3200. case SpvSourceLanguageUnknown: return "Unknown";
  3201. case SpvSourceLanguageESSL: return "ESSL";
  3202. case SpvSourceLanguageGLSL: return "GLSL";
  3203. case SpvSourceLanguageOpenCL_C: return "OpenCL_C";
  3204. case SpvSourceLanguageOpenCL_CPP: return "OpenCL_CPP";
  3205. case SpvSourceLanguageHLSL: return "HLSL";
  3206. case SpvSourceLanguageCPP_for_OpenCL: return "CPP_for_OpenCL";
  3207. case SpvSourceLanguageSYCL: return "SYCL";
  3208. case SpvSourceLanguageHERO_C: return "HERO_C";
  3209. case SpvSourceLanguageNZSL: return "NZSL";
  3210. case SpvSourceLanguageWGSL: return "WGSL";
  3211. case SpvSourceLanguageSlang: return "Slang";
  3212. case SpvSourceLanguageZig: return "Zig";
  3213. case SpvSourceLanguageRust: return "Rust";
  3214. default: return "Unknown";
  3215. }
  3216. }
  3217. inline const char* SpvExecutionModelToString(SpvExecutionModel value) {
  3218. switch (value) {
  3219. case SpvExecutionModelVertex: return "Vertex";
  3220. case SpvExecutionModelTessellationControl: return "TessellationControl";
  3221. case SpvExecutionModelTessellationEvaluation: return "TessellationEvaluation";
  3222. case SpvExecutionModelGeometry: return "Geometry";
  3223. case SpvExecutionModelFragment: return "Fragment";
  3224. case SpvExecutionModelGLCompute: return "GLCompute";
  3225. case SpvExecutionModelKernel: return "Kernel";
  3226. case SpvExecutionModelTaskNV: return "TaskNV";
  3227. case SpvExecutionModelMeshNV: return "MeshNV";
  3228. case SpvExecutionModelRayGenerationKHR: return "RayGenerationKHR";
  3229. case SpvExecutionModelIntersectionKHR: return "IntersectionKHR";
  3230. case SpvExecutionModelAnyHitKHR: return "AnyHitKHR";
  3231. case SpvExecutionModelClosestHitKHR: return "ClosestHitKHR";
  3232. case SpvExecutionModelMissKHR: return "MissKHR";
  3233. case SpvExecutionModelCallableKHR: return "CallableKHR";
  3234. case SpvExecutionModelTaskEXT: return "TaskEXT";
  3235. case SpvExecutionModelMeshEXT: return "MeshEXT";
  3236. default: return "Unknown";
  3237. }
  3238. }
  3239. inline const char* SpvAddressingModelToString(SpvAddressingModel value) {
  3240. switch (value) {
  3241. case SpvAddressingModelLogical: return "Logical";
  3242. case SpvAddressingModelPhysical32: return "Physical32";
  3243. case SpvAddressingModelPhysical64: return "Physical64";
  3244. case SpvAddressingModelPhysicalStorageBuffer64: return "PhysicalStorageBuffer64";
  3245. default: return "Unknown";
  3246. }
  3247. }
  3248. inline const char* SpvMemoryModelToString(SpvMemoryModel value) {
  3249. switch (value) {
  3250. case SpvMemoryModelSimple: return "Simple";
  3251. case SpvMemoryModelGLSL450: return "GLSL450";
  3252. case SpvMemoryModelOpenCL: return "OpenCL";
  3253. case SpvMemoryModelVulkan: return "Vulkan";
  3254. default: return "Unknown";
  3255. }
  3256. }
  3257. inline const char* SpvExecutionModeToString(SpvExecutionMode value) {
  3258. switch (value) {
  3259. case SpvExecutionModeInvocations: return "Invocations";
  3260. case SpvExecutionModeSpacingEqual: return "SpacingEqual";
  3261. case SpvExecutionModeSpacingFractionalEven: return "SpacingFractionalEven";
  3262. case SpvExecutionModeSpacingFractionalOdd: return "SpacingFractionalOdd";
  3263. case SpvExecutionModeVertexOrderCw: return "VertexOrderCw";
  3264. case SpvExecutionModeVertexOrderCcw: return "VertexOrderCcw";
  3265. case SpvExecutionModePixelCenterInteger: return "PixelCenterInteger";
  3266. case SpvExecutionModeOriginUpperLeft: return "OriginUpperLeft";
  3267. case SpvExecutionModeOriginLowerLeft: return "OriginLowerLeft";
  3268. case SpvExecutionModeEarlyFragmentTests: return "EarlyFragmentTests";
  3269. case SpvExecutionModePointMode: return "PointMode";
  3270. case SpvExecutionModeXfb: return "Xfb";
  3271. case SpvExecutionModeDepthReplacing: return "DepthReplacing";
  3272. case SpvExecutionModeDepthGreater: return "DepthGreater";
  3273. case SpvExecutionModeDepthLess: return "DepthLess";
  3274. case SpvExecutionModeDepthUnchanged: return "DepthUnchanged";
  3275. case SpvExecutionModeLocalSize: return "LocalSize";
  3276. case SpvExecutionModeLocalSizeHint: return "LocalSizeHint";
  3277. case SpvExecutionModeInputPoints: return "InputPoints";
  3278. case SpvExecutionModeInputLines: return "InputLines";
  3279. case SpvExecutionModeInputLinesAdjacency: return "InputLinesAdjacency";
  3280. case SpvExecutionModeTriangles: return "Triangles";
  3281. case SpvExecutionModeInputTrianglesAdjacency: return "InputTrianglesAdjacency";
  3282. case SpvExecutionModeQuads: return "Quads";
  3283. case SpvExecutionModeIsolines: return "Isolines";
  3284. case SpvExecutionModeOutputVertices: return "OutputVertices";
  3285. case SpvExecutionModeOutputPoints: return "OutputPoints";
  3286. case SpvExecutionModeOutputLineStrip: return "OutputLineStrip";
  3287. case SpvExecutionModeOutputTriangleStrip: return "OutputTriangleStrip";
  3288. case SpvExecutionModeVecTypeHint: return "VecTypeHint";
  3289. case SpvExecutionModeContractionOff: return "ContractionOff";
  3290. case SpvExecutionModeInitializer: return "Initializer";
  3291. case SpvExecutionModeFinalizer: return "Finalizer";
  3292. case SpvExecutionModeSubgroupSize: return "SubgroupSize";
  3293. case SpvExecutionModeSubgroupsPerWorkgroup: return "SubgroupsPerWorkgroup";
  3294. case SpvExecutionModeSubgroupsPerWorkgroupId: return "SubgroupsPerWorkgroupId";
  3295. case SpvExecutionModeLocalSizeId: return "LocalSizeId";
  3296. case SpvExecutionModeLocalSizeHintId: return "LocalSizeHintId";
  3297. case SpvExecutionModeNonCoherentColorAttachmentReadEXT: return "NonCoherentColorAttachmentReadEXT";
  3298. case SpvExecutionModeNonCoherentDepthAttachmentReadEXT: return "NonCoherentDepthAttachmentReadEXT";
  3299. case SpvExecutionModeNonCoherentStencilAttachmentReadEXT: return "NonCoherentStencilAttachmentReadEXT";
  3300. case SpvExecutionModeSubgroupUniformControlFlowKHR: return "SubgroupUniformControlFlowKHR";
  3301. case SpvExecutionModePostDepthCoverage: return "PostDepthCoverage";
  3302. case SpvExecutionModeDenormPreserve: return "DenormPreserve";
  3303. case SpvExecutionModeDenormFlushToZero: return "DenormFlushToZero";
  3304. case SpvExecutionModeSignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
  3305. case SpvExecutionModeRoundingModeRTE: return "RoundingModeRTE";
  3306. case SpvExecutionModeRoundingModeRTZ: return "RoundingModeRTZ";
  3307. case SpvExecutionModeNonCoherentTileAttachmentReadQCOM: return "NonCoherentTileAttachmentReadQCOM";
  3308. case SpvExecutionModeTileShadingRateQCOM: return "TileShadingRateQCOM";
  3309. case SpvExecutionModeEarlyAndLateFragmentTestsAMD: return "EarlyAndLateFragmentTestsAMD";
  3310. case SpvExecutionModeStencilRefReplacingEXT: return "StencilRefReplacingEXT";
  3311. case SpvExecutionModeCoalescingAMDX: return "CoalescingAMDX";
  3312. case SpvExecutionModeIsApiEntryAMDX: return "IsApiEntryAMDX";
  3313. case SpvExecutionModeMaxNodeRecursionAMDX: return "MaxNodeRecursionAMDX";
  3314. case SpvExecutionModeStaticNumWorkgroupsAMDX: return "StaticNumWorkgroupsAMDX";
  3315. case SpvExecutionModeShaderIndexAMDX: return "ShaderIndexAMDX";
  3316. case SpvExecutionModeMaxNumWorkgroupsAMDX: return "MaxNumWorkgroupsAMDX";
  3317. case SpvExecutionModeStencilRefUnchangedFrontAMD: return "StencilRefUnchangedFrontAMD";
  3318. case SpvExecutionModeStencilRefGreaterFrontAMD: return "StencilRefGreaterFrontAMD";
  3319. case SpvExecutionModeStencilRefLessFrontAMD: return "StencilRefLessFrontAMD";
  3320. case SpvExecutionModeStencilRefUnchangedBackAMD: return "StencilRefUnchangedBackAMD";
  3321. case SpvExecutionModeStencilRefGreaterBackAMD: return "StencilRefGreaterBackAMD";
  3322. case SpvExecutionModeStencilRefLessBackAMD: return "StencilRefLessBackAMD";
  3323. case SpvExecutionModeQuadDerivativesKHR: return "QuadDerivativesKHR";
  3324. case SpvExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR";
  3325. case SpvExecutionModeSharesInputWithAMDX: return "SharesInputWithAMDX";
  3326. case SpvExecutionModeOutputLinesEXT: return "OutputLinesEXT";
  3327. case SpvExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT";
  3328. case SpvExecutionModeDerivativeGroupQuadsKHR: return "DerivativeGroupQuadsKHR";
  3329. case SpvExecutionModeDerivativeGroupLinearKHR: return "DerivativeGroupLinearKHR";
  3330. case SpvExecutionModeOutputTrianglesEXT: return "OutputTrianglesEXT";
  3331. case SpvExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
  3332. case SpvExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
  3333. case SpvExecutionModeSampleInterlockOrderedEXT: return "SampleInterlockOrderedEXT";
  3334. case SpvExecutionModeSampleInterlockUnorderedEXT: return "SampleInterlockUnorderedEXT";
  3335. case SpvExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT";
  3336. case SpvExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT";
  3337. case SpvExecutionModeSharedLocalMemorySizeINTEL: return "SharedLocalMemorySizeINTEL";
  3338. case SpvExecutionModeRoundingModeRTPINTEL: return "RoundingModeRTPINTEL";
  3339. case SpvExecutionModeRoundingModeRTNINTEL: return "RoundingModeRTNINTEL";
  3340. case SpvExecutionModeFloatingPointModeALTINTEL: return "FloatingPointModeALTINTEL";
  3341. case SpvExecutionModeFloatingPointModeIEEEINTEL: return "FloatingPointModeIEEEINTEL";
  3342. case SpvExecutionModeMaxWorkgroupSizeINTEL: return "MaxWorkgroupSizeINTEL";
  3343. case SpvExecutionModeMaxWorkDimINTEL: return "MaxWorkDimINTEL";
  3344. case SpvExecutionModeNoGlobalOffsetINTEL: return "NoGlobalOffsetINTEL";
  3345. case SpvExecutionModeNumSIMDWorkitemsINTEL: return "NumSIMDWorkitemsINTEL";
  3346. case SpvExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL";
  3347. case SpvExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR";
  3348. case SpvExecutionModeFPFastMathDefault: return "FPFastMathDefault";
  3349. case SpvExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL";
  3350. case SpvExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL";
  3351. case SpvExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL";
  3352. case SpvExecutionModeMaximumRegistersINTEL: return "MaximumRegistersINTEL";
  3353. case SpvExecutionModeMaximumRegistersIdINTEL: return "MaximumRegistersIdINTEL";
  3354. case SpvExecutionModeNamedMaximumRegistersINTEL: return "NamedMaximumRegistersINTEL";
  3355. default: return "Unknown";
  3356. }
  3357. }
  3358. inline const char* SpvStorageClassToString(SpvStorageClass value) {
  3359. switch (value) {
  3360. case SpvStorageClassUniformConstant: return "UniformConstant";
  3361. case SpvStorageClassInput: return "Input";
  3362. case SpvStorageClassUniform: return "Uniform";
  3363. case SpvStorageClassOutput: return "Output";
  3364. case SpvStorageClassWorkgroup: return "Workgroup";
  3365. case SpvStorageClassCrossWorkgroup: return "CrossWorkgroup";
  3366. case SpvStorageClassPrivate: return "Private";
  3367. case SpvStorageClassFunction: return "Function";
  3368. case SpvStorageClassGeneric: return "Generic";
  3369. case SpvStorageClassPushConstant: return "PushConstant";
  3370. case SpvStorageClassAtomicCounter: return "AtomicCounter";
  3371. case SpvStorageClassImage: return "Image";
  3372. case SpvStorageClassStorageBuffer: return "StorageBuffer";
  3373. case SpvStorageClassTileImageEXT: return "TileImageEXT";
  3374. case SpvStorageClassTileAttachmentQCOM: return "TileAttachmentQCOM";
  3375. case SpvStorageClassNodePayloadAMDX: return "NodePayloadAMDX";
  3376. case SpvStorageClassCallableDataKHR: return "CallableDataKHR";
  3377. case SpvStorageClassIncomingCallableDataKHR: return "IncomingCallableDataKHR";
  3378. case SpvStorageClassRayPayloadKHR: return "RayPayloadKHR";
  3379. case SpvStorageClassHitAttributeKHR: return "HitAttributeKHR";
  3380. case SpvStorageClassIncomingRayPayloadKHR: return "IncomingRayPayloadKHR";
  3381. case SpvStorageClassShaderRecordBufferKHR: return "ShaderRecordBufferKHR";
  3382. case SpvStorageClassPhysicalStorageBuffer: return "PhysicalStorageBuffer";
  3383. case SpvStorageClassHitObjectAttributeNV: return "HitObjectAttributeNV";
  3384. case SpvStorageClassTaskPayloadWorkgroupEXT: return "TaskPayloadWorkgroupEXT";
  3385. case SpvStorageClassCodeSectionINTEL: return "CodeSectionINTEL";
  3386. case SpvStorageClassDeviceOnlyINTEL: return "DeviceOnlyINTEL";
  3387. case SpvStorageClassHostOnlyINTEL: return "HostOnlyINTEL";
  3388. default: return "Unknown";
  3389. }
  3390. }
  3391. inline const char* SpvDimToString(SpvDim value) {
  3392. switch (value) {
  3393. case SpvDim1D: return "1D";
  3394. case SpvDim2D: return "2D";
  3395. case SpvDim3D: return "3D";
  3396. case SpvDimCube: return "Cube";
  3397. case SpvDimRect: return "Rect";
  3398. case SpvDimBuffer: return "Buffer";
  3399. case SpvDimSubpassData: return "SubpassData";
  3400. case SpvDimTileImageDataEXT: return "TileImageDataEXT";
  3401. default: return "Unknown";
  3402. }
  3403. }
  3404. inline const char* SpvSamplerAddressingModeToString(SpvSamplerAddressingMode value) {
  3405. switch (value) {
  3406. case SpvSamplerAddressingModeNone: return "None";
  3407. case SpvSamplerAddressingModeClampToEdge: return "ClampToEdge";
  3408. case SpvSamplerAddressingModeClamp: return "Clamp";
  3409. case SpvSamplerAddressingModeRepeat: return "Repeat";
  3410. case SpvSamplerAddressingModeRepeatMirrored: return "RepeatMirrored";
  3411. default: return "Unknown";
  3412. }
  3413. }
  3414. inline const char* SpvSamplerFilterModeToString(SpvSamplerFilterMode value) {
  3415. switch (value) {
  3416. case SpvSamplerFilterModeNearest: return "Nearest";
  3417. case SpvSamplerFilterModeLinear: return "Linear";
  3418. default: return "Unknown";
  3419. }
  3420. }
  3421. inline const char* SpvImageFormatToString(SpvImageFormat value) {
  3422. switch (value) {
  3423. case SpvImageFormatUnknown: return "Unknown";
  3424. case SpvImageFormatRgba32f: return "Rgba32f";
  3425. case SpvImageFormatRgba16f: return "Rgba16f";
  3426. case SpvImageFormatR32f: return "R32f";
  3427. case SpvImageFormatRgba8: return "Rgba8";
  3428. case SpvImageFormatRgba8Snorm: return "Rgba8Snorm";
  3429. case SpvImageFormatRg32f: return "Rg32f";
  3430. case SpvImageFormatRg16f: return "Rg16f";
  3431. case SpvImageFormatR11fG11fB10f: return "R11fG11fB10f";
  3432. case SpvImageFormatR16f: return "R16f";
  3433. case SpvImageFormatRgba16: return "Rgba16";
  3434. case SpvImageFormatRgb10A2: return "Rgb10A2";
  3435. case SpvImageFormatRg16: return "Rg16";
  3436. case SpvImageFormatRg8: return "Rg8";
  3437. case SpvImageFormatR16: return "R16";
  3438. case SpvImageFormatR8: return "R8";
  3439. case SpvImageFormatRgba16Snorm: return "Rgba16Snorm";
  3440. case SpvImageFormatRg16Snorm: return "Rg16Snorm";
  3441. case SpvImageFormatRg8Snorm: return "Rg8Snorm";
  3442. case SpvImageFormatR16Snorm: return "R16Snorm";
  3443. case SpvImageFormatR8Snorm: return "R8Snorm";
  3444. case SpvImageFormatRgba32i: return "Rgba32i";
  3445. case SpvImageFormatRgba16i: return "Rgba16i";
  3446. case SpvImageFormatRgba8i: return "Rgba8i";
  3447. case SpvImageFormatR32i: return "R32i";
  3448. case SpvImageFormatRg32i: return "Rg32i";
  3449. case SpvImageFormatRg16i: return "Rg16i";
  3450. case SpvImageFormatRg8i: return "Rg8i";
  3451. case SpvImageFormatR16i: return "R16i";
  3452. case SpvImageFormatR8i: return "R8i";
  3453. case SpvImageFormatRgba32ui: return "Rgba32ui";
  3454. case SpvImageFormatRgba16ui: return "Rgba16ui";
  3455. case SpvImageFormatRgba8ui: return "Rgba8ui";
  3456. case SpvImageFormatR32ui: return "R32ui";
  3457. case SpvImageFormatRgb10a2ui: return "Rgb10a2ui";
  3458. case SpvImageFormatRg32ui: return "Rg32ui";
  3459. case SpvImageFormatRg16ui: return "Rg16ui";
  3460. case SpvImageFormatRg8ui: return "Rg8ui";
  3461. case SpvImageFormatR16ui: return "R16ui";
  3462. case SpvImageFormatR8ui: return "R8ui";
  3463. case SpvImageFormatR64ui: return "R64ui";
  3464. case SpvImageFormatR64i: return "R64i";
  3465. default: return "Unknown";
  3466. }
  3467. }
  3468. inline const char* SpvImageChannelOrderToString(SpvImageChannelOrder value) {
  3469. switch (value) {
  3470. case SpvImageChannelOrderR: return "R";
  3471. case SpvImageChannelOrderA: return "A";
  3472. case SpvImageChannelOrderRG: return "RG";
  3473. case SpvImageChannelOrderRA: return "RA";
  3474. case SpvImageChannelOrderRGB: return "RGB";
  3475. case SpvImageChannelOrderRGBA: return "RGBA";
  3476. case SpvImageChannelOrderBGRA: return "BGRA";
  3477. case SpvImageChannelOrderARGB: return "ARGB";
  3478. case SpvImageChannelOrderIntensity: return "Intensity";
  3479. case SpvImageChannelOrderLuminance: return "Luminance";
  3480. case SpvImageChannelOrderRx: return "Rx";
  3481. case SpvImageChannelOrderRGx: return "RGx";
  3482. case SpvImageChannelOrderRGBx: return "RGBx";
  3483. case SpvImageChannelOrderDepth: return "Depth";
  3484. case SpvImageChannelOrderDepthStencil: return "DepthStencil";
  3485. case SpvImageChannelOrdersRGB: return "sRGB";
  3486. case SpvImageChannelOrdersRGBx: return "sRGBx";
  3487. case SpvImageChannelOrdersRGBA: return "sRGBA";
  3488. case SpvImageChannelOrdersBGRA: return "sBGRA";
  3489. case SpvImageChannelOrderABGR: return "ABGR";
  3490. default: return "Unknown";
  3491. }
  3492. }
  3493. inline const char* SpvImageChannelDataTypeToString(SpvImageChannelDataType value) {
  3494. switch (value) {
  3495. case SpvImageChannelDataTypeSnormInt8: return "SnormInt8";
  3496. case SpvImageChannelDataTypeSnormInt16: return "SnormInt16";
  3497. case SpvImageChannelDataTypeUnormInt8: return "UnormInt8";
  3498. case SpvImageChannelDataTypeUnormInt16: return "UnormInt16";
  3499. case SpvImageChannelDataTypeUnormShort565: return "UnormShort565";
  3500. case SpvImageChannelDataTypeUnormShort555: return "UnormShort555";
  3501. case SpvImageChannelDataTypeUnormInt101010: return "UnormInt101010";
  3502. case SpvImageChannelDataTypeSignedInt8: return "SignedInt8";
  3503. case SpvImageChannelDataTypeSignedInt16: return "SignedInt16";
  3504. case SpvImageChannelDataTypeSignedInt32: return "SignedInt32";
  3505. case SpvImageChannelDataTypeUnsignedInt8: return "UnsignedInt8";
  3506. case SpvImageChannelDataTypeUnsignedInt16: return "UnsignedInt16";
  3507. case SpvImageChannelDataTypeUnsignedInt32: return "UnsignedInt32";
  3508. case SpvImageChannelDataTypeHalfFloat: return "HalfFloat";
  3509. case SpvImageChannelDataTypeFloat: return "Float";
  3510. case SpvImageChannelDataTypeUnormInt24: return "UnormInt24";
  3511. case SpvImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2";
  3512. case SpvImageChannelDataTypeUnormInt10X6EXT: return "UnormInt10X6EXT";
  3513. case SpvImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT";
  3514. case SpvImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT";
  3515. case SpvImageChannelDataTypeUnormInt2_101010EXT: return "UnormInt2_101010EXT";
  3516. case SpvImageChannelDataTypeUnsignedInt10X6EXT: return "UnsignedInt10X6EXT";
  3517. case SpvImageChannelDataTypeUnsignedInt12X4EXT: return "UnsignedInt12X4EXT";
  3518. case SpvImageChannelDataTypeUnsignedInt14X2EXT: return "UnsignedInt14X2EXT";
  3519. case SpvImageChannelDataTypeUnormInt12X4EXT: return "UnormInt12X4EXT";
  3520. case SpvImageChannelDataTypeUnormInt14X2EXT: return "UnormInt14X2EXT";
  3521. default: return "Unknown";
  3522. }
  3523. }
  3524. inline const char* SpvFPRoundingModeToString(SpvFPRoundingMode value) {
  3525. switch (value) {
  3526. case SpvFPRoundingModeRTE: return "RTE";
  3527. case SpvFPRoundingModeRTZ: return "RTZ";
  3528. case SpvFPRoundingModeRTP: return "RTP";
  3529. case SpvFPRoundingModeRTN: return "RTN";
  3530. default: return "Unknown";
  3531. }
  3532. }
  3533. inline const char* SpvLinkageTypeToString(SpvLinkageType value) {
  3534. switch (value) {
  3535. case SpvLinkageTypeExport: return "Export";
  3536. case SpvLinkageTypeImport: return "Import";
  3537. case SpvLinkageTypeLinkOnceODR: return "LinkOnceODR";
  3538. default: return "Unknown";
  3539. }
  3540. }
  3541. inline const char* SpvAccessQualifierToString(SpvAccessQualifier value) {
  3542. switch (value) {
  3543. case SpvAccessQualifierReadOnly: return "ReadOnly";
  3544. case SpvAccessQualifierWriteOnly: return "WriteOnly";
  3545. case SpvAccessQualifierReadWrite: return "ReadWrite";
  3546. default: return "Unknown";
  3547. }
  3548. }
  3549. inline const char* SpvFunctionParameterAttributeToString(SpvFunctionParameterAttribute value) {
  3550. switch (value) {
  3551. case SpvFunctionParameterAttributeZext: return "Zext";
  3552. case SpvFunctionParameterAttributeSext: return "Sext";
  3553. case SpvFunctionParameterAttributeByVal: return "ByVal";
  3554. case SpvFunctionParameterAttributeSret: return "Sret";
  3555. case SpvFunctionParameterAttributeNoAlias: return "NoAlias";
  3556. case SpvFunctionParameterAttributeNoCapture: return "NoCapture";
  3557. case SpvFunctionParameterAttributeNoWrite: return "NoWrite";
  3558. case SpvFunctionParameterAttributeNoReadWrite: return "NoReadWrite";
  3559. case SpvFunctionParameterAttributeRuntimeAlignedINTEL: return "RuntimeAlignedINTEL";
  3560. default: return "Unknown";
  3561. }
  3562. }
  3563. inline const char* SpvDecorationToString(SpvDecoration value) {
  3564. switch (value) {
  3565. case SpvDecorationRelaxedPrecision: return "RelaxedPrecision";
  3566. case SpvDecorationSpecId: return "SpecId";
  3567. case SpvDecorationBlock: return "Block";
  3568. case SpvDecorationBufferBlock: return "BufferBlock";
  3569. case SpvDecorationRowMajor: return "RowMajor";
  3570. case SpvDecorationColMajor: return "ColMajor";
  3571. case SpvDecorationArrayStride: return "ArrayStride";
  3572. case SpvDecorationMatrixStride: return "MatrixStride";
  3573. case SpvDecorationGLSLShared: return "GLSLShared";
  3574. case SpvDecorationGLSLPacked: return "GLSLPacked";
  3575. case SpvDecorationCPacked: return "CPacked";
  3576. case SpvDecorationBuiltIn: return "BuiltIn";
  3577. case SpvDecorationNoPerspective: return "NoPerspective";
  3578. case SpvDecorationFlat: return "Flat";
  3579. case SpvDecorationPatch: return "Patch";
  3580. case SpvDecorationCentroid: return "Centroid";
  3581. case SpvDecorationSample: return "Sample";
  3582. case SpvDecorationInvariant: return "Invariant";
  3583. case SpvDecorationRestrict: return "Restrict";
  3584. case SpvDecorationAliased: return "Aliased";
  3585. case SpvDecorationVolatile: return "Volatile";
  3586. case SpvDecorationConstant: return "Constant";
  3587. case SpvDecorationCoherent: return "Coherent";
  3588. case SpvDecorationNonWritable: return "NonWritable";
  3589. case SpvDecorationNonReadable: return "NonReadable";
  3590. case SpvDecorationUniform: return "Uniform";
  3591. case SpvDecorationUniformId: return "UniformId";
  3592. case SpvDecorationSaturatedConversion: return "SaturatedConversion";
  3593. case SpvDecorationStream: return "Stream";
  3594. case SpvDecorationLocation: return "Location";
  3595. case SpvDecorationComponent: return "Component";
  3596. case SpvDecorationIndex: return "Index";
  3597. case SpvDecorationBinding: return "Binding";
  3598. case SpvDecorationDescriptorSet: return "DescriptorSet";
  3599. case SpvDecorationOffset: return "Offset";
  3600. case SpvDecorationXfbBuffer: return "XfbBuffer";
  3601. case SpvDecorationXfbStride: return "XfbStride";
  3602. case SpvDecorationFuncParamAttr: return "FuncParamAttr";
  3603. case SpvDecorationFPRoundingMode: return "FPRoundingMode";
  3604. case SpvDecorationFPFastMathMode: return "FPFastMathMode";
  3605. case SpvDecorationLinkageAttributes: return "LinkageAttributes";
  3606. case SpvDecorationNoContraction: return "NoContraction";
  3607. case SpvDecorationInputAttachmentIndex: return "InputAttachmentIndex";
  3608. case SpvDecorationAlignment: return "Alignment";
  3609. case SpvDecorationMaxByteOffset: return "MaxByteOffset";
  3610. case SpvDecorationAlignmentId: return "AlignmentId";
  3611. case SpvDecorationMaxByteOffsetId: return "MaxByteOffsetId";
  3612. case SpvDecorationSaturatedToLargestFloat8NormalConversionEXT: return "SaturatedToLargestFloat8NormalConversionEXT";
  3613. case SpvDecorationNoSignedWrap: return "NoSignedWrap";
  3614. case SpvDecorationNoUnsignedWrap: return "NoUnsignedWrap";
  3615. case SpvDecorationWeightTextureQCOM: return "WeightTextureQCOM";
  3616. case SpvDecorationBlockMatchTextureQCOM: return "BlockMatchTextureQCOM";
  3617. case SpvDecorationBlockMatchSamplerQCOM: return "BlockMatchSamplerQCOM";
  3618. case SpvDecorationExplicitInterpAMD: return "ExplicitInterpAMD";
  3619. case SpvDecorationNodeSharesPayloadLimitsWithAMDX: return "NodeSharesPayloadLimitsWithAMDX";
  3620. case SpvDecorationNodeMaxPayloadsAMDX: return "NodeMaxPayloadsAMDX";
  3621. case SpvDecorationTrackFinishWritingAMDX: return "TrackFinishWritingAMDX";
  3622. case SpvDecorationPayloadNodeNameAMDX: return "PayloadNodeNameAMDX";
  3623. case SpvDecorationPayloadNodeBaseIndexAMDX: return "PayloadNodeBaseIndexAMDX";
  3624. case SpvDecorationPayloadNodeSparseArrayAMDX: return "PayloadNodeSparseArrayAMDX";
  3625. case SpvDecorationPayloadNodeArraySizeAMDX: return "PayloadNodeArraySizeAMDX";
  3626. case SpvDecorationPayloadDispatchIndirectAMDX: return "PayloadDispatchIndirectAMDX";
  3627. case SpvDecorationOverrideCoverageNV: return "OverrideCoverageNV";
  3628. case SpvDecorationPassthroughNV: return "PassthroughNV";
  3629. case SpvDecorationViewportRelativeNV: return "ViewportRelativeNV";
  3630. case SpvDecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV";
  3631. case SpvDecorationPerPrimitiveEXT: return "PerPrimitiveEXT";
  3632. case SpvDecorationPerViewNV: return "PerViewNV";
  3633. case SpvDecorationPerTaskNV: return "PerTaskNV";
  3634. case SpvDecorationPerVertexKHR: return "PerVertexKHR";
  3635. case SpvDecorationNonUniform: return "NonUniform";
  3636. case SpvDecorationRestrictPointer: return "RestrictPointer";
  3637. case SpvDecorationAliasedPointer: return "AliasedPointer";
  3638. case SpvDecorationHitObjectShaderRecordBufferNV: return "HitObjectShaderRecordBufferNV";
  3639. case SpvDecorationBindlessSamplerNV: return "BindlessSamplerNV";
  3640. case SpvDecorationBindlessImageNV: return "BindlessImageNV";
  3641. case SpvDecorationBoundSamplerNV: return "BoundSamplerNV";
  3642. case SpvDecorationBoundImageNV: return "BoundImageNV";
  3643. case SpvDecorationSIMTCallINTEL: return "SIMTCallINTEL";
  3644. case SpvDecorationReferencedIndirectlyINTEL: return "ReferencedIndirectlyINTEL";
  3645. case SpvDecorationClobberINTEL: return "ClobberINTEL";
  3646. case SpvDecorationSideEffectsINTEL: return "SideEffectsINTEL";
  3647. case SpvDecorationVectorComputeVariableINTEL: return "VectorComputeVariableINTEL";
  3648. case SpvDecorationFuncParamIOKindINTEL: return "FuncParamIOKindINTEL";
  3649. case SpvDecorationVectorComputeFunctionINTEL: return "VectorComputeFunctionINTEL";
  3650. case SpvDecorationStackCallINTEL: return "StackCallINTEL";
  3651. case SpvDecorationGlobalVariableOffsetINTEL: return "GlobalVariableOffsetINTEL";
  3652. case SpvDecorationCounterBuffer: return "CounterBuffer";
  3653. case SpvDecorationHlslSemanticGOOGLE: return "HlslSemanticGOOGLE";
  3654. case SpvDecorationUserTypeGOOGLE: return "UserTypeGOOGLE";
  3655. case SpvDecorationFunctionRoundingModeINTEL: return "FunctionRoundingModeINTEL";
  3656. case SpvDecorationFunctionDenormModeINTEL: return "FunctionDenormModeINTEL";
  3657. case SpvDecorationRegisterINTEL: return "RegisterINTEL";
  3658. case SpvDecorationMemoryINTEL: return "MemoryINTEL";
  3659. case SpvDecorationNumbanksINTEL: return "NumbanksINTEL";
  3660. case SpvDecorationBankwidthINTEL: return "BankwidthINTEL";
  3661. case SpvDecorationMaxPrivateCopiesINTEL: return "MaxPrivateCopiesINTEL";
  3662. case SpvDecorationSinglepumpINTEL: return "SinglepumpINTEL";
  3663. case SpvDecorationDoublepumpINTEL: return "DoublepumpINTEL";
  3664. case SpvDecorationMaxReplicatesINTEL: return "MaxReplicatesINTEL";
  3665. case SpvDecorationSimpleDualPortINTEL: return "SimpleDualPortINTEL";
  3666. case SpvDecorationMergeINTEL: return "MergeINTEL";
  3667. case SpvDecorationBankBitsINTEL: return "BankBitsINTEL";
  3668. case SpvDecorationForcePow2DepthINTEL: return "ForcePow2DepthINTEL";
  3669. case SpvDecorationStridesizeINTEL: return "StridesizeINTEL";
  3670. case SpvDecorationWordsizeINTEL: return "WordsizeINTEL";
  3671. case SpvDecorationTrueDualPortINTEL: return "TrueDualPortINTEL";
  3672. case SpvDecorationBurstCoalesceINTEL: return "BurstCoalesceINTEL";
  3673. case SpvDecorationCacheSizeINTEL: return "CacheSizeINTEL";
  3674. case SpvDecorationDontStaticallyCoalesceINTEL: return "DontStaticallyCoalesceINTEL";
  3675. case SpvDecorationPrefetchINTEL: return "PrefetchINTEL";
  3676. case SpvDecorationStallEnableINTEL: return "StallEnableINTEL";
  3677. case SpvDecorationFuseLoopsInFunctionINTEL: return "FuseLoopsInFunctionINTEL";
  3678. case SpvDecorationMathOpDSPModeINTEL: return "MathOpDSPModeINTEL";
  3679. case SpvDecorationAliasScopeINTEL: return "AliasScopeINTEL";
  3680. case SpvDecorationNoAliasINTEL: return "NoAliasINTEL";
  3681. case SpvDecorationInitiationIntervalINTEL: return "InitiationIntervalINTEL";
  3682. case SpvDecorationMaxConcurrencyINTEL: return "MaxConcurrencyINTEL";
  3683. case SpvDecorationPipelineEnableINTEL: return "PipelineEnableINTEL";
  3684. case SpvDecorationBufferLocationINTEL: return "BufferLocationINTEL";
  3685. case SpvDecorationIOPipeStorageINTEL: return "IOPipeStorageINTEL";
  3686. case SpvDecorationFunctionFloatingPointModeINTEL: return "FunctionFloatingPointModeINTEL";
  3687. case SpvDecorationSingleElementVectorINTEL: return "SingleElementVectorINTEL";
  3688. case SpvDecorationVectorComputeCallableFunctionINTEL: return "VectorComputeCallableFunctionINTEL";
  3689. case SpvDecorationMediaBlockIOINTEL: return "MediaBlockIOINTEL";
  3690. case SpvDecorationStallFreeINTEL: return "StallFreeINTEL";
  3691. case SpvDecorationFPMaxErrorDecorationINTEL: return "FPMaxErrorDecorationINTEL";
  3692. case SpvDecorationLatencyControlLabelINTEL: return "LatencyControlLabelINTEL";
  3693. case SpvDecorationLatencyControlConstraintINTEL: return "LatencyControlConstraintINTEL";
  3694. case SpvDecorationConduitKernelArgumentINTEL: return "ConduitKernelArgumentINTEL";
  3695. case SpvDecorationRegisterMapKernelArgumentINTEL: return "RegisterMapKernelArgumentINTEL";
  3696. case SpvDecorationMMHostInterfaceAddressWidthINTEL: return "MMHostInterfaceAddressWidthINTEL";
  3697. case SpvDecorationMMHostInterfaceDataWidthINTEL: return "MMHostInterfaceDataWidthINTEL";
  3698. case SpvDecorationMMHostInterfaceLatencyINTEL: return "MMHostInterfaceLatencyINTEL";
  3699. case SpvDecorationMMHostInterfaceReadWriteModeINTEL: return "MMHostInterfaceReadWriteModeINTEL";
  3700. case SpvDecorationMMHostInterfaceMaxBurstINTEL: return "MMHostInterfaceMaxBurstINTEL";
  3701. case SpvDecorationMMHostInterfaceWaitRequestINTEL: return "MMHostInterfaceWaitRequestINTEL";
  3702. case SpvDecorationStableKernelArgumentINTEL: return "StableKernelArgumentINTEL";
  3703. case SpvDecorationHostAccessINTEL: return "HostAccessINTEL";
  3704. case SpvDecorationInitModeINTEL: return "InitModeINTEL";
  3705. case SpvDecorationImplementInRegisterMapINTEL: return "ImplementInRegisterMapINTEL";
  3706. case SpvDecorationConditionalINTEL: return "ConditionalINTEL";
  3707. case SpvDecorationCacheControlLoadINTEL: return "CacheControlLoadINTEL";
  3708. case SpvDecorationCacheControlStoreINTEL: return "CacheControlStoreINTEL";
  3709. default: return "Unknown";
  3710. }
  3711. }
  3712. inline const char* SpvBuiltInToString(SpvBuiltIn value) {
  3713. switch (value) {
  3714. case SpvBuiltInPosition: return "Position";
  3715. case SpvBuiltInPointSize: return "PointSize";
  3716. case SpvBuiltInClipDistance: return "ClipDistance";
  3717. case SpvBuiltInCullDistance: return "CullDistance";
  3718. case SpvBuiltInVertexId: return "VertexId";
  3719. case SpvBuiltInInstanceId: return "InstanceId";
  3720. case SpvBuiltInPrimitiveId: return "PrimitiveId";
  3721. case SpvBuiltInInvocationId: return "InvocationId";
  3722. case SpvBuiltInLayer: return "Layer";
  3723. case SpvBuiltInViewportIndex: return "ViewportIndex";
  3724. case SpvBuiltInTessLevelOuter: return "TessLevelOuter";
  3725. case SpvBuiltInTessLevelInner: return "TessLevelInner";
  3726. case SpvBuiltInTessCoord: return "TessCoord";
  3727. case SpvBuiltInPatchVertices: return "PatchVertices";
  3728. case SpvBuiltInFragCoord: return "FragCoord";
  3729. case SpvBuiltInPointCoord: return "PointCoord";
  3730. case SpvBuiltInFrontFacing: return "FrontFacing";
  3731. case SpvBuiltInSampleId: return "SampleId";
  3732. case SpvBuiltInSamplePosition: return "SamplePosition";
  3733. case SpvBuiltInSampleMask: return "SampleMask";
  3734. case SpvBuiltInFragDepth: return "FragDepth";
  3735. case SpvBuiltInHelperInvocation: return "HelperInvocation";
  3736. case SpvBuiltInNumWorkgroups: return "NumWorkgroups";
  3737. case SpvBuiltInWorkgroupSize: return "WorkgroupSize";
  3738. case SpvBuiltInWorkgroupId: return "WorkgroupId";
  3739. case SpvBuiltInLocalInvocationId: return "LocalInvocationId";
  3740. case SpvBuiltInGlobalInvocationId: return "GlobalInvocationId";
  3741. case SpvBuiltInLocalInvocationIndex: return "LocalInvocationIndex";
  3742. case SpvBuiltInWorkDim: return "WorkDim";
  3743. case SpvBuiltInGlobalSize: return "GlobalSize";
  3744. case SpvBuiltInEnqueuedWorkgroupSize: return "EnqueuedWorkgroupSize";
  3745. case SpvBuiltInGlobalOffset: return "GlobalOffset";
  3746. case SpvBuiltInGlobalLinearId: return "GlobalLinearId";
  3747. case SpvBuiltInSubgroupSize: return "SubgroupSize";
  3748. case SpvBuiltInSubgroupMaxSize: return "SubgroupMaxSize";
  3749. case SpvBuiltInNumSubgroups: return "NumSubgroups";
  3750. case SpvBuiltInNumEnqueuedSubgroups: return "NumEnqueuedSubgroups";
  3751. case SpvBuiltInSubgroupId: return "SubgroupId";
  3752. case SpvBuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
  3753. case SpvBuiltInVertexIndex: return "VertexIndex";
  3754. case SpvBuiltInInstanceIndex: return "InstanceIndex";
  3755. case SpvBuiltInCoreIDARM: return "CoreIDARM";
  3756. case SpvBuiltInCoreCountARM: return "CoreCountARM";
  3757. case SpvBuiltInCoreMaxIDARM: return "CoreMaxIDARM";
  3758. case SpvBuiltInWarpIDARM: return "WarpIDARM";
  3759. case SpvBuiltInWarpMaxIDARM: return "WarpMaxIDARM";
  3760. case SpvBuiltInSubgroupEqMask: return "SubgroupEqMask";
  3761. case SpvBuiltInSubgroupGeMask: return "SubgroupGeMask";
  3762. case SpvBuiltInSubgroupGtMask: return "SubgroupGtMask";
  3763. case SpvBuiltInSubgroupLeMask: return "SubgroupLeMask";
  3764. case SpvBuiltInSubgroupLtMask: return "SubgroupLtMask";
  3765. case SpvBuiltInBaseVertex: return "BaseVertex";
  3766. case SpvBuiltInBaseInstance: return "BaseInstance";
  3767. case SpvBuiltInDrawIndex: return "DrawIndex";
  3768. case SpvBuiltInPrimitiveShadingRateKHR: return "PrimitiveShadingRateKHR";
  3769. case SpvBuiltInDeviceIndex: return "DeviceIndex";
  3770. case SpvBuiltInViewIndex: return "ViewIndex";
  3771. case SpvBuiltInShadingRateKHR: return "ShadingRateKHR";
  3772. case SpvBuiltInTileOffsetQCOM: return "TileOffsetQCOM";
  3773. case SpvBuiltInTileDimensionQCOM: return "TileDimensionQCOM";
  3774. case SpvBuiltInTileApronSizeQCOM: return "TileApronSizeQCOM";
  3775. case SpvBuiltInBaryCoordNoPerspAMD: return "BaryCoordNoPerspAMD";
  3776. case SpvBuiltInBaryCoordNoPerspCentroidAMD: return "BaryCoordNoPerspCentroidAMD";
  3777. case SpvBuiltInBaryCoordNoPerspSampleAMD: return "BaryCoordNoPerspSampleAMD";
  3778. case SpvBuiltInBaryCoordSmoothAMD: return "BaryCoordSmoothAMD";
  3779. case SpvBuiltInBaryCoordSmoothCentroidAMD: return "BaryCoordSmoothCentroidAMD";
  3780. case SpvBuiltInBaryCoordSmoothSampleAMD: return "BaryCoordSmoothSampleAMD";
  3781. case SpvBuiltInBaryCoordPullModelAMD: return "BaryCoordPullModelAMD";
  3782. case SpvBuiltInFragStencilRefEXT: return "FragStencilRefEXT";
  3783. case SpvBuiltInRemainingRecursionLevelsAMDX: return "RemainingRecursionLevelsAMDX";
  3784. case SpvBuiltInShaderIndexAMDX: return "ShaderIndexAMDX";
  3785. case SpvBuiltInViewportMaskNV: return "ViewportMaskNV";
  3786. case SpvBuiltInSecondaryPositionNV: return "SecondaryPositionNV";
  3787. case SpvBuiltInSecondaryViewportMaskNV: return "SecondaryViewportMaskNV";
  3788. case SpvBuiltInPositionPerViewNV: return "PositionPerViewNV";
  3789. case SpvBuiltInViewportMaskPerViewNV: return "ViewportMaskPerViewNV";
  3790. case SpvBuiltInFullyCoveredEXT: return "FullyCoveredEXT";
  3791. case SpvBuiltInTaskCountNV: return "TaskCountNV";
  3792. case SpvBuiltInPrimitiveCountNV: return "PrimitiveCountNV";
  3793. case SpvBuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV";
  3794. case SpvBuiltInClipDistancePerViewNV: return "ClipDistancePerViewNV";
  3795. case SpvBuiltInCullDistancePerViewNV: return "CullDistancePerViewNV";
  3796. case SpvBuiltInLayerPerViewNV: return "LayerPerViewNV";
  3797. case SpvBuiltInMeshViewCountNV: return "MeshViewCountNV";
  3798. case SpvBuiltInMeshViewIndicesNV: return "MeshViewIndicesNV";
  3799. case SpvBuiltInBaryCoordKHR: return "BaryCoordKHR";
  3800. case SpvBuiltInBaryCoordNoPerspKHR: return "BaryCoordNoPerspKHR";
  3801. case SpvBuiltInFragSizeEXT: return "FragSizeEXT";
  3802. case SpvBuiltInFragInvocationCountEXT: return "FragInvocationCountEXT";
  3803. case SpvBuiltInPrimitivePointIndicesEXT: return "PrimitivePointIndicesEXT";
  3804. case SpvBuiltInPrimitiveLineIndicesEXT: return "PrimitiveLineIndicesEXT";
  3805. case SpvBuiltInPrimitiveTriangleIndicesEXT: return "PrimitiveTriangleIndicesEXT";
  3806. case SpvBuiltInCullPrimitiveEXT: return "CullPrimitiveEXT";
  3807. case SpvBuiltInLaunchIdKHR: return "LaunchIdKHR";
  3808. case SpvBuiltInLaunchSizeKHR: return "LaunchSizeKHR";
  3809. case SpvBuiltInWorldRayOriginKHR: return "WorldRayOriginKHR";
  3810. case SpvBuiltInWorldRayDirectionKHR: return "WorldRayDirectionKHR";
  3811. case SpvBuiltInObjectRayOriginKHR: return "ObjectRayOriginKHR";
  3812. case SpvBuiltInObjectRayDirectionKHR: return "ObjectRayDirectionKHR";
  3813. case SpvBuiltInRayTminKHR: return "RayTminKHR";
  3814. case SpvBuiltInRayTmaxKHR: return "RayTmaxKHR";
  3815. case SpvBuiltInInstanceCustomIndexKHR: return "InstanceCustomIndexKHR";
  3816. case SpvBuiltInObjectToWorldKHR: return "ObjectToWorldKHR";
  3817. case SpvBuiltInWorldToObjectKHR: return "WorldToObjectKHR";
  3818. case SpvBuiltInHitTNV: return "HitTNV";
  3819. case SpvBuiltInHitKindKHR: return "HitKindKHR";
  3820. case SpvBuiltInCurrentRayTimeNV: return "CurrentRayTimeNV";
  3821. case SpvBuiltInHitTriangleVertexPositionsKHR: return "HitTriangleVertexPositionsKHR";
  3822. case SpvBuiltInHitMicroTriangleVertexPositionsNV: return "HitMicroTriangleVertexPositionsNV";
  3823. case SpvBuiltInHitMicroTriangleVertexBarycentricsNV: return "HitMicroTriangleVertexBarycentricsNV";
  3824. case SpvBuiltInIncomingRayFlagsKHR: return "IncomingRayFlagsKHR";
  3825. case SpvBuiltInRayGeometryIndexKHR: return "RayGeometryIndexKHR";
  3826. case SpvBuiltInHitIsSphereNV: return "HitIsSphereNV";
  3827. case SpvBuiltInHitIsLSSNV: return "HitIsLSSNV";
  3828. case SpvBuiltInHitSpherePositionNV: return "HitSpherePositionNV";
  3829. case SpvBuiltInWarpsPerSMNV: return "WarpsPerSMNV";
  3830. case SpvBuiltInSMCountNV: return "SMCountNV";
  3831. case SpvBuiltInWarpIDNV: return "WarpIDNV";
  3832. case SpvBuiltInSMIDNV: return "SMIDNV";
  3833. case SpvBuiltInHitLSSPositionsNV: return "HitLSSPositionsNV";
  3834. case SpvBuiltInHitKindFrontFacingMicroTriangleNV: return "HitKindFrontFacingMicroTriangleNV";
  3835. case SpvBuiltInHitKindBackFacingMicroTriangleNV: return "HitKindBackFacingMicroTriangleNV";
  3836. case SpvBuiltInHitSphereRadiusNV: return "HitSphereRadiusNV";
  3837. case SpvBuiltInHitLSSRadiiNV: return "HitLSSRadiiNV";
  3838. case SpvBuiltInClusterIDNV: return "ClusterIDNV";
  3839. case SpvBuiltInCullMaskKHR: return "CullMaskKHR";
  3840. default: return "Unknown";
  3841. }
  3842. }
  3843. inline const char* SpvScopeToString(SpvScope value) {
  3844. switch (value) {
  3845. case SpvScopeCrossDevice: return "CrossDevice";
  3846. case SpvScopeDevice: return "Device";
  3847. case SpvScopeWorkgroup: return "Workgroup";
  3848. case SpvScopeSubgroup: return "Subgroup";
  3849. case SpvScopeInvocation: return "Invocation";
  3850. case SpvScopeQueueFamily: return "QueueFamily";
  3851. case SpvScopeShaderCallKHR: return "ShaderCallKHR";
  3852. default: return "Unknown";
  3853. }
  3854. }
  3855. inline const char* SpvGroupOperationToString(SpvGroupOperation value) {
  3856. switch (value) {
  3857. case SpvGroupOperationReduce: return "Reduce";
  3858. case SpvGroupOperationInclusiveScan: return "InclusiveScan";
  3859. case SpvGroupOperationExclusiveScan: return "ExclusiveScan";
  3860. case SpvGroupOperationClusteredReduce: return "ClusteredReduce";
  3861. case SpvGroupOperationPartitionedReduceNV: return "PartitionedReduceNV";
  3862. case SpvGroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV";
  3863. case SpvGroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV";
  3864. default: return "Unknown";
  3865. }
  3866. }
  3867. inline const char* SpvKernelEnqueueFlagsToString(SpvKernelEnqueueFlags value) {
  3868. switch (value) {
  3869. case SpvKernelEnqueueFlagsNoWait: return "NoWait";
  3870. case SpvKernelEnqueueFlagsWaitKernel: return "WaitKernel";
  3871. case SpvKernelEnqueueFlagsWaitWorkGroup: return "WaitWorkGroup";
  3872. default: return "Unknown";
  3873. }
  3874. }
  3875. inline const char* SpvCapabilityToString(SpvCapability value) {
  3876. switch (value) {
  3877. case SpvCapabilityMatrix: return "Matrix";
  3878. case SpvCapabilityShader: return "Shader";
  3879. case SpvCapabilityGeometry: return "Geometry";
  3880. case SpvCapabilityTessellation: return "Tessellation";
  3881. case SpvCapabilityAddresses: return "Addresses";
  3882. case SpvCapabilityLinkage: return "Linkage";
  3883. case SpvCapabilityKernel: return "Kernel";
  3884. case SpvCapabilityVector16: return "Vector16";
  3885. case SpvCapabilityFloat16Buffer: return "Float16Buffer";
  3886. case SpvCapabilityFloat16: return "Float16";
  3887. case SpvCapabilityFloat64: return "Float64";
  3888. case SpvCapabilityInt64: return "Int64";
  3889. case SpvCapabilityInt64Atomics: return "Int64Atomics";
  3890. case SpvCapabilityImageBasic: return "ImageBasic";
  3891. case SpvCapabilityImageReadWrite: return "ImageReadWrite";
  3892. case SpvCapabilityImageMipmap: return "ImageMipmap";
  3893. case SpvCapabilityPipes: return "Pipes";
  3894. case SpvCapabilityGroups: return "Groups";
  3895. case SpvCapabilityDeviceEnqueue: return "DeviceEnqueue";
  3896. case SpvCapabilityLiteralSampler: return "LiteralSampler";
  3897. case SpvCapabilityAtomicStorage: return "AtomicStorage";
  3898. case SpvCapabilityInt16: return "Int16";
  3899. case SpvCapabilityTessellationPointSize: return "TessellationPointSize";
  3900. case SpvCapabilityGeometryPointSize: return "GeometryPointSize";
  3901. case SpvCapabilityImageGatherExtended: return "ImageGatherExtended";
  3902. case SpvCapabilityStorageImageMultisample: return "StorageImageMultisample";
  3903. case SpvCapabilityUniformBufferArrayDynamicIndexing: return "UniformBufferArrayDynamicIndexing";
  3904. case SpvCapabilitySampledImageArrayDynamicIndexing: return "SampledImageArrayDynamicIndexing";
  3905. case SpvCapabilityStorageBufferArrayDynamicIndexing: return "StorageBufferArrayDynamicIndexing";
  3906. case SpvCapabilityStorageImageArrayDynamicIndexing: return "StorageImageArrayDynamicIndexing";
  3907. case SpvCapabilityClipDistance: return "ClipDistance";
  3908. case SpvCapabilityCullDistance: return "CullDistance";
  3909. case SpvCapabilityImageCubeArray: return "ImageCubeArray";
  3910. case SpvCapabilitySampleRateShading: return "SampleRateShading";
  3911. case SpvCapabilityImageRect: return "ImageRect";
  3912. case SpvCapabilitySampledRect: return "SampledRect";
  3913. case SpvCapabilityGenericPointer: return "GenericPointer";
  3914. case SpvCapabilityInt8: return "Int8";
  3915. case SpvCapabilityInputAttachment: return "InputAttachment";
  3916. case SpvCapabilitySparseResidency: return "SparseResidency";
  3917. case SpvCapabilityMinLod: return "MinLod";
  3918. case SpvCapabilitySampled1D: return "Sampled1D";
  3919. case SpvCapabilityImage1D: return "Image1D";
  3920. case SpvCapabilitySampledCubeArray: return "SampledCubeArray";
  3921. case SpvCapabilitySampledBuffer: return "SampledBuffer";
  3922. case SpvCapabilityImageBuffer: return "ImageBuffer";
  3923. case SpvCapabilityImageMSArray: return "ImageMSArray";
  3924. case SpvCapabilityStorageImageExtendedFormats: return "StorageImageExtendedFormats";
  3925. case SpvCapabilityImageQuery: return "ImageQuery";
  3926. case SpvCapabilityDerivativeControl: return "DerivativeControl";
  3927. case SpvCapabilityInterpolationFunction: return "InterpolationFunction";
  3928. case SpvCapabilityTransformFeedback: return "TransformFeedback";
  3929. case SpvCapabilityGeometryStreams: return "GeometryStreams";
  3930. case SpvCapabilityStorageImageReadWithoutFormat: return "StorageImageReadWithoutFormat";
  3931. case SpvCapabilityStorageImageWriteWithoutFormat: return "StorageImageWriteWithoutFormat";
  3932. case SpvCapabilityMultiViewport: return "MultiViewport";
  3933. case SpvCapabilitySubgroupDispatch: return "SubgroupDispatch";
  3934. case SpvCapabilityNamedBarrier: return "NamedBarrier";
  3935. case SpvCapabilityPipeStorage: return "PipeStorage";
  3936. case SpvCapabilityGroupNonUniform: return "GroupNonUniform";
  3937. case SpvCapabilityGroupNonUniformVote: return "GroupNonUniformVote";
  3938. case SpvCapabilityGroupNonUniformArithmetic: return "GroupNonUniformArithmetic";
  3939. case SpvCapabilityGroupNonUniformBallot: return "GroupNonUniformBallot";
  3940. case SpvCapabilityGroupNonUniformShuffle: return "GroupNonUniformShuffle";
  3941. case SpvCapabilityGroupNonUniformShuffleRelative: return "GroupNonUniformShuffleRelative";
  3942. case SpvCapabilityGroupNonUniformClustered: return "GroupNonUniformClustered";
  3943. case SpvCapabilityGroupNonUniformQuad: return "GroupNonUniformQuad";
  3944. case SpvCapabilityShaderLayer: return "ShaderLayer";
  3945. case SpvCapabilityShaderViewportIndex: return "ShaderViewportIndex";
  3946. case SpvCapabilityUniformDecoration: return "UniformDecoration";
  3947. case SpvCapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
  3948. case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
  3949. case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
  3950. case SpvCapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
  3951. case SpvCapabilityTensorsARM: return "TensorsARM";
  3952. case SpvCapabilityStorageTensorArrayDynamicIndexingARM: return "StorageTensorArrayDynamicIndexingARM";
  3953. case SpvCapabilityStorageTensorArrayNonUniformIndexingARM: return "StorageTensorArrayNonUniformIndexingARM";
  3954. case SpvCapabilityGraphARM: return "GraphARM";
  3955. case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
  3956. case SpvCapabilityFloat8EXT: return "Float8EXT";
  3957. case SpvCapabilityFloat8CooperativeMatrixEXT: return "Float8CooperativeMatrixEXT";
  3958. case SpvCapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
  3959. case SpvCapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
  3960. case SpvCapabilityDrawParameters: return "DrawParameters";
  3961. case SpvCapabilityWorkgroupMemoryExplicitLayoutKHR: return "WorkgroupMemoryExplicitLayoutKHR";
  3962. case SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "WorkgroupMemoryExplicitLayout8BitAccessKHR";
  3963. case SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "WorkgroupMemoryExplicitLayout16BitAccessKHR";
  3964. case SpvCapabilitySubgroupVoteKHR: return "SubgroupVoteKHR";
  3965. case SpvCapabilityStorageBuffer16BitAccess: return "StorageBuffer16BitAccess";
  3966. case SpvCapabilityStorageUniform16: return "StorageUniform16";
  3967. case SpvCapabilityStoragePushConstant16: return "StoragePushConstant16";
  3968. case SpvCapabilityStorageInputOutput16: return "StorageInputOutput16";
  3969. case SpvCapabilityDeviceGroup: return "DeviceGroup";
  3970. case SpvCapabilityMultiView: return "MultiView";
  3971. case SpvCapabilityVariablePointersStorageBuffer: return "VariablePointersStorageBuffer";
  3972. case SpvCapabilityVariablePointers: return "VariablePointers";
  3973. case SpvCapabilityAtomicStorageOps: return "AtomicStorageOps";
  3974. case SpvCapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage";
  3975. case SpvCapabilityStorageBuffer8BitAccess: return "StorageBuffer8BitAccess";
  3976. case SpvCapabilityUniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess";
  3977. case SpvCapabilityStoragePushConstant8: return "StoragePushConstant8";
  3978. case SpvCapabilityDenormPreserve: return "DenormPreserve";
  3979. case SpvCapabilityDenormFlushToZero: return "DenormFlushToZero";
  3980. case SpvCapabilitySignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
  3981. case SpvCapabilityRoundingModeRTE: return "RoundingModeRTE";
  3982. case SpvCapabilityRoundingModeRTZ: return "RoundingModeRTZ";
  3983. case SpvCapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
  3984. case SpvCapabilityRayQueryKHR: return "RayQueryKHR";
  3985. case SpvCapabilityUntypedPointersKHR: return "UntypedPointersKHR";
  3986. case SpvCapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
  3987. case SpvCapabilityRayTracingKHR: return "RayTracingKHR";
  3988. case SpvCapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
  3989. case SpvCapabilityTextureBoxFilterQCOM: return "TextureBoxFilterQCOM";
  3990. case SpvCapabilityTextureBlockMatchQCOM: return "TextureBlockMatchQCOM";
  3991. case SpvCapabilityTileShadingQCOM: return "TileShadingQCOM";
  3992. case SpvCapabilityCooperativeMatrixConversionQCOM: return "CooperativeMatrixConversionQCOM";
  3993. case SpvCapabilityTextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM";
  3994. case SpvCapabilityFloat16ImageAMD: return "Float16ImageAMD";
  3995. case SpvCapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD";
  3996. case SpvCapabilityFragmentMaskAMD: return "FragmentMaskAMD";
  3997. case SpvCapabilityStencilExportEXT: return "StencilExportEXT";
  3998. case SpvCapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD";
  3999. case SpvCapabilityInt64ImageEXT: return "Int64ImageEXT";
  4000. case SpvCapabilityShaderClockKHR: return "ShaderClockKHR";
  4001. case SpvCapabilityShaderEnqueueAMDX: return "ShaderEnqueueAMDX";
  4002. case SpvCapabilityQuadControlKHR: return "QuadControlKHR";
  4003. case SpvCapabilityInt4TypeINTEL: return "Int4TypeINTEL";
  4004. case SpvCapabilityInt4CooperativeMatrixINTEL: return "Int4CooperativeMatrixINTEL";
  4005. case SpvCapabilityBFloat16TypeKHR: return "BFloat16TypeKHR";
  4006. case SpvCapabilityBFloat16DotProductKHR: return "BFloat16DotProductKHR";
  4007. case SpvCapabilityBFloat16CooperativeMatrixKHR: return "BFloat16CooperativeMatrixKHR";
  4008. case SpvCapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
  4009. case SpvCapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
  4010. case SpvCapabilityShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT";
  4011. case SpvCapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV";
  4012. case SpvCapabilityShaderStereoViewNV: return "ShaderStereoViewNV";
  4013. case SpvCapabilityPerViewAttributesNV: return "PerViewAttributesNV";
  4014. case SpvCapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
  4015. case SpvCapabilityMeshShadingNV: return "MeshShadingNV";
  4016. case SpvCapabilityImageFootprintNV: return "ImageFootprintNV";
  4017. case SpvCapabilityMeshShadingEXT: return "MeshShadingEXT";
  4018. case SpvCapabilityFragmentBarycentricKHR: return "FragmentBarycentricKHR";
  4019. case SpvCapabilityComputeDerivativeGroupQuadsKHR: return "ComputeDerivativeGroupQuadsKHR";
  4020. case SpvCapabilityFragmentDensityEXT: return "FragmentDensityEXT";
  4021. case SpvCapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
  4022. case SpvCapabilityShaderNonUniform: return "ShaderNonUniform";
  4023. case SpvCapabilityRuntimeDescriptorArray: return "RuntimeDescriptorArray";
  4024. case SpvCapabilityInputAttachmentArrayDynamicIndexing: return "InputAttachmentArrayDynamicIndexing";
  4025. case SpvCapabilityUniformTexelBufferArrayDynamicIndexing: return "UniformTexelBufferArrayDynamicIndexing";
  4026. case SpvCapabilityStorageTexelBufferArrayDynamicIndexing: return "StorageTexelBufferArrayDynamicIndexing";
  4027. case SpvCapabilityUniformBufferArrayNonUniformIndexing: return "UniformBufferArrayNonUniformIndexing";
  4028. case SpvCapabilitySampledImageArrayNonUniformIndexing: return "SampledImageArrayNonUniformIndexing";
  4029. case SpvCapabilityStorageBufferArrayNonUniformIndexing: return "StorageBufferArrayNonUniformIndexing";
  4030. case SpvCapabilityStorageImageArrayNonUniformIndexing: return "StorageImageArrayNonUniformIndexing";
  4031. case SpvCapabilityInputAttachmentArrayNonUniformIndexing: return "InputAttachmentArrayNonUniformIndexing";
  4032. case SpvCapabilityUniformTexelBufferArrayNonUniformIndexing: return "UniformTexelBufferArrayNonUniformIndexing";
  4033. case SpvCapabilityStorageTexelBufferArrayNonUniformIndexing: return "StorageTexelBufferArrayNonUniformIndexing";
  4034. case SpvCapabilityRayTracingPositionFetchKHR: return "RayTracingPositionFetchKHR";
  4035. case SpvCapabilityRayTracingNV: return "RayTracingNV";
  4036. case SpvCapabilityRayTracingMotionBlurNV: return "RayTracingMotionBlurNV";
  4037. case SpvCapabilityVulkanMemoryModel: return "VulkanMemoryModel";
  4038. case SpvCapabilityVulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope";
  4039. case SpvCapabilityPhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses";
  4040. case SpvCapabilityComputeDerivativeGroupLinearKHR: return "ComputeDerivativeGroupLinearKHR";
  4041. case SpvCapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
  4042. case SpvCapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
  4043. case SpvCapabilityFragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT";
  4044. case SpvCapabilityFragmentShaderShadingRateInterlockEXT: return "FragmentShaderShadingRateInterlockEXT";
  4045. case SpvCapabilityShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV";
  4046. case SpvCapabilityFragmentShaderPixelInterlockEXT: return "FragmentShaderPixelInterlockEXT";
  4047. case SpvCapabilityDemoteToHelperInvocation: return "DemoteToHelperInvocation";
  4048. case SpvCapabilityDisplacementMicromapNV: return "DisplacementMicromapNV";
  4049. case SpvCapabilityRayTracingOpacityMicromapEXT: return "RayTracingOpacityMicromapEXT";
  4050. case SpvCapabilityShaderInvocationReorderNV: return "ShaderInvocationReorderNV";
  4051. case SpvCapabilityBindlessTextureNV: return "BindlessTextureNV";
  4052. case SpvCapabilityRayQueryPositionFetchKHR: return "RayQueryPositionFetchKHR";
  4053. case SpvCapabilityCooperativeVectorNV: return "CooperativeVectorNV";
  4054. case SpvCapabilityAtomicFloat16VectorNV: return "AtomicFloat16VectorNV";
  4055. case SpvCapabilityRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV";
  4056. case SpvCapabilityRawAccessChainsNV: return "RawAccessChainsNV";
  4057. case SpvCapabilityRayTracingSpheresGeometryNV: return "RayTracingSpheresGeometryNV";
  4058. case SpvCapabilityRayTracingLinearSweptSpheresGeometryNV: return "RayTracingLinearSweptSpheresGeometryNV";
  4059. case SpvCapabilityCooperativeMatrixReductionsNV: return "CooperativeMatrixReductionsNV";
  4060. case SpvCapabilityCooperativeMatrixConversionsNV: return "CooperativeMatrixConversionsNV";
  4061. case SpvCapabilityCooperativeMatrixPerElementOperationsNV: return "CooperativeMatrixPerElementOperationsNV";
  4062. case SpvCapabilityCooperativeMatrixTensorAddressingNV: return "CooperativeMatrixTensorAddressingNV";
  4063. case SpvCapabilityCooperativeMatrixBlockLoadsNV: return "CooperativeMatrixBlockLoadsNV";
  4064. case SpvCapabilityCooperativeVectorTrainingNV: return "CooperativeVectorTrainingNV";
  4065. case SpvCapabilityRayTracingClusterAccelerationStructureNV: return "RayTracingClusterAccelerationStructureNV";
  4066. case SpvCapabilityTensorAddressingNV: return "TensorAddressingNV";
  4067. case SpvCapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
  4068. case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
  4069. case SpvCapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
  4070. case SpvCapabilitySubgroupImageMediaBlockIOINTEL: return "SubgroupImageMediaBlockIOINTEL";
  4071. case SpvCapabilityRoundToInfinityINTEL: return "RoundToInfinityINTEL";
  4072. case SpvCapabilityFloatingPointModeINTEL: return "FloatingPointModeINTEL";
  4073. case SpvCapabilityIntegerFunctions2INTEL: return "IntegerFunctions2INTEL";
  4074. case SpvCapabilityFunctionPointersINTEL: return "FunctionPointersINTEL";
  4075. case SpvCapabilityIndirectReferencesINTEL: return "IndirectReferencesINTEL";
  4076. case SpvCapabilityAsmINTEL: return "AsmINTEL";
  4077. case SpvCapabilityAtomicFloat32MinMaxEXT: return "AtomicFloat32MinMaxEXT";
  4078. case SpvCapabilityAtomicFloat64MinMaxEXT: return "AtomicFloat64MinMaxEXT";
  4079. case SpvCapabilityAtomicFloat16MinMaxEXT: return "AtomicFloat16MinMaxEXT";
  4080. case SpvCapabilityVectorComputeINTEL: return "VectorComputeINTEL";
  4081. case SpvCapabilityVectorAnyINTEL: return "VectorAnyINTEL";
  4082. case SpvCapabilityExpectAssumeKHR: return "ExpectAssumeKHR";
  4083. case SpvCapabilitySubgroupAvcMotionEstimationINTEL: return "SubgroupAvcMotionEstimationINTEL";
  4084. case SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SubgroupAvcMotionEstimationIntraINTEL";
  4085. case SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SubgroupAvcMotionEstimationChromaINTEL";
  4086. case SpvCapabilityVariableLengthArrayINTEL: return "VariableLengthArrayINTEL";
  4087. case SpvCapabilityFunctionFloatControlINTEL: return "FunctionFloatControlINTEL";
  4088. case SpvCapabilityFPGAMemoryAttributesINTEL: return "FPGAMemoryAttributesINTEL";
  4089. case SpvCapabilityFPFastMathModeINTEL: return "FPFastMathModeINTEL";
  4090. case SpvCapabilityArbitraryPrecisionIntegersINTEL: return "ArbitraryPrecisionIntegersINTEL";
  4091. case SpvCapabilityArbitraryPrecisionFloatingPointINTEL: return "ArbitraryPrecisionFloatingPointINTEL";
  4092. case SpvCapabilityUnstructuredLoopControlsINTEL: return "UnstructuredLoopControlsINTEL";
  4093. case SpvCapabilityFPGALoopControlsINTEL: return "FPGALoopControlsINTEL";
  4094. case SpvCapabilityKernelAttributesINTEL: return "KernelAttributesINTEL";
  4095. case SpvCapabilityFPGAKernelAttributesINTEL: return "FPGAKernelAttributesINTEL";
  4096. case SpvCapabilityFPGAMemoryAccessesINTEL: return "FPGAMemoryAccessesINTEL";
  4097. case SpvCapabilityFPGAClusterAttributesINTEL: return "FPGAClusterAttributesINTEL";
  4098. case SpvCapabilityLoopFuseINTEL: return "LoopFuseINTEL";
  4099. case SpvCapabilityFPGADSPControlINTEL: return "FPGADSPControlINTEL";
  4100. case SpvCapabilityMemoryAccessAliasingINTEL: return "MemoryAccessAliasingINTEL";
  4101. case SpvCapabilityFPGAInvocationPipeliningAttributesINTEL: return "FPGAInvocationPipeliningAttributesINTEL";
  4102. case SpvCapabilityFPGABufferLocationINTEL: return "FPGABufferLocationINTEL";
  4103. case SpvCapabilityArbitraryPrecisionFixedPointINTEL: return "ArbitraryPrecisionFixedPointINTEL";
  4104. case SpvCapabilityUSMStorageClassesINTEL: return "USMStorageClassesINTEL";
  4105. case SpvCapabilityRuntimeAlignedAttributeINTEL: return "RuntimeAlignedAttributeINTEL";
  4106. case SpvCapabilityIOPipesINTEL: return "IOPipesINTEL";
  4107. case SpvCapabilityBlockingPipesINTEL: return "BlockingPipesINTEL";
  4108. case SpvCapabilityFPGARegINTEL: return "FPGARegINTEL";
  4109. case SpvCapabilityDotProductInputAll: return "DotProductInputAll";
  4110. case SpvCapabilityDotProductInput4x8Bit: return "DotProductInput4x8Bit";
  4111. case SpvCapabilityDotProductInput4x8BitPacked: return "DotProductInput4x8BitPacked";
  4112. case SpvCapabilityDotProduct: return "DotProduct";
  4113. case SpvCapabilityRayCullMaskKHR: return "RayCullMaskKHR";
  4114. case SpvCapabilityCooperativeMatrixKHR: return "CooperativeMatrixKHR";
  4115. case SpvCapabilityReplicatedCompositesEXT: return "ReplicatedCompositesEXT";
  4116. case SpvCapabilityBitInstructions: return "BitInstructions";
  4117. case SpvCapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR";
  4118. case SpvCapabilityFloatControls2: return "FloatControls2";
  4119. case SpvCapabilityFMAKHR: return "FMAKHR";
  4120. case SpvCapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
  4121. case SpvCapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
  4122. case SpvCapabilityLongCompositesINTEL: return "LongCompositesINTEL";
  4123. case SpvCapabilityOptNoneEXT: return "OptNoneEXT";
  4124. case SpvCapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
  4125. case SpvCapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL";
  4126. case SpvCapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL";
  4127. case SpvCapabilitySplitBarrierINTEL: return "SplitBarrierINTEL";
  4128. case SpvCapabilityArithmeticFenceEXT: return "ArithmeticFenceEXT";
  4129. case SpvCapabilityFPGAClusterAttributesV2INTEL: return "FPGAClusterAttributesV2INTEL";
  4130. case SpvCapabilityFPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL";
  4131. case SpvCapabilityTaskSequenceINTEL: return "TaskSequenceINTEL";
  4132. case SpvCapabilityFPMaxErrorINTEL: return "FPMaxErrorINTEL";
  4133. case SpvCapabilityFPGALatencyControlINTEL: return "FPGALatencyControlINTEL";
  4134. case SpvCapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL";
  4135. case SpvCapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL";
  4136. case SpvCapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL";
  4137. case SpvCapabilitySubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL";
  4138. case SpvCapabilitySubgroup2DBlockIOINTEL: return "Subgroup2DBlockIOINTEL";
  4139. case SpvCapabilitySubgroup2DBlockTransformINTEL: return "Subgroup2DBlockTransformINTEL";
  4140. case SpvCapabilitySubgroup2DBlockTransposeINTEL: return "Subgroup2DBlockTransposeINTEL";
  4141. case SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL: return "SubgroupMatrixMultiplyAccumulateINTEL";
  4142. case SpvCapabilityTernaryBitwiseFunctionINTEL: return "TernaryBitwiseFunctionINTEL";
  4143. case SpvCapabilityUntypedVariableLengthArrayINTEL: return "UntypedVariableLengthArrayINTEL";
  4144. case SpvCapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
  4145. case SpvCapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
  4146. case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
  4147. case SpvCapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
  4148. case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
  4149. case SpvCapabilityCacheControlsINTEL: return "CacheControlsINTEL";
  4150. case SpvCapabilityRegisterLimitsINTEL: return "RegisterLimitsINTEL";
  4151. case SpvCapabilityBindlessImagesINTEL: return "BindlessImagesINTEL";
  4152. default: return "Unknown";
  4153. }
  4154. }
  4155. inline const char* SpvRayQueryIntersectionToString(SpvRayQueryIntersection value) {
  4156. switch (value) {
  4157. case SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR: return "RayQueryCandidateIntersectionKHR";
  4158. case SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR: return "RayQueryCommittedIntersectionKHR";
  4159. default: return "Unknown";
  4160. }
  4161. }
  4162. inline const char* SpvRayQueryCommittedIntersectionTypeToString(SpvRayQueryCommittedIntersectionType value) {
  4163. switch (value) {
  4164. case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR: return "RayQueryCommittedIntersectionNoneKHR";
  4165. case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR: return "RayQueryCommittedIntersectionTriangleKHR";
  4166. case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR: return "RayQueryCommittedIntersectionGeneratedKHR";
  4167. default: return "Unknown";
  4168. }
  4169. }
  4170. inline const char* SpvRayQueryCandidateIntersectionTypeToString(SpvRayQueryCandidateIntersectionType value) {
  4171. switch (value) {
  4172. case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR: return "RayQueryCandidateIntersectionTriangleKHR";
  4173. case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR: return "RayQueryCandidateIntersectionAABBKHR";
  4174. default: return "Unknown";
  4175. }
  4176. }
  4177. inline const char* SpvFPDenormModeToString(SpvFPDenormMode value) {
  4178. switch (value) {
  4179. case SpvFPDenormModePreserve: return "Preserve";
  4180. case SpvFPDenormModeFlushToZero: return "FlushToZero";
  4181. default: return "Unknown";
  4182. }
  4183. }
  4184. inline const char* SpvFPOperationModeToString(SpvFPOperationMode value) {
  4185. switch (value) {
  4186. case SpvFPOperationModeIEEE: return "IEEE";
  4187. case SpvFPOperationModeALT: return "ALT";
  4188. default: return "Unknown";
  4189. }
  4190. }
  4191. inline const char* SpvQuantizationModesToString(SpvQuantizationModes value) {
  4192. switch (value) {
  4193. case SpvQuantizationModesTRN: return "TRN";
  4194. case SpvQuantizationModesTRN_ZERO: return "TRN_ZERO";
  4195. case SpvQuantizationModesRND: return "RND";
  4196. case SpvQuantizationModesRND_ZERO: return "RND_ZERO";
  4197. case SpvQuantizationModesRND_INF: return "RND_INF";
  4198. case SpvQuantizationModesRND_MIN_INF: return "RND_MIN_INF";
  4199. case SpvQuantizationModesRND_CONV: return "RND_CONV";
  4200. case SpvQuantizationModesRND_CONV_ODD: return "RND_CONV_ODD";
  4201. default: return "Unknown";
  4202. }
  4203. }
  4204. inline const char* SpvOverflowModesToString(SpvOverflowModes value) {
  4205. switch (value) {
  4206. case SpvOverflowModesWRAP: return "WRAP";
  4207. case SpvOverflowModesSAT: return "SAT";
  4208. case SpvOverflowModesSAT_ZERO: return "SAT_ZERO";
  4209. case SpvOverflowModesSAT_SYM: return "SAT_SYM";
  4210. default: return "Unknown";
  4211. }
  4212. }
  4213. inline const char* SpvPackedVectorFormatToString(SpvPackedVectorFormat value) {
  4214. switch (value) {
  4215. case SpvPackedVectorFormatPackedVectorFormat4x8Bit: return "PackedVectorFormat4x8Bit";
  4216. default: return "Unknown";
  4217. }
  4218. }
  4219. inline const char* SpvCooperativeMatrixLayoutToString(SpvCooperativeMatrixLayout value) {
  4220. switch (value) {
  4221. case SpvCooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
  4222. case SpvCooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
  4223. case SpvCooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
  4224. case SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
  4225. default: return "Unknown";
  4226. }
  4227. }
  4228. inline const char* SpvCooperativeMatrixUseToString(SpvCooperativeMatrixUse value) {
  4229. switch (value) {
  4230. case SpvCooperativeMatrixUseMatrixAKHR: return "MatrixAKHR";
  4231. case SpvCooperativeMatrixUseMatrixBKHR: return "MatrixBKHR";
  4232. case SpvCooperativeMatrixUseMatrixAccumulatorKHR: return "MatrixAccumulatorKHR";
  4233. default: return "Unknown";
  4234. }
  4235. }
  4236. inline const char* SpvTensorClampModeToString(SpvTensorClampMode value) {
  4237. switch (value) {
  4238. case SpvTensorClampModeUndefined: return "Undefined";
  4239. case SpvTensorClampModeConstant: return "Constant";
  4240. case SpvTensorClampModeClampToEdge: return "ClampToEdge";
  4241. case SpvTensorClampModeRepeat: return "Repeat";
  4242. case SpvTensorClampModeRepeatMirrored: return "RepeatMirrored";
  4243. default: return "Unknown";
  4244. }
  4245. }
  4246. inline const char* SpvInitializationModeQualifierToString(SpvInitializationModeQualifier value) {
  4247. switch (value) {
  4248. case SpvInitializationModeQualifierInitOnDeviceReprogramINTEL: return "InitOnDeviceReprogramINTEL";
  4249. case SpvInitializationModeQualifierInitOnDeviceResetINTEL: return "InitOnDeviceResetINTEL";
  4250. default: return "Unknown";
  4251. }
  4252. }
  4253. inline const char* SpvHostAccessQualifierToString(SpvHostAccessQualifier value) {
  4254. switch (value) {
  4255. case SpvHostAccessQualifierNoneINTEL: return "NoneINTEL";
  4256. case SpvHostAccessQualifierReadINTEL: return "ReadINTEL";
  4257. case SpvHostAccessQualifierWriteINTEL: return "WriteINTEL";
  4258. case SpvHostAccessQualifierReadWriteINTEL: return "ReadWriteINTEL";
  4259. default: return "Unknown";
  4260. }
  4261. }
  4262. inline const char* SpvLoadCacheControlToString(SpvLoadCacheControl value) {
  4263. switch (value) {
  4264. case SpvLoadCacheControlUncachedINTEL: return "UncachedINTEL";
  4265. case SpvLoadCacheControlCachedINTEL: return "CachedINTEL";
  4266. case SpvLoadCacheControlStreamingINTEL: return "StreamingINTEL";
  4267. case SpvLoadCacheControlInvalidateAfterReadINTEL: return "InvalidateAfterReadINTEL";
  4268. case SpvLoadCacheControlConstCachedINTEL: return "ConstCachedINTEL";
  4269. default: return "Unknown";
  4270. }
  4271. }
  4272. inline const char* SpvStoreCacheControlToString(SpvStoreCacheControl value) {
  4273. switch (value) {
  4274. case SpvStoreCacheControlUncachedINTEL: return "UncachedINTEL";
  4275. case SpvStoreCacheControlWriteThroughINTEL: return "WriteThroughINTEL";
  4276. case SpvStoreCacheControlWriteBackINTEL: return "WriteBackINTEL";
  4277. case SpvStoreCacheControlStreamingINTEL: return "StreamingINTEL";
  4278. default: return "Unknown";
  4279. }
  4280. }
  4281. inline const char* SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumberOfRegisters value) {
  4282. switch (value) {
  4283. case SpvNamedMaximumNumberOfRegistersAutoINTEL: return "AutoINTEL";
  4284. default: return "Unknown";
  4285. }
  4286. }
  4287. inline const char* SpvFPEncodingToString(SpvFPEncoding value) {
  4288. switch (value) {
  4289. case SpvFPEncodingBFloat16KHR: return "BFloat16KHR";
  4290. case SpvFPEncodingFloat8E4M3EXT: return "Float8E4M3EXT";
  4291. case SpvFPEncodingFloat8E5M2EXT: return "Float8E5M2EXT";
  4292. default: return "Unknown";
  4293. }
  4294. }
  4295. inline const char* SpvCooperativeVectorMatrixLayoutToString(SpvCooperativeVectorMatrixLayout value) {
  4296. switch (value) {
  4297. case SpvCooperativeVectorMatrixLayoutRowMajorNV: return "RowMajorNV";
  4298. case SpvCooperativeVectorMatrixLayoutColumnMajorNV: return "ColumnMajorNV";
  4299. case SpvCooperativeVectorMatrixLayoutInferencingOptimalNV: return "InferencingOptimalNV";
  4300. case SpvCooperativeVectorMatrixLayoutTrainingOptimalNV: return "TrainingOptimalNV";
  4301. default: return "Unknown";
  4302. }
  4303. }
  4304. inline const char* SpvComponentTypeToString(SpvComponentType value) {
  4305. switch (value) {
  4306. case SpvComponentTypeFloat16NV: return "Float16NV";
  4307. case SpvComponentTypeFloat32NV: return "Float32NV";
  4308. case SpvComponentTypeFloat64NV: return "Float64NV";
  4309. case SpvComponentTypeSignedInt8NV: return "SignedInt8NV";
  4310. case SpvComponentTypeSignedInt16NV: return "SignedInt16NV";
  4311. case SpvComponentTypeSignedInt32NV: return "SignedInt32NV";
  4312. case SpvComponentTypeSignedInt64NV: return "SignedInt64NV";
  4313. case SpvComponentTypeUnsignedInt8NV: return "UnsignedInt8NV";
  4314. case SpvComponentTypeUnsignedInt16NV: return "UnsignedInt16NV";
  4315. case SpvComponentTypeUnsignedInt32NV: return "UnsignedInt32NV";
  4316. case SpvComponentTypeUnsignedInt64NV: return "UnsignedInt64NV";
  4317. case SpvComponentTypeSignedInt8PackedNV: return "SignedInt8PackedNV";
  4318. case SpvComponentTypeUnsignedInt8PackedNV: return "UnsignedInt8PackedNV";
  4319. case SpvComponentTypeFloatE4M3NV: return "FloatE4M3NV";
  4320. case SpvComponentTypeFloatE5M2NV: return "FloatE5M2NV";
  4321. default: return "Unknown";
  4322. }
  4323. }
  4324. inline const char* SpvOpToString(SpvOp value) {
  4325. switch (value) {
  4326. case SpvOpNop: return "OpNop";
  4327. case SpvOpUndef: return "OpUndef";
  4328. case SpvOpSourceContinued: return "OpSourceContinued";
  4329. case SpvOpSource: return "OpSource";
  4330. case SpvOpSourceExtension: return "OpSourceExtension";
  4331. case SpvOpName: return "OpName";
  4332. case SpvOpMemberName: return "OpMemberName";
  4333. case SpvOpString: return "OpString";
  4334. case SpvOpLine: return "OpLine";
  4335. case SpvOpExtension: return "OpExtension";
  4336. case SpvOpExtInstImport: return "OpExtInstImport";
  4337. case SpvOpExtInst: return "OpExtInst";
  4338. case SpvOpMemoryModel: return "OpMemoryModel";
  4339. case SpvOpEntryPoint: return "OpEntryPoint";
  4340. case SpvOpExecutionMode: return "OpExecutionMode";
  4341. case SpvOpCapability: return "OpCapability";
  4342. case SpvOpTypeVoid: return "OpTypeVoid";
  4343. case SpvOpTypeBool: return "OpTypeBool";
  4344. case SpvOpTypeInt: return "OpTypeInt";
  4345. case SpvOpTypeFloat: return "OpTypeFloat";
  4346. case SpvOpTypeVector: return "OpTypeVector";
  4347. case SpvOpTypeMatrix: return "OpTypeMatrix";
  4348. case SpvOpTypeImage: return "OpTypeImage";
  4349. case SpvOpTypeSampler: return "OpTypeSampler";
  4350. case SpvOpTypeSampledImage: return "OpTypeSampledImage";
  4351. case SpvOpTypeArray: return "OpTypeArray";
  4352. case SpvOpTypeRuntimeArray: return "OpTypeRuntimeArray";
  4353. case SpvOpTypeStruct: return "OpTypeStruct";
  4354. case SpvOpTypeOpaque: return "OpTypeOpaque";
  4355. case SpvOpTypePointer: return "OpTypePointer";
  4356. case SpvOpTypeFunction: return "OpTypeFunction";
  4357. case SpvOpTypeEvent: return "OpTypeEvent";
  4358. case SpvOpTypeDeviceEvent: return "OpTypeDeviceEvent";
  4359. case SpvOpTypeReserveId: return "OpTypeReserveId";
  4360. case SpvOpTypeQueue: return "OpTypeQueue";
  4361. case SpvOpTypePipe: return "OpTypePipe";
  4362. case SpvOpTypeForwardPointer: return "OpTypeForwardPointer";
  4363. case SpvOpConstantTrue: return "OpConstantTrue";
  4364. case SpvOpConstantFalse: return "OpConstantFalse";
  4365. case SpvOpConstant: return "OpConstant";
  4366. case SpvOpConstantComposite: return "OpConstantComposite";
  4367. case SpvOpConstantSampler: return "OpConstantSampler";
  4368. case SpvOpConstantNull: return "OpConstantNull";
  4369. case SpvOpSpecConstantTrue: return "OpSpecConstantTrue";
  4370. case SpvOpSpecConstantFalse: return "OpSpecConstantFalse";
  4371. case SpvOpSpecConstant: return "OpSpecConstant";
  4372. case SpvOpSpecConstantComposite: return "OpSpecConstantComposite";
  4373. case SpvOpSpecConstantOp: return "OpSpecConstantOp";
  4374. case SpvOpFunction: return "OpFunction";
  4375. case SpvOpFunctionParameter: return "OpFunctionParameter";
  4376. case SpvOpFunctionEnd: return "OpFunctionEnd";
  4377. case SpvOpFunctionCall: return "OpFunctionCall";
  4378. case SpvOpVariable: return "OpVariable";
  4379. case SpvOpImageTexelPointer: return "OpImageTexelPointer";
  4380. case SpvOpLoad: return "OpLoad";
  4381. case SpvOpStore: return "OpStore";
  4382. case SpvOpCopyMemory: return "OpCopyMemory";
  4383. case SpvOpCopyMemorySized: return "OpCopyMemorySized";
  4384. case SpvOpAccessChain: return "OpAccessChain";
  4385. case SpvOpInBoundsAccessChain: return "OpInBoundsAccessChain";
  4386. case SpvOpPtrAccessChain: return "OpPtrAccessChain";
  4387. case SpvOpArrayLength: return "OpArrayLength";
  4388. case SpvOpGenericPtrMemSemantics: return "OpGenericPtrMemSemantics";
  4389. case SpvOpInBoundsPtrAccessChain: return "OpInBoundsPtrAccessChain";
  4390. case SpvOpDecorate: return "OpDecorate";
  4391. case SpvOpMemberDecorate: return "OpMemberDecorate";
  4392. case SpvOpDecorationGroup: return "OpDecorationGroup";
  4393. case SpvOpGroupDecorate: return "OpGroupDecorate";
  4394. case SpvOpGroupMemberDecorate: return "OpGroupMemberDecorate";
  4395. case SpvOpVectorExtractDynamic: return "OpVectorExtractDynamic";
  4396. case SpvOpVectorInsertDynamic: return "OpVectorInsertDynamic";
  4397. case SpvOpVectorShuffle: return "OpVectorShuffle";
  4398. case SpvOpCompositeConstruct: return "OpCompositeConstruct";
  4399. case SpvOpCompositeExtract: return "OpCompositeExtract";
  4400. case SpvOpCompositeInsert: return "OpCompositeInsert";
  4401. case SpvOpCopyObject: return "OpCopyObject";
  4402. case SpvOpTranspose: return "OpTranspose";
  4403. case SpvOpSampledImage: return "OpSampledImage";
  4404. case SpvOpImageSampleImplicitLod: return "OpImageSampleImplicitLod";
  4405. case SpvOpImageSampleExplicitLod: return "OpImageSampleExplicitLod";
  4406. case SpvOpImageSampleDrefImplicitLod: return "OpImageSampleDrefImplicitLod";
  4407. case SpvOpImageSampleDrefExplicitLod: return "OpImageSampleDrefExplicitLod";
  4408. case SpvOpImageSampleProjImplicitLod: return "OpImageSampleProjImplicitLod";
  4409. case SpvOpImageSampleProjExplicitLod: return "OpImageSampleProjExplicitLod";
  4410. case SpvOpImageSampleProjDrefImplicitLod: return "OpImageSampleProjDrefImplicitLod";
  4411. case SpvOpImageSampleProjDrefExplicitLod: return "OpImageSampleProjDrefExplicitLod";
  4412. case SpvOpImageFetch: return "OpImageFetch";
  4413. case SpvOpImageGather: return "OpImageGather";
  4414. case SpvOpImageDrefGather: return "OpImageDrefGather";
  4415. case SpvOpImageRead: return "OpImageRead";
  4416. case SpvOpImageWrite: return "OpImageWrite";
  4417. case SpvOpImage: return "OpImage";
  4418. case SpvOpImageQueryFormat: return "OpImageQueryFormat";
  4419. case SpvOpImageQueryOrder: return "OpImageQueryOrder";
  4420. case SpvOpImageQuerySizeLod: return "OpImageQuerySizeLod";
  4421. case SpvOpImageQuerySize: return "OpImageQuerySize";
  4422. case SpvOpImageQueryLod: return "OpImageQueryLod";
  4423. case SpvOpImageQueryLevels: return "OpImageQueryLevels";
  4424. case SpvOpImageQuerySamples: return "OpImageQuerySamples";
  4425. case SpvOpConvertFToU: return "OpConvertFToU";
  4426. case SpvOpConvertFToS: return "OpConvertFToS";
  4427. case SpvOpConvertSToF: return "OpConvertSToF";
  4428. case SpvOpConvertUToF: return "OpConvertUToF";
  4429. case SpvOpUConvert: return "OpUConvert";
  4430. case SpvOpSConvert: return "OpSConvert";
  4431. case SpvOpFConvert: return "OpFConvert";
  4432. case SpvOpQuantizeToF16: return "OpQuantizeToF16";
  4433. case SpvOpConvertPtrToU: return "OpConvertPtrToU";
  4434. case SpvOpSatConvertSToU: return "OpSatConvertSToU";
  4435. case SpvOpSatConvertUToS: return "OpSatConvertUToS";
  4436. case SpvOpConvertUToPtr: return "OpConvertUToPtr";
  4437. case SpvOpPtrCastToGeneric: return "OpPtrCastToGeneric";
  4438. case SpvOpGenericCastToPtr: return "OpGenericCastToPtr";
  4439. case SpvOpGenericCastToPtrExplicit: return "OpGenericCastToPtrExplicit";
  4440. case SpvOpBitcast: return "OpBitcast";
  4441. case SpvOpSNegate: return "OpSNegate";
  4442. case SpvOpFNegate: return "OpFNegate";
  4443. case SpvOpIAdd: return "OpIAdd";
  4444. case SpvOpFAdd: return "OpFAdd";
  4445. case SpvOpISub: return "OpISub";
  4446. case SpvOpFSub: return "OpFSub";
  4447. case SpvOpIMul: return "OpIMul";
  4448. case SpvOpFMul: return "OpFMul";
  4449. case SpvOpUDiv: return "OpUDiv";
  4450. case SpvOpSDiv: return "OpSDiv";
  4451. case SpvOpFDiv: return "OpFDiv";
  4452. case SpvOpUMod: return "OpUMod";
  4453. case SpvOpSRem: return "OpSRem";
  4454. case SpvOpSMod: return "OpSMod";
  4455. case SpvOpFRem: return "OpFRem";
  4456. case SpvOpFMod: return "OpFMod";
  4457. case SpvOpVectorTimesScalar: return "OpVectorTimesScalar";
  4458. case SpvOpMatrixTimesScalar: return "OpMatrixTimesScalar";
  4459. case SpvOpVectorTimesMatrix: return "OpVectorTimesMatrix";
  4460. case SpvOpMatrixTimesVector: return "OpMatrixTimesVector";
  4461. case SpvOpMatrixTimesMatrix: return "OpMatrixTimesMatrix";
  4462. case SpvOpOuterProduct: return "OpOuterProduct";
  4463. case SpvOpDot: return "OpDot";
  4464. case SpvOpIAddCarry: return "OpIAddCarry";
  4465. case SpvOpISubBorrow: return "OpISubBorrow";
  4466. case SpvOpUMulExtended: return "OpUMulExtended";
  4467. case SpvOpSMulExtended: return "OpSMulExtended";
  4468. case SpvOpAny: return "OpAny";
  4469. case SpvOpAll: return "OpAll";
  4470. case SpvOpIsNan: return "OpIsNan";
  4471. case SpvOpIsInf: return "OpIsInf";
  4472. case SpvOpIsFinite: return "OpIsFinite";
  4473. case SpvOpIsNormal: return "OpIsNormal";
  4474. case SpvOpSignBitSet: return "OpSignBitSet";
  4475. case SpvOpLessOrGreater: return "OpLessOrGreater";
  4476. case SpvOpOrdered: return "OpOrdered";
  4477. case SpvOpUnordered: return "OpUnordered";
  4478. case SpvOpLogicalEqual: return "OpLogicalEqual";
  4479. case SpvOpLogicalNotEqual: return "OpLogicalNotEqual";
  4480. case SpvOpLogicalOr: return "OpLogicalOr";
  4481. case SpvOpLogicalAnd: return "OpLogicalAnd";
  4482. case SpvOpLogicalNot: return "OpLogicalNot";
  4483. case SpvOpSelect: return "OpSelect";
  4484. case SpvOpIEqual: return "OpIEqual";
  4485. case SpvOpINotEqual: return "OpINotEqual";
  4486. case SpvOpUGreaterThan: return "OpUGreaterThan";
  4487. case SpvOpSGreaterThan: return "OpSGreaterThan";
  4488. case SpvOpUGreaterThanEqual: return "OpUGreaterThanEqual";
  4489. case SpvOpSGreaterThanEqual: return "OpSGreaterThanEqual";
  4490. case SpvOpULessThan: return "OpULessThan";
  4491. case SpvOpSLessThan: return "OpSLessThan";
  4492. case SpvOpULessThanEqual: return "OpULessThanEqual";
  4493. case SpvOpSLessThanEqual: return "OpSLessThanEqual";
  4494. case SpvOpFOrdEqual: return "OpFOrdEqual";
  4495. case SpvOpFUnordEqual: return "OpFUnordEqual";
  4496. case SpvOpFOrdNotEqual: return "OpFOrdNotEqual";
  4497. case SpvOpFUnordNotEqual: return "OpFUnordNotEqual";
  4498. case SpvOpFOrdLessThan: return "OpFOrdLessThan";
  4499. case SpvOpFUnordLessThan: return "OpFUnordLessThan";
  4500. case SpvOpFOrdGreaterThan: return "OpFOrdGreaterThan";
  4501. case SpvOpFUnordGreaterThan: return "OpFUnordGreaterThan";
  4502. case SpvOpFOrdLessThanEqual: return "OpFOrdLessThanEqual";
  4503. case SpvOpFUnordLessThanEqual: return "OpFUnordLessThanEqual";
  4504. case SpvOpFOrdGreaterThanEqual: return "OpFOrdGreaterThanEqual";
  4505. case SpvOpFUnordGreaterThanEqual: return "OpFUnordGreaterThanEqual";
  4506. case SpvOpShiftRightLogical: return "OpShiftRightLogical";
  4507. case SpvOpShiftRightArithmetic: return "OpShiftRightArithmetic";
  4508. case SpvOpShiftLeftLogical: return "OpShiftLeftLogical";
  4509. case SpvOpBitwiseOr: return "OpBitwiseOr";
  4510. case SpvOpBitwiseXor: return "OpBitwiseXor";
  4511. case SpvOpBitwiseAnd: return "OpBitwiseAnd";
  4512. case SpvOpNot: return "OpNot";
  4513. case SpvOpBitFieldInsert: return "OpBitFieldInsert";
  4514. case SpvOpBitFieldSExtract: return "OpBitFieldSExtract";
  4515. case SpvOpBitFieldUExtract: return "OpBitFieldUExtract";
  4516. case SpvOpBitReverse: return "OpBitReverse";
  4517. case SpvOpBitCount: return "OpBitCount";
  4518. case SpvOpDPdx: return "OpDPdx";
  4519. case SpvOpDPdy: return "OpDPdy";
  4520. case SpvOpFwidth: return "OpFwidth";
  4521. case SpvOpDPdxFine: return "OpDPdxFine";
  4522. case SpvOpDPdyFine: return "OpDPdyFine";
  4523. case SpvOpFwidthFine: return "OpFwidthFine";
  4524. case SpvOpDPdxCoarse: return "OpDPdxCoarse";
  4525. case SpvOpDPdyCoarse: return "OpDPdyCoarse";
  4526. case SpvOpFwidthCoarse: return "OpFwidthCoarse";
  4527. case SpvOpEmitVertex: return "OpEmitVertex";
  4528. case SpvOpEndPrimitive: return "OpEndPrimitive";
  4529. case SpvOpEmitStreamVertex: return "OpEmitStreamVertex";
  4530. case SpvOpEndStreamPrimitive: return "OpEndStreamPrimitive";
  4531. case SpvOpControlBarrier: return "OpControlBarrier";
  4532. case SpvOpMemoryBarrier: return "OpMemoryBarrier";
  4533. case SpvOpAtomicLoad: return "OpAtomicLoad";
  4534. case SpvOpAtomicStore: return "OpAtomicStore";
  4535. case SpvOpAtomicExchange: return "OpAtomicExchange";
  4536. case SpvOpAtomicCompareExchange: return "OpAtomicCompareExchange";
  4537. case SpvOpAtomicCompareExchangeWeak: return "OpAtomicCompareExchangeWeak";
  4538. case SpvOpAtomicIIncrement: return "OpAtomicIIncrement";
  4539. case SpvOpAtomicIDecrement: return "OpAtomicIDecrement";
  4540. case SpvOpAtomicIAdd: return "OpAtomicIAdd";
  4541. case SpvOpAtomicISub: return "OpAtomicISub";
  4542. case SpvOpAtomicSMin: return "OpAtomicSMin";
  4543. case SpvOpAtomicUMin: return "OpAtomicUMin";
  4544. case SpvOpAtomicSMax: return "OpAtomicSMax";
  4545. case SpvOpAtomicUMax: return "OpAtomicUMax";
  4546. case SpvOpAtomicAnd: return "OpAtomicAnd";
  4547. case SpvOpAtomicOr: return "OpAtomicOr";
  4548. case SpvOpAtomicXor: return "OpAtomicXor";
  4549. case SpvOpPhi: return "OpPhi";
  4550. case SpvOpLoopMerge: return "OpLoopMerge";
  4551. case SpvOpSelectionMerge: return "OpSelectionMerge";
  4552. case SpvOpLabel: return "OpLabel";
  4553. case SpvOpBranch: return "OpBranch";
  4554. case SpvOpBranchConditional: return "OpBranchConditional";
  4555. case SpvOpSwitch: return "OpSwitch";
  4556. case SpvOpKill: return "OpKill";
  4557. case SpvOpReturn: return "OpReturn";
  4558. case SpvOpReturnValue: return "OpReturnValue";
  4559. case SpvOpUnreachable: return "OpUnreachable";
  4560. case SpvOpLifetimeStart: return "OpLifetimeStart";
  4561. case SpvOpLifetimeStop: return "OpLifetimeStop";
  4562. case SpvOpGroupAsyncCopy: return "OpGroupAsyncCopy";
  4563. case SpvOpGroupWaitEvents: return "OpGroupWaitEvents";
  4564. case SpvOpGroupAll: return "OpGroupAll";
  4565. case SpvOpGroupAny: return "OpGroupAny";
  4566. case SpvOpGroupBroadcast: return "OpGroupBroadcast";
  4567. case SpvOpGroupIAdd: return "OpGroupIAdd";
  4568. case SpvOpGroupFAdd: return "OpGroupFAdd";
  4569. case SpvOpGroupFMin: return "OpGroupFMin";
  4570. case SpvOpGroupUMin: return "OpGroupUMin";
  4571. case SpvOpGroupSMin: return "OpGroupSMin";
  4572. case SpvOpGroupFMax: return "OpGroupFMax";
  4573. case SpvOpGroupUMax: return "OpGroupUMax";
  4574. case SpvOpGroupSMax: return "OpGroupSMax";
  4575. case SpvOpReadPipe: return "OpReadPipe";
  4576. case SpvOpWritePipe: return "OpWritePipe";
  4577. case SpvOpReservedReadPipe: return "OpReservedReadPipe";
  4578. case SpvOpReservedWritePipe: return "OpReservedWritePipe";
  4579. case SpvOpReserveReadPipePackets: return "OpReserveReadPipePackets";
  4580. case SpvOpReserveWritePipePackets: return "OpReserveWritePipePackets";
  4581. case SpvOpCommitReadPipe: return "OpCommitReadPipe";
  4582. case SpvOpCommitWritePipe: return "OpCommitWritePipe";
  4583. case SpvOpIsValidReserveId: return "OpIsValidReserveId";
  4584. case SpvOpGetNumPipePackets: return "OpGetNumPipePackets";
  4585. case SpvOpGetMaxPipePackets: return "OpGetMaxPipePackets";
  4586. case SpvOpGroupReserveReadPipePackets: return "OpGroupReserveReadPipePackets";
  4587. case SpvOpGroupReserveWritePipePackets: return "OpGroupReserveWritePipePackets";
  4588. case SpvOpGroupCommitReadPipe: return "OpGroupCommitReadPipe";
  4589. case SpvOpGroupCommitWritePipe: return "OpGroupCommitWritePipe";
  4590. case SpvOpEnqueueMarker: return "OpEnqueueMarker";
  4591. case SpvOpEnqueueKernel: return "OpEnqueueKernel";
  4592. case SpvOpGetKernelNDrangeSubGroupCount: return "OpGetKernelNDrangeSubGroupCount";
  4593. case SpvOpGetKernelNDrangeMaxSubGroupSize: return "OpGetKernelNDrangeMaxSubGroupSize";
  4594. case SpvOpGetKernelWorkGroupSize: return "OpGetKernelWorkGroupSize";
  4595. case SpvOpGetKernelPreferredWorkGroupSizeMultiple: return "OpGetKernelPreferredWorkGroupSizeMultiple";
  4596. case SpvOpRetainEvent: return "OpRetainEvent";
  4597. case SpvOpReleaseEvent: return "OpReleaseEvent";
  4598. case SpvOpCreateUserEvent: return "OpCreateUserEvent";
  4599. case SpvOpIsValidEvent: return "OpIsValidEvent";
  4600. case SpvOpSetUserEventStatus: return "OpSetUserEventStatus";
  4601. case SpvOpCaptureEventProfilingInfo: return "OpCaptureEventProfilingInfo";
  4602. case SpvOpGetDefaultQueue: return "OpGetDefaultQueue";
  4603. case SpvOpBuildNDRange: return "OpBuildNDRange";
  4604. case SpvOpImageSparseSampleImplicitLod: return "OpImageSparseSampleImplicitLod";
  4605. case SpvOpImageSparseSampleExplicitLod: return "OpImageSparseSampleExplicitLod";
  4606. case SpvOpImageSparseSampleDrefImplicitLod: return "OpImageSparseSampleDrefImplicitLod";
  4607. case SpvOpImageSparseSampleDrefExplicitLod: return "OpImageSparseSampleDrefExplicitLod";
  4608. case SpvOpImageSparseSampleProjImplicitLod: return "OpImageSparseSampleProjImplicitLod";
  4609. case SpvOpImageSparseSampleProjExplicitLod: return "OpImageSparseSampleProjExplicitLod";
  4610. case SpvOpImageSparseSampleProjDrefImplicitLod: return "OpImageSparseSampleProjDrefImplicitLod";
  4611. case SpvOpImageSparseSampleProjDrefExplicitLod: return "OpImageSparseSampleProjDrefExplicitLod";
  4612. case SpvOpImageSparseFetch: return "OpImageSparseFetch";
  4613. case SpvOpImageSparseGather: return "OpImageSparseGather";
  4614. case SpvOpImageSparseDrefGather: return "OpImageSparseDrefGather";
  4615. case SpvOpImageSparseTexelsResident: return "OpImageSparseTexelsResident";
  4616. case SpvOpNoLine: return "OpNoLine";
  4617. case SpvOpAtomicFlagTestAndSet: return "OpAtomicFlagTestAndSet";
  4618. case SpvOpAtomicFlagClear: return "OpAtomicFlagClear";
  4619. case SpvOpImageSparseRead: return "OpImageSparseRead";
  4620. case SpvOpSizeOf: return "OpSizeOf";
  4621. case SpvOpTypePipeStorage: return "OpTypePipeStorage";
  4622. case SpvOpConstantPipeStorage: return "OpConstantPipeStorage";
  4623. case SpvOpCreatePipeFromPipeStorage: return "OpCreatePipeFromPipeStorage";
  4624. case SpvOpGetKernelLocalSizeForSubgroupCount: return "OpGetKernelLocalSizeForSubgroupCount";
  4625. case SpvOpGetKernelMaxNumSubgroups: return "OpGetKernelMaxNumSubgroups";
  4626. case SpvOpTypeNamedBarrier: return "OpTypeNamedBarrier";
  4627. case SpvOpNamedBarrierInitialize: return "OpNamedBarrierInitialize";
  4628. case SpvOpMemoryNamedBarrier: return "OpMemoryNamedBarrier";
  4629. case SpvOpModuleProcessed: return "OpModuleProcessed";
  4630. case SpvOpExecutionModeId: return "OpExecutionModeId";
  4631. case SpvOpDecorateId: return "OpDecorateId";
  4632. case SpvOpGroupNonUniformElect: return "OpGroupNonUniformElect";
  4633. case SpvOpGroupNonUniformAll: return "OpGroupNonUniformAll";
  4634. case SpvOpGroupNonUniformAny: return "OpGroupNonUniformAny";
  4635. case SpvOpGroupNonUniformAllEqual: return "OpGroupNonUniformAllEqual";
  4636. case SpvOpGroupNonUniformBroadcast: return "OpGroupNonUniformBroadcast";
  4637. case SpvOpGroupNonUniformBroadcastFirst: return "OpGroupNonUniformBroadcastFirst";
  4638. case SpvOpGroupNonUniformBallot: return "OpGroupNonUniformBallot";
  4639. case SpvOpGroupNonUniformInverseBallot: return "OpGroupNonUniformInverseBallot";
  4640. case SpvOpGroupNonUniformBallotBitExtract: return "OpGroupNonUniformBallotBitExtract";
  4641. case SpvOpGroupNonUniformBallotBitCount: return "OpGroupNonUniformBallotBitCount";
  4642. case SpvOpGroupNonUniformBallotFindLSB: return "OpGroupNonUniformBallotFindLSB";
  4643. case SpvOpGroupNonUniformBallotFindMSB: return "OpGroupNonUniformBallotFindMSB";
  4644. case SpvOpGroupNonUniformShuffle: return "OpGroupNonUniformShuffle";
  4645. case SpvOpGroupNonUniformShuffleXor: return "OpGroupNonUniformShuffleXor";
  4646. case SpvOpGroupNonUniformShuffleUp: return "OpGroupNonUniformShuffleUp";
  4647. case SpvOpGroupNonUniformShuffleDown: return "OpGroupNonUniformShuffleDown";
  4648. case SpvOpGroupNonUniformIAdd: return "OpGroupNonUniformIAdd";
  4649. case SpvOpGroupNonUniformFAdd: return "OpGroupNonUniformFAdd";
  4650. case SpvOpGroupNonUniformIMul: return "OpGroupNonUniformIMul";
  4651. case SpvOpGroupNonUniformFMul: return "OpGroupNonUniformFMul";
  4652. case SpvOpGroupNonUniformSMin: return "OpGroupNonUniformSMin";
  4653. case SpvOpGroupNonUniformUMin: return "OpGroupNonUniformUMin";
  4654. case SpvOpGroupNonUniformFMin: return "OpGroupNonUniformFMin";
  4655. case SpvOpGroupNonUniformSMax: return "OpGroupNonUniformSMax";
  4656. case SpvOpGroupNonUniformUMax: return "OpGroupNonUniformUMax";
  4657. case SpvOpGroupNonUniformFMax: return "OpGroupNonUniformFMax";
  4658. case SpvOpGroupNonUniformBitwiseAnd: return "OpGroupNonUniformBitwiseAnd";
  4659. case SpvOpGroupNonUniformBitwiseOr: return "OpGroupNonUniformBitwiseOr";
  4660. case SpvOpGroupNonUniformBitwiseXor: return "OpGroupNonUniformBitwiseXor";
  4661. case SpvOpGroupNonUniformLogicalAnd: return "OpGroupNonUniformLogicalAnd";
  4662. case SpvOpGroupNonUniformLogicalOr: return "OpGroupNonUniformLogicalOr";
  4663. case SpvOpGroupNonUniformLogicalXor: return "OpGroupNonUniformLogicalXor";
  4664. case SpvOpGroupNonUniformQuadBroadcast: return "OpGroupNonUniformQuadBroadcast";
  4665. case SpvOpGroupNonUniformQuadSwap: return "OpGroupNonUniformQuadSwap";
  4666. case SpvOpCopyLogical: return "OpCopyLogical";
  4667. case SpvOpPtrEqual: return "OpPtrEqual";
  4668. case SpvOpPtrNotEqual: return "OpPtrNotEqual";
  4669. case SpvOpPtrDiff: return "OpPtrDiff";
  4670. case SpvOpColorAttachmentReadEXT: return "OpColorAttachmentReadEXT";
  4671. case SpvOpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
  4672. case SpvOpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
  4673. case SpvOpTypeTensorARM: return "OpTypeTensorARM";
  4674. case SpvOpTensorReadARM: return "OpTensorReadARM";
  4675. case SpvOpTensorWriteARM: return "OpTensorWriteARM";
  4676. case SpvOpTensorQuerySizeARM: return "OpTensorQuerySizeARM";
  4677. case SpvOpGraphConstantARM: return "OpGraphConstantARM";
  4678. case SpvOpGraphEntryPointARM: return "OpGraphEntryPointARM";
  4679. case SpvOpGraphARM: return "OpGraphARM";
  4680. case SpvOpGraphInputARM: return "OpGraphInputARM";
  4681. case SpvOpGraphSetOutputARM: return "OpGraphSetOutputARM";
  4682. case SpvOpGraphEndARM: return "OpGraphEndARM";
  4683. case SpvOpTypeGraphARM: return "OpTypeGraphARM";
  4684. case SpvOpTerminateInvocation: return "OpTerminateInvocation";
  4685. case SpvOpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
  4686. case SpvOpUntypedVariableKHR: return "OpUntypedVariableKHR";
  4687. case SpvOpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
  4688. case SpvOpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
  4689. case SpvOpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
  4690. case SpvOpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
  4691. case SpvOpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
  4692. case SpvOpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
  4693. case SpvOpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
  4694. case SpvOpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
  4695. case SpvOpFmaKHR: return "OpFmaKHR";
  4696. case SpvOpSubgroupAllKHR: return "OpSubgroupAllKHR";
  4697. case SpvOpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
  4698. case SpvOpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
  4699. case SpvOpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
  4700. case SpvOpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
  4701. case SpvOpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
  4702. case SpvOpUntypedGroupAsyncCopyKHR: return "OpUntypedGroupAsyncCopyKHR";
  4703. case SpvOpTraceRayKHR: return "OpTraceRayKHR";
  4704. case SpvOpExecuteCallableKHR: return "OpExecuteCallableKHR";
  4705. case SpvOpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";
  4706. case SpvOpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR";
  4707. case SpvOpTerminateRayKHR: return "OpTerminateRayKHR";
  4708. case SpvOpSDot: return "OpSDot";
  4709. case SpvOpUDot: return "OpUDot";
  4710. case SpvOpSUDot: return "OpSUDot";
  4711. case SpvOpSDotAccSat: return "OpSDotAccSat";
  4712. case SpvOpUDotAccSat: return "OpUDotAccSat";
  4713. case SpvOpSUDotAccSat: return "OpSUDotAccSat";
  4714. case SpvOpTypeCooperativeMatrixKHR: return "OpTypeCooperativeMatrixKHR";
  4715. case SpvOpCooperativeMatrixLoadKHR: return "OpCooperativeMatrixLoadKHR";
  4716. case SpvOpCooperativeMatrixStoreKHR: return "OpCooperativeMatrixStoreKHR";
  4717. case SpvOpCooperativeMatrixMulAddKHR: return "OpCooperativeMatrixMulAddKHR";
  4718. case SpvOpCooperativeMatrixLengthKHR: return "OpCooperativeMatrixLengthKHR";
  4719. case SpvOpConstantCompositeReplicateEXT: return "OpConstantCompositeReplicateEXT";
  4720. case SpvOpSpecConstantCompositeReplicateEXT: return "OpSpecConstantCompositeReplicateEXT";
  4721. case SpvOpCompositeConstructReplicateEXT: return "OpCompositeConstructReplicateEXT";
  4722. case SpvOpTypeRayQueryKHR: return "OpTypeRayQueryKHR";
  4723. case SpvOpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR";
  4724. case SpvOpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR";
  4725. case SpvOpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR";
  4726. case SpvOpRayQueryConfirmIntersectionKHR: return "OpRayQueryConfirmIntersectionKHR";
  4727. case SpvOpRayQueryProceedKHR: return "OpRayQueryProceedKHR";
  4728. case SpvOpRayQueryGetIntersectionTypeKHR: return "OpRayQueryGetIntersectionTypeKHR";
  4729. case SpvOpImageSampleWeightedQCOM: return "OpImageSampleWeightedQCOM";
  4730. case SpvOpImageBoxFilterQCOM: return "OpImageBoxFilterQCOM";
  4731. case SpvOpImageBlockMatchSSDQCOM: return "OpImageBlockMatchSSDQCOM";
  4732. case SpvOpImageBlockMatchSADQCOM: return "OpImageBlockMatchSADQCOM";
  4733. case SpvOpBitCastArrayQCOM: return "OpBitCastArrayQCOM";
  4734. case SpvOpImageBlockMatchWindowSSDQCOM: return "OpImageBlockMatchWindowSSDQCOM";
  4735. case SpvOpImageBlockMatchWindowSADQCOM: return "OpImageBlockMatchWindowSADQCOM";
  4736. case SpvOpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM";
  4737. case SpvOpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM";
  4738. case SpvOpCompositeConstructCoopMatQCOM: return "OpCompositeConstructCoopMatQCOM";
  4739. case SpvOpCompositeExtractCoopMatQCOM: return "OpCompositeExtractCoopMatQCOM";
  4740. case SpvOpExtractSubArrayQCOM: return "OpExtractSubArrayQCOM";
  4741. case SpvOpGroupIAddNonUniformAMD: return "OpGroupIAddNonUniformAMD";
  4742. case SpvOpGroupFAddNonUniformAMD: return "OpGroupFAddNonUniformAMD";
  4743. case SpvOpGroupFMinNonUniformAMD: return "OpGroupFMinNonUniformAMD";
  4744. case SpvOpGroupUMinNonUniformAMD: return "OpGroupUMinNonUniformAMD";
  4745. case SpvOpGroupSMinNonUniformAMD: return "OpGroupSMinNonUniformAMD";
  4746. case SpvOpGroupFMaxNonUniformAMD: return "OpGroupFMaxNonUniformAMD";
  4747. case SpvOpGroupUMaxNonUniformAMD: return "OpGroupUMaxNonUniformAMD";
  4748. case SpvOpGroupSMaxNonUniformAMD: return "OpGroupSMaxNonUniformAMD";
  4749. case SpvOpFragmentMaskFetchAMD: return "OpFragmentMaskFetchAMD";
  4750. case SpvOpFragmentFetchAMD: return "OpFragmentFetchAMD";
  4751. case SpvOpReadClockKHR: return "OpReadClockKHR";
  4752. case SpvOpAllocateNodePayloadsAMDX: return "OpAllocateNodePayloadsAMDX";
  4753. case SpvOpEnqueueNodePayloadsAMDX: return "OpEnqueueNodePayloadsAMDX";
  4754. case SpvOpTypeNodePayloadArrayAMDX: return "OpTypeNodePayloadArrayAMDX";
  4755. case SpvOpFinishWritingNodePayloadAMDX: return "OpFinishWritingNodePayloadAMDX";
  4756. case SpvOpNodePayloadArrayLengthAMDX: return "OpNodePayloadArrayLengthAMDX";
  4757. case SpvOpIsNodePayloadValidAMDX: return "OpIsNodePayloadValidAMDX";
  4758. case SpvOpConstantStringAMDX: return "OpConstantStringAMDX";
  4759. case SpvOpSpecConstantStringAMDX: return "OpSpecConstantStringAMDX";
  4760. case SpvOpGroupNonUniformQuadAllKHR: return "OpGroupNonUniformQuadAllKHR";
  4761. case SpvOpGroupNonUniformQuadAnyKHR: return "OpGroupNonUniformQuadAnyKHR";
  4762. case SpvOpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV";
  4763. case SpvOpHitObjectRecordHitWithIndexMotionNV: return "OpHitObjectRecordHitWithIndexMotionNV";
  4764. case SpvOpHitObjectRecordMissMotionNV: return "OpHitObjectRecordMissMotionNV";
  4765. case SpvOpHitObjectGetWorldToObjectNV: return "OpHitObjectGetWorldToObjectNV";
  4766. case SpvOpHitObjectGetObjectToWorldNV: return "OpHitObjectGetObjectToWorldNV";
  4767. case SpvOpHitObjectGetObjectRayDirectionNV: return "OpHitObjectGetObjectRayDirectionNV";
  4768. case SpvOpHitObjectGetObjectRayOriginNV: return "OpHitObjectGetObjectRayOriginNV";
  4769. case SpvOpHitObjectTraceRayMotionNV: return "OpHitObjectTraceRayMotionNV";
  4770. case SpvOpHitObjectGetShaderRecordBufferHandleNV: return "OpHitObjectGetShaderRecordBufferHandleNV";
  4771. case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: return "OpHitObjectGetShaderBindingTableRecordIndexNV";
  4772. case SpvOpHitObjectRecordEmptyNV: return "OpHitObjectRecordEmptyNV";
  4773. case SpvOpHitObjectTraceRayNV: return "OpHitObjectTraceRayNV";
  4774. case SpvOpHitObjectRecordHitNV: return "OpHitObjectRecordHitNV";
  4775. case SpvOpHitObjectRecordHitWithIndexNV: return "OpHitObjectRecordHitWithIndexNV";
  4776. case SpvOpHitObjectRecordMissNV: return "OpHitObjectRecordMissNV";
  4777. case SpvOpHitObjectExecuteShaderNV: return "OpHitObjectExecuteShaderNV";
  4778. case SpvOpHitObjectGetCurrentTimeNV: return "OpHitObjectGetCurrentTimeNV";
  4779. case SpvOpHitObjectGetAttributesNV: return "OpHitObjectGetAttributesNV";
  4780. case SpvOpHitObjectGetHitKindNV: return "OpHitObjectGetHitKindNV";
  4781. case SpvOpHitObjectGetPrimitiveIndexNV: return "OpHitObjectGetPrimitiveIndexNV";
  4782. case SpvOpHitObjectGetGeometryIndexNV: return "OpHitObjectGetGeometryIndexNV";
  4783. case SpvOpHitObjectGetInstanceIdNV: return "OpHitObjectGetInstanceIdNV";
  4784. case SpvOpHitObjectGetInstanceCustomIndexNV: return "OpHitObjectGetInstanceCustomIndexNV";
  4785. case SpvOpHitObjectGetWorldRayDirectionNV: return "OpHitObjectGetWorldRayDirectionNV";
  4786. case SpvOpHitObjectGetWorldRayOriginNV: return "OpHitObjectGetWorldRayOriginNV";
  4787. case SpvOpHitObjectGetRayTMaxNV: return "OpHitObjectGetRayTMaxNV";
  4788. case SpvOpHitObjectGetRayTMinNV: return "OpHitObjectGetRayTMinNV";
  4789. case SpvOpHitObjectIsEmptyNV: return "OpHitObjectIsEmptyNV";
  4790. case SpvOpHitObjectIsHitNV: return "OpHitObjectIsHitNV";
  4791. case SpvOpHitObjectIsMissNV: return "OpHitObjectIsMissNV";
  4792. case SpvOpReorderThreadWithHitObjectNV: return "OpReorderThreadWithHitObjectNV";
  4793. case SpvOpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV";
  4794. case SpvOpTypeHitObjectNV: return "OpTypeHitObjectNV";
  4795. case SpvOpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
  4796. case SpvOpTypeCooperativeVectorNV: return "OpTypeCooperativeVectorNV";
  4797. case SpvOpCooperativeVectorMatrixMulNV: return "OpCooperativeVectorMatrixMulNV";
  4798. case SpvOpCooperativeVectorOuterProductAccumulateNV: return "OpCooperativeVectorOuterProductAccumulateNV";
  4799. case SpvOpCooperativeVectorReduceSumAccumulateNV: return "OpCooperativeVectorReduceSumAccumulateNV";
  4800. case SpvOpCooperativeVectorMatrixMulAddNV: return "OpCooperativeVectorMatrixMulAddNV";
  4801. case SpvOpCooperativeMatrixConvertNV: return "OpCooperativeMatrixConvertNV";
  4802. case SpvOpEmitMeshTasksEXT: return "OpEmitMeshTasksEXT";
  4803. case SpvOpSetMeshOutputsEXT: return "OpSetMeshOutputsEXT";
  4804. case SpvOpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
  4805. case SpvOpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
  4806. case SpvOpFetchMicroTriangleVertexPositionNV: return "OpFetchMicroTriangleVertexPositionNV";
  4807. case SpvOpFetchMicroTriangleVertexBarycentricNV: return "OpFetchMicroTriangleVertexBarycentricNV";
  4808. case SpvOpCooperativeVectorLoadNV: return "OpCooperativeVectorLoadNV";
  4809. case SpvOpCooperativeVectorStoreNV: return "OpCooperativeVectorStoreNV";
  4810. case SpvOpReportIntersectionKHR: return "OpReportIntersectionKHR";
  4811. case SpvOpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV";
  4812. case SpvOpTerminateRayNV: return "OpTerminateRayNV";
  4813. case SpvOpTraceNV: return "OpTraceNV";
  4814. case SpvOpTraceMotionNV: return "OpTraceMotionNV";
  4815. case SpvOpTraceRayMotionNV: return "OpTraceRayMotionNV";
  4816. case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR";
  4817. case SpvOpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
  4818. case SpvOpExecuteCallableNV: return "OpExecuteCallableNV";
  4819. case SpvOpRayQueryGetClusterIdNV: return "OpRayQueryGetClusterIdNV";
  4820. case SpvOpHitObjectGetClusterIdNV: return "OpHitObjectGetClusterIdNV";
  4821. case SpvOpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV";
  4822. case SpvOpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV";
  4823. case SpvOpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV";
  4824. case SpvOpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV";
  4825. case SpvOpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
  4826. case SpvOpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
  4827. case SpvOpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
  4828. case SpvOpCooperativeMatrixReduceNV: return "OpCooperativeMatrixReduceNV";
  4829. case SpvOpCooperativeMatrixLoadTensorNV: return "OpCooperativeMatrixLoadTensorNV";
  4830. case SpvOpCooperativeMatrixStoreTensorNV: return "OpCooperativeMatrixStoreTensorNV";
  4831. case SpvOpCooperativeMatrixPerElementOpNV: return "OpCooperativeMatrixPerElementOpNV";
  4832. case SpvOpTypeTensorLayoutNV: return "OpTypeTensorLayoutNV";
  4833. case SpvOpTypeTensorViewNV: return "OpTypeTensorViewNV";
  4834. case SpvOpCreateTensorLayoutNV: return "OpCreateTensorLayoutNV";
  4835. case SpvOpTensorLayoutSetDimensionNV: return "OpTensorLayoutSetDimensionNV";
  4836. case SpvOpTensorLayoutSetStrideNV: return "OpTensorLayoutSetStrideNV";
  4837. case SpvOpTensorLayoutSliceNV: return "OpTensorLayoutSliceNV";
  4838. case SpvOpTensorLayoutSetClampValueNV: return "OpTensorLayoutSetClampValueNV";
  4839. case SpvOpCreateTensorViewNV: return "OpCreateTensorViewNV";
  4840. case SpvOpTensorViewSetDimensionNV: return "OpTensorViewSetDimensionNV";
  4841. case SpvOpTensorViewSetStrideNV: return "OpTensorViewSetStrideNV";
  4842. case SpvOpDemoteToHelperInvocation: return "OpDemoteToHelperInvocation";
  4843. case SpvOpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT";
  4844. case SpvOpTensorViewSetClipNV: return "OpTensorViewSetClipNV";
  4845. case SpvOpTensorLayoutSetBlockSizeNV: return "OpTensorLayoutSetBlockSizeNV";
  4846. case SpvOpCooperativeMatrixTransposeNV: return "OpCooperativeMatrixTransposeNV";
  4847. case SpvOpConvertUToImageNV: return "OpConvertUToImageNV";
  4848. case SpvOpConvertUToSamplerNV: return "OpConvertUToSamplerNV";
  4849. case SpvOpConvertImageToUNV: return "OpConvertImageToUNV";
  4850. case SpvOpConvertSamplerToUNV: return "OpConvertSamplerToUNV";
  4851. case SpvOpConvertUToSampledImageNV: return "OpConvertUToSampledImageNV";
  4852. case SpvOpConvertSampledImageToUNV: return "OpConvertSampledImageToUNV";
  4853. case SpvOpSamplerImageAddressingModeNV: return "OpSamplerImageAddressingModeNV";
  4854. case SpvOpRawAccessChainNV: return "OpRawAccessChainNV";
  4855. case SpvOpRayQueryGetIntersectionSpherePositionNV: return "OpRayQueryGetIntersectionSpherePositionNV";
  4856. case SpvOpRayQueryGetIntersectionSphereRadiusNV: return "OpRayQueryGetIntersectionSphereRadiusNV";
  4857. case SpvOpRayQueryGetIntersectionLSSPositionsNV: return "OpRayQueryGetIntersectionLSSPositionsNV";
  4858. case SpvOpRayQueryGetIntersectionLSSRadiiNV: return "OpRayQueryGetIntersectionLSSRadiiNV";
  4859. case SpvOpRayQueryGetIntersectionLSSHitValueNV: return "OpRayQueryGetIntersectionLSSHitValueNV";
  4860. case SpvOpHitObjectGetSpherePositionNV: return "OpHitObjectGetSpherePositionNV";
  4861. case SpvOpHitObjectGetSphereRadiusNV: return "OpHitObjectGetSphereRadiusNV";
  4862. case SpvOpHitObjectGetLSSPositionsNV: return "OpHitObjectGetLSSPositionsNV";
  4863. case SpvOpHitObjectGetLSSRadiiNV: return "OpHitObjectGetLSSRadiiNV";
  4864. case SpvOpHitObjectIsSphereHitNV: return "OpHitObjectIsSphereHitNV";
  4865. case SpvOpHitObjectIsLSSHitNV: return "OpHitObjectIsLSSHitNV";
  4866. case SpvOpRayQueryIsSphereHitNV: return "OpRayQueryIsSphereHitNV";
  4867. case SpvOpRayQueryIsLSSHitNV: return "OpRayQueryIsLSSHitNV";
  4868. case SpvOpSubgroupShuffleINTEL: return "OpSubgroupShuffleINTEL";
  4869. case SpvOpSubgroupShuffleDownINTEL: return "OpSubgroupShuffleDownINTEL";
  4870. case SpvOpSubgroupShuffleUpINTEL: return "OpSubgroupShuffleUpINTEL";
  4871. case SpvOpSubgroupShuffleXorINTEL: return "OpSubgroupShuffleXorINTEL";
  4872. case SpvOpSubgroupBlockReadINTEL: return "OpSubgroupBlockReadINTEL";
  4873. case SpvOpSubgroupBlockWriteINTEL: return "OpSubgroupBlockWriteINTEL";
  4874. case SpvOpSubgroupImageBlockReadINTEL: return "OpSubgroupImageBlockReadINTEL";
  4875. case SpvOpSubgroupImageBlockWriteINTEL: return "OpSubgroupImageBlockWriteINTEL";
  4876. case SpvOpSubgroupImageMediaBlockReadINTEL: return "OpSubgroupImageMediaBlockReadINTEL";
  4877. case SpvOpSubgroupImageMediaBlockWriteINTEL: return "OpSubgroupImageMediaBlockWriteINTEL";
  4878. case SpvOpUCountLeadingZerosINTEL: return "OpUCountLeadingZerosINTEL";
  4879. case SpvOpUCountTrailingZerosINTEL: return "OpUCountTrailingZerosINTEL";
  4880. case SpvOpAbsISubINTEL: return "OpAbsISubINTEL";
  4881. case SpvOpAbsUSubINTEL: return "OpAbsUSubINTEL";
  4882. case SpvOpIAddSatINTEL: return "OpIAddSatINTEL";
  4883. case SpvOpUAddSatINTEL: return "OpUAddSatINTEL";
  4884. case SpvOpIAverageINTEL: return "OpIAverageINTEL";
  4885. case SpvOpUAverageINTEL: return "OpUAverageINTEL";
  4886. case SpvOpIAverageRoundedINTEL: return "OpIAverageRoundedINTEL";
  4887. case SpvOpUAverageRoundedINTEL: return "OpUAverageRoundedINTEL";
  4888. case SpvOpISubSatINTEL: return "OpISubSatINTEL";
  4889. case SpvOpUSubSatINTEL: return "OpUSubSatINTEL";
  4890. case SpvOpIMul32x16INTEL: return "OpIMul32x16INTEL";
  4891. case SpvOpUMul32x16INTEL: return "OpUMul32x16INTEL";
  4892. case SpvOpConstantFunctionPointerINTEL: return "OpConstantFunctionPointerINTEL";
  4893. case SpvOpFunctionPointerCallINTEL: return "OpFunctionPointerCallINTEL";
  4894. case SpvOpAsmTargetINTEL: return "OpAsmTargetINTEL";
  4895. case SpvOpAsmINTEL: return "OpAsmINTEL";
  4896. case SpvOpAsmCallINTEL: return "OpAsmCallINTEL";
  4897. case SpvOpAtomicFMinEXT: return "OpAtomicFMinEXT";
  4898. case SpvOpAtomicFMaxEXT: return "OpAtomicFMaxEXT";
  4899. case SpvOpAssumeTrueKHR: return "OpAssumeTrueKHR";
  4900. case SpvOpExpectKHR: return "OpExpectKHR";
  4901. case SpvOpDecorateString: return "OpDecorateString";
  4902. case SpvOpMemberDecorateString: return "OpMemberDecorateString";
  4903. case SpvOpVmeImageINTEL: return "OpVmeImageINTEL";
  4904. case SpvOpTypeVmeImageINTEL: return "OpTypeVmeImageINTEL";
  4905. case SpvOpTypeAvcImePayloadINTEL: return "OpTypeAvcImePayloadINTEL";
  4906. case SpvOpTypeAvcRefPayloadINTEL: return "OpTypeAvcRefPayloadINTEL";
  4907. case SpvOpTypeAvcSicPayloadINTEL: return "OpTypeAvcSicPayloadINTEL";
  4908. case SpvOpTypeAvcMcePayloadINTEL: return "OpTypeAvcMcePayloadINTEL";
  4909. case SpvOpTypeAvcMceResultINTEL: return "OpTypeAvcMceResultINTEL";
  4910. case SpvOpTypeAvcImeResultINTEL: return "OpTypeAvcImeResultINTEL";
  4911. case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "OpTypeAvcImeResultSingleReferenceStreamoutINTEL";
  4912. case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: return "OpTypeAvcImeResultDualReferenceStreamoutINTEL";
  4913. case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: return "OpTypeAvcImeSingleReferenceStreaminINTEL";
  4914. case SpvOpTypeAvcImeDualReferenceStreaminINTEL: return "OpTypeAvcImeDualReferenceStreaminINTEL";
  4915. case SpvOpTypeAvcRefResultINTEL: return "OpTypeAvcRefResultINTEL";
  4916. case SpvOpTypeAvcSicResultINTEL: return "OpTypeAvcSicResultINTEL";
  4917. case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";
  4918. case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";
  4919. case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";
  4920. case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: return "OpSubgroupAvcMceSetInterShapePenaltyINTEL";
  4921. case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";
  4922. case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL";
  4923. case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";
  4924. case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";
  4925. case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";
  4926. case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";
  4927. case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";
  4928. case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";
  4929. case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";
  4930. case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";
  4931. case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";
  4932. case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: return "OpSubgroupAvcMceSetAcOnlyHaarINTEL";
  4933. case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";
  4934. case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";
  4935. case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";
  4936. case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: return "OpSubgroupAvcMceConvertToImePayloadINTEL";
  4937. case SpvOpSubgroupAvcMceConvertToImeResultINTEL: return "OpSubgroupAvcMceConvertToImeResultINTEL";
  4938. case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: return "OpSubgroupAvcMceConvertToRefPayloadINTEL";
  4939. case SpvOpSubgroupAvcMceConvertToRefResultINTEL: return "OpSubgroupAvcMceConvertToRefResultINTEL";
  4940. case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: return "OpSubgroupAvcMceConvertToSicPayloadINTEL";
  4941. case SpvOpSubgroupAvcMceConvertToSicResultINTEL: return "OpSubgroupAvcMceConvertToSicResultINTEL";
  4942. case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: return "OpSubgroupAvcMceGetMotionVectorsINTEL";
  4943. case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: return "OpSubgroupAvcMceGetInterDistortionsINTEL";
  4944. case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: return "OpSubgroupAvcMceGetBestInterDistortionsINTEL";
  4945. case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: return "OpSubgroupAvcMceGetInterMajorShapeINTEL";
  4946. case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: return "OpSubgroupAvcMceGetInterMinorShapeINTEL";
  4947. case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: return "OpSubgroupAvcMceGetInterDirectionsINTEL";
  4948. case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "OpSubgroupAvcMceGetInterMotionVectorCountINTEL";
  4949. case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: return "OpSubgroupAvcMceGetInterReferenceIdsINTEL";
  4950. case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";
  4951. case SpvOpSubgroupAvcImeInitializeINTEL: return "OpSubgroupAvcImeInitializeINTEL";
  4952. case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: return "OpSubgroupAvcImeSetSingleReferenceINTEL";
  4953. case SpvOpSubgroupAvcImeSetDualReferenceINTEL: return "OpSubgroupAvcImeSetDualReferenceINTEL";
  4954. case SpvOpSubgroupAvcImeRefWindowSizeINTEL: return "OpSubgroupAvcImeRefWindowSizeINTEL";
  4955. case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: return "OpSubgroupAvcImeAdjustRefOffsetINTEL";
  4956. case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: return "OpSubgroupAvcImeConvertToMcePayloadINTEL";
  4957. case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL";
  4958. case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";
  4959. case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";
  4960. case SpvOpSubgroupAvcImeSetWeightedSadINTEL: return "OpSubgroupAvcImeSetWeightedSadINTEL";
  4961. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";
  4962. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL";
  4963. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";
  4964. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";
  4965. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";
  4966. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";
  4967. case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";
  4968. case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";
  4969. case SpvOpSubgroupAvcImeConvertToMceResultINTEL: return "OpSubgroupAvcImeConvertToMceResultINTEL";
  4970. case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL";
  4971. case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "OpSubgroupAvcImeGetDualReferenceStreaminINTEL";
  4972. case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";
  4973. case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL";
  4974. case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";
  4975. case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";
  4976. case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";
  4977. case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";
  4978. case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";
  4979. case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";
  4980. case SpvOpSubgroupAvcImeGetBorderReachedINTEL: return "OpSubgroupAvcImeGetBorderReachedINTEL";
  4981. case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";
  4982. case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";
  4983. case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";
  4984. case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";
  4985. case SpvOpSubgroupAvcFmeInitializeINTEL: return "OpSubgroupAvcFmeInitializeINTEL";
  4986. case SpvOpSubgroupAvcBmeInitializeINTEL: return "OpSubgroupAvcBmeInitializeINTEL";
  4987. case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: return "OpSubgroupAvcRefConvertToMcePayloadINTEL";
  4988. case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL";
  4989. case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "OpSubgroupAvcRefSetBilinearFilterEnableINTEL";
  4990. case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";
  4991. case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL";
  4992. case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";
  4993. case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";
  4994. case SpvOpSubgroupAvcRefConvertToMceResultINTEL: return "OpSubgroupAvcRefConvertToMceResultINTEL";
  4995. case SpvOpSubgroupAvcSicInitializeINTEL: return "OpSubgroupAvcSicInitializeINTEL";
  4996. case SpvOpSubgroupAvcSicConfigureSkcINTEL: return "OpSubgroupAvcSicConfigureSkcINTEL";
  4997. case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaINTEL";
  4998. case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL";
  4999. case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: return "OpSubgroupAvcSicGetMotionVectorMaskINTEL";
  5000. case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: return "OpSubgroupAvcSicConvertToMcePayloadINTEL";
  5001. case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";
  5002. case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";
  5003. case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";
  5004. case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "OpSubgroupAvcSicSetBilinearFilterEnableINTEL";
  5005. case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";
  5006. case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";
  5007. case SpvOpSubgroupAvcSicEvaluateIpeINTEL: return "OpSubgroupAvcSicEvaluateIpeINTEL";
  5008. case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";
  5009. case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL";
  5010. case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";
  5011. case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";
  5012. case SpvOpSubgroupAvcSicConvertToMceResultINTEL: return "OpSubgroupAvcSicConvertToMceResultINTEL";
  5013. case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: return "OpSubgroupAvcSicGetIpeLumaShapeINTEL";
  5014. case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";
  5015. case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";
  5016. case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL";
  5017. case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: return "OpSubgroupAvcSicGetIpeChromaModeINTEL";
  5018. case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";
  5019. case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";
  5020. case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: return "OpSubgroupAvcSicGetInterRawSadsINTEL";
  5021. case SpvOpVariableLengthArrayINTEL: return "OpVariableLengthArrayINTEL";
  5022. case SpvOpSaveMemoryINTEL: return "OpSaveMemoryINTEL";
  5023. case SpvOpRestoreMemoryINTEL: return "OpRestoreMemoryINTEL";
  5024. case SpvOpArbitraryFloatSinCosPiINTEL: return "OpArbitraryFloatSinCosPiINTEL";
  5025. case SpvOpArbitraryFloatCastINTEL: return "OpArbitraryFloatCastINTEL";
  5026. case SpvOpArbitraryFloatCastFromIntINTEL: return "OpArbitraryFloatCastFromIntINTEL";
  5027. case SpvOpArbitraryFloatCastToIntINTEL: return "OpArbitraryFloatCastToIntINTEL";
  5028. case SpvOpArbitraryFloatAddINTEL: return "OpArbitraryFloatAddINTEL";
  5029. case SpvOpArbitraryFloatSubINTEL: return "OpArbitraryFloatSubINTEL";
  5030. case SpvOpArbitraryFloatMulINTEL: return "OpArbitraryFloatMulINTEL";
  5031. case SpvOpArbitraryFloatDivINTEL: return "OpArbitraryFloatDivINTEL";
  5032. case SpvOpArbitraryFloatGTINTEL: return "OpArbitraryFloatGTINTEL";
  5033. case SpvOpArbitraryFloatGEINTEL: return "OpArbitraryFloatGEINTEL";
  5034. case SpvOpArbitraryFloatLTINTEL: return "OpArbitraryFloatLTINTEL";
  5035. case SpvOpArbitraryFloatLEINTEL: return "OpArbitraryFloatLEINTEL";
  5036. case SpvOpArbitraryFloatEQINTEL: return "OpArbitraryFloatEQINTEL";
  5037. case SpvOpArbitraryFloatRecipINTEL: return "OpArbitraryFloatRecipINTEL";
  5038. case SpvOpArbitraryFloatRSqrtINTEL: return "OpArbitraryFloatRSqrtINTEL";
  5039. case SpvOpArbitraryFloatCbrtINTEL: return "OpArbitraryFloatCbrtINTEL";
  5040. case SpvOpArbitraryFloatHypotINTEL: return "OpArbitraryFloatHypotINTEL";
  5041. case SpvOpArbitraryFloatSqrtINTEL: return "OpArbitraryFloatSqrtINTEL";
  5042. case SpvOpArbitraryFloatLogINTEL: return "OpArbitraryFloatLogINTEL";
  5043. case SpvOpArbitraryFloatLog2INTEL: return "OpArbitraryFloatLog2INTEL";
  5044. case SpvOpArbitraryFloatLog10INTEL: return "OpArbitraryFloatLog10INTEL";
  5045. case SpvOpArbitraryFloatLog1pINTEL: return "OpArbitraryFloatLog1pINTEL";
  5046. case SpvOpArbitraryFloatExpINTEL: return "OpArbitraryFloatExpINTEL";
  5047. case SpvOpArbitraryFloatExp2INTEL: return "OpArbitraryFloatExp2INTEL";
  5048. case SpvOpArbitraryFloatExp10INTEL: return "OpArbitraryFloatExp10INTEL";
  5049. case SpvOpArbitraryFloatExpm1INTEL: return "OpArbitraryFloatExpm1INTEL";
  5050. case SpvOpArbitraryFloatSinINTEL: return "OpArbitraryFloatSinINTEL";
  5051. case SpvOpArbitraryFloatCosINTEL: return "OpArbitraryFloatCosINTEL";
  5052. case SpvOpArbitraryFloatSinCosINTEL: return "OpArbitraryFloatSinCosINTEL";
  5053. case SpvOpArbitraryFloatSinPiINTEL: return "OpArbitraryFloatSinPiINTEL";
  5054. case SpvOpArbitraryFloatCosPiINTEL: return "OpArbitraryFloatCosPiINTEL";
  5055. case SpvOpArbitraryFloatASinINTEL: return "OpArbitraryFloatASinINTEL";
  5056. case SpvOpArbitraryFloatASinPiINTEL: return "OpArbitraryFloatASinPiINTEL";
  5057. case SpvOpArbitraryFloatACosINTEL: return "OpArbitraryFloatACosINTEL";
  5058. case SpvOpArbitraryFloatACosPiINTEL: return "OpArbitraryFloatACosPiINTEL";
  5059. case SpvOpArbitraryFloatATanINTEL: return "OpArbitraryFloatATanINTEL";
  5060. case SpvOpArbitraryFloatATanPiINTEL: return "OpArbitraryFloatATanPiINTEL";
  5061. case SpvOpArbitraryFloatATan2INTEL: return "OpArbitraryFloatATan2INTEL";
  5062. case SpvOpArbitraryFloatPowINTEL: return "OpArbitraryFloatPowINTEL";
  5063. case SpvOpArbitraryFloatPowRINTEL: return "OpArbitraryFloatPowRINTEL";
  5064. case SpvOpArbitraryFloatPowNINTEL: return "OpArbitraryFloatPowNINTEL";
  5065. case SpvOpLoopControlINTEL: return "OpLoopControlINTEL";
  5066. case SpvOpAliasDomainDeclINTEL: return "OpAliasDomainDeclINTEL";
  5067. case SpvOpAliasScopeDeclINTEL: return "OpAliasScopeDeclINTEL";
  5068. case SpvOpAliasScopeListDeclINTEL: return "OpAliasScopeListDeclINTEL";
  5069. case SpvOpFixedSqrtINTEL: return "OpFixedSqrtINTEL";
  5070. case SpvOpFixedRecipINTEL: return "OpFixedRecipINTEL";
  5071. case SpvOpFixedRsqrtINTEL: return "OpFixedRsqrtINTEL";
  5072. case SpvOpFixedSinINTEL: return "OpFixedSinINTEL";
  5073. case SpvOpFixedCosINTEL: return "OpFixedCosINTEL";
  5074. case SpvOpFixedSinCosINTEL: return "OpFixedSinCosINTEL";
  5075. case SpvOpFixedSinPiINTEL: return "OpFixedSinPiINTEL";
  5076. case SpvOpFixedCosPiINTEL: return "OpFixedCosPiINTEL";
  5077. case SpvOpFixedSinCosPiINTEL: return "OpFixedSinCosPiINTEL";
  5078. case SpvOpFixedLogINTEL: return "OpFixedLogINTEL";
  5079. case SpvOpFixedExpINTEL: return "OpFixedExpINTEL";
  5080. case SpvOpPtrCastToCrossWorkgroupINTEL: return "OpPtrCastToCrossWorkgroupINTEL";
  5081. case SpvOpCrossWorkgroupCastToPtrINTEL: return "OpCrossWorkgroupCastToPtrINTEL";
  5082. case SpvOpReadPipeBlockingINTEL: return "OpReadPipeBlockingINTEL";
  5083. case SpvOpWritePipeBlockingINTEL: return "OpWritePipeBlockingINTEL";
  5084. case SpvOpFPGARegINTEL: return "OpFPGARegINTEL";
  5085. case SpvOpRayQueryGetRayTMinKHR: return "OpRayQueryGetRayTMinKHR";
  5086. case SpvOpRayQueryGetRayFlagsKHR: return "OpRayQueryGetRayFlagsKHR";
  5087. case SpvOpRayQueryGetIntersectionTKHR: return "OpRayQueryGetIntersectionTKHR";
  5088. case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: return "OpRayQueryGetIntersectionInstanceCustomIndexKHR";
  5089. case SpvOpRayQueryGetIntersectionInstanceIdKHR: return "OpRayQueryGetIntersectionInstanceIdKHR";
  5090. case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";
  5091. case SpvOpRayQueryGetIntersectionGeometryIndexKHR: return "OpRayQueryGetIntersectionGeometryIndexKHR";
  5092. case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: return "OpRayQueryGetIntersectionPrimitiveIndexKHR";
  5093. case SpvOpRayQueryGetIntersectionBarycentricsKHR: return "OpRayQueryGetIntersectionBarycentricsKHR";
  5094. case SpvOpRayQueryGetIntersectionFrontFaceKHR: return "OpRayQueryGetIntersectionFrontFaceKHR";
  5095. case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR";
  5096. case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: return "OpRayQueryGetIntersectionObjectRayDirectionKHR";
  5097. case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: return "OpRayQueryGetIntersectionObjectRayOriginKHR";
  5098. case SpvOpRayQueryGetWorldRayDirectionKHR: return "OpRayQueryGetWorldRayDirectionKHR";
  5099. case SpvOpRayQueryGetWorldRayOriginKHR: return "OpRayQueryGetWorldRayOriginKHR";
  5100. case SpvOpRayQueryGetIntersectionObjectToWorldKHR: return "OpRayQueryGetIntersectionObjectToWorldKHR";
  5101. case SpvOpRayQueryGetIntersectionWorldToObjectKHR: return "OpRayQueryGetIntersectionWorldToObjectKHR";
  5102. case SpvOpAtomicFAddEXT: return "OpAtomicFAddEXT";
  5103. case SpvOpTypeBufferSurfaceINTEL: return "OpTypeBufferSurfaceINTEL";
  5104. case SpvOpTypeStructContinuedINTEL: return "OpTypeStructContinuedINTEL";
  5105. case SpvOpConstantCompositeContinuedINTEL: return "OpConstantCompositeContinuedINTEL";
  5106. case SpvOpSpecConstantCompositeContinuedINTEL: return "OpSpecConstantCompositeContinuedINTEL";
  5107. case SpvOpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL";
  5108. case SpvOpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL";
  5109. case SpvOpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
  5110. case SpvOpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
  5111. case SpvOpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
  5112. case SpvOpArithmeticFenceEXT: return "OpArithmeticFenceEXT";
  5113. case SpvOpTaskSequenceCreateINTEL: return "OpTaskSequenceCreateINTEL";
  5114. case SpvOpTaskSequenceAsyncINTEL: return "OpTaskSequenceAsyncINTEL";
  5115. case SpvOpTaskSequenceGetINTEL: return "OpTaskSequenceGetINTEL";
  5116. case SpvOpTaskSequenceReleaseINTEL: return "OpTaskSequenceReleaseINTEL";
  5117. case SpvOpTypeTaskSequenceINTEL: return "OpTypeTaskSequenceINTEL";
  5118. case SpvOpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL";
  5119. case SpvOpSubgroup2DBlockLoadINTEL: return "OpSubgroup2DBlockLoadINTEL";
  5120. case SpvOpSubgroup2DBlockLoadTransformINTEL: return "OpSubgroup2DBlockLoadTransformINTEL";
  5121. case SpvOpSubgroup2DBlockLoadTransposeINTEL: return "OpSubgroup2DBlockLoadTransposeINTEL";
  5122. case SpvOpSubgroup2DBlockPrefetchINTEL: return "OpSubgroup2DBlockPrefetchINTEL";
  5123. case SpvOpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
  5124. case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: return "OpSubgroupMatrixMultiplyAccumulateINTEL";
  5125. case SpvOpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
  5126. case SpvOpUntypedVariableLengthArrayINTEL: return "OpUntypedVariableLengthArrayINTEL";
  5127. case SpvOpConditionalExtensionINTEL: return "OpConditionalExtensionINTEL";
  5128. case SpvOpConditionalEntryPointINTEL: return "OpConditionalEntryPointINTEL";
  5129. case SpvOpConditionalCapabilityINTEL: return "OpConditionalCapabilityINTEL";
  5130. case SpvOpSpecConstantTargetINTEL: return "OpSpecConstantTargetINTEL";
  5131. case SpvOpSpecConstantArchitectureINTEL: return "OpSpecConstantArchitectureINTEL";
  5132. case SpvOpSpecConstantCapabilitiesINTEL: return "OpSpecConstantCapabilitiesINTEL";
  5133. case SpvOpConditionalCopyObjectINTEL: return "OpConditionalCopyObjectINTEL";
  5134. case SpvOpGroupIMulKHR: return "OpGroupIMulKHR";
  5135. case SpvOpGroupFMulKHR: return "OpGroupFMulKHR";
  5136. case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
  5137. case SpvOpGroupBitwiseOrKHR: return "OpGroupBitwiseOrKHR";
  5138. case SpvOpGroupBitwiseXorKHR: return "OpGroupBitwiseXorKHR";
  5139. case SpvOpGroupLogicalAndKHR: return "OpGroupLogicalAndKHR";
  5140. case SpvOpGroupLogicalOrKHR: return "OpGroupLogicalOrKHR";
  5141. case SpvOpGroupLogicalXorKHR: return "OpGroupLogicalXorKHR";
  5142. case SpvOpRoundFToTF32INTEL: return "OpRoundFToTF32INTEL";
  5143. case SpvOpMaskedGatherINTEL: return "OpMaskedGatherINTEL";
  5144. case SpvOpMaskedScatterINTEL: return "OpMaskedScatterINTEL";
  5145. case SpvOpConvertHandleToImageINTEL: return "OpConvertHandleToImageINTEL";
  5146. case SpvOpConvertHandleToSamplerINTEL: return "OpConvertHandleToSamplerINTEL";
  5147. case SpvOpConvertHandleToSampledImageINTEL: return "OpConvertHandleToSampledImageINTEL";
  5148. default: return "Unknown";
  5149. }
  5150. }
  5151. #endif /* SPV_ENABLE_UTILITY_CODE */
  5152. #endif