vk_enum_string_helper.h 315 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062
  1. // *** THIS FILE IS GENERATED - DO NOT EDIT ***
  2. // See helper_file_generator.py for modifications
  3. /***************************************************************************
  4. *
  5. * Copyright (c) 2015-2020 The Khronos Group Inc.
  6. * Copyright (c) 2015-2020 Valve Corporation
  7. * Copyright (c) 2015-2020 LunarG, Inc.
  8. * Copyright (c) 2015-2020 Google Inc.
  9. *
  10. * Licensed under the Apache License, Version 2.0 (the "License");
  11. * you may not use this file except in compliance with the License.
  12. * You may obtain a copy of the License at
  13. *
  14. * http://www.apache.org/licenses/LICENSE-2.0
  15. *
  16. * Unless required by applicable law or agreed to in writing, software
  17. * distributed under the License is distributed on an "AS IS" BASIS,
  18. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  19. * See the License for the specific language governing permissions and
  20. * limitations under the License.
  21. *
  22. * Author: Mark Lobodzinski <[email protected]>
  23. * Author: Courtney Goeltzenleuchter <[email protected]>
  24. * Author: Tobin Ehlis <[email protected]>
  25. * Author: Chris Forbes <[email protected]>
  26. * Author: John Zulauf<[email protected]>
  27. *
  28. ****************************************************************************/
  29. #pragma once
  30. #ifdef _MSC_VER
  31. #pragma warning( disable : 4065 )
  32. #endif
  33. #include <string>
  34. #include <vulkan/vulkan.h>
  35. static inline const char* string_VkResult(VkResult input_value)
  36. {
  37. switch ((VkResult)input_value)
  38. {
  39. case VK_ERROR_DEVICE_LOST:
  40. return "VK_ERROR_DEVICE_LOST";
  41. case VK_ERROR_EXTENSION_NOT_PRESENT:
  42. return "VK_ERROR_EXTENSION_NOT_PRESENT";
  43. case VK_ERROR_FEATURE_NOT_PRESENT:
  44. return "VK_ERROR_FEATURE_NOT_PRESENT";
  45. case VK_ERROR_FORMAT_NOT_SUPPORTED:
  46. return "VK_ERROR_FORMAT_NOT_SUPPORTED";
  47. case VK_ERROR_FRAGMENTATION:
  48. return "VK_ERROR_FRAGMENTATION";
  49. case VK_ERROR_FRAGMENTED_POOL:
  50. return "VK_ERROR_FRAGMENTED_POOL";
  51. case VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT:
  52. return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT";
  53. case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR:
  54. return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR";
  55. case VK_ERROR_INCOMPATIBLE_DRIVER:
  56. return "VK_ERROR_INCOMPATIBLE_DRIVER";
  57. case VK_ERROR_INITIALIZATION_FAILED:
  58. return "VK_ERROR_INITIALIZATION_FAILED";
  59. case VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT:
  60. return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
  61. case VK_ERROR_INVALID_EXTERNAL_HANDLE:
  62. return "VK_ERROR_INVALID_EXTERNAL_HANDLE";
  63. case VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS:
  64. return "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS";
  65. case VK_ERROR_INVALID_SHADER_NV:
  66. return "VK_ERROR_INVALID_SHADER_NV";
  67. case VK_ERROR_LAYER_NOT_PRESENT:
  68. return "VK_ERROR_LAYER_NOT_PRESENT";
  69. case VK_ERROR_MEMORY_MAP_FAILED:
  70. return "VK_ERROR_MEMORY_MAP_FAILED";
  71. case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR:
  72. return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR";
  73. case VK_ERROR_NOT_PERMITTED_EXT:
  74. return "VK_ERROR_NOT_PERMITTED_EXT";
  75. case VK_ERROR_OUT_OF_DATE_KHR:
  76. return "VK_ERROR_OUT_OF_DATE_KHR";
  77. case VK_ERROR_OUT_OF_DEVICE_MEMORY:
  78. return "VK_ERROR_OUT_OF_DEVICE_MEMORY";
  79. case VK_ERROR_OUT_OF_HOST_MEMORY:
  80. return "VK_ERROR_OUT_OF_HOST_MEMORY";
  81. case VK_ERROR_OUT_OF_POOL_MEMORY:
  82. return "VK_ERROR_OUT_OF_POOL_MEMORY";
  83. case VK_ERROR_SURFACE_LOST_KHR:
  84. return "VK_ERROR_SURFACE_LOST_KHR";
  85. case VK_ERROR_TOO_MANY_OBJECTS:
  86. return "VK_ERROR_TOO_MANY_OBJECTS";
  87. case VK_ERROR_UNKNOWN:
  88. return "VK_ERROR_UNKNOWN";
  89. case VK_ERROR_VALIDATION_FAILED_EXT:
  90. return "VK_ERROR_VALIDATION_FAILED_EXT";
  91. case VK_EVENT_RESET:
  92. return "VK_EVENT_RESET";
  93. case VK_EVENT_SET:
  94. return "VK_EVENT_SET";
  95. case VK_INCOMPLETE:
  96. return "VK_INCOMPLETE";
  97. case VK_NOT_READY:
  98. return "VK_NOT_READY";
  99. case VK_OPERATION_DEFERRED_KHR:
  100. return "VK_OPERATION_DEFERRED_KHR";
  101. case VK_OPERATION_NOT_DEFERRED_KHR:
  102. return "VK_OPERATION_NOT_DEFERRED_KHR";
  103. case VK_PIPELINE_COMPILE_REQUIRED_EXT:
  104. return "VK_PIPELINE_COMPILE_REQUIRED_EXT";
  105. case VK_SUBOPTIMAL_KHR:
  106. return "VK_SUBOPTIMAL_KHR";
  107. case VK_SUCCESS:
  108. return "VK_SUCCESS";
  109. case VK_THREAD_DONE_KHR:
  110. return "VK_THREAD_DONE_KHR";
  111. case VK_THREAD_IDLE_KHR:
  112. return "VK_THREAD_IDLE_KHR";
  113. case VK_TIMEOUT:
  114. return "VK_TIMEOUT";
  115. default:
  116. return "Unhandled VkResult";
  117. }
  118. }
  119. static inline const char* string_VkStructureType(VkStructureType input_value)
  120. {
  121. switch ((VkStructureType)input_value)
  122. {
  123. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR:
  124. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR";
  125. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR:
  126. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR";
  127. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR:
  128. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR";
  129. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV:
  130. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV";
  131. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR:
  132. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR";
  133. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR:
  134. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR";
  135. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR:
  136. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR";
  137. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR:
  138. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR";
  139. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR:
  140. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR";
  141. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV:
  142. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV";
  143. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV:
  144. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV";
  145. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR:
  146. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR";
  147. case VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR:
  148. return "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR";
  149. case VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR:
  150. return "VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR";
  151. case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
  152. return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID";
  153. case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID:
  154. return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID";
  155. case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
  156. return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID";
  157. case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR:
  158. return "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR";
  159. case VK_STRUCTURE_TYPE_APPLICATION_INFO:
  160. return "VK_STRUCTURE_TYPE_APPLICATION_INFO";
  161. case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2:
  162. return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2";
  163. case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
  164. return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT";
  165. case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2:
  166. return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2";
  167. case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
  168. return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT";
  169. case VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV:
  170. return "VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV";
  171. case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
  172. return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO";
  173. case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO:
  174. return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO";
  175. case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
  176. return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO";
  177. case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO:
  178. return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO";
  179. case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
  180. return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR";
  181. case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
  182. return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO";
  183. case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO:
  184. return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO";
  185. case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR:
  186. return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR";
  187. case VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR:
  188. return "VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR";
  189. case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO:
  190. return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO";
  191. case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT:
  192. return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT";
  193. case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO:
  194. return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO";
  195. case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR:
  196. return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR";
  197. case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
  198. return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER";
  199. case VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2:
  200. return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2";
  201. case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO:
  202. return "VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO";
  203. case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO:
  204. return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO";
  205. case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT:
  206. return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT";
  207. case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV:
  208. return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV";
  209. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO:
  210. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO";
  211. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO:
  212. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO";
  213. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
  214. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT";
  215. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO:
  216. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO";
  217. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM:
  218. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM";
  219. case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO:
  220. return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO";
  221. case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO:
  222. return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO";
  223. case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT:
  224. return "VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT";
  225. case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV:
  226. return "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV";
  227. case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR:
  228. return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR";
  229. case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR:
  230. return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR";
  231. case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR:
  232. return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR";
  233. case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR:
  234. return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR";
  235. case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM:
  236. return "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM";
  237. case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET:
  238. return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET";
  239. case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR:
  240. return "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR";
  241. case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR:
  242. return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR";
  243. case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR:
  244. return "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR";
  245. case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
  246. return "VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR";
  247. case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT:
  248. return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT";
  249. case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT:
  250. return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT";
  251. case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT:
  252. return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT";
  253. case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
  254. return "VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT";
  255. case VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT:
  256. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT";
  257. case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT:
  258. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT";
  259. case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
  260. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT";
  261. case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT:
  262. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT";
  263. case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT:
  264. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT";
  265. case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
  266. return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
  267. case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
  268. return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
  269. case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
  270. return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
  271. case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO:
  272. return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO";
  273. case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT:
  274. return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT";
  275. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO:
  276. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO";
  277. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO:
  278. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO";
  279. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO:
  280. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO";
  281. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT:
  282. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT";
  283. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO:
  284. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO";
  285. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
  286. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT";
  287. case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO:
  288. return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO";
  289. case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO:
  290. return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO";
  291. case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT:
  292. return "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT";
  293. case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:
  294. return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
  295. case VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT:
  296. return "VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT";
  297. case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
  298. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO";
  299. case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
  300. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO";
  301. case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
  302. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO";
  303. case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR:
  304. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR";
  305. case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
  306. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR";
  307. case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
  308. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO";
  309. case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
  310. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO";
  311. case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
  312. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR";
  313. case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO:
  314. return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO";
  315. case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:
  316. return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD";
  317. case VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT:
  318. return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT";
  319. case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT:
  320. return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT";
  321. case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO:
  322. return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO";
  323. case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
  324. return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT";
  325. case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2:
  326. return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2";
  327. case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT:
  328. return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT";
  329. case VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT:
  330. return "VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT";
  331. case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR:
  332. return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR";
  333. case VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR:
  334. return "VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR";
  335. case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD:
  336. return "VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD";
  337. case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR:
  338. return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR";
  339. case VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR:
  340. return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR";
  341. case VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR:
  342. return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR";
  343. case VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT:
  344. return "VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT";
  345. case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
  346. return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR";
  347. case VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR:
  348. return "VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR";
  349. case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR:
  350. return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR";
  351. case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
  352. return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT";
  353. case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO:
  354. return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO";
  355. case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
  356. return "VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO";
  357. case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
  358. return "VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR";
  359. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
  360. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO";
  361. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
  362. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV";
  363. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
  364. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
  365. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
  366. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV";
  367. case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
  368. return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO";
  369. case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
  370. return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
  371. case VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES:
  372. return "VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES";
  373. case VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES:
  374. return "VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES";
  375. case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
  376. return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID";
  377. case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
  378. return "VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES";
  379. case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
  380. return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO";
  381. case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
  382. return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO";
  383. case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
  384. return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV";
  385. case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES:
  386. return "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES";
  387. case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO:
  388. return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO";
  389. case VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR:
  390. return "VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR";
  391. case VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR:
  392. return "VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR";
  393. case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT:
  394. return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT";
  395. case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2:
  396. return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2";
  397. case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
  398. return "VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR";
  399. case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO:
  400. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO";
  401. case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO:
  402. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO";
  403. case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO:
  404. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO";
  405. case VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV:
  406. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV";
  407. case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV:
  408. return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV";
  409. case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV:
  410. return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV";
  411. case VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV:
  412. return "VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV";
  413. case VK_STRUCTURE_TYPE_GEOMETRY_NV:
  414. return "VK_STRUCTURE_TYPE_GEOMETRY_NV";
  415. case VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV:
  416. return "VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV";
  417. case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO:
  418. return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO";
  419. case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV:
  420. return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV";
  421. case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV:
  422. return "VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV";
  423. case VK_STRUCTURE_TYPE_HDR_METADATA_EXT:
  424. return "VK_STRUCTURE_TYPE_HDR_METADATA_EXT";
  425. case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT:
  426. return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT";
  427. case VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA:
  428. return "VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA";
  429. case VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR:
  430. return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR";
  431. case VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR:
  432. return "VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR";
  433. case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO:
  434. return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO";
  435. case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
  436. return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT";
  437. case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
  438. return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT";
  439. case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT:
  440. return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT";
  441. case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
  442. return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO";
  443. case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2:
  444. return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2";
  445. case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
  446. return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER";
  447. case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2:
  448. return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2";
  449. case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
  450. return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO";
  451. case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR:
  452. return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR";
  453. case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2:
  454. return "VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2";
  455. case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
  456. return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO";
  457. case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
  458. return "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR";
  459. case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX:
  460. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX";
  461. case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT:
  462. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT";
  463. case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO:
  464. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO";
  465. case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX:
  466. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX";
  467. case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
  468. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO";
  469. case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
  470. return "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
  471. case VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR:
  472. return "VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR";
  473. case VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR:
  474. return "VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR";
  475. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
  476. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR";
  477. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
  478. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT";
  479. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
  480. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
  481. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
  482. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV";
  483. case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR:
  484. return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR";
  485. case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
  486. return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
  487. case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV:
  488. return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV";
  489. case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV:
  490. return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV";
  491. case VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL:
  492. return "VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL";
  493. case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO:
  494. return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO";
  495. case VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK:
  496. return "VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK";
  497. case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO:
  498. return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO";
  499. case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO:
  500. return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO";
  501. case VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK:
  502. return "VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK";
  503. case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE:
  504. return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE";
  505. case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
  506. return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO";
  507. case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO:
  508. return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO";
  509. case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
  510. return "VK_STRUCTURE_TYPE_MEMORY_BARRIER";
  511. case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
  512. return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO";
  513. case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
  514. return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS";
  515. case VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR:
  516. return "VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR";
  517. case VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
  518. return "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
  519. case VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR:
  520. return "VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR";
  521. case VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR:
  522. return "VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR";
  523. case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT:
  524. return "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT";
  525. case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
  526. return "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO";
  527. case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT:
  528. return "VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT";
  529. case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2:
  530. return "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2";
  531. case VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR:
  532. return "VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR";
  533. case VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT:
  534. return "VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT";
  535. case VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT:
  536. return "VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT";
  537. case VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL:
  538. return "VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL";
  539. case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR:
  540. return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR";
  541. case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR:
  542. return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR";
  543. case VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL:
  544. return "VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL";
  545. case VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL:
  546. return "VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL";
  547. case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR:
  548. return "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR";
  549. case VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL:
  550. return "VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL";
  551. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
  552. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES";
  553. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
  554. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT";
  555. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
  556. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES";
  557. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR:
  558. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR";
  559. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR:
  560. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR";
  561. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT:
  562. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT";
  563. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
  564. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT";
  565. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
  566. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT";
  567. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
  568. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES";
  569. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT:
  570. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT";
  571. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD:
  572. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD";
  573. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:
  574. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV";
  575. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
  576. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT";
  577. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
  578. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT";
  579. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV:
  580. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV";
  581. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV:
  582. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV";
  583. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV:
  584. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV";
  585. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV:
  586. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV";
  587. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
  588. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT";
  589. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
  590. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT";
  591. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV:
  592. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV";
  593. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
  594. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT";
  595. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
  596. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES";
  597. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
  598. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES";
  599. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
  600. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES";
  601. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV:
  602. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV";
  603. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV:
  604. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV";
  605. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT:
  606. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT";
  607. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV:
  608. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV";
  609. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
  610. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT";
  611. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
  612. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES";
  613. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV:
  614. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV";
  615. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
  616. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT";
  617. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO:
  618. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO";
  619. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO:
  620. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO";
  621. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
  622. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO";
  623. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
  624. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT";
  625. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO:
  626. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO";
  627. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
  628. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2";
  629. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
  630. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES";
  631. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT:
  632. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT";
  633. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT:
  634. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT";
  635. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT:
  636. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT";
  637. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT:
  638. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT";
  639. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:
  640. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV";
  641. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT:
  642. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT";
  643. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:
  644. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV";
  645. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV:
  646. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV";
  647. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
  648. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR";
  649. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR:
  650. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR";
  651. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR:
  652. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR";
  653. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES:
  654. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES";
  655. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
  656. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES";
  657. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
  658. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES";
  659. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
  660. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES";
  661. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
  662. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT";
  663. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2:
  664. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2";
  665. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT:
  666. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT";
  667. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT:
  668. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT";
  669. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
  670. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT";
  671. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT:
  672. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT";
  673. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT:
  674. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT";
  675. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
  676. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT";
  677. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
  678. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT";
  679. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
  680. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES";
  681. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT:
  682. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT";
  683. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT:
  684. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT";
  685. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2:
  686. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2";
  687. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:
  688. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV";
  689. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV:
  690. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV";
  691. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
  692. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES";
  693. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
  694. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX";
  695. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
  696. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES";
  697. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
  698. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT";
  699. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR:
  700. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR";
  701. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR:
  702. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR";
  703. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT:
  704. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT";
  705. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:
  706. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR";
  707. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
  708. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES";
  709. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR:
  710. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR";
  711. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR:
  712. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR";
  713. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT:
  714. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT";
  715. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2:
  716. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2";
  717. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
  718. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES";
  719. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
  720. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES";
  721. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
  722. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR";
  723. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR:
  724. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR";
  725. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR:
  726. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR";
  727. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR:
  728. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR";
  729. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV:
  730. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV";
  731. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV:
  732. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV";
  733. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
  734. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT";
  735. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT:
  736. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT";
  737. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
  738. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES";
  739. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
  740. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES";
  741. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
  742. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT";
  743. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
  744. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES";
  745. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
  746. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES";
  747. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT:
  748. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT";
  749. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
  750. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES";
  751. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR:
  752. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR";
  753. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD:
  754. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD";
  755. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
  756. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD";
  757. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT:
  758. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT";
  759. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
  760. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES";
  761. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
  762. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES";
  763. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT:
  764. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT";
  765. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV:
  766. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV";
  767. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL:
  768. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL";
  769. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV:
  770. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV";
  771. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV:
  772. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV";
  773. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
  774. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES";
  775. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR:
  776. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR";
  777. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV:
  778. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV";
  779. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV:
  780. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV";
  781. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2:
  782. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2";
  783. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
  784. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES";
  785. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT:
  786. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT";
  787. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT:
  788. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT";
  789. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR:
  790. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR";
  791. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
  792. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT";
  793. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT:
  794. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT";
  795. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT:
  796. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT";
  797. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
  798. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES";
  799. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
  800. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES";
  801. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT:
  802. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT";
  803. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
  804. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT";
  805. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
  806. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT";
  807. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
  808. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES";
  809. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
  810. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES";
  811. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
  812. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT";
  813. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
  814. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT";
  815. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
  816. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES";
  817. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
  818. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES";
  819. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
  820. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES";
  821. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
  822. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES";
  823. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
  824. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES";
  825. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT:
  826. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT";
  827. case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO:
  828. return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO";
  829. case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
  830. return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT";
  831. case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO:
  832. return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO";
  833. case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD:
  834. return "VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD";
  835. case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
  836. return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV";
  837. case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV:
  838. return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV";
  839. case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
  840. return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV";
  841. case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT:
  842. return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT";
  843. case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO:
  844. return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO";
  845. case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
  846. return "VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT";
  847. case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO:
  848. return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO";
  849. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR:
  850. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR";
  851. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR:
  852. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR";
  853. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR:
  854. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR";
  855. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR:
  856. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR";
  857. case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV:
  858. return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV";
  859. case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR:
  860. return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR";
  861. case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR:
  862. return "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR";
  863. case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO:
  864. return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO";
  865. case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO:
  866. return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO";
  867. case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
  868. return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR";
  869. case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO:
  870. return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO";
  871. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
  872. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT";
  873. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
  874. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT";
  875. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT:
  876. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT";
  877. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO:
  878. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO";
  879. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
  880. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD";
  881. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
  882. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT";
  883. case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV:
  884. return "VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV";
  885. case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
  886. return "VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT";
  887. case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:
  888. return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO";
  889. case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT:
  890. return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT";
  891. case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
  892. return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO";
  893. case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO:
  894. return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO";
  895. case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
  896. return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT";
  897. case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO:
  898. return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO";
  899. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV:
  900. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV";
  901. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:
  902. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV";
  903. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV:
  904. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV";
  905. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO:
  906. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO";
  907. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
  908. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV";
  909. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
  910. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV";
  911. case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP:
  912. return "VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP";
  913. case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR:
  914. return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR";
  915. case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
  916. return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR";
  917. case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
  918. return "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE";
  919. case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT:
  920. return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT";
  921. case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
  922. return "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO";
  923. case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO:
  924. return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO";
  925. case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR:
  926. return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR";
  927. case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL:
  928. return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL";
  929. case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
  930. return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV";
  931. case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2:
  932. return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2";
  933. case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR:
  934. return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR";
  935. case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV:
  936. return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV";
  937. case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR:
  938. return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR";
  939. case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR:
  940. return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR";
  941. case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV:
  942. return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV";
  943. case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
  944. return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO";
  945. case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO:
  946. return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO";
  947. case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO:
  948. return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO";
  949. case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2:
  950. return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2";
  951. case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT:
  952. return "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT";
  953. case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
  954. return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO";
  955. case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
  956. return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO";
  957. case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
  958. return "VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT";
  959. case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM:
  960. return "VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM";
  961. case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR:
  962. return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR";
  963. case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO:
  964. return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO";
  965. case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
  966. return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT";
  967. case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO:
  968. return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO";
  969. case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO:
  970. return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO";
  971. case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
  972. return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES";
  973. case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
  974. return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO";
  975. case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
  976. return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT";
  977. case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO:
  978. return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO";
  979. case VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR:
  980. return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR";
  981. case VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR:
  982. return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR";
  983. case VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO:
  984. return "VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO";
  985. case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
  986. return "VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO";
  987. case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO:
  988. return "VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO";
  989. case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
  990. return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO";
  991. case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
  992. return "VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT";
  993. case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
  994. return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR";
  995. case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2:
  996. return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2";
  997. case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2:
  998. return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2";
  999. case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP:
  1000. return "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP";
  1001. case VK_STRUCTURE_TYPE_SUBMIT_INFO:
  1002. return "VK_STRUCTURE_TYPE_SUBMIT_INFO";
  1003. case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO:
  1004. return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO";
  1005. case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2:
  1006. return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2";
  1007. case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2:
  1008. return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2";
  1009. case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
  1010. return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE";
  1011. case VK_STRUCTURE_TYPE_SUBPASS_END_INFO:
  1012. return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO";
  1013. case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT:
  1014. return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT";
  1015. case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR:
  1016. return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR";
  1017. case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT:
  1018. return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT";
  1019. case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR:
  1020. return "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR";
  1021. case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT:
  1022. return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT";
  1023. case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT:
  1024. return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT";
  1025. case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR:
  1026. return "VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR";
  1027. case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
  1028. return "VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT";
  1029. case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR:
  1030. return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR";
  1031. case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD:
  1032. return "VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD";
  1033. case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
  1034. return "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD";
  1035. case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
  1036. return "VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO";
  1037. case VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT:
  1038. return "VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT";
  1039. case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT:
  1040. return "VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT";
  1041. case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
  1042. return "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT";
  1043. case VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN:
  1044. return "VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN";
  1045. case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR:
  1046. return "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR";
  1047. case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
  1048. return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR";
  1049. case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
  1050. return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV";
  1051. case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR:
  1052. return "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR";
  1053. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET:
  1054. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET";
  1055. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR:
  1056. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR";
  1057. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV:
  1058. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV";
  1059. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT:
  1060. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT";
  1061. case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR:
  1062. return "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR";
  1063. case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR:
  1064. return "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR";
  1065. default:
  1066. return "Unhandled VkStructureType";
  1067. }
  1068. }
  1069. static inline const char* string_VkAccessFlagBits(VkAccessFlagBits input_value)
  1070. {
  1071. switch ((VkAccessFlagBits)input_value)
  1072. {
  1073. case VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR:
  1074. return "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR";
  1075. case VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR:
  1076. return "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR";
  1077. case VK_ACCESS_COLOR_ATTACHMENT_READ_BIT:
  1078. return "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT";
  1079. case VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT:
  1080. return "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT";
  1081. case VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT:
  1082. return "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT";
  1083. case VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV:
  1084. return "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV";
  1085. case VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV:
  1086. return "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV";
  1087. case VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT:
  1088. return "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT";
  1089. case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT:
  1090. return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT";
  1091. case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT:
  1092. return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT";
  1093. case VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT:
  1094. return "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT";
  1095. case VK_ACCESS_HOST_READ_BIT:
  1096. return "VK_ACCESS_HOST_READ_BIT";
  1097. case VK_ACCESS_HOST_WRITE_BIT:
  1098. return "VK_ACCESS_HOST_WRITE_BIT";
  1099. case VK_ACCESS_INDEX_READ_BIT:
  1100. return "VK_ACCESS_INDEX_READ_BIT";
  1101. case VK_ACCESS_INDIRECT_COMMAND_READ_BIT:
  1102. return "VK_ACCESS_INDIRECT_COMMAND_READ_BIT";
  1103. case VK_ACCESS_INPUT_ATTACHMENT_READ_BIT:
  1104. return "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT";
  1105. case VK_ACCESS_MEMORY_READ_BIT:
  1106. return "VK_ACCESS_MEMORY_READ_BIT";
  1107. case VK_ACCESS_MEMORY_WRITE_BIT:
  1108. return "VK_ACCESS_MEMORY_WRITE_BIT";
  1109. case VK_ACCESS_SHADER_READ_BIT:
  1110. return "VK_ACCESS_SHADER_READ_BIT";
  1111. case VK_ACCESS_SHADER_WRITE_BIT:
  1112. return "VK_ACCESS_SHADER_WRITE_BIT";
  1113. case VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV:
  1114. return "VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV";
  1115. case VK_ACCESS_TRANSFER_READ_BIT:
  1116. return "VK_ACCESS_TRANSFER_READ_BIT";
  1117. case VK_ACCESS_TRANSFER_WRITE_BIT:
  1118. return "VK_ACCESS_TRANSFER_WRITE_BIT";
  1119. case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT:
  1120. return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT";
  1121. case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT:
  1122. return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT";
  1123. case VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT:
  1124. return "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT";
  1125. case VK_ACCESS_UNIFORM_READ_BIT:
  1126. return "VK_ACCESS_UNIFORM_READ_BIT";
  1127. case VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT:
  1128. return "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT";
  1129. default:
  1130. return "Unhandled VkAccessFlagBits";
  1131. }
  1132. }
  1133. static inline std::string string_VkAccessFlags(VkAccessFlags input_value)
  1134. {
  1135. std::string ret;
  1136. int index = 0;
  1137. while(input_value) {
  1138. if (input_value & 1) {
  1139. if( !ret.empty()) ret.append("|");
  1140. ret.append(string_VkAccessFlagBits(static_cast<VkAccessFlagBits>(1 << index)));
  1141. }
  1142. ++index;
  1143. input_value >>= 1;
  1144. }
  1145. if( ret.empty()) ret.append(string_VkAccessFlagBits(static_cast<VkAccessFlagBits>(0)));
  1146. return ret;
  1147. }
  1148. static inline const char* string_VkImageLayout(VkImageLayout input_value)
  1149. {
  1150. switch ((VkImageLayout)input_value)
  1151. {
  1152. case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:
  1153. return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL";
  1154. case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL:
  1155. return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL";
  1156. case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL:
  1157. return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL";
  1158. case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL:
  1159. return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL";
  1160. case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL:
  1161. return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL";
  1162. case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
  1163. return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL";
  1164. case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
  1165. return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
  1166. case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT:
  1167. return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT";
  1168. case VK_IMAGE_LAYOUT_GENERAL:
  1169. return "VK_IMAGE_LAYOUT_GENERAL";
  1170. case VK_IMAGE_LAYOUT_PREINITIALIZED:
  1171. return "VK_IMAGE_LAYOUT_PREINITIALIZED";
  1172. case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:
  1173. return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR";
  1174. case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
  1175. return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
  1176. case VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV:
  1177. return "VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV";
  1178. case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR:
  1179. return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR";
  1180. case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL:
  1181. return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL";
  1182. case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL:
  1183. return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL";
  1184. case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
  1185. return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL";
  1186. case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
  1187. return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
  1188. case VK_IMAGE_LAYOUT_UNDEFINED:
  1189. return "VK_IMAGE_LAYOUT_UNDEFINED";
  1190. default:
  1191. return "Unhandled VkImageLayout";
  1192. }
  1193. }
  1194. static inline const char* string_VkImageAspectFlagBits(VkImageAspectFlagBits input_value)
  1195. {
  1196. switch ((VkImageAspectFlagBits)input_value)
  1197. {
  1198. case VK_IMAGE_ASPECT_COLOR_BIT:
  1199. return "VK_IMAGE_ASPECT_COLOR_BIT";
  1200. case VK_IMAGE_ASPECT_DEPTH_BIT:
  1201. return "VK_IMAGE_ASPECT_DEPTH_BIT";
  1202. case VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT:
  1203. return "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT";
  1204. case VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT:
  1205. return "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT";
  1206. case VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT:
  1207. return "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT";
  1208. case VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT:
  1209. return "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT";
  1210. case VK_IMAGE_ASPECT_METADATA_BIT:
  1211. return "VK_IMAGE_ASPECT_METADATA_BIT";
  1212. case VK_IMAGE_ASPECT_PLANE_0_BIT:
  1213. return "VK_IMAGE_ASPECT_PLANE_0_BIT";
  1214. case VK_IMAGE_ASPECT_PLANE_1_BIT:
  1215. return "VK_IMAGE_ASPECT_PLANE_1_BIT";
  1216. case VK_IMAGE_ASPECT_PLANE_2_BIT:
  1217. return "VK_IMAGE_ASPECT_PLANE_2_BIT";
  1218. case VK_IMAGE_ASPECT_STENCIL_BIT:
  1219. return "VK_IMAGE_ASPECT_STENCIL_BIT";
  1220. default:
  1221. return "Unhandled VkImageAspectFlagBits";
  1222. }
  1223. }
  1224. static inline std::string string_VkImageAspectFlags(VkImageAspectFlags input_value)
  1225. {
  1226. std::string ret;
  1227. int index = 0;
  1228. while(input_value) {
  1229. if (input_value & 1) {
  1230. if( !ret.empty()) ret.append("|");
  1231. ret.append(string_VkImageAspectFlagBits(static_cast<VkImageAspectFlagBits>(1 << index)));
  1232. }
  1233. ++index;
  1234. input_value >>= 1;
  1235. }
  1236. if( ret.empty()) ret.append(string_VkImageAspectFlagBits(static_cast<VkImageAspectFlagBits>(0)));
  1237. return ret;
  1238. }
  1239. static inline const char* string_VkObjectType(VkObjectType input_value)
  1240. {
  1241. switch ((VkObjectType)input_value)
  1242. {
  1243. case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR:
  1244. return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR";
  1245. case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV:
  1246. return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV";
  1247. case VK_OBJECT_TYPE_BUFFER:
  1248. return "VK_OBJECT_TYPE_BUFFER";
  1249. case VK_OBJECT_TYPE_BUFFER_VIEW:
  1250. return "VK_OBJECT_TYPE_BUFFER_VIEW";
  1251. case VK_OBJECT_TYPE_COMMAND_BUFFER:
  1252. return "VK_OBJECT_TYPE_COMMAND_BUFFER";
  1253. case VK_OBJECT_TYPE_COMMAND_POOL:
  1254. return "VK_OBJECT_TYPE_COMMAND_POOL";
  1255. case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT:
  1256. return "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT";
  1257. case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT:
  1258. return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT";
  1259. case VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR:
  1260. return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR";
  1261. case VK_OBJECT_TYPE_DESCRIPTOR_POOL:
  1262. return "VK_OBJECT_TYPE_DESCRIPTOR_POOL";
  1263. case VK_OBJECT_TYPE_DESCRIPTOR_SET:
  1264. return "VK_OBJECT_TYPE_DESCRIPTOR_SET";
  1265. case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT:
  1266. return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT";
  1267. case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE:
  1268. return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE";
  1269. case VK_OBJECT_TYPE_DEVICE:
  1270. return "VK_OBJECT_TYPE_DEVICE";
  1271. case VK_OBJECT_TYPE_DEVICE_MEMORY:
  1272. return "VK_OBJECT_TYPE_DEVICE_MEMORY";
  1273. case VK_OBJECT_TYPE_DISPLAY_KHR:
  1274. return "VK_OBJECT_TYPE_DISPLAY_KHR";
  1275. case VK_OBJECT_TYPE_DISPLAY_MODE_KHR:
  1276. return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR";
  1277. case VK_OBJECT_TYPE_EVENT:
  1278. return "VK_OBJECT_TYPE_EVENT";
  1279. case VK_OBJECT_TYPE_FENCE:
  1280. return "VK_OBJECT_TYPE_FENCE";
  1281. case VK_OBJECT_TYPE_FRAMEBUFFER:
  1282. return "VK_OBJECT_TYPE_FRAMEBUFFER";
  1283. case VK_OBJECT_TYPE_IMAGE:
  1284. return "VK_OBJECT_TYPE_IMAGE";
  1285. case VK_OBJECT_TYPE_IMAGE_VIEW:
  1286. return "VK_OBJECT_TYPE_IMAGE_VIEW";
  1287. case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV:
  1288. return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
  1289. case VK_OBJECT_TYPE_INSTANCE:
  1290. return "VK_OBJECT_TYPE_INSTANCE";
  1291. case VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL:
  1292. return "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL";
  1293. case VK_OBJECT_TYPE_PHYSICAL_DEVICE:
  1294. return "VK_OBJECT_TYPE_PHYSICAL_DEVICE";
  1295. case VK_OBJECT_TYPE_PIPELINE:
  1296. return "VK_OBJECT_TYPE_PIPELINE";
  1297. case VK_OBJECT_TYPE_PIPELINE_CACHE:
  1298. return "VK_OBJECT_TYPE_PIPELINE_CACHE";
  1299. case VK_OBJECT_TYPE_PIPELINE_LAYOUT:
  1300. return "VK_OBJECT_TYPE_PIPELINE_LAYOUT";
  1301. case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT:
  1302. return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT";
  1303. case VK_OBJECT_TYPE_QUERY_POOL:
  1304. return "VK_OBJECT_TYPE_QUERY_POOL";
  1305. case VK_OBJECT_TYPE_QUEUE:
  1306. return "VK_OBJECT_TYPE_QUEUE";
  1307. case VK_OBJECT_TYPE_RENDER_PASS:
  1308. return "VK_OBJECT_TYPE_RENDER_PASS";
  1309. case VK_OBJECT_TYPE_SAMPLER:
  1310. return "VK_OBJECT_TYPE_SAMPLER";
  1311. case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION:
  1312. return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION";
  1313. case VK_OBJECT_TYPE_SEMAPHORE:
  1314. return "VK_OBJECT_TYPE_SEMAPHORE";
  1315. case VK_OBJECT_TYPE_SHADER_MODULE:
  1316. return "VK_OBJECT_TYPE_SHADER_MODULE";
  1317. case VK_OBJECT_TYPE_SURFACE_KHR:
  1318. return "VK_OBJECT_TYPE_SURFACE_KHR";
  1319. case VK_OBJECT_TYPE_SWAPCHAIN_KHR:
  1320. return "VK_OBJECT_TYPE_SWAPCHAIN_KHR";
  1321. case VK_OBJECT_TYPE_UNKNOWN:
  1322. return "VK_OBJECT_TYPE_UNKNOWN";
  1323. case VK_OBJECT_TYPE_VALIDATION_CACHE_EXT:
  1324. return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT";
  1325. default:
  1326. return "Unhandled VkObjectType";
  1327. }
  1328. }
  1329. static inline const char* string_VkVendorId(VkVendorId input_value)
  1330. {
  1331. switch ((VkVendorId)input_value)
  1332. {
  1333. case VK_VENDOR_ID_CODEPLAY:
  1334. return "VK_VENDOR_ID_CODEPLAY";
  1335. case VK_VENDOR_ID_KAZAN:
  1336. return "VK_VENDOR_ID_KAZAN";
  1337. case VK_VENDOR_ID_MESA:
  1338. return "VK_VENDOR_ID_MESA";
  1339. case VK_VENDOR_ID_VIV:
  1340. return "VK_VENDOR_ID_VIV";
  1341. case VK_VENDOR_ID_VSI:
  1342. return "VK_VENDOR_ID_VSI";
  1343. default:
  1344. return "Unhandled VkVendorId";
  1345. }
  1346. }
  1347. static inline const char* string_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion input_value)
  1348. {
  1349. switch ((VkPipelineCacheHeaderVersion)input_value)
  1350. {
  1351. case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:
  1352. return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
  1353. default:
  1354. return "Unhandled VkPipelineCacheHeaderVersion";
  1355. }
  1356. }
  1357. static inline const char* string_VkSystemAllocationScope(VkSystemAllocationScope input_value)
  1358. {
  1359. switch ((VkSystemAllocationScope)input_value)
  1360. {
  1361. case VK_SYSTEM_ALLOCATION_SCOPE_CACHE:
  1362. return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE";
  1363. case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND:
  1364. return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND";
  1365. case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE:
  1366. return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE";
  1367. case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE:
  1368. return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE";
  1369. case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT:
  1370. return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT";
  1371. default:
  1372. return "Unhandled VkSystemAllocationScope";
  1373. }
  1374. }
  1375. static inline const char* string_VkInternalAllocationType(VkInternalAllocationType input_value)
  1376. {
  1377. switch ((VkInternalAllocationType)input_value)
  1378. {
  1379. case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE:
  1380. return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE";
  1381. default:
  1382. return "Unhandled VkInternalAllocationType";
  1383. }
  1384. }
  1385. static inline const char* string_VkFormat(VkFormat input_value)
  1386. {
  1387. switch ((VkFormat)input_value)
  1388. {
  1389. case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
  1390. return "VK_FORMAT_A1R5G5B5_UNORM_PACK16";
  1391. case VK_FORMAT_A2B10G10R10_SINT_PACK32:
  1392. return "VK_FORMAT_A2B10G10R10_SINT_PACK32";
  1393. case VK_FORMAT_A2B10G10R10_SNORM_PACK32:
  1394. return "VK_FORMAT_A2B10G10R10_SNORM_PACK32";
  1395. case VK_FORMAT_A2B10G10R10_SSCALED_PACK32:
  1396. return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32";
  1397. case VK_FORMAT_A2B10G10R10_UINT_PACK32:
  1398. return "VK_FORMAT_A2B10G10R10_UINT_PACK32";
  1399. case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
  1400. return "VK_FORMAT_A2B10G10R10_UNORM_PACK32";
  1401. case VK_FORMAT_A2B10G10R10_USCALED_PACK32:
  1402. return "VK_FORMAT_A2B10G10R10_USCALED_PACK32";
  1403. case VK_FORMAT_A2R10G10B10_SINT_PACK32:
  1404. return "VK_FORMAT_A2R10G10B10_SINT_PACK32";
  1405. case VK_FORMAT_A2R10G10B10_SNORM_PACK32:
  1406. return "VK_FORMAT_A2R10G10B10_SNORM_PACK32";
  1407. case VK_FORMAT_A2R10G10B10_SSCALED_PACK32:
  1408. return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32";
  1409. case VK_FORMAT_A2R10G10B10_UINT_PACK32:
  1410. return "VK_FORMAT_A2R10G10B10_UINT_PACK32";
  1411. case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
  1412. return "VK_FORMAT_A2R10G10B10_UNORM_PACK32";
  1413. case VK_FORMAT_A2R10G10B10_USCALED_PACK32:
  1414. return "VK_FORMAT_A2R10G10B10_USCALED_PACK32";
  1415. case VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT:
  1416. return "VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT";
  1417. case VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT:
  1418. return "VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT";
  1419. case VK_FORMAT_A8B8G8R8_SINT_PACK32:
  1420. return "VK_FORMAT_A8B8G8R8_SINT_PACK32";
  1421. case VK_FORMAT_A8B8G8R8_SNORM_PACK32:
  1422. return "VK_FORMAT_A8B8G8R8_SNORM_PACK32";
  1423. case VK_FORMAT_A8B8G8R8_SRGB_PACK32:
  1424. return "VK_FORMAT_A8B8G8R8_SRGB_PACK32";
  1425. case VK_FORMAT_A8B8G8R8_SSCALED_PACK32:
  1426. return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32";
  1427. case VK_FORMAT_A8B8G8R8_UINT_PACK32:
  1428. return "VK_FORMAT_A8B8G8R8_UINT_PACK32";
  1429. case VK_FORMAT_A8B8G8R8_UNORM_PACK32:
  1430. return "VK_FORMAT_A8B8G8R8_UNORM_PACK32";
  1431. case VK_FORMAT_A8B8G8R8_USCALED_PACK32:
  1432. return "VK_FORMAT_A8B8G8R8_USCALED_PACK32";
  1433. case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
  1434. return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT";
  1435. case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
  1436. return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK";
  1437. case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
  1438. return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK";
  1439. case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
  1440. return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT";
  1441. case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
  1442. return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK";
  1443. case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
  1444. return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK";
  1445. case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
  1446. return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT";
  1447. case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
  1448. return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK";
  1449. case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
  1450. return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK";
  1451. case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
  1452. return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT";
  1453. case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
  1454. return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK";
  1455. case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
  1456. return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK";
  1457. case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
  1458. return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT";
  1459. case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
  1460. return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK";
  1461. case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
  1462. return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK";
  1463. case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
  1464. return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT";
  1465. case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
  1466. return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK";
  1467. case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
  1468. return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK";
  1469. case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
  1470. return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT";
  1471. case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
  1472. return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK";
  1473. case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
  1474. return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK";
  1475. case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
  1476. return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT";
  1477. case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
  1478. return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK";
  1479. case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
  1480. return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK";
  1481. case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
  1482. return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT";
  1483. case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
  1484. return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK";
  1485. case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
  1486. return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK";
  1487. case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
  1488. return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT";
  1489. case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
  1490. return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK";
  1491. case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
  1492. return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK";
  1493. case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
  1494. return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT";
  1495. case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
  1496. return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK";
  1497. case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
  1498. return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK";
  1499. case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
  1500. return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT";
  1501. case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
  1502. return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK";
  1503. case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
  1504. return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK";
  1505. case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
  1506. return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT";
  1507. case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
  1508. return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK";
  1509. case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
  1510. return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK";
  1511. case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
  1512. return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT";
  1513. case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
  1514. return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK";
  1515. case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
  1516. return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK";
  1517. case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
  1518. return "VK_FORMAT_B10G11R11_UFLOAT_PACK32";
  1519. case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:
  1520. return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16";
  1521. case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:
  1522. return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16";
  1523. case VK_FORMAT_B16G16R16G16_422_UNORM:
  1524. return "VK_FORMAT_B16G16R16G16_422_UNORM";
  1525. case VK_FORMAT_B4G4R4A4_UNORM_PACK16:
  1526. return "VK_FORMAT_B4G4R4A4_UNORM_PACK16";
  1527. case VK_FORMAT_B5G5R5A1_UNORM_PACK16:
  1528. return "VK_FORMAT_B5G5R5A1_UNORM_PACK16";
  1529. case VK_FORMAT_B5G6R5_UNORM_PACK16:
  1530. return "VK_FORMAT_B5G6R5_UNORM_PACK16";
  1531. case VK_FORMAT_B8G8R8A8_SINT:
  1532. return "VK_FORMAT_B8G8R8A8_SINT";
  1533. case VK_FORMAT_B8G8R8A8_SNORM:
  1534. return "VK_FORMAT_B8G8R8A8_SNORM";
  1535. case VK_FORMAT_B8G8R8A8_SRGB:
  1536. return "VK_FORMAT_B8G8R8A8_SRGB";
  1537. case VK_FORMAT_B8G8R8A8_SSCALED:
  1538. return "VK_FORMAT_B8G8R8A8_SSCALED";
  1539. case VK_FORMAT_B8G8R8A8_UINT:
  1540. return "VK_FORMAT_B8G8R8A8_UINT";
  1541. case VK_FORMAT_B8G8R8A8_UNORM:
  1542. return "VK_FORMAT_B8G8R8A8_UNORM";
  1543. case VK_FORMAT_B8G8R8A8_USCALED:
  1544. return "VK_FORMAT_B8G8R8A8_USCALED";
  1545. case VK_FORMAT_B8G8R8G8_422_UNORM:
  1546. return "VK_FORMAT_B8G8R8G8_422_UNORM";
  1547. case VK_FORMAT_B8G8R8_SINT:
  1548. return "VK_FORMAT_B8G8R8_SINT";
  1549. case VK_FORMAT_B8G8R8_SNORM:
  1550. return "VK_FORMAT_B8G8R8_SNORM";
  1551. case VK_FORMAT_B8G8R8_SRGB:
  1552. return "VK_FORMAT_B8G8R8_SRGB";
  1553. case VK_FORMAT_B8G8R8_SSCALED:
  1554. return "VK_FORMAT_B8G8R8_SSCALED";
  1555. case VK_FORMAT_B8G8R8_UINT:
  1556. return "VK_FORMAT_B8G8R8_UINT";
  1557. case VK_FORMAT_B8G8R8_UNORM:
  1558. return "VK_FORMAT_B8G8R8_UNORM";
  1559. case VK_FORMAT_B8G8R8_USCALED:
  1560. return "VK_FORMAT_B8G8R8_USCALED";
  1561. case VK_FORMAT_BC1_RGBA_SRGB_BLOCK:
  1562. return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK";
  1563. case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:
  1564. return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK";
  1565. case VK_FORMAT_BC1_RGB_SRGB_BLOCK:
  1566. return "VK_FORMAT_BC1_RGB_SRGB_BLOCK";
  1567. case VK_FORMAT_BC1_RGB_UNORM_BLOCK:
  1568. return "VK_FORMAT_BC1_RGB_UNORM_BLOCK";
  1569. case VK_FORMAT_BC2_SRGB_BLOCK:
  1570. return "VK_FORMAT_BC2_SRGB_BLOCK";
  1571. case VK_FORMAT_BC2_UNORM_BLOCK:
  1572. return "VK_FORMAT_BC2_UNORM_BLOCK";
  1573. case VK_FORMAT_BC3_SRGB_BLOCK:
  1574. return "VK_FORMAT_BC3_SRGB_BLOCK";
  1575. case VK_FORMAT_BC3_UNORM_BLOCK:
  1576. return "VK_FORMAT_BC3_UNORM_BLOCK";
  1577. case VK_FORMAT_BC4_SNORM_BLOCK:
  1578. return "VK_FORMAT_BC4_SNORM_BLOCK";
  1579. case VK_FORMAT_BC4_UNORM_BLOCK:
  1580. return "VK_FORMAT_BC4_UNORM_BLOCK";
  1581. case VK_FORMAT_BC5_SNORM_BLOCK:
  1582. return "VK_FORMAT_BC5_SNORM_BLOCK";
  1583. case VK_FORMAT_BC5_UNORM_BLOCK:
  1584. return "VK_FORMAT_BC5_UNORM_BLOCK";
  1585. case VK_FORMAT_BC6H_SFLOAT_BLOCK:
  1586. return "VK_FORMAT_BC6H_SFLOAT_BLOCK";
  1587. case VK_FORMAT_BC6H_UFLOAT_BLOCK:
  1588. return "VK_FORMAT_BC6H_UFLOAT_BLOCK";
  1589. case VK_FORMAT_BC7_SRGB_BLOCK:
  1590. return "VK_FORMAT_BC7_SRGB_BLOCK";
  1591. case VK_FORMAT_BC7_UNORM_BLOCK:
  1592. return "VK_FORMAT_BC7_UNORM_BLOCK";
  1593. case VK_FORMAT_D16_UNORM:
  1594. return "VK_FORMAT_D16_UNORM";
  1595. case VK_FORMAT_D16_UNORM_S8_UINT:
  1596. return "VK_FORMAT_D16_UNORM_S8_UINT";
  1597. case VK_FORMAT_D24_UNORM_S8_UINT:
  1598. return "VK_FORMAT_D24_UNORM_S8_UINT";
  1599. case VK_FORMAT_D32_SFLOAT:
  1600. return "VK_FORMAT_D32_SFLOAT";
  1601. case VK_FORMAT_D32_SFLOAT_S8_UINT:
  1602. return "VK_FORMAT_D32_SFLOAT_S8_UINT";
  1603. case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:
  1604. return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32";
  1605. case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
  1606. return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK";
  1607. case VK_FORMAT_EAC_R11G11_UNORM_BLOCK:
  1608. return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK";
  1609. case VK_FORMAT_EAC_R11_SNORM_BLOCK:
  1610. return "VK_FORMAT_EAC_R11_SNORM_BLOCK";
  1611. case VK_FORMAT_EAC_R11_UNORM_BLOCK:
  1612. return "VK_FORMAT_EAC_R11_UNORM_BLOCK";
  1613. case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:
  1614. return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK";
  1615. case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:
  1616. return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK";
  1617. case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
  1618. return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK";
  1619. case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
  1620. return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK";
  1621. case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:
  1622. return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK";
  1623. case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:
  1624. return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK";
  1625. case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:
  1626. return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16";
  1627. case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:
  1628. return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16";
  1629. case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:
  1630. return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16";
  1631. case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:
  1632. return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16";
  1633. case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:
  1634. return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16";
  1635. case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:
  1636. return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16";
  1637. case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:
  1638. return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16";
  1639. case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:
  1640. return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16";
  1641. case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:
  1642. return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16";
  1643. case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:
  1644. return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16";
  1645. case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:
  1646. return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16";
  1647. case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:
  1648. return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16";
  1649. case VK_FORMAT_G16B16G16R16_422_UNORM:
  1650. return "VK_FORMAT_G16B16G16R16_422_UNORM";
  1651. case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:
  1652. return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM";
  1653. case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:
  1654. return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM";
  1655. case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:
  1656. return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM";
  1657. case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:
  1658. return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM";
  1659. case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:
  1660. return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM";
  1661. case VK_FORMAT_G8B8G8R8_422_UNORM:
  1662. return "VK_FORMAT_G8B8G8R8_422_UNORM";
  1663. case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
  1664. return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM";
  1665. case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:
  1666. return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM";
  1667. case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
  1668. return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM";
  1669. case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:
  1670. return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM";
  1671. case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:
  1672. return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM";
  1673. case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:
  1674. return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG";
  1675. case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:
  1676. return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG";
  1677. case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:
  1678. return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG";
  1679. case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:
  1680. return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG";
  1681. case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:
  1682. return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG";
  1683. case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:
  1684. return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG";
  1685. case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:
  1686. return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG";
  1687. case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:
  1688. return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG";
  1689. case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:
  1690. return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16";
  1691. case VK_FORMAT_R10X6G10X6_UNORM_2PACK16:
  1692. return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16";
  1693. case VK_FORMAT_R10X6_UNORM_PACK16:
  1694. return "VK_FORMAT_R10X6_UNORM_PACK16";
  1695. case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:
  1696. return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16";
  1697. case VK_FORMAT_R12X4G12X4_UNORM_2PACK16:
  1698. return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16";
  1699. case VK_FORMAT_R12X4_UNORM_PACK16:
  1700. return "VK_FORMAT_R12X4_UNORM_PACK16";
  1701. case VK_FORMAT_R16G16B16A16_SFLOAT:
  1702. return "VK_FORMAT_R16G16B16A16_SFLOAT";
  1703. case VK_FORMAT_R16G16B16A16_SINT:
  1704. return "VK_FORMAT_R16G16B16A16_SINT";
  1705. case VK_FORMAT_R16G16B16A16_SNORM:
  1706. return "VK_FORMAT_R16G16B16A16_SNORM";
  1707. case VK_FORMAT_R16G16B16A16_SSCALED:
  1708. return "VK_FORMAT_R16G16B16A16_SSCALED";
  1709. case VK_FORMAT_R16G16B16A16_UINT:
  1710. return "VK_FORMAT_R16G16B16A16_UINT";
  1711. case VK_FORMAT_R16G16B16A16_UNORM:
  1712. return "VK_FORMAT_R16G16B16A16_UNORM";
  1713. case VK_FORMAT_R16G16B16A16_USCALED:
  1714. return "VK_FORMAT_R16G16B16A16_USCALED";
  1715. case VK_FORMAT_R16G16B16_SFLOAT:
  1716. return "VK_FORMAT_R16G16B16_SFLOAT";
  1717. case VK_FORMAT_R16G16B16_SINT:
  1718. return "VK_FORMAT_R16G16B16_SINT";
  1719. case VK_FORMAT_R16G16B16_SNORM:
  1720. return "VK_FORMAT_R16G16B16_SNORM";
  1721. case VK_FORMAT_R16G16B16_SSCALED:
  1722. return "VK_FORMAT_R16G16B16_SSCALED";
  1723. case VK_FORMAT_R16G16B16_UINT:
  1724. return "VK_FORMAT_R16G16B16_UINT";
  1725. case VK_FORMAT_R16G16B16_UNORM:
  1726. return "VK_FORMAT_R16G16B16_UNORM";
  1727. case VK_FORMAT_R16G16B16_USCALED:
  1728. return "VK_FORMAT_R16G16B16_USCALED";
  1729. case VK_FORMAT_R16G16_SFLOAT:
  1730. return "VK_FORMAT_R16G16_SFLOAT";
  1731. case VK_FORMAT_R16G16_SINT:
  1732. return "VK_FORMAT_R16G16_SINT";
  1733. case VK_FORMAT_R16G16_SNORM:
  1734. return "VK_FORMAT_R16G16_SNORM";
  1735. case VK_FORMAT_R16G16_SSCALED:
  1736. return "VK_FORMAT_R16G16_SSCALED";
  1737. case VK_FORMAT_R16G16_UINT:
  1738. return "VK_FORMAT_R16G16_UINT";
  1739. case VK_FORMAT_R16G16_UNORM:
  1740. return "VK_FORMAT_R16G16_UNORM";
  1741. case VK_FORMAT_R16G16_USCALED:
  1742. return "VK_FORMAT_R16G16_USCALED";
  1743. case VK_FORMAT_R16_SFLOAT:
  1744. return "VK_FORMAT_R16_SFLOAT";
  1745. case VK_FORMAT_R16_SINT:
  1746. return "VK_FORMAT_R16_SINT";
  1747. case VK_FORMAT_R16_SNORM:
  1748. return "VK_FORMAT_R16_SNORM";
  1749. case VK_FORMAT_R16_SSCALED:
  1750. return "VK_FORMAT_R16_SSCALED";
  1751. case VK_FORMAT_R16_UINT:
  1752. return "VK_FORMAT_R16_UINT";
  1753. case VK_FORMAT_R16_UNORM:
  1754. return "VK_FORMAT_R16_UNORM";
  1755. case VK_FORMAT_R16_USCALED:
  1756. return "VK_FORMAT_R16_USCALED";
  1757. case VK_FORMAT_R32G32B32A32_SFLOAT:
  1758. return "VK_FORMAT_R32G32B32A32_SFLOAT";
  1759. case VK_FORMAT_R32G32B32A32_SINT:
  1760. return "VK_FORMAT_R32G32B32A32_SINT";
  1761. case VK_FORMAT_R32G32B32A32_UINT:
  1762. return "VK_FORMAT_R32G32B32A32_UINT";
  1763. case VK_FORMAT_R32G32B32_SFLOAT:
  1764. return "VK_FORMAT_R32G32B32_SFLOAT";
  1765. case VK_FORMAT_R32G32B32_SINT:
  1766. return "VK_FORMAT_R32G32B32_SINT";
  1767. case VK_FORMAT_R32G32B32_UINT:
  1768. return "VK_FORMAT_R32G32B32_UINT";
  1769. case VK_FORMAT_R32G32_SFLOAT:
  1770. return "VK_FORMAT_R32G32_SFLOAT";
  1771. case VK_FORMAT_R32G32_SINT:
  1772. return "VK_FORMAT_R32G32_SINT";
  1773. case VK_FORMAT_R32G32_UINT:
  1774. return "VK_FORMAT_R32G32_UINT";
  1775. case VK_FORMAT_R32_SFLOAT:
  1776. return "VK_FORMAT_R32_SFLOAT";
  1777. case VK_FORMAT_R32_SINT:
  1778. return "VK_FORMAT_R32_SINT";
  1779. case VK_FORMAT_R32_UINT:
  1780. return "VK_FORMAT_R32_UINT";
  1781. case VK_FORMAT_R4G4B4A4_UNORM_PACK16:
  1782. return "VK_FORMAT_R4G4B4A4_UNORM_PACK16";
  1783. case VK_FORMAT_R4G4_UNORM_PACK8:
  1784. return "VK_FORMAT_R4G4_UNORM_PACK8";
  1785. case VK_FORMAT_R5G5B5A1_UNORM_PACK16:
  1786. return "VK_FORMAT_R5G5B5A1_UNORM_PACK16";
  1787. case VK_FORMAT_R5G6B5_UNORM_PACK16:
  1788. return "VK_FORMAT_R5G6B5_UNORM_PACK16";
  1789. case VK_FORMAT_R64G64B64A64_SFLOAT:
  1790. return "VK_FORMAT_R64G64B64A64_SFLOAT";
  1791. case VK_FORMAT_R64G64B64A64_SINT:
  1792. return "VK_FORMAT_R64G64B64A64_SINT";
  1793. case VK_FORMAT_R64G64B64A64_UINT:
  1794. return "VK_FORMAT_R64G64B64A64_UINT";
  1795. case VK_FORMAT_R64G64B64_SFLOAT:
  1796. return "VK_FORMAT_R64G64B64_SFLOAT";
  1797. case VK_FORMAT_R64G64B64_SINT:
  1798. return "VK_FORMAT_R64G64B64_SINT";
  1799. case VK_FORMAT_R64G64B64_UINT:
  1800. return "VK_FORMAT_R64G64B64_UINT";
  1801. case VK_FORMAT_R64G64_SFLOAT:
  1802. return "VK_FORMAT_R64G64_SFLOAT";
  1803. case VK_FORMAT_R64G64_SINT:
  1804. return "VK_FORMAT_R64G64_SINT";
  1805. case VK_FORMAT_R64G64_UINT:
  1806. return "VK_FORMAT_R64G64_UINT";
  1807. case VK_FORMAT_R64_SFLOAT:
  1808. return "VK_FORMAT_R64_SFLOAT";
  1809. case VK_FORMAT_R64_SINT:
  1810. return "VK_FORMAT_R64_SINT";
  1811. case VK_FORMAT_R64_UINT:
  1812. return "VK_FORMAT_R64_UINT";
  1813. case VK_FORMAT_R8G8B8A8_SINT:
  1814. return "VK_FORMAT_R8G8B8A8_SINT";
  1815. case VK_FORMAT_R8G8B8A8_SNORM:
  1816. return "VK_FORMAT_R8G8B8A8_SNORM";
  1817. case VK_FORMAT_R8G8B8A8_SRGB:
  1818. return "VK_FORMAT_R8G8B8A8_SRGB";
  1819. case VK_FORMAT_R8G8B8A8_SSCALED:
  1820. return "VK_FORMAT_R8G8B8A8_SSCALED";
  1821. case VK_FORMAT_R8G8B8A8_UINT:
  1822. return "VK_FORMAT_R8G8B8A8_UINT";
  1823. case VK_FORMAT_R8G8B8A8_UNORM:
  1824. return "VK_FORMAT_R8G8B8A8_UNORM";
  1825. case VK_FORMAT_R8G8B8A8_USCALED:
  1826. return "VK_FORMAT_R8G8B8A8_USCALED";
  1827. case VK_FORMAT_R8G8B8_SINT:
  1828. return "VK_FORMAT_R8G8B8_SINT";
  1829. case VK_FORMAT_R8G8B8_SNORM:
  1830. return "VK_FORMAT_R8G8B8_SNORM";
  1831. case VK_FORMAT_R8G8B8_SRGB:
  1832. return "VK_FORMAT_R8G8B8_SRGB";
  1833. case VK_FORMAT_R8G8B8_SSCALED:
  1834. return "VK_FORMAT_R8G8B8_SSCALED";
  1835. case VK_FORMAT_R8G8B8_UINT:
  1836. return "VK_FORMAT_R8G8B8_UINT";
  1837. case VK_FORMAT_R8G8B8_UNORM:
  1838. return "VK_FORMAT_R8G8B8_UNORM";
  1839. case VK_FORMAT_R8G8B8_USCALED:
  1840. return "VK_FORMAT_R8G8B8_USCALED";
  1841. case VK_FORMAT_R8G8_SINT:
  1842. return "VK_FORMAT_R8G8_SINT";
  1843. case VK_FORMAT_R8G8_SNORM:
  1844. return "VK_FORMAT_R8G8_SNORM";
  1845. case VK_FORMAT_R8G8_SRGB:
  1846. return "VK_FORMAT_R8G8_SRGB";
  1847. case VK_FORMAT_R8G8_SSCALED:
  1848. return "VK_FORMAT_R8G8_SSCALED";
  1849. case VK_FORMAT_R8G8_UINT:
  1850. return "VK_FORMAT_R8G8_UINT";
  1851. case VK_FORMAT_R8G8_UNORM:
  1852. return "VK_FORMAT_R8G8_UNORM";
  1853. case VK_FORMAT_R8G8_USCALED:
  1854. return "VK_FORMAT_R8G8_USCALED";
  1855. case VK_FORMAT_R8_SINT:
  1856. return "VK_FORMAT_R8_SINT";
  1857. case VK_FORMAT_R8_SNORM:
  1858. return "VK_FORMAT_R8_SNORM";
  1859. case VK_FORMAT_R8_SRGB:
  1860. return "VK_FORMAT_R8_SRGB";
  1861. case VK_FORMAT_R8_SSCALED:
  1862. return "VK_FORMAT_R8_SSCALED";
  1863. case VK_FORMAT_R8_UINT:
  1864. return "VK_FORMAT_R8_UINT";
  1865. case VK_FORMAT_R8_UNORM:
  1866. return "VK_FORMAT_R8_UNORM";
  1867. case VK_FORMAT_R8_USCALED:
  1868. return "VK_FORMAT_R8_USCALED";
  1869. case VK_FORMAT_S8_UINT:
  1870. return "VK_FORMAT_S8_UINT";
  1871. case VK_FORMAT_UNDEFINED:
  1872. return "VK_FORMAT_UNDEFINED";
  1873. case VK_FORMAT_X8_D24_UNORM_PACK32:
  1874. return "VK_FORMAT_X8_D24_UNORM_PACK32";
  1875. default:
  1876. return "Unhandled VkFormat";
  1877. }
  1878. }
  1879. static inline const char* string_VkFormatFeatureFlagBits(VkFormatFeatureFlagBits input_value)
  1880. {
  1881. switch ((VkFormatFeatureFlagBits)input_value)
  1882. {
  1883. case VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR:
  1884. return "VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR";
  1885. case VK_FORMAT_FEATURE_BLIT_DST_BIT:
  1886. return "VK_FORMAT_FEATURE_BLIT_DST_BIT";
  1887. case VK_FORMAT_FEATURE_BLIT_SRC_BIT:
  1888. return "VK_FORMAT_FEATURE_BLIT_SRC_BIT";
  1889. case VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT:
  1890. return "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT";
  1891. case VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT:
  1892. return "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT";
  1893. case VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT:
  1894. return "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT";
  1895. case VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT:
  1896. return "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT";
  1897. case VK_FORMAT_FEATURE_DISJOINT_BIT:
  1898. return "VK_FORMAT_FEATURE_DISJOINT_BIT";
  1899. case VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT:
  1900. return "VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT";
  1901. case VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  1902. return "VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  1903. case VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT:
  1904. return "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT";
  1905. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT:
  1906. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT";
  1907. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG:
  1908. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG";
  1909. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT:
  1910. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT";
  1911. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT:
  1912. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT";
  1913. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT:
  1914. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT";
  1915. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT:
  1916. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT";
  1917. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT:
  1918. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT";
  1919. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT:
  1920. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT";
  1921. case VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT:
  1922. return "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT";
  1923. case VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT:
  1924. return "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT";
  1925. case VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT:
  1926. return "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT";
  1927. case VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT:
  1928. return "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT";
  1929. case VK_FORMAT_FEATURE_TRANSFER_DST_BIT:
  1930. return "VK_FORMAT_FEATURE_TRANSFER_DST_BIT";
  1931. case VK_FORMAT_FEATURE_TRANSFER_SRC_BIT:
  1932. return "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT";
  1933. case VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT:
  1934. return "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT";
  1935. case VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT:
  1936. return "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT";
  1937. default:
  1938. return "Unhandled VkFormatFeatureFlagBits";
  1939. }
  1940. }
  1941. static inline std::string string_VkFormatFeatureFlags(VkFormatFeatureFlags input_value)
  1942. {
  1943. std::string ret;
  1944. int index = 0;
  1945. while(input_value) {
  1946. if (input_value & 1) {
  1947. if( !ret.empty()) ret.append("|");
  1948. ret.append(string_VkFormatFeatureFlagBits(static_cast<VkFormatFeatureFlagBits>(1 << index)));
  1949. }
  1950. ++index;
  1951. input_value >>= 1;
  1952. }
  1953. if( ret.empty()) ret.append(string_VkFormatFeatureFlagBits(static_cast<VkFormatFeatureFlagBits>(0)));
  1954. return ret;
  1955. }
  1956. static inline const char* string_VkImageCreateFlagBits(VkImageCreateFlagBits input_value)
  1957. {
  1958. switch ((VkImageCreateFlagBits)input_value)
  1959. {
  1960. case VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT:
  1961. return "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT";
  1962. case VK_IMAGE_CREATE_ALIAS_BIT:
  1963. return "VK_IMAGE_CREATE_ALIAS_BIT";
  1964. case VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT:
  1965. return "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT";
  1966. case VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV:
  1967. return "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV";
  1968. case VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT:
  1969. return "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT";
  1970. case VK_IMAGE_CREATE_DISJOINT_BIT:
  1971. return "VK_IMAGE_CREATE_DISJOINT_BIT";
  1972. case VK_IMAGE_CREATE_EXTENDED_USAGE_BIT:
  1973. return "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT";
  1974. case VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT:
  1975. return "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT";
  1976. case VK_IMAGE_CREATE_PROTECTED_BIT:
  1977. return "VK_IMAGE_CREATE_PROTECTED_BIT";
  1978. case VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT:
  1979. return "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT";
  1980. case VK_IMAGE_CREATE_SPARSE_ALIASED_BIT:
  1981. return "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT";
  1982. case VK_IMAGE_CREATE_SPARSE_BINDING_BIT:
  1983. return "VK_IMAGE_CREATE_SPARSE_BINDING_BIT";
  1984. case VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT:
  1985. return "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT";
  1986. case VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT:
  1987. return "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT";
  1988. case VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT:
  1989. return "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT";
  1990. default:
  1991. return "Unhandled VkImageCreateFlagBits";
  1992. }
  1993. }
  1994. static inline std::string string_VkImageCreateFlags(VkImageCreateFlags input_value)
  1995. {
  1996. std::string ret;
  1997. int index = 0;
  1998. while(input_value) {
  1999. if (input_value & 1) {
  2000. if( !ret.empty()) ret.append("|");
  2001. ret.append(string_VkImageCreateFlagBits(static_cast<VkImageCreateFlagBits>(1 << index)));
  2002. }
  2003. ++index;
  2004. input_value >>= 1;
  2005. }
  2006. if( ret.empty()) ret.append(string_VkImageCreateFlagBits(static_cast<VkImageCreateFlagBits>(0)));
  2007. return ret;
  2008. }
  2009. static inline const char* string_VkSampleCountFlagBits(VkSampleCountFlagBits input_value)
  2010. {
  2011. switch ((VkSampleCountFlagBits)input_value)
  2012. {
  2013. case VK_SAMPLE_COUNT_16_BIT:
  2014. return "VK_SAMPLE_COUNT_16_BIT";
  2015. case VK_SAMPLE_COUNT_1_BIT:
  2016. return "VK_SAMPLE_COUNT_1_BIT";
  2017. case VK_SAMPLE_COUNT_2_BIT:
  2018. return "VK_SAMPLE_COUNT_2_BIT";
  2019. case VK_SAMPLE_COUNT_32_BIT:
  2020. return "VK_SAMPLE_COUNT_32_BIT";
  2021. case VK_SAMPLE_COUNT_4_BIT:
  2022. return "VK_SAMPLE_COUNT_4_BIT";
  2023. case VK_SAMPLE_COUNT_64_BIT:
  2024. return "VK_SAMPLE_COUNT_64_BIT";
  2025. case VK_SAMPLE_COUNT_8_BIT:
  2026. return "VK_SAMPLE_COUNT_8_BIT";
  2027. default:
  2028. return "Unhandled VkSampleCountFlagBits";
  2029. }
  2030. }
  2031. static inline std::string string_VkSampleCountFlags(VkSampleCountFlags input_value)
  2032. {
  2033. std::string ret;
  2034. int index = 0;
  2035. while(input_value) {
  2036. if (input_value & 1) {
  2037. if( !ret.empty()) ret.append("|");
  2038. ret.append(string_VkSampleCountFlagBits(static_cast<VkSampleCountFlagBits>(1 << index)));
  2039. }
  2040. ++index;
  2041. input_value >>= 1;
  2042. }
  2043. if( ret.empty()) ret.append(string_VkSampleCountFlagBits(static_cast<VkSampleCountFlagBits>(0)));
  2044. return ret;
  2045. }
  2046. static inline const char* string_VkImageTiling(VkImageTiling input_value)
  2047. {
  2048. switch ((VkImageTiling)input_value)
  2049. {
  2050. case VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT:
  2051. return "VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT";
  2052. case VK_IMAGE_TILING_LINEAR:
  2053. return "VK_IMAGE_TILING_LINEAR";
  2054. case VK_IMAGE_TILING_OPTIMAL:
  2055. return "VK_IMAGE_TILING_OPTIMAL";
  2056. default:
  2057. return "Unhandled VkImageTiling";
  2058. }
  2059. }
  2060. static inline const char* string_VkImageType(VkImageType input_value)
  2061. {
  2062. switch ((VkImageType)input_value)
  2063. {
  2064. case VK_IMAGE_TYPE_1D:
  2065. return "VK_IMAGE_TYPE_1D";
  2066. case VK_IMAGE_TYPE_2D:
  2067. return "VK_IMAGE_TYPE_2D";
  2068. case VK_IMAGE_TYPE_3D:
  2069. return "VK_IMAGE_TYPE_3D";
  2070. default:
  2071. return "Unhandled VkImageType";
  2072. }
  2073. }
  2074. static inline const char* string_VkImageUsageFlagBits(VkImageUsageFlagBits input_value)
  2075. {
  2076. switch ((VkImageUsageFlagBits)input_value)
  2077. {
  2078. case VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT:
  2079. return "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT";
  2080. case VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT:
  2081. return "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT";
  2082. case VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT:
  2083. return "VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT";
  2084. case VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT:
  2085. return "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT";
  2086. case VK_IMAGE_USAGE_SAMPLED_BIT:
  2087. return "VK_IMAGE_USAGE_SAMPLED_BIT";
  2088. case VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV:
  2089. return "VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV";
  2090. case VK_IMAGE_USAGE_STORAGE_BIT:
  2091. return "VK_IMAGE_USAGE_STORAGE_BIT";
  2092. case VK_IMAGE_USAGE_TRANSFER_DST_BIT:
  2093. return "VK_IMAGE_USAGE_TRANSFER_DST_BIT";
  2094. case VK_IMAGE_USAGE_TRANSFER_SRC_BIT:
  2095. return "VK_IMAGE_USAGE_TRANSFER_SRC_BIT";
  2096. case VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT:
  2097. return "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT";
  2098. default:
  2099. return "Unhandled VkImageUsageFlagBits";
  2100. }
  2101. }
  2102. static inline std::string string_VkImageUsageFlags(VkImageUsageFlags input_value)
  2103. {
  2104. std::string ret;
  2105. int index = 0;
  2106. while(input_value) {
  2107. if (input_value & 1) {
  2108. if( !ret.empty()) ret.append("|");
  2109. ret.append(string_VkImageUsageFlagBits(static_cast<VkImageUsageFlagBits>(1 << index)));
  2110. }
  2111. ++index;
  2112. input_value >>= 1;
  2113. }
  2114. if( ret.empty()) ret.append(string_VkImageUsageFlagBits(static_cast<VkImageUsageFlagBits>(0)));
  2115. return ret;
  2116. }
  2117. static inline const char* string_VkMemoryHeapFlagBits(VkMemoryHeapFlagBits input_value)
  2118. {
  2119. switch ((VkMemoryHeapFlagBits)input_value)
  2120. {
  2121. case VK_MEMORY_HEAP_DEVICE_LOCAL_BIT:
  2122. return "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT";
  2123. case VK_MEMORY_HEAP_MULTI_INSTANCE_BIT:
  2124. return "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT";
  2125. default:
  2126. return "Unhandled VkMemoryHeapFlagBits";
  2127. }
  2128. }
  2129. static inline std::string string_VkMemoryHeapFlags(VkMemoryHeapFlags input_value)
  2130. {
  2131. std::string ret;
  2132. int index = 0;
  2133. while(input_value) {
  2134. if (input_value & 1) {
  2135. if( !ret.empty()) ret.append("|");
  2136. ret.append(string_VkMemoryHeapFlagBits(static_cast<VkMemoryHeapFlagBits>(1 << index)));
  2137. }
  2138. ++index;
  2139. input_value >>= 1;
  2140. }
  2141. if( ret.empty()) ret.append(string_VkMemoryHeapFlagBits(static_cast<VkMemoryHeapFlagBits>(0)));
  2142. return ret;
  2143. }
  2144. static inline const char* string_VkMemoryPropertyFlagBits(VkMemoryPropertyFlagBits input_value)
  2145. {
  2146. switch ((VkMemoryPropertyFlagBits)input_value)
  2147. {
  2148. case VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD:
  2149. return "VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD";
  2150. case VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT:
  2151. return "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT";
  2152. case VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD:
  2153. return "VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD";
  2154. case VK_MEMORY_PROPERTY_HOST_CACHED_BIT:
  2155. return "VK_MEMORY_PROPERTY_HOST_CACHED_BIT";
  2156. case VK_MEMORY_PROPERTY_HOST_COHERENT_BIT:
  2157. return "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT";
  2158. case VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT:
  2159. return "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT";
  2160. case VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT:
  2161. return "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT";
  2162. case VK_MEMORY_PROPERTY_PROTECTED_BIT:
  2163. return "VK_MEMORY_PROPERTY_PROTECTED_BIT";
  2164. default:
  2165. return "Unhandled VkMemoryPropertyFlagBits";
  2166. }
  2167. }
  2168. static inline std::string string_VkMemoryPropertyFlags(VkMemoryPropertyFlags input_value)
  2169. {
  2170. std::string ret;
  2171. int index = 0;
  2172. while(input_value) {
  2173. if (input_value & 1) {
  2174. if( !ret.empty()) ret.append("|");
  2175. ret.append(string_VkMemoryPropertyFlagBits(static_cast<VkMemoryPropertyFlagBits>(1 << index)));
  2176. }
  2177. ++index;
  2178. input_value >>= 1;
  2179. }
  2180. if( ret.empty()) ret.append(string_VkMemoryPropertyFlagBits(static_cast<VkMemoryPropertyFlagBits>(0)));
  2181. return ret;
  2182. }
  2183. static inline const char* string_VkPhysicalDeviceType(VkPhysicalDeviceType input_value)
  2184. {
  2185. switch ((VkPhysicalDeviceType)input_value)
  2186. {
  2187. case VK_PHYSICAL_DEVICE_TYPE_CPU:
  2188. return "VK_PHYSICAL_DEVICE_TYPE_CPU";
  2189. case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU:
  2190. return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU";
  2191. case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU:
  2192. return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU";
  2193. case VK_PHYSICAL_DEVICE_TYPE_OTHER:
  2194. return "VK_PHYSICAL_DEVICE_TYPE_OTHER";
  2195. case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU:
  2196. return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU";
  2197. default:
  2198. return "Unhandled VkPhysicalDeviceType";
  2199. }
  2200. }
  2201. static inline const char* string_VkQueueFlagBits(VkQueueFlagBits input_value)
  2202. {
  2203. switch ((VkQueueFlagBits)input_value)
  2204. {
  2205. case VK_QUEUE_COMPUTE_BIT:
  2206. return "VK_QUEUE_COMPUTE_BIT";
  2207. case VK_QUEUE_GRAPHICS_BIT:
  2208. return "VK_QUEUE_GRAPHICS_BIT";
  2209. case VK_QUEUE_PROTECTED_BIT:
  2210. return "VK_QUEUE_PROTECTED_BIT";
  2211. case VK_QUEUE_SPARSE_BINDING_BIT:
  2212. return "VK_QUEUE_SPARSE_BINDING_BIT";
  2213. case VK_QUEUE_TRANSFER_BIT:
  2214. return "VK_QUEUE_TRANSFER_BIT";
  2215. default:
  2216. return "Unhandled VkQueueFlagBits";
  2217. }
  2218. }
  2219. static inline std::string string_VkQueueFlags(VkQueueFlags input_value)
  2220. {
  2221. std::string ret;
  2222. int index = 0;
  2223. while(input_value) {
  2224. if (input_value & 1) {
  2225. if( !ret.empty()) ret.append("|");
  2226. ret.append(string_VkQueueFlagBits(static_cast<VkQueueFlagBits>(1 << index)));
  2227. }
  2228. ++index;
  2229. input_value >>= 1;
  2230. }
  2231. if( ret.empty()) ret.append(string_VkQueueFlagBits(static_cast<VkQueueFlagBits>(0)));
  2232. return ret;
  2233. }
  2234. static inline const char* string_VkDeviceQueueCreateFlagBits(VkDeviceQueueCreateFlagBits input_value)
  2235. {
  2236. switch ((VkDeviceQueueCreateFlagBits)input_value)
  2237. {
  2238. case VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT:
  2239. return "VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT";
  2240. default:
  2241. return "Unhandled VkDeviceQueueCreateFlagBits";
  2242. }
  2243. }
  2244. static inline std::string string_VkDeviceQueueCreateFlags(VkDeviceQueueCreateFlags input_value)
  2245. {
  2246. std::string ret;
  2247. int index = 0;
  2248. while(input_value) {
  2249. if (input_value & 1) {
  2250. if( !ret.empty()) ret.append("|");
  2251. ret.append(string_VkDeviceQueueCreateFlagBits(static_cast<VkDeviceQueueCreateFlagBits>(1 << index)));
  2252. }
  2253. ++index;
  2254. input_value >>= 1;
  2255. }
  2256. if( ret.empty()) ret.append(string_VkDeviceQueueCreateFlagBits(static_cast<VkDeviceQueueCreateFlagBits>(0)));
  2257. return ret;
  2258. }
  2259. static inline const char* string_VkPipelineStageFlagBits(VkPipelineStageFlagBits input_value)
  2260. {
  2261. switch ((VkPipelineStageFlagBits)input_value)
  2262. {
  2263. case VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR:
  2264. return "VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR";
  2265. case VK_PIPELINE_STAGE_ALL_COMMANDS_BIT:
  2266. return "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT";
  2267. case VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT:
  2268. return "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT";
  2269. case VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT:
  2270. return "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT";
  2271. case VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT:
  2272. return "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT";
  2273. case VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV:
  2274. return "VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV";
  2275. case VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT:
  2276. return "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT";
  2277. case VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT:
  2278. return "VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT";
  2279. case VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT:
  2280. return "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT";
  2281. case VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT:
  2282. return "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT";
  2283. case VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT:
  2284. return "VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT";
  2285. case VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT:
  2286. return "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT";
  2287. case VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT:
  2288. return "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT";
  2289. case VK_PIPELINE_STAGE_HOST_BIT:
  2290. return "VK_PIPELINE_STAGE_HOST_BIT";
  2291. case VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT:
  2292. return "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT";
  2293. case VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV:
  2294. return "VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV";
  2295. case VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR:
  2296. return "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR";
  2297. case VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV:
  2298. return "VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV";
  2299. case VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV:
  2300. return "VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV";
  2301. case VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT:
  2302. return "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT";
  2303. case VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT:
  2304. return "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT";
  2305. case VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT:
  2306. return "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT";
  2307. case VK_PIPELINE_STAGE_TRANSFER_BIT:
  2308. return "VK_PIPELINE_STAGE_TRANSFER_BIT";
  2309. case VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT:
  2310. return "VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT";
  2311. case VK_PIPELINE_STAGE_VERTEX_INPUT_BIT:
  2312. return "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT";
  2313. case VK_PIPELINE_STAGE_VERTEX_SHADER_BIT:
  2314. return "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT";
  2315. default:
  2316. return "Unhandled VkPipelineStageFlagBits";
  2317. }
  2318. }
  2319. static inline std::string string_VkPipelineStageFlags(VkPipelineStageFlags input_value)
  2320. {
  2321. std::string ret;
  2322. int index = 0;
  2323. while(input_value) {
  2324. if (input_value & 1) {
  2325. if( !ret.empty()) ret.append("|");
  2326. ret.append(string_VkPipelineStageFlagBits(static_cast<VkPipelineStageFlagBits>(1 << index)));
  2327. }
  2328. ++index;
  2329. input_value >>= 1;
  2330. }
  2331. if( ret.empty()) ret.append(string_VkPipelineStageFlagBits(static_cast<VkPipelineStageFlagBits>(0)));
  2332. return ret;
  2333. }
  2334. static inline const char* string_VkSparseMemoryBindFlagBits(VkSparseMemoryBindFlagBits input_value)
  2335. {
  2336. switch ((VkSparseMemoryBindFlagBits)input_value)
  2337. {
  2338. case VK_SPARSE_MEMORY_BIND_METADATA_BIT:
  2339. return "VK_SPARSE_MEMORY_BIND_METADATA_BIT";
  2340. default:
  2341. return "Unhandled VkSparseMemoryBindFlagBits";
  2342. }
  2343. }
  2344. static inline std::string string_VkSparseMemoryBindFlags(VkSparseMemoryBindFlags input_value)
  2345. {
  2346. std::string ret;
  2347. int index = 0;
  2348. while(input_value) {
  2349. if (input_value & 1) {
  2350. if( !ret.empty()) ret.append("|");
  2351. ret.append(string_VkSparseMemoryBindFlagBits(static_cast<VkSparseMemoryBindFlagBits>(1 << index)));
  2352. }
  2353. ++index;
  2354. input_value >>= 1;
  2355. }
  2356. if( ret.empty()) ret.append(string_VkSparseMemoryBindFlagBits(static_cast<VkSparseMemoryBindFlagBits>(0)));
  2357. return ret;
  2358. }
  2359. static inline const char* string_VkSparseImageFormatFlagBits(VkSparseImageFormatFlagBits input_value)
  2360. {
  2361. switch ((VkSparseImageFormatFlagBits)input_value)
  2362. {
  2363. case VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT:
  2364. return "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT";
  2365. case VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT:
  2366. return "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT";
  2367. case VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT:
  2368. return "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT";
  2369. default:
  2370. return "Unhandled VkSparseImageFormatFlagBits";
  2371. }
  2372. }
  2373. static inline std::string string_VkSparseImageFormatFlags(VkSparseImageFormatFlags input_value)
  2374. {
  2375. std::string ret;
  2376. int index = 0;
  2377. while(input_value) {
  2378. if (input_value & 1) {
  2379. if( !ret.empty()) ret.append("|");
  2380. ret.append(string_VkSparseImageFormatFlagBits(static_cast<VkSparseImageFormatFlagBits>(1 << index)));
  2381. }
  2382. ++index;
  2383. input_value >>= 1;
  2384. }
  2385. if( ret.empty()) ret.append(string_VkSparseImageFormatFlagBits(static_cast<VkSparseImageFormatFlagBits>(0)));
  2386. return ret;
  2387. }
  2388. static inline const char* string_VkFenceCreateFlagBits(VkFenceCreateFlagBits input_value)
  2389. {
  2390. switch ((VkFenceCreateFlagBits)input_value)
  2391. {
  2392. case VK_FENCE_CREATE_SIGNALED_BIT:
  2393. return "VK_FENCE_CREATE_SIGNALED_BIT";
  2394. default:
  2395. return "Unhandled VkFenceCreateFlagBits";
  2396. }
  2397. }
  2398. static inline std::string string_VkFenceCreateFlags(VkFenceCreateFlags input_value)
  2399. {
  2400. std::string ret;
  2401. int index = 0;
  2402. while(input_value) {
  2403. if (input_value & 1) {
  2404. if( !ret.empty()) ret.append("|");
  2405. ret.append(string_VkFenceCreateFlagBits(static_cast<VkFenceCreateFlagBits>(1 << index)));
  2406. }
  2407. ++index;
  2408. input_value >>= 1;
  2409. }
  2410. if( ret.empty()) ret.append(string_VkFenceCreateFlagBits(static_cast<VkFenceCreateFlagBits>(0)));
  2411. return ret;
  2412. }
  2413. static inline const char* string_VkQueryPipelineStatisticFlagBits(VkQueryPipelineStatisticFlagBits input_value)
  2414. {
  2415. switch ((VkQueryPipelineStatisticFlagBits)input_value)
  2416. {
  2417. case VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT:
  2418. return "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT";
  2419. case VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT:
  2420. return "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT";
  2421. case VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT:
  2422. return "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT";
  2423. case VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT:
  2424. return "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT";
  2425. case VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT:
  2426. return "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT";
  2427. case VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT:
  2428. return "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT";
  2429. case VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT:
  2430. return "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT";
  2431. case VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT:
  2432. return "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT";
  2433. case VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT:
  2434. return "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT";
  2435. case VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT:
  2436. return "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT";
  2437. case VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT:
  2438. return "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT";
  2439. default:
  2440. return "Unhandled VkQueryPipelineStatisticFlagBits";
  2441. }
  2442. }
  2443. static inline std::string string_VkQueryPipelineStatisticFlags(VkQueryPipelineStatisticFlags input_value)
  2444. {
  2445. std::string ret;
  2446. int index = 0;
  2447. while(input_value) {
  2448. if (input_value & 1) {
  2449. if( !ret.empty()) ret.append("|");
  2450. ret.append(string_VkQueryPipelineStatisticFlagBits(static_cast<VkQueryPipelineStatisticFlagBits>(1 << index)));
  2451. }
  2452. ++index;
  2453. input_value >>= 1;
  2454. }
  2455. if( ret.empty()) ret.append(string_VkQueryPipelineStatisticFlagBits(static_cast<VkQueryPipelineStatisticFlagBits>(0)));
  2456. return ret;
  2457. }
  2458. static inline const char* string_VkQueryType(VkQueryType input_value)
  2459. {
  2460. switch ((VkQueryType)input_value)
  2461. {
  2462. case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR:
  2463. return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
  2464. case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV:
  2465. return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
  2466. case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR:
  2467. return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
  2468. case VK_QUERY_TYPE_OCCLUSION:
  2469. return "VK_QUERY_TYPE_OCCLUSION";
  2470. case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL:
  2471. return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
  2472. case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR:
  2473. return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
  2474. case VK_QUERY_TYPE_PIPELINE_STATISTICS:
  2475. return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
  2476. case VK_QUERY_TYPE_TIMESTAMP:
  2477. return "VK_QUERY_TYPE_TIMESTAMP";
  2478. case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
  2479. return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
  2480. default:
  2481. return "Unhandled VkQueryType";
  2482. }
  2483. }
  2484. static inline const char* string_VkQueryResultFlagBits(VkQueryResultFlagBits input_value)
  2485. {
  2486. switch ((VkQueryResultFlagBits)input_value)
  2487. {
  2488. case VK_QUERY_RESULT_64_BIT:
  2489. return "VK_QUERY_RESULT_64_BIT";
  2490. case VK_QUERY_RESULT_PARTIAL_BIT:
  2491. return "VK_QUERY_RESULT_PARTIAL_BIT";
  2492. case VK_QUERY_RESULT_WAIT_BIT:
  2493. return "VK_QUERY_RESULT_WAIT_BIT";
  2494. case VK_QUERY_RESULT_WITH_AVAILABILITY_BIT:
  2495. return "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT";
  2496. default:
  2497. return "Unhandled VkQueryResultFlagBits";
  2498. }
  2499. }
  2500. static inline std::string string_VkQueryResultFlags(VkQueryResultFlags input_value)
  2501. {
  2502. std::string ret;
  2503. int index = 0;
  2504. while(input_value) {
  2505. if (input_value & 1) {
  2506. if( !ret.empty()) ret.append("|");
  2507. ret.append(string_VkQueryResultFlagBits(static_cast<VkQueryResultFlagBits>(1 << index)));
  2508. }
  2509. ++index;
  2510. input_value >>= 1;
  2511. }
  2512. if( ret.empty()) ret.append(string_VkQueryResultFlagBits(static_cast<VkQueryResultFlagBits>(0)));
  2513. return ret;
  2514. }
  2515. static inline const char* string_VkBufferCreateFlagBits(VkBufferCreateFlagBits input_value)
  2516. {
  2517. switch ((VkBufferCreateFlagBits)input_value)
  2518. {
  2519. case VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
  2520. return "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT";
  2521. case VK_BUFFER_CREATE_PROTECTED_BIT:
  2522. return "VK_BUFFER_CREATE_PROTECTED_BIT";
  2523. case VK_BUFFER_CREATE_SPARSE_ALIASED_BIT:
  2524. return "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT";
  2525. case VK_BUFFER_CREATE_SPARSE_BINDING_BIT:
  2526. return "VK_BUFFER_CREATE_SPARSE_BINDING_BIT";
  2527. case VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT:
  2528. return "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT";
  2529. default:
  2530. return "Unhandled VkBufferCreateFlagBits";
  2531. }
  2532. }
  2533. static inline std::string string_VkBufferCreateFlags(VkBufferCreateFlags input_value)
  2534. {
  2535. std::string ret;
  2536. int index = 0;
  2537. while(input_value) {
  2538. if (input_value & 1) {
  2539. if( !ret.empty()) ret.append("|");
  2540. ret.append(string_VkBufferCreateFlagBits(static_cast<VkBufferCreateFlagBits>(1 << index)));
  2541. }
  2542. ++index;
  2543. input_value >>= 1;
  2544. }
  2545. if( ret.empty()) ret.append(string_VkBufferCreateFlagBits(static_cast<VkBufferCreateFlagBits>(0)));
  2546. return ret;
  2547. }
  2548. static inline const char* string_VkBufferUsageFlagBits(VkBufferUsageFlagBits input_value)
  2549. {
  2550. switch ((VkBufferUsageFlagBits)input_value)
  2551. {
  2552. case VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR:
  2553. return "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR";
  2554. case VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR:
  2555. return "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR";
  2556. case VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT:
  2557. return "VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT";
  2558. case VK_BUFFER_USAGE_INDEX_BUFFER_BIT:
  2559. return "VK_BUFFER_USAGE_INDEX_BUFFER_BIT";
  2560. case VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT:
  2561. return "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT";
  2562. case VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR:
  2563. return "VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR";
  2564. case VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT:
  2565. return "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT";
  2566. case VK_BUFFER_USAGE_STORAGE_BUFFER_BIT:
  2567. return "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT";
  2568. case VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT:
  2569. return "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT";
  2570. case VK_BUFFER_USAGE_TRANSFER_DST_BIT:
  2571. return "VK_BUFFER_USAGE_TRANSFER_DST_BIT";
  2572. case VK_BUFFER_USAGE_TRANSFER_SRC_BIT:
  2573. return "VK_BUFFER_USAGE_TRANSFER_SRC_BIT";
  2574. case VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT:
  2575. return "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT";
  2576. case VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT:
  2577. return "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT";
  2578. case VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT:
  2579. return "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT";
  2580. case VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT:
  2581. return "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT";
  2582. case VK_BUFFER_USAGE_VERTEX_BUFFER_BIT:
  2583. return "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT";
  2584. default:
  2585. return "Unhandled VkBufferUsageFlagBits";
  2586. }
  2587. }
  2588. static inline std::string string_VkBufferUsageFlags(VkBufferUsageFlags input_value)
  2589. {
  2590. std::string ret;
  2591. int index = 0;
  2592. while(input_value) {
  2593. if (input_value & 1) {
  2594. if( !ret.empty()) ret.append("|");
  2595. ret.append(string_VkBufferUsageFlagBits(static_cast<VkBufferUsageFlagBits>(1 << index)));
  2596. }
  2597. ++index;
  2598. input_value >>= 1;
  2599. }
  2600. if( ret.empty()) ret.append(string_VkBufferUsageFlagBits(static_cast<VkBufferUsageFlagBits>(0)));
  2601. return ret;
  2602. }
  2603. static inline const char* string_VkSharingMode(VkSharingMode input_value)
  2604. {
  2605. switch ((VkSharingMode)input_value)
  2606. {
  2607. case VK_SHARING_MODE_CONCURRENT:
  2608. return "VK_SHARING_MODE_CONCURRENT";
  2609. case VK_SHARING_MODE_EXCLUSIVE:
  2610. return "VK_SHARING_MODE_EXCLUSIVE";
  2611. default:
  2612. return "Unhandled VkSharingMode";
  2613. }
  2614. }
  2615. static inline const char* string_VkComponentSwizzle(VkComponentSwizzle input_value)
  2616. {
  2617. switch ((VkComponentSwizzle)input_value)
  2618. {
  2619. case VK_COMPONENT_SWIZZLE_A:
  2620. return "VK_COMPONENT_SWIZZLE_A";
  2621. case VK_COMPONENT_SWIZZLE_B:
  2622. return "VK_COMPONENT_SWIZZLE_B";
  2623. case VK_COMPONENT_SWIZZLE_G:
  2624. return "VK_COMPONENT_SWIZZLE_G";
  2625. case VK_COMPONENT_SWIZZLE_IDENTITY:
  2626. return "VK_COMPONENT_SWIZZLE_IDENTITY";
  2627. case VK_COMPONENT_SWIZZLE_ONE:
  2628. return "VK_COMPONENT_SWIZZLE_ONE";
  2629. case VK_COMPONENT_SWIZZLE_R:
  2630. return "VK_COMPONENT_SWIZZLE_R";
  2631. case VK_COMPONENT_SWIZZLE_ZERO:
  2632. return "VK_COMPONENT_SWIZZLE_ZERO";
  2633. default:
  2634. return "Unhandled VkComponentSwizzle";
  2635. }
  2636. }
  2637. static inline const char* string_VkImageViewCreateFlagBits(VkImageViewCreateFlagBits input_value)
  2638. {
  2639. switch ((VkImageViewCreateFlagBits)input_value)
  2640. {
  2641. case VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT:
  2642. return "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT";
  2643. case VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT:
  2644. return "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT";
  2645. default:
  2646. return "Unhandled VkImageViewCreateFlagBits";
  2647. }
  2648. }
  2649. static inline std::string string_VkImageViewCreateFlags(VkImageViewCreateFlags input_value)
  2650. {
  2651. std::string ret;
  2652. int index = 0;
  2653. while(input_value) {
  2654. if (input_value & 1) {
  2655. if( !ret.empty()) ret.append("|");
  2656. ret.append(string_VkImageViewCreateFlagBits(static_cast<VkImageViewCreateFlagBits>(1 << index)));
  2657. }
  2658. ++index;
  2659. input_value >>= 1;
  2660. }
  2661. if( ret.empty()) ret.append(string_VkImageViewCreateFlagBits(static_cast<VkImageViewCreateFlagBits>(0)));
  2662. return ret;
  2663. }
  2664. static inline const char* string_VkImageViewType(VkImageViewType input_value)
  2665. {
  2666. switch ((VkImageViewType)input_value)
  2667. {
  2668. case VK_IMAGE_VIEW_TYPE_1D:
  2669. return "VK_IMAGE_VIEW_TYPE_1D";
  2670. case VK_IMAGE_VIEW_TYPE_1D_ARRAY:
  2671. return "VK_IMAGE_VIEW_TYPE_1D_ARRAY";
  2672. case VK_IMAGE_VIEW_TYPE_2D:
  2673. return "VK_IMAGE_VIEW_TYPE_2D";
  2674. case VK_IMAGE_VIEW_TYPE_2D_ARRAY:
  2675. return "VK_IMAGE_VIEW_TYPE_2D_ARRAY";
  2676. case VK_IMAGE_VIEW_TYPE_3D:
  2677. return "VK_IMAGE_VIEW_TYPE_3D";
  2678. case VK_IMAGE_VIEW_TYPE_CUBE:
  2679. return "VK_IMAGE_VIEW_TYPE_CUBE";
  2680. case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY:
  2681. return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY";
  2682. default:
  2683. return "Unhandled VkImageViewType";
  2684. }
  2685. }
  2686. static inline const char* string_VkPipelineCacheCreateFlagBits(VkPipelineCacheCreateFlagBits input_value)
  2687. {
  2688. switch ((VkPipelineCacheCreateFlagBits)input_value)
  2689. {
  2690. case VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT:
  2691. return "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT";
  2692. default:
  2693. return "Unhandled VkPipelineCacheCreateFlagBits";
  2694. }
  2695. }
  2696. static inline std::string string_VkPipelineCacheCreateFlags(VkPipelineCacheCreateFlags input_value)
  2697. {
  2698. std::string ret;
  2699. int index = 0;
  2700. while(input_value) {
  2701. if (input_value & 1) {
  2702. if( !ret.empty()) ret.append("|");
  2703. ret.append(string_VkPipelineCacheCreateFlagBits(static_cast<VkPipelineCacheCreateFlagBits>(1 << index)));
  2704. }
  2705. ++index;
  2706. input_value >>= 1;
  2707. }
  2708. if( ret.empty()) ret.append(string_VkPipelineCacheCreateFlagBits(static_cast<VkPipelineCacheCreateFlagBits>(0)));
  2709. return ret;
  2710. }
  2711. static inline const char* string_VkBlendFactor(VkBlendFactor input_value)
  2712. {
  2713. switch ((VkBlendFactor)input_value)
  2714. {
  2715. case VK_BLEND_FACTOR_CONSTANT_ALPHA:
  2716. return "VK_BLEND_FACTOR_CONSTANT_ALPHA";
  2717. case VK_BLEND_FACTOR_CONSTANT_COLOR:
  2718. return "VK_BLEND_FACTOR_CONSTANT_COLOR";
  2719. case VK_BLEND_FACTOR_DST_ALPHA:
  2720. return "VK_BLEND_FACTOR_DST_ALPHA";
  2721. case VK_BLEND_FACTOR_DST_COLOR:
  2722. return "VK_BLEND_FACTOR_DST_COLOR";
  2723. case VK_BLEND_FACTOR_ONE:
  2724. return "VK_BLEND_FACTOR_ONE";
  2725. case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA:
  2726. return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA";
  2727. case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR:
  2728. return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR";
  2729. case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA:
  2730. return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA";
  2731. case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR:
  2732. return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR";
  2733. case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA:
  2734. return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA";
  2735. case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR:
  2736. return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR";
  2737. case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA:
  2738. return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA";
  2739. case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR:
  2740. return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR";
  2741. case VK_BLEND_FACTOR_SRC1_ALPHA:
  2742. return "VK_BLEND_FACTOR_SRC1_ALPHA";
  2743. case VK_BLEND_FACTOR_SRC1_COLOR:
  2744. return "VK_BLEND_FACTOR_SRC1_COLOR";
  2745. case VK_BLEND_FACTOR_SRC_ALPHA:
  2746. return "VK_BLEND_FACTOR_SRC_ALPHA";
  2747. case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE:
  2748. return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE";
  2749. case VK_BLEND_FACTOR_SRC_COLOR:
  2750. return "VK_BLEND_FACTOR_SRC_COLOR";
  2751. case VK_BLEND_FACTOR_ZERO:
  2752. return "VK_BLEND_FACTOR_ZERO";
  2753. default:
  2754. return "Unhandled VkBlendFactor";
  2755. }
  2756. }
  2757. static inline const char* string_VkBlendOp(VkBlendOp input_value)
  2758. {
  2759. switch ((VkBlendOp)input_value)
  2760. {
  2761. case VK_BLEND_OP_ADD:
  2762. return "VK_BLEND_OP_ADD";
  2763. case VK_BLEND_OP_BLUE_EXT:
  2764. return "VK_BLEND_OP_BLUE_EXT";
  2765. case VK_BLEND_OP_COLORBURN_EXT:
  2766. return "VK_BLEND_OP_COLORBURN_EXT";
  2767. case VK_BLEND_OP_COLORDODGE_EXT:
  2768. return "VK_BLEND_OP_COLORDODGE_EXT";
  2769. case VK_BLEND_OP_CONTRAST_EXT:
  2770. return "VK_BLEND_OP_CONTRAST_EXT";
  2771. case VK_BLEND_OP_DARKEN_EXT:
  2772. return "VK_BLEND_OP_DARKEN_EXT";
  2773. case VK_BLEND_OP_DIFFERENCE_EXT:
  2774. return "VK_BLEND_OP_DIFFERENCE_EXT";
  2775. case VK_BLEND_OP_DST_ATOP_EXT:
  2776. return "VK_BLEND_OP_DST_ATOP_EXT";
  2777. case VK_BLEND_OP_DST_EXT:
  2778. return "VK_BLEND_OP_DST_EXT";
  2779. case VK_BLEND_OP_DST_IN_EXT:
  2780. return "VK_BLEND_OP_DST_IN_EXT";
  2781. case VK_BLEND_OP_DST_OUT_EXT:
  2782. return "VK_BLEND_OP_DST_OUT_EXT";
  2783. case VK_BLEND_OP_DST_OVER_EXT:
  2784. return "VK_BLEND_OP_DST_OVER_EXT";
  2785. case VK_BLEND_OP_EXCLUSION_EXT:
  2786. return "VK_BLEND_OP_EXCLUSION_EXT";
  2787. case VK_BLEND_OP_GREEN_EXT:
  2788. return "VK_BLEND_OP_GREEN_EXT";
  2789. case VK_BLEND_OP_HARDLIGHT_EXT:
  2790. return "VK_BLEND_OP_HARDLIGHT_EXT";
  2791. case VK_BLEND_OP_HARDMIX_EXT:
  2792. return "VK_BLEND_OP_HARDMIX_EXT";
  2793. case VK_BLEND_OP_HSL_COLOR_EXT:
  2794. return "VK_BLEND_OP_HSL_COLOR_EXT";
  2795. case VK_BLEND_OP_HSL_HUE_EXT:
  2796. return "VK_BLEND_OP_HSL_HUE_EXT";
  2797. case VK_BLEND_OP_HSL_LUMINOSITY_EXT:
  2798. return "VK_BLEND_OP_HSL_LUMINOSITY_EXT";
  2799. case VK_BLEND_OP_HSL_SATURATION_EXT:
  2800. return "VK_BLEND_OP_HSL_SATURATION_EXT";
  2801. case VK_BLEND_OP_INVERT_EXT:
  2802. return "VK_BLEND_OP_INVERT_EXT";
  2803. case VK_BLEND_OP_INVERT_OVG_EXT:
  2804. return "VK_BLEND_OP_INVERT_OVG_EXT";
  2805. case VK_BLEND_OP_INVERT_RGB_EXT:
  2806. return "VK_BLEND_OP_INVERT_RGB_EXT";
  2807. case VK_BLEND_OP_LIGHTEN_EXT:
  2808. return "VK_BLEND_OP_LIGHTEN_EXT";
  2809. case VK_BLEND_OP_LINEARBURN_EXT:
  2810. return "VK_BLEND_OP_LINEARBURN_EXT";
  2811. case VK_BLEND_OP_LINEARDODGE_EXT:
  2812. return "VK_BLEND_OP_LINEARDODGE_EXT";
  2813. case VK_BLEND_OP_LINEARLIGHT_EXT:
  2814. return "VK_BLEND_OP_LINEARLIGHT_EXT";
  2815. case VK_BLEND_OP_MAX:
  2816. return "VK_BLEND_OP_MAX";
  2817. case VK_BLEND_OP_MIN:
  2818. return "VK_BLEND_OP_MIN";
  2819. case VK_BLEND_OP_MINUS_CLAMPED_EXT:
  2820. return "VK_BLEND_OP_MINUS_CLAMPED_EXT";
  2821. case VK_BLEND_OP_MINUS_EXT:
  2822. return "VK_BLEND_OP_MINUS_EXT";
  2823. case VK_BLEND_OP_MULTIPLY_EXT:
  2824. return "VK_BLEND_OP_MULTIPLY_EXT";
  2825. case VK_BLEND_OP_OVERLAY_EXT:
  2826. return "VK_BLEND_OP_OVERLAY_EXT";
  2827. case VK_BLEND_OP_PINLIGHT_EXT:
  2828. return "VK_BLEND_OP_PINLIGHT_EXT";
  2829. case VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT:
  2830. return "VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT";
  2831. case VK_BLEND_OP_PLUS_CLAMPED_EXT:
  2832. return "VK_BLEND_OP_PLUS_CLAMPED_EXT";
  2833. case VK_BLEND_OP_PLUS_DARKER_EXT:
  2834. return "VK_BLEND_OP_PLUS_DARKER_EXT";
  2835. case VK_BLEND_OP_PLUS_EXT:
  2836. return "VK_BLEND_OP_PLUS_EXT";
  2837. case VK_BLEND_OP_RED_EXT:
  2838. return "VK_BLEND_OP_RED_EXT";
  2839. case VK_BLEND_OP_REVERSE_SUBTRACT:
  2840. return "VK_BLEND_OP_REVERSE_SUBTRACT";
  2841. case VK_BLEND_OP_SCREEN_EXT:
  2842. return "VK_BLEND_OP_SCREEN_EXT";
  2843. case VK_BLEND_OP_SOFTLIGHT_EXT:
  2844. return "VK_BLEND_OP_SOFTLIGHT_EXT";
  2845. case VK_BLEND_OP_SRC_ATOP_EXT:
  2846. return "VK_BLEND_OP_SRC_ATOP_EXT";
  2847. case VK_BLEND_OP_SRC_EXT:
  2848. return "VK_BLEND_OP_SRC_EXT";
  2849. case VK_BLEND_OP_SRC_IN_EXT:
  2850. return "VK_BLEND_OP_SRC_IN_EXT";
  2851. case VK_BLEND_OP_SRC_OUT_EXT:
  2852. return "VK_BLEND_OP_SRC_OUT_EXT";
  2853. case VK_BLEND_OP_SRC_OVER_EXT:
  2854. return "VK_BLEND_OP_SRC_OVER_EXT";
  2855. case VK_BLEND_OP_SUBTRACT:
  2856. return "VK_BLEND_OP_SUBTRACT";
  2857. case VK_BLEND_OP_VIVIDLIGHT_EXT:
  2858. return "VK_BLEND_OP_VIVIDLIGHT_EXT";
  2859. case VK_BLEND_OP_XOR_EXT:
  2860. return "VK_BLEND_OP_XOR_EXT";
  2861. case VK_BLEND_OP_ZERO_EXT:
  2862. return "VK_BLEND_OP_ZERO_EXT";
  2863. default:
  2864. return "Unhandled VkBlendOp";
  2865. }
  2866. }
  2867. static inline const char* string_VkColorComponentFlagBits(VkColorComponentFlagBits input_value)
  2868. {
  2869. switch ((VkColorComponentFlagBits)input_value)
  2870. {
  2871. case VK_COLOR_COMPONENT_A_BIT:
  2872. return "VK_COLOR_COMPONENT_A_BIT";
  2873. case VK_COLOR_COMPONENT_B_BIT:
  2874. return "VK_COLOR_COMPONENT_B_BIT";
  2875. case VK_COLOR_COMPONENT_G_BIT:
  2876. return "VK_COLOR_COMPONENT_G_BIT";
  2877. case VK_COLOR_COMPONENT_R_BIT:
  2878. return "VK_COLOR_COMPONENT_R_BIT";
  2879. default:
  2880. return "Unhandled VkColorComponentFlagBits";
  2881. }
  2882. }
  2883. static inline std::string string_VkColorComponentFlags(VkColorComponentFlags input_value)
  2884. {
  2885. std::string ret;
  2886. int index = 0;
  2887. while(input_value) {
  2888. if (input_value & 1) {
  2889. if( !ret.empty()) ret.append("|");
  2890. ret.append(string_VkColorComponentFlagBits(static_cast<VkColorComponentFlagBits>(1 << index)));
  2891. }
  2892. ++index;
  2893. input_value >>= 1;
  2894. }
  2895. if( ret.empty()) ret.append(string_VkColorComponentFlagBits(static_cast<VkColorComponentFlagBits>(0)));
  2896. return ret;
  2897. }
  2898. static inline const char* string_VkCompareOp(VkCompareOp input_value)
  2899. {
  2900. switch ((VkCompareOp)input_value)
  2901. {
  2902. case VK_COMPARE_OP_ALWAYS:
  2903. return "VK_COMPARE_OP_ALWAYS";
  2904. case VK_COMPARE_OP_EQUAL:
  2905. return "VK_COMPARE_OP_EQUAL";
  2906. case VK_COMPARE_OP_GREATER:
  2907. return "VK_COMPARE_OP_GREATER";
  2908. case VK_COMPARE_OP_GREATER_OR_EQUAL:
  2909. return "VK_COMPARE_OP_GREATER_OR_EQUAL";
  2910. case VK_COMPARE_OP_LESS:
  2911. return "VK_COMPARE_OP_LESS";
  2912. case VK_COMPARE_OP_LESS_OR_EQUAL:
  2913. return "VK_COMPARE_OP_LESS_OR_EQUAL";
  2914. case VK_COMPARE_OP_NEVER:
  2915. return "VK_COMPARE_OP_NEVER";
  2916. case VK_COMPARE_OP_NOT_EQUAL:
  2917. return "VK_COMPARE_OP_NOT_EQUAL";
  2918. default:
  2919. return "Unhandled VkCompareOp";
  2920. }
  2921. }
  2922. static inline const char* string_VkPipelineCreateFlagBits(VkPipelineCreateFlagBits input_value)
  2923. {
  2924. switch ((VkPipelineCreateFlagBits)input_value)
  2925. {
  2926. case VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT:
  2927. return "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT";
  2928. case VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR:
  2929. return "VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR";
  2930. case VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR:
  2931. return "VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR";
  2932. case VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV:
  2933. return "VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV";
  2934. case VK_PIPELINE_CREATE_DERIVATIVE_BIT:
  2935. return "VK_PIPELINE_CREATE_DERIVATIVE_BIT";
  2936. case VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT:
  2937. return "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT";
  2938. case VK_PIPELINE_CREATE_DISPATCH_BASE_BIT:
  2939. return "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT";
  2940. case VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT:
  2941. return "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT";
  2942. case VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT:
  2943. return "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT";
  2944. case VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV:
  2945. return "VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV";
  2946. case VK_PIPELINE_CREATE_LIBRARY_BIT_KHR:
  2947. return "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR";
  2948. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR:
  2949. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR";
  2950. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR:
  2951. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR";
  2952. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR:
  2953. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR";
  2954. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR:
  2955. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR";
  2956. case VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR:
  2957. return "VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR";
  2958. case VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR:
  2959. return "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR";
  2960. case VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR:
  2961. return "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR";
  2962. case VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT:
  2963. return "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT";
  2964. default:
  2965. return "Unhandled VkPipelineCreateFlagBits";
  2966. }
  2967. }
  2968. static inline std::string string_VkPipelineCreateFlags(VkPipelineCreateFlags input_value)
  2969. {
  2970. std::string ret;
  2971. int index = 0;
  2972. while(input_value) {
  2973. if (input_value & 1) {
  2974. if( !ret.empty()) ret.append("|");
  2975. ret.append(string_VkPipelineCreateFlagBits(static_cast<VkPipelineCreateFlagBits>(1 << index)));
  2976. }
  2977. ++index;
  2978. input_value >>= 1;
  2979. }
  2980. if( ret.empty()) ret.append(string_VkPipelineCreateFlagBits(static_cast<VkPipelineCreateFlagBits>(0)));
  2981. return ret;
  2982. }
  2983. static inline const char* string_VkPipelineShaderStageCreateFlagBits(VkPipelineShaderStageCreateFlagBits input_value)
  2984. {
  2985. switch ((VkPipelineShaderStageCreateFlagBits)input_value)
  2986. {
  2987. case VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT:
  2988. return "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT";
  2989. case VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT:
  2990. return "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT";
  2991. default:
  2992. return "Unhandled VkPipelineShaderStageCreateFlagBits";
  2993. }
  2994. }
  2995. static inline std::string string_VkPipelineShaderStageCreateFlags(VkPipelineShaderStageCreateFlags input_value)
  2996. {
  2997. std::string ret;
  2998. int index = 0;
  2999. while(input_value) {
  3000. if (input_value & 1) {
  3001. if( !ret.empty()) ret.append("|");
  3002. ret.append(string_VkPipelineShaderStageCreateFlagBits(static_cast<VkPipelineShaderStageCreateFlagBits>(1 << index)));
  3003. }
  3004. ++index;
  3005. input_value >>= 1;
  3006. }
  3007. if( ret.empty()) ret.append(string_VkPipelineShaderStageCreateFlagBits(static_cast<VkPipelineShaderStageCreateFlagBits>(0)));
  3008. return ret;
  3009. }
  3010. static inline const char* string_VkShaderStageFlagBits(VkShaderStageFlagBits input_value)
  3011. {
  3012. switch ((VkShaderStageFlagBits)input_value)
  3013. {
  3014. case VK_SHADER_STAGE_ALL:
  3015. return "VK_SHADER_STAGE_ALL";
  3016. case VK_SHADER_STAGE_ALL_GRAPHICS:
  3017. return "VK_SHADER_STAGE_ALL_GRAPHICS";
  3018. case VK_SHADER_STAGE_ANY_HIT_BIT_KHR:
  3019. return "VK_SHADER_STAGE_ANY_HIT_BIT_KHR";
  3020. case VK_SHADER_STAGE_CALLABLE_BIT_KHR:
  3021. return "VK_SHADER_STAGE_CALLABLE_BIT_KHR";
  3022. case VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR:
  3023. return "VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR";
  3024. case VK_SHADER_STAGE_COMPUTE_BIT:
  3025. return "VK_SHADER_STAGE_COMPUTE_BIT";
  3026. case VK_SHADER_STAGE_FRAGMENT_BIT:
  3027. return "VK_SHADER_STAGE_FRAGMENT_BIT";
  3028. case VK_SHADER_STAGE_GEOMETRY_BIT:
  3029. return "VK_SHADER_STAGE_GEOMETRY_BIT";
  3030. case VK_SHADER_STAGE_INTERSECTION_BIT_KHR:
  3031. return "VK_SHADER_STAGE_INTERSECTION_BIT_KHR";
  3032. case VK_SHADER_STAGE_MESH_BIT_NV:
  3033. return "VK_SHADER_STAGE_MESH_BIT_NV";
  3034. case VK_SHADER_STAGE_MISS_BIT_KHR:
  3035. return "VK_SHADER_STAGE_MISS_BIT_KHR";
  3036. case VK_SHADER_STAGE_RAYGEN_BIT_KHR:
  3037. return "VK_SHADER_STAGE_RAYGEN_BIT_KHR";
  3038. case VK_SHADER_STAGE_TASK_BIT_NV:
  3039. return "VK_SHADER_STAGE_TASK_BIT_NV";
  3040. case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT:
  3041. return "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT";
  3042. case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT:
  3043. return "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT";
  3044. case VK_SHADER_STAGE_VERTEX_BIT:
  3045. return "VK_SHADER_STAGE_VERTEX_BIT";
  3046. default:
  3047. return "Unhandled VkShaderStageFlagBits";
  3048. }
  3049. }
  3050. static inline std::string string_VkShaderStageFlags(VkShaderStageFlags input_value)
  3051. {
  3052. std::string ret;
  3053. int index = 0;
  3054. while(input_value) {
  3055. if (input_value & 1) {
  3056. if( !ret.empty()) ret.append("|");
  3057. ret.append(string_VkShaderStageFlagBits(static_cast<VkShaderStageFlagBits>(1 << index)));
  3058. }
  3059. ++index;
  3060. input_value >>= 1;
  3061. }
  3062. if( ret.empty()) ret.append(string_VkShaderStageFlagBits(static_cast<VkShaderStageFlagBits>(0)));
  3063. return ret;
  3064. }
  3065. static inline const char* string_VkCullModeFlagBits(VkCullModeFlagBits input_value)
  3066. {
  3067. switch ((VkCullModeFlagBits)input_value)
  3068. {
  3069. case VK_CULL_MODE_BACK_BIT:
  3070. return "VK_CULL_MODE_BACK_BIT";
  3071. case VK_CULL_MODE_FRONT_AND_BACK:
  3072. return "VK_CULL_MODE_FRONT_AND_BACK";
  3073. case VK_CULL_MODE_FRONT_BIT:
  3074. return "VK_CULL_MODE_FRONT_BIT";
  3075. case VK_CULL_MODE_NONE:
  3076. return "VK_CULL_MODE_NONE";
  3077. default:
  3078. return "Unhandled VkCullModeFlagBits";
  3079. }
  3080. }
  3081. static inline std::string string_VkCullModeFlags(VkCullModeFlags input_value)
  3082. {
  3083. std::string ret;
  3084. int index = 0;
  3085. while(input_value) {
  3086. if (input_value & 1) {
  3087. if( !ret.empty()) ret.append("|");
  3088. ret.append(string_VkCullModeFlagBits(static_cast<VkCullModeFlagBits>(1 << index)));
  3089. }
  3090. ++index;
  3091. input_value >>= 1;
  3092. }
  3093. if( ret.empty()) ret.append(string_VkCullModeFlagBits(static_cast<VkCullModeFlagBits>(0)));
  3094. return ret;
  3095. }
  3096. static inline const char* string_VkDynamicState(VkDynamicState input_value)
  3097. {
  3098. switch ((VkDynamicState)input_value)
  3099. {
  3100. case VK_DYNAMIC_STATE_BLEND_CONSTANTS:
  3101. return "VK_DYNAMIC_STATE_BLEND_CONSTANTS";
  3102. case VK_DYNAMIC_STATE_CULL_MODE_EXT:
  3103. return "VK_DYNAMIC_STATE_CULL_MODE_EXT";
  3104. case VK_DYNAMIC_STATE_DEPTH_BIAS:
  3105. return "VK_DYNAMIC_STATE_DEPTH_BIAS";
  3106. case VK_DYNAMIC_STATE_DEPTH_BOUNDS:
  3107. return "VK_DYNAMIC_STATE_DEPTH_BOUNDS";
  3108. case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT:
  3109. return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT";
  3110. case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT:
  3111. return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT";
  3112. case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT:
  3113. return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT";
  3114. case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT:
  3115. return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT";
  3116. case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT:
  3117. return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT";
  3118. case VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV:
  3119. return "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV";
  3120. case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR:
  3121. return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR";
  3122. case VK_DYNAMIC_STATE_FRONT_FACE_EXT:
  3123. return "VK_DYNAMIC_STATE_FRONT_FACE_EXT";
  3124. case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT:
  3125. return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT";
  3126. case VK_DYNAMIC_STATE_LINE_WIDTH:
  3127. return "VK_DYNAMIC_STATE_LINE_WIDTH";
  3128. case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT:
  3129. return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT";
  3130. case VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR:
  3131. return "VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR";
  3132. case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT:
  3133. return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT";
  3134. case VK_DYNAMIC_STATE_SCISSOR:
  3135. return "VK_DYNAMIC_STATE_SCISSOR";
  3136. case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT:
  3137. return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT";
  3138. case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK:
  3139. return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK";
  3140. case VK_DYNAMIC_STATE_STENCIL_OP_EXT:
  3141. return "VK_DYNAMIC_STATE_STENCIL_OP_EXT";
  3142. case VK_DYNAMIC_STATE_STENCIL_REFERENCE:
  3143. return "VK_DYNAMIC_STATE_STENCIL_REFERENCE";
  3144. case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT:
  3145. return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT";
  3146. case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK:
  3147. return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK";
  3148. case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT:
  3149. return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT";
  3150. case VK_DYNAMIC_STATE_VIEWPORT:
  3151. return "VK_DYNAMIC_STATE_VIEWPORT";
  3152. case VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV:
  3153. return "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV";
  3154. case VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV:
  3155. return "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV";
  3156. case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT:
  3157. return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT";
  3158. case VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV:
  3159. return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV";
  3160. default:
  3161. return "Unhandled VkDynamicState";
  3162. }
  3163. }
  3164. static inline const char* string_VkFrontFace(VkFrontFace input_value)
  3165. {
  3166. switch ((VkFrontFace)input_value)
  3167. {
  3168. case VK_FRONT_FACE_CLOCKWISE:
  3169. return "VK_FRONT_FACE_CLOCKWISE";
  3170. case VK_FRONT_FACE_COUNTER_CLOCKWISE:
  3171. return "VK_FRONT_FACE_COUNTER_CLOCKWISE";
  3172. default:
  3173. return "Unhandled VkFrontFace";
  3174. }
  3175. }
  3176. static inline const char* string_VkVertexInputRate(VkVertexInputRate input_value)
  3177. {
  3178. switch ((VkVertexInputRate)input_value)
  3179. {
  3180. case VK_VERTEX_INPUT_RATE_INSTANCE:
  3181. return "VK_VERTEX_INPUT_RATE_INSTANCE";
  3182. case VK_VERTEX_INPUT_RATE_VERTEX:
  3183. return "VK_VERTEX_INPUT_RATE_VERTEX";
  3184. default:
  3185. return "Unhandled VkVertexInputRate";
  3186. }
  3187. }
  3188. static inline const char* string_VkPrimitiveTopology(VkPrimitiveTopology input_value)
  3189. {
  3190. switch ((VkPrimitiveTopology)input_value)
  3191. {
  3192. case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
  3193. return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST";
  3194. case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
  3195. return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY";
  3196. case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
  3197. return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP";
  3198. case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
  3199. return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY";
  3200. case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST:
  3201. return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST";
  3202. case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
  3203. return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST";
  3204. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
  3205. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN";
  3206. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
  3207. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST";
  3208. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
  3209. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY";
  3210. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
  3211. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP";
  3212. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
  3213. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY";
  3214. default:
  3215. return "Unhandled VkPrimitiveTopology";
  3216. }
  3217. }
  3218. static inline const char* string_VkPolygonMode(VkPolygonMode input_value)
  3219. {
  3220. switch ((VkPolygonMode)input_value)
  3221. {
  3222. case VK_POLYGON_MODE_FILL:
  3223. return "VK_POLYGON_MODE_FILL";
  3224. case VK_POLYGON_MODE_FILL_RECTANGLE_NV:
  3225. return "VK_POLYGON_MODE_FILL_RECTANGLE_NV";
  3226. case VK_POLYGON_MODE_LINE:
  3227. return "VK_POLYGON_MODE_LINE";
  3228. case VK_POLYGON_MODE_POINT:
  3229. return "VK_POLYGON_MODE_POINT";
  3230. default:
  3231. return "Unhandled VkPolygonMode";
  3232. }
  3233. }
  3234. static inline const char* string_VkStencilOp(VkStencilOp input_value)
  3235. {
  3236. switch ((VkStencilOp)input_value)
  3237. {
  3238. case VK_STENCIL_OP_DECREMENT_AND_CLAMP:
  3239. return "VK_STENCIL_OP_DECREMENT_AND_CLAMP";
  3240. case VK_STENCIL_OP_DECREMENT_AND_WRAP:
  3241. return "VK_STENCIL_OP_DECREMENT_AND_WRAP";
  3242. case VK_STENCIL_OP_INCREMENT_AND_CLAMP:
  3243. return "VK_STENCIL_OP_INCREMENT_AND_CLAMP";
  3244. case VK_STENCIL_OP_INCREMENT_AND_WRAP:
  3245. return "VK_STENCIL_OP_INCREMENT_AND_WRAP";
  3246. case VK_STENCIL_OP_INVERT:
  3247. return "VK_STENCIL_OP_INVERT";
  3248. case VK_STENCIL_OP_KEEP:
  3249. return "VK_STENCIL_OP_KEEP";
  3250. case VK_STENCIL_OP_REPLACE:
  3251. return "VK_STENCIL_OP_REPLACE";
  3252. case VK_STENCIL_OP_ZERO:
  3253. return "VK_STENCIL_OP_ZERO";
  3254. default:
  3255. return "Unhandled VkStencilOp";
  3256. }
  3257. }
  3258. static inline const char* string_VkLogicOp(VkLogicOp input_value)
  3259. {
  3260. switch ((VkLogicOp)input_value)
  3261. {
  3262. case VK_LOGIC_OP_AND:
  3263. return "VK_LOGIC_OP_AND";
  3264. case VK_LOGIC_OP_AND_INVERTED:
  3265. return "VK_LOGIC_OP_AND_INVERTED";
  3266. case VK_LOGIC_OP_AND_REVERSE:
  3267. return "VK_LOGIC_OP_AND_REVERSE";
  3268. case VK_LOGIC_OP_CLEAR:
  3269. return "VK_LOGIC_OP_CLEAR";
  3270. case VK_LOGIC_OP_COPY:
  3271. return "VK_LOGIC_OP_COPY";
  3272. case VK_LOGIC_OP_COPY_INVERTED:
  3273. return "VK_LOGIC_OP_COPY_INVERTED";
  3274. case VK_LOGIC_OP_EQUIVALENT:
  3275. return "VK_LOGIC_OP_EQUIVALENT";
  3276. case VK_LOGIC_OP_INVERT:
  3277. return "VK_LOGIC_OP_INVERT";
  3278. case VK_LOGIC_OP_NAND:
  3279. return "VK_LOGIC_OP_NAND";
  3280. case VK_LOGIC_OP_NOR:
  3281. return "VK_LOGIC_OP_NOR";
  3282. case VK_LOGIC_OP_NO_OP:
  3283. return "VK_LOGIC_OP_NO_OP";
  3284. case VK_LOGIC_OP_OR:
  3285. return "VK_LOGIC_OP_OR";
  3286. case VK_LOGIC_OP_OR_INVERTED:
  3287. return "VK_LOGIC_OP_OR_INVERTED";
  3288. case VK_LOGIC_OP_OR_REVERSE:
  3289. return "VK_LOGIC_OP_OR_REVERSE";
  3290. case VK_LOGIC_OP_SET:
  3291. return "VK_LOGIC_OP_SET";
  3292. case VK_LOGIC_OP_XOR:
  3293. return "VK_LOGIC_OP_XOR";
  3294. default:
  3295. return "Unhandled VkLogicOp";
  3296. }
  3297. }
  3298. static inline const char* string_VkBorderColor(VkBorderColor input_value)
  3299. {
  3300. switch ((VkBorderColor)input_value)
  3301. {
  3302. case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT:
  3303. return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT";
  3304. case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK:
  3305. return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK";
  3306. case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE:
  3307. return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE";
  3308. case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK:
  3309. return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK";
  3310. case VK_BORDER_COLOR_INT_CUSTOM_EXT:
  3311. return "VK_BORDER_COLOR_INT_CUSTOM_EXT";
  3312. case VK_BORDER_COLOR_INT_OPAQUE_BLACK:
  3313. return "VK_BORDER_COLOR_INT_OPAQUE_BLACK";
  3314. case VK_BORDER_COLOR_INT_OPAQUE_WHITE:
  3315. return "VK_BORDER_COLOR_INT_OPAQUE_WHITE";
  3316. case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK:
  3317. return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK";
  3318. default:
  3319. return "Unhandled VkBorderColor";
  3320. }
  3321. }
  3322. static inline const char* string_VkFilter(VkFilter input_value)
  3323. {
  3324. switch ((VkFilter)input_value)
  3325. {
  3326. case VK_FILTER_CUBIC_IMG:
  3327. return "VK_FILTER_CUBIC_IMG";
  3328. case VK_FILTER_LINEAR:
  3329. return "VK_FILTER_LINEAR";
  3330. case VK_FILTER_NEAREST:
  3331. return "VK_FILTER_NEAREST";
  3332. default:
  3333. return "Unhandled VkFilter";
  3334. }
  3335. }
  3336. static inline const char* string_VkSamplerAddressMode(VkSamplerAddressMode input_value)
  3337. {
  3338. switch ((VkSamplerAddressMode)input_value)
  3339. {
  3340. case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER:
  3341. return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER";
  3342. case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE:
  3343. return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE";
  3344. case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT:
  3345. return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT";
  3346. case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE:
  3347. return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE";
  3348. case VK_SAMPLER_ADDRESS_MODE_REPEAT:
  3349. return "VK_SAMPLER_ADDRESS_MODE_REPEAT";
  3350. default:
  3351. return "Unhandled VkSamplerAddressMode";
  3352. }
  3353. }
  3354. static inline const char* string_VkSamplerCreateFlagBits(VkSamplerCreateFlagBits input_value)
  3355. {
  3356. switch ((VkSamplerCreateFlagBits)input_value)
  3357. {
  3358. case VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT:
  3359. return "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT";
  3360. case VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT:
  3361. return "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT";
  3362. default:
  3363. return "Unhandled VkSamplerCreateFlagBits";
  3364. }
  3365. }
  3366. static inline std::string string_VkSamplerCreateFlags(VkSamplerCreateFlags input_value)
  3367. {
  3368. std::string ret;
  3369. int index = 0;
  3370. while(input_value) {
  3371. if (input_value & 1) {
  3372. if( !ret.empty()) ret.append("|");
  3373. ret.append(string_VkSamplerCreateFlagBits(static_cast<VkSamplerCreateFlagBits>(1 << index)));
  3374. }
  3375. ++index;
  3376. input_value >>= 1;
  3377. }
  3378. if( ret.empty()) ret.append(string_VkSamplerCreateFlagBits(static_cast<VkSamplerCreateFlagBits>(0)));
  3379. return ret;
  3380. }
  3381. static inline const char* string_VkSamplerMipmapMode(VkSamplerMipmapMode input_value)
  3382. {
  3383. switch ((VkSamplerMipmapMode)input_value)
  3384. {
  3385. case VK_SAMPLER_MIPMAP_MODE_LINEAR:
  3386. return "VK_SAMPLER_MIPMAP_MODE_LINEAR";
  3387. case VK_SAMPLER_MIPMAP_MODE_NEAREST:
  3388. return "VK_SAMPLER_MIPMAP_MODE_NEAREST";
  3389. default:
  3390. return "Unhandled VkSamplerMipmapMode";
  3391. }
  3392. }
  3393. static inline const char* string_VkDescriptorPoolCreateFlagBits(VkDescriptorPoolCreateFlagBits input_value)
  3394. {
  3395. switch ((VkDescriptorPoolCreateFlagBits)input_value)
  3396. {
  3397. case VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT:
  3398. return "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT";
  3399. case VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT:
  3400. return "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT";
  3401. default:
  3402. return "Unhandled VkDescriptorPoolCreateFlagBits";
  3403. }
  3404. }
  3405. static inline std::string string_VkDescriptorPoolCreateFlags(VkDescriptorPoolCreateFlags input_value)
  3406. {
  3407. std::string ret;
  3408. int index = 0;
  3409. while(input_value) {
  3410. if (input_value & 1) {
  3411. if( !ret.empty()) ret.append("|");
  3412. ret.append(string_VkDescriptorPoolCreateFlagBits(static_cast<VkDescriptorPoolCreateFlagBits>(1 << index)));
  3413. }
  3414. ++index;
  3415. input_value >>= 1;
  3416. }
  3417. if( ret.empty()) ret.append(string_VkDescriptorPoolCreateFlagBits(static_cast<VkDescriptorPoolCreateFlagBits>(0)));
  3418. return ret;
  3419. }
  3420. static inline const char* string_VkDescriptorType(VkDescriptorType input_value)
  3421. {
  3422. switch ((VkDescriptorType)input_value)
  3423. {
  3424. case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR:
  3425. return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR";
  3426. case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
  3427. return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV";
  3428. case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
  3429. return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER";
  3430. case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
  3431. return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT";
  3432. case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
  3433. return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT";
  3434. case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
  3435. return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE";
  3436. case VK_DESCRIPTOR_TYPE_SAMPLER:
  3437. return "VK_DESCRIPTOR_TYPE_SAMPLER";
  3438. case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
  3439. return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER";
  3440. case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
  3441. return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC";
  3442. case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
  3443. return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE";
  3444. case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
  3445. return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER";
  3446. case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
  3447. return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER";
  3448. case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
  3449. return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC";
  3450. case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
  3451. return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER";
  3452. default:
  3453. return "Unhandled VkDescriptorType";
  3454. }
  3455. }
  3456. static inline const char* string_VkDescriptorSetLayoutCreateFlagBits(VkDescriptorSetLayoutCreateFlagBits input_value)
  3457. {
  3458. switch ((VkDescriptorSetLayoutCreateFlagBits)input_value)
  3459. {
  3460. case VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR:
  3461. return "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR";
  3462. case VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT:
  3463. return "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT";
  3464. default:
  3465. return "Unhandled VkDescriptorSetLayoutCreateFlagBits";
  3466. }
  3467. }
  3468. static inline std::string string_VkDescriptorSetLayoutCreateFlags(VkDescriptorSetLayoutCreateFlags input_value)
  3469. {
  3470. std::string ret;
  3471. int index = 0;
  3472. while(input_value) {
  3473. if (input_value & 1) {
  3474. if( !ret.empty()) ret.append("|");
  3475. ret.append(string_VkDescriptorSetLayoutCreateFlagBits(static_cast<VkDescriptorSetLayoutCreateFlagBits>(1 << index)));
  3476. }
  3477. ++index;
  3478. input_value >>= 1;
  3479. }
  3480. if( ret.empty()) ret.append(string_VkDescriptorSetLayoutCreateFlagBits(static_cast<VkDescriptorSetLayoutCreateFlagBits>(0)));
  3481. return ret;
  3482. }
  3483. static inline const char* string_VkAttachmentDescriptionFlagBits(VkAttachmentDescriptionFlagBits input_value)
  3484. {
  3485. switch ((VkAttachmentDescriptionFlagBits)input_value)
  3486. {
  3487. case VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT:
  3488. return "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT";
  3489. default:
  3490. return "Unhandled VkAttachmentDescriptionFlagBits";
  3491. }
  3492. }
  3493. static inline std::string string_VkAttachmentDescriptionFlags(VkAttachmentDescriptionFlags input_value)
  3494. {
  3495. std::string ret;
  3496. int index = 0;
  3497. while(input_value) {
  3498. if (input_value & 1) {
  3499. if( !ret.empty()) ret.append("|");
  3500. ret.append(string_VkAttachmentDescriptionFlagBits(static_cast<VkAttachmentDescriptionFlagBits>(1 << index)));
  3501. }
  3502. ++index;
  3503. input_value >>= 1;
  3504. }
  3505. if( ret.empty()) ret.append(string_VkAttachmentDescriptionFlagBits(static_cast<VkAttachmentDescriptionFlagBits>(0)));
  3506. return ret;
  3507. }
  3508. static inline const char* string_VkAttachmentLoadOp(VkAttachmentLoadOp input_value)
  3509. {
  3510. switch ((VkAttachmentLoadOp)input_value)
  3511. {
  3512. case VK_ATTACHMENT_LOAD_OP_CLEAR:
  3513. return "VK_ATTACHMENT_LOAD_OP_CLEAR";
  3514. case VK_ATTACHMENT_LOAD_OP_DONT_CARE:
  3515. return "VK_ATTACHMENT_LOAD_OP_DONT_CARE";
  3516. case VK_ATTACHMENT_LOAD_OP_LOAD:
  3517. return "VK_ATTACHMENT_LOAD_OP_LOAD";
  3518. default:
  3519. return "Unhandled VkAttachmentLoadOp";
  3520. }
  3521. }
  3522. static inline const char* string_VkAttachmentStoreOp(VkAttachmentStoreOp input_value)
  3523. {
  3524. switch ((VkAttachmentStoreOp)input_value)
  3525. {
  3526. case VK_ATTACHMENT_STORE_OP_DONT_CARE:
  3527. return "VK_ATTACHMENT_STORE_OP_DONT_CARE";
  3528. case VK_ATTACHMENT_STORE_OP_NONE_QCOM:
  3529. return "VK_ATTACHMENT_STORE_OP_NONE_QCOM";
  3530. case VK_ATTACHMENT_STORE_OP_STORE:
  3531. return "VK_ATTACHMENT_STORE_OP_STORE";
  3532. default:
  3533. return "Unhandled VkAttachmentStoreOp";
  3534. }
  3535. }
  3536. static inline const char* string_VkDependencyFlagBits(VkDependencyFlagBits input_value)
  3537. {
  3538. switch ((VkDependencyFlagBits)input_value)
  3539. {
  3540. case VK_DEPENDENCY_BY_REGION_BIT:
  3541. return "VK_DEPENDENCY_BY_REGION_BIT";
  3542. case VK_DEPENDENCY_DEVICE_GROUP_BIT:
  3543. return "VK_DEPENDENCY_DEVICE_GROUP_BIT";
  3544. case VK_DEPENDENCY_VIEW_LOCAL_BIT:
  3545. return "VK_DEPENDENCY_VIEW_LOCAL_BIT";
  3546. default:
  3547. return "Unhandled VkDependencyFlagBits";
  3548. }
  3549. }
  3550. static inline std::string string_VkDependencyFlags(VkDependencyFlags input_value)
  3551. {
  3552. std::string ret;
  3553. int index = 0;
  3554. while(input_value) {
  3555. if (input_value & 1) {
  3556. if( !ret.empty()) ret.append("|");
  3557. ret.append(string_VkDependencyFlagBits(static_cast<VkDependencyFlagBits>(1 << index)));
  3558. }
  3559. ++index;
  3560. input_value >>= 1;
  3561. }
  3562. if( ret.empty()) ret.append(string_VkDependencyFlagBits(static_cast<VkDependencyFlagBits>(0)));
  3563. return ret;
  3564. }
  3565. static inline const char* string_VkFramebufferCreateFlagBits(VkFramebufferCreateFlagBits input_value)
  3566. {
  3567. switch ((VkFramebufferCreateFlagBits)input_value)
  3568. {
  3569. case VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT:
  3570. return "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT";
  3571. default:
  3572. return "Unhandled VkFramebufferCreateFlagBits";
  3573. }
  3574. }
  3575. static inline std::string string_VkFramebufferCreateFlags(VkFramebufferCreateFlags input_value)
  3576. {
  3577. std::string ret;
  3578. int index = 0;
  3579. while(input_value) {
  3580. if (input_value & 1) {
  3581. if( !ret.empty()) ret.append("|");
  3582. ret.append(string_VkFramebufferCreateFlagBits(static_cast<VkFramebufferCreateFlagBits>(1 << index)));
  3583. }
  3584. ++index;
  3585. input_value >>= 1;
  3586. }
  3587. if( ret.empty()) ret.append(string_VkFramebufferCreateFlagBits(static_cast<VkFramebufferCreateFlagBits>(0)));
  3588. return ret;
  3589. }
  3590. static inline const char* string_VkPipelineBindPoint(VkPipelineBindPoint input_value)
  3591. {
  3592. switch ((VkPipelineBindPoint)input_value)
  3593. {
  3594. case VK_PIPELINE_BIND_POINT_COMPUTE:
  3595. return "VK_PIPELINE_BIND_POINT_COMPUTE";
  3596. case VK_PIPELINE_BIND_POINT_GRAPHICS:
  3597. return "VK_PIPELINE_BIND_POINT_GRAPHICS";
  3598. case VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR:
  3599. return "VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR";
  3600. default:
  3601. return "Unhandled VkPipelineBindPoint";
  3602. }
  3603. }
  3604. static inline const char* string_VkRenderPassCreateFlagBits(VkRenderPassCreateFlagBits input_value)
  3605. {
  3606. switch ((VkRenderPassCreateFlagBits)input_value)
  3607. {
  3608. case VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM:
  3609. return "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM";
  3610. default:
  3611. return "Unhandled VkRenderPassCreateFlagBits";
  3612. }
  3613. }
  3614. static inline std::string string_VkRenderPassCreateFlags(VkRenderPassCreateFlags input_value)
  3615. {
  3616. std::string ret;
  3617. int index = 0;
  3618. while(input_value) {
  3619. if (input_value & 1) {
  3620. if( !ret.empty()) ret.append("|");
  3621. ret.append(string_VkRenderPassCreateFlagBits(static_cast<VkRenderPassCreateFlagBits>(1 << index)));
  3622. }
  3623. ++index;
  3624. input_value >>= 1;
  3625. }
  3626. if( ret.empty()) ret.append(string_VkRenderPassCreateFlagBits(static_cast<VkRenderPassCreateFlagBits>(0)));
  3627. return ret;
  3628. }
  3629. static inline const char* string_VkSubpassDescriptionFlagBits(VkSubpassDescriptionFlagBits input_value)
  3630. {
  3631. switch ((VkSubpassDescriptionFlagBits)input_value)
  3632. {
  3633. case VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM:
  3634. return "VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM";
  3635. case VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX:
  3636. return "VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX";
  3637. case VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX:
  3638. return "VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX";
  3639. case VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM:
  3640. return "VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM";
  3641. default:
  3642. return "Unhandled VkSubpassDescriptionFlagBits";
  3643. }
  3644. }
  3645. static inline std::string string_VkSubpassDescriptionFlags(VkSubpassDescriptionFlags input_value)
  3646. {
  3647. std::string ret;
  3648. int index = 0;
  3649. while(input_value) {
  3650. if (input_value & 1) {
  3651. if( !ret.empty()) ret.append("|");
  3652. ret.append(string_VkSubpassDescriptionFlagBits(static_cast<VkSubpassDescriptionFlagBits>(1 << index)));
  3653. }
  3654. ++index;
  3655. input_value >>= 1;
  3656. }
  3657. if( ret.empty()) ret.append(string_VkSubpassDescriptionFlagBits(static_cast<VkSubpassDescriptionFlagBits>(0)));
  3658. return ret;
  3659. }
  3660. static inline const char* string_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits input_value)
  3661. {
  3662. switch ((VkCommandPoolCreateFlagBits)input_value)
  3663. {
  3664. case VK_COMMAND_POOL_CREATE_PROTECTED_BIT:
  3665. return "VK_COMMAND_POOL_CREATE_PROTECTED_BIT";
  3666. case VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT:
  3667. return "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT";
  3668. case VK_COMMAND_POOL_CREATE_TRANSIENT_BIT:
  3669. return "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT";
  3670. default:
  3671. return "Unhandled VkCommandPoolCreateFlagBits";
  3672. }
  3673. }
  3674. static inline std::string string_VkCommandPoolCreateFlags(VkCommandPoolCreateFlags input_value)
  3675. {
  3676. std::string ret;
  3677. int index = 0;
  3678. while(input_value) {
  3679. if (input_value & 1) {
  3680. if( !ret.empty()) ret.append("|");
  3681. ret.append(string_VkCommandPoolCreateFlagBits(static_cast<VkCommandPoolCreateFlagBits>(1 << index)));
  3682. }
  3683. ++index;
  3684. input_value >>= 1;
  3685. }
  3686. if( ret.empty()) ret.append(string_VkCommandPoolCreateFlagBits(static_cast<VkCommandPoolCreateFlagBits>(0)));
  3687. return ret;
  3688. }
  3689. static inline const char* string_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits input_value)
  3690. {
  3691. switch ((VkCommandPoolResetFlagBits)input_value)
  3692. {
  3693. case VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT:
  3694. return "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT";
  3695. default:
  3696. return "Unhandled VkCommandPoolResetFlagBits";
  3697. }
  3698. }
  3699. static inline std::string string_VkCommandPoolResetFlags(VkCommandPoolResetFlags input_value)
  3700. {
  3701. std::string ret;
  3702. int index = 0;
  3703. while(input_value) {
  3704. if (input_value & 1) {
  3705. if( !ret.empty()) ret.append("|");
  3706. ret.append(string_VkCommandPoolResetFlagBits(static_cast<VkCommandPoolResetFlagBits>(1 << index)));
  3707. }
  3708. ++index;
  3709. input_value >>= 1;
  3710. }
  3711. if( ret.empty()) ret.append(string_VkCommandPoolResetFlagBits(static_cast<VkCommandPoolResetFlagBits>(0)));
  3712. return ret;
  3713. }
  3714. static inline const char* string_VkCommandBufferLevel(VkCommandBufferLevel input_value)
  3715. {
  3716. switch ((VkCommandBufferLevel)input_value)
  3717. {
  3718. case VK_COMMAND_BUFFER_LEVEL_PRIMARY:
  3719. return "VK_COMMAND_BUFFER_LEVEL_PRIMARY";
  3720. case VK_COMMAND_BUFFER_LEVEL_SECONDARY:
  3721. return "VK_COMMAND_BUFFER_LEVEL_SECONDARY";
  3722. default:
  3723. return "Unhandled VkCommandBufferLevel";
  3724. }
  3725. }
  3726. static inline const char* string_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits input_value)
  3727. {
  3728. switch ((VkCommandBufferUsageFlagBits)input_value)
  3729. {
  3730. case VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT:
  3731. return "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT";
  3732. case VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT:
  3733. return "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT";
  3734. case VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT:
  3735. return "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT";
  3736. default:
  3737. return "Unhandled VkCommandBufferUsageFlagBits";
  3738. }
  3739. }
  3740. static inline std::string string_VkCommandBufferUsageFlags(VkCommandBufferUsageFlags input_value)
  3741. {
  3742. std::string ret;
  3743. int index = 0;
  3744. while(input_value) {
  3745. if (input_value & 1) {
  3746. if( !ret.empty()) ret.append("|");
  3747. ret.append(string_VkCommandBufferUsageFlagBits(static_cast<VkCommandBufferUsageFlagBits>(1 << index)));
  3748. }
  3749. ++index;
  3750. input_value >>= 1;
  3751. }
  3752. if( ret.empty()) ret.append(string_VkCommandBufferUsageFlagBits(static_cast<VkCommandBufferUsageFlagBits>(0)));
  3753. return ret;
  3754. }
  3755. static inline const char* string_VkQueryControlFlagBits(VkQueryControlFlagBits input_value)
  3756. {
  3757. switch ((VkQueryControlFlagBits)input_value)
  3758. {
  3759. case VK_QUERY_CONTROL_PRECISE_BIT:
  3760. return "VK_QUERY_CONTROL_PRECISE_BIT";
  3761. default:
  3762. return "Unhandled VkQueryControlFlagBits";
  3763. }
  3764. }
  3765. static inline std::string string_VkQueryControlFlags(VkQueryControlFlags input_value)
  3766. {
  3767. std::string ret;
  3768. int index = 0;
  3769. while(input_value) {
  3770. if (input_value & 1) {
  3771. if( !ret.empty()) ret.append("|");
  3772. ret.append(string_VkQueryControlFlagBits(static_cast<VkQueryControlFlagBits>(1 << index)));
  3773. }
  3774. ++index;
  3775. input_value >>= 1;
  3776. }
  3777. if( ret.empty()) ret.append(string_VkQueryControlFlagBits(static_cast<VkQueryControlFlagBits>(0)));
  3778. return ret;
  3779. }
  3780. static inline const char* string_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits input_value)
  3781. {
  3782. switch ((VkCommandBufferResetFlagBits)input_value)
  3783. {
  3784. case VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT:
  3785. return "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT";
  3786. default:
  3787. return "Unhandled VkCommandBufferResetFlagBits";
  3788. }
  3789. }
  3790. static inline std::string string_VkCommandBufferResetFlags(VkCommandBufferResetFlags input_value)
  3791. {
  3792. std::string ret;
  3793. int index = 0;
  3794. while(input_value) {
  3795. if (input_value & 1) {
  3796. if( !ret.empty()) ret.append("|");
  3797. ret.append(string_VkCommandBufferResetFlagBits(static_cast<VkCommandBufferResetFlagBits>(1 << index)));
  3798. }
  3799. ++index;
  3800. input_value >>= 1;
  3801. }
  3802. if( ret.empty()) ret.append(string_VkCommandBufferResetFlagBits(static_cast<VkCommandBufferResetFlagBits>(0)));
  3803. return ret;
  3804. }
  3805. static inline const char* string_VkIndexType(VkIndexType input_value)
  3806. {
  3807. switch ((VkIndexType)input_value)
  3808. {
  3809. case VK_INDEX_TYPE_NONE_KHR:
  3810. return "VK_INDEX_TYPE_NONE_KHR";
  3811. case VK_INDEX_TYPE_UINT16:
  3812. return "VK_INDEX_TYPE_UINT16";
  3813. case VK_INDEX_TYPE_UINT32:
  3814. return "VK_INDEX_TYPE_UINT32";
  3815. case VK_INDEX_TYPE_UINT8_EXT:
  3816. return "VK_INDEX_TYPE_UINT8_EXT";
  3817. default:
  3818. return "Unhandled VkIndexType";
  3819. }
  3820. }
  3821. static inline const char* string_VkStencilFaceFlagBits(VkStencilFaceFlagBits input_value)
  3822. {
  3823. switch ((VkStencilFaceFlagBits)input_value)
  3824. {
  3825. case VK_STENCIL_FACE_BACK_BIT:
  3826. return "VK_STENCIL_FACE_BACK_BIT";
  3827. case VK_STENCIL_FACE_FRONT_AND_BACK:
  3828. return "VK_STENCIL_FACE_FRONT_AND_BACK";
  3829. case VK_STENCIL_FACE_FRONT_BIT:
  3830. return "VK_STENCIL_FACE_FRONT_BIT";
  3831. default:
  3832. return "Unhandled VkStencilFaceFlagBits";
  3833. }
  3834. }
  3835. static inline std::string string_VkStencilFaceFlags(VkStencilFaceFlags input_value)
  3836. {
  3837. std::string ret;
  3838. int index = 0;
  3839. while(input_value) {
  3840. if (input_value & 1) {
  3841. if( !ret.empty()) ret.append("|");
  3842. ret.append(string_VkStencilFaceFlagBits(static_cast<VkStencilFaceFlagBits>(1 << index)));
  3843. }
  3844. ++index;
  3845. input_value >>= 1;
  3846. }
  3847. if( ret.empty()) ret.append(string_VkStencilFaceFlagBits(static_cast<VkStencilFaceFlagBits>(0)));
  3848. return ret;
  3849. }
  3850. static inline const char* string_VkSubpassContents(VkSubpassContents input_value)
  3851. {
  3852. switch ((VkSubpassContents)input_value)
  3853. {
  3854. case VK_SUBPASS_CONTENTS_INLINE:
  3855. return "VK_SUBPASS_CONTENTS_INLINE";
  3856. case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS:
  3857. return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS";
  3858. default:
  3859. return "Unhandled VkSubpassContents";
  3860. }
  3861. }
  3862. static inline const char* string_VkSubgroupFeatureFlagBits(VkSubgroupFeatureFlagBits input_value)
  3863. {
  3864. switch ((VkSubgroupFeatureFlagBits)input_value)
  3865. {
  3866. case VK_SUBGROUP_FEATURE_ARITHMETIC_BIT:
  3867. return "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT";
  3868. case VK_SUBGROUP_FEATURE_BALLOT_BIT:
  3869. return "VK_SUBGROUP_FEATURE_BALLOT_BIT";
  3870. case VK_SUBGROUP_FEATURE_BASIC_BIT:
  3871. return "VK_SUBGROUP_FEATURE_BASIC_BIT";
  3872. case VK_SUBGROUP_FEATURE_CLUSTERED_BIT:
  3873. return "VK_SUBGROUP_FEATURE_CLUSTERED_BIT";
  3874. case VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV:
  3875. return "VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV";
  3876. case VK_SUBGROUP_FEATURE_QUAD_BIT:
  3877. return "VK_SUBGROUP_FEATURE_QUAD_BIT";
  3878. case VK_SUBGROUP_FEATURE_SHUFFLE_BIT:
  3879. return "VK_SUBGROUP_FEATURE_SHUFFLE_BIT";
  3880. case VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT:
  3881. return "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT";
  3882. case VK_SUBGROUP_FEATURE_VOTE_BIT:
  3883. return "VK_SUBGROUP_FEATURE_VOTE_BIT";
  3884. default:
  3885. return "Unhandled VkSubgroupFeatureFlagBits";
  3886. }
  3887. }
  3888. static inline std::string string_VkSubgroupFeatureFlags(VkSubgroupFeatureFlags input_value)
  3889. {
  3890. std::string ret;
  3891. int index = 0;
  3892. while(input_value) {
  3893. if (input_value & 1) {
  3894. if( !ret.empty()) ret.append("|");
  3895. ret.append(string_VkSubgroupFeatureFlagBits(static_cast<VkSubgroupFeatureFlagBits>(1 << index)));
  3896. }
  3897. ++index;
  3898. input_value >>= 1;
  3899. }
  3900. if( ret.empty()) ret.append(string_VkSubgroupFeatureFlagBits(static_cast<VkSubgroupFeatureFlagBits>(0)));
  3901. return ret;
  3902. }
  3903. static inline const char* string_VkPeerMemoryFeatureFlagBits(VkPeerMemoryFeatureFlagBits input_value)
  3904. {
  3905. switch ((VkPeerMemoryFeatureFlagBits)input_value)
  3906. {
  3907. case VK_PEER_MEMORY_FEATURE_COPY_DST_BIT:
  3908. return "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT";
  3909. case VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT:
  3910. return "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT";
  3911. case VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT:
  3912. return "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT";
  3913. case VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT:
  3914. return "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT";
  3915. default:
  3916. return "Unhandled VkPeerMemoryFeatureFlagBits";
  3917. }
  3918. }
  3919. static inline std::string string_VkPeerMemoryFeatureFlags(VkPeerMemoryFeatureFlags input_value)
  3920. {
  3921. std::string ret;
  3922. int index = 0;
  3923. while(input_value) {
  3924. if (input_value & 1) {
  3925. if( !ret.empty()) ret.append("|");
  3926. ret.append(string_VkPeerMemoryFeatureFlagBits(static_cast<VkPeerMemoryFeatureFlagBits>(1 << index)));
  3927. }
  3928. ++index;
  3929. input_value >>= 1;
  3930. }
  3931. if( ret.empty()) ret.append(string_VkPeerMemoryFeatureFlagBits(static_cast<VkPeerMemoryFeatureFlagBits>(0)));
  3932. return ret;
  3933. }
  3934. static inline const char* string_VkMemoryAllocateFlagBits(VkMemoryAllocateFlagBits input_value)
  3935. {
  3936. switch ((VkMemoryAllocateFlagBits)input_value)
  3937. {
  3938. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT:
  3939. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT";
  3940. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
  3941. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT";
  3942. case VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT:
  3943. return "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT";
  3944. default:
  3945. return "Unhandled VkMemoryAllocateFlagBits";
  3946. }
  3947. }
  3948. static inline std::string string_VkMemoryAllocateFlags(VkMemoryAllocateFlags input_value)
  3949. {
  3950. std::string ret;
  3951. int index = 0;
  3952. while(input_value) {
  3953. if (input_value & 1) {
  3954. if( !ret.empty()) ret.append("|");
  3955. ret.append(string_VkMemoryAllocateFlagBits(static_cast<VkMemoryAllocateFlagBits>(1 << index)));
  3956. }
  3957. ++index;
  3958. input_value >>= 1;
  3959. }
  3960. if( ret.empty()) ret.append(string_VkMemoryAllocateFlagBits(static_cast<VkMemoryAllocateFlagBits>(0)));
  3961. return ret;
  3962. }
  3963. static inline const char* string_VkPointClippingBehavior(VkPointClippingBehavior input_value)
  3964. {
  3965. switch ((VkPointClippingBehavior)input_value)
  3966. {
  3967. case VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES:
  3968. return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES";
  3969. case VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY:
  3970. return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY";
  3971. default:
  3972. return "Unhandled VkPointClippingBehavior";
  3973. }
  3974. }
  3975. static inline const char* string_VkTessellationDomainOrigin(VkTessellationDomainOrigin input_value)
  3976. {
  3977. switch ((VkTessellationDomainOrigin)input_value)
  3978. {
  3979. case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT:
  3980. return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT";
  3981. case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT:
  3982. return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT";
  3983. default:
  3984. return "Unhandled VkTessellationDomainOrigin";
  3985. }
  3986. }
  3987. static inline const char* string_VkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion input_value)
  3988. {
  3989. switch ((VkSamplerYcbcrModelConversion)input_value)
  3990. {
  3991. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY:
  3992. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY";
  3993. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020:
  3994. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020";
  3995. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601:
  3996. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601";
  3997. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709:
  3998. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709";
  3999. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY:
  4000. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY";
  4001. default:
  4002. return "Unhandled VkSamplerYcbcrModelConversion";
  4003. }
  4004. }
  4005. static inline const char* string_VkSamplerYcbcrRange(VkSamplerYcbcrRange input_value)
  4006. {
  4007. switch ((VkSamplerYcbcrRange)input_value)
  4008. {
  4009. case VK_SAMPLER_YCBCR_RANGE_ITU_FULL:
  4010. return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL";
  4011. case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW:
  4012. return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW";
  4013. default:
  4014. return "Unhandled VkSamplerYcbcrRange";
  4015. }
  4016. }
  4017. static inline const char* string_VkChromaLocation(VkChromaLocation input_value)
  4018. {
  4019. switch ((VkChromaLocation)input_value)
  4020. {
  4021. case VK_CHROMA_LOCATION_COSITED_EVEN:
  4022. return "VK_CHROMA_LOCATION_COSITED_EVEN";
  4023. case VK_CHROMA_LOCATION_MIDPOINT:
  4024. return "VK_CHROMA_LOCATION_MIDPOINT";
  4025. default:
  4026. return "Unhandled VkChromaLocation";
  4027. }
  4028. }
  4029. static inline const char* string_VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType input_value)
  4030. {
  4031. switch ((VkDescriptorUpdateTemplateType)input_value)
  4032. {
  4033. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET:
  4034. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET";
  4035. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR:
  4036. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR";
  4037. default:
  4038. return "Unhandled VkDescriptorUpdateTemplateType";
  4039. }
  4040. }
  4041. static inline const char* string_VkExternalMemoryHandleTypeFlagBits(VkExternalMemoryHandleTypeFlagBits input_value)
  4042. {
  4043. switch ((VkExternalMemoryHandleTypeFlagBits)input_value)
  4044. {
  4045. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:
  4046. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID";
  4047. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT:
  4048. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT";
  4049. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT:
  4050. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT";
  4051. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT:
  4052. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT";
  4053. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT:
  4054. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT";
  4055. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT:
  4056. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT";
  4057. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT:
  4058. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT";
  4059. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT:
  4060. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT";
  4061. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
  4062. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT";
  4063. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4064. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4065. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4066. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4067. default:
  4068. return "Unhandled VkExternalMemoryHandleTypeFlagBits";
  4069. }
  4070. }
  4071. static inline std::string string_VkExternalMemoryHandleTypeFlags(VkExternalMemoryHandleTypeFlags input_value)
  4072. {
  4073. std::string ret;
  4074. int index = 0;
  4075. while(input_value) {
  4076. if (input_value & 1) {
  4077. if( !ret.empty()) ret.append("|");
  4078. ret.append(string_VkExternalMemoryHandleTypeFlagBits(static_cast<VkExternalMemoryHandleTypeFlagBits>(1 << index)));
  4079. }
  4080. ++index;
  4081. input_value >>= 1;
  4082. }
  4083. if( ret.empty()) ret.append(string_VkExternalMemoryHandleTypeFlagBits(static_cast<VkExternalMemoryHandleTypeFlagBits>(0)));
  4084. return ret;
  4085. }
  4086. static inline const char* string_VkExternalMemoryFeatureFlagBits(VkExternalMemoryFeatureFlagBits input_value)
  4087. {
  4088. switch ((VkExternalMemoryFeatureFlagBits)input_value)
  4089. {
  4090. case VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT:
  4091. return "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT";
  4092. case VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT:
  4093. return "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT";
  4094. case VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT:
  4095. return "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT";
  4096. default:
  4097. return "Unhandled VkExternalMemoryFeatureFlagBits";
  4098. }
  4099. }
  4100. static inline std::string string_VkExternalMemoryFeatureFlags(VkExternalMemoryFeatureFlags input_value)
  4101. {
  4102. std::string ret;
  4103. int index = 0;
  4104. while(input_value) {
  4105. if (input_value & 1) {
  4106. if( !ret.empty()) ret.append("|");
  4107. ret.append(string_VkExternalMemoryFeatureFlagBits(static_cast<VkExternalMemoryFeatureFlagBits>(1 << index)));
  4108. }
  4109. ++index;
  4110. input_value >>= 1;
  4111. }
  4112. if( ret.empty()) ret.append(string_VkExternalMemoryFeatureFlagBits(static_cast<VkExternalMemoryFeatureFlagBits>(0)));
  4113. return ret;
  4114. }
  4115. static inline const char* string_VkExternalFenceHandleTypeFlagBits(VkExternalFenceHandleTypeFlagBits input_value)
  4116. {
  4117. switch ((VkExternalFenceHandleTypeFlagBits)input_value)
  4118. {
  4119. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT:
  4120. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT";
  4121. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4122. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4123. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4124. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4125. case VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT:
  4126. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT";
  4127. default:
  4128. return "Unhandled VkExternalFenceHandleTypeFlagBits";
  4129. }
  4130. }
  4131. static inline std::string string_VkExternalFenceHandleTypeFlags(VkExternalFenceHandleTypeFlags input_value)
  4132. {
  4133. std::string ret;
  4134. int index = 0;
  4135. while(input_value) {
  4136. if (input_value & 1) {
  4137. if( !ret.empty()) ret.append("|");
  4138. ret.append(string_VkExternalFenceHandleTypeFlagBits(static_cast<VkExternalFenceHandleTypeFlagBits>(1 << index)));
  4139. }
  4140. ++index;
  4141. input_value >>= 1;
  4142. }
  4143. if( ret.empty()) ret.append(string_VkExternalFenceHandleTypeFlagBits(static_cast<VkExternalFenceHandleTypeFlagBits>(0)));
  4144. return ret;
  4145. }
  4146. static inline const char* string_VkExternalFenceFeatureFlagBits(VkExternalFenceFeatureFlagBits input_value)
  4147. {
  4148. switch ((VkExternalFenceFeatureFlagBits)input_value)
  4149. {
  4150. case VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT:
  4151. return "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT";
  4152. case VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT:
  4153. return "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT";
  4154. default:
  4155. return "Unhandled VkExternalFenceFeatureFlagBits";
  4156. }
  4157. }
  4158. static inline std::string string_VkExternalFenceFeatureFlags(VkExternalFenceFeatureFlags input_value)
  4159. {
  4160. std::string ret;
  4161. int index = 0;
  4162. while(input_value) {
  4163. if (input_value & 1) {
  4164. if( !ret.empty()) ret.append("|");
  4165. ret.append(string_VkExternalFenceFeatureFlagBits(static_cast<VkExternalFenceFeatureFlagBits>(1 << index)));
  4166. }
  4167. ++index;
  4168. input_value >>= 1;
  4169. }
  4170. if( ret.empty()) ret.append(string_VkExternalFenceFeatureFlagBits(static_cast<VkExternalFenceFeatureFlagBits>(0)));
  4171. return ret;
  4172. }
  4173. static inline const char* string_VkFenceImportFlagBits(VkFenceImportFlagBits input_value)
  4174. {
  4175. switch ((VkFenceImportFlagBits)input_value)
  4176. {
  4177. case VK_FENCE_IMPORT_TEMPORARY_BIT:
  4178. return "VK_FENCE_IMPORT_TEMPORARY_BIT";
  4179. default:
  4180. return "Unhandled VkFenceImportFlagBits";
  4181. }
  4182. }
  4183. static inline std::string string_VkFenceImportFlags(VkFenceImportFlags input_value)
  4184. {
  4185. std::string ret;
  4186. int index = 0;
  4187. while(input_value) {
  4188. if (input_value & 1) {
  4189. if( !ret.empty()) ret.append("|");
  4190. ret.append(string_VkFenceImportFlagBits(static_cast<VkFenceImportFlagBits>(1 << index)));
  4191. }
  4192. ++index;
  4193. input_value >>= 1;
  4194. }
  4195. if( ret.empty()) ret.append(string_VkFenceImportFlagBits(static_cast<VkFenceImportFlagBits>(0)));
  4196. return ret;
  4197. }
  4198. static inline const char* string_VkSemaphoreImportFlagBits(VkSemaphoreImportFlagBits input_value)
  4199. {
  4200. switch ((VkSemaphoreImportFlagBits)input_value)
  4201. {
  4202. case VK_SEMAPHORE_IMPORT_TEMPORARY_BIT:
  4203. return "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT";
  4204. default:
  4205. return "Unhandled VkSemaphoreImportFlagBits";
  4206. }
  4207. }
  4208. static inline std::string string_VkSemaphoreImportFlags(VkSemaphoreImportFlags input_value)
  4209. {
  4210. std::string ret;
  4211. int index = 0;
  4212. while(input_value) {
  4213. if (input_value & 1) {
  4214. if( !ret.empty()) ret.append("|");
  4215. ret.append(string_VkSemaphoreImportFlagBits(static_cast<VkSemaphoreImportFlagBits>(1 << index)));
  4216. }
  4217. ++index;
  4218. input_value >>= 1;
  4219. }
  4220. if( ret.empty()) ret.append(string_VkSemaphoreImportFlagBits(static_cast<VkSemaphoreImportFlagBits>(0)));
  4221. return ret;
  4222. }
  4223. static inline const char* string_VkExternalSemaphoreHandleTypeFlagBits(VkExternalSemaphoreHandleTypeFlagBits input_value)
  4224. {
  4225. switch ((VkExternalSemaphoreHandleTypeFlagBits)input_value)
  4226. {
  4227. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT:
  4228. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT";
  4229. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT:
  4230. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT";
  4231. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4232. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4233. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4234. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4235. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT:
  4236. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT";
  4237. default:
  4238. return "Unhandled VkExternalSemaphoreHandleTypeFlagBits";
  4239. }
  4240. }
  4241. static inline std::string string_VkExternalSemaphoreHandleTypeFlags(VkExternalSemaphoreHandleTypeFlags input_value)
  4242. {
  4243. std::string ret;
  4244. int index = 0;
  4245. while(input_value) {
  4246. if (input_value & 1) {
  4247. if( !ret.empty()) ret.append("|");
  4248. ret.append(string_VkExternalSemaphoreHandleTypeFlagBits(static_cast<VkExternalSemaphoreHandleTypeFlagBits>(1 << index)));
  4249. }
  4250. ++index;
  4251. input_value >>= 1;
  4252. }
  4253. if( ret.empty()) ret.append(string_VkExternalSemaphoreHandleTypeFlagBits(static_cast<VkExternalSemaphoreHandleTypeFlagBits>(0)));
  4254. return ret;
  4255. }
  4256. static inline const char* string_VkExternalSemaphoreFeatureFlagBits(VkExternalSemaphoreFeatureFlagBits input_value)
  4257. {
  4258. switch ((VkExternalSemaphoreFeatureFlagBits)input_value)
  4259. {
  4260. case VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT:
  4261. return "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT";
  4262. case VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT:
  4263. return "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT";
  4264. default:
  4265. return "Unhandled VkExternalSemaphoreFeatureFlagBits";
  4266. }
  4267. }
  4268. static inline std::string string_VkExternalSemaphoreFeatureFlags(VkExternalSemaphoreFeatureFlags input_value)
  4269. {
  4270. std::string ret;
  4271. int index = 0;
  4272. while(input_value) {
  4273. if (input_value & 1) {
  4274. if( !ret.empty()) ret.append("|");
  4275. ret.append(string_VkExternalSemaphoreFeatureFlagBits(static_cast<VkExternalSemaphoreFeatureFlagBits>(1 << index)));
  4276. }
  4277. ++index;
  4278. input_value >>= 1;
  4279. }
  4280. if( ret.empty()) ret.append(string_VkExternalSemaphoreFeatureFlagBits(static_cast<VkExternalSemaphoreFeatureFlagBits>(0)));
  4281. return ret;
  4282. }
  4283. static inline const char* string_VkDriverId(VkDriverId input_value)
  4284. {
  4285. switch ((VkDriverId)input_value)
  4286. {
  4287. case VK_DRIVER_ID_AMD_OPEN_SOURCE:
  4288. return "VK_DRIVER_ID_AMD_OPEN_SOURCE";
  4289. case VK_DRIVER_ID_AMD_PROPRIETARY:
  4290. return "VK_DRIVER_ID_AMD_PROPRIETARY";
  4291. case VK_DRIVER_ID_ARM_PROPRIETARY:
  4292. return "VK_DRIVER_ID_ARM_PROPRIETARY";
  4293. case VK_DRIVER_ID_BROADCOM_PROPRIETARY:
  4294. return "VK_DRIVER_ID_BROADCOM_PROPRIETARY";
  4295. case VK_DRIVER_ID_GGP_PROPRIETARY:
  4296. return "VK_DRIVER_ID_GGP_PROPRIETARY";
  4297. case VK_DRIVER_ID_GOOGLE_SWIFTSHADER:
  4298. return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER";
  4299. case VK_DRIVER_ID_IMAGINATION_PROPRIETARY:
  4300. return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY";
  4301. case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA:
  4302. return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA";
  4303. case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS:
  4304. return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS";
  4305. case VK_DRIVER_ID_MESA_LLVMPIPE:
  4306. return "VK_DRIVER_ID_MESA_LLVMPIPE";
  4307. case VK_DRIVER_ID_MESA_RADV:
  4308. return "VK_DRIVER_ID_MESA_RADV";
  4309. case VK_DRIVER_ID_MOLTENVK:
  4310. return "VK_DRIVER_ID_MOLTENVK";
  4311. case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
  4312. return "VK_DRIVER_ID_NVIDIA_PROPRIETARY";
  4313. case VK_DRIVER_ID_QUALCOMM_PROPRIETARY:
  4314. return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY";
  4315. default:
  4316. return "Unhandled VkDriverId";
  4317. }
  4318. }
  4319. static inline const char* string_VkShaderFloatControlsIndependence(VkShaderFloatControlsIndependence input_value)
  4320. {
  4321. switch ((VkShaderFloatControlsIndependence)input_value)
  4322. {
  4323. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY:
  4324. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY";
  4325. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL:
  4326. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL";
  4327. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE:
  4328. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE";
  4329. default:
  4330. return "Unhandled VkShaderFloatControlsIndependence";
  4331. }
  4332. }
  4333. static inline const char* string_VkResolveModeFlagBits(VkResolveModeFlagBits input_value)
  4334. {
  4335. switch ((VkResolveModeFlagBits)input_value)
  4336. {
  4337. case VK_RESOLVE_MODE_AVERAGE_BIT:
  4338. return "VK_RESOLVE_MODE_AVERAGE_BIT";
  4339. case VK_RESOLVE_MODE_MAX_BIT:
  4340. return "VK_RESOLVE_MODE_MAX_BIT";
  4341. case VK_RESOLVE_MODE_MIN_BIT:
  4342. return "VK_RESOLVE_MODE_MIN_BIT";
  4343. case VK_RESOLVE_MODE_NONE:
  4344. return "VK_RESOLVE_MODE_NONE";
  4345. case VK_RESOLVE_MODE_SAMPLE_ZERO_BIT:
  4346. return "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT";
  4347. default:
  4348. return "Unhandled VkResolveModeFlagBits";
  4349. }
  4350. }
  4351. static inline std::string string_VkResolveModeFlags(VkResolveModeFlags input_value)
  4352. {
  4353. std::string ret;
  4354. int index = 0;
  4355. while(input_value) {
  4356. if (input_value & 1) {
  4357. if( !ret.empty()) ret.append("|");
  4358. ret.append(string_VkResolveModeFlagBits(static_cast<VkResolveModeFlagBits>(1 << index)));
  4359. }
  4360. ++index;
  4361. input_value >>= 1;
  4362. }
  4363. if( ret.empty()) ret.append(string_VkResolveModeFlagBits(static_cast<VkResolveModeFlagBits>(0)));
  4364. return ret;
  4365. }
  4366. static inline const char* string_VkDescriptorBindingFlagBits(VkDescriptorBindingFlagBits input_value)
  4367. {
  4368. switch ((VkDescriptorBindingFlagBits)input_value)
  4369. {
  4370. case VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT:
  4371. return "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT";
  4372. case VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT:
  4373. return "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT";
  4374. case VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT:
  4375. return "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT";
  4376. case VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT:
  4377. return "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT";
  4378. default:
  4379. return "Unhandled VkDescriptorBindingFlagBits";
  4380. }
  4381. }
  4382. static inline std::string string_VkDescriptorBindingFlags(VkDescriptorBindingFlags input_value)
  4383. {
  4384. std::string ret;
  4385. int index = 0;
  4386. while(input_value) {
  4387. if (input_value & 1) {
  4388. if( !ret.empty()) ret.append("|");
  4389. ret.append(string_VkDescriptorBindingFlagBits(static_cast<VkDescriptorBindingFlagBits>(1 << index)));
  4390. }
  4391. ++index;
  4392. input_value >>= 1;
  4393. }
  4394. if( ret.empty()) ret.append(string_VkDescriptorBindingFlagBits(static_cast<VkDescriptorBindingFlagBits>(0)));
  4395. return ret;
  4396. }
  4397. static inline const char* string_VkSamplerReductionMode(VkSamplerReductionMode input_value)
  4398. {
  4399. switch ((VkSamplerReductionMode)input_value)
  4400. {
  4401. case VK_SAMPLER_REDUCTION_MODE_MAX:
  4402. return "VK_SAMPLER_REDUCTION_MODE_MAX";
  4403. case VK_SAMPLER_REDUCTION_MODE_MIN:
  4404. return "VK_SAMPLER_REDUCTION_MODE_MIN";
  4405. case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE:
  4406. return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE";
  4407. default:
  4408. return "Unhandled VkSamplerReductionMode";
  4409. }
  4410. }
  4411. static inline const char* string_VkSemaphoreType(VkSemaphoreType input_value)
  4412. {
  4413. switch ((VkSemaphoreType)input_value)
  4414. {
  4415. case VK_SEMAPHORE_TYPE_BINARY:
  4416. return "VK_SEMAPHORE_TYPE_BINARY";
  4417. case VK_SEMAPHORE_TYPE_TIMELINE:
  4418. return "VK_SEMAPHORE_TYPE_TIMELINE";
  4419. default:
  4420. return "Unhandled VkSemaphoreType";
  4421. }
  4422. }
  4423. static inline const char* string_VkSemaphoreWaitFlagBits(VkSemaphoreWaitFlagBits input_value)
  4424. {
  4425. switch ((VkSemaphoreWaitFlagBits)input_value)
  4426. {
  4427. case VK_SEMAPHORE_WAIT_ANY_BIT:
  4428. return "VK_SEMAPHORE_WAIT_ANY_BIT";
  4429. default:
  4430. return "Unhandled VkSemaphoreWaitFlagBits";
  4431. }
  4432. }
  4433. static inline std::string string_VkSemaphoreWaitFlags(VkSemaphoreWaitFlags input_value)
  4434. {
  4435. std::string ret;
  4436. int index = 0;
  4437. while(input_value) {
  4438. if (input_value & 1) {
  4439. if( !ret.empty()) ret.append("|");
  4440. ret.append(string_VkSemaphoreWaitFlagBits(static_cast<VkSemaphoreWaitFlagBits>(1 << index)));
  4441. }
  4442. ++index;
  4443. input_value >>= 1;
  4444. }
  4445. if( ret.empty()) ret.append(string_VkSemaphoreWaitFlagBits(static_cast<VkSemaphoreWaitFlagBits>(0)));
  4446. return ret;
  4447. }
  4448. static inline const char* string_VkSurfaceTransformFlagBitsKHR(VkSurfaceTransformFlagBitsKHR input_value)
  4449. {
  4450. switch ((VkSurfaceTransformFlagBitsKHR)input_value)
  4451. {
  4452. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR:
  4453. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR";
  4454. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR:
  4455. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR";
  4456. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR:
  4457. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR";
  4458. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR:
  4459. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR";
  4460. case VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR:
  4461. return "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR";
  4462. case VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR:
  4463. return "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR";
  4464. case VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR:
  4465. return "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR";
  4466. case VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR:
  4467. return "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR";
  4468. case VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR:
  4469. return "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR";
  4470. default:
  4471. return "Unhandled VkSurfaceTransformFlagBitsKHR";
  4472. }
  4473. }
  4474. static inline std::string string_VkSurfaceTransformFlagsKHR(VkSurfaceTransformFlagsKHR input_value)
  4475. {
  4476. std::string ret;
  4477. int index = 0;
  4478. while(input_value) {
  4479. if (input_value & 1) {
  4480. if( !ret.empty()) ret.append("|");
  4481. ret.append(string_VkSurfaceTransformFlagBitsKHR(static_cast<VkSurfaceTransformFlagBitsKHR>(1 << index)));
  4482. }
  4483. ++index;
  4484. input_value >>= 1;
  4485. }
  4486. if( ret.empty()) ret.append(string_VkSurfaceTransformFlagBitsKHR(static_cast<VkSurfaceTransformFlagBitsKHR>(0)));
  4487. return ret;
  4488. }
  4489. static inline const char* string_VkPresentModeKHR(VkPresentModeKHR input_value)
  4490. {
  4491. switch ((VkPresentModeKHR)input_value)
  4492. {
  4493. case VK_PRESENT_MODE_FIFO_KHR:
  4494. return "VK_PRESENT_MODE_FIFO_KHR";
  4495. case VK_PRESENT_MODE_FIFO_RELAXED_KHR:
  4496. return "VK_PRESENT_MODE_FIFO_RELAXED_KHR";
  4497. case VK_PRESENT_MODE_IMMEDIATE_KHR:
  4498. return "VK_PRESENT_MODE_IMMEDIATE_KHR";
  4499. case VK_PRESENT_MODE_MAILBOX_KHR:
  4500. return "VK_PRESENT_MODE_MAILBOX_KHR";
  4501. case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR:
  4502. return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR";
  4503. case VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR:
  4504. return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR";
  4505. default:
  4506. return "Unhandled VkPresentModeKHR";
  4507. }
  4508. }
  4509. static inline const char* string_VkColorSpaceKHR(VkColorSpaceKHR input_value)
  4510. {
  4511. switch ((VkColorSpaceKHR)input_value)
  4512. {
  4513. case VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT:
  4514. return "VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT";
  4515. case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT:
  4516. return "VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT";
  4517. case VK_COLOR_SPACE_BT2020_LINEAR_EXT:
  4518. return "VK_COLOR_SPACE_BT2020_LINEAR_EXT";
  4519. case VK_COLOR_SPACE_BT709_LINEAR_EXT:
  4520. return "VK_COLOR_SPACE_BT709_LINEAR_EXT";
  4521. case VK_COLOR_SPACE_BT709_NONLINEAR_EXT:
  4522. return "VK_COLOR_SPACE_BT709_NONLINEAR_EXT";
  4523. case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT:
  4524. return "VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT";
  4525. case VK_COLOR_SPACE_DISPLAY_NATIVE_AMD:
  4526. return "VK_COLOR_SPACE_DISPLAY_NATIVE_AMD";
  4527. case VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT:
  4528. return "VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT";
  4529. case VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT:
  4530. return "VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT";
  4531. case VK_COLOR_SPACE_DOLBYVISION_EXT:
  4532. return "VK_COLOR_SPACE_DOLBYVISION_EXT";
  4533. case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:
  4534. return "VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT";
  4535. case VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT:
  4536. return "VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT";
  4537. case VK_COLOR_SPACE_HDR10_HLG_EXT:
  4538. return "VK_COLOR_SPACE_HDR10_HLG_EXT";
  4539. case VK_COLOR_SPACE_HDR10_ST2084_EXT:
  4540. return "VK_COLOR_SPACE_HDR10_ST2084_EXT";
  4541. case VK_COLOR_SPACE_PASS_THROUGH_EXT:
  4542. return "VK_COLOR_SPACE_PASS_THROUGH_EXT";
  4543. case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR:
  4544. return "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR";
  4545. default:
  4546. return "Unhandled VkColorSpaceKHR";
  4547. }
  4548. }
  4549. static inline const char* string_VkCompositeAlphaFlagBitsKHR(VkCompositeAlphaFlagBitsKHR input_value)
  4550. {
  4551. switch ((VkCompositeAlphaFlagBitsKHR)input_value)
  4552. {
  4553. case VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR:
  4554. return "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR";
  4555. case VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:
  4556. return "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR";
  4557. case VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR:
  4558. return "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR";
  4559. case VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR:
  4560. return "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR";
  4561. default:
  4562. return "Unhandled VkCompositeAlphaFlagBitsKHR";
  4563. }
  4564. }
  4565. static inline std::string string_VkCompositeAlphaFlagsKHR(VkCompositeAlphaFlagsKHR input_value)
  4566. {
  4567. std::string ret;
  4568. int index = 0;
  4569. while(input_value) {
  4570. if (input_value & 1) {
  4571. if( !ret.empty()) ret.append("|");
  4572. ret.append(string_VkCompositeAlphaFlagBitsKHR(static_cast<VkCompositeAlphaFlagBitsKHR>(1 << index)));
  4573. }
  4574. ++index;
  4575. input_value >>= 1;
  4576. }
  4577. if( ret.empty()) ret.append(string_VkCompositeAlphaFlagBitsKHR(static_cast<VkCompositeAlphaFlagBitsKHR>(0)));
  4578. return ret;
  4579. }
  4580. static inline const char* string_VkSwapchainCreateFlagBitsKHR(VkSwapchainCreateFlagBitsKHR input_value)
  4581. {
  4582. switch ((VkSwapchainCreateFlagBitsKHR)input_value)
  4583. {
  4584. case VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR:
  4585. return "VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR";
  4586. case VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR:
  4587. return "VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR";
  4588. case VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR:
  4589. return "VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR";
  4590. default:
  4591. return "Unhandled VkSwapchainCreateFlagBitsKHR";
  4592. }
  4593. }
  4594. static inline std::string string_VkSwapchainCreateFlagsKHR(VkSwapchainCreateFlagsKHR input_value)
  4595. {
  4596. std::string ret;
  4597. int index = 0;
  4598. while(input_value) {
  4599. if (input_value & 1) {
  4600. if( !ret.empty()) ret.append("|");
  4601. ret.append(string_VkSwapchainCreateFlagBitsKHR(static_cast<VkSwapchainCreateFlagBitsKHR>(1 << index)));
  4602. }
  4603. ++index;
  4604. input_value >>= 1;
  4605. }
  4606. if( ret.empty()) ret.append(string_VkSwapchainCreateFlagBitsKHR(static_cast<VkSwapchainCreateFlagBitsKHR>(0)));
  4607. return ret;
  4608. }
  4609. static inline const char* string_VkDeviceGroupPresentModeFlagBitsKHR(VkDeviceGroupPresentModeFlagBitsKHR input_value)
  4610. {
  4611. switch ((VkDeviceGroupPresentModeFlagBitsKHR)input_value)
  4612. {
  4613. case VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR:
  4614. return "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR";
  4615. case VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR:
  4616. return "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR";
  4617. case VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR:
  4618. return "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR";
  4619. case VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR:
  4620. return "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR";
  4621. default:
  4622. return "Unhandled VkDeviceGroupPresentModeFlagBitsKHR";
  4623. }
  4624. }
  4625. static inline std::string string_VkDeviceGroupPresentModeFlagsKHR(VkDeviceGroupPresentModeFlagsKHR input_value)
  4626. {
  4627. std::string ret;
  4628. int index = 0;
  4629. while(input_value) {
  4630. if (input_value & 1) {
  4631. if( !ret.empty()) ret.append("|");
  4632. ret.append(string_VkDeviceGroupPresentModeFlagBitsKHR(static_cast<VkDeviceGroupPresentModeFlagBitsKHR>(1 << index)));
  4633. }
  4634. ++index;
  4635. input_value >>= 1;
  4636. }
  4637. if( ret.empty()) ret.append(string_VkDeviceGroupPresentModeFlagBitsKHR(static_cast<VkDeviceGroupPresentModeFlagBitsKHR>(0)));
  4638. return ret;
  4639. }
  4640. static inline const char* string_VkDisplayPlaneAlphaFlagBitsKHR(VkDisplayPlaneAlphaFlagBitsKHR input_value)
  4641. {
  4642. switch ((VkDisplayPlaneAlphaFlagBitsKHR)input_value)
  4643. {
  4644. case VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR:
  4645. return "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR";
  4646. case VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR:
  4647. return "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR";
  4648. case VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR:
  4649. return "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR";
  4650. case VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR:
  4651. return "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR";
  4652. default:
  4653. return "Unhandled VkDisplayPlaneAlphaFlagBitsKHR";
  4654. }
  4655. }
  4656. static inline std::string string_VkDisplayPlaneAlphaFlagsKHR(VkDisplayPlaneAlphaFlagsKHR input_value)
  4657. {
  4658. std::string ret;
  4659. int index = 0;
  4660. while(input_value) {
  4661. if (input_value & 1) {
  4662. if( !ret.empty()) ret.append("|");
  4663. ret.append(string_VkDisplayPlaneAlphaFlagBitsKHR(static_cast<VkDisplayPlaneAlphaFlagBitsKHR>(1 << index)));
  4664. }
  4665. ++index;
  4666. input_value >>= 1;
  4667. }
  4668. if( ret.empty()) ret.append(string_VkDisplayPlaneAlphaFlagBitsKHR(static_cast<VkDisplayPlaneAlphaFlagBitsKHR>(0)));
  4669. return ret;
  4670. }
  4671. static inline const char* string_VkPeerMemoryFeatureFlagBitsKHR(VkPeerMemoryFeatureFlagBitsKHR input_value)
  4672. {
  4673. switch ((VkPeerMemoryFeatureFlagBitsKHR)input_value)
  4674. {
  4675. case VK_PEER_MEMORY_FEATURE_COPY_DST_BIT:
  4676. return "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT";
  4677. case VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT:
  4678. return "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT";
  4679. case VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT:
  4680. return "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT";
  4681. case VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT:
  4682. return "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT";
  4683. default:
  4684. return "Unhandled VkPeerMemoryFeatureFlagBitsKHR";
  4685. }
  4686. }
  4687. static inline std::string string_VkPeerMemoryFeatureFlagsKHR(VkPeerMemoryFeatureFlagsKHR input_value)
  4688. {
  4689. std::string ret;
  4690. int index = 0;
  4691. while(input_value) {
  4692. if (input_value & 1) {
  4693. if( !ret.empty()) ret.append("|");
  4694. ret.append(string_VkPeerMemoryFeatureFlagBitsKHR(static_cast<VkPeerMemoryFeatureFlagBitsKHR>(1 << index)));
  4695. }
  4696. ++index;
  4697. input_value >>= 1;
  4698. }
  4699. if( ret.empty()) ret.append(string_VkPeerMemoryFeatureFlagBitsKHR(static_cast<VkPeerMemoryFeatureFlagBitsKHR>(0)));
  4700. return ret;
  4701. }
  4702. static inline const char* string_VkMemoryAllocateFlagBitsKHR(VkMemoryAllocateFlagBitsKHR input_value)
  4703. {
  4704. switch ((VkMemoryAllocateFlagBitsKHR)input_value)
  4705. {
  4706. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT:
  4707. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT";
  4708. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
  4709. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT";
  4710. case VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT:
  4711. return "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT";
  4712. default:
  4713. return "Unhandled VkMemoryAllocateFlagBitsKHR";
  4714. }
  4715. }
  4716. static inline std::string string_VkMemoryAllocateFlagsKHR(VkMemoryAllocateFlagsKHR input_value)
  4717. {
  4718. std::string ret;
  4719. int index = 0;
  4720. while(input_value) {
  4721. if (input_value & 1) {
  4722. if( !ret.empty()) ret.append("|");
  4723. ret.append(string_VkMemoryAllocateFlagBitsKHR(static_cast<VkMemoryAllocateFlagBitsKHR>(1 << index)));
  4724. }
  4725. ++index;
  4726. input_value >>= 1;
  4727. }
  4728. if( ret.empty()) ret.append(string_VkMemoryAllocateFlagBitsKHR(static_cast<VkMemoryAllocateFlagBitsKHR>(0)));
  4729. return ret;
  4730. }
  4731. static inline const char* string_VkExternalMemoryHandleTypeFlagBitsKHR(VkExternalMemoryHandleTypeFlagBitsKHR input_value)
  4732. {
  4733. switch ((VkExternalMemoryHandleTypeFlagBitsKHR)input_value)
  4734. {
  4735. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:
  4736. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID";
  4737. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT:
  4738. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT";
  4739. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT:
  4740. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT";
  4741. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT:
  4742. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT";
  4743. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT:
  4744. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT";
  4745. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT:
  4746. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT";
  4747. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT:
  4748. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT";
  4749. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT:
  4750. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT";
  4751. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
  4752. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT";
  4753. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4754. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4755. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4756. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4757. default:
  4758. return "Unhandled VkExternalMemoryHandleTypeFlagBitsKHR";
  4759. }
  4760. }
  4761. static inline std::string string_VkExternalMemoryHandleTypeFlagsKHR(VkExternalMemoryHandleTypeFlagsKHR input_value)
  4762. {
  4763. std::string ret;
  4764. int index = 0;
  4765. while(input_value) {
  4766. if (input_value & 1) {
  4767. if( !ret.empty()) ret.append("|");
  4768. ret.append(string_VkExternalMemoryHandleTypeFlagBitsKHR(static_cast<VkExternalMemoryHandleTypeFlagBitsKHR>(1 << index)));
  4769. }
  4770. ++index;
  4771. input_value >>= 1;
  4772. }
  4773. if( ret.empty()) ret.append(string_VkExternalMemoryHandleTypeFlagBitsKHR(static_cast<VkExternalMemoryHandleTypeFlagBitsKHR>(0)));
  4774. return ret;
  4775. }
  4776. static inline const char* string_VkExternalMemoryFeatureFlagBitsKHR(VkExternalMemoryFeatureFlagBitsKHR input_value)
  4777. {
  4778. switch ((VkExternalMemoryFeatureFlagBitsKHR)input_value)
  4779. {
  4780. case VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT:
  4781. return "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT";
  4782. case VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT:
  4783. return "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT";
  4784. case VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT:
  4785. return "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT";
  4786. default:
  4787. return "Unhandled VkExternalMemoryFeatureFlagBitsKHR";
  4788. }
  4789. }
  4790. static inline std::string string_VkExternalMemoryFeatureFlagsKHR(VkExternalMemoryFeatureFlagsKHR input_value)
  4791. {
  4792. std::string ret;
  4793. int index = 0;
  4794. while(input_value) {
  4795. if (input_value & 1) {
  4796. if( !ret.empty()) ret.append("|");
  4797. ret.append(string_VkExternalMemoryFeatureFlagBitsKHR(static_cast<VkExternalMemoryFeatureFlagBitsKHR>(1 << index)));
  4798. }
  4799. ++index;
  4800. input_value >>= 1;
  4801. }
  4802. if( ret.empty()) ret.append(string_VkExternalMemoryFeatureFlagBitsKHR(static_cast<VkExternalMemoryFeatureFlagBitsKHR>(0)));
  4803. return ret;
  4804. }
  4805. static inline const char* string_VkExternalSemaphoreHandleTypeFlagBitsKHR(VkExternalSemaphoreHandleTypeFlagBitsKHR input_value)
  4806. {
  4807. switch ((VkExternalSemaphoreHandleTypeFlagBitsKHR)input_value)
  4808. {
  4809. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT:
  4810. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT";
  4811. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT:
  4812. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT";
  4813. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4814. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4815. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4816. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4817. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT:
  4818. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT";
  4819. default:
  4820. return "Unhandled VkExternalSemaphoreHandleTypeFlagBitsKHR";
  4821. }
  4822. }
  4823. static inline std::string string_VkExternalSemaphoreHandleTypeFlagsKHR(VkExternalSemaphoreHandleTypeFlagsKHR input_value)
  4824. {
  4825. std::string ret;
  4826. int index = 0;
  4827. while(input_value) {
  4828. if (input_value & 1) {
  4829. if( !ret.empty()) ret.append("|");
  4830. ret.append(string_VkExternalSemaphoreHandleTypeFlagBitsKHR(static_cast<VkExternalSemaphoreHandleTypeFlagBitsKHR>(1 << index)));
  4831. }
  4832. ++index;
  4833. input_value >>= 1;
  4834. }
  4835. if( ret.empty()) ret.append(string_VkExternalSemaphoreHandleTypeFlagBitsKHR(static_cast<VkExternalSemaphoreHandleTypeFlagBitsKHR>(0)));
  4836. return ret;
  4837. }
  4838. static inline const char* string_VkExternalSemaphoreFeatureFlagBitsKHR(VkExternalSemaphoreFeatureFlagBitsKHR input_value)
  4839. {
  4840. switch ((VkExternalSemaphoreFeatureFlagBitsKHR)input_value)
  4841. {
  4842. case VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT:
  4843. return "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT";
  4844. case VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT:
  4845. return "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT";
  4846. default:
  4847. return "Unhandled VkExternalSemaphoreFeatureFlagBitsKHR";
  4848. }
  4849. }
  4850. static inline std::string string_VkExternalSemaphoreFeatureFlagsKHR(VkExternalSemaphoreFeatureFlagsKHR input_value)
  4851. {
  4852. std::string ret;
  4853. int index = 0;
  4854. while(input_value) {
  4855. if (input_value & 1) {
  4856. if( !ret.empty()) ret.append("|");
  4857. ret.append(string_VkExternalSemaphoreFeatureFlagBitsKHR(static_cast<VkExternalSemaphoreFeatureFlagBitsKHR>(1 << index)));
  4858. }
  4859. ++index;
  4860. input_value >>= 1;
  4861. }
  4862. if( ret.empty()) ret.append(string_VkExternalSemaphoreFeatureFlagBitsKHR(static_cast<VkExternalSemaphoreFeatureFlagBitsKHR>(0)));
  4863. return ret;
  4864. }
  4865. static inline const char* string_VkSemaphoreImportFlagBitsKHR(VkSemaphoreImportFlagBitsKHR input_value)
  4866. {
  4867. switch ((VkSemaphoreImportFlagBitsKHR)input_value)
  4868. {
  4869. case VK_SEMAPHORE_IMPORT_TEMPORARY_BIT:
  4870. return "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT";
  4871. default:
  4872. return "Unhandled VkSemaphoreImportFlagBitsKHR";
  4873. }
  4874. }
  4875. static inline std::string string_VkSemaphoreImportFlagsKHR(VkSemaphoreImportFlagsKHR input_value)
  4876. {
  4877. std::string ret;
  4878. int index = 0;
  4879. while(input_value) {
  4880. if (input_value & 1) {
  4881. if( !ret.empty()) ret.append("|");
  4882. ret.append(string_VkSemaphoreImportFlagBitsKHR(static_cast<VkSemaphoreImportFlagBitsKHR>(1 << index)));
  4883. }
  4884. ++index;
  4885. input_value >>= 1;
  4886. }
  4887. if( ret.empty()) ret.append(string_VkSemaphoreImportFlagBitsKHR(static_cast<VkSemaphoreImportFlagBitsKHR>(0)));
  4888. return ret;
  4889. }
  4890. static inline const char* string_VkDescriptorUpdateTemplateTypeKHR(VkDescriptorUpdateTemplateTypeKHR input_value)
  4891. {
  4892. switch ((VkDescriptorUpdateTemplateTypeKHR)input_value)
  4893. {
  4894. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET:
  4895. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET";
  4896. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR:
  4897. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR";
  4898. default:
  4899. return "Unhandled VkDescriptorUpdateTemplateTypeKHR";
  4900. }
  4901. }
  4902. static inline const char* string_VkExternalFenceHandleTypeFlagBitsKHR(VkExternalFenceHandleTypeFlagBitsKHR input_value)
  4903. {
  4904. switch ((VkExternalFenceHandleTypeFlagBitsKHR)input_value)
  4905. {
  4906. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT:
  4907. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT";
  4908. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4909. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4910. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4911. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4912. case VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT:
  4913. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT";
  4914. default:
  4915. return "Unhandled VkExternalFenceHandleTypeFlagBitsKHR";
  4916. }
  4917. }
  4918. static inline std::string string_VkExternalFenceHandleTypeFlagsKHR(VkExternalFenceHandleTypeFlagsKHR input_value)
  4919. {
  4920. std::string ret;
  4921. int index = 0;
  4922. while(input_value) {
  4923. if (input_value & 1) {
  4924. if( !ret.empty()) ret.append("|");
  4925. ret.append(string_VkExternalFenceHandleTypeFlagBitsKHR(static_cast<VkExternalFenceHandleTypeFlagBitsKHR>(1 << index)));
  4926. }
  4927. ++index;
  4928. input_value >>= 1;
  4929. }
  4930. if( ret.empty()) ret.append(string_VkExternalFenceHandleTypeFlagBitsKHR(static_cast<VkExternalFenceHandleTypeFlagBitsKHR>(0)));
  4931. return ret;
  4932. }
  4933. static inline const char* string_VkExternalFenceFeatureFlagBitsKHR(VkExternalFenceFeatureFlagBitsKHR input_value)
  4934. {
  4935. switch ((VkExternalFenceFeatureFlagBitsKHR)input_value)
  4936. {
  4937. case VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT:
  4938. return "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT";
  4939. case VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT:
  4940. return "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT";
  4941. default:
  4942. return "Unhandled VkExternalFenceFeatureFlagBitsKHR";
  4943. }
  4944. }
  4945. static inline std::string string_VkExternalFenceFeatureFlagsKHR(VkExternalFenceFeatureFlagsKHR input_value)
  4946. {
  4947. std::string ret;
  4948. int index = 0;
  4949. while(input_value) {
  4950. if (input_value & 1) {
  4951. if( !ret.empty()) ret.append("|");
  4952. ret.append(string_VkExternalFenceFeatureFlagBitsKHR(static_cast<VkExternalFenceFeatureFlagBitsKHR>(1 << index)));
  4953. }
  4954. ++index;
  4955. input_value >>= 1;
  4956. }
  4957. if( ret.empty()) ret.append(string_VkExternalFenceFeatureFlagBitsKHR(static_cast<VkExternalFenceFeatureFlagBitsKHR>(0)));
  4958. return ret;
  4959. }
  4960. static inline const char* string_VkFenceImportFlagBitsKHR(VkFenceImportFlagBitsKHR input_value)
  4961. {
  4962. switch ((VkFenceImportFlagBitsKHR)input_value)
  4963. {
  4964. case VK_FENCE_IMPORT_TEMPORARY_BIT:
  4965. return "VK_FENCE_IMPORT_TEMPORARY_BIT";
  4966. default:
  4967. return "Unhandled VkFenceImportFlagBitsKHR";
  4968. }
  4969. }
  4970. static inline std::string string_VkFenceImportFlagsKHR(VkFenceImportFlagsKHR input_value)
  4971. {
  4972. std::string ret;
  4973. int index = 0;
  4974. while(input_value) {
  4975. if (input_value & 1) {
  4976. if( !ret.empty()) ret.append("|");
  4977. ret.append(string_VkFenceImportFlagBitsKHR(static_cast<VkFenceImportFlagBitsKHR>(1 << index)));
  4978. }
  4979. ++index;
  4980. input_value >>= 1;
  4981. }
  4982. if( ret.empty()) ret.append(string_VkFenceImportFlagBitsKHR(static_cast<VkFenceImportFlagBitsKHR>(0)));
  4983. return ret;
  4984. }
  4985. static inline const char* string_VkPerformanceCounterUnitKHR(VkPerformanceCounterUnitKHR input_value)
  4986. {
  4987. switch ((VkPerformanceCounterUnitKHR)input_value)
  4988. {
  4989. case VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR:
  4990. return "VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR";
  4991. case VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR:
  4992. return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR";
  4993. case VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR:
  4994. return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR";
  4995. case VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR:
  4996. return "VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR";
  4997. case VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR:
  4998. return "VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR";
  4999. case VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR:
  5000. return "VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR";
  5001. case VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR:
  5002. return "VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR";
  5003. case VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR:
  5004. return "VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR";
  5005. case VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR:
  5006. return "VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR";
  5007. case VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR:
  5008. return "VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR";
  5009. case VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR:
  5010. return "VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR";
  5011. default:
  5012. return "Unhandled VkPerformanceCounterUnitKHR";
  5013. }
  5014. }
  5015. static inline const char* string_VkPerformanceCounterScopeKHR(VkPerformanceCounterScopeKHR input_value)
  5016. {
  5017. switch ((VkPerformanceCounterScopeKHR)input_value)
  5018. {
  5019. case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR:
  5020. return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR";
  5021. case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR:
  5022. return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR";
  5023. case VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR:
  5024. return "VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR";
  5025. default:
  5026. return "Unhandled VkPerformanceCounterScopeKHR";
  5027. }
  5028. }
  5029. static inline const char* string_VkPerformanceCounterStorageKHR(VkPerformanceCounterStorageKHR input_value)
  5030. {
  5031. switch ((VkPerformanceCounterStorageKHR)input_value)
  5032. {
  5033. case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR:
  5034. return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR";
  5035. case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR:
  5036. return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR";
  5037. case VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR:
  5038. return "VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR";
  5039. case VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR:
  5040. return "VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR";
  5041. case VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR:
  5042. return "VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR";
  5043. case VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR:
  5044. return "VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR";
  5045. default:
  5046. return "Unhandled VkPerformanceCounterStorageKHR";
  5047. }
  5048. }
  5049. static inline const char* string_VkPerformanceCounterDescriptionFlagBitsKHR(VkPerformanceCounterDescriptionFlagBitsKHR input_value)
  5050. {
  5051. switch ((VkPerformanceCounterDescriptionFlagBitsKHR)input_value)
  5052. {
  5053. case VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR:
  5054. return "VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR";
  5055. case VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR:
  5056. return "VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR";
  5057. default:
  5058. return "Unhandled VkPerformanceCounterDescriptionFlagBitsKHR";
  5059. }
  5060. }
  5061. static inline std::string string_VkPerformanceCounterDescriptionFlagsKHR(VkPerformanceCounterDescriptionFlagsKHR input_value)
  5062. {
  5063. std::string ret;
  5064. int index = 0;
  5065. while(input_value) {
  5066. if (input_value & 1) {
  5067. if( !ret.empty()) ret.append("|");
  5068. ret.append(string_VkPerformanceCounterDescriptionFlagBitsKHR(static_cast<VkPerformanceCounterDescriptionFlagBitsKHR>(1 << index)));
  5069. }
  5070. ++index;
  5071. input_value >>= 1;
  5072. }
  5073. if( ret.empty()) ret.append(string_VkPerformanceCounterDescriptionFlagBitsKHR(static_cast<VkPerformanceCounterDescriptionFlagBitsKHR>(0)));
  5074. return ret;
  5075. }
  5076. static inline const char* string_VkPointClippingBehaviorKHR(VkPointClippingBehaviorKHR input_value)
  5077. {
  5078. switch ((VkPointClippingBehaviorKHR)input_value)
  5079. {
  5080. case VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES:
  5081. return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES";
  5082. case VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY:
  5083. return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY";
  5084. default:
  5085. return "Unhandled VkPointClippingBehaviorKHR";
  5086. }
  5087. }
  5088. static inline const char* string_VkTessellationDomainOriginKHR(VkTessellationDomainOriginKHR input_value)
  5089. {
  5090. switch ((VkTessellationDomainOriginKHR)input_value)
  5091. {
  5092. case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT:
  5093. return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT";
  5094. case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT:
  5095. return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT";
  5096. default:
  5097. return "Unhandled VkTessellationDomainOriginKHR";
  5098. }
  5099. }
  5100. static inline const char* string_VkSamplerYcbcrModelConversionKHR(VkSamplerYcbcrModelConversionKHR input_value)
  5101. {
  5102. switch ((VkSamplerYcbcrModelConversionKHR)input_value)
  5103. {
  5104. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY:
  5105. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY";
  5106. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020:
  5107. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020";
  5108. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601:
  5109. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601";
  5110. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709:
  5111. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709";
  5112. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY:
  5113. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY";
  5114. default:
  5115. return "Unhandled VkSamplerYcbcrModelConversionKHR";
  5116. }
  5117. }
  5118. static inline const char* string_VkSamplerYcbcrRangeKHR(VkSamplerYcbcrRangeKHR input_value)
  5119. {
  5120. switch ((VkSamplerYcbcrRangeKHR)input_value)
  5121. {
  5122. case VK_SAMPLER_YCBCR_RANGE_ITU_FULL:
  5123. return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL";
  5124. case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW:
  5125. return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW";
  5126. default:
  5127. return "Unhandled VkSamplerYcbcrRangeKHR";
  5128. }
  5129. }
  5130. static inline const char* string_VkChromaLocationKHR(VkChromaLocationKHR input_value)
  5131. {
  5132. switch ((VkChromaLocationKHR)input_value)
  5133. {
  5134. case VK_CHROMA_LOCATION_COSITED_EVEN:
  5135. return "VK_CHROMA_LOCATION_COSITED_EVEN";
  5136. case VK_CHROMA_LOCATION_MIDPOINT:
  5137. return "VK_CHROMA_LOCATION_MIDPOINT";
  5138. default:
  5139. return "Unhandled VkChromaLocationKHR";
  5140. }
  5141. }
  5142. static inline const char* string_VkDriverIdKHR(VkDriverIdKHR input_value)
  5143. {
  5144. switch ((VkDriverIdKHR)input_value)
  5145. {
  5146. case VK_DRIVER_ID_AMD_OPEN_SOURCE:
  5147. return "VK_DRIVER_ID_AMD_OPEN_SOURCE";
  5148. case VK_DRIVER_ID_AMD_PROPRIETARY:
  5149. return "VK_DRIVER_ID_AMD_PROPRIETARY";
  5150. case VK_DRIVER_ID_ARM_PROPRIETARY:
  5151. return "VK_DRIVER_ID_ARM_PROPRIETARY";
  5152. case VK_DRIVER_ID_BROADCOM_PROPRIETARY:
  5153. return "VK_DRIVER_ID_BROADCOM_PROPRIETARY";
  5154. case VK_DRIVER_ID_GGP_PROPRIETARY:
  5155. return "VK_DRIVER_ID_GGP_PROPRIETARY";
  5156. case VK_DRIVER_ID_GOOGLE_SWIFTSHADER:
  5157. return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER";
  5158. case VK_DRIVER_ID_IMAGINATION_PROPRIETARY:
  5159. return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY";
  5160. case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA:
  5161. return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA";
  5162. case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS:
  5163. return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS";
  5164. case VK_DRIVER_ID_MESA_LLVMPIPE:
  5165. return "VK_DRIVER_ID_MESA_LLVMPIPE";
  5166. case VK_DRIVER_ID_MESA_RADV:
  5167. return "VK_DRIVER_ID_MESA_RADV";
  5168. case VK_DRIVER_ID_MOLTENVK:
  5169. return "VK_DRIVER_ID_MOLTENVK";
  5170. case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
  5171. return "VK_DRIVER_ID_NVIDIA_PROPRIETARY";
  5172. case VK_DRIVER_ID_QUALCOMM_PROPRIETARY:
  5173. return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY";
  5174. default:
  5175. return "Unhandled VkDriverIdKHR";
  5176. }
  5177. }
  5178. static inline const char* string_VkShaderFloatControlsIndependenceKHR(VkShaderFloatControlsIndependenceKHR input_value)
  5179. {
  5180. switch ((VkShaderFloatControlsIndependenceKHR)input_value)
  5181. {
  5182. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY:
  5183. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY";
  5184. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL:
  5185. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL";
  5186. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE:
  5187. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE";
  5188. default:
  5189. return "Unhandled VkShaderFloatControlsIndependenceKHR";
  5190. }
  5191. }
  5192. static inline const char* string_VkResolveModeFlagBitsKHR(VkResolveModeFlagBitsKHR input_value)
  5193. {
  5194. switch ((VkResolveModeFlagBitsKHR)input_value)
  5195. {
  5196. case VK_RESOLVE_MODE_AVERAGE_BIT:
  5197. return "VK_RESOLVE_MODE_AVERAGE_BIT";
  5198. case VK_RESOLVE_MODE_MAX_BIT:
  5199. return "VK_RESOLVE_MODE_MAX_BIT";
  5200. case VK_RESOLVE_MODE_MIN_BIT:
  5201. return "VK_RESOLVE_MODE_MIN_BIT";
  5202. case VK_RESOLVE_MODE_NONE:
  5203. return "VK_RESOLVE_MODE_NONE";
  5204. case VK_RESOLVE_MODE_SAMPLE_ZERO_BIT:
  5205. return "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT";
  5206. default:
  5207. return "Unhandled VkResolveModeFlagBitsKHR";
  5208. }
  5209. }
  5210. static inline std::string string_VkResolveModeFlagsKHR(VkResolveModeFlagsKHR input_value)
  5211. {
  5212. std::string ret;
  5213. int index = 0;
  5214. while(input_value) {
  5215. if (input_value & 1) {
  5216. if( !ret.empty()) ret.append("|");
  5217. ret.append(string_VkResolveModeFlagBitsKHR(static_cast<VkResolveModeFlagBitsKHR>(1 << index)));
  5218. }
  5219. ++index;
  5220. input_value >>= 1;
  5221. }
  5222. if( ret.empty()) ret.append(string_VkResolveModeFlagBitsKHR(static_cast<VkResolveModeFlagBitsKHR>(0)));
  5223. return ret;
  5224. }
  5225. static inline const char* string_VkSemaphoreTypeKHR(VkSemaphoreTypeKHR input_value)
  5226. {
  5227. switch ((VkSemaphoreTypeKHR)input_value)
  5228. {
  5229. case VK_SEMAPHORE_TYPE_BINARY:
  5230. return "VK_SEMAPHORE_TYPE_BINARY";
  5231. case VK_SEMAPHORE_TYPE_TIMELINE:
  5232. return "VK_SEMAPHORE_TYPE_TIMELINE";
  5233. default:
  5234. return "Unhandled VkSemaphoreTypeKHR";
  5235. }
  5236. }
  5237. static inline const char* string_VkSemaphoreWaitFlagBitsKHR(VkSemaphoreWaitFlagBitsKHR input_value)
  5238. {
  5239. switch ((VkSemaphoreWaitFlagBitsKHR)input_value)
  5240. {
  5241. case VK_SEMAPHORE_WAIT_ANY_BIT:
  5242. return "VK_SEMAPHORE_WAIT_ANY_BIT";
  5243. default:
  5244. return "Unhandled VkSemaphoreWaitFlagBitsKHR";
  5245. }
  5246. }
  5247. static inline std::string string_VkSemaphoreWaitFlagsKHR(VkSemaphoreWaitFlagsKHR input_value)
  5248. {
  5249. std::string ret;
  5250. int index = 0;
  5251. while(input_value) {
  5252. if (input_value & 1) {
  5253. if( !ret.empty()) ret.append("|");
  5254. ret.append(string_VkSemaphoreWaitFlagBitsKHR(static_cast<VkSemaphoreWaitFlagBitsKHR>(1 << index)));
  5255. }
  5256. ++index;
  5257. input_value >>= 1;
  5258. }
  5259. if( ret.empty()) ret.append(string_VkSemaphoreWaitFlagBitsKHR(static_cast<VkSemaphoreWaitFlagBitsKHR>(0)));
  5260. return ret;
  5261. }
  5262. static inline const char* string_VkFragmentShadingRateCombinerOpKHR(VkFragmentShadingRateCombinerOpKHR input_value)
  5263. {
  5264. switch ((VkFragmentShadingRateCombinerOpKHR)input_value)
  5265. {
  5266. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR:
  5267. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR";
  5268. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR:
  5269. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR";
  5270. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR:
  5271. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR";
  5272. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR:
  5273. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR";
  5274. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR:
  5275. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR";
  5276. default:
  5277. return "Unhandled VkFragmentShadingRateCombinerOpKHR";
  5278. }
  5279. }
  5280. static inline const char* string_VkPipelineExecutableStatisticFormatKHR(VkPipelineExecutableStatisticFormatKHR input_value)
  5281. {
  5282. switch ((VkPipelineExecutableStatisticFormatKHR)input_value)
  5283. {
  5284. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR:
  5285. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR";
  5286. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR:
  5287. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR";
  5288. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR:
  5289. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR";
  5290. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR:
  5291. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR";
  5292. default:
  5293. return "Unhandled VkPipelineExecutableStatisticFormatKHR";
  5294. }
  5295. }
  5296. static inline const char* string_VkDebugReportFlagBitsEXT(VkDebugReportFlagBitsEXT input_value)
  5297. {
  5298. switch ((VkDebugReportFlagBitsEXT)input_value)
  5299. {
  5300. case VK_DEBUG_REPORT_DEBUG_BIT_EXT:
  5301. return "VK_DEBUG_REPORT_DEBUG_BIT_EXT";
  5302. case VK_DEBUG_REPORT_ERROR_BIT_EXT:
  5303. return "VK_DEBUG_REPORT_ERROR_BIT_EXT";
  5304. case VK_DEBUG_REPORT_INFORMATION_BIT_EXT:
  5305. return "VK_DEBUG_REPORT_INFORMATION_BIT_EXT";
  5306. case VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT:
  5307. return "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT";
  5308. case VK_DEBUG_REPORT_WARNING_BIT_EXT:
  5309. return "VK_DEBUG_REPORT_WARNING_BIT_EXT";
  5310. default:
  5311. return "Unhandled VkDebugReportFlagBitsEXT";
  5312. }
  5313. }
  5314. static inline std::string string_VkDebugReportFlagsEXT(VkDebugReportFlagsEXT input_value)
  5315. {
  5316. std::string ret;
  5317. int index = 0;
  5318. while(input_value) {
  5319. if (input_value & 1) {
  5320. if( !ret.empty()) ret.append("|");
  5321. ret.append(string_VkDebugReportFlagBitsEXT(static_cast<VkDebugReportFlagBitsEXT>(1 << index)));
  5322. }
  5323. ++index;
  5324. input_value >>= 1;
  5325. }
  5326. if( ret.empty()) ret.append(string_VkDebugReportFlagBitsEXT(static_cast<VkDebugReportFlagBitsEXT>(0)));
  5327. return ret;
  5328. }
  5329. static inline const char* string_VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT input_value)
  5330. {
  5331. switch ((VkDebugReportObjectTypeEXT)input_value)
  5332. {
  5333. case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT:
  5334. return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT";
  5335. case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT:
  5336. return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT";
  5337. case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT:
  5338. return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT";
  5339. case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT:
  5340. return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT";
  5341. case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT:
  5342. return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT";
  5343. case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT:
  5344. return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT";
  5345. case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT:
  5346. return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT";
  5347. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT:
  5348. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT";
  5349. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT:
  5350. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT";
  5351. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT:
  5352. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT";
  5353. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT:
  5354. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT";
  5355. case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT:
  5356. return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT";
  5357. case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT:
  5358. return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT";
  5359. case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT:
  5360. return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT";
  5361. case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT:
  5362. return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT";
  5363. case VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT:
  5364. return "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT";
  5365. case VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT:
  5366. return "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT";
  5367. case VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT:
  5368. return "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT";
  5369. case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT:
  5370. return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT";
  5371. case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT:
  5372. return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT";
  5373. case VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT:
  5374. return "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT";
  5375. case VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT:
  5376. return "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT";
  5377. case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT:
  5378. return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT";
  5379. case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT:
  5380. return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT";
  5381. case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT:
  5382. return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT";
  5383. case VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT:
  5384. return "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT";
  5385. case VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT:
  5386. return "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT";
  5387. case VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT:
  5388. return "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT";
  5389. case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT:
  5390. return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT";
  5391. case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT:
  5392. return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT";
  5393. case VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT:
  5394. return "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT";
  5395. case VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT:
  5396. return "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT";
  5397. case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT:
  5398. return "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT";
  5399. case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT:
  5400. return "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT";
  5401. case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT:
  5402. return "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT";
  5403. case VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT:
  5404. return "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT";
  5405. default:
  5406. return "Unhandled VkDebugReportObjectTypeEXT";
  5407. }
  5408. }
  5409. static inline const char* string_VkRasterizationOrderAMD(VkRasterizationOrderAMD input_value)
  5410. {
  5411. switch ((VkRasterizationOrderAMD)input_value)
  5412. {
  5413. case VK_RASTERIZATION_ORDER_RELAXED_AMD:
  5414. return "VK_RASTERIZATION_ORDER_RELAXED_AMD";
  5415. case VK_RASTERIZATION_ORDER_STRICT_AMD:
  5416. return "VK_RASTERIZATION_ORDER_STRICT_AMD";
  5417. default:
  5418. return "Unhandled VkRasterizationOrderAMD";
  5419. }
  5420. }
  5421. static inline const char* string_VkShaderInfoTypeAMD(VkShaderInfoTypeAMD input_value)
  5422. {
  5423. switch ((VkShaderInfoTypeAMD)input_value)
  5424. {
  5425. case VK_SHADER_INFO_TYPE_BINARY_AMD:
  5426. return "VK_SHADER_INFO_TYPE_BINARY_AMD";
  5427. case VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD:
  5428. return "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD";
  5429. case VK_SHADER_INFO_TYPE_STATISTICS_AMD:
  5430. return "VK_SHADER_INFO_TYPE_STATISTICS_AMD";
  5431. default:
  5432. return "Unhandled VkShaderInfoTypeAMD";
  5433. }
  5434. }
  5435. static inline const char* string_VkExternalMemoryHandleTypeFlagBitsNV(VkExternalMemoryHandleTypeFlagBitsNV input_value)
  5436. {
  5437. switch ((VkExternalMemoryHandleTypeFlagBitsNV)input_value)
  5438. {
  5439. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV:
  5440. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV";
  5441. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV:
  5442. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV";
  5443. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV:
  5444. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV";
  5445. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV:
  5446. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV";
  5447. default:
  5448. return "Unhandled VkExternalMemoryHandleTypeFlagBitsNV";
  5449. }
  5450. }
  5451. static inline std::string string_VkExternalMemoryHandleTypeFlagsNV(VkExternalMemoryHandleTypeFlagsNV input_value)
  5452. {
  5453. std::string ret;
  5454. int index = 0;
  5455. while(input_value) {
  5456. if (input_value & 1) {
  5457. if( !ret.empty()) ret.append("|");
  5458. ret.append(string_VkExternalMemoryHandleTypeFlagBitsNV(static_cast<VkExternalMemoryHandleTypeFlagBitsNV>(1 << index)));
  5459. }
  5460. ++index;
  5461. input_value >>= 1;
  5462. }
  5463. if( ret.empty()) ret.append(string_VkExternalMemoryHandleTypeFlagBitsNV(static_cast<VkExternalMemoryHandleTypeFlagBitsNV>(0)));
  5464. return ret;
  5465. }
  5466. static inline const char* string_VkExternalMemoryFeatureFlagBitsNV(VkExternalMemoryFeatureFlagBitsNV input_value)
  5467. {
  5468. switch ((VkExternalMemoryFeatureFlagBitsNV)input_value)
  5469. {
  5470. case VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV:
  5471. return "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV";
  5472. case VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV:
  5473. return "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV";
  5474. case VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV:
  5475. return "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV";
  5476. default:
  5477. return "Unhandled VkExternalMemoryFeatureFlagBitsNV";
  5478. }
  5479. }
  5480. static inline std::string string_VkExternalMemoryFeatureFlagsNV(VkExternalMemoryFeatureFlagsNV input_value)
  5481. {
  5482. std::string ret;
  5483. int index = 0;
  5484. while(input_value) {
  5485. if (input_value & 1) {
  5486. if( !ret.empty()) ret.append("|");
  5487. ret.append(string_VkExternalMemoryFeatureFlagBitsNV(static_cast<VkExternalMemoryFeatureFlagBitsNV>(1 << index)));
  5488. }
  5489. ++index;
  5490. input_value >>= 1;
  5491. }
  5492. if( ret.empty()) ret.append(string_VkExternalMemoryFeatureFlagBitsNV(static_cast<VkExternalMemoryFeatureFlagBitsNV>(0)));
  5493. return ret;
  5494. }
  5495. static inline const char* string_VkValidationCheckEXT(VkValidationCheckEXT input_value)
  5496. {
  5497. switch ((VkValidationCheckEXT)input_value)
  5498. {
  5499. case VK_VALIDATION_CHECK_ALL_EXT:
  5500. return "VK_VALIDATION_CHECK_ALL_EXT";
  5501. case VK_VALIDATION_CHECK_SHADERS_EXT:
  5502. return "VK_VALIDATION_CHECK_SHADERS_EXT";
  5503. default:
  5504. return "Unhandled VkValidationCheckEXT";
  5505. }
  5506. }
  5507. static inline const char* string_VkConditionalRenderingFlagBitsEXT(VkConditionalRenderingFlagBitsEXT input_value)
  5508. {
  5509. switch ((VkConditionalRenderingFlagBitsEXT)input_value)
  5510. {
  5511. case VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT:
  5512. return "VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT";
  5513. default:
  5514. return "Unhandled VkConditionalRenderingFlagBitsEXT";
  5515. }
  5516. }
  5517. static inline std::string string_VkConditionalRenderingFlagsEXT(VkConditionalRenderingFlagsEXT input_value)
  5518. {
  5519. std::string ret;
  5520. int index = 0;
  5521. while(input_value) {
  5522. if (input_value & 1) {
  5523. if( !ret.empty()) ret.append("|");
  5524. ret.append(string_VkConditionalRenderingFlagBitsEXT(static_cast<VkConditionalRenderingFlagBitsEXT>(1 << index)));
  5525. }
  5526. ++index;
  5527. input_value >>= 1;
  5528. }
  5529. if( ret.empty()) ret.append(string_VkConditionalRenderingFlagBitsEXT(static_cast<VkConditionalRenderingFlagBitsEXT>(0)));
  5530. return ret;
  5531. }
  5532. static inline const char* string_VkSurfaceCounterFlagBitsEXT(VkSurfaceCounterFlagBitsEXT input_value)
  5533. {
  5534. switch ((VkSurfaceCounterFlagBitsEXT)input_value)
  5535. {
  5536. case VK_SURFACE_COUNTER_VBLANK_BIT_EXT:
  5537. return "VK_SURFACE_COUNTER_VBLANK_BIT_EXT";
  5538. default:
  5539. return "Unhandled VkSurfaceCounterFlagBitsEXT";
  5540. }
  5541. }
  5542. static inline std::string string_VkSurfaceCounterFlagsEXT(VkSurfaceCounterFlagsEXT input_value)
  5543. {
  5544. std::string ret;
  5545. int index = 0;
  5546. while(input_value) {
  5547. if (input_value & 1) {
  5548. if( !ret.empty()) ret.append("|");
  5549. ret.append(string_VkSurfaceCounterFlagBitsEXT(static_cast<VkSurfaceCounterFlagBitsEXT>(1 << index)));
  5550. }
  5551. ++index;
  5552. input_value >>= 1;
  5553. }
  5554. if( ret.empty()) ret.append(string_VkSurfaceCounterFlagBitsEXT(static_cast<VkSurfaceCounterFlagBitsEXT>(0)));
  5555. return ret;
  5556. }
  5557. static inline const char* string_VkDisplayPowerStateEXT(VkDisplayPowerStateEXT input_value)
  5558. {
  5559. switch ((VkDisplayPowerStateEXT)input_value)
  5560. {
  5561. case VK_DISPLAY_POWER_STATE_OFF_EXT:
  5562. return "VK_DISPLAY_POWER_STATE_OFF_EXT";
  5563. case VK_DISPLAY_POWER_STATE_ON_EXT:
  5564. return "VK_DISPLAY_POWER_STATE_ON_EXT";
  5565. case VK_DISPLAY_POWER_STATE_SUSPEND_EXT:
  5566. return "VK_DISPLAY_POWER_STATE_SUSPEND_EXT";
  5567. default:
  5568. return "Unhandled VkDisplayPowerStateEXT";
  5569. }
  5570. }
  5571. static inline const char* string_VkDeviceEventTypeEXT(VkDeviceEventTypeEXT input_value)
  5572. {
  5573. switch ((VkDeviceEventTypeEXT)input_value)
  5574. {
  5575. case VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT:
  5576. return "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT";
  5577. default:
  5578. return "Unhandled VkDeviceEventTypeEXT";
  5579. }
  5580. }
  5581. static inline const char* string_VkDisplayEventTypeEXT(VkDisplayEventTypeEXT input_value)
  5582. {
  5583. switch ((VkDisplayEventTypeEXT)input_value)
  5584. {
  5585. case VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT:
  5586. return "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT";
  5587. default:
  5588. return "Unhandled VkDisplayEventTypeEXT";
  5589. }
  5590. }
  5591. static inline const char* string_VkViewportCoordinateSwizzleNV(VkViewportCoordinateSwizzleNV input_value)
  5592. {
  5593. switch ((VkViewportCoordinateSwizzleNV)input_value)
  5594. {
  5595. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV:
  5596. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV";
  5597. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV:
  5598. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV";
  5599. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV:
  5600. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV";
  5601. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV:
  5602. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV";
  5603. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV:
  5604. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV";
  5605. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV:
  5606. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV";
  5607. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV:
  5608. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV";
  5609. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV:
  5610. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV";
  5611. default:
  5612. return "Unhandled VkViewportCoordinateSwizzleNV";
  5613. }
  5614. }
  5615. static inline const char* string_VkDiscardRectangleModeEXT(VkDiscardRectangleModeEXT input_value)
  5616. {
  5617. switch ((VkDiscardRectangleModeEXT)input_value)
  5618. {
  5619. case VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT:
  5620. return "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT";
  5621. case VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT:
  5622. return "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT";
  5623. default:
  5624. return "Unhandled VkDiscardRectangleModeEXT";
  5625. }
  5626. }
  5627. static inline const char* string_VkConservativeRasterizationModeEXT(VkConservativeRasterizationModeEXT input_value)
  5628. {
  5629. switch ((VkConservativeRasterizationModeEXT)input_value)
  5630. {
  5631. case VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT:
  5632. return "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT";
  5633. case VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT:
  5634. return "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT";
  5635. case VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT:
  5636. return "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT";
  5637. default:
  5638. return "Unhandled VkConservativeRasterizationModeEXT";
  5639. }
  5640. }
  5641. static inline const char* string_VkDebugUtilsMessageSeverityFlagBitsEXT(VkDebugUtilsMessageSeverityFlagBitsEXT input_value)
  5642. {
  5643. switch ((VkDebugUtilsMessageSeverityFlagBitsEXT)input_value)
  5644. {
  5645. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT:
  5646. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT";
  5647. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT:
  5648. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT";
  5649. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT:
  5650. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT";
  5651. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT:
  5652. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT";
  5653. default:
  5654. return "Unhandled VkDebugUtilsMessageSeverityFlagBitsEXT";
  5655. }
  5656. }
  5657. static inline std::string string_VkDebugUtilsMessageSeverityFlagsEXT(VkDebugUtilsMessageSeverityFlagsEXT input_value)
  5658. {
  5659. std::string ret;
  5660. int index = 0;
  5661. while(input_value) {
  5662. if (input_value & 1) {
  5663. if( !ret.empty()) ret.append("|");
  5664. ret.append(string_VkDebugUtilsMessageSeverityFlagBitsEXT(static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>(1 << index)));
  5665. }
  5666. ++index;
  5667. input_value >>= 1;
  5668. }
  5669. if( ret.empty()) ret.append(string_VkDebugUtilsMessageSeverityFlagBitsEXT(static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>(0)));
  5670. return ret;
  5671. }
  5672. static inline const char* string_VkDebugUtilsMessageTypeFlagBitsEXT(VkDebugUtilsMessageTypeFlagBitsEXT input_value)
  5673. {
  5674. switch ((VkDebugUtilsMessageTypeFlagBitsEXT)input_value)
  5675. {
  5676. case VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT:
  5677. return "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT";
  5678. case VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT:
  5679. return "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT";
  5680. case VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT:
  5681. return "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT";
  5682. default:
  5683. return "Unhandled VkDebugUtilsMessageTypeFlagBitsEXT";
  5684. }
  5685. }
  5686. static inline std::string string_VkDebugUtilsMessageTypeFlagsEXT(VkDebugUtilsMessageTypeFlagsEXT input_value)
  5687. {
  5688. std::string ret;
  5689. int index = 0;
  5690. while(input_value) {
  5691. if (input_value & 1) {
  5692. if( !ret.empty()) ret.append("|");
  5693. ret.append(string_VkDebugUtilsMessageTypeFlagBitsEXT(static_cast<VkDebugUtilsMessageTypeFlagBitsEXT>(1 << index)));
  5694. }
  5695. ++index;
  5696. input_value >>= 1;
  5697. }
  5698. if( ret.empty()) ret.append(string_VkDebugUtilsMessageTypeFlagBitsEXT(static_cast<VkDebugUtilsMessageTypeFlagBitsEXT>(0)));
  5699. return ret;
  5700. }
  5701. static inline const char* string_VkSamplerReductionModeEXT(VkSamplerReductionModeEXT input_value)
  5702. {
  5703. switch ((VkSamplerReductionModeEXT)input_value)
  5704. {
  5705. case VK_SAMPLER_REDUCTION_MODE_MAX:
  5706. return "VK_SAMPLER_REDUCTION_MODE_MAX";
  5707. case VK_SAMPLER_REDUCTION_MODE_MIN:
  5708. return "VK_SAMPLER_REDUCTION_MODE_MIN";
  5709. case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE:
  5710. return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE";
  5711. default:
  5712. return "Unhandled VkSamplerReductionModeEXT";
  5713. }
  5714. }
  5715. static inline const char* string_VkBlendOverlapEXT(VkBlendOverlapEXT input_value)
  5716. {
  5717. switch ((VkBlendOverlapEXT)input_value)
  5718. {
  5719. case VK_BLEND_OVERLAP_CONJOINT_EXT:
  5720. return "VK_BLEND_OVERLAP_CONJOINT_EXT";
  5721. case VK_BLEND_OVERLAP_DISJOINT_EXT:
  5722. return "VK_BLEND_OVERLAP_DISJOINT_EXT";
  5723. case VK_BLEND_OVERLAP_UNCORRELATED_EXT:
  5724. return "VK_BLEND_OVERLAP_UNCORRELATED_EXT";
  5725. default:
  5726. return "Unhandled VkBlendOverlapEXT";
  5727. }
  5728. }
  5729. static inline const char* string_VkCoverageModulationModeNV(VkCoverageModulationModeNV input_value)
  5730. {
  5731. switch ((VkCoverageModulationModeNV)input_value)
  5732. {
  5733. case VK_COVERAGE_MODULATION_MODE_ALPHA_NV:
  5734. return "VK_COVERAGE_MODULATION_MODE_ALPHA_NV";
  5735. case VK_COVERAGE_MODULATION_MODE_NONE_NV:
  5736. return "VK_COVERAGE_MODULATION_MODE_NONE_NV";
  5737. case VK_COVERAGE_MODULATION_MODE_RGBA_NV:
  5738. return "VK_COVERAGE_MODULATION_MODE_RGBA_NV";
  5739. case VK_COVERAGE_MODULATION_MODE_RGB_NV:
  5740. return "VK_COVERAGE_MODULATION_MODE_RGB_NV";
  5741. default:
  5742. return "Unhandled VkCoverageModulationModeNV";
  5743. }
  5744. }
  5745. static inline const char* string_VkValidationCacheHeaderVersionEXT(VkValidationCacheHeaderVersionEXT input_value)
  5746. {
  5747. switch ((VkValidationCacheHeaderVersionEXT)input_value)
  5748. {
  5749. case VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT:
  5750. return "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT";
  5751. default:
  5752. return "Unhandled VkValidationCacheHeaderVersionEXT";
  5753. }
  5754. }
  5755. static inline const char* string_VkDescriptorBindingFlagBitsEXT(VkDescriptorBindingFlagBitsEXT input_value)
  5756. {
  5757. switch ((VkDescriptorBindingFlagBitsEXT)input_value)
  5758. {
  5759. case VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT:
  5760. return "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT";
  5761. case VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT:
  5762. return "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT";
  5763. case VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT:
  5764. return "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT";
  5765. case VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT:
  5766. return "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT";
  5767. default:
  5768. return "Unhandled VkDescriptorBindingFlagBitsEXT";
  5769. }
  5770. }
  5771. static inline std::string string_VkDescriptorBindingFlagsEXT(VkDescriptorBindingFlagsEXT input_value)
  5772. {
  5773. std::string ret;
  5774. int index = 0;
  5775. while(input_value) {
  5776. if (input_value & 1) {
  5777. if( !ret.empty()) ret.append("|");
  5778. ret.append(string_VkDescriptorBindingFlagBitsEXT(static_cast<VkDescriptorBindingFlagBitsEXT>(1 << index)));
  5779. }
  5780. ++index;
  5781. input_value >>= 1;
  5782. }
  5783. if( ret.empty()) ret.append(string_VkDescriptorBindingFlagBitsEXT(static_cast<VkDescriptorBindingFlagBitsEXT>(0)));
  5784. return ret;
  5785. }
  5786. static inline const char* string_VkShadingRatePaletteEntryNV(VkShadingRatePaletteEntryNV input_value)
  5787. {
  5788. switch ((VkShadingRatePaletteEntryNV)input_value)
  5789. {
  5790. case VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV:
  5791. return "VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV";
  5792. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV:
  5793. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV";
  5794. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV:
  5795. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV";
  5796. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV:
  5797. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV";
  5798. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV:
  5799. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV";
  5800. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV:
  5801. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV";
  5802. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV:
  5803. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV";
  5804. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV:
  5805. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV";
  5806. case VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV:
  5807. return "VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV";
  5808. case VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV:
  5809. return "VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV";
  5810. case VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV:
  5811. return "VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV";
  5812. case VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV:
  5813. return "VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV";
  5814. default:
  5815. return "Unhandled VkShadingRatePaletteEntryNV";
  5816. }
  5817. }
  5818. static inline const char* string_VkCoarseSampleOrderTypeNV(VkCoarseSampleOrderTypeNV input_value)
  5819. {
  5820. switch ((VkCoarseSampleOrderTypeNV)input_value)
  5821. {
  5822. case VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV:
  5823. return "VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV";
  5824. case VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV:
  5825. return "VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV";
  5826. case VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV:
  5827. return "VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV";
  5828. case VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV:
  5829. return "VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV";
  5830. default:
  5831. return "Unhandled VkCoarseSampleOrderTypeNV";
  5832. }
  5833. }
  5834. static inline const char* string_VkRayTracingShaderGroupTypeKHR(VkRayTracingShaderGroupTypeKHR input_value)
  5835. {
  5836. switch ((VkRayTracingShaderGroupTypeKHR)input_value)
  5837. {
  5838. case VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR:
  5839. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR";
  5840. case VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR:
  5841. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR";
  5842. case VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR:
  5843. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR";
  5844. default:
  5845. return "Unhandled VkRayTracingShaderGroupTypeKHR";
  5846. }
  5847. }
  5848. static inline const char* string_VkRayTracingShaderGroupTypeNV(VkRayTracingShaderGroupTypeNV input_value)
  5849. {
  5850. switch ((VkRayTracingShaderGroupTypeNV)input_value)
  5851. {
  5852. case VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR:
  5853. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR";
  5854. case VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR:
  5855. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR";
  5856. case VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR:
  5857. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR";
  5858. default:
  5859. return "Unhandled VkRayTracingShaderGroupTypeNV";
  5860. }
  5861. }
  5862. static inline const char* string_VkGeometryTypeKHR(VkGeometryTypeKHR input_value)
  5863. {
  5864. switch ((VkGeometryTypeKHR)input_value)
  5865. {
  5866. case VK_GEOMETRY_TYPE_AABBS_KHR:
  5867. return "VK_GEOMETRY_TYPE_AABBS_KHR";
  5868. case VK_GEOMETRY_TYPE_INSTANCES_KHR:
  5869. return "VK_GEOMETRY_TYPE_INSTANCES_KHR";
  5870. case VK_GEOMETRY_TYPE_TRIANGLES_KHR:
  5871. return "VK_GEOMETRY_TYPE_TRIANGLES_KHR";
  5872. default:
  5873. return "Unhandled VkGeometryTypeKHR";
  5874. }
  5875. }
  5876. static inline const char* string_VkGeometryTypeNV(VkGeometryTypeNV input_value)
  5877. {
  5878. switch ((VkGeometryTypeNV)input_value)
  5879. {
  5880. case VK_GEOMETRY_TYPE_AABBS_KHR:
  5881. return "VK_GEOMETRY_TYPE_AABBS_KHR";
  5882. case VK_GEOMETRY_TYPE_INSTANCES_KHR:
  5883. return "VK_GEOMETRY_TYPE_INSTANCES_KHR";
  5884. case VK_GEOMETRY_TYPE_TRIANGLES_KHR:
  5885. return "VK_GEOMETRY_TYPE_TRIANGLES_KHR";
  5886. default:
  5887. return "Unhandled VkGeometryTypeNV";
  5888. }
  5889. }
  5890. static inline const char* string_VkAccelerationStructureTypeKHR(VkAccelerationStructureTypeKHR input_value)
  5891. {
  5892. switch ((VkAccelerationStructureTypeKHR)input_value)
  5893. {
  5894. case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR:
  5895. return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR";
  5896. case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR:
  5897. return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR";
  5898. case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR:
  5899. return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR";
  5900. default:
  5901. return "Unhandled VkAccelerationStructureTypeKHR";
  5902. }
  5903. }
  5904. static inline const char* string_VkAccelerationStructureTypeNV(VkAccelerationStructureTypeNV input_value)
  5905. {
  5906. switch ((VkAccelerationStructureTypeNV)input_value)
  5907. {
  5908. case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR:
  5909. return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR";
  5910. case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR:
  5911. return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR";
  5912. case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR:
  5913. return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR";
  5914. default:
  5915. return "Unhandled VkAccelerationStructureTypeNV";
  5916. }
  5917. }
  5918. static inline const char* string_VkGeometryFlagBitsKHR(VkGeometryFlagBitsKHR input_value)
  5919. {
  5920. switch ((VkGeometryFlagBitsKHR)input_value)
  5921. {
  5922. case VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR:
  5923. return "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR";
  5924. case VK_GEOMETRY_OPAQUE_BIT_KHR:
  5925. return "VK_GEOMETRY_OPAQUE_BIT_KHR";
  5926. default:
  5927. return "Unhandled VkGeometryFlagBitsKHR";
  5928. }
  5929. }
  5930. static inline std::string string_VkGeometryFlagsKHR(VkGeometryFlagsKHR input_value)
  5931. {
  5932. std::string ret;
  5933. int index = 0;
  5934. while(input_value) {
  5935. if (input_value & 1) {
  5936. if( !ret.empty()) ret.append("|");
  5937. ret.append(string_VkGeometryFlagBitsKHR(static_cast<VkGeometryFlagBitsKHR>(1 << index)));
  5938. }
  5939. ++index;
  5940. input_value >>= 1;
  5941. }
  5942. if( ret.empty()) ret.append(string_VkGeometryFlagBitsKHR(static_cast<VkGeometryFlagBitsKHR>(0)));
  5943. return ret;
  5944. }
  5945. static inline const char* string_VkGeometryFlagBitsNV(VkGeometryFlagBitsNV input_value)
  5946. {
  5947. switch ((VkGeometryFlagBitsNV)input_value)
  5948. {
  5949. case VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR:
  5950. return "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR";
  5951. case VK_GEOMETRY_OPAQUE_BIT_KHR:
  5952. return "VK_GEOMETRY_OPAQUE_BIT_KHR";
  5953. default:
  5954. return "Unhandled VkGeometryFlagBitsNV";
  5955. }
  5956. }
  5957. static inline std::string string_VkGeometryFlagsNV(VkGeometryFlagsNV input_value)
  5958. {
  5959. std::string ret;
  5960. int index = 0;
  5961. while(input_value) {
  5962. if (input_value & 1) {
  5963. if( !ret.empty()) ret.append("|");
  5964. ret.append(string_VkGeometryFlagBitsNV(static_cast<VkGeometryFlagBitsNV>(1 << index)));
  5965. }
  5966. ++index;
  5967. input_value >>= 1;
  5968. }
  5969. if( ret.empty()) ret.append(string_VkGeometryFlagBitsNV(static_cast<VkGeometryFlagBitsNV>(0)));
  5970. return ret;
  5971. }
  5972. static inline const char* string_VkGeometryInstanceFlagBitsKHR(VkGeometryInstanceFlagBitsKHR input_value)
  5973. {
  5974. switch ((VkGeometryInstanceFlagBitsKHR)input_value)
  5975. {
  5976. case VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR:
  5977. return "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR";
  5978. case VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR:
  5979. return "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR";
  5980. case VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR:
  5981. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR";
  5982. case VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR:
  5983. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR";
  5984. default:
  5985. return "Unhandled VkGeometryInstanceFlagBitsKHR";
  5986. }
  5987. }
  5988. static inline std::string string_VkGeometryInstanceFlagsKHR(VkGeometryInstanceFlagsKHR input_value)
  5989. {
  5990. std::string ret;
  5991. int index = 0;
  5992. while(input_value) {
  5993. if (input_value & 1) {
  5994. if( !ret.empty()) ret.append("|");
  5995. ret.append(string_VkGeometryInstanceFlagBitsKHR(static_cast<VkGeometryInstanceFlagBitsKHR>(1 << index)));
  5996. }
  5997. ++index;
  5998. input_value >>= 1;
  5999. }
  6000. if( ret.empty()) ret.append(string_VkGeometryInstanceFlagBitsKHR(static_cast<VkGeometryInstanceFlagBitsKHR>(0)));
  6001. return ret;
  6002. }
  6003. static inline const char* string_VkGeometryInstanceFlagBitsNV(VkGeometryInstanceFlagBitsNV input_value)
  6004. {
  6005. switch ((VkGeometryInstanceFlagBitsNV)input_value)
  6006. {
  6007. case VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR:
  6008. return "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR";
  6009. case VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR:
  6010. return "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR";
  6011. case VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR:
  6012. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR";
  6013. case VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR:
  6014. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR";
  6015. default:
  6016. return "Unhandled VkGeometryInstanceFlagBitsNV";
  6017. }
  6018. }
  6019. static inline std::string string_VkGeometryInstanceFlagsNV(VkGeometryInstanceFlagsNV input_value)
  6020. {
  6021. std::string ret;
  6022. int index = 0;
  6023. while(input_value) {
  6024. if (input_value & 1) {
  6025. if( !ret.empty()) ret.append("|");
  6026. ret.append(string_VkGeometryInstanceFlagBitsNV(static_cast<VkGeometryInstanceFlagBitsNV>(1 << index)));
  6027. }
  6028. ++index;
  6029. input_value >>= 1;
  6030. }
  6031. if( ret.empty()) ret.append(string_VkGeometryInstanceFlagBitsNV(static_cast<VkGeometryInstanceFlagBitsNV>(0)));
  6032. return ret;
  6033. }
  6034. static inline const char* string_VkBuildAccelerationStructureFlagBitsKHR(VkBuildAccelerationStructureFlagBitsKHR input_value)
  6035. {
  6036. switch ((VkBuildAccelerationStructureFlagBitsKHR)input_value)
  6037. {
  6038. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR:
  6039. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR";
  6040. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR:
  6041. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR";
  6042. case VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR:
  6043. return "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR";
  6044. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR:
  6045. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR";
  6046. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR:
  6047. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR";
  6048. default:
  6049. return "Unhandled VkBuildAccelerationStructureFlagBitsKHR";
  6050. }
  6051. }
  6052. static inline std::string string_VkBuildAccelerationStructureFlagsKHR(VkBuildAccelerationStructureFlagsKHR input_value)
  6053. {
  6054. std::string ret;
  6055. int index = 0;
  6056. while(input_value) {
  6057. if (input_value & 1) {
  6058. if( !ret.empty()) ret.append("|");
  6059. ret.append(string_VkBuildAccelerationStructureFlagBitsKHR(static_cast<VkBuildAccelerationStructureFlagBitsKHR>(1 << index)));
  6060. }
  6061. ++index;
  6062. input_value >>= 1;
  6063. }
  6064. if( ret.empty()) ret.append(string_VkBuildAccelerationStructureFlagBitsKHR(static_cast<VkBuildAccelerationStructureFlagBitsKHR>(0)));
  6065. return ret;
  6066. }
  6067. static inline const char* string_VkBuildAccelerationStructureFlagBitsNV(VkBuildAccelerationStructureFlagBitsNV input_value)
  6068. {
  6069. switch ((VkBuildAccelerationStructureFlagBitsNV)input_value)
  6070. {
  6071. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR:
  6072. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR";
  6073. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR:
  6074. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR";
  6075. case VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR:
  6076. return "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR";
  6077. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR:
  6078. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR";
  6079. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR:
  6080. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR";
  6081. default:
  6082. return "Unhandled VkBuildAccelerationStructureFlagBitsNV";
  6083. }
  6084. }
  6085. static inline std::string string_VkBuildAccelerationStructureFlagsNV(VkBuildAccelerationStructureFlagsNV input_value)
  6086. {
  6087. std::string ret;
  6088. int index = 0;
  6089. while(input_value) {
  6090. if (input_value & 1) {
  6091. if( !ret.empty()) ret.append("|");
  6092. ret.append(string_VkBuildAccelerationStructureFlagBitsNV(static_cast<VkBuildAccelerationStructureFlagBitsNV>(1 << index)));
  6093. }
  6094. ++index;
  6095. input_value >>= 1;
  6096. }
  6097. if( ret.empty()) ret.append(string_VkBuildAccelerationStructureFlagBitsNV(static_cast<VkBuildAccelerationStructureFlagBitsNV>(0)));
  6098. return ret;
  6099. }
  6100. static inline const char* string_VkCopyAccelerationStructureModeKHR(VkCopyAccelerationStructureModeKHR input_value)
  6101. {
  6102. switch ((VkCopyAccelerationStructureModeKHR)input_value)
  6103. {
  6104. case VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR:
  6105. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR";
  6106. case VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR:
  6107. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR";
  6108. case VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR:
  6109. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR";
  6110. case VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR:
  6111. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR";
  6112. default:
  6113. return "Unhandled VkCopyAccelerationStructureModeKHR";
  6114. }
  6115. }
  6116. static inline const char* string_VkCopyAccelerationStructureModeNV(VkCopyAccelerationStructureModeNV input_value)
  6117. {
  6118. switch ((VkCopyAccelerationStructureModeNV)input_value)
  6119. {
  6120. case VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR:
  6121. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR";
  6122. case VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR:
  6123. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR";
  6124. case VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR:
  6125. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR";
  6126. case VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR:
  6127. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR";
  6128. default:
  6129. return "Unhandled VkCopyAccelerationStructureModeNV";
  6130. }
  6131. }
  6132. static inline const char* string_VkAccelerationStructureMemoryRequirementsTypeNV(VkAccelerationStructureMemoryRequirementsTypeNV input_value)
  6133. {
  6134. switch ((VkAccelerationStructureMemoryRequirementsTypeNV)input_value)
  6135. {
  6136. case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV:
  6137. return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV";
  6138. case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV:
  6139. return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV";
  6140. case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV:
  6141. return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV";
  6142. default:
  6143. return "Unhandled VkAccelerationStructureMemoryRequirementsTypeNV";
  6144. }
  6145. }
  6146. static inline const char* string_VkQueueGlobalPriorityEXT(VkQueueGlobalPriorityEXT input_value)
  6147. {
  6148. switch ((VkQueueGlobalPriorityEXT)input_value)
  6149. {
  6150. case VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT:
  6151. return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT";
  6152. case VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT:
  6153. return "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT";
  6154. case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT:
  6155. return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT";
  6156. case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT:
  6157. return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT";
  6158. default:
  6159. return "Unhandled VkQueueGlobalPriorityEXT";
  6160. }
  6161. }
  6162. static inline const char* string_VkTimeDomainEXT(VkTimeDomainEXT input_value)
  6163. {
  6164. switch ((VkTimeDomainEXT)input_value)
  6165. {
  6166. case VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT:
  6167. return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT";
  6168. case VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT:
  6169. return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT";
  6170. case VK_TIME_DOMAIN_DEVICE_EXT:
  6171. return "VK_TIME_DOMAIN_DEVICE_EXT";
  6172. case VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT:
  6173. return "VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT";
  6174. default:
  6175. return "Unhandled VkTimeDomainEXT";
  6176. }
  6177. }
  6178. static inline const char* string_VkMemoryOverallocationBehaviorAMD(VkMemoryOverallocationBehaviorAMD input_value)
  6179. {
  6180. switch ((VkMemoryOverallocationBehaviorAMD)input_value)
  6181. {
  6182. case VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD:
  6183. return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD";
  6184. case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD:
  6185. return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD";
  6186. case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD:
  6187. return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD";
  6188. default:
  6189. return "Unhandled VkMemoryOverallocationBehaviorAMD";
  6190. }
  6191. }
  6192. static inline const char* string_VkPipelineCreationFeedbackFlagBitsEXT(VkPipelineCreationFeedbackFlagBitsEXT input_value)
  6193. {
  6194. switch ((VkPipelineCreationFeedbackFlagBitsEXT)input_value)
  6195. {
  6196. case VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT:
  6197. return "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT";
  6198. case VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT:
  6199. return "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT";
  6200. case VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT:
  6201. return "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT";
  6202. default:
  6203. return "Unhandled VkPipelineCreationFeedbackFlagBitsEXT";
  6204. }
  6205. }
  6206. static inline std::string string_VkPipelineCreationFeedbackFlagsEXT(VkPipelineCreationFeedbackFlagsEXT input_value)
  6207. {
  6208. std::string ret;
  6209. int index = 0;
  6210. while(input_value) {
  6211. if (input_value & 1) {
  6212. if( !ret.empty()) ret.append("|");
  6213. ret.append(string_VkPipelineCreationFeedbackFlagBitsEXT(static_cast<VkPipelineCreationFeedbackFlagBitsEXT>(1 << index)));
  6214. }
  6215. ++index;
  6216. input_value >>= 1;
  6217. }
  6218. if( ret.empty()) ret.append(string_VkPipelineCreationFeedbackFlagBitsEXT(static_cast<VkPipelineCreationFeedbackFlagBitsEXT>(0)));
  6219. return ret;
  6220. }
  6221. static inline const char* string_VkPerformanceConfigurationTypeINTEL(VkPerformanceConfigurationTypeINTEL input_value)
  6222. {
  6223. switch ((VkPerformanceConfigurationTypeINTEL)input_value)
  6224. {
  6225. case VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL:
  6226. return "VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL";
  6227. default:
  6228. return "Unhandled VkPerformanceConfigurationTypeINTEL";
  6229. }
  6230. }
  6231. static inline const char* string_VkQueryPoolSamplingModeINTEL(VkQueryPoolSamplingModeINTEL input_value)
  6232. {
  6233. switch ((VkQueryPoolSamplingModeINTEL)input_value)
  6234. {
  6235. case VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL:
  6236. return "VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL";
  6237. default:
  6238. return "Unhandled VkQueryPoolSamplingModeINTEL";
  6239. }
  6240. }
  6241. static inline const char* string_VkPerformanceOverrideTypeINTEL(VkPerformanceOverrideTypeINTEL input_value)
  6242. {
  6243. switch ((VkPerformanceOverrideTypeINTEL)input_value)
  6244. {
  6245. case VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL:
  6246. return "VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL";
  6247. case VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL:
  6248. return "VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL";
  6249. default:
  6250. return "Unhandled VkPerformanceOverrideTypeINTEL";
  6251. }
  6252. }
  6253. static inline const char* string_VkPerformanceParameterTypeINTEL(VkPerformanceParameterTypeINTEL input_value)
  6254. {
  6255. switch ((VkPerformanceParameterTypeINTEL)input_value)
  6256. {
  6257. case VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL:
  6258. return "VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL";
  6259. case VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL:
  6260. return "VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL";
  6261. default:
  6262. return "Unhandled VkPerformanceParameterTypeINTEL";
  6263. }
  6264. }
  6265. static inline const char* string_VkPerformanceValueTypeINTEL(VkPerformanceValueTypeINTEL input_value)
  6266. {
  6267. switch ((VkPerformanceValueTypeINTEL)input_value)
  6268. {
  6269. case VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL:
  6270. return "VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL";
  6271. case VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL:
  6272. return "VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL";
  6273. case VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL:
  6274. return "VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL";
  6275. case VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL:
  6276. return "VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL";
  6277. case VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL:
  6278. return "VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL";
  6279. default:
  6280. return "Unhandled VkPerformanceValueTypeINTEL";
  6281. }
  6282. }
  6283. static inline const char* string_VkToolPurposeFlagBitsEXT(VkToolPurposeFlagBitsEXT input_value)
  6284. {
  6285. switch ((VkToolPurposeFlagBitsEXT)input_value)
  6286. {
  6287. case VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT:
  6288. return "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT";
  6289. case VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT:
  6290. return "VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT";
  6291. case VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT:
  6292. return "VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT";
  6293. case VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT:
  6294. return "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT";
  6295. case VK_TOOL_PURPOSE_PROFILING_BIT_EXT:
  6296. return "VK_TOOL_PURPOSE_PROFILING_BIT_EXT";
  6297. case VK_TOOL_PURPOSE_TRACING_BIT_EXT:
  6298. return "VK_TOOL_PURPOSE_TRACING_BIT_EXT";
  6299. case VK_TOOL_PURPOSE_VALIDATION_BIT_EXT:
  6300. return "VK_TOOL_PURPOSE_VALIDATION_BIT_EXT";
  6301. default:
  6302. return "Unhandled VkToolPurposeFlagBitsEXT";
  6303. }
  6304. }
  6305. static inline std::string string_VkToolPurposeFlagsEXT(VkToolPurposeFlagsEXT input_value)
  6306. {
  6307. std::string ret;
  6308. int index = 0;
  6309. while(input_value) {
  6310. if (input_value & 1) {
  6311. if( !ret.empty()) ret.append("|");
  6312. ret.append(string_VkToolPurposeFlagBitsEXT(static_cast<VkToolPurposeFlagBitsEXT>(1 << index)));
  6313. }
  6314. ++index;
  6315. input_value >>= 1;
  6316. }
  6317. if( ret.empty()) ret.append(string_VkToolPurposeFlagBitsEXT(static_cast<VkToolPurposeFlagBitsEXT>(0)));
  6318. return ret;
  6319. }
  6320. static inline const char* string_VkValidationFeatureEnableEXT(VkValidationFeatureEnableEXT input_value)
  6321. {
  6322. switch ((VkValidationFeatureEnableEXT)input_value)
  6323. {
  6324. case VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT:
  6325. return "VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT";
  6326. case VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT:
  6327. return "VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT";
  6328. case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT:
  6329. return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT";
  6330. case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT:
  6331. return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT";
  6332. case VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT:
  6333. return "VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT";
  6334. default:
  6335. return "Unhandled VkValidationFeatureEnableEXT";
  6336. }
  6337. }
  6338. static inline const char* string_VkValidationFeatureDisableEXT(VkValidationFeatureDisableEXT input_value)
  6339. {
  6340. switch ((VkValidationFeatureDisableEXT)input_value)
  6341. {
  6342. case VK_VALIDATION_FEATURE_DISABLE_ALL_EXT:
  6343. return "VK_VALIDATION_FEATURE_DISABLE_ALL_EXT";
  6344. case VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT:
  6345. return "VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT";
  6346. case VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT:
  6347. return "VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT";
  6348. case VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT:
  6349. return "VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT";
  6350. case VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT:
  6351. return "VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT";
  6352. case VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT:
  6353. return "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT";
  6354. case VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT:
  6355. return "VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT";
  6356. default:
  6357. return "Unhandled VkValidationFeatureDisableEXT";
  6358. }
  6359. }
  6360. static inline const char* string_VkComponentTypeNV(VkComponentTypeNV input_value)
  6361. {
  6362. switch ((VkComponentTypeNV)input_value)
  6363. {
  6364. case VK_COMPONENT_TYPE_FLOAT16_NV:
  6365. return "VK_COMPONENT_TYPE_FLOAT16_NV";
  6366. case VK_COMPONENT_TYPE_FLOAT32_NV:
  6367. return "VK_COMPONENT_TYPE_FLOAT32_NV";
  6368. case VK_COMPONENT_TYPE_FLOAT64_NV:
  6369. return "VK_COMPONENT_TYPE_FLOAT64_NV";
  6370. case VK_COMPONENT_TYPE_SINT16_NV:
  6371. return "VK_COMPONENT_TYPE_SINT16_NV";
  6372. case VK_COMPONENT_TYPE_SINT32_NV:
  6373. return "VK_COMPONENT_TYPE_SINT32_NV";
  6374. case VK_COMPONENT_TYPE_SINT64_NV:
  6375. return "VK_COMPONENT_TYPE_SINT64_NV";
  6376. case VK_COMPONENT_TYPE_SINT8_NV:
  6377. return "VK_COMPONENT_TYPE_SINT8_NV";
  6378. case VK_COMPONENT_TYPE_UINT16_NV:
  6379. return "VK_COMPONENT_TYPE_UINT16_NV";
  6380. case VK_COMPONENT_TYPE_UINT32_NV:
  6381. return "VK_COMPONENT_TYPE_UINT32_NV";
  6382. case VK_COMPONENT_TYPE_UINT64_NV:
  6383. return "VK_COMPONENT_TYPE_UINT64_NV";
  6384. case VK_COMPONENT_TYPE_UINT8_NV:
  6385. return "VK_COMPONENT_TYPE_UINT8_NV";
  6386. default:
  6387. return "Unhandled VkComponentTypeNV";
  6388. }
  6389. }
  6390. static inline const char* string_VkScopeNV(VkScopeNV input_value)
  6391. {
  6392. switch ((VkScopeNV)input_value)
  6393. {
  6394. case VK_SCOPE_DEVICE_NV:
  6395. return "VK_SCOPE_DEVICE_NV";
  6396. case VK_SCOPE_QUEUE_FAMILY_NV:
  6397. return "VK_SCOPE_QUEUE_FAMILY_NV";
  6398. case VK_SCOPE_SUBGROUP_NV:
  6399. return "VK_SCOPE_SUBGROUP_NV";
  6400. case VK_SCOPE_WORKGROUP_NV:
  6401. return "VK_SCOPE_WORKGROUP_NV";
  6402. default:
  6403. return "Unhandled VkScopeNV";
  6404. }
  6405. }
  6406. static inline const char* string_VkCoverageReductionModeNV(VkCoverageReductionModeNV input_value)
  6407. {
  6408. switch ((VkCoverageReductionModeNV)input_value)
  6409. {
  6410. case VK_COVERAGE_REDUCTION_MODE_MERGE_NV:
  6411. return "VK_COVERAGE_REDUCTION_MODE_MERGE_NV";
  6412. case VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV:
  6413. return "VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV";
  6414. default:
  6415. return "Unhandled VkCoverageReductionModeNV";
  6416. }
  6417. }
  6418. #ifdef VK_USE_PLATFORM_WIN32_KHR
  6419. static inline const char* string_VkFullScreenExclusiveEXT(VkFullScreenExclusiveEXT input_value)
  6420. {
  6421. switch ((VkFullScreenExclusiveEXT)input_value)
  6422. {
  6423. case VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT:
  6424. return "VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT";
  6425. case VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT:
  6426. return "VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT";
  6427. case VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT:
  6428. return "VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT";
  6429. case VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT:
  6430. return "VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT";
  6431. default:
  6432. return "Unhandled VkFullScreenExclusiveEXT";
  6433. }
  6434. }
  6435. #endif // VK_USE_PLATFORM_WIN32_KHR
  6436. static inline const char* string_VkLineRasterizationModeEXT(VkLineRasterizationModeEXT input_value)
  6437. {
  6438. switch ((VkLineRasterizationModeEXT)input_value)
  6439. {
  6440. case VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT:
  6441. return "VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT";
  6442. case VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT:
  6443. return "VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT";
  6444. case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT:
  6445. return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT";
  6446. case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT:
  6447. return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT";
  6448. default:
  6449. return "Unhandled VkLineRasterizationModeEXT";
  6450. }
  6451. }
  6452. static inline const char* string_VkIndirectStateFlagBitsNV(VkIndirectStateFlagBitsNV input_value)
  6453. {
  6454. switch ((VkIndirectStateFlagBitsNV)input_value)
  6455. {
  6456. case VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV:
  6457. return "VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV";
  6458. default:
  6459. return "Unhandled VkIndirectStateFlagBitsNV";
  6460. }
  6461. }
  6462. static inline std::string string_VkIndirectStateFlagsNV(VkIndirectStateFlagsNV input_value)
  6463. {
  6464. std::string ret;
  6465. int index = 0;
  6466. while(input_value) {
  6467. if (input_value & 1) {
  6468. if( !ret.empty()) ret.append("|");
  6469. ret.append(string_VkIndirectStateFlagBitsNV(static_cast<VkIndirectStateFlagBitsNV>(1 << index)));
  6470. }
  6471. ++index;
  6472. input_value >>= 1;
  6473. }
  6474. if( ret.empty()) ret.append(string_VkIndirectStateFlagBitsNV(static_cast<VkIndirectStateFlagBitsNV>(0)));
  6475. return ret;
  6476. }
  6477. static inline const char* string_VkIndirectCommandsTokenTypeNV(VkIndirectCommandsTokenTypeNV input_value)
  6478. {
  6479. switch ((VkIndirectCommandsTokenTypeNV)input_value)
  6480. {
  6481. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV:
  6482. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV";
  6483. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV:
  6484. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV";
  6485. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV:
  6486. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV";
  6487. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV:
  6488. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV";
  6489. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV:
  6490. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV";
  6491. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV:
  6492. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV";
  6493. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV:
  6494. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV";
  6495. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV:
  6496. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV";
  6497. default:
  6498. return "Unhandled VkIndirectCommandsTokenTypeNV";
  6499. }
  6500. }
  6501. static inline const char* string_VkIndirectCommandsLayoutUsageFlagBitsNV(VkIndirectCommandsLayoutUsageFlagBitsNV input_value)
  6502. {
  6503. switch ((VkIndirectCommandsLayoutUsageFlagBitsNV)input_value)
  6504. {
  6505. case VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV:
  6506. return "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV";
  6507. case VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV:
  6508. return "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV";
  6509. case VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV:
  6510. return "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV";
  6511. default:
  6512. return "Unhandled VkIndirectCommandsLayoutUsageFlagBitsNV";
  6513. }
  6514. }
  6515. static inline std::string string_VkIndirectCommandsLayoutUsageFlagsNV(VkIndirectCommandsLayoutUsageFlagsNV input_value)
  6516. {
  6517. std::string ret;
  6518. int index = 0;
  6519. while(input_value) {
  6520. if (input_value & 1) {
  6521. if( !ret.empty()) ret.append("|");
  6522. ret.append(string_VkIndirectCommandsLayoutUsageFlagBitsNV(static_cast<VkIndirectCommandsLayoutUsageFlagBitsNV>(1 << index)));
  6523. }
  6524. ++index;
  6525. input_value >>= 1;
  6526. }
  6527. if( ret.empty()) ret.append(string_VkIndirectCommandsLayoutUsageFlagBitsNV(static_cast<VkIndirectCommandsLayoutUsageFlagBitsNV>(0)));
  6528. return ret;
  6529. }
  6530. static inline const char* string_VkDeviceMemoryReportEventTypeEXT(VkDeviceMemoryReportEventTypeEXT input_value)
  6531. {
  6532. switch ((VkDeviceMemoryReportEventTypeEXT)input_value)
  6533. {
  6534. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT:
  6535. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT";
  6536. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT:
  6537. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT";
  6538. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT:
  6539. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT";
  6540. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT:
  6541. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT";
  6542. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT:
  6543. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT";
  6544. default:
  6545. return "Unhandled VkDeviceMemoryReportEventTypeEXT";
  6546. }
  6547. }
  6548. static inline const char* string_VkDeviceDiagnosticsConfigFlagBitsNV(VkDeviceDiagnosticsConfigFlagBitsNV input_value)
  6549. {
  6550. switch ((VkDeviceDiagnosticsConfigFlagBitsNV)input_value)
  6551. {
  6552. case VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV:
  6553. return "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV";
  6554. case VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV:
  6555. return "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV";
  6556. case VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV:
  6557. return "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV";
  6558. default:
  6559. return "Unhandled VkDeviceDiagnosticsConfigFlagBitsNV";
  6560. }
  6561. }
  6562. static inline std::string string_VkDeviceDiagnosticsConfigFlagsNV(VkDeviceDiagnosticsConfigFlagsNV input_value)
  6563. {
  6564. std::string ret;
  6565. int index = 0;
  6566. while(input_value) {
  6567. if (input_value & 1) {
  6568. if( !ret.empty()) ret.append("|");
  6569. ret.append(string_VkDeviceDiagnosticsConfigFlagBitsNV(static_cast<VkDeviceDiagnosticsConfigFlagBitsNV>(1 << index)));
  6570. }
  6571. ++index;
  6572. input_value >>= 1;
  6573. }
  6574. if( ret.empty()) ret.append(string_VkDeviceDiagnosticsConfigFlagBitsNV(static_cast<VkDeviceDiagnosticsConfigFlagBitsNV>(0)));
  6575. return ret;
  6576. }
  6577. static inline const char* string_VkFragmentShadingRateTypeNV(VkFragmentShadingRateTypeNV input_value)
  6578. {
  6579. switch ((VkFragmentShadingRateTypeNV)input_value)
  6580. {
  6581. case VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV:
  6582. return "VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV";
  6583. case VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV:
  6584. return "VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV";
  6585. default:
  6586. return "Unhandled VkFragmentShadingRateTypeNV";
  6587. }
  6588. }
  6589. static inline const char* string_VkFragmentShadingRateNV(VkFragmentShadingRateNV input_value)
  6590. {
  6591. switch ((VkFragmentShadingRateNV)input_value)
  6592. {
  6593. case VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV:
  6594. return "VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV";
  6595. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV:
  6596. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV";
  6597. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV:
  6598. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV";
  6599. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV:
  6600. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV";
  6601. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV:
  6602. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV";
  6603. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV:
  6604. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV";
  6605. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV:
  6606. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV";
  6607. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV:
  6608. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV";
  6609. case VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV:
  6610. return "VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV";
  6611. case VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV:
  6612. return "VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV";
  6613. case VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV:
  6614. return "VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV";
  6615. case VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV:
  6616. return "VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV";
  6617. default:
  6618. return "Unhandled VkFragmentShadingRateNV";
  6619. }
  6620. }
  6621. static inline const char* string_VkBuildAccelerationStructureModeKHR(VkBuildAccelerationStructureModeKHR input_value)
  6622. {
  6623. switch ((VkBuildAccelerationStructureModeKHR)input_value)
  6624. {
  6625. case VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR:
  6626. return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR";
  6627. case VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR:
  6628. return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR";
  6629. default:
  6630. return "Unhandled VkBuildAccelerationStructureModeKHR";
  6631. }
  6632. }
  6633. static inline const char* string_VkAccelerationStructureBuildTypeKHR(VkAccelerationStructureBuildTypeKHR input_value)
  6634. {
  6635. switch ((VkAccelerationStructureBuildTypeKHR)input_value)
  6636. {
  6637. case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR:
  6638. return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR";
  6639. case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR:
  6640. return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR";
  6641. case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR:
  6642. return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR";
  6643. default:
  6644. return "Unhandled VkAccelerationStructureBuildTypeKHR";
  6645. }
  6646. }
  6647. static inline const char* string_VkAccelerationStructureCreateFlagBitsKHR(VkAccelerationStructureCreateFlagBitsKHR input_value)
  6648. {
  6649. switch ((VkAccelerationStructureCreateFlagBitsKHR)input_value)
  6650. {
  6651. case VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR:
  6652. return "VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR";
  6653. default:
  6654. return "Unhandled VkAccelerationStructureCreateFlagBitsKHR";
  6655. }
  6656. }
  6657. static inline std::string string_VkAccelerationStructureCreateFlagsKHR(VkAccelerationStructureCreateFlagsKHR input_value)
  6658. {
  6659. std::string ret;
  6660. int index = 0;
  6661. while(input_value) {
  6662. if (input_value & 1) {
  6663. if( !ret.empty()) ret.append("|");
  6664. ret.append(string_VkAccelerationStructureCreateFlagBitsKHR(static_cast<VkAccelerationStructureCreateFlagBitsKHR>(1 << index)));
  6665. }
  6666. ++index;
  6667. input_value >>= 1;
  6668. }
  6669. if( ret.empty()) ret.append(string_VkAccelerationStructureCreateFlagBitsKHR(static_cast<VkAccelerationStructureCreateFlagBitsKHR>(0)));
  6670. return ret;
  6671. }
  6672. static inline const char* string_VkAccelerationStructureCompatibilityKHR(VkAccelerationStructureCompatibilityKHR input_value)
  6673. {
  6674. switch ((VkAccelerationStructureCompatibilityKHR)input_value)
  6675. {
  6676. case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR:
  6677. return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR";
  6678. case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR:
  6679. return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR";
  6680. default:
  6681. return "Unhandled VkAccelerationStructureCompatibilityKHR";
  6682. }
  6683. }
  6684. static inline const char* string_VkShaderGroupShaderKHR(VkShaderGroupShaderKHR input_value)
  6685. {
  6686. switch ((VkShaderGroupShaderKHR)input_value)
  6687. {
  6688. case VK_SHADER_GROUP_SHADER_ANY_HIT_KHR:
  6689. return "VK_SHADER_GROUP_SHADER_ANY_HIT_KHR";
  6690. case VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR:
  6691. return "VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR";
  6692. case VK_SHADER_GROUP_SHADER_GENERAL_KHR:
  6693. return "VK_SHADER_GROUP_SHADER_GENERAL_KHR";
  6694. case VK_SHADER_GROUP_SHADER_INTERSECTION_KHR:
  6695. return "VK_SHADER_GROUP_SHADER_INTERSECTION_KHR";
  6696. default:
  6697. return "Unhandled VkShaderGroupShaderKHR";
  6698. }
  6699. }
  6700. static inline const char * GetPhysDevFeatureString(uint32_t index) {
  6701. const char * IndexToPhysDevFeatureString[] = {
  6702. "robustBufferAccess",
  6703. "fullDrawIndexUint32",
  6704. "imageCubeArray",
  6705. "independentBlend",
  6706. "geometryShader",
  6707. "tessellationShader",
  6708. "sampleRateShading",
  6709. "dualSrcBlend",
  6710. "logicOp",
  6711. "multiDrawIndirect",
  6712. "drawIndirectFirstInstance",
  6713. "depthClamp",
  6714. "depthBiasClamp",
  6715. "fillModeNonSolid",
  6716. "depthBounds",
  6717. "wideLines",
  6718. "largePoints",
  6719. "alphaToOne",
  6720. "multiViewport",
  6721. "samplerAnisotropy",
  6722. "textureCompressionETC2",
  6723. "textureCompressionASTC_LDR",
  6724. "textureCompressionBC",
  6725. "occlusionQueryPrecise",
  6726. "pipelineStatisticsQuery",
  6727. "vertexPipelineStoresAndAtomics",
  6728. "fragmentStoresAndAtomics",
  6729. "shaderTessellationAndGeometryPointSize",
  6730. "shaderImageGatherExtended",
  6731. "shaderStorageImageExtendedFormats",
  6732. "shaderStorageImageMultisample",
  6733. "shaderStorageImageReadWithoutFormat",
  6734. "shaderStorageImageWriteWithoutFormat",
  6735. "shaderUniformBufferArrayDynamicIndexing",
  6736. "shaderSampledImageArrayDynamicIndexing",
  6737. "shaderStorageBufferArrayDynamicIndexing",
  6738. "shaderStorageImageArrayDynamicIndexing",
  6739. "shaderClipDistance",
  6740. "shaderCullDistance",
  6741. "shaderFloat64",
  6742. "shaderInt64",
  6743. "shaderInt16",
  6744. "shaderResourceResidency",
  6745. "shaderResourceMinLod",
  6746. "sparseBinding",
  6747. "sparseResidencyBuffer",
  6748. "sparseResidencyImage2D",
  6749. "sparseResidencyImage3D",
  6750. "sparseResidency2Samples",
  6751. "sparseResidency4Samples",
  6752. "sparseResidency8Samples",
  6753. "sparseResidency16Samples",
  6754. "sparseResidencyAliased",
  6755. "variableMultisampleRate",
  6756. "inheritedQueries",
  6757. };
  6758. return IndexToPhysDevFeatureString[index];
  6759. }