vk_enum_string_helper.h 423 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511
  1. // *** THIS FILE IS GENERATED - DO NOT EDIT ***
  2. // See helper_file_generator.py for modifications
  3. /***************************************************************************
  4. *
  5. * Copyright (c) 2015-2022 The Khronos Group Inc.
  6. * Copyright (c) 2015-2022 Valve Corporation
  7. * Copyright (c) 2015-2022 LunarG, Inc.
  8. * Copyright (c) 2015-2022 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. * Author: Tony Barbour <[email protected]>
  28. *
  29. ****************************************************************************/
  30. #pragma once
  31. #ifdef _MSC_VER
  32. #pragma warning( disable : 4065 )
  33. #endif
  34. #include <string>
  35. #ifdef USE_VOLK
  36. #include <volk.h>
  37. #else
  38. #include <vulkan/vulkan.h>
  39. #endif
  40. static inline const char* string_VkResult(VkResult input_value)
  41. {
  42. switch (input_value)
  43. {
  44. case VK_ERROR_DEVICE_LOST:
  45. return "VK_ERROR_DEVICE_LOST";
  46. case VK_ERROR_EXTENSION_NOT_PRESENT:
  47. return "VK_ERROR_EXTENSION_NOT_PRESENT";
  48. case VK_ERROR_FEATURE_NOT_PRESENT:
  49. return "VK_ERROR_FEATURE_NOT_PRESENT";
  50. case VK_ERROR_FORMAT_NOT_SUPPORTED:
  51. return "VK_ERROR_FORMAT_NOT_SUPPORTED";
  52. case VK_ERROR_FRAGMENTATION:
  53. return "VK_ERROR_FRAGMENTATION";
  54. case VK_ERROR_FRAGMENTED_POOL:
  55. return "VK_ERROR_FRAGMENTED_POOL";
  56. case VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT:
  57. return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT";
  58. case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR:
  59. return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR";
  60. case VK_ERROR_INCOMPATIBLE_DRIVER:
  61. return "VK_ERROR_INCOMPATIBLE_DRIVER";
  62. case VK_ERROR_INITIALIZATION_FAILED:
  63. return "VK_ERROR_INITIALIZATION_FAILED";
  64. case VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT:
  65. return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
  66. case VK_ERROR_INVALID_EXTERNAL_HANDLE:
  67. return "VK_ERROR_INVALID_EXTERNAL_HANDLE";
  68. case VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS:
  69. return "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS";
  70. case VK_ERROR_INVALID_SHADER_NV:
  71. return "VK_ERROR_INVALID_SHADER_NV";
  72. case VK_ERROR_LAYER_NOT_PRESENT:
  73. return "VK_ERROR_LAYER_NOT_PRESENT";
  74. case VK_ERROR_MEMORY_MAP_FAILED:
  75. return "VK_ERROR_MEMORY_MAP_FAILED";
  76. case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR:
  77. return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR";
  78. case VK_ERROR_NOT_PERMITTED_KHR:
  79. return "VK_ERROR_NOT_PERMITTED_KHR";
  80. case VK_ERROR_OUT_OF_DATE_KHR:
  81. return "VK_ERROR_OUT_OF_DATE_KHR";
  82. case VK_ERROR_OUT_OF_DEVICE_MEMORY:
  83. return "VK_ERROR_OUT_OF_DEVICE_MEMORY";
  84. case VK_ERROR_OUT_OF_HOST_MEMORY:
  85. return "VK_ERROR_OUT_OF_HOST_MEMORY";
  86. case VK_ERROR_OUT_OF_POOL_MEMORY:
  87. return "VK_ERROR_OUT_OF_POOL_MEMORY";
  88. case VK_ERROR_SURFACE_LOST_KHR:
  89. return "VK_ERROR_SURFACE_LOST_KHR";
  90. case VK_ERROR_TOO_MANY_OBJECTS:
  91. return "VK_ERROR_TOO_MANY_OBJECTS";
  92. case VK_ERROR_UNKNOWN:
  93. return "VK_ERROR_UNKNOWN";
  94. case VK_ERROR_VALIDATION_FAILED_EXT:
  95. return "VK_ERROR_VALIDATION_FAILED_EXT";
  96. case VK_EVENT_RESET:
  97. return "VK_EVENT_RESET";
  98. case VK_EVENT_SET:
  99. return "VK_EVENT_SET";
  100. case VK_INCOMPLETE:
  101. return "VK_INCOMPLETE";
  102. case VK_NOT_READY:
  103. return "VK_NOT_READY";
  104. case VK_OPERATION_DEFERRED_KHR:
  105. return "VK_OPERATION_DEFERRED_KHR";
  106. case VK_OPERATION_NOT_DEFERRED_KHR:
  107. return "VK_OPERATION_NOT_DEFERRED_KHR";
  108. case VK_PIPELINE_COMPILE_REQUIRED:
  109. return "VK_PIPELINE_COMPILE_REQUIRED";
  110. case VK_SUBOPTIMAL_KHR:
  111. return "VK_SUBOPTIMAL_KHR";
  112. case VK_SUCCESS:
  113. return "VK_SUCCESS";
  114. case VK_THREAD_DONE_KHR:
  115. return "VK_THREAD_DONE_KHR";
  116. case VK_THREAD_IDLE_KHR:
  117. return "VK_THREAD_IDLE_KHR";
  118. case VK_TIMEOUT:
  119. return "VK_TIMEOUT";
  120. default:
  121. return "Unhandled VkResult";
  122. }
  123. }
  124. static inline const char* string_VkStructureType(VkStructureType input_value)
  125. {
  126. switch (input_value)
  127. {
  128. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR:
  129. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR";
  130. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR:
  131. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR";
  132. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR:
  133. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR";
  134. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV:
  135. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV";
  136. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR:
  137. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR";
  138. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR:
  139. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR";
  140. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR:
  141. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR";
  142. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR:
  143. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR";
  144. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV:
  145. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV";
  146. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR:
  147. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR";
  148. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV:
  149. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV";
  150. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV:
  151. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV";
  152. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV:
  153. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV";
  154. case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR:
  155. return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR";
  156. case VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR:
  157. return "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR";
  158. case VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR:
  159. return "VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR";
  160. case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID:
  161. return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID";
  162. case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
  163. return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID";
  164. case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID:
  165. return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID";
  166. case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
  167. return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID";
  168. case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR:
  169. return "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR";
  170. case VK_STRUCTURE_TYPE_APPLICATION_INFO:
  171. return "VK_STRUCTURE_TYPE_APPLICATION_INFO";
  172. case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2:
  173. return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2";
  174. case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
  175. return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT";
  176. case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2:
  177. return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2";
  178. case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
  179. return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT";
  180. case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD:
  181. return "VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD";
  182. case VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV:
  183. return "VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV";
  184. case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
  185. return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO";
  186. case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO:
  187. return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO";
  188. case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
  189. return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO";
  190. case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO:
  191. return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO";
  192. case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
  193. return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR";
  194. case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
  195. return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO";
  196. case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO:
  197. return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO";
  198. case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2:
  199. return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2";
  200. case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA:
  201. return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA";
  202. case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA:
  203. return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA";
  204. case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA:
  205. return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA";
  206. case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA:
  207. return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA";
  208. case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA:
  209. return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA";
  210. case VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA:
  211. return "VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA";
  212. case VK_STRUCTURE_TYPE_BUFFER_COPY_2:
  213. return "VK_STRUCTURE_TYPE_BUFFER_COPY_2";
  214. case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO:
  215. return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO";
  216. case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT:
  217. return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT";
  218. case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO:
  219. return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO";
  220. case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2:
  221. return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2";
  222. case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
  223. return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER";
  224. case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2:
  225. return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2";
  226. case VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2:
  227. return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2";
  228. case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO:
  229. return "VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO";
  230. case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO:
  231. return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO";
  232. case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT:
  233. return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT";
  234. case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV:
  235. return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV";
  236. case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV:
  237. return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV";
  238. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO:
  239. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO";
  240. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO:
  241. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO";
  242. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
  243. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT";
  244. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO:
  245. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO";
  246. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO:
  247. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO";
  248. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM:
  249. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM";
  250. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV:
  251. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV";
  252. case VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO:
  253. return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO";
  254. case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO:
  255. return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO";
  256. case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO:
  257. return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO";
  258. case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT:
  259. return "VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT";
  260. case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV:
  261. return "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV";
  262. case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR:
  263. return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR";
  264. case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR:
  265. return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR";
  266. case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2:
  267. return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2";
  268. case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2:
  269. return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2";
  270. case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM:
  271. return "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM";
  272. case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET:
  273. return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET";
  274. case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2:
  275. return "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2";
  276. case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2:
  277. return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2";
  278. case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR:
  279. return "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR";
  280. case VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX:
  281. return "VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX";
  282. case VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX:
  283. return "VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX";
  284. case VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX:
  285. return "VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX";
  286. case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
  287. return "VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR";
  288. case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT:
  289. return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT";
  290. case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT:
  291. return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT";
  292. case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT:
  293. return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT";
  294. case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
  295. return "VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT";
  296. case VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT:
  297. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT";
  298. case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT:
  299. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT";
  300. case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
  301. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT";
  302. case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT:
  303. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT";
  304. case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT:
  305. return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT";
  306. case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
  307. return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
  308. case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
  309. return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
  310. case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
  311. return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
  312. case VK_STRUCTURE_TYPE_DEPENDENCY_INFO:
  313. return "VK_STRUCTURE_TYPE_DEPENDENCY_INFO";
  314. case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO:
  315. return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO";
  316. case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO:
  317. return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO";
  318. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO:
  319. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO";
  320. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO:
  321. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO";
  322. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO:
  323. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO";
  324. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT:
  325. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT";
  326. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO:
  327. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO";
  328. case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
  329. return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT";
  330. case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO:
  331. return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO";
  332. case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS:
  333. return "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS";
  334. case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO:
  335. return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO";
  336. case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT:
  337. return "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT";
  338. case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:
  339. return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
  340. case VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT:
  341. return "VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT";
  342. case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
  343. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO";
  344. case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
  345. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO";
  346. case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
  347. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO";
  348. case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR:
  349. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR";
  350. case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
  351. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR";
  352. case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
  353. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO";
  354. case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
  355. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO";
  356. case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
  357. return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR";
  358. case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS:
  359. return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS";
  360. case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO:
  361. return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO";
  362. case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:
  363. return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD";
  364. case VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT:
  365. return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT";
  366. case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO:
  367. return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO";
  368. case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO:
  369. return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO";
  370. case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR:
  371. return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR";
  372. case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2:
  373. return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2";
  374. case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT:
  375. return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT";
  376. case VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT:
  377. return "VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT";
  378. case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR:
  379. return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR";
  380. case VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR:
  381. return "VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR";
  382. case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD:
  383. return "VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD";
  384. case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR:
  385. return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR";
  386. case VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR:
  387. return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR";
  388. case VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR:
  389. return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR";
  390. case VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT:
  391. return "VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT";
  392. case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
  393. return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR";
  394. case VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR:
  395. return "VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR";
  396. case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR:
  397. return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR";
  398. case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT:
  399. return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT";
  400. case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
  401. return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT";
  402. case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO:
  403. return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO";
  404. case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
  405. return "VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO";
  406. case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
  407. return "VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR";
  408. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
  409. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO";
  410. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
  411. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV";
  412. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
  413. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
  414. case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
  415. return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV";
  416. case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
  417. return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO";
  418. case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
  419. return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
  420. case VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES:
  421. return "VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES";
  422. case VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES:
  423. return "VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES";
  424. case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
  425. return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID";
  426. case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
  427. return "VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES";
  428. case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
  429. return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO";
  430. case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
  431. return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO";
  432. case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
  433. return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV";
  434. case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES:
  435. return "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES";
  436. case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO:
  437. return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO";
  438. case VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR:
  439. return "VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR";
  440. case VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR:
  441. return "VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR";
  442. case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT:
  443. return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT";
  444. case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2:
  445. return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2";
  446. case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3:
  447. return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3";
  448. case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
  449. return "VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR";
  450. case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO:
  451. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO";
  452. case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO:
  453. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO";
  454. case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO:
  455. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO";
  456. case VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV:
  457. return "VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV";
  458. case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV:
  459. return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV";
  460. case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV:
  461. return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV";
  462. case VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV:
  463. return "VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV";
  464. case VK_STRUCTURE_TYPE_GEOMETRY_NV:
  465. return "VK_STRUCTURE_TYPE_GEOMETRY_NV";
  466. case VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV:
  467. return "VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV";
  468. case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO:
  469. return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO";
  470. case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV:
  471. return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV";
  472. case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV:
  473. return "VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV";
  474. case VK_STRUCTURE_TYPE_HDR_METADATA_EXT:
  475. return "VK_STRUCTURE_TYPE_HDR_METADATA_EXT";
  476. case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT:
  477. return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT";
  478. case VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA:
  479. return "VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA";
  480. case VK_STRUCTURE_TYPE_IMAGE_BLIT_2:
  481. return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2";
  482. case VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA:
  483. return "VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA";
  484. case VK_STRUCTURE_TYPE_IMAGE_COPY_2:
  485. return "VK_STRUCTURE_TYPE_IMAGE_COPY_2";
  486. case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO:
  487. return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO";
  488. case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
  489. return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT";
  490. case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
  491. return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT";
  492. case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT:
  493. return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT";
  494. case VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA:
  495. return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA";
  496. case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
  497. return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO";
  498. case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2:
  499. return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2";
  500. case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
  501. return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER";
  502. case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2:
  503. return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2";
  504. case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2:
  505. return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2";
  506. case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
  507. return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO";
  508. case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2:
  509. return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2";
  510. case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2:
  511. return "VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2";
  512. case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
  513. return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO";
  514. case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
  515. return "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR";
  516. case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX:
  517. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX";
  518. case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT:
  519. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT";
  520. case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO:
  521. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO";
  522. case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX:
  523. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX";
  524. case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT:
  525. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT";
  526. case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
  527. return "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO";
  528. case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
  529. return "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
  530. case VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR:
  531. return "VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR";
  532. case VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR:
  533. return "VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR";
  534. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA:
  535. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA";
  536. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
  537. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR";
  538. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
  539. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT";
  540. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
  541. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
  542. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
  543. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV";
  544. case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA:
  545. return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA";
  546. case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR:
  547. return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR";
  548. case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
  549. return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
  550. case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA:
  551. return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA";
  552. case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV:
  553. return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV";
  554. case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV:
  555. return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV";
  556. case VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL:
  557. return "VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL";
  558. case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO:
  559. return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO";
  560. case VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK:
  561. return "VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK";
  562. case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO:
  563. return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO";
  564. case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO:
  565. return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO";
  566. case VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK:
  567. return "VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK";
  568. case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE:
  569. return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE";
  570. case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
  571. return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO";
  572. case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO:
  573. return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO";
  574. case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
  575. return "VK_STRUCTURE_TYPE_MEMORY_BARRIER";
  576. case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2:
  577. return "VK_STRUCTURE_TYPE_MEMORY_BARRIER_2";
  578. case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
  579. return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO";
  580. case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
  581. return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS";
  582. case VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR:
  583. return "VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR";
  584. case VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
  585. return "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
  586. case VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR:
  587. return "VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR";
  588. case VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV:
  589. return "VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV";
  590. case VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR:
  591. return "VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR";
  592. case VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA:
  593. return "VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA";
  594. case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT:
  595. return "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT";
  596. case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
  597. return "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO";
  598. case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT:
  599. return "VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT";
  600. case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2:
  601. return "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2";
  602. case VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR:
  603. return "VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR";
  604. case VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA:
  605. return "VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA";
  606. case VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT:
  607. return "VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT";
  608. case VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT:
  609. return "VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT";
  610. case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX:
  611. return "VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX";
  612. case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:
  613. return "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE";
  614. case VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL:
  615. return "VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL";
  616. case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR:
  617. return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR";
  618. case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR:
  619. return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR";
  620. case VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL:
  621. return "VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL";
  622. case VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL:
  623. return "VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL";
  624. case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR:
  625. return "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR";
  626. case VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL:
  627. return "VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL";
  628. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
  629. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES";
  630. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
  631. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT";
  632. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
  633. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES";
  634. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR:
  635. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR";
  636. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR:
  637. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR";
  638. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT:
  639. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT";
  640. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
  641. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT";
  642. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
  643. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT";
  644. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:
  645. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT";
  646. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
  647. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES";
  648. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT:
  649. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT";
  650. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD:
  651. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD";
  652. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT:
  653. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT";
  654. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:
  655. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV";
  656. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
  657. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT";
  658. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
  659. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT";
  660. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV:
  661. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV";
  662. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV:
  663. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV";
  664. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV:
  665. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV";
  666. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV:
  667. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV";
  668. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
  669. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT";
  670. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
  671. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT";
  672. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV:
  673. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV";
  674. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
  675. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT";
  676. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
  677. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT";
  678. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
  679. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES";
  680. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
  681. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES";
  682. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
  683. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES";
  684. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV:
  685. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV";
  686. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV:
  687. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV";
  688. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT:
  689. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT";
  690. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV:
  691. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV";
  692. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
  693. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT";
  694. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
  695. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES";
  696. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT:
  697. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT";
  698. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
  699. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES";
  700. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV:
  701. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV";
  702. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
  703. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT";
  704. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
  705. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT";
  706. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO:
  707. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO";
  708. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO:
  709. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO";
  710. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
  711. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO";
  712. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
  713. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT";
  714. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV:
  715. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV";
  716. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO:
  717. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO";
  718. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
  719. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2";
  720. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
  721. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES";
  722. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT:
  723. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT";
  724. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT:
  725. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT";
  726. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT:
  727. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT";
  728. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM:
  729. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM";
  730. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM:
  731. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM";
  732. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT:
  733. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT";
  734. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:
  735. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV";
  736. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT:
  737. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT";
  738. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:
  739. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV";
  740. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV:
  741. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV";
  742. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
  743. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR";
  744. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR:
  745. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR";
  746. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR:
  747. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR";
  748. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR:
  749. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR";
  750. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES:
  751. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES";
  752. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
  753. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES";
  754. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
  755. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES";
  756. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
  757. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES";
  758. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
  759. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT";
  760. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2:
  761. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2";
  762. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
  763. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES";
  764. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT:
  765. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT";
  766. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
  767. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT";
  768. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
  769. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT";
  770. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV:
  771. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV";
  772. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
  773. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES";
  774. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES:
  775. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES";
  776. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI:
  777. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI";
  778. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV:
  779. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV";
  780. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
  781. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT";
  782. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
  783. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT";
  784. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
  785. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES";
  786. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
  787. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES";
  788. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES:
  789. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES";
  790. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT:
  791. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT";
  792. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT:
  793. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT";
  794. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2:
  795. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2";
  796. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:
  797. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV";
  798. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV:
  799. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV";
  800. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
  801. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES";
  802. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
  803. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX";
  804. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
  805. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES";
  806. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
  807. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT";
  808. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:
  809. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT";
  810. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
  811. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE";
  812. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT:
  813. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT";
  814. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
  815. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT";
  816. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR:
  817. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR";
  818. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR:
  819. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR";
  820. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
  821. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES";
  822. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:
  823. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR";
  824. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
  825. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES";
  826. #ifdef VK_ENABLE_BETA_EXTENSIONS
  827. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR:
  828. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR";
  829. #endif // VK_ENABLE_BETA_EXTENSIONS
  830. #ifdef VK_ENABLE_BETA_EXTENSIONS
  831. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR:
  832. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR";
  833. #endif // VK_ENABLE_BETA_EXTENSIONS
  834. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR:
  835. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR";
  836. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR:
  837. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR";
  838. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
  839. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT";
  840. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
  841. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES";
  842. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2:
  843. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2";
  844. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
  845. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES";
  846. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
  847. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES";
  848. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
  849. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT";
  850. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
  851. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT";
  852. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
  853. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR";
  854. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM:
  855. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM";
  856. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR:
  857. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR";
  858. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV:
  859. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV";
  860. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR:
  861. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR";
  862. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR:
  863. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR";
  864. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV:
  865. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV";
  866. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV:
  867. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV";
  868. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT:
  869. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT";
  870. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
  871. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT";
  872. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT:
  873. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT";
  874. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
  875. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES";
  876. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
  877. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES";
  878. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
  879. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT";
  880. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
  881. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES";
  882. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
  883. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES";
  884. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT:
  885. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT";
  886. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT:
  887. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT";
  888. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
  889. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES";
  890. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR:
  891. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR";
  892. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD:
  893. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD";
  894. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
  895. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD";
  896. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
  897. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES";
  898. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
  899. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES";
  900. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
  901. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES";
  902. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT:
  903. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT";
  904. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV:
  905. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV";
  906. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
  907. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES";
  908. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
  909. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES";
  910. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL:
  911. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL";
  912. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV:
  913. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV";
  914. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV:
  915. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV";
  916. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
  917. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES";
  918. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR:
  919. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR";
  920. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
  921. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES";
  922. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV:
  923. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV";
  924. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV:
  925. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV";
  926. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2:
  927. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2";
  928. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
  929. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES";
  930. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
  931. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES";
  932. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES:
  933. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES";
  934. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI:
  935. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI";
  936. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI:
  937. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI";
  938. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR:
  939. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR";
  940. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
  941. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES";
  942. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
  943. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT";
  944. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES:
  945. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES";
  946. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
  947. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES";
  948. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
  949. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES";
  950. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
  951. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES";
  952. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES:
  953. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES";
  954. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
  955. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT";
  956. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
  957. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT";
  958. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
  959. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES";
  960. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
  961. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES";
  962. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
  963. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT";
  964. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
  965. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT";
  966. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT:
  967. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT";
  968. #ifdef VK_ENABLE_BETA_EXTENSIONS
  969. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR:
  970. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR";
  971. #endif // VK_ENABLE_BETA_EXTENSIONS
  972. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
  973. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES";
  974. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
  975. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES";
  976. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
  977. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES";
  978. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
  979. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES";
  980. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
  981. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES";
  982. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES:
  983. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES";
  984. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
  985. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES";
  986. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR:
  987. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR";
  988. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
  989. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT";
  990. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT:
  991. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT";
  992. case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
  993. return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES";
  994. case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO:
  995. return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO";
  996. case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
  997. return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT";
  998. case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO:
  999. return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO";
  1000. case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT:
  1001. return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT";
  1002. case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD:
  1003. return "VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD";
  1004. case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
  1005. return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV";
  1006. case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV:
  1007. return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV";
  1008. case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
  1009. return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV";
  1010. case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO:
  1011. return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO";
  1012. case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO:
  1013. return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO";
  1014. case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
  1015. return "VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT";
  1016. case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO:
  1017. return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO";
  1018. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR:
  1019. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR";
  1020. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR:
  1021. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR";
  1022. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR:
  1023. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR";
  1024. case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR:
  1025. return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR";
  1026. case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV:
  1027. return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV";
  1028. case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR:
  1029. return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR";
  1030. case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR:
  1031. return "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR";
  1032. case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO:
  1033. return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO";
  1034. case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO:
  1035. return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO";
  1036. case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
  1037. return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR";
  1038. case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO:
  1039. return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO";
  1040. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
  1041. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT";
  1042. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
  1043. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT";
  1044. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT:
  1045. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT";
  1046. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT:
  1047. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT";
  1048. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO:
  1049. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO";
  1050. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
  1051. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD";
  1052. case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
  1053. return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT";
  1054. case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO:
  1055. return "VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO";
  1056. case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV:
  1057. return "VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV";
  1058. case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
  1059. return "VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT";
  1060. case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:
  1061. return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO";
  1062. case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO:
  1063. return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO";
  1064. case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
  1065. return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO";
  1066. case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO:
  1067. return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO";
  1068. case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
  1069. return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT";
  1070. case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO:
  1071. return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO";
  1072. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV:
  1073. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV";
  1074. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT:
  1075. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT";
  1076. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:
  1077. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV";
  1078. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV:
  1079. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV";
  1080. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO:
  1081. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO";
  1082. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
  1083. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV";
  1084. case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
  1085. return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV";
  1086. case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP:
  1087. return "VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP";
  1088. case VK_STRUCTURE_TYPE_PRESENT_ID_KHR:
  1089. return "VK_STRUCTURE_TYPE_PRESENT_ID_KHR";
  1090. case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR:
  1091. return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR";
  1092. case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
  1093. return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR";
  1094. case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
  1095. return "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE";
  1096. case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO:
  1097. return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO";
  1098. case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
  1099. return "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO";
  1100. case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO:
  1101. return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO";
  1102. case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR:
  1103. return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR";
  1104. case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL:
  1105. return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL";
  1106. case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV:
  1107. return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV";
  1108. case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
  1109. return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV";
  1110. case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR:
  1111. return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR";
  1112. case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2:
  1113. return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2";
  1114. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1115. case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR:
  1116. return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR";
  1117. #endif // VK_ENABLE_BETA_EXTENSIONS
  1118. case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR:
  1119. return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR";
  1120. case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV:
  1121. return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV";
  1122. case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR:
  1123. return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR";
  1124. case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR:
  1125. return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR";
  1126. case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV:
  1127. return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV";
  1128. case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO:
  1129. return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO";
  1130. case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT:
  1131. return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT";
  1132. case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
  1133. return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR";
  1134. case VK_STRUCTURE_TYPE_RENDERING_INFO:
  1135. return "VK_STRUCTURE_TYPE_RENDERING_INFO";
  1136. case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
  1137. return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO";
  1138. case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO:
  1139. return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO";
  1140. case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO:
  1141. return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO";
  1142. case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2:
  1143. return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2";
  1144. case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT:
  1145. return "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT";
  1146. case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
  1147. return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO";
  1148. case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
  1149. return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO";
  1150. case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
  1151. return "VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT";
  1152. case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM:
  1153. return "VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM";
  1154. case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2:
  1155. return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2";
  1156. case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT:
  1157. return "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT";
  1158. case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO:
  1159. return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO";
  1160. case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
  1161. return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT";
  1162. case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO:
  1163. return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO";
  1164. case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO:
  1165. return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO";
  1166. case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
  1167. return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES";
  1168. case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
  1169. return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO";
  1170. case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
  1171. return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT";
  1172. case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX:
  1173. return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX";
  1174. case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO:
  1175. return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO";
  1176. case VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR:
  1177. return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR";
  1178. case VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR:
  1179. return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR";
  1180. case VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA:
  1181. return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA";
  1182. case VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO:
  1183. return "VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO";
  1184. case VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO:
  1185. return "VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO";
  1186. case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
  1187. return "VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO";
  1188. case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO:
  1189. return "VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO";
  1190. case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
  1191. return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO";
  1192. case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
  1193. return "VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT";
  1194. case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
  1195. return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR";
  1196. case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2:
  1197. return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2";
  1198. case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2:
  1199. return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2";
  1200. case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP:
  1201. return "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP";
  1202. case VK_STRUCTURE_TYPE_SUBMIT_INFO:
  1203. return "VK_STRUCTURE_TYPE_SUBMIT_INFO";
  1204. case VK_STRUCTURE_TYPE_SUBMIT_INFO_2:
  1205. return "VK_STRUCTURE_TYPE_SUBMIT_INFO_2";
  1206. case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO:
  1207. return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO";
  1208. case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2:
  1209. return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2";
  1210. case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2:
  1211. return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2";
  1212. case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
  1213. return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE";
  1214. case VK_STRUCTURE_TYPE_SUBPASS_END_INFO:
  1215. return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO";
  1216. case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM:
  1217. return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM";
  1218. case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI:
  1219. return "VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI";
  1220. case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT:
  1221. return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT";
  1222. case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR:
  1223. return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR";
  1224. case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT:
  1225. return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT";
  1226. case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR:
  1227. return "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR";
  1228. case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT:
  1229. return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT";
  1230. case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT:
  1231. return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT";
  1232. case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR:
  1233. return "VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR";
  1234. case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
  1235. return "VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT";
  1236. case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR:
  1237. return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR";
  1238. case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD:
  1239. return "VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD";
  1240. case VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA:
  1241. return "VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA";
  1242. case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
  1243. return "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD";
  1244. case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
  1245. return "VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO";
  1246. case VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT:
  1247. return "VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT";
  1248. case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT:
  1249. return "VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT";
  1250. case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
  1251. return "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT";
  1252. case VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT:
  1253. return "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT";
  1254. case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT:
  1255. return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT";
  1256. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1257. case VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR:
  1258. return "VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR";
  1259. #endif // VK_ENABLE_BETA_EXTENSIONS
  1260. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1261. case VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR:
  1262. return "VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR";
  1263. #endif // VK_ENABLE_BETA_EXTENSIONS
  1264. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1265. case VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR:
  1266. return "VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR";
  1267. #endif // VK_ENABLE_BETA_EXTENSIONS
  1268. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1269. case VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR:
  1270. return "VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR";
  1271. #endif // VK_ENABLE_BETA_EXTENSIONS
  1272. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1273. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT:
  1274. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT";
  1275. #endif // VK_ENABLE_BETA_EXTENSIONS
  1276. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1277. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT:
  1278. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT";
  1279. #endif // VK_ENABLE_BETA_EXTENSIONS
  1280. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1281. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT:
  1282. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT";
  1283. #endif // VK_ENABLE_BETA_EXTENSIONS
  1284. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1285. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT:
  1286. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT";
  1287. #endif // VK_ENABLE_BETA_EXTENSIONS
  1288. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1289. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT:
  1290. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT";
  1291. #endif // VK_ENABLE_BETA_EXTENSIONS
  1292. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1293. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT:
  1294. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT";
  1295. #endif // VK_ENABLE_BETA_EXTENSIONS
  1296. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1297. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT:
  1298. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
  1299. #endif // VK_ENABLE_BETA_EXTENSIONS
  1300. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1301. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT:
  1302. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
  1303. #endif // VK_ENABLE_BETA_EXTENSIONS
  1304. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1305. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT:
  1306. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT";
  1307. #endif // VK_ENABLE_BETA_EXTENSIONS
  1308. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1309. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT:
  1310. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT";
  1311. #endif // VK_ENABLE_BETA_EXTENSIONS
  1312. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1313. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT:
  1314. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT";
  1315. #endif // VK_ENABLE_BETA_EXTENSIONS
  1316. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1317. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT:
  1318. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT";
  1319. #endif // VK_ENABLE_BETA_EXTENSIONS
  1320. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1321. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT:
  1322. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT";
  1323. #endif // VK_ENABLE_BETA_EXTENSIONS
  1324. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1325. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT:
  1326. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
  1327. #endif // VK_ENABLE_BETA_EXTENSIONS
  1328. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1329. case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT:
  1330. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
  1331. #endif // VK_ENABLE_BETA_EXTENSIONS
  1332. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1333. case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR:
  1334. return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
  1335. #endif // VK_ENABLE_BETA_EXTENSIONS
  1336. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1337. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT:
  1338. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT";
  1339. #endif // VK_ENABLE_BETA_EXTENSIONS
  1340. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1341. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT:
  1342. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT";
  1343. #endif // VK_ENABLE_BETA_EXTENSIONS
  1344. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1345. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT:
  1346. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT";
  1347. #endif // VK_ENABLE_BETA_EXTENSIONS
  1348. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1349. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT:
  1350. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT";
  1351. #endif // VK_ENABLE_BETA_EXTENSIONS
  1352. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1353. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT:
  1354. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT";
  1355. #endif // VK_ENABLE_BETA_EXTENSIONS
  1356. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1357. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT:
  1358. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT";
  1359. #endif // VK_ENABLE_BETA_EXTENSIONS
  1360. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1361. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT:
  1362. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT";
  1363. #endif // VK_ENABLE_BETA_EXTENSIONS
  1364. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1365. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT:
  1366. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT";
  1367. #endif // VK_ENABLE_BETA_EXTENSIONS
  1368. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1369. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT:
  1370. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
  1371. #endif // VK_ENABLE_BETA_EXTENSIONS
  1372. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1373. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT:
  1374. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
  1375. #endif // VK_ENABLE_BETA_EXTENSIONS
  1376. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1377. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT:
  1378. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT";
  1379. #endif // VK_ENABLE_BETA_EXTENSIONS
  1380. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1381. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT:
  1382. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT";
  1383. #endif // VK_ENABLE_BETA_EXTENSIONS
  1384. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1385. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT:
  1386. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT";
  1387. #endif // VK_ENABLE_BETA_EXTENSIONS
  1388. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1389. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT:
  1390. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT";
  1391. #endif // VK_ENABLE_BETA_EXTENSIONS
  1392. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1393. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT:
  1394. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT";
  1395. #endif // VK_ENABLE_BETA_EXTENSIONS
  1396. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1397. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT:
  1398. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT";
  1399. #endif // VK_ENABLE_BETA_EXTENSIONS
  1400. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1401. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT:
  1402. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT";
  1403. #endif // VK_ENABLE_BETA_EXTENSIONS
  1404. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1405. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT:
  1406. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT";
  1407. #endif // VK_ENABLE_BETA_EXTENSIONS
  1408. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1409. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT:
  1410. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT";
  1411. #endif // VK_ENABLE_BETA_EXTENSIONS
  1412. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1413. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT:
  1414. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT";
  1415. #endif // VK_ENABLE_BETA_EXTENSIONS
  1416. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1417. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT:
  1418. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
  1419. #endif // VK_ENABLE_BETA_EXTENSIONS
  1420. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1421. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT:
  1422. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
  1423. #endif // VK_ENABLE_BETA_EXTENSIONS
  1424. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1425. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT:
  1426. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT";
  1427. #endif // VK_ENABLE_BETA_EXTENSIONS
  1428. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1429. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR:
  1430. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR";
  1431. #endif // VK_ENABLE_BETA_EXTENSIONS
  1432. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1433. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR:
  1434. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR";
  1435. #endif // VK_ENABLE_BETA_EXTENSIONS
  1436. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1437. case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR:
  1438. return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR";
  1439. #endif // VK_ENABLE_BETA_EXTENSIONS
  1440. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1441. case VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR:
  1442. return "VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR";
  1443. #endif // VK_ENABLE_BETA_EXTENSIONS
  1444. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1445. case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR:
  1446. return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR";
  1447. #endif // VK_ENABLE_BETA_EXTENSIONS
  1448. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1449. case VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR:
  1450. return "VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR";
  1451. #endif // VK_ENABLE_BETA_EXTENSIONS
  1452. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1453. case VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR:
  1454. return "VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR";
  1455. #endif // VK_ENABLE_BETA_EXTENSIONS
  1456. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1457. case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR:
  1458. return "VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR";
  1459. #endif // VK_ENABLE_BETA_EXTENSIONS
  1460. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1461. case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR:
  1462. return "VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR";
  1463. #endif // VK_ENABLE_BETA_EXTENSIONS
  1464. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1465. case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR:
  1466. return "VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR";
  1467. #endif // VK_ENABLE_BETA_EXTENSIONS
  1468. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1469. case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR:
  1470. return "VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR";
  1471. #endif // VK_ENABLE_BETA_EXTENSIONS
  1472. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1473. case VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR:
  1474. return "VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR";
  1475. #endif // VK_ENABLE_BETA_EXTENSIONS
  1476. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1477. case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR:
  1478. return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR";
  1479. #endif // VK_ENABLE_BETA_EXTENSIONS
  1480. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1481. case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR:
  1482. return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR";
  1483. #endif // VK_ENABLE_BETA_EXTENSIONS
  1484. case VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN:
  1485. return "VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN";
  1486. case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR:
  1487. return "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR";
  1488. case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
  1489. return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR";
  1490. case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
  1491. return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV";
  1492. case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR:
  1493. return "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR";
  1494. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET:
  1495. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET";
  1496. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR:
  1497. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR";
  1498. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV:
  1499. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV";
  1500. case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK:
  1501. return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK";
  1502. case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR:
  1503. return "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR";
  1504. case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR:
  1505. return "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR";
  1506. default:
  1507. return "Unhandled VkStructureType";
  1508. }
  1509. }
  1510. static inline const char* string_VkAccessFlagBits(VkAccessFlagBits input_value)
  1511. {
  1512. switch (input_value)
  1513. {
  1514. case VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR:
  1515. return "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR";
  1516. case VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR:
  1517. return "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR";
  1518. case VK_ACCESS_COLOR_ATTACHMENT_READ_BIT:
  1519. return "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT";
  1520. case VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT:
  1521. return "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT";
  1522. case VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT:
  1523. return "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT";
  1524. case VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV:
  1525. return "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV";
  1526. case VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV:
  1527. return "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV";
  1528. case VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT:
  1529. return "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT";
  1530. case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT:
  1531. return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT";
  1532. case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT:
  1533. return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT";
  1534. case VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT:
  1535. return "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT";
  1536. case VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR:
  1537. return "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR";
  1538. case VK_ACCESS_HOST_READ_BIT:
  1539. return "VK_ACCESS_HOST_READ_BIT";
  1540. case VK_ACCESS_HOST_WRITE_BIT:
  1541. return "VK_ACCESS_HOST_WRITE_BIT";
  1542. case VK_ACCESS_INDEX_READ_BIT:
  1543. return "VK_ACCESS_INDEX_READ_BIT";
  1544. case VK_ACCESS_INDIRECT_COMMAND_READ_BIT:
  1545. return "VK_ACCESS_INDIRECT_COMMAND_READ_BIT";
  1546. case VK_ACCESS_INPUT_ATTACHMENT_READ_BIT:
  1547. return "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT";
  1548. case VK_ACCESS_MEMORY_READ_BIT:
  1549. return "VK_ACCESS_MEMORY_READ_BIT";
  1550. case VK_ACCESS_MEMORY_WRITE_BIT:
  1551. return "VK_ACCESS_MEMORY_WRITE_BIT";
  1552. case VK_ACCESS_NONE:
  1553. return "VK_ACCESS_NONE";
  1554. case VK_ACCESS_SHADER_READ_BIT:
  1555. return "VK_ACCESS_SHADER_READ_BIT";
  1556. case VK_ACCESS_SHADER_WRITE_BIT:
  1557. return "VK_ACCESS_SHADER_WRITE_BIT";
  1558. case VK_ACCESS_TRANSFER_READ_BIT:
  1559. return "VK_ACCESS_TRANSFER_READ_BIT";
  1560. case VK_ACCESS_TRANSFER_WRITE_BIT:
  1561. return "VK_ACCESS_TRANSFER_WRITE_BIT";
  1562. case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT:
  1563. return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT";
  1564. case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT:
  1565. return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT";
  1566. case VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT:
  1567. return "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT";
  1568. case VK_ACCESS_UNIFORM_READ_BIT:
  1569. return "VK_ACCESS_UNIFORM_READ_BIT";
  1570. case VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT:
  1571. return "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT";
  1572. default:
  1573. return "Unhandled VkAccessFlagBits";
  1574. }
  1575. }
  1576. static inline std::string string_VkAccessFlags(VkAccessFlags input_value)
  1577. {
  1578. std::string ret;
  1579. int index = 0;
  1580. while(input_value) {
  1581. if (input_value & 1) {
  1582. if( !ret.empty()) ret.append("|");
  1583. ret.append(string_VkAccessFlagBits(static_cast<VkAccessFlagBits>(1U << index)));
  1584. }
  1585. ++index;
  1586. input_value >>= 1;
  1587. }
  1588. if( ret.empty()) ret.append(string_VkAccessFlagBits(static_cast<VkAccessFlagBits>(0)));
  1589. return ret;
  1590. }
  1591. static inline const char* string_VkImageLayout(VkImageLayout input_value)
  1592. {
  1593. switch (input_value)
  1594. {
  1595. case VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL:
  1596. return "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL";
  1597. case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:
  1598. return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL";
  1599. case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL:
  1600. return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL";
  1601. case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL:
  1602. return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL";
  1603. case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL:
  1604. return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL";
  1605. case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL:
  1606. return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL";
  1607. case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
  1608. return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL";
  1609. case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
  1610. return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
  1611. case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT:
  1612. return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT";
  1613. case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR:
  1614. return "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR";
  1615. case VK_IMAGE_LAYOUT_GENERAL:
  1616. return "VK_IMAGE_LAYOUT_GENERAL";
  1617. case VK_IMAGE_LAYOUT_PREINITIALIZED:
  1618. return "VK_IMAGE_LAYOUT_PREINITIALIZED";
  1619. case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:
  1620. return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR";
  1621. case VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL:
  1622. return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL";
  1623. case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
  1624. return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
  1625. case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR:
  1626. return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR";
  1627. case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL:
  1628. return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL";
  1629. case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL:
  1630. return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL";
  1631. case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
  1632. return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL";
  1633. case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
  1634. return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
  1635. case VK_IMAGE_LAYOUT_UNDEFINED:
  1636. return "VK_IMAGE_LAYOUT_UNDEFINED";
  1637. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1638. case VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR:
  1639. return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR";
  1640. #endif // VK_ENABLE_BETA_EXTENSIONS
  1641. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1642. case VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR:
  1643. return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR";
  1644. #endif // VK_ENABLE_BETA_EXTENSIONS
  1645. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1646. case VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR:
  1647. return "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR";
  1648. #endif // VK_ENABLE_BETA_EXTENSIONS
  1649. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1650. case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR:
  1651. return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR";
  1652. #endif // VK_ENABLE_BETA_EXTENSIONS
  1653. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1654. case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR:
  1655. return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR";
  1656. #endif // VK_ENABLE_BETA_EXTENSIONS
  1657. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1658. case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR:
  1659. return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR";
  1660. #endif // VK_ENABLE_BETA_EXTENSIONS
  1661. default:
  1662. return "Unhandled VkImageLayout";
  1663. }
  1664. }
  1665. static inline const char* string_VkImageAspectFlagBits(VkImageAspectFlagBits input_value)
  1666. {
  1667. switch (input_value)
  1668. {
  1669. case VK_IMAGE_ASPECT_COLOR_BIT:
  1670. return "VK_IMAGE_ASPECT_COLOR_BIT";
  1671. case VK_IMAGE_ASPECT_DEPTH_BIT:
  1672. return "VK_IMAGE_ASPECT_DEPTH_BIT";
  1673. case VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT:
  1674. return "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT";
  1675. case VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT:
  1676. return "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT";
  1677. case VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT:
  1678. return "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT";
  1679. case VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT:
  1680. return "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT";
  1681. case VK_IMAGE_ASPECT_METADATA_BIT:
  1682. return "VK_IMAGE_ASPECT_METADATA_BIT";
  1683. case VK_IMAGE_ASPECT_NONE_KHR:
  1684. return "VK_IMAGE_ASPECT_NONE_KHR";
  1685. case VK_IMAGE_ASPECT_PLANE_0_BIT:
  1686. return "VK_IMAGE_ASPECT_PLANE_0_BIT";
  1687. case VK_IMAGE_ASPECT_PLANE_1_BIT:
  1688. return "VK_IMAGE_ASPECT_PLANE_1_BIT";
  1689. case VK_IMAGE_ASPECT_PLANE_2_BIT:
  1690. return "VK_IMAGE_ASPECT_PLANE_2_BIT";
  1691. case VK_IMAGE_ASPECT_STENCIL_BIT:
  1692. return "VK_IMAGE_ASPECT_STENCIL_BIT";
  1693. default:
  1694. return "Unhandled VkImageAspectFlagBits";
  1695. }
  1696. }
  1697. static inline std::string string_VkImageAspectFlags(VkImageAspectFlags input_value)
  1698. {
  1699. std::string ret;
  1700. int index = 0;
  1701. while(input_value) {
  1702. if (input_value & 1) {
  1703. if( !ret.empty()) ret.append("|");
  1704. ret.append(string_VkImageAspectFlagBits(static_cast<VkImageAspectFlagBits>(1U << index)));
  1705. }
  1706. ++index;
  1707. input_value >>= 1;
  1708. }
  1709. if( ret.empty()) ret.append(string_VkImageAspectFlagBits(static_cast<VkImageAspectFlagBits>(0)));
  1710. return ret;
  1711. }
  1712. static inline const char* string_VkObjectType(VkObjectType input_value)
  1713. {
  1714. switch (input_value)
  1715. {
  1716. case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR:
  1717. return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR";
  1718. case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV:
  1719. return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV";
  1720. case VK_OBJECT_TYPE_BUFFER:
  1721. return "VK_OBJECT_TYPE_BUFFER";
  1722. case VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA:
  1723. return "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA";
  1724. case VK_OBJECT_TYPE_BUFFER_VIEW:
  1725. return "VK_OBJECT_TYPE_BUFFER_VIEW";
  1726. case VK_OBJECT_TYPE_COMMAND_BUFFER:
  1727. return "VK_OBJECT_TYPE_COMMAND_BUFFER";
  1728. case VK_OBJECT_TYPE_COMMAND_POOL:
  1729. return "VK_OBJECT_TYPE_COMMAND_POOL";
  1730. case VK_OBJECT_TYPE_CU_FUNCTION_NVX:
  1731. return "VK_OBJECT_TYPE_CU_FUNCTION_NVX";
  1732. case VK_OBJECT_TYPE_CU_MODULE_NVX:
  1733. return "VK_OBJECT_TYPE_CU_MODULE_NVX";
  1734. case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT:
  1735. return "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT";
  1736. case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT:
  1737. return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT";
  1738. case VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR:
  1739. return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR";
  1740. case VK_OBJECT_TYPE_DESCRIPTOR_POOL:
  1741. return "VK_OBJECT_TYPE_DESCRIPTOR_POOL";
  1742. case VK_OBJECT_TYPE_DESCRIPTOR_SET:
  1743. return "VK_OBJECT_TYPE_DESCRIPTOR_SET";
  1744. case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT:
  1745. return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT";
  1746. case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE:
  1747. return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE";
  1748. case VK_OBJECT_TYPE_DEVICE:
  1749. return "VK_OBJECT_TYPE_DEVICE";
  1750. case VK_OBJECT_TYPE_DEVICE_MEMORY:
  1751. return "VK_OBJECT_TYPE_DEVICE_MEMORY";
  1752. case VK_OBJECT_TYPE_DISPLAY_KHR:
  1753. return "VK_OBJECT_TYPE_DISPLAY_KHR";
  1754. case VK_OBJECT_TYPE_DISPLAY_MODE_KHR:
  1755. return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR";
  1756. case VK_OBJECT_TYPE_EVENT:
  1757. return "VK_OBJECT_TYPE_EVENT";
  1758. case VK_OBJECT_TYPE_FENCE:
  1759. return "VK_OBJECT_TYPE_FENCE";
  1760. case VK_OBJECT_TYPE_FRAMEBUFFER:
  1761. return "VK_OBJECT_TYPE_FRAMEBUFFER";
  1762. case VK_OBJECT_TYPE_IMAGE:
  1763. return "VK_OBJECT_TYPE_IMAGE";
  1764. case VK_OBJECT_TYPE_IMAGE_VIEW:
  1765. return "VK_OBJECT_TYPE_IMAGE_VIEW";
  1766. case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV:
  1767. return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
  1768. case VK_OBJECT_TYPE_INSTANCE:
  1769. return "VK_OBJECT_TYPE_INSTANCE";
  1770. case VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL:
  1771. return "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL";
  1772. case VK_OBJECT_TYPE_PHYSICAL_DEVICE:
  1773. return "VK_OBJECT_TYPE_PHYSICAL_DEVICE";
  1774. case VK_OBJECT_TYPE_PIPELINE:
  1775. return "VK_OBJECT_TYPE_PIPELINE";
  1776. case VK_OBJECT_TYPE_PIPELINE_CACHE:
  1777. return "VK_OBJECT_TYPE_PIPELINE_CACHE";
  1778. case VK_OBJECT_TYPE_PIPELINE_LAYOUT:
  1779. return "VK_OBJECT_TYPE_PIPELINE_LAYOUT";
  1780. case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT:
  1781. return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT";
  1782. case VK_OBJECT_TYPE_QUERY_POOL:
  1783. return "VK_OBJECT_TYPE_QUERY_POOL";
  1784. case VK_OBJECT_TYPE_QUEUE:
  1785. return "VK_OBJECT_TYPE_QUEUE";
  1786. case VK_OBJECT_TYPE_RENDER_PASS:
  1787. return "VK_OBJECT_TYPE_RENDER_PASS";
  1788. case VK_OBJECT_TYPE_SAMPLER:
  1789. return "VK_OBJECT_TYPE_SAMPLER";
  1790. case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION:
  1791. return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION";
  1792. case VK_OBJECT_TYPE_SEMAPHORE:
  1793. return "VK_OBJECT_TYPE_SEMAPHORE";
  1794. case VK_OBJECT_TYPE_SHADER_MODULE:
  1795. return "VK_OBJECT_TYPE_SHADER_MODULE";
  1796. case VK_OBJECT_TYPE_SURFACE_KHR:
  1797. return "VK_OBJECT_TYPE_SURFACE_KHR";
  1798. case VK_OBJECT_TYPE_SWAPCHAIN_KHR:
  1799. return "VK_OBJECT_TYPE_SWAPCHAIN_KHR";
  1800. case VK_OBJECT_TYPE_UNKNOWN:
  1801. return "VK_OBJECT_TYPE_UNKNOWN";
  1802. case VK_OBJECT_TYPE_VALIDATION_CACHE_EXT:
  1803. return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT";
  1804. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1805. case VK_OBJECT_TYPE_VIDEO_SESSION_KHR:
  1806. return "VK_OBJECT_TYPE_VIDEO_SESSION_KHR";
  1807. #endif // VK_ENABLE_BETA_EXTENSIONS
  1808. #ifdef VK_ENABLE_BETA_EXTENSIONS
  1809. case VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR:
  1810. return "VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR";
  1811. #endif // VK_ENABLE_BETA_EXTENSIONS
  1812. default:
  1813. return "Unhandled VkObjectType";
  1814. }
  1815. }
  1816. static inline const char* string_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion input_value)
  1817. {
  1818. switch (input_value)
  1819. {
  1820. case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:
  1821. return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
  1822. default:
  1823. return "Unhandled VkPipelineCacheHeaderVersion";
  1824. }
  1825. }
  1826. static inline const char* string_VkVendorId(VkVendorId input_value)
  1827. {
  1828. switch (input_value)
  1829. {
  1830. case VK_VENDOR_ID_CODEPLAY:
  1831. return "VK_VENDOR_ID_CODEPLAY";
  1832. case VK_VENDOR_ID_KAZAN:
  1833. return "VK_VENDOR_ID_KAZAN";
  1834. case VK_VENDOR_ID_MESA:
  1835. return "VK_VENDOR_ID_MESA";
  1836. case VK_VENDOR_ID_POCL:
  1837. return "VK_VENDOR_ID_POCL";
  1838. case VK_VENDOR_ID_VIV:
  1839. return "VK_VENDOR_ID_VIV";
  1840. case VK_VENDOR_ID_VSI:
  1841. return "VK_VENDOR_ID_VSI";
  1842. default:
  1843. return "Unhandled VkVendorId";
  1844. }
  1845. }
  1846. static inline const char* string_VkSystemAllocationScope(VkSystemAllocationScope input_value)
  1847. {
  1848. switch (input_value)
  1849. {
  1850. case VK_SYSTEM_ALLOCATION_SCOPE_CACHE:
  1851. return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE";
  1852. case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND:
  1853. return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND";
  1854. case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE:
  1855. return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE";
  1856. case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE:
  1857. return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE";
  1858. case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT:
  1859. return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT";
  1860. default:
  1861. return "Unhandled VkSystemAllocationScope";
  1862. }
  1863. }
  1864. static inline const char* string_VkInternalAllocationType(VkInternalAllocationType input_value)
  1865. {
  1866. switch (input_value)
  1867. {
  1868. case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE:
  1869. return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE";
  1870. default:
  1871. return "Unhandled VkInternalAllocationType";
  1872. }
  1873. }
  1874. static inline const char* string_VkFormat(VkFormat input_value)
  1875. {
  1876. switch (input_value)
  1877. {
  1878. case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
  1879. return "VK_FORMAT_A1R5G5B5_UNORM_PACK16";
  1880. case VK_FORMAT_A2B10G10R10_SINT_PACK32:
  1881. return "VK_FORMAT_A2B10G10R10_SINT_PACK32";
  1882. case VK_FORMAT_A2B10G10R10_SNORM_PACK32:
  1883. return "VK_FORMAT_A2B10G10R10_SNORM_PACK32";
  1884. case VK_FORMAT_A2B10G10R10_SSCALED_PACK32:
  1885. return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32";
  1886. case VK_FORMAT_A2B10G10R10_UINT_PACK32:
  1887. return "VK_FORMAT_A2B10G10R10_UINT_PACK32";
  1888. case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
  1889. return "VK_FORMAT_A2B10G10R10_UNORM_PACK32";
  1890. case VK_FORMAT_A2B10G10R10_USCALED_PACK32:
  1891. return "VK_FORMAT_A2B10G10R10_USCALED_PACK32";
  1892. case VK_FORMAT_A2R10G10B10_SINT_PACK32:
  1893. return "VK_FORMAT_A2R10G10B10_SINT_PACK32";
  1894. case VK_FORMAT_A2R10G10B10_SNORM_PACK32:
  1895. return "VK_FORMAT_A2R10G10B10_SNORM_PACK32";
  1896. case VK_FORMAT_A2R10G10B10_SSCALED_PACK32:
  1897. return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32";
  1898. case VK_FORMAT_A2R10G10B10_UINT_PACK32:
  1899. return "VK_FORMAT_A2R10G10B10_UINT_PACK32";
  1900. case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
  1901. return "VK_FORMAT_A2R10G10B10_UNORM_PACK32";
  1902. case VK_FORMAT_A2R10G10B10_USCALED_PACK32:
  1903. return "VK_FORMAT_A2R10G10B10_USCALED_PACK32";
  1904. case VK_FORMAT_A4B4G4R4_UNORM_PACK16:
  1905. return "VK_FORMAT_A4B4G4R4_UNORM_PACK16";
  1906. case VK_FORMAT_A4R4G4B4_UNORM_PACK16:
  1907. return "VK_FORMAT_A4R4G4B4_UNORM_PACK16";
  1908. case VK_FORMAT_A8B8G8R8_SINT_PACK32:
  1909. return "VK_FORMAT_A8B8G8R8_SINT_PACK32";
  1910. case VK_FORMAT_A8B8G8R8_SNORM_PACK32:
  1911. return "VK_FORMAT_A8B8G8R8_SNORM_PACK32";
  1912. case VK_FORMAT_A8B8G8R8_SRGB_PACK32:
  1913. return "VK_FORMAT_A8B8G8R8_SRGB_PACK32";
  1914. case VK_FORMAT_A8B8G8R8_SSCALED_PACK32:
  1915. return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32";
  1916. case VK_FORMAT_A8B8G8R8_UINT_PACK32:
  1917. return "VK_FORMAT_A8B8G8R8_UINT_PACK32";
  1918. case VK_FORMAT_A8B8G8R8_UNORM_PACK32:
  1919. return "VK_FORMAT_A8B8G8R8_UNORM_PACK32";
  1920. case VK_FORMAT_A8B8G8R8_USCALED_PACK32:
  1921. return "VK_FORMAT_A8B8G8R8_USCALED_PACK32";
  1922. case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK:
  1923. return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK";
  1924. case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
  1925. return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK";
  1926. case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
  1927. return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK";
  1928. case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK:
  1929. return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK";
  1930. case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
  1931. return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK";
  1932. case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
  1933. return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK";
  1934. case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK:
  1935. return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK";
  1936. case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
  1937. return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK";
  1938. case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
  1939. return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK";
  1940. case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK:
  1941. return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK";
  1942. case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
  1943. return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK";
  1944. case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
  1945. return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK";
  1946. case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK:
  1947. return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK";
  1948. case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
  1949. return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK";
  1950. case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
  1951. return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK";
  1952. case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK:
  1953. return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK";
  1954. case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
  1955. return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK";
  1956. case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
  1957. return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK";
  1958. case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK:
  1959. return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK";
  1960. case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
  1961. return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK";
  1962. case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
  1963. return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK";
  1964. case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK:
  1965. return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK";
  1966. case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
  1967. return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK";
  1968. case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
  1969. return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK";
  1970. case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK:
  1971. return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK";
  1972. case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
  1973. return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK";
  1974. case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
  1975. return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK";
  1976. case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK:
  1977. return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK";
  1978. case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
  1979. return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK";
  1980. case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
  1981. return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK";
  1982. case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK:
  1983. return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK";
  1984. case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
  1985. return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK";
  1986. case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
  1987. return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK";
  1988. case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK:
  1989. return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK";
  1990. case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
  1991. return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK";
  1992. case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
  1993. return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK";
  1994. case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK:
  1995. return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK";
  1996. case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
  1997. return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK";
  1998. case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
  1999. return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK";
  2000. case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK:
  2001. return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK";
  2002. case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
  2003. return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK";
  2004. case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
  2005. return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK";
  2006. case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
  2007. return "VK_FORMAT_B10G11R11_UFLOAT_PACK32";
  2008. case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:
  2009. return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16";
  2010. case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:
  2011. return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16";
  2012. case VK_FORMAT_B16G16R16G16_422_UNORM:
  2013. return "VK_FORMAT_B16G16R16G16_422_UNORM";
  2014. case VK_FORMAT_B4G4R4A4_UNORM_PACK16:
  2015. return "VK_FORMAT_B4G4R4A4_UNORM_PACK16";
  2016. case VK_FORMAT_B5G5R5A1_UNORM_PACK16:
  2017. return "VK_FORMAT_B5G5R5A1_UNORM_PACK16";
  2018. case VK_FORMAT_B5G6R5_UNORM_PACK16:
  2019. return "VK_FORMAT_B5G6R5_UNORM_PACK16";
  2020. case VK_FORMAT_B8G8R8A8_SINT:
  2021. return "VK_FORMAT_B8G8R8A8_SINT";
  2022. case VK_FORMAT_B8G8R8A8_SNORM:
  2023. return "VK_FORMAT_B8G8R8A8_SNORM";
  2024. case VK_FORMAT_B8G8R8A8_SRGB:
  2025. return "VK_FORMAT_B8G8R8A8_SRGB";
  2026. case VK_FORMAT_B8G8R8A8_SSCALED:
  2027. return "VK_FORMAT_B8G8R8A8_SSCALED";
  2028. case VK_FORMAT_B8G8R8A8_UINT:
  2029. return "VK_FORMAT_B8G8R8A8_UINT";
  2030. case VK_FORMAT_B8G8R8A8_UNORM:
  2031. return "VK_FORMAT_B8G8R8A8_UNORM";
  2032. case VK_FORMAT_B8G8R8A8_USCALED:
  2033. return "VK_FORMAT_B8G8R8A8_USCALED";
  2034. case VK_FORMAT_B8G8R8G8_422_UNORM:
  2035. return "VK_FORMAT_B8G8R8G8_422_UNORM";
  2036. case VK_FORMAT_B8G8R8_SINT:
  2037. return "VK_FORMAT_B8G8R8_SINT";
  2038. case VK_FORMAT_B8G8R8_SNORM:
  2039. return "VK_FORMAT_B8G8R8_SNORM";
  2040. case VK_FORMAT_B8G8R8_SRGB:
  2041. return "VK_FORMAT_B8G8R8_SRGB";
  2042. case VK_FORMAT_B8G8R8_SSCALED:
  2043. return "VK_FORMAT_B8G8R8_SSCALED";
  2044. case VK_FORMAT_B8G8R8_UINT:
  2045. return "VK_FORMAT_B8G8R8_UINT";
  2046. case VK_FORMAT_B8G8R8_UNORM:
  2047. return "VK_FORMAT_B8G8R8_UNORM";
  2048. case VK_FORMAT_B8G8R8_USCALED:
  2049. return "VK_FORMAT_B8G8R8_USCALED";
  2050. case VK_FORMAT_BC1_RGBA_SRGB_BLOCK:
  2051. return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK";
  2052. case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:
  2053. return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK";
  2054. case VK_FORMAT_BC1_RGB_SRGB_BLOCK:
  2055. return "VK_FORMAT_BC1_RGB_SRGB_BLOCK";
  2056. case VK_FORMAT_BC1_RGB_UNORM_BLOCK:
  2057. return "VK_FORMAT_BC1_RGB_UNORM_BLOCK";
  2058. case VK_FORMAT_BC2_SRGB_BLOCK:
  2059. return "VK_FORMAT_BC2_SRGB_BLOCK";
  2060. case VK_FORMAT_BC2_UNORM_BLOCK:
  2061. return "VK_FORMAT_BC2_UNORM_BLOCK";
  2062. case VK_FORMAT_BC3_SRGB_BLOCK:
  2063. return "VK_FORMAT_BC3_SRGB_BLOCK";
  2064. case VK_FORMAT_BC3_UNORM_BLOCK:
  2065. return "VK_FORMAT_BC3_UNORM_BLOCK";
  2066. case VK_FORMAT_BC4_SNORM_BLOCK:
  2067. return "VK_FORMAT_BC4_SNORM_BLOCK";
  2068. case VK_FORMAT_BC4_UNORM_BLOCK:
  2069. return "VK_FORMAT_BC4_UNORM_BLOCK";
  2070. case VK_FORMAT_BC5_SNORM_BLOCK:
  2071. return "VK_FORMAT_BC5_SNORM_BLOCK";
  2072. case VK_FORMAT_BC5_UNORM_BLOCK:
  2073. return "VK_FORMAT_BC5_UNORM_BLOCK";
  2074. case VK_FORMAT_BC6H_SFLOAT_BLOCK:
  2075. return "VK_FORMAT_BC6H_SFLOAT_BLOCK";
  2076. case VK_FORMAT_BC6H_UFLOAT_BLOCK:
  2077. return "VK_FORMAT_BC6H_UFLOAT_BLOCK";
  2078. case VK_FORMAT_BC7_SRGB_BLOCK:
  2079. return "VK_FORMAT_BC7_SRGB_BLOCK";
  2080. case VK_FORMAT_BC7_UNORM_BLOCK:
  2081. return "VK_FORMAT_BC7_UNORM_BLOCK";
  2082. case VK_FORMAT_D16_UNORM:
  2083. return "VK_FORMAT_D16_UNORM";
  2084. case VK_FORMAT_D16_UNORM_S8_UINT:
  2085. return "VK_FORMAT_D16_UNORM_S8_UINT";
  2086. case VK_FORMAT_D24_UNORM_S8_UINT:
  2087. return "VK_FORMAT_D24_UNORM_S8_UINT";
  2088. case VK_FORMAT_D32_SFLOAT:
  2089. return "VK_FORMAT_D32_SFLOAT";
  2090. case VK_FORMAT_D32_SFLOAT_S8_UINT:
  2091. return "VK_FORMAT_D32_SFLOAT_S8_UINT";
  2092. case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:
  2093. return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32";
  2094. case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
  2095. return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK";
  2096. case VK_FORMAT_EAC_R11G11_UNORM_BLOCK:
  2097. return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK";
  2098. case VK_FORMAT_EAC_R11_SNORM_BLOCK:
  2099. return "VK_FORMAT_EAC_R11_SNORM_BLOCK";
  2100. case VK_FORMAT_EAC_R11_UNORM_BLOCK:
  2101. return "VK_FORMAT_EAC_R11_UNORM_BLOCK";
  2102. case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:
  2103. return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK";
  2104. case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:
  2105. return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK";
  2106. case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
  2107. return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK";
  2108. case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
  2109. return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK";
  2110. case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:
  2111. return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK";
  2112. case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:
  2113. return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK";
  2114. case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:
  2115. return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16";
  2116. case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:
  2117. return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16";
  2118. case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:
  2119. return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16";
  2120. case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16:
  2121. return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16";
  2122. case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:
  2123. return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16";
  2124. case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:
  2125. return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16";
  2126. case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:
  2127. return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16";
  2128. case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:
  2129. return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16";
  2130. case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:
  2131. return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16";
  2132. case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:
  2133. return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16";
  2134. case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16:
  2135. return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16";
  2136. case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:
  2137. return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16";
  2138. case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:
  2139. return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16";
  2140. case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:
  2141. return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16";
  2142. case VK_FORMAT_G16B16G16R16_422_UNORM:
  2143. return "VK_FORMAT_G16B16G16R16_422_UNORM";
  2144. case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:
  2145. return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM";
  2146. case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:
  2147. return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM";
  2148. case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM:
  2149. return "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM";
  2150. case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:
  2151. return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM";
  2152. case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:
  2153. return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM";
  2154. case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:
  2155. return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM";
  2156. case VK_FORMAT_G8B8G8R8_422_UNORM:
  2157. return "VK_FORMAT_G8B8G8R8_422_UNORM";
  2158. case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
  2159. return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM";
  2160. case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:
  2161. return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM";
  2162. case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM:
  2163. return "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM";
  2164. case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
  2165. return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM";
  2166. case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:
  2167. return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM";
  2168. case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:
  2169. return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM";
  2170. case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:
  2171. return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG";
  2172. case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:
  2173. return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG";
  2174. case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:
  2175. return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG";
  2176. case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:
  2177. return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG";
  2178. case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:
  2179. return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG";
  2180. case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:
  2181. return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG";
  2182. case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:
  2183. return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG";
  2184. case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:
  2185. return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG";
  2186. case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:
  2187. return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16";
  2188. case VK_FORMAT_R10X6G10X6_UNORM_2PACK16:
  2189. return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16";
  2190. case VK_FORMAT_R10X6_UNORM_PACK16:
  2191. return "VK_FORMAT_R10X6_UNORM_PACK16";
  2192. case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:
  2193. return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16";
  2194. case VK_FORMAT_R12X4G12X4_UNORM_2PACK16:
  2195. return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16";
  2196. case VK_FORMAT_R12X4_UNORM_PACK16:
  2197. return "VK_FORMAT_R12X4_UNORM_PACK16";
  2198. case VK_FORMAT_R16G16B16A16_SFLOAT:
  2199. return "VK_FORMAT_R16G16B16A16_SFLOAT";
  2200. case VK_FORMAT_R16G16B16A16_SINT:
  2201. return "VK_FORMAT_R16G16B16A16_SINT";
  2202. case VK_FORMAT_R16G16B16A16_SNORM:
  2203. return "VK_FORMAT_R16G16B16A16_SNORM";
  2204. case VK_FORMAT_R16G16B16A16_SSCALED:
  2205. return "VK_FORMAT_R16G16B16A16_SSCALED";
  2206. case VK_FORMAT_R16G16B16A16_UINT:
  2207. return "VK_FORMAT_R16G16B16A16_UINT";
  2208. case VK_FORMAT_R16G16B16A16_UNORM:
  2209. return "VK_FORMAT_R16G16B16A16_UNORM";
  2210. case VK_FORMAT_R16G16B16A16_USCALED:
  2211. return "VK_FORMAT_R16G16B16A16_USCALED";
  2212. case VK_FORMAT_R16G16B16_SFLOAT:
  2213. return "VK_FORMAT_R16G16B16_SFLOAT";
  2214. case VK_FORMAT_R16G16B16_SINT:
  2215. return "VK_FORMAT_R16G16B16_SINT";
  2216. case VK_FORMAT_R16G16B16_SNORM:
  2217. return "VK_FORMAT_R16G16B16_SNORM";
  2218. case VK_FORMAT_R16G16B16_SSCALED:
  2219. return "VK_FORMAT_R16G16B16_SSCALED";
  2220. case VK_FORMAT_R16G16B16_UINT:
  2221. return "VK_FORMAT_R16G16B16_UINT";
  2222. case VK_FORMAT_R16G16B16_UNORM:
  2223. return "VK_FORMAT_R16G16B16_UNORM";
  2224. case VK_FORMAT_R16G16B16_USCALED:
  2225. return "VK_FORMAT_R16G16B16_USCALED";
  2226. case VK_FORMAT_R16G16_SFLOAT:
  2227. return "VK_FORMAT_R16G16_SFLOAT";
  2228. case VK_FORMAT_R16G16_SINT:
  2229. return "VK_FORMAT_R16G16_SINT";
  2230. case VK_FORMAT_R16G16_SNORM:
  2231. return "VK_FORMAT_R16G16_SNORM";
  2232. case VK_FORMAT_R16G16_SSCALED:
  2233. return "VK_FORMAT_R16G16_SSCALED";
  2234. case VK_FORMAT_R16G16_UINT:
  2235. return "VK_FORMAT_R16G16_UINT";
  2236. case VK_FORMAT_R16G16_UNORM:
  2237. return "VK_FORMAT_R16G16_UNORM";
  2238. case VK_FORMAT_R16G16_USCALED:
  2239. return "VK_FORMAT_R16G16_USCALED";
  2240. case VK_FORMAT_R16_SFLOAT:
  2241. return "VK_FORMAT_R16_SFLOAT";
  2242. case VK_FORMAT_R16_SINT:
  2243. return "VK_FORMAT_R16_SINT";
  2244. case VK_FORMAT_R16_SNORM:
  2245. return "VK_FORMAT_R16_SNORM";
  2246. case VK_FORMAT_R16_SSCALED:
  2247. return "VK_FORMAT_R16_SSCALED";
  2248. case VK_FORMAT_R16_UINT:
  2249. return "VK_FORMAT_R16_UINT";
  2250. case VK_FORMAT_R16_UNORM:
  2251. return "VK_FORMAT_R16_UNORM";
  2252. case VK_FORMAT_R16_USCALED:
  2253. return "VK_FORMAT_R16_USCALED";
  2254. case VK_FORMAT_R32G32B32A32_SFLOAT:
  2255. return "VK_FORMAT_R32G32B32A32_SFLOAT";
  2256. case VK_FORMAT_R32G32B32A32_SINT:
  2257. return "VK_FORMAT_R32G32B32A32_SINT";
  2258. case VK_FORMAT_R32G32B32A32_UINT:
  2259. return "VK_FORMAT_R32G32B32A32_UINT";
  2260. case VK_FORMAT_R32G32B32_SFLOAT:
  2261. return "VK_FORMAT_R32G32B32_SFLOAT";
  2262. case VK_FORMAT_R32G32B32_SINT:
  2263. return "VK_FORMAT_R32G32B32_SINT";
  2264. case VK_FORMAT_R32G32B32_UINT:
  2265. return "VK_FORMAT_R32G32B32_UINT";
  2266. case VK_FORMAT_R32G32_SFLOAT:
  2267. return "VK_FORMAT_R32G32_SFLOAT";
  2268. case VK_FORMAT_R32G32_SINT:
  2269. return "VK_FORMAT_R32G32_SINT";
  2270. case VK_FORMAT_R32G32_UINT:
  2271. return "VK_FORMAT_R32G32_UINT";
  2272. case VK_FORMAT_R32_SFLOAT:
  2273. return "VK_FORMAT_R32_SFLOAT";
  2274. case VK_FORMAT_R32_SINT:
  2275. return "VK_FORMAT_R32_SINT";
  2276. case VK_FORMAT_R32_UINT:
  2277. return "VK_FORMAT_R32_UINT";
  2278. case VK_FORMAT_R4G4B4A4_UNORM_PACK16:
  2279. return "VK_FORMAT_R4G4B4A4_UNORM_PACK16";
  2280. case VK_FORMAT_R4G4_UNORM_PACK8:
  2281. return "VK_FORMAT_R4G4_UNORM_PACK8";
  2282. case VK_FORMAT_R5G5B5A1_UNORM_PACK16:
  2283. return "VK_FORMAT_R5G5B5A1_UNORM_PACK16";
  2284. case VK_FORMAT_R5G6B5_UNORM_PACK16:
  2285. return "VK_FORMAT_R5G6B5_UNORM_PACK16";
  2286. case VK_FORMAT_R64G64B64A64_SFLOAT:
  2287. return "VK_FORMAT_R64G64B64A64_SFLOAT";
  2288. case VK_FORMAT_R64G64B64A64_SINT:
  2289. return "VK_FORMAT_R64G64B64A64_SINT";
  2290. case VK_FORMAT_R64G64B64A64_UINT:
  2291. return "VK_FORMAT_R64G64B64A64_UINT";
  2292. case VK_FORMAT_R64G64B64_SFLOAT:
  2293. return "VK_FORMAT_R64G64B64_SFLOAT";
  2294. case VK_FORMAT_R64G64B64_SINT:
  2295. return "VK_FORMAT_R64G64B64_SINT";
  2296. case VK_FORMAT_R64G64B64_UINT:
  2297. return "VK_FORMAT_R64G64B64_UINT";
  2298. case VK_FORMAT_R64G64_SFLOAT:
  2299. return "VK_FORMAT_R64G64_SFLOAT";
  2300. case VK_FORMAT_R64G64_SINT:
  2301. return "VK_FORMAT_R64G64_SINT";
  2302. case VK_FORMAT_R64G64_UINT:
  2303. return "VK_FORMAT_R64G64_UINT";
  2304. case VK_FORMAT_R64_SFLOAT:
  2305. return "VK_FORMAT_R64_SFLOAT";
  2306. case VK_FORMAT_R64_SINT:
  2307. return "VK_FORMAT_R64_SINT";
  2308. case VK_FORMAT_R64_UINT:
  2309. return "VK_FORMAT_R64_UINT";
  2310. case VK_FORMAT_R8G8B8A8_SINT:
  2311. return "VK_FORMAT_R8G8B8A8_SINT";
  2312. case VK_FORMAT_R8G8B8A8_SNORM:
  2313. return "VK_FORMAT_R8G8B8A8_SNORM";
  2314. case VK_FORMAT_R8G8B8A8_SRGB:
  2315. return "VK_FORMAT_R8G8B8A8_SRGB";
  2316. case VK_FORMAT_R8G8B8A8_SSCALED:
  2317. return "VK_FORMAT_R8G8B8A8_SSCALED";
  2318. case VK_FORMAT_R8G8B8A8_UINT:
  2319. return "VK_FORMAT_R8G8B8A8_UINT";
  2320. case VK_FORMAT_R8G8B8A8_UNORM:
  2321. return "VK_FORMAT_R8G8B8A8_UNORM";
  2322. case VK_FORMAT_R8G8B8A8_USCALED:
  2323. return "VK_FORMAT_R8G8B8A8_USCALED";
  2324. case VK_FORMAT_R8G8B8_SINT:
  2325. return "VK_FORMAT_R8G8B8_SINT";
  2326. case VK_FORMAT_R8G8B8_SNORM:
  2327. return "VK_FORMAT_R8G8B8_SNORM";
  2328. case VK_FORMAT_R8G8B8_SRGB:
  2329. return "VK_FORMAT_R8G8B8_SRGB";
  2330. case VK_FORMAT_R8G8B8_SSCALED:
  2331. return "VK_FORMAT_R8G8B8_SSCALED";
  2332. case VK_FORMAT_R8G8B8_UINT:
  2333. return "VK_FORMAT_R8G8B8_UINT";
  2334. case VK_FORMAT_R8G8B8_UNORM:
  2335. return "VK_FORMAT_R8G8B8_UNORM";
  2336. case VK_FORMAT_R8G8B8_USCALED:
  2337. return "VK_FORMAT_R8G8B8_USCALED";
  2338. case VK_FORMAT_R8G8_SINT:
  2339. return "VK_FORMAT_R8G8_SINT";
  2340. case VK_FORMAT_R8G8_SNORM:
  2341. return "VK_FORMAT_R8G8_SNORM";
  2342. case VK_FORMAT_R8G8_SRGB:
  2343. return "VK_FORMAT_R8G8_SRGB";
  2344. case VK_FORMAT_R8G8_SSCALED:
  2345. return "VK_FORMAT_R8G8_SSCALED";
  2346. case VK_FORMAT_R8G8_UINT:
  2347. return "VK_FORMAT_R8G8_UINT";
  2348. case VK_FORMAT_R8G8_UNORM:
  2349. return "VK_FORMAT_R8G8_UNORM";
  2350. case VK_FORMAT_R8G8_USCALED:
  2351. return "VK_FORMAT_R8G8_USCALED";
  2352. case VK_FORMAT_R8_SINT:
  2353. return "VK_FORMAT_R8_SINT";
  2354. case VK_FORMAT_R8_SNORM:
  2355. return "VK_FORMAT_R8_SNORM";
  2356. case VK_FORMAT_R8_SRGB:
  2357. return "VK_FORMAT_R8_SRGB";
  2358. case VK_FORMAT_R8_SSCALED:
  2359. return "VK_FORMAT_R8_SSCALED";
  2360. case VK_FORMAT_R8_UINT:
  2361. return "VK_FORMAT_R8_UINT";
  2362. case VK_FORMAT_R8_UNORM:
  2363. return "VK_FORMAT_R8_UNORM";
  2364. case VK_FORMAT_R8_USCALED:
  2365. return "VK_FORMAT_R8_USCALED";
  2366. case VK_FORMAT_S8_UINT:
  2367. return "VK_FORMAT_S8_UINT";
  2368. case VK_FORMAT_UNDEFINED:
  2369. return "VK_FORMAT_UNDEFINED";
  2370. case VK_FORMAT_X8_D24_UNORM_PACK32:
  2371. return "VK_FORMAT_X8_D24_UNORM_PACK32";
  2372. default:
  2373. return "Unhandled VkFormat";
  2374. }
  2375. }
  2376. static inline const char* string_VkFormatFeatureFlagBits(VkFormatFeatureFlagBits input_value)
  2377. {
  2378. switch (input_value)
  2379. {
  2380. case VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR:
  2381. return "VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR";
  2382. case VK_FORMAT_FEATURE_BLIT_DST_BIT:
  2383. return "VK_FORMAT_FEATURE_BLIT_DST_BIT";
  2384. case VK_FORMAT_FEATURE_BLIT_SRC_BIT:
  2385. return "VK_FORMAT_FEATURE_BLIT_SRC_BIT";
  2386. case VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT:
  2387. return "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT";
  2388. case VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT:
  2389. return "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT";
  2390. case VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT:
  2391. return "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT";
  2392. case VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT:
  2393. return "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT";
  2394. case VK_FORMAT_FEATURE_DISJOINT_BIT:
  2395. return "VK_FORMAT_FEATURE_DISJOINT_BIT";
  2396. case VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT:
  2397. return "VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT";
  2398. case VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  2399. return "VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  2400. case VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT:
  2401. return "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT";
  2402. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT:
  2403. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT";
  2404. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG:
  2405. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG";
  2406. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT:
  2407. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT";
  2408. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT:
  2409. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT";
  2410. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT:
  2411. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT";
  2412. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT:
  2413. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT";
  2414. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT:
  2415. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT";
  2416. case VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT:
  2417. return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT";
  2418. case VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT:
  2419. return "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT";
  2420. case VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT:
  2421. return "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT";
  2422. case VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT:
  2423. return "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT";
  2424. case VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT:
  2425. return "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT";
  2426. case VK_FORMAT_FEATURE_TRANSFER_DST_BIT:
  2427. return "VK_FORMAT_FEATURE_TRANSFER_DST_BIT";
  2428. case VK_FORMAT_FEATURE_TRANSFER_SRC_BIT:
  2429. return "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT";
  2430. case VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT:
  2431. return "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT";
  2432. case VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT:
  2433. return "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT";
  2434. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2435. case VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR:
  2436. return "VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR";
  2437. #endif // VK_ENABLE_BETA_EXTENSIONS
  2438. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2439. case VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR:
  2440. return "VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR";
  2441. #endif // VK_ENABLE_BETA_EXTENSIONS
  2442. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2443. case VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR:
  2444. return "VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR";
  2445. #endif // VK_ENABLE_BETA_EXTENSIONS
  2446. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2447. case VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR:
  2448. return "VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR";
  2449. #endif // VK_ENABLE_BETA_EXTENSIONS
  2450. default:
  2451. return "Unhandled VkFormatFeatureFlagBits";
  2452. }
  2453. }
  2454. static inline std::string string_VkFormatFeatureFlags(VkFormatFeatureFlags input_value)
  2455. {
  2456. std::string ret;
  2457. int index = 0;
  2458. while(input_value) {
  2459. if (input_value & 1) {
  2460. if( !ret.empty()) ret.append("|");
  2461. ret.append(string_VkFormatFeatureFlagBits(static_cast<VkFormatFeatureFlagBits>(1U << index)));
  2462. }
  2463. ++index;
  2464. input_value >>= 1;
  2465. }
  2466. if( ret.empty()) ret.append(string_VkFormatFeatureFlagBits(static_cast<VkFormatFeatureFlagBits>(0)));
  2467. return ret;
  2468. }
  2469. static inline const char* string_VkImageCreateFlagBits(VkImageCreateFlagBits input_value)
  2470. {
  2471. switch (input_value)
  2472. {
  2473. case VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT:
  2474. return "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT";
  2475. case VK_IMAGE_CREATE_ALIAS_BIT:
  2476. return "VK_IMAGE_CREATE_ALIAS_BIT";
  2477. case VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT:
  2478. return "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT";
  2479. case VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV:
  2480. return "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV";
  2481. case VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT:
  2482. return "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT";
  2483. case VK_IMAGE_CREATE_DISJOINT_BIT:
  2484. return "VK_IMAGE_CREATE_DISJOINT_BIT";
  2485. case VK_IMAGE_CREATE_EXTENDED_USAGE_BIT:
  2486. return "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT";
  2487. case VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM:
  2488. return "VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM";
  2489. case VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT:
  2490. return "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT";
  2491. case VK_IMAGE_CREATE_PROTECTED_BIT:
  2492. return "VK_IMAGE_CREATE_PROTECTED_BIT";
  2493. case VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT:
  2494. return "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT";
  2495. case VK_IMAGE_CREATE_SPARSE_ALIASED_BIT:
  2496. return "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT";
  2497. case VK_IMAGE_CREATE_SPARSE_BINDING_BIT:
  2498. return "VK_IMAGE_CREATE_SPARSE_BINDING_BIT";
  2499. case VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT:
  2500. return "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT";
  2501. case VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT:
  2502. return "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT";
  2503. case VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT:
  2504. return "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT";
  2505. default:
  2506. return "Unhandled VkImageCreateFlagBits";
  2507. }
  2508. }
  2509. static inline std::string string_VkImageCreateFlags(VkImageCreateFlags input_value)
  2510. {
  2511. std::string ret;
  2512. int index = 0;
  2513. while(input_value) {
  2514. if (input_value & 1) {
  2515. if( !ret.empty()) ret.append("|");
  2516. ret.append(string_VkImageCreateFlagBits(static_cast<VkImageCreateFlagBits>(1U << index)));
  2517. }
  2518. ++index;
  2519. input_value >>= 1;
  2520. }
  2521. if( ret.empty()) ret.append(string_VkImageCreateFlagBits(static_cast<VkImageCreateFlagBits>(0)));
  2522. return ret;
  2523. }
  2524. static inline const char* string_VkSampleCountFlagBits(VkSampleCountFlagBits input_value)
  2525. {
  2526. switch (input_value)
  2527. {
  2528. case VK_SAMPLE_COUNT_16_BIT:
  2529. return "VK_SAMPLE_COUNT_16_BIT";
  2530. case VK_SAMPLE_COUNT_1_BIT:
  2531. return "VK_SAMPLE_COUNT_1_BIT";
  2532. case VK_SAMPLE_COUNT_2_BIT:
  2533. return "VK_SAMPLE_COUNT_2_BIT";
  2534. case VK_SAMPLE_COUNT_32_BIT:
  2535. return "VK_SAMPLE_COUNT_32_BIT";
  2536. case VK_SAMPLE_COUNT_4_BIT:
  2537. return "VK_SAMPLE_COUNT_4_BIT";
  2538. case VK_SAMPLE_COUNT_64_BIT:
  2539. return "VK_SAMPLE_COUNT_64_BIT";
  2540. case VK_SAMPLE_COUNT_8_BIT:
  2541. return "VK_SAMPLE_COUNT_8_BIT";
  2542. default:
  2543. return "Unhandled VkSampleCountFlagBits";
  2544. }
  2545. }
  2546. static inline std::string string_VkSampleCountFlags(VkSampleCountFlags input_value)
  2547. {
  2548. std::string ret;
  2549. int index = 0;
  2550. while(input_value) {
  2551. if (input_value & 1) {
  2552. if( !ret.empty()) ret.append("|");
  2553. ret.append(string_VkSampleCountFlagBits(static_cast<VkSampleCountFlagBits>(1U << index)));
  2554. }
  2555. ++index;
  2556. input_value >>= 1;
  2557. }
  2558. if( ret.empty()) ret.append(string_VkSampleCountFlagBits(static_cast<VkSampleCountFlagBits>(0)));
  2559. return ret;
  2560. }
  2561. static inline const char* string_VkImageTiling(VkImageTiling input_value)
  2562. {
  2563. switch (input_value)
  2564. {
  2565. case VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT:
  2566. return "VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT";
  2567. case VK_IMAGE_TILING_LINEAR:
  2568. return "VK_IMAGE_TILING_LINEAR";
  2569. case VK_IMAGE_TILING_OPTIMAL:
  2570. return "VK_IMAGE_TILING_OPTIMAL";
  2571. default:
  2572. return "Unhandled VkImageTiling";
  2573. }
  2574. }
  2575. static inline const char* string_VkImageType(VkImageType input_value)
  2576. {
  2577. switch (input_value)
  2578. {
  2579. case VK_IMAGE_TYPE_1D:
  2580. return "VK_IMAGE_TYPE_1D";
  2581. case VK_IMAGE_TYPE_2D:
  2582. return "VK_IMAGE_TYPE_2D";
  2583. case VK_IMAGE_TYPE_3D:
  2584. return "VK_IMAGE_TYPE_3D";
  2585. default:
  2586. return "Unhandled VkImageType";
  2587. }
  2588. }
  2589. static inline const char* string_VkImageUsageFlagBits(VkImageUsageFlagBits input_value)
  2590. {
  2591. switch (input_value)
  2592. {
  2593. case VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT:
  2594. return "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT";
  2595. case VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT:
  2596. return "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT";
  2597. case VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT:
  2598. return "VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT";
  2599. case VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  2600. return "VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  2601. case VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT:
  2602. return "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT";
  2603. case VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI:
  2604. return "VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI";
  2605. case VK_IMAGE_USAGE_SAMPLED_BIT:
  2606. return "VK_IMAGE_USAGE_SAMPLED_BIT";
  2607. case VK_IMAGE_USAGE_STORAGE_BIT:
  2608. return "VK_IMAGE_USAGE_STORAGE_BIT";
  2609. case VK_IMAGE_USAGE_TRANSFER_DST_BIT:
  2610. return "VK_IMAGE_USAGE_TRANSFER_DST_BIT";
  2611. case VK_IMAGE_USAGE_TRANSFER_SRC_BIT:
  2612. return "VK_IMAGE_USAGE_TRANSFER_SRC_BIT";
  2613. case VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT:
  2614. return "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT";
  2615. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2616. case VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR:
  2617. return "VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR";
  2618. #endif // VK_ENABLE_BETA_EXTENSIONS
  2619. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2620. case VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR:
  2621. return "VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR";
  2622. #endif // VK_ENABLE_BETA_EXTENSIONS
  2623. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2624. case VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR:
  2625. return "VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR";
  2626. #endif // VK_ENABLE_BETA_EXTENSIONS
  2627. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2628. case VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR:
  2629. return "VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR";
  2630. #endif // VK_ENABLE_BETA_EXTENSIONS
  2631. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2632. case VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR:
  2633. return "VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR";
  2634. #endif // VK_ENABLE_BETA_EXTENSIONS
  2635. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2636. case VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR:
  2637. return "VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR";
  2638. #endif // VK_ENABLE_BETA_EXTENSIONS
  2639. default:
  2640. return "Unhandled VkImageUsageFlagBits";
  2641. }
  2642. }
  2643. static inline std::string string_VkImageUsageFlags(VkImageUsageFlags input_value)
  2644. {
  2645. std::string ret;
  2646. int index = 0;
  2647. while(input_value) {
  2648. if (input_value & 1) {
  2649. if( !ret.empty()) ret.append("|");
  2650. ret.append(string_VkImageUsageFlagBits(static_cast<VkImageUsageFlagBits>(1U << index)));
  2651. }
  2652. ++index;
  2653. input_value >>= 1;
  2654. }
  2655. if( ret.empty()) ret.append(string_VkImageUsageFlagBits(static_cast<VkImageUsageFlagBits>(0)));
  2656. return ret;
  2657. }
  2658. static inline const char* string_VkMemoryHeapFlagBits(VkMemoryHeapFlagBits input_value)
  2659. {
  2660. switch (input_value)
  2661. {
  2662. case VK_MEMORY_HEAP_DEVICE_LOCAL_BIT:
  2663. return "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT";
  2664. case VK_MEMORY_HEAP_MULTI_INSTANCE_BIT:
  2665. return "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT";
  2666. default:
  2667. return "Unhandled VkMemoryHeapFlagBits";
  2668. }
  2669. }
  2670. static inline std::string string_VkMemoryHeapFlags(VkMemoryHeapFlags input_value)
  2671. {
  2672. std::string ret;
  2673. int index = 0;
  2674. while(input_value) {
  2675. if (input_value & 1) {
  2676. if( !ret.empty()) ret.append("|");
  2677. ret.append(string_VkMemoryHeapFlagBits(static_cast<VkMemoryHeapFlagBits>(1U << index)));
  2678. }
  2679. ++index;
  2680. input_value >>= 1;
  2681. }
  2682. if( ret.empty()) ret.append(string_VkMemoryHeapFlagBits(static_cast<VkMemoryHeapFlagBits>(0)));
  2683. return ret;
  2684. }
  2685. static inline const char* string_VkMemoryPropertyFlagBits(VkMemoryPropertyFlagBits input_value)
  2686. {
  2687. switch (input_value)
  2688. {
  2689. case VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD:
  2690. return "VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD";
  2691. case VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT:
  2692. return "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT";
  2693. case VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD:
  2694. return "VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD";
  2695. case VK_MEMORY_PROPERTY_HOST_CACHED_BIT:
  2696. return "VK_MEMORY_PROPERTY_HOST_CACHED_BIT";
  2697. case VK_MEMORY_PROPERTY_HOST_COHERENT_BIT:
  2698. return "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT";
  2699. case VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT:
  2700. return "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT";
  2701. case VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT:
  2702. return "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT";
  2703. case VK_MEMORY_PROPERTY_PROTECTED_BIT:
  2704. return "VK_MEMORY_PROPERTY_PROTECTED_BIT";
  2705. case VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV:
  2706. return "VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV";
  2707. default:
  2708. return "Unhandled VkMemoryPropertyFlagBits";
  2709. }
  2710. }
  2711. static inline std::string string_VkMemoryPropertyFlags(VkMemoryPropertyFlags input_value)
  2712. {
  2713. std::string ret;
  2714. int index = 0;
  2715. while(input_value) {
  2716. if (input_value & 1) {
  2717. if( !ret.empty()) ret.append("|");
  2718. ret.append(string_VkMemoryPropertyFlagBits(static_cast<VkMemoryPropertyFlagBits>(1U << index)));
  2719. }
  2720. ++index;
  2721. input_value >>= 1;
  2722. }
  2723. if( ret.empty()) ret.append(string_VkMemoryPropertyFlagBits(static_cast<VkMemoryPropertyFlagBits>(0)));
  2724. return ret;
  2725. }
  2726. static inline const char* string_VkPhysicalDeviceType(VkPhysicalDeviceType input_value)
  2727. {
  2728. switch (input_value)
  2729. {
  2730. case VK_PHYSICAL_DEVICE_TYPE_CPU:
  2731. return "VK_PHYSICAL_DEVICE_TYPE_CPU";
  2732. case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU:
  2733. return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU";
  2734. case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU:
  2735. return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU";
  2736. case VK_PHYSICAL_DEVICE_TYPE_OTHER:
  2737. return "VK_PHYSICAL_DEVICE_TYPE_OTHER";
  2738. case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU:
  2739. return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU";
  2740. default:
  2741. return "Unhandled VkPhysicalDeviceType";
  2742. }
  2743. }
  2744. static inline const char* string_VkQueueFlagBits(VkQueueFlagBits input_value)
  2745. {
  2746. switch (input_value)
  2747. {
  2748. case VK_QUEUE_COMPUTE_BIT:
  2749. return "VK_QUEUE_COMPUTE_BIT";
  2750. case VK_QUEUE_GRAPHICS_BIT:
  2751. return "VK_QUEUE_GRAPHICS_BIT";
  2752. case VK_QUEUE_PROTECTED_BIT:
  2753. return "VK_QUEUE_PROTECTED_BIT";
  2754. case VK_QUEUE_SPARSE_BINDING_BIT:
  2755. return "VK_QUEUE_SPARSE_BINDING_BIT";
  2756. case VK_QUEUE_TRANSFER_BIT:
  2757. return "VK_QUEUE_TRANSFER_BIT";
  2758. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2759. case VK_QUEUE_VIDEO_DECODE_BIT_KHR:
  2760. return "VK_QUEUE_VIDEO_DECODE_BIT_KHR";
  2761. #endif // VK_ENABLE_BETA_EXTENSIONS
  2762. #ifdef VK_ENABLE_BETA_EXTENSIONS
  2763. case VK_QUEUE_VIDEO_ENCODE_BIT_KHR:
  2764. return "VK_QUEUE_VIDEO_ENCODE_BIT_KHR";
  2765. #endif // VK_ENABLE_BETA_EXTENSIONS
  2766. default:
  2767. return "Unhandled VkQueueFlagBits";
  2768. }
  2769. }
  2770. static inline std::string string_VkQueueFlags(VkQueueFlags input_value)
  2771. {
  2772. std::string ret;
  2773. int index = 0;
  2774. while(input_value) {
  2775. if (input_value & 1) {
  2776. if( !ret.empty()) ret.append("|");
  2777. ret.append(string_VkQueueFlagBits(static_cast<VkQueueFlagBits>(1U << index)));
  2778. }
  2779. ++index;
  2780. input_value >>= 1;
  2781. }
  2782. if( ret.empty()) ret.append(string_VkQueueFlagBits(static_cast<VkQueueFlagBits>(0)));
  2783. return ret;
  2784. }
  2785. static inline const char* string_VkDeviceQueueCreateFlagBits(VkDeviceQueueCreateFlagBits input_value)
  2786. {
  2787. switch (input_value)
  2788. {
  2789. case VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT:
  2790. return "VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT";
  2791. default:
  2792. return "Unhandled VkDeviceQueueCreateFlagBits";
  2793. }
  2794. }
  2795. static inline std::string string_VkDeviceQueueCreateFlags(VkDeviceQueueCreateFlags input_value)
  2796. {
  2797. std::string ret;
  2798. int index = 0;
  2799. while(input_value) {
  2800. if (input_value & 1) {
  2801. if( !ret.empty()) ret.append("|");
  2802. ret.append(string_VkDeviceQueueCreateFlagBits(static_cast<VkDeviceQueueCreateFlagBits>(1U << index)));
  2803. }
  2804. ++index;
  2805. input_value >>= 1;
  2806. }
  2807. if( ret.empty()) ret.append(string_VkDeviceQueueCreateFlagBits(static_cast<VkDeviceQueueCreateFlagBits>(0)));
  2808. return ret;
  2809. }
  2810. static inline const char* string_VkPipelineStageFlagBits(VkPipelineStageFlagBits input_value)
  2811. {
  2812. switch (input_value)
  2813. {
  2814. case VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR:
  2815. return "VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR";
  2816. case VK_PIPELINE_STAGE_ALL_COMMANDS_BIT:
  2817. return "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT";
  2818. case VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT:
  2819. return "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT";
  2820. case VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT:
  2821. return "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT";
  2822. case VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT:
  2823. return "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT";
  2824. case VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV:
  2825. return "VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV";
  2826. case VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT:
  2827. return "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT";
  2828. case VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT:
  2829. return "VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT";
  2830. case VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT:
  2831. return "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT";
  2832. case VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT:
  2833. return "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT";
  2834. case VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT:
  2835. return "VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT";
  2836. case VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT:
  2837. return "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT";
  2838. case VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  2839. return "VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  2840. case VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT:
  2841. return "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT";
  2842. case VK_PIPELINE_STAGE_HOST_BIT:
  2843. return "VK_PIPELINE_STAGE_HOST_BIT";
  2844. case VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT:
  2845. return "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT";
  2846. case VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV:
  2847. return "VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV";
  2848. case VK_PIPELINE_STAGE_NONE:
  2849. return "VK_PIPELINE_STAGE_NONE";
  2850. case VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR:
  2851. return "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR";
  2852. case VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV:
  2853. return "VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV";
  2854. case VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT:
  2855. return "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT";
  2856. case VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT:
  2857. return "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT";
  2858. case VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT:
  2859. return "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT";
  2860. case VK_PIPELINE_STAGE_TRANSFER_BIT:
  2861. return "VK_PIPELINE_STAGE_TRANSFER_BIT";
  2862. case VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT:
  2863. return "VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT";
  2864. case VK_PIPELINE_STAGE_VERTEX_INPUT_BIT:
  2865. return "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT";
  2866. case VK_PIPELINE_STAGE_VERTEX_SHADER_BIT:
  2867. return "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT";
  2868. default:
  2869. return "Unhandled VkPipelineStageFlagBits";
  2870. }
  2871. }
  2872. static inline std::string string_VkPipelineStageFlags(VkPipelineStageFlags input_value)
  2873. {
  2874. std::string ret;
  2875. int index = 0;
  2876. while(input_value) {
  2877. if (input_value & 1) {
  2878. if( !ret.empty()) ret.append("|");
  2879. ret.append(string_VkPipelineStageFlagBits(static_cast<VkPipelineStageFlagBits>(1U << index)));
  2880. }
  2881. ++index;
  2882. input_value >>= 1;
  2883. }
  2884. if( ret.empty()) ret.append(string_VkPipelineStageFlagBits(static_cast<VkPipelineStageFlagBits>(0)));
  2885. return ret;
  2886. }
  2887. static inline const char* string_VkSparseMemoryBindFlagBits(VkSparseMemoryBindFlagBits input_value)
  2888. {
  2889. switch (input_value)
  2890. {
  2891. case VK_SPARSE_MEMORY_BIND_METADATA_BIT:
  2892. return "VK_SPARSE_MEMORY_BIND_METADATA_BIT";
  2893. default:
  2894. return "Unhandled VkSparseMemoryBindFlagBits";
  2895. }
  2896. }
  2897. static inline std::string string_VkSparseMemoryBindFlags(VkSparseMemoryBindFlags input_value)
  2898. {
  2899. std::string ret;
  2900. int index = 0;
  2901. while(input_value) {
  2902. if (input_value & 1) {
  2903. if( !ret.empty()) ret.append("|");
  2904. ret.append(string_VkSparseMemoryBindFlagBits(static_cast<VkSparseMemoryBindFlagBits>(1U << index)));
  2905. }
  2906. ++index;
  2907. input_value >>= 1;
  2908. }
  2909. if( ret.empty()) ret.append(string_VkSparseMemoryBindFlagBits(static_cast<VkSparseMemoryBindFlagBits>(0)));
  2910. return ret;
  2911. }
  2912. static inline const char* string_VkSparseImageFormatFlagBits(VkSparseImageFormatFlagBits input_value)
  2913. {
  2914. switch (input_value)
  2915. {
  2916. case VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT:
  2917. return "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT";
  2918. case VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT:
  2919. return "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT";
  2920. case VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT:
  2921. return "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT";
  2922. default:
  2923. return "Unhandled VkSparseImageFormatFlagBits";
  2924. }
  2925. }
  2926. static inline std::string string_VkSparseImageFormatFlags(VkSparseImageFormatFlags input_value)
  2927. {
  2928. std::string ret;
  2929. int index = 0;
  2930. while(input_value) {
  2931. if (input_value & 1) {
  2932. if( !ret.empty()) ret.append("|");
  2933. ret.append(string_VkSparseImageFormatFlagBits(static_cast<VkSparseImageFormatFlagBits>(1U << index)));
  2934. }
  2935. ++index;
  2936. input_value >>= 1;
  2937. }
  2938. if( ret.empty()) ret.append(string_VkSparseImageFormatFlagBits(static_cast<VkSparseImageFormatFlagBits>(0)));
  2939. return ret;
  2940. }
  2941. static inline const char* string_VkFenceCreateFlagBits(VkFenceCreateFlagBits input_value)
  2942. {
  2943. switch (input_value)
  2944. {
  2945. case VK_FENCE_CREATE_SIGNALED_BIT:
  2946. return "VK_FENCE_CREATE_SIGNALED_BIT";
  2947. default:
  2948. return "Unhandled VkFenceCreateFlagBits";
  2949. }
  2950. }
  2951. static inline std::string string_VkFenceCreateFlags(VkFenceCreateFlags input_value)
  2952. {
  2953. std::string ret;
  2954. int index = 0;
  2955. while(input_value) {
  2956. if (input_value & 1) {
  2957. if( !ret.empty()) ret.append("|");
  2958. ret.append(string_VkFenceCreateFlagBits(static_cast<VkFenceCreateFlagBits>(1U << index)));
  2959. }
  2960. ++index;
  2961. input_value >>= 1;
  2962. }
  2963. if( ret.empty()) ret.append(string_VkFenceCreateFlagBits(static_cast<VkFenceCreateFlagBits>(0)));
  2964. return ret;
  2965. }
  2966. static inline const char* string_VkEventCreateFlagBits(VkEventCreateFlagBits input_value)
  2967. {
  2968. switch (input_value)
  2969. {
  2970. case VK_EVENT_CREATE_DEVICE_ONLY_BIT:
  2971. return "VK_EVENT_CREATE_DEVICE_ONLY_BIT";
  2972. default:
  2973. return "Unhandled VkEventCreateFlagBits";
  2974. }
  2975. }
  2976. static inline std::string string_VkEventCreateFlags(VkEventCreateFlags input_value)
  2977. {
  2978. std::string ret;
  2979. int index = 0;
  2980. while(input_value) {
  2981. if (input_value & 1) {
  2982. if( !ret.empty()) ret.append("|");
  2983. ret.append(string_VkEventCreateFlagBits(static_cast<VkEventCreateFlagBits>(1U << index)));
  2984. }
  2985. ++index;
  2986. input_value >>= 1;
  2987. }
  2988. if( ret.empty()) ret.append(string_VkEventCreateFlagBits(static_cast<VkEventCreateFlagBits>(0)));
  2989. return ret;
  2990. }
  2991. static inline const char* string_VkQueryPipelineStatisticFlagBits(VkQueryPipelineStatisticFlagBits input_value)
  2992. {
  2993. switch (input_value)
  2994. {
  2995. case VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT:
  2996. return "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT";
  2997. case VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT:
  2998. return "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT";
  2999. case VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT:
  3000. return "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT";
  3001. case VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT:
  3002. return "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT";
  3003. case VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT:
  3004. return "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT";
  3005. case VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT:
  3006. return "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT";
  3007. case VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT:
  3008. return "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT";
  3009. case VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT:
  3010. return "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT";
  3011. case VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT:
  3012. return "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT";
  3013. case VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT:
  3014. return "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT";
  3015. case VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT:
  3016. return "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT";
  3017. default:
  3018. return "Unhandled VkQueryPipelineStatisticFlagBits";
  3019. }
  3020. }
  3021. static inline std::string string_VkQueryPipelineStatisticFlags(VkQueryPipelineStatisticFlags input_value)
  3022. {
  3023. std::string ret;
  3024. int index = 0;
  3025. while(input_value) {
  3026. if (input_value & 1) {
  3027. if( !ret.empty()) ret.append("|");
  3028. ret.append(string_VkQueryPipelineStatisticFlagBits(static_cast<VkQueryPipelineStatisticFlagBits>(1U << index)));
  3029. }
  3030. ++index;
  3031. input_value >>= 1;
  3032. }
  3033. if( ret.empty()) ret.append(string_VkQueryPipelineStatisticFlagBits(static_cast<VkQueryPipelineStatisticFlagBits>(0)));
  3034. return ret;
  3035. }
  3036. static inline const char* string_VkQueryType(VkQueryType input_value)
  3037. {
  3038. switch (input_value)
  3039. {
  3040. case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR:
  3041. return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
  3042. case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV:
  3043. return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
  3044. case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR:
  3045. return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
  3046. case VK_QUERY_TYPE_OCCLUSION:
  3047. return "VK_QUERY_TYPE_OCCLUSION";
  3048. case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL:
  3049. return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
  3050. case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR:
  3051. return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
  3052. case VK_QUERY_TYPE_PIPELINE_STATISTICS:
  3053. return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
  3054. #ifdef VK_ENABLE_BETA_EXTENSIONS
  3055. case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR:
  3056. return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
  3057. #endif // VK_ENABLE_BETA_EXTENSIONS
  3058. case VK_QUERY_TYPE_TIMESTAMP:
  3059. return "VK_QUERY_TYPE_TIMESTAMP";
  3060. case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
  3061. return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
  3062. #ifdef VK_ENABLE_BETA_EXTENSIONS
  3063. case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR:
  3064. return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
  3065. #endif // VK_ENABLE_BETA_EXTENSIONS
  3066. default:
  3067. return "Unhandled VkQueryType";
  3068. }
  3069. }
  3070. static inline const char* string_VkQueryResultFlagBits(VkQueryResultFlagBits input_value)
  3071. {
  3072. switch (input_value)
  3073. {
  3074. case VK_QUERY_RESULT_64_BIT:
  3075. return "VK_QUERY_RESULT_64_BIT";
  3076. case VK_QUERY_RESULT_PARTIAL_BIT:
  3077. return "VK_QUERY_RESULT_PARTIAL_BIT";
  3078. case VK_QUERY_RESULT_WAIT_BIT:
  3079. return "VK_QUERY_RESULT_WAIT_BIT";
  3080. case VK_QUERY_RESULT_WITH_AVAILABILITY_BIT:
  3081. return "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT";
  3082. #ifdef VK_ENABLE_BETA_EXTENSIONS
  3083. case VK_QUERY_RESULT_WITH_STATUS_BIT_KHR:
  3084. return "VK_QUERY_RESULT_WITH_STATUS_BIT_KHR";
  3085. #endif // VK_ENABLE_BETA_EXTENSIONS
  3086. default:
  3087. return "Unhandled VkQueryResultFlagBits";
  3088. }
  3089. }
  3090. static inline std::string string_VkQueryResultFlags(VkQueryResultFlags input_value)
  3091. {
  3092. std::string ret;
  3093. int index = 0;
  3094. while(input_value) {
  3095. if (input_value & 1) {
  3096. if( !ret.empty()) ret.append("|");
  3097. ret.append(string_VkQueryResultFlagBits(static_cast<VkQueryResultFlagBits>(1U << index)));
  3098. }
  3099. ++index;
  3100. input_value >>= 1;
  3101. }
  3102. if( ret.empty()) ret.append(string_VkQueryResultFlagBits(static_cast<VkQueryResultFlagBits>(0)));
  3103. return ret;
  3104. }
  3105. static inline const char* string_VkBufferCreateFlagBits(VkBufferCreateFlagBits input_value)
  3106. {
  3107. switch (input_value)
  3108. {
  3109. case VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
  3110. return "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT";
  3111. case VK_BUFFER_CREATE_PROTECTED_BIT:
  3112. return "VK_BUFFER_CREATE_PROTECTED_BIT";
  3113. case VK_BUFFER_CREATE_SPARSE_ALIASED_BIT:
  3114. return "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT";
  3115. case VK_BUFFER_CREATE_SPARSE_BINDING_BIT:
  3116. return "VK_BUFFER_CREATE_SPARSE_BINDING_BIT";
  3117. case VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT:
  3118. return "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT";
  3119. default:
  3120. return "Unhandled VkBufferCreateFlagBits";
  3121. }
  3122. }
  3123. static inline std::string string_VkBufferCreateFlags(VkBufferCreateFlags input_value)
  3124. {
  3125. std::string ret;
  3126. int index = 0;
  3127. while(input_value) {
  3128. if (input_value & 1) {
  3129. if( !ret.empty()) ret.append("|");
  3130. ret.append(string_VkBufferCreateFlagBits(static_cast<VkBufferCreateFlagBits>(1U << index)));
  3131. }
  3132. ++index;
  3133. input_value >>= 1;
  3134. }
  3135. if( ret.empty()) ret.append(string_VkBufferCreateFlagBits(static_cast<VkBufferCreateFlagBits>(0)));
  3136. return ret;
  3137. }
  3138. static inline const char* string_VkBufferUsageFlagBits(VkBufferUsageFlagBits input_value)
  3139. {
  3140. switch (input_value)
  3141. {
  3142. case VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR:
  3143. return "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR";
  3144. case VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR:
  3145. return "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR";
  3146. case VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT:
  3147. return "VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT";
  3148. case VK_BUFFER_USAGE_INDEX_BUFFER_BIT:
  3149. return "VK_BUFFER_USAGE_INDEX_BUFFER_BIT";
  3150. case VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT:
  3151. return "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT";
  3152. case VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR:
  3153. return "VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR";
  3154. case VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT:
  3155. return "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT";
  3156. case VK_BUFFER_USAGE_STORAGE_BUFFER_BIT:
  3157. return "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT";
  3158. case VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT:
  3159. return "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT";
  3160. case VK_BUFFER_USAGE_TRANSFER_DST_BIT:
  3161. return "VK_BUFFER_USAGE_TRANSFER_DST_BIT";
  3162. case VK_BUFFER_USAGE_TRANSFER_SRC_BIT:
  3163. return "VK_BUFFER_USAGE_TRANSFER_SRC_BIT";
  3164. case VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT:
  3165. return "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT";
  3166. case VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT:
  3167. return "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT";
  3168. case VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT:
  3169. return "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT";
  3170. case VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT:
  3171. return "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT";
  3172. case VK_BUFFER_USAGE_VERTEX_BUFFER_BIT:
  3173. return "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT";
  3174. #ifdef VK_ENABLE_BETA_EXTENSIONS
  3175. case VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR:
  3176. return "VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR";
  3177. #endif // VK_ENABLE_BETA_EXTENSIONS
  3178. #ifdef VK_ENABLE_BETA_EXTENSIONS
  3179. case VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR:
  3180. return "VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR";
  3181. #endif // VK_ENABLE_BETA_EXTENSIONS
  3182. #ifdef VK_ENABLE_BETA_EXTENSIONS
  3183. case VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR:
  3184. return "VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR";
  3185. #endif // VK_ENABLE_BETA_EXTENSIONS
  3186. #ifdef VK_ENABLE_BETA_EXTENSIONS
  3187. case VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR:
  3188. return "VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR";
  3189. #endif // VK_ENABLE_BETA_EXTENSIONS
  3190. default:
  3191. return "Unhandled VkBufferUsageFlagBits";
  3192. }
  3193. }
  3194. static inline std::string string_VkBufferUsageFlags(VkBufferUsageFlags input_value)
  3195. {
  3196. std::string ret;
  3197. int index = 0;
  3198. while(input_value) {
  3199. if (input_value & 1) {
  3200. if( !ret.empty()) ret.append("|");
  3201. ret.append(string_VkBufferUsageFlagBits(static_cast<VkBufferUsageFlagBits>(1U << index)));
  3202. }
  3203. ++index;
  3204. input_value >>= 1;
  3205. }
  3206. if( ret.empty()) ret.append(string_VkBufferUsageFlagBits(static_cast<VkBufferUsageFlagBits>(0)));
  3207. return ret;
  3208. }
  3209. static inline const char* string_VkSharingMode(VkSharingMode input_value)
  3210. {
  3211. switch (input_value)
  3212. {
  3213. case VK_SHARING_MODE_CONCURRENT:
  3214. return "VK_SHARING_MODE_CONCURRENT";
  3215. case VK_SHARING_MODE_EXCLUSIVE:
  3216. return "VK_SHARING_MODE_EXCLUSIVE";
  3217. default:
  3218. return "Unhandled VkSharingMode";
  3219. }
  3220. }
  3221. static inline const char* string_VkComponentSwizzle(VkComponentSwizzle input_value)
  3222. {
  3223. switch (input_value)
  3224. {
  3225. case VK_COMPONENT_SWIZZLE_A:
  3226. return "VK_COMPONENT_SWIZZLE_A";
  3227. case VK_COMPONENT_SWIZZLE_B:
  3228. return "VK_COMPONENT_SWIZZLE_B";
  3229. case VK_COMPONENT_SWIZZLE_G:
  3230. return "VK_COMPONENT_SWIZZLE_G";
  3231. case VK_COMPONENT_SWIZZLE_IDENTITY:
  3232. return "VK_COMPONENT_SWIZZLE_IDENTITY";
  3233. case VK_COMPONENT_SWIZZLE_ONE:
  3234. return "VK_COMPONENT_SWIZZLE_ONE";
  3235. case VK_COMPONENT_SWIZZLE_R:
  3236. return "VK_COMPONENT_SWIZZLE_R";
  3237. case VK_COMPONENT_SWIZZLE_ZERO:
  3238. return "VK_COMPONENT_SWIZZLE_ZERO";
  3239. default:
  3240. return "Unhandled VkComponentSwizzle";
  3241. }
  3242. }
  3243. static inline const char* string_VkImageViewCreateFlagBits(VkImageViewCreateFlagBits input_value)
  3244. {
  3245. switch (input_value)
  3246. {
  3247. case VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT:
  3248. return "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT";
  3249. case VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT:
  3250. return "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT";
  3251. default:
  3252. return "Unhandled VkImageViewCreateFlagBits";
  3253. }
  3254. }
  3255. static inline std::string string_VkImageViewCreateFlags(VkImageViewCreateFlags input_value)
  3256. {
  3257. std::string ret;
  3258. int index = 0;
  3259. while(input_value) {
  3260. if (input_value & 1) {
  3261. if( !ret.empty()) ret.append("|");
  3262. ret.append(string_VkImageViewCreateFlagBits(static_cast<VkImageViewCreateFlagBits>(1U << index)));
  3263. }
  3264. ++index;
  3265. input_value >>= 1;
  3266. }
  3267. if( ret.empty()) ret.append(string_VkImageViewCreateFlagBits(static_cast<VkImageViewCreateFlagBits>(0)));
  3268. return ret;
  3269. }
  3270. static inline const char* string_VkImageViewType(VkImageViewType input_value)
  3271. {
  3272. switch (input_value)
  3273. {
  3274. case VK_IMAGE_VIEW_TYPE_1D:
  3275. return "VK_IMAGE_VIEW_TYPE_1D";
  3276. case VK_IMAGE_VIEW_TYPE_1D_ARRAY:
  3277. return "VK_IMAGE_VIEW_TYPE_1D_ARRAY";
  3278. case VK_IMAGE_VIEW_TYPE_2D:
  3279. return "VK_IMAGE_VIEW_TYPE_2D";
  3280. case VK_IMAGE_VIEW_TYPE_2D_ARRAY:
  3281. return "VK_IMAGE_VIEW_TYPE_2D_ARRAY";
  3282. case VK_IMAGE_VIEW_TYPE_3D:
  3283. return "VK_IMAGE_VIEW_TYPE_3D";
  3284. case VK_IMAGE_VIEW_TYPE_CUBE:
  3285. return "VK_IMAGE_VIEW_TYPE_CUBE";
  3286. case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY:
  3287. return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY";
  3288. default:
  3289. return "Unhandled VkImageViewType";
  3290. }
  3291. }
  3292. static inline const char* string_VkPipelineCacheCreateFlagBits(VkPipelineCacheCreateFlagBits input_value)
  3293. {
  3294. switch (input_value)
  3295. {
  3296. case VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT:
  3297. return "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT";
  3298. default:
  3299. return "Unhandled VkPipelineCacheCreateFlagBits";
  3300. }
  3301. }
  3302. static inline std::string string_VkPipelineCacheCreateFlags(VkPipelineCacheCreateFlags input_value)
  3303. {
  3304. std::string ret;
  3305. int index = 0;
  3306. while(input_value) {
  3307. if (input_value & 1) {
  3308. if( !ret.empty()) ret.append("|");
  3309. ret.append(string_VkPipelineCacheCreateFlagBits(static_cast<VkPipelineCacheCreateFlagBits>(1U << index)));
  3310. }
  3311. ++index;
  3312. input_value >>= 1;
  3313. }
  3314. if( ret.empty()) ret.append(string_VkPipelineCacheCreateFlagBits(static_cast<VkPipelineCacheCreateFlagBits>(0)));
  3315. return ret;
  3316. }
  3317. static inline const char* string_VkBlendFactor(VkBlendFactor input_value)
  3318. {
  3319. switch (input_value)
  3320. {
  3321. case VK_BLEND_FACTOR_CONSTANT_ALPHA:
  3322. return "VK_BLEND_FACTOR_CONSTANT_ALPHA";
  3323. case VK_BLEND_FACTOR_CONSTANT_COLOR:
  3324. return "VK_BLEND_FACTOR_CONSTANT_COLOR";
  3325. case VK_BLEND_FACTOR_DST_ALPHA:
  3326. return "VK_BLEND_FACTOR_DST_ALPHA";
  3327. case VK_BLEND_FACTOR_DST_COLOR:
  3328. return "VK_BLEND_FACTOR_DST_COLOR";
  3329. case VK_BLEND_FACTOR_ONE:
  3330. return "VK_BLEND_FACTOR_ONE";
  3331. case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA:
  3332. return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA";
  3333. case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR:
  3334. return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR";
  3335. case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA:
  3336. return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA";
  3337. case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR:
  3338. return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR";
  3339. case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA:
  3340. return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA";
  3341. case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR:
  3342. return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR";
  3343. case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA:
  3344. return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA";
  3345. case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR:
  3346. return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR";
  3347. case VK_BLEND_FACTOR_SRC1_ALPHA:
  3348. return "VK_BLEND_FACTOR_SRC1_ALPHA";
  3349. case VK_BLEND_FACTOR_SRC1_COLOR:
  3350. return "VK_BLEND_FACTOR_SRC1_COLOR";
  3351. case VK_BLEND_FACTOR_SRC_ALPHA:
  3352. return "VK_BLEND_FACTOR_SRC_ALPHA";
  3353. case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE:
  3354. return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE";
  3355. case VK_BLEND_FACTOR_SRC_COLOR:
  3356. return "VK_BLEND_FACTOR_SRC_COLOR";
  3357. case VK_BLEND_FACTOR_ZERO:
  3358. return "VK_BLEND_FACTOR_ZERO";
  3359. default:
  3360. return "Unhandled VkBlendFactor";
  3361. }
  3362. }
  3363. static inline const char* string_VkBlendOp(VkBlendOp input_value)
  3364. {
  3365. switch (input_value)
  3366. {
  3367. case VK_BLEND_OP_ADD:
  3368. return "VK_BLEND_OP_ADD";
  3369. case VK_BLEND_OP_BLUE_EXT:
  3370. return "VK_BLEND_OP_BLUE_EXT";
  3371. case VK_BLEND_OP_COLORBURN_EXT:
  3372. return "VK_BLEND_OP_COLORBURN_EXT";
  3373. case VK_BLEND_OP_COLORDODGE_EXT:
  3374. return "VK_BLEND_OP_COLORDODGE_EXT";
  3375. case VK_BLEND_OP_CONTRAST_EXT:
  3376. return "VK_BLEND_OP_CONTRAST_EXT";
  3377. case VK_BLEND_OP_DARKEN_EXT:
  3378. return "VK_BLEND_OP_DARKEN_EXT";
  3379. case VK_BLEND_OP_DIFFERENCE_EXT:
  3380. return "VK_BLEND_OP_DIFFERENCE_EXT";
  3381. case VK_BLEND_OP_DST_ATOP_EXT:
  3382. return "VK_BLEND_OP_DST_ATOP_EXT";
  3383. case VK_BLEND_OP_DST_EXT:
  3384. return "VK_BLEND_OP_DST_EXT";
  3385. case VK_BLEND_OP_DST_IN_EXT:
  3386. return "VK_BLEND_OP_DST_IN_EXT";
  3387. case VK_BLEND_OP_DST_OUT_EXT:
  3388. return "VK_BLEND_OP_DST_OUT_EXT";
  3389. case VK_BLEND_OP_DST_OVER_EXT:
  3390. return "VK_BLEND_OP_DST_OVER_EXT";
  3391. case VK_BLEND_OP_EXCLUSION_EXT:
  3392. return "VK_BLEND_OP_EXCLUSION_EXT";
  3393. case VK_BLEND_OP_GREEN_EXT:
  3394. return "VK_BLEND_OP_GREEN_EXT";
  3395. case VK_BLEND_OP_HARDLIGHT_EXT:
  3396. return "VK_BLEND_OP_HARDLIGHT_EXT";
  3397. case VK_BLEND_OP_HARDMIX_EXT:
  3398. return "VK_BLEND_OP_HARDMIX_EXT";
  3399. case VK_BLEND_OP_HSL_COLOR_EXT:
  3400. return "VK_BLEND_OP_HSL_COLOR_EXT";
  3401. case VK_BLEND_OP_HSL_HUE_EXT:
  3402. return "VK_BLEND_OP_HSL_HUE_EXT";
  3403. case VK_BLEND_OP_HSL_LUMINOSITY_EXT:
  3404. return "VK_BLEND_OP_HSL_LUMINOSITY_EXT";
  3405. case VK_BLEND_OP_HSL_SATURATION_EXT:
  3406. return "VK_BLEND_OP_HSL_SATURATION_EXT";
  3407. case VK_BLEND_OP_INVERT_EXT:
  3408. return "VK_BLEND_OP_INVERT_EXT";
  3409. case VK_BLEND_OP_INVERT_OVG_EXT:
  3410. return "VK_BLEND_OP_INVERT_OVG_EXT";
  3411. case VK_BLEND_OP_INVERT_RGB_EXT:
  3412. return "VK_BLEND_OP_INVERT_RGB_EXT";
  3413. case VK_BLEND_OP_LIGHTEN_EXT:
  3414. return "VK_BLEND_OP_LIGHTEN_EXT";
  3415. case VK_BLEND_OP_LINEARBURN_EXT:
  3416. return "VK_BLEND_OP_LINEARBURN_EXT";
  3417. case VK_BLEND_OP_LINEARDODGE_EXT:
  3418. return "VK_BLEND_OP_LINEARDODGE_EXT";
  3419. case VK_BLEND_OP_LINEARLIGHT_EXT:
  3420. return "VK_BLEND_OP_LINEARLIGHT_EXT";
  3421. case VK_BLEND_OP_MAX:
  3422. return "VK_BLEND_OP_MAX";
  3423. case VK_BLEND_OP_MIN:
  3424. return "VK_BLEND_OP_MIN";
  3425. case VK_BLEND_OP_MINUS_CLAMPED_EXT:
  3426. return "VK_BLEND_OP_MINUS_CLAMPED_EXT";
  3427. case VK_BLEND_OP_MINUS_EXT:
  3428. return "VK_BLEND_OP_MINUS_EXT";
  3429. case VK_BLEND_OP_MULTIPLY_EXT:
  3430. return "VK_BLEND_OP_MULTIPLY_EXT";
  3431. case VK_BLEND_OP_OVERLAY_EXT:
  3432. return "VK_BLEND_OP_OVERLAY_EXT";
  3433. case VK_BLEND_OP_PINLIGHT_EXT:
  3434. return "VK_BLEND_OP_PINLIGHT_EXT";
  3435. case VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT:
  3436. return "VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT";
  3437. case VK_BLEND_OP_PLUS_CLAMPED_EXT:
  3438. return "VK_BLEND_OP_PLUS_CLAMPED_EXT";
  3439. case VK_BLEND_OP_PLUS_DARKER_EXT:
  3440. return "VK_BLEND_OP_PLUS_DARKER_EXT";
  3441. case VK_BLEND_OP_PLUS_EXT:
  3442. return "VK_BLEND_OP_PLUS_EXT";
  3443. case VK_BLEND_OP_RED_EXT:
  3444. return "VK_BLEND_OP_RED_EXT";
  3445. case VK_BLEND_OP_REVERSE_SUBTRACT:
  3446. return "VK_BLEND_OP_REVERSE_SUBTRACT";
  3447. case VK_BLEND_OP_SCREEN_EXT:
  3448. return "VK_BLEND_OP_SCREEN_EXT";
  3449. case VK_BLEND_OP_SOFTLIGHT_EXT:
  3450. return "VK_BLEND_OP_SOFTLIGHT_EXT";
  3451. case VK_BLEND_OP_SRC_ATOP_EXT:
  3452. return "VK_BLEND_OP_SRC_ATOP_EXT";
  3453. case VK_BLEND_OP_SRC_EXT:
  3454. return "VK_BLEND_OP_SRC_EXT";
  3455. case VK_BLEND_OP_SRC_IN_EXT:
  3456. return "VK_BLEND_OP_SRC_IN_EXT";
  3457. case VK_BLEND_OP_SRC_OUT_EXT:
  3458. return "VK_BLEND_OP_SRC_OUT_EXT";
  3459. case VK_BLEND_OP_SRC_OVER_EXT:
  3460. return "VK_BLEND_OP_SRC_OVER_EXT";
  3461. case VK_BLEND_OP_SUBTRACT:
  3462. return "VK_BLEND_OP_SUBTRACT";
  3463. case VK_BLEND_OP_VIVIDLIGHT_EXT:
  3464. return "VK_BLEND_OP_VIVIDLIGHT_EXT";
  3465. case VK_BLEND_OP_XOR_EXT:
  3466. return "VK_BLEND_OP_XOR_EXT";
  3467. case VK_BLEND_OP_ZERO_EXT:
  3468. return "VK_BLEND_OP_ZERO_EXT";
  3469. default:
  3470. return "Unhandled VkBlendOp";
  3471. }
  3472. }
  3473. static inline const char* string_VkColorComponentFlagBits(VkColorComponentFlagBits input_value)
  3474. {
  3475. switch (input_value)
  3476. {
  3477. case VK_COLOR_COMPONENT_A_BIT:
  3478. return "VK_COLOR_COMPONENT_A_BIT";
  3479. case VK_COLOR_COMPONENT_B_BIT:
  3480. return "VK_COLOR_COMPONENT_B_BIT";
  3481. case VK_COLOR_COMPONENT_G_BIT:
  3482. return "VK_COLOR_COMPONENT_G_BIT";
  3483. case VK_COLOR_COMPONENT_R_BIT:
  3484. return "VK_COLOR_COMPONENT_R_BIT";
  3485. default:
  3486. return "Unhandled VkColorComponentFlagBits";
  3487. }
  3488. }
  3489. static inline std::string string_VkColorComponentFlags(VkColorComponentFlags input_value)
  3490. {
  3491. std::string ret;
  3492. int index = 0;
  3493. while(input_value) {
  3494. if (input_value & 1) {
  3495. if( !ret.empty()) ret.append("|");
  3496. ret.append(string_VkColorComponentFlagBits(static_cast<VkColorComponentFlagBits>(1U << index)));
  3497. }
  3498. ++index;
  3499. input_value >>= 1;
  3500. }
  3501. if( ret.empty()) ret.append(string_VkColorComponentFlagBits(static_cast<VkColorComponentFlagBits>(0)));
  3502. return ret;
  3503. }
  3504. static inline const char* string_VkCompareOp(VkCompareOp input_value)
  3505. {
  3506. switch (input_value)
  3507. {
  3508. case VK_COMPARE_OP_ALWAYS:
  3509. return "VK_COMPARE_OP_ALWAYS";
  3510. case VK_COMPARE_OP_EQUAL:
  3511. return "VK_COMPARE_OP_EQUAL";
  3512. case VK_COMPARE_OP_GREATER:
  3513. return "VK_COMPARE_OP_GREATER";
  3514. case VK_COMPARE_OP_GREATER_OR_EQUAL:
  3515. return "VK_COMPARE_OP_GREATER_OR_EQUAL";
  3516. case VK_COMPARE_OP_LESS:
  3517. return "VK_COMPARE_OP_LESS";
  3518. case VK_COMPARE_OP_LESS_OR_EQUAL:
  3519. return "VK_COMPARE_OP_LESS_OR_EQUAL";
  3520. case VK_COMPARE_OP_NEVER:
  3521. return "VK_COMPARE_OP_NEVER";
  3522. case VK_COMPARE_OP_NOT_EQUAL:
  3523. return "VK_COMPARE_OP_NOT_EQUAL";
  3524. default:
  3525. return "Unhandled VkCompareOp";
  3526. }
  3527. }
  3528. static inline const char* string_VkPipelineCreateFlagBits(VkPipelineCreateFlagBits input_value)
  3529. {
  3530. switch (input_value)
  3531. {
  3532. case VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT:
  3533. return "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT";
  3534. case VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR:
  3535. return "VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR";
  3536. case VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR:
  3537. return "VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR";
  3538. case VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV:
  3539. return "VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV";
  3540. case VK_PIPELINE_CREATE_DERIVATIVE_BIT:
  3541. return "VK_PIPELINE_CREATE_DERIVATIVE_BIT";
  3542. case VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT:
  3543. return "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT";
  3544. case VK_PIPELINE_CREATE_DISPATCH_BASE_BIT:
  3545. return "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT";
  3546. case VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT:
  3547. return "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT";
  3548. case VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT:
  3549. return "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT";
  3550. case VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV:
  3551. return "VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV";
  3552. case VK_PIPELINE_CREATE_LIBRARY_BIT_KHR:
  3553. return "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR";
  3554. case VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV:
  3555. return "VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV";
  3556. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR:
  3557. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR";
  3558. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR:
  3559. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR";
  3560. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR:
  3561. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR";
  3562. case VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR:
  3563. return "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR";
  3564. case VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR:
  3565. return "VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR";
  3566. case VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR:
  3567. return "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR";
  3568. case VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR:
  3569. return "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR";
  3570. case VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT:
  3571. return "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT";
  3572. case VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  3573. return "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  3574. case VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT:
  3575. return "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT";
  3576. default:
  3577. return "Unhandled VkPipelineCreateFlagBits";
  3578. }
  3579. }
  3580. static inline std::string string_VkPipelineCreateFlags(VkPipelineCreateFlags input_value)
  3581. {
  3582. std::string ret;
  3583. int index = 0;
  3584. while(input_value) {
  3585. if (input_value & 1) {
  3586. if( !ret.empty()) ret.append("|");
  3587. ret.append(string_VkPipelineCreateFlagBits(static_cast<VkPipelineCreateFlagBits>(1U << index)));
  3588. }
  3589. ++index;
  3590. input_value >>= 1;
  3591. }
  3592. if( ret.empty()) ret.append(string_VkPipelineCreateFlagBits(static_cast<VkPipelineCreateFlagBits>(0)));
  3593. return ret;
  3594. }
  3595. static inline const char* string_VkPipelineShaderStageCreateFlagBits(VkPipelineShaderStageCreateFlagBits input_value)
  3596. {
  3597. switch (input_value)
  3598. {
  3599. case VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT:
  3600. return "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT";
  3601. case VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT:
  3602. return "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT";
  3603. default:
  3604. return "Unhandled VkPipelineShaderStageCreateFlagBits";
  3605. }
  3606. }
  3607. static inline std::string string_VkPipelineShaderStageCreateFlags(VkPipelineShaderStageCreateFlags input_value)
  3608. {
  3609. std::string ret;
  3610. int index = 0;
  3611. while(input_value) {
  3612. if (input_value & 1) {
  3613. if( !ret.empty()) ret.append("|");
  3614. ret.append(string_VkPipelineShaderStageCreateFlagBits(static_cast<VkPipelineShaderStageCreateFlagBits>(1U << index)));
  3615. }
  3616. ++index;
  3617. input_value >>= 1;
  3618. }
  3619. if( ret.empty()) ret.append(string_VkPipelineShaderStageCreateFlagBits(static_cast<VkPipelineShaderStageCreateFlagBits>(0)));
  3620. return ret;
  3621. }
  3622. static inline const char* string_VkShaderStageFlagBits(VkShaderStageFlagBits input_value)
  3623. {
  3624. switch (input_value)
  3625. {
  3626. case VK_SHADER_STAGE_ALL:
  3627. return "VK_SHADER_STAGE_ALL";
  3628. case VK_SHADER_STAGE_ALL_GRAPHICS:
  3629. return "VK_SHADER_STAGE_ALL_GRAPHICS";
  3630. case VK_SHADER_STAGE_ANY_HIT_BIT_KHR:
  3631. return "VK_SHADER_STAGE_ANY_HIT_BIT_KHR";
  3632. case VK_SHADER_STAGE_CALLABLE_BIT_KHR:
  3633. return "VK_SHADER_STAGE_CALLABLE_BIT_KHR";
  3634. case VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR:
  3635. return "VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR";
  3636. case VK_SHADER_STAGE_COMPUTE_BIT:
  3637. return "VK_SHADER_STAGE_COMPUTE_BIT";
  3638. case VK_SHADER_STAGE_FRAGMENT_BIT:
  3639. return "VK_SHADER_STAGE_FRAGMENT_BIT";
  3640. case VK_SHADER_STAGE_GEOMETRY_BIT:
  3641. return "VK_SHADER_STAGE_GEOMETRY_BIT";
  3642. case VK_SHADER_STAGE_INTERSECTION_BIT_KHR:
  3643. return "VK_SHADER_STAGE_INTERSECTION_BIT_KHR";
  3644. case VK_SHADER_STAGE_MESH_BIT_NV:
  3645. return "VK_SHADER_STAGE_MESH_BIT_NV";
  3646. case VK_SHADER_STAGE_MISS_BIT_KHR:
  3647. return "VK_SHADER_STAGE_MISS_BIT_KHR";
  3648. case VK_SHADER_STAGE_RAYGEN_BIT_KHR:
  3649. return "VK_SHADER_STAGE_RAYGEN_BIT_KHR";
  3650. case VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI:
  3651. return "VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI";
  3652. case VK_SHADER_STAGE_TASK_BIT_NV:
  3653. return "VK_SHADER_STAGE_TASK_BIT_NV";
  3654. case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT:
  3655. return "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT";
  3656. case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT:
  3657. return "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT";
  3658. case VK_SHADER_STAGE_VERTEX_BIT:
  3659. return "VK_SHADER_STAGE_VERTEX_BIT";
  3660. default:
  3661. return "Unhandled VkShaderStageFlagBits";
  3662. }
  3663. }
  3664. static inline std::string string_VkShaderStageFlags(VkShaderStageFlags input_value)
  3665. {
  3666. std::string ret;
  3667. int index = 0;
  3668. while(input_value) {
  3669. if (input_value & 1) {
  3670. if( !ret.empty()) ret.append("|");
  3671. ret.append(string_VkShaderStageFlagBits(static_cast<VkShaderStageFlagBits>(1U << index)));
  3672. }
  3673. ++index;
  3674. input_value >>= 1;
  3675. }
  3676. if( ret.empty()) ret.append(string_VkShaderStageFlagBits(static_cast<VkShaderStageFlagBits>(0)));
  3677. return ret;
  3678. }
  3679. static inline const char* string_VkCullModeFlagBits(VkCullModeFlagBits input_value)
  3680. {
  3681. switch (input_value)
  3682. {
  3683. case VK_CULL_MODE_BACK_BIT:
  3684. return "VK_CULL_MODE_BACK_BIT";
  3685. case VK_CULL_MODE_FRONT_AND_BACK:
  3686. return "VK_CULL_MODE_FRONT_AND_BACK";
  3687. case VK_CULL_MODE_FRONT_BIT:
  3688. return "VK_CULL_MODE_FRONT_BIT";
  3689. case VK_CULL_MODE_NONE:
  3690. return "VK_CULL_MODE_NONE";
  3691. default:
  3692. return "Unhandled VkCullModeFlagBits";
  3693. }
  3694. }
  3695. static inline std::string string_VkCullModeFlags(VkCullModeFlags input_value)
  3696. {
  3697. std::string ret;
  3698. int index = 0;
  3699. while(input_value) {
  3700. if (input_value & 1) {
  3701. if( !ret.empty()) ret.append("|");
  3702. ret.append(string_VkCullModeFlagBits(static_cast<VkCullModeFlagBits>(1U << index)));
  3703. }
  3704. ++index;
  3705. input_value >>= 1;
  3706. }
  3707. if( ret.empty()) ret.append(string_VkCullModeFlagBits(static_cast<VkCullModeFlagBits>(0)));
  3708. return ret;
  3709. }
  3710. static inline const char* string_VkDynamicState(VkDynamicState input_value)
  3711. {
  3712. switch (input_value)
  3713. {
  3714. case VK_DYNAMIC_STATE_BLEND_CONSTANTS:
  3715. return "VK_DYNAMIC_STATE_BLEND_CONSTANTS";
  3716. case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT:
  3717. return "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT";
  3718. case VK_DYNAMIC_STATE_CULL_MODE:
  3719. return "VK_DYNAMIC_STATE_CULL_MODE";
  3720. case VK_DYNAMIC_STATE_DEPTH_BIAS:
  3721. return "VK_DYNAMIC_STATE_DEPTH_BIAS";
  3722. case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE:
  3723. return "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE";
  3724. case VK_DYNAMIC_STATE_DEPTH_BOUNDS:
  3725. return "VK_DYNAMIC_STATE_DEPTH_BOUNDS";
  3726. case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE:
  3727. return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE";
  3728. case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP:
  3729. return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP";
  3730. case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE:
  3731. return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE";
  3732. case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE:
  3733. return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE";
  3734. case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT:
  3735. return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT";
  3736. case VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV:
  3737. return "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV";
  3738. case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR:
  3739. return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR";
  3740. case VK_DYNAMIC_STATE_FRONT_FACE:
  3741. return "VK_DYNAMIC_STATE_FRONT_FACE";
  3742. case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT:
  3743. return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT";
  3744. case VK_DYNAMIC_STATE_LINE_WIDTH:
  3745. return "VK_DYNAMIC_STATE_LINE_WIDTH";
  3746. case VK_DYNAMIC_STATE_LOGIC_OP_EXT:
  3747. return "VK_DYNAMIC_STATE_LOGIC_OP_EXT";
  3748. case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT:
  3749. return "VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT";
  3750. case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE:
  3751. return "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE";
  3752. case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY:
  3753. return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY";
  3754. case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE:
  3755. return "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE";
  3756. case VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR:
  3757. return "VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR";
  3758. case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT:
  3759. return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT";
  3760. case VK_DYNAMIC_STATE_SCISSOR:
  3761. return "VK_DYNAMIC_STATE_SCISSOR";
  3762. case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT:
  3763. return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT";
  3764. case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK:
  3765. return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK";
  3766. case VK_DYNAMIC_STATE_STENCIL_OP:
  3767. return "VK_DYNAMIC_STATE_STENCIL_OP";
  3768. case VK_DYNAMIC_STATE_STENCIL_REFERENCE:
  3769. return "VK_DYNAMIC_STATE_STENCIL_REFERENCE";
  3770. case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE:
  3771. return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE";
  3772. case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK:
  3773. return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK";
  3774. case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE:
  3775. return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE";
  3776. case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT:
  3777. return "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT";
  3778. case VK_DYNAMIC_STATE_VIEWPORT:
  3779. return "VK_DYNAMIC_STATE_VIEWPORT";
  3780. case VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV:
  3781. return "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV";
  3782. case VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV:
  3783. return "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV";
  3784. case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT:
  3785. return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT";
  3786. case VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV:
  3787. return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV";
  3788. default:
  3789. return "Unhandled VkDynamicState";
  3790. }
  3791. }
  3792. static inline const char* string_VkFrontFace(VkFrontFace input_value)
  3793. {
  3794. switch (input_value)
  3795. {
  3796. case VK_FRONT_FACE_CLOCKWISE:
  3797. return "VK_FRONT_FACE_CLOCKWISE";
  3798. case VK_FRONT_FACE_COUNTER_CLOCKWISE:
  3799. return "VK_FRONT_FACE_COUNTER_CLOCKWISE";
  3800. default:
  3801. return "Unhandled VkFrontFace";
  3802. }
  3803. }
  3804. static inline const char* string_VkVertexInputRate(VkVertexInputRate input_value)
  3805. {
  3806. switch (input_value)
  3807. {
  3808. case VK_VERTEX_INPUT_RATE_INSTANCE:
  3809. return "VK_VERTEX_INPUT_RATE_INSTANCE";
  3810. case VK_VERTEX_INPUT_RATE_VERTEX:
  3811. return "VK_VERTEX_INPUT_RATE_VERTEX";
  3812. default:
  3813. return "Unhandled VkVertexInputRate";
  3814. }
  3815. }
  3816. static inline const char* string_VkPrimitiveTopology(VkPrimitiveTopology input_value)
  3817. {
  3818. switch (input_value)
  3819. {
  3820. case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
  3821. return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST";
  3822. case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
  3823. return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY";
  3824. case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
  3825. return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP";
  3826. case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
  3827. return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY";
  3828. case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST:
  3829. return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST";
  3830. case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
  3831. return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST";
  3832. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
  3833. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN";
  3834. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
  3835. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST";
  3836. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
  3837. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY";
  3838. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
  3839. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP";
  3840. case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
  3841. return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY";
  3842. default:
  3843. return "Unhandled VkPrimitiveTopology";
  3844. }
  3845. }
  3846. static inline const char* string_VkPolygonMode(VkPolygonMode input_value)
  3847. {
  3848. switch (input_value)
  3849. {
  3850. case VK_POLYGON_MODE_FILL:
  3851. return "VK_POLYGON_MODE_FILL";
  3852. case VK_POLYGON_MODE_FILL_RECTANGLE_NV:
  3853. return "VK_POLYGON_MODE_FILL_RECTANGLE_NV";
  3854. case VK_POLYGON_MODE_LINE:
  3855. return "VK_POLYGON_MODE_LINE";
  3856. case VK_POLYGON_MODE_POINT:
  3857. return "VK_POLYGON_MODE_POINT";
  3858. default:
  3859. return "Unhandled VkPolygonMode";
  3860. }
  3861. }
  3862. static inline const char* string_VkPipelineDepthStencilStateCreateFlagBits(VkPipelineDepthStencilStateCreateFlagBits input_value)
  3863. {
  3864. switch (input_value)
  3865. {
  3866. case VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM:
  3867. return "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM";
  3868. case VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM:
  3869. return "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM";
  3870. default:
  3871. return "Unhandled VkPipelineDepthStencilStateCreateFlagBits";
  3872. }
  3873. }
  3874. static inline std::string string_VkPipelineDepthStencilStateCreateFlags(VkPipelineDepthStencilStateCreateFlags input_value)
  3875. {
  3876. std::string ret;
  3877. int index = 0;
  3878. while(input_value) {
  3879. if (input_value & 1) {
  3880. if( !ret.empty()) ret.append("|");
  3881. ret.append(string_VkPipelineDepthStencilStateCreateFlagBits(static_cast<VkPipelineDepthStencilStateCreateFlagBits>(1U << index)));
  3882. }
  3883. ++index;
  3884. input_value >>= 1;
  3885. }
  3886. if( ret.empty()) ret.append(string_VkPipelineDepthStencilStateCreateFlagBits(static_cast<VkPipelineDepthStencilStateCreateFlagBits>(0)));
  3887. return ret;
  3888. }
  3889. static inline const char* string_VkStencilOp(VkStencilOp input_value)
  3890. {
  3891. switch (input_value)
  3892. {
  3893. case VK_STENCIL_OP_DECREMENT_AND_CLAMP:
  3894. return "VK_STENCIL_OP_DECREMENT_AND_CLAMP";
  3895. case VK_STENCIL_OP_DECREMENT_AND_WRAP:
  3896. return "VK_STENCIL_OP_DECREMENT_AND_WRAP";
  3897. case VK_STENCIL_OP_INCREMENT_AND_CLAMP:
  3898. return "VK_STENCIL_OP_INCREMENT_AND_CLAMP";
  3899. case VK_STENCIL_OP_INCREMENT_AND_WRAP:
  3900. return "VK_STENCIL_OP_INCREMENT_AND_WRAP";
  3901. case VK_STENCIL_OP_INVERT:
  3902. return "VK_STENCIL_OP_INVERT";
  3903. case VK_STENCIL_OP_KEEP:
  3904. return "VK_STENCIL_OP_KEEP";
  3905. case VK_STENCIL_OP_REPLACE:
  3906. return "VK_STENCIL_OP_REPLACE";
  3907. case VK_STENCIL_OP_ZERO:
  3908. return "VK_STENCIL_OP_ZERO";
  3909. default:
  3910. return "Unhandled VkStencilOp";
  3911. }
  3912. }
  3913. static inline const char* string_VkPipelineColorBlendStateCreateFlagBits(VkPipelineColorBlendStateCreateFlagBits input_value)
  3914. {
  3915. switch (input_value)
  3916. {
  3917. case VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM:
  3918. return "VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM";
  3919. default:
  3920. return "Unhandled VkPipelineColorBlendStateCreateFlagBits";
  3921. }
  3922. }
  3923. static inline std::string string_VkPipelineColorBlendStateCreateFlags(VkPipelineColorBlendStateCreateFlags input_value)
  3924. {
  3925. std::string ret;
  3926. int index = 0;
  3927. while(input_value) {
  3928. if (input_value & 1) {
  3929. if( !ret.empty()) ret.append("|");
  3930. ret.append(string_VkPipelineColorBlendStateCreateFlagBits(static_cast<VkPipelineColorBlendStateCreateFlagBits>(1U << index)));
  3931. }
  3932. ++index;
  3933. input_value >>= 1;
  3934. }
  3935. if( ret.empty()) ret.append(string_VkPipelineColorBlendStateCreateFlagBits(static_cast<VkPipelineColorBlendStateCreateFlagBits>(0)));
  3936. return ret;
  3937. }
  3938. static inline const char* string_VkLogicOp(VkLogicOp input_value)
  3939. {
  3940. switch (input_value)
  3941. {
  3942. case VK_LOGIC_OP_AND:
  3943. return "VK_LOGIC_OP_AND";
  3944. case VK_LOGIC_OP_AND_INVERTED:
  3945. return "VK_LOGIC_OP_AND_INVERTED";
  3946. case VK_LOGIC_OP_AND_REVERSE:
  3947. return "VK_LOGIC_OP_AND_REVERSE";
  3948. case VK_LOGIC_OP_CLEAR:
  3949. return "VK_LOGIC_OP_CLEAR";
  3950. case VK_LOGIC_OP_COPY:
  3951. return "VK_LOGIC_OP_COPY";
  3952. case VK_LOGIC_OP_COPY_INVERTED:
  3953. return "VK_LOGIC_OP_COPY_INVERTED";
  3954. case VK_LOGIC_OP_EQUIVALENT:
  3955. return "VK_LOGIC_OP_EQUIVALENT";
  3956. case VK_LOGIC_OP_INVERT:
  3957. return "VK_LOGIC_OP_INVERT";
  3958. case VK_LOGIC_OP_NAND:
  3959. return "VK_LOGIC_OP_NAND";
  3960. case VK_LOGIC_OP_NOR:
  3961. return "VK_LOGIC_OP_NOR";
  3962. case VK_LOGIC_OP_NO_OP:
  3963. return "VK_LOGIC_OP_NO_OP";
  3964. case VK_LOGIC_OP_OR:
  3965. return "VK_LOGIC_OP_OR";
  3966. case VK_LOGIC_OP_OR_INVERTED:
  3967. return "VK_LOGIC_OP_OR_INVERTED";
  3968. case VK_LOGIC_OP_OR_REVERSE:
  3969. return "VK_LOGIC_OP_OR_REVERSE";
  3970. case VK_LOGIC_OP_SET:
  3971. return "VK_LOGIC_OP_SET";
  3972. case VK_LOGIC_OP_XOR:
  3973. return "VK_LOGIC_OP_XOR";
  3974. default:
  3975. return "Unhandled VkLogicOp";
  3976. }
  3977. }
  3978. static inline const char* string_VkBorderColor(VkBorderColor input_value)
  3979. {
  3980. switch (input_value)
  3981. {
  3982. case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT:
  3983. return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT";
  3984. case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK:
  3985. return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK";
  3986. case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE:
  3987. return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE";
  3988. case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK:
  3989. return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK";
  3990. case VK_BORDER_COLOR_INT_CUSTOM_EXT:
  3991. return "VK_BORDER_COLOR_INT_CUSTOM_EXT";
  3992. case VK_BORDER_COLOR_INT_OPAQUE_BLACK:
  3993. return "VK_BORDER_COLOR_INT_OPAQUE_BLACK";
  3994. case VK_BORDER_COLOR_INT_OPAQUE_WHITE:
  3995. return "VK_BORDER_COLOR_INT_OPAQUE_WHITE";
  3996. case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK:
  3997. return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK";
  3998. default:
  3999. return "Unhandled VkBorderColor";
  4000. }
  4001. }
  4002. static inline const char* string_VkFilter(VkFilter input_value)
  4003. {
  4004. switch (input_value)
  4005. {
  4006. case VK_FILTER_CUBIC_IMG:
  4007. return "VK_FILTER_CUBIC_IMG";
  4008. case VK_FILTER_LINEAR:
  4009. return "VK_FILTER_LINEAR";
  4010. case VK_FILTER_NEAREST:
  4011. return "VK_FILTER_NEAREST";
  4012. default:
  4013. return "Unhandled VkFilter";
  4014. }
  4015. }
  4016. static inline const char* string_VkSamplerAddressMode(VkSamplerAddressMode input_value)
  4017. {
  4018. switch (input_value)
  4019. {
  4020. case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER:
  4021. return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER";
  4022. case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE:
  4023. return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE";
  4024. case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT:
  4025. return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT";
  4026. case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE:
  4027. return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE";
  4028. case VK_SAMPLER_ADDRESS_MODE_REPEAT:
  4029. return "VK_SAMPLER_ADDRESS_MODE_REPEAT";
  4030. default:
  4031. return "Unhandled VkSamplerAddressMode";
  4032. }
  4033. }
  4034. static inline const char* string_VkSamplerCreateFlagBits(VkSamplerCreateFlagBits input_value)
  4035. {
  4036. switch (input_value)
  4037. {
  4038. case VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT:
  4039. return "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT";
  4040. case VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT:
  4041. return "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT";
  4042. default:
  4043. return "Unhandled VkSamplerCreateFlagBits";
  4044. }
  4045. }
  4046. static inline std::string string_VkSamplerCreateFlags(VkSamplerCreateFlags input_value)
  4047. {
  4048. std::string ret;
  4049. int index = 0;
  4050. while(input_value) {
  4051. if (input_value & 1) {
  4052. if( !ret.empty()) ret.append("|");
  4053. ret.append(string_VkSamplerCreateFlagBits(static_cast<VkSamplerCreateFlagBits>(1U << index)));
  4054. }
  4055. ++index;
  4056. input_value >>= 1;
  4057. }
  4058. if( ret.empty()) ret.append(string_VkSamplerCreateFlagBits(static_cast<VkSamplerCreateFlagBits>(0)));
  4059. return ret;
  4060. }
  4061. static inline const char* string_VkSamplerMipmapMode(VkSamplerMipmapMode input_value)
  4062. {
  4063. switch (input_value)
  4064. {
  4065. case VK_SAMPLER_MIPMAP_MODE_LINEAR:
  4066. return "VK_SAMPLER_MIPMAP_MODE_LINEAR";
  4067. case VK_SAMPLER_MIPMAP_MODE_NEAREST:
  4068. return "VK_SAMPLER_MIPMAP_MODE_NEAREST";
  4069. default:
  4070. return "Unhandled VkSamplerMipmapMode";
  4071. }
  4072. }
  4073. static inline const char* string_VkDescriptorPoolCreateFlagBits(VkDescriptorPoolCreateFlagBits input_value)
  4074. {
  4075. switch (input_value)
  4076. {
  4077. case VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT:
  4078. return "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT";
  4079. case VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE:
  4080. return "VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE";
  4081. case VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT:
  4082. return "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT";
  4083. default:
  4084. return "Unhandled VkDescriptorPoolCreateFlagBits";
  4085. }
  4086. }
  4087. static inline std::string string_VkDescriptorPoolCreateFlags(VkDescriptorPoolCreateFlags input_value)
  4088. {
  4089. std::string ret;
  4090. int index = 0;
  4091. while(input_value) {
  4092. if (input_value & 1) {
  4093. if( !ret.empty()) ret.append("|");
  4094. ret.append(string_VkDescriptorPoolCreateFlagBits(static_cast<VkDescriptorPoolCreateFlagBits>(1U << index)));
  4095. }
  4096. ++index;
  4097. input_value >>= 1;
  4098. }
  4099. if( ret.empty()) ret.append(string_VkDescriptorPoolCreateFlagBits(static_cast<VkDescriptorPoolCreateFlagBits>(0)));
  4100. return ret;
  4101. }
  4102. static inline const char* string_VkDescriptorType(VkDescriptorType input_value)
  4103. {
  4104. switch (input_value)
  4105. {
  4106. case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR:
  4107. return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR";
  4108. case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
  4109. return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV";
  4110. case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
  4111. return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER";
  4112. case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK:
  4113. return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK";
  4114. case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
  4115. return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT";
  4116. case VK_DESCRIPTOR_TYPE_MUTABLE_VALVE:
  4117. return "VK_DESCRIPTOR_TYPE_MUTABLE_VALVE";
  4118. case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
  4119. return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE";
  4120. case VK_DESCRIPTOR_TYPE_SAMPLER:
  4121. return "VK_DESCRIPTOR_TYPE_SAMPLER";
  4122. case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
  4123. return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER";
  4124. case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
  4125. return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC";
  4126. case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
  4127. return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE";
  4128. case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
  4129. return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER";
  4130. case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
  4131. return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER";
  4132. case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
  4133. return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC";
  4134. case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
  4135. return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER";
  4136. default:
  4137. return "Unhandled VkDescriptorType";
  4138. }
  4139. }
  4140. static inline const char* string_VkDescriptorSetLayoutCreateFlagBits(VkDescriptorSetLayoutCreateFlagBits input_value)
  4141. {
  4142. switch (input_value)
  4143. {
  4144. case VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE:
  4145. return "VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE";
  4146. case VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR:
  4147. return "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR";
  4148. case VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT:
  4149. return "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT";
  4150. default:
  4151. return "Unhandled VkDescriptorSetLayoutCreateFlagBits";
  4152. }
  4153. }
  4154. static inline std::string string_VkDescriptorSetLayoutCreateFlags(VkDescriptorSetLayoutCreateFlags input_value)
  4155. {
  4156. std::string ret;
  4157. int index = 0;
  4158. while(input_value) {
  4159. if (input_value & 1) {
  4160. if( !ret.empty()) ret.append("|");
  4161. ret.append(string_VkDescriptorSetLayoutCreateFlagBits(static_cast<VkDescriptorSetLayoutCreateFlagBits>(1U << index)));
  4162. }
  4163. ++index;
  4164. input_value >>= 1;
  4165. }
  4166. if( ret.empty()) ret.append(string_VkDescriptorSetLayoutCreateFlagBits(static_cast<VkDescriptorSetLayoutCreateFlagBits>(0)));
  4167. return ret;
  4168. }
  4169. static inline const char* string_VkAttachmentDescriptionFlagBits(VkAttachmentDescriptionFlagBits input_value)
  4170. {
  4171. switch (input_value)
  4172. {
  4173. case VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT:
  4174. return "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT";
  4175. default:
  4176. return "Unhandled VkAttachmentDescriptionFlagBits";
  4177. }
  4178. }
  4179. static inline std::string string_VkAttachmentDescriptionFlags(VkAttachmentDescriptionFlags input_value)
  4180. {
  4181. std::string ret;
  4182. int index = 0;
  4183. while(input_value) {
  4184. if (input_value & 1) {
  4185. if( !ret.empty()) ret.append("|");
  4186. ret.append(string_VkAttachmentDescriptionFlagBits(static_cast<VkAttachmentDescriptionFlagBits>(1U << index)));
  4187. }
  4188. ++index;
  4189. input_value >>= 1;
  4190. }
  4191. if( ret.empty()) ret.append(string_VkAttachmentDescriptionFlagBits(static_cast<VkAttachmentDescriptionFlagBits>(0)));
  4192. return ret;
  4193. }
  4194. static inline const char* string_VkAttachmentLoadOp(VkAttachmentLoadOp input_value)
  4195. {
  4196. switch (input_value)
  4197. {
  4198. case VK_ATTACHMENT_LOAD_OP_CLEAR:
  4199. return "VK_ATTACHMENT_LOAD_OP_CLEAR";
  4200. case VK_ATTACHMENT_LOAD_OP_DONT_CARE:
  4201. return "VK_ATTACHMENT_LOAD_OP_DONT_CARE";
  4202. case VK_ATTACHMENT_LOAD_OP_LOAD:
  4203. return "VK_ATTACHMENT_LOAD_OP_LOAD";
  4204. case VK_ATTACHMENT_LOAD_OP_NONE_EXT:
  4205. return "VK_ATTACHMENT_LOAD_OP_NONE_EXT";
  4206. default:
  4207. return "Unhandled VkAttachmentLoadOp";
  4208. }
  4209. }
  4210. static inline const char* string_VkAttachmentStoreOp(VkAttachmentStoreOp input_value)
  4211. {
  4212. switch (input_value)
  4213. {
  4214. case VK_ATTACHMENT_STORE_OP_DONT_CARE:
  4215. return "VK_ATTACHMENT_STORE_OP_DONT_CARE";
  4216. case VK_ATTACHMENT_STORE_OP_NONE:
  4217. return "VK_ATTACHMENT_STORE_OP_NONE";
  4218. case VK_ATTACHMENT_STORE_OP_STORE:
  4219. return "VK_ATTACHMENT_STORE_OP_STORE";
  4220. default:
  4221. return "Unhandled VkAttachmentStoreOp";
  4222. }
  4223. }
  4224. static inline const char* string_VkDependencyFlagBits(VkDependencyFlagBits input_value)
  4225. {
  4226. switch (input_value)
  4227. {
  4228. case VK_DEPENDENCY_BY_REGION_BIT:
  4229. return "VK_DEPENDENCY_BY_REGION_BIT";
  4230. case VK_DEPENDENCY_DEVICE_GROUP_BIT:
  4231. return "VK_DEPENDENCY_DEVICE_GROUP_BIT";
  4232. case VK_DEPENDENCY_VIEW_LOCAL_BIT:
  4233. return "VK_DEPENDENCY_VIEW_LOCAL_BIT";
  4234. default:
  4235. return "Unhandled VkDependencyFlagBits";
  4236. }
  4237. }
  4238. static inline std::string string_VkDependencyFlags(VkDependencyFlags input_value)
  4239. {
  4240. std::string ret;
  4241. int index = 0;
  4242. while(input_value) {
  4243. if (input_value & 1) {
  4244. if( !ret.empty()) ret.append("|");
  4245. ret.append(string_VkDependencyFlagBits(static_cast<VkDependencyFlagBits>(1U << index)));
  4246. }
  4247. ++index;
  4248. input_value >>= 1;
  4249. }
  4250. if( ret.empty()) ret.append(string_VkDependencyFlagBits(static_cast<VkDependencyFlagBits>(0)));
  4251. return ret;
  4252. }
  4253. static inline const char* string_VkFramebufferCreateFlagBits(VkFramebufferCreateFlagBits input_value)
  4254. {
  4255. switch (input_value)
  4256. {
  4257. case VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT:
  4258. return "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT";
  4259. default:
  4260. return "Unhandled VkFramebufferCreateFlagBits";
  4261. }
  4262. }
  4263. static inline std::string string_VkFramebufferCreateFlags(VkFramebufferCreateFlags input_value)
  4264. {
  4265. std::string ret;
  4266. int index = 0;
  4267. while(input_value) {
  4268. if (input_value & 1) {
  4269. if( !ret.empty()) ret.append("|");
  4270. ret.append(string_VkFramebufferCreateFlagBits(static_cast<VkFramebufferCreateFlagBits>(1U << index)));
  4271. }
  4272. ++index;
  4273. input_value >>= 1;
  4274. }
  4275. if( ret.empty()) ret.append(string_VkFramebufferCreateFlagBits(static_cast<VkFramebufferCreateFlagBits>(0)));
  4276. return ret;
  4277. }
  4278. static inline const char* string_VkPipelineBindPoint(VkPipelineBindPoint input_value)
  4279. {
  4280. switch (input_value)
  4281. {
  4282. case VK_PIPELINE_BIND_POINT_COMPUTE:
  4283. return "VK_PIPELINE_BIND_POINT_COMPUTE";
  4284. case VK_PIPELINE_BIND_POINT_GRAPHICS:
  4285. return "VK_PIPELINE_BIND_POINT_GRAPHICS";
  4286. case VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR:
  4287. return "VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR";
  4288. case VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI:
  4289. return "VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI";
  4290. default:
  4291. return "Unhandled VkPipelineBindPoint";
  4292. }
  4293. }
  4294. static inline const char* string_VkRenderPassCreateFlagBits(VkRenderPassCreateFlagBits input_value)
  4295. {
  4296. switch (input_value)
  4297. {
  4298. case VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM:
  4299. return "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM";
  4300. default:
  4301. return "Unhandled VkRenderPassCreateFlagBits";
  4302. }
  4303. }
  4304. static inline std::string string_VkRenderPassCreateFlags(VkRenderPassCreateFlags input_value)
  4305. {
  4306. std::string ret;
  4307. int index = 0;
  4308. while(input_value) {
  4309. if (input_value & 1) {
  4310. if( !ret.empty()) ret.append("|");
  4311. ret.append(string_VkRenderPassCreateFlagBits(static_cast<VkRenderPassCreateFlagBits>(1U << index)));
  4312. }
  4313. ++index;
  4314. input_value >>= 1;
  4315. }
  4316. if( ret.empty()) ret.append(string_VkRenderPassCreateFlagBits(static_cast<VkRenderPassCreateFlagBits>(0)));
  4317. return ret;
  4318. }
  4319. static inline const char* string_VkSubpassDescriptionFlagBits(VkSubpassDescriptionFlagBits input_value)
  4320. {
  4321. switch (input_value)
  4322. {
  4323. case VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM:
  4324. return "VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM";
  4325. case VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX:
  4326. return "VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX";
  4327. case VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX:
  4328. return "VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX";
  4329. case VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM:
  4330. return "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM";
  4331. case VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM:
  4332. return "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM";
  4333. case VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM:
  4334. return "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM";
  4335. case VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM:
  4336. return "VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM";
  4337. default:
  4338. return "Unhandled VkSubpassDescriptionFlagBits";
  4339. }
  4340. }
  4341. static inline std::string string_VkSubpassDescriptionFlags(VkSubpassDescriptionFlags input_value)
  4342. {
  4343. std::string ret;
  4344. int index = 0;
  4345. while(input_value) {
  4346. if (input_value & 1) {
  4347. if( !ret.empty()) ret.append("|");
  4348. ret.append(string_VkSubpassDescriptionFlagBits(static_cast<VkSubpassDescriptionFlagBits>(1U << index)));
  4349. }
  4350. ++index;
  4351. input_value >>= 1;
  4352. }
  4353. if( ret.empty()) ret.append(string_VkSubpassDescriptionFlagBits(static_cast<VkSubpassDescriptionFlagBits>(0)));
  4354. return ret;
  4355. }
  4356. static inline const char* string_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits input_value)
  4357. {
  4358. switch (input_value)
  4359. {
  4360. case VK_COMMAND_POOL_CREATE_PROTECTED_BIT:
  4361. return "VK_COMMAND_POOL_CREATE_PROTECTED_BIT";
  4362. case VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT:
  4363. return "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT";
  4364. case VK_COMMAND_POOL_CREATE_TRANSIENT_BIT:
  4365. return "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT";
  4366. default:
  4367. return "Unhandled VkCommandPoolCreateFlagBits";
  4368. }
  4369. }
  4370. static inline std::string string_VkCommandPoolCreateFlags(VkCommandPoolCreateFlags input_value)
  4371. {
  4372. std::string ret;
  4373. int index = 0;
  4374. while(input_value) {
  4375. if (input_value & 1) {
  4376. if( !ret.empty()) ret.append("|");
  4377. ret.append(string_VkCommandPoolCreateFlagBits(static_cast<VkCommandPoolCreateFlagBits>(1U << index)));
  4378. }
  4379. ++index;
  4380. input_value >>= 1;
  4381. }
  4382. if( ret.empty()) ret.append(string_VkCommandPoolCreateFlagBits(static_cast<VkCommandPoolCreateFlagBits>(0)));
  4383. return ret;
  4384. }
  4385. static inline const char* string_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits input_value)
  4386. {
  4387. switch (input_value)
  4388. {
  4389. case VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT:
  4390. return "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT";
  4391. default:
  4392. return "Unhandled VkCommandPoolResetFlagBits";
  4393. }
  4394. }
  4395. static inline std::string string_VkCommandPoolResetFlags(VkCommandPoolResetFlags input_value)
  4396. {
  4397. std::string ret;
  4398. int index = 0;
  4399. while(input_value) {
  4400. if (input_value & 1) {
  4401. if( !ret.empty()) ret.append("|");
  4402. ret.append(string_VkCommandPoolResetFlagBits(static_cast<VkCommandPoolResetFlagBits>(1U << index)));
  4403. }
  4404. ++index;
  4405. input_value >>= 1;
  4406. }
  4407. if( ret.empty()) ret.append(string_VkCommandPoolResetFlagBits(static_cast<VkCommandPoolResetFlagBits>(0)));
  4408. return ret;
  4409. }
  4410. static inline const char* string_VkCommandBufferLevel(VkCommandBufferLevel input_value)
  4411. {
  4412. switch (input_value)
  4413. {
  4414. case VK_COMMAND_BUFFER_LEVEL_PRIMARY:
  4415. return "VK_COMMAND_BUFFER_LEVEL_PRIMARY";
  4416. case VK_COMMAND_BUFFER_LEVEL_SECONDARY:
  4417. return "VK_COMMAND_BUFFER_LEVEL_SECONDARY";
  4418. default:
  4419. return "Unhandled VkCommandBufferLevel";
  4420. }
  4421. }
  4422. static inline const char* string_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits input_value)
  4423. {
  4424. switch (input_value)
  4425. {
  4426. case VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT:
  4427. return "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT";
  4428. case VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT:
  4429. return "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT";
  4430. case VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT:
  4431. return "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT";
  4432. default:
  4433. return "Unhandled VkCommandBufferUsageFlagBits";
  4434. }
  4435. }
  4436. static inline std::string string_VkCommandBufferUsageFlags(VkCommandBufferUsageFlags input_value)
  4437. {
  4438. std::string ret;
  4439. int index = 0;
  4440. while(input_value) {
  4441. if (input_value & 1) {
  4442. if( !ret.empty()) ret.append("|");
  4443. ret.append(string_VkCommandBufferUsageFlagBits(static_cast<VkCommandBufferUsageFlagBits>(1U << index)));
  4444. }
  4445. ++index;
  4446. input_value >>= 1;
  4447. }
  4448. if( ret.empty()) ret.append(string_VkCommandBufferUsageFlagBits(static_cast<VkCommandBufferUsageFlagBits>(0)));
  4449. return ret;
  4450. }
  4451. static inline const char* string_VkQueryControlFlagBits(VkQueryControlFlagBits input_value)
  4452. {
  4453. switch (input_value)
  4454. {
  4455. case VK_QUERY_CONTROL_PRECISE_BIT:
  4456. return "VK_QUERY_CONTROL_PRECISE_BIT";
  4457. default:
  4458. return "Unhandled VkQueryControlFlagBits";
  4459. }
  4460. }
  4461. static inline std::string string_VkQueryControlFlags(VkQueryControlFlags input_value)
  4462. {
  4463. std::string ret;
  4464. int index = 0;
  4465. while(input_value) {
  4466. if (input_value & 1) {
  4467. if( !ret.empty()) ret.append("|");
  4468. ret.append(string_VkQueryControlFlagBits(static_cast<VkQueryControlFlagBits>(1U << index)));
  4469. }
  4470. ++index;
  4471. input_value >>= 1;
  4472. }
  4473. if( ret.empty()) ret.append(string_VkQueryControlFlagBits(static_cast<VkQueryControlFlagBits>(0)));
  4474. return ret;
  4475. }
  4476. static inline const char* string_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits input_value)
  4477. {
  4478. switch (input_value)
  4479. {
  4480. case VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT:
  4481. return "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT";
  4482. default:
  4483. return "Unhandled VkCommandBufferResetFlagBits";
  4484. }
  4485. }
  4486. static inline std::string string_VkCommandBufferResetFlags(VkCommandBufferResetFlags input_value)
  4487. {
  4488. std::string ret;
  4489. int index = 0;
  4490. while(input_value) {
  4491. if (input_value & 1) {
  4492. if( !ret.empty()) ret.append("|");
  4493. ret.append(string_VkCommandBufferResetFlagBits(static_cast<VkCommandBufferResetFlagBits>(1U << index)));
  4494. }
  4495. ++index;
  4496. input_value >>= 1;
  4497. }
  4498. if( ret.empty()) ret.append(string_VkCommandBufferResetFlagBits(static_cast<VkCommandBufferResetFlagBits>(0)));
  4499. return ret;
  4500. }
  4501. static inline const char* string_VkIndexType(VkIndexType input_value)
  4502. {
  4503. switch (input_value)
  4504. {
  4505. case VK_INDEX_TYPE_NONE_KHR:
  4506. return "VK_INDEX_TYPE_NONE_KHR";
  4507. case VK_INDEX_TYPE_UINT16:
  4508. return "VK_INDEX_TYPE_UINT16";
  4509. case VK_INDEX_TYPE_UINT32:
  4510. return "VK_INDEX_TYPE_UINT32";
  4511. case VK_INDEX_TYPE_UINT8_EXT:
  4512. return "VK_INDEX_TYPE_UINT8_EXT";
  4513. default:
  4514. return "Unhandled VkIndexType";
  4515. }
  4516. }
  4517. static inline const char* string_VkStencilFaceFlagBits(VkStencilFaceFlagBits input_value)
  4518. {
  4519. switch (input_value)
  4520. {
  4521. case VK_STENCIL_FACE_BACK_BIT:
  4522. return "VK_STENCIL_FACE_BACK_BIT";
  4523. case VK_STENCIL_FACE_FRONT_AND_BACK:
  4524. return "VK_STENCIL_FACE_FRONT_AND_BACK";
  4525. case VK_STENCIL_FACE_FRONT_BIT:
  4526. return "VK_STENCIL_FACE_FRONT_BIT";
  4527. default:
  4528. return "Unhandled VkStencilFaceFlagBits";
  4529. }
  4530. }
  4531. static inline std::string string_VkStencilFaceFlags(VkStencilFaceFlags input_value)
  4532. {
  4533. std::string ret;
  4534. int index = 0;
  4535. while(input_value) {
  4536. if (input_value & 1) {
  4537. if( !ret.empty()) ret.append("|");
  4538. ret.append(string_VkStencilFaceFlagBits(static_cast<VkStencilFaceFlagBits>(1U << index)));
  4539. }
  4540. ++index;
  4541. input_value >>= 1;
  4542. }
  4543. if( ret.empty()) ret.append(string_VkStencilFaceFlagBits(static_cast<VkStencilFaceFlagBits>(0)));
  4544. return ret;
  4545. }
  4546. static inline const char* string_VkSubpassContents(VkSubpassContents input_value)
  4547. {
  4548. switch (input_value)
  4549. {
  4550. case VK_SUBPASS_CONTENTS_INLINE:
  4551. return "VK_SUBPASS_CONTENTS_INLINE";
  4552. case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS:
  4553. return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS";
  4554. default:
  4555. return "Unhandled VkSubpassContents";
  4556. }
  4557. }
  4558. static inline const char* string_VkSubgroupFeatureFlagBits(VkSubgroupFeatureFlagBits input_value)
  4559. {
  4560. switch (input_value)
  4561. {
  4562. case VK_SUBGROUP_FEATURE_ARITHMETIC_BIT:
  4563. return "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT";
  4564. case VK_SUBGROUP_FEATURE_BALLOT_BIT:
  4565. return "VK_SUBGROUP_FEATURE_BALLOT_BIT";
  4566. case VK_SUBGROUP_FEATURE_BASIC_BIT:
  4567. return "VK_SUBGROUP_FEATURE_BASIC_BIT";
  4568. case VK_SUBGROUP_FEATURE_CLUSTERED_BIT:
  4569. return "VK_SUBGROUP_FEATURE_CLUSTERED_BIT";
  4570. case VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV:
  4571. return "VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV";
  4572. case VK_SUBGROUP_FEATURE_QUAD_BIT:
  4573. return "VK_SUBGROUP_FEATURE_QUAD_BIT";
  4574. case VK_SUBGROUP_FEATURE_SHUFFLE_BIT:
  4575. return "VK_SUBGROUP_FEATURE_SHUFFLE_BIT";
  4576. case VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT:
  4577. return "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT";
  4578. case VK_SUBGROUP_FEATURE_VOTE_BIT:
  4579. return "VK_SUBGROUP_FEATURE_VOTE_BIT";
  4580. default:
  4581. return "Unhandled VkSubgroupFeatureFlagBits";
  4582. }
  4583. }
  4584. static inline std::string string_VkSubgroupFeatureFlags(VkSubgroupFeatureFlags input_value)
  4585. {
  4586. std::string ret;
  4587. int index = 0;
  4588. while(input_value) {
  4589. if (input_value & 1) {
  4590. if( !ret.empty()) ret.append("|");
  4591. ret.append(string_VkSubgroupFeatureFlagBits(static_cast<VkSubgroupFeatureFlagBits>(1U << index)));
  4592. }
  4593. ++index;
  4594. input_value >>= 1;
  4595. }
  4596. if( ret.empty()) ret.append(string_VkSubgroupFeatureFlagBits(static_cast<VkSubgroupFeatureFlagBits>(0)));
  4597. return ret;
  4598. }
  4599. static inline const char* string_VkPeerMemoryFeatureFlagBits(VkPeerMemoryFeatureFlagBits input_value)
  4600. {
  4601. switch (input_value)
  4602. {
  4603. case VK_PEER_MEMORY_FEATURE_COPY_DST_BIT:
  4604. return "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT";
  4605. case VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT:
  4606. return "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT";
  4607. case VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT:
  4608. return "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT";
  4609. case VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT:
  4610. return "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT";
  4611. default:
  4612. return "Unhandled VkPeerMemoryFeatureFlagBits";
  4613. }
  4614. }
  4615. static inline std::string string_VkPeerMemoryFeatureFlags(VkPeerMemoryFeatureFlags input_value)
  4616. {
  4617. std::string ret;
  4618. int index = 0;
  4619. while(input_value) {
  4620. if (input_value & 1) {
  4621. if( !ret.empty()) ret.append("|");
  4622. ret.append(string_VkPeerMemoryFeatureFlagBits(static_cast<VkPeerMemoryFeatureFlagBits>(1U << index)));
  4623. }
  4624. ++index;
  4625. input_value >>= 1;
  4626. }
  4627. if( ret.empty()) ret.append(string_VkPeerMemoryFeatureFlagBits(static_cast<VkPeerMemoryFeatureFlagBits>(0)));
  4628. return ret;
  4629. }
  4630. static inline const char* string_VkMemoryAllocateFlagBits(VkMemoryAllocateFlagBits input_value)
  4631. {
  4632. switch (input_value)
  4633. {
  4634. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT:
  4635. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT";
  4636. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
  4637. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT";
  4638. case VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT:
  4639. return "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT";
  4640. default:
  4641. return "Unhandled VkMemoryAllocateFlagBits";
  4642. }
  4643. }
  4644. static inline std::string string_VkMemoryAllocateFlags(VkMemoryAllocateFlags input_value)
  4645. {
  4646. std::string ret;
  4647. int index = 0;
  4648. while(input_value) {
  4649. if (input_value & 1) {
  4650. if( !ret.empty()) ret.append("|");
  4651. ret.append(string_VkMemoryAllocateFlagBits(static_cast<VkMemoryAllocateFlagBits>(1U << index)));
  4652. }
  4653. ++index;
  4654. input_value >>= 1;
  4655. }
  4656. if( ret.empty()) ret.append(string_VkMemoryAllocateFlagBits(static_cast<VkMemoryAllocateFlagBits>(0)));
  4657. return ret;
  4658. }
  4659. static inline const char* string_VkPointClippingBehavior(VkPointClippingBehavior input_value)
  4660. {
  4661. switch (input_value)
  4662. {
  4663. case VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES:
  4664. return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES";
  4665. case VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY:
  4666. return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY";
  4667. default:
  4668. return "Unhandled VkPointClippingBehavior";
  4669. }
  4670. }
  4671. static inline const char* string_VkTessellationDomainOrigin(VkTessellationDomainOrigin input_value)
  4672. {
  4673. switch (input_value)
  4674. {
  4675. case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT:
  4676. return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT";
  4677. case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT:
  4678. return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT";
  4679. default:
  4680. return "Unhandled VkTessellationDomainOrigin";
  4681. }
  4682. }
  4683. static inline const char* string_VkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion input_value)
  4684. {
  4685. switch (input_value)
  4686. {
  4687. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY:
  4688. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY";
  4689. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020:
  4690. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020";
  4691. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601:
  4692. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601";
  4693. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709:
  4694. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709";
  4695. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY:
  4696. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY";
  4697. default:
  4698. return "Unhandled VkSamplerYcbcrModelConversion";
  4699. }
  4700. }
  4701. static inline const char* string_VkSamplerYcbcrRange(VkSamplerYcbcrRange input_value)
  4702. {
  4703. switch (input_value)
  4704. {
  4705. case VK_SAMPLER_YCBCR_RANGE_ITU_FULL:
  4706. return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL";
  4707. case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW:
  4708. return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW";
  4709. default:
  4710. return "Unhandled VkSamplerYcbcrRange";
  4711. }
  4712. }
  4713. static inline const char* string_VkChromaLocation(VkChromaLocation input_value)
  4714. {
  4715. switch (input_value)
  4716. {
  4717. case VK_CHROMA_LOCATION_COSITED_EVEN:
  4718. return "VK_CHROMA_LOCATION_COSITED_EVEN";
  4719. case VK_CHROMA_LOCATION_MIDPOINT:
  4720. return "VK_CHROMA_LOCATION_MIDPOINT";
  4721. default:
  4722. return "Unhandled VkChromaLocation";
  4723. }
  4724. }
  4725. static inline const char* string_VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType input_value)
  4726. {
  4727. switch (input_value)
  4728. {
  4729. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET:
  4730. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET";
  4731. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR:
  4732. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR";
  4733. default:
  4734. return "Unhandled VkDescriptorUpdateTemplateType";
  4735. }
  4736. }
  4737. static inline const char* string_VkExternalMemoryHandleTypeFlagBits(VkExternalMemoryHandleTypeFlagBits input_value)
  4738. {
  4739. switch (input_value)
  4740. {
  4741. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:
  4742. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID";
  4743. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT:
  4744. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT";
  4745. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT:
  4746. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT";
  4747. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT:
  4748. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT";
  4749. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT:
  4750. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT";
  4751. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT:
  4752. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT";
  4753. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT:
  4754. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT";
  4755. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT:
  4756. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT";
  4757. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
  4758. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT";
  4759. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4760. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4761. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4762. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4763. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV:
  4764. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV";
  4765. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA:
  4766. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA";
  4767. default:
  4768. return "Unhandled VkExternalMemoryHandleTypeFlagBits";
  4769. }
  4770. }
  4771. static inline std::string string_VkExternalMemoryHandleTypeFlags(VkExternalMemoryHandleTypeFlags input_value)
  4772. {
  4773. std::string ret;
  4774. int index = 0;
  4775. while(input_value) {
  4776. if (input_value & 1) {
  4777. if( !ret.empty()) ret.append("|");
  4778. ret.append(string_VkExternalMemoryHandleTypeFlagBits(static_cast<VkExternalMemoryHandleTypeFlagBits>(1U << index)));
  4779. }
  4780. ++index;
  4781. input_value >>= 1;
  4782. }
  4783. if( ret.empty()) ret.append(string_VkExternalMemoryHandleTypeFlagBits(static_cast<VkExternalMemoryHandleTypeFlagBits>(0)));
  4784. return ret;
  4785. }
  4786. static inline const char* string_VkExternalMemoryFeatureFlagBits(VkExternalMemoryFeatureFlagBits input_value)
  4787. {
  4788. switch (input_value)
  4789. {
  4790. case VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT:
  4791. return "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT";
  4792. case VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT:
  4793. return "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT";
  4794. case VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT:
  4795. return "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT";
  4796. default:
  4797. return "Unhandled VkExternalMemoryFeatureFlagBits";
  4798. }
  4799. }
  4800. static inline std::string string_VkExternalMemoryFeatureFlags(VkExternalMemoryFeatureFlags input_value)
  4801. {
  4802. std::string ret;
  4803. int index = 0;
  4804. while(input_value) {
  4805. if (input_value & 1) {
  4806. if( !ret.empty()) ret.append("|");
  4807. ret.append(string_VkExternalMemoryFeatureFlagBits(static_cast<VkExternalMemoryFeatureFlagBits>(1U << index)));
  4808. }
  4809. ++index;
  4810. input_value >>= 1;
  4811. }
  4812. if( ret.empty()) ret.append(string_VkExternalMemoryFeatureFlagBits(static_cast<VkExternalMemoryFeatureFlagBits>(0)));
  4813. return ret;
  4814. }
  4815. static inline const char* string_VkExternalFenceHandleTypeFlagBits(VkExternalFenceHandleTypeFlagBits input_value)
  4816. {
  4817. switch (input_value)
  4818. {
  4819. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT:
  4820. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT";
  4821. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4822. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4823. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4824. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4825. case VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT:
  4826. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT";
  4827. default:
  4828. return "Unhandled VkExternalFenceHandleTypeFlagBits";
  4829. }
  4830. }
  4831. static inline std::string string_VkExternalFenceHandleTypeFlags(VkExternalFenceHandleTypeFlags input_value)
  4832. {
  4833. std::string ret;
  4834. int index = 0;
  4835. while(input_value) {
  4836. if (input_value & 1) {
  4837. if( !ret.empty()) ret.append("|");
  4838. ret.append(string_VkExternalFenceHandleTypeFlagBits(static_cast<VkExternalFenceHandleTypeFlagBits>(1U << index)));
  4839. }
  4840. ++index;
  4841. input_value >>= 1;
  4842. }
  4843. if( ret.empty()) ret.append(string_VkExternalFenceHandleTypeFlagBits(static_cast<VkExternalFenceHandleTypeFlagBits>(0)));
  4844. return ret;
  4845. }
  4846. static inline const char* string_VkExternalFenceFeatureFlagBits(VkExternalFenceFeatureFlagBits input_value)
  4847. {
  4848. switch (input_value)
  4849. {
  4850. case VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT:
  4851. return "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT";
  4852. case VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT:
  4853. return "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT";
  4854. default:
  4855. return "Unhandled VkExternalFenceFeatureFlagBits";
  4856. }
  4857. }
  4858. static inline std::string string_VkExternalFenceFeatureFlags(VkExternalFenceFeatureFlags input_value)
  4859. {
  4860. std::string ret;
  4861. int index = 0;
  4862. while(input_value) {
  4863. if (input_value & 1) {
  4864. if( !ret.empty()) ret.append("|");
  4865. ret.append(string_VkExternalFenceFeatureFlagBits(static_cast<VkExternalFenceFeatureFlagBits>(1U << index)));
  4866. }
  4867. ++index;
  4868. input_value >>= 1;
  4869. }
  4870. if( ret.empty()) ret.append(string_VkExternalFenceFeatureFlagBits(static_cast<VkExternalFenceFeatureFlagBits>(0)));
  4871. return ret;
  4872. }
  4873. static inline const char* string_VkFenceImportFlagBits(VkFenceImportFlagBits input_value)
  4874. {
  4875. switch (input_value)
  4876. {
  4877. case VK_FENCE_IMPORT_TEMPORARY_BIT:
  4878. return "VK_FENCE_IMPORT_TEMPORARY_BIT";
  4879. default:
  4880. return "Unhandled VkFenceImportFlagBits";
  4881. }
  4882. }
  4883. static inline std::string string_VkFenceImportFlags(VkFenceImportFlags input_value)
  4884. {
  4885. std::string ret;
  4886. int index = 0;
  4887. while(input_value) {
  4888. if (input_value & 1) {
  4889. if( !ret.empty()) ret.append("|");
  4890. ret.append(string_VkFenceImportFlagBits(static_cast<VkFenceImportFlagBits>(1U << index)));
  4891. }
  4892. ++index;
  4893. input_value >>= 1;
  4894. }
  4895. if( ret.empty()) ret.append(string_VkFenceImportFlagBits(static_cast<VkFenceImportFlagBits>(0)));
  4896. return ret;
  4897. }
  4898. static inline const char* string_VkSemaphoreImportFlagBits(VkSemaphoreImportFlagBits input_value)
  4899. {
  4900. switch (input_value)
  4901. {
  4902. case VK_SEMAPHORE_IMPORT_TEMPORARY_BIT:
  4903. return "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT";
  4904. default:
  4905. return "Unhandled VkSemaphoreImportFlagBits";
  4906. }
  4907. }
  4908. static inline std::string string_VkSemaphoreImportFlags(VkSemaphoreImportFlags input_value)
  4909. {
  4910. std::string ret;
  4911. int index = 0;
  4912. while(input_value) {
  4913. if (input_value & 1) {
  4914. if( !ret.empty()) ret.append("|");
  4915. ret.append(string_VkSemaphoreImportFlagBits(static_cast<VkSemaphoreImportFlagBits>(1U << index)));
  4916. }
  4917. ++index;
  4918. input_value >>= 1;
  4919. }
  4920. if( ret.empty()) ret.append(string_VkSemaphoreImportFlagBits(static_cast<VkSemaphoreImportFlagBits>(0)));
  4921. return ret;
  4922. }
  4923. static inline const char* string_VkExternalSemaphoreHandleTypeFlagBits(VkExternalSemaphoreHandleTypeFlagBits input_value)
  4924. {
  4925. switch (input_value)
  4926. {
  4927. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT:
  4928. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT";
  4929. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT:
  4930. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT";
  4931. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  4932. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  4933. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  4934. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  4935. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT:
  4936. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT";
  4937. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA:
  4938. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA";
  4939. default:
  4940. return "Unhandled VkExternalSemaphoreHandleTypeFlagBits";
  4941. }
  4942. }
  4943. static inline std::string string_VkExternalSemaphoreHandleTypeFlags(VkExternalSemaphoreHandleTypeFlags input_value)
  4944. {
  4945. std::string ret;
  4946. int index = 0;
  4947. while(input_value) {
  4948. if (input_value & 1) {
  4949. if( !ret.empty()) ret.append("|");
  4950. ret.append(string_VkExternalSemaphoreHandleTypeFlagBits(static_cast<VkExternalSemaphoreHandleTypeFlagBits>(1U << index)));
  4951. }
  4952. ++index;
  4953. input_value >>= 1;
  4954. }
  4955. if( ret.empty()) ret.append(string_VkExternalSemaphoreHandleTypeFlagBits(static_cast<VkExternalSemaphoreHandleTypeFlagBits>(0)));
  4956. return ret;
  4957. }
  4958. static inline const char* string_VkExternalSemaphoreFeatureFlagBits(VkExternalSemaphoreFeatureFlagBits input_value)
  4959. {
  4960. switch (input_value)
  4961. {
  4962. case VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT:
  4963. return "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT";
  4964. case VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT:
  4965. return "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT";
  4966. default:
  4967. return "Unhandled VkExternalSemaphoreFeatureFlagBits";
  4968. }
  4969. }
  4970. static inline std::string string_VkExternalSemaphoreFeatureFlags(VkExternalSemaphoreFeatureFlags 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_VkExternalSemaphoreFeatureFlagBits(static_cast<VkExternalSemaphoreFeatureFlagBits>(1U << index)));
  4978. }
  4979. ++index;
  4980. input_value >>= 1;
  4981. }
  4982. if( ret.empty()) ret.append(string_VkExternalSemaphoreFeatureFlagBits(static_cast<VkExternalSemaphoreFeatureFlagBits>(0)));
  4983. return ret;
  4984. }
  4985. static inline const char* string_VkDriverId(VkDriverId input_value)
  4986. {
  4987. switch (input_value)
  4988. {
  4989. case VK_DRIVER_ID_AMD_OPEN_SOURCE:
  4990. return "VK_DRIVER_ID_AMD_OPEN_SOURCE";
  4991. case VK_DRIVER_ID_AMD_PROPRIETARY:
  4992. return "VK_DRIVER_ID_AMD_PROPRIETARY";
  4993. case VK_DRIVER_ID_ARM_PROPRIETARY:
  4994. return "VK_DRIVER_ID_ARM_PROPRIETARY";
  4995. case VK_DRIVER_ID_BROADCOM_PROPRIETARY:
  4996. return "VK_DRIVER_ID_BROADCOM_PROPRIETARY";
  4997. case VK_DRIVER_ID_COREAVI_PROPRIETARY:
  4998. return "VK_DRIVER_ID_COREAVI_PROPRIETARY";
  4999. case VK_DRIVER_ID_GGP_PROPRIETARY:
  5000. return "VK_DRIVER_ID_GGP_PROPRIETARY";
  5001. case VK_DRIVER_ID_GOOGLE_SWIFTSHADER:
  5002. return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER";
  5003. case VK_DRIVER_ID_IMAGINATION_PROPRIETARY:
  5004. return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY";
  5005. case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA:
  5006. return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA";
  5007. case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS:
  5008. return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS";
  5009. case VK_DRIVER_ID_JUICE_PROPRIETARY:
  5010. return "VK_DRIVER_ID_JUICE_PROPRIETARY";
  5011. case VK_DRIVER_ID_MESA_LLVMPIPE:
  5012. return "VK_DRIVER_ID_MESA_LLVMPIPE";
  5013. case VK_DRIVER_ID_MESA_PANVK:
  5014. return "VK_DRIVER_ID_MESA_PANVK";
  5015. case VK_DRIVER_ID_MESA_RADV:
  5016. return "VK_DRIVER_ID_MESA_RADV";
  5017. case VK_DRIVER_ID_MESA_TURNIP:
  5018. return "VK_DRIVER_ID_MESA_TURNIP";
  5019. case VK_DRIVER_ID_MESA_V3DV:
  5020. return "VK_DRIVER_ID_MESA_V3DV";
  5021. case VK_DRIVER_ID_MESA_VENUS:
  5022. return "VK_DRIVER_ID_MESA_VENUS";
  5023. case VK_DRIVER_ID_MOLTENVK:
  5024. return "VK_DRIVER_ID_MOLTENVK";
  5025. case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
  5026. return "VK_DRIVER_ID_NVIDIA_PROPRIETARY";
  5027. case VK_DRIVER_ID_QUALCOMM_PROPRIETARY:
  5028. return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY";
  5029. case VK_DRIVER_ID_SAMSUNG_PROPRIETARY:
  5030. return "VK_DRIVER_ID_SAMSUNG_PROPRIETARY";
  5031. case VK_DRIVER_ID_VERISILICON_PROPRIETARY:
  5032. return "VK_DRIVER_ID_VERISILICON_PROPRIETARY";
  5033. default:
  5034. return "Unhandled VkDriverId";
  5035. }
  5036. }
  5037. static inline const char* string_VkShaderFloatControlsIndependence(VkShaderFloatControlsIndependence input_value)
  5038. {
  5039. switch (input_value)
  5040. {
  5041. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY:
  5042. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY";
  5043. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL:
  5044. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL";
  5045. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE:
  5046. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE";
  5047. default:
  5048. return "Unhandled VkShaderFloatControlsIndependence";
  5049. }
  5050. }
  5051. static inline const char* string_VkResolveModeFlagBits(VkResolveModeFlagBits input_value)
  5052. {
  5053. switch (input_value)
  5054. {
  5055. case VK_RESOLVE_MODE_AVERAGE_BIT:
  5056. return "VK_RESOLVE_MODE_AVERAGE_BIT";
  5057. case VK_RESOLVE_MODE_MAX_BIT:
  5058. return "VK_RESOLVE_MODE_MAX_BIT";
  5059. case VK_RESOLVE_MODE_MIN_BIT:
  5060. return "VK_RESOLVE_MODE_MIN_BIT";
  5061. case VK_RESOLVE_MODE_NONE:
  5062. return "VK_RESOLVE_MODE_NONE";
  5063. case VK_RESOLVE_MODE_SAMPLE_ZERO_BIT:
  5064. return "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT";
  5065. default:
  5066. return "Unhandled VkResolveModeFlagBits";
  5067. }
  5068. }
  5069. static inline std::string string_VkResolveModeFlags(VkResolveModeFlags input_value)
  5070. {
  5071. std::string ret;
  5072. int index = 0;
  5073. while(input_value) {
  5074. if (input_value & 1) {
  5075. if( !ret.empty()) ret.append("|");
  5076. ret.append(string_VkResolveModeFlagBits(static_cast<VkResolveModeFlagBits>(1U << index)));
  5077. }
  5078. ++index;
  5079. input_value >>= 1;
  5080. }
  5081. if( ret.empty()) ret.append(string_VkResolveModeFlagBits(static_cast<VkResolveModeFlagBits>(0)));
  5082. return ret;
  5083. }
  5084. static inline const char* string_VkDescriptorBindingFlagBits(VkDescriptorBindingFlagBits input_value)
  5085. {
  5086. switch (input_value)
  5087. {
  5088. case VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT:
  5089. return "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT";
  5090. case VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT:
  5091. return "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT";
  5092. case VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT:
  5093. return "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT";
  5094. case VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT:
  5095. return "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT";
  5096. default:
  5097. return "Unhandled VkDescriptorBindingFlagBits";
  5098. }
  5099. }
  5100. static inline std::string string_VkDescriptorBindingFlags(VkDescriptorBindingFlags input_value)
  5101. {
  5102. std::string ret;
  5103. int index = 0;
  5104. while(input_value) {
  5105. if (input_value & 1) {
  5106. if( !ret.empty()) ret.append("|");
  5107. ret.append(string_VkDescriptorBindingFlagBits(static_cast<VkDescriptorBindingFlagBits>(1U << index)));
  5108. }
  5109. ++index;
  5110. input_value >>= 1;
  5111. }
  5112. if( ret.empty()) ret.append(string_VkDescriptorBindingFlagBits(static_cast<VkDescriptorBindingFlagBits>(0)));
  5113. return ret;
  5114. }
  5115. static inline const char* string_VkSamplerReductionMode(VkSamplerReductionMode input_value)
  5116. {
  5117. switch (input_value)
  5118. {
  5119. case VK_SAMPLER_REDUCTION_MODE_MAX:
  5120. return "VK_SAMPLER_REDUCTION_MODE_MAX";
  5121. case VK_SAMPLER_REDUCTION_MODE_MIN:
  5122. return "VK_SAMPLER_REDUCTION_MODE_MIN";
  5123. case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE:
  5124. return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE";
  5125. default:
  5126. return "Unhandled VkSamplerReductionMode";
  5127. }
  5128. }
  5129. static inline const char* string_VkSemaphoreType(VkSemaphoreType input_value)
  5130. {
  5131. switch (input_value)
  5132. {
  5133. case VK_SEMAPHORE_TYPE_BINARY:
  5134. return "VK_SEMAPHORE_TYPE_BINARY";
  5135. case VK_SEMAPHORE_TYPE_TIMELINE:
  5136. return "VK_SEMAPHORE_TYPE_TIMELINE";
  5137. default:
  5138. return "Unhandled VkSemaphoreType";
  5139. }
  5140. }
  5141. static inline const char* string_VkSemaphoreWaitFlagBits(VkSemaphoreWaitFlagBits input_value)
  5142. {
  5143. switch (input_value)
  5144. {
  5145. case VK_SEMAPHORE_WAIT_ANY_BIT:
  5146. return "VK_SEMAPHORE_WAIT_ANY_BIT";
  5147. default:
  5148. return "Unhandled VkSemaphoreWaitFlagBits";
  5149. }
  5150. }
  5151. static inline std::string string_VkSemaphoreWaitFlags(VkSemaphoreWaitFlags input_value)
  5152. {
  5153. std::string ret;
  5154. int index = 0;
  5155. while(input_value) {
  5156. if (input_value & 1) {
  5157. if( !ret.empty()) ret.append("|");
  5158. ret.append(string_VkSemaphoreWaitFlagBits(static_cast<VkSemaphoreWaitFlagBits>(1U << index)));
  5159. }
  5160. ++index;
  5161. input_value >>= 1;
  5162. }
  5163. if( ret.empty()) ret.append(string_VkSemaphoreWaitFlagBits(static_cast<VkSemaphoreWaitFlagBits>(0)));
  5164. return ret;
  5165. }
  5166. static inline const char* string_VkPipelineCreationFeedbackFlagBits(VkPipelineCreationFeedbackFlagBits input_value)
  5167. {
  5168. switch (input_value)
  5169. {
  5170. case VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT:
  5171. return "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT";
  5172. case VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT:
  5173. return "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT";
  5174. case VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT:
  5175. return "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT";
  5176. default:
  5177. return "Unhandled VkPipelineCreationFeedbackFlagBits";
  5178. }
  5179. }
  5180. static inline std::string string_VkPipelineCreationFeedbackFlags(VkPipelineCreationFeedbackFlags input_value)
  5181. {
  5182. std::string ret;
  5183. int index = 0;
  5184. while(input_value) {
  5185. if (input_value & 1) {
  5186. if( !ret.empty()) ret.append("|");
  5187. ret.append(string_VkPipelineCreationFeedbackFlagBits(static_cast<VkPipelineCreationFeedbackFlagBits>(1U << index)));
  5188. }
  5189. ++index;
  5190. input_value >>= 1;
  5191. }
  5192. if( ret.empty()) ret.append(string_VkPipelineCreationFeedbackFlagBits(static_cast<VkPipelineCreationFeedbackFlagBits>(0)));
  5193. return ret;
  5194. }
  5195. static inline const char* string_VkToolPurposeFlagBits(VkToolPurposeFlagBits input_value)
  5196. {
  5197. switch (input_value)
  5198. {
  5199. case VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT:
  5200. return "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT";
  5201. case VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT:
  5202. return "VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT";
  5203. case VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT:
  5204. return "VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT";
  5205. case VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT:
  5206. return "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT";
  5207. case VK_TOOL_PURPOSE_PROFILING_BIT:
  5208. return "VK_TOOL_PURPOSE_PROFILING_BIT";
  5209. case VK_TOOL_PURPOSE_TRACING_BIT:
  5210. return "VK_TOOL_PURPOSE_TRACING_BIT";
  5211. case VK_TOOL_PURPOSE_VALIDATION_BIT:
  5212. return "VK_TOOL_PURPOSE_VALIDATION_BIT";
  5213. default:
  5214. return "Unhandled VkToolPurposeFlagBits";
  5215. }
  5216. }
  5217. static inline std::string string_VkToolPurposeFlags(VkToolPurposeFlags input_value)
  5218. {
  5219. std::string ret;
  5220. int index = 0;
  5221. while(input_value) {
  5222. if (input_value & 1) {
  5223. if( !ret.empty()) ret.append("|");
  5224. ret.append(string_VkToolPurposeFlagBits(static_cast<VkToolPurposeFlagBits>(1U << index)));
  5225. }
  5226. ++index;
  5227. input_value >>= 1;
  5228. }
  5229. if( ret.empty()) ret.append(string_VkToolPurposeFlagBits(static_cast<VkToolPurposeFlagBits>(0)));
  5230. return ret;
  5231. }
  5232. static inline const char* string_VkPipelineStageFlagBits2(uint64_t input_value)
  5233. {
  5234. switch (input_value)
  5235. {
  5236. case VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR:
  5237. return "VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR";
  5238. case VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT:
  5239. return "VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT";
  5240. case VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT:
  5241. return "VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT";
  5242. case VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT:
  5243. return "VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT";
  5244. case VK_PIPELINE_STAGE_2_BLIT_BIT:
  5245. return "VK_PIPELINE_STAGE_2_BLIT_BIT";
  5246. case VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT:
  5247. return "VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT";
  5248. case VK_PIPELINE_STAGE_2_CLEAR_BIT:
  5249. return "VK_PIPELINE_STAGE_2_CLEAR_BIT";
  5250. case VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT:
  5251. return "VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT";
  5252. case VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV:
  5253. return "VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV";
  5254. case VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT:
  5255. return "VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT";
  5256. case VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT:
  5257. return "VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT";
  5258. case VK_PIPELINE_STAGE_2_COPY_BIT:
  5259. return "VK_PIPELINE_STAGE_2_COPY_BIT";
  5260. case VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT:
  5261. return "VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT";
  5262. case VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT:
  5263. return "VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT";
  5264. case VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT:
  5265. return "VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT";
  5266. case VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT:
  5267. return "VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT";
  5268. case VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  5269. return "VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  5270. case VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT:
  5271. return "VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT";
  5272. case VK_PIPELINE_STAGE_2_HOST_BIT:
  5273. return "VK_PIPELINE_STAGE_2_HOST_BIT";
  5274. case VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT:
  5275. return "VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT";
  5276. case VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI:
  5277. return "VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI";
  5278. case VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT:
  5279. return "VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT";
  5280. case VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV:
  5281. return "VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV";
  5282. case VK_PIPELINE_STAGE_2_NONE:
  5283. return "VK_PIPELINE_STAGE_2_NONE";
  5284. case VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT:
  5285. return "VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT";
  5286. case VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR:
  5287. return "VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR";
  5288. case VK_PIPELINE_STAGE_2_RESOLVE_BIT:
  5289. return "VK_PIPELINE_STAGE_2_RESOLVE_BIT";
  5290. case VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI:
  5291. return "VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI";
  5292. case VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV:
  5293. return "VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV";
  5294. case VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT:
  5295. return "VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT";
  5296. case VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT:
  5297. return "VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT";
  5298. case VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT:
  5299. return "VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT";
  5300. case VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT:
  5301. return "VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT";
  5302. case VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT:
  5303. return "VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT";
  5304. case VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT:
  5305. return "VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT";
  5306. case VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT:
  5307. return "VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT";
  5308. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5309. case VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR:
  5310. return "VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR";
  5311. #endif // VK_ENABLE_BETA_EXTENSIONS
  5312. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5313. case VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR:
  5314. return "VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR";
  5315. #endif // VK_ENABLE_BETA_EXTENSIONS
  5316. default:
  5317. return "Unhandled VkPipelineStageFlagBits2";
  5318. }
  5319. }
  5320. static inline std::string string_VkPipelineStageFlags2(VkPipelineStageFlags2 input_value)
  5321. {
  5322. std::string ret;
  5323. int index = 0;
  5324. while(input_value) {
  5325. if (input_value & 1) {
  5326. if( !ret.empty()) ret.append("|");
  5327. ret.append(string_VkPipelineStageFlagBits2(static_cast<uint64_t>(1ULL << index)));
  5328. }
  5329. ++index;
  5330. input_value >>= 1;
  5331. }
  5332. if( ret.empty()) ret.append(string_VkPipelineStageFlagBits2(static_cast<uint64_t>(0)));
  5333. return ret;
  5334. }
  5335. static inline const char* string_VkAccessFlagBits2(uint64_t input_value)
  5336. {
  5337. switch (input_value)
  5338. {
  5339. case VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR:
  5340. return "VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR";
  5341. case VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR:
  5342. return "VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR";
  5343. case VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT:
  5344. return "VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT";
  5345. case VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT:
  5346. return "VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT";
  5347. case VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT:
  5348. return "VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT";
  5349. case VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV:
  5350. return "VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV";
  5351. case VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV:
  5352. return "VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV";
  5353. case VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT:
  5354. return "VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT";
  5355. case VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT:
  5356. return "VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT";
  5357. case VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT:
  5358. return "VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT";
  5359. case VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT:
  5360. return "VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT";
  5361. case VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR:
  5362. return "VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR";
  5363. case VK_ACCESS_2_HOST_READ_BIT:
  5364. return "VK_ACCESS_2_HOST_READ_BIT";
  5365. case VK_ACCESS_2_HOST_WRITE_BIT:
  5366. return "VK_ACCESS_2_HOST_WRITE_BIT";
  5367. case VK_ACCESS_2_INDEX_READ_BIT:
  5368. return "VK_ACCESS_2_INDEX_READ_BIT";
  5369. case VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT:
  5370. return "VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT";
  5371. case VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT:
  5372. return "VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT";
  5373. case VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI:
  5374. return "VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI";
  5375. case VK_ACCESS_2_MEMORY_READ_BIT:
  5376. return "VK_ACCESS_2_MEMORY_READ_BIT";
  5377. case VK_ACCESS_2_MEMORY_WRITE_BIT:
  5378. return "VK_ACCESS_2_MEMORY_WRITE_BIT";
  5379. case VK_ACCESS_2_NONE:
  5380. return "VK_ACCESS_2_NONE";
  5381. case VK_ACCESS_2_SHADER_READ_BIT:
  5382. return "VK_ACCESS_2_SHADER_READ_BIT";
  5383. case VK_ACCESS_2_SHADER_SAMPLED_READ_BIT:
  5384. return "VK_ACCESS_2_SHADER_SAMPLED_READ_BIT";
  5385. case VK_ACCESS_2_SHADER_STORAGE_READ_BIT:
  5386. return "VK_ACCESS_2_SHADER_STORAGE_READ_BIT";
  5387. case VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT:
  5388. return "VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT";
  5389. case VK_ACCESS_2_SHADER_WRITE_BIT:
  5390. return "VK_ACCESS_2_SHADER_WRITE_BIT";
  5391. case VK_ACCESS_2_TRANSFER_READ_BIT:
  5392. return "VK_ACCESS_2_TRANSFER_READ_BIT";
  5393. case VK_ACCESS_2_TRANSFER_WRITE_BIT:
  5394. return "VK_ACCESS_2_TRANSFER_WRITE_BIT";
  5395. case VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT:
  5396. return "VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT";
  5397. case VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT:
  5398. return "VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT";
  5399. case VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT:
  5400. return "VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT";
  5401. case VK_ACCESS_2_UNIFORM_READ_BIT:
  5402. return "VK_ACCESS_2_UNIFORM_READ_BIT";
  5403. case VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT:
  5404. return "VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT";
  5405. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5406. case VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR:
  5407. return "VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR";
  5408. #endif // VK_ENABLE_BETA_EXTENSIONS
  5409. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5410. case VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR:
  5411. return "VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR";
  5412. #endif // VK_ENABLE_BETA_EXTENSIONS
  5413. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5414. case VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR:
  5415. return "VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR";
  5416. #endif // VK_ENABLE_BETA_EXTENSIONS
  5417. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5418. case VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR:
  5419. return "VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR";
  5420. #endif // VK_ENABLE_BETA_EXTENSIONS
  5421. default:
  5422. return "Unhandled VkAccessFlagBits2";
  5423. }
  5424. }
  5425. static inline std::string string_VkAccessFlags2(VkAccessFlags2 input_value)
  5426. {
  5427. std::string ret;
  5428. int index = 0;
  5429. while(input_value) {
  5430. if (input_value & 1) {
  5431. if( !ret.empty()) ret.append("|");
  5432. ret.append(string_VkAccessFlagBits2(static_cast<uint64_t>(1ULL << index)));
  5433. }
  5434. ++index;
  5435. input_value >>= 1;
  5436. }
  5437. if( ret.empty()) ret.append(string_VkAccessFlagBits2(static_cast<uint64_t>(0)));
  5438. return ret;
  5439. }
  5440. static inline const char* string_VkSubmitFlagBits(VkSubmitFlagBits input_value)
  5441. {
  5442. switch (input_value)
  5443. {
  5444. case VK_SUBMIT_PROTECTED_BIT:
  5445. return "VK_SUBMIT_PROTECTED_BIT";
  5446. default:
  5447. return "Unhandled VkSubmitFlagBits";
  5448. }
  5449. }
  5450. static inline std::string string_VkSubmitFlags(VkSubmitFlags input_value)
  5451. {
  5452. std::string ret;
  5453. int index = 0;
  5454. while(input_value) {
  5455. if (input_value & 1) {
  5456. if( !ret.empty()) ret.append("|");
  5457. ret.append(string_VkSubmitFlagBits(static_cast<VkSubmitFlagBits>(1U << index)));
  5458. }
  5459. ++index;
  5460. input_value >>= 1;
  5461. }
  5462. if( ret.empty()) ret.append(string_VkSubmitFlagBits(static_cast<VkSubmitFlagBits>(0)));
  5463. return ret;
  5464. }
  5465. static inline const char* string_VkRenderingFlagBits(VkRenderingFlagBits input_value)
  5466. {
  5467. switch (input_value)
  5468. {
  5469. case VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT:
  5470. return "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT";
  5471. case VK_RENDERING_RESUMING_BIT:
  5472. return "VK_RENDERING_RESUMING_BIT";
  5473. case VK_RENDERING_SUSPENDING_BIT:
  5474. return "VK_RENDERING_SUSPENDING_BIT";
  5475. default:
  5476. return "Unhandled VkRenderingFlagBits";
  5477. }
  5478. }
  5479. static inline std::string string_VkRenderingFlags(VkRenderingFlags input_value)
  5480. {
  5481. std::string ret;
  5482. int index = 0;
  5483. while(input_value) {
  5484. if (input_value & 1) {
  5485. if( !ret.empty()) ret.append("|");
  5486. ret.append(string_VkRenderingFlagBits(static_cast<VkRenderingFlagBits>(1U << index)));
  5487. }
  5488. ++index;
  5489. input_value >>= 1;
  5490. }
  5491. if( ret.empty()) ret.append(string_VkRenderingFlagBits(static_cast<VkRenderingFlagBits>(0)));
  5492. return ret;
  5493. }
  5494. static inline const char* string_VkFormatFeatureFlagBits2(uint64_t input_value)
  5495. {
  5496. switch (input_value)
  5497. {
  5498. case VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR:
  5499. return "VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR";
  5500. case VK_FORMAT_FEATURE_2_BLIT_DST_BIT:
  5501. return "VK_FORMAT_FEATURE_2_BLIT_DST_BIT";
  5502. case VK_FORMAT_FEATURE_2_BLIT_SRC_BIT:
  5503. return "VK_FORMAT_FEATURE_2_BLIT_SRC_BIT";
  5504. case VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT:
  5505. return "VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT";
  5506. case VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT:
  5507. return "VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT";
  5508. case VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT:
  5509. return "VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT";
  5510. case VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT:
  5511. return "VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT";
  5512. case VK_FORMAT_FEATURE_2_DISJOINT_BIT:
  5513. return "VK_FORMAT_FEATURE_2_DISJOINT_BIT";
  5514. case VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT:
  5515. return "VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT";
  5516. case VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  5517. return "VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  5518. case VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV:
  5519. return "VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV";
  5520. case VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT:
  5521. return "VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT";
  5522. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT:
  5523. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT";
  5524. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT:
  5525. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT";
  5526. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT:
  5527. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT";
  5528. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT:
  5529. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT";
  5530. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT:
  5531. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT";
  5532. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT:
  5533. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT";
  5534. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT:
  5535. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT";
  5536. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT:
  5537. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT";
  5538. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT:
  5539. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT";
  5540. case VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT:
  5541. return "VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT";
  5542. case VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT:
  5543. return "VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT";
  5544. case VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT:
  5545. return "VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT";
  5546. case VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT:
  5547. return "VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT";
  5548. case VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT:
  5549. return "VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT";
  5550. case VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT:
  5551. return "VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT";
  5552. case VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT:
  5553. return "VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT";
  5554. case VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT:
  5555. return "VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT";
  5556. case VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT:
  5557. return "VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT";
  5558. case VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT:
  5559. return "VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT";
  5560. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5561. case VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR:
  5562. return "VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR";
  5563. #endif // VK_ENABLE_BETA_EXTENSIONS
  5564. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5565. case VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR:
  5566. return "VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR";
  5567. #endif // VK_ENABLE_BETA_EXTENSIONS
  5568. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5569. case VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR:
  5570. return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR";
  5571. #endif // VK_ENABLE_BETA_EXTENSIONS
  5572. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5573. case VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR:
  5574. return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR";
  5575. #endif // VK_ENABLE_BETA_EXTENSIONS
  5576. default:
  5577. return "Unhandled VkFormatFeatureFlagBits2";
  5578. }
  5579. }
  5580. static inline std::string string_VkFormatFeatureFlags2(VkFormatFeatureFlags2 input_value)
  5581. {
  5582. std::string ret;
  5583. int index = 0;
  5584. while(input_value) {
  5585. if (input_value & 1) {
  5586. if( !ret.empty()) ret.append("|");
  5587. ret.append(string_VkFormatFeatureFlagBits2(static_cast<uint64_t>(1ULL << index)));
  5588. }
  5589. ++index;
  5590. input_value >>= 1;
  5591. }
  5592. if( ret.empty()) ret.append(string_VkFormatFeatureFlagBits2(static_cast<uint64_t>(0)));
  5593. return ret;
  5594. }
  5595. static inline const char* string_VkSurfaceTransformFlagBitsKHR(VkSurfaceTransformFlagBitsKHR input_value)
  5596. {
  5597. switch (input_value)
  5598. {
  5599. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR:
  5600. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR";
  5601. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR:
  5602. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR";
  5603. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR:
  5604. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR";
  5605. case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR:
  5606. return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR";
  5607. case VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR:
  5608. return "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR";
  5609. case VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR:
  5610. return "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR";
  5611. case VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR:
  5612. return "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR";
  5613. case VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR:
  5614. return "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR";
  5615. case VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR:
  5616. return "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR";
  5617. default:
  5618. return "Unhandled VkSurfaceTransformFlagBitsKHR";
  5619. }
  5620. }
  5621. static inline std::string string_VkSurfaceTransformFlagsKHR(VkSurfaceTransformFlagsKHR input_value)
  5622. {
  5623. std::string ret;
  5624. int index = 0;
  5625. while(input_value) {
  5626. if (input_value & 1) {
  5627. if( !ret.empty()) ret.append("|");
  5628. ret.append(string_VkSurfaceTransformFlagBitsKHR(static_cast<VkSurfaceTransformFlagBitsKHR>(1U << index)));
  5629. }
  5630. ++index;
  5631. input_value >>= 1;
  5632. }
  5633. if( ret.empty()) ret.append(string_VkSurfaceTransformFlagBitsKHR(static_cast<VkSurfaceTransformFlagBitsKHR>(0)));
  5634. return ret;
  5635. }
  5636. static inline const char* string_VkPresentModeKHR(VkPresentModeKHR input_value)
  5637. {
  5638. switch (input_value)
  5639. {
  5640. case VK_PRESENT_MODE_FIFO_KHR:
  5641. return "VK_PRESENT_MODE_FIFO_KHR";
  5642. case VK_PRESENT_MODE_FIFO_RELAXED_KHR:
  5643. return "VK_PRESENT_MODE_FIFO_RELAXED_KHR";
  5644. case VK_PRESENT_MODE_IMMEDIATE_KHR:
  5645. return "VK_PRESENT_MODE_IMMEDIATE_KHR";
  5646. case VK_PRESENT_MODE_MAILBOX_KHR:
  5647. return "VK_PRESENT_MODE_MAILBOX_KHR";
  5648. case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR:
  5649. return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR";
  5650. case VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR:
  5651. return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR";
  5652. default:
  5653. return "Unhandled VkPresentModeKHR";
  5654. }
  5655. }
  5656. static inline const char* string_VkColorSpaceKHR(VkColorSpaceKHR input_value)
  5657. {
  5658. switch (input_value)
  5659. {
  5660. case VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT:
  5661. return "VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT";
  5662. case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT:
  5663. return "VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT";
  5664. case VK_COLOR_SPACE_BT2020_LINEAR_EXT:
  5665. return "VK_COLOR_SPACE_BT2020_LINEAR_EXT";
  5666. case VK_COLOR_SPACE_BT709_LINEAR_EXT:
  5667. return "VK_COLOR_SPACE_BT709_LINEAR_EXT";
  5668. case VK_COLOR_SPACE_BT709_NONLINEAR_EXT:
  5669. return "VK_COLOR_SPACE_BT709_NONLINEAR_EXT";
  5670. case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT:
  5671. return "VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT";
  5672. case VK_COLOR_SPACE_DISPLAY_NATIVE_AMD:
  5673. return "VK_COLOR_SPACE_DISPLAY_NATIVE_AMD";
  5674. case VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT:
  5675. return "VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT";
  5676. case VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT:
  5677. return "VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT";
  5678. case VK_COLOR_SPACE_DOLBYVISION_EXT:
  5679. return "VK_COLOR_SPACE_DOLBYVISION_EXT";
  5680. case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:
  5681. return "VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT";
  5682. case VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT:
  5683. return "VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT";
  5684. case VK_COLOR_SPACE_HDR10_HLG_EXT:
  5685. return "VK_COLOR_SPACE_HDR10_HLG_EXT";
  5686. case VK_COLOR_SPACE_HDR10_ST2084_EXT:
  5687. return "VK_COLOR_SPACE_HDR10_ST2084_EXT";
  5688. case VK_COLOR_SPACE_PASS_THROUGH_EXT:
  5689. return "VK_COLOR_SPACE_PASS_THROUGH_EXT";
  5690. case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR:
  5691. return "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR";
  5692. default:
  5693. return "Unhandled VkColorSpaceKHR";
  5694. }
  5695. }
  5696. static inline const char* string_VkCompositeAlphaFlagBitsKHR(VkCompositeAlphaFlagBitsKHR input_value)
  5697. {
  5698. switch (input_value)
  5699. {
  5700. case VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR:
  5701. return "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR";
  5702. case VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:
  5703. return "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR";
  5704. case VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR:
  5705. return "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR";
  5706. case VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR:
  5707. return "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR";
  5708. default:
  5709. return "Unhandled VkCompositeAlphaFlagBitsKHR";
  5710. }
  5711. }
  5712. static inline std::string string_VkCompositeAlphaFlagsKHR(VkCompositeAlphaFlagsKHR input_value)
  5713. {
  5714. std::string ret;
  5715. int index = 0;
  5716. while(input_value) {
  5717. if (input_value & 1) {
  5718. if( !ret.empty()) ret.append("|");
  5719. ret.append(string_VkCompositeAlphaFlagBitsKHR(static_cast<VkCompositeAlphaFlagBitsKHR>(1U << index)));
  5720. }
  5721. ++index;
  5722. input_value >>= 1;
  5723. }
  5724. if( ret.empty()) ret.append(string_VkCompositeAlphaFlagBitsKHR(static_cast<VkCompositeAlphaFlagBitsKHR>(0)));
  5725. return ret;
  5726. }
  5727. static inline const char* string_VkSwapchainCreateFlagBitsKHR(VkSwapchainCreateFlagBitsKHR input_value)
  5728. {
  5729. switch (input_value)
  5730. {
  5731. case VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR:
  5732. return "VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR";
  5733. case VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR:
  5734. return "VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR";
  5735. case VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR:
  5736. return "VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR";
  5737. default:
  5738. return "Unhandled VkSwapchainCreateFlagBitsKHR";
  5739. }
  5740. }
  5741. static inline std::string string_VkSwapchainCreateFlagsKHR(VkSwapchainCreateFlagsKHR input_value)
  5742. {
  5743. std::string ret;
  5744. int index = 0;
  5745. while(input_value) {
  5746. if (input_value & 1) {
  5747. if( !ret.empty()) ret.append("|");
  5748. ret.append(string_VkSwapchainCreateFlagBitsKHR(static_cast<VkSwapchainCreateFlagBitsKHR>(1U << index)));
  5749. }
  5750. ++index;
  5751. input_value >>= 1;
  5752. }
  5753. if( ret.empty()) ret.append(string_VkSwapchainCreateFlagBitsKHR(static_cast<VkSwapchainCreateFlagBitsKHR>(0)));
  5754. return ret;
  5755. }
  5756. static inline const char* string_VkDeviceGroupPresentModeFlagBitsKHR(VkDeviceGroupPresentModeFlagBitsKHR input_value)
  5757. {
  5758. switch (input_value)
  5759. {
  5760. case VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR:
  5761. return "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR";
  5762. case VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR:
  5763. return "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR";
  5764. case VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR:
  5765. return "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR";
  5766. case VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR:
  5767. return "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR";
  5768. default:
  5769. return "Unhandled VkDeviceGroupPresentModeFlagBitsKHR";
  5770. }
  5771. }
  5772. static inline std::string string_VkDeviceGroupPresentModeFlagsKHR(VkDeviceGroupPresentModeFlagsKHR input_value)
  5773. {
  5774. std::string ret;
  5775. int index = 0;
  5776. while(input_value) {
  5777. if (input_value & 1) {
  5778. if( !ret.empty()) ret.append("|");
  5779. ret.append(string_VkDeviceGroupPresentModeFlagBitsKHR(static_cast<VkDeviceGroupPresentModeFlagBitsKHR>(1U << index)));
  5780. }
  5781. ++index;
  5782. input_value >>= 1;
  5783. }
  5784. if( ret.empty()) ret.append(string_VkDeviceGroupPresentModeFlagBitsKHR(static_cast<VkDeviceGroupPresentModeFlagBitsKHR>(0)));
  5785. return ret;
  5786. }
  5787. static inline const char* string_VkDisplayPlaneAlphaFlagBitsKHR(VkDisplayPlaneAlphaFlagBitsKHR input_value)
  5788. {
  5789. switch (input_value)
  5790. {
  5791. case VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR:
  5792. return "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR";
  5793. case VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR:
  5794. return "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR";
  5795. case VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR:
  5796. return "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR";
  5797. case VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR:
  5798. return "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR";
  5799. default:
  5800. return "Unhandled VkDisplayPlaneAlphaFlagBitsKHR";
  5801. }
  5802. }
  5803. static inline std::string string_VkDisplayPlaneAlphaFlagsKHR(VkDisplayPlaneAlphaFlagsKHR input_value)
  5804. {
  5805. std::string ret;
  5806. int index = 0;
  5807. while(input_value) {
  5808. if (input_value & 1) {
  5809. if( !ret.empty()) ret.append("|");
  5810. ret.append(string_VkDisplayPlaneAlphaFlagBitsKHR(static_cast<VkDisplayPlaneAlphaFlagBitsKHR>(1U << index)));
  5811. }
  5812. ++index;
  5813. input_value >>= 1;
  5814. }
  5815. if( ret.empty()) ret.append(string_VkDisplayPlaneAlphaFlagBitsKHR(static_cast<VkDisplayPlaneAlphaFlagBitsKHR>(0)));
  5816. return ret;
  5817. }
  5818. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5819. static inline const char* string_VkVideoCodecOperationFlagBitsKHR(VkVideoCodecOperationFlagBitsKHR input_value)
  5820. {
  5821. switch (input_value)
  5822. {
  5823. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5824. case VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT:
  5825. return "VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT";
  5826. #endif // VK_ENABLE_BETA_EXTENSIONS
  5827. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5828. case VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT:
  5829. return "VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT";
  5830. #endif // VK_ENABLE_BETA_EXTENSIONS
  5831. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5832. case VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT:
  5833. return "VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT";
  5834. #endif // VK_ENABLE_BETA_EXTENSIONS
  5835. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5836. case VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT:
  5837. return "VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT";
  5838. #endif // VK_ENABLE_BETA_EXTENSIONS
  5839. case VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR:
  5840. return "VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR";
  5841. default:
  5842. return "Unhandled VkVideoCodecOperationFlagBitsKHR";
  5843. }
  5844. }
  5845. static inline std::string string_VkVideoCodecOperationFlagsKHR(VkVideoCodecOperationFlagsKHR input_value)
  5846. {
  5847. std::string ret;
  5848. int index = 0;
  5849. while(input_value) {
  5850. if (input_value & 1) {
  5851. if( !ret.empty()) ret.append("|");
  5852. ret.append(string_VkVideoCodecOperationFlagBitsKHR(static_cast<VkVideoCodecOperationFlagBitsKHR>(1U << index)));
  5853. }
  5854. ++index;
  5855. input_value >>= 1;
  5856. }
  5857. if( ret.empty()) ret.append(string_VkVideoCodecOperationFlagBitsKHR(static_cast<VkVideoCodecOperationFlagBitsKHR>(0)));
  5858. return ret;
  5859. }
  5860. #endif // VK_ENABLE_BETA_EXTENSIONS
  5861. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5862. static inline const char* string_VkVideoChromaSubsamplingFlagBitsKHR(VkVideoChromaSubsamplingFlagBitsKHR input_value)
  5863. {
  5864. switch (input_value)
  5865. {
  5866. case VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR:
  5867. return "VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR";
  5868. case VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR:
  5869. return "VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR";
  5870. case VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR:
  5871. return "VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR";
  5872. case VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR:
  5873. return "VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR";
  5874. case VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR:
  5875. return "VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR";
  5876. default:
  5877. return "Unhandled VkVideoChromaSubsamplingFlagBitsKHR";
  5878. }
  5879. }
  5880. static inline std::string string_VkVideoChromaSubsamplingFlagsKHR(VkVideoChromaSubsamplingFlagsKHR input_value)
  5881. {
  5882. std::string ret;
  5883. int index = 0;
  5884. while(input_value) {
  5885. if (input_value & 1) {
  5886. if( !ret.empty()) ret.append("|");
  5887. ret.append(string_VkVideoChromaSubsamplingFlagBitsKHR(static_cast<VkVideoChromaSubsamplingFlagBitsKHR>(1U << index)));
  5888. }
  5889. ++index;
  5890. input_value >>= 1;
  5891. }
  5892. if( ret.empty()) ret.append(string_VkVideoChromaSubsamplingFlagBitsKHR(static_cast<VkVideoChromaSubsamplingFlagBitsKHR>(0)));
  5893. return ret;
  5894. }
  5895. #endif // VK_ENABLE_BETA_EXTENSIONS
  5896. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5897. static inline const char* string_VkVideoComponentBitDepthFlagBitsKHR(VkVideoComponentBitDepthFlagBitsKHR input_value)
  5898. {
  5899. switch (input_value)
  5900. {
  5901. case VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR:
  5902. return "VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR";
  5903. case VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR:
  5904. return "VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR";
  5905. case VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR:
  5906. return "VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR";
  5907. case VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR:
  5908. return "VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR";
  5909. default:
  5910. return "Unhandled VkVideoComponentBitDepthFlagBitsKHR";
  5911. }
  5912. }
  5913. static inline std::string string_VkVideoComponentBitDepthFlagsKHR(VkVideoComponentBitDepthFlagsKHR input_value)
  5914. {
  5915. std::string ret;
  5916. int index = 0;
  5917. while(input_value) {
  5918. if (input_value & 1) {
  5919. if( !ret.empty()) ret.append("|");
  5920. ret.append(string_VkVideoComponentBitDepthFlagBitsKHR(static_cast<VkVideoComponentBitDepthFlagBitsKHR>(1U << index)));
  5921. }
  5922. ++index;
  5923. input_value >>= 1;
  5924. }
  5925. if( ret.empty()) ret.append(string_VkVideoComponentBitDepthFlagBitsKHR(static_cast<VkVideoComponentBitDepthFlagBitsKHR>(0)));
  5926. return ret;
  5927. }
  5928. #endif // VK_ENABLE_BETA_EXTENSIONS
  5929. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5930. static inline const char* string_VkVideoCapabilityFlagBitsKHR(VkVideoCapabilityFlagBitsKHR input_value)
  5931. {
  5932. switch (input_value)
  5933. {
  5934. case VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR:
  5935. return "VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR";
  5936. case VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR:
  5937. return "VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR";
  5938. default:
  5939. return "Unhandled VkVideoCapabilityFlagBitsKHR";
  5940. }
  5941. }
  5942. static inline std::string string_VkVideoCapabilityFlagsKHR(VkVideoCapabilityFlagsKHR input_value)
  5943. {
  5944. std::string ret;
  5945. int index = 0;
  5946. while(input_value) {
  5947. if (input_value & 1) {
  5948. if( !ret.empty()) ret.append("|");
  5949. ret.append(string_VkVideoCapabilityFlagBitsKHR(static_cast<VkVideoCapabilityFlagBitsKHR>(1U << index)));
  5950. }
  5951. ++index;
  5952. input_value >>= 1;
  5953. }
  5954. if( ret.empty()) ret.append(string_VkVideoCapabilityFlagBitsKHR(static_cast<VkVideoCapabilityFlagBitsKHR>(0)));
  5955. return ret;
  5956. }
  5957. #endif // VK_ENABLE_BETA_EXTENSIONS
  5958. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5959. static inline const char* string_VkVideoSessionCreateFlagBitsKHR(VkVideoSessionCreateFlagBitsKHR input_value)
  5960. {
  5961. switch (input_value)
  5962. {
  5963. case VK_VIDEO_SESSION_CREATE_DEFAULT_KHR:
  5964. return "VK_VIDEO_SESSION_CREATE_DEFAULT_KHR";
  5965. case VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR:
  5966. return "VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR";
  5967. default:
  5968. return "Unhandled VkVideoSessionCreateFlagBitsKHR";
  5969. }
  5970. }
  5971. static inline std::string string_VkVideoSessionCreateFlagsKHR(VkVideoSessionCreateFlagsKHR input_value)
  5972. {
  5973. std::string ret;
  5974. int index = 0;
  5975. while(input_value) {
  5976. if (input_value & 1) {
  5977. if( !ret.empty()) ret.append("|");
  5978. ret.append(string_VkVideoSessionCreateFlagBitsKHR(static_cast<VkVideoSessionCreateFlagBitsKHR>(1U << index)));
  5979. }
  5980. ++index;
  5981. input_value >>= 1;
  5982. }
  5983. if( ret.empty()) ret.append(string_VkVideoSessionCreateFlagBitsKHR(static_cast<VkVideoSessionCreateFlagBitsKHR>(0)));
  5984. return ret;
  5985. }
  5986. #endif // VK_ENABLE_BETA_EXTENSIONS
  5987. #ifdef VK_ENABLE_BETA_EXTENSIONS
  5988. static inline const char* string_VkVideoCodingControlFlagBitsKHR(VkVideoCodingControlFlagBitsKHR input_value)
  5989. {
  5990. switch (input_value)
  5991. {
  5992. case VK_VIDEO_CODING_CONTROL_DEFAULT_KHR:
  5993. return "VK_VIDEO_CODING_CONTROL_DEFAULT_KHR";
  5994. case VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR:
  5995. return "VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR";
  5996. default:
  5997. return "Unhandled VkVideoCodingControlFlagBitsKHR";
  5998. }
  5999. }
  6000. static inline std::string string_VkVideoCodingControlFlagsKHR(VkVideoCodingControlFlagsKHR input_value)
  6001. {
  6002. std::string ret;
  6003. int index = 0;
  6004. while(input_value) {
  6005. if (input_value & 1) {
  6006. if( !ret.empty()) ret.append("|");
  6007. ret.append(string_VkVideoCodingControlFlagBitsKHR(static_cast<VkVideoCodingControlFlagBitsKHR>(1U << index)));
  6008. }
  6009. ++index;
  6010. input_value >>= 1;
  6011. }
  6012. if( ret.empty()) ret.append(string_VkVideoCodingControlFlagBitsKHR(static_cast<VkVideoCodingControlFlagBitsKHR>(0)));
  6013. return ret;
  6014. }
  6015. #endif // VK_ENABLE_BETA_EXTENSIONS
  6016. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6017. static inline const char* string_VkVideoCodingQualityPresetFlagBitsKHR(VkVideoCodingQualityPresetFlagBitsKHR input_value)
  6018. {
  6019. switch (input_value)
  6020. {
  6021. case VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR:
  6022. return "VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR";
  6023. case VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR:
  6024. return "VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR";
  6025. case VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR:
  6026. return "VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR";
  6027. default:
  6028. return "Unhandled VkVideoCodingQualityPresetFlagBitsKHR";
  6029. }
  6030. }
  6031. static inline std::string string_VkVideoCodingQualityPresetFlagsKHR(VkVideoCodingQualityPresetFlagsKHR input_value)
  6032. {
  6033. std::string ret;
  6034. int index = 0;
  6035. while(input_value) {
  6036. if (input_value & 1) {
  6037. if( !ret.empty()) ret.append("|");
  6038. ret.append(string_VkVideoCodingQualityPresetFlagBitsKHR(static_cast<VkVideoCodingQualityPresetFlagBitsKHR>(1U << index)));
  6039. }
  6040. ++index;
  6041. input_value >>= 1;
  6042. }
  6043. if( ret.empty()) ret.append(string_VkVideoCodingQualityPresetFlagBitsKHR(static_cast<VkVideoCodingQualityPresetFlagBitsKHR>(0)));
  6044. return ret;
  6045. }
  6046. #endif // VK_ENABLE_BETA_EXTENSIONS
  6047. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6048. static inline const char* string_VkQueryResultStatusKHR(VkQueryResultStatusKHR input_value)
  6049. {
  6050. switch (input_value)
  6051. {
  6052. case VK_QUERY_RESULT_STATUS_COMPLETE_KHR:
  6053. return "VK_QUERY_RESULT_STATUS_COMPLETE_KHR";
  6054. case VK_QUERY_RESULT_STATUS_ERROR_KHR:
  6055. return "VK_QUERY_RESULT_STATUS_ERROR_KHR";
  6056. case VK_QUERY_RESULT_STATUS_NOT_READY_KHR:
  6057. return "VK_QUERY_RESULT_STATUS_NOT_READY_KHR";
  6058. default:
  6059. return "Unhandled VkQueryResultStatusKHR";
  6060. }
  6061. }
  6062. #endif // VK_ENABLE_BETA_EXTENSIONS
  6063. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6064. static inline const char* string_VkVideoDecodeFlagBitsKHR(VkVideoDecodeFlagBitsKHR input_value)
  6065. {
  6066. switch (input_value)
  6067. {
  6068. case VK_VIDEO_DECODE_DEFAULT_KHR:
  6069. return "VK_VIDEO_DECODE_DEFAULT_KHR";
  6070. case VK_VIDEO_DECODE_RESERVED_0_BIT_KHR:
  6071. return "VK_VIDEO_DECODE_RESERVED_0_BIT_KHR";
  6072. default:
  6073. return "Unhandled VkVideoDecodeFlagBitsKHR";
  6074. }
  6075. }
  6076. static inline std::string string_VkVideoDecodeFlagsKHR(VkVideoDecodeFlagsKHR input_value)
  6077. {
  6078. std::string ret;
  6079. int index = 0;
  6080. while(input_value) {
  6081. if (input_value & 1) {
  6082. if( !ret.empty()) ret.append("|");
  6083. ret.append(string_VkVideoDecodeFlagBitsKHR(static_cast<VkVideoDecodeFlagBitsKHR>(1U << index)));
  6084. }
  6085. ++index;
  6086. input_value >>= 1;
  6087. }
  6088. if( ret.empty()) ret.append(string_VkVideoDecodeFlagBitsKHR(static_cast<VkVideoDecodeFlagBitsKHR>(0)));
  6089. return ret;
  6090. }
  6091. #endif // VK_ENABLE_BETA_EXTENSIONS
  6092. static inline const char* string_VkRenderingFlagBitsKHR(VkRenderingFlagBitsKHR input_value)
  6093. {
  6094. switch (input_value)
  6095. {
  6096. case VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT:
  6097. return "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT";
  6098. case VK_RENDERING_RESUMING_BIT:
  6099. return "VK_RENDERING_RESUMING_BIT";
  6100. case VK_RENDERING_SUSPENDING_BIT:
  6101. return "VK_RENDERING_SUSPENDING_BIT";
  6102. default:
  6103. return "Unhandled VkRenderingFlagBitsKHR";
  6104. }
  6105. }
  6106. static inline std::string string_VkRenderingFlagsKHR(VkRenderingFlagsKHR input_value)
  6107. {
  6108. std::string ret;
  6109. int index = 0;
  6110. while(input_value) {
  6111. if (input_value & 1) {
  6112. if( !ret.empty()) ret.append("|");
  6113. ret.append(string_VkRenderingFlagBitsKHR(static_cast<VkRenderingFlagBitsKHR>(1U << index)));
  6114. }
  6115. ++index;
  6116. input_value >>= 1;
  6117. }
  6118. if( ret.empty()) ret.append(string_VkRenderingFlagBitsKHR(static_cast<VkRenderingFlagBitsKHR>(0)));
  6119. return ret;
  6120. }
  6121. static inline const char* string_VkPeerMemoryFeatureFlagBitsKHR(VkPeerMemoryFeatureFlagBitsKHR input_value)
  6122. {
  6123. switch (input_value)
  6124. {
  6125. case VK_PEER_MEMORY_FEATURE_COPY_DST_BIT:
  6126. return "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT";
  6127. case VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT:
  6128. return "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT";
  6129. case VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT:
  6130. return "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT";
  6131. case VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT:
  6132. return "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT";
  6133. default:
  6134. return "Unhandled VkPeerMemoryFeatureFlagBitsKHR";
  6135. }
  6136. }
  6137. static inline std::string string_VkPeerMemoryFeatureFlagsKHR(VkPeerMemoryFeatureFlagsKHR input_value)
  6138. {
  6139. std::string ret;
  6140. int index = 0;
  6141. while(input_value) {
  6142. if (input_value & 1) {
  6143. if( !ret.empty()) ret.append("|");
  6144. ret.append(string_VkPeerMemoryFeatureFlagBitsKHR(static_cast<VkPeerMemoryFeatureFlagBitsKHR>(1U << index)));
  6145. }
  6146. ++index;
  6147. input_value >>= 1;
  6148. }
  6149. if( ret.empty()) ret.append(string_VkPeerMemoryFeatureFlagBitsKHR(static_cast<VkPeerMemoryFeatureFlagBitsKHR>(0)));
  6150. return ret;
  6151. }
  6152. static inline const char* string_VkMemoryAllocateFlagBitsKHR(VkMemoryAllocateFlagBitsKHR input_value)
  6153. {
  6154. switch (input_value)
  6155. {
  6156. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT:
  6157. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT";
  6158. case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
  6159. return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT";
  6160. case VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT:
  6161. return "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT";
  6162. default:
  6163. return "Unhandled VkMemoryAllocateFlagBitsKHR";
  6164. }
  6165. }
  6166. static inline std::string string_VkMemoryAllocateFlagsKHR(VkMemoryAllocateFlagsKHR input_value)
  6167. {
  6168. std::string ret;
  6169. int index = 0;
  6170. while(input_value) {
  6171. if (input_value & 1) {
  6172. if( !ret.empty()) ret.append("|");
  6173. ret.append(string_VkMemoryAllocateFlagBitsKHR(static_cast<VkMemoryAllocateFlagBitsKHR>(1U << index)));
  6174. }
  6175. ++index;
  6176. input_value >>= 1;
  6177. }
  6178. if( ret.empty()) ret.append(string_VkMemoryAllocateFlagBitsKHR(static_cast<VkMemoryAllocateFlagBitsKHR>(0)));
  6179. return ret;
  6180. }
  6181. static inline const char* string_VkExternalMemoryHandleTypeFlagBitsKHR(VkExternalMemoryHandleTypeFlagBitsKHR input_value)
  6182. {
  6183. switch (input_value)
  6184. {
  6185. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:
  6186. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID";
  6187. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT:
  6188. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT";
  6189. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT:
  6190. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT";
  6191. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT:
  6192. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT";
  6193. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT:
  6194. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT";
  6195. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT:
  6196. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT";
  6197. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT:
  6198. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT";
  6199. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT:
  6200. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT";
  6201. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
  6202. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT";
  6203. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  6204. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  6205. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  6206. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  6207. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV:
  6208. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV";
  6209. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA:
  6210. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA";
  6211. default:
  6212. return "Unhandled VkExternalMemoryHandleTypeFlagBitsKHR";
  6213. }
  6214. }
  6215. static inline std::string string_VkExternalMemoryHandleTypeFlagsKHR(VkExternalMemoryHandleTypeFlagsKHR input_value)
  6216. {
  6217. std::string ret;
  6218. int index = 0;
  6219. while(input_value) {
  6220. if (input_value & 1) {
  6221. if( !ret.empty()) ret.append("|");
  6222. ret.append(string_VkExternalMemoryHandleTypeFlagBitsKHR(static_cast<VkExternalMemoryHandleTypeFlagBitsKHR>(1U << index)));
  6223. }
  6224. ++index;
  6225. input_value >>= 1;
  6226. }
  6227. if( ret.empty()) ret.append(string_VkExternalMemoryHandleTypeFlagBitsKHR(static_cast<VkExternalMemoryHandleTypeFlagBitsKHR>(0)));
  6228. return ret;
  6229. }
  6230. static inline const char* string_VkExternalMemoryFeatureFlagBitsKHR(VkExternalMemoryFeatureFlagBitsKHR input_value)
  6231. {
  6232. switch (input_value)
  6233. {
  6234. case VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT:
  6235. return "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT";
  6236. case VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT:
  6237. return "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT";
  6238. case VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT:
  6239. return "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT";
  6240. default:
  6241. return "Unhandled VkExternalMemoryFeatureFlagBitsKHR";
  6242. }
  6243. }
  6244. static inline std::string string_VkExternalMemoryFeatureFlagsKHR(VkExternalMemoryFeatureFlagsKHR input_value)
  6245. {
  6246. std::string ret;
  6247. int index = 0;
  6248. while(input_value) {
  6249. if (input_value & 1) {
  6250. if( !ret.empty()) ret.append("|");
  6251. ret.append(string_VkExternalMemoryFeatureFlagBitsKHR(static_cast<VkExternalMemoryFeatureFlagBitsKHR>(1U << index)));
  6252. }
  6253. ++index;
  6254. input_value >>= 1;
  6255. }
  6256. if( ret.empty()) ret.append(string_VkExternalMemoryFeatureFlagBitsKHR(static_cast<VkExternalMemoryFeatureFlagBitsKHR>(0)));
  6257. return ret;
  6258. }
  6259. static inline const char* string_VkExternalSemaphoreHandleTypeFlagBitsKHR(VkExternalSemaphoreHandleTypeFlagBitsKHR input_value)
  6260. {
  6261. switch (input_value)
  6262. {
  6263. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT:
  6264. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT";
  6265. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT:
  6266. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT";
  6267. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  6268. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  6269. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  6270. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  6271. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT:
  6272. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT";
  6273. case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA:
  6274. return "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA";
  6275. default:
  6276. return "Unhandled VkExternalSemaphoreHandleTypeFlagBitsKHR";
  6277. }
  6278. }
  6279. static inline std::string string_VkExternalSemaphoreHandleTypeFlagsKHR(VkExternalSemaphoreHandleTypeFlagsKHR input_value)
  6280. {
  6281. std::string ret;
  6282. int index = 0;
  6283. while(input_value) {
  6284. if (input_value & 1) {
  6285. if( !ret.empty()) ret.append("|");
  6286. ret.append(string_VkExternalSemaphoreHandleTypeFlagBitsKHR(static_cast<VkExternalSemaphoreHandleTypeFlagBitsKHR>(1U << index)));
  6287. }
  6288. ++index;
  6289. input_value >>= 1;
  6290. }
  6291. if( ret.empty()) ret.append(string_VkExternalSemaphoreHandleTypeFlagBitsKHR(static_cast<VkExternalSemaphoreHandleTypeFlagBitsKHR>(0)));
  6292. return ret;
  6293. }
  6294. static inline const char* string_VkExternalSemaphoreFeatureFlagBitsKHR(VkExternalSemaphoreFeatureFlagBitsKHR input_value)
  6295. {
  6296. switch (input_value)
  6297. {
  6298. case VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT:
  6299. return "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT";
  6300. case VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT:
  6301. return "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT";
  6302. default:
  6303. return "Unhandled VkExternalSemaphoreFeatureFlagBitsKHR";
  6304. }
  6305. }
  6306. static inline std::string string_VkExternalSemaphoreFeatureFlagsKHR(VkExternalSemaphoreFeatureFlagsKHR input_value)
  6307. {
  6308. std::string ret;
  6309. int index = 0;
  6310. while(input_value) {
  6311. if (input_value & 1) {
  6312. if( !ret.empty()) ret.append("|");
  6313. ret.append(string_VkExternalSemaphoreFeatureFlagBitsKHR(static_cast<VkExternalSemaphoreFeatureFlagBitsKHR>(1U << index)));
  6314. }
  6315. ++index;
  6316. input_value >>= 1;
  6317. }
  6318. if( ret.empty()) ret.append(string_VkExternalSemaphoreFeatureFlagBitsKHR(static_cast<VkExternalSemaphoreFeatureFlagBitsKHR>(0)));
  6319. return ret;
  6320. }
  6321. static inline const char* string_VkSemaphoreImportFlagBitsKHR(VkSemaphoreImportFlagBitsKHR input_value)
  6322. {
  6323. switch (input_value)
  6324. {
  6325. case VK_SEMAPHORE_IMPORT_TEMPORARY_BIT:
  6326. return "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT";
  6327. default:
  6328. return "Unhandled VkSemaphoreImportFlagBitsKHR";
  6329. }
  6330. }
  6331. static inline std::string string_VkSemaphoreImportFlagsKHR(VkSemaphoreImportFlagsKHR input_value)
  6332. {
  6333. std::string ret;
  6334. int index = 0;
  6335. while(input_value) {
  6336. if (input_value & 1) {
  6337. if( !ret.empty()) ret.append("|");
  6338. ret.append(string_VkSemaphoreImportFlagBitsKHR(static_cast<VkSemaphoreImportFlagBitsKHR>(1U << index)));
  6339. }
  6340. ++index;
  6341. input_value >>= 1;
  6342. }
  6343. if( ret.empty()) ret.append(string_VkSemaphoreImportFlagBitsKHR(static_cast<VkSemaphoreImportFlagBitsKHR>(0)));
  6344. return ret;
  6345. }
  6346. static inline const char* string_VkDescriptorUpdateTemplateTypeKHR(VkDescriptorUpdateTemplateTypeKHR input_value)
  6347. {
  6348. switch (input_value)
  6349. {
  6350. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET:
  6351. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET";
  6352. case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR:
  6353. return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR";
  6354. default:
  6355. return "Unhandled VkDescriptorUpdateTemplateTypeKHR";
  6356. }
  6357. }
  6358. static inline const char* string_VkExternalFenceHandleTypeFlagBitsKHR(VkExternalFenceHandleTypeFlagBitsKHR input_value)
  6359. {
  6360. switch (input_value)
  6361. {
  6362. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT:
  6363. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT";
  6364. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
  6365. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT";
  6366. case VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
  6367. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT";
  6368. case VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT:
  6369. return "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT";
  6370. default:
  6371. return "Unhandled VkExternalFenceHandleTypeFlagBitsKHR";
  6372. }
  6373. }
  6374. static inline std::string string_VkExternalFenceHandleTypeFlagsKHR(VkExternalFenceHandleTypeFlagsKHR input_value)
  6375. {
  6376. std::string ret;
  6377. int index = 0;
  6378. while(input_value) {
  6379. if (input_value & 1) {
  6380. if( !ret.empty()) ret.append("|");
  6381. ret.append(string_VkExternalFenceHandleTypeFlagBitsKHR(static_cast<VkExternalFenceHandleTypeFlagBitsKHR>(1U << index)));
  6382. }
  6383. ++index;
  6384. input_value >>= 1;
  6385. }
  6386. if( ret.empty()) ret.append(string_VkExternalFenceHandleTypeFlagBitsKHR(static_cast<VkExternalFenceHandleTypeFlagBitsKHR>(0)));
  6387. return ret;
  6388. }
  6389. static inline const char* string_VkExternalFenceFeatureFlagBitsKHR(VkExternalFenceFeatureFlagBitsKHR input_value)
  6390. {
  6391. switch (input_value)
  6392. {
  6393. case VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT:
  6394. return "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT";
  6395. case VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT:
  6396. return "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT";
  6397. default:
  6398. return "Unhandled VkExternalFenceFeatureFlagBitsKHR";
  6399. }
  6400. }
  6401. static inline std::string string_VkExternalFenceFeatureFlagsKHR(VkExternalFenceFeatureFlagsKHR input_value)
  6402. {
  6403. std::string ret;
  6404. int index = 0;
  6405. while(input_value) {
  6406. if (input_value & 1) {
  6407. if( !ret.empty()) ret.append("|");
  6408. ret.append(string_VkExternalFenceFeatureFlagBitsKHR(static_cast<VkExternalFenceFeatureFlagBitsKHR>(1U << index)));
  6409. }
  6410. ++index;
  6411. input_value >>= 1;
  6412. }
  6413. if( ret.empty()) ret.append(string_VkExternalFenceFeatureFlagBitsKHR(static_cast<VkExternalFenceFeatureFlagBitsKHR>(0)));
  6414. return ret;
  6415. }
  6416. static inline const char* string_VkFenceImportFlagBitsKHR(VkFenceImportFlagBitsKHR input_value)
  6417. {
  6418. switch (input_value)
  6419. {
  6420. case VK_FENCE_IMPORT_TEMPORARY_BIT:
  6421. return "VK_FENCE_IMPORT_TEMPORARY_BIT";
  6422. default:
  6423. return "Unhandled VkFenceImportFlagBitsKHR";
  6424. }
  6425. }
  6426. static inline std::string string_VkFenceImportFlagsKHR(VkFenceImportFlagsKHR input_value)
  6427. {
  6428. std::string ret;
  6429. int index = 0;
  6430. while(input_value) {
  6431. if (input_value & 1) {
  6432. if( !ret.empty()) ret.append("|");
  6433. ret.append(string_VkFenceImportFlagBitsKHR(static_cast<VkFenceImportFlagBitsKHR>(1U << index)));
  6434. }
  6435. ++index;
  6436. input_value >>= 1;
  6437. }
  6438. if( ret.empty()) ret.append(string_VkFenceImportFlagBitsKHR(static_cast<VkFenceImportFlagBitsKHR>(0)));
  6439. return ret;
  6440. }
  6441. static inline const char* string_VkPerformanceCounterUnitKHR(VkPerformanceCounterUnitKHR input_value)
  6442. {
  6443. switch (input_value)
  6444. {
  6445. case VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR:
  6446. return "VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR";
  6447. case VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR:
  6448. return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR";
  6449. case VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR:
  6450. return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR";
  6451. case VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR:
  6452. return "VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR";
  6453. case VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR:
  6454. return "VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR";
  6455. case VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR:
  6456. return "VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR";
  6457. case VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR:
  6458. return "VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR";
  6459. case VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR:
  6460. return "VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR";
  6461. case VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR:
  6462. return "VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR";
  6463. case VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR:
  6464. return "VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR";
  6465. case VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR:
  6466. return "VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR";
  6467. default:
  6468. return "Unhandled VkPerformanceCounterUnitKHR";
  6469. }
  6470. }
  6471. static inline const char* string_VkPerformanceCounterScopeKHR(VkPerformanceCounterScopeKHR input_value)
  6472. {
  6473. switch (input_value)
  6474. {
  6475. case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR:
  6476. return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR";
  6477. case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR:
  6478. return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR";
  6479. case VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR:
  6480. return "VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR";
  6481. default:
  6482. return "Unhandled VkPerformanceCounterScopeKHR";
  6483. }
  6484. }
  6485. static inline const char* string_VkPerformanceCounterStorageKHR(VkPerformanceCounterStorageKHR input_value)
  6486. {
  6487. switch (input_value)
  6488. {
  6489. case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR:
  6490. return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR";
  6491. case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR:
  6492. return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR";
  6493. case VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR:
  6494. return "VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR";
  6495. case VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR:
  6496. return "VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR";
  6497. case VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR:
  6498. return "VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR";
  6499. case VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR:
  6500. return "VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR";
  6501. default:
  6502. return "Unhandled VkPerformanceCounterStorageKHR";
  6503. }
  6504. }
  6505. static inline const char* string_VkPerformanceCounterDescriptionFlagBitsKHR(VkPerformanceCounterDescriptionFlagBitsKHR input_value)
  6506. {
  6507. switch (input_value)
  6508. {
  6509. case VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR:
  6510. return "VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR";
  6511. case VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR:
  6512. return "VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR";
  6513. default:
  6514. return "Unhandled VkPerformanceCounterDescriptionFlagBitsKHR";
  6515. }
  6516. }
  6517. static inline std::string string_VkPerformanceCounterDescriptionFlagsKHR(VkPerformanceCounterDescriptionFlagsKHR input_value)
  6518. {
  6519. std::string ret;
  6520. int index = 0;
  6521. while(input_value) {
  6522. if (input_value & 1) {
  6523. if( !ret.empty()) ret.append("|");
  6524. ret.append(string_VkPerformanceCounterDescriptionFlagBitsKHR(static_cast<VkPerformanceCounterDescriptionFlagBitsKHR>(1U << index)));
  6525. }
  6526. ++index;
  6527. input_value >>= 1;
  6528. }
  6529. if( ret.empty()) ret.append(string_VkPerformanceCounterDescriptionFlagBitsKHR(static_cast<VkPerformanceCounterDescriptionFlagBitsKHR>(0)));
  6530. return ret;
  6531. }
  6532. static inline const char* string_VkPointClippingBehaviorKHR(VkPointClippingBehaviorKHR input_value)
  6533. {
  6534. switch (input_value)
  6535. {
  6536. case VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES:
  6537. return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES";
  6538. case VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY:
  6539. return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY";
  6540. default:
  6541. return "Unhandled VkPointClippingBehaviorKHR";
  6542. }
  6543. }
  6544. static inline const char* string_VkTessellationDomainOriginKHR(VkTessellationDomainOriginKHR input_value)
  6545. {
  6546. switch (input_value)
  6547. {
  6548. case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT:
  6549. return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT";
  6550. case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT:
  6551. return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT";
  6552. default:
  6553. return "Unhandled VkTessellationDomainOriginKHR";
  6554. }
  6555. }
  6556. static inline const char* string_VkSamplerYcbcrModelConversionKHR(VkSamplerYcbcrModelConversionKHR input_value)
  6557. {
  6558. switch (input_value)
  6559. {
  6560. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY:
  6561. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY";
  6562. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020:
  6563. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020";
  6564. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601:
  6565. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601";
  6566. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709:
  6567. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709";
  6568. case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY:
  6569. return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY";
  6570. default:
  6571. return "Unhandled VkSamplerYcbcrModelConversionKHR";
  6572. }
  6573. }
  6574. static inline const char* string_VkSamplerYcbcrRangeKHR(VkSamplerYcbcrRangeKHR input_value)
  6575. {
  6576. switch (input_value)
  6577. {
  6578. case VK_SAMPLER_YCBCR_RANGE_ITU_FULL:
  6579. return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL";
  6580. case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW:
  6581. return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW";
  6582. default:
  6583. return "Unhandled VkSamplerYcbcrRangeKHR";
  6584. }
  6585. }
  6586. static inline const char* string_VkChromaLocationKHR(VkChromaLocationKHR input_value)
  6587. {
  6588. switch (input_value)
  6589. {
  6590. case VK_CHROMA_LOCATION_COSITED_EVEN:
  6591. return "VK_CHROMA_LOCATION_COSITED_EVEN";
  6592. case VK_CHROMA_LOCATION_MIDPOINT:
  6593. return "VK_CHROMA_LOCATION_MIDPOINT";
  6594. default:
  6595. return "Unhandled VkChromaLocationKHR";
  6596. }
  6597. }
  6598. static inline const char* string_VkQueueGlobalPriorityKHR(VkQueueGlobalPriorityKHR input_value)
  6599. {
  6600. switch (input_value)
  6601. {
  6602. case VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR:
  6603. return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR";
  6604. case VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR:
  6605. return "VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR";
  6606. case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR:
  6607. return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR";
  6608. case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR:
  6609. return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR";
  6610. default:
  6611. return "Unhandled VkQueueGlobalPriorityKHR";
  6612. }
  6613. }
  6614. static inline const char* string_VkDriverIdKHR(VkDriverIdKHR input_value)
  6615. {
  6616. switch (input_value)
  6617. {
  6618. case VK_DRIVER_ID_AMD_OPEN_SOURCE:
  6619. return "VK_DRIVER_ID_AMD_OPEN_SOURCE";
  6620. case VK_DRIVER_ID_AMD_PROPRIETARY:
  6621. return "VK_DRIVER_ID_AMD_PROPRIETARY";
  6622. case VK_DRIVER_ID_ARM_PROPRIETARY:
  6623. return "VK_DRIVER_ID_ARM_PROPRIETARY";
  6624. case VK_DRIVER_ID_BROADCOM_PROPRIETARY:
  6625. return "VK_DRIVER_ID_BROADCOM_PROPRIETARY";
  6626. case VK_DRIVER_ID_COREAVI_PROPRIETARY:
  6627. return "VK_DRIVER_ID_COREAVI_PROPRIETARY";
  6628. case VK_DRIVER_ID_GGP_PROPRIETARY:
  6629. return "VK_DRIVER_ID_GGP_PROPRIETARY";
  6630. case VK_DRIVER_ID_GOOGLE_SWIFTSHADER:
  6631. return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER";
  6632. case VK_DRIVER_ID_IMAGINATION_PROPRIETARY:
  6633. return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY";
  6634. case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA:
  6635. return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA";
  6636. case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS:
  6637. return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS";
  6638. case VK_DRIVER_ID_JUICE_PROPRIETARY:
  6639. return "VK_DRIVER_ID_JUICE_PROPRIETARY";
  6640. case VK_DRIVER_ID_MESA_LLVMPIPE:
  6641. return "VK_DRIVER_ID_MESA_LLVMPIPE";
  6642. case VK_DRIVER_ID_MESA_PANVK:
  6643. return "VK_DRIVER_ID_MESA_PANVK";
  6644. case VK_DRIVER_ID_MESA_RADV:
  6645. return "VK_DRIVER_ID_MESA_RADV";
  6646. case VK_DRIVER_ID_MESA_TURNIP:
  6647. return "VK_DRIVER_ID_MESA_TURNIP";
  6648. case VK_DRIVER_ID_MESA_V3DV:
  6649. return "VK_DRIVER_ID_MESA_V3DV";
  6650. case VK_DRIVER_ID_MESA_VENUS:
  6651. return "VK_DRIVER_ID_MESA_VENUS";
  6652. case VK_DRIVER_ID_MOLTENVK:
  6653. return "VK_DRIVER_ID_MOLTENVK";
  6654. case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
  6655. return "VK_DRIVER_ID_NVIDIA_PROPRIETARY";
  6656. case VK_DRIVER_ID_QUALCOMM_PROPRIETARY:
  6657. return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY";
  6658. case VK_DRIVER_ID_SAMSUNG_PROPRIETARY:
  6659. return "VK_DRIVER_ID_SAMSUNG_PROPRIETARY";
  6660. case VK_DRIVER_ID_VERISILICON_PROPRIETARY:
  6661. return "VK_DRIVER_ID_VERISILICON_PROPRIETARY";
  6662. default:
  6663. return "Unhandled VkDriverIdKHR";
  6664. }
  6665. }
  6666. static inline const char* string_VkShaderFloatControlsIndependenceKHR(VkShaderFloatControlsIndependenceKHR input_value)
  6667. {
  6668. switch (input_value)
  6669. {
  6670. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY:
  6671. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY";
  6672. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL:
  6673. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL";
  6674. case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE:
  6675. return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE";
  6676. default:
  6677. return "Unhandled VkShaderFloatControlsIndependenceKHR";
  6678. }
  6679. }
  6680. static inline const char* string_VkResolveModeFlagBitsKHR(VkResolveModeFlagBitsKHR input_value)
  6681. {
  6682. switch (input_value)
  6683. {
  6684. case VK_RESOLVE_MODE_AVERAGE_BIT:
  6685. return "VK_RESOLVE_MODE_AVERAGE_BIT";
  6686. case VK_RESOLVE_MODE_MAX_BIT:
  6687. return "VK_RESOLVE_MODE_MAX_BIT";
  6688. case VK_RESOLVE_MODE_MIN_BIT:
  6689. return "VK_RESOLVE_MODE_MIN_BIT";
  6690. case VK_RESOLVE_MODE_NONE:
  6691. return "VK_RESOLVE_MODE_NONE";
  6692. case VK_RESOLVE_MODE_SAMPLE_ZERO_BIT:
  6693. return "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT";
  6694. default:
  6695. return "Unhandled VkResolveModeFlagBitsKHR";
  6696. }
  6697. }
  6698. static inline std::string string_VkResolveModeFlagsKHR(VkResolveModeFlagsKHR input_value)
  6699. {
  6700. std::string ret;
  6701. int index = 0;
  6702. while(input_value) {
  6703. if (input_value & 1) {
  6704. if( !ret.empty()) ret.append("|");
  6705. ret.append(string_VkResolveModeFlagBitsKHR(static_cast<VkResolveModeFlagBitsKHR>(1U << index)));
  6706. }
  6707. ++index;
  6708. input_value >>= 1;
  6709. }
  6710. if( ret.empty()) ret.append(string_VkResolveModeFlagBitsKHR(static_cast<VkResolveModeFlagBitsKHR>(0)));
  6711. return ret;
  6712. }
  6713. static inline const char* string_VkSemaphoreTypeKHR(VkSemaphoreTypeKHR input_value)
  6714. {
  6715. switch (input_value)
  6716. {
  6717. case VK_SEMAPHORE_TYPE_BINARY:
  6718. return "VK_SEMAPHORE_TYPE_BINARY";
  6719. case VK_SEMAPHORE_TYPE_TIMELINE:
  6720. return "VK_SEMAPHORE_TYPE_TIMELINE";
  6721. default:
  6722. return "Unhandled VkSemaphoreTypeKHR";
  6723. }
  6724. }
  6725. static inline const char* string_VkSemaphoreWaitFlagBitsKHR(VkSemaphoreWaitFlagBitsKHR input_value)
  6726. {
  6727. switch (input_value)
  6728. {
  6729. case VK_SEMAPHORE_WAIT_ANY_BIT:
  6730. return "VK_SEMAPHORE_WAIT_ANY_BIT";
  6731. default:
  6732. return "Unhandled VkSemaphoreWaitFlagBitsKHR";
  6733. }
  6734. }
  6735. static inline std::string string_VkSemaphoreWaitFlagsKHR(VkSemaphoreWaitFlagsKHR input_value)
  6736. {
  6737. std::string ret;
  6738. int index = 0;
  6739. while(input_value) {
  6740. if (input_value & 1) {
  6741. if( !ret.empty()) ret.append("|");
  6742. ret.append(string_VkSemaphoreWaitFlagBitsKHR(static_cast<VkSemaphoreWaitFlagBitsKHR>(1U << index)));
  6743. }
  6744. ++index;
  6745. input_value >>= 1;
  6746. }
  6747. if( ret.empty()) ret.append(string_VkSemaphoreWaitFlagBitsKHR(static_cast<VkSemaphoreWaitFlagBitsKHR>(0)));
  6748. return ret;
  6749. }
  6750. static inline const char* string_VkFragmentShadingRateCombinerOpKHR(VkFragmentShadingRateCombinerOpKHR input_value)
  6751. {
  6752. switch (input_value)
  6753. {
  6754. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR:
  6755. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR";
  6756. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR:
  6757. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR";
  6758. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR:
  6759. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR";
  6760. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR:
  6761. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR";
  6762. case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR:
  6763. return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR";
  6764. default:
  6765. return "Unhandled VkFragmentShadingRateCombinerOpKHR";
  6766. }
  6767. }
  6768. static inline const char* string_VkPipelineExecutableStatisticFormatKHR(VkPipelineExecutableStatisticFormatKHR input_value)
  6769. {
  6770. switch (input_value)
  6771. {
  6772. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR:
  6773. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR";
  6774. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR:
  6775. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR";
  6776. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR:
  6777. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR";
  6778. case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR:
  6779. return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR";
  6780. default:
  6781. return "Unhandled VkPipelineExecutableStatisticFormatKHR";
  6782. }
  6783. }
  6784. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6785. static inline const char* string_VkVideoEncodeFlagBitsKHR(VkVideoEncodeFlagBitsKHR input_value)
  6786. {
  6787. switch (input_value)
  6788. {
  6789. case VK_VIDEO_ENCODE_DEFAULT_KHR:
  6790. return "VK_VIDEO_ENCODE_DEFAULT_KHR";
  6791. case VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR:
  6792. return "VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR";
  6793. default:
  6794. return "Unhandled VkVideoEncodeFlagBitsKHR";
  6795. }
  6796. }
  6797. static inline std::string string_VkVideoEncodeFlagsKHR(VkVideoEncodeFlagsKHR input_value)
  6798. {
  6799. std::string ret;
  6800. int index = 0;
  6801. while(input_value) {
  6802. if (input_value & 1) {
  6803. if( !ret.empty()) ret.append("|");
  6804. ret.append(string_VkVideoEncodeFlagBitsKHR(static_cast<VkVideoEncodeFlagBitsKHR>(1U << index)));
  6805. }
  6806. ++index;
  6807. input_value >>= 1;
  6808. }
  6809. if( ret.empty()) ret.append(string_VkVideoEncodeFlagBitsKHR(static_cast<VkVideoEncodeFlagBitsKHR>(0)));
  6810. return ret;
  6811. }
  6812. #endif // VK_ENABLE_BETA_EXTENSIONS
  6813. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6814. static inline const char* string_VkVideoEncodeRateControlFlagBitsKHR(VkVideoEncodeRateControlFlagBitsKHR input_value)
  6815. {
  6816. switch (input_value)
  6817. {
  6818. case VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR:
  6819. return "VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR";
  6820. case VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR:
  6821. return "VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR";
  6822. default:
  6823. return "Unhandled VkVideoEncodeRateControlFlagBitsKHR";
  6824. }
  6825. }
  6826. static inline std::string string_VkVideoEncodeRateControlFlagsKHR(VkVideoEncodeRateControlFlagsKHR input_value)
  6827. {
  6828. std::string ret;
  6829. int index = 0;
  6830. while(input_value) {
  6831. if (input_value & 1) {
  6832. if( !ret.empty()) ret.append("|");
  6833. ret.append(string_VkVideoEncodeRateControlFlagBitsKHR(static_cast<VkVideoEncodeRateControlFlagBitsKHR>(1U << index)));
  6834. }
  6835. ++index;
  6836. input_value >>= 1;
  6837. }
  6838. if( ret.empty()) ret.append(string_VkVideoEncodeRateControlFlagBitsKHR(static_cast<VkVideoEncodeRateControlFlagBitsKHR>(0)));
  6839. return ret;
  6840. }
  6841. #endif // VK_ENABLE_BETA_EXTENSIONS
  6842. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6843. static inline const char* string_VkVideoEncodeRateControlModeFlagBitsKHR(VkVideoEncodeRateControlModeFlagBitsKHR input_value)
  6844. {
  6845. switch (input_value)
  6846. {
  6847. case VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR:
  6848. return "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR";
  6849. case VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR:
  6850. return "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR";
  6851. case VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR:
  6852. return "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR";
  6853. default:
  6854. return "Unhandled VkVideoEncodeRateControlModeFlagBitsKHR";
  6855. }
  6856. }
  6857. static inline std::string string_VkVideoEncodeRateControlModeFlagsKHR(VkVideoEncodeRateControlModeFlagsKHR input_value)
  6858. {
  6859. std::string ret;
  6860. int index = 0;
  6861. while(input_value) {
  6862. if (input_value & 1) {
  6863. if( !ret.empty()) ret.append("|");
  6864. ret.append(string_VkVideoEncodeRateControlModeFlagBitsKHR(static_cast<VkVideoEncodeRateControlModeFlagBitsKHR>(1U << index)));
  6865. }
  6866. ++index;
  6867. input_value >>= 1;
  6868. }
  6869. if( ret.empty()) ret.append(string_VkVideoEncodeRateControlModeFlagBitsKHR(static_cast<VkVideoEncodeRateControlModeFlagBitsKHR>(0)));
  6870. return ret;
  6871. }
  6872. #endif // VK_ENABLE_BETA_EXTENSIONS
  6873. static inline const char* string_VkPipelineStageFlagBits2KHR(uint64_t input_value)
  6874. {
  6875. switch (input_value)
  6876. {
  6877. case VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR:
  6878. return "VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR";
  6879. case VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT:
  6880. return "VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT";
  6881. case VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT:
  6882. return "VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT";
  6883. case VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT:
  6884. return "VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT";
  6885. case VK_PIPELINE_STAGE_2_BLIT_BIT:
  6886. return "VK_PIPELINE_STAGE_2_BLIT_BIT";
  6887. case VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT:
  6888. return "VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT";
  6889. case VK_PIPELINE_STAGE_2_CLEAR_BIT:
  6890. return "VK_PIPELINE_STAGE_2_CLEAR_BIT";
  6891. case VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT:
  6892. return "VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT";
  6893. case VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV:
  6894. return "VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV";
  6895. case VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT:
  6896. return "VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT";
  6897. case VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT:
  6898. return "VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT";
  6899. case VK_PIPELINE_STAGE_2_COPY_BIT:
  6900. return "VK_PIPELINE_STAGE_2_COPY_BIT";
  6901. case VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT:
  6902. return "VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT";
  6903. case VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT:
  6904. return "VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT";
  6905. case VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT:
  6906. return "VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT";
  6907. case VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT:
  6908. return "VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT";
  6909. case VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  6910. return "VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  6911. case VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT:
  6912. return "VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT";
  6913. case VK_PIPELINE_STAGE_2_HOST_BIT:
  6914. return "VK_PIPELINE_STAGE_2_HOST_BIT";
  6915. case VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT:
  6916. return "VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT";
  6917. case VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI:
  6918. return "VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI";
  6919. case VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT:
  6920. return "VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT";
  6921. case VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV:
  6922. return "VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV";
  6923. case VK_PIPELINE_STAGE_2_NONE:
  6924. return "VK_PIPELINE_STAGE_2_NONE";
  6925. case VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT:
  6926. return "VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT";
  6927. case VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR:
  6928. return "VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR";
  6929. case VK_PIPELINE_STAGE_2_RESOLVE_BIT:
  6930. return "VK_PIPELINE_STAGE_2_RESOLVE_BIT";
  6931. case VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI:
  6932. return "VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI";
  6933. case VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV:
  6934. return "VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV";
  6935. case VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT:
  6936. return "VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT";
  6937. case VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT:
  6938. return "VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT";
  6939. case VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT:
  6940. return "VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT";
  6941. case VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT:
  6942. return "VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT";
  6943. case VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT:
  6944. return "VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT";
  6945. case VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT:
  6946. return "VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT";
  6947. case VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT:
  6948. return "VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT";
  6949. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6950. case VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR:
  6951. return "VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR";
  6952. #endif // VK_ENABLE_BETA_EXTENSIONS
  6953. #ifdef VK_ENABLE_BETA_EXTENSIONS
  6954. case VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR:
  6955. return "VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR";
  6956. #endif // VK_ENABLE_BETA_EXTENSIONS
  6957. default:
  6958. return "Unhandled VkPipelineStageFlagBits2KHR";
  6959. }
  6960. }
  6961. static inline std::string string_VkPipelineStageFlags2KHR(VkPipelineStageFlags2KHR input_value)
  6962. {
  6963. std::string ret;
  6964. int index = 0;
  6965. while(input_value) {
  6966. if (input_value & 1) {
  6967. if( !ret.empty()) ret.append("|");
  6968. ret.append(string_VkPipelineStageFlagBits2KHR(static_cast<uint64_t>(1ULL << index)));
  6969. }
  6970. ++index;
  6971. input_value >>= 1;
  6972. }
  6973. if( ret.empty()) ret.append(string_VkPipelineStageFlagBits2KHR(static_cast<uint64_t>(0)));
  6974. return ret;
  6975. }
  6976. static inline const char* string_VkAccessFlagBits2KHR(uint64_t input_value)
  6977. {
  6978. switch (input_value)
  6979. {
  6980. case VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR:
  6981. return "VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR";
  6982. case VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR:
  6983. return "VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR";
  6984. case VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT:
  6985. return "VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT";
  6986. case VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT:
  6987. return "VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT";
  6988. case VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT:
  6989. return "VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT";
  6990. case VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV:
  6991. return "VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV";
  6992. case VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV:
  6993. return "VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV";
  6994. case VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT:
  6995. return "VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT";
  6996. case VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT:
  6997. return "VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT";
  6998. case VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT:
  6999. return "VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT";
  7000. case VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT:
  7001. return "VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT";
  7002. case VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR:
  7003. return "VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR";
  7004. case VK_ACCESS_2_HOST_READ_BIT:
  7005. return "VK_ACCESS_2_HOST_READ_BIT";
  7006. case VK_ACCESS_2_HOST_WRITE_BIT:
  7007. return "VK_ACCESS_2_HOST_WRITE_BIT";
  7008. case VK_ACCESS_2_INDEX_READ_BIT:
  7009. return "VK_ACCESS_2_INDEX_READ_BIT";
  7010. case VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT:
  7011. return "VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT";
  7012. case VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT:
  7013. return "VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT";
  7014. case VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI:
  7015. return "VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI";
  7016. case VK_ACCESS_2_MEMORY_READ_BIT:
  7017. return "VK_ACCESS_2_MEMORY_READ_BIT";
  7018. case VK_ACCESS_2_MEMORY_WRITE_BIT:
  7019. return "VK_ACCESS_2_MEMORY_WRITE_BIT";
  7020. case VK_ACCESS_2_NONE:
  7021. return "VK_ACCESS_2_NONE";
  7022. case VK_ACCESS_2_SHADER_READ_BIT:
  7023. return "VK_ACCESS_2_SHADER_READ_BIT";
  7024. case VK_ACCESS_2_SHADER_SAMPLED_READ_BIT:
  7025. return "VK_ACCESS_2_SHADER_SAMPLED_READ_BIT";
  7026. case VK_ACCESS_2_SHADER_STORAGE_READ_BIT:
  7027. return "VK_ACCESS_2_SHADER_STORAGE_READ_BIT";
  7028. case VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT:
  7029. return "VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT";
  7030. case VK_ACCESS_2_SHADER_WRITE_BIT:
  7031. return "VK_ACCESS_2_SHADER_WRITE_BIT";
  7032. case VK_ACCESS_2_TRANSFER_READ_BIT:
  7033. return "VK_ACCESS_2_TRANSFER_READ_BIT";
  7034. case VK_ACCESS_2_TRANSFER_WRITE_BIT:
  7035. return "VK_ACCESS_2_TRANSFER_WRITE_BIT";
  7036. case VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT:
  7037. return "VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT";
  7038. case VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT:
  7039. return "VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT";
  7040. case VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT:
  7041. return "VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT";
  7042. case VK_ACCESS_2_UNIFORM_READ_BIT:
  7043. return "VK_ACCESS_2_UNIFORM_READ_BIT";
  7044. case VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT:
  7045. return "VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT";
  7046. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7047. case VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR:
  7048. return "VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR";
  7049. #endif // VK_ENABLE_BETA_EXTENSIONS
  7050. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7051. case VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR:
  7052. return "VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR";
  7053. #endif // VK_ENABLE_BETA_EXTENSIONS
  7054. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7055. case VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR:
  7056. return "VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR";
  7057. #endif // VK_ENABLE_BETA_EXTENSIONS
  7058. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7059. case VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR:
  7060. return "VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR";
  7061. #endif // VK_ENABLE_BETA_EXTENSIONS
  7062. default:
  7063. return "Unhandled VkAccessFlagBits2KHR";
  7064. }
  7065. }
  7066. static inline std::string string_VkAccessFlags2KHR(VkAccessFlags2KHR input_value)
  7067. {
  7068. std::string ret;
  7069. int index = 0;
  7070. while(input_value) {
  7071. if (input_value & 1) {
  7072. if( !ret.empty()) ret.append("|");
  7073. ret.append(string_VkAccessFlagBits2KHR(static_cast<uint64_t>(1ULL << index)));
  7074. }
  7075. ++index;
  7076. input_value >>= 1;
  7077. }
  7078. if( ret.empty()) ret.append(string_VkAccessFlagBits2KHR(static_cast<uint64_t>(0)));
  7079. return ret;
  7080. }
  7081. static inline const char* string_VkSubmitFlagBitsKHR(VkSubmitFlagBitsKHR input_value)
  7082. {
  7083. switch (input_value)
  7084. {
  7085. case VK_SUBMIT_PROTECTED_BIT:
  7086. return "VK_SUBMIT_PROTECTED_BIT";
  7087. default:
  7088. return "Unhandled VkSubmitFlagBitsKHR";
  7089. }
  7090. }
  7091. static inline std::string string_VkSubmitFlagsKHR(VkSubmitFlagsKHR input_value)
  7092. {
  7093. std::string ret;
  7094. int index = 0;
  7095. while(input_value) {
  7096. if (input_value & 1) {
  7097. if( !ret.empty()) ret.append("|");
  7098. ret.append(string_VkSubmitFlagBitsKHR(static_cast<VkSubmitFlagBitsKHR>(1U << index)));
  7099. }
  7100. ++index;
  7101. input_value >>= 1;
  7102. }
  7103. if( ret.empty()) ret.append(string_VkSubmitFlagBitsKHR(static_cast<VkSubmitFlagBitsKHR>(0)));
  7104. return ret;
  7105. }
  7106. static inline const char* string_VkFormatFeatureFlagBits2KHR(uint64_t input_value)
  7107. {
  7108. switch (input_value)
  7109. {
  7110. case VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR:
  7111. return "VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR";
  7112. case VK_FORMAT_FEATURE_2_BLIT_DST_BIT:
  7113. return "VK_FORMAT_FEATURE_2_BLIT_DST_BIT";
  7114. case VK_FORMAT_FEATURE_2_BLIT_SRC_BIT:
  7115. return "VK_FORMAT_FEATURE_2_BLIT_SRC_BIT";
  7116. case VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT:
  7117. return "VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT";
  7118. case VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT:
  7119. return "VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT";
  7120. case VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT:
  7121. return "VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT";
  7122. case VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT:
  7123. return "VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT";
  7124. case VK_FORMAT_FEATURE_2_DISJOINT_BIT:
  7125. return "VK_FORMAT_FEATURE_2_DISJOINT_BIT";
  7126. case VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT:
  7127. return "VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT";
  7128. case VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
  7129. return "VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
  7130. case VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV:
  7131. return "VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV";
  7132. case VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT:
  7133. return "VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT";
  7134. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT:
  7135. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT";
  7136. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT:
  7137. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT";
  7138. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT:
  7139. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT";
  7140. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT:
  7141. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT";
  7142. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT:
  7143. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT";
  7144. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT:
  7145. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT";
  7146. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT:
  7147. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT";
  7148. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT:
  7149. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT";
  7150. case VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT:
  7151. return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT";
  7152. case VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT:
  7153. return "VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT";
  7154. case VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT:
  7155. return "VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT";
  7156. case VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT:
  7157. return "VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT";
  7158. case VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT:
  7159. return "VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT";
  7160. case VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT:
  7161. return "VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT";
  7162. case VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT:
  7163. return "VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT";
  7164. case VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT:
  7165. return "VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT";
  7166. case VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT:
  7167. return "VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT";
  7168. case VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT:
  7169. return "VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT";
  7170. case VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT:
  7171. return "VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT";
  7172. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7173. case VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR:
  7174. return "VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR";
  7175. #endif // VK_ENABLE_BETA_EXTENSIONS
  7176. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7177. case VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR:
  7178. return "VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR";
  7179. #endif // VK_ENABLE_BETA_EXTENSIONS
  7180. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7181. case VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR:
  7182. return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR";
  7183. #endif // VK_ENABLE_BETA_EXTENSIONS
  7184. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7185. case VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR:
  7186. return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR";
  7187. #endif // VK_ENABLE_BETA_EXTENSIONS
  7188. default:
  7189. return "Unhandled VkFormatFeatureFlagBits2KHR";
  7190. }
  7191. }
  7192. static inline std::string string_VkFormatFeatureFlags2KHR(VkFormatFeatureFlags2KHR input_value)
  7193. {
  7194. std::string ret;
  7195. int index = 0;
  7196. while(input_value) {
  7197. if (input_value & 1) {
  7198. if( !ret.empty()) ret.append("|");
  7199. ret.append(string_VkFormatFeatureFlagBits2KHR(static_cast<uint64_t>(1ULL << index)));
  7200. }
  7201. ++index;
  7202. input_value >>= 1;
  7203. }
  7204. if( ret.empty()) ret.append(string_VkFormatFeatureFlagBits2KHR(static_cast<uint64_t>(0)));
  7205. return ret;
  7206. }
  7207. static inline const char* string_VkDebugReportFlagBitsEXT(VkDebugReportFlagBitsEXT input_value)
  7208. {
  7209. switch (input_value)
  7210. {
  7211. case VK_DEBUG_REPORT_DEBUG_BIT_EXT:
  7212. return "VK_DEBUG_REPORT_DEBUG_BIT_EXT";
  7213. case VK_DEBUG_REPORT_ERROR_BIT_EXT:
  7214. return "VK_DEBUG_REPORT_ERROR_BIT_EXT";
  7215. case VK_DEBUG_REPORT_INFORMATION_BIT_EXT:
  7216. return "VK_DEBUG_REPORT_INFORMATION_BIT_EXT";
  7217. case VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT:
  7218. return "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT";
  7219. case VK_DEBUG_REPORT_WARNING_BIT_EXT:
  7220. return "VK_DEBUG_REPORT_WARNING_BIT_EXT";
  7221. default:
  7222. return "Unhandled VkDebugReportFlagBitsEXT";
  7223. }
  7224. }
  7225. static inline std::string string_VkDebugReportFlagsEXT(VkDebugReportFlagsEXT input_value)
  7226. {
  7227. std::string ret;
  7228. int index = 0;
  7229. while(input_value) {
  7230. if (input_value & 1) {
  7231. if( !ret.empty()) ret.append("|");
  7232. ret.append(string_VkDebugReportFlagBitsEXT(static_cast<VkDebugReportFlagBitsEXT>(1U << index)));
  7233. }
  7234. ++index;
  7235. input_value >>= 1;
  7236. }
  7237. if( ret.empty()) ret.append(string_VkDebugReportFlagBitsEXT(static_cast<VkDebugReportFlagBitsEXT>(0)));
  7238. return ret;
  7239. }
  7240. static inline const char* string_VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT input_value)
  7241. {
  7242. switch (input_value)
  7243. {
  7244. case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT:
  7245. return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT";
  7246. case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT:
  7247. return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT";
  7248. case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT:
  7249. return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT";
  7250. case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT:
  7251. return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT";
  7252. case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT:
  7253. return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT";
  7254. case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT:
  7255. return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT";
  7256. case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT:
  7257. return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT";
  7258. case VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT:
  7259. return "VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT";
  7260. case VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT:
  7261. return "VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT";
  7262. case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT:
  7263. return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT";
  7264. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT:
  7265. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT";
  7266. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT:
  7267. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT";
  7268. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT:
  7269. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT";
  7270. case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT:
  7271. return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT";
  7272. case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT:
  7273. return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT";
  7274. case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT:
  7275. return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT";
  7276. case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT:
  7277. return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT";
  7278. case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT:
  7279. return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT";
  7280. case VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT:
  7281. return "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT";
  7282. case VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT:
  7283. return "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT";
  7284. case VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT:
  7285. return "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT";
  7286. case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT:
  7287. return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT";
  7288. case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT:
  7289. return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT";
  7290. case VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT:
  7291. return "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT";
  7292. case VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT:
  7293. return "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT";
  7294. case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT:
  7295. return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT";
  7296. case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT:
  7297. return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT";
  7298. case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT:
  7299. return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT";
  7300. case VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT:
  7301. return "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT";
  7302. case VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT:
  7303. return "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT";
  7304. case VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT:
  7305. return "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT";
  7306. case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT:
  7307. return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT";
  7308. case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT:
  7309. return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT";
  7310. case VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT:
  7311. return "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT";
  7312. case VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT:
  7313. return "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT";
  7314. case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT:
  7315. return "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT";
  7316. case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT:
  7317. return "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT";
  7318. case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT:
  7319. return "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT";
  7320. case VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT:
  7321. return "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT";
  7322. default:
  7323. return "Unhandled VkDebugReportObjectTypeEXT";
  7324. }
  7325. }
  7326. static inline const char* string_VkRasterizationOrderAMD(VkRasterizationOrderAMD input_value)
  7327. {
  7328. switch (input_value)
  7329. {
  7330. case VK_RASTERIZATION_ORDER_RELAXED_AMD:
  7331. return "VK_RASTERIZATION_ORDER_RELAXED_AMD";
  7332. case VK_RASTERIZATION_ORDER_STRICT_AMD:
  7333. return "VK_RASTERIZATION_ORDER_STRICT_AMD";
  7334. default:
  7335. return "Unhandled VkRasterizationOrderAMD";
  7336. }
  7337. }
  7338. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7339. static inline const char* string_VkVideoEncodeH264CapabilityFlagBitsEXT(VkVideoEncodeH264CapabilityFlagBitsEXT input_value)
  7340. {
  7341. switch (input_value)
  7342. {
  7343. case VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT:
  7344. return "VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT";
  7345. case VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT:
  7346. return "VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT";
  7347. case VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT:
  7348. return "VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT";
  7349. case VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT:
  7350. return "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT";
  7351. case VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT:
  7352. return "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT";
  7353. case VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT:
  7354. return "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT";
  7355. case VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT:
  7356. return "VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT";
  7357. case VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT:
  7358. return "VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT";
  7359. case VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT:
  7360. return "VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT";
  7361. case VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT:
  7362. return "VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT";
  7363. case VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT:
  7364. return "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT";
  7365. default:
  7366. return "Unhandled VkVideoEncodeH264CapabilityFlagBitsEXT";
  7367. }
  7368. }
  7369. static inline std::string string_VkVideoEncodeH264CapabilityFlagsEXT(VkVideoEncodeH264CapabilityFlagsEXT input_value)
  7370. {
  7371. std::string ret;
  7372. int index = 0;
  7373. while(input_value) {
  7374. if (input_value & 1) {
  7375. if( !ret.empty()) ret.append("|");
  7376. ret.append(string_VkVideoEncodeH264CapabilityFlagBitsEXT(static_cast<VkVideoEncodeH264CapabilityFlagBitsEXT>(1U << index)));
  7377. }
  7378. ++index;
  7379. input_value >>= 1;
  7380. }
  7381. if( ret.empty()) ret.append(string_VkVideoEncodeH264CapabilityFlagBitsEXT(static_cast<VkVideoEncodeH264CapabilityFlagBitsEXT>(0)));
  7382. return ret;
  7383. }
  7384. #endif // VK_ENABLE_BETA_EXTENSIONS
  7385. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7386. static inline const char* string_VkVideoEncodeH264InputModeFlagBitsEXT(VkVideoEncodeH264InputModeFlagBitsEXT input_value)
  7387. {
  7388. switch (input_value)
  7389. {
  7390. case VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT:
  7391. return "VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT";
  7392. case VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT:
  7393. return "VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT";
  7394. case VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT:
  7395. return "VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT";
  7396. default:
  7397. return "Unhandled VkVideoEncodeH264InputModeFlagBitsEXT";
  7398. }
  7399. }
  7400. static inline std::string string_VkVideoEncodeH264InputModeFlagsEXT(VkVideoEncodeH264InputModeFlagsEXT input_value)
  7401. {
  7402. std::string ret;
  7403. int index = 0;
  7404. while(input_value) {
  7405. if (input_value & 1) {
  7406. if( !ret.empty()) ret.append("|");
  7407. ret.append(string_VkVideoEncodeH264InputModeFlagBitsEXT(static_cast<VkVideoEncodeH264InputModeFlagBitsEXT>(1U << index)));
  7408. }
  7409. ++index;
  7410. input_value >>= 1;
  7411. }
  7412. if( ret.empty()) ret.append(string_VkVideoEncodeH264InputModeFlagBitsEXT(static_cast<VkVideoEncodeH264InputModeFlagBitsEXT>(0)));
  7413. return ret;
  7414. }
  7415. #endif // VK_ENABLE_BETA_EXTENSIONS
  7416. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7417. static inline const char* string_VkVideoEncodeH264OutputModeFlagBitsEXT(VkVideoEncodeH264OutputModeFlagBitsEXT input_value)
  7418. {
  7419. switch (input_value)
  7420. {
  7421. case VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT:
  7422. return "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT";
  7423. case VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT:
  7424. return "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT";
  7425. case VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT:
  7426. return "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT";
  7427. default:
  7428. return "Unhandled VkVideoEncodeH264OutputModeFlagBitsEXT";
  7429. }
  7430. }
  7431. static inline std::string string_VkVideoEncodeH264OutputModeFlagsEXT(VkVideoEncodeH264OutputModeFlagsEXT input_value)
  7432. {
  7433. std::string ret;
  7434. int index = 0;
  7435. while(input_value) {
  7436. if (input_value & 1) {
  7437. if( !ret.empty()) ret.append("|");
  7438. ret.append(string_VkVideoEncodeH264OutputModeFlagBitsEXT(static_cast<VkVideoEncodeH264OutputModeFlagBitsEXT>(1U << index)));
  7439. }
  7440. ++index;
  7441. input_value >>= 1;
  7442. }
  7443. if( ret.empty()) ret.append(string_VkVideoEncodeH264OutputModeFlagBitsEXT(static_cast<VkVideoEncodeH264OutputModeFlagBitsEXT>(0)));
  7444. return ret;
  7445. }
  7446. #endif // VK_ENABLE_BETA_EXTENSIONS
  7447. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7448. static inline const char* string_VkVideoEncodeH264CreateFlagBitsEXT(VkVideoEncodeH264CreateFlagBitsEXT input_value)
  7449. {
  7450. switch (input_value)
  7451. {
  7452. case VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT:
  7453. return "VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT";
  7454. case VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT:
  7455. return "VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT";
  7456. default:
  7457. return "Unhandled VkVideoEncodeH264CreateFlagBitsEXT";
  7458. }
  7459. }
  7460. static inline std::string string_VkVideoEncodeH264CreateFlagsEXT(VkVideoEncodeH264CreateFlagsEXT input_value)
  7461. {
  7462. std::string ret;
  7463. int index = 0;
  7464. while(input_value) {
  7465. if (input_value & 1) {
  7466. if( !ret.empty()) ret.append("|");
  7467. ret.append(string_VkVideoEncodeH264CreateFlagBitsEXT(static_cast<VkVideoEncodeH264CreateFlagBitsEXT>(1U << index)));
  7468. }
  7469. ++index;
  7470. input_value >>= 1;
  7471. }
  7472. if( ret.empty()) ret.append(string_VkVideoEncodeH264CreateFlagBitsEXT(static_cast<VkVideoEncodeH264CreateFlagBitsEXT>(0)));
  7473. return ret;
  7474. }
  7475. #endif // VK_ENABLE_BETA_EXTENSIONS
  7476. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7477. static inline const char* string_VkVideoEncodeH264RateControlStructureFlagBitsEXT(VkVideoEncodeH264RateControlStructureFlagBitsEXT input_value)
  7478. {
  7479. switch (input_value)
  7480. {
  7481. case VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT:
  7482. return "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT";
  7483. case VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT:
  7484. return "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT";
  7485. case VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT:
  7486. return "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT";
  7487. default:
  7488. return "Unhandled VkVideoEncodeH264RateControlStructureFlagBitsEXT";
  7489. }
  7490. }
  7491. static inline std::string string_VkVideoEncodeH264RateControlStructureFlagsEXT(VkVideoEncodeH264RateControlStructureFlagsEXT input_value)
  7492. {
  7493. std::string ret;
  7494. int index = 0;
  7495. while(input_value) {
  7496. if (input_value & 1) {
  7497. if( !ret.empty()) ret.append("|");
  7498. ret.append(string_VkVideoEncodeH264RateControlStructureFlagBitsEXT(static_cast<VkVideoEncodeH264RateControlStructureFlagBitsEXT>(1U << index)));
  7499. }
  7500. ++index;
  7501. input_value >>= 1;
  7502. }
  7503. if( ret.empty()) ret.append(string_VkVideoEncodeH264RateControlStructureFlagBitsEXT(static_cast<VkVideoEncodeH264RateControlStructureFlagBitsEXT>(0)));
  7504. return ret;
  7505. }
  7506. #endif // VK_ENABLE_BETA_EXTENSIONS
  7507. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7508. static inline const char* string_VkVideoEncodeH265InputModeFlagBitsEXT(VkVideoEncodeH265InputModeFlagBitsEXT input_value)
  7509. {
  7510. switch (input_value)
  7511. {
  7512. case VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT:
  7513. return "VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT";
  7514. case VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT:
  7515. return "VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT";
  7516. case VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT:
  7517. return "VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT";
  7518. default:
  7519. return "Unhandled VkVideoEncodeH265InputModeFlagBitsEXT";
  7520. }
  7521. }
  7522. static inline std::string string_VkVideoEncodeH265InputModeFlagsEXT(VkVideoEncodeH265InputModeFlagsEXT input_value)
  7523. {
  7524. std::string ret;
  7525. int index = 0;
  7526. while(input_value) {
  7527. if (input_value & 1) {
  7528. if( !ret.empty()) ret.append("|");
  7529. ret.append(string_VkVideoEncodeH265InputModeFlagBitsEXT(static_cast<VkVideoEncodeH265InputModeFlagBitsEXT>(1U << index)));
  7530. }
  7531. ++index;
  7532. input_value >>= 1;
  7533. }
  7534. if( ret.empty()) ret.append(string_VkVideoEncodeH265InputModeFlagBitsEXT(static_cast<VkVideoEncodeH265InputModeFlagBitsEXT>(0)));
  7535. return ret;
  7536. }
  7537. #endif // VK_ENABLE_BETA_EXTENSIONS
  7538. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7539. static inline const char* string_VkVideoEncodeH265OutputModeFlagBitsEXT(VkVideoEncodeH265OutputModeFlagBitsEXT input_value)
  7540. {
  7541. switch (input_value)
  7542. {
  7543. case VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT:
  7544. return "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT";
  7545. case VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT:
  7546. return "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT";
  7547. case VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT:
  7548. return "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT";
  7549. default:
  7550. return "Unhandled VkVideoEncodeH265OutputModeFlagBitsEXT";
  7551. }
  7552. }
  7553. static inline std::string string_VkVideoEncodeH265OutputModeFlagsEXT(VkVideoEncodeH265OutputModeFlagsEXT input_value)
  7554. {
  7555. std::string ret;
  7556. int index = 0;
  7557. while(input_value) {
  7558. if (input_value & 1) {
  7559. if( !ret.empty()) ret.append("|");
  7560. ret.append(string_VkVideoEncodeH265OutputModeFlagBitsEXT(static_cast<VkVideoEncodeH265OutputModeFlagBitsEXT>(1U << index)));
  7561. }
  7562. ++index;
  7563. input_value >>= 1;
  7564. }
  7565. if( ret.empty()) ret.append(string_VkVideoEncodeH265OutputModeFlagBitsEXT(static_cast<VkVideoEncodeH265OutputModeFlagBitsEXT>(0)));
  7566. return ret;
  7567. }
  7568. #endif // VK_ENABLE_BETA_EXTENSIONS
  7569. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7570. static inline const char* string_VkVideoEncodeH265CtbSizeFlagBitsEXT(VkVideoEncodeH265CtbSizeFlagBitsEXT input_value)
  7571. {
  7572. switch (input_value)
  7573. {
  7574. case VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT:
  7575. return "VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT";
  7576. case VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT:
  7577. return "VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT";
  7578. case VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT:
  7579. return "VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT";
  7580. case VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT:
  7581. return "VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT";
  7582. default:
  7583. return "Unhandled VkVideoEncodeH265CtbSizeFlagBitsEXT";
  7584. }
  7585. }
  7586. static inline std::string string_VkVideoEncodeH265CtbSizeFlagsEXT(VkVideoEncodeH265CtbSizeFlagsEXT input_value)
  7587. {
  7588. std::string ret;
  7589. int index = 0;
  7590. while(input_value) {
  7591. if (input_value & 1) {
  7592. if( !ret.empty()) ret.append("|");
  7593. ret.append(string_VkVideoEncodeH265CtbSizeFlagBitsEXT(static_cast<VkVideoEncodeH265CtbSizeFlagBitsEXT>(1U << index)));
  7594. }
  7595. ++index;
  7596. input_value >>= 1;
  7597. }
  7598. if( ret.empty()) ret.append(string_VkVideoEncodeH265CtbSizeFlagBitsEXT(static_cast<VkVideoEncodeH265CtbSizeFlagBitsEXT>(0)));
  7599. return ret;
  7600. }
  7601. #endif // VK_ENABLE_BETA_EXTENSIONS
  7602. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7603. static inline const char* string_VkVideoEncodeH265RateControlStructureFlagBitsEXT(VkVideoEncodeH265RateControlStructureFlagBitsEXT input_value)
  7604. {
  7605. switch (input_value)
  7606. {
  7607. case VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT:
  7608. return "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT";
  7609. case VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT:
  7610. return "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT";
  7611. case VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT:
  7612. return "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT";
  7613. default:
  7614. return "Unhandled VkVideoEncodeH265RateControlStructureFlagBitsEXT";
  7615. }
  7616. }
  7617. static inline std::string string_VkVideoEncodeH265RateControlStructureFlagsEXT(VkVideoEncodeH265RateControlStructureFlagsEXT input_value)
  7618. {
  7619. std::string ret;
  7620. int index = 0;
  7621. while(input_value) {
  7622. if (input_value & 1) {
  7623. if( !ret.empty()) ret.append("|");
  7624. ret.append(string_VkVideoEncodeH265RateControlStructureFlagBitsEXT(static_cast<VkVideoEncodeH265RateControlStructureFlagBitsEXT>(1U << index)));
  7625. }
  7626. ++index;
  7627. input_value >>= 1;
  7628. }
  7629. if( ret.empty()) ret.append(string_VkVideoEncodeH265RateControlStructureFlagBitsEXT(static_cast<VkVideoEncodeH265RateControlStructureFlagBitsEXT>(0)));
  7630. return ret;
  7631. }
  7632. #endif // VK_ENABLE_BETA_EXTENSIONS
  7633. #ifdef VK_ENABLE_BETA_EXTENSIONS
  7634. static inline const char* string_VkVideoDecodeH264PictureLayoutFlagBitsEXT(VkVideoDecodeH264PictureLayoutFlagBitsEXT input_value)
  7635. {
  7636. switch (input_value)
  7637. {
  7638. case VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT:
  7639. return "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT";
  7640. case VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT:
  7641. return "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT";
  7642. case VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT:
  7643. return "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT";
  7644. default:
  7645. return "Unhandled VkVideoDecodeH264PictureLayoutFlagBitsEXT";
  7646. }
  7647. }
  7648. static inline std::string string_VkVideoDecodeH264PictureLayoutFlagsEXT(VkVideoDecodeH264PictureLayoutFlagsEXT input_value)
  7649. {
  7650. std::string ret;
  7651. int index = 0;
  7652. while(input_value) {
  7653. if (input_value & 1) {
  7654. if( !ret.empty()) ret.append("|");
  7655. ret.append(string_VkVideoDecodeH264PictureLayoutFlagBitsEXT(static_cast<VkVideoDecodeH264PictureLayoutFlagBitsEXT>(1U << index)));
  7656. }
  7657. ++index;
  7658. input_value >>= 1;
  7659. }
  7660. if( ret.empty()) ret.append(string_VkVideoDecodeH264PictureLayoutFlagBitsEXT(static_cast<VkVideoDecodeH264PictureLayoutFlagBitsEXT>(0)));
  7661. return ret;
  7662. }
  7663. #endif // VK_ENABLE_BETA_EXTENSIONS
  7664. static inline const char* string_VkShaderInfoTypeAMD(VkShaderInfoTypeAMD input_value)
  7665. {
  7666. switch (input_value)
  7667. {
  7668. case VK_SHADER_INFO_TYPE_BINARY_AMD:
  7669. return "VK_SHADER_INFO_TYPE_BINARY_AMD";
  7670. case VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD:
  7671. return "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD";
  7672. case VK_SHADER_INFO_TYPE_STATISTICS_AMD:
  7673. return "VK_SHADER_INFO_TYPE_STATISTICS_AMD";
  7674. default:
  7675. return "Unhandled VkShaderInfoTypeAMD";
  7676. }
  7677. }
  7678. static inline const char* string_VkExternalMemoryHandleTypeFlagBitsNV(VkExternalMemoryHandleTypeFlagBitsNV input_value)
  7679. {
  7680. switch (input_value)
  7681. {
  7682. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV:
  7683. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV";
  7684. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV:
  7685. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV";
  7686. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV:
  7687. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV";
  7688. case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV:
  7689. return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV";
  7690. default:
  7691. return "Unhandled VkExternalMemoryHandleTypeFlagBitsNV";
  7692. }
  7693. }
  7694. static inline std::string string_VkExternalMemoryHandleTypeFlagsNV(VkExternalMemoryHandleTypeFlagsNV input_value)
  7695. {
  7696. std::string ret;
  7697. int index = 0;
  7698. while(input_value) {
  7699. if (input_value & 1) {
  7700. if( !ret.empty()) ret.append("|");
  7701. ret.append(string_VkExternalMemoryHandleTypeFlagBitsNV(static_cast<VkExternalMemoryHandleTypeFlagBitsNV>(1U << index)));
  7702. }
  7703. ++index;
  7704. input_value >>= 1;
  7705. }
  7706. if( ret.empty()) ret.append(string_VkExternalMemoryHandleTypeFlagBitsNV(static_cast<VkExternalMemoryHandleTypeFlagBitsNV>(0)));
  7707. return ret;
  7708. }
  7709. static inline const char* string_VkExternalMemoryFeatureFlagBitsNV(VkExternalMemoryFeatureFlagBitsNV input_value)
  7710. {
  7711. switch (input_value)
  7712. {
  7713. case VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV:
  7714. return "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV";
  7715. case VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV:
  7716. return "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV";
  7717. case VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV:
  7718. return "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV";
  7719. default:
  7720. return "Unhandled VkExternalMemoryFeatureFlagBitsNV";
  7721. }
  7722. }
  7723. static inline std::string string_VkExternalMemoryFeatureFlagsNV(VkExternalMemoryFeatureFlagsNV input_value)
  7724. {
  7725. std::string ret;
  7726. int index = 0;
  7727. while(input_value) {
  7728. if (input_value & 1) {
  7729. if( !ret.empty()) ret.append("|");
  7730. ret.append(string_VkExternalMemoryFeatureFlagBitsNV(static_cast<VkExternalMemoryFeatureFlagBitsNV>(1U << index)));
  7731. }
  7732. ++index;
  7733. input_value >>= 1;
  7734. }
  7735. if( ret.empty()) ret.append(string_VkExternalMemoryFeatureFlagBitsNV(static_cast<VkExternalMemoryFeatureFlagBitsNV>(0)));
  7736. return ret;
  7737. }
  7738. static inline const char* string_VkValidationCheckEXT(VkValidationCheckEXT input_value)
  7739. {
  7740. switch (input_value)
  7741. {
  7742. case VK_VALIDATION_CHECK_ALL_EXT:
  7743. return "VK_VALIDATION_CHECK_ALL_EXT";
  7744. case VK_VALIDATION_CHECK_SHADERS_EXT:
  7745. return "VK_VALIDATION_CHECK_SHADERS_EXT";
  7746. default:
  7747. return "Unhandled VkValidationCheckEXT";
  7748. }
  7749. }
  7750. static inline const char* string_VkConditionalRenderingFlagBitsEXT(VkConditionalRenderingFlagBitsEXT input_value)
  7751. {
  7752. switch (input_value)
  7753. {
  7754. case VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT:
  7755. return "VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT";
  7756. default:
  7757. return "Unhandled VkConditionalRenderingFlagBitsEXT";
  7758. }
  7759. }
  7760. static inline std::string string_VkConditionalRenderingFlagsEXT(VkConditionalRenderingFlagsEXT input_value)
  7761. {
  7762. std::string ret;
  7763. int index = 0;
  7764. while(input_value) {
  7765. if (input_value & 1) {
  7766. if( !ret.empty()) ret.append("|");
  7767. ret.append(string_VkConditionalRenderingFlagBitsEXT(static_cast<VkConditionalRenderingFlagBitsEXT>(1U << index)));
  7768. }
  7769. ++index;
  7770. input_value >>= 1;
  7771. }
  7772. if( ret.empty()) ret.append(string_VkConditionalRenderingFlagBitsEXT(static_cast<VkConditionalRenderingFlagBitsEXT>(0)));
  7773. return ret;
  7774. }
  7775. static inline const char* string_VkSurfaceCounterFlagBitsEXT(VkSurfaceCounterFlagBitsEXT input_value)
  7776. {
  7777. switch (input_value)
  7778. {
  7779. case VK_SURFACE_COUNTER_VBLANK_BIT_EXT:
  7780. return "VK_SURFACE_COUNTER_VBLANK_BIT_EXT";
  7781. default:
  7782. return "Unhandled VkSurfaceCounterFlagBitsEXT";
  7783. }
  7784. }
  7785. static inline std::string string_VkSurfaceCounterFlagsEXT(VkSurfaceCounterFlagsEXT input_value)
  7786. {
  7787. std::string ret;
  7788. int index = 0;
  7789. while(input_value) {
  7790. if (input_value & 1) {
  7791. if( !ret.empty()) ret.append("|");
  7792. ret.append(string_VkSurfaceCounterFlagBitsEXT(static_cast<VkSurfaceCounterFlagBitsEXT>(1U << index)));
  7793. }
  7794. ++index;
  7795. input_value >>= 1;
  7796. }
  7797. if( ret.empty()) ret.append(string_VkSurfaceCounterFlagBitsEXT(static_cast<VkSurfaceCounterFlagBitsEXT>(0)));
  7798. return ret;
  7799. }
  7800. static inline const char* string_VkDisplayPowerStateEXT(VkDisplayPowerStateEXT input_value)
  7801. {
  7802. switch (input_value)
  7803. {
  7804. case VK_DISPLAY_POWER_STATE_OFF_EXT:
  7805. return "VK_DISPLAY_POWER_STATE_OFF_EXT";
  7806. case VK_DISPLAY_POWER_STATE_ON_EXT:
  7807. return "VK_DISPLAY_POWER_STATE_ON_EXT";
  7808. case VK_DISPLAY_POWER_STATE_SUSPEND_EXT:
  7809. return "VK_DISPLAY_POWER_STATE_SUSPEND_EXT";
  7810. default:
  7811. return "Unhandled VkDisplayPowerStateEXT";
  7812. }
  7813. }
  7814. static inline const char* string_VkDeviceEventTypeEXT(VkDeviceEventTypeEXT input_value)
  7815. {
  7816. switch (input_value)
  7817. {
  7818. case VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT:
  7819. return "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT";
  7820. default:
  7821. return "Unhandled VkDeviceEventTypeEXT";
  7822. }
  7823. }
  7824. static inline const char* string_VkDisplayEventTypeEXT(VkDisplayEventTypeEXT input_value)
  7825. {
  7826. switch (input_value)
  7827. {
  7828. case VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT:
  7829. return "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT";
  7830. default:
  7831. return "Unhandled VkDisplayEventTypeEXT";
  7832. }
  7833. }
  7834. static inline const char* string_VkViewportCoordinateSwizzleNV(VkViewportCoordinateSwizzleNV input_value)
  7835. {
  7836. switch (input_value)
  7837. {
  7838. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV:
  7839. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV";
  7840. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV:
  7841. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV";
  7842. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV:
  7843. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV";
  7844. case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV:
  7845. return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV";
  7846. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV:
  7847. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV";
  7848. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV:
  7849. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV";
  7850. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV:
  7851. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV";
  7852. case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV:
  7853. return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV";
  7854. default:
  7855. return "Unhandled VkViewportCoordinateSwizzleNV";
  7856. }
  7857. }
  7858. static inline const char* string_VkDiscardRectangleModeEXT(VkDiscardRectangleModeEXT input_value)
  7859. {
  7860. switch (input_value)
  7861. {
  7862. case VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT:
  7863. return "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT";
  7864. case VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT:
  7865. return "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT";
  7866. default:
  7867. return "Unhandled VkDiscardRectangleModeEXT";
  7868. }
  7869. }
  7870. static inline const char* string_VkConservativeRasterizationModeEXT(VkConservativeRasterizationModeEXT input_value)
  7871. {
  7872. switch (input_value)
  7873. {
  7874. case VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT:
  7875. return "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT";
  7876. case VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT:
  7877. return "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT";
  7878. case VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT:
  7879. return "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT";
  7880. default:
  7881. return "Unhandled VkConservativeRasterizationModeEXT";
  7882. }
  7883. }
  7884. static inline const char* string_VkDebugUtilsMessageSeverityFlagBitsEXT(VkDebugUtilsMessageSeverityFlagBitsEXT input_value)
  7885. {
  7886. switch (input_value)
  7887. {
  7888. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT:
  7889. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT";
  7890. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT:
  7891. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT";
  7892. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT:
  7893. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT";
  7894. case VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT:
  7895. return "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT";
  7896. default:
  7897. return "Unhandled VkDebugUtilsMessageSeverityFlagBitsEXT";
  7898. }
  7899. }
  7900. static inline std::string string_VkDebugUtilsMessageSeverityFlagsEXT(VkDebugUtilsMessageSeverityFlagsEXT input_value)
  7901. {
  7902. std::string ret;
  7903. int index = 0;
  7904. while(input_value) {
  7905. if (input_value & 1) {
  7906. if( !ret.empty()) ret.append("|");
  7907. ret.append(string_VkDebugUtilsMessageSeverityFlagBitsEXT(static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>(1U << index)));
  7908. }
  7909. ++index;
  7910. input_value >>= 1;
  7911. }
  7912. if( ret.empty()) ret.append(string_VkDebugUtilsMessageSeverityFlagBitsEXT(static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>(0)));
  7913. return ret;
  7914. }
  7915. static inline const char* string_VkDebugUtilsMessageTypeFlagBitsEXT(VkDebugUtilsMessageTypeFlagBitsEXT input_value)
  7916. {
  7917. switch (input_value)
  7918. {
  7919. case VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT:
  7920. return "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT";
  7921. case VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT:
  7922. return "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT";
  7923. case VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT:
  7924. return "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT";
  7925. default:
  7926. return "Unhandled VkDebugUtilsMessageTypeFlagBitsEXT";
  7927. }
  7928. }
  7929. static inline std::string string_VkDebugUtilsMessageTypeFlagsEXT(VkDebugUtilsMessageTypeFlagsEXT input_value)
  7930. {
  7931. std::string ret;
  7932. int index = 0;
  7933. while(input_value) {
  7934. if (input_value & 1) {
  7935. if( !ret.empty()) ret.append("|");
  7936. ret.append(string_VkDebugUtilsMessageTypeFlagBitsEXT(static_cast<VkDebugUtilsMessageTypeFlagBitsEXT>(1U << index)));
  7937. }
  7938. ++index;
  7939. input_value >>= 1;
  7940. }
  7941. if( ret.empty()) ret.append(string_VkDebugUtilsMessageTypeFlagBitsEXT(static_cast<VkDebugUtilsMessageTypeFlagBitsEXT>(0)));
  7942. return ret;
  7943. }
  7944. static inline const char* string_VkSamplerReductionModeEXT(VkSamplerReductionModeEXT input_value)
  7945. {
  7946. switch (input_value)
  7947. {
  7948. case VK_SAMPLER_REDUCTION_MODE_MAX:
  7949. return "VK_SAMPLER_REDUCTION_MODE_MAX";
  7950. case VK_SAMPLER_REDUCTION_MODE_MIN:
  7951. return "VK_SAMPLER_REDUCTION_MODE_MIN";
  7952. case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE:
  7953. return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE";
  7954. default:
  7955. return "Unhandled VkSamplerReductionModeEXT";
  7956. }
  7957. }
  7958. static inline const char* string_VkBlendOverlapEXT(VkBlendOverlapEXT input_value)
  7959. {
  7960. switch (input_value)
  7961. {
  7962. case VK_BLEND_OVERLAP_CONJOINT_EXT:
  7963. return "VK_BLEND_OVERLAP_CONJOINT_EXT";
  7964. case VK_BLEND_OVERLAP_DISJOINT_EXT:
  7965. return "VK_BLEND_OVERLAP_DISJOINT_EXT";
  7966. case VK_BLEND_OVERLAP_UNCORRELATED_EXT:
  7967. return "VK_BLEND_OVERLAP_UNCORRELATED_EXT";
  7968. default:
  7969. return "Unhandled VkBlendOverlapEXT";
  7970. }
  7971. }
  7972. static inline const char* string_VkCoverageModulationModeNV(VkCoverageModulationModeNV input_value)
  7973. {
  7974. switch (input_value)
  7975. {
  7976. case VK_COVERAGE_MODULATION_MODE_ALPHA_NV:
  7977. return "VK_COVERAGE_MODULATION_MODE_ALPHA_NV";
  7978. case VK_COVERAGE_MODULATION_MODE_NONE_NV:
  7979. return "VK_COVERAGE_MODULATION_MODE_NONE_NV";
  7980. case VK_COVERAGE_MODULATION_MODE_RGBA_NV:
  7981. return "VK_COVERAGE_MODULATION_MODE_RGBA_NV";
  7982. case VK_COVERAGE_MODULATION_MODE_RGB_NV:
  7983. return "VK_COVERAGE_MODULATION_MODE_RGB_NV";
  7984. default:
  7985. return "Unhandled VkCoverageModulationModeNV";
  7986. }
  7987. }
  7988. static inline const char* string_VkValidationCacheHeaderVersionEXT(VkValidationCacheHeaderVersionEXT input_value)
  7989. {
  7990. switch (input_value)
  7991. {
  7992. case VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT:
  7993. return "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT";
  7994. default:
  7995. return "Unhandled VkValidationCacheHeaderVersionEXT";
  7996. }
  7997. }
  7998. static inline const char* string_VkDescriptorBindingFlagBitsEXT(VkDescriptorBindingFlagBitsEXT input_value)
  7999. {
  8000. switch (input_value)
  8001. {
  8002. case VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT:
  8003. return "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT";
  8004. case VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT:
  8005. return "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT";
  8006. case VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT:
  8007. return "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT";
  8008. case VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT:
  8009. return "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT";
  8010. default:
  8011. return "Unhandled VkDescriptorBindingFlagBitsEXT";
  8012. }
  8013. }
  8014. static inline std::string string_VkDescriptorBindingFlagsEXT(VkDescriptorBindingFlagsEXT input_value)
  8015. {
  8016. std::string ret;
  8017. int index = 0;
  8018. while(input_value) {
  8019. if (input_value & 1) {
  8020. if( !ret.empty()) ret.append("|");
  8021. ret.append(string_VkDescriptorBindingFlagBitsEXT(static_cast<VkDescriptorBindingFlagBitsEXT>(1U << index)));
  8022. }
  8023. ++index;
  8024. input_value >>= 1;
  8025. }
  8026. if( ret.empty()) ret.append(string_VkDescriptorBindingFlagBitsEXT(static_cast<VkDescriptorBindingFlagBitsEXT>(0)));
  8027. return ret;
  8028. }
  8029. static inline const char* string_VkShadingRatePaletteEntryNV(VkShadingRatePaletteEntryNV input_value)
  8030. {
  8031. switch (input_value)
  8032. {
  8033. case VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV:
  8034. return "VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV";
  8035. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV:
  8036. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV";
  8037. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV:
  8038. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV";
  8039. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV:
  8040. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV";
  8041. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV:
  8042. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV";
  8043. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV:
  8044. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV";
  8045. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV:
  8046. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV";
  8047. case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV:
  8048. return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV";
  8049. case VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV:
  8050. return "VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV";
  8051. case VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV:
  8052. return "VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV";
  8053. case VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV:
  8054. return "VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV";
  8055. case VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV:
  8056. return "VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV";
  8057. default:
  8058. return "Unhandled VkShadingRatePaletteEntryNV";
  8059. }
  8060. }
  8061. static inline const char* string_VkCoarseSampleOrderTypeNV(VkCoarseSampleOrderTypeNV input_value)
  8062. {
  8063. switch (input_value)
  8064. {
  8065. case VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV:
  8066. return "VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV";
  8067. case VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV:
  8068. return "VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV";
  8069. case VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV:
  8070. return "VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV";
  8071. case VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV:
  8072. return "VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV";
  8073. default:
  8074. return "Unhandled VkCoarseSampleOrderTypeNV";
  8075. }
  8076. }
  8077. static inline const char* string_VkRayTracingShaderGroupTypeKHR(VkRayTracingShaderGroupTypeKHR input_value)
  8078. {
  8079. switch (input_value)
  8080. {
  8081. case VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR:
  8082. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR";
  8083. case VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR:
  8084. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR";
  8085. case VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR:
  8086. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR";
  8087. default:
  8088. return "Unhandled VkRayTracingShaderGroupTypeKHR";
  8089. }
  8090. }
  8091. static inline const char* string_VkRayTracingShaderGroupTypeNV(VkRayTracingShaderGroupTypeNV input_value)
  8092. {
  8093. switch (input_value)
  8094. {
  8095. case VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR:
  8096. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR";
  8097. case VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR:
  8098. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR";
  8099. case VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR:
  8100. return "VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR";
  8101. default:
  8102. return "Unhandled VkRayTracingShaderGroupTypeNV";
  8103. }
  8104. }
  8105. static inline const char* string_VkGeometryTypeKHR(VkGeometryTypeKHR input_value)
  8106. {
  8107. switch (input_value)
  8108. {
  8109. case VK_GEOMETRY_TYPE_AABBS_KHR:
  8110. return "VK_GEOMETRY_TYPE_AABBS_KHR";
  8111. case VK_GEOMETRY_TYPE_INSTANCES_KHR:
  8112. return "VK_GEOMETRY_TYPE_INSTANCES_KHR";
  8113. case VK_GEOMETRY_TYPE_TRIANGLES_KHR:
  8114. return "VK_GEOMETRY_TYPE_TRIANGLES_KHR";
  8115. default:
  8116. return "Unhandled VkGeometryTypeKHR";
  8117. }
  8118. }
  8119. static inline const char* string_VkGeometryTypeNV(VkGeometryTypeNV input_value)
  8120. {
  8121. switch (input_value)
  8122. {
  8123. case VK_GEOMETRY_TYPE_AABBS_KHR:
  8124. return "VK_GEOMETRY_TYPE_AABBS_KHR";
  8125. case VK_GEOMETRY_TYPE_INSTANCES_KHR:
  8126. return "VK_GEOMETRY_TYPE_INSTANCES_KHR";
  8127. case VK_GEOMETRY_TYPE_TRIANGLES_KHR:
  8128. return "VK_GEOMETRY_TYPE_TRIANGLES_KHR";
  8129. default:
  8130. return "Unhandled VkGeometryTypeNV";
  8131. }
  8132. }
  8133. static inline const char* string_VkAccelerationStructureTypeKHR(VkAccelerationStructureTypeKHR input_value)
  8134. {
  8135. switch (input_value)
  8136. {
  8137. case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR:
  8138. return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR";
  8139. case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR:
  8140. return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR";
  8141. case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR:
  8142. return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR";
  8143. default:
  8144. return "Unhandled VkAccelerationStructureTypeKHR";
  8145. }
  8146. }
  8147. static inline const char* string_VkAccelerationStructureTypeNV(VkAccelerationStructureTypeNV input_value)
  8148. {
  8149. switch (input_value)
  8150. {
  8151. case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR:
  8152. return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR";
  8153. case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR:
  8154. return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR";
  8155. case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR:
  8156. return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR";
  8157. default:
  8158. return "Unhandled VkAccelerationStructureTypeNV";
  8159. }
  8160. }
  8161. static inline const char* string_VkGeometryFlagBitsKHR(VkGeometryFlagBitsKHR input_value)
  8162. {
  8163. switch (input_value)
  8164. {
  8165. case VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR:
  8166. return "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR";
  8167. case VK_GEOMETRY_OPAQUE_BIT_KHR:
  8168. return "VK_GEOMETRY_OPAQUE_BIT_KHR";
  8169. default:
  8170. return "Unhandled VkGeometryFlagBitsKHR";
  8171. }
  8172. }
  8173. static inline std::string string_VkGeometryFlagsKHR(VkGeometryFlagsKHR input_value)
  8174. {
  8175. std::string ret;
  8176. int index = 0;
  8177. while(input_value) {
  8178. if (input_value & 1) {
  8179. if( !ret.empty()) ret.append("|");
  8180. ret.append(string_VkGeometryFlagBitsKHR(static_cast<VkGeometryFlagBitsKHR>(1U << index)));
  8181. }
  8182. ++index;
  8183. input_value >>= 1;
  8184. }
  8185. if( ret.empty()) ret.append(string_VkGeometryFlagBitsKHR(static_cast<VkGeometryFlagBitsKHR>(0)));
  8186. return ret;
  8187. }
  8188. static inline const char* string_VkGeometryFlagBitsNV(VkGeometryFlagBitsNV input_value)
  8189. {
  8190. switch (input_value)
  8191. {
  8192. case VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR:
  8193. return "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR";
  8194. case VK_GEOMETRY_OPAQUE_BIT_KHR:
  8195. return "VK_GEOMETRY_OPAQUE_BIT_KHR";
  8196. default:
  8197. return "Unhandled VkGeometryFlagBitsNV";
  8198. }
  8199. }
  8200. static inline std::string string_VkGeometryFlagsNV(VkGeometryFlagsNV input_value)
  8201. {
  8202. std::string ret;
  8203. int index = 0;
  8204. while(input_value) {
  8205. if (input_value & 1) {
  8206. if( !ret.empty()) ret.append("|");
  8207. ret.append(string_VkGeometryFlagBitsNV(static_cast<VkGeometryFlagBitsNV>(1U << index)));
  8208. }
  8209. ++index;
  8210. input_value >>= 1;
  8211. }
  8212. if( ret.empty()) ret.append(string_VkGeometryFlagBitsNV(static_cast<VkGeometryFlagBitsNV>(0)));
  8213. return ret;
  8214. }
  8215. static inline const char* string_VkGeometryInstanceFlagBitsKHR(VkGeometryInstanceFlagBitsKHR input_value)
  8216. {
  8217. switch (input_value)
  8218. {
  8219. case VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR:
  8220. return "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR";
  8221. case VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR:
  8222. return "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR";
  8223. case VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR:
  8224. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR";
  8225. case VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR:
  8226. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR";
  8227. default:
  8228. return "Unhandled VkGeometryInstanceFlagBitsKHR";
  8229. }
  8230. }
  8231. static inline std::string string_VkGeometryInstanceFlagsKHR(VkGeometryInstanceFlagsKHR input_value)
  8232. {
  8233. std::string ret;
  8234. int index = 0;
  8235. while(input_value) {
  8236. if (input_value & 1) {
  8237. if( !ret.empty()) ret.append("|");
  8238. ret.append(string_VkGeometryInstanceFlagBitsKHR(static_cast<VkGeometryInstanceFlagBitsKHR>(1U << index)));
  8239. }
  8240. ++index;
  8241. input_value >>= 1;
  8242. }
  8243. if( ret.empty()) ret.append(string_VkGeometryInstanceFlagBitsKHR(static_cast<VkGeometryInstanceFlagBitsKHR>(0)));
  8244. return ret;
  8245. }
  8246. static inline const char* string_VkGeometryInstanceFlagBitsNV(VkGeometryInstanceFlagBitsNV input_value)
  8247. {
  8248. switch (input_value)
  8249. {
  8250. case VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR:
  8251. return "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR";
  8252. case VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR:
  8253. return "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR";
  8254. case VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR:
  8255. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR";
  8256. case VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR:
  8257. return "VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR";
  8258. default:
  8259. return "Unhandled VkGeometryInstanceFlagBitsNV";
  8260. }
  8261. }
  8262. static inline std::string string_VkGeometryInstanceFlagsNV(VkGeometryInstanceFlagsNV input_value)
  8263. {
  8264. std::string ret;
  8265. int index = 0;
  8266. while(input_value) {
  8267. if (input_value & 1) {
  8268. if( !ret.empty()) ret.append("|");
  8269. ret.append(string_VkGeometryInstanceFlagBitsNV(static_cast<VkGeometryInstanceFlagBitsNV>(1U << index)));
  8270. }
  8271. ++index;
  8272. input_value >>= 1;
  8273. }
  8274. if( ret.empty()) ret.append(string_VkGeometryInstanceFlagBitsNV(static_cast<VkGeometryInstanceFlagBitsNV>(0)));
  8275. return ret;
  8276. }
  8277. static inline const char* string_VkBuildAccelerationStructureFlagBitsKHR(VkBuildAccelerationStructureFlagBitsKHR input_value)
  8278. {
  8279. switch (input_value)
  8280. {
  8281. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR:
  8282. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR";
  8283. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR:
  8284. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR";
  8285. case VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR:
  8286. return "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR";
  8287. case VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV:
  8288. return "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV";
  8289. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR:
  8290. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR";
  8291. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR:
  8292. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR";
  8293. default:
  8294. return "Unhandled VkBuildAccelerationStructureFlagBitsKHR";
  8295. }
  8296. }
  8297. static inline std::string string_VkBuildAccelerationStructureFlagsKHR(VkBuildAccelerationStructureFlagsKHR input_value)
  8298. {
  8299. std::string ret;
  8300. int index = 0;
  8301. while(input_value) {
  8302. if (input_value & 1) {
  8303. if( !ret.empty()) ret.append("|");
  8304. ret.append(string_VkBuildAccelerationStructureFlagBitsKHR(static_cast<VkBuildAccelerationStructureFlagBitsKHR>(1U << index)));
  8305. }
  8306. ++index;
  8307. input_value >>= 1;
  8308. }
  8309. if( ret.empty()) ret.append(string_VkBuildAccelerationStructureFlagBitsKHR(static_cast<VkBuildAccelerationStructureFlagBitsKHR>(0)));
  8310. return ret;
  8311. }
  8312. static inline const char* string_VkBuildAccelerationStructureFlagBitsNV(VkBuildAccelerationStructureFlagBitsNV input_value)
  8313. {
  8314. switch (input_value)
  8315. {
  8316. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR:
  8317. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR";
  8318. case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR:
  8319. return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR";
  8320. case VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR:
  8321. return "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR";
  8322. case VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV:
  8323. return "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV";
  8324. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR:
  8325. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR";
  8326. case VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR:
  8327. return "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR";
  8328. default:
  8329. return "Unhandled VkBuildAccelerationStructureFlagBitsNV";
  8330. }
  8331. }
  8332. static inline std::string string_VkBuildAccelerationStructureFlagsNV(VkBuildAccelerationStructureFlagsNV input_value)
  8333. {
  8334. std::string ret;
  8335. int index = 0;
  8336. while(input_value) {
  8337. if (input_value & 1) {
  8338. if( !ret.empty()) ret.append("|");
  8339. ret.append(string_VkBuildAccelerationStructureFlagBitsNV(static_cast<VkBuildAccelerationStructureFlagBitsNV>(1U << index)));
  8340. }
  8341. ++index;
  8342. input_value >>= 1;
  8343. }
  8344. if( ret.empty()) ret.append(string_VkBuildAccelerationStructureFlagBitsNV(static_cast<VkBuildAccelerationStructureFlagBitsNV>(0)));
  8345. return ret;
  8346. }
  8347. static inline const char* string_VkCopyAccelerationStructureModeKHR(VkCopyAccelerationStructureModeKHR input_value)
  8348. {
  8349. switch (input_value)
  8350. {
  8351. case VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR:
  8352. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR";
  8353. case VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR:
  8354. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR";
  8355. case VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR:
  8356. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR";
  8357. case VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR:
  8358. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR";
  8359. default:
  8360. return "Unhandled VkCopyAccelerationStructureModeKHR";
  8361. }
  8362. }
  8363. static inline const char* string_VkCopyAccelerationStructureModeNV(VkCopyAccelerationStructureModeNV input_value)
  8364. {
  8365. switch (input_value)
  8366. {
  8367. case VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR:
  8368. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR";
  8369. case VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR:
  8370. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR";
  8371. case VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR:
  8372. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR";
  8373. case VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR:
  8374. return "VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR";
  8375. default:
  8376. return "Unhandled VkCopyAccelerationStructureModeNV";
  8377. }
  8378. }
  8379. static inline const char* string_VkAccelerationStructureMemoryRequirementsTypeNV(VkAccelerationStructureMemoryRequirementsTypeNV input_value)
  8380. {
  8381. switch (input_value)
  8382. {
  8383. case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV:
  8384. return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV";
  8385. case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV:
  8386. return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV";
  8387. case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV:
  8388. return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV";
  8389. default:
  8390. return "Unhandled VkAccelerationStructureMemoryRequirementsTypeNV";
  8391. }
  8392. }
  8393. static inline const char* string_VkQueueGlobalPriorityEXT(VkQueueGlobalPriorityEXT input_value)
  8394. {
  8395. switch (input_value)
  8396. {
  8397. case VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR:
  8398. return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR";
  8399. case VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR:
  8400. return "VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR";
  8401. case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR:
  8402. return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR";
  8403. case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR:
  8404. return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR";
  8405. default:
  8406. return "Unhandled VkQueueGlobalPriorityEXT";
  8407. }
  8408. }
  8409. static inline const char* string_VkTimeDomainEXT(VkTimeDomainEXT input_value)
  8410. {
  8411. switch (input_value)
  8412. {
  8413. case VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT:
  8414. return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT";
  8415. case VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT:
  8416. return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT";
  8417. case VK_TIME_DOMAIN_DEVICE_EXT:
  8418. return "VK_TIME_DOMAIN_DEVICE_EXT";
  8419. case VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT:
  8420. return "VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT";
  8421. default:
  8422. return "Unhandled VkTimeDomainEXT";
  8423. }
  8424. }
  8425. static inline const char* string_VkMemoryOverallocationBehaviorAMD(VkMemoryOverallocationBehaviorAMD input_value)
  8426. {
  8427. switch (input_value)
  8428. {
  8429. case VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD:
  8430. return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD";
  8431. case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD:
  8432. return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD";
  8433. case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD:
  8434. return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD";
  8435. default:
  8436. return "Unhandled VkMemoryOverallocationBehaviorAMD";
  8437. }
  8438. }
  8439. static inline const char* string_VkPipelineCreationFeedbackFlagBitsEXT(VkPipelineCreationFeedbackFlagBitsEXT input_value)
  8440. {
  8441. switch (input_value)
  8442. {
  8443. case VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT:
  8444. return "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT";
  8445. case VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT:
  8446. return "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT";
  8447. case VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT:
  8448. return "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT";
  8449. default:
  8450. return "Unhandled VkPipelineCreationFeedbackFlagBitsEXT";
  8451. }
  8452. }
  8453. static inline std::string string_VkPipelineCreationFeedbackFlagsEXT(VkPipelineCreationFeedbackFlagsEXT input_value)
  8454. {
  8455. std::string ret;
  8456. int index = 0;
  8457. while(input_value) {
  8458. if (input_value & 1) {
  8459. if( !ret.empty()) ret.append("|");
  8460. ret.append(string_VkPipelineCreationFeedbackFlagBitsEXT(static_cast<VkPipelineCreationFeedbackFlagBitsEXT>(1U << index)));
  8461. }
  8462. ++index;
  8463. input_value >>= 1;
  8464. }
  8465. if( ret.empty()) ret.append(string_VkPipelineCreationFeedbackFlagBitsEXT(static_cast<VkPipelineCreationFeedbackFlagBitsEXT>(0)));
  8466. return ret;
  8467. }
  8468. static inline const char* string_VkPerformanceConfigurationTypeINTEL(VkPerformanceConfigurationTypeINTEL input_value)
  8469. {
  8470. switch (input_value)
  8471. {
  8472. case VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL:
  8473. return "VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL";
  8474. default:
  8475. return "Unhandled VkPerformanceConfigurationTypeINTEL";
  8476. }
  8477. }
  8478. static inline const char* string_VkQueryPoolSamplingModeINTEL(VkQueryPoolSamplingModeINTEL input_value)
  8479. {
  8480. switch (input_value)
  8481. {
  8482. case VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL:
  8483. return "VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL";
  8484. default:
  8485. return "Unhandled VkQueryPoolSamplingModeINTEL";
  8486. }
  8487. }
  8488. static inline const char* string_VkPerformanceOverrideTypeINTEL(VkPerformanceOverrideTypeINTEL input_value)
  8489. {
  8490. switch (input_value)
  8491. {
  8492. case VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL:
  8493. return "VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL";
  8494. case VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL:
  8495. return "VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL";
  8496. default:
  8497. return "Unhandled VkPerformanceOverrideTypeINTEL";
  8498. }
  8499. }
  8500. static inline const char* string_VkPerformanceParameterTypeINTEL(VkPerformanceParameterTypeINTEL input_value)
  8501. {
  8502. switch (input_value)
  8503. {
  8504. case VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL:
  8505. return "VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL";
  8506. case VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL:
  8507. return "VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL";
  8508. default:
  8509. return "Unhandled VkPerformanceParameterTypeINTEL";
  8510. }
  8511. }
  8512. static inline const char* string_VkPerformanceValueTypeINTEL(VkPerformanceValueTypeINTEL input_value)
  8513. {
  8514. switch (input_value)
  8515. {
  8516. case VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL:
  8517. return "VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL";
  8518. case VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL:
  8519. return "VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL";
  8520. case VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL:
  8521. return "VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL";
  8522. case VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL:
  8523. return "VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL";
  8524. case VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL:
  8525. return "VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL";
  8526. default:
  8527. return "Unhandled VkPerformanceValueTypeINTEL";
  8528. }
  8529. }
  8530. static inline const char* string_VkToolPurposeFlagBitsEXT(VkToolPurposeFlagBitsEXT input_value)
  8531. {
  8532. switch (input_value)
  8533. {
  8534. case VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT:
  8535. return "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT";
  8536. case VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT:
  8537. return "VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT";
  8538. case VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT:
  8539. return "VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT";
  8540. case VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT:
  8541. return "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT";
  8542. case VK_TOOL_PURPOSE_PROFILING_BIT:
  8543. return "VK_TOOL_PURPOSE_PROFILING_BIT";
  8544. case VK_TOOL_PURPOSE_TRACING_BIT:
  8545. return "VK_TOOL_PURPOSE_TRACING_BIT";
  8546. case VK_TOOL_PURPOSE_VALIDATION_BIT:
  8547. return "VK_TOOL_PURPOSE_VALIDATION_BIT";
  8548. default:
  8549. return "Unhandled VkToolPurposeFlagBitsEXT";
  8550. }
  8551. }
  8552. static inline std::string string_VkToolPurposeFlagsEXT(VkToolPurposeFlagsEXT input_value)
  8553. {
  8554. std::string ret;
  8555. int index = 0;
  8556. while(input_value) {
  8557. if (input_value & 1) {
  8558. if( !ret.empty()) ret.append("|");
  8559. ret.append(string_VkToolPurposeFlagBitsEXT(static_cast<VkToolPurposeFlagBitsEXT>(1U << index)));
  8560. }
  8561. ++index;
  8562. input_value >>= 1;
  8563. }
  8564. if( ret.empty()) ret.append(string_VkToolPurposeFlagBitsEXT(static_cast<VkToolPurposeFlagBitsEXT>(0)));
  8565. return ret;
  8566. }
  8567. static inline const char* string_VkValidationFeatureEnableEXT(VkValidationFeatureEnableEXT input_value)
  8568. {
  8569. switch (input_value)
  8570. {
  8571. case VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT:
  8572. return "VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT";
  8573. case VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT:
  8574. return "VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT";
  8575. case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT:
  8576. return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT";
  8577. case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT:
  8578. return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT";
  8579. case VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT:
  8580. return "VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT";
  8581. default:
  8582. return "Unhandled VkValidationFeatureEnableEXT";
  8583. }
  8584. }
  8585. static inline const char* string_VkValidationFeatureDisableEXT(VkValidationFeatureDisableEXT input_value)
  8586. {
  8587. switch (input_value)
  8588. {
  8589. case VK_VALIDATION_FEATURE_DISABLE_ALL_EXT:
  8590. return "VK_VALIDATION_FEATURE_DISABLE_ALL_EXT";
  8591. case VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT:
  8592. return "VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT";
  8593. case VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT:
  8594. return "VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT";
  8595. case VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT:
  8596. return "VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT";
  8597. case VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT:
  8598. return "VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT";
  8599. case VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT:
  8600. return "VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT";
  8601. case VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT:
  8602. return "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT";
  8603. case VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT:
  8604. return "VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT";
  8605. default:
  8606. return "Unhandled VkValidationFeatureDisableEXT";
  8607. }
  8608. }
  8609. static inline const char* string_VkComponentTypeNV(VkComponentTypeNV input_value)
  8610. {
  8611. switch (input_value)
  8612. {
  8613. case VK_COMPONENT_TYPE_FLOAT16_NV:
  8614. return "VK_COMPONENT_TYPE_FLOAT16_NV";
  8615. case VK_COMPONENT_TYPE_FLOAT32_NV:
  8616. return "VK_COMPONENT_TYPE_FLOAT32_NV";
  8617. case VK_COMPONENT_TYPE_FLOAT64_NV:
  8618. return "VK_COMPONENT_TYPE_FLOAT64_NV";
  8619. case VK_COMPONENT_TYPE_SINT16_NV:
  8620. return "VK_COMPONENT_TYPE_SINT16_NV";
  8621. case VK_COMPONENT_TYPE_SINT32_NV:
  8622. return "VK_COMPONENT_TYPE_SINT32_NV";
  8623. case VK_COMPONENT_TYPE_SINT64_NV:
  8624. return "VK_COMPONENT_TYPE_SINT64_NV";
  8625. case VK_COMPONENT_TYPE_SINT8_NV:
  8626. return "VK_COMPONENT_TYPE_SINT8_NV";
  8627. case VK_COMPONENT_TYPE_UINT16_NV:
  8628. return "VK_COMPONENT_TYPE_UINT16_NV";
  8629. case VK_COMPONENT_TYPE_UINT32_NV:
  8630. return "VK_COMPONENT_TYPE_UINT32_NV";
  8631. case VK_COMPONENT_TYPE_UINT64_NV:
  8632. return "VK_COMPONENT_TYPE_UINT64_NV";
  8633. case VK_COMPONENT_TYPE_UINT8_NV:
  8634. return "VK_COMPONENT_TYPE_UINT8_NV";
  8635. default:
  8636. return "Unhandled VkComponentTypeNV";
  8637. }
  8638. }
  8639. static inline const char* string_VkScopeNV(VkScopeNV input_value)
  8640. {
  8641. switch (input_value)
  8642. {
  8643. case VK_SCOPE_DEVICE_NV:
  8644. return "VK_SCOPE_DEVICE_NV";
  8645. case VK_SCOPE_QUEUE_FAMILY_NV:
  8646. return "VK_SCOPE_QUEUE_FAMILY_NV";
  8647. case VK_SCOPE_SUBGROUP_NV:
  8648. return "VK_SCOPE_SUBGROUP_NV";
  8649. case VK_SCOPE_WORKGROUP_NV:
  8650. return "VK_SCOPE_WORKGROUP_NV";
  8651. default:
  8652. return "Unhandled VkScopeNV";
  8653. }
  8654. }
  8655. static inline const char* string_VkCoverageReductionModeNV(VkCoverageReductionModeNV input_value)
  8656. {
  8657. switch (input_value)
  8658. {
  8659. case VK_COVERAGE_REDUCTION_MODE_MERGE_NV:
  8660. return "VK_COVERAGE_REDUCTION_MODE_MERGE_NV";
  8661. case VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV:
  8662. return "VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV";
  8663. default:
  8664. return "Unhandled VkCoverageReductionModeNV";
  8665. }
  8666. }
  8667. static inline const char* string_VkProvokingVertexModeEXT(VkProvokingVertexModeEXT input_value)
  8668. {
  8669. switch (input_value)
  8670. {
  8671. case VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT:
  8672. return "VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT";
  8673. case VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT:
  8674. return "VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT";
  8675. default:
  8676. return "Unhandled VkProvokingVertexModeEXT";
  8677. }
  8678. }
  8679. #ifdef VK_USE_PLATFORM_WIN32_KHR
  8680. static inline const char* string_VkFullScreenExclusiveEXT(VkFullScreenExclusiveEXT input_value)
  8681. {
  8682. switch (input_value)
  8683. {
  8684. case VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT:
  8685. return "VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT";
  8686. case VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT:
  8687. return "VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT";
  8688. case VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT:
  8689. return "VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT";
  8690. case VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT:
  8691. return "VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT";
  8692. default:
  8693. return "Unhandled VkFullScreenExclusiveEXT";
  8694. }
  8695. }
  8696. #endif // VK_USE_PLATFORM_WIN32_KHR
  8697. static inline const char* string_VkLineRasterizationModeEXT(VkLineRasterizationModeEXT input_value)
  8698. {
  8699. switch (input_value)
  8700. {
  8701. case VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT:
  8702. return "VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT";
  8703. case VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT:
  8704. return "VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT";
  8705. case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT:
  8706. return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT";
  8707. case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT:
  8708. return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT";
  8709. default:
  8710. return "Unhandled VkLineRasterizationModeEXT";
  8711. }
  8712. }
  8713. static inline const char* string_VkIndirectStateFlagBitsNV(VkIndirectStateFlagBitsNV input_value)
  8714. {
  8715. switch (input_value)
  8716. {
  8717. case VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV:
  8718. return "VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV";
  8719. default:
  8720. return "Unhandled VkIndirectStateFlagBitsNV";
  8721. }
  8722. }
  8723. static inline std::string string_VkIndirectStateFlagsNV(VkIndirectStateFlagsNV input_value)
  8724. {
  8725. std::string ret;
  8726. int index = 0;
  8727. while(input_value) {
  8728. if (input_value & 1) {
  8729. if( !ret.empty()) ret.append("|");
  8730. ret.append(string_VkIndirectStateFlagBitsNV(static_cast<VkIndirectStateFlagBitsNV>(1U << index)));
  8731. }
  8732. ++index;
  8733. input_value >>= 1;
  8734. }
  8735. if( ret.empty()) ret.append(string_VkIndirectStateFlagBitsNV(static_cast<VkIndirectStateFlagBitsNV>(0)));
  8736. return ret;
  8737. }
  8738. static inline const char* string_VkIndirectCommandsTokenTypeNV(VkIndirectCommandsTokenTypeNV input_value)
  8739. {
  8740. switch (input_value)
  8741. {
  8742. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV:
  8743. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV";
  8744. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV:
  8745. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV";
  8746. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV:
  8747. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV";
  8748. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV:
  8749. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV";
  8750. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV:
  8751. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV";
  8752. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV:
  8753. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV";
  8754. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV:
  8755. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV";
  8756. case VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV:
  8757. return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV";
  8758. default:
  8759. return "Unhandled VkIndirectCommandsTokenTypeNV";
  8760. }
  8761. }
  8762. static inline const char* string_VkIndirectCommandsLayoutUsageFlagBitsNV(VkIndirectCommandsLayoutUsageFlagBitsNV input_value)
  8763. {
  8764. switch (input_value)
  8765. {
  8766. case VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV:
  8767. return "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV";
  8768. case VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV:
  8769. return "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV";
  8770. case VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV:
  8771. return "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV";
  8772. default:
  8773. return "Unhandled VkIndirectCommandsLayoutUsageFlagBitsNV";
  8774. }
  8775. }
  8776. static inline std::string string_VkIndirectCommandsLayoutUsageFlagsNV(VkIndirectCommandsLayoutUsageFlagsNV input_value)
  8777. {
  8778. std::string ret;
  8779. int index = 0;
  8780. while(input_value) {
  8781. if (input_value & 1) {
  8782. if( !ret.empty()) ret.append("|");
  8783. ret.append(string_VkIndirectCommandsLayoutUsageFlagBitsNV(static_cast<VkIndirectCommandsLayoutUsageFlagBitsNV>(1U << index)));
  8784. }
  8785. ++index;
  8786. input_value >>= 1;
  8787. }
  8788. if( ret.empty()) ret.append(string_VkIndirectCommandsLayoutUsageFlagBitsNV(static_cast<VkIndirectCommandsLayoutUsageFlagBitsNV>(0)));
  8789. return ret;
  8790. }
  8791. static inline const char* string_VkDeviceMemoryReportEventTypeEXT(VkDeviceMemoryReportEventTypeEXT input_value)
  8792. {
  8793. switch (input_value)
  8794. {
  8795. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT:
  8796. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT";
  8797. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT:
  8798. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT";
  8799. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT:
  8800. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT";
  8801. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT:
  8802. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT";
  8803. case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT:
  8804. return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT";
  8805. default:
  8806. return "Unhandled VkDeviceMemoryReportEventTypeEXT";
  8807. }
  8808. }
  8809. static inline const char* string_VkDeviceDiagnosticsConfigFlagBitsNV(VkDeviceDiagnosticsConfigFlagBitsNV input_value)
  8810. {
  8811. switch (input_value)
  8812. {
  8813. case VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV:
  8814. return "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV";
  8815. case VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV:
  8816. return "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV";
  8817. case VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV:
  8818. return "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV";
  8819. default:
  8820. return "Unhandled VkDeviceDiagnosticsConfigFlagBitsNV";
  8821. }
  8822. }
  8823. static inline std::string string_VkDeviceDiagnosticsConfigFlagsNV(VkDeviceDiagnosticsConfigFlagsNV input_value)
  8824. {
  8825. std::string ret;
  8826. int index = 0;
  8827. while(input_value) {
  8828. if (input_value & 1) {
  8829. if( !ret.empty()) ret.append("|");
  8830. ret.append(string_VkDeviceDiagnosticsConfigFlagBitsNV(static_cast<VkDeviceDiagnosticsConfigFlagBitsNV>(1U << index)));
  8831. }
  8832. ++index;
  8833. input_value >>= 1;
  8834. }
  8835. if( ret.empty()) ret.append(string_VkDeviceDiagnosticsConfigFlagBitsNV(static_cast<VkDeviceDiagnosticsConfigFlagBitsNV>(0)));
  8836. return ret;
  8837. }
  8838. static inline const char* string_VkFragmentShadingRateTypeNV(VkFragmentShadingRateTypeNV input_value)
  8839. {
  8840. switch (input_value)
  8841. {
  8842. case VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV:
  8843. return "VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV";
  8844. case VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV:
  8845. return "VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV";
  8846. default:
  8847. return "Unhandled VkFragmentShadingRateTypeNV";
  8848. }
  8849. }
  8850. static inline const char* string_VkFragmentShadingRateNV(VkFragmentShadingRateNV input_value)
  8851. {
  8852. switch (input_value)
  8853. {
  8854. case VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV:
  8855. return "VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV";
  8856. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV:
  8857. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV";
  8858. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV:
  8859. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV";
  8860. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV:
  8861. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV";
  8862. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV:
  8863. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV";
  8864. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV:
  8865. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV";
  8866. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV:
  8867. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV";
  8868. case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV:
  8869. return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV";
  8870. case VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV:
  8871. return "VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV";
  8872. case VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV:
  8873. return "VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV";
  8874. case VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV:
  8875. return "VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV";
  8876. case VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV:
  8877. return "VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV";
  8878. default:
  8879. return "Unhandled VkFragmentShadingRateNV";
  8880. }
  8881. }
  8882. static inline const char* string_VkAccelerationStructureMotionInstanceTypeNV(VkAccelerationStructureMotionInstanceTypeNV input_value)
  8883. {
  8884. switch (input_value)
  8885. {
  8886. case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV:
  8887. return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV";
  8888. case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV:
  8889. return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV";
  8890. case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV:
  8891. return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV";
  8892. default:
  8893. return "Unhandled VkAccelerationStructureMotionInstanceTypeNV";
  8894. }
  8895. }
  8896. #ifdef VK_USE_PLATFORM_FUCHSIA
  8897. static inline const char* string_VkImageConstraintsInfoFlagBitsFUCHSIA(VkImageConstraintsInfoFlagBitsFUCHSIA input_value)
  8898. {
  8899. switch (input_value)
  8900. {
  8901. case VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA:
  8902. return "VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA";
  8903. case VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA:
  8904. return "VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA";
  8905. case VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA:
  8906. return "VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA";
  8907. case VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA:
  8908. return "VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA";
  8909. case VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA:
  8910. return "VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA";
  8911. default:
  8912. return "Unhandled VkImageConstraintsInfoFlagBitsFUCHSIA";
  8913. }
  8914. }
  8915. static inline std::string string_VkImageConstraintsInfoFlagsFUCHSIA(VkImageConstraintsInfoFlagsFUCHSIA input_value)
  8916. {
  8917. std::string ret;
  8918. int index = 0;
  8919. while(input_value) {
  8920. if (input_value & 1) {
  8921. if( !ret.empty()) ret.append("|");
  8922. ret.append(string_VkImageConstraintsInfoFlagBitsFUCHSIA(static_cast<VkImageConstraintsInfoFlagBitsFUCHSIA>(1U << index)));
  8923. }
  8924. ++index;
  8925. input_value >>= 1;
  8926. }
  8927. if( ret.empty()) ret.append(string_VkImageConstraintsInfoFlagBitsFUCHSIA(static_cast<VkImageConstraintsInfoFlagBitsFUCHSIA>(0)));
  8928. return ret;
  8929. }
  8930. #endif // VK_USE_PLATFORM_FUCHSIA
  8931. static inline const char* string_VkBuildAccelerationStructureModeKHR(VkBuildAccelerationStructureModeKHR input_value)
  8932. {
  8933. switch (input_value)
  8934. {
  8935. case VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR:
  8936. return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR";
  8937. case VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR:
  8938. return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR";
  8939. default:
  8940. return "Unhandled VkBuildAccelerationStructureModeKHR";
  8941. }
  8942. }
  8943. static inline const char* string_VkAccelerationStructureBuildTypeKHR(VkAccelerationStructureBuildTypeKHR input_value)
  8944. {
  8945. switch (input_value)
  8946. {
  8947. case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR:
  8948. return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR";
  8949. case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR:
  8950. return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR";
  8951. case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR:
  8952. return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR";
  8953. default:
  8954. return "Unhandled VkAccelerationStructureBuildTypeKHR";
  8955. }
  8956. }
  8957. static inline const char* string_VkAccelerationStructureCreateFlagBitsKHR(VkAccelerationStructureCreateFlagBitsKHR input_value)
  8958. {
  8959. switch (input_value)
  8960. {
  8961. case VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR:
  8962. return "VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR";
  8963. case VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV:
  8964. return "VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV";
  8965. default:
  8966. return "Unhandled VkAccelerationStructureCreateFlagBitsKHR";
  8967. }
  8968. }
  8969. static inline std::string string_VkAccelerationStructureCreateFlagsKHR(VkAccelerationStructureCreateFlagsKHR input_value)
  8970. {
  8971. std::string ret;
  8972. int index = 0;
  8973. while(input_value) {
  8974. if (input_value & 1) {
  8975. if( !ret.empty()) ret.append("|");
  8976. ret.append(string_VkAccelerationStructureCreateFlagBitsKHR(static_cast<VkAccelerationStructureCreateFlagBitsKHR>(1U << index)));
  8977. }
  8978. ++index;
  8979. input_value >>= 1;
  8980. }
  8981. if( ret.empty()) ret.append(string_VkAccelerationStructureCreateFlagBitsKHR(static_cast<VkAccelerationStructureCreateFlagBitsKHR>(0)));
  8982. return ret;
  8983. }
  8984. static inline const char* string_VkAccelerationStructureCompatibilityKHR(VkAccelerationStructureCompatibilityKHR input_value)
  8985. {
  8986. switch (input_value)
  8987. {
  8988. case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR:
  8989. return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR";
  8990. case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR:
  8991. return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR";
  8992. default:
  8993. return "Unhandled VkAccelerationStructureCompatibilityKHR";
  8994. }
  8995. }
  8996. static inline const char* string_VkShaderGroupShaderKHR(VkShaderGroupShaderKHR input_value)
  8997. {
  8998. switch (input_value)
  8999. {
  9000. case VK_SHADER_GROUP_SHADER_ANY_HIT_KHR:
  9001. return "VK_SHADER_GROUP_SHADER_ANY_HIT_KHR";
  9002. case VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR:
  9003. return "VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR";
  9004. case VK_SHADER_GROUP_SHADER_GENERAL_KHR:
  9005. return "VK_SHADER_GROUP_SHADER_GENERAL_KHR";
  9006. case VK_SHADER_GROUP_SHADER_INTERSECTION_KHR:
  9007. return "VK_SHADER_GROUP_SHADER_INTERSECTION_KHR";
  9008. default:
  9009. return "Unhandled VkShaderGroupShaderKHR";
  9010. }
  9011. }
  9012. static inline const char * GetPhysDevFeatureString(uint32_t index) {
  9013. const char * IndexToPhysDevFeatureString[] = {
  9014. "robustBufferAccess",
  9015. "fullDrawIndexUint32",
  9016. "imageCubeArray",
  9017. "independentBlend",
  9018. "geometryShader",
  9019. "tessellationShader",
  9020. "sampleRateShading",
  9021. "dualSrcBlend",
  9022. "logicOp",
  9023. "multiDrawIndirect",
  9024. "drawIndirectFirstInstance",
  9025. "depthClamp",
  9026. "depthBiasClamp",
  9027. "fillModeNonSolid",
  9028. "depthBounds",
  9029. "wideLines",
  9030. "largePoints",
  9031. "alphaToOne",
  9032. "multiViewport",
  9033. "samplerAnisotropy",
  9034. "textureCompressionETC2",
  9035. "textureCompressionASTC_LDR",
  9036. "textureCompressionBC",
  9037. "occlusionQueryPrecise",
  9038. "pipelineStatisticsQuery",
  9039. "vertexPipelineStoresAndAtomics",
  9040. "fragmentStoresAndAtomics",
  9041. "shaderTessellationAndGeometryPointSize",
  9042. "shaderImageGatherExtended",
  9043. "shaderStorageImageExtendedFormats",
  9044. "shaderStorageImageMultisample",
  9045. "shaderStorageImageReadWithoutFormat",
  9046. "shaderStorageImageWriteWithoutFormat",
  9047. "shaderUniformBufferArrayDynamicIndexing",
  9048. "shaderSampledImageArrayDynamicIndexing",
  9049. "shaderStorageBufferArrayDynamicIndexing",
  9050. "shaderStorageImageArrayDynamicIndexing",
  9051. "shaderClipDistance",
  9052. "shaderCullDistance",
  9053. "shaderFloat64",
  9054. "shaderInt64",
  9055. "shaderInt16",
  9056. "shaderResourceResidency",
  9057. "shaderResourceMinLod",
  9058. "sparseBinding",
  9059. "sparseResidencyBuffer",
  9060. "sparseResidencyImage2D",
  9061. "sparseResidencyImage3D",
  9062. "sparseResidency2Samples",
  9063. "sparseResidency4Samples",
  9064. "sparseResidency8Samples",
  9065. "sparseResidency16Samples",
  9066. "sparseResidencyAliased",
  9067. "variableMultisampleRate",
  9068. "inheritedQueries",
  9069. };
  9070. return IndexToPhysDevFeatureString[index];
  9071. }
  9072. static inline bool IsDuplicatePnext(VkStructureType input_value)
  9073. {
  9074. switch (input_value)
  9075. {
  9076. case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
  9077. case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT:
  9078. case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO:
  9079. return true;
  9080. default:
  9081. return false;
  9082. }
  9083. }