spirv.hpp 286 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342
  1. // Copyright: 2014-2024 The Khronos Group Inc.
  2. // License: MIT
  3. //
  4. // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
  5. // KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
  6. // SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
  7. // https://www.khronos.org/registry/
  8. // This header is automatically generated by the same tool that creates
  9. // the Binary Section of the SPIR-V specification.
  10. // Enumeration tokens for SPIR-V, in various styles:
  11. // C, C++, C++11, JSON, Lua, Python, C#, D, Beef
  12. //
  13. // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
  14. // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
  15. // - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
  16. // - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
  17. // - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
  18. // - C# will use enum classes in the Specification class located in the "Spv" namespace,
  19. // e.g.: Spv.Specification.SourceLanguage.GLSL
  20. // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
  21. // - Beef will use enum classes in the Specification class located in the "Spv" namespace,
  22. // e.g.: Spv.Specification.SourceLanguage.GLSL
  23. //
  24. // Some tokens act like mask values, which can be OR'd together,
  25. // while others are mutually exclusive. The mask-like ones have
  26. // "Mask" in their name, and a parallel enum that has the shift
  27. // amount (1 << x) for each corresponding enumerant.
  28. #ifndef spirv_HPP
  29. #define spirv_HPP
  30. namespace spv {
  31. typedef unsigned int Id;
  32. #define SPV_VERSION 0x10600
  33. #define SPV_REVISION 1
  34. static const unsigned int MagicNumber = 0x07230203;
  35. static const unsigned int Version = 0x00010600;
  36. static const unsigned int Revision = 1;
  37. static const unsigned int OpCodeMask = 0xffff;
  38. static const unsigned int WordCountShift = 16;
  39. enum SourceLanguage {
  40. SourceLanguageUnknown = 0,
  41. SourceLanguageESSL = 1,
  42. SourceLanguageGLSL = 2,
  43. SourceLanguageOpenCL_C = 3,
  44. SourceLanguageOpenCL_CPP = 4,
  45. SourceLanguageHLSL = 5,
  46. SourceLanguageCPP_for_OpenCL = 6,
  47. SourceLanguageSYCL = 7,
  48. SourceLanguageHERO_C = 8,
  49. SourceLanguageNZSL = 9,
  50. SourceLanguageWGSL = 10,
  51. SourceLanguageSlang = 11,
  52. SourceLanguageZig = 12,
  53. SourceLanguageRust = 13,
  54. SourceLanguageMax = 0x7fffffff,
  55. };
  56. enum ExecutionModel {
  57. ExecutionModelVertex = 0,
  58. ExecutionModelTessellationControl = 1,
  59. ExecutionModelTessellationEvaluation = 2,
  60. ExecutionModelGeometry = 3,
  61. ExecutionModelFragment = 4,
  62. ExecutionModelGLCompute = 5,
  63. ExecutionModelKernel = 6,
  64. ExecutionModelTaskNV = 5267,
  65. ExecutionModelMeshNV = 5268,
  66. ExecutionModelRayGenerationKHR = 5313,
  67. ExecutionModelRayGenerationNV = 5313,
  68. ExecutionModelIntersectionKHR = 5314,
  69. ExecutionModelIntersectionNV = 5314,
  70. ExecutionModelAnyHitKHR = 5315,
  71. ExecutionModelAnyHitNV = 5315,
  72. ExecutionModelClosestHitKHR = 5316,
  73. ExecutionModelClosestHitNV = 5316,
  74. ExecutionModelMissKHR = 5317,
  75. ExecutionModelMissNV = 5317,
  76. ExecutionModelCallableKHR = 5318,
  77. ExecutionModelCallableNV = 5318,
  78. ExecutionModelTaskEXT = 5364,
  79. ExecutionModelMeshEXT = 5365,
  80. ExecutionModelMax = 0x7fffffff,
  81. };
  82. enum AddressingModel {
  83. AddressingModelLogical = 0,
  84. AddressingModelPhysical32 = 1,
  85. AddressingModelPhysical64 = 2,
  86. AddressingModelPhysicalStorageBuffer64 = 5348,
  87. AddressingModelPhysicalStorageBuffer64EXT = 5348,
  88. AddressingModelMax = 0x7fffffff,
  89. };
  90. enum MemoryModel {
  91. MemoryModelSimple = 0,
  92. MemoryModelGLSL450 = 1,
  93. MemoryModelOpenCL = 2,
  94. MemoryModelVulkan = 3,
  95. MemoryModelVulkanKHR = 3,
  96. MemoryModelMax = 0x7fffffff,
  97. };
  98. enum ExecutionMode {
  99. ExecutionModeInvocations = 0,
  100. ExecutionModeSpacingEqual = 1,
  101. ExecutionModeSpacingFractionalEven = 2,
  102. ExecutionModeSpacingFractionalOdd = 3,
  103. ExecutionModeVertexOrderCw = 4,
  104. ExecutionModeVertexOrderCcw = 5,
  105. ExecutionModePixelCenterInteger = 6,
  106. ExecutionModeOriginUpperLeft = 7,
  107. ExecutionModeOriginLowerLeft = 8,
  108. ExecutionModeEarlyFragmentTests = 9,
  109. ExecutionModePointMode = 10,
  110. ExecutionModeXfb = 11,
  111. ExecutionModeDepthReplacing = 12,
  112. ExecutionModeDepthGreater = 14,
  113. ExecutionModeDepthLess = 15,
  114. ExecutionModeDepthUnchanged = 16,
  115. ExecutionModeLocalSize = 17,
  116. ExecutionModeLocalSizeHint = 18,
  117. ExecutionModeInputPoints = 19,
  118. ExecutionModeInputLines = 20,
  119. ExecutionModeInputLinesAdjacency = 21,
  120. ExecutionModeTriangles = 22,
  121. ExecutionModeInputTrianglesAdjacency = 23,
  122. ExecutionModeQuads = 24,
  123. ExecutionModeIsolines = 25,
  124. ExecutionModeOutputVertices = 26,
  125. ExecutionModeOutputPoints = 27,
  126. ExecutionModeOutputLineStrip = 28,
  127. ExecutionModeOutputTriangleStrip = 29,
  128. ExecutionModeVecTypeHint = 30,
  129. ExecutionModeContractionOff = 31,
  130. ExecutionModeInitializer = 33,
  131. ExecutionModeFinalizer = 34,
  132. ExecutionModeSubgroupSize = 35,
  133. ExecutionModeSubgroupsPerWorkgroup = 36,
  134. ExecutionModeSubgroupsPerWorkgroupId = 37,
  135. ExecutionModeLocalSizeId = 38,
  136. ExecutionModeLocalSizeHintId = 39,
  137. ExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
  138. ExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
  139. ExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
  140. ExecutionModeSubgroupUniformControlFlowKHR = 4421,
  141. ExecutionModePostDepthCoverage = 4446,
  142. ExecutionModeDenormPreserve = 4459,
  143. ExecutionModeDenormFlushToZero = 4460,
  144. ExecutionModeSignedZeroInfNanPreserve = 4461,
  145. ExecutionModeRoundingModeRTE = 4462,
  146. ExecutionModeRoundingModeRTZ = 4463,
  147. ExecutionModeNonCoherentTileAttachmentReadQCOM = 4489,
  148. ExecutionModeTileShadingRateQCOM = 4490,
  149. ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
  150. ExecutionModeStencilRefReplacingEXT = 5027,
  151. ExecutionModeCoalescingAMDX = 5069,
  152. ExecutionModeIsApiEntryAMDX = 5070,
  153. ExecutionModeMaxNodeRecursionAMDX = 5071,
  154. ExecutionModeStaticNumWorkgroupsAMDX = 5072,
  155. ExecutionModeShaderIndexAMDX = 5073,
  156. ExecutionModeMaxNumWorkgroupsAMDX = 5077,
  157. ExecutionModeStencilRefUnchangedFrontAMD = 5079,
  158. ExecutionModeStencilRefGreaterFrontAMD = 5080,
  159. ExecutionModeStencilRefLessFrontAMD = 5081,
  160. ExecutionModeStencilRefUnchangedBackAMD = 5082,
  161. ExecutionModeStencilRefGreaterBackAMD = 5083,
  162. ExecutionModeStencilRefLessBackAMD = 5084,
  163. ExecutionModeQuadDerivativesKHR = 5088,
  164. ExecutionModeRequireFullQuadsKHR = 5089,
  165. ExecutionModeSharesInputWithAMDX = 5102,
  166. ExecutionModeOutputLinesEXT = 5269,
  167. ExecutionModeOutputLinesNV = 5269,
  168. ExecutionModeOutputPrimitivesEXT = 5270,
  169. ExecutionModeOutputPrimitivesNV = 5270,
  170. ExecutionModeDerivativeGroupQuadsKHR = 5289,
  171. ExecutionModeDerivativeGroupQuadsNV = 5289,
  172. ExecutionModeDerivativeGroupLinearKHR = 5290,
  173. ExecutionModeDerivativeGroupLinearNV = 5290,
  174. ExecutionModeOutputTrianglesEXT = 5298,
  175. ExecutionModeOutputTrianglesNV = 5298,
  176. ExecutionModePixelInterlockOrderedEXT = 5366,
  177. ExecutionModePixelInterlockUnorderedEXT = 5367,
  178. ExecutionModeSampleInterlockOrderedEXT = 5368,
  179. ExecutionModeSampleInterlockUnorderedEXT = 5369,
  180. ExecutionModeShadingRateInterlockOrderedEXT = 5370,
  181. ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
  182. ExecutionModeSharedLocalMemorySizeINTEL = 5618,
  183. ExecutionModeRoundingModeRTPINTEL = 5620,
  184. ExecutionModeRoundingModeRTNINTEL = 5621,
  185. ExecutionModeFloatingPointModeALTINTEL = 5622,
  186. ExecutionModeFloatingPointModeIEEEINTEL = 5623,
  187. ExecutionModeMaxWorkgroupSizeINTEL = 5893,
  188. ExecutionModeMaxWorkDimINTEL = 5894,
  189. ExecutionModeNoGlobalOffsetINTEL = 5895,
  190. ExecutionModeNumSIMDWorkitemsINTEL = 5896,
  191. ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
  192. ExecutionModeMaximallyReconvergesKHR = 6023,
  193. ExecutionModeFPFastMathDefault = 6028,
  194. ExecutionModeStreamingInterfaceINTEL = 6154,
  195. ExecutionModeRegisterMapInterfaceINTEL = 6160,
  196. ExecutionModeNamedBarrierCountINTEL = 6417,
  197. ExecutionModeMaximumRegistersINTEL = 6461,
  198. ExecutionModeMaximumRegistersIdINTEL = 6462,
  199. ExecutionModeNamedMaximumRegistersINTEL = 6463,
  200. ExecutionModeMax = 0x7fffffff,
  201. };
  202. enum StorageClass {
  203. StorageClassUniformConstant = 0,
  204. StorageClassInput = 1,
  205. StorageClassUniform = 2,
  206. StorageClassOutput = 3,
  207. StorageClassWorkgroup = 4,
  208. StorageClassCrossWorkgroup = 5,
  209. StorageClassPrivate = 6,
  210. StorageClassFunction = 7,
  211. StorageClassGeneric = 8,
  212. StorageClassPushConstant = 9,
  213. StorageClassAtomicCounter = 10,
  214. StorageClassImage = 11,
  215. StorageClassStorageBuffer = 12,
  216. StorageClassTileImageEXT = 4172,
  217. StorageClassTileAttachmentQCOM = 4491,
  218. StorageClassNodePayloadAMDX = 5068,
  219. StorageClassCallableDataKHR = 5328,
  220. StorageClassCallableDataNV = 5328,
  221. StorageClassIncomingCallableDataKHR = 5329,
  222. StorageClassIncomingCallableDataNV = 5329,
  223. StorageClassRayPayloadKHR = 5338,
  224. StorageClassRayPayloadNV = 5338,
  225. StorageClassHitAttributeKHR = 5339,
  226. StorageClassHitAttributeNV = 5339,
  227. StorageClassIncomingRayPayloadKHR = 5342,
  228. StorageClassIncomingRayPayloadNV = 5342,
  229. StorageClassShaderRecordBufferKHR = 5343,
  230. StorageClassShaderRecordBufferNV = 5343,
  231. StorageClassPhysicalStorageBuffer = 5349,
  232. StorageClassPhysicalStorageBufferEXT = 5349,
  233. StorageClassHitObjectAttributeNV = 5385,
  234. StorageClassTaskPayloadWorkgroupEXT = 5402,
  235. StorageClassCodeSectionINTEL = 5605,
  236. StorageClassDeviceOnlyINTEL = 5936,
  237. StorageClassHostOnlyINTEL = 5937,
  238. StorageClassMax = 0x7fffffff,
  239. };
  240. enum Dim {
  241. Dim1D = 0,
  242. Dim2D = 1,
  243. Dim3D = 2,
  244. DimCube = 3,
  245. DimRect = 4,
  246. DimBuffer = 5,
  247. DimSubpassData = 6,
  248. DimTileImageDataEXT = 4173,
  249. DimMax = 0x7fffffff,
  250. };
  251. enum SamplerAddressingMode {
  252. SamplerAddressingModeNone = 0,
  253. SamplerAddressingModeClampToEdge = 1,
  254. SamplerAddressingModeClamp = 2,
  255. SamplerAddressingModeRepeat = 3,
  256. SamplerAddressingModeRepeatMirrored = 4,
  257. SamplerAddressingModeMax = 0x7fffffff,
  258. };
  259. enum SamplerFilterMode {
  260. SamplerFilterModeNearest = 0,
  261. SamplerFilterModeLinear = 1,
  262. SamplerFilterModeMax = 0x7fffffff,
  263. };
  264. enum ImageFormat {
  265. ImageFormatUnknown = 0,
  266. ImageFormatRgba32f = 1,
  267. ImageFormatRgba16f = 2,
  268. ImageFormatR32f = 3,
  269. ImageFormatRgba8 = 4,
  270. ImageFormatRgba8Snorm = 5,
  271. ImageFormatRg32f = 6,
  272. ImageFormatRg16f = 7,
  273. ImageFormatR11fG11fB10f = 8,
  274. ImageFormatR16f = 9,
  275. ImageFormatRgba16 = 10,
  276. ImageFormatRgb10A2 = 11,
  277. ImageFormatRg16 = 12,
  278. ImageFormatRg8 = 13,
  279. ImageFormatR16 = 14,
  280. ImageFormatR8 = 15,
  281. ImageFormatRgba16Snorm = 16,
  282. ImageFormatRg16Snorm = 17,
  283. ImageFormatRg8Snorm = 18,
  284. ImageFormatR16Snorm = 19,
  285. ImageFormatR8Snorm = 20,
  286. ImageFormatRgba32i = 21,
  287. ImageFormatRgba16i = 22,
  288. ImageFormatRgba8i = 23,
  289. ImageFormatR32i = 24,
  290. ImageFormatRg32i = 25,
  291. ImageFormatRg16i = 26,
  292. ImageFormatRg8i = 27,
  293. ImageFormatR16i = 28,
  294. ImageFormatR8i = 29,
  295. ImageFormatRgba32ui = 30,
  296. ImageFormatRgba16ui = 31,
  297. ImageFormatRgba8ui = 32,
  298. ImageFormatR32ui = 33,
  299. ImageFormatRgb10a2ui = 34,
  300. ImageFormatRg32ui = 35,
  301. ImageFormatRg16ui = 36,
  302. ImageFormatRg8ui = 37,
  303. ImageFormatR16ui = 38,
  304. ImageFormatR8ui = 39,
  305. ImageFormatR64ui = 40,
  306. ImageFormatR64i = 41,
  307. ImageFormatMax = 0x7fffffff,
  308. };
  309. enum ImageChannelOrder {
  310. ImageChannelOrderR = 0,
  311. ImageChannelOrderA = 1,
  312. ImageChannelOrderRG = 2,
  313. ImageChannelOrderRA = 3,
  314. ImageChannelOrderRGB = 4,
  315. ImageChannelOrderRGBA = 5,
  316. ImageChannelOrderBGRA = 6,
  317. ImageChannelOrderARGB = 7,
  318. ImageChannelOrderIntensity = 8,
  319. ImageChannelOrderLuminance = 9,
  320. ImageChannelOrderRx = 10,
  321. ImageChannelOrderRGx = 11,
  322. ImageChannelOrderRGBx = 12,
  323. ImageChannelOrderDepth = 13,
  324. ImageChannelOrderDepthStencil = 14,
  325. ImageChannelOrdersRGB = 15,
  326. ImageChannelOrdersRGBx = 16,
  327. ImageChannelOrdersRGBA = 17,
  328. ImageChannelOrdersBGRA = 18,
  329. ImageChannelOrderABGR = 19,
  330. ImageChannelOrderMax = 0x7fffffff,
  331. };
  332. enum ImageChannelDataType {
  333. ImageChannelDataTypeSnormInt8 = 0,
  334. ImageChannelDataTypeSnormInt16 = 1,
  335. ImageChannelDataTypeUnormInt8 = 2,
  336. ImageChannelDataTypeUnormInt16 = 3,
  337. ImageChannelDataTypeUnormShort565 = 4,
  338. ImageChannelDataTypeUnormShort555 = 5,
  339. ImageChannelDataTypeUnormInt101010 = 6,
  340. ImageChannelDataTypeSignedInt8 = 7,
  341. ImageChannelDataTypeSignedInt16 = 8,
  342. ImageChannelDataTypeSignedInt32 = 9,
  343. ImageChannelDataTypeUnsignedInt8 = 10,
  344. ImageChannelDataTypeUnsignedInt16 = 11,
  345. ImageChannelDataTypeUnsignedInt32 = 12,
  346. ImageChannelDataTypeHalfFloat = 13,
  347. ImageChannelDataTypeFloat = 14,
  348. ImageChannelDataTypeUnormInt24 = 15,
  349. ImageChannelDataTypeUnormInt101010_2 = 16,
  350. ImageChannelDataTypeUnormInt10X6EXT = 17,
  351. ImageChannelDataTypeUnsignedIntRaw10EXT = 19,
  352. ImageChannelDataTypeUnsignedIntRaw12EXT = 20,
  353. ImageChannelDataTypeUnormInt2_101010EXT = 21,
  354. ImageChannelDataTypeUnsignedInt10X6EXT = 22,
  355. ImageChannelDataTypeUnsignedInt12X4EXT = 23,
  356. ImageChannelDataTypeUnsignedInt14X2EXT = 24,
  357. ImageChannelDataTypeUnormInt12X4EXT = 25,
  358. ImageChannelDataTypeUnormInt14X2EXT = 26,
  359. ImageChannelDataTypeMax = 0x7fffffff,
  360. };
  361. enum ImageOperandsShift {
  362. ImageOperandsBiasShift = 0,
  363. ImageOperandsLodShift = 1,
  364. ImageOperandsGradShift = 2,
  365. ImageOperandsConstOffsetShift = 3,
  366. ImageOperandsOffsetShift = 4,
  367. ImageOperandsConstOffsetsShift = 5,
  368. ImageOperandsSampleShift = 6,
  369. ImageOperandsMinLodShift = 7,
  370. ImageOperandsMakeTexelAvailableShift = 8,
  371. ImageOperandsMakeTexelAvailableKHRShift = 8,
  372. ImageOperandsMakeTexelVisibleShift = 9,
  373. ImageOperandsMakeTexelVisibleKHRShift = 9,
  374. ImageOperandsNonPrivateTexelShift = 10,
  375. ImageOperandsNonPrivateTexelKHRShift = 10,
  376. ImageOperandsVolatileTexelShift = 11,
  377. ImageOperandsVolatileTexelKHRShift = 11,
  378. ImageOperandsSignExtendShift = 12,
  379. ImageOperandsZeroExtendShift = 13,
  380. ImageOperandsNontemporalShift = 14,
  381. ImageOperandsOffsetsShift = 16,
  382. ImageOperandsMax = 0x7fffffff,
  383. };
  384. enum ImageOperandsMask {
  385. ImageOperandsMaskNone = 0,
  386. ImageOperandsBiasMask = 0x00000001,
  387. ImageOperandsLodMask = 0x00000002,
  388. ImageOperandsGradMask = 0x00000004,
  389. ImageOperandsConstOffsetMask = 0x00000008,
  390. ImageOperandsOffsetMask = 0x00000010,
  391. ImageOperandsConstOffsetsMask = 0x00000020,
  392. ImageOperandsSampleMask = 0x00000040,
  393. ImageOperandsMinLodMask = 0x00000080,
  394. ImageOperandsMakeTexelAvailableMask = 0x00000100,
  395. ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
  396. ImageOperandsMakeTexelVisibleMask = 0x00000200,
  397. ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
  398. ImageOperandsNonPrivateTexelMask = 0x00000400,
  399. ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
  400. ImageOperandsVolatileTexelMask = 0x00000800,
  401. ImageOperandsVolatileTexelKHRMask = 0x00000800,
  402. ImageOperandsSignExtendMask = 0x00001000,
  403. ImageOperandsZeroExtendMask = 0x00002000,
  404. ImageOperandsNontemporalMask = 0x00004000,
  405. ImageOperandsOffsetsMask = 0x00010000,
  406. };
  407. enum FPFastMathModeShift {
  408. FPFastMathModeNotNaNShift = 0,
  409. FPFastMathModeNotInfShift = 1,
  410. FPFastMathModeNSZShift = 2,
  411. FPFastMathModeAllowRecipShift = 3,
  412. FPFastMathModeFastShift = 4,
  413. FPFastMathModeAllowContractShift = 16,
  414. FPFastMathModeAllowContractFastINTELShift = 16,
  415. FPFastMathModeAllowReassocShift = 17,
  416. FPFastMathModeAllowReassocINTELShift = 17,
  417. FPFastMathModeAllowTransformShift = 18,
  418. FPFastMathModeMax = 0x7fffffff,
  419. };
  420. enum FPFastMathModeMask {
  421. FPFastMathModeMaskNone = 0,
  422. FPFastMathModeNotNaNMask = 0x00000001,
  423. FPFastMathModeNotInfMask = 0x00000002,
  424. FPFastMathModeNSZMask = 0x00000004,
  425. FPFastMathModeAllowRecipMask = 0x00000008,
  426. FPFastMathModeFastMask = 0x00000010,
  427. FPFastMathModeAllowContractMask = 0x00010000,
  428. FPFastMathModeAllowContractFastINTELMask = 0x00010000,
  429. FPFastMathModeAllowReassocMask = 0x00020000,
  430. FPFastMathModeAllowReassocINTELMask = 0x00020000,
  431. FPFastMathModeAllowTransformMask = 0x00040000,
  432. };
  433. enum FPRoundingMode {
  434. FPRoundingModeRTE = 0,
  435. FPRoundingModeRTZ = 1,
  436. FPRoundingModeRTP = 2,
  437. FPRoundingModeRTN = 3,
  438. FPRoundingModeMax = 0x7fffffff,
  439. };
  440. enum LinkageType {
  441. LinkageTypeExport = 0,
  442. LinkageTypeImport = 1,
  443. LinkageTypeLinkOnceODR = 2,
  444. LinkageTypeMax = 0x7fffffff,
  445. };
  446. enum AccessQualifier {
  447. AccessQualifierReadOnly = 0,
  448. AccessQualifierWriteOnly = 1,
  449. AccessQualifierReadWrite = 2,
  450. AccessQualifierMax = 0x7fffffff,
  451. };
  452. enum FunctionParameterAttribute {
  453. FunctionParameterAttributeZext = 0,
  454. FunctionParameterAttributeSext = 1,
  455. FunctionParameterAttributeByVal = 2,
  456. FunctionParameterAttributeSret = 3,
  457. FunctionParameterAttributeNoAlias = 4,
  458. FunctionParameterAttributeNoCapture = 5,
  459. FunctionParameterAttributeNoWrite = 6,
  460. FunctionParameterAttributeNoReadWrite = 7,
  461. FunctionParameterAttributeRuntimeAlignedINTEL = 5940,
  462. FunctionParameterAttributeMax = 0x7fffffff,
  463. };
  464. enum Decoration {
  465. DecorationRelaxedPrecision = 0,
  466. DecorationSpecId = 1,
  467. DecorationBlock = 2,
  468. DecorationBufferBlock = 3,
  469. DecorationRowMajor = 4,
  470. DecorationColMajor = 5,
  471. DecorationArrayStride = 6,
  472. DecorationMatrixStride = 7,
  473. DecorationGLSLShared = 8,
  474. DecorationGLSLPacked = 9,
  475. DecorationCPacked = 10,
  476. DecorationBuiltIn = 11,
  477. DecorationNoPerspective = 13,
  478. DecorationFlat = 14,
  479. DecorationPatch = 15,
  480. DecorationCentroid = 16,
  481. DecorationSample = 17,
  482. DecorationInvariant = 18,
  483. DecorationRestrict = 19,
  484. DecorationAliased = 20,
  485. DecorationVolatile = 21,
  486. DecorationConstant = 22,
  487. DecorationCoherent = 23,
  488. DecorationNonWritable = 24,
  489. DecorationNonReadable = 25,
  490. DecorationUniform = 26,
  491. DecorationUniformId = 27,
  492. DecorationSaturatedConversion = 28,
  493. DecorationStream = 29,
  494. DecorationLocation = 30,
  495. DecorationComponent = 31,
  496. DecorationIndex = 32,
  497. DecorationBinding = 33,
  498. DecorationDescriptorSet = 34,
  499. DecorationOffset = 35,
  500. DecorationXfbBuffer = 36,
  501. DecorationXfbStride = 37,
  502. DecorationFuncParamAttr = 38,
  503. DecorationFPRoundingMode = 39,
  504. DecorationFPFastMathMode = 40,
  505. DecorationLinkageAttributes = 41,
  506. DecorationNoContraction = 42,
  507. DecorationInputAttachmentIndex = 43,
  508. DecorationAlignment = 44,
  509. DecorationMaxByteOffset = 45,
  510. DecorationAlignmentId = 46,
  511. DecorationMaxByteOffsetId = 47,
  512. DecorationSaturatedToLargestFloat8NormalConversionEXT = 4216,
  513. DecorationNoSignedWrap = 4469,
  514. DecorationNoUnsignedWrap = 4470,
  515. DecorationWeightTextureQCOM = 4487,
  516. DecorationBlockMatchTextureQCOM = 4488,
  517. DecorationBlockMatchSamplerQCOM = 4499,
  518. DecorationExplicitInterpAMD = 4999,
  519. DecorationNodeSharesPayloadLimitsWithAMDX = 5019,
  520. DecorationNodeMaxPayloadsAMDX = 5020,
  521. DecorationTrackFinishWritingAMDX = 5078,
  522. DecorationPayloadNodeNameAMDX = 5091,
  523. DecorationPayloadNodeBaseIndexAMDX = 5098,
  524. DecorationPayloadNodeSparseArrayAMDX = 5099,
  525. DecorationPayloadNodeArraySizeAMDX = 5100,
  526. DecorationPayloadDispatchIndirectAMDX = 5105,
  527. DecorationOverrideCoverageNV = 5248,
  528. DecorationPassthroughNV = 5250,
  529. DecorationViewportRelativeNV = 5252,
  530. DecorationSecondaryViewportRelativeNV = 5256,
  531. DecorationPerPrimitiveEXT = 5271,
  532. DecorationPerPrimitiveNV = 5271,
  533. DecorationPerViewNV = 5272,
  534. DecorationPerTaskNV = 5273,
  535. DecorationPerVertexKHR = 5285,
  536. DecorationPerVertexNV = 5285,
  537. DecorationNonUniform = 5300,
  538. DecorationNonUniformEXT = 5300,
  539. DecorationRestrictPointer = 5355,
  540. DecorationRestrictPointerEXT = 5355,
  541. DecorationAliasedPointer = 5356,
  542. DecorationAliasedPointerEXT = 5356,
  543. DecorationHitObjectShaderRecordBufferNV = 5386,
  544. DecorationBindlessSamplerNV = 5398,
  545. DecorationBindlessImageNV = 5399,
  546. DecorationBoundSamplerNV = 5400,
  547. DecorationBoundImageNV = 5401,
  548. DecorationSIMTCallINTEL = 5599,
  549. DecorationReferencedIndirectlyINTEL = 5602,
  550. DecorationClobberINTEL = 5607,
  551. DecorationSideEffectsINTEL = 5608,
  552. DecorationVectorComputeVariableINTEL = 5624,
  553. DecorationFuncParamIOKindINTEL = 5625,
  554. DecorationVectorComputeFunctionINTEL = 5626,
  555. DecorationStackCallINTEL = 5627,
  556. DecorationGlobalVariableOffsetINTEL = 5628,
  557. DecorationCounterBuffer = 5634,
  558. DecorationHlslCounterBufferGOOGLE = 5634,
  559. DecorationHlslSemanticGOOGLE = 5635,
  560. DecorationUserSemantic = 5635,
  561. DecorationUserTypeGOOGLE = 5636,
  562. DecorationFunctionRoundingModeINTEL = 5822,
  563. DecorationFunctionDenormModeINTEL = 5823,
  564. DecorationRegisterINTEL = 5825,
  565. DecorationMemoryINTEL = 5826,
  566. DecorationNumbanksINTEL = 5827,
  567. DecorationBankwidthINTEL = 5828,
  568. DecorationMaxPrivateCopiesINTEL = 5829,
  569. DecorationSinglepumpINTEL = 5830,
  570. DecorationDoublepumpINTEL = 5831,
  571. DecorationMaxReplicatesINTEL = 5832,
  572. DecorationSimpleDualPortINTEL = 5833,
  573. DecorationMergeINTEL = 5834,
  574. DecorationBankBitsINTEL = 5835,
  575. DecorationForcePow2DepthINTEL = 5836,
  576. DecorationStridesizeINTEL = 5883,
  577. DecorationWordsizeINTEL = 5884,
  578. DecorationTrueDualPortINTEL = 5885,
  579. DecorationBurstCoalesceINTEL = 5899,
  580. DecorationCacheSizeINTEL = 5900,
  581. DecorationDontStaticallyCoalesceINTEL = 5901,
  582. DecorationPrefetchINTEL = 5902,
  583. DecorationStallEnableINTEL = 5905,
  584. DecorationFuseLoopsInFunctionINTEL = 5907,
  585. DecorationMathOpDSPModeINTEL = 5909,
  586. DecorationAliasScopeINTEL = 5914,
  587. DecorationNoAliasINTEL = 5915,
  588. DecorationInitiationIntervalINTEL = 5917,
  589. DecorationMaxConcurrencyINTEL = 5918,
  590. DecorationPipelineEnableINTEL = 5919,
  591. DecorationBufferLocationINTEL = 5921,
  592. DecorationIOPipeStorageINTEL = 5944,
  593. DecorationFunctionFloatingPointModeINTEL = 6080,
  594. DecorationSingleElementVectorINTEL = 6085,
  595. DecorationVectorComputeCallableFunctionINTEL = 6087,
  596. DecorationMediaBlockIOINTEL = 6140,
  597. DecorationStallFreeINTEL = 6151,
  598. DecorationFPMaxErrorDecorationINTEL = 6170,
  599. DecorationLatencyControlLabelINTEL = 6172,
  600. DecorationLatencyControlConstraintINTEL = 6173,
  601. DecorationConduitKernelArgumentINTEL = 6175,
  602. DecorationRegisterMapKernelArgumentINTEL = 6176,
  603. DecorationMMHostInterfaceAddressWidthINTEL = 6177,
  604. DecorationMMHostInterfaceDataWidthINTEL = 6178,
  605. DecorationMMHostInterfaceLatencyINTEL = 6179,
  606. DecorationMMHostInterfaceReadWriteModeINTEL = 6180,
  607. DecorationMMHostInterfaceMaxBurstINTEL = 6181,
  608. DecorationMMHostInterfaceWaitRequestINTEL = 6182,
  609. DecorationStableKernelArgumentINTEL = 6183,
  610. DecorationHostAccessINTEL = 6188,
  611. DecorationInitModeINTEL = 6190,
  612. DecorationImplementInRegisterMapINTEL = 6191,
  613. DecorationConditionalINTEL = 6247,
  614. DecorationCacheControlLoadINTEL = 6442,
  615. DecorationCacheControlStoreINTEL = 6443,
  616. DecorationMax = 0x7fffffff,
  617. };
  618. enum BuiltIn {
  619. BuiltInPosition = 0,
  620. BuiltInPointSize = 1,
  621. BuiltInClipDistance = 3,
  622. BuiltInCullDistance = 4,
  623. BuiltInVertexId = 5,
  624. BuiltInInstanceId = 6,
  625. BuiltInPrimitiveId = 7,
  626. BuiltInInvocationId = 8,
  627. BuiltInLayer = 9,
  628. BuiltInViewportIndex = 10,
  629. BuiltInTessLevelOuter = 11,
  630. BuiltInTessLevelInner = 12,
  631. BuiltInTessCoord = 13,
  632. BuiltInPatchVertices = 14,
  633. BuiltInFragCoord = 15,
  634. BuiltInPointCoord = 16,
  635. BuiltInFrontFacing = 17,
  636. BuiltInSampleId = 18,
  637. BuiltInSamplePosition = 19,
  638. BuiltInSampleMask = 20,
  639. BuiltInFragDepth = 22,
  640. BuiltInHelperInvocation = 23,
  641. BuiltInNumWorkgroups = 24,
  642. BuiltInWorkgroupSize = 25,
  643. BuiltInWorkgroupId = 26,
  644. BuiltInLocalInvocationId = 27,
  645. BuiltInGlobalInvocationId = 28,
  646. BuiltInLocalInvocationIndex = 29,
  647. BuiltInWorkDim = 30,
  648. BuiltInGlobalSize = 31,
  649. BuiltInEnqueuedWorkgroupSize = 32,
  650. BuiltInGlobalOffset = 33,
  651. BuiltInGlobalLinearId = 34,
  652. BuiltInSubgroupSize = 36,
  653. BuiltInSubgroupMaxSize = 37,
  654. BuiltInNumSubgroups = 38,
  655. BuiltInNumEnqueuedSubgroups = 39,
  656. BuiltInSubgroupId = 40,
  657. BuiltInSubgroupLocalInvocationId = 41,
  658. BuiltInVertexIndex = 42,
  659. BuiltInInstanceIndex = 43,
  660. BuiltInCoreIDARM = 4160,
  661. BuiltInCoreCountARM = 4161,
  662. BuiltInCoreMaxIDARM = 4162,
  663. BuiltInWarpIDARM = 4163,
  664. BuiltInWarpMaxIDARM = 4164,
  665. BuiltInSubgroupEqMask = 4416,
  666. BuiltInSubgroupEqMaskKHR = 4416,
  667. BuiltInSubgroupGeMask = 4417,
  668. BuiltInSubgroupGeMaskKHR = 4417,
  669. BuiltInSubgroupGtMask = 4418,
  670. BuiltInSubgroupGtMaskKHR = 4418,
  671. BuiltInSubgroupLeMask = 4419,
  672. BuiltInSubgroupLeMaskKHR = 4419,
  673. BuiltInSubgroupLtMask = 4420,
  674. BuiltInSubgroupLtMaskKHR = 4420,
  675. BuiltInBaseVertex = 4424,
  676. BuiltInBaseInstance = 4425,
  677. BuiltInDrawIndex = 4426,
  678. BuiltInPrimitiveShadingRateKHR = 4432,
  679. BuiltInDeviceIndex = 4438,
  680. BuiltInViewIndex = 4440,
  681. BuiltInShadingRateKHR = 4444,
  682. BuiltInTileOffsetQCOM = 4492,
  683. BuiltInTileDimensionQCOM = 4493,
  684. BuiltInTileApronSizeQCOM = 4494,
  685. BuiltInBaryCoordNoPerspAMD = 4992,
  686. BuiltInBaryCoordNoPerspCentroidAMD = 4993,
  687. BuiltInBaryCoordNoPerspSampleAMD = 4994,
  688. BuiltInBaryCoordSmoothAMD = 4995,
  689. BuiltInBaryCoordSmoothCentroidAMD = 4996,
  690. BuiltInBaryCoordSmoothSampleAMD = 4997,
  691. BuiltInBaryCoordPullModelAMD = 4998,
  692. BuiltInFragStencilRefEXT = 5014,
  693. BuiltInRemainingRecursionLevelsAMDX = 5021,
  694. BuiltInShaderIndexAMDX = 5073,
  695. BuiltInViewportMaskNV = 5253,
  696. BuiltInSecondaryPositionNV = 5257,
  697. BuiltInSecondaryViewportMaskNV = 5258,
  698. BuiltInPositionPerViewNV = 5261,
  699. BuiltInViewportMaskPerViewNV = 5262,
  700. BuiltInFullyCoveredEXT = 5264,
  701. BuiltInTaskCountNV = 5274,
  702. BuiltInPrimitiveCountNV = 5275,
  703. BuiltInPrimitiveIndicesNV = 5276,
  704. BuiltInClipDistancePerViewNV = 5277,
  705. BuiltInCullDistancePerViewNV = 5278,
  706. BuiltInLayerPerViewNV = 5279,
  707. BuiltInMeshViewCountNV = 5280,
  708. BuiltInMeshViewIndicesNV = 5281,
  709. BuiltInBaryCoordKHR = 5286,
  710. BuiltInBaryCoordNV = 5286,
  711. BuiltInBaryCoordNoPerspKHR = 5287,
  712. BuiltInBaryCoordNoPerspNV = 5287,
  713. BuiltInFragSizeEXT = 5292,
  714. BuiltInFragmentSizeNV = 5292,
  715. BuiltInFragInvocationCountEXT = 5293,
  716. BuiltInInvocationsPerPixelNV = 5293,
  717. BuiltInPrimitivePointIndicesEXT = 5294,
  718. BuiltInPrimitiveLineIndicesEXT = 5295,
  719. BuiltInPrimitiveTriangleIndicesEXT = 5296,
  720. BuiltInCullPrimitiveEXT = 5299,
  721. BuiltInLaunchIdKHR = 5319,
  722. BuiltInLaunchIdNV = 5319,
  723. BuiltInLaunchSizeKHR = 5320,
  724. BuiltInLaunchSizeNV = 5320,
  725. BuiltInWorldRayOriginKHR = 5321,
  726. BuiltInWorldRayOriginNV = 5321,
  727. BuiltInWorldRayDirectionKHR = 5322,
  728. BuiltInWorldRayDirectionNV = 5322,
  729. BuiltInObjectRayOriginKHR = 5323,
  730. BuiltInObjectRayOriginNV = 5323,
  731. BuiltInObjectRayDirectionKHR = 5324,
  732. BuiltInObjectRayDirectionNV = 5324,
  733. BuiltInRayTminKHR = 5325,
  734. BuiltInRayTminNV = 5325,
  735. BuiltInRayTmaxKHR = 5326,
  736. BuiltInRayTmaxNV = 5326,
  737. BuiltInInstanceCustomIndexKHR = 5327,
  738. BuiltInInstanceCustomIndexNV = 5327,
  739. BuiltInObjectToWorldKHR = 5330,
  740. BuiltInObjectToWorldNV = 5330,
  741. BuiltInWorldToObjectKHR = 5331,
  742. BuiltInWorldToObjectNV = 5331,
  743. BuiltInHitTNV = 5332,
  744. BuiltInHitKindKHR = 5333,
  745. BuiltInHitKindNV = 5333,
  746. BuiltInCurrentRayTimeNV = 5334,
  747. BuiltInHitTriangleVertexPositionsKHR = 5335,
  748. BuiltInHitMicroTriangleVertexPositionsNV = 5337,
  749. BuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
  750. BuiltInIncomingRayFlagsKHR = 5351,
  751. BuiltInIncomingRayFlagsNV = 5351,
  752. BuiltInRayGeometryIndexKHR = 5352,
  753. BuiltInHitIsSphereNV = 5359,
  754. BuiltInHitIsLSSNV = 5360,
  755. BuiltInHitSpherePositionNV = 5361,
  756. BuiltInWarpsPerSMNV = 5374,
  757. BuiltInSMCountNV = 5375,
  758. BuiltInWarpIDNV = 5376,
  759. BuiltInSMIDNV = 5377,
  760. BuiltInHitLSSPositionsNV = 5396,
  761. BuiltInHitKindFrontFacingMicroTriangleNV = 5405,
  762. BuiltInHitKindBackFacingMicroTriangleNV = 5406,
  763. BuiltInHitSphereRadiusNV = 5420,
  764. BuiltInHitLSSRadiiNV = 5421,
  765. BuiltInClusterIDNV = 5436,
  766. BuiltInCullMaskKHR = 6021,
  767. BuiltInMax = 0x7fffffff,
  768. };
  769. enum SelectionControlShift {
  770. SelectionControlFlattenShift = 0,
  771. SelectionControlDontFlattenShift = 1,
  772. SelectionControlMax = 0x7fffffff,
  773. };
  774. enum SelectionControlMask {
  775. SelectionControlMaskNone = 0,
  776. SelectionControlFlattenMask = 0x00000001,
  777. SelectionControlDontFlattenMask = 0x00000002,
  778. };
  779. enum LoopControlShift {
  780. LoopControlUnrollShift = 0,
  781. LoopControlDontUnrollShift = 1,
  782. LoopControlDependencyInfiniteShift = 2,
  783. LoopControlDependencyLengthShift = 3,
  784. LoopControlMinIterationsShift = 4,
  785. LoopControlMaxIterationsShift = 5,
  786. LoopControlIterationMultipleShift = 6,
  787. LoopControlPeelCountShift = 7,
  788. LoopControlPartialCountShift = 8,
  789. LoopControlInitiationIntervalINTELShift = 16,
  790. LoopControlMaxConcurrencyINTELShift = 17,
  791. LoopControlDependencyArrayINTELShift = 18,
  792. LoopControlPipelineEnableINTELShift = 19,
  793. LoopControlLoopCoalesceINTELShift = 20,
  794. LoopControlMaxInterleavingINTELShift = 21,
  795. LoopControlSpeculatedIterationsINTELShift = 22,
  796. LoopControlNoFusionINTELShift = 23,
  797. LoopControlLoopCountINTELShift = 24,
  798. LoopControlMaxReinvocationDelayINTELShift = 25,
  799. LoopControlMax = 0x7fffffff,
  800. };
  801. enum LoopControlMask {
  802. LoopControlMaskNone = 0,
  803. LoopControlUnrollMask = 0x00000001,
  804. LoopControlDontUnrollMask = 0x00000002,
  805. LoopControlDependencyInfiniteMask = 0x00000004,
  806. LoopControlDependencyLengthMask = 0x00000008,
  807. LoopControlMinIterationsMask = 0x00000010,
  808. LoopControlMaxIterationsMask = 0x00000020,
  809. LoopControlIterationMultipleMask = 0x00000040,
  810. LoopControlPeelCountMask = 0x00000080,
  811. LoopControlPartialCountMask = 0x00000100,
  812. LoopControlInitiationIntervalINTELMask = 0x00010000,
  813. LoopControlMaxConcurrencyINTELMask = 0x00020000,
  814. LoopControlDependencyArrayINTELMask = 0x00040000,
  815. LoopControlPipelineEnableINTELMask = 0x00080000,
  816. LoopControlLoopCoalesceINTELMask = 0x00100000,
  817. LoopControlMaxInterleavingINTELMask = 0x00200000,
  818. LoopControlSpeculatedIterationsINTELMask = 0x00400000,
  819. LoopControlNoFusionINTELMask = 0x00800000,
  820. LoopControlLoopCountINTELMask = 0x01000000,
  821. LoopControlMaxReinvocationDelayINTELMask = 0x02000000,
  822. };
  823. enum FunctionControlShift {
  824. FunctionControlInlineShift = 0,
  825. FunctionControlDontInlineShift = 1,
  826. FunctionControlPureShift = 2,
  827. FunctionControlConstShift = 3,
  828. FunctionControlOptNoneEXTShift = 16,
  829. FunctionControlOptNoneINTELShift = 16,
  830. FunctionControlMax = 0x7fffffff,
  831. };
  832. enum FunctionControlMask {
  833. FunctionControlMaskNone = 0,
  834. FunctionControlInlineMask = 0x00000001,
  835. FunctionControlDontInlineMask = 0x00000002,
  836. FunctionControlPureMask = 0x00000004,
  837. FunctionControlConstMask = 0x00000008,
  838. FunctionControlOptNoneEXTMask = 0x00010000,
  839. FunctionControlOptNoneINTELMask = 0x00010000,
  840. };
  841. enum MemorySemanticsShift {
  842. MemorySemanticsAcquireShift = 1,
  843. MemorySemanticsReleaseShift = 2,
  844. MemorySemanticsAcquireReleaseShift = 3,
  845. MemorySemanticsSequentiallyConsistentShift = 4,
  846. MemorySemanticsUniformMemoryShift = 6,
  847. MemorySemanticsSubgroupMemoryShift = 7,
  848. MemorySemanticsWorkgroupMemoryShift = 8,
  849. MemorySemanticsCrossWorkgroupMemoryShift = 9,
  850. MemorySemanticsAtomicCounterMemoryShift = 10,
  851. MemorySemanticsImageMemoryShift = 11,
  852. MemorySemanticsOutputMemoryShift = 12,
  853. MemorySemanticsOutputMemoryKHRShift = 12,
  854. MemorySemanticsMakeAvailableShift = 13,
  855. MemorySemanticsMakeAvailableKHRShift = 13,
  856. MemorySemanticsMakeVisibleShift = 14,
  857. MemorySemanticsMakeVisibleKHRShift = 14,
  858. MemorySemanticsVolatileShift = 15,
  859. MemorySemanticsMax = 0x7fffffff,
  860. };
  861. enum MemorySemanticsMask {
  862. MemorySemanticsMaskNone = 0,
  863. MemorySemanticsAcquireMask = 0x00000002,
  864. MemorySemanticsReleaseMask = 0x00000004,
  865. MemorySemanticsAcquireReleaseMask = 0x00000008,
  866. MemorySemanticsSequentiallyConsistentMask = 0x00000010,
  867. MemorySemanticsUniformMemoryMask = 0x00000040,
  868. MemorySemanticsSubgroupMemoryMask = 0x00000080,
  869. MemorySemanticsWorkgroupMemoryMask = 0x00000100,
  870. MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
  871. MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
  872. MemorySemanticsImageMemoryMask = 0x00000800,
  873. MemorySemanticsOutputMemoryMask = 0x00001000,
  874. MemorySemanticsOutputMemoryKHRMask = 0x00001000,
  875. MemorySemanticsMakeAvailableMask = 0x00002000,
  876. MemorySemanticsMakeAvailableKHRMask = 0x00002000,
  877. MemorySemanticsMakeVisibleMask = 0x00004000,
  878. MemorySemanticsMakeVisibleKHRMask = 0x00004000,
  879. MemorySemanticsVolatileMask = 0x00008000,
  880. };
  881. enum MemoryAccessShift {
  882. MemoryAccessVolatileShift = 0,
  883. MemoryAccessAlignedShift = 1,
  884. MemoryAccessNontemporalShift = 2,
  885. MemoryAccessMakePointerAvailableShift = 3,
  886. MemoryAccessMakePointerAvailableKHRShift = 3,
  887. MemoryAccessMakePointerVisibleShift = 4,
  888. MemoryAccessMakePointerVisibleKHRShift = 4,
  889. MemoryAccessNonPrivatePointerShift = 5,
  890. MemoryAccessNonPrivatePointerKHRShift = 5,
  891. MemoryAccessAliasScopeINTELMaskShift = 16,
  892. MemoryAccessNoAliasINTELMaskShift = 17,
  893. MemoryAccessMax = 0x7fffffff,
  894. };
  895. enum MemoryAccessMask {
  896. MemoryAccessMaskNone = 0,
  897. MemoryAccessVolatileMask = 0x00000001,
  898. MemoryAccessAlignedMask = 0x00000002,
  899. MemoryAccessNontemporalMask = 0x00000004,
  900. MemoryAccessMakePointerAvailableMask = 0x00000008,
  901. MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
  902. MemoryAccessMakePointerVisibleMask = 0x00000010,
  903. MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
  904. MemoryAccessNonPrivatePointerMask = 0x00000020,
  905. MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
  906. MemoryAccessAliasScopeINTELMaskMask = 0x00010000,
  907. MemoryAccessNoAliasINTELMaskMask = 0x00020000,
  908. };
  909. enum Scope {
  910. ScopeCrossDevice = 0,
  911. ScopeDevice = 1,
  912. ScopeWorkgroup = 2,
  913. ScopeSubgroup = 3,
  914. ScopeInvocation = 4,
  915. ScopeQueueFamily = 5,
  916. ScopeQueueFamilyKHR = 5,
  917. ScopeShaderCallKHR = 6,
  918. ScopeMax = 0x7fffffff,
  919. };
  920. enum GroupOperation {
  921. GroupOperationReduce = 0,
  922. GroupOperationInclusiveScan = 1,
  923. GroupOperationExclusiveScan = 2,
  924. GroupOperationClusteredReduce = 3,
  925. GroupOperationPartitionedReduceNV = 6,
  926. GroupOperationPartitionedInclusiveScanNV = 7,
  927. GroupOperationPartitionedExclusiveScanNV = 8,
  928. GroupOperationMax = 0x7fffffff,
  929. };
  930. enum KernelEnqueueFlags {
  931. KernelEnqueueFlagsNoWait = 0,
  932. KernelEnqueueFlagsWaitKernel = 1,
  933. KernelEnqueueFlagsWaitWorkGroup = 2,
  934. KernelEnqueueFlagsMax = 0x7fffffff,
  935. };
  936. enum KernelProfilingInfoShift {
  937. KernelProfilingInfoCmdExecTimeShift = 0,
  938. KernelProfilingInfoMax = 0x7fffffff,
  939. };
  940. enum KernelProfilingInfoMask {
  941. KernelProfilingInfoMaskNone = 0,
  942. KernelProfilingInfoCmdExecTimeMask = 0x00000001,
  943. };
  944. enum Capability {
  945. CapabilityMatrix = 0,
  946. CapabilityShader = 1,
  947. CapabilityGeometry = 2,
  948. CapabilityTessellation = 3,
  949. CapabilityAddresses = 4,
  950. CapabilityLinkage = 5,
  951. CapabilityKernel = 6,
  952. CapabilityVector16 = 7,
  953. CapabilityFloat16Buffer = 8,
  954. CapabilityFloat16 = 9,
  955. CapabilityFloat64 = 10,
  956. CapabilityInt64 = 11,
  957. CapabilityInt64Atomics = 12,
  958. CapabilityImageBasic = 13,
  959. CapabilityImageReadWrite = 14,
  960. CapabilityImageMipmap = 15,
  961. CapabilityPipes = 17,
  962. CapabilityGroups = 18,
  963. CapabilityDeviceEnqueue = 19,
  964. CapabilityLiteralSampler = 20,
  965. CapabilityAtomicStorage = 21,
  966. CapabilityInt16 = 22,
  967. CapabilityTessellationPointSize = 23,
  968. CapabilityGeometryPointSize = 24,
  969. CapabilityImageGatherExtended = 25,
  970. CapabilityStorageImageMultisample = 27,
  971. CapabilityUniformBufferArrayDynamicIndexing = 28,
  972. CapabilitySampledImageArrayDynamicIndexing = 29,
  973. CapabilityStorageBufferArrayDynamicIndexing = 30,
  974. CapabilityStorageImageArrayDynamicIndexing = 31,
  975. CapabilityClipDistance = 32,
  976. CapabilityCullDistance = 33,
  977. CapabilityImageCubeArray = 34,
  978. CapabilitySampleRateShading = 35,
  979. CapabilityImageRect = 36,
  980. CapabilitySampledRect = 37,
  981. CapabilityGenericPointer = 38,
  982. CapabilityInt8 = 39,
  983. CapabilityInputAttachment = 40,
  984. CapabilitySparseResidency = 41,
  985. CapabilityMinLod = 42,
  986. CapabilitySampled1D = 43,
  987. CapabilityImage1D = 44,
  988. CapabilitySampledCubeArray = 45,
  989. CapabilitySampledBuffer = 46,
  990. CapabilityImageBuffer = 47,
  991. CapabilityImageMSArray = 48,
  992. CapabilityStorageImageExtendedFormats = 49,
  993. CapabilityImageQuery = 50,
  994. CapabilityDerivativeControl = 51,
  995. CapabilityInterpolationFunction = 52,
  996. CapabilityTransformFeedback = 53,
  997. CapabilityGeometryStreams = 54,
  998. CapabilityStorageImageReadWithoutFormat = 55,
  999. CapabilityStorageImageWriteWithoutFormat = 56,
  1000. CapabilityMultiViewport = 57,
  1001. CapabilitySubgroupDispatch = 58,
  1002. CapabilityNamedBarrier = 59,
  1003. CapabilityPipeStorage = 60,
  1004. CapabilityGroupNonUniform = 61,
  1005. CapabilityGroupNonUniformVote = 62,
  1006. CapabilityGroupNonUniformArithmetic = 63,
  1007. CapabilityGroupNonUniformBallot = 64,
  1008. CapabilityGroupNonUniformShuffle = 65,
  1009. CapabilityGroupNonUniformShuffleRelative = 66,
  1010. CapabilityGroupNonUniformClustered = 67,
  1011. CapabilityGroupNonUniformQuad = 68,
  1012. CapabilityShaderLayer = 69,
  1013. CapabilityShaderViewportIndex = 70,
  1014. CapabilityUniformDecoration = 71,
  1015. CapabilityCoreBuiltinsARM = 4165,
  1016. CapabilityTileImageColorReadAccessEXT = 4166,
  1017. CapabilityTileImageDepthReadAccessEXT = 4167,
  1018. CapabilityTileImageStencilReadAccessEXT = 4168,
  1019. CapabilityTensorsARM = 4174,
  1020. CapabilityStorageTensorArrayDynamicIndexingARM = 4175,
  1021. CapabilityStorageTensorArrayNonUniformIndexingARM = 4176,
  1022. CapabilityGraphARM = 4191,
  1023. CapabilityCooperativeMatrixLayoutsARM = 4201,
  1024. CapabilityFloat8EXT = 4212,
  1025. CapabilityFloat8CooperativeMatrixEXT = 4213,
  1026. CapabilityFragmentShadingRateKHR = 4422,
  1027. CapabilitySubgroupBallotKHR = 4423,
  1028. CapabilityDrawParameters = 4427,
  1029. CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
  1030. CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
  1031. CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
  1032. CapabilitySubgroupVoteKHR = 4431,
  1033. CapabilityStorageBuffer16BitAccess = 4433,
  1034. CapabilityStorageUniformBufferBlock16 = 4433,
  1035. CapabilityStorageUniform16 = 4434,
  1036. CapabilityUniformAndStorageBuffer16BitAccess = 4434,
  1037. CapabilityStoragePushConstant16 = 4435,
  1038. CapabilityStorageInputOutput16 = 4436,
  1039. CapabilityDeviceGroup = 4437,
  1040. CapabilityMultiView = 4439,
  1041. CapabilityVariablePointersStorageBuffer = 4441,
  1042. CapabilityVariablePointers = 4442,
  1043. CapabilityAtomicStorageOps = 4445,
  1044. CapabilitySampleMaskPostDepthCoverage = 4447,
  1045. CapabilityStorageBuffer8BitAccess = 4448,
  1046. CapabilityUniformAndStorageBuffer8BitAccess = 4449,
  1047. CapabilityStoragePushConstant8 = 4450,
  1048. CapabilityDenormPreserve = 4464,
  1049. CapabilityDenormFlushToZero = 4465,
  1050. CapabilitySignedZeroInfNanPreserve = 4466,
  1051. CapabilityRoundingModeRTE = 4467,
  1052. CapabilityRoundingModeRTZ = 4468,
  1053. CapabilityRayQueryProvisionalKHR = 4471,
  1054. CapabilityRayQueryKHR = 4472,
  1055. CapabilityUntypedPointersKHR = 4473,
  1056. CapabilityRayTraversalPrimitiveCullingKHR = 4478,
  1057. CapabilityRayTracingKHR = 4479,
  1058. CapabilityTextureSampleWeightedQCOM = 4484,
  1059. CapabilityTextureBoxFilterQCOM = 4485,
  1060. CapabilityTextureBlockMatchQCOM = 4486,
  1061. CapabilityTileShadingQCOM = 4495,
  1062. CapabilityCooperativeMatrixConversionQCOM = 4496,
  1063. CapabilityTextureBlockMatch2QCOM = 4498,
  1064. CapabilityFloat16ImageAMD = 5008,
  1065. CapabilityImageGatherBiasLodAMD = 5009,
  1066. CapabilityFragmentMaskAMD = 5010,
  1067. CapabilityStencilExportEXT = 5013,
  1068. CapabilityImageReadWriteLodAMD = 5015,
  1069. CapabilityInt64ImageEXT = 5016,
  1070. CapabilityShaderClockKHR = 5055,
  1071. CapabilityShaderEnqueueAMDX = 5067,
  1072. CapabilityQuadControlKHR = 5087,
  1073. CapabilityInt4TypeINTEL = 5112,
  1074. CapabilityInt4CooperativeMatrixINTEL = 5114,
  1075. CapabilityBFloat16TypeKHR = 5116,
  1076. CapabilityBFloat16DotProductKHR = 5117,
  1077. CapabilityBFloat16CooperativeMatrixKHR = 5118,
  1078. CapabilitySampleMaskOverrideCoverageNV = 5249,
  1079. CapabilityGeometryShaderPassthroughNV = 5251,
  1080. CapabilityShaderViewportIndexLayerEXT = 5254,
  1081. CapabilityShaderViewportIndexLayerNV = 5254,
  1082. CapabilityShaderViewportMaskNV = 5255,
  1083. CapabilityShaderStereoViewNV = 5259,
  1084. CapabilityPerViewAttributesNV = 5260,
  1085. CapabilityFragmentFullyCoveredEXT = 5265,
  1086. CapabilityMeshShadingNV = 5266,
  1087. CapabilityImageFootprintNV = 5282,
  1088. CapabilityMeshShadingEXT = 5283,
  1089. CapabilityFragmentBarycentricKHR = 5284,
  1090. CapabilityFragmentBarycentricNV = 5284,
  1091. CapabilityComputeDerivativeGroupQuadsKHR = 5288,
  1092. CapabilityComputeDerivativeGroupQuadsNV = 5288,
  1093. CapabilityFragmentDensityEXT = 5291,
  1094. CapabilityShadingRateNV = 5291,
  1095. CapabilityGroupNonUniformPartitionedNV = 5297,
  1096. CapabilityShaderNonUniform = 5301,
  1097. CapabilityShaderNonUniformEXT = 5301,
  1098. CapabilityRuntimeDescriptorArray = 5302,
  1099. CapabilityRuntimeDescriptorArrayEXT = 5302,
  1100. CapabilityInputAttachmentArrayDynamicIndexing = 5303,
  1101. CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
  1102. CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
  1103. CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
  1104. CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
  1105. CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
  1106. CapabilityUniformBufferArrayNonUniformIndexing = 5306,
  1107. CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
  1108. CapabilitySampledImageArrayNonUniformIndexing = 5307,
  1109. CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
  1110. CapabilityStorageBufferArrayNonUniformIndexing = 5308,
  1111. CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
  1112. CapabilityStorageImageArrayNonUniformIndexing = 5309,
  1113. CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
  1114. CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
  1115. CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
  1116. CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
  1117. CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
  1118. CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
  1119. CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
  1120. CapabilityRayTracingPositionFetchKHR = 5336,
  1121. CapabilityRayTracingNV = 5340,
  1122. CapabilityRayTracingMotionBlurNV = 5341,
  1123. CapabilityVulkanMemoryModel = 5345,
  1124. CapabilityVulkanMemoryModelKHR = 5345,
  1125. CapabilityVulkanMemoryModelDeviceScope = 5346,
  1126. CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
  1127. CapabilityPhysicalStorageBufferAddresses = 5347,
  1128. CapabilityPhysicalStorageBufferAddressesEXT = 5347,
  1129. CapabilityComputeDerivativeGroupLinearKHR = 5350,
  1130. CapabilityComputeDerivativeGroupLinearNV = 5350,
  1131. CapabilityRayTracingProvisionalKHR = 5353,
  1132. CapabilityCooperativeMatrixNV = 5357,
  1133. CapabilityFragmentShaderSampleInterlockEXT = 5363,
  1134. CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
  1135. CapabilityShaderSMBuiltinsNV = 5373,
  1136. CapabilityFragmentShaderPixelInterlockEXT = 5378,
  1137. CapabilityDemoteToHelperInvocation = 5379,
  1138. CapabilityDemoteToHelperInvocationEXT = 5379,
  1139. CapabilityDisplacementMicromapNV = 5380,
  1140. CapabilityRayTracingOpacityMicromapEXT = 5381,
  1141. CapabilityShaderInvocationReorderNV = 5383,
  1142. CapabilityBindlessTextureNV = 5390,
  1143. CapabilityRayQueryPositionFetchKHR = 5391,
  1144. CapabilityCooperativeVectorNV = 5394,
  1145. CapabilityAtomicFloat16VectorNV = 5404,
  1146. CapabilityRayTracingDisplacementMicromapNV = 5409,
  1147. CapabilityRawAccessChainsNV = 5414,
  1148. CapabilityRayTracingSpheresGeometryNV = 5418,
  1149. CapabilityRayTracingLinearSweptSpheresGeometryNV = 5419,
  1150. CapabilityCooperativeMatrixReductionsNV = 5430,
  1151. CapabilityCooperativeMatrixConversionsNV = 5431,
  1152. CapabilityCooperativeMatrixPerElementOperationsNV = 5432,
  1153. CapabilityCooperativeMatrixTensorAddressingNV = 5433,
  1154. CapabilityCooperativeMatrixBlockLoadsNV = 5434,
  1155. CapabilityCooperativeVectorTrainingNV = 5435,
  1156. CapabilityRayTracingClusterAccelerationStructureNV = 5437,
  1157. CapabilityTensorAddressingNV = 5439,
  1158. CapabilitySubgroupShuffleINTEL = 5568,
  1159. CapabilitySubgroupBufferBlockIOINTEL = 5569,
  1160. CapabilitySubgroupImageBlockIOINTEL = 5570,
  1161. CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
  1162. CapabilityRoundToInfinityINTEL = 5582,
  1163. CapabilityFloatingPointModeINTEL = 5583,
  1164. CapabilityIntegerFunctions2INTEL = 5584,
  1165. CapabilityFunctionPointersINTEL = 5603,
  1166. CapabilityIndirectReferencesINTEL = 5604,
  1167. CapabilityAsmINTEL = 5606,
  1168. CapabilityAtomicFloat32MinMaxEXT = 5612,
  1169. CapabilityAtomicFloat64MinMaxEXT = 5613,
  1170. CapabilityAtomicFloat16MinMaxEXT = 5616,
  1171. CapabilityVectorComputeINTEL = 5617,
  1172. CapabilityVectorAnyINTEL = 5619,
  1173. CapabilityExpectAssumeKHR = 5629,
  1174. CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
  1175. CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
  1176. CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
  1177. CapabilityVariableLengthArrayINTEL = 5817,
  1178. CapabilityFunctionFloatControlINTEL = 5821,
  1179. CapabilityFPGAMemoryAttributesINTEL = 5824,
  1180. CapabilityFPFastMathModeINTEL = 5837,
  1181. CapabilityArbitraryPrecisionIntegersINTEL = 5844,
  1182. CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
  1183. CapabilityUnstructuredLoopControlsINTEL = 5886,
  1184. CapabilityFPGALoopControlsINTEL = 5888,
  1185. CapabilityKernelAttributesINTEL = 5892,
  1186. CapabilityFPGAKernelAttributesINTEL = 5897,
  1187. CapabilityFPGAMemoryAccessesINTEL = 5898,
  1188. CapabilityFPGAClusterAttributesINTEL = 5904,
  1189. CapabilityLoopFuseINTEL = 5906,
  1190. CapabilityFPGADSPControlINTEL = 5908,
  1191. CapabilityMemoryAccessAliasingINTEL = 5910,
  1192. CapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,
  1193. CapabilityFPGABufferLocationINTEL = 5920,
  1194. CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
  1195. CapabilityUSMStorageClassesINTEL = 5935,
  1196. CapabilityRuntimeAlignedAttributeINTEL = 5939,
  1197. CapabilityIOPipesINTEL = 5943,
  1198. CapabilityBlockingPipesINTEL = 5945,
  1199. CapabilityFPGARegINTEL = 5948,
  1200. CapabilityDotProductInputAll = 6016,
  1201. CapabilityDotProductInputAllKHR = 6016,
  1202. CapabilityDotProductInput4x8Bit = 6017,
  1203. CapabilityDotProductInput4x8BitKHR = 6017,
  1204. CapabilityDotProductInput4x8BitPacked = 6018,
  1205. CapabilityDotProductInput4x8BitPackedKHR = 6018,
  1206. CapabilityDotProduct = 6019,
  1207. CapabilityDotProductKHR = 6019,
  1208. CapabilityRayCullMaskKHR = 6020,
  1209. CapabilityCooperativeMatrixKHR = 6022,
  1210. CapabilityReplicatedCompositesEXT = 6024,
  1211. CapabilityBitInstructions = 6025,
  1212. CapabilityGroupNonUniformRotateKHR = 6026,
  1213. CapabilityFloatControls2 = 6029,
  1214. CapabilityFMAKHR = 6030,
  1215. CapabilityAtomicFloat32AddEXT = 6033,
  1216. CapabilityAtomicFloat64AddEXT = 6034,
  1217. CapabilityLongCompositesINTEL = 6089,
  1218. CapabilityOptNoneEXT = 6094,
  1219. CapabilityOptNoneINTEL = 6094,
  1220. CapabilityAtomicFloat16AddEXT = 6095,
  1221. CapabilityDebugInfoModuleINTEL = 6114,
  1222. CapabilityBFloat16ConversionINTEL = 6115,
  1223. CapabilitySplitBarrierINTEL = 6141,
  1224. CapabilityArithmeticFenceEXT = 6144,
  1225. CapabilityFPGAClusterAttributesV2INTEL = 6150,
  1226. CapabilityFPGAKernelAttributesv2INTEL = 6161,
  1227. CapabilityTaskSequenceINTEL = 6162,
  1228. CapabilityFPMaxErrorINTEL = 6169,
  1229. CapabilityFPGALatencyControlINTEL = 6171,
  1230. CapabilityFPGAArgumentInterfacesINTEL = 6174,
  1231. CapabilityGlobalVariableHostAccessINTEL = 6187,
  1232. CapabilityGlobalVariableFPGADecorationsINTEL = 6189,
  1233. CapabilitySubgroupBufferPrefetchINTEL = 6220,
  1234. CapabilitySubgroup2DBlockIOINTEL = 6228,
  1235. CapabilitySubgroup2DBlockTransformINTEL = 6229,
  1236. CapabilitySubgroup2DBlockTransposeINTEL = 6230,
  1237. CapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,
  1238. CapabilityTernaryBitwiseFunctionINTEL = 6241,
  1239. CapabilityUntypedVariableLengthArrayINTEL = 6243,
  1240. CapabilitySpecConditionalINTEL = 6245,
  1241. CapabilityFunctionVariantsINTEL = 6246,
  1242. CapabilityGroupUniformArithmeticKHR = 6400,
  1243. CapabilityTensorFloat32RoundingINTEL = 6425,
  1244. CapabilityMaskedGatherScatterINTEL = 6427,
  1245. CapabilityCacheControlsINTEL = 6441,
  1246. CapabilityRegisterLimitsINTEL = 6460,
  1247. CapabilityBindlessImagesINTEL = 6528,
  1248. CapabilityMax = 0x7fffffff,
  1249. };
  1250. enum RayFlagsShift {
  1251. RayFlagsOpaqueKHRShift = 0,
  1252. RayFlagsNoOpaqueKHRShift = 1,
  1253. RayFlagsTerminateOnFirstHitKHRShift = 2,
  1254. RayFlagsSkipClosestHitShaderKHRShift = 3,
  1255. RayFlagsCullBackFacingTrianglesKHRShift = 4,
  1256. RayFlagsCullFrontFacingTrianglesKHRShift = 5,
  1257. RayFlagsCullOpaqueKHRShift = 6,
  1258. RayFlagsCullNoOpaqueKHRShift = 7,
  1259. RayFlagsSkipBuiltinPrimitivesNVShift = 8,
  1260. RayFlagsSkipTrianglesKHRShift = 8,
  1261. RayFlagsSkipAABBsKHRShift = 9,
  1262. RayFlagsForceOpacityMicromap2StateEXTShift = 10,
  1263. RayFlagsMax = 0x7fffffff,
  1264. };
  1265. enum RayFlagsMask {
  1266. RayFlagsMaskNone = 0,
  1267. RayFlagsOpaqueKHRMask = 0x00000001,
  1268. RayFlagsNoOpaqueKHRMask = 0x00000002,
  1269. RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
  1270. RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
  1271. RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
  1272. RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
  1273. RayFlagsCullOpaqueKHRMask = 0x00000040,
  1274. RayFlagsCullNoOpaqueKHRMask = 0x00000080,
  1275. RayFlagsSkipBuiltinPrimitivesNVMask = 0x00000100,
  1276. RayFlagsSkipTrianglesKHRMask = 0x00000100,
  1277. RayFlagsSkipAABBsKHRMask = 0x00000200,
  1278. RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
  1279. };
  1280. enum RayQueryIntersection {
  1281. RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
  1282. RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
  1283. RayQueryIntersectionMax = 0x7fffffff,
  1284. };
  1285. enum RayQueryCommittedIntersectionType {
  1286. RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
  1287. RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
  1288. RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
  1289. RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
  1290. };
  1291. enum RayQueryCandidateIntersectionType {
  1292. RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
  1293. RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
  1294. RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
  1295. };
  1296. enum FragmentShadingRateShift {
  1297. FragmentShadingRateVertical2PixelsShift = 0,
  1298. FragmentShadingRateVertical4PixelsShift = 1,
  1299. FragmentShadingRateHorizontal2PixelsShift = 2,
  1300. FragmentShadingRateHorizontal4PixelsShift = 3,
  1301. FragmentShadingRateMax = 0x7fffffff,
  1302. };
  1303. enum FragmentShadingRateMask {
  1304. FragmentShadingRateMaskNone = 0,
  1305. FragmentShadingRateVertical2PixelsMask = 0x00000001,
  1306. FragmentShadingRateVertical4PixelsMask = 0x00000002,
  1307. FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
  1308. FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
  1309. };
  1310. enum FPDenormMode {
  1311. FPDenormModePreserve = 0,
  1312. FPDenormModeFlushToZero = 1,
  1313. FPDenormModeMax = 0x7fffffff,
  1314. };
  1315. enum FPOperationMode {
  1316. FPOperationModeIEEE = 0,
  1317. FPOperationModeALT = 1,
  1318. FPOperationModeMax = 0x7fffffff,
  1319. };
  1320. enum QuantizationModes {
  1321. QuantizationModesTRN = 0,
  1322. QuantizationModesTRN_ZERO = 1,
  1323. QuantizationModesRND = 2,
  1324. QuantizationModesRND_ZERO = 3,
  1325. QuantizationModesRND_INF = 4,
  1326. QuantizationModesRND_MIN_INF = 5,
  1327. QuantizationModesRND_CONV = 6,
  1328. QuantizationModesRND_CONV_ODD = 7,
  1329. QuantizationModesMax = 0x7fffffff,
  1330. };
  1331. enum OverflowModes {
  1332. OverflowModesWRAP = 0,
  1333. OverflowModesSAT = 1,
  1334. OverflowModesSAT_ZERO = 2,
  1335. OverflowModesSAT_SYM = 3,
  1336. OverflowModesMax = 0x7fffffff,
  1337. };
  1338. enum PackedVectorFormat {
  1339. PackedVectorFormatPackedVectorFormat4x8Bit = 0,
  1340. PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
  1341. PackedVectorFormatMax = 0x7fffffff,
  1342. };
  1343. enum CooperativeMatrixOperandsShift {
  1344. CooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,
  1345. CooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,
  1346. CooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,
  1347. CooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,
  1348. CooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,
  1349. CooperativeMatrixOperandsMax = 0x7fffffff,
  1350. };
  1351. enum CooperativeMatrixOperandsMask {
  1352. CooperativeMatrixOperandsMaskNone = 0,
  1353. CooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,
  1354. CooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,
  1355. CooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,
  1356. CooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,
  1357. CooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,
  1358. };
  1359. enum CooperativeMatrixLayout {
  1360. CooperativeMatrixLayoutRowMajorKHR = 0,
  1361. CooperativeMatrixLayoutColumnMajorKHR = 1,
  1362. CooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,
  1363. CooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,
  1364. CooperativeMatrixLayoutMax = 0x7fffffff,
  1365. };
  1366. enum CooperativeMatrixUse {
  1367. CooperativeMatrixUseMatrixAKHR = 0,
  1368. CooperativeMatrixUseMatrixBKHR = 1,
  1369. CooperativeMatrixUseMatrixAccumulatorKHR = 2,
  1370. CooperativeMatrixUseMax = 0x7fffffff,
  1371. };
  1372. enum CooperativeMatrixReduceShift {
  1373. CooperativeMatrixReduceRowShift = 0,
  1374. CooperativeMatrixReduceColumnShift = 1,
  1375. CooperativeMatrixReduce2x2Shift = 2,
  1376. CooperativeMatrixReduceMax = 0x7fffffff,
  1377. };
  1378. enum CooperativeMatrixReduceMask {
  1379. CooperativeMatrixReduceMaskNone = 0,
  1380. CooperativeMatrixReduceRowMask = 0x00000001,
  1381. CooperativeMatrixReduceColumnMask = 0x00000002,
  1382. CooperativeMatrixReduce2x2Mask = 0x00000004,
  1383. };
  1384. enum TensorClampMode {
  1385. TensorClampModeUndefined = 0,
  1386. TensorClampModeConstant = 1,
  1387. TensorClampModeClampToEdge = 2,
  1388. TensorClampModeRepeat = 3,
  1389. TensorClampModeRepeatMirrored = 4,
  1390. TensorClampModeMax = 0x7fffffff,
  1391. };
  1392. enum TensorAddressingOperandsShift {
  1393. TensorAddressingOperandsTensorViewShift = 0,
  1394. TensorAddressingOperandsDecodeFuncShift = 1,
  1395. TensorAddressingOperandsMax = 0x7fffffff,
  1396. };
  1397. enum TensorAddressingOperandsMask {
  1398. TensorAddressingOperandsMaskNone = 0,
  1399. TensorAddressingOperandsTensorViewMask = 0x00000001,
  1400. TensorAddressingOperandsDecodeFuncMask = 0x00000002,
  1401. };
  1402. enum TensorOperandsShift {
  1403. TensorOperandsNontemporalARMShift = 0,
  1404. TensorOperandsOutOfBoundsValueARMShift = 1,
  1405. TensorOperandsMakeElementAvailableARMShift = 2,
  1406. TensorOperandsMakeElementVisibleARMShift = 3,
  1407. TensorOperandsNonPrivateElementARMShift = 4,
  1408. TensorOperandsMax = 0x7fffffff,
  1409. };
  1410. enum TensorOperandsMask {
  1411. TensorOperandsMaskNone = 0,
  1412. TensorOperandsNontemporalARMMask = 0x00000001,
  1413. TensorOperandsOutOfBoundsValueARMMask = 0x00000002,
  1414. TensorOperandsMakeElementAvailableARMMask = 0x00000004,
  1415. TensorOperandsMakeElementVisibleARMMask = 0x00000008,
  1416. TensorOperandsNonPrivateElementARMMask = 0x00000010,
  1417. };
  1418. enum InitializationModeQualifier {
  1419. InitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
  1420. InitializationModeQualifierInitOnDeviceResetINTEL = 1,
  1421. InitializationModeQualifierMax = 0x7fffffff,
  1422. };
  1423. enum HostAccessQualifier {
  1424. HostAccessQualifierNoneINTEL = 0,
  1425. HostAccessQualifierReadINTEL = 1,
  1426. HostAccessQualifierWriteINTEL = 2,
  1427. HostAccessQualifierReadWriteINTEL = 3,
  1428. HostAccessQualifierMax = 0x7fffffff,
  1429. };
  1430. enum LoadCacheControl {
  1431. LoadCacheControlUncachedINTEL = 0,
  1432. LoadCacheControlCachedINTEL = 1,
  1433. LoadCacheControlStreamingINTEL = 2,
  1434. LoadCacheControlInvalidateAfterReadINTEL = 3,
  1435. LoadCacheControlConstCachedINTEL = 4,
  1436. LoadCacheControlMax = 0x7fffffff,
  1437. };
  1438. enum StoreCacheControl {
  1439. StoreCacheControlUncachedINTEL = 0,
  1440. StoreCacheControlWriteThroughINTEL = 1,
  1441. StoreCacheControlWriteBackINTEL = 2,
  1442. StoreCacheControlStreamingINTEL = 3,
  1443. StoreCacheControlMax = 0x7fffffff,
  1444. };
  1445. enum NamedMaximumNumberOfRegisters {
  1446. NamedMaximumNumberOfRegistersAutoINTEL = 0,
  1447. NamedMaximumNumberOfRegistersMax = 0x7fffffff,
  1448. };
  1449. enum MatrixMultiplyAccumulateOperandsShift {
  1450. MatrixMultiplyAccumulateOperandsMatrixASignedComponentsINTELShift = 0,
  1451. MatrixMultiplyAccumulateOperandsMatrixBSignedComponentsINTELShift = 1,
  1452. MatrixMultiplyAccumulateOperandsMatrixCBFloat16INTELShift = 2,
  1453. MatrixMultiplyAccumulateOperandsMatrixResultBFloat16INTELShift = 3,
  1454. MatrixMultiplyAccumulateOperandsMatrixAPackedInt8INTELShift = 4,
  1455. MatrixMultiplyAccumulateOperandsMatrixBPackedInt8INTELShift = 5,
  1456. MatrixMultiplyAccumulateOperandsMatrixAPackedInt4INTELShift = 6,
  1457. MatrixMultiplyAccumulateOperandsMatrixBPackedInt4INTELShift = 7,
  1458. MatrixMultiplyAccumulateOperandsMatrixATF32INTELShift = 8,
  1459. MatrixMultiplyAccumulateOperandsMatrixBTF32INTELShift = 9,
  1460. MatrixMultiplyAccumulateOperandsMatrixAPackedFloat16INTELShift = 10,
  1461. MatrixMultiplyAccumulateOperandsMatrixBPackedFloat16INTELShift = 11,
  1462. MatrixMultiplyAccumulateOperandsMatrixAPackedBFloat16INTELShift = 12,
  1463. MatrixMultiplyAccumulateOperandsMatrixBPackedBFloat16INTELShift = 13,
  1464. MatrixMultiplyAccumulateOperandsMax = 0x7fffffff,
  1465. };
  1466. enum MatrixMultiplyAccumulateOperandsMask {
  1467. MatrixMultiplyAccumulateOperandsMaskNone = 0,
  1468. MatrixMultiplyAccumulateOperandsMatrixASignedComponentsINTELMask = 0x00000001,
  1469. MatrixMultiplyAccumulateOperandsMatrixBSignedComponentsINTELMask = 0x00000002,
  1470. MatrixMultiplyAccumulateOperandsMatrixCBFloat16INTELMask = 0x00000004,
  1471. MatrixMultiplyAccumulateOperandsMatrixResultBFloat16INTELMask = 0x00000008,
  1472. MatrixMultiplyAccumulateOperandsMatrixAPackedInt8INTELMask = 0x00000010,
  1473. MatrixMultiplyAccumulateOperandsMatrixBPackedInt8INTELMask = 0x00000020,
  1474. MatrixMultiplyAccumulateOperandsMatrixAPackedInt4INTELMask = 0x00000040,
  1475. MatrixMultiplyAccumulateOperandsMatrixBPackedInt4INTELMask = 0x00000080,
  1476. MatrixMultiplyAccumulateOperandsMatrixATF32INTELMask = 0x00000100,
  1477. MatrixMultiplyAccumulateOperandsMatrixBTF32INTELMask = 0x00000200,
  1478. MatrixMultiplyAccumulateOperandsMatrixAPackedFloat16INTELMask = 0x00000400,
  1479. MatrixMultiplyAccumulateOperandsMatrixBPackedFloat16INTELMask = 0x00000800,
  1480. MatrixMultiplyAccumulateOperandsMatrixAPackedBFloat16INTELMask = 0x00001000,
  1481. MatrixMultiplyAccumulateOperandsMatrixBPackedBFloat16INTELMask = 0x00002000,
  1482. };
  1483. enum RawAccessChainOperandsShift {
  1484. RawAccessChainOperandsRobustnessPerComponentNVShift = 0,
  1485. RawAccessChainOperandsRobustnessPerElementNVShift = 1,
  1486. RawAccessChainOperandsMax = 0x7fffffff,
  1487. };
  1488. enum RawAccessChainOperandsMask {
  1489. RawAccessChainOperandsMaskNone = 0,
  1490. RawAccessChainOperandsRobustnessPerComponentNVMask = 0x00000001,
  1491. RawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
  1492. };
  1493. enum FPEncoding {
  1494. FPEncodingBFloat16KHR = 0,
  1495. FPEncodingFloat8E4M3EXT = 4214,
  1496. FPEncodingFloat8E5M2EXT = 4215,
  1497. FPEncodingMax = 0x7fffffff,
  1498. };
  1499. enum CooperativeVectorMatrixLayout {
  1500. CooperativeVectorMatrixLayoutRowMajorNV = 0,
  1501. CooperativeVectorMatrixLayoutColumnMajorNV = 1,
  1502. CooperativeVectorMatrixLayoutInferencingOptimalNV = 2,
  1503. CooperativeVectorMatrixLayoutTrainingOptimalNV = 3,
  1504. CooperativeVectorMatrixLayoutMax = 0x7fffffff,
  1505. };
  1506. enum ComponentType {
  1507. ComponentTypeFloat16NV = 0,
  1508. ComponentTypeFloat32NV = 1,
  1509. ComponentTypeFloat64NV = 2,
  1510. ComponentTypeSignedInt8NV = 3,
  1511. ComponentTypeSignedInt16NV = 4,
  1512. ComponentTypeSignedInt32NV = 5,
  1513. ComponentTypeSignedInt64NV = 6,
  1514. ComponentTypeUnsignedInt8NV = 7,
  1515. ComponentTypeUnsignedInt16NV = 8,
  1516. ComponentTypeUnsignedInt32NV = 9,
  1517. ComponentTypeUnsignedInt64NV = 10,
  1518. ComponentTypeSignedInt8PackedNV = 1000491000,
  1519. ComponentTypeUnsignedInt8PackedNV = 1000491001,
  1520. ComponentTypeFloatE4M3NV = 1000491002,
  1521. ComponentTypeFloatE5M2NV = 1000491003,
  1522. ComponentTypeMax = 0x7fffffff,
  1523. };
  1524. enum Op {
  1525. OpNop = 0,
  1526. OpUndef = 1,
  1527. OpSourceContinued = 2,
  1528. OpSource = 3,
  1529. OpSourceExtension = 4,
  1530. OpName = 5,
  1531. OpMemberName = 6,
  1532. OpString = 7,
  1533. OpLine = 8,
  1534. OpExtension = 10,
  1535. OpExtInstImport = 11,
  1536. OpExtInst = 12,
  1537. OpMemoryModel = 14,
  1538. OpEntryPoint = 15,
  1539. OpExecutionMode = 16,
  1540. OpCapability = 17,
  1541. OpTypeVoid = 19,
  1542. OpTypeBool = 20,
  1543. OpTypeInt = 21,
  1544. OpTypeFloat = 22,
  1545. OpTypeVector = 23,
  1546. OpTypeMatrix = 24,
  1547. OpTypeImage = 25,
  1548. OpTypeSampler = 26,
  1549. OpTypeSampledImage = 27,
  1550. OpTypeArray = 28,
  1551. OpTypeRuntimeArray = 29,
  1552. OpTypeStruct = 30,
  1553. OpTypeOpaque = 31,
  1554. OpTypePointer = 32,
  1555. OpTypeFunction = 33,
  1556. OpTypeEvent = 34,
  1557. OpTypeDeviceEvent = 35,
  1558. OpTypeReserveId = 36,
  1559. OpTypeQueue = 37,
  1560. OpTypePipe = 38,
  1561. OpTypeForwardPointer = 39,
  1562. OpConstantTrue = 41,
  1563. OpConstantFalse = 42,
  1564. OpConstant = 43,
  1565. OpConstantComposite = 44,
  1566. OpConstantSampler = 45,
  1567. OpConstantNull = 46,
  1568. OpSpecConstantTrue = 48,
  1569. OpSpecConstantFalse = 49,
  1570. OpSpecConstant = 50,
  1571. OpSpecConstantComposite = 51,
  1572. OpSpecConstantOp = 52,
  1573. OpFunction = 54,
  1574. OpFunctionParameter = 55,
  1575. OpFunctionEnd = 56,
  1576. OpFunctionCall = 57,
  1577. OpVariable = 59,
  1578. OpImageTexelPointer = 60,
  1579. OpLoad = 61,
  1580. OpStore = 62,
  1581. OpCopyMemory = 63,
  1582. OpCopyMemorySized = 64,
  1583. OpAccessChain = 65,
  1584. OpInBoundsAccessChain = 66,
  1585. OpPtrAccessChain = 67,
  1586. OpArrayLength = 68,
  1587. OpGenericPtrMemSemantics = 69,
  1588. OpInBoundsPtrAccessChain = 70,
  1589. OpDecorate = 71,
  1590. OpMemberDecorate = 72,
  1591. OpDecorationGroup = 73,
  1592. OpGroupDecorate = 74,
  1593. OpGroupMemberDecorate = 75,
  1594. OpVectorExtractDynamic = 77,
  1595. OpVectorInsertDynamic = 78,
  1596. OpVectorShuffle = 79,
  1597. OpCompositeConstruct = 80,
  1598. OpCompositeExtract = 81,
  1599. OpCompositeInsert = 82,
  1600. OpCopyObject = 83,
  1601. OpTranspose = 84,
  1602. OpSampledImage = 86,
  1603. OpImageSampleImplicitLod = 87,
  1604. OpImageSampleExplicitLod = 88,
  1605. OpImageSampleDrefImplicitLod = 89,
  1606. OpImageSampleDrefExplicitLod = 90,
  1607. OpImageSampleProjImplicitLod = 91,
  1608. OpImageSampleProjExplicitLod = 92,
  1609. OpImageSampleProjDrefImplicitLod = 93,
  1610. OpImageSampleProjDrefExplicitLod = 94,
  1611. OpImageFetch = 95,
  1612. OpImageGather = 96,
  1613. OpImageDrefGather = 97,
  1614. OpImageRead = 98,
  1615. OpImageWrite = 99,
  1616. OpImage = 100,
  1617. OpImageQueryFormat = 101,
  1618. OpImageQueryOrder = 102,
  1619. OpImageQuerySizeLod = 103,
  1620. OpImageQuerySize = 104,
  1621. OpImageQueryLod = 105,
  1622. OpImageQueryLevels = 106,
  1623. OpImageQuerySamples = 107,
  1624. OpConvertFToU = 109,
  1625. OpConvertFToS = 110,
  1626. OpConvertSToF = 111,
  1627. OpConvertUToF = 112,
  1628. OpUConvert = 113,
  1629. OpSConvert = 114,
  1630. OpFConvert = 115,
  1631. OpQuantizeToF16 = 116,
  1632. OpConvertPtrToU = 117,
  1633. OpSatConvertSToU = 118,
  1634. OpSatConvertUToS = 119,
  1635. OpConvertUToPtr = 120,
  1636. OpPtrCastToGeneric = 121,
  1637. OpGenericCastToPtr = 122,
  1638. OpGenericCastToPtrExplicit = 123,
  1639. OpBitcast = 124,
  1640. OpSNegate = 126,
  1641. OpFNegate = 127,
  1642. OpIAdd = 128,
  1643. OpFAdd = 129,
  1644. OpISub = 130,
  1645. OpFSub = 131,
  1646. OpIMul = 132,
  1647. OpFMul = 133,
  1648. OpUDiv = 134,
  1649. OpSDiv = 135,
  1650. OpFDiv = 136,
  1651. OpUMod = 137,
  1652. OpSRem = 138,
  1653. OpSMod = 139,
  1654. OpFRem = 140,
  1655. OpFMod = 141,
  1656. OpVectorTimesScalar = 142,
  1657. OpMatrixTimesScalar = 143,
  1658. OpVectorTimesMatrix = 144,
  1659. OpMatrixTimesVector = 145,
  1660. OpMatrixTimesMatrix = 146,
  1661. OpOuterProduct = 147,
  1662. OpDot = 148,
  1663. OpIAddCarry = 149,
  1664. OpISubBorrow = 150,
  1665. OpUMulExtended = 151,
  1666. OpSMulExtended = 152,
  1667. OpAny = 154,
  1668. OpAll = 155,
  1669. OpIsNan = 156,
  1670. OpIsInf = 157,
  1671. OpIsFinite = 158,
  1672. OpIsNormal = 159,
  1673. OpSignBitSet = 160,
  1674. OpLessOrGreater = 161,
  1675. OpOrdered = 162,
  1676. OpUnordered = 163,
  1677. OpLogicalEqual = 164,
  1678. OpLogicalNotEqual = 165,
  1679. OpLogicalOr = 166,
  1680. OpLogicalAnd = 167,
  1681. OpLogicalNot = 168,
  1682. OpSelect = 169,
  1683. OpIEqual = 170,
  1684. OpINotEqual = 171,
  1685. OpUGreaterThan = 172,
  1686. OpSGreaterThan = 173,
  1687. OpUGreaterThanEqual = 174,
  1688. OpSGreaterThanEqual = 175,
  1689. OpULessThan = 176,
  1690. OpSLessThan = 177,
  1691. OpULessThanEqual = 178,
  1692. OpSLessThanEqual = 179,
  1693. OpFOrdEqual = 180,
  1694. OpFUnordEqual = 181,
  1695. OpFOrdNotEqual = 182,
  1696. OpFUnordNotEqual = 183,
  1697. OpFOrdLessThan = 184,
  1698. OpFUnordLessThan = 185,
  1699. OpFOrdGreaterThan = 186,
  1700. OpFUnordGreaterThan = 187,
  1701. OpFOrdLessThanEqual = 188,
  1702. OpFUnordLessThanEqual = 189,
  1703. OpFOrdGreaterThanEqual = 190,
  1704. OpFUnordGreaterThanEqual = 191,
  1705. OpShiftRightLogical = 194,
  1706. OpShiftRightArithmetic = 195,
  1707. OpShiftLeftLogical = 196,
  1708. OpBitwiseOr = 197,
  1709. OpBitwiseXor = 198,
  1710. OpBitwiseAnd = 199,
  1711. OpNot = 200,
  1712. OpBitFieldInsert = 201,
  1713. OpBitFieldSExtract = 202,
  1714. OpBitFieldUExtract = 203,
  1715. OpBitReverse = 204,
  1716. OpBitCount = 205,
  1717. OpDPdx = 207,
  1718. OpDPdy = 208,
  1719. OpFwidth = 209,
  1720. OpDPdxFine = 210,
  1721. OpDPdyFine = 211,
  1722. OpFwidthFine = 212,
  1723. OpDPdxCoarse = 213,
  1724. OpDPdyCoarse = 214,
  1725. OpFwidthCoarse = 215,
  1726. OpEmitVertex = 218,
  1727. OpEndPrimitive = 219,
  1728. OpEmitStreamVertex = 220,
  1729. OpEndStreamPrimitive = 221,
  1730. OpControlBarrier = 224,
  1731. OpMemoryBarrier = 225,
  1732. OpAtomicLoad = 227,
  1733. OpAtomicStore = 228,
  1734. OpAtomicExchange = 229,
  1735. OpAtomicCompareExchange = 230,
  1736. OpAtomicCompareExchangeWeak = 231,
  1737. OpAtomicIIncrement = 232,
  1738. OpAtomicIDecrement = 233,
  1739. OpAtomicIAdd = 234,
  1740. OpAtomicISub = 235,
  1741. OpAtomicSMin = 236,
  1742. OpAtomicUMin = 237,
  1743. OpAtomicSMax = 238,
  1744. OpAtomicUMax = 239,
  1745. OpAtomicAnd = 240,
  1746. OpAtomicOr = 241,
  1747. OpAtomicXor = 242,
  1748. OpPhi = 245,
  1749. OpLoopMerge = 246,
  1750. OpSelectionMerge = 247,
  1751. OpLabel = 248,
  1752. OpBranch = 249,
  1753. OpBranchConditional = 250,
  1754. OpSwitch = 251,
  1755. OpKill = 252,
  1756. OpReturn = 253,
  1757. OpReturnValue = 254,
  1758. OpUnreachable = 255,
  1759. OpLifetimeStart = 256,
  1760. OpLifetimeStop = 257,
  1761. OpGroupAsyncCopy = 259,
  1762. OpGroupWaitEvents = 260,
  1763. OpGroupAll = 261,
  1764. OpGroupAny = 262,
  1765. OpGroupBroadcast = 263,
  1766. OpGroupIAdd = 264,
  1767. OpGroupFAdd = 265,
  1768. OpGroupFMin = 266,
  1769. OpGroupUMin = 267,
  1770. OpGroupSMin = 268,
  1771. OpGroupFMax = 269,
  1772. OpGroupUMax = 270,
  1773. OpGroupSMax = 271,
  1774. OpReadPipe = 274,
  1775. OpWritePipe = 275,
  1776. OpReservedReadPipe = 276,
  1777. OpReservedWritePipe = 277,
  1778. OpReserveReadPipePackets = 278,
  1779. OpReserveWritePipePackets = 279,
  1780. OpCommitReadPipe = 280,
  1781. OpCommitWritePipe = 281,
  1782. OpIsValidReserveId = 282,
  1783. OpGetNumPipePackets = 283,
  1784. OpGetMaxPipePackets = 284,
  1785. OpGroupReserveReadPipePackets = 285,
  1786. OpGroupReserveWritePipePackets = 286,
  1787. OpGroupCommitReadPipe = 287,
  1788. OpGroupCommitWritePipe = 288,
  1789. OpEnqueueMarker = 291,
  1790. OpEnqueueKernel = 292,
  1791. OpGetKernelNDrangeSubGroupCount = 293,
  1792. OpGetKernelNDrangeMaxSubGroupSize = 294,
  1793. OpGetKernelWorkGroupSize = 295,
  1794. OpGetKernelPreferredWorkGroupSizeMultiple = 296,
  1795. OpRetainEvent = 297,
  1796. OpReleaseEvent = 298,
  1797. OpCreateUserEvent = 299,
  1798. OpIsValidEvent = 300,
  1799. OpSetUserEventStatus = 301,
  1800. OpCaptureEventProfilingInfo = 302,
  1801. OpGetDefaultQueue = 303,
  1802. OpBuildNDRange = 304,
  1803. OpImageSparseSampleImplicitLod = 305,
  1804. OpImageSparseSampleExplicitLod = 306,
  1805. OpImageSparseSampleDrefImplicitLod = 307,
  1806. OpImageSparseSampleDrefExplicitLod = 308,
  1807. OpImageSparseSampleProjImplicitLod = 309,
  1808. OpImageSparseSampleProjExplicitLod = 310,
  1809. OpImageSparseSampleProjDrefImplicitLod = 311,
  1810. OpImageSparseSampleProjDrefExplicitLod = 312,
  1811. OpImageSparseFetch = 313,
  1812. OpImageSparseGather = 314,
  1813. OpImageSparseDrefGather = 315,
  1814. OpImageSparseTexelsResident = 316,
  1815. OpNoLine = 317,
  1816. OpAtomicFlagTestAndSet = 318,
  1817. OpAtomicFlagClear = 319,
  1818. OpImageSparseRead = 320,
  1819. OpSizeOf = 321,
  1820. OpTypePipeStorage = 322,
  1821. OpConstantPipeStorage = 323,
  1822. OpCreatePipeFromPipeStorage = 324,
  1823. OpGetKernelLocalSizeForSubgroupCount = 325,
  1824. OpGetKernelMaxNumSubgroups = 326,
  1825. OpTypeNamedBarrier = 327,
  1826. OpNamedBarrierInitialize = 328,
  1827. OpMemoryNamedBarrier = 329,
  1828. OpModuleProcessed = 330,
  1829. OpExecutionModeId = 331,
  1830. OpDecorateId = 332,
  1831. OpGroupNonUniformElect = 333,
  1832. OpGroupNonUniformAll = 334,
  1833. OpGroupNonUniformAny = 335,
  1834. OpGroupNonUniformAllEqual = 336,
  1835. OpGroupNonUniformBroadcast = 337,
  1836. OpGroupNonUniformBroadcastFirst = 338,
  1837. OpGroupNonUniformBallot = 339,
  1838. OpGroupNonUniformInverseBallot = 340,
  1839. OpGroupNonUniformBallotBitExtract = 341,
  1840. OpGroupNonUniformBallotBitCount = 342,
  1841. OpGroupNonUniformBallotFindLSB = 343,
  1842. OpGroupNonUniformBallotFindMSB = 344,
  1843. OpGroupNonUniformShuffle = 345,
  1844. OpGroupNonUniformShuffleXor = 346,
  1845. OpGroupNonUniformShuffleUp = 347,
  1846. OpGroupNonUniformShuffleDown = 348,
  1847. OpGroupNonUniformIAdd = 349,
  1848. OpGroupNonUniformFAdd = 350,
  1849. OpGroupNonUniformIMul = 351,
  1850. OpGroupNonUniformFMul = 352,
  1851. OpGroupNonUniformSMin = 353,
  1852. OpGroupNonUniformUMin = 354,
  1853. OpGroupNonUniformFMin = 355,
  1854. OpGroupNonUniformSMax = 356,
  1855. OpGroupNonUniformUMax = 357,
  1856. OpGroupNonUniformFMax = 358,
  1857. OpGroupNonUniformBitwiseAnd = 359,
  1858. OpGroupNonUniformBitwiseOr = 360,
  1859. OpGroupNonUniformBitwiseXor = 361,
  1860. OpGroupNonUniformLogicalAnd = 362,
  1861. OpGroupNonUniformLogicalOr = 363,
  1862. OpGroupNonUniformLogicalXor = 364,
  1863. OpGroupNonUniformQuadBroadcast = 365,
  1864. OpGroupNonUniformQuadSwap = 366,
  1865. OpCopyLogical = 400,
  1866. OpPtrEqual = 401,
  1867. OpPtrNotEqual = 402,
  1868. OpPtrDiff = 403,
  1869. OpColorAttachmentReadEXT = 4160,
  1870. OpDepthAttachmentReadEXT = 4161,
  1871. OpStencilAttachmentReadEXT = 4162,
  1872. OpTypeTensorARM = 4163,
  1873. OpTensorReadARM = 4164,
  1874. OpTensorWriteARM = 4165,
  1875. OpTensorQuerySizeARM = 4166,
  1876. OpGraphConstantARM = 4181,
  1877. OpGraphEntryPointARM = 4182,
  1878. OpGraphARM = 4183,
  1879. OpGraphInputARM = 4184,
  1880. OpGraphSetOutputARM = 4185,
  1881. OpGraphEndARM = 4186,
  1882. OpTypeGraphARM = 4190,
  1883. OpTerminateInvocation = 4416,
  1884. OpTypeUntypedPointerKHR = 4417,
  1885. OpUntypedVariableKHR = 4418,
  1886. OpUntypedAccessChainKHR = 4419,
  1887. OpUntypedInBoundsAccessChainKHR = 4420,
  1888. OpSubgroupBallotKHR = 4421,
  1889. OpSubgroupFirstInvocationKHR = 4422,
  1890. OpUntypedPtrAccessChainKHR = 4423,
  1891. OpUntypedInBoundsPtrAccessChainKHR = 4424,
  1892. OpUntypedArrayLengthKHR = 4425,
  1893. OpUntypedPrefetchKHR = 4426,
  1894. OpFmaKHR = 4427,
  1895. OpSubgroupAllKHR = 4428,
  1896. OpSubgroupAnyKHR = 4429,
  1897. OpSubgroupAllEqualKHR = 4430,
  1898. OpGroupNonUniformRotateKHR = 4431,
  1899. OpSubgroupReadInvocationKHR = 4432,
  1900. OpExtInstWithForwardRefsKHR = 4433,
  1901. OpUntypedGroupAsyncCopyKHR = 4434,
  1902. OpTraceRayKHR = 4445,
  1903. OpExecuteCallableKHR = 4446,
  1904. OpConvertUToAccelerationStructureKHR = 4447,
  1905. OpIgnoreIntersectionKHR = 4448,
  1906. OpTerminateRayKHR = 4449,
  1907. OpSDot = 4450,
  1908. OpSDotKHR = 4450,
  1909. OpUDot = 4451,
  1910. OpUDotKHR = 4451,
  1911. OpSUDot = 4452,
  1912. OpSUDotKHR = 4452,
  1913. OpSDotAccSat = 4453,
  1914. OpSDotAccSatKHR = 4453,
  1915. OpUDotAccSat = 4454,
  1916. OpUDotAccSatKHR = 4454,
  1917. OpSUDotAccSat = 4455,
  1918. OpSUDotAccSatKHR = 4455,
  1919. OpTypeCooperativeMatrixKHR = 4456,
  1920. OpCooperativeMatrixLoadKHR = 4457,
  1921. OpCooperativeMatrixStoreKHR = 4458,
  1922. OpCooperativeMatrixMulAddKHR = 4459,
  1923. OpCooperativeMatrixLengthKHR = 4460,
  1924. OpConstantCompositeReplicateEXT = 4461,
  1925. OpSpecConstantCompositeReplicateEXT = 4462,
  1926. OpCompositeConstructReplicateEXT = 4463,
  1927. OpTypeRayQueryKHR = 4472,
  1928. OpRayQueryInitializeKHR = 4473,
  1929. OpRayQueryTerminateKHR = 4474,
  1930. OpRayQueryGenerateIntersectionKHR = 4475,
  1931. OpRayQueryConfirmIntersectionKHR = 4476,
  1932. OpRayQueryProceedKHR = 4477,
  1933. OpRayQueryGetIntersectionTypeKHR = 4479,
  1934. OpImageSampleWeightedQCOM = 4480,
  1935. OpImageBoxFilterQCOM = 4481,
  1936. OpImageBlockMatchSSDQCOM = 4482,
  1937. OpImageBlockMatchSADQCOM = 4483,
  1938. OpBitCastArrayQCOM = 4497,
  1939. OpImageBlockMatchWindowSSDQCOM = 4500,
  1940. OpImageBlockMatchWindowSADQCOM = 4501,
  1941. OpImageBlockMatchGatherSSDQCOM = 4502,
  1942. OpImageBlockMatchGatherSADQCOM = 4503,
  1943. OpCompositeConstructCoopMatQCOM = 4540,
  1944. OpCompositeExtractCoopMatQCOM = 4541,
  1945. OpExtractSubArrayQCOM = 4542,
  1946. OpGroupIAddNonUniformAMD = 5000,
  1947. OpGroupFAddNonUniformAMD = 5001,
  1948. OpGroupFMinNonUniformAMD = 5002,
  1949. OpGroupUMinNonUniformAMD = 5003,
  1950. OpGroupSMinNonUniformAMD = 5004,
  1951. OpGroupFMaxNonUniformAMD = 5005,
  1952. OpGroupUMaxNonUniformAMD = 5006,
  1953. OpGroupSMaxNonUniformAMD = 5007,
  1954. OpFragmentMaskFetchAMD = 5011,
  1955. OpFragmentFetchAMD = 5012,
  1956. OpReadClockKHR = 5056,
  1957. OpAllocateNodePayloadsAMDX = 5074,
  1958. OpEnqueueNodePayloadsAMDX = 5075,
  1959. OpTypeNodePayloadArrayAMDX = 5076,
  1960. OpFinishWritingNodePayloadAMDX = 5078,
  1961. OpNodePayloadArrayLengthAMDX = 5090,
  1962. OpIsNodePayloadValidAMDX = 5101,
  1963. OpConstantStringAMDX = 5103,
  1964. OpSpecConstantStringAMDX = 5104,
  1965. OpGroupNonUniformQuadAllKHR = 5110,
  1966. OpGroupNonUniformQuadAnyKHR = 5111,
  1967. OpHitObjectRecordHitMotionNV = 5249,
  1968. OpHitObjectRecordHitWithIndexMotionNV = 5250,
  1969. OpHitObjectRecordMissMotionNV = 5251,
  1970. OpHitObjectGetWorldToObjectNV = 5252,
  1971. OpHitObjectGetObjectToWorldNV = 5253,
  1972. OpHitObjectGetObjectRayDirectionNV = 5254,
  1973. OpHitObjectGetObjectRayOriginNV = 5255,
  1974. OpHitObjectTraceRayMotionNV = 5256,
  1975. OpHitObjectGetShaderRecordBufferHandleNV = 5257,
  1976. OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
  1977. OpHitObjectRecordEmptyNV = 5259,
  1978. OpHitObjectTraceRayNV = 5260,
  1979. OpHitObjectRecordHitNV = 5261,
  1980. OpHitObjectRecordHitWithIndexNV = 5262,
  1981. OpHitObjectRecordMissNV = 5263,
  1982. OpHitObjectExecuteShaderNV = 5264,
  1983. OpHitObjectGetCurrentTimeNV = 5265,
  1984. OpHitObjectGetAttributesNV = 5266,
  1985. OpHitObjectGetHitKindNV = 5267,
  1986. OpHitObjectGetPrimitiveIndexNV = 5268,
  1987. OpHitObjectGetGeometryIndexNV = 5269,
  1988. OpHitObjectGetInstanceIdNV = 5270,
  1989. OpHitObjectGetInstanceCustomIndexNV = 5271,
  1990. OpHitObjectGetWorldRayDirectionNV = 5272,
  1991. OpHitObjectGetWorldRayOriginNV = 5273,
  1992. OpHitObjectGetRayTMaxNV = 5274,
  1993. OpHitObjectGetRayTMinNV = 5275,
  1994. OpHitObjectIsEmptyNV = 5276,
  1995. OpHitObjectIsHitNV = 5277,
  1996. OpHitObjectIsMissNV = 5278,
  1997. OpReorderThreadWithHitObjectNV = 5279,
  1998. OpReorderThreadWithHintNV = 5280,
  1999. OpTypeHitObjectNV = 5281,
  2000. OpImageSampleFootprintNV = 5283,
  2001. OpTypeCooperativeVectorNV = 5288,
  2002. OpCooperativeVectorMatrixMulNV = 5289,
  2003. OpCooperativeVectorOuterProductAccumulateNV = 5290,
  2004. OpCooperativeVectorReduceSumAccumulateNV = 5291,
  2005. OpCooperativeVectorMatrixMulAddNV = 5292,
  2006. OpCooperativeMatrixConvertNV = 5293,
  2007. OpEmitMeshTasksEXT = 5294,
  2008. OpSetMeshOutputsEXT = 5295,
  2009. OpGroupNonUniformPartitionNV = 5296,
  2010. OpWritePackedPrimitiveIndices4x8NV = 5299,
  2011. OpFetchMicroTriangleVertexPositionNV = 5300,
  2012. OpFetchMicroTriangleVertexBarycentricNV = 5301,
  2013. OpCooperativeVectorLoadNV = 5302,
  2014. OpCooperativeVectorStoreNV = 5303,
  2015. OpReportIntersectionKHR = 5334,
  2016. OpReportIntersectionNV = 5334,
  2017. OpIgnoreIntersectionNV = 5335,
  2018. OpTerminateRayNV = 5336,
  2019. OpTraceNV = 5337,
  2020. OpTraceMotionNV = 5338,
  2021. OpTraceRayMotionNV = 5339,
  2022. OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
  2023. OpTypeAccelerationStructureKHR = 5341,
  2024. OpTypeAccelerationStructureNV = 5341,
  2025. OpExecuteCallableNV = 5344,
  2026. OpRayQueryGetClusterIdNV = 5345,
  2027. OpRayQueryGetIntersectionClusterIdNV = 5345,
  2028. OpHitObjectGetClusterIdNV = 5346,
  2029. OpTypeCooperativeMatrixNV = 5358,
  2030. OpCooperativeMatrixLoadNV = 5359,
  2031. OpCooperativeMatrixStoreNV = 5360,
  2032. OpCooperativeMatrixMulAddNV = 5361,
  2033. OpCooperativeMatrixLengthNV = 5362,
  2034. OpBeginInvocationInterlockEXT = 5364,
  2035. OpEndInvocationInterlockEXT = 5365,
  2036. OpCooperativeMatrixReduceNV = 5366,
  2037. OpCooperativeMatrixLoadTensorNV = 5367,
  2038. OpCooperativeMatrixStoreTensorNV = 5368,
  2039. OpCooperativeMatrixPerElementOpNV = 5369,
  2040. OpTypeTensorLayoutNV = 5370,
  2041. OpTypeTensorViewNV = 5371,
  2042. OpCreateTensorLayoutNV = 5372,
  2043. OpTensorLayoutSetDimensionNV = 5373,
  2044. OpTensorLayoutSetStrideNV = 5374,
  2045. OpTensorLayoutSliceNV = 5375,
  2046. OpTensorLayoutSetClampValueNV = 5376,
  2047. OpCreateTensorViewNV = 5377,
  2048. OpTensorViewSetDimensionNV = 5378,
  2049. OpTensorViewSetStrideNV = 5379,
  2050. OpDemoteToHelperInvocation = 5380,
  2051. OpDemoteToHelperInvocationEXT = 5380,
  2052. OpIsHelperInvocationEXT = 5381,
  2053. OpTensorViewSetClipNV = 5382,
  2054. OpTensorLayoutSetBlockSizeNV = 5384,
  2055. OpCooperativeMatrixTransposeNV = 5390,
  2056. OpConvertUToImageNV = 5391,
  2057. OpConvertUToSamplerNV = 5392,
  2058. OpConvertImageToUNV = 5393,
  2059. OpConvertSamplerToUNV = 5394,
  2060. OpConvertUToSampledImageNV = 5395,
  2061. OpConvertSampledImageToUNV = 5396,
  2062. OpSamplerImageAddressingModeNV = 5397,
  2063. OpRawAccessChainNV = 5398,
  2064. OpRayQueryGetIntersectionSpherePositionNV = 5427,
  2065. OpRayQueryGetIntersectionSphereRadiusNV = 5428,
  2066. OpRayQueryGetIntersectionLSSPositionsNV = 5429,
  2067. OpRayQueryGetIntersectionLSSRadiiNV = 5430,
  2068. OpRayQueryGetIntersectionLSSHitValueNV = 5431,
  2069. OpHitObjectGetSpherePositionNV = 5432,
  2070. OpHitObjectGetSphereRadiusNV = 5433,
  2071. OpHitObjectGetLSSPositionsNV = 5434,
  2072. OpHitObjectGetLSSRadiiNV = 5435,
  2073. OpHitObjectIsSphereHitNV = 5436,
  2074. OpHitObjectIsLSSHitNV = 5437,
  2075. OpRayQueryIsSphereHitNV = 5438,
  2076. OpRayQueryIsLSSHitNV = 5439,
  2077. OpSubgroupShuffleINTEL = 5571,
  2078. OpSubgroupShuffleDownINTEL = 5572,
  2079. OpSubgroupShuffleUpINTEL = 5573,
  2080. OpSubgroupShuffleXorINTEL = 5574,
  2081. OpSubgroupBlockReadINTEL = 5575,
  2082. OpSubgroupBlockWriteINTEL = 5576,
  2083. OpSubgroupImageBlockReadINTEL = 5577,
  2084. OpSubgroupImageBlockWriteINTEL = 5578,
  2085. OpSubgroupImageMediaBlockReadINTEL = 5580,
  2086. OpSubgroupImageMediaBlockWriteINTEL = 5581,
  2087. OpUCountLeadingZerosINTEL = 5585,
  2088. OpUCountTrailingZerosINTEL = 5586,
  2089. OpAbsISubINTEL = 5587,
  2090. OpAbsUSubINTEL = 5588,
  2091. OpIAddSatINTEL = 5589,
  2092. OpUAddSatINTEL = 5590,
  2093. OpIAverageINTEL = 5591,
  2094. OpUAverageINTEL = 5592,
  2095. OpIAverageRoundedINTEL = 5593,
  2096. OpUAverageRoundedINTEL = 5594,
  2097. OpISubSatINTEL = 5595,
  2098. OpUSubSatINTEL = 5596,
  2099. OpIMul32x16INTEL = 5597,
  2100. OpUMul32x16INTEL = 5598,
  2101. OpConstantFunctionPointerINTEL = 5600,
  2102. OpFunctionPointerCallINTEL = 5601,
  2103. OpAsmTargetINTEL = 5609,
  2104. OpAsmINTEL = 5610,
  2105. OpAsmCallINTEL = 5611,
  2106. OpAtomicFMinEXT = 5614,
  2107. OpAtomicFMaxEXT = 5615,
  2108. OpAssumeTrueKHR = 5630,
  2109. OpExpectKHR = 5631,
  2110. OpDecorateString = 5632,
  2111. OpDecorateStringGOOGLE = 5632,
  2112. OpMemberDecorateString = 5633,
  2113. OpMemberDecorateStringGOOGLE = 5633,
  2114. OpVmeImageINTEL = 5699,
  2115. OpTypeVmeImageINTEL = 5700,
  2116. OpTypeAvcImePayloadINTEL = 5701,
  2117. OpTypeAvcRefPayloadINTEL = 5702,
  2118. OpTypeAvcSicPayloadINTEL = 5703,
  2119. OpTypeAvcMcePayloadINTEL = 5704,
  2120. OpTypeAvcMceResultINTEL = 5705,
  2121. OpTypeAvcImeResultINTEL = 5706,
  2122. OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
  2123. OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
  2124. OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
  2125. OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
  2126. OpTypeAvcRefResultINTEL = 5711,
  2127. OpTypeAvcSicResultINTEL = 5712,
  2128. OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
  2129. OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
  2130. OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
  2131. OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
  2132. OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
  2133. OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
  2134. OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
  2135. OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
  2136. OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
  2137. OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
  2138. OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
  2139. OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
  2140. OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
  2141. OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
  2142. OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
  2143. OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
  2144. OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
  2145. OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
  2146. OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
  2147. OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
  2148. OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
  2149. OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
  2150. OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
  2151. OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
  2152. OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
  2153. OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
  2154. OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
  2155. OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
  2156. OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
  2157. OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
  2158. OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
  2159. OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
  2160. OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
  2161. OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
  2162. OpSubgroupAvcImeInitializeINTEL = 5747,
  2163. OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
  2164. OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
  2165. OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
  2166. OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
  2167. OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
  2168. OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
  2169. OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
  2170. OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
  2171. OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
  2172. OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
  2173. OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
  2174. OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
  2175. OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
  2176. OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
  2177. OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
  2178. OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
  2179. OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
  2180. OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
  2181. OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
  2182. OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
  2183. OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
  2184. OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
  2185. OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
  2186. OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
  2187. OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
  2188. OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
  2189. OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
  2190. OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
  2191. OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
  2192. OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
  2193. OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
  2194. OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
  2195. OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
  2196. OpSubgroupAvcFmeInitializeINTEL = 5781,
  2197. OpSubgroupAvcBmeInitializeINTEL = 5782,
  2198. OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
  2199. OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
  2200. OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
  2201. OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
  2202. OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
  2203. OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
  2204. OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
  2205. OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
  2206. OpSubgroupAvcSicInitializeINTEL = 5791,
  2207. OpSubgroupAvcSicConfigureSkcINTEL = 5792,
  2208. OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
  2209. OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
  2210. OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
  2211. OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
  2212. OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
  2213. OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
  2214. OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
  2215. OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
  2216. OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
  2217. OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
  2218. OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
  2219. OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
  2220. OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
  2221. OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
  2222. OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
  2223. OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
  2224. OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
  2225. OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
  2226. OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
  2227. OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
  2228. OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
  2229. OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
  2230. OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
  2231. OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
  2232. OpVariableLengthArrayINTEL = 5818,
  2233. OpSaveMemoryINTEL = 5819,
  2234. OpRestoreMemoryINTEL = 5820,
  2235. OpArbitraryFloatSinCosPiINTEL = 5840,
  2236. OpArbitraryFloatCastINTEL = 5841,
  2237. OpArbitraryFloatCastFromIntINTEL = 5842,
  2238. OpArbitraryFloatCastToIntINTEL = 5843,
  2239. OpArbitraryFloatAddINTEL = 5846,
  2240. OpArbitraryFloatSubINTEL = 5847,
  2241. OpArbitraryFloatMulINTEL = 5848,
  2242. OpArbitraryFloatDivINTEL = 5849,
  2243. OpArbitraryFloatGTINTEL = 5850,
  2244. OpArbitraryFloatGEINTEL = 5851,
  2245. OpArbitraryFloatLTINTEL = 5852,
  2246. OpArbitraryFloatLEINTEL = 5853,
  2247. OpArbitraryFloatEQINTEL = 5854,
  2248. OpArbitraryFloatRecipINTEL = 5855,
  2249. OpArbitraryFloatRSqrtINTEL = 5856,
  2250. OpArbitraryFloatCbrtINTEL = 5857,
  2251. OpArbitraryFloatHypotINTEL = 5858,
  2252. OpArbitraryFloatSqrtINTEL = 5859,
  2253. OpArbitraryFloatLogINTEL = 5860,
  2254. OpArbitraryFloatLog2INTEL = 5861,
  2255. OpArbitraryFloatLog10INTEL = 5862,
  2256. OpArbitraryFloatLog1pINTEL = 5863,
  2257. OpArbitraryFloatExpINTEL = 5864,
  2258. OpArbitraryFloatExp2INTEL = 5865,
  2259. OpArbitraryFloatExp10INTEL = 5866,
  2260. OpArbitraryFloatExpm1INTEL = 5867,
  2261. OpArbitraryFloatSinINTEL = 5868,
  2262. OpArbitraryFloatCosINTEL = 5869,
  2263. OpArbitraryFloatSinCosINTEL = 5870,
  2264. OpArbitraryFloatSinPiINTEL = 5871,
  2265. OpArbitraryFloatCosPiINTEL = 5872,
  2266. OpArbitraryFloatASinINTEL = 5873,
  2267. OpArbitraryFloatASinPiINTEL = 5874,
  2268. OpArbitraryFloatACosINTEL = 5875,
  2269. OpArbitraryFloatACosPiINTEL = 5876,
  2270. OpArbitraryFloatATanINTEL = 5877,
  2271. OpArbitraryFloatATanPiINTEL = 5878,
  2272. OpArbitraryFloatATan2INTEL = 5879,
  2273. OpArbitraryFloatPowINTEL = 5880,
  2274. OpArbitraryFloatPowRINTEL = 5881,
  2275. OpArbitraryFloatPowNINTEL = 5882,
  2276. OpLoopControlINTEL = 5887,
  2277. OpAliasDomainDeclINTEL = 5911,
  2278. OpAliasScopeDeclINTEL = 5912,
  2279. OpAliasScopeListDeclINTEL = 5913,
  2280. OpFixedSqrtINTEL = 5923,
  2281. OpFixedRecipINTEL = 5924,
  2282. OpFixedRsqrtINTEL = 5925,
  2283. OpFixedSinINTEL = 5926,
  2284. OpFixedCosINTEL = 5927,
  2285. OpFixedSinCosINTEL = 5928,
  2286. OpFixedSinPiINTEL = 5929,
  2287. OpFixedCosPiINTEL = 5930,
  2288. OpFixedSinCosPiINTEL = 5931,
  2289. OpFixedLogINTEL = 5932,
  2290. OpFixedExpINTEL = 5933,
  2291. OpPtrCastToCrossWorkgroupINTEL = 5934,
  2292. OpCrossWorkgroupCastToPtrINTEL = 5938,
  2293. OpReadPipeBlockingINTEL = 5946,
  2294. OpWritePipeBlockingINTEL = 5947,
  2295. OpFPGARegINTEL = 5949,
  2296. OpRayQueryGetRayTMinKHR = 6016,
  2297. OpRayQueryGetRayFlagsKHR = 6017,
  2298. OpRayQueryGetIntersectionTKHR = 6018,
  2299. OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
  2300. OpRayQueryGetIntersectionInstanceIdKHR = 6020,
  2301. OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
  2302. OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
  2303. OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
  2304. OpRayQueryGetIntersectionBarycentricsKHR = 6024,
  2305. OpRayQueryGetIntersectionFrontFaceKHR = 6025,
  2306. OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
  2307. OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
  2308. OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
  2309. OpRayQueryGetWorldRayDirectionKHR = 6029,
  2310. OpRayQueryGetWorldRayOriginKHR = 6030,
  2311. OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
  2312. OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
  2313. OpAtomicFAddEXT = 6035,
  2314. OpTypeBufferSurfaceINTEL = 6086,
  2315. OpTypeStructContinuedINTEL = 6090,
  2316. OpConstantCompositeContinuedINTEL = 6091,
  2317. OpSpecConstantCompositeContinuedINTEL = 6092,
  2318. OpCompositeConstructContinuedINTEL = 6096,
  2319. OpConvertFToBF16INTEL = 6116,
  2320. OpConvertBF16ToFINTEL = 6117,
  2321. OpControlBarrierArriveINTEL = 6142,
  2322. OpControlBarrierWaitINTEL = 6143,
  2323. OpArithmeticFenceEXT = 6145,
  2324. OpTaskSequenceCreateINTEL = 6163,
  2325. OpTaskSequenceAsyncINTEL = 6164,
  2326. OpTaskSequenceGetINTEL = 6165,
  2327. OpTaskSequenceReleaseINTEL = 6166,
  2328. OpTypeTaskSequenceINTEL = 6199,
  2329. OpSubgroupBlockPrefetchINTEL = 6221,
  2330. OpSubgroup2DBlockLoadINTEL = 6231,
  2331. OpSubgroup2DBlockLoadTransformINTEL = 6232,
  2332. OpSubgroup2DBlockLoadTransposeINTEL = 6233,
  2333. OpSubgroup2DBlockPrefetchINTEL = 6234,
  2334. OpSubgroup2DBlockStoreINTEL = 6235,
  2335. OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
  2336. OpBitwiseFunctionINTEL = 6242,
  2337. OpUntypedVariableLengthArrayINTEL = 6244,
  2338. OpConditionalExtensionINTEL = 6248,
  2339. OpConditionalEntryPointINTEL = 6249,
  2340. OpConditionalCapabilityINTEL = 6250,
  2341. OpSpecConstantTargetINTEL = 6251,
  2342. OpSpecConstantArchitectureINTEL = 6252,
  2343. OpSpecConstantCapabilitiesINTEL = 6253,
  2344. OpConditionalCopyObjectINTEL = 6254,
  2345. OpGroupIMulKHR = 6401,
  2346. OpGroupFMulKHR = 6402,
  2347. OpGroupBitwiseAndKHR = 6403,
  2348. OpGroupBitwiseOrKHR = 6404,
  2349. OpGroupBitwiseXorKHR = 6405,
  2350. OpGroupLogicalAndKHR = 6406,
  2351. OpGroupLogicalOrKHR = 6407,
  2352. OpGroupLogicalXorKHR = 6408,
  2353. OpRoundFToTF32INTEL = 6426,
  2354. OpMaskedGatherINTEL = 6428,
  2355. OpMaskedScatterINTEL = 6429,
  2356. OpConvertHandleToImageINTEL = 6529,
  2357. OpConvertHandleToSamplerINTEL = 6530,
  2358. OpConvertHandleToSampledImageINTEL = 6531,
  2359. OpMax = 0x7fffffff,
  2360. };
  2361. #ifdef SPV_ENABLE_UTILITY_CODE
  2362. #ifndef __cplusplus
  2363. #include <stdbool.h>
  2364. #endif
  2365. inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
  2366. *hasResult = *hasResultType = false;
  2367. switch (opcode) {
  2368. default: /* unknown opcode */ break;
  2369. case OpNop: *hasResult = false; *hasResultType = false; break;
  2370. case OpUndef: *hasResult = true; *hasResultType = true; break;
  2371. case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
  2372. case OpSource: *hasResult = false; *hasResultType = false; break;
  2373. case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
  2374. case OpName: *hasResult = false; *hasResultType = false; break;
  2375. case OpMemberName: *hasResult = false; *hasResultType = false; break;
  2376. case OpString: *hasResult = true; *hasResultType = false; break;
  2377. case OpLine: *hasResult = false; *hasResultType = false; break;
  2378. case OpExtension: *hasResult = false; *hasResultType = false; break;
  2379. case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
  2380. case OpExtInst: *hasResult = true; *hasResultType = true; break;
  2381. case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
  2382. case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
  2383. case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
  2384. case OpCapability: *hasResult = false; *hasResultType = false; break;
  2385. case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
  2386. case OpTypeBool: *hasResult = true; *hasResultType = false; break;
  2387. case OpTypeInt: *hasResult = true; *hasResultType = false; break;
  2388. case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
  2389. case OpTypeVector: *hasResult = true; *hasResultType = false; break;
  2390. case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
  2391. case OpTypeImage: *hasResult = true; *hasResultType = false; break;
  2392. case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
  2393. case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
  2394. case OpTypeArray: *hasResult = true; *hasResultType = false; break;
  2395. case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
  2396. case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
  2397. case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
  2398. case OpTypePointer: *hasResult = true; *hasResultType = false; break;
  2399. case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
  2400. case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
  2401. case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
  2402. case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
  2403. case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
  2404. case OpTypePipe: *hasResult = true; *hasResultType = false; break;
  2405. case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
  2406. case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
  2407. case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
  2408. case OpConstant: *hasResult = true; *hasResultType = true; break;
  2409. case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
  2410. case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
  2411. case OpConstantNull: *hasResult = true; *hasResultType = true; break;
  2412. case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
  2413. case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
  2414. case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
  2415. case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
  2416. case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
  2417. case OpFunction: *hasResult = true; *hasResultType = true; break;
  2418. case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
  2419. case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
  2420. case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
  2421. case OpVariable: *hasResult = true; *hasResultType = true; break;
  2422. case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
  2423. case OpLoad: *hasResult = true; *hasResultType = true; break;
  2424. case OpStore: *hasResult = false; *hasResultType = false; break;
  2425. case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
  2426. case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
  2427. case OpAccessChain: *hasResult = true; *hasResultType = true; break;
  2428. case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
  2429. case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
  2430. case OpArrayLength: *hasResult = true; *hasResultType = true; break;
  2431. case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
  2432. case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
  2433. case OpDecorate: *hasResult = false; *hasResultType = false; break;
  2434. case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
  2435. case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
  2436. case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
  2437. case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
  2438. case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
  2439. case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
  2440. case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
  2441. case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
  2442. case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
  2443. case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
  2444. case OpCopyObject: *hasResult = true; *hasResultType = true; break;
  2445. case OpTranspose: *hasResult = true; *hasResultType = true; break;
  2446. case OpSampledImage: *hasResult = true; *hasResultType = true; break;
  2447. case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
  2448. case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
  2449. case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2450. case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2451. case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
  2452. case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
  2453. case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2454. case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2455. case OpImageFetch: *hasResult = true; *hasResultType = true; break;
  2456. case OpImageGather: *hasResult = true; *hasResultType = true; break;
  2457. case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
  2458. case OpImageRead: *hasResult = true; *hasResultType = true; break;
  2459. case OpImageWrite: *hasResult = false; *hasResultType = false; break;
  2460. case OpImage: *hasResult = true; *hasResultType = true; break;
  2461. case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
  2462. case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
  2463. case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
  2464. case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
  2465. case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
  2466. case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
  2467. case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
  2468. case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
  2469. case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
  2470. case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
  2471. case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
  2472. case OpUConvert: *hasResult = true; *hasResultType = true; break;
  2473. case OpSConvert: *hasResult = true; *hasResultType = true; break;
  2474. case OpFConvert: *hasResult = true; *hasResultType = true; break;
  2475. case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
  2476. case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
  2477. case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
  2478. case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
  2479. case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
  2480. case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
  2481. case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
  2482. case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
  2483. case OpBitcast: *hasResult = true; *hasResultType = true; break;
  2484. case OpSNegate: *hasResult = true; *hasResultType = true; break;
  2485. case OpFNegate: *hasResult = true; *hasResultType = true; break;
  2486. case OpIAdd: *hasResult = true; *hasResultType = true; break;
  2487. case OpFAdd: *hasResult = true; *hasResultType = true; break;
  2488. case OpISub: *hasResult = true; *hasResultType = true; break;
  2489. case OpFSub: *hasResult = true; *hasResultType = true; break;
  2490. case OpIMul: *hasResult = true; *hasResultType = true; break;
  2491. case OpFMul: *hasResult = true; *hasResultType = true; break;
  2492. case OpUDiv: *hasResult = true; *hasResultType = true; break;
  2493. case OpSDiv: *hasResult = true; *hasResultType = true; break;
  2494. case OpFDiv: *hasResult = true; *hasResultType = true; break;
  2495. case OpUMod: *hasResult = true; *hasResultType = true; break;
  2496. case OpSRem: *hasResult = true; *hasResultType = true; break;
  2497. case OpSMod: *hasResult = true; *hasResultType = true; break;
  2498. case OpFRem: *hasResult = true; *hasResultType = true; break;
  2499. case OpFMod: *hasResult = true; *hasResultType = true; break;
  2500. case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
  2501. case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
  2502. case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
  2503. case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
  2504. case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
  2505. case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
  2506. case OpDot: *hasResult = true; *hasResultType = true; break;
  2507. case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
  2508. case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
  2509. case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
  2510. case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
  2511. case OpAny: *hasResult = true; *hasResultType = true; break;
  2512. case OpAll: *hasResult = true; *hasResultType = true; break;
  2513. case OpIsNan: *hasResult = true; *hasResultType = true; break;
  2514. case OpIsInf: *hasResult = true; *hasResultType = true; break;
  2515. case OpIsFinite: *hasResult = true; *hasResultType = true; break;
  2516. case OpIsNormal: *hasResult = true; *hasResultType = true; break;
  2517. case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
  2518. case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
  2519. case OpOrdered: *hasResult = true; *hasResultType = true; break;
  2520. case OpUnordered: *hasResult = true; *hasResultType = true; break;
  2521. case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
  2522. case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
  2523. case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
  2524. case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
  2525. case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
  2526. case OpSelect: *hasResult = true; *hasResultType = true; break;
  2527. case OpIEqual: *hasResult = true; *hasResultType = true; break;
  2528. case OpINotEqual: *hasResult = true; *hasResultType = true; break;
  2529. case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
  2530. case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
  2531. case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2532. case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2533. case OpULessThan: *hasResult = true; *hasResultType = true; break;
  2534. case OpSLessThan: *hasResult = true; *hasResultType = true; break;
  2535. case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
  2536. case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
  2537. case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
  2538. case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
  2539. case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
  2540. case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
  2541. case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
  2542. case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
  2543. case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
  2544. case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
  2545. case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
  2546. case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
  2547. case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2548. case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
  2549. case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
  2550. case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
  2551. case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
  2552. case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
  2553. case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
  2554. case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
  2555. case OpNot: *hasResult = true; *hasResultType = true; break;
  2556. case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
  2557. case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
  2558. case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
  2559. case OpBitReverse: *hasResult = true; *hasResultType = true; break;
  2560. case OpBitCount: *hasResult = true; *hasResultType = true; break;
  2561. case OpDPdx: *hasResult = true; *hasResultType = true; break;
  2562. case OpDPdy: *hasResult = true; *hasResultType = true; break;
  2563. case OpFwidth: *hasResult = true; *hasResultType = true; break;
  2564. case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
  2565. case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
  2566. case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
  2567. case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
  2568. case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
  2569. case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
  2570. case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
  2571. case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
  2572. case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
  2573. case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
  2574. case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
  2575. case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
  2576. case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
  2577. case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
  2578. case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
  2579. case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
  2580. case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
  2581. case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
  2582. case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
  2583. case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
  2584. case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
  2585. case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
  2586. case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
  2587. case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
  2588. case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
  2589. case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
  2590. case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
  2591. case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
  2592. case OpPhi: *hasResult = true; *hasResultType = true; break;
  2593. case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
  2594. case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
  2595. case OpLabel: *hasResult = true; *hasResultType = false; break;
  2596. case OpBranch: *hasResult = false; *hasResultType = false; break;
  2597. case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
  2598. case OpSwitch: *hasResult = false; *hasResultType = false; break;
  2599. case OpKill: *hasResult = false; *hasResultType = false; break;
  2600. case OpReturn: *hasResult = false; *hasResultType = false; break;
  2601. case OpReturnValue: *hasResult = false; *hasResultType = false; break;
  2602. case OpUnreachable: *hasResult = false; *hasResultType = false; break;
  2603. case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
  2604. case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
  2605. case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
  2606. case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
  2607. case OpGroupAll: *hasResult = true; *hasResultType = true; break;
  2608. case OpGroupAny: *hasResult = true; *hasResultType = true; break;
  2609. case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
  2610. case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
  2611. case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
  2612. case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
  2613. case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
  2614. case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
  2615. case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
  2616. case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
  2617. case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
  2618. case OpReadPipe: *hasResult = true; *hasResultType = true; break;
  2619. case OpWritePipe: *hasResult = true; *hasResultType = true; break;
  2620. case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
  2621. case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
  2622. case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
  2623. case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
  2624. case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
  2625. case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
  2626. case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
  2627. case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
  2628. case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
  2629. case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
  2630. case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
  2631. case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
  2632. case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
  2633. case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
  2634. case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
  2635. case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
  2636. case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
  2637. case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
  2638. case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
  2639. case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
  2640. case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
  2641. case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
  2642. case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
  2643. case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
  2644. case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
  2645. case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
  2646. case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
  2647. case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
  2648. case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
  2649. case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2650. case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2651. case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
  2652. case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
  2653. case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
  2654. case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
  2655. case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
  2656. case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
  2657. case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
  2658. case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
  2659. case OpNoLine: *hasResult = false; *hasResultType = false; break;
  2660. case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
  2661. case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
  2662. case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
  2663. case OpSizeOf: *hasResult = true; *hasResultType = true; break;
  2664. case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
  2665. case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
  2666. case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
  2667. case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
  2668. case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
  2669. case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
  2670. case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
  2671. case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
  2672. case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
  2673. case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
  2674. case OpDecorateId: *hasResult = false; *hasResultType = false; break;
  2675. case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
  2676. case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
  2677. case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
  2678. case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
  2679. case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
  2680. case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
  2681. case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
  2682. case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
  2683. case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
  2684. case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
  2685. case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
  2686. case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
  2687. case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
  2688. case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
  2689. case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
  2690. case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
  2691. case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
  2692. case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
  2693. case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
  2694. case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
  2695. case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
  2696. case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
  2697. case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
  2698. case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
  2699. case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
  2700. case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
  2701. case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
  2702. case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
  2703. case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
  2704. case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
  2705. case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
  2706. case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
  2707. case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
  2708. case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
  2709. case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
  2710. case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
  2711. case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
  2712. case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
  2713. case OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
  2714. case OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
  2715. case OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
  2716. case OpTypeTensorARM: *hasResult = true; *hasResultType = false; break;
  2717. case OpTensorReadARM: *hasResult = true; *hasResultType = true; break;
  2718. case OpTensorWriteARM: *hasResult = false; *hasResultType = false; break;
  2719. case OpTensorQuerySizeARM: *hasResult = true; *hasResultType = true; break;
  2720. case OpGraphConstantARM: *hasResult = true; *hasResultType = true; break;
  2721. case OpGraphEntryPointARM: *hasResult = false; *hasResultType = false; break;
  2722. case OpGraphARM: *hasResult = true; *hasResultType = true; break;
  2723. case OpGraphInputARM: *hasResult = true; *hasResultType = true; break;
  2724. case OpGraphSetOutputARM: *hasResult = false; *hasResultType = false; break;
  2725. case OpGraphEndARM: *hasResult = false; *hasResultType = false; break;
  2726. case OpTypeGraphARM: *hasResult = true; *hasResultType = false; break;
  2727. case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
  2728. case OpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
  2729. case OpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
  2730. case OpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2731. case OpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2732. case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
  2733. case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
  2734. case OpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2735. case OpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
  2736. case OpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
  2737. case OpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
  2738. case OpFmaKHR: *hasResult = true; *hasResultType = true; break;
  2739. case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
  2740. case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
  2741. case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
  2742. case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
  2743. case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
  2744. case OpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break;
  2745. case OpUntypedGroupAsyncCopyKHR: *hasResult = true; *hasResultType = true; break;
  2746. case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
  2747. case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
  2748. case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
  2749. case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
  2750. case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
  2751. case OpSDot: *hasResult = true; *hasResultType = true; break;
  2752. case OpUDot: *hasResult = true; *hasResultType = true; break;
  2753. case OpSUDot: *hasResult = true; *hasResultType = true; break;
  2754. case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
  2755. case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
  2756. case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
  2757. case OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
  2758. case OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
  2759. case OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
  2760. case OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
  2761. case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break;
  2762. case OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
  2763. case OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
  2764. case OpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break;
  2765. case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
  2766. case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
  2767. case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
  2768. case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
  2769. case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
  2770. case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
  2771. case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
  2772. case OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
  2773. case OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
  2774. case OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
  2775. case OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
  2776. case OpBitCastArrayQCOM: *hasResult = true; *hasResultType = true; break;
  2777. case OpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;
  2778. case OpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;
  2779. case OpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;
  2780. case OpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;
  2781. case OpCompositeConstructCoopMatQCOM: *hasResult = true; *hasResultType = true; break;
  2782. case OpCompositeExtractCoopMatQCOM: *hasResult = true; *hasResultType = true; break;
  2783. case OpExtractSubArrayQCOM: *hasResult = true; *hasResultType = true; break;
  2784. case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2785. case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2786. case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2787. case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2788. case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2789. case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2790. case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2791. case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
  2792. case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
  2793. case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
  2794. case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
  2795. case OpAllocateNodePayloadsAMDX: *hasResult = true; *hasResultType = true; break;
  2796. case OpEnqueueNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
  2797. case OpTypeNodePayloadArrayAMDX: *hasResult = true; *hasResultType = false; break;
  2798. case OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
  2799. case OpNodePayloadArrayLengthAMDX: *hasResult = true; *hasResultType = true; break;
  2800. case OpIsNodePayloadValidAMDX: *hasResult = true; *hasResultType = true; break;
  2801. case OpConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
  2802. case OpSpecConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
  2803. case OpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
  2804. case OpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break;
  2805. case OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
  2806. case OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
  2807. case OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
  2808. case OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
  2809. case OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
  2810. case OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
  2811. case OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
  2812. case OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
  2813. case OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
  2814. case OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
  2815. case OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
  2816. case OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
  2817. case OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
  2818. case OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
  2819. case OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
  2820. case OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
  2821. case OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
  2822. case OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
  2823. case OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
  2824. case OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
  2825. case OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
  2826. case OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
  2827. case OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
  2828. case OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
  2829. case OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
  2830. case OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
  2831. case OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
  2832. case OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
  2833. case OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
  2834. case OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
  2835. case OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
  2836. case OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
  2837. case OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
  2838. case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
  2839. case OpTypeCooperativeVectorNV: *hasResult = true; *hasResultType = false; break;
  2840. case OpCooperativeVectorMatrixMulNV: *hasResult = true; *hasResultType = true; break;
  2841. case OpCooperativeVectorOuterProductAccumulateNV: *hasResult = false; *hasResultType = false; break;
  2842. case OpCooperativeVectorReduceSumAccumulateNV: *hasResult = false; *hasResultType = false; break;
  2843. case OpCooperativeVectorMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
  2844. case OpCooperativeMatrixConvertNV: *hasResult = true; *hasResultType = true; break;
  2845. case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
  2846. case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
  2847. case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
  2848. case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
  2849. case OpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
  2850. case OpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break;
  2851. case OpCooperativeVectorLoadNV: *hasResult = true; *hasResultType = true; break;
  2852. case OpCooperativeVectorStoreNV: *hasResult = false; *hasResultType = false; break;
  2853. case OpReportIntersectionKHR: *hasResult = true; *hasResultType = true; break;
  2854. case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
  2855. case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
  2856. case OpTraceNV: *hasResult = false; *hasResultType = false; break;
  2857. case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
  2858. case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
  2859. case OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
  2860. case OpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = false; break;
  2861. case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
  2862. case OpRayQueryGetIntersectionClusterIdNV: *hasResult = true; *hasResultType = true; break;
  2863. case OpHitObjectGetClusterIdNV: *hasResult = true; *hasResultType = true; break;
  2864. case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
  2865. case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
  2866. case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
  2867. case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
  2868. case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
  2869. case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
  2870. case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
  2871. case OpCooperativeMatrixReduceNV: *hasResult = true; *hasResultType = true; break;
  2872. case OpCooperativeMatrixLoadTensorNV: *hasResult = true; *hasResultType = true; break;
  2873. case OpCooperativeMatrixStoreTensorNV: *hasResult = false; *hasResultType = false; break;
  2874. case OpCooperativeMatrixPerElementOpNV: *hasResult = true; *hasResultType = true; break;
  2875. case OpTypeTensorLayoutNV: *hasResult = true; *hasResultType = false; break;
  2876. case OpTypeTensorViewNV: *hasResult = true; *hasResultType = false; break;
  2877. case OpCreateTensorLayoutNV: *hasResult = true; *hasResultType = true; break;
  2878. case OpTensorLayoutSetDimensionNV: *hasResult = true; *hasResultType = true; break;
  2879. case OpTensorLayoutSetStrideNV: *hasResult = true; *hasResultType = true; break;
  2880. case OpTensorLayoutSliceNV: *hasResult = true; *hasResultType = true; break;
  2881. case OpTensorLayoutSetClampValueNV: *hasResult = true; *hasResultType = true; break;
  2882. case OpCreateTensorViewNV: *hasResult = true; *hasResultType = true; break;
  2883. case OpTensorViewSetDimensionNV: *hasResult = true; *hasResultType = true; break;
  2884. case OpTensorViewSetStrideNV: *hasResult = true; *hasResultType = true; break;
  2885. case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
  2886. case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
  2887. case OpTensorViewSetClipNV: *hasResult = true; *hasResultType = true; break;
  2888. case OpTensorLayoutSetBlockSizeNV: *hasResult = true; *hasResultType = true; break;
  2889. case OpCooperativeMatrixTransposeNV: *hasResult = true; *hasResultType = true; break;
  2890. case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
  2891. case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
  2892. case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
  2893. case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
  2894. case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
  2895. case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
  2896. case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
  2897. case OpRawAccessChainNV: *hasResult = true; *hasResultType = true; break;
  2898. case OpRayQueryGetIntersectionSpherePositionNV: *hasResult = true; *hasResultType = true; break;
  2899. case OpRayQueryGetIntersectionSphereRadiusNV: *hasResult = true; *hasResultType = true; break;
  2900. case OpRayQueryGetIntersectionLSSPositionsNV: *hasResult = true; *hasResultType = true; break;
  2901. case OpRayQueryGetIntersectionLSSRadiiNV: *hasResult = true; *hasResultType = true; break;
  2902. case OpRayQueryGetIntersectionLSSHitValueNV: *hasResult = true; *hasResultType = true; break;
  2903. case OpHitObjectGetSpherePositionNV: *hasResult = true; *hasResultType = true; break;
  2904. case OpHitObjectGetSphereRadiusNV: *hasResult = true; *hasResultType = true; break;
  2905. case OpHitObjectGetLSSPositionsNV: *hasResult = true; *hasResultType = true; break;
  2906. case OpHitObjectGetLSSRadiiNV: *hasResult = true; *hasResultType = true; break;
  2907. case OpHitObjectIsSphereHitNV: *hasResult = true; *hasResultType = true; break;
  2908. case OpHitObjectIsLSSHitNV: *hasResult = true; *hasResultType = true; break;
  2909. case OpRayQueryIsSphereHitNV: *hasResult = true; *hasResultType = true; break;
  2910. case OpRayQueryIsLSSHitNV: *hasResult = true; *hasResultType = true; break;
  2911. case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
  2912. case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
  2913. case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
  2914. case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
  2915. case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
  2916. case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
  2917. case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
  2918. case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
  2919. case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
  2920. case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
  2921. case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
  2922. case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
  2923. case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
  2924. case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
  2925. case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
  2926. case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
  2927. case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
  2928. case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
  2929. case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
  2930. case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
  2931. case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
  2932. case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
  2933. case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
  2934. case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
  2935. case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
  2936. case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
  2937. case OpAsmTargetINTEL: *hasResult = true; *hasResultType = false; break;
  2938. case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
  2939. case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
  2940. case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
  2941. case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
  2942. case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
  2943. case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
  2944. case OpDecorateString: *hasResult = false; *hasResultType = false; break;
  2945. case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
  2946. case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
  2947. case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
  2948. case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2949. case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2950. case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2951. case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
  2952. case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
  2953. case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
  2954. case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
  2955. case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
  2956. case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
  2957. case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
  2958. case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
  2959. case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
  2960. case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2961. case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2962. case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2963. case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2964. case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2965. case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2966. case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2967. case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2968. case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2969. case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2970. case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
  2971. case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  2972. case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2973. case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2974. case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  2975. case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
  2976. case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
  2977. case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
  2978. case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
  2979. case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  2980. case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
  2981. case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
  2982. case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
  2983. case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
  2984. case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
  2985. case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
  2986. case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  2987. case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  2988. case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
  2989. case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
  2990. case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
  2991. case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
  2992. case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
  2993. case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
  2994. case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  2995. case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  2996. case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  2997. case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
  2998. case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
  2999. case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  3000. case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
  3001. case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
  3002. case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
  3003. case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
  3004. case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3005. case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3006. case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3007. case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3008. case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3009. case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3010. case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
  3011. case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
  3012. case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
  3013. case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3014. case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
  3015. case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3016. case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
  3017. case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
  3018. case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  3019. case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
  3020. case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
  3021. case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
  3022. case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
  3023. case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
  3024. case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
  3025. case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
  3026. case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
  3027. case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
  3028. case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  3029. case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  3030. case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  3031. case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
  3032. case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
  3033. case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3034. case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3035. case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3036. case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
  3037. case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
  3038. case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
  3039. case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
  3040. case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
  3041. case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
  3042. case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
  3043. case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
  3044. case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
  3045. case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  3046. case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  3047. case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
  3048. case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
  3049. case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
  3050. case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
  3051. case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3052. case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3053. case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
  3054. case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
  3055. case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
  3056. case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
  3057. case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
  3058. case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
  3059. case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
  3060. case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
  3061. case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
  3062. case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
  3063. case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
  3064. case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
  3065. case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
  3066. case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
  3067. case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3068. case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
  3069. case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
  3070. case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
  3071. case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
  3072. case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
  3073. case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
  3074. case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
  3075. case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
  3076. case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
  3077. case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
  3078. case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
  3079. case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
  3080. case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
  3081. case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3082. case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
  3083. case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
  3084. case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3085. case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
  3086. case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
  3087. case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
  3088. case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
  3089. case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
  3090. case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
  3091. case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
  3092. case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
  3093. case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
  3094. case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
  3095. case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
  3096. case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
  3097. case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3098. case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
  3099. case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
  3100. case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
  3101. case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3102. case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
  3103. case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
  3104. case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
  3105. case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
  3106. case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
  3107. case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
  3108. case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
  3109. case OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
  3110. case OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
  3111. case OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
  3112. case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3113. case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
  3114. case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
  3115. case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
  3116. case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
  3117. case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
  3118. case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
  3119. case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3120. case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
  3121. case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
  3122. case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
  3123. case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
  3124. case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
  3125. case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
  3126. case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
  3127. case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
  3128. case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
  3129. case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
  3130. case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
  3131. case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
  3132. case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
  3133. case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
  3134. case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
  3135. case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
  3136. case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
  3137. case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
  3138. case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
  3139. case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
  3140. case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
  3141. case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
  3142. case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
  3143. case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
  3144. case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
  3145. case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
  3146. case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
  3147. case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
  3148. case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
  3149. case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
  3150. case OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
  3151. case OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
  3152. case OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
  3153. case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
  3154. case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
  3155. case OpArithmeticFenceEXT: *hasResult = true; *hasResultType = true; break;
  3156. case OpTaskSequenceCreateINTEL: *hasResult = true; *hasResultType = true; break;
  3157. case OpTaskSequenceAsyncINTEL: *hasResult = false; *hasResultType = false; break;
  3158. case OpTaskSequenceGetINTEL: *hasResult = true; *hasResultType = true; break;
  3159. case OpTaskSequenceReleaseINTEL: *hasResult = false; *hasResultType = false; break;
  3160. case OpTypeTaskSequenceINTEL: *hasResult = true; *hasResultType = false; break;
  3161. case OpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
  3162. case OpSubgroup2DBlockLoadINTEL: *hasResult = false; *hasResultType = false; break;
  3163. case OpSubgroup2DBlockLoadTransformINTEL: *hasResult = false; *hasResultType = false; break;
  3164. case OpSubgroup2DBlockLoadTransposeINTEL: *hasResult = false; *hasResultType = false; break;
  3165. case OpSubgroup2DBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
  3166. case OpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = false; break;
  3167. case OpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; *hasResultType = true; break;
  3168. case OpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; break;
  3169. case OpUntypedVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
  3170. case OpConditionalExtensionINTEL: *hasResult = false; *hasResultType = false; break;
  3171. case OpConditionalEntryPointINTEL: *hasResult = false; *hasResultType = false; break;
  3172. case OpConditionalCapabilityINTEL: *hasResult = false; *hasResultType = false; break;
  3173. case OpSpecConstantTargetINTEL: *hasResult = true; *hasResultType = true; break;
  3174. case OpSpecConstantArchitectureINTEL: *hasResult = true; *hasResultType = true; break;
  3175. case OpSpecConstantCapabilitiesINTEL: *hasResult = true; *hasResultType = true; break;
  3176. case OpConditionalCopyObjectINTEL: *hasResult = true; *hasResultType = true; break;
  3177. case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
  3178. case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
  3179. case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
  3180. case OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
  3181. case OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
  3182. case OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
  3183. case OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
  3184. case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
  3185. case OpRoundFToTF32INTEL: *hasResult = true; *hasResultType = true; break;
  3186. case OpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
  3187. case OpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
  3188. case OpConvertHandleToImageINTEL: *hasResult = true; *hasResultType = true; break;
  3189. case OpConvertHandleToSamplerINTEL: *hasResult = true; *hasResultType = true; break;
  3190. case OpConvertHandleToSampledImageINTEL: *hasResult = true; *hasResultType = true; break;
  3191. }
  3192. }
  3193. inline const char* SourceLanguageToString(SourceLanguage value) {
  3194. switch (value) {
  3195. case SourceLanguageUnknown: return "Unknown";
  3196. case SourceLanguageESSL: return "ESSL";
  3197. case SourceLanguageGLSL: return "GLSL";
  3198. case SourceLanguageOpenCL_C: return "OpenCL_C";
  3199. case SourceLanguageOpenCL_CPP: return "OpenCL_CPP";
  3200. case SourceLanguageHLSL: return "HLSL";
  3201. case SourceLanguageCPP_for_OpenCL: return "CPP_for_OpenCL";
  3202. case SourceLanguageSYCL: return "SYCL";
  3203. case SourceLanguageHERO_C: return "HERO_C";
  3204. case SourceLanguageNZSL: return "NZSL";
  3205. case SourceLanguageWGSL: return "WGSL";
  3206. case SourceLanguageSlang: return "Slang";
  3207. case SourceLanguageZig: return "Zig";
  3208. case SourceLanguageRust: return "Rust";
  3209. default: return "Unknown";
  3210. }
  3211. }
  3212. inline const char* ExecutionModelToString(ExecutionModel value) {
  3213. switch (value) {
  3214. case ExecutionModelVertex: return "Vertex";
  3215. case ExecutionModelTessellationControl: return "TessellationControl";
  3216. case ExecutionModelTessellationEvaluation: return "TessellationEvaluation";
  3217. case ExecutionModelGeometry: return "Geometry";
  3218. case ExecutionModelFragment: return "Fragment";
  3219. case ExecutionModelGLCompute: return "GLCompute";
  3220. case ExecutionModelKernel: return "Kernel";
  3221. case ExecutionModelTaskNV: return "TaskNV";
  3222. case ExecutionModelMeshNV: return "MeshNV";
  3223. case ExecutionModelRayGenerationKHR: return "RayGenerationKHR";
  3224. case ExecutionModelIntersectionKHR: return "IntersectionKHR";
  3225. case ExecutionModelAnyHitKHR: return "AnyHitKHR";
  3226. case ExecutionModelClosestHitKHR: return "ClosestHitKHR";
  3227. case ExecutionModelMissKHR: return "MissKHR";
  3228. case ExecutionModelCallableKHR: return "CallableKHR";
  3229. case ExecutionModelTaskEXT: return "TaskEXT";
  3230. case ExecutionModelMeshEXT: return "MeshEXT";
  3231. default: return "Unknown";
  3232. }
  3233. }
  3234. inline const char* AddressingModelToString(AddressingModel value) {
  3235. switch (value) {
  3236. case AddressingModelLogical: return "Logical";
  3237. case AddressingModelPhysical32: return "Physical32";
  3238. case AddressingModelPhysical64: return "Physical64";
  3239. case AddressingModelPhysicalStorageBuffer64: return "PhysicalStorageBuffer64";
  3240. default: return "Unknown";
  3241. }
  3242. }
  3243. inline const char* MemoryModelToString(MemoryModel value) {
  3244. switch (value) {
  3245. case MemoryModelSimple: return "Simple";
  3246. case MemoryModelGLSL450: return "GLSL450";
  3247. case MemoryModelOpenCL: return "OpenCL";
  3248. case MemoryModelVulkan: return "Vulkan";
  3249. default: return "Unknown";
  3250. }
  3251. }
  3252. inline const char* ExecutionModeToString(ExecutionMode value) {
  3253. switch (value) {
  3254. case ExecutionModeInvocations: return "Invocations";
  3255. case ExecutionModeSpacingEqual: return "SpacingEqual";
  3256. case ExecutionModeSpacingFractionalEven: return "SpacingFractionalEven";
  3257. case ExecutionModeSpacingFractionalOdd: return "SpacingFractionalOdd";
  3258. case ExecutionModeVertexOrderCw: return "VertexOrderCw";
  3259. case ExecutionModeVertexOrderCcw: return "VertexOrderCcw";
  3260. case ExecutionModePixelCenterInteger: return "PixelCenterInteger";
  3261. case ExecutionModeOriginUpperLeft: return "OriginUpperLeft";
  3262. case ExecutionModeOriginLowerLeft: return "OriginLowerLeft";
  3263. case ExecutionModeEarlyFragmentTests: return "EarlyFragmentTests";
  3264. case ExecutionModePointMode: return "PointMode";
  3265. case ExecutionModeXfb: return "Xfb";
  3266. case ExecutionModeDepthReplacing: return "DepthReplacing";
  3267. case ExecutionModeDepthGreater: return "DepthGreater";
  3268. case ExecutionModeDepthLess: return "DepthLess";
  3269. case ExecutionModeDepthUnchanged: return "DepthUnchanged";
  3270. case ExecutionModeLocalSize: return "LocalSize";
  3271. case ExecutionModeLocalSizeHint: return "LocalSizeHint";
  3272. case ExecutionModeInputPoints: return "InputPoints";
  3273. case ExecutionModeInputLines: return "InputLines";
  3274. case ExecutionModeInputLinesAdjacency: return "InputLinesAdjacency";
  3275. case ExecutionModeTriangles: return "Triangles";
  3276. case ExecutionModeInputTrianglesAdjacency: return "InputTrianglesAdjacency";
  3277. case ExecutionModeQuads: return "Quads";
  3278. case ExecutionModeIsolines: return "Isolines";
  3279. case ExecutionModeOutputVertices: return "OutputVertices";
  3280. case ExecutionModeOutputPoints: return "OutputPoints";
  3281. case ExecutionModeOutputLineStrip: return "OutputLineStrip";
  3282. case ExecutionModeOutputTriangleStrip: return "OutputTriangleStrip";
  3283. case ExecutionModeVecTypeHint: return "VecTypeHint";
  3284. case ExecutionModeContractionOff: return "ContractionOff";
  3285. case ExecutionModeInitializer: return "Initializer";
  3286. case ExecutionModeFinalizer: return "Finalizer";
  3287. case ExecutionModeSubgroupSize: return "SubgroupSize";
  3288. case ExecutionModeSubgroupsPerWorkgroup: return "SubgroupsPerWorkgroup";
  3289. case ExecutionModeSubgroupsPerWorkgroupId: return "SubgroupsPerWorkgroupId";
  3290. case ExecutionModeLocalSizeId: return "LocalSizeId";
  3291. case ExecutionModeLocalSizeHintId: return "LocalSizeHintId";
  3292. case ExecutionModeNonCoherentColorAttachmentReadEXT: return "NonCoherentColorAttachmentReadEXT";
  3293. case ExecutionModeNonCoherentDepthAttachmentReadEXT: return "NonCoherentDepthAttachmentReadEXT";
  3294. case ExecutionModeNonCoherentStencilAttachmentReadEXT: return "NonCoherentStencilAttachmentReadEXT";
  3295. case ExecutionModeSubgroupUniformControlFlowKHR: return "SubgroupUniformControlFlowKHR";
  3296. case ExecutionModePostDepthCoverage: return "PostDepthCoverage";
  3297. case ExecutionModeDenormPreserve: return "DenormPreserve";
  3298. case ExecutionModeDenormFlushToZero: return "DenormFlushToZero";
  3299. case ExecutionModeSignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
  3300. case ExecutionModeRoundingModeRTE: return "RoundingModeRTE";
  3301. case ExecutionModeRoundingModeRTZ: return "RoundingModeRTZ";
  3302. case ExecutionModeNonCoherentTileAttachmentReadQCOM: return "NonCoherentTileAttachmentReadQCOM";
  3303. case ExecutionModeTileShadingRateQCOM: return "TileShadingRateQCOM";
  3304. case ExecutionModeEarlyAndLateFragmentTestsAMD: return "EarlyAndLateFragmentTestsAMD";
  3305. case ExecutionModeStencilRefReplacingEXT: return "StencilRefReplacingEXT";
  3306. case ExecutionModeCoalescingAMDX: return "CoalescingAMDX";
  3307. case ExecutionModeIsApiEntryAMDX: return "IsApiEntryAMDX";
  3308. case ExecutionModeMaxNodeRecursionAMDX: return "MaxNodeRecursionAMDX";
  3309. case ExecutionModeStaticNumWorkgroupsAMDX: return "StaticNumWorkgroupsAMDX";
  3310. case ExecutionModeShaderIndexAMDX: return "ShaderIndexAMDX";
  3311. case ExecutionModeMaxNumWorkgroupsAMDX: return "MaxNumWorkgroupsAMDX";
  3312. case ExecutionModeStencilRefUnchangedFrontAMD: return "StencilRefUnchangedFrontAMD";
  3313. case ExecutionModeStencilRefGreaterFrontAMD: return "StencilRefGreaterFrontAMD";
  3314. case ExecutionModeStencilRefLessFrontAMD: return "StencilRefLessFrontAMD";
  3315. case ExecutionModeStencilRefUnchangedBackAMD: return "StencilRefUnchangedBackAMD";
  3316. case ExecutionModeStencilRefGreaterBackAMD: return "StencilRefGreaterBackAMD";
  3317. case ExecutionModeStencilRefLessBackAMD: return "StencilRefLessBackAMD";
  3318. case ExecutionModeQuadDerivativesKHR: return "QuadDerivativesKHR";
  3319. case ExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR";
  3320. case ExecutionModeSharesInputWithAMDX: return "SharesInputWithAMDX";
  3321. case ExecutionModeOutputLinesEXT: return "OutputLinesEXT";
  3322. case ExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT";
  3323. case ExecutionModeDerivativeGroupQuadsKHR: return "DerivativeGroupQuadsKHR";
  3324. case ExecutionModeDerivativeGroupLinearKHR: return "DerivativeGroupLinearKHR";
  3325. case ExecutionModeOutputTrianglesEXT: return "OutputTrianglesEXT";
  3326. case ExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
  3327. case ExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
  3328. case ExecutionModeSampleInterlockOrderedEXT: return "SampleInterlockOrderedEXT";
  3329. case ExecutionModeSampleInterlockUnorderedEXT: return "SampleInterlockUnorderedEXT";
  3330. case ExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT";
  3331. case ExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT";
  3332. case ExecutionModeSharedLocalMemorySizeINTEL: return "SharedLocalMemorySizeINTEL";
  3333. case ExecutionModeRoundingModeRTPINTEL: return "RoundingModeRTPINTEL";
  3334. case ExecutionModeRoundingModeRTNINTEL: return "RoundingModeRTNINTEL";
  3335. case ExecutionModeFloatingPointModeALTINTEL: return "FloatingPointModeALTINTEL";
  3336. case ExecutionModeFloatingPointModeIEEEINTEL: return "FloatingPointModeIEEEINTEL";
  3337. case ExecutionModeMaxWorkgroupSizeINTEL: return "MaxWorkgroupSizeINTEL";
  3338. case ExecutionModeMaxWorkDimINTEL: return "MaxWorkDimINTEL";
  3339. case ExecutionModeNoGlobalOffsetINTEL: return "NoGlobalOffsetINTEL";
  3340. case ExecutionModeNumSIMDWorkitemsINTEL: return "NumSIMDWorkitemsINTEL";
  3341. case ExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL";
  3342. case ExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR";
  3343. case ExecutionModeFPFastMathDefault: return "FPFastMathDefault";
  3344. case ExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL";
  3345. case ExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL";
  3346. case ExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL";
  3347. case ExecutionModeMaximumRegistersINTEL: return "MaximumRegistersINTEL";
  3348. case ExecutionModeMaximumRegistersIdINTEL: return "MaximumRegistersIdINTEL";
  3349. case ExecutionModeNamedMaximumRegistersINTEL: return "NamedMaximumRegistersINTEL";
  3350. default: return "Unknown";
  3351. }
  3352. }
  3353. inline const char* StorageClassToString(StorageClass value) {
  3354. switch (value) {
  3355. case StorageClassUniformConstant: return "UniformConstant";
  3356. case StorageClassInput: return "Input";
  3357. case StorageClassUniform: return "Uniform";
  3358. case StorageClassOutput: return "Output";
  3359. case StorageClassWorkgroup: return "Workgroup";
  3360. case StorageClassCrossWorkgroup: return "CrossWorkgroup";
  3361. case StorageClassPrivate: return "Private";
  3362. case StorageClassFunction: return "Function";
  3363. case StorageClassGeneric: return "Generic";
  3364. case StorageClassPushConstant: return "PushConstant";
  3365. case StorageClassAtomicCounter: return "AtomicCounter";
  3366. case StorageClassImage: return "Image";
  3367. case StorageClassStorageBuffer: return "StorageBuffer";
  3368. case StorageClassTileImageEXT: return "TileImageEXT";
  3369. case StorageClassTileAttachmentQCOM: return "TileAttachmentQCOM";
  3370. case StorageClassNodePayloadAMDX: return "NodePayloadAMDX";
  3371. case StorageClassCallableDataKHR: return "CallableDataKHR";
  3372. case StorageClassIncomingCallableDataKHR: return "IncomingCallableDataKHR";
  3373. case StorageClassRayPayloadKHR: return "RayPayloadKHR";
  3374. case StorageClassHitAttributeKHR: return "HitAttributeKHR";
  3375. case StorageClassIncomingRayPayloadKHR: return "IncomingRayPayloadKHR";
  3376. case StorageClassShaderRecordBufferKHR: return "ShaderRecordBufferKHR";
  3377. case StorageClassPhysicalStorageBuffer: return "PhysicalStorageBuffer";
  3378. case StorageClassHitObjectAttributeNV: return "HitObjectAttributeNV";
  3379. case StorageClassTaskPayloadWorkgroupEXT: return "TaskPayloadWorkgroupEXT";
  3380. case StorageClassCodeSectionINTEL: return "CodeSectionINTEL";
  3381. case StorageClassDeviceOnlyINTEL: return "DeviceOnlyINTEL";
  3382. case StorageClassHostOnlyINTEL: return "HostOnlyINTEL";
  3383. default: return "Unknown";
  3384. }
  3385. }
  3386. inline const char* DimToString(Dim value) {
  3387. switch (value) {
  3388. case Dim1D: return "1D";
  3389. case Dim2D: return "2D";
  3390. case Dim3D: return "3D";
  3391. case DimCube: return "Cube";
  3392. case DimRect: return "Rect";
  3393. case DimBuffer: return "Buffer";
  3394. case DimSubpassData: return "SubpassData";
  3395. case DimTileImageDataEXT: return "TileImageDataEXT";
  3396. default: return "Unknown";
  3397. }
  3398. }
  3399. inline const char* SamplerAddressingModeToString(SamplerAddressingMode value) {
  3400. switch (value) {
  3401. case SamplerAddressingModeNone: return "None";
  3402. case SamplerAddressingModeClampToEdge: return "ClampToEdge";
  3403. case SamplerAddressingModeClamp: return "Clamp";
  3404. case SamplerAddressingModeRepeat: return "Repeat";
  3405. case SamplerAddressingModeRepeatMirrored: return "RepeatMirrored";
  3406. default: return "Unknown";
  3407. }
  3408. }
  3409. inline const char* SamplerFilterModeToString(SamplerFilterMode value) {
  3410. switch (value) {
  3411. case SamplerFilterModeNearest: return "Nearest";
  3412. case SamplerFilterModeLinear: return "Linear";
  3413. default: return "Unknown";
  3414. }
  3415. }
  3416. inline const char* ImageFormatToString(ImageFormat value) {
  3417. switch (value) {
  3418. case ImageFormatUnknown: return "Unknown";
  3419. case ImageFormatRgba32f: return "Rgba32f";
  3420. case ImageFormatRgba16f: return "Rgba16f";
  3421. case ImageFormatR32f: return "R32f";
  3422. case ImageFormatRgba8: return "Rgba8";
  3423. case ImageFormatRgba8Snorm: return "Rgba8Snorm";
  3424. case ImageFormatRg32f: return "Rg32f";
  3425. case ImageFormatRg16f: return "Rg16f";
  3426. case ImageFormatR11fG11fB10f: return "R11fG11fB10f";
  3427. case ImageFormatR16f: return "R16f";
  3428. case ImageFormatRgba16: return "Rgba16";
  3429. case ImageFormatRgb10A2: return "Rgb10A2";
  3430. case ImageFormatRg16: return "Rg16";
  3431. case ImageFormatRg8: return "Rg8";
  3432. case ImageFormatR16: return "R16";
  3433. case ImageFormatR8: return "R8";
  3434. case ImageFormatRgba16Snorm: return "Rgba16Snorm";
  3435. case ImageFormatRg16Snorm: return "Rg16Snorm";
  3436. case ImageFormatRg8Snorm: return "Rg8Snorm";
  3437. case ImageFormatR16Snorm: return "R16Snorm";
  3438. case ImageFormatR8Snorm: return "R8Snorm";
  3439. case ImageFormatRgba32i: return "Rgba32i";
  3440. case ImageFormatRgba16i: return "Rgba16i";
  3441. case ImageFormatRgba8i: return "Rgba8i";
  3442. case ImageFormatR32i: return "R32i";
  3443. case ImageFormatRg32i: return "Rg32i";
  3444. case ImageFormatRg16i: return "Rg16i";
  3445. case ImageFormatRg8i: return "Rg8i";
  3446. case ImageFormatR16i: return "R16i";
  3447. case ImageFormatR8i: return "R8i";
  3448. case ImageFormatRgba32ui: return "Rgba32ui";
  3449. case ImageFormatRgba16ui: return "Rgba16ui";
  3450. case ImageFormatRgba8ui: return "Rgba8ui";
  3451. case ImageFormatR32ui: return "R32ui";
  3452. case ImageFormatRgb10a2ui: return "Rgb10a2ui";
  3453. case ImageFormatRg32ui: return "Rg32ui";
  3454. case ImageFormatRg16ui: return "Rg16ui";
  3455. case ImageFormatRg8ui: return "Rg8ui";
  3456. case ImageFormatR16ui: return "R16ui";
  3457. case ImageFormatR8ui: return "R8ui";
  3458. case ImageFormatR64ui: return "R64ui";
  3459. case ImageFormatR64i: return "R64i";
  3460. default: return "Unknown";
  3461. }
  3462. }
  3463. inline const char* ImageChannelOrderToString(ImageChannelOrder value) {
  3464. switch (value) {
  3465. case ImageChannelOrderR: return "R";
  3466. case ImageChannelOrderA: return "A";
  3467. case ImageChannelOrderRG: return "RG";
  3468. case ImageChannelOrderRA: return "RA";
  3469. case ImageChannelOrderRGB: return "RGB";
  3470. case ImageChannelOrderRGBA: return "RGBA";
  3471. case ImageChannelOrderBGRA: return "BGRA";
  3472. case ImageChannelOrderARGB: return "ARGB";
  3473. case ImageChannelOrderIntensity: return "Intensity";
  3474. case ImageChannelOrderLuminance: return "Luminance";
  3475. case ImageChannelOrderRx: return "Rx";
  3476. case ImageChannelOrderRGx: return "RGx";
  3477. case ImageChannelOrderRGBx: return "RGBx";
  3478. case ImageChannelOrderDepth: return "Depth";
  3479. case ImageChannelOrderDepthStencil: return "DepthStencil";
  3480. case ImageChannelOrdersRGB: return "sRGB";
  3481. case ImageChannelOrdersRGBx: return "sRGBx";
  3482. case ImageChannelOrdersRGBA: return "sRGBA";
  3483. case ImageChannelOrdersBGRA: return "sBGRA";
  3484. case ImageChannelOrderABGR: return "ABGR";
  3485. default: return "Unknown";
  3486. }
  3487. }
  3488. inline const char* ImageChannelDataTypeToString(ImageChannelDataType value) {
  3489. switch (value) {
  3490. case ImageChannelDataTypeSnormInt8: return "SnormInt8";
  3491. case ImageChannelDataTypeSnormInt16: return "SnormInt16";
  3492. case ImageChannelDataTypeUnormInt8: return "UnormInt8";
  3493. case ImageChannelDataTypeUnormInt16: return "UnormInt16";
  3494. case ImageChannelDataTypeUnormShort565: return "UnormShort565";
  3495. case ImageChannelDataTypeUnormShort555: return "UnormShort555";
  3496. case ImageChannelDataTypeUnormInt101010: return "UnormInt101010";
  3497. case ImageChannelDataTypeSignedInt8: return "SignedInt8";
  3498. case ImageChannelDataTypeSignedInt16: return "SignedInt16";
  3499. case ImageChannelDataTypeSignedInt32: return "SignedInt32";
  3500. case ImageChannelDataTypeUnsignedInt8: return "UnsignedInt8";
  3501. case ImageChannelDataTypeUnsignedInt16: return "UnsignedInt16";
  3502. case ImageChannelDataTypeUnsignedInt32: return "UnsignedInt32";
  3503. case ImageChannelDataTypeHalfFloat: return "HalfFloat";
  3504. case ImageChannelDataTypeFloat: return "Float";
  3505. case ImageChannelDataTypeUnormInt24: return "UnormInt24";
  3506. case ImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2";
  3507. case ImageChannelDataTypeUnormInt10X6EXT: return "UnormInt10X6EXT";
  3508. case ImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT";
  3509. case ImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT";
  3510. case ImageChannelDataTypeUnormInt2_101010EXT: return "UnormInt2_101010EXT";
  3511. case ImageChannelDataTypeUnsignedInt10X6EXT: return "UnsignedInt10X6EXT";
  3512. case ImageChannelDataTypeUnsignedInt12X4EXT: return "UnsignedInt12X4EXT";
  3513. case ImageChannelDataTypeUnsignedInt14X2EXT: return "UnsignedInt14X2EXT";
  3514. case ImageChannelDataTypeUnormInt12X4EXT: return "UnormInt12X4EXT";
  3515. case ImageChannelDataTypeUnormInt14X2EXT: return "UnormInt14X2EXT";
  3516. default: return "Unknown";
  3517. }
  3518. }
  3519. inline const char* FPRoundingModeToString(FPRoundingMode value) {
  3520. switch (value) {
  3521. case FPRoundingModeRTE: return "RTE";
  3522. case FPRoundingModeRTZ: return "RTZ";
  3523. case FPRoundingModeRTP: return "RTP";
  3524. case FPRoundingModeRTN: return "RTN";
  3525. default: return "Unknown";
  3526. }
  3527. }
  3528. inline const char* LinkageTypeToString(LinkageType value) {
  3529. switch (value) {
  3530. case LinkageTypeExport: return "Export";
  3531. case LinkageTypeImport: return "Import";
  3532. case LinkageTypeLinkOnceODR: return "LinkOnceODR";
  3533. default: return "Unknown";
  3534. }
  3535. }
  3536. inline const char* AccessQualifierToString(AccessQualifier value) {
  3537. switch (value) {
  3538. case AccessQualifierReadOnly: return "ReadOnly";
  3539. case AccessQualifierWriteOnly: return "WriteOnly";
  3540. case AccessQualifierReadWrite: return "ReadWrite";
  3541. default: return "Unknown";
  3542. }
  3543. }
  3544. inline const char* FunctionParameterAttributeToString(FunctionParameterAttribute value) {
  3545. switch (value) {
  3546. case FunctionParameterAttributeZext: return "Zext";
  3547. case FunctionParameterAttributeSext: return "Sext";
  3548. case FunctionParameterAttributeByVal: return "ByVal";
  3549. case FunctionParameterAttributeSret: return "Sret";
  3550. case FunctionParameterAttributeNoAlias: return "NoAlias";
  3551. case FunctionParameterAttributeNoCapture: return "NoCapture";
  3552. case FunctionParameterAttributeNoWrite: return "NoWrite";
  3553. case FunctionParameterAttributeNoReadWrite: return "NoReadWrite";
  3554. case FunctionParameterAttributeRuntimeAlignedINTEL: return "RuntimeAlignedINTEL";
  3555. default: return "Unknown";
  3556. }
  3557. }
  3558. inline const char* DecorationToString(Decoration value) {
  3559. switch (value) {
  3560. case DecorationRelaxedPrecision: return "RelaxedPrecision";
  3561. case DecorationSpecId: return "SpecId";
  3562. case DecorationBlock: return "Block";
  3563. case DecorationBufferBlock: return "BufferBlock";
  3564. case DecorationRowMajor: return "RowMajor";
  3565. case DecorationColMajor: return "ColMajor";
  3566. case DecorationArrayStride: return "ArrayStride";
  3567. case DecorationMatrixStride: return "MatrixStride";
  3568. case DecorationGLSLShared: return "GLSLShared";
  3569. case DecorationGLSLPacked: return "GLSLPacked";
  3570. case DecorationCPacked: return "CPacked";
  3571. case DecorationBuiltIn: return "BuiltIn";
  3572. case DecorationNoPerspective: return "NoPerspective";
  3573. case DecorationFlat: return "Flat";
  3574. case DecorationPatch: return "Patch";
  3575. case DecorationCentroid: return "Centroid";
  3576. case DecorationSample: return "Sample";
  3577. case DecorationInvariant: return "Invariant";
  3578. case DecorationRestrict: return "Restrict";
  3579. case DecorationAliased: return "Aliased";
  3580. case DecorationVolatile: return "Volatile";
  3581. case DecorationConstant: return "Constant";
  3582. case DecorationCoherent: return "Coherent";
  3583. case DecorationNonWritable: return "NonWritable";
  3584. case DecorationNonReadable: return "NonReadable";
  3585. case DecorationUniform: return "Uniform";
  3586. case DecorationUniformId: return "UniformId";
  3587. case DecorationSaturatedConversion: return "SaturatedConversion";
  3588. case DecorationStream: return "Stream";
  3589. case DecorationLocation: return "Location";
  3590. case DecorationComponent: return "Component";
  3591. case DecorationIndex: return "Index";
  3592. case DecorationBinding: return "Binding";
  3593. case DecorationDescriptorSet: return "DescriptorSet";
  3594. case DecorationOffset: return "Offset";
  3595. case DecorationXfbBuffer: return "XfbBuffer";
  3596. case DecorationXfbStride: return "XfbStride";
  3597. case DecorationFuncParamAttr: return "FuncParamAttr";
  3598. case DecorationFPRoundingMode: return "FPRoundingMode";
  3599. case DecorationFPFastMathMode: return "FPFastMathMode";
  3600. case DecorationLinkageAttributes: return "LinkageAttributes";
  3601. case DecorationNoContraction: return "NoContraction";
  3602. case DecorationInputAttachmentIndex: return "InputAttachmentIndex";
  3603. case DecorationAlignment: return "Alignment";
  3604. case DecorationMaxByteOffset: return "MaxByteOffset";
  3605. case DecorationAlignmentId: return "AlignmentId";
  3606. case DecorationMaxByteOffsetId: return "MaxByteOffsetId";
  3607. case DecorationSaturatedToLargestFloat8NormalConversionEXT: return "SaturatedToLargestFloat8NormalConversionEXT";
  3608. case DecorationNoSignedWrap: return "NoSignedWrap";
  3609. case DecorationNoUnsignedWrap: return "NoUnsignedWrap";
  3610. case DecorationWeightTextureQCOM: return "WeightTextureQCOM";
  3611. case DecorationBlockMatchTextureQCOM: return "BlockMatchTextureQCOM";
  3612. case DecorationBlockMatchSamplerQCOM: return "BlockMatchSamplerQCOM";
  3613. case DecorationExplicitInterpAMD: return "ExplicitInterpAMD";
  3614. case DecorationNodeSharesPayloadLimitsWithAMDX: return "NodeSharesPayloadLimitsWithAMDX";
  3615. case DecorationNodeMaxPayloadsAMDX: return "NodeMaxPayloadsAMDX";
  3616. case DecorationTrackFinishWritingAMDX: return "TrackFinishWritingAMDX";
  3617. case DecorationPayloadNodeNameAMDX: return "PayloadNodeNameAMDX";
  3618. case DecorationPayloadNodeBaseIndexAMDX: return "PayloadNodeBaseIndexAMDX";
  3619. case DecorationPayloadNodeSparseArrayAMDX: return "PayloadNodeSparseArrayAMDX";
  3620. case DecorationPayloadNodeArraySizeAMDX: return "PayloadNodeArraySizeAMDX";
  3621. case DecorationPayloadDispatchIndirectAMDX: return "PayloadDispatchIndirectAMDX";
  3622. case DecorationOverrideCoverageNV: return "OverrideCoverageNV";
  3623. case DecorationPassthroughNV: return "PassthroughNV";
  3624. case DecorationViewportRelativeNV: return "ViewportRelativeNV";
  3625. case DecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV";
  3626. case DecorationPerPrimitiveEXT: return "PerPrimitiveEXT";
  3627. case DecorationPerViewNV: return "PerViewNV";
  3628. case DecorationPerTaskNV: return "PerTaskNV";
  3629. case DecorationPerVertexKHR: return "PerVertexKHR";
  3630. case DecorationNonUniform: return "NonUniform";
  3631. case DecorationRestrictPointer: return "RestrictPointer";
  3632. case DecorationAliasedPointer: return "AliasedPointer";
  3633. case DecorationHitObjectShaderRecordBufferNV: return "HitObjectShaderRecordBufferNV";
  3634. case DecorationBindlessSamplerNV: return "BindlessSamplerNV";
  3635. case DecorationBindlessImageNV: return "BindlessImageNV";
  3636. case DecorationBoundSamplerNV: return "BoundSamplerNV";
  3637. case DecorationBoundImageNV: return "BoundImageNV";
  3638. case DecorationSIMTCallINTEL: return "SIMTCallINTEL";
  3639. case DecorationReferencedIndirectlyINTEL: return "ReferencedIndirectlyINTEL";
  3640. case DecorationClobberINTEL: return "ClobberINTEL";
  3641. case DecorationSideEffectsINTEL: return "SideEffectsINTEL";
  3642. case DecorationVectorComputeVariableINTEL: return "VectorComputeVariableINTEL";
  3643. case DecorationFuncParamIOKindINTEL: return "FuncParamIOKindINTEL";
  3644. case DecorationVectorComputeFunctionINTEL: return "VectorComputeFunctionINTEL";
  3645. case DecorationStackCallINTEL: return "StackCallINTEL";
  3646. case DecorationGlobalVariableOffsetINTEL: return "GlobalVariableOffsetINTEL";
  3647. case DecorationCounterBuffer: return "CounterBuffer";
  3648. case DecorationHlslSemanticGOOGLE: return "HlslSemanticGOOGLE";
  3649. case DecorationUserTypeGOOGLE: return "UserTypeGOOGLE";
  3650. case DecorationFunctionRoundingModeINTEL: return "FunctionRoundingModeINTEL";
  3651. case DecorationFunctionDenormModeINTEL: return "FunctionDenormModeINTEL";
  3652. case DecorationRegisterINTEL: return "RegisterINTEL";
  3653. case DecorationMemoryINTEL: return "MemoryINTEL";
  3654. case DecorationNumbanksINTEL: return "NumbanksINTEL";
  3655. case DecorationBankwidthINTEL: return "BankwidthINTEL";
  3656. case DecorationMaxPrivateCopiesINTEL: return "MaxPrivateCopiesINTEL";
  3657. case DecorationSinglepumpINTEL: return "SinglepumpINTEL";
  3658. case DecorationDoublepumpINTEL: return "DoublepumpINTEL";
  3659. case DecorationMaxReplicatesINTEL: return "MaxReplicatesINTEL";
  3660. case DecorationSimpleDualPortINTEL: return "SimpleDualPortINTEL";
  3661. case DecorationMergeINTEL: return "MergeINTEL";
  3662. case DecorationBankBitsINTEL: return "BankBitsINTEL";
  3663. case DecorationForcePow2DepthINTEL: return "ForcePow2DepthINTEL";
  3664. case DecorationStridesizeINTEL: return "StridesizeINTEL";
  3665. case DecorationWordsizeINTEL: return "WordsizeINTEL";
  3666. case DecorationTrueDualPortINTEL: return "TrueDualPortINTEL";
  3667. case DecorationBurstCoalesceINTEL: return "BurstCoalesceINTEL";
  3668. case DecorationCacheSizeINTEL: return "CacheSizeINTEL";
  3669. case DecorationDontStaticallyCoalesceINTEL: return "DontStaticallyCoalesceINTEL";
  3670. case DecorationPrefetchINTEL: return "PrefetchINTEL";
  3671. case DecorationStallEnableINTEL: return "StallEnableINTEL";
  3672. case DecorationFuseLoopsInFunctionINTEL: return "FuseLoopsInFunctionINTEL";
  3673. case DecorationMathOpDSPModeINTEL: return "MathOpDSPModeINTEL";
  3674. case DecorationAliasScopeINTEL: return "AliasScopeINTEL";
  3675. case DecorationNoAliasINTEL: return "NoAliasINTEL";
  3676. case DecorationInitiationIntervalINTEL: return "InitiationIntervalINTEL";
  3677. case DecorationMaxConcurrencyINTEL: return "MaxConcurrencyINTEL";
  3678. case DecorationPipelineEnableINTEL: return "PipelineEnableINTEL";
  3679. case DecorationBufferLocationINTEL: return "BufferLocationINTEL";
  3680. case DecorationIOPipeStorageINTEL: return "IOPipeStorageINTEL";
  3681. case DecorationFunctionFloatingPointModeINTEL: return "FunctionFloatingPointModeINTEL";
  3682. case DecorationSingleElementVectorINTEL: return "SingleElementVectorINTEL";
  3683. case DecorationVectorComputeCallableFunctionINTEL: return "VectorComputeCallableFunctionINTEL";
  3684. case DecorationMediaBlockIOINTEL: return "MediaBlockIOINTEL";
  3685. case DecorationStallFreeINTEL: return "StallFreeINTEL";
  3686. case DecorationFPMaxErrorDecorationINTEL: return "FPMaxErrorDecorationINTEL";
  3687. case DecorationLatencyControlLabelINTEL: return "LatencyControlLabelINTEL";
  3688. case DecorationLatencyControlConstraintINTEL: return "LatencyControlConstraintINTEL";
  3689. case DecorationConduitKernelArgumentINTEL: return "ConduitKernelArgumentINTEL";
  3690. case DecorationRegisterMapKernelArgumentINTEL: return "RegisterMapKernelArgumentINTEL";
  3691. case DecorationMMHostInterfaceAddressWidthINTEL: return "MMHostInterfaceAddressWidthINTEL";
  3692. case DecorationMMHostInterfaceDataWidthINTEL: return "MMHostInterfaceDataWidthINTEL";
  3693. case DecorationMMHostInterfaceLatencyINTEL: return "MMHostInterfaceLatencyINTEL";
  3694. case DecorationMMHostInterfaceReadWriteModeINTEL: return "MMHostInterfaceReadWriteModeINTEL";
  3695. case DecorationMMHostInterfaceMaxBurstINTEL: return "MMHostInterfaceMaxBurstINTEL";
  3696. case DecorationMMHostInterfaceWaitRequestINTEL: return "MMHostInterfaceWaitRequestINTEL";
  3697. case DecorationStableKernelArgumentINTEL: return "StableKernelArgumentINTEL";
  3698. case DecorationHostAccessINTEL: return "HostAccessINTEL";
  3699. case DecorationInitModeINTEL: return "InitModeINTEL";
  3700. case DecorationImplementInRegisterMapINTEL: return "ImplementInRegisterMapINTEL";
  3701. case DecorationConditionalINTEL: return "ConditionalINTEL";
  3702. case DecorationCacheControlLoadINTEL: return "CacheControlLoadINTEL";
  3703. case DecorationCacheControlStoreINTEL: return "CacheControlStoreINTEL";
  3704. default: return "Unknown";
  3705. }
  3706. }
  3707. inline const char* BuiltInToString(BuiltIn value) {
  3708. switch (value) {
  3709. case BuiltInPosition: return "Position";
  3710. case BuiltInPointSize: return "PointSize";
  3711. case BuiltInClipDistance: return "ClipDistance";
  3712. case BuiltInCullDistance: return "CullDistance";
  3713. case BuiltInVertexId: return "VertexId";
  3714. case BuiltInInstanceId: return "InstanceId";
  3715. case BuiltInPrimitiveId: return "PrimitiveId";
  3716. case BuiltInInvocationId: return "InvocationId";
  3717. case BuiltInLayer: return "Layer";
  3718. case BuiltInViewportIndex: return "ViewportIndex";
  3719. case BuiltInTessLevelOuter: return "TessLevelOuter";
  3720. case BuiltInTessLevelInner: return "TessLevelInner";
  3721. case BuiltInTessCoord: return "TessCoord";
  3722. case BuiltInPatchVertices: return "PatchVertices";
  3723. case BuiltInFragCoord: return "FragCoord";
  3724. case BuiltInPointCoord: return "PointCoord";
  3725. case BuiltInFrontFacing: return "FrontFacing";
  3726. case BuiltInSampleId: return "SampleId";
  3727. case BuiltInSamplePosition: return "SamplePosition";
  3728. case BuiltInSampleMask: return "SampleMask";
  3729. case BuiltInFragDepth: return "FragDepth";
  3730. case BuiltInHelperInvocation: return "HelperInvocation";
  3731. case BuiltInNumWorkgroups: return "NumWorkgroups";
  3732. case BuiltInWorkgroupSize: return "WorkgroupSize";
  3733. case BuiltInWorkgroupId: return "WorkgroupId";
  3734. case BuiltInLocalInvocationId: return "LocalInvocationId";
  3735. case BuiltInGlobalInvocationId: return "GlobalInvocationId";
  3736. case BuiltInLocalInvocationIndex: return "LocalInvocationIndex";
  3737. case BuiltInWorkDim: return "WorkDim";
  3738. case BuiltInGlobalSize: return "GlobalSize";
  3739. case BuiltInEnqueuedWorkgroupSize: return "EnqueuedWorkgroupSize";
  3740. case BuiltInGlobalOffset: return "GlobalOffset";
  3741. case BuiltInGlobalLinearId: return "GlobalLinearId";
  3742. case BuiltInSubgroupSize: return "SubgroupSize";
  3743. case BuiltInSubgroupMaxSize: return "SubgroupMaxSize";
  3744. case BuiltInNumSubgroups: return "NumSubgroups";
  3745. case BuiltInNumEnqueuedSubgroups: return "NumEnqueuedSubgroups";
  3746. case BuiltInSubgroupId: return "SubgroupId";
  3747. case BuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
  3748. case BuiltInVertexIndex: return "VertexIndex";
  3749. case BuiltInInstanceIndex: return "InstanceIndex";
  3750. case BuiltInCoreIDARM: return "CoreIDARM";
  3751. case BuiltInCoreCountARM: return "CoreCountARM";
  3752. case BuiltInCoreMaxIDARM: return "CoreMaxIDARM";
  3753. case BuiltInWarpIDARM: return "WarpIDARM";
  3754. case BuiltInWarpMaxIDARM: return "WarpMaxIDARM";
  3755. case BuiltInSubgroupEqMask: return "SubgroupEqMask";
  3756. case BuiltInSubgroupGeMask: return "SubgroupGeMask";
  3757. case BuiltInSubgroupGtMask: return "SubgroupGtMask";
  3758. case BuiltInSubgroupLeMask: return "SubgroupLeMask";
  3759. case BuiltInSubgroupLtMask: return "SubgroupLtMask";
  3760. case BuiltInBaseVertex: return "BaseVertex";
  3761. case BuiltInBaseInstance: return "BaseInstance";
  3762. case BuiltInDrawIndex: return "DrawIndex";
  3763. case BuiltInPrimitiveShadingRateKHR: return "PrimitiveShadingRateKHR";
  3764. case BuiltInDeviceIndex: return "DeviceIndex";
  3765. case BuiltInViewIndex: return "ViewIndex";
  3766. case BuiltInShadingRateKHR: return "ShadingRateKHR";
  3767. case BuiltInTileOffsetQCOM: return "TileOffsetQCOM";
  3768. case BuiltInTileDimensionQCOM: return "TileDimensionQCOM";
  3769. case BuiltInTileApronSizeQCOM: return "TileApronSizeQCOM";
  3770. case BuiltInBaryCoordNoPerspAMD: return "BaryCoordNoPerspAMD";
  3771. case BuiltInBaryCoordNoPerspCentroidAMD: return "BaryCoordNoPerspCentroidAMD";
  3772. case BuiltInBaryCoordNoPerspSampleAMD: return "BaryCoordNoPerspSampleAMD";
  3773. case BuiltInBaryCoordSmoothAMD: return "BaryCoordSmoothAMD";
  3774. case BuiltInBaryCoordSmoothCentroidAMD: return "BaryCoordSmoothCentroidAMD";
  3775. case BuiltInBaryCoordSmoothSampleAMD: return "BaryCoordSmoothSampleAMD";
  3776. case BuiltInBaryCoordPullModelAMD: return "BaryCoordPullModelAMD";
  3777. case BuiltInFragStencilRefEXT: return "FragStencilRefEXT";
  3778. case BuiltInRemainingRecursionLevelsAMDX: return "RemainingRecursionLevelsAMDX";
  3779. case BuiltInShaderIndexAMDX: return "ShaderIndexAMDX";
  3780. case BuiltInViewportMaskNV: return "ViewportMaskNV";
  3781. case BuiltInSecondaryPositionNV: return "SecondaryPositionNV";
  3782. case BuiltInSecondaryViewportMaskNV: return "SecondaryViewportMaskNV";
  3783. case BuiltInPositionPerViewNV: return "PositionPerViewNV";
  3784. case BuiltInViewportMaskPerViewNV: return "ViewportMaskPerViewNV";
  3785. case BuiltInFullyCoveredEXT: return "FullyCoveredEXT";
  3786. case BuiltInTaskCountNV: return "TaskCountNV";
  3787. case BuiltInPrimitiveCountNV: return "PrimitiveCountNV";
  3788. case BuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV";
  3789. case BuiltInClipDistancePerViewNV: return "ClipDistancePerViewNV";
  3790. case BuiltInCullDistancePerViewNV: return "CullDistancePerViewNV";
  3791. case BuiltInLayerPerViewNV: return "LayerPerViewNV";
  3792. case BuiltInMeshViewCountNV: return "MeshViewCountNV";
  3793. case BuiltInMeshViewIndicesNV: return "MeshViewIndicesNV";
  3794. case BuiltInBaryCoordKHR: return "BaryCoordKHR";
  3795. case BuiltInBaryCoordNoPerspKHR: return "BaryCoordNoPerspKHR";
  3796. case BuiltInFragSizeEXT: return "FragSizeEXT";
  3797. case BuiltInFragInvocationCountEXT: return "FragInvocationCountEXT";
  3798. case BuiltInPrimitivePointIndicesEXT: return "PrimitivePointIndicesEXT";
  3799. case BuiltInPrimitiveLineIndicesEXT: return "PrimitiveLineIndicesEXT";
  3800. case BuiltInPrimitiveTriangleIndicesEXT: return "PrimitiveTriangleIndicesEXT";
  3801. case BuiltInCullPrimitiveEXT: return "CullPrimitiveEXT";
  3802. case BuiltInLaunchIdKHR: return "LaunchIdKHR";
  3803. case BuiltInLaunchSizeKHR: return "LaunchSizeKHR";
  3804. case BuiltInWorldRayOriginKHR: return "WorldRayOriginKHR";
  3805. case BuiltInWorldRayDirectionKHR: return "WorldRayDirectionKHR";
  3806. case BuiltInObjectRayOriginKHR: return "ObjectRayOriginKHR";
  3807. case BuiltInObjectRayDirectionKHR: return "ObjectRayDirectionKHR";
  3808. case BuiltInRayTminKHR: return "RayTminKHR";
  3809. case BuiltInRayTmaxKHR: return "RayTmaxKHR";
  3810. case BuiltInInstanceCustomIndexKHR: return "InstanceCustomIndexKHR";
  3811. case BuiltInObjectToWorldKHR: return "ObjectToWorldKHR";
  3812. case BuiltInWorldToObjectKHR: return "WorldToObjectKHR";
  3813. case BuiltInHitTNV: return "HitTNV";
  3814. case BuiltInHitKindKHR: return "HitKindKHR";
  3815. case BuiltInCurrentRayTimeNV: return "CurrentRayTimeNV";
  3816. case BuiltInHitTriangleVertexPositionsKHR: return "HitTriangleVertexPositionsKHR";
  3817. case BuiltInHitMicroTriangleVertexPositionsNV: return "HitMicroTriangleVertexPositionsNV";
  3818. case BuiltInHitMicroTriangleVertexBarycentricsNV: return "HitMicroTriangleVertexBarycentricsNV";
  3819. case BuiltInIncomingRayFlagsKHR: return "IncomingRayFlagsKHR";
  3820. case BuiltInRayGeometryIndexKHR: return "RayGeometryIndexKHR";
  3821. case BuiltInHitIsSphereNV: return "HitIsSphereNV";
  3822. case BuiltInHitIsLSSNV: return "HitIsLSSNV";
  3823. case BuiltInHitSpherePositionNV: return "HitSpherePositionNV";
  3824. case BuiltInWarpsPerSMNV: return "WarpsPerSMNV";
  3825. case BuiltInSMCountNV: return "SMCountNV";
  3826. case BuiltInWarpIDNV: return "WarpIDNV";
  3827. case BuiltInSMIDNV: return "SMIDNV";
  3828. case BuiltInHitLSSPositionsNV: return "HitLSSPositionsNV";
  3829. case BuiltInHitKindFrontFacingMicroTriangleNV: return "HitKindFrontFacingMicroTriangleNV";
  3830. case BuiltInHitKindBackFacingMicroTriangleNV: return "HitKindBackFacingMicroTriangleNV";
  3831. case BuiltInHitSphereRadiusNV: return "HitSphereRadiusNV";
  3832. case BuiltInHitLSSRadiiNV: return "HitLSSRadiiNV";
  3833. case BuiltInClusterIDNV: return "ClusterIDNV";
  3834. case BuiltInCullMaskKHR: return "CullMaskKHR";
  3835. default: return "Unknown";
  3836. }
  3837. }
  3838. inline const char* ScopeToString(Scope value) {
  3839. switch (value) {
  3840. case ScopeCrossDevice: return "CrossDevice";
  3841. case ScopeDevice: return "Device";
  3842. case ScopeWorkgroup: return "Workgroup";
  3843. case ScopeSubgroup: return "Subgroup";
  3844. case ScopeInvocation: return "Invocation";
  3845. case ScopeQueueFamily: return "QueueFamily";
  3846. case ScopeShaderCallKHR: return "ShaderCallKHR";
  3847. default: return "Unknown";
  3848. }
  3849. }
  3850. inline const char* GroupOperationToString(GroupOperation value) {
  3851. switch (value) {
  3852. case GroupOperationReduce: return "Reduce";
  3853. case GroupOperationInclusiveScan: return "InclusiveScan";
  3854. case GroupOperationExclusiveScan: return "ExclusiveScan";
  3855. case GroupOperationClusteredReduce: return "ClusteredReduce";
  3856. case GroupOperationPartitionedReduceNV: return "PartitionedReduceNV";
  3857. case GroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV";
  3858. case GroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV";
  3859. default: return "Unknown";
  3860. }
  3861. }
  3862. inline const char* KernelEnqueueFlagsToString(KernelEnqueueFlags value) {
  3863. switch (value) {
  3864. case KernelEnqueueFlagsNoWait: return "NoWait";
  3865. case KernelEnqueueFlagsWaitKernel: return "WaitKernel";
  3866. case KernelEnqueueFlagsWaitWorkGroup: return "WaitWorkGroup";
  3867. default: return "Unknown";
  3868. }
  3869. }
  3870. inline const char* CapabilityToString(Capability value) {
  3871. switch (value) {
  3872. case CapabilityMatrix: return "Matrix";
  3873. case CapabilityShader: return "Shader";
  3874. case CapabilityGeometry: return "Geometry";
  3875. case CapabilityTessellation: return "Tessellation";
  3876. case CapabilityAddresses: return "Addresses";
  3877. case CapabilityLinkage: return "Linkage";
  3878. case CapabilityKernel: return "Kernel";
  3879. case CapabilityVector16: return "Vector16";
  3880. case CapabilityFloat16Buffer: return "Float16Buffer";
  3881. case CapabilityFloat16: return "Float16";
  3882. case CapabilityFloat64: return "Float64";
  3883. case CapabilityInt64: return "Int64";
  3884. case CapabilityInt64Atomics: return "Int64Atomics";
  3885. case CapabilityImageBasic: return "ImageBasic";
  3886. case CapabilityImageReadWrite: return "ImageReadWrite";
  3887. case CapabilityImageMipmap: return "ImageMipmap";
  3888. case CapabilityPipes: return "Pipes";
  3889. case CapabilityGroups: return "Groups";
  3890. case CapabilityDeviceEnqueue: return "DeviceEnqueue";
  3891. case CapabilityLiteralSampler: return "LiteralSampler";
  3892. case CapabilityAtomicStorage: return "AtomicStorage";
  3893. case CapabilityInt16: return "Int16";
  3894. case CapabilityTessellationPointSize: return "TessellationPointSize";
  3895. case CapabilityGeometryPointSize: return "GeometryPointSize";
  3896. case CapabilityImageGatherExtended: return "ImageGatherExtended";
  3897. case CapabilityStorageImageMultisample: return "StorageImageMultisample";
  3898. case CapabilityUniformBufferArrayDynamicIndexing: return "UniformBufferArrayDynamicIndexing";
  3899. case CapabilitySampledImageArrayDynamicIndexing: return "SampledImageArrayDynamicIndexing";
  3900. case CapabilityStorageBufferArrayDynamicIndexing: return "StorageBufferArrayDynamicIndexing";
  3901. case CapabilityStorageImageArrayDynamicIndexing: return "StorageImageArrayDynamicIndexing";
  3902. case CapabilityClipDistance: return "ClipDistance";
  3903. case CapabilityCullDistance: return "CullDistance";
  3904. case CapabilityImageCubeArray: return "ImageCubeArray";
  3905. case CapabilitySampleRateShading: return "SampleRateShading";
  3906. case CapabilityImageRect: return "ImageRect";
  3907. case CapabilitySampledRect: return "SampledRect";
  3908. case CapabilityGenericPointer: return "GenericPointer";
  3909. case CapabilityInt8: return "Int8";
  3910. case CapabilityInputAttachment: return "InputAttachment";
  3911. case CapabilitySparseResidency: return "SparseResidency";
  3912. case CapabilityMinLod: return "MinLod";
  3913. case CapabilitySampled1D: return "Sampled1D";
  3914. case CapabilityImage1D: return "Image1D";
  3915. case CapabilitySampledCubeArray: return "SampledCubeArray";
  3916. case CapabilitySampledBuffer: return "SampledBuffer";
  3917. case CapabilityImageBuffer: return "ImageBuffer";
  3918. case CapabilityImageMSArray: return "ImageMSArray";
  3919. case CapabilityStorageImageExtendedFormats: return "StorageImageExtendedFormats";
  3920. case CapabilityImageQuery: return "ImageQuery";
  3921. case CapabilityDerivativeControl: return "DerivativeControl";
  3922. case CapabilityInterpolationFunction: return "InterpolationFunction";
  3923. case CapabilityTransformFeedback: return "TransformFeedback";
  3924. case CapabilityGeometryStreams: return "GeometryStreams";
  3925. case CapabilityStorageImageReadWithoutFormat: return "StorageImageReadWithoutFormat";
  3926. case CapabilityStorageImageWriteWithoutFormat: return "StorageImageWriteWithoutFormat";
  3927. case CapabilityMultiViewport: return "MultiViewport";
  3928. case CapabilitySubgroupDispatch: return "SubgroupDispatch";
  3929. case CapabilityNamedBarrier: return "NamedBarrier";
  3930. case CapabilityPipeStorage: return "PipeStorage";
  3931. case CapabilityGroupNonUniform: return "GroupNonUniform";
  3932. case CapabilityGroupNonUniformVote: return "GroupNonUniformVote";
  3933. case CapabilityGroupNonUniformArithmetic: return "GroupNonUniformArithmetic";
  3934. case CapabilityGroupNonUniformBallot: return "GroupNonUniformBallot";
  3935. case CapabilityGroupNonUniformShuffle: return "GroupNonUniformShuffle";
  3936. case CapabilityGroupNonUniformShuffleRelative: return "GroupNonUniformShuffleRelative";
  3937. case CapabilityGroupNonUniformClustered: return "GroupNonUniformClustered";
  3938. case CapabilityGroupNonUniformQuad: return "GroupNonUniformQuad";
  3939. case CapabilityShaderLayer: return "ShaderLayer";
  3940. case CapabilityShaderViewportIndex: return "ShaderViewportIndex";
  3941. case CapabilityUniformDecoration: return "UniformDecoration";
  3942. case CapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
  3943. case CapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
  3944. case CapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
  3945. case CapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
  3946. case CapabilityTensorsARM: return "TensorsARM";
  3947. case CapabilityStorageTensorArrayDynamicIndexingARM: return "StorageTensorArrayDynamicIndexingARM";
  3948. case CapabilityStorageTensorArrayNonUniformIndexingARM: return "StorageTensorArrayNonUniformIndexingARM";
  3949. case CapabilityGraphARM: return "GraphARM";
  3950. case CapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
  3951. case CapabilityFloat8EXT: return "Float8EXT";
  3952. case CapabilityFloat8CooperativeMatrixEXT: return "Float8CooperativeMatrixEXT";
  3953. case CapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
  3954. case CapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
  3955. case CapabilityDrawParameters: return "DrawParameters";
  3956. case CapabilityWorkgroupMemoryExplicitLayoutKHR: return "WorkgroupMemoryExplicitLayoutKHR";
  3957. case CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "WorkgroupMemoryExplicitLayout8BitAccessKHR";
  3958. case CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "WorkgroupMemoryExplicitLayout16BitAccessKHR";
  3959. case CapabilitySubgroupVoteKHR: return "SubgroupVoteKHR";
  3960. case CapabilityStorageBuffer16BitAccess: return "StorageBuffer16BitAccess";
  3961. case CapabilityStorageUniform16: return "StorageUniform16";
  3962. case CapabilityStoragePushConstant16: return "StoragePushConstant16";
  3963. case CapabilityStorageInputOutput16: return "StorageInputOutput16";
  3964. case CapabilityDeviceGroup: return "DeviceGroup";
  3965. case CapabilityMultiView: return "MultiView";
  3966. case CapabilityVariablePointersStorageBuffer: return "VariablePointersStorageBuffer";
  3967. case CapabilityVariablePointers: return "VariablePointers";
  3968. case CapabilityAtomicStorageOps: return "AtomicStorageOps";
  3969. case CapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage";
  3970. case CapabilityStorageBuffer8BitAccess: return "StorageBuffer8BitAccess";
  3971. case CapabilityUniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess";
  3972. case CapabilityStoragePushConstant8: return "StoragePushConstant8";
  3973. case CapabilityDenormPreserve: return "DenormPreserve";
  3974. case CapabilityDenormFlushToZero: return "DenormFlushToZero";
  3975. case CapabilitySignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
  3976. case CapabilityRoundingModeRTE: return "RoundingModeRTE";
  3977. case CapabilityRoundingModeRTZ: return "RoundingModeRTZ";
  3978. case CapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
  3979. case CapabilityRayQueryKHR: return "RayQueryKHR";
  3980. case CapabilityUntypedPointersKHR: return "UntypedPointersKHR";
  3981. case CapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
  3982. case CapabilityRayTracingKHR: return "RayTracingKHR";
  3983. case CapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
  3984. case CapabilityTextureBoxFilterQCOM: return "TextureBoxFilterQCOM";
  3985. case CapabilityTextureBlockMatchQCOM: return "TextureBlockMatchQCOM";
  3986. case CapabilityTileShadingQCOM: return "TileShadingQCOM";
  3987. case CapabilityCooperativeMatrixConversionQCOM: return "CooperativeMatrixConversionQCOM";
  3988. case CapabilityTextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM";
  3989. case CapabilityFloat16ImageAMD: return "Float16ImageAMD";
  3990. case CapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD";
  3991. case CapabilityFragmentMaskAMD: return "FragmentMaskAMD";
  3992. case CapabilityStencilExportEXT: return "StencilExportEXT";
  3993. case CapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD";
  3994. case CapabilityInt64ImageEXT: return "Int64ImageEXT";
  3995. case CapabilityShaderClockKHR: return "ShaderClockKHR";
  3996. case CapabilityShaderEnqueueAMDX: return "ShaderEnqueueAMDX";
  3997. case CapabilityQuadControlKHR: return "QuadControlKHR";
  3998. case CapabilityInt4TypeINTEL: return "Int4TypeINTEL";
  3999. case CapabilityInt4CooperativeMatrixINTEL: return "Int4CooperativeMatrixINTEL";
  4000. case CapabilityBFloat16TypeKHR: return "BFloat16TypeKHR";
  4001. case CapabilityBFloat16DotProductKHR: return "BFloat16DotProductKHR";
  4002. case CapabilityBFloat16CooperativeMatrixKHR: return "BFloat16CooperativeMatrixKHR";
  4003. case CapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
  4004. case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
  4005. case CapabilityShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT";
  4006. case CapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV";
  4007. case CapabilityShaderStereoViewNV: return "ShaderStereoViewNV";
  4008. case CapabilityPerViewAttributesNV: return "PerViewAttributesNV";
  4009. case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
  4010. case CapabilityMeshShadingNV: return "MeshShadingNV";
  4011. case CapabilityImageFootprintNV: return "ImageFootprintNV";
  4012. case CapabilityMeshShadingEXT: return "MeshShadingEXT";
  4013. case CapabilityFragmentBarycentricKHR: return "FragmentBarycentricKHR";
  4014. case CapabilityComputeDerivativeGroupQuadsKHR: return "ComputeDerivativeGroupQuadsKHR";
  4015. case CapabilityFragmentDensityEXT: return "FragmentDensityEXT";
  4016. case CapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
  4017. case CapabilityShaderNonUniform: return "ShaderNonUniform";
  4018. case CapabilityRuntimeDescriptorArray: return "RuntimeDescriptorArray";
  4019. case CapabilityInputAttachmentArrayDynamicIndexing: return "InputAttachmentArrayDynamicIndexing";
  4020. case CapabilityUniformTexelBufferArrayDynamicIndexing: return "UniformTexelBufferArrayDynamicIndexing";
  4021. case CapabilityStorageTexelBufferArrayDynamicIndexing: return "StorageTexelBufferArrayDynamicIndexing";
  4022. case CapabilityUniformBufferArrayNonUniformIndexing: return "UniformBufferArrayNonUniformIndexing";
  4023. case CapabilitySampledImageArrayNonUniformIndexing: return "SampledImageArrayNonUniformIndexing";
  4024. case CapabilityStorageBufferArrayNonUniformIndexing: return "StorageBufferArrayNonUniformIndexing";
  4025. case CapabilityStorageImageArrayNonUniformIndexing: return "StorageImageArrayNonUniformIndexing";
  4026. case CapabilityInputAttachmentArrayNonUniformIndexing: return "InputAttachmentArrayNonUniformIndexing";
  4027. case CapabilityUniformTexelBufferArrayNonUniformIndexing: return "UniformTexelBufferArrayNonUniformIndexing";
  4028. case CapabilityStorageTexelBufferArrayNonUniformIndexing: return "StorageTexelBufferArrayNonUniformIndexing";
  4029. case CapabilityRayTracingPositionFetchKHR: return "RayTracingPositionFetchKHR";
  4030. case CapabilityRayTracingNV: return "RayTracingNV";
  4031. case CapabilityRayTracingMotionBlurNV: return "RayTracingMotionBlurNV";
  4032. case CapabilityVulkanMemoryModel: return "VulkanMemoryModel";
  4033. case CapabilityVulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope";
  4034. case CapabilityPhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses";
  4035. case CapabilityComputeDerivativeGroupLinearKHR: return "ComputeDerivativeGroupLinearKHR";
  4036. case CapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
  4037. case CapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
  4038. case CapabilityFragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT";
  4039. case CapabilityFragmentShaderShadingRateInterlockEXT: return "FragmentShaderShadingRateInterlockEXT";
  4040. case CapabilityShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV";
  4041. case CapabilityFragmentShaderPixelInterlockEXT: return "FragmentShaderPixelInterlockEXT";
  4042. case CapabilityDemoteToHelperInvocation: return "DemoteToHelperInvocation";
  4043. case CapabilityDisplacementMicromapNV: return "DisplacementMicromapNV";
  4044. case CapabilityRayTracingOpacityMicromapEXT: return "RayTracingOpacityMicromapEXT";
  4045. case CapabilityShaderInvocationReorderNV: return "ShaderInvocationReorderNV";
  4046. case CapabilityBindlessTextureNV: return "BindlessTextureNV";
  4047. case CapabilityRayQueryPositionFetchKHR: return "RayQueryPositionFetchKHR";
  4048. case CapabilityCooperativeVectorNV: return "CooperativeVectorNV";
  4049. case CapabilityAtomicFloat16VectorNV: return "AtomicFloat16VectorNV";
  4050. case CapabilityRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV";
  4051. case CapabilityRawAccessChainsNV: return "RawAccessChainsNV";
  4052. case CapabilityRayTracingSpheresGeometryNV: return "RayTracingSpheresGeometryNV";
  4053. case CapabilityRayTracingLinearSweptSpheresGeometryNV: return "RayTracingLinearSweptSpheresGeometryNV";
  4054. case CapabilityCooperativeMatrixReductionsNV: return "CooperativeMatrixReductionsNV";
  4055. case CapabilityCooperativeMatrixConversionsNV: return "CooperativeMatrixConversionsNV";
  4056. case CapabilityCooperativeMatrixPerElementOperationsNV: return "CooperativeMatrixPerElementOperationsNV";
  4057. case CapabilityCooperativeMatrixTensorAddressingNV: return "CooperativeMatrixTensorAddressingNV";
  4058. case CapabilityCooperativeMatrixBlockLoadsNV: return "CooperativeMatrixBlockLoadsNV";
  4059. case CapabilityCooperativeVectorTrainingNV: return "CooperativeVectorTrainingNV";
  4060. case CapabilityRayTracingClusterAccelerationStructureNV: return "RayTracingClusterAccelerationStructureNV";
  4061. case CapabilityTensorAddressingNV: return "TensorAddressingNV";
  4062. case CapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
  4063. case CapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
  4064. case CapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
  4065. case CapabilitySubgroupImageMediaBlockIOINTEL: return "SubgroupImageMediaBlockIOINTEL";
  4066. case CapabilityRoundToInfinityINTEL: return "RoundToInfinityINTEL";
  4067. case CapabilityFloatingPointModeINTEL: return "FloatingPointModeINTEL";
  4068. case CapabilityIntegerFunctions2INTEL: return "IntegerFunctions2INTEL";
  4069. case CapabilityFunctionPointersINTEL: return "FunctionPointersINTEL";
  4070. case CapabilityIndirectReferencesINTEL: return "IndirectReferencesINTEL";
  4071. case CapabilityAsmINTEL: return "AsmINTEL";
  4072. case CapabilityAtomicFloat32MinMaxEXT: return "AtomicFloat32MinMaxEXT";
  4073. case CapabilityAtomicFloat64MinMaxEXT: return "AtomicFloat64MinMaxEXT";
  4074. case CapabilityAtomicFloat16MinMaxEXT: return "AtomicFloat16MinMaxEXT";
  4075. case CapabilityVectorComputeINTEL: return "VectorComputeINTEL";
  4076. case CapabilityVectorAnyINTEL: return "VectorAnyINTEL";
  4077. case CapabilityExpectAssumeKHR: return "ExpectAssumeKHR";
  4078. case CapabilitySubgroupAvcMotionEstimationINTEL: return "SubgroupAvcMotionEstimationINTEL";
  4079. case CapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SubgroupAvcMotionEstimationIntraINTEL";
  4080. case CapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SubgroupAvcMotionEstimationChromaINTEL";
  4081. case CapabilityVariableLengthArrayINTEL: return "VariableLengthArrayINTEL";
  4082. case CapabilityFunctionFloatControlINTEL: return "FunctionFloatControlINTEL";
  4083. case CapabilityFPGAMemoryAttributesINTEL: return "FPGAMemoryAttributesINTEL";
  4084. case CapabilityFPFastMathModeINTEL: return "FPFastMathModeINTEL";
  4085. case CapabilityArbitraryPrecisionIntegersINTEL: return "ArbitraryPrecisionIntegersINTEL";
  4086. case CapabilityArbitraryPrecisionFloatingPointINTEL: return "ArbitraryPrecisionFloatingPointINTEL";
  4087. case CapabilityUnstructuredLoopControlsINTEL: return "UnstructuredLoopControlsINTEL";
  4088. case CapabilityFPGALoopControlsINTEL: return "FPGALoopControlsINTEL";
  4089. case CapabilityKernelAttributesINTEL: return "KernelAttributesINTEL";
  4090. case CapabilityFPGAKernelAttributesINTEL: return "FPGAKernelAttributesINTEL";
  4091. case CapabilityFPGAMemoryAccessesINTEL: return "FPGAMemoryAccessesINTEL";
  4092. case CapabilityFPGAClusterAttributesINTEL: return "FPGAClusterAttributesINTEL";
  4093. case CapabilityLoopFuseINTEL: return "LoopFuseINTEL";
  4094. case CapabilityFPGADSPControlINTEL: return "FPGADSPControlINTEL";
  4095. case CapabilityMemoryAccessAliasingINTEL: return "MemoryAccessAliasingINTEL";
  4096. case CapabilityFPGAInvocationPipeliningAttributesINTEL: return "FPGAInvocationPipeliningAttributesINTEL";
  4097. case CapabilityFPGABufferLocationINTEL: return "FPGABufferLocationINTEL";
  4098. case CapabilityArbitraryPrecisionFixedPointINTEL: return "ArbitraryPrecisionFixedPointINTEL";
  4099. case CapabilityUSMStorageClassesINTEL: return "USMStorageClassesINTEL";
  4100. case CapabilityRuntimeAlignedAttributeINTEL: return "RuntimeAlignedAttributeINTEL";
  4101. case CapabilityIOPipesINTEL: return "IOPipesINTEL";
  4102. case CapabilityBlockingPipesINTEL: return "BlockingPipesINTEL";
  4103. case CapabilityFPGARegINTEL: return "FPGARegINTEL";
  4104. case CapabilityDotProductInputAll: return "DotProductInputAll";
  4105. case CapabilityDotProductInput4x8Bit: return "DotProductInput4x8Bit";
  4106. case CapabilityDotProductInput4x8BitPacked: return "DotProductInput4x8BitPacked";
  4107. case CapabilityDotProduct: return "DotProduct";
  4108. case CapabilityRayCullMaskKHR: return "RayCullMaskKHR";
  4109. case CapabilityCooperativeMatrixKHR: return "CooperativeMatrixKHR";
  4110. case CapabilityReplicatedCompositesEXT: return "ReplicatedCompositesEXT";
  4111. case CapabilityBitInstructions: return "BitInstructions";
  4112. case CapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR";
  4113. case CapabilityFloatControls2: return "FloatControls2";
  4114. case CapabilityFMAKHR: return "FMAKHR";
  4115. case CapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
  4116. case CapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
  4117. case CapabilityLongCompositesINTEL: return "LongCompositesINTEL";
  4118. case CapabilityOptNoneEXT: return "OptNoneEXT";
  4119. case CapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
  4120. case CapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL";
  4121. case CapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL";
  4122. case CapabilitySplitBarrierINTEL: return "SplitBarrierINTEL";
  4123. case CapabilityArithmeticFenceEXT: return "ArithmeticFenceEXT";
  4124. case CapabilityFPGAClusterAttributesV2INTEL: return "FPGAClusterAttributesV2INTEL";
  4125. case CapabilityFPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL";
  4126. case CapabilityTaskSequenceINTEL: return "TaskSequenceINTEL";
  4127. case CapabilityFPMaxErrorINTEL: return "FPMaxErrorINTEL";
  4128. case CapabilityFPGALatencyControlINTEL: return "FPGALatencyControlINTEL";
  4129. case CapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL";
  4130. case CapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL";
  4131. case CapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL";
  4132. case CapabilitySubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL";
  4133. case CapabilitySubgroup2DBlockIOINTEL: return "Subgroup2DBlockIOINTEL";
  4134. case CapabilitySubgroup2DBlockTransformINTEL: return "Subgroup2DBlockTransformINTEL";
  4135. case CapabilitySubgroup2DBlockTransposeINTEL: return "Subgroup2DBlockTransposeINTEL";
  4136. case CapabilitySubgroupMatrixMultiplyAccumulateINTEL: return "SubgroupMatrixMultiplyAccumulateINTEL";
  4137. case CapabilityTernaryBitwiseFunctionINTEL: return "TernaryBitwiseFunctionINTEL";
  4138. case CapabilityUntypedVariableLengthArrayINTEL: return "UntypedVariableLengthArrayINTEL";
  4139. case CapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
  4140. case CapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
  4141. case CapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
  4142. case CapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
  4143. case CapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
  4144. case CapabilityCacheControlsINTEL: return "CacheControlsINTEL";
  4145. case CapabilityRegisterLimitsINTEL: return "RegisterLimitsINTEL";
  4146. case CapabilityBindlessImagesINTEL: return "BindlessImagesINTEL";
  4147. default: return "Unknown";
  4148. }
  4149. }
  4150. inline const char* RayQueryIntersectionToString(RayQueryIntersection value) {
  4151. switch (value) {
  4152. case RayQueryIntersectionRayQueryCandidateIntersectionKHR: return "RayQueryCandidateIntersectionKHR";
  4153. case RayQueryIntersectionRayQueryCommittedIntersectionKHR: return "RayQueryCommittedIntersectionKHR";
  4154. default: return "Unknown";
  4155. }
  4156. }
  4157. inline const char* RayQueryCommittedIntersectionTypeToString(RayQueryCommittedIntersectionType value) {
  4158. switch (value) {
  4159. case RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR: return "RayQueryCommittedIntersectionNoneKHR";
  4160. case RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR: return "RayQueryCommittedIntersectionTriangleKHR";
  4161. case RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR: return "RayQueryCommittedIntersectionGeneratedKHR";
  4162. default: return "Unknown";
  4163. }
  4164. }
  4165. inline const char* RayQueryCandidateIntersectionTypeToString(RayQueryCandidateIntersectionType value) {
  4166. switch (value) {
  4167. case RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR: return "RayQueryCandidateIntersectionTriangleKHR";
  4168. case RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR: return "RayQueryCandidateIntersectionAABBKHR";
  4169. default: return "Unknown";
  4170. }
  4171. }
  4172. inline const char* FPDenormModeToString(FPDenormMode value) {
  4173. switch (value) {
  4174. case FPDenormModePreserve: return "Preserve";
  4175. case FPDenormModeFlushToZero: return "FlushToZero";
  4176. default: return "Unknown";
  4177. }
  4178. }
  4179. inline const char* FPOperationModeToString(FPOperationMode value) {
  4180. switch (value) {
  4181. case FPOperationModeIEEE: return "IEEE";
  4182. case FPOperationModeALT: return "ALT";
  4183. default: return "Unknown";
  4184. }
  4185. }
  4186. inline const char* QuantizationModesToString(QuantizationModes value) {
  4187. switch (value) {
  4188. case QuantizationModesTRN: return "TRN";
  4189. case QuantizationModesTRN_ZERO: return "TRN_ZERO";
  4190. case QuantizationModesRND: return "RND";
  4191. case QuantizationModesRND_ZERO: return "RND_ZERO";
  4192. case QuantizationModesRND_INF: return "RND_INF";
  4193. case QuantizationModesRND_MIN_INF: return "RND_MIN_INF";
  4194. case QuantizationModesRND_CONV: return "RND_CONV";
  4195. case QuantizationModesRND_CONV_ODD: return "RND_CONV_ODD";
  4196. default: return "Unknown";
  4197. }
  4198. }
  4199. inline const char* OverflowModesToString(OverflowModes value) {
  4200. switch (value) {
  4201. case OverflowModesWRAP: return "WRAP";
  4202. case OverflowModesSAT: return "SAT";
  4203. case OverflowModesSAT_ZERO: return "SAT_ZERO";
  4204. case OverflowModesSAT_SYM: return "SAT_SYM";
  4205. default: return "Unknown";
  4206. }
  4207. }
  4208. inline const char* PackedVectorFormatToString(PackedVectorFormat value) {
  4209. switch (value) {
  4210. case PackedVectorFormatPackedVectorFormat4x8Bit: return "PackedVectorFormat4x8Bit";
  4211. default: return "Unknown";
  4212. }
  4213. }
  4214. inline const char* CooperativeMatrixLayoutToString(CooperativeMatrixLayout value) {
  4215. switch (value) {
  4216. case CooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
  4217. case CooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
  4218. case CooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
  4219. case CooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
  4220. default: return "Unknown";
  4221. }
  4222. }
  4223. inline const char* CooperativeMatrixUseToString(CooperativeMatrixUse value) {
  4224. switch (value) {
  4225. case CooperativeMatrixUseMatrixAKHR: return "MatrixAKHR";
  4226. case CooperativeMatrixUseMatrixBKHR: return "MatrixBKHR";
  4227. case CooperativeMatrixUseMatrixAccumulatorKHR: return "MatrixAccumulatorKHR";
  4228. default: return "Unknown";
  4229. }
  4230. }
  4231. inline const char* TensorClampModeToString(TensorClampMode value) {
  4232. switch (value) {
  4233. case TensorClampModeUndefined: return "Undefined";
  4234. case TensorClampModeConstant: return "Constant";
  4235. case TensorClampModeClampToEdge: return "ClampToEdge";
  4236. case TensorClampModeRepeat: return "Repeat";
  4237. case TensorClampModeRepeatMirrored: return "RepeatMirrored";
  4238. default: return "Unknown";
  4239. }
  4240. }
  4241. inline const char* InitializationModeQualifierToString(InitializationModeQualifier value) {
  4242. switch (value) {
  4243. case InitializationModeQualifierInitOnDeviceReprogramINTEL: return "InitOnDeviceReprogramINTEL";
  4244. case InitializationModeQualifierInitOnDeviceResetINTEL: return "InitOnDeviceResetINTEL";
  4245. default: return "Unknown";
  4246. }
  4247. }
  4248. inline const char* HostAccessQualifierToString(HostAccessQualifier value) {
  4249. switch (value) {
  4250. case HostAccessQualifierNoneINTEL: return "NoneINTEL";
  4251. case HostAccessQualifierReadINTEL: return "ReadINTEL";
  4252. case HostAccessQualifierWriteINTEL: return "WriteINTEL";
  4253. case HostAccessQualifierReadWriteINTEL: return "ReadWriteINTEL";
  4254. default: return "Unknown";
  4255. }
  4256. }
  4257. inline const char* LoadCacheControlToString(LoadCacheControl value) {
  4258. switch (value) {
  4259. case LoadCacheControlUncachedINTEL: return "UncachedINTEL";
  4260. case LoadCacheControlCachedINTEL: return "CachedINTEL";
  4261. case LoadCacheControlStreamingINTEL: return "StreamingINTEL";
  4262. case LoadCacheControlInvalidateAfterReadINTEL: return "InvalidateAfterReadINTEL";
  4263. case LoadCacheControlConstCachedINTEL: return "ConstCachedINTEL";
  4264. default: return "Unknown";
  4265. }
  4266. }
  4267. inline const char* StoreCacheControlToString(StoreCacheControl value) {
  4268. switch (value) {
  4269. case StoreCacheControlUncachedINTEL: return "UncachedINTEL";
  4270. case StoreCacheControlWriteThroughINTEL: return "WriteThroughINTEL";
  4271. case StoreCacheControlWriteBackINTEL: return "WriteBackINTEL";
  4272. case StoreCacheControlStreamingINTEL: return "StreamingINTEL";
  4273. default: return "Unknown";
  4274. }
  4275. }
  4276. inline const char* NamedMaximumNumberOfRegistersToString(NamedMaximumNumberOfRegisters value) {
  4277. switch (value) {
  4278. case NamedMaximumNumberOfRegistersAutoINTEL: return "AutoINTEL";
  4279. default: return "Unknown";
  4280. }
  4281. }
  4282. inline const char* FPEncodingToString(FPEncoding value) {
  4283. switch (value) {
  4284. case FPEncodingBFloat16KHR: return "BFloat16KHR";
  4285. case FPEncodingFloat8E4M3EXT: return "Float8E4M3EXT";
  4286. case FPEncodingFloat8E5M2EXT: return "Float8E5M2EXT";
  4287. default: return "Unknown";
  4288. }
  4289. }
  4290. inline const char* CooperativeVectorMatrixLayoutToString(CooperativeVectorMatrixLayout value) {
  4291. switch (value) {
  4292. case CooperativeVectorMatrixLayoutRowMajorNV: return "RowMajorNV";
  4293. case CooperativeVectorMatrixLayoutColumnMajorNV: return "ColumnMajorNV";
  4294. case CooperativeVectorMatrixLayoutInferencingOptimalNV: return "InferencingOptimalNV";
  4295. case CooperativeVectorMatrixLayoutTrainingOptimalNV: return "TrainingOptimalNV";
  4296. default: return "Unknown";
  4297. }
  4298. }
  4299. inline const char* ComponentTypeToString(ComponentType value) {
  4300. switch (value) {
  4301. case ComponentTypeFloat16NV: return "Float16NV";
  4302. case ComponentTypeFloat32NV: return "Float32NV";
  4303. case ComponentTypeFloat64NV: return "Float64NV";
  4304. case ComponentTypeSignedInt8NV: return "SignedInt8NV";
  4305. case ComponentTypeSignedInt16NV: return "SignedInt16NV";
  4306. case ComponentTypeSignedInt32NV: return "SignedInt32NV";
  4307. case ComponentTypeSignedInt64NV: return "SignedInt64NV";
  4308. case ComponentTypeUnsignedInt8NV: return "UnsignedInt8NV";
  4309. case ComponentTypeUnsignedInt16NV: return "UnsignedInt16NV";
  4310. case ComponentTypeUnsignedInt32NV: return "UnsignedInt32NV";
  4311. case ComponentTypeUnsignedInt64NV: return "UnsignedInt64NV";
  4312. case ComponentTypeSignedInt8PackedNV: return "SignedInt8PackedNV";
  4313. case ComponentTypeUnsignedInt8PackedNV: return "UnsignedInt8PackedNV";
  4314. case ComponentTypeFloatE4M3NV: return "FloatE4M3NV";
  4315. case ComponentTypeFloatE5M2NV: return "FloatE5M2NV";
  4316. default: return "Unknown";
  4317. }
  4318. }
  4319. inline const char* OpToString(Op value) {
  4320. switch (value) {
  4321. case OpNop: return "OpNop";
  4322. case OpUndef: return "OpUndef";
  4323. case OpSourceContinued: return "OpSourceContinued";
  4324. case OpSource: return "OpSource";
  4325. case OpSourceExtension: return "OpSourceExtension";
  4326. case OpName: return "OpName";
  4327. case OpMemberName: return "OpMemberName";
  4328. case OpString: return "OpString";
  4329. case OpLine: return "OpLine";
  4330. case OpExtension: return "OpExtension";
  4331. case OpExtInstImport: return "OpExtInstImport";
  4332. case OpExtInst: return "OpExtInst";
  4333. case OpMemoryModel: return "OpMemoryModel";
  4334. case OpEntryPoint: return "OpEntryPoint";
  4335. case OpExecutionMode: return "OpExecutionMode";
  4336. case OpCapability: return "OpCapability";
  4337. case OpTypeVoid: return "OpTypeVoid";
  4338. case OpTypeBool: return "OpTypeBool";
  4339. case OpTypeInt: return "OpTypeInt";
  4340. case OpTypeFloat: return "OpTypeFloat";
  4341. case OpTypeVector: return "OpTypeVector";
  4342. case OpTypeMatrix: return "OpTypeMatrix";
  4343. case OpTypeImage: return "OpTypeImage";
  4344. case OpTypeSampler: return "OpTypeSampler";
  4345. case OpTypeSampledImage: return "OpTypeSampledImage";
  4346. case OpTypeArray: return "OpTypeArray";
  4347. case OpTypeRuntimeArray: return "OpTypeRuntimeArray";
  4348. case OpTypeStruct: return "OpTypeStruct";
  4349. case OpTypeOpaque: return "OpTypeOpaque";
  4350. case OpTypePointer: return "OpTypePointer";
  4351. case OpTypeFunction: return "OpTypeFunction";
  4352. case OpTypeEvent: return "OpTypeEvent";
  4353. case OpTypeDeviceEvent: return "OpTypeDeviceEvent";
  4354. case OpTypeReserveId: return "OpTypeReserveId";
  4355. case OpTypeQueue: return "OpTypeQueue";
  4356. case OpTypePipe: return "OpTypePipe";
  4357. case OpTypeForwardPointer: return "OpTypeForwardPointer";
  4358. case OpConstantTrue: return "OpConstantTrue";
  4359. case OpConstantFalse: return "OpConstantFalse";
  4360. case OpConstant: return "OpConstant";
  4361. case OpConstantComposite: return "OpConstantComposite";
  4362. case OpConstantSampler: return "OpConstantSampler";
  4363. case OpConstantNull: return "OpConstantNull";
  4364. case OpSpecConstantTrue: return "OpSpecConstantTrue";
  4365. case OpSpecConstantFalse: return "OpSpecConstantFalse";
  4366. case OpSpecConstant: return "OpSpecConstant";
  4367. case OpSpecConstantComposite: return "OpSpecConstantComposite";
  4368. case OpSpecConstantOp: return "OpSpecConstantOp";
  4369. case OpFunction: return "OpFunction";
  4370. case OpFunctionParameter: return "OpFunctionParameter";
  4371. case OpFunctionEnd: return "OpFunctionEnd";
  4372. case OpFunctionCall: return "OpFunctionCall";
  4373. case OpVariable: return "OpVariable";
  4374. case OpImageTexelPointer: return "OpImageTexelPointer";
  4375. case OpLoad: return "OpLoad";
  4376. case OpStore: return "OpStore";
  4377. case OpCopyMemory: return "OpCopyMemory";
  4378. case OpCopyMemorySized: return "OpCopyMemorySized";
  4379. case OpAccessChain: return "OpAccessChain";
  4380. case OpInBoundsAccessChain: return "OpInBoundsAccessChain";
  4381. case OpPtrAccessChain: return "OpPtrAccessChain";
  4382. case OpArrayLength: return "OpArrayLength";
  4383. case OpGenericPtrMemSemantics: return "OpGenericPtrMemSemantics";
  4384. case OpInBoundsPtrAccessChain: return "OpInBoundsPtrAccessChain";
  4385. case OpDecorate: return "OpDecorate";
  4386. case OpMemberDecorate: return "OpMemberDecorate";
  4387. case OpDecorationGroup: return "OpDecorationGroup";
  4388. case OpGroupDecorate: return "OpGroupDecorate";
  4389. case OpGroupMemberDecorate: return "OpGroupMemberDecorate";
  4390. case OpVectorExtractDynamic: return "OpVectorExtractDynamic";
  4391. case OpVectorInsertDynamic: return "OpVectorInsertDynamic";
  4392. case OpVectorShuffle: return "OpVectorShuffle";
  4393. case OpCompositeConstruct: return "OpCompositeConstruct";
  4394. case OpCompositeExtract: return "OpCompositeExtract";
  4395. case OpCompositeInsert: return "OpCompositeInsert";
  4396. case OpCopyObject: return "OpCopyObject";
  4397. case OpTranspose: return "OpTranspose";
  4398. case OpSampledImage: return "OpSampledImage";
  4399. case OpImageSampleImplicitLod: return "OpImageSampleImplicitLod";
  4400. case OpImageSampleExplicitLod: return "OpImageSampleExplicitLod";
  4401. case OpImageSampleDrefImplicitLod: return "OpImageSampleDrefImplicitLod";
  4402. case OpImageSampleDrefExplicitLod: return "OpImageSampleDrefExplicitLod";
  4403. case OpImageSampleProjImplicitLod: return "OpImageSampleProjImplicitLod";
  4404. case OpImageSampleProjExplicitLod: return "OpImageSampleProjExplicitLod";
  4405. case OpImageSampleProjDrefImplicitLod: return "OpImageSampleProjDrefImplicitLod";
  4406. case OpImageSampleProjDrefExplicitLod: return "OpImageSampleProjDrefExplicitLod";
  4407. case OpImageFetch: return "OpImageFetch";
  4408. case OpImageGather: return "OpImageGather";
  4409. case OpImageDrefGather: return "OpImageDrefGather";
  4410. case OpImageRead: return "OpImageRead";
  4411. case OpImageWrite: return "OpImageWrite";
  4412. case OpImage: return "OpImage";
  4413. case OpImageQueryFormat: return "OpImageQueryFormat";
  4414. case OpImageQueryOrder: return "OpImageQueryOrder";
  4415. case OpImageQuerySizeLod: return "OpImageQuerySizeLod";
  4416. case OpImageQuerySize: return "OpImageQuerySize";
  4417. case OpImageQueryLod: return "OpImageQueryLod";
  4418. case OpImageQueryLevels: return "OpImageQueryLevels";
  4419. case OpImageQuerySamples: return "OpImageQuerySamples";
  4420. case OpConvertFToU: return "OpConvertFToU";
  4421. case OpConvertFToS: return "OpConvertFToS";
  4422. case OpConvertSToF: return "OpConvertSToF";
  4423. case OpConvertUToF: return "OpConvertUToF";
  4424. case OpUConvert: return "OpUConvert";
  4425. case OpSConvert: return "OpSConvert";
  4426. case OpFConvert: return "OpFConvert";
  4427. case OpQuantizeToF16: return "OpQuantizeToF16";
  4428. case OpConvertPtrToU: return "OpConvertPtrToU";
  4429. case OpSatConvertSToU: return "OpSatConvertSToU";
  4430. case OpSatConvertUToS: return "OpSatConvertUToS";
  4431. case OpConvertUToPtr: return "OpConvertUToPtr";
  4432. case OpPtrCastToGeneric: return "OpPtrCastToGeneric";
  4433. case OpGenericCastToPtr: return "OpGenericCastToPtr";
  4434. case OpGenericCastToPtrExplicit: return "OpGenericCastToPtrExplicit";
  4435. case OpBitcast: return "OpBitcast";
  4436. case OpSNegate: return "OpSNegate";
  4437. case OpFNegate: return "OpFNegate";
  4438. case OpIAdd: return "OpIAdd";
  4439. case OpFAdd: return "OpFAdd";
  4440. case OpISub: return "OpISub";
  4441. case OpFSub: return "OpFSub";
  4442. case OpIMul: return "OpIMul";
  4443. case OpFMul: return "OpFMul";
  4444. case OpUDiv: return "OpUDiv";
  4445. case OpSDiv: return "OpSDiv";
  4446. case OpFDiv: return "OpFDiv";
  4447. case OpUMod: return "OpUMod";
  4448. case OpSRem: return "OpSRem";
  4449. case OpSMod: return "OpSMod";
  4450. case OpFRem: return "OpFRem";
  4451. case OpFMod: return "OpFMod";
  4452. case OpVectorTimesScalar: return "OpVectorTimesScalar";
  4453. case OpMatrixTimesScalar: return "OpMatrixTimesScalar";
  4454. case OpVectorTimesMatrix: return "OpVectorTimesMatrix";
  4455. case OpMatrixTimesVector: return "OpMatrixTimesVector";
  4456. case OpMatrixTimesMatrix: return "OpMatrixTimesMatrix";
  4457. case OpOuterProduct: return "OpOuterProduct";
  4458. case OpDot: return "OpDot";
  4459. case OpIAddCarry: return "OpIAddCarry";
  4460. case OpISubBorrow: return "OpISubBorrow";
  4461. case OpUMulExtended: return "OpUMulExtended";
  4462. case OpSMulExtended: return "OpSMulExtended";
  4463. case OpAny: return "OpAny";
  4464. case OpAll: return "OpAll";
  4465. case OpIsNan: return "OpIsNan";
  4466. case OpIsInf: return "OpIsInf";
  4467. case OpIsFinite: return "OpIsFinite";
  4468. case OpIsNormal: return "OpIsNormal";
  4469. case OpSignBitSet: return "OpSignBitSet";
  4470. case OpLessOrGreater: return "OpLessOrGreater";
  4471. case OpOrdered: return "OpOrdered";
  4472. case OpUnordered: return "OpUnordered";
  4473. case OpLogicalEqual: return "OpLogicalEqual";
  4474. case OpLogicalNotEqual: return "OpLogicalNotEqual";
  4475. case OpLogicalOr: return "OpLogicalOr";
  4476. case OpLogicalAnd: return "OpLogicalAnd";
  4477. case OpLogicalNot: return "OpLogicalNot";
  4478. case OpSelect: return "OpSelect";
  4479. case OpIEqual: return "OpIEqual";
  4480. case OpINotEqual: return "OpINotEqual";
  4481. case OpUGreaterThan: return "OpUGreaterThan";
  4482. case OpSGreaterThan: return "OpSGreaterThan";
  4483. case OpUGreaterThanEqual: return "OpUGreaterThanEqual";
  4484. case OpSGreaterThanEqual: return "OpSGreaterThanEqual";
  4485. case OpULessThan: return "OpULessThan";
  4486. case OpSLessThan: return "OpSLessThan";
  4487. case OpULessThanEqual: return "OpULessThanEqual";
  4488. case OpSLessThanEqual: return "OpSLessThanEqual";
  4489. case OpFOrdEqual: return "OpFOrdEqual";
  4490. case OpFUnordEqual: return "OpFUnordEqual";
  4491. case OpFOrdNotEqual: return "OpFOrdNotEqual";
  4492. case OpFUnordNotEqual: return "OpFUnordNotEqual";
  4493. case OpFOrdLessThan: return "OpFOrdLessThan";
  4494. case OpFUnordLessThan: return "OpFUnordLessThan";
  4495. case OpFOrdGreaterThan: return "OpFOrdGreaterThan";
  4496. case OpFUnordGreaterThan: return "OpFUnordGreaterThan";
  4497. case OpFOrdLessThanEqual: return "OpFOrdLessThanEqual";
  4498. case OpFUnordLessThanEqual: return "OpFUnordLessThanEqual";
  4499. case OpFOrdGreaterThanEqual: return "OpFOrdGreaterThanEqual";
  4500. case OpFUnordGreaterThanEqual: return "OpFUnordGreaterThanEqual";
  4501. case OpShiftRightLogical: return "OpShiftRightLogical";
  4502. case OpShiftRightArithmetic: return "OpShiftRightArithmetic";
  4503. case OpShiftLeftLogical: return "OpShiftLeftLogical";
  4504. case OpBitwiseOr: return "OpBitwiseOr";
  4505. case OpBitwiseXor: return "OpBitwiseXor";
  4506. case OpBitwiseAnd: return "OpBitwiseAnd";
  4507. case OpNot: return "OpNot";
  4508. case OpBitFieldInsert: return "OpBitFieldInsert";
  4509. case OpBitFieldSExtract: return "OpBitFieldSExtract";
  4510. case OpBitFieldUExtract: return "OpBitFieldUExtract";
  4511. case OpBitReverse: return "OpBitReverse";
  4512. case OpBitCount: return "OpBitCount";
  4513. case OpDPdx: return "OpDPdx";
  4514. case OpDPdy: return "OpDPdy";
  4515. case OpFwidth: return "OpFwidth";
  4516. case OpDPdxFine: return "OpDPdxFine";
  4517. case OpDPdyFine: return "OpDPdyFine";
  4518. case OpFwidthFine: return "OpFwidthFine";
  4519. case OpDPdxCoarse: return "OpDPdxCoarse";
  4520. case OpDPdyCoarse: return "OpDPdyCoarse";
  4521. case OpFwidthCoarse: return "OpFwidthCoarse";
  4522. case OpEmitVertex: return "OpEmitVertex";
  4523. case OpEndPrimitive: return "OpEndPrimitive";
  4524. case OpEmitStreamVertex: return "OpEmitStreamVertex";
  4525. case OpEndStreamPrimitive: return "OpEndStreamPrimitive";
  4526. case OpControlBarrier: return "OpControlBarrier";
  4527. case OpMemoryBarrier: return "OpMemoryBarrier";
  4528. case OpAtomicLoad: return "OpAtomicLoad";
  4529. case OpAtomicStore: return "OpAtomicStore";
  4530. case OpAtomicExchange: return "OpAtomicExchange";
  4531. case OpAtomicCompareExchange: return "OpAtomicCompareExchange";
  4532. case OpAtomicCompareExchangeWeak: return "OpAtomicCompareExchangeWeak";
  4533. case OpAtomicIIncrement: return "OpAtomicIIncrement";
  4534. case OpAtomicIDecrement: return "OpAtomicIDecrement";
  4535. case OpAtomicIAdd: return "OpAtomicIAdd";
  4536. case OpAtomicISub: return "OpAtomicISub";
  4537. case OpAtomicSMin: return "OpAtomicSMin";
  4538. case OpAtomicUMin: return "OpAtomicUMin";
  4539. case OpAtomicSMax: return "OpAtomicSMax";
  4540. case OpAtomicUMax: return "OpAtomicUMax";
  4541. case OpAtomicAnd: return "OpAtomicAnd";
  4542. case OpAtomicOr: return "OpAtomicOr";
  4543. case OpAtomicXor: return "OpAtomicXor";
  4544. case OpPhi: return "OpPhi";
  4545. case OpLoopMerge: return "OpLoopMerge";
  4546. case OpSelectionMerge: return "OpSelectionMerge";
  4547. case OpLabel: return "OpLabel";
  4548. case OpBranch: return "OpBranch";
  4549. case OpBranchConditional: return "OpBranchConditional";
  4550. case OpSwitch: return "OpSwitch";
  4551. case OpKill: return "OpKill";
  4552. case OpReturn: return "OpReturn";
  4553. case OpReturnValue: return "OpReturnValue";
  4554. case OpUnreachable: return "OpUnreachable";
  4555. case OpLifetimeStart: return "OpLifetimeStart";
  4556. case OpLifetimeStop: return "OpLifetimeStop";
  4557. case OpGroupAsyncCopy: return "OpGroupAsyncCopy";
  4558. case OpGroupWaitEvents: return "OpGroupWaitEvents";
  4559. case OpGroupAll: return "OpGroupAll";
  4560. case OpGroupAny: return "OpGroupAny";
  4561. case OpGroupBroadcast: return "OpGroupBroadcast";
  4562. case OpGroupIAdd: return "OpGroupIAdd";
  4563. case OpGroupFAdd: return "OpGroupFAdd";
  4564. case OpGroupFMin: return "OpGroupFMin";
  4565. case OpGroupUMin: return "OpGroupUMin";
  4566. case OpGroupSMin: return "OpGroupSMin";
  4567. case OpGroupFMax: return "OpGroupFMax";
  4568. case OpGroupUMax: return "OpGroupUMax";
  4569. case OpGroupSMax: return "OpGroupSMax";
  4570. case OpReadPipe: return "OpReadPipe";
  4571. case OpWritePipe: return "OpWritePipe";
  4572. case OpReservedReadPipe: return "OpReservedReadPipe";
  4573. case OpReservedWritePipe: return "OpReservedWritePipe";
  4574. case OpReserveReadPipePackets: return "OpReserveReadPipePackets";
  4575. case OpReserveWritePipePackets: return "OpReserveWritePipePackets";
  4576. case OpCommitReadPipe: return "OpCommitReadPipe";
  4577. case OpCommitWritePipe: return "OpCommitWritePipe";
  4578. case OpIsValidReserveId: return "OpIsValidReserveId";
  4579. case OpGetNumPipePackets: return "OpGetNumPipePackets";
  4580. case OpGetMaxPipePackets: return "OpGetMaxPipePackets";
  4581. case OpGroupReserveReadPipePackets: return "OpGroupReserveReadPipePackets";
  4582. case OpGroupReserveWritePipePackets: return "OpGroupReserveWritePipePackets";
  4583. case OpGroupCommitReadPipe: return "OpGroupCommitReadPipe";
  4584. case OpGroupCommitWritePipe: return "OpGroupCommitWritePipe";
  4585. case OpEnqueueMarker: return "OpEnqueueMarker";
  4586. case OpEnqueueKernel: return "OpEnqueueKernel";
  4587. case OpGetKernelNDrangeSubGroupCount: return "OpGetKernelNDrangeSubGroupCount";
  4588. case OpGetKernelNDrangeMaxSubGroupSize: return "OpGetKernelNDrangeMaxSubGroupSize";
  4589. case OpGetKernelWorkGroupSize: return "OpGetKernelWorkGroupSize";
  4590. case OpGetKernelPreferredWorkGroupSizeMultiple: return "OpGetKernelPreferredWorkGroupSizeMultiple";
  4591. case OpRetainEvent: return "OpRetainEvent";
  4592. case OpReleaseEvent: return "OpReleaseEvent";
  4593. case OpCreateUserEvent: return "OpCreateUserEvent";
  4594. case OpIsValidEvent: return "OpIsValidEvent";
  4595. case OpSetUserEventStatus: return "OpSetUserEventStatus";
  4596. case OpCaptureEventProfilingInfo: return "OpCaptureEventProfilingInfo";
  4597. case OpGetDefaultQueue: return "OpGetDefaultQueue";
  4598. case OpBuildNDRange: return "OpBuildNDRange";
  4599. case OpImageSparseSampleImplicitLod: return "OpImageSparseSampleImplicitLod";
  4600. case OpImageSparseSampleExplicitLod: return "OpImageSparseSampleExplicitLod";
  4601. case OpImageSparseSampleDrefImplicitLod: return "OpImageSparseSampleDrefImplicitLod";
  4602. case OpImageSparseSampleDrefExplicitLod: return "OpImageSparseSampleDrefExplicitLod";
  4603. case OpImageSparseSampleProjImplicitLod: return "OpImageSparseSampleProjImplicitLod";
  4604. case OpImageSparseSampleProjExplicitLod: return "OpImageSparseSampleProjExplicitLod";
  4605. case OpImageSparseSampleProjDrefImplicitLod: return "OpImageSparseSampleProjDrefImplicitLod";
  4606. case OpImageSparseSampleProjDrefExplicitLod: return "OpImageSparseSampleProjDrefExplicitLod";
  4607. case OpImageSparseFetch: return "OpImageSparseFetch";
  4608. case OpImageSparseGather: return "OpImageSparseGather";
  4609. case OpImageSparseDrefGather: return "OpImageSparseDrefGather";
  4610. case OpImageSparseTexelsResident: return "OpImageSparseTexelsResident";
  4611. case OpNoLine: return "OpNoLine";
  4612. case OpAtomicFlagTestAndSet: return "OpAtomicFlagTestAndSet";
  4613. case OpAtomicFlagClear: return "OpAtomicFlagClear";
  4614. case OpImageSparseRead: return "OpImageSparseRead";
  4615. case OpSizeOf: return "OpSizeOf";
  4616. case OpTypePipeStorage: return "OpTypePipeStorage";
  4617. case OpConstantPipeStorage: return "OpConstantPipeStorage";
  4618. case OpCreatePipeFromPipeStorage: return "OpCreatePipeFromPipeStorage";
  4619. case OpGetKernelLocalSizeForSubgroupCount: return "OpGetKernelLocalSizeForSubgroupCount";
  4620. case OpGetKernelMaxNumSubgroups: return "OpGetKernelMaxNumSubgroups";
  4621. case OpTypeNamedBarrier: return "OpTypeNamedBarrier";
  4622. case OpNamedBarrierInitialize: return "OpNamedBarrierInitialize";
  4623. case OpMemoryNamedBarrier: return "OpMemoryNamedBarrier";
  4624. case OpModuleProcessed: return "OpModuleProcessed";
  4625. case OpExecutionModeId: return "OpExecutionModeId";
  4626. case OpDecorateId: return "OpDecorateId";
  4627. case OpGroupNonUniformElect: return "OpGroupNonUniformElect";
  4628. case OpGroupNonUniformAll: return "OpGroupNonUniformAll";
  4629. case OpGroupNonUniformAny: return "OpGroupNonUniformAny";
  4630. case OpGroupNonUniformAllEqual: return "OpGroupNonUniformAllEqual";
  4631. case OpGroupNonUniformBroadcast: return "OpGroupNonUniformBroadcast";
  4632. case OpGroupNonUniformBroadcastFirst: return "OpGroupNonUniformBroadcastFirst";
  4633. case OpGroupNonUniformBallot: return "OpGroupNonUniformBallot";
  4634. case OpGroupNonUniformInverseBallot: return "OpGroupNonUniformInverseBallot";
  4635. case OpGroupNonUniformBallotBitExtract: return "OpGroupNonUniformBallotBitExtract";
  4636. case OpGroupNonUniformBallotBitCount: return "OpGroupNonUniformBallotBitCount";
  4637. case OpGroupNonUniformBallotFindLSB: return "OpGroupNonUniformBallotFindLSB";
  4638. case OpGroupNonUniformBallotFindMSB: return "OpGroupNonUniformBallotFindMSB";
  4639. case OpGroupNonUniformShuffle: return "OpGroupNonUniformShuffle";
  4640. case OpGroupNonUniformShuffleXor: return "OpGroupNonUniformShuffleXor";
  4641. case OpGroupNonUniformShuffleUp: return "OpGroupNonUniformShuffleUp";
  4642. case OpGroupNonUniformShuffleDown: return "OpGroupNonUniformShuffleDown";
  4643. case OpGroupNonUniformIAdd: return "OpGroupNonUniformIAdd";
  4644. case OpGroupNonUniformFAdd: return "OpGroupNonUniformFAdd";
  4645. case OpGroupNonUniformIMul: return "OpGroupNonUniformIMul";
  4646. case OpGroupNonUniformFMul: return "OpGroupNonUniformFMul";
  4647. case OpGroupNonUniformSMin: return "OpGroupNonUniformSMin";
  4648. case OpGroupNonUniformUMin: return "OpGroupNonUniformUMin";
  4649. case OpGroupNonUniformFMin: return "OpGroupNonUniformFMin";
  4650. case OpGroupNonUniformSMax: return "OpGroupNonUniformSMax";
  4651. case OpGroupNonUniformUMax: return "OpGroupNonUniformUMax";
  4652. case OpGroupNonUniformFMax: return "OpGroupNonUniformFMax";
  4653. case OpGroupNonUniformBitwiseAnd: return "OpGroupNonUniformBitwiseAnd";
  4654. case OpGroupNonUniformBitwiseOr: return "OpGroupNonUniformBitwiseOr";
  4655. case OpGroupNonUniformBitwiseXor: return "OpGroupNonUniformBitwiseXor";
  4656. case OpGroupNonUniformLogicalAnd: return "OpGroupNonUniformLogicalAnd";
  4657. case OpGroupNonUniformLogicalOr: return "OpGroupNonUniformLogicalOr";
  4658. case OpGroupNonUniformLogicalXor: return "OpGroupNonUniformLogicalXor";
  4659. case OpGroupNonUniformQuadBroadcast: return "OpGroupNonUniformQuadBroadcast";
  4660. case OpGroupNonUniformQuadSwap: return "OpGroupNonUniformQuadSwap";
  4661. case OpCopyLogical: return "OpCopyLogical";
  4662. case OpPtrEqual: return "OpPtrEqual";
  4663. case OpPtrNotEqual: return "OpPtrNotEqual";
  4664. case OpPtrDiff: return "OpPtrDiff";
  4665. case OpColorAttachmentReadEXT: return "OpColorAttachmentReadEXT";
  4666. case OpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
  4667. case OpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
  4668. case OpTypeTensorARM: return "OpTypeTensorARM";
  4669. case OpTensorReadARM: return "OpTensorReadARM";
  4670. case OpTensorWriteARM: return "OpTensorWriteARM";
  4671. case OpTensorQuerySizeARM: return "OpTensorQuerySizeARM";
  4672. case OpGraphConstantARM: return "OpGraphConstantARM";
  4673. case OpGraphEntryPointARM: return "OpGraphEntryPointARM";
  4674. case OpGraphARM: return "OpGraphARM";
  4675. case OpGraphInputARM: return "OpGraphInputARM";
  4676. case OpGraphSetOutputARM: return "OpGraphSetOutputARM";
  4677. case OpGraphEndARM: return "OpGraphEndARM";
  4678. case OpTypeGraphARM: return "OpTypeGraphARM";
  4679. case OpTerminateInvocation: return "OpTerminateInvocation";
  4680. case OpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
  4681. case OpUntypedVariableKHR: return "OpUntypedVariableKHR";
  4682. case OpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
  4683. case OpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
  4684. case OpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
  4685. case OpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
  4686. case OpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
  4687. case OpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
  4688. case OpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
  4689. case OpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
  4690. case OpFmaKHR: return "OpFmaKHR";
  4691. case OpSubgroupAllKHR: return "OpSubgroupAllKHR";
  4692. case OpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
  4693. case OpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
  4694. case OpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
  4695. case OpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
  4696. case OpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
  4697. case OpUntypedGroupAsyncCopyKHR: return "OpUntypedGroupAsyncCopyKHR";
  4698. case OpTraceRayKHR: return "OpTraceRayKHR";
  4699. case OpExecuteCallableKHR: return "OpExecuteCallableKHR";
  4700. case OpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";
  4701. case OpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR";
  4702. case OpTerminateRayKHR: return "OpTerminateRayKHR";
  4703. case OpSDot: return "OpSDot";
  4704. case OpUDot: return "OpUDot";
  4705. case OpSUDot: return "OpSUDot";
  4706. case OpSDotAccSat: return "OpSDotAccSat";
  4707. case OpUDotAccSat: return "OpUDotAccSat";
  4708. case OpSUDotAccSat: return "OpSUDotAccSat";
  4709. case OpTypeCooperativeMatrixKHR: return "OpTypeCooperativeMatrixKHR";
  4710. case OpCooperativeMatrixLoadKHR: return "OpCooperativeMatrixLoadKHR";
  4711. case OpCooperativeMatrixStoreKHR: return "OpCooperativeMatrixStoreKHR";
  4712. case OpCooperativeMatrixMulAddKHR: return "OpCooperativeMatrixMulAddKHR";
  4713. case OpCooperativeMatrixLengthKHR: return "OpCooperativeMatrixLengthKHR";
  4714. case OpConstantCompositeReplicateEXT: return "OpConstantCompositeReplicateEXT";
  4715. case OpSpecConstantCompositeReplicateEXT: return "OpSpecConstantCompositeReplicateEXT";
  4716. case OpCompositeConstructReplicateEXT: return "OpCompositeConstructReplicateEXT";
  4717. case OpTypeRayQueryKHR: return "OpTypeRayQueryKHR";
  4718. case OpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR";
  4719. case OpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR";
  4720. case OpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR";
  4721. case OpRayQueryConfirmIntersectionKHR: return "OpRayQueryConfirmIntersectionKHR";
  4722. case OpRayQueryProceedKHR: return "OpRayQueryProceedKHR";
  4723. case OpRayQueryGetIntersectionTypeKHR: return "OpRayQueryGetIntersectionTypeKHR";
  4724. case OpImageSampleWeightedQCOM: return "OpImageSampleWeightedQCOM";
  4725. case OpImageBoxFilterQCOM: return "OpImageBoxFilterQCOM";
  4726. case OpImageBlockMatchSSDQCOM: return "OpImageBlockMatchSSDQCOM";
  4727. case OpImageBlockMatchSADQCOM: return "OpImageBlockMatchSADQCOM";
  4728. case OpBitCastArrayQCOM: return "OpBitCastArrayQCOM";
  4729. case OpImageBlockMatchWindowSSDQCOM: return "OpImageBlockMatchWindowSSDQCOM";
  4730. case OpImageBlockMatchWindowSADQCOM: return "OpImageBlockMatchWindowSADQCOM";
  4731. case OpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM";
  4732. case OpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM";
  4733. case OpCompositeConstructCoopMatQCOM: return "OpCompositeConstructCoopMatQCOM";
  4734. case OpCompositeExtractCoopMatQCOM: return "OpCompositeExtractCoopMatQCOM";
  4735. case OpExtractSubArrayQCOM: return "OpExtractSubArrayQCOM";
  4736. case OpGroupIAddNonUniformAMD: return "OpGroupIAddNonUniformAMD";
  4737. case OpGroupFAddNonUniformAMD: return "OpGroupFAddNonUniformAMD";
  4738. case OpGroupFMinNonUniformAMD: return "OpGroupFMinNonUniformAMD";
  4739. case OpGroupUMinNonUniformAMD: return "OpGroupUMinNonUniformAMD";
  4740. case OpGroupSMinNonUniformAMD: return "OpGroupSMinNonUniformAMD";
  4741. case OpGroupFMaxNonUniformAMD: return "OpGroupFMaxNonUniformAMD";
  4742. case OpGroupUMaxNonUniformAMD: return "OpGroupUMaxNonUniformAMD";
  4743. case OpGroupSMaxNonUniformAMD: return "OpGroupSMaxNonUniformAMD";
  4744. case OpFragmentMaskFetchAMD: return "OpFragmentMaskFetchAMD";
  4745. case OpFragmentFetchAMD: return "OpFragmentFetchAMD";
  4746. case OpReadClockKHR: return "OpReadClockKHR";
  4747. case OpAllocateNodePayloadsAMDX: return "OpAllocateNodePayloadsAMDX";
  4748. case OpEnqueueNodePayloadsAMDX: return "OpEnqueueNodePayloadsAMDX";
  4749. case OpTypeNodePayloadArrayAMDX: return "OpTypeNodePayloadArrayAMDX";
  4750. case OpFinishWritingNodePayloadAMDX: return "OpFinishWritingNodePayloadAMDX";
  4751. case OpNodePayloadArrayLengthAMDX: return "OpNodePayloadArrayLengthAMDX";
  4752. case OpIsNodePayloadValidAMDX: return "OpIsNodePayloadValidAMDX";
  4753. case OpConstantStringAMDX: return "OpConstantStringAMDX";
  4754. case OpSpecConstantStringAMDX: return "OpSpecConstantStringAMDX";
  4755. case OpGroupNonUniformQuadAllKHR: return "OpGroupNonUniformQuadAllKHR";
  4756. case OpGroupNonUniformQuadAnyKHR: return "OpGroupNonUniformQuadAnyKHR";
  4757. case OpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV";
  4758. case OpHitObjectRecordHitWithIndexMotionNV: return "OpHitObjectRecordHitWithIndexMotionNV";
  4759. case OpHitObjectRecordMissMotionNV: return "OpHitObjectRecordMissMotionNV";
  4760. case OpHitObjectGetWorldToObjectNV: return "OpHitObjectGetWorldToObjectNV";
  4761. case OpHitObjectGetObjectToWorldNV: return "OpHitObjectGetObjectToWorldNV";
  4762. case OpHitObjectGetObjectRayDirectionNV: return "OpHitObjectGetObjectRayDirectionNV";
  4763. case OpHitObjectGetObjectRayOriginNV: return "OpHitObjectGetObjectRayOriginNV";
  4764. case OpHitObjectTraceRayMotionNV: return "OpHitObjectTraceRayMotionNV";
  4765. case OpHitObjectGetShaderRecordBufferHandleNV: return "OpHitObjectGetShaderRecordBufferHandleNV";
  4766. case OpHitObjectGetShaderBindingTableRecordIndexNV: return "OpHitObjectGetShaderBindingTableRecordIndexNV";
  4767. case OpHitObjectRecordEmptyNV: return "OpHitObjectRecordEmptyNV";
  4768. case OpHitObjectTraceRayNV: return "OpHitObjectTraceRayNV";
  4769. case OpHitObjectRecordHitNV: return "OpHitObjectRecordHitNV";
  4770. case OpHitObjectRecordHitWithIndexNV: return "OpHitObjectRecordHitWithIndexNV";
  4771. case OpHitObjectRecordMissNV: return "OpHitObjectRecordMissNV";
  4772. case OpHitObjectExecuteShaderNV: return "OpHitObjectExecuteShaderNV";
  4773. case OpHitObjectGetCurrentTimeNV: return "OpHitObjectGetCurrentTimeNV";
  4774. case OpHitObjectGetAttributesNV: return "OpHitObjectGetAttributesNV";
  4775. case OpHitObjectGetHitKindNV: return "OpHitObjectGetHitKindNV";
  4776. case OpHitObjectGetPrimitiveIndexNV: return "OpHitObjectGetPrimitiveIndexNV";
  4777. case OpHitObjectGetGeometryIndexNV: return "OpHitObjectGetGeometryIndexNV";
  4778. case OpHitObjectGetInstanceIdNV: return "OpHitObjectGetInstanceIdNV";
  4779. case OpHitObjectGetInstanceCustomIndexNV: return "OpHitObjectGetInstanceCustomIndexNV";
  4780. case OpHitObjectGetWorldRayDirectionNV: return "OpHitObjectGetWorldRayDirectionNV";
  4781. case OpHitObjectGetWorldRayOriginNV: return "OpHitObjectGetWorldRayOriginNV";
  4782. case OpHitObjectGetRayTMaxNV: return "OpHitObjectGetRayTMaxNV";
  4783. case OpHitObjectGetRayTMinNV: return "OpHitObjectGetRayTMinNV";
  4784. case OpHitObjectIsEmptyNV: return "OpHitObjectIsEmptyNV";
  4785. case OpHitObjectIsHitNV: return "OpHitObjectIsHitNV";
  4786. case OpHitObjectIsMissNV: return "OpHitObjectIsMissNV";
  4787. case OpReorderThreadWithHitObjectNV: return "OpReorderThreadWithHitObjectNV";
  4788. case OpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV";
  4789. case OpTypeHitObjectNV: return "OpTypeHitObjectNV";
  4790. case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
  4791. case OpTypeCooperativeVectorNV: return "OpTypeCooperativeVectorNV";
  4792. case OpCooperativeVectorMatrixMulNV: return "OpCooperativeVectorMatrixMulNV";
  4793. case OpCooperativeVectorOuterProductAccumulateNV: return "OpCooperativeVectorOuterProductAccumulateNV";
  4794. case OpCooperativeVectorReduceSumAccumulateNV: return "OpCooperativeVectorReduceSumAccumulateNV";
  4795. case OpCooperativeVectorMatrixMulAddNV: return "OpCooperativeVectorMatrixMulAddNV";
  4796. case OpCooperativeMatrixConvertNV: return "OpCooperativeMatrixConvertNV";
  4797. case OpEmitMeshTasksEXT: return "OpEmitMeshTasksEXT";
  4798. case OpSetMeshOutputsEXT: return "OpSetMeshOutputsEXT";
  4799. case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
  4800. case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
  4801. case OpFetchMicroTriangleVertexPositionNV: return "OpFetchMicroTriangleVertexPositionNV";
  4802. case OpFetchMicroTriangleVertexBarycentricNV: return "OpFetchMicroTriangleVertexBarycentricNV";
  4803. case OpCooperativeVectorLoadNV: return "OpCooperativeVectorLoadNV";
  4804. case OpCooperativeVectorStoreNV: return "OpCooperativeVectorStoreNV";
  4805. case OpReportIntersectionKHR: return "OpReportIntersectionKHR";
  4806. case OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV";
  4807. case OpTerminateRayNV: return "OpTerminateRayNV";
  4808. case OpTraceNV: return "OpTraceNV";
  4809. case OpTraceMotionNV: return "OpTraceMotionNV";
  4810. case OpTraceRayMotionNV: return "OpTraceRayMotionNV";
  4811. case OpRayQueryGetIntersectionTriangleVertexPositionsKHR: return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR";
  4812. case OpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
  4813. case OpExecuteCallableNV: return "OpExecuteCallableNV";
  4814. case OpRayQueryGetClusterIdNV: return "OpRayQueryGetClusterIdNV";
  4815. case OpHitObjectGetClusterIdNV: return "OpHitObjectGetClusterIdNV";
  4816. case OpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV";
  4817. case OpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV";
  4818. case OpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV";
  4819. case OpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV";
  4820. case OpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
  4821. case OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
  4822. case OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
  4823. case OpCooperativeMatrixReduceNV: return "OpCooperativeMatrixReduceNV";
  4824. case OpCooperativeMatrixLoadTensorNV: return "OpCooperativeMatrixLoadTensorNV";
  4825. case OpCooperativeMatrixStoreTensorNV: return "OpCooperativeMatrixStoreTensorNV";
  4826. case OpCooperativeMatrixPerElementOpNV: return "OpCooperativeMatrixPerElementOpNV";
  4827. case OpTypeTensorLayoutNV: return "OpTypeTensorLayoutNV";
  4828. case OpTypeTensorViewNV: return "OpTypeTensorViewNV";
  4829. case OpCreateTensorLayoutNV: return "OpCreateTensorLayoutNV";
  4830. case OpTensorLayoutSetDimensionNV: return "OpTensorLayoutSetDimensionNV";
  4831. case OpTensorLayoutSetStrideNV: return "OpTensorLayoutSetStrideNV";
  4832. case OpTensorLayoutSliceNV: return "OpTensorLayoutSliceNV";
  4833. case OpTensorLayoutSetClampValueNV: return "OpTensorLayoutSetClampValueNV";
  4834. case OpCreateTensorViewNV: return "OpCreateTensorViewNV";
  4835. case OpTensorViewSetDimensionNV: return "OpTensorViewSetDimensionNV";
  4836. case OpTensorViewSetStrideNV: return "OpTensorViewSetStrideNV";
  4837. case OpDemoteToHelperInvocation: return "OpDemoteToHelperInvocation";
  4838. case OpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT";
  4839. case OpTensorViewSetClipNV: return "OpTensorViewSetClipNV";
  4840. case OpTensorLayoutSetBlockSizeNV: return "OpTensorLayoutSetBlockSizeNV";
  4841. case OpCooperativeMatrixTransposeNV: return "OpCooperativeMatrixTransposeNV";
  4842. case OpConvertUToImageNV: return "OpConvertUToImageNV";
  4843. case OpConvertUToSamplerNV: return "OpConvertUToSamplerNV";
  4844. case OpConvertImageToUNV: return "OpConvertImageToUNV";
  4845. case OpConvertSamplerToUNV: return "OpConvertSamplerToUNV";
  4846. case OpConvertUToSampledImageNV: return "OpConvertUToSampledImageNV";
  4847. case OpConvertSampledImageToUNV: return "OpConvertSampledImageToUNV";
  4848. case OpSamplerImageAddressingModeNV: return "OpSamplerImageAddressingModeNV";
  4849. case OpRawAccessChainNV: return "OpRawAccessChainNV";
  4850. case OpRayQueryGetIntersectionSpherePositionNV: return "OpRayQueryGetIntersectionSpherePositionNV";
  4851. case OpRayQueryGetIntersectionSphereRadiusNV: return "OpRayQueryGetIntersectionSphereRadiusNV";
  4852. case OpRayQueryGetIntersectionLSSPositionsNV: return "OpRayQueryGetIntersectionLSSPositionsNV";
  4853. case OpRayQueryGetIntersectionLSSRadiiNV: return "OpRayQueryGetIntersectionLSSRadiiNV";
  4854. case OpRayQueryGetIntersectionLSSHitValueNV: return "OpRayQueryGetIntersectionLSSHitValueNV";
  4855. case OpHitObjectGetSpherePositionNV: return "OpHitObjectGetSpherePositionNV";
  4856. case OpHitObjectGetSphereRadiusNV: return "OpHitObjectGetSphereRadiusNV";
  4857. case OpHitObjectGetLSSPositionsNV: return "OpHitObjectGetLSSPositionsNV";
  4858. case OpHitObjectGetLSSRadiiNV: return "OpHitObjectGetLSSRadiiNV";
  4859. case OpHitObjectIsSphereHitNV: return "OpHitObjectIsSphereHitNV";
  4860. case OpHitObjectIsLSSHitNV: return "OpHitObjectIsLSSHitNV";
  4861. case OpRayQueryIsSphereHitNV: return "OpRayQueryIsSphereHitNV";
  4862. case OpRayQueryIsLSSHitNV: return "OpRayQueryIsLSSHitNV";
  4863. case OpSubgroupShuffleINTEL: return "OpSubgroupShuffleINTEL";
  4864. case OpSubgroupShuffleDownINTEL: return "OpSubgroupShuffleDownINTEL";
  4865. case OpSubgroupShuffleUpINTEL: return "OpSubgroupShuffleUpINTEL";
  4866. case OpSubgroupShuffleXorINTEL: return "OpSubgroupShuffleXorINTEL";
  4867. case OpSubgroupBlockReadINTEL: return "OpSubgroupBlockReadINTEL";
  4868. case OpSubgroupBlockWriteINTEL: return "OpSubgroupBlockWriteINTEL";
  4869. case OpSubgroupImageBlockReadINTEL: return "OpSubgroupImageBlockReadINTEL";
  4870. case OpSubgroupImageBlockWriteINTEL: return "OpSubgroupImageBlockWriteINTEL";
  4871. case OpSubgroupImageMediaBlockReadINTEL: return "OpSubgroupImageMediaBlockReadINTEL";
  4872. case OpSubgroupImageMediaBlockWriteINTEL: return "OpSubgroupImageMediaBlockWriteINTEL";
  4873. case OpUCountLeadingZerosINTEL: return "OpUCountLeadingZerosINTEL";
  4874. case OpUCountTrailingZerosINTEL: return "OpUCountTrailingZerosINTEL";
  4875. case OpAbsISubINTEL: return "OpAbsISubINTEL";
  4876. case OpAbsUSubINTEL: return "OpAbsUSubINTEL";
  4877. case OpIAddSatINTEL: return "OpIAddSatINTEL";
  4878. case OpUAddSatINTEL: return "OpUAddSatINTEL";
  4879. case OpIAverageINTEL: return "OpIAverageINTEL";
  4880. case OpUAverageINTEL: return "OpUAverageINTEL";
  4881. case OpIAverageRoundedINTEL: return "OpIAverageRoundedINTEL";
  4882. case OpUAverageRoundedINTEL: return "OpUAverageRoundedINTEL";
  4883. case OpISubSatINTEL: return "OpISubSatINTEL";
  4884. case OpUSubSatINTEL: return "OpUSubSatINTEL";
  4885. case OpIMul32x16INTEL: return "OpIMul32x16INTEL";
  4886. case OpUMul32x16INTEL: return "OpUMul32x16INTEL";
  4887. case OpConstantFunctionPointerINTEL: return "OpConstantFunctionPointerINTEL";
  4888. case OpFunctionPointerCallINTEL: return "OpFunctionPointerCallINTEL";
  4889. case OpAsmTargetINTEL: return "OpAsmTargetINTEL";
  4890. case OpAsmINTEL: return "OpAsmINTEL";
  4891. case OpAsmCallINTEL: return "OpAsmCallINTEL";
  4892. case OpAtomicFMinEXT: return "OpAtomicFMinEXT";
  4893. case OpAtomicFMaxEXT: return "OpAtomicFMaxEXT";
  4894. case OpAssumeTrueKHR: return "OpAssumeTrueKHR";
  4895. case OpExpectKHR: return "OpExpectKHR";
  4896. case OpDecorateString: return "OpDecorateString";
  4897. case OpMemberDecorateString: return "OpMemberDecorateString";
  4898. case OpVmeImageINTEL: return "OpVmeImageINTEL";
  4899. case OpTypeVmeImageINTEL: return "OpTypeVmeImageINTEL";
  4900. case OpTypeAvcImePayloadINTEL: return "OpTypeAvcImePayloadINTEL";
  4901. case OpTypeAvcRefPayloadINTEL: return "OpTypeAvcRefPayloadINTEL";
  4902. case OpTypeAvcSicPayloadINTEL: return "OpTypeAvcSicPayloadINTEL";
  4903. case OpTypeAvcMcePayloadINTEL: return "OpTypeAvcMcePayloadINTEL";
  4904. case OpTypeAvcMceResultINTEL: return "OpTypeAvcMceResultINTEL";
  4905. case OpTypeAvcImeResultINTEL: return "OpTypeAvcImeResultINTEL";
  4906. case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "OpTypeAvcImeResultSingleReferenceStreamoutINTEL";
  4907. case OpTypeAvcImeResultDualReferenceStreamoutINTEL: return "OpTypeAvcImeResultDualReferenceStreamoutINTEL";
  4908. case OpTypeAvcImeSingleReferenceStreaminINTEL: return "OpTypeAvcImeSingleReferenceStreaminINTEL";
  4909. case OpTypeAvcImeDualReferenceStreaminINTEL: return "OpTypeAvcImeDualReferenceStreaminINTEL";
  4910. case OpTypeAvcRefResultINTEL: return "OpTypeAvcRefResultINTEL";
  4911. case OpTypeAvcSicResultINTEL: return "OpTypeAvcSicResultINTEL";
  4912. case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";
  4913. case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";
  4914. case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";
  4915. case OpSubgroupAvcMceSetInterShapePenaltyINTEL: return "OpSubgroupAvcMceSetInterShapePenaltyINTEL";
  4916. case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";
  4917. case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL";
  4918. case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";
  4919. case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";
  4920. case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";
  4921. case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";
  4922. case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";
  4923. case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";
  4924. case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";
  4925. case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";
  4926. case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";
  4927. case OpSubgroupAvcMceSetAcOnlyHaarINTEL: return "OpSubgroupAvcMceSetAcOnlyHaarINTEL";
  4928. case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";
  4929. case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";
  4930. case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";
  4931. case OpSubgroupAvcMceConvertToImePayloadINTEL: return "OpSubgroupAvcMceConvertToImePayloadINTEL";
  4932. case OpSubgroupAvcMceConvertToImeResultINTEL: return "OpSubgroupAvcMceConvertToImeResultINTEL";
  4933. case OpSubgroupAvcMceConvertToRefPayloadINTEL: return "OpSubgroupAvcMceConvertToRefPayloadINTEL";
  4934. case OpSubgroupAvcMceConvertToRefResultINTEL: return "OpSubgroupAvcMceConvertToRefResultINTEL";
  4935. case OpSubgroupAvcMceConvertToSicPayloadINTEL: return "OpSubgroupAvcMceConvertToSicPayloadINTEL";
  4936. case OpSubgroupAvcMceConvertToSicResultINTEL: return "OpSubgroupAvcMceConvertToSicResultINTEL";
  4937. case OpSubgroupAvcMceGetMotionVectorsINTEL: return "OpSubgroupAvcMceGetMotionVectorsINTEL";
  4938. case OpSubgroupAvcMceGetInterDistortionsINTEL: return "OpSubgroupAvcMceGetInterDistortionsINTEL";
  4939. case OpSubgroupAvcMceGetBestInterDistortionsINTEL: return "OpSubgroupAvcMceGetBestInterDistortionsINTEL";
  4940. case OpSubgroupAvcMceGetInterMajorShapeINTEL: return "OpSubgroupAvcMceGetInterMajorShapeINTEL";
  4941. case OpSubgroupAvcMceGetInterMinorShapeINTEL: return "OpSubgroupAvcMceGetInterMinorShapeINTEL";
  4942. case OpSubgroupAvcMceGetInterDirectionsINTEL: return "OpSubgroupAvcMceGetInterDirectionsINTEL";
  4943. case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "OpSubgroupAvcMceGetInterMotionVectorCountINTEL";
  4944. case OpSubgroupAvcMceGetInterReferenceIdsINTEL: return "OpSubgroupAvcMceGetInterReferenceIdsINTEL";
  4945. case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";
  4946. case OpSubgroupAvcImeInitializeINTEL: return "OpSubgroupAvcImeInitializeINTEL";
  4947. case OpSubgroupAvcImeSetSingleReferenceINTEL: return "OpSubgroupAvcImeSetSingleReferenceINTEL";
  4948. case OpSubgroupAvcImeSetDualReferenceINTEL: return "OpSubgroupAvcImeSetDualReferenceINTEL";
  4949. case OpSubgroupAvcImeRefWindowSizeINTEL: return "OpSubgroupAvcImeRefWindowSizeINTEL";
  4950. case OpSubgroupAvcImeAdjustRefOffsetINTEL: return "OpSubgroupAvcImeAdjustRefOffsetINTEL";
  4951. case OpSubgroupAvcImeConvertToMcePayloadINTEL: return "OpSubgroupAvcImeConvertToMcePayloadINTEL";
  4952. case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL";
  4953. case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";
  4954. case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";
  4955. case OpSubgroupAvcImeSetWeightedSadINTEL: return "OpSubgroupAvcImeSetWeightedSadINTEL";
  4956. case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";
  4957. case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL";
  4958. case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";
  4959. case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";
  4960. case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";
  4961. case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";
  4962. case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";
  4963. case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";
  4964. case OpSubgroupAvcImeConvertToMceResultINTEL: return "OpSubgroupAvcImeConvertToMceResultINTEL";
  4965. case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL";
  4966. case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "OpSubgroupAvcImeGetDualReferenceStreaminINTEL";
  4967. case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";
  4968. case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL";
  4969. case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";
  4970. case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";
  4971. case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";
  4972. case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";
  4973. case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";
  4974. case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";
  4975. case OpSubgroupAvcImeGetBorderReachedINTEL: return "OpSubgroupAvcImeGetBorderReachedINTEL";
  4976. case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";
  4977. case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";
  4978. case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";
  4979. case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";
  4980. case OpSubgroupAvcFmeInitializeINTEL: return "OpSubgroupAvcFmeInitializeINTEL";
  4981. case OpSubgroupAvcBmeInitializeINTEL: return "OpSubgroupAvcBmeInitializeINTEL";
  4982. case OpSubgroupAvcRefConvertToMcePayloadINTEL: return "OpSubgroupAvcRefConvertToMcePayloadINTEL";
  4983. case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL";
  4984. case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "OpSubgroupAvcRefSetBilinearFilterEnableINTEL";
  4985. case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";
  4986. case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL";
  4987. case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";
  4988. case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";
  4989. case OpSubgroupAvcRefConvertToMceResultINTEL: return "OpSubgroupAvcRefConvertToMceResultINTEL";
  4990. case OpSubgroupAvcSicInitializeINTEL: return "OpSubgroupAvcSicInitializeINTEL";
  4991. case OpSubgroupAvcSicConfigureSkcINTEL: return "OpSubgroupAvcSicConfigureSkcINTEL";
  4992. case OpSubgroupAvcSicConfigureIpeLumaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaINTEL";
  4993. case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL";
  4994. case OpSubgroupAvcSicGetMotionVectorMaskINTEL: return "OpSubgroupAvcSicGetMotionVectorMaskINTEL";
  4995. case OpSubgroupAvcSicConvertToMcePayloadINTEL: return "OpSubgroupAvcSicConvertToMcePayloadINTEL";
  4996. case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";
  4997. case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";
  4998. case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";
  4999. case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "OpSubgroupAvcSicSetBilinearFilterEnableINTEL";
  5000. case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";
  5001. case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";
  5002. case OpSubgroupAvcSicEvaluateIpeINTEL: return "OpSubgroupAvcSicEvaluateIpeINTEL";
  5003. case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";
  5004. case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL";
  5005. case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";
  5006. case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";
  5007. case OpSubgroupAvcSicConvertToMceResultINTEL: return "OpSubgroupAvcSicConvertToMceResultINTEL";
  5008. case OpSubgroupAvcSicGetIpeLumaShapeINTEL: return "OpSubgroupAvcSicGetIpeLumaShapeINTEL";
  5009. case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";
  5010. case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";
  5011. case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL";
  5012. case OpSubgroupAvcSicGetIpeChromaModeINTEL: return "OpSubgroupAvcSicGetIpeChromaModeINTEL";
  5013. case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";
  5014. case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";
  5015. case OpSubgroupAvcSicGetInterRawSadsINTEL: return "OpSubgroupAvcSicGetInterRawSadsINTEL";
  5016. case OpVariableLengthArrayINTEL: return "OpVariableLengthArrayINTEL";
  5017. case OpSaveMemoryINTEL: return "OpSaveMemoryINTEL";
  5018. case OpRestoreMemoryINTEL: return "OpRestoreMemoryINTEL";
  5019. case OpArbitraryFloatSinCosPiINTEL: return "OpArbitraryFloatSinCosPiINTEL";
  5020. case OpArbitraryFloatCastINTEL: return "OpArbitraryFloatCastINTEL";
  5021. case OpArbitraryFloatCastFromIntINTEL: return "OpArbitraryFloatCastFromIntINTEL";
  5022. case OpArbitraryFloatCastToIntINTEL: return "OpArbitraryFloatCastToIntINTEL";
  5023. case OpArbitraryFloatAddINTEL: return "OpArbitraryFloatAddINTEL";
  5024. case OpArbitraryFloatSubINTEL: return "OpArbitraryFloatSubINTEL";
  5025. case OpArbitraryFloatMulINTEL: return "OpArbitraryFloatMulINTEL";
  5026. case OpArbitraryFloatDivINTEL: return "OpArbitraryFloatDivINTEL";
  5027. case OpArbitraryFloatGTINTEL: return "OpArbitraryFloatGTINTEL";
  5028. case OpArbitraryFloatGEINTEL: return "OpArbitraryFloatGEINTEL";
  5029. case OpArbitraryFloatLTINTEL: return "OpArbitraryFloatLTINTEL";
  5030. case OpArbitraryFloatLEINTEL: return "OpArbitraryFloatLEINTEL";
  5031. case OpArbitraryFloatEQINTEL: return "OpArbitraryFloatEQINTEL";
  5032. case OpArbitraryFloatRecipINTEL: return "OpArbitraryFloatRecipINTEL";
  5033. case OpArbitraryFloatRSqrtINTEL: return "OpArbitraryFloatRSqrtINTEL";
  5034. case OpArbitraryFloatCbrtINTEL: return "OpArbitraryFloatCbrtINTEL";
  5035. case OpArbitraryFloatHypotINTEL: return "OpArbitraryFloatHypotINTEL";
  5036. case OpArbitraryFloatSqrtINTEL: return "OpArbitraryFloatSqrtINTEL";
  5037. case OpArbitraryFloatLogINTEL: return "OpArbitraryFloatLogINTEL";
  5038. case OpArbitraryFloatLog2INTEL: return "OpArbitraryFloatLog2INTEL";
  5039. case OpArbitraryFloatLog10INTEL: return "OpArbitraryFloatLog10INTEL";
  5040. case OpArbitraryFloatLog1pINTEL: return "OpArbitraryFloatLog1pINTEL";
  5041. case OpArbitraryFloatExpINTEL: return "OpArbitraryFloatExpINTEL";
  5042. case OpArbitraryFloatExp2INTEL: return "OpArbitraryFloatExp2INTEL";
  5043. case OpArbitraryFloatExp10INTEL: return "OpArbitraryFloatExp10INTEL";
  5044. case OpArbitraryFloatExpm1INTEL: return "OpArbitraryFloatExpm1INTEL";
  5045. case OpArbitraryFloatSinINTEL: return "OpArbitraryFloatSinINTEL";
  5046. case OpArbitraryFloatCosINTEL: return "OpArbitraryFloatCosINTEL";
  5047. case OpArbitraryFloatSinCosINTEL: return "OpArbitraryFloatSinCosINTEL";
  5048. case OpArbitraryFloatSinPiINTEL: return "OpArbitraryFloatSinPiINTEL";
  5049. case OpArbitraryFloatCosPiINTEL: return "OpArbitraryFloatCosPiINTEL";
  5050. case OpArbitraryFloatASinINTEL: return "OpArbitraryFloatASinINTEL";
  5051. case OpArbitraryFloatASinPiINTEL: return "OpArbitraryFloatASinPiINTEL";
  5052. case OpArbitraryFloatACosINTEL: return "OpArbitraryFloatACosINTEL";
  5053. case OpArbitraryFloatACosPiINTEL: return "OpArbitraryFloatACosPiINTEL";
  5054. case OpArbitraryFloatATanINTEL: return "OpArbitraryFloatATanINTEL";
  5055. case OpArbitraryFloatATanPiINTEL: return "OpArbitraryFloatATanPiINTEL";
  5056. case OpArbitraryFloatATan2INTEL: return "OpArbitraryFloatATan2INTEL";
  5057. case OpArbitraryFloatPowINTEL: return "OpArbitraryFloatPowINTEL";
  5058. case OpArbitraryFloatPowRINTEL: return "OpArbitraryFloatPowRINTEL";
  5059. case OpArbitraryFloatPowNINTEL: return "OpArbitraryFloatPowNINTEL";
  5060. case OpLoopControlINTEL: return "OpLoopControlINTEL";
  5061. case OpAliasDomainDeclINTEL: return "OpAliasDomainDeclINTEL";
  5062. case OpAliasScopeDeclINTEL: return "OpAliasScopeDeclINTEL";
  5063. case OpAliasScopeListDeclINTEL: return "OpAliasScopeListDeclINTEL";
  5064. case OpFixedSqrtINTEL: return "OpFixedSqrtINTEL";
  5065. case OpFixedRecipINTEL: return "OpFixedRecipINTEL";
  5066. case OpFixedRsqrtINTEL: return "OpFixedRsqrtINTEL";
  5067. case OpFixedSinINTEL: return "OpFixedSinINTEL";
  5068. case OpFixedCosINTEL: return "OpFixedCosINTEL";
  5069. case OpFixedSinCosINTEL: return "OpFixedSinCosINTEL";
  5070. case OpFixedSinPiINTEL: return "OpFixedSinPiINTEL";
  5071. case OpFixedCosPiINTEL: return "OpFixedCosPiINTEL";
  5072. case OpFixedSinCosPiINTEL: return "OpFixedSinCosPiINTEL";
  5073. case OpFixedLogINTEL: return "OpFixedLogINTEL";
  5074. case OpFixedExpINTEL: return "OpFixedExpINTEL";
  5075. case OpPtrCastToCrossWorkgroupINTEL: return "OpPtrCastToCrossWorkgroupINTEL";
  5076. case OpCrossWorkgroupCastToPtrINTEL: return "OpCrossWorkgroupCastToPtrINTEL";
  5077. case OpReadPipeBlockingINTEL: return "OpReadPipeBlockingINTEL";
  5078. case OpWritePipeBlockingINTEL: return "OpWritePipeBlockingINTEL";
  5079. case OpFPGARegINTEL: return "OpFPGARegINTEL";
  5080. case OpRayQueryGetRayTMinKHR: return "OpRayQueryGetRayTMinKHR";
  5081. case OpRayQueryGetRayFlagsKHR: return "OpRayQueryGetRayFlagsKHR";
  5082. case OpRayQueryGetIntersectionTKHR: return "OpRayQueryGetIntersectionTKHR";
  5083. case OpRayQueryGetIntersectionInstanceCustomIndexKHR: return "OpRayQueryGetIntersectionInstanceCustomIndexKHR";
  5084. case OpRayQueryGetIntersectionInstanceIdKHR: return "OpRayQueryGetIntersectionInstanceIdKHR";
  5085. case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";
  5086. case OpRayQueryGetIntersectionGeometryIndexKHR: return "OpRayQueryGetIntersectionGeometryIndexKHR";
  5087. case OpRayQueryGetIntersectionPrimitiveIndexKHR: return "OpRayQueryGetIntersectionPrimitiveIndexKHR";
  5088. case OpRayQueryGetIntersectionBarycentricsKHR: return "OpRayQueryGetIntersectionBarycentricsKHR";
  5089. case OpRayQueryGetIntersectionFrontFaceKHR: return "OpRayQueryGetIntersectionFrontFaceKHR";
  5090. case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR";
  5091. case OpRayQueryGetIntersectionObjectRayDirectionKHR: return "OpRayQueryGetIntersectionObjectRayDirectionKHR";
  5092. case OpRayQueryGetIntersectionObjectRayOriginKHR: return "OpRayQueryGetIntersectionObjectRayOriginKHR";
  5093. case OpRayQueryGetWorldRayDirectionKHR: return "OpRayQueryGetWorldRayDirectionKHR";
  5094. case OpRayQueryGetWorldRayOriginKHR: return "OpRayQueryGetWorldRayOriginKHR";
  5095. case OpRayQueryGetIntersectionObjectToWorldKHR: return "OpRayQueryGetIntersectionObjectToWorldKHR";
  5096. case OpRayQueryGetIntersectionWorldToObjectKHR: return "OpRayQueryGetIntersectionWorldToObjectKHR";
  5097. case OpAtomicFAddEXT: return "OpAtomicFAddEXT";
  5098. case OpTypeBufferSurfaceINTEL: return "OpTypeBufferSurfaceINTEL";
  5099. case OpTypeStructContinuedINTEL: return "OpTypeStructContinuedINTEL";
  5100. case OpConstantCompositeContinuedINTEL: return "OpConstantCompositeContinuedINTEL";
  5101. case OpSpecConstantCompositeContinuedINTEL: return "OpSpecConstantCompositeContinuedINTEL";
  5102. case OpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL";
  5103. case OpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL";
  5104. case OpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
  5105. case OpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
  5106. case OpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
  5107. case OpArithmeticFenceEXT: return "OpArithmeticFenceEXT";
  5108. case OpTaskSequenceCreateINTEL: return "OpTaskSequenceCreateINTEL";
  5109. case OpTaskSequenceAsyncINTEL: return "OpTaskSequenceAsyncINTEL";
  5110. case OpTaskSequenceGetINTEL: return "OpTaskSequenceGetINTEL";
  5111. case OpTaskSequenceReleaseINTEL: return "OpTaskSequenceReleaseINTEL";
  5112. case OpTypeTaskSequenceINTEL: return "OpTypeTaskSequenceINTEL";
  5113. case OpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL";
  5114. case OpSubgroup2DBlockLoadINTEL: return "OpSubgroup2DBlockLoadINTEL";
  5115. case OpSubgroup2DBlockLoadTransformINTEL: return "OpSubgroup2DBlockLoadTransformINTEL";
  5116. case OpSubgroup2DBlockLoadTransposeINTEL: return "OpSubgroup2DBlockLoadTransposeINTEL";
  5117. case OpSubgroup2DBlockPrefetchINTEL: return "OpSubgroup2DBlockPrefetchINTEL";
  5118. case OpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
  5119. case OpSubgroupMatrixMultiplyAccumulateINTEL: return "OpSubgroupMatrixMultiplyAccumulateINTEL";
  5120. case OpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
  5121. case OpUntypedVariableLengthArrayINTEL: return "OpUntypedVariableLengthArrayINTEL";
  5122. case OpConditionalExtensionINTEL: return "OpConditionalExtensionINTEL";
  5123. case OpConditionalEntryPointINTEL: return "OpConditionalEntryPointINTEL";
  5124. case OpConditionalCapabilityINTEL: return "OpConditionalCapabilityINTEL";
  5125. case OpSpecConstantTargetINTEL: return "OpSpecConstantTargetINTEL";
  5126. case OpSpecConstantArchitectureINTEL: return "OpSpecConstantArchitectureINTEL";
  5127. case OpSpecConstantCapabilitiesINTEL: return "OpSpecConstantCapabilitiesINTEL";
  5128. case OpConditionalCopyObjectINTEL: return "OpConditionalCopyObjectINTEL";
  5129. case OpGroupIMulKHR: return "OpGroupIMulKHR";
  5130. case OpGroupFMulKHR: return "OpGroupFMulKHR";
  5131. case OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
  5132. case OpGroupBitwiseOrKHR: return "OpGroupBitwiseOrKHR";
  5133. case OpGroupBitwiseXorKHR: return "OpGroupBitwiseXorKHR";
  5134. case OpGroupLogicalAndKHR: return "OpGroupLogicalAndKHR";
  5135. case OpGroupLogicalOrKHR: return "OpGroupLogicalOrKHR";
  5136. case OpGroupLogicalXorKHR: return "OpGroupLogicalXorKHR";
  5137. case OpRoundFToTF32INTEL: return "OpRoundFToTF32INTEL";
  5138. case OpMaskedGatherINTEL: return "OpMaskedGatherINTEL";
  5139. case OpMaskedScatterINTEL: return "OpMaskedScatterINTEL";
  5140. case OpConvertHandleToImageINTEL: return "OpConvertHandleToImageINTEL";
  5141. case OpConvertHandleToSamplerINTEL: return "OpConvertHandleToSamplerINTEL";
  5142. case OpConvertHandleToSampledImageINTEL: return "OpConvertHandleToSampledImageINTEL";
  5143. default: return "Unknown";
  5144. }
  5145. }
  5146. #endif /* SPV_ENABLE_UTILITY_CODE */
  5147. // Overload bitwise operators for mask bit combining
  5148. inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
  5149. inline ImageOperandsMask operator&(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) & unsigned(b)); }
  5150. inline ImageOperandsMask operator^(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) ^ unsigned(b)); }
  5151. inline ImageOperandsMask operator~(ImageOperandsMask a) { return ImageOperandsMask(~unsigned(a)); }
  5152. inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
  5153. inline FPFastMathModeMask operator&(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) & unsigned(b)); }
  5154. inline FPFastMathModeMask operator^(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) ^ unsigned(b)); }
  5155. inline FPFastMathModeMask operator~(FPFastMathModeMask a) { return FPFastMathModeMask(~unsigned(a)); }
  5156. inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
  5157. inline SelectionControlMask operator&(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) & unsigned(b)); }
  5158. inline SelectionControlMask operator^(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) ^ unsigned(b)); }
  5159. inline SelectionControlMask operator~(SelectionControlMask a) { return SelectionControlMask(~unsigned(a)); }
  5160. inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
  5161. inline LoopControlMask operator&(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) & unsigned(b)); }
  5162. inline LoopControlMask operator^(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) ^ unsigned(b)); }
  5163. inline LoopControlMask operator~(LoopControlMask a) { return LoopControlMask(~unsigned(a)); }
  5164. inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
  5165. inline FunctionControlMask operator&(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) & unsigned(b)); }
  5166. inline FunctionControlMask operator^(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) ^ unsigned(b)); }
  5167. inline FunctionControlMask operator~(FunctionControlMask a) { return FunctionControlMask(~unsigned(a)); }
  5168. inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
  5169. inline MemorySemanticsMask operator&(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) & unsigned(b)); }
  5170. inline MemorySemanticsMask operator^(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) ^ unsigned(b)); }
  5171. inline MemorySemanticsMask operator~(MemorySemanticsMask a) { return MemorySemanticsMask(~unsigned(a)); }
  5172. inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
  5173. inline MemoryAccessMask operator&(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) & unsigned(b)); }
  5174. inline MemoryAccessMask operator^(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) ^ unsigned(b)); }
  5175. inline MemoryAccessMask operator~(MemoryAccessMask a) { return MemoryAccessMask(~unsigned(a)); }
  5176. inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
  5177. inline KernelProfilingInfoMask operator&(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) & unsigned(b)); }
  5178. inline KernelProfilingInfoMask operator^(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) ^ unsigned(b)); }
  5179. inline KernelProfilingInfoMask operator~(KernelProfilingInfoMask a) { return KernelProfilingInfoMask(~unsigned(a)); }
  5180. inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
  5181. inline RayFlagsMask operator&(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) & unsigned(b)); }
  5182. inline RayFlagsMask operator^(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) ^ unsigned(b)); }
  5183. inline RayFlagsMask operator~(RayFlagsMask a) { return RayFlagsMask(~unsigned(a)); }
  5184. inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
  5185. inline FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); }
  5186. inline FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); }
  5187. inline FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); }
  5188. inline CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); }
  5189. inline CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); }
  5190. inline CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); }
  5191. inline CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); }
  5192. inline CooperativeMatrixReduceMask operator|(CooperativeMatrixReduceMask a, CooperativeMatrixReduceMask b) { return CooperativeMatrixReduceMask(unsigned(a) | unsigned(b)); }
  5193. inline CooperativeMatrixReduceMask operator&(CooperativeMatrixReduceMask a, CooperativeMatrixReduceMask b) { return CooperativeMatrixReduceMask(unsigned(a) & unsigned(b)); }
  5194. inline CooperativeMatrixReduceMask operator^(CooperativeMatrixReduceMask a, CooperativeMatrixReduceMask b) { return CooperativeMatrixReduceMask(unsigned(a) ^ unsigned(b)); }
  5195. inline CooperativeMatrixReduceMask operator~(CooperativeMatrixReduceMask a) { return CooperativeMatrixReduceMask(~unsigned(a)); }
  5196. inline TensorAddressingOperandsMask operator|(TensorAddressingOperandsMask a, TensorAddressingOperandsMask b) { return TensorAddressingOperandsMask(unsigned(a) | unsigned(b)); }
  5197. inline TensorAddressingOperandsMask operator&(TensorAddressingOperandsMask a, TensorAddressingOperandsMask b) { return TensorAddressingOperandsMask(unsigned(a) & unsigned(b)); }
  5198. inline TensorAddressingOperandsMask operator^(TensorAddressingOperandsMask a, TensorAddressingOperandsMask b) { return TensorAddressingOperandsMask(unsigned(a) ^ unsigned(b)); }
  5199. inline TensorAddressingOperandsMask operator~(TensorAddressingOperandsMask a) { return TensorAddressingOperandsMask(~unsigned(a)); }
  5200. inline TensorOperandsMask operator|(TensorOperandsMask a, TensorOperandsMask b) { return TensorOperandsMask(unsigned(a) | unsigned(b)); }
  5201. inline TensorOperandsMask operator&(TensorOperandsMask a, TensorOperandsMask b) { return TensorOperandsMask(unsigned(a) & unsigned(b)); }
  5202. inline TensorOperandsMask operator^(TensorOperandsMask a, TensorOperandsMask b) { return TensorOperandsMask(unsigned(a) ^ unsigned(b)); }
  5203. inline TensorOperandsMask operator~(TensorOperandsMask a) { return TensorOperandsMask(~unsigned(a)); }
  5204. inline MatrixMultiplyAccumulateOperandsMask operator|(MatrixMultiplyAccumulateOperandsMask a, MatrixMultiplyAccumulateOperandsMask b) { return MatrixMultiplyAccumulateOperandsMask(unsigned(a) | unsigned(b)); }
  5205. inline MatrixMultiplyAccumulateOperandsMask operator&(MatrixMultiplyAccumulateOperandsMask a, MatrixMultiplyAccumulateOperandsMask b) { return MatrixMultiplyAccumulateOperandsMask(unsigned(a) & unsigned(b)); }
  5206. inline MatrixMultiplyAccumulateOperandsMask operator^(MatrixMultiplyAccumulateOperandsMask a, MatrixMultiplyAccumulateOperandsMask b) { return MatrixMultiplyAccumulateOperandsMask(unsigned(a) ^ unsigned(b)); }
  5207. inline MatrixMultiplyAccumulateOperandsMask operator~(MatrixMultiplyAccumulateOperandsMask a) { return MatrixMultiplyAccumulateOperandsMask(~unsigned(a)); }
  5208. inline RawAccessChainOperandsMask operator|(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) | unsigned(b)); }
  5209. inline RawAccessChainOperandsMask operator&(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) & unsigned(b)); }
  5210. inline RawAccessChainOperandsMask operator^(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) ^ unsigned(b)); }
  5211. inline RawAccessChainOperandsMask operator~(RawAccessChainOperandsMask a) { return RawAccessChainOperandsMask(~unsigned(a)); }
  5212. } // end namespace spv
  5213. #endif // #ifndef spirv_HPP