vulkan_enums.hpp 435 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317
  1. // Copyright 2015-2023 The Khronos Group Inc.
  2. //
  3. // SPDX-License-Identifier: Apache-2.0 OR MIT
  4. //
  5. // This header is generated from the Khronos Vulkan XML API Registry.
  6. #ifndef VULKAN_ENUMS_HPP
  7. #define VULKAN_ENUMS_HPP
  8. namespace VULKAN_HPP_NAMESPACE
  9. {
  10. template <typename FlagBitsType>
  11. struct FlagTraits
  12. {
  13. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = false;
  14. };
  15. template <typename BitType>
  16. class Flags
  17. {
  18. public:
  19. using MaskType = typename std::underlying_type<BitType>::type;
  20. // constructors
  21. VULKAN_HPP_CONSTEXPR Flags() VULKAN_HPP_NOEXCEPT : m_mask( 0 ) {}
  22. VULKAN_HPP_CONSTEXPR Flags( BitType bit ) VULKAN_HPP_NOEXCEPT : m_mask( static_cast<MaskType>( bit ) ) {}
  23. VULKAN_HPP_CONSTEXPR Flags( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
  24. VULKAN_HPP_CONSTEXPR explicit Flags( MaskType flags ) VULKAN_HPP_NOEXCEPT : m_mask( flags ) {}
  25. // relational operators
  26. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  27. auto operator<=>( Flags<BitType> const & ) const = default;
  28. #else
  29. VULKAN_HPP_CONSTEXPR bool operator<( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  30. {
  31. return m_mask < rhs.m_mask;
  32. }
  33. VULKAN_HPP_CONSTEXPR bool operator<=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  34. {
  35. return m_mask <= rhs.m_mask;
  36. }
  37. VULKAN_HPP_CONSTEXPR bool operator>( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  38. {
  39. return m_mask > rhs.m_mask;
  40. }
  41. VULKAN_HPP_CONSTEXPR bool operator>=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  42. {
  43. return m_mask >= rhs.m_mask;
  44. }
  45. VULKAN_HPP_CONSTEXPR bool operator==( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  46. {
  47. return m_mask == rhs.m_mask;
  48. }
  49. VULKAN_HPP_CONSTEXPR bool operator!=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  50. {
  51. return m_mask != rhs.m_mask;
  52. }
  53. #endif
  54. // logical operator
  55. VULKAN_HPP_CONSTEXPR bool operator!() const VULKAN_HPP_NOEXCEPT
  56. {
  57. return !m_mask;
  58. }
  59. // bitwise operators
  60. VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  61. {
  62. return Flags<BitType>( m_mask & rhs.m_mask );
  63. }
  64. VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  65. {
  66. return Flags<BitType>( m_mask | rhs.m_mask );
  67. }
  68. VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
  69. {
  70. return Flags<BitType>( m_mask ^ rhs.m_mask );
  71. }
  72. VULKAN_HPP_CONSTEXPR Flags<BitType> operator~() const VULKAN_HPP_NOEXCEPT
  73. {
  74. return Flags<BitType>( m_mask ^ FlagTraits<BitType>::allFlags.m_mask );
  75. }
  76. // assignment operators
  77. VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
  78. VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator|=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
  79. {
  80. m_mask |= rhs.m_mask;
  81. return *this;
  82. }
  83. VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator&=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
  84. {
  85. m_mask &= rhs.m_mask;
  86. return *this;
  87. }
  88. VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator^=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
  89. {
  90. m_mask ^= rhs.m_mask;
  91. return *this;
  92. }
  93. // cast operators
  94. explicit VULKAN_HPP_CONSTEXPR operator bool() const VULKAN_HPP_NOEXCEPT
  95. {
  96. return !!m_mask;
  97. }
  98. explicit VULKAN_HPP_CONSTEXPR operator MaskType() const VULKAN_HPP_NOEXCEPT
  99. {
  100. return m_mask;
  101. }
  102. #if defined( VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC )
  103. public:
  104. #else
  105. private:
  106. #endif
  107. MaskType m_mask;
  108. };
  109. #if !defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  110. // relational operators only needed for pre C++20
  111. template <typename BitType>
  112. VULKAN_HPP_CONSTEXPR bool operator<( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  113. {
  114. return flags.operator>( bit );
  115. }
  116. template <typename BitType>
  117. VULKAN_HPP_CONSTEXPR bool operator<=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  118. {
  119. return flags.operator>=( bit );
  120. }
  121. template <typename BitType>
  122. VULKAN_HPP_CONSTEXPR bool operator>( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  123. {
  124. return flags.operator<( bit );
  125. }
  126. template <typename BitType>
  127. VULKAN_HPP_CONSTEXPR bool operator>=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  128. {
  129. return flags.operator<=( bit );
  130. }
  131. template <typename BitType>
  132. VULKAN_HPP_CONSTEXPR bool operator==( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  133. {
  134. return flags.operator==( bit );
  135. }
  136. template <typename BitType>
  137. VULKAN_HPP_CONSTEXPR bool operator!=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  138. {
  139. return flags.operator!=( bit );
  140. }
  141. #endif
  142. // bitwise operators
  143. template <typename BitType>
  144. VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  145. {
  146. return flags.operator&( bit );
  147. }
  148. template <typename BitType>
  149. VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  150. {
  151. return flags.operator|( bit );
  152. }
  153. template <typename BitType>
  154. VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
  155. {
  156. return flags.operator^( bit );
  157. }
  158. // bitwise operators on BitType
  159. template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
  160. VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT
  161. {
  162. return Flags<BitType>( lhs ) & rhs;
  163. }
  164. template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
  165. VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT
  166. {
  167. return Flags<BitType>( lhs ) | rhs;
  168. }
  169. template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
  170. VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT
  171. {
  172. return Flags<BitType>( lhs ) ^ rhs;
  173. }
  174. template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
  175. VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator~( BitType bit ) VULKAN_HPP_NOEXCEPT
  176. {
  177. return ~( Flags<BitType>( bit ) );
  178. }
  179. template <typename EnumType, EnumType value>
  180. struct CppType
  181. {
  182. };
  183. //=============
  184. //=== ENUMs ===
  185. //=============
  186. //=== VK_VERSION_1_0 ===
  187. enum class Result
  188. {
  189. eSuccess = VK_SUCCESS,
  190. eNotReady = VK_NOT_READY,
  191. eTimeout = VK_TIMEOUT,
  192. eEventSet = VK_EVENT_SET,
  193. eEventReset = VK_EVENT_RESET,
  194. eIncomplete = VK_INCOMPLETE,
  195. eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY,
  196. eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY,
  197. eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED,
  198. eErrorDeviceLost = VK_ERROR_DEVICE_LOST,
  199. eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED,
  200. eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT,
  201. eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT,
  202. eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT,
  203. eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER,
  204. eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS,
  205. eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED,
  206. eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL,
  207. eErrorUnknown = VK_ERROR_UNKNOWN,
  208. eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY,
  209. eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE,
  210. eErrorFragmentation = VK_ERROR_FRAGMENTATION,
  211. eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
  212. ePipelineCompileRequired = VK_PIPELINE_COMPILE_REQUIRED,
  213. eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR,
  214. eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,
  215. eSuboptimalKHR = VK_SUBOPTIMAL_KHR,
  216. eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR,
  217. eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR,
  218. eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT,
  219. eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV,
  220. eErrorImageUsageNotSupportedKHR = VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR,
  221. eErrorVideoPictureLayoutNotSupportedKHR = VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,
  222. eErrorVideoProfileOperationNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,
  223. eErrorVideoProfileFormatNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,
  224. eErrorVideoProfileCodecNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR,
  225. eErrorVideoStdVersionNotSupportedKHR = VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR,
  226. eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY_KHR,
  227. eErrorInvalidExternalHandleKHR = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
  228. eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
  229. eErrorFragmentationEXT = VK_ERROR_FRAGMENTATION_EXT,
  230. eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT,
  231. eErrorNotPermittedKHR = VK_ERROR_NOT_PERMITTED_KHR,
  232. eErrorInvalidDeviceAddressEXT = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT,
  233. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  234. eErrorFullScreenExclusiveModeLostEXT = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT,
  235. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  236. eErrorInvalidOpaqueCaptureAddressKHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR,
  237. eThreadIdleKHR = VK_THREAD_IDLE_KHR,
  238. eThreadDoneKHR = VK_THREAD_DONE_KHR,
  239. eOperationDeferredKHR = VK_OPERATION_DEFERRED_KHR,
  240. eOperationNotDeferredKHR = VK_OPERATION_NOT_DEFERRED_KHR,
  241. ePipelineCompileRequiredEXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
  242. eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT,
  243. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  244. eErrorInvalidVideoStdParametersKHR = VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR,
  245. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  246. eErrorCompressionExhaustedEXT = VK_ERROR_COMPRESSION_EXHAUSTED_EXT,
  247. eErrorIncompatibleShaderBinaryEXT = VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT
  248. };
  249. enum class StructureType
  250. {
  251. eApplicationInfo = VK_STRUCTURE_TYPE_APPLICATION_INFO,
  252. eInstanceCreateInfo = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
  253. eDeviceQueueCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
  254. eDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
  255. eSubmitInfo = VK_STRUCTURE_TYPE_SUBMIT_INFO,
  256. eMemoryAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
  257. eMappedMemoryRange = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
  258. eBindSparseInfo = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,
  259. eFenceCreateInfo = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
  260. eSemaphoreCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
  261. eEventCreateInfo = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
  262. eQueryPoolCreateInfo = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
  263. eBufferCreateInfo = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
  264. eBufferViewCreateInfo = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
  265. eImageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
  266. eImageViewCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
  267. eShaderModuleCreateInfo = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
  268. ePipelineCacheCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
  269. ePipelineShaderStageCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
  270. ePipelineVertexInputStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
  271. ePipelineInputAssemblyStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
  272. ePipelineTessellationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
  273. ePipelineViewportStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
  274. ePipelineRasterizationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
  275. ePipelineMultisampleStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
  276. ePipelineDepthStencilStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
  277. ePipelineColorBlendStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
  278. ePipelineDynamicStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
  279. eGraphicsPipelineCreateInfo = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
  280. eComputePipelineCreateInfo = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
  281. ePipelineLayoutCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
  282. eSamplerCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
  283. eDescriptorSetLayoutCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
  284. eDescriptorPoolCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
  285. eDescriptorSetAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
  286. eWriteDescriptorSet = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
  287. eCopyDescriptorSet = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
  288. eFramebufferCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
  289. eRenderPassCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
  290. eCommandPoolCreateInfo = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
  291. eCommandBufferAllocateInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
  292. eCommandBufferInheritanceInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
  293. eCommandBufferBeginInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
  294. eRenderPassBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
  295. eBufferMemoryBarrier = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
  296. eImageMemoryBarrier = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
  297. eMemoryBarrier = VK_STRUCTURE_TYPE_MEMORY_BARRIER,
  298. eLoaderInstanceCreateInfo = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
  299. eLoaderDeviceCreateInfo = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
  300. ePhysicalDeviceSubgroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
  301. eBindBufferMemoryInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
  302. eBindImageMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
  303. ePhysicalDevice16BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
  304. eMemoryDedicatedRequirements = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
  305. eMemoryDedicatedAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
  306. eMemoryAllocateFlagsInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
  307. eDeviceGroupRenderPassBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
  308. eDeviceGroupCommandBufferBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
  309. eDeviceGroupSubmitInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
  310. eDeviceGroupBindSparseInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
  311. eBindBufferMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
  312. eBindImageMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
  313. ePhysicalDeviceGroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
  314. eDeviceGroupDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
  315. eBufferMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
  316. eImageMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
  317. eImageSparseMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
  318. eMemoryRequirements2 = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
  319. eSparseImageMemoryRequirements2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
  320. ePhysicalDeviceFeatures2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
  321. ePhysicalDeviceProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
  322. eFormatProperties2 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
  323. eImageFormatProperties2 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
  324. ePhysicalDeviceImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
  325. eQueueFamilyProperties2 = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
  326. ePhysicalDeviceMemoryProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
  327. eSparseImageFormatProperties2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
  328. ePhysicalDeviceSparseImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
  329. ePhysicalDevicePointClippingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
  330. eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
  331. eImageViewUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
  332. ePipelineTessellationDomainOriginStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
  333. eRenderPassMultiviewCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
  334. ePhysicalDeviceMultiviewFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
  335. ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
  336. ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
  337. ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
  338. eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
  339. ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
  340. ePhysicalDeviceProtectedMemoryProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
  341. eDeviceQueueInfo2 = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
  342. eSamplerYcbcrConversionCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
  343. eSamplerYcbcrConversionInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
  344. eBindImagePlaneMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
  345. eImagePlaneMemoryRequirementsInfo = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
  346. ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
  347. eSamplerYcbcrConversionImageFormatProperties = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
  348. eDescriptorUpdateTemplateCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
  349. ePhysicalDeviceExternalImageFormatInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
  350. eExternalImageFormatProperties = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
  351. ePhysicalDeviceExternalBufferInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
  352. eExternalBufferProperties = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
  353. ePhysicalDeviceIdProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
  354. eExternalMemoryBufferCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
  355. eExternalMemoryImageCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
  356. eExportMemoryAllocateInfo = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
  357. ePhysicalDeviceExternalFenceInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
  358. eExternalFenceProperties = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
  359. eExportFenceCreateInfo = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
  360. eExportSemaphoreCreateInfo = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
  361. ePhysicalDeviceExternalSemaphoreInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
  362. eExternalSemaphoreProperties = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
  363. ePhysicalDeviceMaintenance3Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
  364. eDescriptorSetLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
  365. ePhysicalDeviceShaderDrawParametersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
  366. ePhysicalDeviceShaderDrawParameterFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES,
  367. ePhysicalDeviceVulkan11Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
  368. ePhysicalDeviceVulkan11Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
  369. ePhysicalDeviceVulkan12Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
  370. ePhysicalDeviceVulkan12Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
  371. eImageFormatListCreateInfo = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
  372. eAttachmentDescription2 = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
  373. eAttachmentReference2 = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
  374. eSubpassDescription2 = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
  375. eSubpassDependency2 = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
  376. eRenderPassCreateInfo2 = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
  377. eSubpassBeginInfo = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
  378. eSubpassEndInfo = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
  379. ePhysicalDevice8BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
  380. ePhysicalDeviceDriverProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
  381. ePhysicalDeviceShaderAtomicInt64Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
  382. ePhysicalDeviceShaderFloat16Int8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
  383. ePhysicalDeviceFloatControlsProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
  384. eDescriptorSetLayoutBindingFlagsCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
  385. ePhysicalDeviceDescriptorIndexingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
  386. ePhysicalDeviceDescriptorIndexingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
  387. eDescriptorSetVariableDescriptorCountAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
  388. eDescriptorSetVariableDescriptorCountLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
  389. ePhysicalDeviceDepthStencilResolveProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
  390. eSubpassDescriptionDepthStencilResolve = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
  391. ePhysicalDeviceScalarBlockLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
  392. eImageStencilUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
  393. ePhysicalDeviceSamplerFilterMinmaxProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
  394. eSamplerReductionModeCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
  395. ePhysicalDeviceVulkanMemoryModelFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
  396. ePhysicalDeviceImagelessFramebufferFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
  397. eFramebufferAttachmentsCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
  398. eFramebufferAttachmentImageInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
  399. eRenderPassAttachmentBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
  400. ePhysicalDeviceUniformBufferStandardLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
  401. ePhysicalDeviceShaderSubgroupExtendedTypesFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
  402. ePhysicalDeviceSeparateDepthStencilLayoutsFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
  403. eAttachmentReferenceStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
  404. eAttachmentDescriptionStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
  405. ePhysicalDeviceHostQueryResetFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
  406. ePhysicalDeviceTimelineSemaphoreFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
  407. ePhysicalDeviceTimelineSemaphoreProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
  408. eSemaphoreTypeCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
  409. eTimelineSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
  410. eSemaphoreWaitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
  411. eSemaphoreSignalInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
  412. ePhysicalDeviceBufferDeviceAddressFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
  413. eBufferDeviceAddressInfo = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
  414. eBufferOpaqueCaptureAddressCreateInfo = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
  415. eMemoryOpaqueCaptureAddressAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
  416. eDeviceMemoryOpaqueCaptureAddressInfo = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
  417. ePhysicalDeviceVulkan13Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
  418. ePhysicalDeviceVulkan13Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES,
  419. ePipelineCreationFeedbackCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
  420. ePhysicalDeviceShaderTerminateInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
  421. ePhysicalDeviceToolProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
  422. ePhysicalDeviceShaderDemoteToHelperInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
  423. ePhysicalDevicePrivateDataFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
  424. eDevicePrivateDataCreateInfo = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
  425. ePrivateDataSlotCreateInfo = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
  426. ePhysicalDevicePipelineCreationCacheControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
  427. eMemoryBarrier2 = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
  428. eBufferMemoryBarrier2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
  429. eImageMemoryBarrier2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
  430. eDependencyInfo = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
  431. eSubmitInfo2 = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
  432. eSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
  433. eCommandBufferSubmitInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
  434. ePhysicalDeviceSynchronization2Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
  435. ePhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
  436. ePhysicalDeviceImageRobustnessFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
  437. eCopyBufferInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
  438. eCopyImageInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
  439. eCopyBufferToImageInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
  440. eCopyImageToBufferInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
  441. eBlitImageInfo2 = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
  442. eResolveImageInfo2 = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
  443. eBufferCopy2 = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
  444. eImageCopy2 = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
  445. eImageBlit2 = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
  446. eBufferImageCopy2 = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
  447. eImageResolve2 = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
  448. ePhysicalDeviceSubgroupSizeControlProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
  449. ePipelineShaderStageRequiredSubgroupSizeCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
  450. ePhysicalDeviceSubgroupSizeControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
  451. ePhysicalDeviceInlineUniformBlockFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
  452. ePhysicalDeviceInlineUniformBlockProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
  453. eWriteDescriptorSetInlineUniformBlock = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
  454. eDescriptorPoolInlineUniformBlockCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
  455. ePhysicalDeviceTextureCompressionAstcHdrFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
  456. eRenderingInfo = VK_STRUCTURE_TYPE_RENDERING_INFO,
  457. eRenderingAttachmentInfo = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
  458. ePipelineRenderingCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
  459. ePhysicalDeviceDynamicRenderingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
  460. eCommandBufferInheritanceRenderingInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
  461. ePhysicalDeviceShaderIntegerDotProductFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
  462. ePhysicalDeviceShaderIntegerDotProductProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
  463. ePhysicalDeviceTexelBufferAlignmentProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
  464. eFormatProperties3 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
  465. ePhysicalDeviceMaintenance4Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
  466. ePhysicalDeviceMaintenance4Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
  467. eDeviceBufferMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
  468. eDeviceImageMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
  469. eSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
  470. ePresentInfoKHR = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
  471. eDeviceGroupPresentCapabilitiesKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
  472. eImageSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
  473. eBindImageMemorySwapchainInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
  474. eAcquireNextImageInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
  475. eDeviceGroupPresentInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
  476. eDeviceGroupSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
  477. eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
  478. eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
  479. eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
  480. #if defined( VK_USE_PLATFORM_XLIB_KHR )
  481. eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
  482. #endif /*VK_USE_PLATFORM_XLIB_KHR*/
  483. #if defined( VK_USE_PLATFORM_XCB_KHR )
  484. eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
  485. #endif /*VK_USE_PLATFORM_XCB_KHR*/
  486. #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  487. eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
  488. #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  489. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  490. eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
  491. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  492. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  493. eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
  494. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  495. eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
  496. eDebugReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT,
  497. ePipelineRasterizationStateRasterizationOrderAMD = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
  498. eDebugMarkerObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
  499. eDebugMarkerObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
  500. eDebugMarkerMarkerInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
  501. eVideoProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR,
  502. eVideoCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR,
  503. eVideoPictureResourceInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR,
  504. eVideoSessionMemoryRequirementsKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
  505. eBindVideoSessionMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR,
  506. eVideoSessionCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR,
  507. eVideoSessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
  508. eVideoSessionParametersUpdateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
  509. eVideoBeginCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR,
  510. eVideoEndCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR,
  511. eVideoCodingControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR,
  512. eVideoReferenceSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR,
  513. eQueueFamilyVideoPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
  514. eVideoProfileListInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR,
  515. ePhysicalDeviceVideoFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
  516. eVideoFormatPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR,
  517. eQueueFamilyQueryResultStatusPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
  518. eVideoDecodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR,
  519. eVideoDecodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR,
  520. eVideoDecodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR,
  521. eDedicatedAllocationImageCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
  522. eDedicatedAllocationBufferCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
  523. eDedicatedAllocationMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
  524. ePhysicalDeviceTransformFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
  525. ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
  526. ePipelineRasterizationStateStreamCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
  527. eCuModuleCreateInfoNVX = VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX,
  528. eCuFunctionCreateInfoNVX = VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX,
  529. eCuLaunchInfoNVX = VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX,
  530. eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
  531. eImageViewAddressPropertiesNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
  532. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  533. eVideoEncodeH264CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT,
  534. eVideoEncodeH264SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT,
  535. eVideoEncodeH264SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT,
  536. eVideoEncodeH264PictureInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT,
  537. eVideoEncodeH264DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT,
  538. eVideoEncodeH264NaluSliceInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT,
  539. eVideoEncodeH264GopRemainingFrameInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT,
  540. eVideoEncodeH264ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT,
  541. eVideoEncodeH264RateControlInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT,
  542. eVideoEncodeH264RateControlLayerInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT,
  543. eVideoEncodeH264SessionCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT,
  544. eVideoEncodeH264QualityLevelPropertiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT,
  545. eVideoEncodeH264SessionParametersGetInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT,
  546. eVideoEncodeH264SessionParametersFeedbackInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT,
  547. eVideoEncodeH265CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT,
  548. eVideoEncodeH265SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT,
  549. eVideoEncodeH265SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT,
  550. eVideoEncodeH265PictureInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT,
  551. eVideoEncodeH265DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT,
  552. eVideoEncodeH265NaluSliceSegmentInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT,
  553. eVideoEncodeH265GopRemainingFrameInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT,
  554. eVideoEncodeH265ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT,
  555. eVideoEncodeH265RateControlInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT,
  556. eVideoEncodeH265RateControlLayerInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT,
  557. eVideoEncodeH265SessionCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT,
  558. eVideoEncodeH265QualityLevelPropertiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT,
  559. eVideoEncodeH265SessionParametersGetInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT,
  560. eVideoEncodeH265SessionParametersFeedbackInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT,
  561. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  562. eVideoDecodeH264CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR,
  563. eVideoDecodeH264PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR,
  564. eVideoDecodeH264ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR,
  565. eVideoDecodeH264SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
  566. eVideoDecodeH264SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
  567. eVideoDecodeH264DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
  568. eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
  569. eRenderingInfoKHR = VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
  570. eRenderingAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR,
  571. ePipelineRenderingCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
  572. ePhysicalDeviceDynamicRenderingFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR,
  573. eCommandBufferInheritanceRenderingInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR,
  574. eRenderingFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
  575. eRenderingFragmentDensityMapAttachmentInfoEXT = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
  576. eAttachmentSampleCountInfoAMD = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
  577. eAttachmentSampleCountInfoNV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV,
  578. eMultiviewPerViewAttributesInfoNVX = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
  579. #if defined( VK_USE_PLATFORM_GGP )
  580. eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
  581. #endif /*VK_USE_PLATFORM_GGP*/
  582. ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
  583. eRenderPassMultiviewCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR,
  584. ePhysicalDeviceMultiviewFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,
  585. ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR,
  586. eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
  587. eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
  588. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  589. eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
  590. eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
  591. eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
  592. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  593. ePhysicalDeviceFeatures2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
  594. ePhysicalDeviceProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,
  595. eFormatProperties2KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,
  596. eImageFormatProperties2KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,
  597. ePhysicalDeviceImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,
  598. eQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,
  599. ePhysicalDeviceMemoryProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,
  600. eSparseImageFormatProperties2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,
  601. ePhysicalDeviceSparseImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR,
  602. eMemoryAllocateFlagsInfoKHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR,
  603. eDeviceGroupRenderPassBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR,
  604. eDeviceGroupCommandBufferBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR,
  605. eDeviceGroupSubmitInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR,
  606. eDeviceGroupBindSparseInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR,
  607. eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,
  608. eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,
  609. eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
  610. #if defined( VK_USE_PLATFORM_VI_NN )
  611. eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN,
  612. #endif /*VK_USE_PLATFORM_VI_NN*/
  613. ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
  614. eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
  615. ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
  616. ePipelineRobustnessCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT,
  617. ePhysicalDevicePipelineRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT,
  618. ePhysicalDevicePipelineRobustnessPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT,
  619. ePhysicalDeviceGroupPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR,
  620. eDeviceGroupDeviceCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR,
  621. ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR,
  622. eExternalImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR,
  623. ePhysicalDeviceExternalBufferInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR,
  624. eExternalBufferPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR,
  625. ePhysicalDeviceIdPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR,
  626. eExternalMemoryBufferCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR,
  627. eExternalMemoryImageCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR,
  628. eExportMemoryAllocateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR,
  629. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  630. eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
  631. eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
  632. eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
  633. eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
  634. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  635. eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
  636. eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
  637. eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
  638. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  639. eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
  640. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  641. ePhysicalDeviceExternalSemaphoreInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR,
  642. eExternalSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR,
  643. eExportSemaphoreCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR,
  644. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  645. eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
  646. eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
  647. eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
  648. eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
  649. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  650. eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
  651. eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
  652. ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
  653. eCommandBufferInheritanceConditionalRenderingInfoEXT = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
  654. ePhysicalDeviceConditionalRenderingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
  655. eConditionalRenderingBeginInfoEXT = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
  656. ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR,
  657. ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR,
  658. ePhysicalDevice16BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR,
  659. ePresentRegionsKHR = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
  660. eDescriptorUpdateTemplateCreateInfoKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR,
  661. ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
  662. eSurfaceCapabilities2EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
  663. eDisplayPowerInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
  664. eDeviceEventInfoEXT = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
  665. eDisplayEventInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
  666. eSwapchainCounterCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
  667. ePresentTimesInfoGOOGLE = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
  668. ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
  669. ePipelineViewportSwizzleStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
  670. ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
  671. ePipelineDiscardRectangleStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
  672. ePhysicalDeviceConservativeRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
  673. ePipelineRasterizationConservativeStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
  674. ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
  675. ePipelineRasterizationDepthClipStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
  676. eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT,
  677. ePhysicalDeviceImagelessFramebufferFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR,
  678. eFramebufferAttachmentsCreateInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR,
  679. eFramebufferAttachmentImageInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR,
  680. eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR,
  681. eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR,
  682. eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR,
  683. eSubpassDescription2KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR,
  684. eSubpassDependency2KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR,
  685. eRenderPassCreateInfo2KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR,
  686. eSubpassBeginInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR,
  687. eSubpassEndInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR,
  688. eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
  689. ePhysicalDeviceExternalFenceInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR,
  690. eExternalFencePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR,
  691. eExportFenceCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR,
  692. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  693. eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
  694. eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
  695. eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
  696. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  697. eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
  698. eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
  699. ePhysicalDevicePerformanceQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
  700. ePhysicalDevicePerformanceQueryPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
  701. eQueryPoolPerformanceCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
  702. ePerformanceQuerySubmitInfoKHR = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
  703. eAcquireProfilingLockInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
  704. ePerformanceCounterKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR,
  705. ePerformanceCounterDescriptionKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR,
  706. ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR,
  707. eRenderPassInputAttachmentAspectCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
  708. eImageViewUsageCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR,
  709. ePipelineTessellationDomainOriginStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR,
  710. ePhysicalDeviceSurfaceInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
  711. eSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
  712. eSurfaceFormat2KHR = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
  713. ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
  714. ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR,
  715. eDisplayProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
  716. eDisplayPlaneProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
  717. eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
  718. eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
  719. eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
  720. #if defined( VK_USE_PLATFORM_IOS_MVK )
  721. eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK,
  722. #endif /*VK_USE_PLATFORM_IOS_MVK*/
  723. #if defined( VK_USE_PLATFORM_MACOS_MVK )
  724. eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK,
  725. #endif /*VK_USE_PLATFORM_MACOS_MVK*/
  726. eMemoryDedicatedRequirementsKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,
  727. eMemoryDedicatedAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR,
  728. eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
  729. eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
  730. eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
  731. eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
  732. eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
  733. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  734. eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
  735. eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
  736. eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
  737. eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
  738. eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
  739. eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
  740. eAndroidHardwareBufferFormatProperties2ANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
  741. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  742. ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,
  743. eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,
  744. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  745. ePhysicalDeviceShaderEnqueueFeaturesAMDX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
  746. ePhysicalDeviceShaderEnqueuePropertiesAMDX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
  747. eExecutionGraphPipelineScratchSizeAMDX = VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
  748. eExecutionGraphPipelineCreateInfoAMDX = VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
  749. ePipelineShaderStageNodeCreateInfoAMDX = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
  750. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  751. ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
  752. ePhysicalDeviceInlineUniformBlockPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
  753. eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
  754. eDescriptorPoolInlineUniformBlockCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
  755. eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
  756. eRenderPassSampleLocationsBeginInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
  757. ePipelineSampleLocationsStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
  758. ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
  759. eMultisamplePropertiesEXT = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
  760. eBufferMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR,
  761. eImageMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR,
  762. eImageSparseMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR,
  763. eMemoryRequirements2KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR,
  764. eSparseImageMemoryRequirements2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR,
  765. eImageFormatListCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR,
  766. ePhysicalDeviceBlendOperationAdvancedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
  767. ePhysicalDeviceBlendOperationAdvancedPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
  768. ePipelineColorBlendAdvancedStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
  769. ePipelineCoverageToColorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
  770. eWriteDescriptorSetAccelerationStructureKHR = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
  771. eAccelerationStructureBuildGeometryInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
  772. eAccelerationStructureDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
  773. eAccelerationStructureGeometryAabbsDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
  774. eAccelerationStructureGeometryInstancesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
  775. eAccelerationStructureGeometryTrianglesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
  776. eAccelerationStructureGeometryKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR,
  777. eAccelerationStructureVersionInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
  778. eCopyAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR,
  779. eCopyAccelerationStructureToMemoryInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
  780. eCopyMemoryToAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
  781. ePhysicalDeviceAccelerationStructureFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
  782. ePhysicalDeviceAccelerationStructurePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
  783. eAccelerationStructureCreateInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
  784. eAccelerationStructureBuildSizesInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
  785. ePhysicalDeviceRayTracingPipelineFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
  786. ePhysicalDeviceRayTracingPipelinePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
  787. eRayTracingPipelineCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
  788. eRayTracingShaderGroupCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
  789. eRayTracingPipelineInterfaceCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
  790. ePhysicalDeviceRayQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
  791. ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
  792. ePhysicalDeviceShaderSmBuiltinsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
  793. ePhysicalDeviceShaderSmBuiltinsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
  794. eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,
  795. eSamplerYcbcrConversionInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,
  796. eBindImagePlaneMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,
  797. eImagePlaneMemoryRequirementsInfoKHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,
  798. ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,
  799. eSamplerYcbcrConversionImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,
  800. eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
  801. eBindImageMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR,
  802. eDrmFormatModifierPropertiesListEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
  803. ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
  804. eImageDrmFormatModifierListCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
  805. eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
  806. eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
  807. eDrmFormatModifierPropertiesList2EXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
  808. eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
  809. eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
  810. eDescriptorSetLayoutBindingFlagsCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT,
  811. ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
  812. ePhysicalDeviceDescriptorIndexingPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT,
  813. eDescriptorSetVariableDescriptorCountAllocateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT,
  814. eDescriptorSetVariableDescriptorCountLayoutSupportEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT,
  815. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  816. ePhysicalDevicePortabilitySubsetFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
  817. ePhysicalDevicePortabilitySubsetPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
  818. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  819. ePipelineViewportShadingRateImageStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
  820. ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
  821. ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
  822. ePipelineViewportCoarseSampleOrderStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
  823. eRayTracingPipelineCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
  824. eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
  825. eGeometryNV = VK_STRUCTURE_TYPE_GEOMETRY_NV,
  826. eGeometryTrianglesNV = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
  827. eGeometryAabbNV = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV,
  828. eBindAccelerationStructureMemoryInfoNV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
  829. eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
  830. eAccelerationStructureMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
  831. ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
  832. eRayTracingShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
  833. eAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
  834. ePhysicalDeviceRepresentativeFragmentTestFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
  835. ePipelineRepresentativeFragmentTestStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
  836. ePhysicalDeviceMaintenance3PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR,
  837. eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR,
  838. ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
  839. eFilterCubicImageViewImageFormatPropertiesEXT = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
  840. eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
  841. ePhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR,
  842. ePhysicalDevice8BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR,
  843. eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
  844. eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
  845. ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
  846. ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR,
  847. ePhysicalDeviceShaderClockFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
  848. ePipelineCompilerControlCreateInfoAMD = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
  849. eCalibratedTimestampInfoEXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
  850. ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
  851. eVideoDecodeH265CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR,
  852. eVideoDecodeH265SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
  853. eVideoDecodeH265SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
  854. eVideoDecodeH265ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR,
  855. eVideoDecodeH265PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR,
  856. eVideoDecodeH265DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
  857. eDeviceQueueGlobalPriorityCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
  858. ePhysicalDeviceGlobalPriorityQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
  859. eQueueFamilyGlobalPriorityPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
  860. eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
  861. ePhysicalDeviceVertexAttributeDivisorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
  862. ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
  863. ePhysicalDeviceVertexAttributeDivisorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
  864. #if defined( VK_USE_PLATFORM_GGP )
  865. ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP,
  866. #endif /*VK_USE_PLATFORM_GGP*/
  867. ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
  868. ePhysicalDeviceDriverPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR,
  869. ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR,
  870. ePhysicalDeviceDepthStencilResolvePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR,
  871. eSubpassDescriptionDepthStencilResolveKHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR,
  872. ePhysicalDeviceComputeShaderDerivativesFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
  873. ePhysicalDeviceMeshShaderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
  874. ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
  875. ePhysicalDeviceFragmentShaderBarycentricFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
  876. ePhysicalDeviceShaderImageFootprintFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
  877. ePipelineViewportExclusiveScissorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
  878. ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
  879. eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
  880. eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
  881. ePhysicalDeviceTimelineSemaphoreFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR,
  882. ePhysicalDeviceTimelineSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR,
  883. eSemaphoreTypeCreateInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR,
  884. eTimelineSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR,
  885. eSemaphoreWaitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR,
  886. eSemaphoreSignalInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR,
  887. ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
  888. eQueryPoolPerformanceQueryCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
  889. eQueryPoolCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
  890. eInitializePerformanceApiInfoINTEL = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
  891. ePerformanceMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
  892. ePerformanceStreamMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
  893. ePerformanceOverrideInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
  894. ePerformanceConfigurationAcquireInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
  895. ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR,
  896. ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
  897. eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
  898. eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
  899. #if defined( VK_USE_PLATFORM_FUCHSIA )
  900. eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
  901. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  902. ePhysicalDeviceShaderTerminateInvocationFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR,
  903. #if defined( VK_USE_PLATFORM_METAL_EXT )
  904. eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT,
  905. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  906. ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
  907. ePhysicalDeviceFragmentDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
  908. eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
  909. ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT,
  910. ePhysicalDeviceSubgroupSizeControlPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
  911. ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
  912. ePhysicalDeviceSubgroupSizeControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
  913. eFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
  914. ePipelineFragmentShadingRateStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
  915. ePhysicalDeviceFragmentShadingRatePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
  916. ePhysicalDeviceFragmentShadingRateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
  917. ePhysicalDeviceFragmentShadingRateKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
  918. ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
  919. ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
  920. ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
  921. ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
  922. ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
  923. eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
  924. eSurfaceProtectedCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
  925. ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
  926. ePhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR,
  927. eAttachmentReferenceStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR,
  928. eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR,
  929. ePhysicalDeviceBufferDeviceAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
  930. ePhysicalDeviceBufferAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT,
  931. eBufferDeviceAddressInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT,
  932. eBufferDeviceAddressCreateInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
  933. ePhysicalDeviceToolPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT,
  934. eImageStencilUsageCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT,
  935. eValidationFeaturesEXT = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
  936. ePhysicalDevicePresentWaitFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
  937. ePhysicalDeviceCooperativeMatrixFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
  938. eCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
  939. ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
  940. ePhysicalDeviceCoverageReductionModeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
  941. ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
  942. eFramebufferMixedSamplesCombinationNV = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
  943. ePhysicalDeviceFragmentShaderInterlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
  944. ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
  945. ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR,
  946. ePhysicalDeviceProvokingVertexFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
  947. ePipelineRasterizationProvokingVertexStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
  948. ePhysicalDeviceProvokingVertexPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
  949. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  950. eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
  951. eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
  952. eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
  953. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  954. eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
  955. ePhysicalDeviceBufferDeviceAddressFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR,
  956. eBufferDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR,
  957. eBufferOpaqueCaptureAddressCreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR,
  958. eMemoryOpaqueCaptureAddressAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR,
  959. eDeviceMemoryOpaqueCaptureAddressInfoKHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR,
  960. ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
  961. ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
  962. ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
  963. ePhysicalDeviceShaderAtomicFloatFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
  964. ePhysicalDeviceHostQueryResetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
  965. ePhysicalDeviceIndexTypeUint8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
  966. ePhysicalDeviceExtendedDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
  967. ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
  968. ePipelineInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
  969. ePipelineExecutablePropertiesKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
  970. ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
  971. ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR,
  972. ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
  973. ePhysicalDeviceHostImageCopyFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT,
  974. ePhysicalDeviceHostImageCopyPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT,
  975. eMemoryToImageCopyEXT = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT,
  976. eImageToMemoryCopyEXT = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT,
  977. eCopyImageToMemoryInfoEXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT,
  978. eCopyMemoryToImageInfoEXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT,
  979. eHostImageLayoutTransitionInfoEXT = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT,
  980. eCopyImageToImageInfoEXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT,
  981. eSubresourceHostMemcpySizeEXT = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT,
  982. eHostImageCopyDevicePerformanceQueryEXT = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT,
  983. eMemoryMapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR,
  984. eMemoryUnmapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR,
  985. ePhysicalDeviceShaderAtomicFloat2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
  986. eSurfacePresentModeEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT,
  987. eSurfacePresentScalingCapabilitiesEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT,
  988. eSurfacePresentModeCompatibilityEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT,
  989. ePhysicalDeviceSwapchainMaintenance1FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT,
  990. eSwapchainPresentFenceInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT,
  991. eSwapchainPresentModesCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT,
  992. eSwapchainPresentModeInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT,
  993. eSwapchainPresentScalingCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT,
  994. eReleaseSwapchainImagesInfoEXT = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT,
  995. ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
  996. ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
  997. eGraphicsShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
  998. eGraphicsPipelineShaderGroupsCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
  999. eIndirectCommandsLayoutTokenNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
  1000. eIndirectCommandsLayoutCreateInfoNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
  1001. eGeneratedCommandsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV,
  1002. eGeneratedCommandsMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
  1003. ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
  1004. ePhysicalDeviceInheritedViewportScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
  1005. eCommandBufferInheritanceViewportScissorInfoNV = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
  1006. ePhysicalDeviceShaderIntegerDotProductFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR,
  1007. ePhysicalDeviceShaderIntegerDotProductPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR,
  1008. ePhysicalDeviceTexelBufferAlignmentFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
  1009. ePhysicalDeviceTexelBufferAlignmentPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
  1010. eCommandBufferInheritanceRenderPassTransformInfoQCOM = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
  1011. eRenderPassTransformBeginInfoQCOM = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
  1012. ePhysicalDeviceDepthBiasControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
  1013. eDepthBiasInfoEXT = VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT,
  1014. eDepthBiasRepresentationInfoEXT = VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT,
  1015. ePhysicalDeviceDeviceMemoryReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
  1016. eDeviceDeviceMemoryReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
  1017. eDeviceMemoryReportCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
  1018. ePhysicalDeviceRobustness2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,
  1019. ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,
  1020. eSamplerCustomBorderColorCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
  1021. ePhysicalDeviceCustomBorderColorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
  1022. ePhysicalDeviceCustomBorderColorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
  1023. ePipelineLibraryCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR,
  1024. ePhysicalDevicePresentBarrierFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
  1025. eSurfaceCapabilitiesPresentBarrierNV = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
  1026. eSwapchainPresentBarrierCreateInfoNV = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
  1027. ePresentIdKHR = VK_STRUCTURE_TYPE_PRESENT_ID_KHR,
  1028. ePhysicalDevicePresentIdFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
  1029. ePhysicalDevicePrivateDataFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
  1030. eDevicePrivateDataCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
  1031. ePrivateDataSlotCreateInfoEXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
  1032. ePhysicalDevicePipelineCreationCacheControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT,
  1033. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1034. eVideoEncodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR,
  1035. eVideoEncodeRateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
  1036. eVideoEncodeRateControlLayerInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
  1037. eVideoEncodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR,
  1038. eVideoEncodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR,
  1039. eQueryPoolVideoEncodeFeedbackCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
  1040. ePhysicalDeviceVideoEncodeQualityLevelInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
  1041. eVideoEncodeQualityLevelPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
  1042. eVideoEncodeQualityLevelInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
  1043. eVideoEncodeSessionParametersGetInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
  1044. eVideoEncodeSessionParametersFeedbackInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
  1045. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1046. ePhysicalDeviceDiagnosticsConfigFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
  1047. eDeviceDiagnosticsConfigCreateInfoNV = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
  1048. eQueryLowLatencySupportNV = VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV,
  1049. #if defined( VK_USE_PLATFORM_METAL_EXT )
  1050. eExportMetalObjectCreateInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
  1051. eExportMetalObjectsInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT,
  1052. eExportMetalDeviceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT,
  1053. eExportMetalCommandQueueInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
  1054. eExportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT,
  1055. eImportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT,
  1056. eExportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT,
  1057. eImportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT,
  1058. eExportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT,
  1059. eImportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT,
  1060. eExportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT,
  1061. eImportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT,
  1062. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  1063. eMemoryBarrier2KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR,
  1064. eBufferMemoryBarrier2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR,
  1065. eImageMemoryBarrier2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR,
  1066. eDependencyInfoKHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR,
  1067. eSubmitInfo2KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR,
  1068. eSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR,
  1069. eCommandBufferSubmitInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR,
  1070. ePhysicalDeviceSynchronization2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR,
  1071. eQueueFamilyCheckpointProperties2NV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
  1072. eCheckpointData2NV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV,
  1073. ePhysicalDeviceDescriptorBufferPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
  1074. ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
  1075. ePhysicalDeviceDescriptorBufferFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
  1076. eDescriptorAddressInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT,
  1077. eDescriptorGetInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT,
  1078. eBufferCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
  1079. eImageCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
  1080. eImageViewCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
  1081. eSamplerCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
  1082. eOpaqueCaptureDescriptorDataCreateInfoEXT = VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
  1083. eDescriptorBufferBindingInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
  1084. eDescriptorBufferBindingPushDescriptorBufferHandleEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
  1085. eAccelerationStructureCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
  1086. ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
  1087. ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
  1088. eGraphicsPipelineLibraryCreateInfoEXT = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
  1089. ePhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
  1090. ePhysicalDeviceFragmentShaderBarycentricFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
  1091. ePhysicalDeviceFragmentShaderBarycentricPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
  1092. ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
  1093. ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR,
  1094. ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
  1095. ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
  1096. ePipelineFragmentShadingRateEnumStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
  1097. eAccelerationStructureGeometryMotionTrianglesDataNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
  1098. ePhysicalDeviceRayTracingMotionBlurFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
  1099. eAccelerationStructureMotionInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV,
  1100. ePhysicalDeviceMeshShaderFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
  1101. ePhysicalDeviceMeshShaderPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
  1102. ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
  1103. ePhysicalDeviceFragmentDensityMap2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
  1104. ePhysicalDeviceFragmentDensityMap2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
  1105. eCopyCommandTransformInfoQCOM = VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM,
  1106. ePhysicalDeviceImageRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT,
  1107. ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
  1108. eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR,
  1109. eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR,
  1110. eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR,
  1111. eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR,
  1112. eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR,
  1113. eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR,
  1114. eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR,
  1115. eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR,
  1116. eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
  1117. eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
  1118. eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
  1119. ePhysicalDeviceImageCompressionControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
  1120. eImageCompressionControlEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT,
  1121. eSubresourceLayout2EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT,
  1122. eImageSubresource2EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT,
  1123. eImageCompressionPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT,
  1124. ePhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
  1125. ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
  1126. ePhysicalDeviceFaultFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
  1127. eDeviceFaultCountsEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT,
  1128. eDeviceFaultInfoEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT,
  1129. ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM,
  1130. ePhysicalDeviceRgba10X6FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
  1131. #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  1132. eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
  1133. #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  1134. ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,
  1135. eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE,
  1136. ePhysicalDeviceVertexInputDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
  1137. eVertexInputBindingDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
  1138. eVertexInputAttributeDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
  1139. ePhysicalDeviceDrmPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
  1140. ePhysicalDeviceAddressBindingReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
  1141. eDeviceAddressBindingCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
  1142. ePhysicalDeviceDepthClipControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
  1143. ePipelineViewportDepthClipControlCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
  1144. ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
  1145. eFormatProperties3KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR,
  1146. #if defined( VK_USE_PLATFORM_FUCHSIA )
  1147. eImportMemoryZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
  1148. eMemoryZirconHandlePropertiesFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
  1149. eMemoryGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
  1150. eImportSemaphoreZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
  1151. eSemaphoreGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
  1152. eBufferCollectionCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
  1153. eImportMemoryBufferCollectionFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
  1154. eBufferCollectionImageCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
  1155. eBufferCollectionPropertiesFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
  1156. eBufferConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
  1157. eBufferCollectionBufferCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
  1158. eImageConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA,
  1159. eImageFormatConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
  1160. eSysmemColorSpaceFUCHSIA = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
  1161. eBufferCollectionConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
  1162. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  1163. eSubpassShadingPipelineCreateInfoHUAWEI = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
  1164. ePhysicalDeviceSubpassShadingFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
  1165. ePhysicalDeviceSubpassShadingPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
  1166. ePhysicalDeviceInvocationMaskFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
  1167. eMemoryGetRemoteAddressInfoNV = VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
  1168. ePhysicalDeviceExternalMemoryRdmaFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
  1169. ePipelinePropertiesIdentifierEXT = VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT,
  1170. ePhysicalDevicePipelinePropertiesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
  1171. ePipelineInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT,
  1172. ePhysicalDeviceFrameBoundaryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
  1173. eFrameBoundaryEXT = VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT,
  1174. ePhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
  1175. eSubpassResolvePerformanceQueryEXT = VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
  1176. eMultisampledRenderToSingleSampledInfoEXT = VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
  1177. ePhysicalDeviceExtendedDynamicState2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
  1178. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  1179. eScreenSurfaceCreateInfoQNX = VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX,
  1180. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  1181. ePhysicalDeviceColorWriteEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
  1182. ePipelineColorWriteCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
  1183. ePhysicalDevicePrimitivesGeneratedQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
  1184. ePhysicalDeviceRayTracingMaintenance1FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
  1185. ePhysicalDeviceGlobalPriorityQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT,
  1186. eQueueFamilyGlobalPriorityPropertiesEXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT,
  1187. ePhysicalDeviceImageViewMinLodFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
  1188. eImageViewMinLodCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
  1189. ePhysicalDeviceMultiDrawFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
  1190. ePhysicalDeviceMultiDrawPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
  1191. ePhysicalDeviceImage2DViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
  1192. ePhysicalDeviceShaderTileImageFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
  1193. ePhysicalDeviceShaderTileImagePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
  1194. eMicromapBuildInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT,
  1195. eMicromapVersionInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT,
  1196. eCopyMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT,
  1197. eCopyMicromapToMemoryInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT,
  1198. eCopyMemoryToMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT,
  1199. ePhysicalDeviceOpacityMicromapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
  1200. ePhysicalDeviceOpacityMicromapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
  1201. eMicromapCreateInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT,
  1202. eMicromapBuildSizesInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT,
  1203. eAccelerationStructureTrianglesOpacityMicromapEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT,
  1204. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1205. ePhysicalDeviceDisplacementMicromapFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
  1206. ePhysicalDeviceDisplacementMicromapPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
  1207. eAccelerationStructureTrianglesDisplacementMicromapNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV,
  1208. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1209. ePhysicalDeviceClusterCullingShaderFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
  1210. ePhysicalDeviceClusterCullingShaderPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
  1211. ePhysicalDeviceBorderColorSwizzleFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
  1212. eSamplerBorderColorComponentMappingCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
  1213. ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
  1214. ePhysicalDeviceMaintenance4FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR,
  1215. ePhysicalDeviceMaintenance4PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR,
  1216. eDeviceBufferMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR,
  1217. eDeviceImageMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR,
  1218. ePhysicalDeviceShaderCorePropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
  1219. ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
  1220. eImageViewSlicedCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
  1221. ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
  1222. eDescriptorSetBindingReferenceVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
  1223. eDescriptorSetLayoutHostMappingInfoVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
  1224. ePhysicalDeviceDepthClampZeroOneFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT,
  1225. ePhysicalDeviceNonSeamlessCubeMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
  1226. ePhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM,
  1227. ePhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM,
  1228. eSubpassFragmentDensityMapOffsetEndInfoQCOM = VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM,
  1229. ePhysicalDeviceCopyMemoryIndirectFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
  1230. ePhysicalDeviceCopyMemoryIndirectPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV,
  1231. ePhysicalDeviceMemoryDecompressionFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV,
  1232. ePhysicalDeviceMemoryDecompressionPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV,
  1233. ePhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
  1234. eComputePipelineIndirectBufferInfoNV = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
  1235. ePipelineIndirectDeviceAddressInfoNV = VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
  1236. ePhysicalDeviceLinearColorAttachmentFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
  1237. ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
  1238. ePhysicalDeviceImageProcessingFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
  1239. ePhysicalDeviceImageProcessingPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
  1240. eImageViewSampleWeightCreateInfoQCOM = VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
  1241. ePhysicalDeviceNestedCommandBufferFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
  1242. ePhysicalDeviceNestedCommandBufferPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
  1243. eExternalMemoryAcquireUnmodifiedEXT = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
  1244. ePhysicalDeviceExtendedDynamicState3FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
  1245. ePhysicalDeviceExtendedDynamicState3PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
  1246. ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
  1247. eRenderPassCreationControlEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT,
  1248. eRenderPassCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
  1249. eRenderPassSubpassFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
  1250. eDirectDriverLoadingInfoLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG,
  1251. eDirectDriverLoadingListLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG,
  1252. ePhysicalDeviceShaderModuleIdentifierFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
  1253. ePhysicalDeviceShaderModuleIdentifierPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
  1254. ePipelineShaderStageModuleIdentifierCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
  1255. eShaderModuleIdentifierEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT,
  1256. ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
  1257. ePhysicalDeviceOpticalFlowFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
  1258. ePhysicalDeviceOpticalFlowPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
  1259. eOpticalFlowImageFormatInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
  1260. eOpticalFlowImageFormatPropertiesNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
  1261. eOpticalFlowSessionCreateInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
  1262. eOpticalFlowExecuteInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV,
  1263. eOpticalFlowSessionCreatePrivateDataInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
  1264. ePhysicalDeviceLegacyDitheringFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
  1265. ePhysicalDevicePipelineProtectedAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT,
  1266. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  1267. ePhysicalDeviceExternalFormatResolveFeaturesANDROID = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
  1268. ePhysicalDeviceExternalFormatResolvePropertiesANDROID = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
  1269. eAndroidHardwareBufferFormatResolvePropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID,
  1270. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  1271. ePhysicalDeviceMaintenance5FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR,
  1272. ePhysicalDeviceMaintenance5PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR,
  1273. eRenderingAreaInfoKHR = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR,
  1274. eDeviceImageSubresourceInfoKHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR,
  1275. eSubresourceLayout2KHR = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR,
  1276. eImageSubresource2KHR = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR,
  1277. ePipelineCreateFlags2CreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR,
  1278. eBufferUsageFlags2CreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR,
  1279. ePhysicalDeviceRayTracingPositionFetchFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
  1280. ePhysicalDeviceShaderObjectFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
  1281. ePhysicalDeviceShaderObjectPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
  1282. eShaderCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,
  1283. eShaderRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
  1284. ePhysicalDeviceTilePropertiesFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
  1285. eTilePropertiesQCOM = VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM,
  1286. ePhysicalDeviceAmigoProfilingFeaturesSEC = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
  1287. eAmigoProfilingSubmitInfoSEC = VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC,
  1288. ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
  1289. ePhysicalDeviceRayTracingInvocationReorderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
  1290. ePhysicalDeviceRayTracingInvocationReorderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
  1291. ePhysicalDeviceExtendedSparseAddressSpaceFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
  1292. ePhysicalDeviceExtendedSparseAddressSpacePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
  1293. ePhysicalDeviceMutableDescriptorTypeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
  1294. eMutableDescriptorTypeCreateInfoEXT = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
  1295. ePhysicalDeviceShaderCoreBuiltinsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
  1296. ePhysicalDeviceShaderCoreBuiltinsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
  1297. ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
  1298. ePhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
  1299. eLatencySleepModeInfoNV = VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV,
  1300. eLatencySleepInfoNV = VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV,
  1301. eSetLatencyMarkerInfoNV = VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV,
  1302. eGetLatencyMarkerInfoNV = VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV,
  1303. eLatencyTimingsFrameReportNV = VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV,
  1304. eLatencySubmissionPresentIdNV = VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV,
  1305. eOutOfBandQueueTypeInfoNV = VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
  1306. eSwapchainLatencyCreateInfoNV = VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV,
  1307. eLatencySurfaceCapabilitiesNV = VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV,
  1308. ePhysicalDeviceCooperativeMatrixFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
  1309. eCooperativeMatrixPropertiesKHR = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
  1310. ePhysicalDeviceCooperativeMatrixPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
  1311. ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
  1312. eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
  1313. ePhysicalDeviceImageProcessing2FeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
  1314. ePhysicalDeviceImageProcessing2PropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
  1315. eSamplerBlockMatchWindowCreateInfoQCOM = VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
  1316. eSamplerCubicWeightsCreateInfoQCOM = VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
  1317. ePhysicalDeviceCubicWeightsFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
  1318. eBlitImageCubicWeightsInfoQCOM = VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM,
  1319. ePhysicalDeviceYcbcrDegammaFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
  1320. eSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
  1321. ePhysicalDeviceCubicClampFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
  1322. ePhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
  1323. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  1324. eScreenBufferPropertiesQNX = VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX,
  1325. eScreenBufferFormatPropertiesQNX = VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
  1326. eImportScreenBufferInfoQNX = VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX,
  1327. eExternalFormatQNX = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX,
  1328. ePhysicalDeviceExternalMemoryScreenBufferFeaturesQNX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
  1329. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  1330. ePhysicalDeviceLayeredDriverPropertiesMSFT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
  1331. ePhysicalDeviceDescriptorPoolOverallocationFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV
  1332. };
  1333. enum class PipelineCacheHeaderVersion
  1334. {
  1335. eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE
  1336. };
  1337. enum class ObjectType
  1338. {
  1339. eUnknown = VK_OBJECT_TYPE_UNKNOWN,
  1340. eInstance = VK_OBJECT_TYPE_INSTANCE,
  1341. ePhysicalDevice = VK_OBJECT_TYPE_PHYSICAL_DEVICE,
  1342. eDevice = VK_OBJECT_TYPE_DEVICE,
  1343. eQueue = VK_OBJECT_TYPE_QUEUE,
  1344. eSemaphore = VK_OBJECT_TYPE_SEMAPHORE,
  1345. eCommandBuffer = VK_OBJECT_TYPE_COMMAND_BUFFER,
  1346. eFence = VK_OBJECT_TYPE_FENCE,
  1347. eDeviceMemory = VK_OBJECT_TYPE_DEVICE_MEMORY,
  1348. eBuffer = VK_OBJECT_TYPE_BUFFER,
  1349. eImage = VK_OBJECT_TYPE_IMAGE,
  1350. eEvent = VK_OBJECT_TYPE_EVENT,
  1351. eQueryPool = VK_OBJECT_TYPE_QUERY_POOL,
  1352. eBufferView = VK_OBJECT_TYPE_BUFFER_VIEW,
  1353. eImageView = VK_OBJECT_TYPE_IMAGE_VIEW,
  1354. eShaderModule = VK_OBJECT_TYPE_SHADER_MODULE,
  1355. ePipelineCache = VK_OBJECT_TYPE_PIPELINE_CACHE,
  1356. ePipelineLayout = VK_OBJECT_TYPE_PIPELINE_LAYOUT,
  1357. eRenderPass = VK_OBJECT_TYPE_RENDER_PASS,
  1358. ePipeline = VK_OBJECT_TYPE_PIPELINE,
  1359. eDescriptorSetLayout = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
  1360. eSampler = VK_OBJECT_TYPE_SAMPLER,
  1361. eDescriptorPool = VK_OBJECT_TYPE_DESCRIPTOR_POOL,
  1362. eDescriptorSet = VK_OBJECT_TYPE_DESCRIPTOR_SET,
  1363. eFramebuffer = VK_OBJECT_TYPE_FRAMEBUFFER,
  1364. eCommandPool = VK_OBJECT_TYPE_COMMAND_POOL,
  1365. eSamplerYcbcrConversion = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
  1366. eDescriptorUpdateTemplate = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
  1367. ePrivateDataSlot = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
  1368. eSurfaceKHR = VK_OBJECT_TYPE_SURFACE_KHR,
  1369. eSwapchainKHR = VK_OBJECT_TYPE_SWAPCHAIN_KHR,
  1370. eDisplayKHR = VK_OBJECT_TYPE_DISPLAY_KHR,
  1371. eDisplayModeKHR = VK_OBJECT_TYPE_DISPLAY_MODE_KHR,
  1372. eDebugReportCallbackEXT = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
  1373. eVideoSessionKHR = VK_OBJECT_TYPE_VIDEO_SESSION_KHR,
  1374. eVideoSessionParametersKHR = VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR,
  1375. eCuModuleNVX = VK_OBJECT_TYPE_CU_MODULE_NVX,
  1376. eCuFunctionNVX = VK_OBJECT_TYPE_CU_FUNCTION_NVX,
  1377. eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
  1378. eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
  1379. eAccelerationStructureKHR = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
  1380. eSamplerYcbcrConversionKHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR,
  1381. eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT,
  1382. eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV,
  1383. ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL,
  1384. eDeferredOperationKHR = VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR,
  1385. eIndirectCommandsLayoutNV = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
  1386. ePrivateDataSlotEXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
  1387. #if defined( VK_USE_PLATFORM_FUCHSIA )
  1388. eBufferCollectionFUCHSIA = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
  1389. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  1390. eMicromapEXT = VK_OBJECT_TYPE_MICROMAP_EXT,
  1391. eOpticalFlowSessionNV = VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV,
  1392. eShaderEXT = VK_OBJECT_TYPE_SHADER_EXT
  1393. };
  1394. enum class VendorId
  1395. {
  1396. eVIV = VK_VENDOR_ID_VIV,
  1397. eVSI = VK_VENDOR_ID_VSI,
  1398. eKazan = VK_VENDOR_ID_KAZAN,
  1399. eCodeplay = VK_VENDOR_ID_CODEPLAY,
  1400. eMESA = VK_VENDOR_ID_MESA,
  1401. ePocl = VK_VENDOR_ID_POCL,
  1402. eMobileye = VK_VENDOR_ID_MOBILEYE
  1403. };
  1404. enum class Format
  1405. {
  1406. eUndefined = VK_FORMAT_UNDEFINED,
  1407. eR4G4UnormPack8 = VK_FORMAT_R4G4_UNORM_PACK8,
  1408. eR4G4B4A4UnormPack16 = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
  1409. eB4G4R4A4UnormPack16 = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
  1410. eR5G6B5UnormPack16 = VK_FORMAT_R5G6B5_UNORM_PACK16,
  1411. eB5G6R5UnormPack16 = VK_FORMAT_B5G6R5_UNORM_PACK16,
  1412. eR5G5B5A1UnormPack16 = VK_FORMAT_R5G5B5A1_UNORM_PACK16,
  1413. eB5G5R5A1UnormPack16 = VK_FORMAT_B5G5R5A1_UNORM_PACK16,
  1414. eA1R5G5B5UnormPack16 = VK_FORMAT_A1R5G5B5_UNORM_PACK16,
  1415. eR8Unorm = VK_FORMAT_R8_UNORM,
  1416. eR8Snorm = VK_FORMAT_R8_SNORM,
  1417. eR8Uscaled = VK_FORMAT_R8_USCALED,
  1418. eR8Sscaled = VK_FORMAT_R8_SSCALED,
  1419. eR8Uint = VK_FORMAT_R8_UINT,
  1420. eR8Sint = VK_FORMAT_R8_SINT,
  1421. eR8Srgb = VK_FORMAT_R8_SRGB,
  1422. eR8G8Unorm = VK_FORMAT_R8G8_UNORM,
  1423. eR8G8Snorm = VK_FORMAT_R8G8_SNORM,
  1424. eR8G8Uscaled = VK_FORMAT_R8G8_USCALED,
  1425. eR8G8Sscaled = VK_FORMAT_R8G8_SSCALED,
  1426. eR8G8Uint = VK_FORMAT_R8G8_UINT,
  1427. eR8G8Sint = VK_FORMAT_R8G8_SINT,
  1428. eR8G8Srgb = VK_FORMAT_R8G8_SRGB,
  1429. eR8G8B8Unorm = VK_FORMAT_R8G8B8_UNORM,
  1430. eR8G8B8Snorm = VK_FORMAT_R8G8B8_SNORM,
  1431. eR8G8B8Uscaled = VK_FORMAT_R8G8B8_USCALED,
  1432. eR8G8B8Sscaled = VK_FORMAT_R8G8B8_SSCALED,
  1433. eR8G8B8Uint = VK_FORMAT_R8G8B8_UINT,
  1434. eR8G8B8Sint = VK_FORMAT_R8G8B8_SINT,
  1435. eR8G8B8Srgb = VK_FORMAT_R8G8B8_SRGB,
  1436. eB8G8R8Unorm = VK_FORMAT_B8G8R8_UNORM,
  1437. eB8G8R8Snorm = VK_FORMAT_B8G8R8_SNORM,
  1438. eB8G8R8Uscaled = VK_FORMAT_B8G8R8_USCALED,
  1439. eB8G8R8Sscaled = VK_FORMAT_B8G8R8_SSCALED,
  1440. eB8G8R8Uint = VK_FORMAT_B8G8R8_UINT,
  1441. eB8G8R8Sint = VK_FORMAT_B8G8R8_SINT,
  1442. eB8G8R8Srgb = VK_FORMAT_B8G8R8_SRGB,
  1443. eR8G8B8A8Unorm = VK_FORMAT_R8G8B8A8_UNORM,
  1444. eR8G8B8A8Snorm = VK_FORMAT_R8G8B8A8_SNORM,
  1445. eR8G8B8A8Uscaled = VK_FORMAT_R8G8B8A8_USCALED,
  1446. eR8G8B8A8Sscaled = VK_FORMAT_R8G8B8A8_SSCALED,
  1447. eR8G8B8A8Uint = VK_FORMAT_R8G8B8A8_UINT,
  1448. eR8G8B8A8Sint = VK_FORMAT_R8G8B8A8_SINT,
  1449. eR8G8B8A8Srgb = VK_FORMAT_R8G8B8A8_SRGB,
  1450. eB8G8R8A8Unorm = VK_FORMAT_B8G8R8A8_UNORM,
  1451. eB8G8R8A8Snorm = VK_FORMAT_B8G8R8A8_SNORM,
  1452. eB8G8R8A8Uscaled = VK_FORMAT_B8G8R8A8_USCALED,
  1453. eB8G8R8A8Sscaled = VK_FORMAT_B8G8R8A8_SSCALED,
  1454. eB8G8R8A8Uint = VK_FORMAT_B8G8R8A8_UINT,
  1455. eB8G8R8A8Sint = VK_FORMAT_B8G8R8A8_SINT,
  1456. eB8G8R8A8Srgb = VK_FORMAT_B8G8R8A8_SRGB,
  1457. eA8B8G8R8UnormPack32 = VK_FORMAT_A8B8G8R8_UNORM_PACK32,
  1458. eA8B8G8R8SnormPack32 = VK_FORMAT_A8B8G8R8_SNORM_PACK32,
  1459. eA8B8G8R8UscaledPack32 = VK_FORMAT_A8B8G8R8_USCALED_PACK32,
  1460. eA8B8G8R8SscaledPack32 = VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
  1461. eA8B8G8R8UintPack32 = VK_FORMAT_A8B8G8R8_UINT_PACK32,
  1462. eA8B8G8R8SintPack32 = VK_FORMAT_A8B8G8R8_SINT_PACK32,
  1463. eA8B8G8R8SrgbPack32 = VK_FORMAT_A8B8G8R8_SRGB_PACK32,
  1464. eA2R10G10B10UnormPack32 = VK_FORMAT_A2R10G10B10_UNORM_PACK32,
  1465. eA2R10G10B10SnormPack32 = VK_FORMAT_A2R10G10B10_SNORM_PACK32,
  1466. eA2R10G10B10UscaledPack32 = VK_FORMAT_A2R10G10B10_USCALED_PACK32,
  1467. eA2R10G10B10SscaledPack32 = VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
  1468. eA2R10G10B10UintPack32 = VK_FORMAT_A2R10G10B10_UINT_PACK32,
  1469. eA2R10G10B10SintPack32 = VK_FORMAT_A2R10G10B10_SINT_PACK32,
  1470. eA2B10G10R10UnormPack32 = VK_FORMAT_A2B10G10R10_UNORM_PACK32,
  1471. eA2B10G10R10SnormPack32 = VK_FORMAT_A2B10G10R10_SNORM_PACK32,
  1472. eA2B10G10R10UscaledPack32 = VK_FORMAT_A2B10G10R10_USCALED_PACK32,
  1473. eA2B10G10R10SscaledPack32 = VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
  1474. eA2B10G10R10UintPack32 = VK_FORMAT_A2B10G10R10_UINT_PACK32,
  1475. eA2B10G10R10SintPack32 = VK_FORMAT_A2B10G10R10_SINT_PACK32,
  1476. eR16Unorm = VK_FORMAT_R16_UNORM,
  1477. eR16Snorm = VK_FORMAT_R16_SNORM,
  1478. eR16Uscaled = VK_FORMAT_R16_USCALED,
  1479. eR16Sscaled = VK_FORMAT_R16_SSCALED,
  1480. eR16Uint = VK_FORMAT_R16_UINT,
  1481. eR16Sint = VK_FORMAT_R16_SINT,
  1482. eR16Sfloat = VK_FORMAT_R16_SFLOAT,
  1483. eR16G16Unorm = VK_FORMAT_R16G16_UNORM,
  1484. eR16G16Snorm = VK_FORMAT_R16G16_SNORM,
  1485. eR16G16Uscaled = VK_FORMAT_R16G16_USCALED,
  1486. eR16G16Sscaled = VK_FORMAT_R16G16_SSCALED,
  1487. eR16G16Uint = VK_FORMAT_R16G16_UINT,
  1488. eR16G16Sint = VK_FORMAT_R16G16_SINT,
  1489. eR16G16Sfloat = VK_FORMAT_R16G16_SFLOAT,
  1490. eR16G16B16Unorm = VK_FORMAT_R16G16B16_UNORM,
  1491. eR16G16B16Snorm = VK_FORMAT_R16G16B16_SNORM,
  1492. eR16G16B16Uscaled = VK_FORMAT_R16G16B16_USCALED,
  1493. eR16G16B16Sscaled = VK_FORMAT_R16G16B16_SSCALED,
  1494. eR16G16B16Uint = VK_FORMAT_R16G16B16_UINT,
  1495. eR16G16B16Sint = VK_FORMAT_R16G16B16_SINT,
  1496. eR16G16B16Sfloat = VK_FORMAT_R16G16B16_SFLOAT,
  1497. eR16G16B16A16Unorm = VK_FORMAT_R16G16B16A16_UNORM,
  1498. eR16G16B16A16Snorm = VK_FORMAT_R16G16B16A16_SNORM,
  1499. eR16G16B16A16Uscaled = VK_FORMAT_R16G16B16A16_USCALED,
  1500. eR16G16B16A16Sscaled = VK_FORMAT_R16G16B16A16_SSCALED,
  1501. eR16G16B16A16Uint = VK_FORMAT_R16G16B16A16_UINT,
  1502. eR16G16B16A16Sint = VK_FORMAT_R16G16B16A16_SINT,
  1503. eR16G16B16A16Sfloat = VK_FORMAT_R16G16B16A16_SFLOAT,
  1504. eR32Uint = VK_FORMAT_R32_UINT,
  1505. eR32Sint = VK_FORMAT_R32_SINT,
  1506. eR32Sfloat = VK_FORMAT_R32_SFLOAT,
  1507. eR32G32Uint = VK_FORMAT_R32G32_UINT,
  1508. eR32G32Sint = VK_FORMAT_R32G32_SINT,
  1509. eR32G32Sfloat = VK_FORMAT_R32G32_SFLOAT,
  1510. eR32G32B32Uint = VK_FORMAT_R32G32B32_UINT,
  1511. eR32G32B32Sint = VK_FORMAT_R32G32B32_SINT,
  1512. eR32G32B32Sfloat = VK_FORMAT_R32G32B32_SFLOAT,
  1513. eR32G32B32A32Uint = VK_FORMAT_R32G32B32A32_UINT,
  1514. eR32G32B32A32Sint = VK_FORMAT_R32G32B32A32_SINT,
  1515. eR32G32B32A32Sfloat = VK_FORMAT_R32G32B32A32_SFLOAT,
  1516. eR64Uint = VK_FORMAT_R64_UINT,
  1517. eR64Sint = VK_FORMAT_R64_SINT,
  1518. eR64Sfloat = VK_FORMAT_R64_SFLOAT,
  1519. eR64G64Uint = VK_FORMAT_R64G64_UINT,
  1520. eR64G64Sint = VK_FORMAT_R64G64_SINT,
  1521. eR64G64Sfloat = VK_FORMAT_R64G64_SFLOAT,
  1522. eR64G64B64Uint = VK_FORMAT_R64G64B64_UINT,
  1523. eR64G64B64Sint = VK_FORMAT_R64G64B64_SINT,
  1524. eR64G64B64Sfloat = VK_FORMAT_R64G64B64_SFLOAT,
  1525. eR64G64B64A64Uint = VK_FORMAT_R64G64B64A64_UINT,
  1526. eR64G64B64A64Sint = VK_FORMAT_R64G64B64A64_SINT,
  1527. eR64G64B64A64Sfloat = VK_FORMAT_R64G64B64A64_SFLOAT,
  1528. eB10G11R11UfloatPack32 = VK_FORMAT_B10G11R11_UFLOAT_PACK32,
  1529. eE5B9G9R9UfloatPack32 = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
  1530. eD16Unorm = VK_FORMAT_D16_UNORM,
  1531. eX8D24UnormPack32 = VK_FORMAT_X8_D24_UNORM_PACK32,
  1532. eD32Sfloat = VK_FORMAT_D32_SFLOAT,
  1533. eS8Uint = VK_FORMAT_S8_UINT,
  1534. eD16UnormS8Uint = VK_FORMAT_D16_UNORM_S8_UINT,
  1535. eD24UnormS8Uint = VK_FORMAT_D24_UNORM_S8_UINT,
  1536. eD32SfloatS8Uint = VK_FORMAT_D32_SFLOAT_S8_UINT,
  1537. eBc1RgbUnormBlock = VK_FORMAT_BC1_RGB_UNORM_BLOCK,
  1538. eBc1RgbSrgbBlock = VK_FORMAT_BC1_RGB_SRGB_BLOCK,
  1539. eBc1RgbaUnormBlock = VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
  1540. eBc1RgbaSrgbBlock = VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
  1541. eBc2UnormBlock = VK_FORMAT_BC2_UNORM_BLOCK,
  1542. eBc2SrgbBlock = VK_FORMAT_BC2_SRGB_BLOCK,
  1543. eBc3UnormBlock = VK_FORMAT_BC3_UNORM_BLOCK,
  1544. eBc3SrgbBlock = VK_FORMAT_BC3_SRGB_BLOCK,
  1545. eBc4UnormBlock = VK_FORMAT_BC4_UNORM_BLOCK,
  1546. eBc4SnormBlock = VK_FORMAT_BC4_SNORM_BLOCK,
  1547. eBc5UnormBlock = VK_FORMAT_BC5_UNORM_BLOCK,
  1548. eBc5SnormBlock = VK_FORMAT_BC5_SNORM_BLOCK,
  1549. eBc6HUfloatBlock = VK_FORMAT_BC6H_UFLOAT_BLOCK,
  1550. eBc6HSfloatBlock = VK_FORMAT_BC6H_SFLOAT_BLOCK,
  1551. eBc7UnormBlock = VK_FORMAT_BC7_UNORM_BLOCK,
  1552. eBc7SrgbBlock = VK_FORMAT_BC7_SRGB_BLOCK,
  1553. eEtc2R8G8B8UnormBlock = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
  1554. eEtc2R8G8B8SrgbBlock = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
  1555. eEtc2R8G8B8A1UnormBlock = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
  1556. eEtc2R8G8B8A1SrgbBlock = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
  1557. eEtc2R8G8B8A8UnormBlock = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
  1558. eEtc2R8G8B8A8SrgbBlock = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
  1559. eEacR11UnormBlock = VK_FORMAT_EAC_R11_UNORM_BLOCK,
  1560. eEacR11SnormBlock = VK_FORMAT_EAC_R11_SNORM_BLOCK,
  1561. eEacR11G11UnormBlock = VK_FORMAT_EAC_R11G11_UNORM_BLOCK,
  1562. eEacR11G11SnormBlock = VK_FORMAT_EAC_R11G11_SNORM_BLOCK,
  1563. eAstc4x4UnormBlock = VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
  1564. eAstc4x4SrgbBlock = VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
  1565. eAstc5x4UnormBlock = VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
  1566. eAstc5x4SrgbBlock = VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
  1567. eAstc5x5UnormBlock = VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
  1568. eAstc5x5SrgbBlock = VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
  1569. eAstc6x5UnormBlock = VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
  1570. eAstc6x5SrgbBlock = VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
  1571. eAstc6x6UnormBlock = VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
  1572. eAstc6x6SrgbBlock = VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
  1573. eAstc8x5UnormBlock = VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
  1574. eAstc8x5SrgbBlock = VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
  1575. eAstc8x6UnormBlock = VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
  1576. eAstc8x6SrgbBlock = VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
  1577. eAstc8x8UnormBlock = VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
  1578. eAstc8x8SrgbBlock = VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
  1579. eAstc10x5UnormBlock = VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
  1580. eAstc10x5SrgbBlock = VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
  1581. eAstc10x6UnormBlock = VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
  1582. eAstc10x6SrgbBlock = VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
  1583. eAstc10x8UnormBlock = VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
  1584. eAstc10x8SrgbBlock = VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
  1585. eAstc10x10UnormBlock = VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
  1586. eAstc10x10SrgbBlock = VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
  1587. eAstc12x10UnormBlock = VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
  1588. eAstc12x10SrgbBlock = VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
  1589. eAstc12x12UnormBlock = VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
  1590. eAstc12x12SrgbBlock = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
  1591. eG8B8G8R8422Unorm = VK_FORMAT_G8B8G8R8_422_UNORM,
  1592. eB8G8R8G8422Unorm = VK_FORMAT_B8G8R8G8_422_UNORM,
  1593. eG8B8R83Plane420Unorm = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
  1594. eG8B8R82Plane420Unorm = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
  1595. eG8B8R83Plane422Unorm = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
  1596. eG8B8R82Plane422Unorm = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
  1597. eG8B8R83Plane444Unorm = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
  1598. eR10X6UnormPack16 = VK_FORMAT_R10X6_UNORM_PACK16,
  1599. eR10X6G10X6Unorm2Pack16 = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
  1600. eR10X6G10X6B10X6A10X6Unorm4Pack16 = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
  1601. eG10X6B10X6G10X6R10X6422Unorm4Pack16 = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
  1602. eB10X6G10X6R10X6G10X6422Unorm4Pack16 = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
  1603. eG10X6B10X6R10X63Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
  1604. eG10X6B10X6R10X62Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
  1605. eG10X6B10X6R10X63Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
  1606. eG10X6B10X6R10X62Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
  1607. eG10X6B10X6R10X63Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
  1608. eR12X4UnormPack16 = VK_FORMAT_R12X4_UNORM_PACK16,
  1609. eR12X4G12X4Unorm2Pack16 = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
  1610. eR12X4G12X4B12X4A12X4Unorm4Pack16 = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
  1611. eG12X4B12X4G12X4R12X4422Unorm4Pack16 = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
  1612. eB12X4G12X4R12X4G12X4422Unorm4Pack16 = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
  1613. eG12X4B12X4R12X43Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
  1614. eG12X4B12X4R12X42Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
  1615. eG12X4B12X4R12X43Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
  1616. eG12X4B12X4R12X42Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
  1617. eG12X4B12X4R12X43Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
  1618. eG16B16G16R16422Unorm = VK_FORMAT_G16B16G16R16_422_UNORM,
  1619. eB16G16R16G16422Unorm = VK_FORMAT_B16G16R16G16_422_UNORM,
  1620. eG16B16R163Plane420Unorm = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
  1621. eG16B16R162Plane420Unorm = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
  1622. eG16B16R163Plane422Unorm = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
  1623. eG16B16R162Plane422Unorm = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
  1624. eG16B16R163Plane444Unorm = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
  1625. eG8B8R82Plane444Unorm = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
  1626. eG10X6B10X6R10X62Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
  1627. eG12X4B12X4R12X42Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
  1628. eG16B16R162Plane444Unorm = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
  1629. eA4R4G4B4UnormPack16 = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
  1630. eA4B4G4R4UnormPack16 = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
  1631. eAstc4x4SfloatBlock = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
  1632. eAstc5x4SfloatBlock = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
  1633. eAstc5x5SfloatBlock = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
  1634. eAstc6x5SfloatBlock = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
  1635. eAstc6x6SfloatBlock = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
  1636. eAstc8x5SfloatBlock = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
  1637. eAstc8x6SfloatBlock = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
  1638. eAstc8x8SfloatBlock = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
  1639. eAstc10x5SfloatBlock = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
  1640. eAstc10x6SfloatBlock = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
  1641. eAstc10x8SfloatBlock = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
  1642. eAstc10x10SfloatBlock = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
  1643. eAstc12x10SfloatBlock = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
  1644. eAstc12x12SfloatBlock = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
  1645. ePvrtc12BppUnormBlockIMG = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,
  1646. ePvrtc14BppUnormBlockIMG = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,
  1647. ePvrtc22BppUnormBlockIMG = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,
  1648. ePvrtc24BppUnormBlockIMG = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,
  1649. ePvrtc12BppSrgbBlockIMG = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,
  1650. ePvrtc14BppSrgbBlockIMG = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,
  1651. ePvrtc22BppSrgbBlockIMG = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,
  1652. ePvrtc24BppSrgbBlockIMG = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG,
  1653. eAstc4x4SfloatBlockEXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT,
  1654. eAstc5x4SfloatBlockEXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT,
  1655. eAstc5x5SfloatBlockEXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT,
  1656. eAstc6x5SfloatBlockEXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT,
  1657. eAstc6x6SfloatBlockEXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT,
  1658. eAstc8x5SfloatBlockEXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT,
  1659. eAstc8x6SfloatBlockEXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT,
  1660. eAstc8x8SfloatBlockEXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT,
  1661. eAstc10x5SfloatBlockEXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT,
  1662. eAstc10x6SfloatBlockEXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT,
  1663. eAstc10x8SfloatBlockEXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT,
  1664. eAstc10x10SfloatBlockEXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT,
  1665. eAstc12x10SfloatBlockEXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT,
  1666. eAstc12x12SfloatBlockEXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT,
  1667. eG8B8G8R8422UnormKHR = VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
  1668. eB8G8R8G8422UnormKHR = VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
  1669. eG8B8R83Plane420UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
  1670. eG8B8R82Plane420UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
  1671. eG8B8R83Plane422UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
  1672. eG8B8R82Plane422UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
  1673. eG8B8R83Plane444UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
  1674. eR10X6UnormPack16KHR = VK_FORMAT_R10X6_UNORM_PACK16_KHR,
  1675. eR10X6G10X6Unorm2Pack16KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
  1676. eR10X6G10X6B10X6A10X6Unorm4Pack16KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
  1677. eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
  1678. eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
  1679. eG10X6B10X6R10X63Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
  1680. eG10X6B10X6R10X62Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
  1681. eG10X6B10X6R10X63Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
  1682. eG10X6B10X6R10X62Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
  1683. eG10X6B10X6R10X63Plane444Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
  1684. eR12X4UnormPack16KHR = VK_FORMAT_R12X4_UNORM_PACK16_KHR,
  1685. eR12X4G12X4Unorm2Pack16KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
  1686. eR12X4G12X4B12X4A12X4Unorm4Pack16KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
  1687. eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
  1688. eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
  1689. eG12X4B12X4R12X43Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
  1690. eG12X4B12X4R12X42Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
  1691. eG12X4B12X4R12X43Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
  1692. eG12X4B12X4R12X42Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
  1693. eG12X4B12X4R12X43Plane444Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
  1694. eG16B16G16R16422UnormKHR = VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
  1695. eB16G16R16G16422UnormKHR = VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
  1696. eG16B16R163Plane420UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
  1697. eG16B16R162Plane420UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
  1698. eG16B16R163Plane422UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
  1699. eG16B16R162Plane422UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
  1700. eG16B16R163Plane444UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,
  1701. eG8B8R82Plane444UnormEXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT,
  1702. eG10X6B10X6R10X62Plane444Unorm3Pack16EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT,
  1703. eG12X4B12X4R12X42Plane444Unorm3Pack16EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT,
  1704. eG16B16R162Plane444UnormEXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT,
  1705. eA4R4G4B4UnormPack16EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT,
  1706. eA4B4G4R4UnormPack16EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT,
  1707. eR16G16S105NV = VK_FORMAT_R16G16_S10_5_NV,
  1708. eA1B5G5R5UnormPack16KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR,
  1709. eA8UnormKHR = VK_FORMAT_A8_UNORM_KHR
  1710. };
  1711. enum class FormatFeatureFlagBits : VkFormatFeatureFlags
  1712. {
  1713. eSampledImage = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
  1714. eStorageImage = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,
  1715. eStorageImageAtomic = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,
  1716. eUniformTexelBuffer = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,
  1717. eStorageTexelBuffer = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,
  1718. eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
  1719. eVertexBuffer = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,
  1720. eColorAttachment = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,
  1721. eColorAttachmentBlend = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,
  1722. eDepthStencilAttachment = VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,
  1723. eBlitSrc = VK_FORMAT_FEATURE_BLIT_SRC_BIT,
  1724. eBlitDst = VK_FORMAT_FEATURE_BLIT_DST_BIT,
  1725. eSampledImageFilterLinear = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
  1726. eTransferSrc = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
  1727. eTransferDst = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
  1728. eMidpointChromaSamples = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
  1729. eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
  1730. eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
  1731. eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
  1732. eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
  1733. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
  1734. eDisjoint = VK_FORMAT_FEATURE_DISJOINT_BIT,
  1735. eCositedChromaSamples = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
  1736. eSampledImageFilterMinmax = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
  1737. eSampledImageFilterCubicIMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
  1738. eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR,
  1739. eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR,
  1740. eTransferSrcKHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR,
  1741. eTransferDstKHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,
  1742. eSampledImageFilterMinmaxEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT,
  1743. eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
  1744. eMidpointChromaSamplesKHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,
  1745. eSampledImageYcbcrConversionLinearFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,
  1746. eSampledImageYcbcrConversionSeparateReconstructionFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,
  1747. eSampledImageYcbcrConversionChromaReconstructionExplicitKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,
  1748. eSampledImageYcbcrConversionChromaReconstructionExplicitForceableKHR =
  1749. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,
  1750. eDisjointKHR = VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,
  1751. eCositedChromaSamplesKHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,
  1752. eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
  1753. eFragmentDensityMapEXT = VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT,
  1754. eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  1755. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1756. eVideoEncodeInputKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR,
  1757. eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR
  1758. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1759. };
  1760. using FormatFeatureFlags = Flags<FormatFeatureFlagBits>;
  1761. template <>
  1762. struct FlagTraits<FormatFeatureFlagBits>
  1763. {
  1764. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1765. static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags allFlags =
  1766. FormatFeatureFlagBits::eSampledImage | FormatFeatureFlagBits::eStorageImage | FormatFeatureFlagBits::eStorageImageAtomic |
  1767. FormatFeatureFlagBits::eUniformTexelBuffer | FormatFeatureFlagBits::eStorageTexelBuffer | FormatFeatureFlagBits::eStorageTexelBufferAtomic |
  1768. FormatFeatureFlagBits::eVertexBuffer | FormatFeatureFlagBits::eColorAttachment | FormatFeatureFlagBits::eColorAttachmentBlend |
  1769. FormatFeatureFlagBits::eDepthStencilAttachment | FormatFeatureFlagBits::eBlitSrc | FormatFeatureFlagBits::eBlitDst |
  1770. FormatFeatureFlagBits::eSampledImageFilterLinear | FormatFeatureFlagBits::eTransferSrc | FormatFeatureFlagBits::eTransferDst |
  1771. FormatFeatureFlagBits::eMidpointChromaSamples | FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter |
  1772. FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter |
  1773. FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit |
  1774. FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits::eDisjoint |
  1775. FormatFeatureFlagBits::eCositedChromaSamples | FormatFeatureFlagBits::eSampledImageFilterMinmax | FormatFeatureFlagBits::eVideoDecodeOutputKHR |
  1776. FormatFeatureFlagBits::eVideoDecodeDpbKHR | FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR |
  1777. FormatFeatureFlagBits::eSampledImageFilterCubicEXT | FormatFeatureFlagBits::eFragmentDensityMapEXT |
  1778. FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR
  1779. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1780. | FormatFeatureFlagBits::eVideoEncodeInputKHR | FormatFeatureFlagBits::eVideoEncodeDpbKHR
  1781. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1782. ;
  1783. };
  1784. enum class ImageCreateFlagBits : VkImageCreateFlags
  1785. {
  1786. eSparseBinding = VK_IMAGE_CREATE_SPARSE_BINDING_BIT,
  1787. eSparseResidency = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,
  1788. eSparseAliased = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,
  1789. eMutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
  1790. eCubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT,
  1791. eAlias = VK_IMAGE_CREATE_ALIAS_BIT,
  1792. eSplitInstanceBindRegions = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
  1793. e2DArrayCompatible = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
  1794. eBlockTexelViewCompatible = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
  1795. eExtendedUsage = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
  1796. eProtected = VK_IMAGE_CREATE_PROTECTED_BIT,
  1797. eDisjoint = VK_IMAGE_CREATE_DISJOINT_BIT,
  1798. eCornerSampledNV = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV,
  1799. eSplitInstanceBindRegionsKHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
  1800. e2DArrayCompatibleKHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR,
  1801. eBlockTexelViewCompatibleKHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR,
  1802. eExtendedUsageKHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR,
  1803. eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT,
  1804. eDisjointKHR = VK_IMAGE_CREATE_DISJOINT_BIT_KHR,
  1805. eAliasKHR = VK_IMAGE_CREATE_ALIAS_BIT_KHR,
  1806. eSubsampledEXT = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
  1807. eDescriptorBufferCaptureReplayEXT = VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
  1808. eMultisampledRenderToSingleSampledEXT = VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT,
  1809. e2DViewCompatibleEXT = VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT,
  1810. eFragmentDensityMapOffsetQCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM
  1811. };
  1812. using ImageCreateFlags = Flags<ImageCreateFlagBits>;
  1813. template <>
  1814. struct FlagTraits<ImageCreateFlagBits>
  1815. {
  1816. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1817. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCreateFlags allFlags =
  1818. ImageCreateFlagBits::eSparseBinding | ImageCreateFlagBits::eSparseResidency | ImageCreateFlagBits::eSparseAliased | ImageCreateFlagBits::eMutableFormat |
  1819. ImageCreateFlagBits::eCubeCompatible | ImageCreateFlagBits::eAlias | ImageCreateFlagBits::eSplitInstanceBindRegions |
  1820. ImageCreateFlagBits::e2DArrayCompatible | ImageCreateFlagBits::eBlockTexelViewCompatible | ImageCreateFlagBits::eExtendedUsage |
  1821. ImageCreateFlagBits::eProtected | ImageCreateFlagBits::eDisjoint | ImageCreateFlagBits::eCornerSampledNV |
  1822. ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT | ImageCreateFlagBits::eSubsampledEXT | ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
  1823. ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT | ImageCreateFlagBits::e2DViewCompatibleEXT |
  1824. ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM;
  1825. };
  1826. enum class ImageTiling
  1827. {
  1828. eOptimal = VK_IMAGE_TILING_OPTIMAL,
  1829. eLinear = VK_IMAGE_TILING_LINEAR,
  1830. eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
  1831. };
  1832. enum class ImageType
  1833. {
  1834. e1D = VK_IMAGE_TYPE_1D,
  1835. e2D = VK_IMAGE_TYPE_2D,
  1836. e3D = VK_IMAGE_TYPE_3D
  1837. };
  1838. enum class ImageUsageFlagBits : VkImageUsageFlags
  1839. {
  1840. eTransferSrc = VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
  1841. eTransferDst = VK_IMAGE_USAGE_TRANSFER_DST_BIT,
  1842. eSampled = VK_IMAGE_USAGE_SAMPLED_BIT,
  1843. eStorage = VK_IMAGE_USAGE_STORAGE_BIT,
  1844. eColorAttachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
  1845. eDepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
  1846. eTransientAttachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
  1847. eInputAttachment = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
  1848. eVideoDecodeDstKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR,
  1849. eVideoDecodeSrcKHR = VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
  1850. eVideoDecodeDpbKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR,
  1851. eShadingRateImageNV = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
  1852. eFragmentDensityMapEXT = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,
  1853. eFragmentShadingRateAttachmentKHR = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  1854. eHostTransferEXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT,
  1855. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1856. eVideoEncodeDstKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
  1857. eVideoEncodeSrcKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
  1858. eVideoEncodeDpbKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR,
  1859. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1860. eAttachmentFeedbackLoopEXT = VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
  1861. eInvocationMaskHUAWEI = VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI,
  1862. eSampleWeightQCOM = VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM,
  1863. eSampleBlockMatchQCOM = VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM
  1864. };
  1865. using ImageUsageFlags = Flags<ImageUsageFlagBits>;
  1866. template <>
  1867. struct FlagTraits<ImageUsageFlagBits>
  1868. {
  1869. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1870. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageUsageFlags allFlags =
  1871. ImageUsageFlagBits::eTransferSrc | ImageUsageFlagBits::eTransferDst | ImageUsageFlagBits::eSampled | ImageUsageFlagBits::eStorage |
  1872. ImageUsageFlagBits::eColorAttachment | ImageUsageFlagBits::eDepthStencilAttachment | ImageUsageFlagBits::eTransientAttachment |
  1873. ImageUsageFlagBits::eInputAttachment | ImageUsageFlagBits::eVideoDecodeDstKHR | ImageUsageFlagBits::eVideoDecodeSrcKHR |
  1874. ImageUsageFlagBits::eVideoDecodeDpbKHR | ImageUsageFlagBits::eFragmentDensityMapEXT | ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR |
  1875. ImageUsageFlagBits::eHostTransferEXT
  1876. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1877. | ImageUsageFlagBits::eVideoEncodeDstKHR | ImageUsageFlagBits::eVideoEncodeSrcKHR | ImageUsageFlagBits::eVideoEncodeDpbKHR
  1878. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1879. | ImageUsageFlagBits::eAttachmentFeedbackLoopEXT | ImageUsageFlagBits::eInvocationMaskHUAWEI | ImageUsageFlagBits::eSampleWeightQCOM |
  1880. ImageUsageFlagBits::eSampleBlockMatchQCOM;
  1881. };
  1882. enum class InstanceCreateFlagBits : VkInstanceCreateFlags
  1883. {
  1884. eEnumeratePortabilityKHR = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR
  1885. };
  1886. using InstanceCreateFlags = Flags<InstanceCreateFlagBits>;
  1887. template <>
  1888. struct FlagTraits<InstanceCreateFlagBits>
  1889. {
  1890. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1891. static VULKAN_HPP_CONST_OR_CONSTEXPR InstanceCreateFlags allFlags = InstanceCreateFlagBits::eEnumeratePortabilityKHR;
  1892. };
  1893. enum class InternalAllocationType
  1894. {
  1895. eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE
  1896. };
  1897. enum class MemoryHeapFlagBits : VkMemoryHeapFlags
  1898. {
  1899. eDeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
  1900. eMultiInstance = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
  1901. eMultiInstanceKHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR
  1902. };
  1903. using MemoryHeapFlags = Flags<MemoryHeapFlagBits>;
  1904. template <>
  1905. struct FlagTraits<MemoryHeapFlagBits>
  1906. {
  1907. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1908. static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryHeapFlags allFlags = MemoryHeapFlagBits::eDeviceLocal | MemoryHeapFlagBits::eMultiInstance;
  1909. };
  1910. enum class MemoryPropertyFlagBits : VkMemoryPropertyFlags
  1911. {
  1912. eDeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
  1913. eHostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
  1914. eHostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
  1915. eHostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
  1916. eLazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT,
  1917. eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT,
  1918. eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD,
  1919. eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD,
  1920. eRdmaCapableNV = VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV
  1921. };
  1922. using MemoryPropertyFlags = Flags<MemoryPropertyFlagBits>;
  1923. template <>
  1924. struct FlagTraits<MemoryPropertyFlagBits>
  1925. {
  1926. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1927. static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryPropertyFlags allFlags =
  1928. MemoryPropertyFlagBits::eDeviceLocal | MemoryPropertyFlagBits::eHostVisible | MemoryPropertyFlagBits::eHostCoherent |
  1929. MemoryPropertyFlagBits::eHostCached | MemoryPropertyFlagBits::eLazilyAllocated | MemoryPropertyFlagBits::eProtected |
  1930. MemoryPropertyFlagBits::eDeviceCoherentAMD | MemoryPropertyFlagBits::eDeviceUncachedAMD | MemoryPropertyFlagBits::eRdmaCapableNV;
  1931. };
  1932. enum class PhysicalDeviceType
  1933. {
  1934. eOther = VK_PHYSICAL_DEVICE_TYPE_OTHER,
  1935. eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
  1936. eDiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
  1937. eVirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU,
  1938. eCpu = VK_PHYSICAL_DEVICE_TYPE_CPU
  1939. };
  1940. enum class QueueFlagBits : VkQueueFlags
  1941. {
  1942. eGraphics = VK_QUEUE_GRAPHICS_BIT,
  1943. eCompute = VK_QUEUE_COMPUTE_BIT,
  1944. eTransfer = VK_QUEUE_TRANSFER_BIT,
  1945. eSparseBinding = VK_QUEUE_SPARSE_BINDING_BIT,
  1946. eProtected = VK_QUEUE_PROTECTED_BIT,
  1947. eVideoDecodeKHR = VK_QUEUE_VIDEO_DECODE_BIT_KHR,
  1948. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1949. eVideoEncodeKHR = VK_QUEUE_VIDEO_ENCODE_BIT_KHR,
  1950. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1951. eOpticalFlowNV = VK_QUEUE_OPTICAL_FLOW_BIT_NV
  1952. };
  1953. using QueueFlags = Flags<QueueFlagBits>;
  1954. template <>
  1955. struct FlagTraits<QueueFlagBits>
  1956. {
  1957. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1958. static VULKAN_HPP_CONST_OR_CONSTEXPR QueueFlags allFlags = QueueFlagBits::eGraphics | QueueFlagBits::eCompute | QueueFlagBits::eTransfer |
  1959. QueueFlagBits::eSparseBinding | QueueFlagBits::eProtected | QueueFlagBits::eVideoDecodeKHR
  1960. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1961. | QueueFlagBits::eVideoEncodeKHR
  1962. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1963. | QueueFlagBits::eOpticalFlowNV;
  1964. };
  1965. enum class SampleCountFlagBits : VkSampleCountFlags
  1966. {
  1967. e1 = VK_SAMPLE_COUNT_1_BIT,
  1968. e2 = VK_SAMPLE_COUNT_2_BIT,
  1969. e4 = VK_SAMPLE_COUNT_4_BIT,
  1970. e8 = VK_SAMPLE_COUNT_8_BIT,
  1971. e16 = VK_SAMPLE_COUNT_16_BIT,
  1972. e32 = VK_SAMPLE_COUNT_32_BIT,
  1973. e64 = VK_SAMPLE_COUNT_64_BIT
  1974. };
  1975. using SampleCountFlags = Flags<SampleCountFlagBits>;
  1976. template <>
  1977. struct FlagTraits<SampleCountFlagBits>
  1978. {
  1979. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  1980. static VULKAN_HPP_CONST_OR_CONSTEXPR SampleCountFlags allFlags = SampleCountFlagBits::e1 | SampleCountFlagBits::e2 | SampleCountFlagBits::e4 |
  1981. SampleCountFlagBits::e8 | SampleCountFlagBits::e16 | SampleCountFlagBits::e32 |
  1982. SampleCountFlagBits::e64;
  1983. };
  1984. enum class SystemAllocationScope
  1985. {
  1986. eCommand = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
  1987. eObject = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,
  1988. eCache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE,
  1989. eDevice = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,
  1990. eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE
  1991. };
  1992. enum class DeviceCreateFlagBits : VkDeviceCreateFlags
  1993. {
  1994. };
  1995. using DeviceCreateFlags = Flags<DeviceCreateFlagBits>;
  1996. template <>
  1997. struct FlagTraits<DeviceCreateFlagBits>
  1998. {
  1999. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2000. static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceCreateFlags allFlags = {};
  2001. };
  2002. enum class PipelineStageFlagBits : VkPipelineStageFlags
  2003. {
  2004. eTopOfPipe = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
  2005. eDrawIndirect = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
  2006. eVertexInput = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,
  2007. eVertexShader = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,
  2008. eTessellationControlShader = VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,
  2009. eTessellationEvaluationShader = VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,
  2010. eGeometryShader = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,
  2011. eFragmentShader = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
  2012. eEarlyFragmentTests = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,
  2013. eLateFragmentTests = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
  2014. eColorAttachmentOutput = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
  2015. eComputeShader = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
  2016. eTransfer = VK_PIPELINE_STAGE_TRANSFER_BIT,
  2017. eBottomOfPipe = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
  2018. eHost = VK_PIPELINE_STAGE_HOST_BIT,
  2019. eAllGraphics = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
  2020. eAllCommands = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
  2021. eNone = VK_PIPELINE_STAGE_NONE,
  2022. eTransformFeedbackEXT = VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT,
  2023. eConditionalRenderingEXT = VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT,
  2024. eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
  2025. eRayTracingShaderKHR = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
  2026. eShadingRateImageNV = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
  2027. eRayTracingShaderNV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV,
  2028. eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
  2029. eTaskShaderNV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV,
  2030. eMeshShaderNV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV,
  2031. eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
  2032. eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  2033. eCommandPreprocessNV = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV,
  2034. eNoneKHR = VK_PIPELINE_STAGE_NONE_KHR,
  2035. eTaskShaderEXT = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
  2036. eMeshShaderEXT = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT
  2037. };
  2038. using PipelineStageFlags = Flags<PipelineStageFlagBits>;
  2039. template <>
  2040. struct FlagTraits<PipelineStageFlagBits>
  2041. {
  2042. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2043. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags allFlags =
  2044. PipelineStageFlagBits::eTopOfPipe | PipelineStageFlagBits::eDrawIndirect | PipelineStageFlagBits::eVertexInput | PipelineStageFlagBits::eVertexShader |
  2045. PipelineStageFlagBits::eTessellationControlShader | PipelineStageFlagBits::eTessellationEvaluationShader | PipelineStageFlagBits::eGeometryShader |
  2046. PipelineStageFlagBits::eFragmentShader | PipelineStageFlagBits::eEarlyFragmentTests | PipelineStageFlagBits::eLateFragmentTests |
  2047. PipelineStageFlagBits::eColorAttachmentOutput | PipelineStageFlagBits::eComputeShader | PipelineStageFlagBits::eTransfer |
  2048. PipelineStageFlagBits::eBottomOfPipe | PipelineStageFlagBits::eHost | PipelineStageFlagBits::eAllGraphics | PipelineStageFlagBits::eAllCommands |
  2049. PipelineStageFlagBits::eNone | PipelineStageFlagBits::eTransformFeedbackEXT | PipelineStageFlagBits::eConditionalRenderingEXT |
  2050. PipelineStageFlagBits::eAccelerationStructureBuildKHR | PipelineStageFlagBits::eRayTracingShaderKHR | PipelineStageFlagBits::eFragmentDensityProcessEXT |
  2051. PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits::eCommandPreprocessNV | PipelineStageFlagBits::eTaskShaderEXT |
  2052. PipelineStageFlagBits::eMeshShaderEXT;
  2053. };
  2054. enum class MemoryMapFlagBits : VkMemoryMapFlags
  2055. {
  2056. };
  2057. using MemoryMapFlags = Flags<MemoryMapFlagBits>;
  2058. template <>
  2059. struct FlagTraits<MemoryMapFlagBits>
  2060. {
  2061. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2062. static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryMapFlags allFlags = {};
  2063. };
  2064. enum class ImageAspectFlagBits : VkImageAspectFlags
  2065. {
  2066. eColor = VK_IMAGE_ASPECT_COLOR_BIT,
  2067. eDepth = VK_IMAGE_ASPECT_DEPTH_BIT,
  2068. eStencil = VK_IMAGE_ASPECT_STENCIL_BIT,
  2069. eMetadata = VK_IMAGE_ASPECT_METADATA_BIT,
  2070. ePlane0 = VK_IMAGE_ASPECT_PLANE_0_BIT,
  2071. ePlane1 = VK_IMAGE_ASPECT_PLANE_1_BIT,
  2072. ePlane2 = VK_IMAGE_ASPECT_PLANE_2_BIT,
  2073. eNone = VK_IMAGE_ASPECT_NONE,
  2074. ePlane0KHR = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,
  2075. ePlane1KHR = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,
  2076. ePlane2KHR = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,
  2077. eMemoryPlane0EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,
  2078. eMemoryPlane1EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,
  2079. eMemoryPlane2EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,
  2080. eMemoryPlane3EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,
  2081. eNoneKHR = VK_IMAGE_ASPECT_NONE_KHR
  2082. };
  2083. using ImageAspectFlags = Flags<ImageAspectFlagBits>;
  2084. template <>
  2085. struct FlagTraits<ImageAspectFlagBits>
  2086. {
  2087. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2088. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageAspectFlags allFlags = ImageAspectFlagBits::eColor | ImageAspectFlagBits::eDepth | ImageAspectFlagBits::eStencil |
  2089. ImageAspectFlagBits::eMetadata | ImageAspectFlagBits::ePlane0 |
  2090. ImageAspectFlagBits::ePlane1 | ImageAspectFlagBits::ePlane2 | ImageAspectFlagBits::eNone |
  2091. ImageAspectFlagBits::eMemoryPlane0EXT | ImageAspectFlagBits::eMemoryPlane1EXT |
  2092. ImageAspectFlagBits::eMemoryPlane2EXT | ImageAspectFlagBits::eMemoryPlane3EXT;
  2093. };
  2094. enum class SparseImageFormatFlagBits : VkSparseImageFormatFlags
  2095. {
  2096. eSingleMiptail = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
  2097. eAlignedMipSize = VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,
  2098. eNonstandardBlockSize = VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
  2099. };
  2100. using SparseImageFormatFlags = Flags<SparseImageFormatFlagBits>;
  2101. template <>
  2102. struct FlagTraits<SparseImageFormatFlagBits>
  2103. {
  2104. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2105. static VULKAN_HPP_CONST_OR_CONSTEXPR SparseImageFormatFlags allFlags =
  2106. SparseImageFormatFlagBits::eSingleMiptail | SparseImageFormatFlagBits::eAlignedMipSize | SparseImageFormatFlagBits::eNonstandardBlockSize;
  2107. };
  2108. enum class SparseMemoryBindFlagBits : VkSparseMemoryBindFlags
  2109. {
  2110. eMetadata = VK_SPARSE_MEMORY_BIND_METADATA_BIT
  2111. };
  2112. using SparseMemoryBindFlags = Flags<SparseMemoryBindFlagBits>;
  2113. template <>
  2114. struct FlagTraits<SparseMemoryBindFlagBits>
  2115. {
  2116. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2117. static VULKAN_HPP_CONST_OR_CONSTEXPR SparseMemoryBindFlags allFlags = SparseMemoryBindFlagBits::eMetadata;
  2118. };
  2119. enum class FenceCreateFlagBits : VkFenceCreateFlags
  2120. {
  2121. eSignaled = VK_FENCE_CREATE_SIGNALED_BIT
  2122. };
  2123. using FenceCreateFlags = Flags<FenceCreateFlagBits>;
  2124. template <>
  2125. struct FlagTraits<FenceCreateFlagBits>
  2126. {
  2127. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2128. static VULKAN_HPP_CONST_OR_CONSTEXPR FenceCreateFlags allFlags = FenceCreateFlagBits::eSignaled;
  2129. };
  2130. enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags
  2131. {
  2132. };
  2133. using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>;
  2134. template <>
  2135. struct FlagTraits<SemaphoreCreateFlagBits>
  2136. {
  2137. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2138. static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreCreateFlags allFlags = {};
  2139. };
  2140. enum class EventCreateFlagBits : VkEventCreateFlags
  2141. {
  2142. eDeviceOnly = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
  2143. eDeviceOnlyKHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR
  2144. };
  2145. using EventCreateFlags = Flags<EventCreateFlagBits>;
  2146. template <>
  2147. struct FlagTraits<EventCreateFlagBits>
  2148. {
  2149. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2150. static VULKAN_HPP_CONST_OR_CONSTEXPR EventCreateFlags allFlags = EventCreateFlagBits::eDeviceOnly;
  2151. };
  2152. enum class QueryPipelineStatisticFlagBits : VkQueryPipelineStatisticFlags
  2153. {
  2154. eInputAssemblyVertices = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,
  2155. eInputAssemblyPrimitives = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,
  2156. eVertexShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,
  2157. eGeometryShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,
  2158. eGeometryShaderPrimitives = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
  2159. eClippingInvocations = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,
  2160. eClippingPrimitives = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,
  2161. eFragmentShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,
  2162. eTessellationControlShaderPatches = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,
  2163. eTessellationEvaluationShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,
  2164. eComputeShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT,
  2165. eTaskShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT,
  2166. eMeshShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT,
  2167. eClusterCullingShaderInvocationsHUAWEI = VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI
  2168. };
  2169. using QueryPipelineStatisticFlags = Flags<QueryPipelineStatisticFlagBits>;
  2170. template <>
  2171. struct FlagTraits<QueryPipelineStatisticFlagBits>
  2172. {
  2173. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2174. static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPipelineStatisticFlags allFlags =
  2175. QueryPipelineStatisticFlagBits::eInputAssemblyVertices | QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives |
  2176. QueryPipelineStatisticFlagBits::eVertexShaderInvocations | QueryPipelineStatisticFlagBits::eGeometryShaderInvocations |
  2177. QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives | QueryPipelineStatisticFlagBits::eClippingInvocations |
  2178. QueryPipelineStatisticFlagBits::eClippingPrimitives | QueryPipelineStatisticFlagBits::eFragmentShaderInvocations |
  2179. QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches | QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations |
  2180. QueryPipelineStatisticFlagBits::eComputeShaderInvocations | QueryPipelineStatisticFlagBits::eTaskShaderInvocationsEXT |
  2181. QueryPipelineStatisticFlagBits::eMeshShaderInvocationsEXT | QueryPipelineStatisticFlagBits::eClusterCullingShaderInvocationsHUAWEI;
  2182. };
  2183. enum class QueryResultFlagBits : VkQueryResultFlags
  2184. {
  2185. e64 = VK_QUERY_RESULT_64_BIT,
  2186. eWait = VK_QUERY_RESULT_WAIT_BIT,
  2187. eWithAvailability = VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,
  2188. ePartial = VK_QUERY_RESULT_PARTIAL_BIT,
  2189. eWithStatusKHR = VK_QUERY_RESULT_WITH_STATUS_BIT_KHR
  2190. };
  2191. using QueryResultFlags = Flags<QueryResultFlagBits>;
  2192. template <>
  2193. struct FlagTraits<QueryResultFlagBits>
  2194. {
  2195. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2196. static VULKAN_HPP_CONST_OR_CONSTEXPR QueryResultFlags allFlags = QueryResultFlagBits::e64 | QueryResultFlagBits::eWait |
  2197. QueryResultFlagBits::eWithAvailability | QueryResultFlagBits::ePartial |
  2198. QueryResultFlagBits::eWithStatusKHR;
  2199. };
  2200. enum class QueryType
  2201. {
  2202. eOcclusion = VK_QUERY_TYPE_OCCLUSION,
  2203. ePipelineStatistics = VK_QUERY_TYPE_PIPELINE_STATISTICS,
  2204. eTimestamp = VK_QUERY_TYPE_TIMESTAMP,
  2205. eResultStatusOnlyKHR = VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR,
  2206. eTransformFeedbackStreamEXT = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT,
  2207. ePerformanceQueryKHR = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
  2208. eAccelerationStructureCompactedSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
  2209. eAccelerationStructureSerializationSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR,
  2210. eAccelerationStructureCompactedSizeNV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV,
  2211. ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL,
  2212. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2213. eVideoEncodeFeedbackKHR = VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR,
  2214. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2215. eMeshPrimitivesGeneratedEXT = VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT,
  2216. ePrimitivesGeneratedEXT = VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT,
  2217. eAccelerationStructureSerializationBottomLevelPointersKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR,
  2218. eAccelerationStructureSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR,
  2219. eMicromapSerializationSizeEXT = VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT,
  2220. eMicromapCompactedSizeEXT = VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT
  2221. };
  2222. enum class QueryPoolCreateFlagBits : VkQueryPoolCreateFlags
  2223. {
  2224. };
  2225. using QueryPoolCreateFlags = Flags<QueryPoolCreateFlagBits>;
  2226. template <>
  2227. struct FlagTraits<QueryPoolCreateFlagBits>
  2228. {
  2229. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2230. static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPoolCreateFlags allFlags = {};
  2231. };
  2232. enum class BufferCreateFlagBits : VkBufferCreateFlags
  2233. {
  2234. eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
  2235. eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
  2236. eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
  2237. eProtected = VK_BUFFER_CREATE_PROTECTED_BIT,
  2238. eDeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
  2239. eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
  2240. eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
  2241. eDescriptorBufferCaptureReplayEXT = VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT
  2242. };
  2243. using BufferCreateFlags = Flags<BufferCreateFlagBits>;
  2244. template <>
  2245. struct FlagTraits<BufferCreateFlagBits>
  2246. {
  2247. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2248. static VULKAN_HPP_CONST_OR_CONSTEXPR BufferCreateFlags allFlags =
  2249. BufferCreateFlagBits::eSparseBinding | BufferCreateFlagBits::eSparseResidency | BufferCreateFlagBits::eSparseAliased | BufferCreateFlagBits::eProtected |
  2250. BufferCreateFlagBits::eDeviceAddressCaptureReplay | BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT;
  2251. };
  2252. enum class BufferUsageFlagBits : VkBufferUsageFlags
  2253. {
  2254. eTransferSrc = VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
  2255. eTransferDst = VK_BUFFER_USAGE_TRANSFER_DST_BIT,
  2256. eUniformTexelBuffer = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,
  2257. eStorageTexelBuffer = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,
  2258. eUniformBuffer = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
  2259. eStorageBuffer = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
  2260. eIndexBuffer = VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
  2261. eVertexBuffer = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
  2262. eIndirectBuffer = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
  2263. eShaderDeviceAddress = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
  2264. eVideoDecodeSrcKHR = VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
  2265. eVideoDecodeDstKHR = VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR,
  2266. eTransformFeedbackBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
  2267. eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
  2268. eConditionalRenderingEXT = VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT,
  2269. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2270. eExecutionGraphScratchAMDX = VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX,
  2271. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2272. eAccelerationStructureBuildInputReadOnlyKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,
  2273. eAccelerationStructureStorageKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,
  2274. eShaderBindingTableKHR = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
  2275. eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
  2276. eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
  2277. eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR,
  2278. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2279. eVideoEncodeDstKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
  2280. eVideoEncodeSrcKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
  2281. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2282. eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT,
  2283. eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT,
  2284. ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT,
  2285. eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,
  2286. eMicromapStorageEXT = VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT
  2287. };
  2288. using BufferUsageFlags = Flags<BufferUsageFlagBits>;
  2289. template <>
  2290. struct FlagTraits<BufferUsageFlagBits>
  2291. {
  2292. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2293. static VULKAN_HPP_CONST_OR_CONSTEXPR BufferUsageFlags allFlags =
  2294. BufferUsageFlagBits::eTransferSrc | BufferUsageFlagBits::eTransferDst | BufferUsageFlagBits::eUniformTexelBuffer |
  2295. BufferUsageFlagBits::eStorageTexelBuffer | BufferUsageFlagBits::eUniformBuffer | BufferUsageFlagBits::eStorageBuffer | BufferUsageFlagBits::eIndexBuffer |
  2296. BufferUsageFlagBits::eVertexBuffer | BufferUsageFlagBits::eIndirectBuffer | BufferUsageFlagBits::eShaderDeviceAddress |
  2297. BufferUsageFlagBits::eVideoDecodeSrcKHR | BufferUsageFlagBits::eVideoDecodeDstKHR | BufferUsageFlagBits::eTransformFeedbackBufferEXT |
  2298. BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT | BufferUsageFlagBits::eConditionalRenderingEXT
  2299. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2300. | BufferUsageFlagBits::eExecutionGraphScratchAMDX
  2301. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2302. | BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR | BufferUsageFlagBits::eAccelerationStructureStorageKHR |
  2303. BufferUsageFlagBits::eShaderBindingTableKHR
  2304. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2305. | BufferUsageFlagBits::eVideoEncodeDstKHR | BufferUsageFlagBits::eVideoEncodeSrcKHR
  2306. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2307. | BufferUsageFlagBits::eSamplerDescriptorBufferEXT | BufferUsageFlagBits::eResourceDescriptorBufferEXT |
  2308. BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT | BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits::eMicromapStorageEXT;
  2309. };
  2310. enum class SharingMode
  2311. {
  2312. eExclusive = VK_SHARING_MODE_EXCLUSIVE,
  2313. eConcurrent = VK_SHARING_MODE_CONCURRENT
  2314. };
  2315. enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags
  2316. {
  2317. };
  2318. using BufferViewCreateFlags = Flags<BufferViewCreateFlagBits>;
  2319. template <>
  2320. struct FlagTraits<BufferViewCreateFlagBits>
  2321. {
  2322. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2323. static VULKAN_HPP_CONST_OR_CONSTEXPR BufferViewCreateFlags allFlags = {};
  2324. };
  2325. enum class ImageLayout
  2326. {
  2327. eUndefined = VK_IMAGE_LAYOUT_UNDEFINED,
  2328. eGeneral = VK_IMAGE_LAYOUT_GENERAL,
  2329. eColorAttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
  2330. eDepthStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
  2331. eDepthStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
  2332. eShaderReadOnlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
  2333. eTransferSrcOptimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
  2334. eTransferDstOptimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
  2335. ePreinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED,
  2336. eDepthReadOnlyStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
  2337. eDepthAttachmentStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
  2338. eDepthAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
  2339. eDepthReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
  2340. eStencilAttachmentOptimal = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
  2341. eStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
  2342. eReadOnlyOptimal = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
  2343. eAttachmentOptimal = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
  2344. ePresentSrcKHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
  2345. eVideoDecodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR,
  2346. eVideoDecodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR,
  2347. eVideoDecodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR,
  2348. eSharedPresentKHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR,
  2349. eDepthReadOnlyStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,
  2350. eDepthAttachmentStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR,
  2351. eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
  2352. eFragmentDensityMapOptimalEXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
  2353. eFragmentShadingRateAttachmentOptimalKHR = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
  2354. eDepthAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR,
  2355. eDepthReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR,
  2356. eStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR,
  2357. eStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR,
  2358. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2359. eVideoEncodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR,
  2360. eVideoEncodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR,
  2361. eVideoEncodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR,
  2362. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2363. eReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR,
  2364. eAttachmentOptimalKHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR,
  2365. eAttachmentFeedbackLoopOptimalEXT = VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
  2366. };
  2367. enum class ComponentSwizzle
  2368. {
  2369. eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY,
  2370. eZero = VK_COMPONENT_SWIZZLE_ZERO,
  2371. eOne = VK_COMPONENT_SWIZZLE_ONE,
  2372. eR = VK_COMPONENT_SWIZZLE_R,
  2373. eG = VK_COMPONENT_SWIZZLE_G,
  2374. eB = VK_COMPONENT_SWIZZLE_B,
  2375. eA = VK_COMPONENT_SWIZZLE_A
  2376. };
  2377. enum class ImageViewCreateFlagBits : VkImageViewCreateFlags
  2378. {
  2379. eFragmentDensityMapDynamicEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
  2380. eDescriptorBufferCaptureReplayEXT = VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
  2381. eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
  2382. };
  2383. using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>;
  2384. template <>
  2385. struct FlagTraits<ImageViewCreateFlagBits>
  2386. {
  2387. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2388. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageViewCreateFlags allFlags = ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT |
  2389. ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
  2390. ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT;
  2391. };
  2392. enum class ImageViewType
  2393. {
  2394. e1D = VK_IMAGE_VIEW_TYPE_1D,
  2395. e2D = VK_IMAGE_VIEW_TYPE_2D,
  2396. e3D = VK_IMAGE_VIEW_TYPE_3D,
  2397. eCube = VK_IMAGE_VIEW_TYPE_CUBE,
  2398. e1DArray = VK_IMAGE_VIEW_TYPE_1D_ARRAY,
  2399. e2DArray = VK_IMAGE_VIEW_TYPE_2D_ARRAY,
  2400. eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
  2401. };
  2402. enum class ShaderModuleCreateFlagBits : VkShaderModuleCreateFlags
  2403. {
  2404. };
  2405. using ShaderModuleCreateFlags = Flags<ShaderModuleCreateFlagBits>;
  2406. template <>
  2407. struct FlagTraits<ShaderModuleCreateFlagBits>
  2408. {
  2409. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2410. static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderModuleCreateFlags allFlags = {};
  2411. };
  2412. enum class BlendFactor
  2413. {
  2414. eZero = VK_BLEND_FACTOR_ZERO,
  2415. eOne = VK_BLEND_FACTOR_ONE,
  2416. eSrcColor = VK_BLEND_FACTOR_SRC_COLOR,
  2417. eOneMinusSrcColor = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
  2418. eDstColor = VK_BLEND_FACTOR_DST_COLOR,
  2419. eOneMinusDstColor = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
  2420. eSrcAlpha = VK_BLEND_FACTOR_SRC_ALPHA,
  2421. eOneMinusSrcAlpha = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
  2422. eDstAlpha = VK_BLEND_FACTOR_DST_ALPHA,
  2423. eOneMinusDstAlpha = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
  2424. eConstantColor = VK_BLEND_FACTOR_CONSTANT_COLOR,
  2425. eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
  2426. eConstantAlpha = VK_BLEND_FACTOR_CONSTANT_ALPHA,
  2427. eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,
  2428. eSrcAlphaSaturate = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
  2429. eSrc1Color = VK_BLEND_FACTOR_SRC1_COLOR,
  2430. eOneMinusSrc1Color = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
  2431. eSrc1Alpha = VK_BLEND_FACTOR_SRC1_ALPHA,
  2432. eOneMinusSrc1Alpha = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
  2433. };
  2434. enum class BlendOp
  2435. {
  2436. eAdd = VK_BLEND_OP_ADD,
  2437. eSubtract = VK_BLEND_OP_SUBTRACT,
  2438. eReverseSubtract = VK_BLEND_OP_REVERSE_SUBTRACT,
  2439. eMin = VK_BLEND_OP_MIN,
  2440. eMax = VK_BLEND_OP_MAX,
  2441. eZeroEXT = VK_BLEND_OP_ZERO_EXT,
  2442. eSrcEXT = VK_BLEND_OP_SRC_EXT,
  2443. eDstEXT = VK_BLEND_OP_DST_EXT,
  2444. eSrcOverEXT = VK_BLEND_OP_SRC_OVER_EXT,
  2445. eDstOverEXT = VK_BLEND_OP_DST_OVER_EXT,
  2446. eSrcInEXT = VK_BLEND_OP_SRC_IN_EXT,
  2447. eDstInEXT = VK_BLEND_OP_DST_IN_EXT,
  2448. eSrcOutEXT = VK_BLEND_OP_SRC_OUT_EXT,
  2449. eDstOutEXT = VK_BLEND_OP_DST_OUT_EXT,
  2450. eSrcAtopEXT = VK_BLEND_OP_SRC_ATOP_EXT,
  2451. eDstAtopEXT = VK_BLEND_OP_DST_ATOP_EXT,
  2452. eXorEXT = VK_BLEND_OP_XOR_EXT,
  2453. eMultiplyEXT = VK_BLEND_OP_MULTIPLY_EXT,
  2454. eScreenEXT = VK_BLEND_OP_SCREEN_EXT,
  2455. eOverlayEXT = VK_BLEND_OP_OVERLAY_EXT,
  2456. eDarkenEXT = VK_BLEND_OP_DARKEN_EXT,
  2457. eLightenEXT = VK_BLEND_OP_LIGHTEN_EXT,
  2458. eColordodgeEXT = VK_BLEND_OP_COLORDODGE_EXT,
  2459. eColorburnEXT = VK_BLEND_OP_COLORBURN_EXT,
  2460. eHardlightEXT = VK_BLEND_OP_HARDLIGHT_EXT,
  2461. eSoftlightEXT = VK_BLEND_OP_SOFTLIGHT_EXT,
  2462. eDifferenceEXT = VK_BLEND_OP_DIFFERENCE_EXT,
  2463. eExclusionEXT = VK_BLEND_OP_EXCLUSION_EXT,
  2464. eInvertEXT = VK_BLEND_OP_INVERT_EXT,
  2465. eInvertRgbEXT = VK_BLEND_OP_INVERT_RGB_EXT,
  2466. eLineardodgeEXT = VK_BLEND_OP_LINEARDODGE_EXT,
  2467. eLinearburnEXT = VK_BLEND_OP_LINEARBURN_EXT,
  2468. eVividlightEXT = VK_BLEND_OP_VIVIDLIGHT_EXT,
  2469. eLinearlightEXT = VK_BLEND_OP_LINEARLIGHT_EXT,
  2470. ePinlightEXT = VK_BLEND_OP_PINLIGHT_EXT,
  2471. eHardmixEXT = VK_BLEND_OP_HARDMIX_EXT,
  2472. eHslHueEXT = VK_BLEND_OP_HSL_HUE_EXT,
  2473. eHslSaturationEXT = VK_BLEND_OP_HSL_SATURATION_EXT,
  2474. eHslColorEXT = VK_BLEND_OP_HSL_COLOR_EXT,
  2475. eHslLuminosityEXT = VK_BLEND_OP_HSL_LUMINOSITY_EXT,
  2476. ePlusEXT = VK_BLEND_OP_PLUS_EXT,
  2477. ePlusClampedEXT = VK_BLEND_OP_PLUS_CLAMPED_EXT,
  2478. ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
  2479. ePlusDarkerEXT = VK_BLEND_OP_PLUS_DARKER_EXT,
  2480. eMinusEXT = VK_BLEND_OP_MINUS_EXT,
  2481. eMinusClampedEXT = VK_BLEND_OP_MINUS_CLAMPED_EXT,
  2482. eContrastEXT = VK_BLEND_OP_CONTRAST_EXT,
  2483. eInvertOvgEXT = VK_BLEND_OP_INVERT_OVG_EXT,
  2484. eRedEXT = VK_BLEND_OP_RED_EXT,
  2485. eGreenEXT = VK_BLEND_OP_GREEN_EXT,
  2486. eBlueEXT = VK_BLEND_OP_BLUE_EXT
  2487. };
  2488. enum class ColorComponentFlagBits : VkColorComponentFlags
  2489. {
  2490. eR = VK_COLOR_COMPONENT_R_BIT,
  2491. eG = VK_COLOR_COMPONENT_G_BIT,
  2492. eB = VK_COLOR_COMPONENT_B_BIT,
  2493. eA = VK_COLOR_COMPONENT_A_BIT
  2494. };
  2495. using ColorComponentFlags = Flags<ColorComponentFlagBits>;
  2496. template <>
  2497. struct FlagTraits<ColorComponentFlagBits>
  2498. {
  2499. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2500. static VULKAN_HPP_CONST_OR_CONSTEXPR ColorComponentFlags allFlags =
  2501. ColorComponentFlagBits::eR | ColorComponentFlagBits::eG | ColorComponentFlagBits::eB | ColorComponentFlagBits::eA;
  2502. };
  2503. enum class CompareOp
  2504. {
  2505. eNever = VK_COMPARE_OP_NEVER,
  2506. eLess = VK_COMPARE_OP_LESS,
  2507. eEqual = VK_COMPARE_OP_EQUAL,
  2508. eLessOrEqual = VK_COMPARE_OP_LESS_OR_EQUAL,
  2509. eGreater = VK_COMPARE_OP_GREATER,
  2510. eNotEqual = VK_COMPARE_OP_NOT_EQUAL,
  2511. eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL,
  2512. eAlways = VK_COMPARE_OP_ALWAYS
  2513. };
  2514. enum class CullModeFlagBits : VkCullModeFlags
  2515. {
  2516. eNone = VK_CULL_MODE_NONE,
  2517. eFront = VK_CULL_MODE_FRONT_BIT,
  2518. eBack = VK_CULL_MODE_BACK_BIT,
  2519. eFrontAndBack = VK_CULL_MODE_FRONT_AND_BACK
  2520. };
  2521. using CullModeFlags = Flags<CullModeFlagBits>;
  2522. template <>
  2523. struct FlagTraits<CullModeFlagBits>
  2524. {
  2525. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2526. static VULKAN_HPP_CONST_OR_CONSTEXPR CullModeFlags allFlags =
  2527. CullModeFlagBits::eNone | CullModeFlagBits::eFront | CullModeFlagBits::eBack | CullModeFlagBits::eFrontAndBack;
  2528. };
  2529. enum class DynamicState
  2530. {
  2531. eViewport = VK_DYNAMIC_STATE_VIEWPORT,
  2532. eScissor = VK_DYNAMIC_STATE_SCISSOR,
  2533. eLineWidth = VK_DYNAMIC_STATE_LINE_WIDTH,
  2534. eDepthBias = VK_DYNAMIC_STATE_DEPTH_BIAS,
  2535. eBlendConstants = VK_DYNAMIC_STATE_BLEND_CONSTANTS,
  2536. eDepthBounds = VK_DYNAMIC_STATE_DEPTH_BOUNDS,
  2537. eStencilCompareMask = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,
  2538. eStencilWriteMask = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,
  2539. eStencilReference = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
  2540. eCullMode = VK_DYNAMIC_STATE_CULL_MODE,
  2541. eFrontFace = VK_DYNAMIC_STATE_FRONT_FACE,
  2542. ePrimitiveTopology = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
  2543. eViewportWithCount = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
  2544. eScissorWithCount = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
  2545. eVertexInputBindingStride = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
  2546. eDepthTestEnable = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
  2547. eDepthWriteEnable = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
  2548. eDepthCompareOp = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
  2549. eDepthBoundsTestEnable = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
  2550. eStencilTestEnable = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
  2551. eStencilOp = VK_DYNAMIC_STATE_STENCIL_OP,
  2552. eRasterizerDiscardEnable = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
  2553. eDepthBiasEnable = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
  2554. ePrimitiveRestartEnable = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
  2555. eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
  2556. eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
  2557. eDiscardRectangleEnableEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT,
  2558. eDiscardRectangleModeEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT,
  2559. eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
  2560. eRayTracingPipelineStackSizeKHR = VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR,
  2561. eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV,
  2562. eViewportCoarseSampleOrderNV = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,
  2563. eExclusiveScissorEnableNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV,
  2564. eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
  2565. eFragmentShadingRateKHR = VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR,
  2566. eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT,
  2567. eCullModeEXT = VK_DYNAMIC_STATE_CULL_MODE_EXT,
  2568. eFrontFaceEXT = VK_DYNAMIC_STATE_FRONT_FACE_EXT,
  2569. ePrimitiveTopologyEXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
  2570. eViewportWithCountEXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
  2571. eScissorWithCountEXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
  2572. eVertexInputBindingStrideEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
  2573. eDepthTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
  2574. eDepthWriteEnableEXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
  2575. eDepthCompareOpEXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
  2576. eDepthBoundsTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
  2577. eStencilTestEnableEXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
  2578. eStencilOpEXT = VK_DYNAMIC_STATE_STENCIL_OP_EXT,
  2579. eVertexInputEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_EXT,
  2580. ePatchControlPointsEXT = VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT,
  2581. eRasterizerDiscardEnableEXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT,
  2582. eDepthBiasEnableEXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,
  2583. eLogicOpEXT = VK_DYNAMIC_STATE_LOGIC_OP_EXT,
  2584. ePrimitiveRestartEnableEXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT,
  2585. eColorWriteEnableEXT = VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT,
  2586. eTessellationDomainOriginEXT = VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT,
  2587. eDepthClampEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT,
  2588. ePolygonModeEXT = VK_DYNAMIC_STATE_POLYGON_MODE_EXT,
  2589. eRasterizationSamplesEXT = VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT,
  2590. eSampleMaskEXT = VK_DYNAMIC_STATE_SAMPLE_MASK_EXT,
  2591. eAlphaToCoverageEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT,
  2592. eAlphaToOneEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT,
  2593. eLogicOpEnableEXT = VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT,
  2594. eColorBlendEnableEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,
  2595. eColorBlendEquationEXT = VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT,
  2596. eColorWriteMaskEXT = VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT,
  2597. eRasterizationStreamEXT = VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT,
  2598. eConservativeRasterizationModeEXT = VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT,
  2599. eExtraPrimitiveOverestimationSizeEXT = VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT,
  2600. eDepthClipEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT,
  2601. eSampleLocationsEnableEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT,
  2602. eColorBlendAdvancedEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT,
  2603. eProvokingVertexModeEXT = VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT,
  2604. eLineRasterizationModeEXT = VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT,
  2605. eLineStippleEnableEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT,
  2606. eDepthClipNegativeOneToOneEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT,
  2607. eViewportWScalingEnableNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV,
  2608. eViewportSwizzleNV = VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV,
  2609. eCoverageToColorEnableNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV,
  2610. eCoverageToColorLocationNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV,
  2611. eCoverageModulationModeNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV,
  2612. eCoverageModulationTableEnableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV,
  2613. eCoverageModulationTableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV,
  2614. eShadingRateImageEnableNV = VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV,
  2615. eRepresentativeFragmentTestEnableNV = VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV,
  2616. eCoverageReductionModeNV = VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV,
  2617. eAttachmentFeedbackLoopEnableEXT = VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT
  2618. };
  2619. enum class FrontFace
  2620. {
  2621. eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE,
  2622. eClockwise = VK_FRONT_FACE_CLOCKWISE
  2623. };
  2624. enum class LogicOp
  2625. {
  2626. eClear = VK_LOGIC_OP_CLEAR,
  2627. eAnd = VK_LOGIC_OP_AND,
  2628. eAndReverse = VK_LOGIC_OP_AND_REVERSE,
  2629. eCopy = VK_LOGIC_OP_COPY,
  2630. eAndInverted = VK_LOGIC_OP_AND_INVERTED,
  2631. eNoOp = VK_LOGIC_OP_NO_OP,
  2632. eXor = VK_LOGIC_OP_XOR,
  2633. eOr = VK_LOGIC_OP_OR,
  2634. eNor = VK_LOGIC_OP_NOR,
  2635. eEquivalent = VK_LOGIC_OP_EQUIVALENT,
  2636. eInvert = VK_LOGIC_OP_INVERT,
  2637. eOrReverse = VK_LOGIC_OP_OR_REVERSE,
  2638. eCopyInverted = VK_LOGIC_OP_COPY_INVERTED,
  2639. eOrInverted = VK_LOGIC_OP_OR_INVERTED,
  2640. eNand = VK_LOGIC_OP_NAND,
  2641. eSet = VK_LOGIC_OP_SET
  2642. };
  2643. enum class PipelineCreateFlagBits : VkPipelineCreateFlags
  2644. {
  2645. eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
  2646. eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
  2647. eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
  2648. eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
  2649. eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
  2650. eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
  2651. eEarlyReturnOnFailure = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
  2652. eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  2653. eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  2654. eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
  2655. eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
  2656. eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
  2657. eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_KHR,
  2658. eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
  2659. eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
  2660. eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
  2661. eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
  2662. eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
  2663. eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
  2664. eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
  2665. eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
  2666. eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
  2667. eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
  2668. eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
  2669. eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
  2670. eFailOnPipelineCompileRequiredEXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
  2671. eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
  2672. eDescriptorBufferEXT = VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
  2673. eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
  2674. eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT,
  2675. eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV,
  2676. eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
  2677. eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
  2678. eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,
  2679. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2680. eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV,
  2681. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2682. eNoProtectedAccessEXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT,
  2683. eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT
  2684. };
  2685. using PipelineCreateFlags = Flags<PipelineCreateFlagBits>;
  2686. template <>
  2687. struct FlagTraits<PipelineCreateFlagBits>
  2688. {
  2689. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2690. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags allFlags =
  2691. PipelineCreateFlagBits::eDisableOptimization | PipelineCreateFlagBits::eAllowDerivatives | PipelineCreateFlagBits::eDerivative |
  2692. PipelineCreateFlagBits::eViewIndexFromDeviceIndex | PipelineCreateFlagBits::eDispatchBase | PipelineCreateFlagBits::eFailOnPipelineCompileRequired |
  2693. PipelineCreateFlagBits::eEarlyReturnOnFailure | PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR |
  2694. PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR |
  2695. PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR | PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR |
  2696. PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR | PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR |
  2697. PipelineCreateFlagBits::eRayTracingSkipAabbsKHR | PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR |
  2698. PipelineCreateFlagBits::eDeferCompileNV | PipelineCreateFlagBits::eCaptureStatisticsKHR | PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR |
  2699. PipelineCreateFlagBits::eIndirectBindableNV | PipelineCreateFlagBits::eLibraryKHR | PipelineCreateFlagBits::eDescriptorBufferEXT |
  2700. PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT | PipelineCreateFlagBits::eLinkTimeOptimizationEXT |
  2701. PipelineCreateFlagBits::eRayTracingAllowMotionNV | PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT |
  2702. PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT
  2703. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  2704. | PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV
  2705. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  2706. | PipelineCreateFlagBits::eNoProtectedAccessEXT | PipelineCreateFlagBits::eProtectedAccessOnlyEXT;
  2707. };
  2708. enum class PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags
  2709. {
  2710. eAllowVaryingSubgroupSize = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
  2711. eRequireFullSubgroups = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
  2712. eAllowVaryingSubgroupSizeEXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
  2713. eRequireFullSubgroupsEXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
  2714. };
  2715. using PipelineShaderStageCreateFlags = Flags<PipelineShaderStageCreateFlagBits>;
  2716. template <>
  2717. struct FlagTraits<PipelineShaderStageCreateFlagBits>
  2718. {
  2719. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2720. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineShaderStageCreateFlags allFlags =
  2721. PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSize | PipelineShaderStageCreateFlagBits::eRequireFullSubgroups;
  2722. };
  2723. enum class PolygonMode
  2724. {
  2725. eFill = VK_POLYGON_MODE_FILL,
  2726. eLine = VK_POLYGON_MODE_LINE,
  2727. ePoint = VK_POLYGON_MODE_POINT,
  2728. eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV
  2729. };
  2730. enum class PrimitiveTopology
  2731. {
  2732. ePointList = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
  2733. eLineList = VK_PRIMITIVE_TOPOLOGY_LINE_LIST,
  2734. eLineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,
  2735. eTriangleList = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
  2736. eTriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
  2737. eTriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
  2738. eLineListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,
  2739. eLineStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,
  2740. eTriangleListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,
  2741. eTriangleStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,
  2742. ePatchList = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
  2743. };
  2744. enum class ShaderStageFlagBits : VkShaderStageFlags
  2745. {
  2746. eVertex = VK_SHADER_STAGE_VERTEX_BIT,
  2747. eTessellationControl = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
  2748. eTessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
  2749. eGeometry = VK_SHADER_STAGE_GEOMETRY_BIT,
  2750. eFragment = VK_SHADER_STAGE_FRAGMENT_BIT,
  2751. eCompute = VK_SHADER_STAGE_COMPUTE_BIT,
  2752. eAllGraphics = VK_SHADER_STAGE_ALL_GRAPHICS,
  2753. eAll = VK_SHADER_STAGE_ALL,
  2754. eRaygenKHR = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
  2755. eAnyHitKHR = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
  2756. eClosestHitKHR = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
  2757. eMissKHR = VK_SHADER_STAGE_MISS_BIT_KHR,
  2758. eIntersectionKHR = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
  2759. eCallableKHR = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
  2760. eRaygenNV = VK_SHADER_STAGE_RAYGEN_BIT_NV,
  2761. eAnyHitNV = VK_SHADER_STAGE_ANY_HIT_BIT_NV,
  2762. eClosestHitNV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV,
  2763. eMissNV = VK_SHADER_STAGE_MISS_BIT_NV,
  2764. eIntersectionNV = VK_SHADER_STAGE_INTERSECTION_BIT_NV,
  2765. eCallableNV = VK_SHADER_STAGE_CALLABLE_BIT_NV,
  2766. eTaskNV = VK_SHADER_STAGE_TASK_BIT_NV,
  2767. eMeshNV = VK_SHADER_STAGE_MESH_BIT_NV,
  2768. eTaskEXT = VK_SHADER_STAGE_TASK_BIT_EXT,
  2769. eMeshEXT = VK_SHADER_STAGE_MESH_BIT_EXT,
  2770. eSubpassShadingHUAWEI = VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
  2771. eClusterCullingHUAWEI = VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI
  2772. };
  2773. using ShaderStageFlags = Flags<ShaderStageFlagBits>;
  2774. template <>
  2775. struct FlagTraits<ShaderStageFlagBits>
  2776. {
  2777. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2778. static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderStageFlags allFlags =
  2779. ShaderStageFlagBits::eVertex | ShaderStageFlagBits::eTessellationControl | ShaderStageFlagBits::eTessellationEvaluation | ShaderStageFlagBits::eGeometry |
  2780. ShaderStageFlagBits::eFragment | ShaderStageFlagBits::eCompute | ShaderStageFlagBits::eAllGraphics | ShaderStageFlagBits::eAll |
  2781. ShaderStageFlagBits::eRaygenKHR | ShaderStageFlagBits::eAnyHitKHR | ShaderStageFlagBits::eClosestHitKHR | ShaderStageFlagBits::eMissKHR |
  2782. ShaderStageFlagBits::eIntersectionKHR | ShaderStageFlagBits::eCallableKHR | ShaderStageFlagBits::eTaskEXT | ShaderStageFlagBits::eMeshEXT |
  2783. ShaderStageFlagBits::eSubpassShadingHUAWEI | ShaderStageFlagBits::eClusterCullingHUAWEI;
  2784. };
  2785. enum class StencilOp
  2786. {
  2787. eKeep = VK_STENCIL_OP_KEEP,
  2788. eZero = VK_STENCIL_OP_ZERO,
  2789. eReplace = VK_STENCIL_OP_REPLACE,
  2790. eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP,
  2791. eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP,
  2792. eInvert = VK_STENCIL_OP_INVERT,
  2793. eIncrementAndWrap = VK_STENCIL_OP_INCREMENT_AND_WRAP,
  2794. eDecrementAndWrap = VK_STENCIL_OP_DECREMENT_AND_WRAP
  2795. };
  2796. enum class VertexInputRate
  2797. {
  2798. eVertex = VK_VERTEX_INPUT_RATE_VERTEX,
  2799. eInstance = VK_VERTEX_INPUT_RATE_INSTANCE
  2800. };
  2801. enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags
  2802. {
  2803. };
  2804. using PipelineDynamicStateCreateFlags = Flags<PipelineDynamicStateCreateFlagBits>;
  2805. template <>
  2806. struct FlagTraits<PipelineDynamicStateCreateFlagBits>
  2807. {
  2808. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2809. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDynamicStateCreateFlags allFlags = {};
  2810. };
  2811. enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags
  2812. {
  2813. };
  2814. using PipelineInputAssemblyStateCreateFlags = Flags<PipelineInputAssemblyStateCreateFlagBits>;
  2815. template <>
  2816. struct FlagTraits<PipelineInputAssemblyStateCreateFlagBits>
  2817. {
  2818. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2819. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineInputAssemblyStateCreateFlags allFlags = {};
  2820. };
  2821. enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags
  2822. {
  2823. };
  2824. using PipelineMultisampleStateCreateFlags = Flags<PipelineMultisampleStateCreateFlagBits>;
  2825. template <>
  2826. struct FlagTraits<PipelineMultisampleStateCreateFlagBits>
  2827. {
  2828. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2829. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineMultisampleStateCreateFlags allFlags = {};
  2830. };
  2831. enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags
  2832. {
  2833. };
  2834. using PipelineRasterizationStateCreateFlags = Flags<PipelineRasterizationStateCreateFlagBits>;
  2835. template <>
  2836. struct FlagTraits<PipelineRasterizationStateCreateFlagBits>
  2837. {
  2838. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2839. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateCreateFlags allFlags = {};
  2840. };
  2841. enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags
  2842. {
  2843. };
  2844. using PipelineTessellationStateCreateFlags = Flags<PipelineTessellationStateCreateFlagBits>;
  2845. template <>
  2846. struct FlagTraits<PipelineTessellationStateCreateFlagBits>
  2847. {
  2848. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2849. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineTessellationStateCreateFlags allFlags = {};
  2850. };
  2851. enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags
  2852. {
  2853. };
  2854. using PipelineVertexInputStateCreateFlags = Flags<PipelineVertexInputStateCreateFlagBits>;
  2855. template <>
  2856. struct FlagTraits<PipelineVertexInputStateCreateFlagBits>
  2857. {
  2858. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2859. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineVertexInputStateCreateFlags allFlags = {};
  2860. };
  2861. enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags
  2862. {
  2863. };
  2864. using PipelineViewportStateCreateFlags = Flags<PipelineViewportStateCreateFlagBits>;
  2865. template <>
  2866. struct FlagTraits<PipelineViewportStateCreateFlagBits>
  2867. {
  2868. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2869. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportStateCreateFlags allFlags = {};
  2870. };
  2871. enum class BorderColor
  2872. {
  2873. eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
  2874. eIntTransparentBlack = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
  2875. eFloatOpaqueBlack = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
  2876. eIntOpaqueBlack = VK_BORDER_COLOR_INT_OPAQUE_BLACK,
  2877. eFloatOpaqueWhite = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
  2878. eIntOpaqueWhite = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
  2879. eFloatCustomEXT = VK_BORDER_COLOR_FLOAT_CUSTOM_EXT,
  2880. eIntCustomEXT = VK_BORDER_COLOR_INT_CUSTOM_EXT
  2881. };
  2882. enum class Filter
  2883. {
  2884. eNearest = VK_FILTER_NEAREST,
  2885. eLinear = VK_FILTER_LINEAR,
  2886. eCubicIMG = VK_FILTER_CUBIC_IMG,
  2887. eCubicEXT = VK_FILTER_CUBIC_EXT
  2888. };
  2889. enum class SamplerAddressMode
  2890. {
  2891. eRepeat = VK_SAMPLER_ADDRESS_MODE_REPEAT,
  2892. eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
  2893. eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
  2894. eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
  2895. eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
  2896. eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
  2897. };
  2898. enum class SamplerCreateFlagBits : VkSamplerCreateFlags
  2899. {
  2900. eSubsampledEXT = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,
  2901. eSubsampledCoarseReconstructionEXT = VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT,
  2902. eDescriptorBufferCaptureReplayEXT = VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
  2903. eNonSeamlessCubeMapEXT = VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT,
  2904. eImageProcessingQCOM = VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
  2905. };
  2906. using SamplerCreateFlags = Flags<SamplerCreateFlagBits>;
  2907. template <>
  2908. struct FlagTraits<SamplerCreateFlagBits>
  2909. {
  2910. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2911. static VULKAN_HPP_CONST_OR_CONSTEXPR SamplerCreateFlags allFlags =
  2912. SamplerCreateFlagBits::eSubsampledEXT | SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT |
  2913. SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT | SamplerCreateFlagBits::eNonSeamlessCubeMapEXT | SamplerCreateFlagBits::eImageProcessingQCOM;
  2914. };
  2915. enum class SamplerMipmapMode
  2916. {
  2917. eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST,
  2918. eLinear = VK_SAMPLER_MIPMAP_MODE_LINEAR
  2919. };
  2920. enum class DescriptorPoolCreateFlagBits : VkDescriptorPoolCreateFlags
  2921. {
  2922. eFreeDescriptorSet = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
  2923. eUpdateAfterBind = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
  2924. eUpdateAfterBindEXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT,
  2925. eHostOnlyVALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE,
  2926. eHostOnlyEXT = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,
  2927. eAllowOverallocationSetsNV = VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV,
  2928. eAllowOverallocationPoolsNV = VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV
  2929. };
  2930. using DescriptorPoolCreateFlags = Flags<DescriptorPoolCreateFlagBits>;
  2931. template <>
  2932. struct FlagTraits<DescriptorPoolCreateFlagBits>
  2933. {
  2934. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2935. static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolCreateFlags allFlags =
  2936. DescriptorPoolCreateFlagBits::eFreeDescriptorSet | DescriptorPoolCreateFlagBits::eUpdateAfterBind | DescriptorPoolCreateFlagBits::eHostOnlyEXT |
  2937. DescriptorPoolCreateFlagBits::eAllowOverallocationSetsNV | DescriptorPoolCreateFlagBits::eAllowOverallocationPoolsNV;
  2938. };
  2939. enum class DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags
  2940. {
  2941. eUpdateAfterBindPool = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
  2942. ePushDescriptorKHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
  2943. eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT,
  2944. eDescriptorBufferEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
  2945. eEmbeddedImmutableSamplersEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT,
  2946. eHostOnlyPoolVALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
  2947. eIndirectBindableNV = VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV,
  2948. eHostOnlyPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT
  2949. };
  2950. using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>;
  2951. template <>
  2952. struct FlagTraits<DescriptorSetLayoutCreateFlagBits>
  2953. {
  2954. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2955. static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorSetLayoutCreateFlags allFlags =
  2956. DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool | DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR |
  2957. DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT | DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT |
  2958. DescriptorSetLayoutCreateFlagBits::eIndirectBindableNV | DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT;
  2959. };
  2960. enum class DescriptorType
  2961. {
  2962. eSampler = VK_DESCRIPTOR_TYPE_SAMPLER,
  2963. eCombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
  2964. eSampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
  2965. eStorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
  2966. eUniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
  2967. eStorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
  2968. eUniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
  2969. eStorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
  2970. eUniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
  2971. eStorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
  2972. eInputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
  2973. eInlineUniformBlock = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
  2974. eInlineUniformBlockEXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
  2975. eAccelerationStructureKHR = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
  2976. eAccelerationStructureNV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV,
  2977. eMutableVALVE = VK_DESCRIPTOR_TYPE_MUTABLE_VALVE,
  2978. eSampleWeightImageQCOM = VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM,
  2979. eBlockMatchImageQCOM = VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM,
  2980. eMutableEXT = VK_DESCRIPTOR_TYPE_MUTABLE_EXT
  2981. };
  2982. enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags
  2983. {
  2984. };
  2985. using DescriptorPoolResetFlags = Flags<DescriptorPoolResetFlagBits>;
  2986. template <>
  2987. struct FlagTraits<DescriptorPoolResetFlagBits>
  2988. {
  2989. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  2990. static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolResetFlags allFlags = {};
  2991. };
  2992. enum class AccessFlagBits : VkAccessFlags
  2993. {
  2994. eIndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
  2995. eIndexRead = VK_ACCESS_INDEX_READ_BIT,
  2996. eVertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
  2997. eUniformRead = VK_ACCESS_UNIFORM_READ_BIT,
  2998. eInputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
  2999. eShaderRead = VK_ACCESS_SHADER_READ_BIT,
  3000. eShaderWrite = VK_ACCESS_SHADER_WRITE_BIT,
  3001. eColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
  3002. eColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
  3003. eDepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
  3004. eDepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
  3005. eTransferRead = VK_ACCESS_TRANSFER_READ_BIT,
  3006. eTransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT,
  3007. eHostRead = VK_ACCESS_HOST_READ_BIT,
  3008. eHostWrite = VK_ACCESS_HOST_WRITE_BIT,
  3009. eMemoryRead = VK_ACCESS_MEMORY_READ_BIT,
  3010. eMemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT,
  3011. eNone = VK_ACCESS_NONE,
  3012. eTransformFeedbackWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
  3013. eTransformFeedbackCounterReadEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
  3014. eTransformFeedbackCounterWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
  3015. eConditionalRenderingReadEXT = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,
  3016. eColorAttachmentReadNoncoherentEXT = VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
  3017. eAccelerationStructureReadKHR = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
  3018. eAccelerationStructureWriteKHR = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
  3019. eShadingRateImageReadNV = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
  3020. eAccelerationStructureReadNV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,
  3021. eAccelerationStructureWriteNV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
  3022. eFragmentDensityMapReadEXT = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
  3023. eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
  3024. eCommandPreprocessReadNV = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,
  3025. eCommandPreprocessWriteNV = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV,
  3026. eNoneKHR = VK_ACCESS_NONE_KHR
  3027. };
  3028. using AccessFlags = Flags<AccessFlagBits>;
  3029. template <>
  3030. struct FlagTraits<AccessFlagBits>
  3031. {
  3032. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3033. static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags allFlags =
  3034. AccessFlagBits::eIndirectCommandRead | AccessFlagBits::eIndexRead | AccessFlagBits::eVertexAttributeRead | AccessFlagBits::eUniformRead |
  3035. AccessFlagBits::eInputAttachmentRead | AccessFlagBits::eShaderRead | AccessFlagBits::eShaderWrite | AccessFlagBits::eColorAttachmentRead |
  3036. AccessFlagBits::eColorAttachmentWrite | AccessFlagBits::eDepthStencilAttachmentRead | AccessFlagBits::eDepthStencilAttachmentWrite |
  3037. AccessFlagBits::eTransferRead | AccessFlagBits::eTransferWrite | AccessFlagBits::eHostRead | AccessFlagBits::eHostWrite | AccessFlagBits::eMemoryRead |
  3038. AccessFlagBits::eMemoryWrite | AccessFlagBits::eNone | AccessFlagBits::eTransformFeedbackWriteEXT | AccessFlagBits::eTransformFeedbackCounterReadEXT |
  3039. AccessFlagBits::eTransformFeedbackCounterWriteEXT | AccessFlagBits::eConditionalRenderingReadEXT | AccessFlagBits::eColorAttachmentReadNoncoherentEXT |
  3040. AccessFlagBits::eAccelerationStructureReadKHR | AccessFlagBits::eAccelerationStructureWriteKHR | AccessFlagBits::eFragmentDensityMapReadEXT |
  3041. AccessFlagBits::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits::eCommandPreprocessReadNV | AccessFlagBits::eCommandPreprocessWriteNV;
  3042. };
  3043. enum class AttachmentDescriptionFlagBits : VkAttachmentDescriptionFlags
  3044. {
  3045. eMayAlias = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT
  3046. };
  3047. using AttachmentDescriptionFlags = Flags<AttachmentDescriptionFlagBits>;
  3048. template <>
  3049. struct FlagTraits<AttachmentDescriptionFlagBits>
  3050. {
  3051. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3052. static VULKAN_HPP_CONST_OR_CONSTEXPR AttachmentDescriptionFlags allFlags = AttachmentDescriptionFlagBits::eMayAlias;
  3053. };
  3054. enum class AttachmentLoadOp
  3055. {
  3056. eLoad = VK_ATTACHMENT_LOAD_OP_LOAD,
  3057. eClear = VK_ATTACHMENT_LOAD_OP_CLEAR,
  3058. eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
  3059. eNoneEXT = VK_ATTACHMENT_LOAD_OP_NONE_EXT
  3060. };
  3061. enum class AttachmentStoreOp
  3062. {
  3063. eStore = VK_ATTACHMENT_STORE_OP_STORE,
  3064. eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE,
  3065. eNone = VK_ATTACHMENT_STORE_OP_NONE,
  3066. eNoneKHR = VK_ATTACHMENT_STORE_OP_NONE_KHR,
  3067. eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM,
  3068. eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT
  3069. };
  3070. enum class DependencyFlagBits : VkDependencyFlags
  3071. {
  3072. eByRegion = VK_DEPENDENCY_BY_REGION_BIT,
  3073. eDeviceGroup = VK_DEPENDENCY_DEVICE_GROUP_BIT,
  3074. eViewLocal = VK_DEPENDENCY_VIEW_LOCAL_BIT,
  3075. eViewLocalKHR = VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR,
  3076. eDeviceGroupKHR = VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,
  3077. eFeedbackLoopEXT = VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT
  3078. };
  3079. using DependencyFlags = Flags<DependencyFlagBits>;
  3080. template <>
  3081. struct FlagTraits<DependencyFlagBits>
  3082. {
  3083. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3084. static VULKAN_HPP_CONST_OR_CONSTEXPR DependencyFlags allFlags =
  3085. DependencyFlagBits::eByRegion | DependencyFlagBits::eDeviceGroup | DependencyFlagBits::eViewLocal | DependencyFlagBits::eFeedbackLoopEXT;
  3086. };
  3087. enum class FramebufferCreateFlagBits : VkFramebufferCreateFlags
  3088. {
  3089. eImageless = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
  3090. eImagelessKHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR
  3091. };
  3092. using FramebufferCreateFlags = Flags<FramebufferCreateFlagBits>;
  3093. template <>
  3094. struct FlagTraits<FramebufferCreateFlagBits>
  3095. {
  3096. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3097. static VULKAN_HPP_CONST_OR_CONSTEXPR FramebufferCreateFlags allFlags = FramebufferCreateFlagBits::eImageless;
  3098. };
  3099. enum class PipelineBindPoint
  3100. {
  3101. eGraphics = VK_PIPELINE_BIND_POINT_GRAPHICS,
  3102. eCompute = VK_PIPELINE_BIND_POINT_COMPUTE,
  3103. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  3104. eExecutionGraphAMDX = VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX,
  3105. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3106. eRayTracingKHR = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
  3107. eRayTracingNV = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV,
  3108. eSubpassShadingHUAWEI = VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI
  3109. };
  3110. enum class RenderPassCreateFlagBits : VkRenderPassCreateFlags
  3111. {
  3112. eTransformQCOM = VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
  3113. };
  3114. using RenderPassCreateFlags = Flags<RenderPassCreateFlagBits>;
  3115. template <>
  3116. struct FlagTraits<RenderPassCreateFlagBits>
  3117. {
  3118. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3119. static VULKAN_HPP_CONST_OR_CONSTEXPR RenderPassCreateFlags allFlags = RenderPassCreateFlagBits::eTransformQCOM;
  3120. };
  3121. enum class SubpassDescriptionFlagBits : VkSubpassDescriptionFlags
  3122. {
  3123. ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
  3124. ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
  3125. eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
  3126. eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM,
  3127. eRasterizationOrderAttachmentColorAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM,
  3128. eRasterizationOrderAttachmentDepthAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
  3129. eRasterizationOrderAttachmentStencilAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
  3130. eRasterizationOrderAttachmentColorAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
  3131. eRasterizationOrderAttachmentDepthAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
  3132. eRasterizationOrderAttachmentStencilAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
  3133. eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT
  3134. };
  3135. using SubpassDescriptionFlags = Flags<SubpassDescriptionFlagBits>;
  3136. template <>
  3137. struct FlagTraits<SubpassDescriptionFlagBits>
  3138. {
  3139. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3140. static VULKAN_HPP_CONST_OR_CONSTEXPR SubpassDescriptionFlags allFlags =
  3141. SubpassDescriptionFlagBits::ePerViewAttributesNVX | SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX |
  3142. SubpassDescriptionFlagBits::eFragmentRegionQCOM | SubpassDescriptionFlagBits::eShaderResolveQCOM |
  3143. SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT |
  3144. SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT | SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT;
  3145. };
  3146. enum class CommandPoolCreateFlagBits : VkCommandPoolCreateFlags
  3147. {
  3148. eTransient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
  3149. eResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
  3150. eProtected = VK_COMMAND_POOL_CREATE_PROTECTED_BIT
  3151. };
  3152. using CommandPoolCreateFlags = Flags<CommandPoolCreateFlagBits>;
  3153. template <>
  3154. struct FlagTraits<CommandPoolCreateFlagBits>
  3155. {
  3156. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3157. static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolCreateFlags allFlags =
  3158. CommandPoolCreateFlagBits::eTransient | CommandPoolCreateFlagBits::eResetCommandBuffer | CommandPoolCreateFlagBits::eProtected;
  3159. };
  3160. enum class CommandPoolResetFlagBits : VkCommandPoolResetFlags
  3161. {
  3162. eReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
  3163. };
  3164. using CommandPoolResetFlags = Flags<CommandPoolResetFlagBits>;
  3165. template <>
  3166. struct FlagTraits<CommandPoolResetFlagBits>
  3167. {
  3168. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3169. static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolResetFlags allFlags = CommandPoolResetFlagBits::eReleaseResources;
  3170. };
  3171. enum class CommandBufferLevel
  3172. {
  3173. ePrimary = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
  3174. eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY
  3175. };
  3176. enum class CommandBufferResetFlagBits : VkCommandBufferResetFlags
  3177. {
  3178. eReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT
  3179. };
  3180. using CommandBufferResetFlags = Flags<CommandBufferResetFlagBits>;
  3181. template <>
  3182. struct FlagTraits<CommandBufferResetFlagBits>
  3183. {
  3184. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3185. static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferResetFlags allFlags = CommandBufferResetFlagBits::eReleaseResources;
  3186. };
  3187. enum class CommandBufferUsageFlagBits : VkCommandBufferUsageFlags
  3188. {
  3189. eOneTimeSubmit = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
  3190. eRenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,
  3191. eSimultaneousUse = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
  3192. };
  3193. using CommandBufferUsageFlags = Flags<CommandBufferUsageFlagBits>;
  3194. template <>
  3195. struct FlagTraits<CommandBufferUsageFlagBits>
  3196. {
  3197. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3198. static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferUsageFlags allFlags =
  3199. CommandBufferUsageFlagBits::eOneTimeSubmit | CommandBufferUsageFlagBits::eRenderPassContinue | CommandBufferUsageFlagBits::eSimultaneousUse;
  3200. };
  3201. enum class QueryControlFlagBits : VkQueryControlFlags
  3202. {
  3203. ePrecise = VK_QUERY_CONTROL_PRECISE_BIT
  3204. };
  3205. using QueryControlFlags = Flags<QueryControlFlagBits>;
  3206. template <>
  3207. struct FlagTraits<QueryControlFlagBits>
  3208. {
  3209. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3210. static VULKAN_HPP_CONST_OR_CONSTEXPR QueryControlFlags allFlags = QueryControlFlagBits::ePrecise;
  3211. };
  3212. enum class IndexType
  3213. {
  3214. eUint16 = VK_INDEX_TYPE_UINT16,
  3215. eUint32 = VK_INDEX_TYPE_UINT32,
  3216. eNoneKHR = VK_INDEX_TYPE_NONE_KHR,
  3217. eNoneNV = VK_INDEX_TYPE_NONE_NV,
  3218. eUint8EXT = VK_INDEX_TYPE_UINT8_EXT
  3219. };
  3220. enum class StencilFaceFlagBits : VkStencilFaceFlags
  3221. {
  3222. eFront = VK_STENCIL_FACE_FRONT_BIT,
  3223. eBack = VK_STENCIL_FACE_BACK_BIT,
  3224. eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK,
  3225. eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK
  3226. };
  3227. using StencilFaceFlags = Flags<StencilFaceFlagBits>;
  3228. template <>
  3229. struct FlagTraits<StencilFaceFlagBits>
  3230. {
  3231. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3232. static VULKAN_HPP_CONST_OR_CONSTEXPR StencilFaceFlags allFlags =
  3233. StencilFaceFlagBits::eFront | StencilFaceFlagBits::eBack | StencilFaceFlagBits::eFrontAndBack;
  3234. };
  3235. enum class SubpassContents
  3236. {
  3237. eInline = VK_SUBPASS_CONTENTS_INLINE,
  3238. eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
  3239. eInlineAndSecondaryCommandBuffersEXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT
  3240. };
  3241. //=== VK_VERSION_1_1 ===
  3242. enum class SubgroupFeatureFlagBits : VkSubgroupFeatureFlags
  3243. {
  3244. eBasic = VK_SUBGROUP_FEATURE_BASIC_BIT,
  3245. eVote = VK_SUBGROUP_FEATURE_VOTE_BIT,
  3246. eArithmetic = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT,
  3247. eBallot = VK_SUBGROUP_FEATURE_BALLOT_BIT,
  3248. eShuffle = VK_SUBGROUP_FEATURE_SHUFFLE_BIT,
  3249. eShuffleRelative = VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,
  3250. eClustered = VK_SUBGROUP_FEATURE_CLUSTERED_BIT,
  3251. eQuad = VK_SUBGROUP_FEATURE_QUAD_BIT,
  3252. ePartitionedNV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV
  3253. };
  3254. using SubgroupFeatureFlags = Flags<SubgroupFeatureFlagBits>;
  3255. template <>
  3256. struct FlagTraits<SubgroupFeatureFlagBits>
  3257. {
  3258. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3259. static VULKAN_HPP_CONST_OR_CONSTEXPR SubgroupFeatureFlags allFlags =
  3260. SubgroupFeatureFlagBits::eBasic | SubgroupFeatureFlagBits::eVote | SubgroupFeatureFlagBits::eArithmetic | SubgroupFeatureFlagBits::eBallot |
  3261. SubgroupFeatureFlagBits::eShuffle | SubgroupFeatureFlagBits::eShuffleRelative | SubgroupFeatureFlagBits::eClustered | SubgroupFeatureFlagBits::eQuad |
  3262. SubgroupFeatureFlagBits::ePartitionedNV;
  3263. };
  3264. enum class PeerMemoryFeatureFlagBits : VkPeerMemoryFeatureFlags
  3265. {
  3266. eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
  3267. eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
  3268. eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
  3269. eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
  3270. };
  3271. using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
  3272. using PeerMemoryFeatureFlags = Flags<PeerMemoryFeatureFlagBits>;
  3273. using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
  3274. template <>
  3275. struct FlagTraits<PeerMemoryFeatureFlagBits>
  3276. {
  3277. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3278. static VULKAN_HPP_CONST_OR_CONSTEXPR PeerMemoryFeatureFlags allFlags = PeerMemoryFeatureFlagBits::eCopySrc | PeerMemoryFeatureFlagBits::eCopyDst |
  3279. PeerMemoryFeatureFlagBits::eGenericSrc | PeerMemoryFeatureFlagBits::eGenericDst;
  3280. };
  3281. enum class MemoryAllocateFlagBits : VkMemoryAllocateFlags
  3282. {
  3283. eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
  3284. eDeviceAddress = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
  3285. eDeviceAddressCaptureReplay = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
  3286. };
  3287. using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
  3288. using MemoryAllocateFlags = Flags<MemoryAllocateFlagBits>;
  3289. using MemoryAllocateFlagsKHR = MemoryAllocateFlags;
  3290. template <>
  3291. struct FlagTraits<MemoryAllocateFlagBits>
  3292. {
  3293. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3294. static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryAllocateFlags allFlags =
  3295. MemoryAllocateFlagBits::eDeviceMask | MemoryAllocateFlagBits::eDeviceAddress | MemoryAllocateFlagBits::eDeviceAddressCaptureReplay;
  3296. };
  3297. enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags
  3298. {
  3299. };
  3300. using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits>;
  3301. using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
  3302. template <>
  3303. struct FlagTraits<CommandPoolTrimFlagBits>
  3304. {
  3305. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3306. static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolTrimFlags allFlags = {};
  3307. };
  3308. enum class PointClippingBehavior
  3309. {
  3310. eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
  3311. eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
  3312. };
  3313. using PointClippingBehaviorKHR = PointClippingBehavior;
  3314. enum class TessellationDomainOrigin
  3315. {
  3316. eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
  3317. eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
  3318. };
  3319. using TessellationDomainOriginKHR = TessellationDomainOrigin;
  3320. enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags
  3321. {
  3322. eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
  3323. };
  3324. using DeviceQueueCreateFlags = Flags<DeviceQueueCreateFlagBits>;
  3325. template <>
  3326. struct FlagTraits<DeviceQueueCreateFlagBits>
  3327. {
  3328. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3329. static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceQueueCreateFlags allFlags = DeviceQueueCreateFlagBits::eProtected;
  3330. };
  3331. enum class SamplerYcbcrModelConversion
  3332. {
  3333. eRgbIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
  3334. eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
  3335. eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
  3336. eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
  3337. eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
  3338. };
  3339. using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
  3340. enum class SamplerYcbcrRange
  3341. {
  3342. eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
  3343. eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
  3344. };
  3345. using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
  3346. enum class ChromaLocation
  3347. {
  3348. eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
  3349. eMidpoint = VK_CHROMA_LOCATION_MIDPOINT
  3350. };
  3351. using ChromaLocationKHR = ChromaLocation;
  3352. enum class DescriptorUpdateTemplateType
  3353. {
  3354. eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
  3355. ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
  3356. };
  3357. using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
  3358. enum class DescriptorUpdateTemplateCreateFlagBits : VkDescriptorUpdateTemplateCreateFlags
  3359. {
  3360. };
  3361. using DescriptorUpdateTemplateCreateFlags = Flags<DescriptorUpdateTemplateCreateFlagBits>;
  3362. using DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
  3363. template <>
  3364. struct FlagTraits<DescriptorUpdateTemplateCreateFlagBits>
  3365. {
  3366. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3367. static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorUpdateTemplateCreateFlags allFlags = {};
  3368. };
  3369. enum class ExternalMemoryHandleTypeFlagBits : VkExternalMemoryHandleTypeFlags
  3370. {
  3371. eOpaqueFd = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
  3372. eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
  3373. eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
  3374. eD3D11Texture = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
  3375. eD3D11TextureKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
  3376. eD3D12Heap = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
  3377. eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
  3378. eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
  3379. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  3380. eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
  3381. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  3382. eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
  3383. eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT,
  3384. #if defined( VK_USE_PLATFORM_FUCHSIA )
  3385. eZirconVmoFUCHSIA = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA,
  3386. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  3387. eRdmaAddressNV = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV,
  3388. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  3389. eScreenBufferQNX = VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX
  3390. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  3391. };
  3392. using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
  3393. using ExternalMemoryHandleTypeFlags = Flags<ExternalMemoryHandleTypeFlagBits>;
  3394. using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
  3395. template <>
  3396. struct FlagTraits<ExternalMemoryHandleTypeFlagBits>
  3397. {
  3398. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3399. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlags allFlags =
  3400. ExternalMemoryHandleTypeFlagBits::eOpaqueFd | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt |
  3401. ExternalMemoryHandleTypeFlagBits::eD3D11Texture | ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt | ExternalMemoryHandleTypeFlagBits::eD3D12Heap |
  3402. ExternalMemoryHandleTypeFlagBits::eD3D12Resource | ExternalMemoryHandleTypeFlagBits::eDmaBufEXT
  3403. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  3404. | ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID
  3405. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  3406. | ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT | ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT
  3407. #if defined( VK_USE_PLATFORM_FUCHSIA )
  3408. | ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA
  3409. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  3410. | ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV
  3411. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  3412. | ExternalMemoryHandleTypeFlagBits::eScreenBufferQNX
  3413. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  3414. ;
  3415. };
  3416. enum class ExternalMemoryFeatureFlagBits : VkExternalMemoryFeatureFlags
  3417. {
  3418. eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
  3419. eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
  3420. eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
  3421. };
  3422. using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
  3423. using ExternalMemoryFeatureFlags = Flags<ExternalMemoryFeatureFlagBits>;
  3424. using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
  3425. template <>
  3426. struct FlagTraits<ExternalMemoryFeatureFlagBits>
  3427. {
  3428. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3429. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlags allFlags =
  3430. ExternalMemoryFeatureFlagBits::eDedicatedOnly | ExternalMemoryFeatureFlagBits::eExportable | ExternalMemoryFeatureFlagBits::eImportable;
  3431. };
  3432. enum class ExternalFenceHandleTypeFlagBits : VkExternalFenceHandleTypeFlags
  3433. {
  3434. eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
  3435. eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
  3436. eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
  3437. eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
  3438. };
  3439. using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
  3440. using ExternalFenceHandleTypeFlags = Flags<ExternalFenceHandleTypeFlagBits>;
  3441. using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
  3442. template <>
  3443. struct FlagTraits<ExternalFenceHandleTypeFlagBits>
  3444. {
  3445. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3446. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceHandleTypeFlags allFlags =
  3447. ExternalFenceHandleTypeFlagBits::eOpaqueFd | ExternalFenceHandleTypeFlagBits::eOpaqueWin32 | ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt |
  3448. ExternalFenceHandleTypeFlagBits::eSyncFd;
  3449. };
  3450. enum class ExternalFenceFeatureFlagBits : VkExternalFenceFeatureFlags
  3451. {
  3452. eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
  3453. eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
  3454. };
  3455. using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
  3456. using ExternalFenceFeatureFlags = Flags<ExternalFenceFeatureFlagBits>;
  3457. using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
  3458. template <>
  3459. struct FlagTraits<ExternalFenceFeatureFlagBits>
  3460. {
  3461. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3462. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceFeatureFlags allFlags =
  3463. ExternalFenceFeatureFlagBits::eExportable | ExternalFenceFeatureFlagBits::eImportable;
  3464. };
  3465. enum class FenceImportFlagBits : VkFenceImportFlags
  3466. {
  3467. eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
  3468. };
  3469. using FenceImportFlagBitsKHR = FenceImportFlagBits;
  3470. using FenceImportFlags = Flags<FenceImportFlagBits>;
  3471. using FenceImportFlagsKHR = FenceImportFlags;
  3472. template <>
  3473. struct FlagTraits<FenceImportFlagBits>
  3474. {
  3475. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3476. static VULKAN_HPP_CONST_OR_CONSTEXPR FenceImportFlags allFlags = FenceImportFlagBits::eTemporary;
  3477. };
  3478. enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags
  3479. {
  3480. eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
  3481. };
  3482. using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
  3483. using SemaphoreImportFlags = Flags<SemaphoreImportFlagBits>;
  3484. using SemaphoreImportFlagsKHR = SemaphoreImportFlags;
  3485. template <>
  3486. struct FlagTraits<SemaphoreImportFlagBits>
  3487. {
  3488. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3489. static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreImportFlags allFlags = SemaphoreImportFlagBits::eTemporary;
  3490. };
  3491. enum class ExternalSemaphoreHandleTypeFlagBits : VkExternalSemaphoreHandleTypeFlags
  3492. {
  3493. eOpaqueFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
  3494. eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
  3495. eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
  3496. eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
  3497. eD3D11Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT,
  3498. eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
  3499. #if defined( VK_USE_PLATFORM_FUCHSIA )
  3500. eZirconEventFUCHSIA = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA
  3501. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  3502. };
  3503. using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
  3504. using ExternalSemaphoreHandleTypeFlags = Flags<ExternalSemaphoreHandleTypeFlagBits>;
  3505. using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
  3506. template <>
  3507. struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits>
  3508. {
  3509. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3510. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreHandleTypeFlags allFlags =
  3511. ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd | ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 |
  3512. ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt | ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence | ExternalSemaphoreHandleTypeFlagBits::eSyncFd
  3513. #if defined( VK_USE_PLATFORM_FUCHSIA )
  3514. | ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA
  3515. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  3516. ;
  3517. };
  3518. enum class ExternalSemaphoreFeatureFlagBits : VkExternalSemaphoreFeatureFlags
  3519. {
  3520. eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
  3521. eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
  3522. };
  3523. using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
  3524. using ExternalSemaphoreFeatureFlags = Flags<ExternalSemaphoreFeatureFlagBits>;
  3525. using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
  3526. template <>
  3527. struct FlagTraits<ExternalSemaphoreFeatureFlagBits>
  3528. {
  3529. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3530. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreFeatureFlags allFlags =
  3531. ExternalSemaphoreFeatureFlagBits::eExportable | ExternalSemaphoreFeatureFlagBits::eImportable;
  3532. };
  3533. //=== VK_VERSION_1_2 ===
  3534. enum class DriverId
  3535. {
  3536. eAmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY,
  3537. eAmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE,
  3538. eMesaRadv = VK_DRIVER_ID_MESA_RADV,
  3539. eNvidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
  3540. eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
  3541. eIntelOpenSourceMESA = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
  3542. eImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
  3543. eQualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
  3544. eArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY,
  3545. eGoogleSwiftshader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
  3546. eGgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY,
  3547. eBroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
  3548. eMesaLlvmpipe = VK_DRIVER_ID_MESA_LLVMPIPE,
  3549. eMoltenvk = VK_DRIVER_ID_MOLTENVK,
  3550. eCoreaviProprietary = VK_DRIVER_ID_COREAVI_PROPRIETARY,
  3551. eJuiceProprietary = VK_DRIVER_ID_JUICE_PROPRIETARY,
  3552. eVerisiliconProprietary = VK_DRIVER_ID_VERISILICON_PROPRIETARY,
  3553. eMesaTurnip = VK_DRIVER_ID_MESA_TURNIP,
  3554. eMesaV3Dv = VK_DRIVER_ID_MESA_V3DV,
  3555. eMesaPanvk = VK_DRIVER_ID_MESA_PANVK,
  3556. eSamsungProprietary = VK_DRIVER_ID_SAMSUNG_PROPRIETARY,
  3557. eMesaVenus = VK_DRIVER_ID_MESA_VENUS,
  3558. eMesaDozen = VK_DRIVER_ID_MESA_DOZEN,
  3559. eMesaNvk = VK_DRIVER_ID_MESA_NVK,
  3560. eImaginationOpenSourceMESA = VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA,
  3561. eMesaAgxv = VK_DRIVER_ID_MESA_AGXV
  3562. };
  3563. using DriverIdKHR = DriverId;
  3564. enum class ShaderFloatControlsIndependence
  3565. {
  3566. e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
  3567. eAll = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
  3568. eNone = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
  3569. };
  3570. using ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
  3571. enum class DescriptorBindingFlagBits : VkDescriptorBindingFlags
  3572. {
  3573. eUpdateAfterBind = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
  3574. eUpdateUnusedWhilePending = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
  3575. ePartiallyBound = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
  3576. eVariableDescriptorCount = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
  3577. };
  3578. using DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
  3579. using DescriptorBindingFlags = Flags<DescriptorBindingFlagBits>;
  3580. using DescriptorBindingFlagsEXT = DescriptorBindingFlags;
  3581. template <>
  3582. struct FlagTraits<DescriptorBindingFlagBits>
  3583. {
  3584. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3585. static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorBindingFlags allFlags =
  3586. DescriptorBindingFlagBits::eUpdateAfterBind | DescriptorBindingFlagBits::eUpdateUnusedWhilePending | DescriptorBindingFlagBits::ePartiallyBound |
  3587. DescriptorBindingFlagBits::eVariableDescriptorCount;
  3588. };
  3589. enum class ResolveModeFlagBits : VkResolveModeFlags
  3590. {
  3591. eNone = VK_RESOLVE_MODE_NONE,
  3592. eSampleZero = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
  3593. eAverage = VK_RESOLVE_MODE_AVERAGE_BIT,
  3594. eMin = VK_RESOLVE_MODE_MIN_BIT,
  3595. eMax = VK_RESOLVE_MODE_MAX_BIT,
  3596. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  3597. eExternalFormatDownsampleANDROID = VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
  3598. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  3599. };
  3600. using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
  3601. using ResolveModeFlags = Flags<ResolveModeFlagBits>;
  3602. using ResolveModeFlagsKHR = ResolveModeFlags;
  3603. template <>
  3604. struct FlagTraits<ResolveModeFlagBits>
  3605. {
  3606. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3607. static VULKAN_HPP_CONST_OR_CONSTEXPR ResolveModeFlags allFlags = ResolveModeFlagBits::eNone | ResolveModeFlagBits::eSampleZero |
  3608. ResolveModeFlagBits::eAverage | ResolveModeFlagBits::eMin | ResolveModeFlagBits::eMax
  3609. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  3610. | ResolveModeFlagBits::eExternalFormatDownsampleANDROID
  3611. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  3612. ;
  3613. };
  3614. enum class SamplerReductionMode
  3615. {
  3616. eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
  3617. eMin = VK_SAMPLER_REDUCTION_MODE_MIN,
  3618. eMax = VK_SAMPLER_REDUCTION_MODE_MAX,
  3619. eWeightedAverageRangeclampQCOM = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
  3620. };
  3621. using SamplerReductionModeEXT = SamplerReductionMode;
  3622. enum class SemaphoreType
  3623. {
  3624. eBinary = VK_SEMAPHORE_TYPE_BINARY,
  3625. eTimeline = VK_SEMAPHORE_TYPE_TIMELINE
  3626. };
  3627. using SemaphoreTypeKHR = SemaphoreType;
  3628. enum class SemaphoreWaitFlagBits : VkSemaphoreWaitFlags
  3629. {
  3630. eAny = VK_SEMAPHORE_WAIT_ANY_BIT
  3631. };
  3632. using SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
  3633. using SemaphoreWaitFlags = Flags<SemaphoreWaitFlagBits>;
  3634. using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
  3635. template <>
  3636. struct FlagTraits<SemaphoreWaitFlagBits>
  3637. {
  3638. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3639. static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreWaitFlags allFlags = SemaphoreWaitFlagBits::eAny;
  3640. };
  3641. //=== VK_VERSION_1_3 ===
  3642. enum class PipelineCreationFeedbackFlagBits : VkPipelineCreationFeedbackFlags
  3643. {
  3644. eValid = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
  3645. eApplicationPipelineCacheHit = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
  3646. eBasePipelineAcceleration = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT
  3647. };
  3648. using PipelineCreationFeedbackFlagBitsEXT = PipelineCreationFeedbackFlagBits;
  3649. using PipelineCreationFeedbackFlags = Flags<PipelineCreationFeedbackFlagBits>;
  3650. using PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags;
  3651. template <>
  3652. struct FlagTraits<PipelineCreationFeedbackFlagBits>
  3653. {
  3654. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3655. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreationFeedbackFlags allFlags = PipelineCreationFeedbackFlagBits::eValid |
  3656. PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit |
  3657. PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration;
  3658. };
  3659. enum class ToolPurposeFlagBits : VkToolPurposeFlags
  3660. {
  3661. eValidation = VK_TOOL_PURPOSE_VALIDATION_BIT,
  3662. eProfiling = VK_TOOL_PURPOSE_PROFILING_BIT,
  3663. eTracing = VK_TOOL_PURPOSE_TRACING_BIT,
  3664. eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
  3665. eModifyingFeatures = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
  3666. eDebugReportingEXT = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT,
  3667. eDebugMarkersEXT = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
  3668. };
  3669. using ToolPurposeFlagBitsEXT = ToolPurposeFlagBits;
  3670. using ToolPurposeFlags = Flags<ToolPurposeFlagBits>;
  3671. using ToolPurposeFlagsEXT = ToolPurposeFlags;
  3672. template <>
  3673. struct FlagTraits<ToolPurposeFlagBits>
  3674. {
  3675. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3676. static VULKAN_HPP_CONST_OR_CONSTEXPR ToolPurposeFlags allFlags =
  3677. ToolPurposeFlagBits::eValidation | ToolPurposeFlagBits::eProfiling | ToolPurposeFlagBits::eTracing | ToolPurposeFlagBits::eAdditionalFeatures |
  3678. ToolPurposeFlagBits::eModifyingFeatures | ToolPurposeFlagBits::eDebugReportingEXT | ToolPurposeFlagBits::eDebugMarkersEXT;
  3679. };
  3680. enum class PrivateDataSlotCreateFlagBits : VkPrivateDataSlotCreateFlags
  3681. {
  3682. };
  3683. using PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBits;
  3684. using PrivateDataSlotCreateFlags = Flags<PrivateDataSlotCreateFlagBits>;
  3685. using PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags;
  3686. template <>
  3687. struct FlagTraits<PrivateDataSlotCreateFlagBits>
  3688. {
  3689. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3690. static VULKAN_HPP_CONST_OR_CONSTEXPR PrivateDataSlotCreateFlags allFlags = {};
  3691. };
  3692. enum class PipelineStageFlagBits2 : VkPipelineStageFlags2
  3693. {
  3694. eNone = VK_PIPELINE_STAGE_2_NONE,
  3695. eTopOfPipe = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT,
  3696. eDrawIndirect = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
  3697. eVertexInput = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
  3698. eVertexShader = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
  3699. eTessellationControlShader = VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
  3700. eTessellationEvaluationShader = VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
  3701. eGeometryShader = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
  3702. eFragmentShader = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
  3703. eEarlyFragmentTests = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
  3704. eLateFragmentTests = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
  3705. eColorAttachmentOutput = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
  3706. eComputeShader = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
  3707. eAllTransfer = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
  3708. eTransfer = VK_PIPELINE_STAGE_2_TRANSFER_BIT,
  3709. eBottomOfPipe = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT,
  3710. eHost = VK_PIPELINE_STAGE_2_HOST_BIT,
  3711. eAllGraphics = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
  3712. eAllCommands = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
  3713. eCopy = VK_PIPELINE_STAGE_2_COPY_BIT,
  3714. eResolve = VK_PIPELINE_STAGE_2_RESOLVE_BIT,
  3715. eBlit = VK_PIPELINE_STAGE_2_BLIT_BIT,
  3716. eClear = VK_PIPELINE_STAGE_2_CLEAR_BIT,
  3717. eIndexInput = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,
  3718. eVertexAttributeInput = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,
  3719. ePreRasterizationShaders = VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT,
  3720. eVideoDecodeKHR = VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR,
  3721. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  3722. eVideoEncodeKHR = VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR,
  3723. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3724. eTransformFeedbackEXT = VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
  3725. eConditionalRenderingEXT = VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
  3726. eCommandPreprocessNV = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV,
  3727. eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  3728. eShadingRateImageNV = VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
  3729. eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
  3730. eRayTracingShaderKHR = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
  3731. eRayTracingShaderNV = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV,
  3732. eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
  3733. eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
  3734. eTaskShaderNV = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV,
  3735. eMeshShaderNV = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV,
  3736. eTaskShaderEXT = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
  3737. eMeshShaderEXT = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
  3738. eSubpassShaderHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
  3739. eSubpassShadingHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
  3740. eInvocationMaskHUAWEI = VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI,
  3741. eAccelerationStructureCopyKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
  3742. eMicromapBuildEXT = VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
  3743. eClusterCullingShaderHUAWEI = VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
  3744. eOpticalFlowNV = VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
  3745. };
  3746. using PipelineStageFlagBits2KHR = PipelineStageFlagBits2;
  3747. using PipelineStageFlags2 = Flags<PipelineStageFlagBits2>;
  3748. using PipelineStageFlags2KHR = PipelineStageFlags2;
  3749. template <>
  3750. struct FlagTraits<PipelineStageFlagBits2>
  3751. {
  3752. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3753. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags2 allFlags =
  3754. PipelineStageFlagBits2::eNone | PipelineStageFlagBits2::eTopOfPipe | PipelineStageFlagBits2::eDrawIndirect | PipelineStageFlagBits2::eVertexInput |
  3755. PipelineStageFlagBits2::eVertexShader | PipelineStageFlagBits2::eTessellationControlShader | PipelineStageFlagBits2::eTessellationEvaluationShader |
  3756. PipelineStageFlagBits2::eGeometryShader | PipelineStageFlagBits2::eFragmentShader | PipelineStageFlagBits2::eEarlyFragmentTests |
  3757. PipelineStageFlagBits2::eLateFragmentTests | PipelineStageFlagBits2::eColorAttachmentOutput | PipelineStageFlagBits2::eComputeShader |
  3758. PipelineStageFlagBits2::eAllTransfer | PipelineStageFlagBits2::eBottomOfPipe | PipelineStageFlagBits2::eHost | PipelineStageFlagBits2::eAllGraphics |
  3759. PipelineStageFlagBits2::eAllCommands | PipelineStageFlagBits2::eCopy | PipelineStageFlagBits2::eResolve | PipelineStageFlagBits2::eBlit |
  3760. PipelineStageFlagBits2::eClear | PipelineStageFlagBits2::eIndexInput | PipelineStageFlagBits2::eVertexAttributeInput |
  3761. PipelineStageFlagBits2::ePreRasterizationShaders | PipelineStageFlagBits2::eVideoDecodeKHR
  3762. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  3763. | PipelineStageFlagBits2::eVideoEncodeKHR
  3764. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3765. | PipelineStageFlagBits2::eTransformFeedbackEXT | PipelineStageFlagBits2::eConditionalRenderingEXT | PipelineStageFlagBits2::eCommandPreprocessNV |
  3766. PipelineStageFlagBits2::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits2::eAccelerationStructureBuildKHR |
  3767. PipelineStageFlagBits2::eRayTracingShaderKHR | PipelineStageFlagBits2::eFragmentDensityProcessEXT | PipelineStageFlagBits2::eTaskShaderEXT |
  3768. PipelineStageFlagBits2::eMeshShaderEXT | PipelineStageFlagBits2::eSubpassShaderHUAWEI | PipelineStageFlagBits2::eInvocationMaskHUAWEI |
  3769. PipelineStageFlagBits2::eAccelerationStructureCopyKHR | PipelineStageFlagBits2::eMicromapBuildEXT | PipelineStageFlagBits2::eClusterCullingShaderHUAWEI |
  3770. PipelineStageFlagBits2::eOpticalFlowNV;
  3771. };
  3772. enum class AccessFlagBits2 : VkAccessFlags2
  3773. {
  3774. eNone = VK_ACCESS_2_NONE,
  3775. eIndirectCommandRead = VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT,
  3776. eIndexRead = VK_ACCESS_2_INDEX_READ_BIT,
  3777. eVertexAttributeRead = VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,
  3778. eUniformRead = VK_ACCESS_2_UNIFORM_READ_BIT,
  3779. eInputAttachmentRead = VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT,
  3780. eShaderRead = VK_ACCESS_2_SHADER_READ_BIT,
  3781. eShaderWrite = VK_ACCESS_2_SHADER_WRITE_BIT,
  3782. eColorAttachmentRead = VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
  3783. eColorAttachmentWrite = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,
  3784. eDepthStencilAttachmentRead = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
  3785. eDepthStencilAttachmentWrite = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
  3786. eTransferRead = VK_ACCESS_2_TRANSFER_READ_BIT,
  3787. eTransferWrite = VK_ACCESS_2_TRANSFER_WRITE_BIT,
  3788. eHostRead = VK_ACCESS_2_HOST_READ_BIT,
  3789. eHostWrite = VK_ACCESS_2_HOST_WRITE_BIT,
  3790. eMemoryRead = VK_ACCESS_2_MEMORY_READ_BIT,
  3791. eMemoryWrite = VK_ACCESS_2_MEMORY_WRITE_BIT,
  3792. eShaderSampledRead = VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
  3793. eShaderStorageRead = VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
  3794. eShaderStorageWrite = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
  3795. eVideoDecodeReadKHR = VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,
  3796. eVideoDecodeWriteKHR = VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
  3797. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  3798. eVideoEncodeReadKHR = VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,
  3799. eVideoEncodeWriteKHR = VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,
  3800. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3801. eTransformFeedbackWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
  3802. eTransformFeedbackCounterReadEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
  3803. eTransformFeedbackCounterWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
  3804. eConditionalRenderingReadEXT = VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
  3805. eCommandPreprocessReadNV = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
  3806. eCommandPreprocessWriteNV = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
  3807. eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
  3808. eShadingRateImageReadNV = VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,
  3809. eAccelerationStructureReadKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
  3810. eAccelerationStructureWriteKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
  3811. eAccelerationStructureReadNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV,
  3812. eAccelerationStructureWriteNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
  3813. eFragmentDensityMapReadEXT = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
  3814. eColorAttachmentReadNoncoherentEXT = VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
  3815. eDescriptorBufferReadEXT = VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
  3816. eInvocationMaskReadHUAWEI = VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
  3817. eShaderBindingTableReadKHR = VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
  3818. eMicromapReadEXT = VK_ACCESS_2_MICROMAP_READ_BIT_EXT,
  3819. eMicromapWriteEXT = VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT,
  3820. eOpticalFlowReadNV = VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,
  3821. eOpticalFlowWriteNV = VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV
  3822. };
  3823. using AccessFlagBits2KHR = AccessFlagBits2;
  3824. using AccessFlags2 = Flags<AccessFlagBits2>;
  3825. using AccessFlags2KHR = AccessFlags2;
  3826. template <>
  3827. struct FlagTraits<AccessFlagBits2>
  3828. {
  3829. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3830. static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags2 allFlags =
  3831. AccessFlagBits2::eNone | AccessFlagBits2::eIndirectCommandRead | AccessFlagBits2::eIndexRead | AccessFlagBits2::eVertexAttributeRead |
  3832. AccessFlagBits2::eUniformRead | AccessFlagBits2::eInputAttachmentRead | AccessFlagBits2::eShaderRead | AccessFlagBits2::eShaderWrite |
  3833. AccessFlagBits2::eColorAttachmentRead | AccessFlagBits2::eColorAttachmentWrite | AccessFlagBits2::eDepthStencilAttachmentRead |
  3834. AccessFlagBits2::eDepthStencilAttachmentWrite | AccessFlagBits2::eTransferRead | AccessFlagBits2::eTransferWrite | AccessFlagBits2::eHostRead |
  3835. AccessFlagBits2::eHostWrite | AccessFlagBits2::eMemoryRead | AccessFlagBits2::eMemoryWrite | AccessFlagBits2::eShaderSampledRead |
  3836. AccessFlagBits2::eShaderStorageRead | AccessFlagBits2::eShaderStorageWrite | AccessFlagBits2::eVideoDecodeReadKHR | AccessFlagBits2::eVideoDecodeWriteKHR
  3837. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  3838. | AccessFlagBits2::eVideoEncodeReadKHR | AccessFlagBits2::eVideoEncodeWriteKHR
  3839. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3840. | AccessFlagBits2::eTransformFeedbackWriteEXT | AccessFlagBits2::eTransformFeedbackCounterReadEXT | AccessFlagBits2::eTransformFeedbackCounterWriteEXT |
  3841. AccessFlagBits2::eConditionalRenderingReadEXT | AccessFlagBits2::eCommandPreprocessReadNV | AccessFlagBits2::eCommandPreprocessWriteNV |
  3842. AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits2::eAccelerationStructureReadKHR |
  3843. AccessFlagBits2::eAccelerationStructureWriteKHR | AccessFlagBits2::eFragmentDensityMapReadEXT | AccessFlagBits2::eColorAttachmentReadNoncoherentEXT |
  3844. AccessFlagBits2::eDescriptorBufferReadEXT | AccessFlagBits2::eInvocationMaskReadHUAWEI | AccessFlagBits2::eShaderBindingTableReadKHR |
  3845. AccessFlagBits2::eMicromapReadEXT | AccessFlagBits2::eMicromapWriteEXT | AccessFlagBits2::eOpticalFlowReadNV | AccessFlagBits2::eOpticalFlowWriteNV;
  3846. };
  3847. enum class SubmitFlagBits : VkSubmitFlags
  3848. {
  3849. eProtected = VK_SUBMIT_PROTECTED_BIT
  3850. };
  3851. using SubmitFlagBitsKHR = SubmitFlagBits;
  3852. using SubmitFlags = Flags<SubmitFlagBits>;
  3853. using SubmitFlagsKHR = SubmitFlags;
  3854. template <>
  3855. struct FlagTraits<SubmitFlagBits>
  3856. {
  3857. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3858. static VULKAN_HPP_CONST_OR_CONSTEXPR SubmitFlags allFlags = SubmitFlagBits::eProtected;
  3859. };
  3860. enum class RenderingFlagBits : VkRenderingFlags
  3861. {
  3862. eContentsSecondaryCommandBuffers = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
  3863. eSuspending = VK_RENDERING_SUSPENDING_BIT,
  3864. eResuming = VK_RENDERING_RESUMING_BIT,
  3865. eContentsInlineEXT = VK_RENDERING_CONTENTS_INLINE_BIT_EXT,
  3866. eEnableLegacyDitheringEXT = VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT
  3867. };
  3868. using RenderingFlagBitsKHR = RenderingFlagBits;
  3869. using RenderingFlags = Flags<RenderingFlagBits>;
  3870. using RenderingFlagsKHR = RenderingFlags;
  3871. template <>
  3872. struct FlagTraits<RenderingFlagBits>
  3873. {
  3874. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3875. static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags = RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending |
  3876. RenderingFlagBits::eResuming | RenderingFlagBits::eContentsInlineEXT |
  3877. RenderingFlagBits::eEnableLegacyDitheringEXT;
  3878. };
  3879. enum class FormatFeatureFlagBits2 : VkFormatFeatureFlags2
  3880. {
  3881. eSampledImage = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT,
  3882. eStorageImage = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT,
  3883. eStorageImageAtomic = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT,
  3884. eUniformTexelBuffer = VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT,
  3885. eStorageTexelBuffer = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT,
  3886. eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
  3887. eVertexBuffer = VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT,
  3888. eColorAttachment = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT,
  3889. eColorAttachmentBlend = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT,
  3890. eDepthStencilAttachment = VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT,
  3891. eBlitSrc = VK_FORMAT_FEATURE_2_BLIT_SRC_BIT,
  3892. eBlitDst = VK_FORMAT_FEATURE_2_BLIT_DST_BIT,
  3893. eSampledImageFilterLinear = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
  3894. eSampledImageFilterCubic = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT,
  3895. eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
  3896. eTransferSrc = VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT,
  3897. eTransferDst = VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT,
  3898. eSampledImageFilterMinmax = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
  3899. eMidpointChromaSamples = VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT,
  3900. eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
  3901. eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
  3902. eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
  3903. eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
  3904. VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
  3905. eDisjoint = VK_FORMAT_FEATURE_2_DISJOINT_BIT,
  3906. eCositedChromaSamples = VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT,
  3907. eStorageReadWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT,
  3908. eStorageWriteWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT,
  3909. eSampledImageDepthComparison = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT,
  3910. eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR,
  3911. eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR,
  3912. eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
  3913. eFragmentDensityMapEXT = VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT,
  3914. eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  3915. eHostImageTransferEXT = VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT,
  3916. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  3917. eVideoEncodeInputKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR,
  3918. eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR,
  3919. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3920. eLinearColorAttachmentNV = VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV,
  3921. eWeightImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM,
  3922. eWeightSampledImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM,
  3923. eBlockMatchingQCOM = VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM,
  3924. eBoxFilterSampledQCOM = VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM,
  3925. eOpticalFlowImageNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV,
  3926. eOpticalFlowVectorNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV,
  3927. eOpticalFlowCostNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV
  3928. };
  3929. using FormatFeatureFlagBits2KHR = FormatFeatureFlagBits2;
  3930. using FormatFeatureFlags2 = Flags<FormatFeatureFlagBits2>;
  3931. using FormatFeatureFlags2KHR = FormatFeatureFlags2;
  3932. template <>
  3933. struct FlagTraits<FormatFeatureFlagBits2>
  3934. {
  3935. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3936. static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags2 allFlags =
  3937. FormatFeatureFlagBits2::eSampledImage | FormatFeatureFlagBits2::eStorageImage | FormatFeatureFlagBits2::eStorageImageAtomic |
  3938. FormatFeatureFlagBits2::eUniformTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBufferAtomic |
  3939. FormatFeatureFlagBits2::eVertexBuffer | FormatFeatureFlagBits2::eColorAttachment | FormatFeatureFlagBits2::eColorAttachmentBlend |
  3940. FormatFeatureFlagBits2::eDepthStencilAttachment | FormatFeatureFlagBits2::eBlitSrc | FormatFeatureFlagBits2::eBlitDst |
  3941. FormatFeatureFlagBits2::eSampledImageFilterLinear | FormatFeatureFlagBits2::eSampledImageFilterCubic | FormatFeatureFlagBits2::eTransferSrc |
  3942. FormatFeatureFlagBits2::eTransferDst | FormatFeatureFlagBits2::eSampledImageFilterMinmax | FormatFeatureFlagBits2::eMidpointChromaSamples |
  3943. FormatFeatureFlagBits2::eSampledImageYcbcrConversionLinearFilter | FormatFeatureFlagBits2::eSampledImageYcbcrConversionSeparateReconstructionFilter |
  3944. FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicit |
  3945. FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits2::eDisjoint |
  3946. FormatFeatureFlagBits2::eCositedChromaSamples | FormatFeatureFlagBits2::eStorageReadWithoutFormat | FormatFeatureFlagBits2::eStorageWriteWithoutFormat |
  3947. FormatFeatureFlagBits2::eSampledImageDepthComparison | FormatFeatureFlagBits2::eVideoDecodeOutputKHR | FormatFeatureFlagBits2::eVideoDecodeDpbKHR |
  3948. FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR | FormatFeatureFlagBits2::eFragmentDensityMapEXT |
  3949. FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR | FormatFeatureFlagBits2::eHostImageTransferEXT
  3950. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  3951. | FormatFeatureFlagBits2::eVideoEncodeInputKHR | FormatFeatureFlagBits2::eVideoEncodeDpbKHR
  3952. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3953. | FormatFeatureFlagBits2::eLinearColorAttachmentNV | FormatFeatureFlagBits2::eWeightImageQCOM | FormatFeatureFlagBits2::eWeightSampledImageQCOM |
  3954. FormatFeatureFlagBits2::eBlockMatchingQCOM | FormatFeatureFlagBits2::eBoxFilterSampledQCOM | FormatFeatureFlagBits2::eOpticalFlowImageNV |
  3955. FormatFeatureFlagBits2::eOpticalFlowVectorNV | FormatFeatureFlagBits2::eOpticalFlowCostNV;
  3956. };
  3957. //=== VK_KHR_surface ===
  3958. enum class SurfaceTransformFlagBitsKHR : VkSurfaceTransformFlagsKHR
  3959. {
  3960. eIdentity = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
  3961. eRotate90 = VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
  3962. eRotate180 = VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,
  3963. eRotate270 = VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,
  3964. eHorizontalMirror = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,
  3965. eHorizontalMirrorRotate90 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,
  3966. eHorizontalMirrorRotate180 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,
  3967. eHorizontalMirrorRotate270 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,
  3968. eInherit = VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR
  3969. };
  3970. using SurfaceTransformFlagsKHR = Flags<SurfaceTransformFlagBitsKHR>;
  3971. template <>
  3972. struct FlagTraits<SurfaceTransformFlagBitsKHR>
  3973. {
  3974. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  3975. static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceTransformFlagsKHR allFlags =
  3976. SurfaceTransformFlagBitsKHR::eIdentity | SurfaceTransformFlagBitsKHR::eRotate90 | SurfaceTransformFlagBitsKHR::eRotate180 |
  3977. SurfaceTransformFlagBitsKHR::eRotate270 | SurfaceTransformFlagBitsKHR::eHorizontalMirror | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 |
  3978. SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 | SurfaceTransformFlagBitsKHR::eInherit;
  3979. };
  3980. enum class PresentModeKHR
  3981. {
  3982. eImmediate = VK_PRESENT_MODE_IMMEDIATE_KHR,
  3983. eMailbox = VK_PRESENT_MODE_MAILBOX_KHR,
  3984. eFifo = VK_PRESENT_MODE_FIFO_KHR,
  3985. eFifoRelaxed = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
  3986. eSharedDemandRefresh = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,
  3987. eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
  3988. };
  3989. enum class ColorSpaceKHR
  3990. {
  3991. eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
  3992. eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
  3993. eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
  3994. eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
  3995. eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
  3996. eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
  3997. eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
  3998. eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
  3999. eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
  4000. eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
  4001. eDolbyvisionEXT = VK_COLOR_SPACE_DOLBYVISION_EXT,
  4002. eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT,
  4003. eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
  4004. eAdobergbNonlinearEXT = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,
  4005. ePassThroughEXT = VK_COLOR_SPACE_PASS_THROUGH_EXT,
  4006. eExtendedSrgbNonlinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT,
  4007. eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT,
  4008. eDisplayNativeAMD = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD
  4009. };
  4010. enum class CompositeAlphaFlagBitsKHR : VkCompositeAlphaFlagsKHR
  4011. {
  4012. eOpaque = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,
  4013. ePreMultiplied = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,
  4014. ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,
  4015. eInherit = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
  4016. };
  4017. using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR>;
  4018. template <>
  4019. struct FlagTraits<CompositeAlphaFlagBitsKHR>
  4020. {
  4021. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4022. static VULKAN_HPP_CONST_OR_CONSTEXPR CompositeAlphaFlagsKHR allFlags = CompositeAlphaFlagBitsKHR::eOpaque | CompositeAlphaFlagBitsKHR::ePreMultiplied |
  4023. CompositeAlphaFlagBitsKHR::ePostMultiplied | CompositeAlphaFlagBitsKHR::eInherit;
  4024. };
  4025. //=== VK_KHR_swapchain ===
  4026. enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR
  4027. {
  4028. eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
  4029. eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR,
  4030. eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR,
  4031. eDeferredMemoryAllocationEXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT
  4032. };
  4033. using SwapchainCreateFlagsKHR = Flags<SwapchainCreateFlagBitsKHR>;
  4034. template <>
  4035. struct FlagTraits<SwapchainCreateFlagBitsKHR>
  4036. {
  4037. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4038. static VULKAN_HPP_CONST_OR_CONSTEXPR SwapchainCreateFlagsKHR allFlags =
  4039. SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions | SwapchainCreateFlagBitsKHR::eProtected | SwapchainCreateFlagBitsKHR::eMutableFormat |
  4040. SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocationEXT;
  4041. };
  4042. enum class DeviceGroupPresentModeFlagBitsKHR : VkDeviceGroupPresentModeFlagsKHR
  4043. {
  4044. eLocal = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
  4045. eRemote = VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
  4046. eSum = VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,
  4047. eLocalMultiDevice = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
  4048. };
  4049. using DeviceGroupPresentModeFlagsKHR = Flags<DeviceGroupPresentModeFlagBitsKHR>;
  4050. template <>
  4051. struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR>
  4052. {
  4053. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4054. static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceGroupPresentModeFlagsKHR allFlags =
  4055. DeviceGroupPresentModeFlagBitsKHR::eLocal | DeviceGroupPresentModeFlagBitsKHR::eRemote | DeviceGroupPresentModeFlagBitsKHR::eSum |
  4056. DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice;
  4057. };
  4058. //=== VK_KHR_display ===
  4059. enum class DisplayPlaneAlphaFlagBitsKHR : VkDisplayPlaneAlphaFlagsKHR
  4060. {
  4061. eOpaque = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,
  4062. eGlobal = VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,
  4063. ePerPixel = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,
  4064. ePerPixelPremultiplied = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
  4065. };
  4066. using DisplayPlaneAlphaFlagsKHR = Flags<DisplayPlaneAlphaFlagBitsKHR>;
  4067. template <>
  4068. struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR>
  4069. {
  4070. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4071. static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayPlaneAlphaFlagsKHR allFlags = DisplayPlaneAlphaFlagBitsKHR::eOpaque | DisplayPlaneAlphaFlagBitsKHR::eGlobal |
  4072. DisplayPlaneAlphaFlagBitsKHR::ePerPixel |
  4073. DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied;
  4074. };
  4075. enum class DisplayModeCreateFlagBitsKHR : VkDisplayModeCreateFlagsKHR
  4076. {
  4077. };
  4078. using DisplayModeCreateFlagsKHR = Flags<DisplayModeCreateFlagBitsKHR>;
  4079. template <>
  4080. struct FlagTraits<DisplayModeCreateFlagBitsKHR>
  4081. {
  4082. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4083. static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayModeCreateFlagsKHR allFlags = {};
  4084. };
  4085. enum class DisplaySurfaceCreateFlagBitsKHR : VkDisplaySurfaceCreateFlagsKHR
  4086. {
  4087. };
  4088. using DisplaySurfaceCreateFlagsKHR = Flags<DisplaySurfaceCreateFlagBitsKHR>;
  4089. template <>
  4090. struct FlagTraits<DisplaySurfaceCreateFlagBitsKHR>
  4091. {
  4092. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4093. static VULKAN_HPP_CONST_OR_CONSTEXPR DisplaySurfaceCreateFlagsKHR allFlags = {};
  4094. };
  4095. #if defined( VK_USE_PLATFORM_XLIB_KHR )
  4096. //=== VK_KHR_xlib_surface ===
  4097. enum class XlibSurfaceCreateFlagBitsKHR : VkXlibSurfaceCreateFlagsKHR
  4098. {
  4099. };
  4100. using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR>;
  4101. template <>
  4102. struct FlagTraits<XlibSurfaceCreateFlagBitsKHR>
  4103. {
  4104. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4105. static VULKAN_HPP_CONST_OR_CONSTEXPR XlibSurfaceCreateFlagsKHR allFlags = {};
  4106. };
  4107. #endif /*VK_USE_PLATFORM_XLIB_KHR*/
  4108. #if defined( VK_USE_PLATFORM_XCB_KHR )
  4109. //=== VK_KHR_xcb_surface ===
  4110. enum class XcbSurfaceCreateFlagBitsKHR : VkXcbSurfaceCreateFlagsKHR
  4111. {
  4112. };
  4113. using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR>;
  4114. template <>
  4115. struct FlagTraits<XcbSurfaceCreateFlagBitsKHR>
  4116. {
  4117. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4118. static VULKAN_HPP_CONST_OR_CONSTEXPR XcbSurfaceCreateFlagsKHR allFlags = {};
  4119. };
  4120. #endif /*VK_USE_PLATFORM_XCB_KHR*/
  4121. #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  4122. //=== VK_KHR_wayland_surface ===
  4123. enum class WaylandSurfaceCreateFlagBitsKHR : VkWaylandSurfaceCreateFlagsKHR
  4124. {
  4125. };
  4126. using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR>;
  4127. template <>
  4128. struct FlagTraits<WaylandSurfaceCreateFlagBitsKHR>
  4129. {
  4130. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4131. static VULKAN_HPP_CONST_OR_CONSTEXPR WaylandSurfaceCreateFlagsKHR allFlags = {};
  4132. };
  4133. #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  4134. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  4135. //=== VK_KHR_android_surface ===
  4136. enum class AndroidSurfaceCreateFlagBitsKHR : VkAndroidSurfaceCreateFlagsKHR
  4137. {
  4138. };
  4139. using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR>;
  4140. template <>
  4141. struct FlagTraits<AndroidSurfaceCreateFlagBitsKHR>
  4142. {
  4143. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4144. static VULKAN_HPP_CONST_OR_CONSTEXPR AndroidSurfaceCreateFlagsKHR allFlags = {};
  4145. };
  4146. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  4147. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  4148. //=== VK_KHR_win32_surface ===
  4149. enum class Win32SurfaceCreateFlagBitsKHR : VkWin32SurfaceCreateFlagsKHR
  4150. {
  4151. };
  4152. using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR>;
  4153. template <>
  4154. struct FlagTraits<Win32SurfaceCreateFlagBitsKHR>
  4155. {
  4156. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4157. static VULKAN_HPP_CONST_OR_CONSTEXPR Win32SurfaceCreateFlagsKHR allFlags = {};
  4158. };
  4159. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  4160. //=== VK_EXT_debug_report ===
  4161. enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT
  4162. {
  4163. eInformation = VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
  4164. eWarning = VK_DEBUG_REPORT_WARNING_BIT_EXT,
  4165. ePerformanceWarning = VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
  4166. eError = VK_DEBUG_REPORT_ERROR_BIT_EXT,
  4167. eDebug = VK_DEBUG_REPORT_DEBUG_BIT_EXT
  4168. };
  4169. using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>;
  4170. template <>
  4171. struct FlagTraits<DebugReportFlagBitsEXT>
  4172. {
  4173. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4174. static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportFlagsEXT allFlags = DebugReportFlagBitsEXT::eInformation | DebugReportFlagBitsEXT::eWarning |
  4175. DebugReportFlagBitsEXT::ePerformanceWarning | DebugReportFlagBitsEXT::eError |
  4176. DebugReportFlagBitsEXT::eDebug;
  4177. };
  4178. enum class DebugReportObjectTypeEXT
  4179. {
  4180. eUnknown = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
  4181. eInstance = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
  4182. ePhysicalDevice = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
  4183. eDevice = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
  4184. eQueue = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,
  4185. eSemaphore = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,
  4186. eCommandBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
  4187. eFence = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,
  4188. eDeviceMemory = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,
  4189. eBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
  4190. eImage = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
  4191. eEvent = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,
  4192. eQueryPool = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,
  4193. eBufferView = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,
  4194. eImageView = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,
  4195. eShaderModule = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
  4196. ePipelineCache = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,
  4197. ePipelineLayout = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,
  4198. eRenderPass = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,
  4199. ePipeline = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
  4200. eDescriptorSetLayout = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,
  4201. eSampler = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,
  4202. eDescriptorPool = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
  4203. eDescriptorSet = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,
  4204. eFramebuffer = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,
  4205. eCommandPool = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,
  4206. eSurfaceKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,
  4207. eSwapchainKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,
  4208. eDebugReportCallbackEXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
  4209. eDebugReport = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
  4210. eDisplayKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
  4211. eDisplayModeKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
  4212. eValidationCacheEXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
  4213. eValidationCache = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT,
  4214. eSamplerYcbcrConversion = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
  4215. eDescriptorUpdateTemplate = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
  4216. eCuModuleNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT,
  4217. eCuFunctionNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT,
  4218. eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,
  4219. eAccelerationStructureKHR = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
  4220. eSamplerYcbcrConversionKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT,
  4221. eAccelerationStructureNV = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
  4222. #if defined( VK_USE_PLATFORM_FUCHSIA )
  4223. eBufferCollectionFUCHSIA = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT
  4224. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  4225. };
  4226. //=== VK_AMD_rasterization_order ===
  4227. enum class RasterizationOrderAMD
  4228. {
  4229. eStrict = VK_RASTERIZATION_ORDER_STRICT_AMD,
  4230. eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD
  4231. };
  4232. //=== VK_KHR_video_queue ===
  4233. enum class VideoCodecOperationFlagBitsKHR : VkVideoCodecOperationFlagsKHR
  4234. {
  4235. eNone = VK_VIDEO_CODEC_OPERATION_NONE_KHR,
  4236. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4237. eEncodeH264EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT,
  4238. eEncodeH265EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT,
  4239. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4240. eDecodeH264 = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR,
  4241. eDecodeH265 = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
  4242. };
  4243. using VideoCodecOperationFlagsKHR = Flags<VideoCodecOperationFlagBitsKHR>;
  4244. template <>
  4245. struct FlagTraits<VideoCodecOperationFlagBitsKHR>
  4246. {
  4247. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4248. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodecOperationFlagsKHR allFlags =
  4249. VideoCodecOperationFlagBitsKHR::eNone
  4250. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4251. | VideoCodecOperationFlagBitsKHR::eEncodeH264EXT | VideoCodecOperationFlagBitsKHR::eEncodeH265EXT
  4252. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4253. | VideoCodecOperationFlagBitsKHR::eDecodeH264 | VideoCodecOperationFlagBitsKHR::eDecodeH265;
  4254. };
  4255. enum class VideoChromaSubsamplingFlagBitsKHR : VkVideoChromaSubsamplingFlagsKHR
  4256. {
  4257. eInvalid = VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR,
  4258. eMonochrome = VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR,
  4259. e420 = VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR,
  4260. e422 = VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR,
  4261. e444 = VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR
  4262. };
  4263. using VideoChromaSubsamplingFlagsKHR = Flags<VideoChromaSubsamplingFlagBitsKHR>;
  4264. template <>
  4265. struct FlagTraits<VideoChromaSubsamplingFlagBitsKHR>
  4266. {
  4267. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4268. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoChromaSubsamplingFlagsKHR allFlags =
  4269. VideoChromaSubsamplingFlagBitsKHR::eInvalid | VideoChromaSubsamplingFlagBitsKHR::eMonochrome | VideoChromaSubsamplingFlagBitsKHR::e420 |
  4270. VideoChromaSubsamplingFlagBitsKHR::e422 | VideoChromaSubsamplingFlagBitsKHR::e444;
  4271. };
  4272. enum class VideoComponentBitDepthFlagBitsKHR : VkVideoComponentBitDepthFlagsKHR
  4273. {
  4274. eInvalid = VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR,
  4275. e8 = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR,
  4276. e10 = VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR,
  4277. e12 = VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR
  4278. };
  4279. using VideoComponentBitDepthFlagsKHR = Flags<VideoComponentBitDepthFlagBitsKHR>;
  4280. template <>
  4281. struct FlagTraits<VideoComponentBitDepthFlagBitsKHR>
  4282. {
  4283. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4284. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoComponentBitDepthFlagsKHR allFlags =
  4285. VideoComponentBitDepthFlagBitsKHR::eInvalid | VideoComponentBitDepthFlagBitsKHR::e8 | VideoComponentBitDepthFlagBitsKHR::e10 |
  4286. VideoComponentBitDepthFlagBitsKHR::e12;
  4287. };
  4288. enum class VideoCapabilityFlagBitsKHR : VkVideoCapabilityFlagsKHR
  4289. {
  4290. eProtectedContent = VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR,
  4291. eSeparateReferenceImages = VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR
  4292. };
  4293. using VideoCapabilityFlagsKHR = Flags<VideoCapabilityFlagBitsKHR>;
  4294. template <>
  4295. struct FlagTraits<VideoCapabilityFlagBitsKHR>
  4296. {
  4297. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4298. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCapabilityFlagsKHR allFlags =
  4299. VideoCapabilityFlagBitsKHR::eProtectedContent | VideoCapabilityFlagBitsKHR::eSeparateReferenceImages;
  4300. };
  4301. enum class VideoSessionCreateFlagBitsKHR : VkVideoSessionCreateFlagsKHR
  4302. {
  4303. eProtectedContent = VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR,
  4304. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4305. eAllowEncodeParameterOptimizations = VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR
  4306. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4307. };
  4308. using VideoSessionCreateFlagsKHR = Flags<VideoSessionCreateFlagBitsKHR>;
  4309. template <>
  4310. struct FlagTraits<VideoSessionCreateFlagBitsKHR>
  4311. {
  4312. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4313. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionCreateFlagsKHR allFlags = VideoSessionCreateFlagBitsKHR::eProtectedContent
  4314. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4315. | VideoSessionCreateFlagBitsKHR::eAllowEncodeParameterOptimizations
  4316. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4317. ;
  4318. };
  4319. enum class VideoCodingControlFlagBitsKHR : VkVideoCodingControlFlagsKHR
  4320. {
  4321. eReset = VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR,
  4322. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4323. eEncodeRateControl = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR,
  4324. eEncodeQualityLevel = VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR
  4325. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4326. };
  4327. using VideoCodingControlFlagsKHR = Flags<VideoCodingControlFlagBitsKHR>;
  4328. template <>
  4329. struct FlagTraits<VideoCodingControlFlagBitsKHR>
  4330. {
  4331. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4332. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodingControlFlagsKHR allFlags = VideoCodingControlFlagBitsKHR::eReset
  4333. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4334. | VideoCodingControlFlagBitsKHR::eEncodeRateControl |
  4335. VideoCodingControlFlagBitsKHR::eEncodeQualityLevel
  4336. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4337. ;
  4338. };
  4339. enum class QueryResultStatusKHR
  4340. {
  4341. eError = VK_QUERY_RESULT_STATUS_ERROR_KHR,
  4342. eNotReady = VK_QUERY_RESULT_STATUS_NOT_READY_KHR,
  4343. eComplete = VK_QUERY_RESULT_STATUS_COMPLETE_KHR,
  4344. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4345. eInsufficientBitstreamBufferRange = VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR
  4346. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4347. };
  4348. enum class VideoSessionParametersCreateFlagBitsKHR : VkVideoSessionParametersCreateFlagsKHR
  4349. {
  4350. };
  4351. using VideoSessionParametersCreateFlagsKHR = Flags<VideoSessionParametersCreateFlagBitsKHR>;
  4352. template <>
  4353. struct FlagTraits<VideoSessionParametersCreateFlagBitsKHR>
  4354. {
  4355. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4356. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionParametersCreateFlagsKHR allFlags = {};
  4357. };
  4358. enum class VideoBeginCodingFlagBitsKHR : VkVideoBeginCodingFlagsKHR
  4359. {
  4360. };
  4361. using VideoBeginCodingFlagsKHR = Flags<VideoBeginCodingFlagBitsKHR>;
  4362. template <>
  4363. struct FlagTraits<VideoBeginCodingFlagBitsKHR>
  4364. {
  4365. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4366. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoBeginCodingFlagsKHR allFlags = {};
  4367. };
  4368. enum class VideoEndCodingFlagBitsKHR : VkVideoEndCodingFlagsKHR
  4369. {
  4370. };
  4371. using VideoEndCodingFlagsKHR = Flags<VideoEndCodingFlagBitsKHR>;
  4372. template <>
  4373. struct FlagTraits<VideoEndCodingFlagBitsKHR>
  4374. {
  4375. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4376. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEndCodingFlagsKHR allFlags = {};
  4377. };
  4378. //=== VK_KHR_video_decode_queue ===
  4379. enum class VideoDecodeCapabilityFlagBitsKHR : VkVideoDecodeCapabilityFlagsKHR
  4380. {
  4381. eDpbAndOutputCoincide = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR,
  4382. eDpbAndOutputDistinct = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR
  4383. };
  4384. using VideoDecodeCapabilityFlagsKHR = Flags<VideoDecodeCapabilityFlagBitsKHR>;
  4385. template <>
  4386. struct FlagTraits<VideoDecodeCapabilityFlagBitsKHR>
  4387. {
  4388. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4389. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeCapabilityFlagsKHR allFlags =
  4390. VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputCoincide | VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputDistinct;
  4391. };
  4392. enum class VideoDecodeUsageFlagBitsKHR : VkVideoDecodeUsageFlagsKHR
  4393. {
  4394. eDefault = VK_VIDEO_DECODE_USAGE_DEFAULT_KHR,
  4395. eTranscoding = VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR,
  4396. eOffline = VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR,
  4397. eStreaming = VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR
  4398. };
  4399. using VideoDecodeUsageFlagsKHR = Flags<VideoDecodeUsageFlagBitsKHR>;
  4400. template <>
  4401. struct FlagTraits<VideoDecodeUsageFlagBitsKHR>
  4402. {
  4403. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4404. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeUsageFlagsKHR allFlags = VideoDecodeUsageFlagBitsKHR::eDefault | VideoDecodeUsageFlagBitsKHR::eTranscoding |
  4405. VideoDecodeUsageFlagBitsKHR::eOffline | VideoDecodeUsageFlagBitsKHR::eStreaming;
  4406. };
  4407. enum class VideoDecodeFlagBitsKHR : VkVideoDecodeFlagsKHR
  4408. {
  4409. };
  4410. using VideoDecodeFlagsKHR = Flags<VideoDecodeFlagBitsKHR>;
  4411. template <>
  4412. struct FlagTraits<VideoDecodeFlagBitsKHR>
  4413. {
  4414. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4415. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeFlagsKHR allFlags = {};
  4416. };
  4417. //=== VK_EXT_transform_feedback ===
  4418. enum class PipelineRasterizationStateStreamCreateFlagBitsEXT : VkPipelineRasterizationStateStreamCreateFlagsEXT
  4419. {
  4420. };
  4421. using PipelineRasterizationStateStreamCreateFlagsEXT = Flags<PipelineRasterizationStateStreamCreateFlagBitsEXT>;
  4422. template <>
  4423. struct FlagTraits<PipelineRasterizationStateStreamCreateFlagBitsEXT>
  4424. {
  4425. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4426. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateStreamCreateFlagsEXT allFlags = {};
  4427. };
  4428. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4429. //=== VK_EXT_video_encode_h264 ===
  4430. enum class VideoEncodeH264CapabilityFlagBitsEXT : VkVideoEncodeH264CapabilityFlagsEXT
  4431. {
  4432. eHrdCompliance = VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT,
  4433. ePredictionWeightTableGenerated = VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_EXT,
  4434. eRowUnalignedSlice = VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT,
  4435. eDifferentSliceType = VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT,
  4436. eBFrameInL0List = VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_EXT,
  4437. eBFrameInL1List = VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT,
  4438. ePerPictureTypeMinMaxQp = VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_EXT,
  4439. ePerSliceConstantQp = VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_EXT,
  4440. eGeneratePrefixNalu = VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_EXT
  4441. };
  4442. using VideoEncodeH264CapabilityFlagsEXT = Flags<VideoEncodeH264CapabilityFlagBitsEXT>;
  4443. template <>
  4444. struct FlagTraits<VideoEncodeH264CapabilityFlagBitsEXT>
  4445. {
  4446. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4447. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT allFlags =
  4448. VideoEncodeH264CapabilityFlagBitsEXT::eHrdCompliance | VideoEncodeH264CapabilityFlagBitsEXT::ePredictionWeightTableGenerated |
  4449. VideoEncodeH264CapabilityFlagBitsEXT::eRowUnalignedSlice | VideoEncodeH264CapabilityFlagBitsEXT::eDifferentSliceType |
  4450. VideoEncodeH264CapabilityFlagBitsEXT::eBFrameInL0List | VideoEncodeH264CapabilityFlagBitsEXT::eBFrameInL1List |
  4451. VideoEncodeH264CapabilityFlagBitsEXT::ePerPictureTypeMinMaxQp | VideoEncodeH264CapabilityFlagBitsEXT::ePerSliceConstantQp |
  4452. VideoEncodeH264CapabilityFlagBitsEXT::eGeneratePrefixNalu;
  4453. };
  4454. enum class VideoEncodeH264StdFlagBitsEXT : VkVideoEncodeH264StdFlagsEXT
  4455. {
  4456. eSeparateColorPlaneFlagSet = VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_EXT,
  4457. eQpprimeYZeroTransformBypassFlagSet = VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_EXT,
  4458. eScalingMatrixPresentFlagSet = VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_EXT,
  4459. eChromaQpIndexOffset = VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_EXT,
  4460. eSecondChromaQpIndexOffset = VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_EXT,
  4461. ePicInitQpMinus26 = VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_EXT,
  4462. eWeightedPredFlagSet = VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_EXT,
  4463. eWeightedBipredIdcExplicit = VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_EXT,
  4464. eWeightedBipredIdcImplicit = VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_EXT,
  4465. eTransform8X8ModeFlagSet = VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_EXT,
  4466. eDirectSpatialMvPredFlagUnset = VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_EXT,
  4467. eEntropyCodingModeFlagUnset = VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_EXT,
  4468. eEntropyCodingModeFlagSet = VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_EXT,
  4469. eDirect8X8InferenceFlagUnset = VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_EXT,
  4470. eConstrainedIntraPredFlagSet = VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_EXT,
  4471. eDeblockingFilterDisabled = VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_EXT,
  4472. eDeblockingFilterEnabled = VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_EXT,
  4473. eDeblockingFilterPartial = VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_EXT,
  4474. eSliceQpDelta = VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_EXT,
  4475. eDifferentSliceQpDelta = VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_EXT
  4476. };
  4477. using VideoEncodeH264StdFlagsEXT = Flags<VideoEncodeH264StdFlagBitsEXT>;
  4478. template <>
  4479. struct FlagTraits<VideoEncodeH264StdFlagBitsEXT>
  4480. {
  4481. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4482. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264StdFlagsEXT allFlags =
  4483. VideoEncodeH264StdFlagBitsEXT::eSeparateColorPlaneFlagSet | VideoEncodeH264StdFlagBitsEXT::eQpprimeYZeroTransformBypassFlagSet |
  4484. VideoEncodeH264StdFlagBitsEXT::eScalingMatrixPresentFlagSet | VideoEncodeH264StdFlagBitsEXT::eChromaQpIndexOffset |
  4485. VideoEncodeH264StdFlagBitsEXT::eSecondChromaQpIndexOffset | VideoEncodeH264StdFlagBitsEXT::ePicInitQpMinus26 |
  4486. VideoEncodeH264StdFlagBitsEXT::eWeightedPredFlagSet | VideoEncodeH264StdFlagBitsEXT::eWeightedBipredIdcExplicit |
  4487. VideoEncodeH264StdFlagBitsEXT::eWeightedBipredIdcImplicit | VideoEncodeH264StdFlagBitsEXT::eTransform8X8ModeFlagSet |
  4488. VideoEncodeH264StdFlagBitsEXT::eDirectSpatialMvPredFlagUnset | VideoEncodeH264StdFlagBitsEXT::eEntropyCodingModeFlagUnset |
  4489. VideoEncodeH264StdFlagBitsEXT::eEntropyCodingModeFlagSet | VideoEncodeH264StdFlagBitsEXT::eDirect8X8InferenceFlagUnset |
  4490. VideoEncodeH264StdFlagBitsEXT::eConstrainedIntraPredFlagSet | VideoEncodeH264StdFlagBitsEXT::eDeblockingFilterDisabled |
  4491. VideoEncodeH264StdFlagBitsEXT::eDeblockingFilterEnabled | VideoEncodeH264StdFlagBitsEXT::eDeblockingFilterPartial |
  4492. VideoEncodeH264StdFlagBitsEXT::eSliceQpDelta | VideoEncodeH264StdFlagBitsEXT::eDifferentSliceQpDelta;
  4493. };
  4494. enum class VideoEncodeH264RateControlFlagBitsEXT : VkVideoEncodeH264RateControlFlagsEXT
  4495. {
  4496. eAttemptHrdCompliance = VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_EXT,
  4497. eRegularGop = VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_EXT,
  4498. eReferencePatternFlat = VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_EXT,
  4499. eReferencePatternDyadic = VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_EXT,
  4500. eTemporalLayerPatternDyadic = VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_EXT
  4501. };
  4502. using VideoEncodeH264RateControlFlagsEXT = Flags<VideoEncodeH264RateControlFlagBitsEXT>;
  4503. template <>
  4504. struct FlagTraits<VideoEncodeH264RateControlFlagBitsEXT>
  4505. {
  4506. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4507. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264RateControlFlagsEXT allFlags =
  4508. VideoEncodeH264RateControlFlagBitsEXT::eAttemptHrdCompliance | VideoEncodeH264RateControlFlagBitsEXT::eRegularGop |
  4509. VideoEncodeH264RateControlFlagBitsEXT::eReferencePatternFlat | VideoEncodeH264RateControlFlagBitsEXT::eReferencePatternDyadic |
  4510. VideoEncodeH264RateControlFlagBitsEXT::eTemporalLayerPatternDyadic;
  4511. };
  4512. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4513. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4514. //=== VK_EXT_video_encode_h265 ===
  4515. enum class VideoEncodeH265CapabilityFlagBitsEXT : VkVideoEncodeH265CapabilityFlagsEXT
  4516. {
  4517. eHrdCompliance = VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT,
  4518. ePredictionWeightTableGenerated = VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_EXT,
  4519. eRowUnalignedSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT,
  4520. eDifferentSliceSegmentType = VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_EXT,
  4521. eBFrameInL0List = VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_EXT,
  4522. eBFrameInL1List = VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT,
  4523. ePerPictureTypeMinMaxQp = VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_EXT,
  4524. ePerSliceSegmentConstantQp = VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_EXT,
  4525. eMultipleTilesPerSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_EXT,
  4526. eMultipleSliceSegmentsPerTile = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_EXT
  4527. };
  4528. using VideoEncodeH265CapabilityFlagsEXT = Flags<VideoEncodeH265CapabilityFlagBitsEXT>;
  4529. template <>
  4530. struct FlagTraits<VideoEncodeH265CapabilityFlagBitsEXT>
  4531. {
  4532. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4533. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT allFlags =
  4534. VideoEncodeH265CapabilityFlagBitsEXT::eHrdCompliance | VideoEncodeH265CapabilityFlagBitsEXT::ePredictionWeightTableGenerated |
  4535. VideoEncodeH265CapabilityFlagBitsEXT::eRowUnalignedSliceSegment | VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceSegmentType |
  4536. VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL0List | VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL1List |
  4537. VideoEncodeH265CapabilityFlagBitsEXT::ePerPictureTypeMinMaxQp | VideoEncodeH265CapabilityFlagBitsEXT::ePerSliceSegmentConstantQp |
  4538. VideoEncodeH265CapabilityFlagBitsEXT::eMultipleTilesPerSliceSegment | VideoEncodeH265CapabilityFlagBitsEXT::eMultipleSliceSegmentsPerTile;
  4539. };
  4540. enum class VideoEncodeH265StdFlagBitsEXT : VkVideoEncodeH265StdFlagsEXT
  4541. {
  4542. eSeparateColorPlaneFlagSet = VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_EXT,
  4543. eSampleAdaptiveOffsetEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_EXT,
  4544. eScalingListDataPresentFlagSet = VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_EXT,
  4545. ePcmEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_EXT,
  4546. eSpsTemporalMvpEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_EXT,
  4547. eInitQpMinus26 = VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_EXT,
  4548. eWeightedPredFlagSet = VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_EXT,
  4549. eWeightedBipredFlagSet = VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_EXT,
  4550. eLog2ParallelMergeLevelMinus2 = VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT,
  4551. eSignDataHidingEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_EXT,
  4552. eTransformSkipEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_EXT,
  4553. eTransformSkipEnabledFlagUnset = VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_EXT,
  4554. ePpsSliceChromaQpOffsetsPresentFlagSet = VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_EXT,
  4555. eTransquantBypassEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_EXT,
  4556. eConstrainedIntraPredFlagSet = VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_EXT,
  4557. eEntropyCodingSyncEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_EXT,
  4558. eDeblockingFilterOverrideEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_EXT,
  4559. eDependentSliceSegmentsEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_EXT,
  4560. eDependentSliceSegmentFlagSet = VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_EXT,
  4561. eSliceQpDelta = VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_EXT,
  4562. eDifferentSliceQpDelta = VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_EXT
  4563. };
  4564. using VideoEncodeH265StdFlagsEXT = Flags<VideoEncodeH265StdFlagBitsEXT>;
  4565. template <>
  4566. struct FlagTraits<VideoEncodeH265StdFlagBitsEXT>
  4567. {
  4568. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4569. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265StdFlagsEXT allFlags =
  4570. VideoEncodeH265StdFlagBitsEXT::eSeparateColorPlaneFlagSet | VideoEncodeH265StdFlagBitsEXT::eSampleAdaptiveOffsetEnabledFlagSet |
  4571. VideoEncodeH265StdFlagBitsEXT::eScalingListDataPresentFlagSet | VideoEncodeH265StdFlagBitsEXT::ePcmEnabledFlagSet |
  4572. VideoEncodeH265StdFlagBitsEXT::eSpsTemporalMvpEnabledFlagSet | VideoEncodeH265StdFlagBitsEXT::eInitQpMinus26 |
  4573. VideoEncodeH265StdFlagBitsEXT::eWeightedPredFlagSet | VideoEncodeH265StdFlagBitsEXT::eWeightedBipredFlagSet |
  4574. VideoEncodeH265StdFlagBitsEXT::eLog2ParallelMergeLevelMinus2 | VideoEncodeH265StdFlagBitsEXT::eSignDataHidingEnabledFlagSet |
  4575. VideoEncodeH265StdFlagBitsEXT::eTransformSkipEnabledFlagSet | VideoEncodeH265StdFlagBitsEXT::eTransformSkipEnabledFlagUnset |
  4576. VideoEncodeH265StdFlagBitsEXT::ePpsSliceChromaQpOffsetsPresentFlagSet | VideoEncodeH265StdFlagBitsEXT::eTransquantBypassEnabledFlagSet |
  4577. VideoEncodeH265StdFlagBitsEXT::eConstrainedIntraPredFlagSet | VideoEncodeH265StdFlagBitsEXT::eEntropyCodingSyncEnabledFlagSet |
  4578. VideoEncodeH265StdFlagBitsEXT::eDeblockingFilterOverrideEnabledFlagSet | VideoEncodeH265StdFlagBitsEXT::eDependentSliceSegmentsEnabledFlagSet |
  4579. VideoEncodeH265StdFlagBitsEXT::eDependentSliceSegmentFlagSet | VideoEncodeH265StdFlagBitsEXT::eSliceQpDelta |
  4580. VideoEncodeH265StdFlagBitsEXT::eDifferentSliceQpDelta;
  4581. };
  4582. enum class VideoEncodeH265CtbSizeFlagBitsEXT : VkVideoEncodeH265CtbSizeFlagsEXT
  4583. {
  4584. e16 = VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT,
  4585. e32 = VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT,
  4586. e64 = VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT
  4587. };
  4588. using VideoEncodeH265CtbSizeFlagsEXT = Flags<VideoEncodeH265CtbSizeFlagBitsEXT>;
  4589. template <>
  4590. struct FlagTraits<VideoEncodeH265CtbSizeFlagBitsEXT>
  4591. {
  4592. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4593. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CtbSizeFlagsEXT allFlags =
  4594. VideoEncodeH265CtbSizeFlagBitsEXT::e16 | VideoEncodeH265CtbSizeFlagBitsEXT::e32 | VideoEncodeH265CtbSizeFlagBitsEXT::e64;
  4595. };
  4596. enum class VideoEncodeH265TransformBlockSizeFlagBitsEXT : VkVideoEncodeH265TransformBlockSizeFlagsEXT
  4597. {
  4598. e4 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT,
  4599. e8 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT,
  4600. e16 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT,
  4601. e32 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT
  4602. };
  4603. using VideoEncodeH265TransformBlockSizeFlagsEXT = Flags<VideoEncodeH265TransformBlockSizeFlagBitsEXT>;
  4604. template <>
  4605. struct FlagTraits<VideoEncodeH265TransformBlockSizeFlagBitsEXT>
  4606. {
  4607. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4608. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsEXT allFlags =
  4609. VideoEncodeH265TransformBlockSizeFlagBitsEXT::e4 | VideoEncodeH265TransformBlockSizeFlagBitsEXT::e8 | VideoEncodeH265TransformBlockSizeFlagBitsEXT::e16 |
  4610. VideoEncodeH265TransformBlockSizeFlagBitsEXT::e32;
  4611. };
  4612. enum class VideoEncodeH265RateControlFlagBitsEXT : VkVideoEncodeH265RateControlFlagsEXT
  4613. {
  4614. eAttemptHrdCompliance = VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_EXT,
  4615. eRegularGop = VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_EXT,
  4616. eReferencePatternFlat = VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_EXT,
  4617. eReferencePatternDyadic = VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_EXT,
  4618. eTemporalSubLayerPatternDyadic = VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_EXT
  4619. };
  4620. using VideoEncodeH265RateControlFlagsEXT = Flags<VideoEncodeH265RateControlFlagBitsEXT>;
  4621. template <>
  4622. struct FlagTraits<VideoEncodeH265RateControlFlagBitsEXT>
  4623. {
  4624. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4625. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265RateControlFlagsEXT allFlags =
  4626. VideoEncodeH265RateControlFlagBitsEXT::eAttemptHrdCompliance | VideoEncodeH265RateControlFlagBitsEXT::eRegularGop |
  4627. VideoEncodeH265RateControlFlagBitsEXT::eReferencePatternFlat | VideoEncodeH265RateControlFlagBitsEXT::eReferencePatternDyadic |
  4628. VideoEncodeH265RateControlFlagBitsEXT::eTemporalSubLayerPatternDyadic;
  4629. };
  4630. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4631. //=== VK_KHR_video_decode_h264 ===
  4632. enum class VideoDecodeH264PictureLayoutFlagBitsKHR : VkVideoDecodeH264PictureLayoutFlagsKHR
  4633. {
  4634. eProgressive = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR,
  4635. eInterlacedInterleavedLines = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR,
  4636. eInterlacedSeparatePlanes = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR
  4637. };
  4638. using VideoDecodeH264PictureLayoutFlagsKHR = Flags<VideoDecodeH264PictureLayoutFlagBitsKHR>;
  4639. template <>
  4640. struct FlagTraits<VideoDecodeH264PictureLayoutFlagBitsKHR>
  4641. {
  4642. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4643. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeH264PictureLayoutFlagsKHR allFlags = VideoDecodeH264PictureLayoutFlagBitsKHR::eProgressive |
  4644. VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedInterleavedLines |
  4645. VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedSeparatePlanes;
  4646. };
  4647. //=== VK_AMD_shader_info ===
  4648. enum class ShaderInfoTypeAMD
  4649. {
  4650. eStatistics = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
  4651. eBinary = VK_SHADER_INFO_TYPE_BINARY_AMD,
  4652. eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
  4653. };
  4654. #if defined( VK_USE_PLATFORM_GGP )
  4655. //=== VK_GGP_stream_descriptor_surface ===
  4656. enum class StreamDescriptorSurfaceCreateFlagBitsGGP : VkStreamDescriptorSurfaceCreateFlagsGGP
  4657. {
  4658. };
  4659. using StreamDescriptorSurfaceCreateFlagsGGP = Flags<StreamDescriptorSurfaceCreateFlagBitsGGP>;
  4660. template <>
  4661. struct FlagTraits<StreamDescriptorSurfaceCreateFlagBitsGGP>
  4662. {
  4663. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4664. static VULKAN_HPP_CONST_OR_CONSTEXPR StreamDescriptorSurfaceCreateFlagsGGP allFlags = {};
  4665. };
  4666. #endif /*VK_USE_PLATFORM_GGP*/
  4667. //=== VK_NV_external_memory_capabilities ===
  4668. enum class ExternalMemoryHandleTypeFlagBitsNV : VkExternalMemoryHandleTypeFlagsNV
  4669. {
  4670. eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,
  4671. eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,
  4672. eD3D11Image = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,
  4673. eD3D11ImageKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
  4674. };
  4675. using ExternalMemoryHandleTypeFlagsNV = Flags<ExternalMemoryHandleTypeFlagBitsNV>;
  4676. template <>
  4677. struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV>
  4678. {
  4679. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4680. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlagsNV allFlags =
  4681. ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt | ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image |
  4682. ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt;
  4683. };
  4684. enum class ExternalMemoryFeatureFlagBitsNV : VkExternalMemoryFeatureFlagsNV
  4685. {
  4686. eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,
  4687. eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,
  4688. eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
  4689. };
  4690. using ExternalMemoryFeatureFlagsNV = Flags<ExternalMemoryFeatureFlagBitsNV>;
  4691. template <>
  4692. struct FlagTraits<ExternalMemoryFeatureFlagBitsNV>
  4693. {
  4694. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4695. static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlagsNV allFlags =
  4696. ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly | ExternalMemoryFeatureFlagBitsNV::eExportable | ExternalMemoryFeatureFlagBitsNV::eImportable;
  4697. };
  4698. //=== VK_EXT_validation_flags ===
  4699. enum class ValidationCheckEXT
  4700. {
  4701. eAll = VK_VALIDATION_CHECK_ALL_EXT,
  4702. eShaders = VK_VALIDATION_CHECK_SHADERS_EXT
  4703. };
  4704. #if defined( VK_USE_PLATFORM_VI_NN )
  4705. //=== VK_NN_vi_surface ===
  4706. enum class ViSurfaceCreateFlagBitsNN : VkViSurfaceCreateFlagsNN
  4707. {
  4708. };
  4709. using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN>;
  4710. template <>
  4711. struct FlagTraits<ViSurfaceCreateFlagBitsNN>
  4712. {
  4713. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4714. static VULKAN_HPP_CONST_OR_CONSTEXPR ViSurfaceCreateFlagsNN allFlags = {};
  4715. };
  4716. #endif /*VK_USE_PLATFORM_VI_NN*/
  4717. //=== VK_EXT_pipeline_robustness ===
  4718. enum class PipelineRobustnessBufferBehaviorEXT
  4719. {
  4720. eDeviceDefault = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT,
  4721. eDisabled = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT,
  4722. eRobustBufferAccess = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT,
  4723. eRobustBufferAccess2 = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT
  4724. };
  4725. enum class PipelineRobustnessImageBehaviorEXT
  4726. {
  4727. eDeviceDefault = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT,
  4728. eDisabled = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT,
  4729. eRobustImageAccess = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT,
  4730. eRobustImageAccess2 = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT
  4731. };
  4732. //=== VK_EXT_conditional_rendering ===
  4733. enum class ConditionalRenderingFlagBitsEXT : VkConditionalRenderingFlagsEXT
  4734. {
  4735. eInverted = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
  4736. };
  4737. using ConditionalRenderingFlagsEXT = Flags<ConditionalRenderingFlagBitsEXT>;
  4738. template <>
  4739. struct FlagTraits<ConditionalRenderingFlagBitsEXT>
  4740. {
  4741. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4742. static VULKAN_HPP_CONST_OR_CONSTEXPR ConditionalRenderingFlagsEXT allFlags = ConditionalRenderingFlagBitsEXT::eInverted;
  4743. };
  4744. //=== VK_EXT_display_surface_counter ===
  4745. enum class SurfaceCounterFlagBitsEXT : VkSurfaceCounterFlagsEXT
  4746. {
  4747. eVblank = VK_SURFACE_COUNTER_VBLANK_BIT_EXT
  4748. };
  4749. using SurfaceCounterFlagsEXT = Flags<SurfaceCounterFlagBitsEXT>;
  4750. template <>
  4751. struct FlagTraits<SurfaceCounterFlagBitsEXT>
  4752. {
  4753. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4754. static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceCounterFlagsEXT allFlags = SurfaceCounterFlagBitsEXT::eVblank;
  4755. };
  4756. //=== VK_EXT_display_control ===
  4757. enum class DisplayPowerStateEXT
  4758. {
  4759. eOff = VK_DISPLAY_POWER_STATE_OFF_EXT,
  4760. eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT,
  4761. eOn = VK_DISPLAY_POWER_STATE_ON_EXT
  4762. };
  4763. enum class DeviceEventTypeEXT
  4764. {
  4765. eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT
  4766. };
  4767. enum class DisplayEventTypeEXT
  4768. {
  4769. eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT
  4770. };
  4771. //=== VK_NV_viewport_swizzle ===
  4772. enum class ViewportCoordinateSwizzleNV
  4773. {
  4774. ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
  4775. eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
  4776. ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
  4777. eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
  4778. ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
  4779. eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
  4780. ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
  4781. eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
  4782. };
  4783. enum class PipelineViewportSwizzleStateCreateFlagBitsNV : VkPipelineViewportSwizzleStateCreateFlagsNV
  4784. {
  4785. };
  4786. using PipelineViewportSwizzleStateCreateFlagsNV = Flags<PipelineViewportSwizzleStateCreateFlagBitsNV>;
  4787. template <>
  4788. struct FlagTraits<PipelineViewportSwizzleStateCreateFlagBitsNV>
  4789. {
  4790. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4791. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportSwizzleStateCreateFlagsNV allFlags = {};
  4792. };
  4793. //=== VK_EXT_discard_rectangles ===
  4794. enum class DiscardRectangleModeEXT
  4795. {
  4796. eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
  4797. eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT
  4798. };
  4799. enum class PipelineDiscardRectangleStateCreateFlagBitsEXT : VkPipelineDiscardRectangleStateCreateFlagsEXT
  4800. {
  4801. };
  4802. using PipelineDiscardRectangleStateCreateFlagsEXT = Flags<PipelineDiscardRectangleStateCreateFlagBitsEXT>;
  4803. template <>
  4804. struct FlagTraits<PipelineDiscardRectangleStateCreateFlagBitsEXT>
  4805. {
  4806. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4807. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDiscardRectangleStateCreateFlagsEXT allFlags = {};
  4808. };
  4809. //=== VK_EXT_conservative_rasterization ===
  4810. enum class ConservativeRasterizationModeEXT
  4811. {
  4812. eDisabled = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
  4813. eOverestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,
  4814. eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
  4815. };
  4816. enum class PipelineRasterizationConservativeStateCreateFlagBitsEXT : VkPipelineRasterizationConservativeStateCreateFlagsEXT
  4817. {
  4818. };
  4819. using PipelineRasterizationConservativeStateCreateFlagsEXT = Flags<PipelineRasterizationConservativeStateCreateFlagBitsEXT>;
  4820. template <>
  4821. struct FlagTraits<PipelineRasterizationConservativeStateCreateFlagBitsEXT>
  4822. {
  4823. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4824. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationConservativeStateCreateFlagsEXT allFlags = {};
  4825. };
  4826. //=== VK_EXT_depth_clip_enable ===
  4827. enum class PipelineRasterizationDepthClipStateCreateFlagBitsEXT : VkPipelineRasterizationDepthClipStateCreateFlagsEXT
  4828. {
  4829. };
  4830. using PipelineRasterizationDepthClipStateCreateFlagsEXT = Flags<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>;
  4831. template <>
  4832. struct FlagTraits<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>
  4833. {
  4834. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4835. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationDepthClipStateCreateFlagsEXT allFlags = {};
  4836. };
  4837. //=== VK_KHR_performance_query ===
  4838. enum class PerformanceCounterDescriptionFlagBitsKHR : VkPerformanceCounterDescriptionFlagsKHR
  4839. {
  4840. ePerformanceImpacting = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
  4841. eConcurrentlyImpacted = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
  4842. };
  4843. using PerformanceCounterDescriptionFlagsKHR = Flags<PerformanceCounterDescriptionFlagBitsKHR>;
  4844. template <>
  4845. struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR>
  4846. {
  4847. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4848. static VULKAN_HPP_CONST_OR_CONSTEXPR PerformanceCounterDescriptionFlagsKHR allFlags =
  4849. PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting | PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted;
  4850. };
  4851. enum class PerformanceCounterScopeKHR
  4852. {
  4853. eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
  4854. eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
  4855. eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
  4856. eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
  4857. eVkQueryScopeRenderPass = VK_QUERY_SCOPE_RENDER_PASS_KHR,
  4858. eVkQueryScopeCommand = VK_QUERY_SCOPE_COMMAND_KHR
  4859. };
  4860. enum class PerformanceCounterStorageKHR
  4861. {
  4862. eInt32 = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
  4863. eInt64 = VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR,
  4864. eUint32 = VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR,
  4865. eUint64 = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR,
  4866. eFloat32 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR,
  4867. eFloat64 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR
  4868. };
  4869. enum class PerformanceCounterUnitKHR
  4870. {
  4871. eGeneric = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
  4872. ePercentage = VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR,
  4873. eNanoseconds = VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR,
  4874. eBytes = VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR,
  4875. eBytesPerSecond = VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR,
  4876. eKelvin = VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR,
  4877. eWatts = VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR,
  4878. eVolts = VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR,
  4879. eAmps = VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR,
  4880. eHertz = VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR,
  4881. eCycles = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR
  4882. };
  4883. enum class AcquireProfilingLockFlagBitsKHR : VkAcquireProfilingLockFlagsKHR
  4884. {
  4885. };
  4886. using AcquireProfilingLockFlagsKHR = Flags<AcquireProfilingLockFlagBitsKHR>;
  4887. template <>
  4888. struct FlagTraits<AcquireProfilingLockFlagBitsKHR>
  4889. {
  4890. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4891. static VULKAN_HPP_CONST_OR_CONSTEXPR AcquireProfilingLockFlagsKHR allFlags = {};
  4892. };
  4893. #if defined( VK_USE_PLATFORM_IOS_MVK )
  4894. //=== VK_MVK_ios_surface ===
  4895. enum class IOSSurfaceCreateFlagBitsMVK : VkIOSSurfaceCreateFlagsMVK
  4896. {
  4897. };
  4898. using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK>;
  4899. template <>
  4900. struct FlagTraits<IOSSurfaceCreateFlagBitsMVK>
  4901. {
  4902. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4903. static VULKAN_HPP_CONST_OR_CONSTEXPR IOSSurfaceCreateFlagsMVK allFlags = {};
  4904. };
  4905. #endif /*VK_USE_PLATFORM_IOS_MVK*/
  4906. #if defined( VK_USE_PLATFORM_MACOS_MVK )
  4907. //=== VK_MVK_macos_surface ===
  4908. enum class MacOSSurfaceCreateFlagBitsMVK : VkMacOSSurfaceCreateFlagsMVK
  4909. {
  4910. };
  4911. using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK>;
  4912. template <>
  4913. struct FlagTraits<MacOSSurfaceCreateFlagBitsMVK>
  4914. {
  4915. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4916. static VULKAN_HPP_CONST_OR_CONSTEXPR MacOSSurfaceCreateFlagsMVK allFlags = {};
  4917. };
  4918. #endif /*VK_USE_PLATFORM_MACOS_MVK*/
  4919. //=== VK_EXT_debug_utils ===
  4920. enum class DebugUtilsMessageSeverityFlagBitsEXT : VkDebugUtilsMessageSeverityFlagsEXT
  4921. {
  4922. eVerbose = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,
  4923. eInfo = VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,
  4924. eWarning = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,
  4925. eError = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
  4926. };
  4927. using DebugUtilsMessageSeverityFlagsEXT = Flags<DebugUtilsMessageSeverityFlagBitsEXT>;
  4928. template <>
  4929. struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT>
  4930. {
  4931. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4932. static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT allFlags =
  4933. DebugUtilsMessageSeverityFlagBitsEXT::eVerbose | DebugUtilsMessageSeverityFlagBitsEXT::eInfo | DebugUtilsMessageSeverityFlagBitsEXT::eWarning |
  4934. DebugUtilsMessageSeverityFlagBitsEXT::eError;
  4935. };
  4936. enum class DebugUtilsMessageTypeFlagBitsEXT : VkDebugUtilsMessageTypeFlagsEXT
  4937. {
  4938. eGeneral = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,
  4939. eValidation = VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
  4940. ePerformance = VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT,
  4941. eDeviceAddressBinding = VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT
  4942. };
  4943. using DebugUtilsMessageTypeFlagsEXT = Flags<DebugUtilsMessageTypeFlagBitsEXT>;
  4944. template <>
  4945. struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT>
  4946. {
  4947. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4948. static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageTypeFlagsEXT allFlags =
  4949. DebugUtilsMessageTypeFlagBitsEXT::eGeneral | DebugUtilsMessageTypeFlagBitsEXT::eValidation | DebugUtilsMessageTypeFlagBitsEXT::ePerformance |
  4950. DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding;
  4951. };
  4952. enum class DebugUtilsMessengerCallbackDataFlagBitsEXT : VkDebugUtilsMessengerCallbackDataFlagsEXT
  4953. {
  4954. };
  4955. using DebugUtilsMessengerCallbackDataFlagsEXT = Flags<DebugUtilsMessengerCallbackDataFlagBitsEXT>;
  4956. template <>
  4957. struct FlagTraits<DebugUtilsMessengerCallbackDataFlagBitsEXT>
  4958. {
  4959. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4960. static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCallbackDataFlagsEXT allFlags = {};
  4961. };
  4962. enum class DebugUtilsMessengerCreateFlagBitsEXT : VkDebugUtilsMessengerCreateFlagsEXT
  4963. {
  4964. };
  4965. using DebugUtilsMessengerCreateFlagsEXT = Flags<DebugUtilsMessengerCreateFlagBitsEXT>;
  4966. template <>
  4967. struct FlagTraits<DebugUtilsMessengerCreateFlagBitsEXT>
  4968. {
  4969. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4970. static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCreateFlagsEXT allFlags = {};
  4971. };
  4972. //=== VK_EXT_blend_operation_advanced ===
  4973. enum class BlendOverlapEXT
  4974. {
  4975. eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
  4976. eDisjoint = VK_BLEND_OVERLAP_DISJOINT_EXT,
  4977. eConjoint = VK_BLEND_OVERLAP_CONJOINT_EXT
  4978. };
  4979. //=== VK_NV_fragment_coverage_to_color ===
  4980. enum class PipelineCoverageToColorStateCreateFlagBitsNV : VkPipelineCoverageToColorStateCreateFlagsNV
  4981. {
  4982. };
  4983. using PipelineCoverageToColorStateCreateFlagsNV = Flags<PipelineCoverageToColorStateCreateFlagBitsNV>;
  4984. template <>
  4985. struct FlagTraits<PipelineCoverageToColorStateCreateFlagBitsNV>
  4986. {
  4987. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  4988. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageToColorStateCreateFlagsNV allFlags = {};
  4989. };
  4990. //=== VK_KHR_acceleration_structure ===
  4991. enum class AccelerationStructureTypeKHR
  4992. {
  4993. eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
  4994. eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
  4995. eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
  4996. };
  4997. using AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
  4998. enum class AccelerationStructureBuildTypeKHR
  4999. {
  5000. eHost = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
  5001. eDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR,
  5002. eHostOrDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
  5003. };
  5004. enum class GeometryFlagBitsKHR : VkGeometryFlagsKHR
  5005. {
  5006. eOpaque = VK_GEOMETRY_OPAQUE_BIT_KHR,
  5007. eNoDuplicateAnyHitInvocation = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
  5008. };
  5009. using GeometryFlagBitsNV = GeometryFlagBitsKHR;
  5010. using GeometryFlagsKHR = Flags<GeometryFlagBitsKHR>;
  5011. using GeometryFlagsNV = GeometryFlagsKHR;
  5012. template <>
  5013. struct FlagTraits<GeometryFlagBitsKHR>
  5014. {
  5015. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5016. static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryFlagsKHR allFlags = GeometryFlagBitsKHR::eOpaque | GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation;
  5017. };
  5018. enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR
  5019. {
  5020. eTriangleFacingCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
  5021. eTriangleFlipFacing = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
  5022. eForceOpaque = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
  5023. eForceNoOpaque = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
  5024. eTriangleFrontCounterclockwiseKHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
  5025. eTriangleCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV,
  5026. eTriangleFrontCounterclockwise = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV,
  5027. eForceOpacityMicromap2StateEXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT,
  5028. eDisableOpacityMicromapsEXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT
  5029. };
  5030. using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
  5031. using GeometryInstanceFlagsKHR = Flags<GeometryInstanceFlagBitsKHR>;
  5032. using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
  5033. template <>
  5034. struct FlagTraits<GeometryInstanceFlagBitsKHR>
  5035. {
  5036. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5037. static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryInstanceFlagsKHR allFlags =
  5038. GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable | GeometryInstanceFlagBitsKHR::eTriangleFlipFacing | GeometryInstanceFlagBitsKHR::eForceOpaque |
  5039. GeometryInstanceFlagBitsKHR::eForceNoOpaque | GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT |
  5040. GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT;
  5041. };
  5042. enum class BuildAccelerationStructureFlagBitsKHR : VkBuildAccelerationStructureFlagsKHR
  5043. {
  5044. eAllowUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
  5045. eAllowCompaction = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
  5046. ePreferFastTrace = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
  5047. ePreferFastBuild = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
  5048. eLowMemory = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
  5049. eMotionNV = VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV,
  5050. eAllowOpacityMicromapUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT,
  5051. eAllowDisableOpacityMicromapsEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT,
  5052. eAllowOpacityMicromapDataUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT,
  5053. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  5054. eAllowDisplacementMicromapUpdateNV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV,
  5055. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5056. eAllowDataAccess = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR
  5057. };
  5058. using BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR;
  5059. using BuildAccelerationStructureFlagsKHR = Flags<BuildAccelerationStructureFlagBitsKHR>;
  5060. using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
  5061. template <>
  5062. struct FlagTraits<BuildAccelerationStructureFlagBitsKHR>
  5063. {
  5064. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5065. static VULKAN_HPP_CONST_OR_CONSTEXPR BuildAccelerationStructureFlagsKHR allFlags =
  5066. BuildAccelerationStructureFlagBitsKHR::eAllowUpdate | BuildAccelerationStructureFlagBitsKHR::eAllowCompaction |
  5067. BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace | BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild |
  5068. BuildAccelerationStructureFlagBitsKHR::eLowMemory | BuildAccelerationStructureFlagBitsKHR::eMotionNV |
  5069. BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT | BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT |
  5070. BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT
  5071. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  5072. | BuildAccelerationStructureFlagBitsKHR::eAllowDisplacementMicromapUpdateNV
  5073. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5074. | BuildAccelerationStructureFlagBitsKHR::eAllowDataAccess;
  5075. };
  5076. enum class CopyAccelerationStructureModeKHR
  5077. {
  5078. eClone = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
  5079. eCompact = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
  5080. eSerialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR,
  5081. eDeserialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR
  5082. };
  5083. using CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
  5084. enum class GeometryTypeKHR
  5085. {
  5086. eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
  5087. eAabbs = VK_GEOMETRY_TYPE_AABBS_KHR,
  5088. eInstances = VK_GEOMETRY_TYPE_INSTANCES_KHR
  5089. };
  5090. using GeometryTypeNV = GeometryTypeKHR;
  5091. enum class AccelerationStructureCompatibilityKHR
  5092. {
  5093. eCompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR,
  5094. eIncompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR
  5095. };
  5096. enum class AccelerationStructureCreateFlagBitsKHR : VkAccelerationStructureCreateFlagsKHR
  5097. {
  5098. eDeviceAddressCaptureReplay = VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
  5099. eDescriptorBufferCaptureReplayEXT = VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
  5100. eMotionNV = VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
  5101. };
  5102. using AccelerationStructureCreateFlagsKHR = Flags<AccelerationStructureCreateFlagBitsKHR>;
  5103. template <>
  5104. struct FlagTraits<AccelerationStructureCreateFlagBitsKHR>
  5105. {
  5106. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5107. static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureCreateFlagsKHR allFlags =
  5108. AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay | AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT |
  5109. AccelerationStructureCreateFlagBitsKHR::eMotionNV;
  5110. };
  5111. enum class BuildAccelerationStructureModeKHR
  5112. {
  5113. eBuild = VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR,
  5114. eUpdate = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
  5115. };
  5116. //=== VK_KHR_ray_tracing_pipeline ===
  5117. enum class RayTracingShaderGroupTypeKHR
  5118. {
  5119. eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
  5120. eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
  5121. eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
  5122. };
  5123. using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
  5124. enum class ShaderGroupShaderKHR
  5125. {
  5126. eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
  5127. eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR,
  5128. eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR,
  5129. eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR
  5130. };
  5131. //=== VK_NV_framebuffer_mixed_samples ===
  5132. enum class CoverageModulationModeNV
  5133. {
  5134. eNone = VK_COVERAGE_MODULATION_MODE_NONE_NV,
  5135. eRgb = VK_COVERAGE_MODULATION_MODE_RGB_NV,
  5136. eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV,
  5137. eRgba = VK_COVERAGE_MODULATION_MODE_RGBA_NV
  5138. };
  5139. enum class PipelineCoverageModulationStateCreateFlagBitsNV : VkPipelineCoverageModulationStateCreateFlagsNV
  5140. {
  5141. };
  5142. using PipelineCoverageModulationStateCreateFlagsNV = Flags<PipelineCoverageModulationStateCreateFlagBitsNV>;
  5143. template <>
  5144. struct FlagTraits<PipelineCoverageModulationStateCreateFlagBitsNV>
  5145. {
  5146. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5147. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageModulationStateCreateFlagsNV allFlags = {};
  5148. };
  5149. //=== VK_EXT_validation_cache ===
  5150. enum class ValidationCacheHeaderVersionEXT
  5151. {
  5152. eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
  5153. };
  5154. enum class ValidationCacheCreateFlagBitsEXT : VkValidationCacheCreateFlagsEXT
  5155. {
  5156. };
  5157. using ValidationCacheCreateFlagsEXT = Flags<ValidationCacheCreateFlagBitsEXT>;
  5158. template <>
  5159. struct FlagTraits<ValidationCacheCreateFlagBitsEXT>
  5160. {
  5161. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5162. static VULKAN_HPP_CONST_OR_CONSTEXPR ValidationCacheCreateFlagsEXT allFlags = {};
  5163. };
  5164. //=== VK_NV_shading_rate_image ===
  5165. enum class ShadingRatePaletteEntryNV
  5166. {
  5167. eNoInvocations = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
  5168. e16InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV,
  5169. e8InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV,
  5170. e4InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV,
  5171. e2InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV,
  5172. e1InvocationPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV,
  5173. e1InvocationPer2X1Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV,
  5174. e1InvocationPer1X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV,
  5175. e1InvocationPer2X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV,
  5176. e1InvocationPer4X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV,
  5177. e1InvocationPer2X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV,
  5178. e1InvocationPer4X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
  5179. };
  5180. enum class CoarseSampleOrderTypeNV
  5181. {
  5182. eDefault = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
  5183. eCustom = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV,
  5184. ePixelMajor = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV,
  5185. eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
  5186. };
  5187. //=== VK_NV_ray_tracing ===
  5188. enum class AccelerationStructureMemoryRequirementsTypeNV
  5189. {
  5190. eObject = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
  5191. eBuildScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV,
  5192. eUpdateScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
  5193. };
  5194. //=== VK_AMD_pipeline_compiler_control ===
  5195. enum class PipelineCompilerControlFlagBitsAMD : VkPipelineCompilerControlFlagsAMD
  5196. {
  5197. };
  5198. using PipelineCompilerControlFlagsAMD = Flags<PipelineCompilerControlFlagBitsAMD>;
  5199. template <>
  5200. struct FlagTraits<PipelineCompilerControlFlagBitsAMD>
  5201. {
  5202. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5203. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCompilerControlFlagsAMD allFlags = {};
  5204. };
  5205. //=== VK_EXT_calibrated_timestamps ===
  5206. enum class TimeDomainEXT
  5207. {
  5208. eDevice = VK_TIME_DOMAIN_DEVICE_EXT,
  5209. eClockMonotonic = VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT,
  5210. eClockMonotonicRaw = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT,
  5211. eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT
  5212. };
  5213. //=== VK_KHR_global_priority ===
  5214. enum class QueueGlobalPriorityKHR
  5215. {
  5216. eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
  5217. eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
  5218. eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
  5219. eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
  5220. };
  5221. using QueueGlobalPriorityEXT = QueueGlobalPriorityKHR;
  5222. //=== VK_AMD_memory_overallocation_behavior ===
  5223. enum class MemoryOverallocationBehaviorAMD
  5224. {
  5225. eDefault = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
  5226. eAllowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD,
  5227. eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD
  5228. };
  5229. //=== VK_INTEL_performance_query ===
  5230. enum class PerformanceConfigurationTypeINTEL
  5231. {
  5232. eCommandQueueMetricsDiscoveryActivated = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
  5233. };
  5234. enum class QueryPoolSamplingModeINTEL
  5235. {
  5236. eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL
  5237. };
  5238. enum class PerformanceOverrideTypeINTEL
  5239. {
  5240. eNullHardware = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
  5241. eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL
  5242. };
  5243. enum class PerformanceParameterTypeINTEL
  5244. {
  5245. eHwCountersSupported = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
  5246. eStreamMarkerValidBits = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
  5247. };
  5248. enum class PerformanceValueTypeINTEL
  5249. {
  5250. eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
  5251. eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL,
  5252. eFloat = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL,
  5253. eBool = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL,
  5254. eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
  5255. };
  5256. #if defined( VK_USE_PLATFORM_FUCHSIA )
  5257. //=== VK_FUCHSIA_imagepipe_surface ===
  5258. enum class ImagePipeSurfaceCreateFlagBitsFUCHSIA : VkImagePipeSurfaceCreateFlagsFUCHSIA
  5259. {
  5260. };
  5261. using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags<ImagePipeSurfaceCreateFlagBitsFUCHSIA>;
  5262. template <>
  5263. struct FlagTraits<ImagePipeSurfaceCreateFlagBitsFUCHSIA>
  5264. {
  5265. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5266. static VULKAN_HPP_CONST_OR_CONSTEXPR ImagePipeSurfaceCreateFlagsFUCHSIA allFlags = {};
  5267. };
  5268. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  5269. #if defined( VK_USE_PLATFORM_METAL_EXT )
  5270. //=== VK_EXT_metal_surface ===
  5271. enum class MetalSurfaceCreateFlagBitsEXT : VkMetalSurfaceCreateFlagsEXT
  5272. {
  5273. };
  5274. using MetalSurfaceCreateFlagsEXT = Flags<MetalSurfaceCreateFlagBitsEXT>;
  5275. template <>
  5276. struct FlagTraits<MetalSurfaceCreateFlagBitsEXT>
  5277. {
  5278. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5279. static VULKAN_HPP_CONST_OR_CONSTEXPR MetalSurfaceCreateFlagsEXT allFlags = {};
  5280. };
  5281. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  5282. //=== VK_KHR_fragment_shading_rate ===
  5283. enum class FragmentShadingRateCombinerOpKHR
  5284. {
  5285. eKeep = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR,
  5286. eReplace = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR,
  5287. eMin = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR,
  5288. eMax = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR,
  5289. eMul = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR
  5290. };
  5291. //=== VK_AMD_shader_core_properties2 ===
  5292. enum class ShaderCorePropertiesFlagBitsAMD : VkShaderCorePropertiesFlagsAMD
  5293. {
  5294. };
  5295. using ShaderCorePropertiesFlagsAMD = Flags<ShaderCorePropertiesFlagBitsAMD>;
  5296. template <>
  5297. struct FlagTraits<ShaderCorePropertiesFlagBitsAMD>
  5298. {
  5299. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5300. static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderCorePropertiesFlagsAMD allFlags = {};
  5301. };
  5302. //=== VK_EXT_validation_features ===
  5303. enum class ValidationFeatureEnableEXT
  5304. {
  5305. eGpuAssisted = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
  5306. eGpuAssistedReserveBindingSlot = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
  5307. eBestPractices = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
  5308. eDebugPrintf = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT,
  5309. eSynchronizationValidation = VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT
  5310. };
  5311. enum class ValidationFeatureDisableEXT
  5312. {
  5313. eAll = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
  5314. eShaders = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT,
  5315. eThreadSafety = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,
  5316. eApiParameters = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT,
  5317. eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT,
  5318. eCoreChecks = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT,
  5319. eUniqueHandles = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
  5320. eShaderValidationCache = VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT
  5321. };
  5322. //=== VK_NV_coverage_reduction_mode ===
  5323. enum class CoverageReductionModeNV
  5324. {
  5325. eMerge = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
  5326. eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV
  5327. };
  5328. enum class PipelineCoverageReductionStateCreateFlagBitsNV : VkPipelineCoverageReductionStateCreateFlagsNV
  5329. {
  5330. };
  5331. using PipelineCoverageReductionStateCreateFlagsNV = Flags<PipelineCoverageReductionStateCreateFlagBitsNV>;
  5332. template <>
  5333. struct FlagTraits<PipelineCoverageReductionStateCreateFlagBitsNV>
  5334. {
  5335. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5336. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageReductionStateCreateFlagsNV allFlags = {};
  5337. };
  5338. //=== VK_EXT_provoking_vertex ===
  5339. enum class ProvokingVertexModeEXT
  5340. {
  5341. eFirstVertex = VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT,
  5342. eLastVertex = VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
  5343. };
  5344. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  5345. //=== VK_EXT_full_screen_exclusive ===
  5346. enum class FullScreenExclusiveEXT
  5347. {
  5348. eDefault = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
  5349. eAllowed = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT,
  5350. eDisallowed = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT,
  5351. eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
  5352. };
  5353. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  5354. //=== VK_EXT_headless_surface ===
  5355. enum class HeadlessSurfaceCreateFlagBitsEXT : VkHeadlessSurfaceCreateFlagsEXT
  5356. {
  5357. };
  5358. using HeadlessSurfaceCreateFlagsEXT = Flags<HeadlessSurfaceCreateFlagBitsEXT>;
  5359. template <>
  5360. struct FlagTraits<HeadlessSurfaceCreateFlagBitsEXT>
  5361. {
  5362. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5363. static VULKAN_HPP_CONST_OR_CONSTEXPR HeadlessSurfaceCreateFlagsEXT allFlags = {};
  5364. };
  5365. //=== VK_EXT_line_rasterization ===
  5366. enum class LineRasterizationModeEXT
  5367. {
  5368. eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
  5369. eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT,
  5370. eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT,
  5371. eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
  5372. };
  5373. //=== VK_KHR_pipeline_executable_properties ===
  5374. enum class PipelineExecutableStatisticFormatKHR
  5375. {
  5376. eBool32 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
  5377. eInt64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR,
  5378. eUint64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR,
  5379. eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
  5380. };
  5381. //=== VK_EXT_host_image_copy ===
  5382. enum class HostImageCopyFlagBitsEXT : VkHostImageCopyFlagsEXT
  5383. {
  5384. eMemcpy = VK_HOST_IMAGE_COPY_MEMCPY_EXT
  5385. };
  5386. using HostImageCopyFlagsEXT = Flags<HostImageCopyFlagBitsEXT>;
  5387. template <>
  5388. struct FlagTraits<HostImageCopyFlagBitsEXT>
  5389. {
  5390. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5391. static VULKAN_HPP_CONST_OR_CONSTEXPR HostImageCopyFlagsEXT allFlags = HostImageCopyFlagBitsEXT::eMemcpy;
  5392. };
  5393. //=== VK_KHR_map_memory2 ===
  5394. enum class MemoryUnmapFlagBitsKHR : VkMemoryUnmapFlagsKHR
  5395. {
  5396. };
  5397. using MemoryUnmapFlagsKHR = Flags<MemoryUnmapFlagBitsKHR>;
  5398. template <>
  5399. struct FlagTraits<MemoryUnmapFlagBitsKHR>
  5400. {
  5401. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5402. static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryUnmapFlagsKHR allFlags = {};
  5403. };
  5404. //=== VK_EXT_surface_maintenance1 ===
  5405. enum class PresentScalingFlagBitsEXT : VkPresentScalingFlagsEXT
  5406. {
  5407. eOneToOne = VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT,
  5408. eAspectRatioStretch = VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT,
  5409. eStretch = VK_PRESENT_SCALING_STRETCH_BIT_EXT
  5410. };
  5411. using PresentScalingFlagsEXT = Flags<PresentScalingFlagBitsEXT>;
  5412. template <>
  5413. struct FlagTraits<PresentScalingFlagBitsEXT>
  5414. {
  5415. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5416. static VULKAN_HPP_CONST_OR_CONSTEXPR PresentScalingFlagsEXT allFlags =
  5417. PresentScalingFlagBitsEXT::eOneToOne | PresentScalingFlagBitsEXT::eAspectRatioStretch | PresentScalingFlagBitsEXT::eStretch;
  5418. };
  5419. enum class PresentGravityFlagBitsEXT : VkPresentGravityFlagsEXT
  5420. {
  5421. eMin = VK_PRESENT_GRAVITY_MIN_BIT_EXT,
  5422. eMax = VK_PRESENT_GRAVITY_MAX_BIT_EXT,
  5423. eCentered = VK_PRESENT_GRAVITY_CENTERED_BIT_EXT
  5424. };
  5425. using PresentGravityFlagsEXT = Flags<PresentGravityFlagBitsEXT>;
  5426. template <>
  5427. struct FlagTraits<PresentGravityFlagBitsEXT>
  5428. {
  5429. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5430. static VULKAN_HPP_CONST_OR_CONSTEXPR PresentGravityFlagsEXT allFlags =
  5431. PresentGravityFlagBitsEXT::eMin | PresentGravityFlagBitsEXT::eMax | PresentGravityFlagBitsEXT::eCentered;
  5432. };
  5433. //=== VK_NV_device_generated_commands ===
  5434. enum class IndirectStateFlagBitsNV : VkIndirectStateFlagsNV
  5435. {
  5436. eFlagFrontface = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV
  5437. };
  5438. using IndirectStateFlagsNV = Flags<IndirectStateFlagBitsNV>;
  5439. template <>
  5440. struct FlagTraits<IndirectStateFlagBitsNV>
  5441. {
  5442. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5443. static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectStateFlagsNV allFlags = IndirectStateFlagBitsNV::eFlagFrontface;
  5444. };
  5445. enum class IndirectCommandsTokenTypeNV
  5446. {
  5447. eShaderGroup = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV,
  5448. eStateFlags = VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,
  5449. eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV,
  5450. eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,
  5451. ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
  5452. eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV,
  5453. eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV,
  5454. eDrawTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV,
  5455. eDrawMeshTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV,
  5456. ePipeline = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV,
  5457. eDispatch = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV
  5458. };
  5459. enum class IndirectCommandsLayoutUsageFlagBitsNV : VkIndirectCommandsLayoutUsageFlagsNV
  5460. {
  5461. eExplicitPreprocess = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV,
  5462. eIndexedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV,
  5463. eUnorderedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV
  5464. };
  5465. using IndirectCommandsLayoutUsageFlagsNV = Flags<IndirectCommandsLayoutUsageFlagBitsNV>;
  5466. template <>
  5467. struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNV>
  5468. {
  5469. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5470. static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV allFlags = IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess |
  5471. IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences |
  5472. IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences;
  5473. };
  5474. //=== VK_EXT_depth_bias_control ===
  5475. enum class DepthBiasRepresentationEXT
  5476. {
  5477. eLeastRepresentableValueFormat = VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT,
  5478. eLeastRepresentableValueForceUnorm = VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT,
  5479. eFloat = VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT
  5480. };
  5481. //=== VK_EXT_device_memory_report ===
  5482. enum class DeviceMemoryReportEventTypeEXT
  5483. {
  5484. eAllocate = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
  5485. eFree = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,
  5486. eImport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,
  5487. eUnimport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,
  5488. eAllocationFailed = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT
  5489. };
  5490. enum class DeviceMemoryReportFlagBitsEXT : VkDeviceMemoryReportFlagsEXT
  5491. {
  5492. };
  5493. using DeviceMemoryReportFlagsEXT = Flags<DeviceMemoryReportFlagBitsEXT>;
  5494. template <>
  5495. struct FlagTraits<DeviceMemoryReportFlagBitsEXT>
  5496. {
  5497. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5498. static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceMemoryReportFlagsEXT allFlags = {};
  5499. };
  5500. //=== VK_EXT_pipeline_creation_cache_control ===
  5501. enum class PipelineCacheCreateFlagBits : VkPipelineCacheCreateFlags
  5502. {
  5503. eExternallySynchronized = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
  5504. eExternallySynchronizedEXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT
  5505. };
  5506. using PipelineCacheCreateFlags = Flags<PipelineCacheCreateFlagBits>;
  5507. template <>
  5508. struct FlagTraits<PipelineCacheCreateFlagBits>
  5509. {
  5510. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5511. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCacheCreateFlags allFlags = PipelineCacheCreateFlagBits::eExternallySynchronized;
  5512. };
  5513. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  5514. //=== VK_KHR_video_encode_queue ===
  5515. enum class VideoEncodeCapabilityFlagBitsKHR : VkVideoEncodeCapabilityFlagsKHR
  5516. {
  5517. ePrecedingExternallyEncodedBytes = VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR,
  5518. eInsufficientstreamBufferRangeDetectionBit = VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR
  5519. };
  5520. using VideoEncodeCapabilityFlagsKHR = Flags<VideoEncodeCapabilityFlagBitsKHR>;
  5521. template <>
  5522. struct FlagTraits<VideoEncodeCapabilityFlagBitsKHR>
  5523. {
  5524. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5525. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeCapabilityFlagsKHR allFlags =
  5526. VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes | VideoEncodeCapabilityFlagBitsKHR::eInsufficientstreamBufferRangeDetectionBit;
  5527. };
  5528. enum class VideoEncodeFeedbackFlagBitsKHR : VkVideoEncodeFeedbackFlagsKHR
  5529. {
  5530. estreamBufferOffsetBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR,
  5531. estreamBytesWrittenBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR,
  5532. estreamHasOverridesBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR
  5533. };
  5534. using VideoEncodeFeedbackFlagsKHR = Flags<VideoEncodeFeedbackFlagBitsKHR>;
  5535. template <>
  5536. struct FlagTraits<VideoEncodeFeedbackFlagBitsKHR>
  5537. {
  5538. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5539. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFeedbackFlagsKHR allFlags = VideoEncodeFeedbackFlagBitsKHR::estreamBufferOffsetBit |
  5540. VideoEncodeFeedbackFlagBitsKHR::estreamBytesWrittenBit |
  5541. VideoEncodeFeedbackFlagBitsKHR::estreamHasOverridesBit;
  5542. };
  5543. enum class VideoEncodeUsageFlagBitsKHR : VkVideoEncodeUsageFlagsKHR
  5544. {
  5545. eDefault = VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR,
  5546. eTranscoding = VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR,
  5547. eStreaming = VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR,
  5548. eRecording = VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR,
  5549. eConferencing = VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR
  5550. };
  5551. using VideoEncodeUsageFlagsKHR = Flags<VideoEncodeUsageFlagBitsKHR>;
  5552. template <>
  5553. struct FlagTraits<VideoEncodeUsageFlagBitsKHR>
  5554. {
  5555. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5556. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeUsageFlagsKHR allFlags = VideoEncodeUsageFlagBitsKHR::eDefault | VideoEncodeUsageFlagBitsKHR::eTranscoding |
  5557. VideoEncodeUsageFlagBitsKHR::eStreaming | VideoEncodeUsageFlagBitsKHR::eRecording |
  5558. VideoEncodeUsageFlagBitsKHR::eConferencing;
  5559. };
  5560. enum class VideoEncodeContentFlagBitsKHR : VkVideoEncodeContentFlagsKHR
  5561. {
  5562. eDefault = VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR,
  5563. eCamera = VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR,
  5564. eDesktop = VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR,
  5565. eRendered = VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR
  5566. };
  5567. using VideoEncodeContentFlagsKHR = Flags<VideoEncodeContentFlagBitsKHR>;
  5568. template <>
  5569. struct FlagTraits<VideoEncodeContentFlagBitsKHR>
  5570. {
  5571. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5572. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeContentFlagsKHR allFlags =
  5573. VideoEncodeContentFlagBitsKHR::eDefault | VideoEncodeContentFlagBitsKHR::eCamera | VideoEncodeContentFlagBitsKHR::eDesktop |
  5574. VideoEncodeContentFlagBitsKHR::eRendered;
  5575. };
  5576. enum class VideoEncodeTuningModeKHR
  5577. {
  5578. eDefault = VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR,
  5579. eHighQuality = VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR,
  5580. eLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR,
  5581. eUltraLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR,
  5582. eLossless = VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR
  5583. };
  5584. enum class VideoEncodeRateControlModeFlagBitsKHR : VkVideoEncodeRateControlModeFlagsKHR
  5585. {
  5586. eDefault = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR,
  5587. eDisabled = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR,
  5588. eCbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR,
  5589. eVbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR
  5590. };
  5591. using VideoEncodeRateControlModeFlagsKHR = Flags<VideoEncodeRateControlModeFlagBitsKHR>;
  5592. template <>
  5593. struct FlagTraits<VideoEncodeRateControlModeFlagBitsKHR>
  5594. {
  5595. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5596. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlModeFlagsKHR allFlags =
  5597. VideoEncodeRateControlModeFlagBitsKHR::eDefault | VideoEncodeRateControlModeFlagBitsKHR::eDisabled | VideoEncodeRateControlModeFlagBitsKHR::eCbr |
  5598. VideoEncodeRateControlModeFlagBitsKHR::eVbr;
  5599. };
  5600. enum class VideoEncodeFlagBitsKHR : VkVideoEncodeFlagsKHR
  5601. {
  5602. };
  5603. using VideoEncodeFlagsKHR = Flags<VideoEncodeFlagBitsKHR>;
  5604. template <>
  5605. struct FlagTraits<VideoEncodeFlagBitsKHR>
  5606. {
  5607. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5608. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFlagsKHR allFlags = {};
  5609. };
  5610. enum class VideoEncodeRateControlFlagBitsKHR : VkVideoEncodeRateControlFlagsKHR
  5611. {
  5612. };
  5613. using VideoEncodeRateControlFlagsKHR = Flags<VideoEncodeRateControlFlagBitsKHR>;
  5614. template <>
  5615. struct FlagTraits<VideoEncodeRateControlFlagBitsKHR>
  5616. {
  5617. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5618. static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlFlagsKHR allFlags = {};
  5619. };
  5620. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5621. //=== VK_NV_device_diagnostics_config ===
  5622. enum class DeviceDiagnosticsConfigFlagBitsNV : VkDeviceDiagnosticsConfigFlagsNV
  5623. {
  5624. eEnableShaderDebugInfo = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV,
  5625. eEnableResourceTracking = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV,
  5626. eEnableAutomaticCheckpoints = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV,
  5627. eEnableShaderErrorReporting = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV
  5628. };
  5629. using DeviceDiagnosticsConfigFlagsNV = Flags<DeviceDiagnosticsConfigFlagBitsNV>;
  5630. template <>
  5631. struct FlagTraits<DeviceDiagnosticsConfigFlagBitsNV>
  5632. {
  5633. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5634. static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceDiagnosticsConfigFlagsNV allFlags =
  5635. DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo | DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking |
  5636. DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints | DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderErrorReporting;
  5637. };
  5638. #if defined( VK_USE_PLATFORM_METAL_EXT )
  5639. //=== VK_EXT_metal_objects ===
  5640. enum class ExportMetalObjectTypeFlagBitsEXT : VkExportMetalObjectTypeFlagsEXT
  5641. {
  5642. eMetalDevice = VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT,
  5643. eMetalCommandQueue = VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT,
  5644. eMetalBuffer = VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT,
  5645. eMetalTexture = VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT,
  5646. eMetalIosurface = VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT,
  5647. eMetalSharedEvent = VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT
  5648. };
  5649. using ExportMetalObjectTypeFlagsEXT = Flags<ExportMetalObjectTypeFlagBitsEXT>;
  5650. template <>
  5651. struct FlagTraits<ExportMetalObjectTypeFlagBitsEXT>
  5652. {
  5653. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5654. static VULKAN_HPP_CONST_OR_CONSTEXPR ExportMetalObjectTypeFlagsEXT allFlags =
  5655. ExportMetalObjectTypeFlagBitsEXT::eMetalDevice | ExportMetalObjectTypeFlagBitsEXT::eMetalCommandQueue | ExportMetalObjectTypeFlagBitsEXT::eMetalBuffer |
  5656. ExportMetalObjectTypeFlagBitsEXT::eMetalTexture | ExportMetalObjectTypeFlagBitsEXT::eMetalIosurface | ExportMetalObjectTypeFlagBitsEXT::eMetalSharedEvent;
  5657. };
  5658. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  5659. //=== VK_EXT_graphics_pipeline_library ===
  5660. enum class GraphicsPipelineLibraryFlagBitsEXT : VkGraphicsPipelineLibraryFlagsEXT
  5661. {
  5662. eVertexInputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT,
  5663. ePreRasterizationShaders = VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT,
  5664. eFragmentShader = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT,
  5665. eFragmentOutputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
  5666. };
  5667. using GraphicsPipelineLibraryFlagsEXT = Flags<GraphicsPipelineLibraryFlagBitsEXT>;
  5668. template <>
  5669. struct FlagTraits<GraphicsPipelineLibraryFlagBitsEXT>
  5670. {
  5671. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5672. static VULKAN_HPP_CONST_OR_CONSTEXPR GraphicsPipelineLibraryFlagsEXT allFlags =
  5673. GraphicsPipelineLibraryFlagBitsEXT::eVertexInputInterface | GraphicsPipelineLibraryFlagBitsEXT::ePreRasterizationShaders |
  5674. GraphicsPipelineLibraryFlagBitsEXT::eFragmentShader | GraphicsPipelineLibraryFlagBitsEXT::eFragmentOutputInterface;
  5675. };
  5676. enum class PipelineLayoutCreateFlagBits : VkPipelineLayoutCreateFlags
  5677. {
  5678. eIndependentSetsEXT = VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
  5679. };
  5680. using PipelineLayoutCreateFlags = Flags<PipelineLayoutCreateFlagBits>;
  5681. template <>
  5682. struct FlagTraits<PipelineLayoutCreateFlagBits>
  5683. {
  5684. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5685. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineLayoutCreateFlags allFlags = PipelineLayoutCreateFlagBits::eIndependentSetsEXT;
  5686. };
  5687. //=== VK_NV_fragment_shading_rate_enums ===
  5688. enum class FragmentShadingRateNV
  5689. {
  5690. e1InvocationPerPixel = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV,
  5691. e1InvocationPer1X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV,
  5692. e1InvocationPer2X1Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV,
  5693. e1InvocationPer2X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV,
  5694. e1InvocationPer2X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV,
  5695. e1InvocationPer4X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV,
  5696. e1InvocationPer4X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV,
  5697. e2InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
  5698. e4InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
  5699. e8InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV,
  5700. e16InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV,
  5701. eNoInvocations = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
  5702. };
  5703. enum class FragmentShadingRateTypeNV
  5704. {
  5705. eFragmentSize = VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV,
  5706. eEnums = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV
  5707. };
  5708. //=== VK_NV_ray_tracing_motion_blur ===
  5709. enum class AccelerationStructureMotionInstanceTypeNV
  5710. {
  5711. eStatic = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV,
  5712. eMatrixMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV,
  5713. eSrtMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV
  5714. };
  5715. enum class AccelerationStructureMotionInfoFlagBitsNV : VkAccelerationStructureMotionInfoFlagsNV
  5716. {
  5717. };
  5718. using AccelerationStructureMotionInfoFlagsNV = Flags<AccelerationStructureMotionInfoFlagBitsNV>;
  5719. template <>
  5720. struct FlagTraits<AccelerationStructureMotionInfoFlagBitsNV>
  5721. {
  5722. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5723. static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInfoFlagsNV allFlags = {};
  5724. };
  5725. enum class AccelerationStructureMotionInstanceFlagBitsNV : VkAccelerationStructureMotionInstanceFlagsNV
  5726. {
  5727. };
  5728. using AccelerationStructureMotionInstanceFlagsNV = Flags<AccelerationStructureMotionInstanceFlagBitsNV>;
  5729. template <>
  5730. struct FlagTraits<AccelerationStructureMotionInstanceFlagBitsNV>
  5731. {
  5732. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5733. static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInstanceFlagsNV allFlags = {};
  5734. };
  5735. //=== VK_EXT_image_compression_control ===
  5736. enum class ImageCompressionFlagBitsEXT : VkImageCompressionFlagsEXT
  5737. {
  5738. eDefault = VK_IMAGE_COMPRESSION_DEFAULT_EXT,
  5739. eFixedRateDefault = VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT,
  5740. eFixedRateExplicit = VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT,
  5741. eDisabled = VK_IMAGE_COMPRESSION_DISABLED_EXT
  5742. };
  5743. using ImageCompressionFlagsEXT = Flags<ImageCompressionFlagBitsEXT>;
  5744. template <>
  5745. struct FlagTraits<ImageCompressionFlagBitsEXT>
  5746. {
  5747. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5748. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFlagsEXT allFlags =
  5749. ImageCompressionFlagBitsEXT::eDefault | ImageCompressionFlagBitsEXT::eFixedRateDefault | ImageCompressionFlagBitsEXT::eFixedRateExplicit |
  5750. ImageCompressionFlagBitsEXT::eDisabled;
  5751. };
  5752. enum class ImageCompressionFixedRateFlagBitsEXT : VkImageCompressionFixedRateFlagsEXT
  5753. {
  5754. eNone = VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT,
  5755. e1Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT,
  5756. e2Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT,
  5757. e3Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT,
  5758. e4Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT,
  5759. e5Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT,
  5760. e6Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT,
  5761. e7Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT,
  5762. e8Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT,
  5763. e9Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT,
  5764. e10Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT,
  5765. e11Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT,
  5766. e12Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT,
  5767. e13Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT,
  5768. e14Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT,
  5769. e15Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT,
  5770. e16Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT,
  5771. e17Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT,
  5772. e18Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT,
  5773. e19Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT,
  5774. e20Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT,
  5775. e21Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT,
  5776. e22Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT,
  5777. e23Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT,
  5778. e24Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT
  5779. };
  5780. using ImageCompressionFixedRateFlagsEXT = Flags<ImageCompressionFixedRateFlagBitsEXT>;
  5781. template <>
  5782. struct FlagTraits<ImageCompressionFixedRateFlagBitsEXT>
  5783. {
  5784. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5785. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFixedRateFlagsEXT allFlags =
  5786. ImageCompressionFixedRateFlagBitsEXT::eNone | ImageCompressionFixedRateFlagBitsEXT::e1Bpc | ImageCompressionFixedRateFlagBitsEXT::e2Bpc |
  5787. ImageCompressionFixedRateFlagBitsEXT::e3Bpc | ImageCompressionFixedRateFlagBitsEXT::e4Bpc | ImageCompressionFixedRateFlagBitsEXT::e5Bpc |
  5788. ImageCompressionFixedRateFlagBitsEXT::e6Bpc | ImageCompressionFixedRateFlagBitsEXT::e7Bpc | ImageCompressionFixedRateFlagBitsEXT::e8Bpc |
  5789. ImageCompressionFixedRateFlagBitsEXT::e9Bpc | ImageCompressionFixedRateFlagBitsEXT::e10Bpc | ImageCompressionFixedRateFlagBitsEXT::e11Bpc |
  5790. ImageCompressionFixedRateFlagBitsEXT::e12Bpc | ImageCompressionFixedRateFlagBitsEXT::e13Bpc | ImageCompressionFixedRateFlagBitsEXT::e14Bpc |
  5791. ImageCompressionFixedRateFlagBitsEXT::e15Bpc | ImageCompressionFixedRateFlagBitsEXT::e16Bpc | ImageCompressionFixedRateFlagBitsEXT::e17Bpc |
  5792. ImageCompressionFixedRateFlagBitsEXT::e18Bpc | ImageCompressionFixedRateFlagBitsEXT::e19Bpc | ImageCompressionFixedRateFlagBitsEXT::e20Bpc |
  5793. ImageCompressionFixedRateFlagBitsEXT::e21Bpc | ImageCompressionFixedRateFlagBitsEXT::e22Bpc | ImageCompressionFixedRateFlagBitsEXT::e23Bpc |
  5794. ImageCompressionFixedRateFlagBitsEXT::e24Bpc;
  5795. };
  5796. //=== VK_EXT_device_fault ===
  5797. enum class DeviceFaultAddressTypeEXT
  5798. {
  5799. eNone = VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT,
  5800. eReadInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT,
  5801. eWriteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT,
  5802. eExecuteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT,
  5803. eInstructionPointerUnknown = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT,
  5804. eInstructionPointerInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT,
  5805. eInstructionPointerFault = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT
  5806. };
  5807. enum class DeviceFaultVendorBinaryHeaderVersionEXT
  5808. {
  5809. eOne = VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT
  5810. };
  5811. #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  5812. //=== VK_EXT_directfb_surface ===
  5813. enum class DirectFBSurfaceCreateFlagBitsEXT : VkDirectFBSurfaceCreateFlagsEXT
  5814. {
  5815. };
  5816. using DirectFBSurfaceCreateFlagsEXT = Flags<DirectFBSurfaceCreateFlagBitsEXT>;
  5817. template <>
  5818. struct FlagTraits<DirectFBSurfaceCreateFlagBitsEXT>
  5819. {
  5820. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5821. static VULKAN_HPP_CONST_OR_CONSTEXPR DirectFBSurfaceCreateFlagsEXT allFlags = {};
  5822. };
  5823. #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  5824. //=== VK_EXT_device_address_binding_report ===
  5825. enum class DeviceAddressBindingFlagBitsEXT : VkDeviceAddressBindingFlagsEXT
  5826. {
  5827. eInternalObject = VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT
  5828. };
  5829. using DeviceAddressBindingFlagsEXT = Flags<DeviceAddressBindingFlagBitsEXT>;
  5830. template <>
  5831. struct FlagTraits<DeviceAddressBindingFlagBitsEXT>
  5832. {
  5833. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5834. static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceAddressBindingFlagsEXT allFlags = DeviceAddressBindingFlagBitsEXT::eInternalObject;
  5835. };
  5836. enum class DeviceAddressBindingTypeEXT
  5837. {
  5838. eBind = VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT,
  5839. eUnbind = VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT
  5840. };
  5841. #if defined( VK_USE_PLATFORM_FUCHSIA )
  5842. //=== VK_FUCHSIA_buffer_collection ===
  5843. enum class ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA
  5844. {
  5845. eCpuReadRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA,
  5846. eCpuReadOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA,
  5847. eCpuWriteRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA,
  5848. eCpuWriteOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA,
  5849. eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA
  5850. };
  5851. using ImageConstraintsInfoFlagsFUCHSIA = Flags<ImageConstraintsInfoFlagBitsFUCHSIA>;
  5852. template <>
  5853. struct FlagTraits<ImageConstraintsInfoFlagBitsFUCHSIA>
  5854. {
  5855. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5856. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA allFlags =
  5857. ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften |
  5858. ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften |
  5859. ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional;
  5860. };
  5861. enum class ImageFormatConstraintsFlagBitsFUCHSIA : VkImageFormatConstraintsFlagsFUCHSIA
  5862. {
  5863. };
  5864. using ImageFormatConstraintsFlagsFUCHSIA = Flags<ImageFormatConstraintsFlagBitsFUCHSIA>;
  5865. template <>
  5866. struct FlagTraits<ImageFormatConstraintsFlagBitsFUCHSIA>
  5867. {
  5868. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5869. static VULKAN_HPP_CONST_OR_CONSTEXPR ImageFormatConstraintsFlagsFUCHSIA allFlags = {};
  5870. };
  5871. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  5872. //=== VK_EXT_frame_boundary ===
  5873. enum class FrameBoundaryFlagBitsEXT : VkFrameBoundaryFlagsEXT
  5874. {
  5875. eFrameEnd = VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT
  5876. };
  5877. using FrameBoundaryFlagsEXT = Flags<FrameBoundaryFlagBitsEXT>;
  5878. template <>
  5879. struct FlagTraits<FrameBoundaryFlagBitsEXT>
  5880. {
  5881. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5882. static VULKAN_HPP_CONST_OR_CONSTEXPR FrameBoundaryFlagsEXT allFlags = FrameBoundaryFlagBitsEXT::eFrameEnd;
  5883. };
  5884. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  5885. //=== VK_QNX_screen_surface ===
  5886. enum class ScreenSurfaceCreateFlagBitsQNX : VkScreenSurfaceCreateFlagsQNX
  5887. {
  5888. };
  5889. using ScreenSurfaceCreateFlagsQNX = Flags<ScreenSurfaceCreateFlagBitsQNX>;
  5890. template <>
  5891. struct FlagTraits<ScreenSurfaceCreateFlagBitsQNX>
  5892. {
  5893. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5894. static VULKAN_HPP_CONST_OR_CONSTEXPR ScreenSurfaceCreateFlagsQNX allFlags = {};
  5895. };
  5896. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  5897. //=== VK_EXT_opacity_micromap ===
  5898. enum class MicromapTypeEXT
  5899. {
  5900. eOpacityMicromap = VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT,
  5901. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  5902. eDisplacementMicromapNV = VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV
  5903. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5904. };
  5905. enum class BuildMicromapFlagBitsEXT : VkBuildMicromapFlagsEXT
  5906. {
  5907. ePreferFastTrace = VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT,
  5908. ePreferFastBuild = VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT,
  5909. eAllowCompaction = VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT
  5910. };
  5911. using BuildMicromapFlagsEXT = Flags<BuildMicromapFlagBitsEXT>;
  5912. template <>
  5913. struct FlagTraits<BuildMicromapFlagBitsEXT>
  5914. {
  5915. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5916. static VULKAN_HPP_CONST_OR_CONSTEXPR BuildMicromapFlagsEXT allFlags =
  5917. BuildMicromapFlagBitsEXT::ePreferFastTrace | BuildMicromapFlagBitsEXT::ePreferFastBuild | BuildMicromapFlagBitsEXT::eAllowCompaction;
  5918. };
  5919. enum class CopyMicromapModeEXT
  5920. {
  5921. eClone = VK_COPY_MICROMAP_MODE_CLONE_EXT,
  5922. eSerialize = VK_COPY_MICROMAP_MODE_SERIALIZE_EXT,
  5923. eDeserialize = VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT,
  5924. eCompact = VK_COPY_MICROMAP_MODE_COMPACT_EXT
  5925. };
  5926. enum class MicromapCreateFlagBitsEXT : VkMicromapCreateFlagsEXT
  5927. {
  5928. eDeviceAddressCaptureReplay = VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
  5929. };
  5930. using MicromapCreateFlagsEXT = Flags<MicromapCreateFlagBitsEXT>;
  5931. template <>
  5932. struct FlagTraits<MicromapCreateFlagBitsEXT>
  5933. {
  5934. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5935. static VULKAN_HPP_CONST_OR_CONSTEXPR MicromapCreateFlagsEXT allFlags = MicromapCreateFlagBitsEXT::eDeviceAddressCaptureReplay;
  5936. };
  5937. enum class BuildMicromapModeEXT
  5938. {
  5939. eBuild = VK_BUILD_MICROMAP_MODE_BUILD_EXT
  5940. };
  5941. enum class OpacityMicromapFormatEXT
  5942. {
  5943. e2State = VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT,
  5944. e4State = VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT
  5945. };
  5946. enum class OpacityMicromapSpecialIndexEXT
  5947. {
  5948. eFullyTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT,
  5949. eFullyOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT,
  5950. eFullyUnknownTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT,
  5951. eFullyUnknownOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT
  5952. };
  5953. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  5954. //=== VK_NV_displacement_micromap ===
  5955. enum class DisplacementMicromapFormatNV
  5956. {
  5957. e64Triangles64Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV,
  5958. e256Triangles128Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV,
  5959. e1024Triangles128Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV
  5960. };
  5961. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5962. //=== VK_NV_memory_decompression ===
  5963. enum class MemoryDecompressionMethodFlagBitsNV : VkMemoryDecompressionMethodFlagsNV
  5964. {
  5965. eGdeflate10 = VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV
  5966. };
  5967. using MemoryDecompressionMethodFlagsNV = Flags<MemoryDecompressionMethodFlagBitsNV>;
  5968. template <>
  5969. struct FlagTraits<MemoryDecompressionMethodFlagBitsNV>
  5970. {
  5971. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  5972. static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryDecompressionMethodFlagsNV allFlags = MemoryDecompressionMethodFlagBitsNV::eGdeflate10;
  5973. };
  5974. //=== VK_EXT_subpass_merge_feedback ===
  5975. enum class SubpassMergeStatusEXT
  5976. {
  5977. eMerged = VK_SUBPASS_MERGE_STATUS_MERGED_EXT,
  5978. eDisallowed = VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT,
  5979. eNotMergedSideEffects = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT,
  5980. eNotMergedSamplesMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT,
  5981. eNotMergedViewsMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT,
  5982. eNotMergedAliasing = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT,
  5983. eNotMergedDependencies = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT,
  5984. eNotMergedIncompatibleInputAttachment = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT,
  5985. eNotMergedTooManyAttachments = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT,
  5986. eNotMergedInsufficientStorage = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT,
  5987. eNotMergedDepthStencilCount = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT,
  5988. eNotMergedResolveAttachmentReuse = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT,
  5989. eNotMergedSingleSubpass = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT,
  5990. eNotMergedUnspecified = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT
  5991. };
  5992. //=== VK_LUNARG_direct_driver_loading ===
  5993. enum class DirectDriverLoadingModeLUNARG
  5994. {
  5995. eExclusive = VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG,
  5996. eInclusive = VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG
  5997. };
  5998. enum class DirectDriverLoadingFlagBitsLUNARG : VkDirectDriverLoadingFlagsLUNARG
  5999. {
  6000. };
  6001. using DirectDriverLoadingFlagsLUNARG = Flags<DirectDriverLoadingFlagBitsLUNARG>;
  6002. template <>
  6003. struct FlagTraits<DirectDriverLoadingFlagBitsLUNARG>
  6004. {
  6005. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6006. static VULKAN_HPP_CONST_OR_CONSTEXPR DirectDriverLoadingFlagsLUNARG allFlags = {};
  6007. };
  6008. //=== VK_EXT_rasterization_order_attachment_access ===
  6009. enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags
  6010. {
  6011. eRasterizationOrderAttachmentAccessARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM,
  6012. eRasterizationOrderAttachmentAccessEXT = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
  6013. };
  6014. using PipelineColorBlendStateCreateFlags = Flags<PipelineColorBlendStateCreateFlagBits>;
  6015. template <>
  6016. struct FlagTraits<PipelineColorBlendStateCreateFlagBits>
  6017. {
  6018. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6019. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineColorBlendStateCreateFlags allFlags =
  6020. PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessEXT;
  6021. };
  6022. enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags
  6023. {
  6024. eRasterizationOrderAttachmentDepthAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
  6025. eRasterizationOrderAttachmentStencilAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
  6026. eRasterizationOrderAttachmentDepthAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
  6027. eRasterizationOrderAttachmentStencilAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
  6028. };
  6029. using PipelineDepthStencilStateCreateFlags = Flags<PipelineDepthStencilStateCreateFlagBits>;
  6030. template <>
  6031. struct FlagTraits<PipelineDepthStencilStateCreateFlagBits>
  6032. {
  6033. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6034. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDepthStencilStateCreateFlags allFlags =
  6035. PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessEXT |
  6036. PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessEXT;
  6037. };
  6038. //=== VK_NV_optical_flow ===
  6039. enum class OpticalFlowUsageFlagBitsNV : VkOpticalFlowUsageFlagsNV
  6040. {
  6041. eUnknown = VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV,
  6042. eInput = VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV,
  6043. eOutput = VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV,
  6044. eHint = VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV,
  6045. eCost = VK_OPTICAL_FLOW_USAGE_COST_BIT_NV,
  6046. eGlobalFlow = VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV
  6047. };
  6048. using OpticalFlowUsageFlagsNV = Flags<OpticalFlowUsageFlagBitsNV>;
  6049. template <>
  6050. struct FlagTraits<OpticalFlowUsageFlagBitsNV>
  6051. {
  6052. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6053. static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowUsageFlagsNV allFlags = OpticalFlowUsageFlagBitsNV::eUnknown | OpticalFlowUsageFlagBitsNV::eInput |
  6054. OpticalFlowUsageFlagBitsNV::eOutput | OpticalFlowUsageFlagBitsNV::eHint |
  6055. OpticalFlowUsageFlagBitsNV::eCost | OpticalFlowUsageFlagBitsNV::eGlobalFlow;
  6056. };
  6057. enum class OpticalFlowGridSizeFlagBitsNV : VkOpticalFlowGridSizeFlagsNV
  6058. {
  6059. eUnknown = VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV,
  6060. e1X1 = VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV,
  6061. e2X2 = VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV,
  6062. e4X4 = VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV,
  6063. e8X8 = VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV
  6064. };
  6065. using OpticalFlowGridSizeFlagsNV = Flags<OpticalFlowGridSizeFlagBitsNV>;
  6066. template <>
  6067. struct FlagTraits<OpticalFlowGridSizeFlagBitsNV>
  6068. {
  6069. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6070. static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowGridSizeFlagsNV allFlags = OpticalFlowGridSizeFlagBitsNV::eUnknown | OpticalFlowGridSizeFlagBitsNV::e1X1 |
  6071. OpticalFlowGridSizeFlagBitsNV::e2X2 | OpticalFlowGridSizeFlagBitsNV::e4X4 |
  6072. OpticalFlowGridSizeFlagBitsNV::e8X8;
  6073. };
  6074. enum class OpticalFlowPerformanceLevelNV
  6075. {
  6076. eUnknown = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV,
  6077. eSlow = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV,
  6078. eMedium = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV,
  6079. eFast = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV
  6080. };
  6081. enum class OpticalFlowSessionBindingPointNV
  6082. {
  6083. eUnknown = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV,
  6084. eInput = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV,
  6085. eReference = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV,
  6086. eHint = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV,
  6087. eFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV,
  6088. eBackwardFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV,
  6089. eCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV,
  6090. eBackwardCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV,
  6091. eGlobalFlow = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV
  6092. };
  6093. enum class OpticalFlowSessionCreateFlagBitsNV : VkOpticalFlowSessionCreateFlagsNV
  6094. {
  6095. eEnableHint = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV,
  6096. eEnableCost = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV,
  6097. eEnableGlobalFlow = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV,
  6098. eAllowRegions = VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV,
  6099. eBothDirections = VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV
  6100. };
  6101. using OpticalFlowSessionCreateFlagsNV = Flags<OpticalFlowSessionCreateFlagBitsNV>;
  6102. template <>
  6103. struct FlagTraits<OpticalFlowSessionCreateFlagBitsNV>
  6104. {
  6105. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6106. static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowSessionCreateFlagsNV allFlags =
  6107. OpticalFlowSessionCreateFlagBitsNV::eEnableHint | OpticalFlowSessionCreateFlagBitsNV::eEnableCost |
  6108. OpticalFlowSessionCreateFlagBitsNV::eEnableGlobalFlow | OpticalFlowSessionCreateFlagBitsNV::eAllowRegions |
  6109. OpticalFlowSessionCreateFlagBitsNV::eBothDirections;
  6110. };
  6111. enum class OpticalFlowExecuteFlagBitsNV : VkOpticalFlowExecuteFlagsNV
  6112. {
  6113. eDisableTemporalHints = VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV
  6114. };
  6115. using OpticalFlowExecuteFlagsNV = Flags<OpticalFlowExecuteFlagBitsNV>;
  6116. template <>
  6117. struct FlagTraits<OpticalFlowExecuteFlagBitsNV>
  6118. {
  6119. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6120. static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowExecuteFlagsNV allFlags = OpticalFlowExecuteFlagBitsNV::eDisableTemporalHints;
  6121. };
  6122. //=== VK_KHR_maintenance5 ===
  6123. enum class PipelineCreateFlagBits2KHR : VkPipelineCreateFlags2KHR
  6124. {
  6125. eDisableOptimization = VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR,
  6126. eAllowDerivatives = VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR,
  6127. eDerivative = VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR,
  6128. eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
  6129. eDispatchBase = VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR,
  6130. eDeferCompileNV = VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV,
  6131. eCaptureStatistics = VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR,
  6132. eCaptureInternalRepresentations = VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
  6133. eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR,
  6134. eEarlyReturnOnFailure = VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR,
  6135. eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT,
  6136. eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
  6137. eLibrary = VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR,
  6138. eRayTracingSkipTriangles = VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
  6139. eRayTracingSkipAabbs = VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR,
  6140. eRayTracingNoNullAnyHitShaders = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
  6141. eRayTracingNoNullClosestHitShaders = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
  6142. eRayTracingNoNullMissShaders = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
  6143. eRayTracingNoNullIntersectionShaders = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
  6144. eRayTracingShaderGroupHandleCaptureReplay = VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
  6145. eIndirectBindableNV = VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV,
  6146. eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV,
  6147. eRenderingFragmentShadingRateAttachment = VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
  6148. eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
  6149. eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,
  6150. eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
  6151. eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
  6152. eNoProtectedAccessEXT = VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT,
  6153. eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT,
  6154. eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV,
  6155. eDescriptorBufferEXT = VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT
  6156. };
  6157. using PipelineCreateFlags2KHR = Flags<PipelineCreateFlagBits2KHR>;
  6158. template <>
  6159. struct FlagTraits<PipelineCreateFlagBits2KHR>
  6160. {
  6161. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6162. static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags2KHR allFlags =
  6163. PipelineCreateFlagBits2KHR::eDisableOptimization | PipelineCreateFlagBits2KHR::eAllowDerivatives | PipelineCreateFlagBits2KHR::eDerivative |
  6164. PipelineCreateFlagBits2KHR::eViewIndexFromDeviceIndex | PipelineCreateFlagBits2KHR::eDispatchBase | PipelineCreateFlagBits2KHR::eDeferCompileNV |
  6165. PipelineCreateFlagBits2KHR::eCaptureStatistics | PipelineCreateFlagBits2KHR::eCaptureInternalRepresentations |
  6166. PipelineCreateFlagBits2KHR::eFailOnPipelineCompileRequired | PipelineCreateFlagBits2KHR::eEarlyReturnOnFailure |
  6167. PipelineCreateFlagBits2KHR::eLinkTimeOptimizationEXT | PipelineCreateFlagBits2KHR::eRetainLinkTimeOptimizationInfoEXT |
  6168. PipelineCreateFlagBits2KHR::eLibrary | PipelineCreateFlagBits2KHR::eRayTracingSkipTriangles | PipelineCreateFlagBits2KHR::eRayTracingSkipAabbs |
  6169. PipelineCreateFlagBits2KHR::eRayTracingNoNullAnyHitShaders | PipelineCreateFlagBits2KHR::eRayTracingNoNullClosestHitShaders |
  6170. PipelineCreateFlagBits2KHR::eRayTracingNoNullMissShaders | PipelineCreateFlagBits2KHR::eRayTracingNoNullIntersectionShaders |
  6171. PipelineCreateFlagBits2KHR::eRayTracingShaderGroupHandleCaptureReplay | PipelineCreateFlagBits2KHR::eIndirectBindableNV |
  6172. PipelineCreateFlagBits2KHR::eRayTracingAllowMotionNV | PipelineCreateFlagBits2KHR::eRenderingFragmentShadingRateAttachment |
  6173. PipelineCreateFlagBits2KHR::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits2KHR::eRayTracingOpacityMicromapEXT |
  6174. PipelineCreateFlagBits2KHR::eColorAttachmentFeedbackLoopEXT | PipelineCreateFlagBits2KHR::eDepthStencilAttachmentFeedbackLoopEXT |
  6175. PipelineCreateFlagBits2KHR::eNoProtectedAccessEXT | PipelineCreateFlagBits2KHR::eProtectedAccessOnlyEXT |
  6176. PipelineCreateFlagBits2KHR::eRayTracingDisplacementMicromapNV | PipelineCreateFlagBits2KHR::eDescriptorBufferEXT;
  6177. };
  6178. enum class BufferUsageFlagBits2KHR : VkBufferUsageFlags2KHR
  6179. {
  6180. eTransferSrc = VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR,
  6181. eTransferDst = VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR,
  6182. eUniformTexelBuffer = VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR,
  6183. eStorageTexelBuffer = VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR,
  6184. eUniformBuffer = VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR,
  6185. eStorageBuffer = VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR,
  6186. eIndexBuffer = VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR,
  6187. eVertexBuffer = VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR,
  6188. eIndirectBuffer = VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR,
  6189. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  6190. eExecutionGraphScratchAMDX = VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX,
  6191. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  6192. eConditionalRenderingEXT = VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
  6193. eShaderBindingTable = VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR,
  6194. eRayTracingNV = VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV,
  6195. eTransformFeedbackBufferEXT = VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
  6196. eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
  6197. eVideoDecodeSrc = VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR,
  6198. eVideoDecodeDst = VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR,
  6199. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  6200. eVideoEncodeDst = VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR,
  6201. eVideoEncodeSrc = VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR,
  6202. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  6203. eShaderDeviceAddress = VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR,
  6204. eAccelerationStructureBuildInputReadOnly = VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,
  6205. eAccelerationStructureStorage = VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,
  6206. eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT,
  6207. eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT,
  6208. ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT,
  6209. eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,
  6210. eMicromapStorageEXT = VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT
  6211. };
  6212. using BufferUsageFlags2KHR = Flags<BufferUsageFlagBits2KHR>;
  6213. template <>
  6214. struct FlagTraits<BufferUsageFlagBits2KHR>
  6215. {
  6216. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6217. static VULKAN_HPP_CONST_OR_CONSTEXPR BufferUsageFlags2KHR allFlags =
  6218. BufferUsageFlagBits2KHR::eTransferSrc | BufferUsageFlagBits2KHR::eTransferDst | BufferUsageFlagBits2KHR::eUniformTexelBuffer |
  6219. BufferUsageFlagBits2KHR::eStorageTexelBuffer | BufferUsageFlagBits2KHR::eUniformBuffer | BufferUsageFlagBits2KHR::eStorageBuffer |
  6220. BufferUsageFlagBits2KHR::eIndexBuffer | BufferUsageFlagBits2KHR::eVertexBuffer | BufferUsageFlagBits2KHR::eIndirectBuffer
  6221. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  6222. | BufferUsageFlagBits2KHR::eExecutionGraphScratchAMDX
  6223. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  6224. | BufferUsageFlagBits2KHR::eConditionalRenderingEXT | BufferUsageFlagBits2KHR::eShaderBindingTable |
  6225. BufferUsageFlagBits2KHR::eTransformFeedbackBufferEXT | BufferUsageFlagBits2KHR::eTransformFeedbackCounterBufferEXT |
  6226. BufferUsageFlagBits2KHR::eVideoDecodeSrc | BufferUsageFlagBits2KHR::eVideoDecodeDst
  6227. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  6228. | BufferUsageFlagBits2KHR::eVideoEncodeDst | BufferUsageFlagBits2KHR::eVideoEncodeSrc
  6229. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  6230. | BufferUsageFlagBits2KHR::eShaderDeviceAddress | BufferUsageFlagBits2KHR::eAccelerationStructureBuildInputReadOnly |
  6231. BufferUsageFlagBits2KHR::eAccelerationStructureStorage | BufferUsageFlagBits2KHR::eSamplerDescriptorBufferEXT |
  6232. BufferUsageFlagBits2KHR::eResourceDescriptorBufferEXT | BufferUsageFlagBits2KHR::ePushDescriptorsDescriptorBufferEXT |
  6233. BufferUsageFlagBits2KHR::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits2KHR::eMicromapStorageEXT;
  6234. };
  6235. //=== VK_EXT_shader_object ===
  6236. enum class ShaderCreateFlagBitsEXT : VkShaderCreateFlagsEXT
  6237. {
  6238. eLinkStage = VK_SHADER_CREATE_LINK_STAGE_BIT_EXT,
  6239. eAllowVaryingSubgroupSize = VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
  6240. eRequireFullSubgroups = VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT,
  6241. eNoTaskShader = VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT,
  6242. eDispatchBase = VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT,
  6243. eFragmentShadingRateAttachment = VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT,
  6244. eFragmentDensityMapAttachment = VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
  6245. };
  6246. using ShaderCreateFlagsEXT = Flags<ShaderCreateFlagBitsEXT>;
  6247. template <>
  6248. struct FlagTraits<ShaderCreateFlagBitsEXT>
  6249. {
  6250. static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
  6251. static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderCreateFlagsEXT allFlags =
  6252. ShaderCreateFlagBitsEXT::eLinkStage | ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize | ShaderCreateFlagBitsEXT::eRequireFullSubgroups |
  6253. ShaderCreateFlagBitsEXT::eNoTaskShader | ShaderCreateFlagBitsEXT::eDispatchBase | ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment |
  6254. ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment;
  6255. };
  6256. enum class ShaderCodeTypeEXT
  6257. {
  6258. eBinary = VK_SHADER_CODE_TYPE_BINARY_EXT,
  6259. eSpirv = VK_SHADER_CODE_TYPE_SPIRV_EXT
  6260. };
  6261. //=== VK_NV_ray_tracing_invocation_reorder ===
  6262. enum class RayTracingInvocationReorderModeNV
  6263. {
  6264. eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV,
  6265. eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV
  6266. };
  6267. //=== VK_NV_low_latency2 ===
  6268. enum class LatencyMarkerNV
  6269. {
  6270. eSimulationStart = VK_LATENCY_MARKER_SIMULATION_START_NV,
  6271. eSimulationEnd = VK_LATENCY_MARKER_SIMULATION_END_NV,
  6272. eRendersubmitStart = VK_LATENCY_MARKER_RENDERSUBMIT_START_NV,
  6273. eRendersubmitEnd = VK_LATENCY_MARKER_RENDERSUBMIT_END_NV,
  6274. ePresentStart = VK_LATENCY_MARKER_PRESENT_START_NV,
  6275. ePresentEnd = VK_LATENCY_MARKER_PRESENT_END_NV,
  6276. eInputSample = VK_LATENCY_MARKER_INPUT_SAMPLE_NV,
  6277. eTriggerFlash = VK_LATENCY_MARKER_TRIGGER_FLASH_NV,
  6278. eOutOfBandRendersubmitStart = VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV,
  6279. eOutOfBandRendersubmitEnd = VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV,
  6280. eOutOfBandPresentStart = VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV,
  6281. eOutOfBandPresentEnd = VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV
  6282. };
  6283. enum class OutOfBandQueueTypeNV
  6284. {
  6285. eRender = VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV,
  6286. ePresent = VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV
  6287. };
  6288. //=== VK_KHR_cooperative_matrix ===
  6289. enum class ScopeKHR
  6290. {
  6291. eDevice = VK_SCOPE_DEVICE_KHR,
  6292. eWorkgroup = VK_SCOPE_WORKGROUP_KHR,
  6293. eSubgroup = VK_SCOPE_SUBGROUP_KHR,
  6294. eQueueFamily = VK_SCOPE_QUEUE_FAMILY_KHR
  6295. };
  6296. using ScopeNV = ScopeKHR;
  6297. enum class ComponentTypeKHR
  6298. {
  6299. eFloat16 = VK_COMPONENT_TYPE_FLOAT16_KHR,
  6300. eFloat32 = VK_COMPONENT_TYPE_FLOAT32_KHR,
  6301. eFloat64 = VK_COMPONENT_TYPE_FLOAT64_KHR,
  6302. eSint8 = VK_COMPONENT_TYPE_SINT8_KHR,
  6303. eSint16 = VK_COMPONENT_TYPE_SINT16_KHR,
  6304. eSint32 = VK_COMPONENT_TYPE_SINT32_KHR,
  6305. eSint64 = VK_COMPONENT_TYPE_SINT64_KHR,
  6306. eUint8 = VK_COMPONENT_TYPE_UINT8_KHR,
  6307. eUint16 = VK_COMPONENT_TYPE_UINT16_KHR,
  6308. eUint32 = VK_COMPONENT_TYPE_UINT32_KHR,
  6309. eUint64 = VK_COMPONENT_TYPE_UINT64_KHR
  6310. };
  6311. using ComponentTypeNV = ComponentTypeKHR;
  6312. //=== VK_QCOM_image_processing2 ===
  6313. enum class BlockMatchWindowCompareModeQCOM
  6314. {
  6315. eMin = VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM,
  6316. eMax = VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM
  6317. };
  6318. //=== VK_QCOM_filter_cubic_weights ===
  6319. enum class CubicFilterWeightsQCOM
  6320. {
  6321. eCatmullRom = VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM,
  6322. eZeroTangentCardinal = VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM,
  6323. eBSpline = VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM,
  6324. eMitchellNetravali = VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM
  6325. };
  6326. //=== VK_MSFT_layered_driver ===
  6327. enum class LayeredDriverUnderlyingApiMSFT
  6328. {
  6329. eNone = VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT,
  6330. eD3D12 = VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT
  6331. };
  6332. //=========================
  6333. //=== Index Type Traits ===
  6334. //=========================
  6335. template <typename T>
  6336. struct IndexTypeValue
  6337. {
  6338. };
  6339. template <>
  6340. struct IndexTypeValue<uint16_t>
  6341. {
  6342. static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint16;
  6343. };
  6344. template <>
  6345. struct CppType<IndexType, IndexType::eUint16>
  6346. {
  6347. using Type = uint16_t;
  6348. };
  6349. template <>
  6350. struct IndexTypeValue<uint32_t>
  6351. {
  6352. static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint32;
  6353. };
  6354. template <>
  6355. struct CppType<IndexType, IndexType::eUint32>
  6356. {
  6357. using Type = uint32_t;
  6358. };
  6359. template <>
  6360. struct IndexTypeValue<uint8_t>
  6361. {
  6362. static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8EXT;
  6363. };
  6364. template <>
  6365. struct CppType<IndexType, IndexType::eUint8EXT>
  6366. {
  6367. using Type = uint8_t;
  6368. };
  6369. //===========================================================
  6370. //=== Mapping from ObjectType to DebugReportObjectTypeEXT ===
  6371. //===========================================================
  6372. VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType( VULKAN_HPP_NAMESPACE::ObjectType objectType )
  6373. {
  6374. switch ( objectType )
  6375. {
  6376. //=== VK_VERSION_1_0 ===
  6377. case VULKAN_HPP_NAMESPACE::ObjectType::eInstance: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eInstance;
  6378. case VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePhysicalDevice;
  6379. case VULKAN_HPP_NAMESPACE::ObjectType::eDevice: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDevice;
  6380. case VULKAN_HPP_NAMESPACE::ObjectType::eQueue: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueue;
  6381. case VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDeviceMemory;
  6382. case VULKAN_HPP_NAMESPACE::ObjectType::eFence: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFence;
  6383. case VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSemaphore;
  6384. case VULKAN_HPP_NAMESPACE::ObjectType::eEvent: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eEvent;
  6385. case VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueryPool;
  6386. case VULKAN_HPP_NAMESPACE::ObjectType::eBuffer: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBuffer;
  6387. case VULKAN_HPP_NAMESPACE::ObjectType::eBufferView: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferView;
  6388. case VULKAN_HPP_NAMESPACE::ObjectType::eImage: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImage;
  6389. case VULKAN_HPP_NAMESPACE::ObjectType::eImageView: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImageView;
  6390. case VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eShaderModule;
  6391. case VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineCache;
  6392. case VULKAN_HPP_NAMESPACE::ObjectType::ePipeline: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipeline;
  6393. case VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineLayout;
  6394. case VULKAN_HPP_NAMESPACE::ObjectType::eSampler: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSampler;
  6395. case VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorPool;
  6396. case VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet;
  6397. case VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSetLayout;
  6398. case VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFramebuffer;
  6399. case VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eRenderPass;
  6400. case VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandPool;
  6401. case VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer:
  6402. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer;
  6403. //=== VK_VERSION_1_1 ===
  6404. case VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSamplerYcbcrConversion;
  6405. case VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate:
  6406. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorUpdateTemplate;
  6407. //=== VK_VERSION_1_3 ===
  6408. case VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlot:
  6409. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6410. //=== VK_KHR_surface ===
  6411. case VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR:
  6412. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSurfaceKHR;
  6413. //=== VK_KHR_swapchain ===
  6414. case VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR:
  6415. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSwapchainKHR;
  6416. //=== VK_KHR_display ===
  6417. case VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayKHR;
  6418. case VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR:
  6419. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayModeKHR;
  6420. //=== VK_EXT_debug_report ===
  6421. case VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT:
  6422. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDebugReportCallbackEXT;
  6423. //=== VK_KHR_video_queue ===
  6424. case VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionKHR: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6425. case VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionParametersKHR:
  6426. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6427. //=== VK_NVX_binary_import ===
  6428. case VULKAN_HPP_NAMESPACE::ObjectType::eCuModuleNVX: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuModuleNVX;
  6429. case VULKAN_HPP_NAMESPACE::ObjectType::eCuFunctionNVX:
  6430. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuFunctionNVX;
  6431. //=== VK_EXT_debug_utils ===
  6432. case VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT:
  6433. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6434. //=== VK_KHR_acceleration_structure ===
  6435. case VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR:
  6436. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureKHR;
  6437. //=== VK_EXT_validation_cache ===
  6438. case VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT:
  6439. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eValidationCacheEXT;
  6440. //=== VK_NV_ray_tracing ===
  6441. case VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV:
  6442. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureNV;
  6443. //=== VK_INTEL_performance_query ===
  6444. case VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL:
  6445. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6446. //=== VK_KHR_deferred_host_operations ===
  6447. case VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR:
  6448. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6449. //=== VK_NV_device_generated_commands ===
  6450. case VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6451. #if defined( VK_USE_PLATFORM_FUCHSIA )
  6452. //=== VK_FUCHSIA_buffer_collection ===
  6453. case VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIA: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA;
  6454. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  6455. //=== VK_EXT_opacity_micromap ===
  6456. case VULKAN_HPP_NAMESPACE::ObjectType::eMicromapEXT:
  6457. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6458. //=== VK_NV_optical_flow ===
  6459. case VULKAN_HPP_NAMESPACE::ObjectType::eOpticalFlowSessionNV:
  6460. return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6461. //=== VK_EXT_shader_object ===
  6462. case VULKAN_HPP_NAMESPACE::ObjectType::eShaderEXT: return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6463. default: VULKAN_HPP_ASSERT( false && "unknown ObjectType" ); return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6464. }
  6465. }
  6466. } // namespace VULKAN_HPP_NAMESPACE
  6467. #endif