vulkan.hpp 721 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105
  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_HPP
  7. #define VULKAN_HPP
  8. #include <algorithm>
  9. #include <array> // ArrayWrapperND
  10. #include <string> // std::string
  11. #include <vulkan/vulkan.h>
  12. #include <vulkan/vulkan_hpp_macros.hpp>
  13. #if 17 <= VULKAN_HPP_CPP_VERSION
  14. # include <string_view> // std::string_view
  15. #endif
  16. #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
  17. # include <tuple> // std::tie
  18. # include <vector> // std::vector
  19. #endif
  20. #if !defined( VULKAN_HPP_NO_EXCEPTIONS )
  21. # include <system_error> // std::is_error_code_enum
  22. #endif
  23. #if ( VULKAN_HPP_ASSERT == assert )
  24. # include <cassert>
  25. #endif
  26. #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
  27. # if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
  28. # include <dlfcn.h>
  29. # elif defined( _WIN32 )
  30. typedef struct HINSTANCE__ * HINSTANCE;
  31. # if defined( _WIN64 )
  32. typedef int64_t( __stdcall * FARPROC )();
  33. # else
  34. typedef int( __stdcall * FARPROC )();
  35. # endif
  36. extern "C" __declspec( dllimport ) HINSTANCE __stdcall LoadLibraryA( char const * lpLibFileName );
  37. extern "C" __declspec( dllimport ) int __stdcall FreeLibrary( HINSTANCE hLibModule );
  38. extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE hModule, const char * lpProcName );
  39. # endif
  40. #endif
  41. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  42. # include <compare>
  43. #endif
  44. #if defined( VULKAN_HPP_SUPPORT_SPAN )
  45. # include <span>
  46. #endif
  47. static_assert( VK_HEADER_VERSION == 267, "Wrong VK_HEADER_VERSION!" );
  48. // <tuple> includes <sys/sysmacros.h> through some other header
  49. // this results in major(x) being resolved to gnu_dev_major(x)
  50. // which is an expression in a constructor initializer list.
  51. #if defined( major )
  52. # undef major
  53. #endif
  54. #if defined( minor )
  55. # undef minor
  56. #endif
  57. // Windows defines MemoryBarrier which is deprecated and collides
  58. // with the VULKAN_HPP_NAMESPACE::MemoryBarrier struct.
  59. #if defined( MemoryBarrier )
  60. # undef MemoryBarrier
  61. #endif
  62. // XLib.h defines True/False, which collides with our vk::True/vk::False
  63. // -> undef them and provide some namepace-secure constexpr
  64. #if defined( True )
  65. # undef True
  66. constexpr int True = 1;
  67. #endif
  68. #if defined( False )
  69. # undef False
  70. constexpr int False = 0;
  71. #endif
  72. namespace VULKAN_HPP_NAMESPACE
  73. {
  74. template <typename T, size_t N>
  75. class ArrayWrapper1D : public std::array<T, N>
  76. {
  77. public:
  78. VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT : std::array<T, N>() {}
  79. VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT : std::array<T, N>( data ) {}
  80. #if ( VK_USE_64_BIT_PTR_DEFINES == 0 )
  81. // on 32 bit compiles, needs overloads on index type int to resolve ambiguities
  82. VULKAN_HPP_CONSTEXPR T const & operator[]( int index ) const VULKAN_HPP_NOEXCEPT
  83. {
  84. return std::array<T, N>::operator[]( index );
  85. }
  86. T & operator[]( int index ) VULKAN_HPP_NOEXCEPT
  87. {
  88. return std::array<T, N>::operator[]( index );
  89. }
  90. #endif
  91. operator T const *() const VULKAN_HPP_NOEXCEPT
  92. {
  93. return this->data();
  94. }
  95. operator T *() VULKAN_HPP_NOEXCEPT
  96. {
  97. return this->data();
  98. }
  99. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  100. operator std::string() const
  101. {
  102. return std::string( this->data() );
  103. }
  104. #if 17 <= VULKAN_HPP_CPP_VERSION
  105. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  106. operator std::string_view() const
  107. {
  108. return std::string_view( this->data() );
  109. }
  110. #endif
  111. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  112. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  113. std::strong_ordering operator<=>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
  114. {
  115. return *static_cast<std::array<char, N> const *>( this ) <=> *static_cast<std::array<char, N> const *>( &rhs );
  116. }
  117. #else
  118. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  119. bool operator<( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
  120. {
  121. return *static_cast<std::array<char, N> const *>( this ) < *static_cast<std::array<char, N> const *>( &rhs );
  122. }
  123. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  124. bool operator<=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
  125. {
  126. return *static_cast<std::array<char, N> const *>( this ) <= *static_cast<std::array<char, N> const *>( &rhs );
  127. }
  128. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  129. bool operator>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
  130. {
  131. return *static_cast<std::array<char, N> const *>( this ) > *static_cast<std::array<char, N> const *>( &rhs );
  132. }
  133. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  134. bool operator>=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
  135. {
  136. return *static_cast<std::array<char, N> const *>( this ) >= *static_cast<std::array<char, N> const *>( &rhs );
  137. }
  138. #endif
  139. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  140. bool operator==( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
  141. {
  142. return *static_cast<std::array<char, N> const *>( this ) == *static_cast<std::array<char, N> const *>( &rhs );
  143. }
  144. template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
  145. bool operator!=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
  146. {
  147. return *static_cast<std::array<char, N> const *>( this ) != *static_cast<std::array<char, N> const *>( &rhs );
  148. }
  149. };
  150. // specialization of relational operators between std::string and arrays of chars
  151. template <size_t N>
  152. bool operator<( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
  153. {
  154. return lhs < rhs.data();
  155. }
  156. template <size_t N>
  157. bool operator<=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
  158. {
  159. return lhs <= rhs.data();
  160. }
  161. template <size_t N>
  162. bool operator>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
  163. {
  164. return lhs > rhs.data();
  165. }
  166. template <size_t N>
  167. bool operator>=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
  168. {
  169. return lhs >= rhs.data();
  170. }
  171. template <size_t N>
  172. bool operator==( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
  173. {
  174. return lhs == rhs.data();
  175. }
  176. template <size_t N>
  177. bool operator!=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
  178. {
  179. return lhs != rhs.data();
  180. }
  181. template <typename T, size_t N, size_t M>
  182. class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N>
  183. {
  184. public:
  185. VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT : std::array<ArrayWrapper1D<T, M>, N>() {}
  186. VULKAN_HPP_CONSTEXPR ArrayWrapper2D( std::array<std::array<T, M>, N> const & data ) VULKAN_HPP_NOEXCEPT
  187. : std::array<ArrayWrapper1D<T, M>, N>( *reinterpret_cast<std::array<ArrayWrapper1D<T, M>, N> const *>( &data ) )
  188. {
  189. }
  190. };
  191. #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
  192. template <typename T>
  193. class ArrayProxy
  194. {
  195. public:
  196. VULKAN_HPP_CONSTEXPR ArrayProxy() VULKAN_HPP_NOEXCEPT
  197. : m_count( 0 )
  198. , m_ptr( nullptr )
  199. {
  200. }
  201. VULKAN_HPP_CONSTEXPR ArrayProxy( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  202. : m_count( 0 )
  203. , m_ptr( nullptr )
  204. {
  205. }
  206. ArrayProxy( T const & value ) VULKAN_HPP_NOEXCEPT
  207. : m_count( 1 )
  208. , m_ptr( &value )
  209. {
  210. }
  211. ArrayProxy( uint32_t count, T const * ptr ) VULKAN_HPP_NOEXCEPT
  212. : m_count( count )
  213. , m_ptr( ptr )
  214. {
  215. }
  216. template <std::size_t C>
  217. ArrayProxy( T const ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
  218. : m_count( C )
  219. , m_ptr( ptr )
  220. {
  221. }
  222. # if __GNUC__ >= 9
  223. # pragma GCC diagnostic push
  224. # pragma GCC diagnostic ignored "-Winit-list-lifetime"
  225. # endif
  226. ArrayProxy( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
  227. : m_count( static_cast<uint32_t>( list.size() ) )
  228. , m_ptr( list.begin() )
  229. {
  230. }
  231. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  232. ArrayProxy( std::initializer_list<typename std::remove_const<T>::type> const & list ) VULKAN_HPP_NOEXCEPT
  233. : m_count( static_cast<uint32_t>( list.size() ) )
  234. , m_ptr( list.begin() )
  235. {
  236. }
  237. # if __GNUC__ >= 9
  238. # pragma GCC diagnostic pop
  239. # endif
  240. // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly
  241. // convertible to size_t. The const version can capture temporaries, with lifetime ending at end of statement.
  242. template <typename V,
  243. typename std::enable_if<std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
  244. std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
  245. ArrayProxy( V const & v ) VULKAN_HPP_NOEXCEPT
  246. : m_count( static_cast<uint32_t>( v.size() ) )
  247. , m_ptr( v.data() )
  248. {
  249. }
  250. const T * begin() const VULKAN_HPP_NOEXCEPT
  251. {
  252. return m_ptr;
  253. }
  254. const T * end() const VULKAN_HPP_NOEXCEPT
  255. {
  256. return m_ptr + m_count;
  257. }
  258. const T & front() const VULKAN_HPP_NOEXCEPT
  259. {
  260. VULKAN_HPP_ASSERT( m_count && m_ptr );
  261. return *m_ptr;
  262. }
  263. const T & back() const VULKAN_HPP_NOEXCEPT
  264. {
  265. VULKAN_HPP_ASSERT( m_count && m_ptr );
  266. return *( m_ptr + m_count - 1 );
  267. }
  268. bool empty() const VULKAN_HPP_NOEXCEPT
  269. {
  270. return ( m_count == 0 );
  271. }
  272. uint32_t size() const VULKAN_HPP_NOEXCEPT
  273. {
  274. return m_count;
  275. }
  276. T const * data() const VULKAN_HPP_NOEXCEPT
  277. {
  278. return m_ptr;
  279. }
  280. private:
  281. uint32_t m_count;
  282. T const * m_ptr;
  283. };
  284. template <typename T>
  285. class ArrayProxyNoTemporaries
  286. {
  287. public:
  288. VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries() VULKAN_HPP_NOEXCEPT
  289. : m_count( 0 )
  290. , m_ptr( nullptr )
  291. {
  292. }
  293. VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  294. : m_count( 0 )
  295. , m_ptr( nullptr )
  296. {
  297. }
  298. ArrayProxyNoTemporaries( T & value ) VULKAN_HPP_NOEXCEPT
  299. : m_count( 1 )
  300. , m_ptr( &value )
  301. {
  302. }
  303. template <typename V>
  304. ArrayProxyNoTemporaries( V && value ) = delete;
  305. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  306. ArrayProxyNoTemporaries( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
  307. : m_count( 1 )
  308. , m_ptr( &value )
  309. {
  310. }
  311. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  312. ArrayProxyNoTemporaries( typename std::remove_const<T>::type && value ) = delete;
  313. ArrayProxyNoTemporaries( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
  314. : m_count( count )
  315. , m_ptr( ptr )
  316. {
  317. }
  318. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  319. ArrayProxyNoTemporaries( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
  320. : m_count( count )
  321. , m_ptr( ptr )
  322. {
  323. }
  324. template <std::size_t C>
  325. ArrayProxyNoTemporaries( T ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
  326. : m_count( C )
  327. , m_ptr( ptr )
  328. {
  329. }
  330. template <std::size_t C>
  331. ArrayProxyNoTemporaries( T( &&ptr )[C] ) = delete;
  332. template <std::size_t C, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  333. ArrayProxyNoTemporaries( typename std::remove_const<T>::type ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
  334. : m_count( C )
  335. , m_ptr( ptr )
  336. {
  337. }
  338. template <std::size_t C, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  339. ArrayProxyNoTemporaries( typename std::remove_const<T>::type( &&ptr )[C] ) = delete;
  340. ArrayProxyNoTemporaries( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
  341. : m_count( static_cast<uint32_t>( list.size() ) )
  342. , m_ptr( list.begin() )
  343. {
  344. }
  345. ArrayProxyNoTemporaries( std::initializer_list<T> const && list ) = delete;
  346. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  347. ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const & list ) VULKAN_HPP_NOEXCEPT
  348. : m_count( static_cast<uint32_t>( list.size() ) )
  349. , m_ptr( list.begin() )
  350. {
  351. }
  352. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  353. ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const && list ) = delete;
  354. ArrayProxyNoTemporaries( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
  355. : m_count( static_cast<uint32_t>( list.size() ) )
  356. , m_ptr( list.begin() )
  357. {
  358. }
  359. ArrayProxyNoTemporaries( std::initializer_list<T> && list ) = delete;
  360. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  361. ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> & list ) VULKAN_HPP_NOEXCEPT
  362. : m_count( static_cast<uint32_t>( list.size() ) )
  363. , m_ptr( list.begin() )
  364. {
  365. }
  366. template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
  367. ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> && list ) = delete;
  368. // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t.
  369. template <typename V,
  370. typename std::enable_if<std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
  371. std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
  372. ArrayProxyNoTemporaries( V & v ) VULKAN_HPP_NOEXCEPT
  373. : m_count( static_cast<uint32_t>( v.size() ) )
  374. , m_ptr( v.data() )
  375. {
  376. }
  377. const T * begin() const VULKAN_HPP_NOEXCEPT
  378. {
  379. return m_ptr;
  380. }
  381. const T * end() const VULKAN_HPP_NOEXCEPT
  382. {
  383. return m_ptr + m_count;
  384. }
  385. const T & front() const VULKAN_HPP_NOEXCEPT
  386. {
  387. VULKAN_HPP_ASSERT( m_count && m_ptr );
  388. return *m_ptr;
  389. }
  390. const T & back() const VULKAN_HPP_NOEXCEPT
  391. {
  392. VULKAN_HPP_ASSERT( m_count && m_ptr );
  393. return *( m_ptr + m_count - 1 );
  394. }
  395. bool empty() const VULKAN_HPP_NOEXCEPT
  396. {
  397. return ( m_count == 0 );
  398. }
  399. uint32_t size() const VULKAN_HPP_NOEXCEPT
  400. {
  401. return m_count;
  402. }
  403. T * data() const VULKAN_HPP_NOEXCEPT
  404. {
  405. return m_ptr;
  406. }
  407. private:
  408. uint32_t m_count;
  409. T * m_ptr;
  410. };
  411. template <typename T>
  412. class StridedArrayProxy : protected ArrayProxy<T>
  413. {
  414. public:
  415. using ArrayProxy<T>::ArrayProxy;
  416. StridedArrayProxy( uint32_t count, T const * ptr, uint32_t stride ) VULKAN_HPP_NOEXCEPT
  417. : ArrayProxy<T>( count, ptr )
  418. , m_stride( stride )
  419. {
  420. VULKAN_HPP_ASSERT( sizeof( T ) <= stride );
  421. }
  422. using ArrayProxy<T>::begin;
  423. const T * end() const VULKAN_HPP_NOEXCEPT
  424. {
  425. return reinterpret_cast<T const *>( static_cast<uint8_t const *>( begin() ) + size() * m_stride );
  426. }
  427. using ArrayProxy<T>::front;
  428. const T & back() const VULKAN_HPP_NOEXCEPT
  429. {
  430. VULKAN_HPP_ASSERT( begin() && size() );
  431. return *reinterpret_cast<T const *>( static_cast<uint8_t const *>( begin() ) + ( size() - 1 ) * m_stride );
  432. }
  433. using ArrayProxy<T>::empty;
  434. using ArrayProxy<T>::size;
  435. using ArrayProxy<T>::data;
  436. uint32_t stride() const
  437. {
  438. return m_stride;
  439. }
  440. private:
  441. uint32_t m_stride = sizeof( T );
  442. };
  443. template <typename RefType>
  444. class Optional
  445. {
  446. public:
  447. Optional( RefType & reference ) VULKAN_HPP_NOEXCEPT
  448. {
  449. m_ptr = &reference;
  450. }
  451. Optional( RefType * ptr ) VULKAN_HPP_NOEXCEPT
  452. {
  453. m_ptr = ptr;
  454. }
  455. Optional( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  456. {
  457. m_ptr = nullptr;
  458. }
  459. operator RefType *() const VULKAN_HPP_NOEXCEPT
  460. {
  461. return m_ptr;
  462. }
  463. RefType const * operator->() const VULKAN_HPP_NOEXCEPT
  464. {
  465. return m_ptr;
  466. }
  467. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  468. {
  469. return !!m_ptr;
  470. }
  471. private:
  472. RefType * m_ptr;
  473. };
  474. template <typename X, typename Y>
  475. struct StructExtends
  476. {
  477. enum
  478. {
  479. value = false
  480. };
  481. };
  482. template <typename Type, class...>
  483. struct IsPartOfStructureChain
  484. {
  485. static const bool valid = false;
  486. };
  487. template <typename Type, typename Head, typename... Tail>
  488. struct IsPartOfStructureChain<Type, Head, Tail...>
  489. {
  490. static const bool valid = std::is_same<Type, Head>::value || IsPartOfStructureChain<Type, Tail...>::valid;
  491. };
  492. template <size_t Index, typename T, typename... ChainElements>
  493. struct StructureChainContains
  494. {
  495. static const bool value = std::is_same<T, typename std::tuple_element<Index, std::tuple<ChainElements...>>::type>::value ||
  496. StructureChainContains<Index - 1, T, ChainElements...>::value;
  497. };
  498. template <typename T, typename... ChainElements>
  499. struct StructureChainContains<0, T, ChainElements...>
  500. {
  501. static const bool value = std::is_same<T, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value;
  502. };
  503. template <size_t Index, typename... ChainElements>
  504. struct StructureChainValidation
  505. {
  506. using TestType = typename std::tuple_element<Index, std::tuple<ChainElements...>>::type;
  507. static const bool valid = StructExtends<TestType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
  508. ( TestType::allowDuplicate || !StructureChainContains<Index - 1, TestType, ChainElements...>::value ) &&
  509. StructureChainValidation<Index - 1, ChainElements...>::valid;
  510. };
  511. template <typename... ChainElements>
  512. struct StructureChainValidation<0, ChainElements...>
  513. {
  514. static const bool valid = true;
  515. };
  516. template <typename... ChainElements>
  517. class StructureChain : public std::tuple<ChainElements...>
  518. {
  519. public:
  520. StructureChain() VULKAN_HPP_NOEXCEPT
  521. {
  522. static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
  523. link<sizeof...( ChainElements ) - 1>();
  524. }
  525. StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
  526. {
  527. static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
  528. link( &std::get<0>( *this ),
  529. &std::get<0>( rhs ),
  530. reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
  531. reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
  532. }
  533. StructureChain( StructureChain && rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( std::forward<std::tuple<ChainElements...>>( rhs ) )
  534. {
  535. static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
  536. link( &std::get<0>( *this ),
  537. &std::get<0>( rhs ),
  538. reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
  539. reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
  540. }
  541. StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
  542. {
  543. static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
  544. link<sizeof...( ChainElements ) - 1>();
  545. }
  546. StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT
  547. {
  548. std::tuple<ChainElements...>::operator=( rhs );
  549. link( &std::get<0>( *this ),
  550. &std::get<0>( rhs ),
  551. reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
  552. reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
  553. return *this;
  554. }
  555. StructureChain & operator=( StructureChain && rhs ) = delete;
  556. template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
  557. T & get() VULKAN_HPP_NOEXCEPT
  558. {
  559. return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...> &>( *this ) );
  560. }
  561. template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
  562. T const & get() const VULKAN_HPP_NOEXCEPT
  563. {
  564. return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...> const &>( *this ) );
  565. }
  566. template <typename T0, typename T1, typename... Ts>
  567. std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT
  568. {
  569. return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
  570. }
  571. template <typename T0, typename T1, typename... Ts>
  572. std::tuple<T0 const &, T1 const &, Ts const &...> get() const VULKAN_HPP_NOEXCEPT
  573. {
  574. return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
  575. }
  576. // assign a complete structure to the StructureChain without modifying the chaining
  577. template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
  578. StructureChain & assign( const T & rhs ) VULKAN_HPP_NOEXCEPT
  579. {
  580. T & lhs = get<T, Which>();
  581. void * pNext = lhs.pNext;
  582. lhs = rhs;
  583. lhs.pNext = pNext;
  584. return *this;
  585. }
  586. template <typename ClassType, size_t Which = 0>
  587. typename std::enable_if<std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value && ( Which == 0 ), bool>::type
  588. isLinked() const VULKAN_HPP_NOEXCEPT
  589. {
  590. return true;
  591. }
  592. template <typename ClassType, size_t Which = 0>
  593. typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), bool>::type
  594. isLinked() const VULKAN_HPP_NOEXCEPT
  595. {
  596. static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
  597. return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) );
  598. }
  599. template <typename ClassType, size_t Which = 0>
  600. typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
  601. relink() VULKAN_HPP_NOEXCEPT
  602. {
  603. static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't relink Structure that's not part of this StructureChain!" );
  604. auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
  605. VULKAN_HPP_ASSERT( !isLinked( pNext ) );
  606. auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) );
  607. pNext->pNext = reinterpret_cast<VkBaseInStructure const *>( headElement.pNext );
  608. headElement.pNext = pNext;
  609. }
  610. template <typename ClassType, size_t Which = 0>
  611. typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
  612. unlink() VULKAN_HPP_NOEXCEPT
  613. {
  614. static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
  615. unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
  616. }
  617. private:
  618. template <int Index, typename T, int Which, typename, class First, class... Types>
  619. struct ChainElementIndex : ChainElementIndex<Index + 1, T, Which, void, Types...>
  620. {
  621. };
  622. template <int Index, typename T, int Which, class First, class... Types>
  623. struct ChainElementIndex<Index, T, Which, typename std::enable_if<!std::is_same<T, First>::value, void>::type, First, Types...>
  624. : ChainElementIndex<Index + 1, T, Which, void, Types...>
  625. {
  626. };
  627. template <int Index, typename T, int Which, class First, class... Types>
  628. struct ChainElementIndex<Index, T, Which, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...>
  629. : ChainElementIndex<Index + 1, T, Which - 1, void, Types...>
  630. {
  631. };
  632. template <int Index, typename T, class First, class... Types>
  633. struct ChainElementIndex<Index, T, 0, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...>
  634. : std::integral_constant<int, Index>
  635. {
  636. };
  637. bool isLinked( VkBaseInStructure const * pNext ) const VULKAN_HPP_NOEXCEPT
  638. {
  639. VkBaseInStructure const * elementPtr =
  640. reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( static_cast<std::tuple<ChainElements...> const &>( *this ) ) );
  641. while ( elementPtr )
  642. {
  643. if ( elementPtr->pNext == pNext )
  644. {
  645. return true;
  646. }
  647. elementPtr = elementPtr->pNext;
  648. }
  649. return false;
  650. }
  651. template <size_t Index>
  652. typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEXCEPT
  653. {
  654. auto & x = std::get<Index - 1>( static_cast<std::tuple<ChainElements...> &>( *this ) );
  655. x.pNext = &std::get<Index>( static_cast<std::tuple<ChainElements...> &>( *this ) );
  656. link<Index - 1>();
  657. }
  658. template <size_t Index>
  659. typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEXCEPT
  660. {
  661. }
  662. void link( void * dstBase, void const * srcBase, VkBaseOutStructure * dst, VkBaseInStructure const * src )
  663. {
  664. while ( src->pNext )
  665. {
  666. std::ptrdiff_t offset = reinterpret_cast<char const *>( src->pNext ) - reinterpret_cast<char const *>( srcBase );
  667. dst->pNext = reinterpret_cast<VkBaseOutStructure *>( reinterpret_cast<char *>( dstBase ) + offset );
  668. dst = dst->pNext;
  669. src = src->pNext;
  670. }
  671. dst->pNext = nullptr;
  672. }
  673. void unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
  674. {
  675. VkBaseOutStructure * elementPtr = reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) ) );
  676. while ( elementPtr && ( elementPtr->pNext != pNext ) )
  677. {
  678. elementPtr = elementPtr->pNext;
  679. }
  680. if ( elementPtr )
  681. {
  682. elementPtr->pNext = pNext->pNext;
  683. }
  684. else
  685. {
  686. VULKAN_HPP_ASSERT( false ); // fires, if the ClassType member has already been unlinked !
  687. }
  688. }
  689. };
  690. // interupt the VULKAN_HPP_NAMESPACE for a moment to add specializations of std::tuple_size and std::tuple_element for the StructureChain!
  691. }
  692. namespace std
  693. {
  694. template <typename... Elements>
  695. struct tuple_size<VULKAN_HPP_NAMESPACE::StructureChain<Elements...>>
  696. {
  697. static constexpr size_t value = std::tuple_size<std::tuple<Elements...>>::value;
  698. };
  699. template <std::size_t Index, typename... Elements>
  700. struct tuple_element<Index, VULKAN_HPP_NAMESPACE::StructureChain<Elements...>>
  701. {
  702. using type = typename std::tuple_element<Index, std::tuple<Elements...>>::type;
  703. };
  704. } // namespace std
  705. namespace VULKAN_HPP_NAMESPACE
  706. {
  707. # if !defined( VULKAN_HPP_NO_SMART_HANDLE )
  708. template <typename Type, typename Dispatch>
  709. class UniqueHandleTraits;
  710. template <typename Type, typename Dispatch>
  711. class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter
  712. {
  713. private:
  714. using Deleter = typename UniqueHandleTraits<Type, Dispatch>::deleter;
  715. public:
  716. using element_type = Type;
  717. UniqueHandle() : Deleter(), m_value() {}
  718. explicit UniqueHandle( Type const & value, Deleter const & deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
  719. : Deleter( deleter )
  720. , m_value( value )
  721. {
  722. }
  723. UniqueHandle( UniqueHandle const & ) = delete;
  724. UniqueHandle( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
  725. : Deleter( std::move( static_cast<Deleter &>( other ) ) )
  726. , m_value( other.release() )
  727. {
  728. }
  729. ~UniqueHandle() VULKAN_HPP_NOEXCEPT
  730. {
  731. if ( m_value )
  732. {
  733. this->destroy( m_value );
  734. }
  735. }
  736. UniqueHandle & operator=( UniqueHandle const & ) = delete;
  737. UniqueHandle & operator=( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
  738. {
  739. reset( other.release() );
  740. *static_cast<Deleter *>( this ) = std::move( static_cast<Deleter &>( other ) );
  741. return *this;
  742. }
  743. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  744. {
  745. return m_value.operator bool();
  746. }
  747. Type const * operator->() const VULKAN_HPP_NOEXCEPT
  748. {
  749. return &m_value;
  750. }
  751. Type * operator->() VULKAN_HPP_NOEXCEPT
  752. {
  753. return &m_value;
  754. }
  755. Type const & operator*() const VULKAN_HPP_NOEXCEPT
  756. {
  757. return m_value;
  758. }
  759. Type & operator*() VULKAN_HPP_NOEXCEPT
  760. {
  761. return m_value;
  762. }
  763. const Type & get() const VULKAN_HPP_NOEXCEPT
  764. {
  765. return m_value;
  766. }
  767. Type & get() VULKAN_HPP_NOEXCEPT
  768. {
  769. return m_value;
  770. }
  771. void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
  772. {
  773. if ( m_value != value )
  774. {
  775. if ( m_value )
  776. {
  777. this->destroy( m_value );
  778. }
  779. m_value = value;
  780. }
  781. }
  782. Type release() VULKAN_HPP_NOEXCEPT
  783. {
  784. Type value = m_value;
  785. m_value = nullptr;
  786. return value;
  787. }
  788. void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
  789. {
  790. std::swap( m_value, rhs.m_value );
  791. std::swap( static_cast<Deleter &>( *this ), static_cast<Deleter &>( rhs ) );
  792. }
  793. private:
  794. Type m_value;
  795. };
  796. template <typename UniqueType>
  797. VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type> uniqueToRaw( std::vector<UniqueType> const & handles )
  798. {
  799. std::vector<typename UniqueType::element_type> newBuffer( handles.size() );
  800. std::transform( handles.begin(), handles.end(), newBuffer.begin(), []( UniqueType const & handle ) { return handle.get(); } );
  801. return newBuffer;
  802. }
  803. template <typename Type, typename Dispatch>
  804. VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs, UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
  805. {
  806. lhs.swap( rhs );
  807. }
  808. # endif
  809. #endif // VULKAN_HPP_DISABLE_ENHANCED_MODE
  810. class DispatchLoaderBase
  811. {
  812. public:
  813. DispatchLoaderBase() = default;
  814. DispatchLoaderBase( std::nullptr_t )
  815. #if !defined( NDEBUG )
  816. : m_valid( false )
  817. #endif
  818. {
  819. }
  820. #if !defined( NDEBUG )
  821. size_t getVkHeaderVersion() const
  822. {
  823. VULKAN_HPP_ASSERT( m_valid );
  824. return vkHeaderVersion;
  825. }
  826. private:
  827. size_t vkHeaderVersion = VK_HEADER_VERSION;
  828. bool m_valid = true;
  829. #endif
  830. };
  831. #if !defined( VK_NO_PROTOTYPES )
  832. class DispatchLoaderStatic : public DispatchLoaderBase
  833. {
  834. public:
  835. //=== VK_VERSION_1_0 ===
  836. VkResult
  837. vkCreateInstance( const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance ) const VULKAN_HPP_NOEXCEPT
  838. {
  839. return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
  840. }
  841. void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  842. {
  843. return ::vkDestroyInstance( instance, pAllocator );
  844. }
  845. VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
  846. {
  847. return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
  848. }
  849. void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
  850. {
  851. return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
  852. }
  853. void
  854. vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
  855. {
  856. return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
  857. }
  858. VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice physicalDevice,
  859. VkFormat format,
  860. VkImageType type,
  861. VkImageTiling tiling,
  862. VkImageUsageFlags usage,
  863. VkImageCreateFlags flags,
  864. VkImageFormatProperties * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
  865. {
  866. return ::vkGetPhysicalDeviceImageFormatProperties( physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
  867. }
  868. void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
  869. {
  870. return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
  871. }
  872. void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice physicalDevice,
  873. uint32_t * pQueueFamilyPropertyCount,
  874. VkQueueFamilyProperties * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
  875. {
  876. return ::vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
  877. }
  878. void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
  879. {
  880. return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
  881. }
  882. PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
  883. {
  884. return ::vkGetInstanceProcAddr( instance, pName );
  885. }
  886. PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
  887. {
  888. return ::vkGetDeviceProcAddr( device, pName );
  889. }
  890. VkResult vkCreateDevice( VkPhysicalDevice physicalDevice,
  891. const VkDeviceCreateInfo * pCreateInfo,
  892. const VkAllocationCallbacks * pAllocator,
  893. VkDevice * pDevice ) const VULKAN_HPP_NOEXCEPT
  894. {
  895. return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
  896. }
  897. void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  898. {
  899. return ::vkDestroyDevice( device, pAllocator );
  900. }
  901. VkResult vkEnumerateInstanceExtensionProperties( const char * pLayerName,
  902. uint32_t * pPropertyCount,
  903. VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
  904. {
  905. return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
  906. }
  907. VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice physicalDevice,
  908. const char * pLayerName,
  909. uint32_t * pPropertyCount,
  910. VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
  911. {
  912. return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
  913. }
  914. VkResult vkEnumerateInstanceLayerProperties( uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
  915. {
  916. return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
  917. }
  918. VkResult
  919. vkEnumerateDeviceLayerProperties( VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
  920. {
  921. return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
  922. }
  923. void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
  924. {
  925. return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
  926. }
  927. VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
  928. {
  929. return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
  930. }
  931. VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
  932. {
  933. return ::vkQueueWaitIdle( queue );
  934. }
  935. VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
  936. {
  937. return ::vkDeviceWaitIdle( device );
  938. }
  939. VkResult vkAllocateMemory( VkDevice device,
  940. const VkMemoryAllocateInfo * pAllocateInfo,
  941. const VkAllocationCallbacks * pAllocator,
  942. VkDeviceMemory * pMemory ) const VULKAN_HPP_NOEXCEPT
  943. {
  944. return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
  945. }
  946. void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  947. {
  948. return ::vkFreeMemory( device, memory, pAllocator );
  949. }
  950. VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData ) const
  951. VULKAN_HPP_NOEXCEPT
  952. {
  953. return ::vkMapMemory( device, memory, offset, size, flags, ppData );
  954. }
  955. void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
  956. {
  957. return ::vkUnmapMemory( device, memory );
  958. }
  959. VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
  960. {
  961. return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
  962. }
  963. VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
  964. {
  965. return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
  966. }
  967. void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
  968. {
  969. return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
  970. }
  971. VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
  972. {
  973. return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
  974. }
  975. VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
  976. {
  977. return ::vkBindImageMemory( device, image, memory, memoryOffset );
  978. }
  979. void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  980. {
  981. return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
  982. }
  983. void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  984. {
  985. return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
  986. }
  987. void vkGetImageSparseMemoryRequirements( VkDevice device,
  988. VkImage image,
  989. uint32_t * pSparseMemoryRequirementCount,
  990. VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  991. {
  992. return ::vkGetImageSparseMemoryRequirements( device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
  993. }
  994. void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice physicalDevice,
  995. VkFormat format,
  996. VkImageType type,
  997. VkSampleCountFlagBits samples,
  998. VkImageUsageFlags usage,
  999. VkImageTiling tiling,
  1000. uint32_t * pPropertyCount,
  1001. VkSparseImageFormatProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
  1002. {
  1003. return ::vkGetPhysicalDeviceSparseImageFormatProperties( physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
  1004. }
  1005. VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence ) const VULKAN_HPP_NOEXCEPT
  1006. {
  1007. return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
  1008. }
  1009. VkResult vkCreateFence( VkDevice device,
  1010. const VkFenceCreateInfo * pCreateInfo,
  1011. const VkAllocationCallbacks * pAllocator,
  1012. VkFence * pFence ) const VULKAN_HPP_NOEXCEPT
  1013. {
  1014. return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
  1015. }
  1016. void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1017. {
  1018. return ::vkDestroyFence( device, fence, pAllocator );
  1019. }
  1020. VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
  1021. {
  1022. return ::vkResetFences( device, fenceCount, pFences );
  1023. }
  1024. VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
  1025. {
  1026. return ::vkGetFenceStatus( device, fence );
  1027. }
  1028. VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
  1029. {
  1030. return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
  1031. }
  1032. VkResult vkCreateSemaphore( VkDevice device,
  1033. const VkSemaphoreCreateInfo * pCreateInfo,
  1034. const VkAllocationCallbacks * pAllocator,
  1035. VkSemaphore * pSemaphore ) const VULKAN_HPP_NOEXCEPT
  1036. {
  1037. return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
  1038. }
  1039. void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1040. {
  1041. return ::vkDestroySemaphore( device, semaphore, pAllocator );
  1042. }
  1043. VkResult vkCreateEvent( VkDevice device,
  1044. const VkEventCreateInfo * pCreateInfo,
  1045. const VkAllocationCallbacks * pAllocator,
  1046. VkEvent * pEvent ) const VULKAN_HPP_NOEXCEPT
  1047. {
  1048. return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
  1049. }
  1050. void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1051. {
  1052. return ::vkDestroyEvent( device, event, pAllocator );
  1053. }
  1054. VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
  1055. {
  1056. return ::vkGetEventStatus( device, event );
  1057. }
  1058. VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
  1059. {
  1060. return ::vkSetEvent( device, event );
  1061. }
  1062. VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
  1063. {
  1064. return ::vkResetEvent( device, event );
  1065. }
  1066. VkResult vkCreateQueryPool( VkDevice device,
  1067. const VkQueryPoolCreateInfo * pCreateInfo,
  1068. const VkAllocationCallbacks * pAllocator,
  1069. VkQueryPool * pQueryPool ) const VULKAN_HPP_NOEXCEPT
  1070. {
  1071. return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
  1072. }
  1073. void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1074. {
  1075. return ::vkDestroyQueryPool( device, queryPool, pAllocator );
  1076. }
  1077. VkResult vkGetQueryPoolResults( VkDevice device,
  1078. VkQueryPool queryPool,
  1079. uint32_t firstQuery,
  1080. uint32_t queryCount,
  1081. size_t dataSize,
  1082. void * pData,
  1083. VkDeviceSize stride,
  1084. VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
  1085. {
  1086. return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
  1087. }
  1088. VkResult vkCreateBuffer( VkDevice device,
  1089. const VkBufferCreateInfo * pCreateInfo,
  1090. const VkAllocationCallbacks * pAllocator,
  1091. VkBuffer * pBuffer ) const VULKAN_HPP_NOEXCEPT
  1092. {
  1093. return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
  1094. }
  1095. void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1096. {
  1097. return ::vkDestroyBuffer( device, buffer, pAllocator );
  1098. }
  1099. VkResult vkCreateBufferView( VkDevice device,
  1100. const VkBufferViewCreateInfo * pCreateInfo,
  1101. const VkAllocationCallbacks * pAllocator,
  1102. VkBufferView * pView ) const VULKAN_HPP_NOEXCEPT
  1103. {
  1104. return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
  1105. }
  1106. void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1107. {
  1108. return ::vkDestroyBufferView( device, bufferView, pAllocator );
  1109. }
  1110. VkResult vkCreateImage( VkDevice device,
  1111. const VkImageCreateInfo * pCreateInfo,
  1112. const VkAllocationCallbacks * pAllocator,
  1113. VkImage * pImage ) const VULKAN_HPP_NOEXCEPT
  1114. {
  1115. return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
  1116. }
  1117. void vkDestroyImage( VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1118. {
  1119. return ::vkDestroyImage( device, image, pAllocator );
  1120. }
  1121. void vkGetImageSubresourceLayout( VkDevice device,
  1122. VkImage image,
  1123. const VkImageSubresource * pSubresource,
  1124. VkSubresourceLayout * pLayout ) const VULKAN_HPP_NOEXCEPT
  1125. {
  1126. return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
  1127. }
  1128. VkResult vkCreateImageView( VkDevice device,
  1129. const VkImageViewCreateInfo * pCreateInfo,
  1130. const VkAllocationCallbacks * pAllocator,
  1131. VkImageView * pView ) const VULKAN_HPP_NOEXCEPT
  1132. {
  1133. return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
  1134. }
  1135. void vkDestroyImageView( VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1136. {
  1137. return ::vkDestroyImageView( device, imageView, pAllocator );
  1138. }
  1139. VkResult vkCreateShaderModule( VkDevice device,
  1140. const VkShaderModuleCreateInfo * pCreateInfo,
  1141. const VkAllocationCallbacks * pAllocator,
  1142. VkShaderModule * pShaderModule ) const VULKAN_HPP_NOEXCEPT
  1143. {
  1144. return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
  1145. }
  1146. void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1147. {
  1148. return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
  1149. }
  1150. VkResult vkCreatePipelineCache( VkDevice device,
  1151. const VkPipelineCacheCreateInfo * pCreateInfo,
  1152. const VkAllocationCallbacks * pAllocator,
  1153. VkPipelineCache * pPipelineCache ) const VULKAN_HPP_NOEXCEPT
  1154. {
  1155. return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
  1156. }
  1157. void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1158. {
  1159. return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
  1160. }
  1161. VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
  1162. {
  1163. return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
  1164. }
  1165. VkResult
  1166. vkMergePipelineCaches( VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
  1167. {
  1168. return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
  1169. }
  1170. VkResult vkCreateGraphicsPipelines( VkDevice device,
  1171. VkPipelineCache pipelineCache,
  1172. uint32_t createInfoCount,
  1173. const VkGraphicsPipelineCreateInfo * pCreateInfos,
  1174. const VkAllocationCallbacks * pAllocator,
  1175. VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
  1176. {
  1177. return ::vkCreateGraphicsPipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
  1178. }
  1179. VkResult vkCreateComputePipelines( VkDevice device,
  1180. VkPipelineCache pipelineCache,
  1181. uint32_t createInfoCount,
  1182. const VkComputePipelineCreateInfo * pCreateInfos,
  1183. const VkAllocationCallbacks * pAllocator,
  1184. VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
  1185. {
  1186. return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
  1187. }
  1188. void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1189. {
  1190. return ::vkDestroyPipeline( device, pipeline, pAllocator );
  1191. }
  1192. VkResult vkCreatePipelineLayout( VkDevice device,
  1193. const VkPipelineLayoutCreateInfo * pCreateInfo,
  1194. const VkAllocationCallbacks * pAllocator,
  1195. VkPipelineLayout * pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
  1196. {
  1197. return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
  1198. }
  1199. void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1200. {
  1201. return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
  1202. }
  1203. VkResult vkCreateSampler( VkDevice device,
  1204. const VkSamplerCreateInfo * pCreateInfo,
  1205. const VkAllocationCallbacks * pAllocator,
  1206. VkSampler * pSampler ) const VULKAN_HPP_NOEXCEPT
  1207. {
  1208. return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
  1209. }
  1210. void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1211. {
  1212. return ::vkDestroySampler( device, sampler, pAllocator );
  1213. }
  1214. VkResult vkCreateDescriptorSetLayout( VkDevice device,
  1215. const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
  1216. const VkAllocationCallbacks * pAllocator,
  1217. VkDescriptorSetLayout * pSetLayout ) const VULKAN_HPP_NOEXCEPT
  1218. {
  1219. return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
  1220. }
  1221. void vkDestroyDescriptorSetLayout( VkDevice device,
  1222. VkDescriptorSetLayout descriptorSetLayout,
  1223. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1224. {
  1225. return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
  1226. }
  1227. VkResult vkCreateDescriptorPool( VkDevice device,
  1228. const VkDescriptorPoolCreateInfo * pCreateInfo,
  1229. const VkAllocationCallbacks * pAllocator,
  1230. VkDescriptorPool * pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
  1231. {
  1232. return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
  1233. }
  1234. void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1235. {
  1236. return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
  1237. }
  1238. VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
  1239. {
  1240. return ::vkResetDescriptorPool( device, descriptorPool, flags );
  1241. }
  1242. VkResult vkAllocateDescriptorSets( VkDevice device,
  1243. const VkDescriptorSetAllocateInfo * pAllocateInfo,
  1244. VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
  1245. {
  1246. return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
  1247. }
  1248. VkResult vkFreeDescriptorSets( VkDevice device,
  1249. VkDescriptorPool descriptorPool,
  1250. uint32_t descriptorSetCount,
  1251. const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
  1252. {
  1253. return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
  1254. }
  1255. void vkUpdateDescriptorSets( VkDevice device,
  1256. uint32_t descriptorWriteCount,
  1257. const VkWriteDescriptorSet * pDescriptorWrites,
  1258. uint32_t descriptorCopyCount,
  1259. const VkCopyDescriptorSet * pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
  1260. {
  1261. return ::vkUpdateDescriptorSets( device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
  1262. }
  1263. VkResult vkCreateFramebuffer( VkDevice device,
  1264. const VkFramebufferCreateInfo * pCreateInfo,
  1265. const VkAllocationCallbacks * pAllocator,
  1266. VkFramebuffer * pFramebuffer ) const VULKAN_HPP_NOEXCEPT
  1267. {
  1268. return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
  1269. }
  1270. void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1271. {
  1272. return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
  1273. }
  1274. VkResult vkCreateRenderPass( VkDevice device,
  1275. const VkRenderPassCreateInfo * pCreateInfo,
  1276. const VkAllocationCallbacks * pAllocator,
  1277. VkRenderPass * pRenderPass ) const VULKAN_HPP_NOEXCEPT
  1278. {
  1279. return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
  1280. }
  1281. void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1282. {
  1283. return ::vkDestroyRenderPass( device, renderPass, pAllocator );
  1284. }
  1285. void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
  1286. {
  1287. return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
  1288. }
  1289. VkResult vkCreateCommandPool( VkDevice device,
  1290. const VkCommandPoolCreateInfo * pCreateInfo,
  1291. const VkAllocationCallbacks * pAllocator,
  1292. VkCommandPool * pCommandPool ) const VULKAN_HPP_NOEXCEPT
  1293. {
  1294. return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
  1295. }
  1296. void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1297. {
  1298. return ::vkDestroyCommandPool( device, commandPool, pAllocator );
  1299. }
  1300. VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
  1301. {
  1302. return ::vkResetCommandPool( device, commandPool, flags );
  1303. }
  1304. VkResult vkAllocateCommandBuffers( VkDevice device,
  1305. const VkCommandBufferAllocateInfo * pAllocateInfo,
  1306. VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
  1307. {
  1308. return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
  1309. }
  1310. void vkFreeCommandBuffers( VkDevice device,
  1311. VkCommandPool commandPool,
  1312. uint32_t commandBufferCount,
  1313. const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
  1314. {
  1315. return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
  1316. }
  1317. VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
  1318. {
  1319. return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
  1320. }
  1321. VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  1322. {
  1323. return ::vkEndCommandBuffer( commandBuffer );
  1324. }
  1325. VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
  1326. {
  1327. return ::vkResetCommandBuffer( commandBuffer, flags );
  1328. }
  1329. void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
  1330. {
  1331. return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
  1332. }
  1333. void
  1334. vkCmdSetViewport( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
  1335. {
  1336. return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
  1337. }
  1338. void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
  1339. {
  1340. return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
  1341. }
  1342. void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
  1343. {
  1344. return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
  1345. }
  1346. void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
  1347. float depthBiasConstantFactor,
  1348. float depthBiasClamp,
  1349. float depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
  1350. {
  1351. return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
  1352. }
  1353. void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
  1354. {
  1355. return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
  1356. }
  1357. void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
  1358. {
  1359. return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
  1360. }
  1361. void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT
  1362. {
  1363. return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
  1364. }
  1365. void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT
  1366. {
  1367. return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
  1368. }
  1369. void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference ) const VULKAN_HPP_NOEXCEPT
  1370. {
  1371. return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
  1372. }
  1373. void vkCmdBindDescriptorSets( VkCommandBuffer commandBuffer,
  1374. VkPipelineBindPoint pipelineBindPoint,
  1375. VkPipelineLayout layout,
  1376. uint32_t firstSet,
  1377. uint32_t descriptorSetCount,
  1378. const VkDescriptorSet * pDescriptorSets,
  1379. uint32_t dynamicOffsetCount,
  1380. const uint32_t * pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
  1381. {
  1382. return ::vkCmdBindDescriptorSets(
  1383. commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets );
  1384. }
  1385. void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) const VULKAN_HPP_NOEXCEPT
  1386. {
  1387. return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
  1388. }
  1389. void vkCmdBindVertexBuffers( VkCommandBuffer commandBuffer,
  1390. uint32_t firstBinding,
  1391. uint32_t bindingCount,
  1392. const VkBuffer * pBuffers,
  1393. const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
  1394. {
  1395. return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
  1396. }
  1397. void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const
  1398. VULKAN_HPP_NOEXCEPT
  1399. {
  1400. return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
  1401. }
  1402. void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
  1403. uint32_t indexCount,
  1404. uint32_t instanceCount,
  1405. uint32_t firstIndex,
  1406. int32_t vertexOffset,
  1407. uint32_t firstInstance ) const VULKAN_HPP_NOEXCEPT
  1408. {
  1409. return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
  1410. }
  1411. void vkCmdDrawIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  1412. {
  1413. return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
  1414. }
  1415. void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
  1416. VULKAN_HPP_NOEXCEPT
  1417. {
  1418. return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
  1419. }
  1420. void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
  1421. {
  1422. return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
  1423. }
  1424. void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
  1425. {
  1426. return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
  1427. }
  1428. void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions ) const
  1429. VULKAN_HPP_NOEXCEPT
  1430. {
  1431. return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
  1432. }
  1433. void vkCmdCopyImage( VkCommandBuffer commandBuffer,
  1434. VkImage srcImage,
  1435. VkImageLayout srcImageLayout,
  1436. VkImage dstImage,
  1437. VkImageLayout dstImageLayout,
  1438. uint32_t regionCount,
  1439. const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
  1440. {
  1441. return ::vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
  1442. }
  1443. void vkCmdBlitImage( VkCommandBuffer commandBuffer,
  1444. VkImage srcImage,
  1445. VkImageLayout srcImageLayout,
  1446. VkImage dstImage,
  1447. VkImageLayout dstImageLayout,
  1448. uint32_t regionCount,
  1449. const VkImageBlit * pRegions,
  1450. VkFilter filter ) const VULKAN_HPP_NOEXCEPT
  1451. {
  1452. return ::vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
  1453. }
  1454. void vkCmdCopyBufferToImage( VkCommandBuffer commandBuffer,
  1455. VkBuffer srcBuffer,
  1456. VkImage dstImage,
  1457. VkImageLayout dstImageLayout,
  1458. uint32_t regionCount,
  1459. const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
  1460. {
  1461. return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
  1462. }
  1463. void vkCmdCopyImageToBuffer( VkCommandBuffer commandBuffer,
  1464. VkImage srcImage,
  1465. VkImageLayout srcImageLayout,
  1466. VkBuffer dstBuffer,
  1467. uint32_t regionCount,
  1468. const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
  1469. {
  1470. return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
  1471. }
  1472. void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData ) const
  1473. VULKAN_HPP_NOEXCEPT
  1474. {
  1475. return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
  1476. }
  1477. void
  1478. vkCmdFillBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) const VULKAN_HPP_NOEXCEPT
  1479. {
  1480. return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
  1481. }
  1482. void vkCmdClearColorImage( VkCommandBuffer commandBuffer,
  1483. VkImage image,
  1484. VkImageLayout imageLayout,
  1485. const VkClearColorValue * pColor,
  1486. uint32_t rangeCount,
  1487. const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
  1488. {
  1489. return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
  1490. }
  1491. void vkCmdClearDepthStencilImage( VkCommandBuffer commandBuffer,
  1492. VkImage image,
  1493. VkImageLayout imageLayout,
  1494. const VkClearDepthStencilValue * pDepthStencil,
  1495. uint32_t rangeCount,
  1496. const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
  1497. {
  1498. return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
  1499. }
  1500. void vkCmdClearAttachments( VkCommandBuffer commandBuffer,
  1501. uint32_t attachmentCount,
  1502. const VkClearAttachment * pAttachments,
  1503. uint32_t rectCount,
  1504. const VkClearRect * pRects ) const VULKAN_HPP_NOEXCEPT
  1505. {
  1506. return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
  1507. }
  1508. void vkCmdResolveImage( VkCommandBuffer commandBuffer,
  1509. VkImage srcImage,
  1510. VkImageLayout srcImageLayout,
  1511. VkImage dstImage,
  1512. VkImageLayout dstImageLayout,
  1513. uint32_t regionCount,
  1514. const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
  1515. {
  1516. return ::vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
  1517. }
  1518. void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
  1519. {
  1520. return ::vkCmdSetEvent( commandBuffer, event, stageMask );
  1521. }
  1522. void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
  1523. {
  1524. return ::vkCmdResetEvent( commandBuffer, event, stageMask );
  1525. }
  1526. void vkCmdWaitEvents( VkCommandBuffer commandBuffer,
  1527. uint32_t eventCount,
  1528. const VkEvent * pEvents,
  1529. VkPipelineStageFlags srcStageMask,
  1530. VkPipelineStageFlags dstStageMask,
  1531. uint32_t memoryBarrierCount,
  1532. const VkMemoryBarrier * pMemoryBarriers,
  1533. uint32_t bufferMemoryBarrierCount,
  1534. const VkBufferMemoryBarrier * pBufferMemoryBarriers,
  1535. uint32_t imageMemoryBarrierCount,
  1536. const VkImageMemoryBarrier * pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
  1537. {
  1538. return ::vkCmdWaitEvents( commandBuffer,
  1539. eventCount,
  1540. pEvents,
  1541. srcStageMask,
  1542. dstStageMask,
  1543. memoryBarrierCount,
  1544. pMemoryBarriers,
  1545. bufferMemoryBarrierCount,
  1546. pBufferMemoryBarriers,
  1547. imageMemoryBarrierCount,
  1548. pImageMemoryBarriers );
  1549. }
  1550. void vkCmdPipelineBarrier( VkCommandBuffer commandBuffer,
  1551. VkPipelineStageFlags srcStageMask,
  1552. VkPipelineStageFlags dstStageMask,
  1553. VkDependencyFlags dependencyFlags,
  1554. uint32_t memoryBarrierCount,
  1555. const VkMemoryBarrier * pMemoryBarriers,
  1556. uint32_t bufferMemoryBarrierCount,
  1557. const VkBufferMemoryBarrier * pBufferMemoryBarriers,
  1558. uint32_t imageMemoryBarrierCount,
  1559. const VkImageMemoryBarrier * pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
  1560. {
  1561. return ::vkCmdPipelineBarrier( commandBuffer,
  1562. srcStageMask,
  1563. dstStageMask,
  1564. dependencyFlags,
  1565. memoryBarrierCount,
  1566. pMemoryBarriers,
  1567. bufferMemoryBarrierCount,
  1568. pBufferMemoryBarriers,
  1569. imageMemoryBarrierCount,
  1570. pImageMemoryBarriers );
  1571. }
  1572. void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
  1573. {
  1574. return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
  1575. }
  1576. void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
  1577. {
  1578. return ::vkCmdEndQuery( commandBuffer, queryPool, query );
  1579. }
  1580. void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
  1581. {
  1582. return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
  1583. }
  1584. void vkCmdWriteTimestamp( VkCommandBuffer commandBuffer,
  1585. VkPipelineStageFlagBits pipelineStage,
  1586. VkQueryPool queryPool,
  1587. uint32_t query ) const VULKAN_HPP_NOEXCEPT
  1588. {
  1589. return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
  1590. }
  1591. void vkCmdCopyQueryPoolResults( VkCommandBuffer commandBuffer,
  1592. VkQueryPool queryPool,
  1593. uint32_t firstQuery,
  1594. uint32_t queryCount,
  1595. VkBuffer dstBuffer,
  1596. VkDeviceSize dstOffset,
  1597. VkDeviceSize stride,
  1598. VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
  1599. {
  1600. return ::vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
  1601. }
  1602. void vkCmdPushConstants( VkCommandBuffer commandBuffer,
  1603. VkPipelineLayout layout,
  1604. VkShaderStageFlags stageFlags,
  1605. uint32_t offset,
  1606. uint32_t size,
  1607. const void * pValues ) const VULKAN_HPP_NOEXCEPT
  1608. {
  1609. return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
  1610. }
  1611. void vkCmdBeginRenderPass( VkCommandBuffer commandBuffer,
  1612. const VkRenderPassBeginInfo * pRenderPassBegin,
  1613. VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
  1614. {
  1615. return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
  1616. }
  1617. void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
  1618. {
  1619. return ::vkCmdNextSubpass( commandBuffer, contents );
  1620. }
  1621. void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  1622. {
  1623. return ::vkCmdEndRenderPass( commandBuffer );
  1624. }
  1625. void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
  1626. {
  1627. return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
  1628. }
  1629. //=== VK_VERSION_1_1 ===
  1630. VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
  1631. {
  1632. return ::vkEnumerateInstanceVersion( pApiVersion );
  1633. }
  1634. VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
  1635. {
  1636. return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
  1637. }
  1638. VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
  1639. {
  1640. return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
  1641. }
  1642. void vkGetDeviceGroupPeerMemoryFeatures( VkDevice device,
  1643. uint32_t heapIndex,
  1644. uint32_t localDeviceIndex,
  1645. uint32_t remoteDeviceIndex,
  1646. VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
  1647. {
  1648. return ::vkGetDeviceGroupPeerMemoryFeatures( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
  1649. }
  1650. void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
  1651. {
  1652. return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
  1653. }
  1654. void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
  1655. uint32_t baseGroupX,
  1656. uint32_t baseGroupY,
  1657. uint32_t baseGroupZ,
  1658. uint32_t groupCountX,
  1659. uint32_t groupCountY,
  1660. uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
  1661. {
  1662. return ::vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
  1663. }
  1664. VkResult vkEnumeratePhysicalDeviceGroups( VkInstance instance,
  1665. uint32_t * pPhysicalDeviceGroupCount,
  1666. VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
  1667. {
  1668. return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
  1669. }
  1670. void vkGetImageMemoryRequirements2( VkDevice device,
  1671. const VkImageMemoryRequirementsInfo2 * pInfo,
  1672. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  1673. {
  1674. return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
  1675. }
  1676. void vkGetBufferMemoryRequirements2( VkDevice device,
  1677. const VkBufferMemoryRequirementsInfo2 * pInfo,
  1678. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  1679. {
  1680. return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
  1681. }
  1682. void vkGetImageSparseMemoryRequirements2( VkDevice device,
  1683. const VkImageSparseMemoryRequirementsInfo2 * pInfo,
  1684. uint32_t * pSparseMemoryRequirementCount,
  1685. VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  1686. {
  1687. return ::vkGetImageSparseMemoryRequirements2( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
  1688. }
  1689. void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
  1690. {
  1691. return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
  1692. }
  1693. void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
  1694. {
  1695. return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
  1696. }
  1697. void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice physicalDevice,
  1698. VkFormat format,
  1699. VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
  1700. {
  1701. return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
  1702. }
  1703. VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice physicalDevice,
  1704. const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
  1705. VkImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
  1706. {
  1707. return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
  1708. }
  1709. void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice physicalDevice,
  1710. uint32_t * pQueueFamilyPropertyCount,
  1711. VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
  1712. {
  1713. return ::vkGetPhysicalDeviceQueueFamilyProperties2( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
  1714. }
  1715. void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice physicalDevice,
  1716. VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
  1717. {
  1718. return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
  1719. }
  1720. void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice physicalDevice,
  1721. const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
  1722. uint32_t * pPropertyCount,
  1723. VkSparseImageFormatProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
  1724. {
  1725. return ::vkGetPhysicalDeviceSparseImageFormatProperties2( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
  1726. }
  1727. void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
  1728. {
  1729. return ::vkTrimCommandPool( device, commandPool, flags );
  1730. }
  1731. void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
  1732. {
  1733. return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
  1734. }
  1735. VkResult vkCreateSamplerYcbcrConversion( VkDevice device,
  1736. const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
  1737. const VkAllocationCallbacks * pAllocator,
  1738. VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
  1739. {
  1740. return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
  1741. }
  1742. void vkDestroySamplerYcbcrConversion( VkDevice device,
  1743. VkSamplerYcbcrConversion ycbcrConversion,
  1744. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1745. {
  1746. return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
  1747. }
  1748. VkResult vkCreateDescriptorUpdateTemplate( VkDevice device,
  1749. const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
  1750. const VkAllocationCallbacks * pAllocator,
  1751. VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
  1752. {
  1753. return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
  1754. }
  1755. void vkDestroyDescriptorUpdateTemplate( VkDevice device,
  1756. VkDescriptorUpdateTemplate descriptorUpdateTemplate,
  1757. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1758. {
  1759. return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
  1760. }
  1761. void vkUpdateDescriptorSetWithTemplate( VkDevice device,
  1762. VkDescriptorSet descriptorSet,
  1763. VkDescriptorUpdateTemplate descriptorUpdateTemplate,
  1764. const void * pData ) const VULKAN_HPP_NOEXCEPT
  1765. {
  1766. return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
  1767. }
  1768. void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice physicalDevice,
  1769. const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
  1770. VkExternalBufferProperties * pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
  1771. {
  1772. return ::vkGetPhysicalDeviceExternalBufferProperties( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
  1773. }
  1774. void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice physicalDevice,
  1775. const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
  1776. VkExternalFenceProperties * pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
  1777. {
  1778. return ::vkGetPhysicalDeviceExternalFenceProperties( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
  1779. }
  1780. void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice physicalDevice,
  1781. const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
  1782. VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
  1783. {
  1784. return ::vkGetPhysicalDeviceExternalSemaphoreProperties( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
  1785. }
  1786. void vkGetDescriptorSetLayoutSupport( VkDevice device,
  1787. const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
  1788. VkDescriptorSetLayoutSupport * pSupport ) const VULKAN_HPP_NOEXCEPT
  1789. {
  1790. return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
  1791. }
  1792. //=== VK_VERSION_1_2 ===
  1793. void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
  1794. VkBuffer buffer,
  1795. VkDeviceSize offset,
  1796. VkBuffer countBuffer,
  1797. VkDeviceSize countBufferOffset,
  1798. uint32_t maxDrawCount,
  1799. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  1800. {
  1801. return ::vkCmdDrawIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  1802. }
  1803. void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
  1804. VkBuffer buffer,
  1805. VkDeviceSize offset,
  1806. VkBuffer countBuffer,
  1807. VkDeviceSize countBufferOffset,
  1808. uint32_t maxDrawCount,
  1809. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  1810. {
  1811. return ::vkCmdDrawIndexedIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  1812. }
  1813. VkResult vkCreateRenderPass2( VkDevice device,
  1814. const VkRenderPassCreateInfo2 * pCreateInfo,
  1815. const VkAllocationCallbacks * pAllocator,
  1816. VkRenderPass * pRenderPass ) const VULKAN_HPP_NOEXCEPT
  1817. {
  1818. return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
  1819. }
  1820. void vkCmdBeginRenderPass2( VkCommandBuffer commandBuffer,
  1821. const VkRenderPassBeginInfo * pRenderPassBegin,
  1822. const VkSubpassBeginInfo * pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
  1823. {
  1824. return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
  1825. }
  1826. void vkCmdNextSubpass2( VkCommandBuffer commandBuffer,
  1827. const VkSubpassBeginInfo * pSubpassBeginInfo,
  1828. const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
  1829. {
  1830. return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
  1831. }
  1832. void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
  1833. {
  1834. return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
  1835. }
  1836. void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
  1837. {
  1838. return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
  1839. }
  1840. VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
  1841. {
  1842. return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
  1843. }
  1844. VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
  1845. {
  1846. return ::vkWaitSemaphores( device, pWaitInfo, timeout );
  1847. }
  1848. VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
  1849. {
  1850. return ::vkSignalSemaphore( device, pSignalInfo );
  1851. }
  1852. VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
  1853. {
  1854. return ::vkGetBufferDeviceAddress( device, pInfo );
  1855. }
  1856. uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
  1857. {
  1858. return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
  1859. }
  1860. uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
  1861. {
  1862. return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
  1863. }
  1864. //=== VK_VERSION_1_3 ===
  1865. VkResult vkGetPhysicalDeviceToolProperties( VkPhysicalDevice physicalDevice,
  1866. uint32_t * pToolCount,
  1867. VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
  1868. {
  1869. return ::vkGetPhysicalDeviceToolProperties( physicalDevice, pToolCount, pToolProperties );
  1870. }
  1871. VkResult vkCreatePrivateDataSlot( VkDevice device,
  1872. const VkPrivateDataSlotCreateInfo * pCreateInfo,
  1873. const VkAllocationCallbacks * pAllocator,
  1874. VkPrivateDataSlot * pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
  1875. {
  1876. return ::vkCreatePrivateDataSlot( device, pCreateInfo, pAllocator, pPrivateDataSlot );
  1877. }
  1878. void vkDestroyPrivateDataSlot( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  1879. {
  1880. return ::vkDestroyPrivateDataSlot( device, privateDataSlot, pAllocator );
  1881. }
  1882. VkResult vkSetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
  1883. VULKAN_HPP_NOEXCEPT
  1884. {
  1885. return ::vkSetPrivateData( device, objectType, objectHandle, privateDataSlot, data );
  1886. }
  1887. void vkGetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
  1888. VULKAN_HPP_NOEXCEPT
  1889. {
  1890. return ::vkGetPrivateData( device, objectType, objectHandle, privateDataSlot, pData );
  1891. }
  1892. void vkCmdSetEvent2( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
  1893. {
  1894. return ::vkCmdSetEvent2( commandBuffer, event, pDependencyInfo );
  1895. }
  1896. void vkCmdResetEvent2( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
  1897. {
  1898. return ::vkCmdResetEvent2( commandBuffer, event, stageMask );
  1899. }
  1900. void vkCmdWaitEvents2( VkCommandBuffer commandBuffer,
  1901. uint32_t eventCount,
  1902. const VkEvent * pEvents,
  1903. const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
  1904. {
  1905. return ::vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos );
  1906. }
  1907. void vkCmdPipelineBarrier2( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
  1908. {
  1909. return ::vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo );
  1910. }
  1911. void vkCmdWriteTimestamp2( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
  1912. {
  1913. return ::vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query );
  1914. }
  1915. VkResult vkQueueSubmit2( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
  1916. {
  1917. return ::vkQueueSubmit2( queue, submitCount, pSubmits, fence );
  1918. }
  1919. void vkCmdCopyBuffer2( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
  1920. {
  1921. return ::vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo );
  1922. }
  1923. void vkCmdCopyImage2( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
  1924. {
  1925. return ::vkCmdCopyImage2( commandBuffer, pCopyImageInfo );
  1926. }
  1927. void vkCmdCopyBufferToImage2( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
  1928. {
  1929. return ::vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo );
  1930. }
  1931. void vkCmdCopyImageToBuffer2( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
  1932. {
  1933. return ::vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo );
  1934. }
  1935. void vkCmdBlitImage2( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
  1936. {
  1937. return ::vkCmdBlitImage2( commandBuffer, pBlitImageInfo );
  1938. }
  1939. void vkCmdResolveImage2( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
  1940. {
  1941. return ::vkCmdResolveImage2( commandBuffer, pResolveImageInfo );
  1942. }
  1943. void vkCmdBeginRendering( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
  1944. {
  1945. return ::vkCmdBeginRendering( commandBuffer, pRenderingInfo );
  1946. }
  1947. void vkCmdEndRendering( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  1948. {
  1949. return ::vkCmdEndRendering( commandBuffer );
  1950. }
  1951. void vkCmdSetCullMode( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
  1952. {
  1953. return ::vkCmdSetCullMode( commandBuffer, cullMode );
  1954. }
  1955. void vkCmdSetFrontFace( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
  1956. {
  1957. return ::vkCmdSetFrontFace( commandBuffer, frontFace );
  1958. }
  1959. void vkCmdSetPrimitiveTopology( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
  1960. {
  1961. return ::vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology );
  1962. }
  1963. void vkCmdSetViewportWithCount( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
  1964. {
  1965. return ::vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports );
  1966. }
  1967. void vkCmdSetScissorWithCount( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
  1968. {
  1969. return ::vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors );
  1970. }
  1971. void vkCmdBindVertexBuffers2( VkCommandBuffer commandBuffer,
  1972. uint32_t firstBinding,
  1973. uint32_t bindingCount,
  1974. const VkBuffer * pBuffers,
  1975. const VkDeviceSize * pOffsets,
  1976. const VkDeviceSize * pSizes,
  1977. const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
  1978. {
  1979. return ::vkCmdBindVertexBuffers2( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
  1980. }
  1981. void vkCmdSetDepthTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
  1982. {
  1983. return ::vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable );
  1984. }
  1985. void vkCmdSetDepthWriteEnable( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
  1986. {
  1987. return ::vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable );
  1988. }
  1989. void vkCmdSetDepthCompareOp( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
  1990. {
  1991. return ::vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp );
  1992. }
  1993. void vkCmdSetDepthBoundsTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
  1994. {
  1995. return ::vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable );
  1996. }
  1997. void vkCmdSetStencilTestEnable( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
  1998. {
  1999. return ::vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable );
  2000. }
  2001. void vkCmdSetStencilOp( VkCommandBuffer commandBuffer,
  2002. VkStencilFaceFlags faceMask,
  2003. VkStencilOp failOp,
  2004. VkStencilOp passOp,
  2005. VkStencilOp depthFailOp,
  2006. VkCompareOp compareOp ) const VULKAN_HPP_NOEXCEPT
  2007. {
  2008. return ::vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
  2009. }
  2010. void vkCmdSetRasterizerDiscardEnable( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
  2011. {
  2012. return ::vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable );
  2013. }
  2014. void vkCmdSetDepthBiasEnable( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
  2015. {
  2016. return ::vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable );
  2017. }
  2018. void vkCmdSetPrimitiveRestartEnable( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
  2019. {
  2020. return ::vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable );
  2021. }
  2022. void vkGetDeviceBufferMemoryRequirements( VkDevice device,
  2023. const VkDeviceBufferMemoryRequirements * pInfo,
  2024. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  2025. {
  2026. return ::vkGetDeviceBufferMemoryRequirements( device, pInfo, pMemoryRequirements );
  2027. }
  2028. void vkGetDeviceImageMemoryRequirements( VkDevice device,
  2029. const VkDeviceImageMemoryRequirements * pInfo,
  2030. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  2031. {
  2032. return ::vkGetDeviceImageMemoryRequirements( device, pInfo, pMemoryRequirements );
  2033. }
  2034. void vkGetDeviceImageSparseMemoryRequirements( VkDevice device,
  2035. const VkDeviceImageMemoryRequirements * pInfo,
  2036. uint32_t * pSparseMemoryRequirementCount,
  2037. VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  2038. {
  2039. return ::vkGetDeviceImageSparseMemoryRequirements( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
  2040. }
  2041. //=== VK_KHR_surface ===
  2042. void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2043. {
  2044. return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
  2045. }
  2046. VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
  2047. uint32_t queueFamilyIndex,
  2048. VkSurfaceKHR surface,
  2049. VkBool32 * pSupported ) const VULKAN_HPP_NOEXCEPT
  2050. {
  2051. return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
  2052. }
  2053. VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice physicalDevice,
  2054. VkSurfaceKHR surface,
  2055. VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
  2056. {
  2057. return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
  2058. }
  2059. VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice physicalDevice,
  2060. VkSurfaceKHR surface,
  2061. uint32_t * pSurfaceFormatCount,
  2062. VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
  2063. {
  2064. return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
  2065. }
  2066. VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice physicalDevice,
  2067. VkSurfaceKHR surface,
  2068. uint32_t * pPresentModeCount,
  2069. VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
  2070. {
  2071. return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
  2072. }
  2073. //=== VK_KHR_swapchain ===
  2074. VkResult vkCreateSwapchainKHR( VkDevice device,
  2075. const VkSwapchainCreateInfoKHR * pCreateInfo,
  2076. const VkAllocationCallbacks * pAllocator,
  2077. VkSwapchainKHR * pSwapchain ) const VULKAN_HPP_NOEXCEPT
  2078. {
  2079. return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
  2080. }
  2081. void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2082. {
  2083. return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
  2084. }
  2085. VkResult vkGetSwapchainImagesKHR( VkDevice device,
  2086. VkSwapchainKHR swapchain,
  2087. uint32_t * pSwapchainImageCount,
  2088. VkImage * pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
  2089. {
  2090. return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
  2091. }
  2092. VkResult vkAcquireNextImageKHR(
  2093. VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
  2094. {
  2095. return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
  2096. }
  2097. VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
  2098. {
  2099. return ::vkQueuePresentKHR( queue, pPresentInfo );
  2100. }
  2101. VkResult vkGetDeviceGroupPresentCapabilitiesKHR( VkDevice device,
  2102. VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
  2103. {
  2104. return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
  2105. }
  2106. VkResult
  2107. vkGetDeviceGroupSurfacePresentModesKHR( VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
  2108. {
  2109. return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
  2110. }
  2111. VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
  2112. VkSurfaceKHR surface,
  2113. uint32_t * pRectCount,
  2114. VkRect2D * pRects ) const VULKAN_HPP_NOEXCEPT
  2115. {
  2116. return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
  2117. }
  2118. VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
  2119. {
  2120. return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
  2121. }
  2122. //=== VK_KHR_display ===
  2123. VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice physicalDevice,
  2124. uint32_t * pPropertyCount,
  2125. VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  2126. {
  2127. return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
  2128. }
  2129. VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice physicalDevice,
  2130. uint32_t * pPropertyCount,
  2131. VkDisplayPlanePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  2132. {
  2133. return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
  2134. }
  2135. VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
  2136. uint32_t planeIndex,
  2137. uint32_t * pDisplayCount,
  2138. VkDisplayKHR * pDisplays ) const VULKAN_HPP_NOEXCEPT
  2139. {
  2140. return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
  2141. }
  2142. VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice physicalDevice,
  2143. VkDisplayKHR display,
  2144. uint32_t * pPropertyCount,
  2145. VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  2146. {
  2147. return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
  2148. }
  2149. VkResult vkCreateDisplayModeKHR( VkPhysicalDevice physicalDevice,
  2150. VkDisplayKHR display,
  2151. const VkDisplayModeCreateInfoKHR * pCreateInfo,
  2152. const VkAllocationCallbacks * pAllocator,
  2153. VkDisplayModeKHR * pMode ) const VULKAN_HPP_NOEXCEPT
  2154. {
  2155. return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
  2156. }
  2157. VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice physicalDevice,
  2158. VkDisplayModeKHR mode,
  2159. uint32_t planeIndex,
  2160. VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
  2161. {
  2162. return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
  2163. }
  2164. VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance instance,
  2165. const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
  2166. const VkAllocationCallbacks * pAllocator,
  2167. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2168. {
  2169. return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
  2170. }
  2171. //=== VK_KHR_display_swapchain ===
  2172. VkResult vkCreateSharedSwapchainsKHR( VkDevice device,
  2173. uint32_t swapchainCount,
  2174. const VkSwapchainCreateInfoKHR * pCreateInfos,
  2175. const VkAllocationCallbacks * pAllocator,
  2176. VkSwapchainKHR * pSwapchains ) const VULKAN_HPP_NOEXCEPT
  2177. {
  2178. return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
  2179. }
  2180. # if defined( VK_USE_PLATFORM_XLIB_KHR )
  2181. //=== VK_KHR_xlib_surface ===
  2182. VkResult vkCreateXlibSurfaceKHR( VkInstance instance,
  2183. const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
  2184. const VkAllocationCallbacks * pAllocator,
  2185. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2186. {
  2187. return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
  2188. }
  2189. VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
  2190. uint32_t queueFamilyIndex,
  2191. Display * dpy,
  2192. VisualID visualID ) const VULKAN_HPP_NOEXCEPT
  2193. {
  2194. return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
  2195. }
  2196. # endif /*VK_USE_PLATFORM_XLIB_KHR*/
  2197. # if defined( VK_USE_PLATFORM_XCB_KHR )
  2198. //=== VK_KHR_xcb_surface ===
  2199. VkResult vkCreateXcbSurfaceKHR( VkInstance instance,
  2200. const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
  2201. const VkAllocationCallbacks * pAllocator,
  2202. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2203. {
  2204. return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
  2205. }
  2206. VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice physicalDevice,
  2207. uint32_t queueFamilyIndex,
  2208. xcb_connection_t * connection,
  2209. xcb_visualid_t visual_id ) const VULKAN_HPP_NOEXCEPT
  2210. {
  2211. return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
  2212. }
  2213. # endif /*VK_USE_PLATFORM_XCB_KHR*/
  2214. # if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  2215. //=== VK_KHR_wayland_surface ===
  2216. VkResult vkCreateWaylandSurfaceKHR( VkInstance instance,
  2217. const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
  2218. const VkAllocationCallbacks * pAllocator,
  2219. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2220. {
  2221. return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
  2222. }
  2223. VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice physicalDevice,
  2224. uint32_t queueFamilyIndex,
  2225. struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
  2226. {
  2227. return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
  2228. }
  2229. # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  2230. # if defined( VK_USE_PLATFORM_ANDROID_KHR )
  2231. //=== VK_KHR_android_surface ===
  2232. VkResult vkCreateAndroidSurfaceKHR( VkInstance instance,
  2233. const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
  2234. const VkAllocationCallbacks * pAllocator,
  2235. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2236. {
  2237. return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
  2238. }
  2239. # endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  2240. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  2241. //=== VK_KHR_win32_surface ===
  2242. VkResult vkCreateWin32SurfaceKHR( VkInstance instance,
  2243. const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
  2244. const VkAllocationCallbacks * pAllocator,
  2245. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2246. {
  2247. return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
  2248. }
  2249. VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
  2250. {
  2251. return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
  2252. }
  2253. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  2254. //=== VK_EXT_debug_report ===
  2255. VkResult vkCreateDebugReportCallbackEXT( VkInstance instance,
  2256. const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
  2257. const VkAllocationCallbacks * pAllocator,
  2258. VkDebugReportCallbackEXT * pCallback ) const VULKAN_HPP_NOEXCEPT
  2259. {
  2260. return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
  2261. }
  2262. void vkDestroyDebugReportCallbackEXT( VkInstance instance,
  2263. VkDebugReportCallbackEXT callback,
  2264. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2265. {
  2266. return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
  2267. }
  2268. void vkDebugReportMessageEXT( VkInstance instance,
  2269. VkDebugReportFlagsEXT flags,
  2270. VkDebugReportObjectTypeEXT objectType,
  2271. uint64_t object,
  2272. size_t location,
  2273. int32_t messageCode,
  2274. const char * pLayerPrefix,
  2275. const char * pMessage ) const VULKAN_HPP_NOEXCEPT
  2276. {
  2277. return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
  2278. }
  2279. //=== VK_EXT_debug_marker ===
  2280. VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
  2281. {
  2282. return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
  2283. }
  2284. VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
  2285. {
  2286. return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
  2287. }
  2288. void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
  2289. {
  2290. return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
  2291. }
  2292. void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  2293. {
  2294. return ::vkCmdDebugMarkerEndEXT( commandBuffer );
  2295. }
  2296. void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
  2297. {
  2298. return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
  2299. }
  2300. //=== VK_KHR_video_queue ===
  2301. VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice physicalDevice,
  2302. const VkVideoProfileInfoKHR * pVideoProfile,
  2303. VkVideoCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
  2304. {
  2305. return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
  2306. }
  2307. VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice physicalDevice,
  2308. const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
  2309. uint32_t * pVideoFormatPropertyCount,
  2310. VkVideoFormatPropertiesKHR * pVideoFormatProperties ) const VULKAN_HPP_NOEXCEPT
  2311. {
  2312. return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR( physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
  2313. }
  2314. VkResult vkCreateVideoSessionKHR( VkDevice device,
  2315. const VkVideoSessionCreateInfoKHR * pCreateInfo,
  2316. const VkAllocationCallbacks * pAllocator,
  2317. VkVideoSessionKHR * pVideoSession ) const VULKAN_HPP_NOEXCEPT
  2318. {
  2319. return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
  2320. }
  2321. void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2322. {
  2323. return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
  2324. }
  2325. VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice device,
  2326. VkVideoSessionKHR videoSession,
  2327. uint32_t * pMemoryRequirementsCount,
  2328. VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  2329. {
  2330. return ::vkGetVideoSessionMemoryRequirementsKHR( device, videoSession, pMemoryRequirementsCount, pMemoryRequirements );
  2331. }
  2332. VkResult vkBindVideoSessionMemoryKHR( VkDevice device,
  2333. VkVideoSessionKHR videoSession,
  2334. uint32_t bindSessionMemoryInfoCount,
  2335. const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos ) const VULKAN_HPP_NOEXCEPT
  2336. {
  2337. return ::vkBindVideoSessionMemoryKHR( device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos );
  2338. }
  2339. VkResult vkCreateVideoSessionParametersKHR( VkDevice device,
  2340. const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
  2341. const VkAllocationCallbacks * pAllocator,
  2342. VkVideoSessionParametersKHR * pVideoSessionParameters ) const VULKAN_HPP_NOEXCEPT
  2343. {
  2344. return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
  2345. }
  2346. VkResult vkUpdateVideoSessionParametersKHR( VkDevice device,
  2347. VkVideoSessionParametersKHR videoSessionParameters,
  2348. const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const VULKAN_HPP_NOEXCEPT
  2349. {
  2350. return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
  2351. }
  2352. void vkDestroyVideoSessionParametersKHR( VkDevice device,
  2353. VkVideoSessionParametersKHR videoSessionParameters,
  2354. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2355. {
  2356. return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
  2357. }
  2358. void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
  2359. {
  2360. return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
  2361. }
  2362. void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
  2363. {
  2364. return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
  2365. }
  2366. void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
  2367. {
  2368. return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
  2369. }
  2370. //=== VK_KHR_video_decode_queue ===
  2371. void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR * pDecodeInfo ) const VULKAN_HPP_NOEXCEPT
  2372. {
  2373. return ::vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo );
  2374. }
  2375. //=== VK_EXT_transform_feedback ===
  2376. void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer commandBuffer,
  2377. uint32_t firstBinding,
  2378. uint32_t bindingCount,
  2379. const VkBuffer * pBuffers,
  2380. const VkDeviceSize * pOffsets,
  2381. const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
  2382. {
  2383. return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
  2384. }
  2385. void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer commandBuffer,
  2386. uint32_t firstCounterBuffer,
  2387. uint32_t counterBufferCount,
  2388. const VkBuffer * pCounterBuffers,
  2389. const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
  2390. {
  2391. return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
  2392. }
  2393. void vkCmdEndTransformFeedbackEXT( VkCommandBuffer commandBuffer,
  2394. uint32_t firstCounterBuffer,
  2395. uint32_t counterBufferCount,
  2396. const VkBuffer * pCounterBuffers,
  2397. const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
  2398. {
  2399. return ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
  2400. }
  2401. void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
  2402. VULKAN_HPP_NOEXCEPT
  2403. {
  2404. return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
  2405. }
  2406. void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT
  2407. {
  2408. return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
  2409. }
  2410. void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
  2411. uint32_t instanceCount,
  2412. uint32_t firstInstance,
  2413. VkBuffer counterBuffer,
  2414. VkDeviceSize counterBufferOffset,
  2415. uint32_t counterOffset,
  2416. uint32_t vertexStride ) const VULKAN_HPP_NOEXCEPT
  2417. {
  2418. return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
  2419. }
  2420. //=== VK_NVX_binary_import ===
  2421. VkResult vkCreateCuModuleNVX( VkDevice device,
  2422. const VkCuModuleCreateInfoNVX * pCreateInfo,
  2423. const VkAllocationCallbacks * pAllocator,
  2424. VkCuModuleNVX * pModule ) const VULKAN_HPP_NOEXCEPT
  2425. {
  2426. return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
  2427. }
  2428. VkResult vkCreateCuFunctionNVX( VkDevice device,
  2429. const VkCuFunctionCreateInfoNVX * pCreateInfo,
  2430. const VkAllocationCallbacks * pAllocator,
  2431. VkCuFunctionNVX * pFunction ) const VULKAN_HPP_NOEXCEPT
  2432. {
  2433. return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
  2434. }
  2435. void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2436. {
  2437. return ::vkDestroyCuModuleNVX( device, module, pAllocator );
  2438. }
  2439. void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2440. {
  2441. return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
  2442. }
  2443. void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
  2444. {
  2445. return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
  2446. }
  2447. //=== VK_NVX_image_view_handle ===
  2448. uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
  2449. {
  2450. return ::vkGetImageViewHandleNVX( device, pInfo );
  2451. }
  2452. VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
  2453. {
  2454. return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
  2455. }
  2456. //=== VK_AMD_draw_indirect_count ===
  2457. void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
  2458. VkBuffer buffer,
  2459. VkDeviceSize offset,
  2460. VkBuffer countBuffer,
  2461. VkDeviceSize countBufferOffset,
  2462. uint32_t maxDrawCount,
  2463. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  2464. {
  2465. return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  2466. }
  2467. void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
  2468. VkBuffer buffer,
  2469. VkDeviceSize offset,
  2470. VkBuffer countBuffer,
  2471. VkDeviceSize countBufferOffset,
  2472. uint32_t maxDrawCount,
  2473. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  2474. {
  2475. return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  2476. }
  2477. //=== VK_AMD_shader_info ===
  2478. VkResult vkGetShaderInfoAMD( VkDevice device,
  2479. VkPipeline pipeline,
  2480. VkShaderStageFlagBits shaderStage,
  2481. VkShaderInfoTypeAMD infoType,
  2482. size_t * pInfoSize,
  2483. void * pInfo ) const VULKAN_HPP_NOEXCEPT
  2484. {
  2485. return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
  2486. }
  2487. //=== VK_KHR_dynamic_rendering ===
  2488. void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
  2489. {
  2490. return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
  2491. }
  2492. void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  2493. {
  2494. return ::vkCmdEndRenderingKHR( commandBuffer );
  2495. }
  2496. # if defined( VK_USE_PLATFORM_GGP )
  2497. //=== VK_GGP_stream_descriptor_surface ===
  2498. VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance instance,
  2499. const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
  2500. const VkAllocationCallbacks * pAllocator,
  2501. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2502. {
  2503. return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
  2504. }
  2505. # endif /*VK_USE_PLATFORM_GGP*/
  2506. //=== VK_NV_external_memory_capabilities ===
  2507. VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice physicalDevice,
  2508. VkFormat format,
  2509. VkImageType type,
  2510. VkImageTiling tiling,
  2511. VkImageUsageFlags usage,
  2512. VkImageCreateFlags flags,
  2513. VkExternalMemoryHandleTypeFlagsNV externalHandleType,
  2514. VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
  2515. {
  2516. return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
  2517. physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
  2518. }
  2519. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  2520. //=== VK_NV_external_memory_win32 ===
  2521. VkResult vkGetMemoryWin32HandleNV( VkDevice device,
  2522. VkDeviceMemory memory,
  2523. VkExternalMemoryHandleTypeFlagsNV handleType,
  2524. HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
  2525. {
  2526. return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
  2527. }
  2528. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  2529. //=== VK_KHR_get_physical_device_properties2 ===
  2530. void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
  2531. {
  2532. return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
  2533. }
  2534. void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
  2535. {
  2536. return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
  2537. }
  2538. void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice physicalDevice,
  2539. VkFormat format,
  2540. VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
  2541. {
  2542. return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
  2543. }
  2544. VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice physicalDevice,
  2545. const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
  2546. VkImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
  2547. {
  2548. return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
  2549. }
  2550. void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice physicalDevice,
  2551. uint32_t * pQueueFamilyPropertyCount,
  2552. VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
  2553. {
  2554. return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
  2555. }
  2556. void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice physicalDevice,
  2557. VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
  2558. {
  2559. return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
  2560. }
  2561. void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice physicalDevice,
  2562. const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
  2563. uint32_t * pPropertyCount,
  2564. VkSparseImageFormatProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
  2565. {
  2566. return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
  2567. }
  2568. //=== VK_KHR_device_group ===
  2569. void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice device,
  2570. uint32_t heapIndex,
  2571. uint32_t localDeviceIndex,
  2572. uint32_t remoteDeviceIndex,
  2573. VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
  2574. {
  2575. return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
  2576. }
  2577. void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
  2578. {
  2579. return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
  2580. }
  2581. void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
  2582. uint32_t baseGroupX,
  2583. uint32_t baseGroupY,
  2584. uint32_t baseGroupZ,
  2585. uint32_t groupCountX,
  2586. uint32_t groupCountY,
  2587. uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
  2588. {
  2589. return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
  2590. }
  2591. # if defined( VK_USE_PLATFORM_VI_NN )
  2592. //=== VK_NN_vi_surface ===
  2593. VkResult vkCreateViSurfaceNN( VkInstance instance,
  2594. const VkViSurfaceCreateInfoNN * pCreateInfo,
  2595. const VkAllocationCallbacks * pAllocator,
  2596. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2597. {
  2598. return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
  2599. }
  2600. # endif /*VK_USE_PLATFORM_VI_NN*/
  2601. //=== VK_KHR_maintenance1 ===
  2602. void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
  2603. {
  2604. return ::vkTrimCommandPoolKHR( device, commandPool, flags );
  2605. }
  2606. //=== VK_KHR_device_group_creation ===
  2607. VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance instance,
  2608. uint32_t * pPhysicalDeviceGroupCount,
  2609. VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
  2610. {
  2611. return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
  2612. }
  2613. //=== VK_KHR_external_memory_capabilities ===
  2614. void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice physicalDevice,
  2615. const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
  2616. VkExternalBufferProperties * pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
  2617. {
  2618. return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
  2619. }
  2620. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  2621. //=== VK_KHR_external_memory_win32 ===
  2622. VkResult vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
  2623. {
  2624. return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
  2625. }
  2626. VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice device,
  2627. VkExternalMemoryHandleTypeFlagBits handleType,
  2628. HANDLE handle,
  2629. VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
  2630. {
  2631. return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
  2632. }
  2633. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  2634. //=== VK_KHR_external_memory_fd ===
  2635. VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
  2636. {
  2637. return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
  2638. }
  2639. VkResult vkGetMemoryFdPropertiesKHR( VkDevice device,
  2640. VkExternalMemoryHandleTypeFlagBits handleType,
  2641. int fd,
  2642. VkMemoryFdPropertiesKHR * pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
  2643. {
  2644. return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
  2645. }
  2646. //=== VK_KHR_external_semaphore_capabilities ===
  2647. void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice physicalDevice,
  2648. const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
  2649. VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
  2650. {
  2651. return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
  2652. }
  2653. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  2654. //=== VK_KHR_external_semaphore_win32 ===
  2655. VkResult vkImportSemaphoreWin32HandleKHR( VkDevice device,
  2656. const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
  2657. {
  2658. return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
  2659. }
  2660. VkResult
  2661. vkGetSemaphoreWin32HandleKHR( VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
  2662. {
  2663. return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
  2664. }
  2665. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  2666. //=== VK_KHR_external_semaphore_fd ===
  2667. VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
  2668. {
  2669. return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
  2670. }
  2671. VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
  2672. {
  2673. return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
  2674. }
  2675. //=== VK_KHR_push_descriptor ===
  2676. void vkCmdPushDescriptorSetKHR( VkCommandBuffer commandBuffer,
  2677. VkPipelineBindPoint pipelineBindPoint,
  2678. VkPipelineLayout layout,
  2679. uint32_t set,
  2680. uint32_t descriptorWriteCount,
  2681. const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
  2682. {
  2683. return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
  2684. }
  2685. void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer commandBuffer,
  2686. VkDescriptorUpdateTemplate descriptorUpdateTemplate,
  2687. VkPipelineLayout layout,
  2688. uint32_t set,
  2689. const void * pData ) const VULKAN_HPP_NOEXCEPT
  2690. {
  2691. return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
  2692. }
  2693. //=== VK_EXT_conditional_rendering ===
  2694. void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer commandBuffer,
  2695. const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
  2696. {
  2697. return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
  2698. }
  2699. void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  2700. {
  2701. return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
  2702. }
  2703. //=== VK_KHR_descriptor_update_template ===
  2704. VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice device,
  2705. const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
  2706. const VkAllocationCallbacks * pAllocator,
  2707. VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
  2708. {
  2709. return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
  2710. }
  2711. void vkDestroyDescriptorUpdateTemplateKHR( VkDevice device,
  2712. VkDescriptorUpdateTemplate descriptorUpdateTemplate,
  2713. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  2714. {
  2715. return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
  2716. }
  2717. void vkUpdateDescriptorSetWithTemplateKHR( VkDevice device,
  2718. VkDescriptorSet descriptorSet,
  2719. VkDescriptorUpdateTemplate descriptorUpdateTemplate,
  2720. const void * pData ) const VULKAN_HPP_NOEXCEPT
  2721. {
  2722. return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
  2723. }
  2724. //=== VK_NV_clip_space_w_scaling ===
  2725. void vkCmdSetViewportWScalingNV( VkCommandBuffer commandBuffer,
  2726. uint32_t firstViewport,
  2727. uint32_t viewportCount,
  2728. const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
  2729. {
  2730. return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
  2731. }
  2732. //=== VK_EXT_direct_mode_display ===
  2733. VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
  2734. {
  2735. return ::vkReleaseDisplayEXT( physicalDevice, display );
  2736. }
  2737. # if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
  2738. //=== VK_EXT_acquire_xlib_display ===
  2739. VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
  2740. {
  2741. return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
  2742. }
  2743. VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, RROutput rrOutput, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
  2744. {
  2745. return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
  2746. }
  2747. # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
  2748. //=== VK_EXT_display_surface_counter ===
  2749. VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice physicalDevice,
  2750. VkSurfaceKHR surface,
  2751. VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
  2752. {
  2753. return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
  2754. }
  2755. //=== VK_EXT_display_control ===
  2756. VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
  2757. {
  2758. return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
  2759. }
  2760. VkResult vkRegisterDeviceEventEXT( VkDevice device,
  2761. const VkDeviceEventInfoEXT * pDeviceEventInfo,
  2762. const VkAllocationCallbacks * pAllocator,
  2763. VkFence * pFence ) const VULKAN_HPP_NOEXCEPT
  2764. {
  2765. return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
  2766. }
  2767. VkResult vkRegisterDisplayEventEXT( VkDevice device,
  2768. VkDisplayKHR display,
  2769. const VkDisplayEventInfoEXT * pDisplayEventInfo,
  2770. const VkAllocationCallbacks * pAllocator,
  2771. VkFence * pFence ) const VULKAN_HPP_NOEXCEPT
  2772. {
  2773. return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
  2774. }
  2775. VkResult vkGetSwapchainCounterEXT( VkDevice device,
  2776. VkSwapchainKHR swapchain,
  2777. VkSurfaceCounterFlagBitsEXT counter,
  2778. uint64_t * pCounterValue ) const VULKAN_HPP_NOEXCEPT
  2779. {
  2780. return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
  2781. }
  2782. //=== VK_GOOGLE_display_timing ===
  2783. VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice device,
  2784. VkSwapchainKHR swapchain,
  2785. VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const VULKAN_HPP_NOEXCEPT
  2786. {
  2787. return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
  2788. }
  2789. VkResult vkGetPastPresentationTimingGOOGLE( VkDevice device,
  2790. VkSwapchainKHR swapchain,
  2791. uint32_t * pPresentationTimingCount,
  2792. VkPastPresentationTimingGOOGLE * pPresentationTimings ) const VULKAN_HPP_NOEXCEPT
  2793. {
  2794. return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
  2795. }
  2796. //=== VK_EXT_discard_rectangles ===
  2797. void vkCmdSetDiscardRectangleEXT( VkCommandBuffer commandBuffer,
  2798. uint32_t firstDiscardRectangle,
  2799. uint32_t discardRectangleCount,
  2800. const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
  2801. {
  2802. return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
  2803. }
  2804. void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT
  2805. {
  2806. return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable );
  2807. }
  2808. void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT
  2809. {
  2810. return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode );
  2811. }
  2812. //=== VK_EXT_hdr_metadata ===
  2813. void vkSetHdrMetadataEXT( VkDevice device,
  2814. uint32_t swapchainCount,
  2815. const VkSwapchainKHR * pSwapchains,
  2816. const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
  2817. {
  2818. return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
  2819. }
  2820. //=== VK_KHR_create_renderpass2 ===
  2821. VkResult vkCreateRenderPass2KHR( VkDevice device,
  2822. const VkRenderPassCreateInfo2 * pCreateInfo,
  2823. const VkAllocationCallbacks * pAllocator,
  2824. VkRenderPass * pRenderPass ) const VULKAN_HPP_NOEXCEPT
  2825. {
  2826. return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
  2827. }
  2828. void vkCmdBeginRenderPass2KHR( VkCommandBuffer commandBuffer,
  2829. const VkRenderPassBeginInfo * pRenderPassBegin,
  2830. const VkSubpassBeginInfo * pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
  2831. {
  2832. return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
  2833. }
  2834. void vkCmdNextSubpass2KHR( VkCommandBuffer commandBuffer,
  2835. const VkSubpassBeginInfo * pSubpassBeginInfo,
  2836. const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
  2837. {
  2838. return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
  2839. }
  2840. void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
  2841. {
  2842. return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
  2843. }
  2844. //=== VK_KHR_shared_presentable_image ===
  2845. VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
  2846. {
  2847. return ::vkGetSwapchainStatusKHR( device, swapchain );
  2848. }
  2849. //=== VK_KHR_external_fence_capabilities ===
  2850. void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice physicalDevice,
  2851. const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
  2852. VkExternalFenceProperties * pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
  2853. {
  2854. return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
  2855. }
  2856. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  2857. //=== VK_KHR_external_fence_win32 ===
  2858. VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
  2859. {
  2860. return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
  2861. }
  2862. VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
  2863. {
  2864. return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
  2865. }
  2866. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  2867. //=== VK_KHR_external_fence_fd ===
  2868. VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
  2869. {
  2870. return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
  2871. }
  2872. VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
  2873. {
  2874. return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
  2875. }
  2876. //=== VK_KHR_performance_query ===
  2877. VkResult
  2878. vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice physicalDevice,
  2879. uint32_t queueFamilyIndex,
  2880. uint32_t * pCounterCount,
  2881. VkPerformanceCounterKHR * pCounters,
  2882. VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
  2883. {
  2884. return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
  2885. physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
  2886. }
  2887. void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice physicalDevice,
  2888. const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
  2889. uint32_t * pNumPasses ) const VULKAN_HPP_NOEXCEPT
  2890. {
  2891. return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
  2892. }
  2893. VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  2894. {
  2895. return ::vkAcquireProfilingLockKHR( device, pInfo );
  2896. }
  2897. void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
  2898. {
  2899. return ::vkReleaseProfilingLockKHR( device );
  2900. }
  2901. //=== VK_KHR_get_surface_capabilities2 ===
  2902. VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice physicalDevice,
  2903. const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  2904. VkSurfaceCapabilities2KHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
  2905. {
  2906. return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
  2907. }
  2908. VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice physicalDevice,
  2909. const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  2910. uint32_t * pSurfaceFormatCount,
  2911. VkSurfaceFormat2KHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
  2912. {
  2913. return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
  2914. }
  2915. //=== VK_KHR_get_display_properties2 ===
  2916. VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice physicalDevice,
  2917. uint32_t * pPropertyCount,
  2918. VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  2919. {
  2920. return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
  2921. }
  2922. VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice physicalDevice,
  2923. uint32_t * pPropertyCount,
  2924. VkDisplayPlaneProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  2925. {
  2926. return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
  2927. }
  2928. VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice physicalDevice,
  2929. VkDisplayKHR display,
  2930. uint32_t * pPropertyCount,
  2931. VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  2932. {
  2933. return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
  2934. }
  2935. VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice physicalDevice,
  2936. const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,
  2937. VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
  2938. {
  2939. return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
  2940. }
  2941. # if defined( VK_USE_PLATFORM_IOS_MVK )
  2942. //=== VK_MVK_ios_surface ===
  2943. VkResult vkCreateIOSSurfaceMVK( VkInstance instance,
  2944. const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
  2945. const VkAllocationCallbacks * pAllocator,
  2946. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2947. {
  2948. return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
  2949. }
  2950. # endif /*VK_USE_PLATFORM_IOS_MVK*/
  2951. # if defined( VK_USE_PLATFORM_MACOS_MVK )
  2952. //=== VK_MVK_macos_surface ===
  2953. VkResult vkCreateMacOSSurfaceMVK( VkInstance instance,
  2954. const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
  2955. const VkAllocationCallbacks * pAllocator,
  2956. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  2957. {
  2958. return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
  2959. }
  2960. # endif /*VK_USE_PLATFORM_MACOS_MVK*/
  2961. //=== VK_EXT_debug_utils ===
  2962. VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
  2963. {
  2964. return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
  2965. }
  2966. VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
  2967. {
  2968. return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
  2969. }
  2970. void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
  2971. {
  2972. return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
  2973. }
  2974. void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
  2975. {
  2976. return ::vkQueueEndDebugUtilsLabelEXT( queue );
  2977. }
  2978. void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
  2979. {
  2980. return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
  2981. }
  2982. void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
  2983. {
  2984. return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
  2985. }
  2986. void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  2987. {
  2988. return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
  2989. }
  2990. void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
  2991. {
  2992. return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
  2993. }
  2994. VkResult vkCreateDebugUtilsMessengerEXT( VkInstance instance,
  2995. const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
  2996. const VkAllocationCallbacks * pAllocator,
  2997. VkDebugUtilsMessengerEXT * pMessenger ) const VULKAN_HPP_NOEXCEPT
  2998. {
  2999. return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
  3000. }
  3001. void vkDestroyDebugUtilsMessengerEXT( VkInstance instance,
  3002. VkDebugUtilsMessengerEXT messenger,
  3003. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3004. {
  3005. return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
  3006. }
  3007. void vkSubmitDebugUtilsMessageEXT( VkInstance instance,
  3008. VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
  3009. VkDebugUtilsMessageTypeFlagsEXT messageTypes,
  3010. const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const VULKAN_HPP_NOEXCEPT
  3011. {
  3012. return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
  3013. }
  3014. # if defined( VK_USE_PLATFORM_ANDROID_KHR )
  3015. //=== VK_ANDROID_external_memory_android_hardware_buffer ===
  3016. VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice device,
  3017. const struct AHardwareBuffer * buffer,
  3018. VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
  3019. {
  3020. return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
  3021. }
  3022. VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice device,
  3023. const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
  3024. struct AHardwareBuffer ** pBuffer ) const VULKAN_HPP_NOEXCEPT
  3025. {
  3026. return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
  3027. }
  3028. # endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  3029. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  3030. //=== VK_AMDX_shader_enqueue ===
  3031. VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice device,
  3032. VkPipelineCache pipelineCache,
  3033. uint32_t createInfoCount,
  3034. const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
  3035. const VkAllocationCallbacks * pAllocator,
  3036. VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
  3037. {
  3038. return ::vkCreateExecutionGraphPipelinesAMDX( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
  3039. }
  3040. VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice device,
  3041. VkPipeline executionGraph,
  3042. VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
  3043. {
  3044. return ::vkGetExecutionGraphPipelineScratchSizeAMDX( device, executionGraph, pSizeInfo );
  3045. }
  3046. VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice device,
  3047. VkPipeline executionGraph,
  3048. const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
  3049. uint32_t * pNodeIndex ) const VULKAN_HPP_NOEXCEPT
  3050. {
  3051. return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
  3052. }
  3053. void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT
  3054. {
  3055. return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, scratch );
  3056. }
  3057. void vkCmdDispatchGraphAMDX( VkCommandBuffer commandBuffer,
  3058. VkDeviceAddress scratch,
  3059. const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
  3060. {
  3061. return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, pCountInfo );
  3062. }
  3063. void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer commandBuffer,
  3064. VkDeviceAddress scratch,
  3065. const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
  3066. {
  3067. return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, pCountInfo );
  3068. }
  3069. void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
  3070. {
  3071. return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, countInfo );
  3072. }
  3073. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3074. //=== VK_EXT_sample_locations ===
  3075. void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
  3076. {
  3077. return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
  3078. }
  3079. void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice physicalDevice,
  3080. VkSampleCountFlagBits samples,
  3081. VkMultisamplePropertiesEXT * pMultisampleProperties ) const VULKAN_HPP_NOEXCEPT
  3082. {
  3083. return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
  3084. }
  3085. //=== VK_KHR_get_memory_requirements2 ===
  3086. void vkGetImageMemoryRequirements2KHR( VkDevice device,
  3087. const VkImageMemoryRequirementsInfo2 * pInfo,
  3088. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  3089. {
  3090. return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
  3091. }
  3092. void vkGetBufferMemoryRequirements2KHR( VkDevice device,
  3093. const VkBufferMemoryRequirementsInfo2 * pInfo,
  3094. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  3095. {
  3096. return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
  3097. }
  3098. void vkGetImageSparseMemoryRequirements2KHR( VkDevice device,
  3099. const VkImageSparseMemoryRequirementsInfo2 * pInfo,
  3100. uint32_t * pSparseMemoryRequirementCount,
  3101. VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  3102. {
  3103. return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
  3104. }
  3105. //=== VK_KHR_acceleration_structure ===
  3106. VkResult vkCreateAccelerationStructureKHR( VkDevice device,
  3107. const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
  3108. const VkAllocationCallbacks * pAllocator,
  3109. VkAccelerationStructureKHR * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
  3110. {
  3111. return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
  3112. }
  3113. void vkDestroyAccelerationStructureKHR( VkDevice device,
  3114. VkAccelerationStructureKHR accelerationStructure,
  3115. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3116. {
  3117. return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
  3118. }
  3119. void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer commandBuffer,
  3120. uint32_t infoCount,
  3121. const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
  3122. const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
  3123. {
  3124. return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
  3125. }
  3126. void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer commandBuffer,
  3127. uint32_t infoCount,
  3128. const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
  3129. const VkDeviceAddress * pIndirectDeviceAddresses,
  3130. const uint32_t * pIndirectStrides,
  3131. const uint32_t * const * ppMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT
  3132. {
  3133. return ::vkCmdBuildAccelerationStructuresIndirectKHR(
  3134. commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
  3135. }
  3136. VkResult vkBuildAccelerationStructuresKHR( VkDevice device,
  3137. VkDeferredOperationKHR deferredOperation,
  3138. uint32_t infoCount,
  3139. const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
  3140. const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
  3141. {
  3142. return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
  3143. }
  3144. VkResult vkCopyAccelerationStructureKHR( VkDevice device,
  3145. VkDeferredOperationKHR deferredOperation,
  3146. const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  3147. {
  3148. return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
  3149. }
  3150. VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice device,
  3151. VkDeferredOperationKHR deferredOperation,
  3152. const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  3153. {
  3154. return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
  3155. }
  3156. VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice device,
  3157. VkDeferredOperationKHR deferredOperation,
  3158. const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  3159. {
  3160. return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
  3161. }
  3162. VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice device,
  3163. uint32_t accelerationStructureCount,
  3164. const VkAccelerationStructureKHR * pAccelerationStructures,
  3165. VkQueryType queryType,
  3166. size_t dataSize,
  3167. void * pData,
  3168. size_t stride ) const VULKAN_HPP_NOEXCEPT
  3169. {
  3170. return ::vkWriteAccelerationStructuresPropertiesKHR( device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
  3171. }
  3172. void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  3173. {
  3174. return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
  3175. }
  3176. void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer commandBuffer,
  3177. const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  3178. {
  3179. return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
  3180. }
  3181. void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer commandBuffer,
  3182. const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  3183. {
  3184. return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
  3185. }
  3186. VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice device,
  3187. const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
  3188. {
  3189. return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
  3190. }
  3191. void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer commandBuffer,
  3192. uint32_t accelerationStructureCount,
  3193. const VkAccelerationStructureKHR * pAccelerationStructures,
  3194. VkQueryType queryType,
  3195. VkQueryPool queryPool,
  3196. uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
  3197. {
  3198. return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
  3199. commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
  3200. }
  3201. void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice device,
  3202. const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
  3203. VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
  3204. {
  3205. return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
  3206. }
  3207. void vkGetAccelerationStructureBuildSizesKHR( VkDevice device,
  3208. VkAccelerationStructureBuildTypeKHR buildType,
  3209. const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
  3210. const uint32_t * pMaxPrimitiveCounts,
  3211. VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
  3212. {
  3213. return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
  3214. }
  3215. //=== VK_KHR_ray_tracing_pipeline ===
  3216. void vkCmdTraceRaysKHR( VkCommandBuffer commandBuffer,
  3217. const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
  3218. const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
  3219. const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
  3220. const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
  3221. uint32_t width,
  3222. uint32_t height,
  3223. uint32_t depth ) const VULKAN_HPP_NOEXCEPT
  3224. {
  3225. return ::vkCmdTraceRaysKHR(
  3226. commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
  3227. }
  3228. VkResult vkCreateRayTracingPipelinesKHR( VkDevice device,
  3229. VkDeferredOperationKHR deferredOperation,
  3230. VkPipelineCache pipelineCache,
  3231. uint32_t createInfoCount,
  3232. const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
  3233. const VkAllocationCallbacks * pAllocator,
  3234. VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
  3235. {
  3236. return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
  3237. }
  3238. VkResult vkGetRayTracingShaderGroupHandlesKHR(
  3239. VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
  3240. {
  3241. return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
  3242. }
  3243. VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
  3244. VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
  3245. {
  3246. return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
  3247. }
  3248. void vkCmdTraceRaysIndirectKHR( VkCommandBuffer commandBuffer,
  3249. const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
  3250. const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
  3251. const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
  3252. const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
  3253. VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
  3254. {
  3255. return ::vkCmdTraceRaysIndirectKHR(
  3256. commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
  3257. }
  3258. VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice device,
  3259. VkPipeline pipeline,
  3260. uint32_t group,
  3261. VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
  3262. {
  3263. return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
  3264. }
  3265. void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
  3266. {
  3267. return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
  3268. }
  3269. //=== VK_KHR_sampler_ycbcr_conversion ===
  3270. VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice device,
  3271. const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
  3272. const VkAllocationCallbacks * pAllocator,
  3273. VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
  3274. {
  3275. return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
  3276. }
  3277. void vkDestroySamplerYcbcrConversionKHR( VkDevice device,
  3278. VkSamplerYcbcrConversion ycbcrConversion,
  3279. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3280. {
  3281. return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
  3282. }
  3283. //=== VK_KHR_bind_memory2 ===
  3284. VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
  3285. {
  3286. return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
  3287. }
  3288. VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
  3289. {
  3290. return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
  3291. }
  3292. //=== VK_EXT_image_drm_format_modifier ===
  3293. VkResult
  3294. vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
  3295. {
  3296. return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
  3297. }
  3298. //=== VK_EXT_validation_cache ===
  3299. VkResult vkCreateValidationCacheEXT( VkDevice device,
  3300. const VkValidationCacheCreateInfoEXT * pCreateInfo,
  3301. const VkAllocationCallbacks * pAllocator,
  3302. VkValidationCacheEXT * pValidationCache ) const VULKAN_HPP_NOEXCEPT
  3303. {
  3304. return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
  3305. }
  3306. void
  3307. vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3308. {
  3309. return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
  3310. }
  3311. VkResult vkMergeValidationCachesEXT( VkDevice device,
  3312. VkValidationCacheEXT dstCache,
  3313. uint32_t srcCacheCount,
  3314. const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
  3315. {
  3316. return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
  3317. }
  3318. VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
  3319. {
  3320. return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
  3321. }
  3322. //=== VK_NV_shading_rate_image ===
  3323. void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
  3324. {
  3325. return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
  3326. }
  3327. void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer commandBuffer,
  3328. uint32_t firstViewport,
  3329. uint32_t viewportCount,
  3330. const VkShadingRatePaletteNV * pShadingRatePalettes ) const VULKAN_HPP_NOEXCEPT
  3331. {
  3332. return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
  3333. }
  3334. void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer commandBuffer,
  3335. VkCoarseSampleOrderTypeNV sampleOrderType,
  3336. uint32_t customSampleOrderCount,
  3337. const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
  3338. {
  3339. return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
  3340. }
  3341. //=== VK_NV_ray_tracing ===
  3342. VkResult vkCreateAccelerationStructureNV( VkDevice device,
  3343. const VkAccelerationStructureCreateInfoNV * pCreateInfo,
  3344. const VkAllocationCallbacks * pAllocator,
  3345. VkAccelerationStructureNV * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
  3346. {
  3347. return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
  3348. }
  3349. void vkDestroyAccelerationStructureNV( VkDevice device,
  3350. VkAccelerationStructureNV accelerationStructure,
  3351. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3352. {
  3353. return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
  3354. }
  3355. void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice device,
  3356. const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
  3357. VkMemoryRequirements2KHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  3358. {
  3359. return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
  3360. }
  3361. VkResult vkBindAccelerationStructureMemoryNV( VkDevice device,
  3362. uint32_t bindInfoCount,
  3363. const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const VULKAN_HPP_NOEXCEPT
  3364. {
  3365. return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
  3366. }
  3367. void vkCmdBuildAccelerationStructureNV( VkCommandBuffer commandBuffer,
  3368. const VkAccelerationStructureInfoNV * pInfo,
  3369. VkBuffer instanceData,
  3370. VkDeviceSize instanceOffset,
  3371. VkBool32 update,
  3372. VkAccelerationStructureNV dst,
  3373. VkAccelerationStructureNV src,
  3374. VkBuffer scratch,
  3375. VkDeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT
  3376. {
  3377. return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
  3378. }
  3379. void vkCmdCopyAccelerationStructureNV( VkCommandBuffer commandBuffer,
  3380. VkAccelerationStructureNV dst,
  3381. VkAccelerationStructureNV src,
  3382. VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
  3383. {
  3384. return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
  3385. }
  3386. void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
  3387. VkBuffer raygenShaderBindingTableBuffer,
  3388. VkDeviceSize raygenShaderBindingOffset,
  3389. VkBuffer missShaderBindingTableBuffer,
  3390. VkDeviceSize missShaderBindingOffset,
  3391. VkDeviceSize missShaderBindingStride,
  3392. VkBuffer hitShaderBindingTableBuffer,
  3393. VkDeviceSize hitShaderBindingOffset,
  3394. VkDeviceSize hitShaderBindingStride,
  3395. VkBuffer callableShaderBindingTableBuffer,
  3396. VkDeviceSize callableShaderBindingOffset,
  3397. VkDeviceSize callableShaderBindingStride,
  3398. uint32_t width,
  3399. uint32_t height,
  3400. uint32_t depth ) const VULKAN_HPP_NOEXCEPT
  3401. {
  3402. return ::vkCmdTraceRaysNV( commandBuffer,
  3403. raygenShaderBindingTableBuffer,
  3404. raygenShaderBindingOffset,
  3405. missShaderBindingTableBuffer,
  3406. missShaderBindingOffset,
  3407. missShaderBindingStride,
  3408. hitShaderBindingTableBuffer,
  3409. hitShaderBindingOffset,
  3410. hitShaderBindingStride,
  3411. callableShaderBindingTableBuffer,
  3412. callableShaderBindingOffset,
  3413. callableShaderBindingStride,
  3414. width,
  3415. height,
  3416. depth );
  3417. }
  3418. VkResult vkCreateRayTracingPipelinesNV( VkDevice device,
  3419. VkPipelineCache pipelineCache,
  3420. uint32_t createInfoCount,
  3421. const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
  3422. const VkAllocationCallbacks * pAllocator,
  3423. VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
  3424. {
  3425. return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
  3426. }
  3427. VkResult vkGetRayTracingShaderGroupHandlesNV(
  3428. VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
  3429. {
  3430. return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
  3431. }
  3432. VkResult vkGetAccelerationStructureHandleNV( VkDevice device,
  3433. VkAccelerationStructureNV accelerationStructure,
  3434. size_t dataSize,
  3435. void * pData ) const VULKAN_HPP_NOEXCEPT
  3436. {
  3437. return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
  3438. }
  3439. void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer commandBuffer,
  3440. uint32_t accelerationStructureCount,
  3441. const VkAccelerationStructureNV * pAccelerationStructures,
  3442. VkQueryType queryType,
  3443. VkQueryPool queryPool,
  3444. uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
  3445. {
  3446. return ::vkCmdWriteAccelerationStructuresPropertiesNV(
  3447. commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
  3448. }
  3449. VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
  3450. {
  3451. return ::vkCompileDeferredNV( device, pipeline, shader );
  3452. }
  3453. //=== VK_KHR_maintenance3 ===
  3454. void vkGetDescriptorSetLayoutSupportKHR( VkDevice device,
  3455. const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
  3456. VkDescriptorSetLayoutSupport * pSupport ) const VULKAN_HPP_NOEXCEPT
  3457. {
  3458. return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
  3459. }
  3460. //=== VK_KHR_draw_indirect_count ===
  3461. void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
  3462. VkBuffer buffer,
  3463. VkDeviceSize offset,
  3464. VkBuffer countBuffer,
  3465. VkDeviceSize countBufferOffset,
  3466. uint32_t maxDrawCount,
  3467. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  3468. {
  3469. return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  3470. }
  3471. void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
  3472. VkBuffer buffer,
  3473. VkDeviceSize offset,
  3474. VkBuffer countBuffer,
  3475. VkDeviceSize countBufferOffset,
  3476. uint32_t maxDrawCount,
  3477. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  3478. {
  3479. return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  3480. }
  3481. //=== VK_EXT_external_memory_host ===
  3482. VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice device,
  3483. VkExternalMemoryHandleTypeFlagBits handleType,
  3484. const void * pHostPointer,
  3485. VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
  3486. {
  3487. return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
  3488. }
  3489. //=== VK_AMD_buffer_marker ===
  3490. void vkCmdWriteBufferMarkerAMD( VkCommandBuffer commandBuffer,
  3491. VkPipelineStageFlagBits pipelineStage,
  3492. VkBuffer dstBuffer,
  3493. VkDeviceSize dstOffset,
  3494. uint32_t marker ) const VULKAN_HPP_NOEXCEPT
  3495. {
  3496. return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
  3497. }
  3498. //=== VK_EXT_calibrated_timestamps ===
  3499. VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice physicalDevice,
  3500. uint32_t * pTimeDomainCount,
  3501. VkTimeDomainEXT * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
  3502. {
  3503. return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
  3504. }
  3505. VkResult vkGetCalibratedTimestampsEXT( VkDevice device,
  3506. uint32_t timestampCount,
  3507. const VkCalibratedTimestampInfoEXT * pTimestampInfos,
  3508. uint64_t * pTimestamps,
  3509. uint64_t * pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
  3510. {
  3511. return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
  3512. }
  3513. //=== VK_NV_mesh_shader ===
  3514. void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT
  3515. {
  3516. return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
  3517. }
  3518. void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
  3519. VULKAN_HPP_NOEXCEPT
  3520. {
  3521. return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
  3522. }
  3523. void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
  3524. VkBuffer buffer,
  3525. VkDeviceSize offset,
  3526. VkBuffer countBuffer,
  3527. VkDeviceSize countBufferOffset,
  3528. uint32_t maxDrawCount,
  3529. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  3530. {
  3531. return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  3532. }
  3533. //=== VK_NV_scissor_exclusive ===
  3534. void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer commandBuffer,
  3535. uint32_t firstExclusiveScissor,
  3536. uint32_t exclusiveScissorCount,
  3537. const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT
  3538. {
  3539. return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables );
  3540. }
  3541. void vkCmdSetExclusiveScissorNV( VkCommandBuffer commandBuffer,
  3542. uint32_t firstExclusiveScissor,
  3543. uint32_t exclusiveScissorCount,
  3544. const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
  3545. {
  3546. return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
  3547. }
  3548. //=== VK_NV_device_diagnostic_checkpoints ===
  3549. void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
  3550. {
  3551. return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
  3552. }
  3553. void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
  3554. {
  3555. return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
  3556. }
  3557. //=== VK_KHR_timeline_semaphore ===
  3558. VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
  3559. {
  3560. return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
  3561. }
  3562. VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
  3563. {
  3564. return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
  3565. }
  3566. VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
  3567. {
  3568. return ::vkSignalSemaphoreKHR( device, pSignalInfo );
  3569. }
  3570. //=== VK_INTEL_performance_query ===
  3571. VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
  3572. {
  3573. return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
  3574. }
  3575. void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
  3576. {
  3577. return ::vkUninitializePerformanceApiINTEL( device );
  3578. }
  3579. VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
  3580. {
  3581. return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
  3582. }
  3583. VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer commandBuffer,
  3584. const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
  3585. {
  3586. return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
  3587. }
  3588. VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
  3589. {
  3590. return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
  3591. }
  3592. VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice device,
  3593. const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
  3594. VkPerformanceConfigurationINTEL * pConfiguration ) const VULKAN_HPP_NOEXCEPT
  3595. {
  3596. return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
  3597. }
  3598. VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
  3599. {
  3600. return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
  3601. }
  3602. VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
  3603. {
  3604. return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
  3605. }
  3606. VkResult
  3607. vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL * pValue ) const VULKAN_HPP_NOEXCEPT
  3608. {
  3609. return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
  3610. }
  3611. //=== VK_AMD_display_native_hdr ===
  3612. void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
  3613. {
  3614. return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
  3615. }
  3616. # if defined( VK_USE_PLATFORM_FUCHSIA )
  3617. //=== VK_FUCHSIA_imagepipe_surface ===
  3618. VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance instance,
  3619. const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
  3620. const VkAllocationCallbacks * pAllocator,
  3621. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  3622. {
  3623. return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
  3624. }
  3625. # endif /*VK_USE_PLATFORM_FUCHSIA*/
  3626. # if defined( VK_USE_PLATFORM_METAL_EXT )
  3627. //=== VK_EXT_metal_surface ===
  3628. VkResult vkCreateMetalSurfaceEXT( VkInstance instance,
  3629. const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
  3630. const VkAllocationCallbacks * pAllocator,
  3631. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  3632. {
  3633. return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
  3634. }
  3635. # endif /*VK_USE_PLATFORM_METAL_EXT*/
  3636. //=== VK_KHR_fragment_shading_rate ===
  3637. VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice physicalDevice,
  3638. uint32_t * pFragmentShadingRateCount,
  3639. VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
  3640. {
  3641. return ::vkGetPhysicalDeviceFragmentShadingRatesKHR( physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
  3642. }
  3643. void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer commandBuffer,
  3644. const VkExtent2D * pFragmentSize,
  3645. const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
  3646. {
  3647. return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
  3648. }
  3649. //=== VK_EXT_buffer_device_address ===
  3650. VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
  3651. {
  3652. return ::vkGetBufferDeviceAddressEXT( device, pInfo );
  3653. }
  3654. //=== VK_EXT_tooling_info ===
  3655. VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice physicalDevice,
  3656. uint32_t * pToolCount,
  3657. VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
  3658. {
  3659. return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
  3660. }
  3661. //=== VK_KHR_present_wait ===
  3662. VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
  3663. {
  3664. return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
  3665. }
  3666. //=== VK_NV_cooperative_matrix ===
  3667. VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice physicalDevice,
  3668. uint32_t * pPropertyCount,
  3669. VkCooperativeMatrixPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
  3670. {
  3671. return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
  3672. }
  3673. //=== VK_NV_coverage_reduction_mode ===
  3674. VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
  3675. VkPhysicalDevice physicalDevice, uint32_t * pCombinationCount, VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
  3676. {
  3677. return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
  3678. }
  3679. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  3680. //=== VK_EXT_full_screen_exclusive ===
  3681. VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice physicalDevice,
  3682. const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  3683. uint32_t * pPresentModeCount,
  3684. VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
  3685. {
  3686. return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
  3687. }
  3688. VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
  3689. {
  3690. return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
  3691. }
  3692. VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
  3693. {
  3694. return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
  3695. }
  3696. VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice device,
  3697. const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  3698. VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
  3699. {
  3700. return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
  3701. }
  3702. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  3703. //=== VK_EXT_headless_surface ===
  3704. VkResult vkCreateHeadlessSurfaceEXT( VkInstance instance,
  3705. const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
  3706. const VkAllocationCallbacks * pAllocator,
  3707. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  3708. {
  3709. return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
  3710. }
  3711. //=== VK_KHR_buffer_device_address ===
  3712. VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
  3713. {
  3714. return ::vkGetBufferDeviceAddressKHR( device, pInfo );
  3715. }
  3716. uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
  3717. {
  3718. return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
  3719. }
  3720. uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
  3721. {
  3722. return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
  3723. }
  3724. //=== VK_EXT_line_rasterization ===
  3725. void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
  3726. {
  3727. return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
  3728. }
  3729. //=== VK_EXT_host_query_reset ===
  3730. void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
  3731. {
  3732. return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
  3733. }
  3734. //=== VK_EXT_extended_dynamic_state ===
  3735. void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
  3736. {
  3737. return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
  3738. }
  3739. void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
  3740. {
  3741. return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
  3742. }
  3743. void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
  3744. {
  3745. return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
  3746. }
  3747. void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
  3748. {
  3749. return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
  3750. }
  3751. void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
  3752. {
  3753. return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
  3754. }
  3755. void vkCmdBindVertexBuffers2EXT( VkCommandBuffer commandBuffer,
  3756. uint32_t firstBinding,
  3757. uint32_t bindingCount,
  3758. const VkBuffer * pBuffers,
  3759. const VkDeviceSize * pOffsets,
  3760. const VkDeviceSize * pSizes,
  3761. const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
  3762. {
  3763. return ::vkCmdBindVertexBuffers2EXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
  3764. }
  3765. void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
  3766. {
  3767. return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
  3768. }
  3769. void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
  3770. {
  3771. return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
  3772. }
  3773. void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
  3774. {
  3775. return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
  3776. }
  3777. void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
  3778. {
  3779. return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
  3780. }
  3781. void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
  3782. {
  3783. return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
  3784. }
  3785. void vkCmdSetStencilOpEXT( VkCommandBuffer commandBuffer,
  3786. VkStencilFaceFlags faceMask,
  3787. VkStencilOp failOp,
  3788. VkStencilOp passOp,
  3789. VkStencilOp depthFailOp,
  3790. VkCompareOp compareOp ) const VULKAN_HPP_NOEXCEPT
  3791. {
  3792. return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
  3793. }
  3794. //=== VK_KHR_deferred_host_operations ===
  3795. VkResult vkCreateDeferredOperationKHR( VkDevice device,
  3796. const VkAllocationCallbacks * pAllocator,
  3797. VkDeferredOperationKHR * pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
  3798. {
  3799. return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
  3800. }
  3801. void vkDestroyDeferredOperationKHR( VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3802. {
  3803. return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
  3804. }
  3805. uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
  3806. {
  3807. return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
  3808. }
  3809. VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
  3810. {
  3811. return ::vkGetDeferredOperationResultKHR( device, operation );
  3812. }
  3813. VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
  3814. {
  3815. return ::vkDeferredOperationJoinKHR( device, operation );
  3816. }
  3817. //=== VK_KHR_pipeline_executable_properties ===
  3818. VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice device,
  3819. const VkPipelineInfoKHR * pPipelineInfo,
  3820. uint32_t * pExecutableCount,
  3821. VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  3822. {
  3823. return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
  3824. }
  3825. VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice device,
  3826. const VkPipelineExecutableInfoKHR * pExecutableInfo,
  3827. uint32_t * pStatisticCount,
  3828. VkPipelineExecutableStatisticKHR * pStatistics ) const VULKAN_HPP_NOEXCEPT
  3829. {
  3830. return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
  3831. }
  3832. VkResult
  3833. vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice device,
  3834. const VkPipelineExecutableInfoKHR * pExecutableInfo,
  3835. uint32_t * pInternalRepresentationCount,
  3836. VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
  3837. {
  3838. return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
  3839. }
  3840. //=== VK_EXT_host_image_copy ===
  3841. VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
  3842. {
  3843. return ::vkCopyMemoryToImageEXT( device, pCopyMemoryToImageInfo );
  3844. }
  3845. VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
  3846. {
  3847. return ::vkCopyImageToMemoryEXT( device, pCopyImageToMemoryInfo );
  3848. }
  3849. VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToImageInfoEXT * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
  3850. {
  3851. return ::vkCopyImageToImageEXT( device, pCopyImageToImageInfo );
  3852. }
  3853. VkResult
  3854. vkTransitionImageLayoutEXT( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT * pTransitions ) const VULKAN_HPP_NOEXCEPT
  3855. {
  3856. return ::vkTransitionImageLayoutEXT( device, transitionCount, pTransitions );
  3857. }
  3858. void vkGetImageSubresourceLayout2EXT( VkDevice device,
  3859. VkImage image,
  3860. const VkImageSubresource2KHR * pSubresource,
  3861. VkSubresourceLayout2KHR * pLayout ) const VULKAN_HPP_NOEXCEPT
  3862. {
  3863. return ::vkGetImageSubresourceLayout2EXT( device, image, pSubresource, pLayout );
  3864. }
  3865. //=== VK_KHR_map_memory2 ===
  3866. VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfoKHR * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
  3867. {
  3868. return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData );
  3869. }
  3870. VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
  3871. {
  3872. return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo );
  3873. }
  3874. //=== VK_EXT_swapchain_maintenance1 ===
  3875. VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT
  3876. {
  3877. return ::vkReleaseSwapchainImagesEXT( device, pReleaseInfo );
  3878. }
  3879. //=== VK_NV_device_generated_commands ===
  3880. void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice device,
  3881. const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
  3882. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  3883. {
  3884. return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
  3885. }
  3886. void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
  3887. {
  3888. return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
  3889. }
  3890. void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer commandBuffer,
  3891. VkBool32 isPreprocessed,
  3892. const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
  3893. {
  3894. return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
  3895. }
  3896. void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer commandBuffer,
  3897. VkPipelineBindPoint pipelineBindPoint,
  3898. VkPipeline pipeline,
  3899. uint32_t groupIndex ) const VULKAN_HPP_NOEXCEPT
  3900. {
  3901. return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
  3902. }
  3903. VkResult vkCreateIndirectCommandsLayoutNV( VkDevice device,
  3904. const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
  3905. const VkAllocationCallbacks * pAllocator,
  3906. VkIndirectCommandsLayoutNV * pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
  3907. {
  3908. return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
  3909. }
  3910. void vkDestroyIndirectCommandsLayoutNV( VkDevice device,
  3911. VkIndirectCommandsLayoutNV indirectCommandsLayout,
  3912. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3913. {
  3914. return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
  3915. }
  3916. //=== VK_EXT_depth_bias_control ===
  3917. void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT * pDepthBiasInfo ) const VULKAN_HPP_NOEXCEPT
  3918. {
  3919. return ::vkCmdSetDepthBias2EXT( commandBuffer, pDepthBiasInfo );
  3920. }
  3921. //=== VK_EXT_acquire_drm_display ===
  3922. VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
  3923. {
  3924. return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
  3925. }
  3926. VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR * display ) const VULKAN_HPP_NOEXCEPT
  3927. {
  3928. return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
  3929. }
  3930. //=== VK_EXT_private_data ===
  3931. VkResult vkCreatePrivateDataSlotEXT( VkDevice device,
  3932. const VkPrivateDataSlotCreateInfo * pCreateInfo,
  3933. const VkAllocationCallbacks * pAllocator,
  3934. VkPrivateDataSlot * pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
  3935. {
  3936. return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
  3937. }
  3938. void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  3939. {
  3940. return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
  3941. }
  3942. VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
  3943. VULKAN_HPP_NOEXCEPT
  3944. {
  3945. return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
  3946. }
  3947. void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
  3948. VULKAN_HPP_NOEXCEPT
  3949. {
  3950. return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
  3951. }
  3952. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  3953. //=== VK_KHR_video_encode_queue ===
  3954. VkResult
  3955. vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( VkPhysicalDevice physicalDevice,
  3956. const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
  3957. VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
  3958. {
  3959. return ::vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( physicalDevice, pQualityLevelInfo, pQualityLevelProperties );
  3960. }
  3961. VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice device,
  3962. const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
  3963. VkVideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,
  3964. size_t * pDataSize,
  3965. void * pData ) const VULKAN_HPP_NOEXCEPT
  3966. {
  3967. return ::vkGetEncodedVideoSessionParametersKHR( device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData );
  3968. }
  3969. void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
  3970. {
  3971. return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
  3972. }
  3973. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  3974. # if defined( VK_USE_PLATFORM_METAL_EXT )
  3975. //=== VK_EXT_metal_objects ===
  3976. void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInfoEXT * pMetalObjectsInfo ) const VULKAN_HPP_NOEXCEPT
  3977. {
  3978. return ::vkExportMetalObjectsEXT( device, pMetalObjectsInfo );
  3979. }
  3980. # endif /*VK_USE_PLATFORM_METAL_EXT*/
  3981. //=== VK_KHR_synchronization2 ===
  3982. void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
  3983. {
  3984. return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
  3985. }
  3986. void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
  3987. {
  3988. return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
  3989. }
  3990. void vkCmdWaitEvents2KHR( VkCommandBuffer commandBuffer,
  3991. uint32_t eventCount,
  3992. const VkEvent * pEvents,
  3993. const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
  3994. {
  3995. return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
  3996. }
  3997. void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
  3998. {
  3999. return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
  4000. }
  4001. void vkCmdWriteTimestamp2KHR( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
  4002. {
  4003. return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
  4004. }
  4005. VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
  4006. {
  4007. return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
  4008. }
  4009. void vkCmdWriteBufferMarker2AMD(
  4010. VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const VULKAN_HPP_NOEXCEPT
  4011. {
  4012. return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
  4013. }
  4014. void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
  4015. {
  4016. return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
  4017. }
  4018. //=== VK_EXT_descriptor_buffer ===
  4019. void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
  4020. {
  4021. return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
  4022. }
  4023. void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice device,
  4024. VkDescriptorSetLayout layout,
  4025. uint32_t binding,
  4026. VkDeviceSize * pOffset ) const VULKAN_HPP_NOEXCEPT
  4027. {
  4028. return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
  4029. }
  4030. void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
  4031. {
  4032. return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
  4033. }
  4034. void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer commandBuffer,
  4035. uint32_t bufferCount,
  4036. const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
  4037. {
  4038. return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
  4039. }
  4040. void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer commandBuffer,
  4041. VkPipelineBindPoint pipelineBindPoint,
  4042. VkPipelineLayout layout,
  4043. uint32_t firstSet,
  4044. uint32_t setCount,
  4045. const uint32_t * pBufferIndices,
  4046. const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
  4047. {
  4048. return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
  4049. }
  4050. void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer commandBuffer,
  4051. VkPipelineBindPoint pipelineBindPoint,
  4052. VkPipelineLayout layout,
  4053. uint32_t set ) const VULKAN_HPP_NOEXCEPT
  4054. {
  4055. return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
  4056. }
  4057. VkResult
  4058. vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
  4059. {
  4060. return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
  4061. }
  4062. VkResult
  4063. vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
  4064. {
  4065. return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
  4066. }
  4067. VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice device,
  4068. const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
  4069. void * pData ) const VULKAN_HPP_NOEXCEPT
  4070. {
  4071. return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
  4072. }
  4073. VkResult
  4074. vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
  4075. {
  4076. return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
  4077. }
  4078. VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice device,
  4079. const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
  4080. void * pData ) const VULKAN_HPP_NOEXCEPT
  4081. {
  4082. return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
  4083. }
  4084. //=== VK_NV_fragment_shading_rate_enums ===
  4085. void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer commandBuffer,
  4086. VkFragmentShadingRateNV shadingRate,
  4087. const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
  4088. {
  4089. return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
  4090. }
  4091. //=== VK_EXT_mesh_shader ===
  4092. void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
  4093. {
  4094. return ::vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ );
  4095. }
  4096. void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
  4097. VULKAN_HPP_NOEXCEPT
  4098. {
  4099. return ::vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride );
  4100. }
  4101. void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
  4102. VkBuffer buffer,
  4103. VkDeviceSize offset,
  4104. VkBuffer countBuffer,
  4105. VkDeviceSize countBufferOffset,
  4106. uint32_t maxDrawCount,
  4107. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  4108. {
  4109. return ::vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
  4110. }
  4111. //=== VK_KHR_copy_commands2 ===
  4112. void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
  4113. {
  4114. return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
  4115. }
  4116. void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
  4117. {
  4118. return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
  4119. }
  4120. void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
  4121. {
  4122. return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
  4123. }
  4124. void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
  4125. {
  4126. return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
  4127. }
  4128. void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
  4129. {
  4130. return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
  4131. }
  4132. void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
  4133. {
  4134. return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
  4135. }
  4136. //=== VK_EXT_device_fault ===
  4137. VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCountsEXT * pFaultCounts, VkDeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
  4138. {
  4139. return ::vkGetDeviceFaultInfoEXT( device, pFaultCounts, pFaultInfo );
  4140. }
  4141. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  4142. //=== VK_NV_acquire_winrt_display ===
  4143. VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
  4144. {
  4145. return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
  4146. }
  4147. VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
  4148. {
  4149. return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
  4150. }
  4151. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  4152. # if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  4153. //=== VK_EXT_directfb_surface ===
  4154. VkResult vkCreateDirectFBSurfaceEXT( VkInstance instance,
  4155. const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
  4156. const VkAllocationCallbacks * pAllocator,
  4157. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  4158. {
  4159. return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
  4160. }
  4161. VkBool32
  4162. vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB * dfb ) const VULKAN_HPP_NOEXCEPT
  4163. {
  4164. return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
  4165. }
  4166. # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  4167. //=== VK_EXT_vertex_input_dynamic_state ===
  4168. void vkCmdSetVertexInputEXT( VkCommandBuffer commandBuffer,
  4169. uint32_t vertexBindingDescriptionCount,
  4170. const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,
  4171. uint32_t vertexAttributeDescriptionCount,
  4172. const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT
  4173. {
  4174. return ::vkCmdSetVertexInputEXT(
  4175. commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
  4176. }
  4177. # if defined( VK_USE_PLATFORM_FUCHSIA )
  4178. //=== VK_FUCHSIA_external_memory ===
  4179. VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice device,
  4180. const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
  4181. zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
  4182. {
  4183. return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
  4184. }
  4185. VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice device,
  4186. VkExternalMemoryHandleTypeFlagBits handleType,
  4187. zx_handle_t zirconHandle,
  4188. VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
  4189. {
  4190. return ::vkGetMemoryZirconHandlePropertiesFUCHSIA( device, handleType, zirconHandle, pMemoryZirconHandleProperties );
  4191. }
  4192. # endif /*VK_USE_PLATFORM_FUCHSIA*/
  4193. # if defined( VK_USE_PLATFORM_FUCHSIA )
  4194. //=== VK_FUCHSIA_external_semaphore ===
  4195. VkResult vkImportSemaphoreZirconHandleFUCHSIA( VkDevice device,
  4196. const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
  4197. {
  4198. return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
  4199. }
  4200. VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice device,
  4201. const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
  4202. zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
  4203. {
  4204. return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
  4205. }
  4206. # endif /*VK_USE_PLATFORM_FUCHSIA*/
  4207. # if defined( VK_USE_PLATFORM_FUCHSIA )
  4208. //=== VK_FUCHSIA_buffer_collection ===
  4209. VkResult vkCreateBufferCollectionFUCHSIA( VkDevice device,
  4210. const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
  4211. const VkAllocationCallbacks * pAllocator,
  4212. VkBufferCollectionFUCHSIA * pCollection ) const VULKAN_HPP_NOEXCEPT
  4213. {
  4214. return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
  4215. }
  4216. VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice device,
  4217. VkBufferCollectionFUCHSIA collection,
  4218. const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
  4219. {
  4220. return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
  4221. }
  4222. VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice device,
  4223. VkBufferCollectionFUCHSIA collection,
  4224. const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
  4225. {
  4226. return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
  4227. }
  4228. void vkDestroyBufferCollectionFUCHSIA( VkDevice device,
  4229. VkBufferCollectionFUCHSIA collection,
  4230. const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  4231. {
  4232. return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
  4233. }
  4234. VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice device,
  4235. VkBufferCollectionFUCHSIA collection,
  4236. VkBufferCollectionPropertiesFUCHSIA * pProperties ) const VULKAN_HPP_NOEXCEPT
  4237. {
  4238. return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
  4239. }
  4240. # endif /*VK_USE_PLATFORM_FUCHSIA*/
  4241. //=== VK_HUAWEI_subpass_shading ===
  4242. VkResult
  4243. vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device, VkRenderPass renderpass, VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
  4244. {
  4245. return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
  4246. }
  4247. void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
  4248. {
  4249. return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
  4250. }
  4251. //=== VK_HUAWEI_invocation_mask ===
  4252. void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
  4253. {
  4254. return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
  4255. }
  4256. //=== VK_NV_external_memory_rdma ===
  4257. VkResult vkGetMemoryRemoteAddressNV( VkDevice device,
  4258. const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
  4259. VkRemoteAddressNV * pAddress ) const VULKAN_HPP_NOEXCEPT
  4260. {
  4261. return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
  4262. }
  4263. //=== VK_EXT_pipeline_properties ===
  4264. VkResult
  4265. vkGetPipelinePropertiesEXT( VkDevice device, const VkPipelineInfoEXT * pPipelineInfo, VkBaseOutStructure * pPipelineProperties ) const VULKAN_HPP_NOEXCEPT
  4266. {
  4267. return ::vkGetPipelinePropertiesEXT( device, pPipelineInfo, pPipelineProperties );
  4268. }
  4269. //=== VK_EXT_extended_dynamic_state2 ===
  4270. void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT
  4271. {
  4272. return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
  4273. }
  4274. void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
  4275. {
  4276. return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
  4277. }
  4278. void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
  4279. {
  4280. return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
  4281. }
  4282. void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
  4283. {
  4284. return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
  4285. }
  4286. void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
  4287. {
  4288. return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
  4289. }
  4290. # if defined( VK_USE_PLATFORM_SCREEN_QNX )
  4291. //=== VK_QNX_screen_surface ===
  4292. VkResult vkCreateScreenSurfaceQNX( VkInstance instance,
  4293. const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
  4294. const VkAllocationCallbacks * pAllocator,
  4295. VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
  4296. {
  4297. return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
  4298. }
  4299. VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice physicalDevice,
  4300. uint32_t queueFamilyIndex,
  4301. struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
  4302. {
  4303. return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
  4304. }
  4305. # endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  4306. //=== VK_EXT_color_write_enable ===
  4307. void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
  4308. {
  4309. return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
  4310. }
  4311. //=== VK_KHR_ray_tracing_maintenance1 ===
  4312. void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
  4313. {
  4314. return ::vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress );
  4315. }
  4316. //=== VK_EXT_multi_draw ===
  4317. void vkCmdDrawMultiEXT( VkCommandBuffer commandBuffer,
  4318. uint32_t drawCount,
  4319. const VkMultiDrawInfoEXT * pVertexInfo,
  4320. uint32_t instanceCount,
  4321. uint32_t firstInstance,
  4322. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  4323. {
  4324. return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
  4325. }
  4326. void vkCmdDrawMultiIndexedEXT( VkCommandBuffer commandBuffer,
  4327. uint32_t drawCount,
  4328. const VkMultiDrawIndexedInfoEXT * pIndexInfo,
  4329. uint32_t instanceCount,
  4330. uint32_t firstInstance,
  4331. uint32_t stride,
  4332. const int32_t * pVertexOffset ) const VULKAN_HPP_NOEXCEPT
  4333. {
  4334. return ::vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
  4335. }
  4336. //=== VK_EXT_opacity_micromap ===
  4337. VkResult vkCreateMicromapEXT( VkDevice device,
  4338. const VkMicromapCreateInfoEXT * pCreateInfo,
  4339. const VkAllocationCallbacks * pAllocator,
  4340. VkMicromapEXT * pMicromap ) const VULKAN_HPP_NOEXCEPT
  4341. {
  4342. return ::vkCreateMicromapEXT( device, pCreateInfo, pAllocator, pMicromap );
  4343. }
  4344. void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  4345. {
  4346. return ::vkDestroyMicromapEXT( device, micromap, pAllocator );
  4347. }
  4348. void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
  4349. {
  4350. return ::vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos );
  4351. }
  4352. VkResult vkBuildMicromapsEXT( VkDevice device,
  4353. VkDeferredOperationKHR deferredOperation,
  4354. uint32_t infoCount,
  4355. const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
  4356. {
  4357. return ::vkBuildMicromapsEXT( device, deferredOperation, infoCount, pInfos );
  4358. }
  4359. VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
  4360. {
  4361. return ::vkCopyMicromapEXT( device, deferredOperation, pInfo );
  4362. }
  4363. VkResult vkCopyMicromapToMemoryEXT( VkDevice device,
  4364. VkDeferredOperationKHR deferredOperation,
  4365. const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
  4366. {
  4367. return ::vkCopyMicromapToMemoryEXT( device, deferredOperation, pInfo );
  4368. }
  4369. VkResult vkCopyMemoryToMicromapEXT( VkDevice device,
  4370. VkDeferredOperationKHR deferredOperation,
  4371. const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
  4372. {
  4373. return ::vkCopyMemoryToMicromapEXT( device, deferredOperation, pInfo );
  4374. }
  4375. VkResult vkWriteMicromapsPropertiesEXT( VkDevice device,
  4376. uint32_t micromapCount,
  4377. const VkMicromapEXT * pMicromaps,
  4378. VkQueryType queryType,
  4379. size_t dataSize,
  4380. void * pData,
  4381. size_t stride ) const VULKAN_HPP_NOEXCEPT
  4382. {
  4383. return ::vkWriteMicromapsPropertiesEXT( device, micromapCount, pMicromaps, queryType, dataSize, pData, stride );
  4384. }
  4385. void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
  4386. {
  4387. return ::vkCmdCopyMicromapEXT( commandBuffer, pInfo );
  4388. }
  4389. void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
  4390. {
  4391. return ::vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo );
  4392. }
  4393. void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
  4394. {
  4395. return ::vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo );
  4396. }
  4397. void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer commandBuffer,
  4398. uint32_t micromapCount,
  4399. const VkMicromapEXT * pMicromaps,
  4400. VkQueryType queryType,
  4401. VkQueryPool queryPool,
  4402. uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
  4403. {
  4404. return ::vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery );
  4405. }
  4406. void vkGetDeviceMicromapCompatibilityEXT( VkDevice device,
  4407. const VkMicromapVersionInfoEXT * pVersionInfo,
  4408. VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
  4409. {
  4410. return ::vkGetDeviceMicromapCompatibilityEXT( device, pVersionInfo, pCompatibility );
  4411. }
  4412. void vkGetMicromapBuildSizesEXT( VkDevice device,
  4413. VkAccelerationStructureBuildTypeKHR buildType,
  4414. const VkMicromapBuildInfoEXT * pBuildInfo,
  4415. VkMicromapBuildSizesInfoEXT * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
  4416. {
  4417. return ::vkGetMicromapBuildSizesEXT( device, buildType, pBuildInfo, pSizeInfo );
  4418. }
  4419. //=== VK_HUAWEI_cluster_culling_shader ===
  4420. void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
  4421. {
  4422. return ::vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ );
  4423. }
  4424. void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
  4425. {
  4426. return ::vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset );
  4427. }
  4428. //=== VK_EXT_pageable_device_local_memory ===
  4429. void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
  4430. {
  4431. return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
  4432. }
  4433. //=== VK_KHR_maintenance4 ===
  4434. void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice device,
  4435. const VkDeviceBufferMemoryRequirements * pInfo,
  4436. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  4437. {
  4438. return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
  4439. }
  4440. void vkGetDeviceImageMemoryRequirementsKHR( VkDevice device,
  4441. const VkDeviceImageMemoryRequirements * pInfo,
  4442. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  4443. {
  4444. return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
  4445. }
  4446. void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice device,
  4447. const VkDeviceImageMemoryRequirements * pInfo,
  4448. uint32_t * pSparseMemoryRequirementCount,
  4449. VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  4450. {
  4451. return ::vkGetDeviceImageSparseMemoryRequirementsKHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
  4452. }
  4453. //=== VK_VALVE_descriptor_set_host_mapping ===
  4454. void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice device,
  4455. const VkDescriptorSetBindingReferenceVALVE * pBindingReference,
  4456. VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) const VULKAN_HPP_NOEXCEPT
  4457. {
  4458. return ::vkGetDescriptorSetLayoutHostMappingInfoVALVE( device, pBindingReference, pHostMapping );
  4459. }
  4460. void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptorSet descriptorSet, void ** ppData ) const VULKAN_HPP_NOEXCEPT
  4461. {
  4462. return ::vkGetDescriptorSetHostMappingVALVE( device, descriptorSet, ppData );
  4463. }
  4464. //=== VK_NV_copy_memory_indirect ===
  4465. void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
  4466. VkDeviceAddress copyBufferAddress,
  4467. uint32_t copyCount,
  4468. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  4469. {
  4470. return ::vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride );
  4471. }
  4472. void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer commandBuffer,
  4473. VkDeviceAddress copyBufferAddress,
  4474. uint32_t copyCount,
  4475. uint32_t stride,
  4476. VkImage dstImage,
  4477. VkImageLayout dstImageLayout,
  4478. const VkImageSubresourceLayers * pImageSubresources ) const VULKAN_HPP_NOEXCEPT
  4479. {
  4480. return ::vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources );
  4481. }
  4482. //=== VK_NV_memory_decompression ===
  4483. void vkCmdDecompressMemoryNV( VkCommandBuffer commandBuffer,
  4484. uint32_t decompressRegionCount,
  4485. const VkDecompressMemoryRegionNV * pDecompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT
  4486. {
  4487. return ::vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions );
  4488. }
  4489. void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
  4490. VkDeviceAddress indirectCommandsAddress,
  4491. VkDeviceAddress indirectCommandsCountAddress,
  4492. uint32_t stride ) const VULKAN_HPP_NOEXCEPT
  4493. {
  4494. return ::vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride );
  4495. }
  4496. //=== VK_NV_device_generated_commands_compute ===
  4497. void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice device,
  4498. const VkComputePipelineCreateInfo * pCreateInfo,
  4499. VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
  4500. {
  4501. return ::vkGetPipelineIndirectMemoryRequirementsNV( device, pCreateInfo, pMemoryRequirements );
  4502. }
  4503. void
  4504. vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
  4505. {
  4506. return ::vkCmdUpdatePipelineIndirectBufferNV( commandBuffer, pipelineBindPoint, pipeline );
  4507. }
  4508. VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
  4509. {
  4510. return ::vkGetPipelineIndirectDeviceAddressNV( device, pInfo );
  4511. }
  4512. //=== VK_EXT_extended_dynamic_state3 ===
  4513. void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
  4514. {
  4515. return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
  4516. }
  4517. void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
  4518. {
  4519. return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
  4520. }
  4521. void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT
  4522. {
  4523. return ::vkCmdSetPolygonModeEXT( commandBuffer, polygonMode );
  4524. }
  4525. void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT
  4526. {
  4527. return ::vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples );
  4528. }
  4529. void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask ) const VULKAN_HPP_NOEXCEPT
  4530. {
  4531. return ::vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask );
  4532. }
  4533. void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT
  4534. {
  4535. return ::vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable );
  4536. }
  4537. void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT
  4538. {
  4539. return ::vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable );
  4540. }
  4541. void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT
  4542. {
  4543. return ::vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable );
  4544. }
  4545. void vkCmdSetColorBlendEnableEXT( VkCommandBuffer commandBuffer,
  4546. uint32_t firstAttachment,
  4547. uint32_t attachmentCount,
  4548. const VkBool32 * pColorBlendEnables ) const VULKAN_HPP_NOEXCEPT
  4549. {
  4550. return ::vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables );
  4551. }
  4552. void vkCmdSetColorBlendEquationEXT( VkCommandBuffer commandBuffer,
  4553. uint32_t firstAttachment,
  4554. uint32_t attachmentCount,
  4555. const VkColorBlendEquationEXT * pColorBlendEquations ) const VULKAN_HPP_NOEXCEPT
  4556. {
  4557. return ::vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations );
  4558. }
  4559. void vkCmdSetColorWriteMaskEXT( VkCommandBuffer commandBuffer,
  4560. uint32_t firstAttachment,
  4561. uint32_t attachmentCount,
  4562. const VkColorComponentFlags * pColorWriteMasks ) const VULKAN_HPP_NOEXCEPT
  4563. {
  4564. return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
  4565. }
  4566. void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
  4567. {
  4568. return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
  4569. }
  4570. void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer commandBuffer,
  4571. VkConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT
  4572. {
  4573. return ::vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode );
  4574. }
  4575. void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT
  4576. {
  4577. return ::vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize );
  4578. }
  4579. void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT
  4580. {
  4581. return ::vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable );
  4582. }
  4583. void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT
  4584. {
  4585. return ::vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable );
  4586. }
  4587. void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer commandBuffer,
  4588. uint32_t firstAttachment,
  4589. uint32_t attachmentCount,
  4590. const VkColorBlendAdvancedEXT * pColorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT
  4591. {
  4592. return ::vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced );
  4593. }
  4594. void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT
  4595. {
  4596. return ::vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode );
  4597. }
  4598. void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT
  4599. {
  4600. return ::vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode );
  4601. }
  4602. void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT
  4603. {
  4604. return ::vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable );
  4605. }
  4606. void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT
  4607. {
  4608. return ::vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne );
  4609. }
  4610. void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT
  4611. {
  4612. return ::vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable );
  4613. }
  4614. void vkCmdSetViewportSwizzleNV( VkCommandBuffer commandBuffer,
  4615. uint32_t firstViewport,
  4616. uint32_t viewportCount,
  4617. const VkViewportSwizzleNV * pViewportSwizzles ) const VULKAN_HPP_NOEXCEPT
  4618. {
  4619. return ::vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles );
  4620. }
  4621. void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT
  4622. {
  4623. return ::vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable );
  4624. }
  4625. void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT
  4626. {
  4627. return ::vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation );
  4628. }
  4629. void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT
  4630. {
  4631. return ::vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode );
  4632. }
  4633. void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT
  4634. {
  4635. return ::vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable );
  4636. }
  4637. void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
  4638. uint32_t coverageModulationTableCount,
  4639. const float * pCoverageModulationTable ) const VULKAN_HPP_NOEXCEPT
  4640. {
  4641. return ::vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable );
  4642. }
  4643. void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT
  4644. {
  4645. return ::vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable );
  4646. }
  4647. void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT
  4648. {
  4649. return ::vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable );
  4650. }
  4651. void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT
  4652. {
  4653. return ::vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode );
  4654. }
  4655. //=== VK_EXT_shader_module_identifier ===
  4656. void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
  4657. {
  4658. return ::vkGetShaderModuleIdentifierEXT( device, shaderModule, pIdentifier );
  4659. }
  4660. void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice device,
  4661. const VkShaderModuleCreateInfo * pCreateInfo,
  4662. VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
  4663. {
  4664. return ::vkGetShaderModuleCreateInfoIdentifierEXT( device, pCreateInfo, pIdentifier );
  4665. }
  4666. //=== VK_NV_optical_flow ===
  4667. VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice physicalDevice,
  4668. const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
  4669. uint32_t * pFormatCount,
  4670. VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
  4671. {
  4672. return ::vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties );
  4673. }
  4674. VkResult vkCreateOpticalFlowSessionNV( VkDevice device,
  4675. const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,
  4676. const VkAllocationCallbacks * pAllocator,
  4677. VkOpticalFlowSessionNV * pSession ) const VULKAN_HPP_NOEXCEPT
  4678. {
  4679. return ::vkCreateOpticalFlowSessionNV( device, pCreateInfo, pAllocator, pSession );
  4680. }
  4681. void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  4682. {
  4683. return ::vkDestroyOpticalFlowSessionNV( device, session, pAllocator );
  4684. }
  4685. VkResult vkBindOpticalFlowSessionImageNV( VkDevice device,
  4686. VkOpticalFlowSessionNV session,
  4687. VkOpticalFlowSessionBindingPointNV bindingPoint,
  4688. VkImageView view,
  4689. VkImageLayout layout ) const VULKAN_HPP_NOEXCEPT
  4690. {
  4691. return ::vkBindOpticalFlowSessionImageNV( device, session, bindingPoint, view, layout );
  4692. }
  4693. void vkCmdOpticalFlowExecuteNV( VkCommandBuffer commandBuffer,
  4694. VkOpticalFlowSessionNV session,
  4695. const VkOpticalFlowExecuteInfoNV * pExecuteInfo ) const VULKAN_HPP_NOEXCEPT
  4696. {
  4697. return ::vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo );
  4698. }
  4699. //=== VK_KHR_maintenance5 ===
  4700. void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
  4701. VULKAN_HPP_NOEXCEPT
  4702. {
  4703. return ::vkCmdBindIndexBuffer2KHR( commandBuffer, buffer, offset, size, indexType );
  4704. }
  4705. void vkGetRenderingAreaGranularityKHR( VkDevice device,
  4706. const VkRenderingAreaInfoKHR * pRenderingAreaInfo,
  4707. VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
  4708. {
  4709. return ::vkGetRenderingAreaGranularityKHR( device, pRenderingAreaInfo, pGranularity );
  4710. }
  4711. void vkGetDeviceImageSubresourceLayoutKHR( VkDevice device,
  4712. const VkDeviceImageSubresourceInfoKHR * pInfo,
  4713. VkSubresourceLayout2KHR * pLayout ) const VULKAN_HPP_NOEXCEPT
  4714. {
  4715. return ::vkGetDeviceImageSubresourceLayoutKHR( device, pInfo, pLayout );
  4716. }
  4717. void vkGetImageSubresourceLayout2KHR( VkDevice device,
  4718. VkImage image,
  4719. const VkImageSubresource2KHR * pSubresource,
  4720. VkSubresourceLayout2KHR * pLayout ) const VULKAN_HPP_NOEXCEPT
  4721. {
  4722. return ::vkGetImageSubresourceLayout2KHR( device, image, pSubresource, pLayout );
  4723. }
  4724. //=== VK_EXT_shader_object ===
  4725. VkResult vkCreateShadersEXT( VkDevice device,
  4726. uint32_t createInfoCount,
  4727. const VkShaderCreateInfoEXT * pCreateInfos,
  4728. const VkAllocationCallbacks * pAllocator,
  4729. VkShaderEXT * pShaders ) const VULKAN_HPP_NOEXCEPT
  4730. {
  4731. return ::vkCreateShadersEXT( device, createInfoCount, pCreateInfos, pAllocator, pShaders );
  4732. }
  4733. void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
  4734. {
  4735. return ::vkDestroyShaderEXT( device, shader, pAllocator );
  4736. }
  4737. VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
  4738. {
  4739. return ::vkGetShaderBinaryDataEXT( device, shader, pDataSize, pData );
  4740. }
  4741. void vkCmdBindShadersEXT( VkCommandBuffer commandBuffer,
  4742. uint32_t stageCount,
  4743. const VkShaderStageFlagBits * pStages,
  4744. const VkShaderEXT * pShaders ) const VULKAN_HPP_NOEXCEPT
  4745. {
  4746. return ::vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders );
  4747. }
  4748. //=== VK_QCOM_tile_properties ===
  4749. VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice device,
  4750. VkFramebuffer framebuffer,
  4751. uint32_t * pPropertiesCount,
  4752. VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
  4753. {
  4754. return ::vkGetFramebufferTilePropertiesQCOM( device, framebuffer, pPropertiesCount, pProperties );
  4755. }
  4756. VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice device,
  4757. const VkRenderingInfo * pRenderingInfo,
  4758. VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
  4759. {
  4760. return ::vkGetDynamicRenderingTilePropertiesQCOM( device, pRenderingInfo, pProperties );
  4761. }
  4762. //=== VK_NV_low_latency2 ===
  4763. VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV * pSleepModeInfo ) const VULKAN_HPP_NOEXCEPT
  4764. {
  4765. return ::vkSetLatencySleepModeNV( device, swapchain, pSleepModeInfo );
  4766. }
  4767. VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV * pSleepInfo ) const VULKAN_HPP_NOEXCEPT
  4768. {
  4769. return ::vkLatencySleepNV( device, swapchain, pSleepInfo );
  4770. }
  4771. void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
  4772. {
  4773. return ::vkSetLatencyMarkerNV( device, swapchain, pLatencyMarkerInfo );
  4774. }
  4775. void vkGetLatencyTimingsNV( VkDevice device,
  4776. VkSwapchainKHR swapchain,
  4777. uint32_t * pTimingCount,
  4778. VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
  4779. {
  4780. return ::vkGetLatencyTimingsNV( device, swapchain, pTimingCount, pLatencyMarkerInfo );
  4781. }
  4782. void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo ) const VULKAN_HPP_NOEXCEPT
  4783. {
  4784. return ::vkQueueNotifyOutOfBandNV( queue, pQueueTypeInfo );
  4785. }
  4786. //=== VK_KHR_cooperative_matrix ===
  4787. VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysicalDevice physicalDevice,
  4788. uint32_t * pPropertyCount,
  4789. VkCooperativeMatrixPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
  4790. {
  4791. return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
  4792. }
  4793. //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
  4794. void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT
  4795. {
  4796. return ::vkCmdSetAttachmentFeedbackLoopEnableEXT( commandBuffer, aspectMask );
  4797. }
  4798. # if defined( VK_USE_PLATFORM_SCREEN_QNX )
  4799. //=== VK_QNX_external_memory_screen_buffer ===
  4800. VkResult vkGetScreenBufferPropertiesQNX( VkDevice device,
  4801. const struct _screen_buffer * buffer,
  4802. VkScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
  4803. {
  4804. return ::vkGetScreenBufferPropertiesQNX( device, buffer, pProperties );
  4805. }
  4806. # endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  4807. };
  4808. inline ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic & getDispatchLoaderStatic()
  4809. {
  4810. static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic dls;
  4811. return dls;
  4812. }
  4813. #endif
  4814. #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
  4815. struct AllocationCallbacks;
  4816. template <typename OwnerType, typename Dispatch>
  4817. class ObjectDestroy
  4818. {
  4819. public:
  4820. ObjectDestroy() = default;
  4821. ObjectDestroy( OwnerType owner,
  4822. Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4823. Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
  4824. : m_owner( owner )
  4825. , m_allocationCallbacks( allocationCallbacks )
  4826. , m_dispatch( &dispatch )
  4827. {
  4828. }
  4829. OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
  4830. {
  4831. return m_owner;
  4832. }
  4833. Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
  4834. {
  4835. return m_allocationCallbacks;
  4836. }
  4837. Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
  4838. {
  4839. return *m_dispatch;
  4840. }
  4841. protected:
  4842. template <typename T>
  4843. void destroy( T t ) VULKAN_HPP_NOEXCEPT
  4844. {
  4845. VULKAN_HPP_ASSERT( m_owner && m_dispatch );
  4846. m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
  4847. }
  4848. private:
  4849. OwnerType m_owner = {};
  4850. Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
  4851. Dispatch const * m_dispatch = nullptr;
  4852. };
  4853. class NoParent;
  4854. template <typename Dispatch>
  4855. class ObjectDestroy<NoParent, Dispatch>
  4856. {
  4857. public:
  4858. ObjectDestroy() = default;
  4859. ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
  4860. Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
  4861. : m_allocationCallbacks( allocationCallbacks )
  4862. , m_dispatch( &dispatch )
  4863. {
  4864. }
  4865. Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
  4866. {
  4867. return m_allocationCallbacks;
  4868. }
  4869. Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
  4870. {
  4871. return *m_dispatch;
  4872. }
  4873. protected:
  4874. template <typename T>
  4875. void destroy( T t ) VULKAN_HPP_NOEXCEPT
  4876. {
  4877. VULKAN_HPP_ASSERT( m_dispatch );
  4878. t.destroy( m_allocationCallbacks, *m_dispatch );
  4879. }
  4880. private:
  4881. Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
  4882. Dispatch const * m_dispatch = nullptr;
  4883. };
  4884. template <typename OwnerType, typename Dispatch>
  4885. class ObjectFree
  4886. {
  4887. public:
  4888. ObjectFree() = default;
  4889. ObjectFree( OwnerType owner,
  4890. Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4891. Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
  4892. : m_owner( owner )
  4893. , m_allocationCallbacks( allocationCallbacks )
  4894. , m_dispatch( &dispatch )
  4895. {
  4896. }
  4897. OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
  4898. {
  4899. return m_owner;
  4900. }
  4901. Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
  4902. {
  4903. return m_allocationCallbacks;
  4904. }
  4905. Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
  4906. {
  4907. return *m_dispatch;
  4908. }
  4909. protected:
  4910. template <typename T>
  4911. void destroy( T t ) VULKAN_HPP_NOEXCEPT
  4912. {
  4913. VULKAN_HPP_ASSERT( m_owner && m_dispatch );
  4914. ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch );
  4915. }
  4916. private:
  4917. OwnerType m_owner = {};
  4918. Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
  4919. Dispatch const * m_dispatch = nullptr;
  4920. };
  4921. template <typename OwnerType, typename Dispatch>
  4922. class ObjectRelease
  4923. {
  4924. public:
  4925. ObjectRelease() = default;
  4926. ObjectRelease( OwnerType owner, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
  4927. : m_owner( owner )
  4928. , m_dispatch( &dispatch )
  4929. {
  4930. }
  4931. OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
  4932. {
  4933. return m_owner;
  4934. }
  4935. Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
  4936. {
  4937. return *m_dispatch;
  4938. }
  4939. protected:
  4940. template <typename T>
  4941. void destroy( T t ) VULKAN_HPP_NOEXCEPT
  4942. {
  4943. VULKAN_HPP_ASSERT( m_owner && m_dispatch );
  4944. m_owner.release( t, *m_dispatch );
  4945. }
  4946. private:
  4947. OwnerType m_owner = {};
  4948. Dispatch const * m_dispatch = nullptr;
  4949. };
  4950. template <typename OwnerType, typename PoolType, typename Dispatch>
  4951. class PoolFree
  4952. {
  4953. public:
  4954. PoolFree() = default;
  4955. PoolFree( OwnerType owner, PoolType pool, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
  4956. : m_owner( owner )
  4957. , m_pool( pool )
  4958. , m_dispatch( &dispatch )
  4959. {
  4960. }
  4961. OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
  4962. {
  4963. return m_owner;
  4964. }
  4965. PoolType getPool() const VULKAN_HPP_NOEXCEPT
  4966. {
  4967. return m_pool;
  4968. }
  4969. Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
  4970. {
  4971. return *m_dispatch;
  4972. }
  4973. protected:
  4974. template <typename T>
  4975. void destroy( T t ) VULKAN_HPP_NOEXCEPT
  4976. {
  4977. ( m_owner.free )( m_pool, t, *m_dispatch );
  4978. }
  4979. private:
  4980. OwnerType m_owner = OwnerType();
  4981. PoolType m_pool = PoolType();
  4982. Dispatch const * m_dispatch = nullptr;
  4983. };
  4984. #endif // !VULKAN_HPP_NO_SMART_HANDLE
  4985. //==================
  4986. //=== BASE TYPEs ===
  4987. //==================
  4988. using Bool32 = uint32_t;
  4989. using DeviceAddress = uint64_t;
  4990. using DeviceSize = uint64_t;
  4991. using RemoteAddressNV = void *;
  4992. using SampleMask = uint32_t;
  4993. } // namespace VULKAN_HPP_NAMESPACE
  4994. #include <vulkan/vulkan_enums.hpp>
  4995. #if !defined( VULKAN_HPP_NO_TO_STRING )
  4996. # include <vulkan/vulkan_to_string.hpp>
  4997. #endif
  4998. #ifndef VULKAN_HPP_NO_EXCEPTIONS
  4999. namespace std
  5000. {
  5001. template <>
  5002. struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
  5003. {
  5004. };
  5005. } // namespace std
  5006. #endif
  5007. namespace VULKAN_HPP_NAMESPACE
  5008. {
  5009. #ifndef VULKAN_HPP_NO_EXCEPTIONS
  5010. class ErrorCategoryImpl : public std::error_category
  5011. {
  5012. public:
  5013. virtual const char * name() const VULKAN_HPP_NOEXCEPT override
  5014. {
  5015. return VULKAN_HPP_NAMESPACE_STRING "::Result";
  5016. }
  5017. virtual std::string message( int ev ) const override
  5018. {
  5019. # if defined( VULKAN_HPP_NO_TO_STRING )
  5020. return std::to_string( ev );
  5021. # else
  5022. return VULKAN_HPP_NAMESPACE::to_string( static_cast<VULKAN_HPP_NAMESPACE::Result>( ev ) );
  5023. # endif
  5024. }
  5025. };
  5026. class Error
  5027. {
  5028. public:
  5029. Error() VULKAN_HPP_NOEXCEPT = default;
  5030. Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
  5031. virtual ~Error() VULKAN_HPP_NOEXCEPT = default;
  5032. virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
  5033. };
  5034. class LogicError
  5035. : public Error
  5036. , public std::logic_error
  5037. {
  5038. public:
  5039. explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
  5040. explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
  5041. virtual const char * what() const VULKAN_HPP_NOEXCEPT
  5042. {
  5043. return std::logic_error::what();
  5044. }
  5045. };
  5046. class SystemError
  5047. : public Error
  5048. , public std::system_error
  5049. {
  5050. public:
  5051. SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
  5052. SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
  5053. SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
  5054. SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
  5055. SystemError( int ev, std::error_category const & ecat, std::string const & what ) : Error(), std::system_error( ev, ecat, what ) {}
  5056. SystemError( int ev, std::error_category const & ecat, char const * what ) : Error(), std::system_error( ev, ecat, what ) {}
  5057. virtual const char * what() const VULKAN_HPP_NOEXCEPT
  5058. {
  5059. return std::system_error::what();
  5060. }
  5061. };
  5062. VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
  5063. {
  5064. static ErrorCategoryImpl instance;
  5065. return instance;
  5066. }
  5067. VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
  5068. {
  5069. return std::error_code( static_cast<int>( e ), errorCategory() );
  5070. }
  5071. VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
  5072. {
  5073. return std::error_condition( static_cast<int>( e ), errorCategory() );
  5074. }
  5075. class OutOfHostMemoryError : public SystemError
  5076. {
  5077. public:
  5078. OutOfHostMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
  5079. OutOfHostMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
  5080. };
  5081. class OutOfDeviceMemoryError : public SystemError
  5082. {
  5083. public:
  5084. OutOfDeviceMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
  5085. OutOfDeviceMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
  5086. };
  5087. class InitializationFailedError : public SystemError
  5088. {
  5089. public:
  5090. InitializationFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
  5091. InitializationFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
  5092. };
  5093. class DeviceLostError : public SystemError
  5094. {
  5095. public:
  5096. DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
  5097. DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
  5098. };
  5099. class MemoryMapFailedError : public SystemError
  5100. {
  5101. public:
  5102. MemoryMapFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
  5103. MemoryMapFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
  5104. };
  5105. class LayerNotPresentError : public SystemError
  5106. {
  5107. public:
  5108. LayerNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
  5109. LayerNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
  5110. };
  5111. class ExtensionNotPresentError : public SystemError
  5112. {
  5113. public:
  5114. ExtensionNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
  5115. ExtensionNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
  5116. };
  5117. class FeatureNotPresentError : public SystemError
  5118. {
  5119. public:
  5120. FeatureNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
  5121. FeatureNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
  5122. };
  5123. class IncompatibleDriverError : public SystemError
  5124. {
  5125. public:
  5126. IncompatibleDriverError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
  5127. IncompatibleDriverError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
  5128. };
  5129. class TooManyObjectsError : public SystemError
  5130. {
  5131. public:
  5132. TooManyObjectsError( std::string const & message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
  5133. TooManyObjectsError( char const * message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
  5134. };
  5135. class FormatNotSupportedError : public SystemError
  5136. {
  5137. public:
  5138. FormatNotSupportedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
  5139. FormatNotSupportedError( char const * message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
  5140. };
  5141. class FragmentedPoolError : public SystemError
  5142. {
  5143. public:
  5144. FragmentedPoolError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
  5145. FragmentedPoolError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
  5146. };
  5147. class UnknownError : public SystemError
  5148. {
  5149. public:
  5150. UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
  5151. UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
  5152. };
  5153. class OutOfPoolMemoryError : public SystemError
  5154. {
  5155. public:
  5156. OutOfPoolMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
  5157. OutOfPoolMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
  5158. };
  5159. class InvalidExternalHandleError : public SystemError
  5160. {
  5161. public:
  5162. InvalidExternalHandleError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
  5163. InvalidExternalHandleError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
  5164. };
  5165. class FragmentationError : public SystemError
  5166. {
  5167. public:
  5168. FragmentationError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
  5169. FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
  5170. };
  5171. class InvalidOpaqueCaptureAddressError : public SystemError
  5172. {
  5173. public:
  5174. InvalidOpaqueCaptureAddressError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
  5175. InvalidOpaqueCaptureAddressError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
  5176. };
  5177. class SurfaceLostKHRError : public SystemError
  5178. {
  5179. public:
  5180. SurfaceLostKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
  5181. SurfaceLostKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
  5182. };
  5183. class NativeWindowInUseKHRError : public SystemError
  5184. {
  5185. public:
  5186. NativeWindowInUseKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
  5187. NativeWindowInUseKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
  5188. };
  5189. class OutOfDateKHRError : public SystemError
  5190. {
  5191. public:
  5192. OutOfDateKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
  5193. OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
  5194. };
  5195. class IncompatibleDisplayKHRError : public SystemError
  5196. {
  5197. public:
  5198. IncompatibleDisplayKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
  5199. IncompatibleDisplayKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
  5200. };
  5201. class ValidationFailedEXTError : public SystemError
  5202. {
  5203. public:
  5204. ValidationFailedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
  5205. ValidationFailedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
  5206. };
  5207. class InvalidShaderNVError : public SystemError
  5208. {
  5209. public:
  5210. InvalidShaderNVError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
  5211. InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
  5212. };
  5213. class ImageUsageNotSupportedKHRError : public SystemError
  5214. {
  5215. public:
  5216. ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
  5217. ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
  5218. };
  5219. class VideoPictureLayoutNotSupportedKHRError : public SystemError
  5220. {
  5221. public:
  5222. VideoPictureLayoutNotSupportedKHRError( std::string const & message )
  5223. : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
  5224. {
  5225. }
  5226. VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
  5227. {
  5228. }
  5229. };
  5230. class VideoProfileOperationNotSupportedKHRError : public SystemError
  5231. {
  5232. public:
  5233. VideoProfileOperationNotSupportedKHRError( std::string const & message )
  5234. : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
  5235. {
  5236. }
  5237. VideoProfileOperationNotSupportedKHRError( char const * message )
  5238. : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
  5239. {
  5240. }
  5241. };
  5242. class VideoProfileFormatNotSupportedKHRError : public SystemError
  5243. {
  5244. public:
  5245. VideoProfileFormatNotSupportedKHRError( std::string const & message )
  5246. : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
  5247. {
  5248. }
  5249. VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
  5250. {
  5251. }
  5252. };
  5253. class VideoProfileCodecNotSupportedKHRError : public SystemError
  5254. {
  5255. public:
  5256. VideoProfileCodecNotSupportedKHRError( std::string const & message )
  5257. : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message )
  5258. {
  5259. }
  5260. VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {}
  5261. };
  5262. class VideoStdVersionNotSupportedKHRError : public SystemError
  5263. {
  5264. public:
  5265. VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message )
  5266. {
  5267. }
  5268. VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {}
  5269. };
  5270. class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
  5271. {
  5272. public:
  5273. InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
  5274. : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
  5275. {
  5276. }
  5277. InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
  5278. : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
  5279. {
  5280. }
  5281. };
  5282. class NotPermittedKHRError : public SystemError
  5283. {
  5284. public:
  5285. NotPermittedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
  5286. NotPermittedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
  5287. };
  5288. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  5289. class FullScreenExclusiveModeLostEXTError : public SystemError
  5290. {
  5291. public:
  5292. FullScreenExclusiveModeLostEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
  5293. {
  5294. }
  5295. FullScreenExclusiveModeLostEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message ) {}
  5296. };
  5297. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  5298. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  5299. class InvalidVideoStdParametersKHRError : public SystemError
  5300. {
  5301. public:
  5302. InvalidVideoStdParametersKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
  5303. InvalidVideoStdParametersKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
  5304. };
  5305. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5306. class CompressionExhaustedEXTError : public SystemError
  5307. {
  5308. public:
  5309. CompressionExhaustedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
  5310. CompressionExhaustedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
  5311. };
  5312. class IncompatibleShaderBinaryEXTError : public SystemError
  5313. {
  5314. public:
  5315. IncompatibleShaderBinaryEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleShaderBinaryEXT ), message ) {}
  5316. IncompatibleShaderBinaryEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleShaderBinaryEXT ), message ) {}
  5317. };
  5318. namespace detail
  5319. {
  5320. [[noreturn]] VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
  5321. {
  5322. switch ( result )
  5323. {
  5324. case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
  5325. case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
  5326. case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
  5327. case Result::eErrorDeviceLost: throw DeviceLostError( message );
  5328. case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
  5329. case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
  5330. case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
  5331. case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
  5332. case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
  5333. case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
  5334. case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
  5335. case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
  5336. case Result::eErrorUnknown: throw UnknownError( message );
  5337. case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
  5338. case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
  5339. case Result::eErrorFragmentation: throw FragmentationError( message );
  5340. case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
  5341. case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
  5342. case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
  5343. case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
  5344. case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
  5345. case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
  5346. case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
  5347. case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message );
  5348. case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message );
  5349. case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message );
  5350. case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message );
  5351. case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message );
  5352. case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message );
  5353. case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
  5354. case Result::eErrorNotPermittedKHR: throw NotPermittedKHRError( message );
  5355. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  5356. case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
  5357. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  5358. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  5359. case Result::eErrorInvalidVideoStdParametersKHR: throw InvalidVideoStdParametersKHRError( message );
  5360. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5361. case Result::eErrorCompressionExhaustedEXT: throw CompressionExhaustedEXTError( message );
  5362. case Result::eErrorIncompatibleShaderBinaryEXT: throw IncompatibleShaderBinaryEXTError( message );
  5363. default: throw SystemError( make_error_code( result ), message );
  5364. }
  5365. }
  5366. } // namespace detail
  5367. #endif
  5368. template <typename T>
  5369. void ignore( T const & ) VULKAN_HPP_NOEXCEPT
  5370. {
  5371. }
  5372. template <typename T>
  5373. struct ResultValue
  5374. {
  5375. #ifdef VULKAN_HPP_HAS_NOEXCEPT
  5376. ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
  5377. #else
  5378. ResultValue( Result r, T & v )
  5379. #endif
  5380. : result( r ), value( v )
  5381. {
  5382. }
  5383. #ifdef VULKAN_HPP_HAS_NOEXCEPT
  5384. ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
  5385. #else
  5386. ResultValue( Result r, T && v )
  5387. #endif
  5388. : result( r ), value( std::move( v ) )
  5389. {
  5390. }
  5391. Result result;
  5392. T value;
  5393. operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
  5394. {
  5395. return std::tuple<Result &, T &>( result, value );
  5396. }
  5397. };
  5398. #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
  5399. template <typename Type, typename Dispatch>
  5400. struct ResultValue<UniqueHandle<Type, Dispatch>>
  5401. {
  5402. # ifdef VULKAN_HPP_HAS_NOEXCEPT
  5403. ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
  5404. # else
  5405. ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
  5406. # endif
  5407. : result( r )
  5408. , value( std::move( v ) )
  5409. {
  5410. }
  5411. VULKAN_HPP_DEPRECATED(
  5412. "asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
  5413. std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
  5414. {
  5415. return std::make_tuple( result, std::move( value ) );
  5416. }
  5417. std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
  5418. {
  5419. return std::make_tuple( result, std::move( value ) );
  5420. }
  5421. Result result;
  5422. UniqueHandle<Type, Dispatch> value;
  5423. };
  5424. template <typename Type, typename Dispatch>
  5425. struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
  5426. {
  5427. # ifdef VULKAN_HPP_HAS_NOEXCEPT
  5428. ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
  5429. # else
  5430. ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
  5431. # endif
  5432. : result( r )
  5433. , value( std::move( v ) )
  5434. {
  5435. }
  5436. VULKAN_HPP_DEPRECATED(
  5437. "asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
  5438. std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
  5439. {
  5440. return std::make_tuple( result, std::move( value ) );
  5441. }
  5442. std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
  5443. {
  5444. return std::make_tuple( result, std::move( value ) );
  5445. }
  5446. Result result;
  5447. std::vector<UniqueHandle<Type, Dispatch>> value;
  5448. };
  5449. #endif
  5450. template <typename T>
  5451. struct ResultValueType
  5452. {
  5453. #ifdef VULKAN_HPP_NO_EXCEPTIONS
  5454. typedef ResultValue<T> type;
  5455. #else
  5456. typedef T type;
  5457. #endif
  5458. };
  5459. template <>
  5460. struct ResultValueType<void>
  5461. {
  5462. #ifdef VULKAN_HPP_NO_EXCEPTIONS
  5463. typedef Result type;
  5464. #else
  5465. typedef void type;
  5466. #endif
  5467. };
  5468. VULKAN_HPP_INLINE typename ResultValueType<void>::type createResultValueType( Result result )
  5469. {
  5470. #ifdef VULKAN_HPP_NO_EXCEPTIONS
  5471. return result;
  5472. #else
  5473. ignore( result );
  5474. #endif
  5475. }
  5476. template <typename T>
  5477. VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValueType( Result result, T & data )
  5478. {
  5479. #ifdef VULKAN_HPP_NO_EXCEPTIONS
  5480. return ResultValue<T>( result, data );
  5481. #else
  5482. ignore( result );
  5483. return data;
  5484. #endif
  5485. }
  5486. template <typename T>
  5487. VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValueType( Result result, T && data )
  5488. {
  5489. #ifdef VULKAN_HPP_NO_EXCEPTIONS
  5490. return ResultValue<T>( result, std::move( data ) );
  5491. #else
  5492. ignore( result );
  5493. return std::move( data );
  5494. #endif
  5495. }
  5496. VULKAN_HPP_INLINE void resultCheck( Result result, char const * message )
  5497. {
  5498. #ifdef VULKAN_HPP_NO_EXCEPTIONS
  5499. ignore( result ); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
  5500. ignore( message );
  5501. VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
  5502. #else
  5503. if ( result != Result::eSuccess )
  5504. {
  5505. detail::throwResultException( result, message );
  5506. }
  5507. #endif
  5508. }
  5509. VULKAN_HPP_INLINE void resultCheck( Result result, char const * message, std::initializer_list<Result> successCodes )
  5510. {
  5511. #ifdef VULKAN_HPP_NO_EXCEPTIONS
  5512. ignore( result ); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
  5513. ignore( message );
  5514. ignore( successCodes ); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
  5515. VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
  5516. #else
  5517. if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
  5518. {
  5519. detail::throwResultException( result, message );
  5520. }
  5521. #endif
  5522. }
  5523. //===========================
  5524. //=== CONSTEXPR CONSTANTs ===
  5525. //===========================
  5526. //=== VK_VERSION_1_0 ===
  5527. VULKAN_HPP_CONSTEXPR_INLINE uint32_t AttachmentUnused = VK_ATTACHMENT_UNUSED;
  5528. VULKAN_HPP_CONSTEXPR_INLINE uint32_t False = VK_FALSE;
  5529. VULKAN_HPP_CONSTEXPR_INLINE float LodClampNone = VK_LOD_CLAMP_NONE;
  5530. VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyIgnored = VK_QUEUE_FAMILY_IGNORED;
  5531. VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingArrayLayers = VK_REMAINING_ARRAY_LAYERS;
  5532. VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingMipLevels = VK_REMAINING_MIP_LEVELS;
  5533. VULKAN_HPP_CONSTEXPR_INLINE uint32_t SubpassExternal = VK_SUBPASS_EXTERNAL;
  5534. VULKAN_HPP_CONSTEXPR_INLINE uint32_t True = VK_TRUE;
  5535. VULKAN_HPP_CONSTEXPR_INLINE uint64_t WholeSize = VK_WHOLE_SIZE;
  5536. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryTypes = VK_MAX_MEMORY_TYPES;
  5537. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPhysicalDeviceNameSize = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
  5538. VULKAN_HPP_CONSTEXPR_INLINE uint32_t UuidSize = VK_UUID_SIZE;
  5539. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxExtensionNameSize = VK_MAX_EXTENSION_NAME_SIZE;
  5540. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDescriptionSize = VK_MAX_DESCRIPTION_SIZE;
  5541. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryHeaps = VK_MAX_MEMORY_HEAPS;
  5542. //=== VK_VERSION_1_1 ===
  5543. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSize = VK_MAX_DEVICE_GROUP_SIZE;
  5544. VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSize = VK_LUID_SIZE;
  5545. VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternal = VK_QUEUE_FAMILY_EXTERNAL;
  5546. //=== VK_VERSION_1_2 ===
  5547. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSize = VK_MAX_DRIVER_NAME_SIZE;
  5548. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSize = VK_MAX_DRIVER_INFO_SIZE;
  5549. //=== VK_KHR_device_group_creation ===
  5550. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSizeKHR = VK_MAX_DEVICE_GROUP_SIZE_KHR;
  5551. //=== VK_KHR_external_memory_capabilities ===
  5552. VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSizeKHR = VK_LUID_SIZE_KHR;
  5553. //=== VK_KHR_external_memory ===
  5554. VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternalKHR = VK_QUEUE_FAMILY_EXTERNAL_KHR;
  5555. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  5556. //=== VK_AMDX_shader_enqueue ===
  5557. VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderIndexUnusedAMDX = VK_SHADER_INDEX_UNUSED_AMDX;
  5558. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  5559. //=== VK_KHR_ray_tracing_pipeline ===
  5560. VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedKHR = VK_SHADER_UNUSED_KHR;
  5561. //=== VK_NV_ray_tracing ===
  5562. VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedNV = VK_SHADER_UNUSED_NV;
  5563. //=== VK_KHR_global_priority ===
  5564. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeKHR = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR;
  5565. //=== VK_KHR_driver_properties ===
  5566. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSizeKHR = VK_MAX_DRIVER_NAME_SIZE_KHR;
  5567. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSizeKHR = VK_MAX_DRIVER_INFO_SIZE_KHR;
  5568. //=== VK_EXT_global_priority_query ===
  5569. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeEXT = VK_MAX_GLOBAL_PRIORITY_SIZE_EXT;
  5570. //=== VK_EXT_image_sliced_view_of_3d ===
  5571. VULKAN_HPP_CONSTEXPR_INLINE uint32_t Remaining3DSlicesEXT = VK_REMAINING_3D_SLICES_EXT;
  5572. //=== VK_EXT_shader_module_identifier ===
  5573. VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
  5574. //========================
  5575. //=== CONSTEXPR VALUEs ===
  5576. //========================
  5577. VULKAN_HPP_CONSTEXPR_INLINE uint32_t HeaderVersion = VK_HEADER_VERSION;
  5578. //=========================
  5579. //=== CONSTEXPR CALLEEs ===
  5580. //=========================
  5581. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5582. VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version )
  5583. {
  5584. return ( ( ( uint32_t )( version ) >> 22U ) & 0x7FU );
  5585. }
  5586. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5587. VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version )
  5588. {
  5589. return ( ( ( uint32_t )( version ) >> 12U ) & 0x3FFU );
  5590. }
  5591. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5592. VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version )
  5593. {
  5594. return ( ( uint32_t )(version)&0xFFFU );
  5595. }
  5596. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5597. VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version )
  5598. {
  5599. return ( ( uint32_t )( version ) >> 29U );
  5600. }
  5601. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5602. VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch )
  5603. {
  5604. return ( ( ( ( uint32_t )( variant ) ) << 29U ) | ( ( ( uint32_t )( major ) ) << 22U ) | ( ( ( uint32_t )( minor ) ) << 12U ) | ( ( uint32_t )( patch ) ) );
  5605. }
  5606. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5607. VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_MAKE_API_VERSION should be used instead." )
  5608. VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch )
  5609. {
  5610. return ( ( ( ( uint32_t )( major ) ) << 22U ) | ( ( ( uint32_t )( minor ) ) << 12U ) | ( ( uint32_t )( patch ) ) );
  5611. }
  5612. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5613. VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MAJOR should be used instead." )
  5614. VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version )
  5615. {
  5616. return ( ( uint32_t )( version ) >> 22U );
  5617. }
  5618. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5619. VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MINOR should be used instead." )
  5620. VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version )
  5621. {
  5622. return ( ( ( uint32_t )( version ) >> 12U ) & 0x3FFU );
  5623. }
  5624. template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
  5625. VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_PATCH should be used instead." )
  5626. VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version )
  5627. {
  5628. return ( ( uint32_t )(version)&0xFFFU );
  5629. }
  5630. //=========================
  5631. //=== CONSTEXPR CALLERs ===
  5632. //=========================
  5633. VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion = makeApiVersion( 0, 1, 0, 0 );
  5634. VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion10 = makeApiVersion( 0, 1, 0, 0 );
  5635. VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion11 = makeApiVersion( 0, 1, 1, 0 );
  5636. VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion12 = makeApiVersion( 0, 1, 2, 0 );
  5637. VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion13 = makeApiVersion( 0, 1, 3, 0 );
  5638. VULKAN_HPP_CONSTEXPR_INLINE auto HeaderVersionComplete = makeApiVersion( 0, 1, 3, VK_HEADER_VERSION );
  5639. } // namespace VULKAN_HPP_NAMESPACE
  5640. // clang-format off
  5641. #include <vulkan/vulkan_handles.hpp>
  5642. #include <vulkan/vulkan_structs.hpp>
  5643. #include <vulkan/vulkan_funcs.hpp>
  5644. // clang-format on
  5645. namespace VULKAN_HPP_NAMESPACE
  5646. {
  5647. #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
  5648. //=======================
  5649. //=== STRUCTS EXTENDS ===
  5650. //=======================
  5651. //=== VK_VERSION_1_0 ===
  5652. template <>
  5653. struct StructExtends<ShaderModuleCreateInfo, PipelineShaderStageCreateInfo>
  5654. {
  5655. enum
  5656. {
  5657. value = true
  5658. };
  5659. };
  5660. //=== VK_VERSION_1_1 ===
  5661. template <>
  5662. struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
  5663. {
  5664. enum
  5665. {
  5666. value = true
  5667. };
  5668. };
  5669. template <>
  5670. struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
  5671. {
  5672. enum
  5673. {
  5674. value = true
  5675. };
  5676. };
  5677. template <>
  5678. struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
  5679. {
  5680. enum
  5681. {
  5682. value = true
  5683. };
  5684. };
  5685. template <>
  5686. struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
  5687. {
  5688. enum
  5689. {
  5690. value = true
  5691. };
  5692. };
  5693. template <>
  5694. struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
  5695. {
  5696. enum
  5697. {
  5698. value = true
  5699. };
  5700. };
  5701. template <>
  5702. struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
  5703. {
  5704. enum
  5705. {
  5706. value = true
  5707. };
  5708. };
  5709. template <>
  5710. struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
  5711. {
  5712. enum
  5713. {
  5714. value = true
  5715. };
  5716. };
  5717. template <>
  5718. struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
  5719. {
  5720. enum
  5721. {
  5722. value = true
  5723. };
  5724. };
  5725. template <>
  5726. struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
  5727. {
  5728. enum
  5729. {
  5730. value = true
  5731. };
  5732. };
  5733. template <>
  5734. struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
  5735. {
  5736. enum
  5737. {
  5738. value = true
  5739. };
  5740. };
  5741. template <>
  5742. struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
  5743. {
  5744. enum
  5745. {
  5746. value = true
  5747. };
  5748. };
  5749. template <>
  5750. struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
  5751. {
  5752. enum
  5753. {
  5754. value = true
  5755. };
  5756. };
  5757. template <>
  5758. struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
  5759. {
  5760. enum
  5761. {
  5762. value = true
  5763. };
  5764. };
  5765. template <>
  5766. struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
  5767. {
  5768. enum
  5769. {
  5770. value = true
  5771. };
  5772. };
  5773. template <>
  5774. struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
  5775. {
  5776. enum
  5777. {
  5778. value = true
  5779. };
  5780. };
  5781. template <>
  5782. struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
  5783. {
  5784. enum
  5785. {
  5786. value = true
  5787. };
  5788. };
  5789. template <>
  5790. struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
  5791. {
  5792. enum
  5793. {
  5794. value = true
  5795. };
  5796. };
  5797. template <>
  5798. struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
  5799. {
  5800. enum
  5801. {
  5802. value = true
  5803. };
  5804. };
  5805. template <>
  5806. struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
  5807. {
  5808. enum
  5809. {
  5810. value = true
  5811. };
  5812. };
  5813. template <>
  5814. struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
  5815. {
  5816. enum
  5817. {
  5818. value = true
  5819. };
  5820. };
  5821. template <>
  5822. struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
  5823. {
  5824. enum
  5825. {
  5826. value = true
  5827. };
  5828. };
  5829. template <>
  5830. struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
  5831. {
  5832. enum
  5833. {
  5834. value = true
  5835. };
  5836. };
  5837. template <>
  5838. struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
  5839. {
  5840. enum
  5841. {
  5842. value = true
  5843. };
  5844. };
  5845. template <>
  5846. struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
  5847. {
  5848. enum
  5849. {
  5850. value = true
  5851. };
  5852. };
  5853. template <>
  5854. struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
  5855. {
  5856. enum
  5857. {
  5858. value = true
  5859. };
  5860. };
  5861. template <>
  5862. struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
  5863. {
  5864. enum
  5865. {
  5866. value = true
  5867. };
  5868. };
  5869. template <>
  5870. struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
  5871. {
  5872. enum
  5873. {
  5874. value = true
  5875. };
  5876. };
  5877. template <>
  5878. struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
  5879. {
  5880. enum
  5881. {
  5882. value = true
  5883. };
  5884. };
  5885. template <>
  5886. struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
  5887. {
  5888. enum
  5889. {
  5890. value = true
  5891. };
  5892. };
  5893. template <>
  5894. struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
  5895. {
  5896. enum
  5897. {
  5898. value = true
  5899. };
  5900. };
  5901. template <>
  5902. struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
  5903. {
  5904. enum
  5905. {
  5906. value = true
  5907. };
  5908. };
  5909. template <>
  5910. struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
  5911. {
  5912. enum
  5913. {
  5914. value = true
  5915. };
  5916. };
  5917. template <>
  5918. struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
  5919. {
  5920. enum
  5921. {
  5922. value = true
  5923. };
  5924. };
  5925. template <>
  5926. struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
  5927. {
  5928. enum
  5929. {
  5930. value = true
  5931. };
  5932. };
  5933. template <>
  5934. struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
  5935. {
  5936. enum
  5937. {
  5938. value = true
  5939. };
  5940. };
  5941. template <>
  5942. struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
  5943. {
  5944. enum
  5945. {
  5946. value = true
  5947. };
  5948. };
  5949. template <>
  5950. struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
  5951. {
  5952. enum
  5953. {
  5954. value = true
  5955. };
  5956. };
  5957. template <>
  5958. struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
  5959. {
  5960. enum
  5961. {
  5962. value = true
  5963. };
  5964. };
  5965. template <>
  5966. struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
  5967. {
  5968. enum
  5969. {
  5970. value = true
  5971. };
  5972. };
  5973. template <>
  5974. struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
  5975. {
  5976. enum
  5977. {
  5978. value = true
  5979. };
  5980. };
  5981. template <>
  5982. struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
  5983. {
  5984. enum
  5985. {
  5986. value = true
  5987. };
  5988. };
  5989. template <>
  5990. struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
  5991. {
  5992. enum
  5993. {
  5994. value = true
  5995. };
  5996. };
  5997. template <>
  5998. struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
  5999. {
  6000. enum
  6001. {
  6002. value = true
  6003. };
  6004. };
  6005. template <>
  6006. struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
  6007. {
  6008. enum
  6009. {
  6010. value = true
  6011. };
  6012. };
  6013. template <>
  6014. struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
  6015. {
  6016. enum
  6017. {
  6018. value = true
  6019. };
  6020. };
  6021. template <>
  6022. struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
  6023. {
  6024. enum
  6025. {
  6026. value = true
  6027. };
  6028. };
  6029. template <>
  6030. struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
  6031. {
  6032. enum
  6033. {
  6034. value = true
  6035. };
  6036. };
  6037. //=== VK_VERSION_1_2 ===
  6038. template <>
  6039. struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
  6040. {
  6041. enum
  6042. {
  6043. value = true
  6044. };
  6045. };
  6046. template <>
  6047. struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
  6048. {
  6049. enum
  6050. {
  6051. value = true
  6052. };
  6053. };
  6054. template <>
  6055. struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
  6056. {
  6057. enum
  6058. {
  6059. value = true
  6060. };
  6061. };
  6062. template <>
  6063. struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
  6064. {
  6065. enum
  6066. {
  6067. value = true
  6068. };
  6069. };
  6070. template <>
  6071. struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
  6072. {
  6073. enum
  6074. {
  6075. value = true
  6076. };
  6077. };
  6078. template <>
  6079. struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
  6080. {
  6081. enum
  6082. {
  6083. value = true
  6084. };
  6085. };
  6086. template <>
  6087. struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
  6088. {
  6089. enum
  6090. {
  6091. value = true
  6092. };
  6093. };
  6094. template <>
  6095. struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
  6096. {
  6097. enum
  6098. {
  6099. value = true
  6100. };
  6101. };
  6102. template <>
  6103. struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
  6104. {
  6105. enum
  6106. {
  6107. value = true
  6108. };
  6109. };
  6110. template <>
  6111. struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
  6112. {
  6113. enum
  6114. {
  6115. value = true
  6116. };
  6117. };
  6118. template <>
  6119. struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
  6120. {
  6121. enum
  6122. {
  6123. value = true
  6124. };
  6125. };
  6126. template <>
  6127. struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
  6128. {
  6129. enum
  6130. {
  6131. value = true
  6132. };
  6133. };
  6134. template <>
  6135. struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
  6136. {
  6137. enum
  6138. {
  6139. value = true
  6140. };
  6141. };
  6142. template <>
  6143. struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
  6144. {
  6145. enum
  6146. {
  6147. value = true
  6148. };
  6149. };
  6150. template <>
  6151. struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
  6152. {
  6153. enum
  6154. {
  6155. value = true
  6156. };
  6157. };
  6158. template <>
  6159. struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
  6160. {
  6161. enum
  6162. {
  6163. value = true
  6164. };
  6165. };
  6166. template <>
  6167. struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
  6168. {
  6169. enum
  6170. {
  6171. value = true
  6172. };
  6173. };
  6174. template <>
  6175. struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
  6176. {
  6177. enum
  6178. {
  6179. value = true
  6180. };
  6181. };
  6182. template <>
  6183. struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
  6184. {
  6185. enum
  6186. {
  6187. value = true
  6188. };
  6189. };
  6190. template <>
  6191. struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
  6192. {
  6193. enum
  6194. {
  6195. value = true
  6196. };
  6197. };
  6198. template <>
  6199. struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
  6200. {
  6201. enum
  6202. {
  6203. value = true
  6204. };
  6205. };
  6206. template <>
  6207. struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
  6208. {
  6209. enum
  6210. {
  6211. value = true
  6212. };
  6213. };
  6214. template <>
  6215. struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
  6216. {
  6217. enum
  6218. {
  6219. value = true
  6220. };
  6221. };
  6222. template <>
  6223. struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
  6224. {
  6225. enum
  6226. {
  6227. value = true
  6228. };
  6229. };
  6230. template <>
  6231. struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
  6232. {
  6233. enum
  6234. {
  6235. value = true
  6236. };
  6237. };
  6238. template <>
  6239. struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
  6240. {
  6241. enum
  6242. {
  6243. value = true
  6244. };
  6245. };
  6246. template <>
  6247. struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
  6248. {
  6249. enum
  6250. {
  6251. value = true
  6252. };
  6253. };
  6254. template <>
  6255. struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
  6256. {
  6257. enum
  6258. {
  6259. value = true
  6260. };
  6261. };
  6262. template <>
  6263. struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
  6264. {
  6265. enum
  6266. {
  6267. value = true
  6268. };
  6269. };
  6270. template <>
  6271. struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
  6272. {
  6273. enum
  6274. {
  6275. value = true
  6276. };
  6277. };
  6278. template <>
  6279. struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
  6280. {
  6281. enum
  6282. {
  6283. value = true
  6284. };
  6285. };
  6286. template <>
  6287. struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
  6288. {
  6289. enum
  6290. {
  6291. value = true
  6292. };
  6293. };
  6294. template <>
  6295. struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
  6296. {
  6297. enum
  6298. {
  6299. value = true
  6300. };
  6301. };
  6302. template <>
  6303. struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
  6304. {
  6305. enum
  6306. {
  6307. value = true
  6308. };
  6309. };
  6310. template <>
  6311. struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
  6312. {
  6313. enum
  6314. {
  6315. value = true
  6316. };
  6317. };
  6318. template <>
  6319. struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
  6320. {
  6321. enum
  6322. {
  6323. value = true
  6324. };
  6325. };
  6326. template <>
  6327. struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
  6328. {
  6329. enum
  6330. {
  6331. value = true
  6332. };
  6333. };
  6334. template <>
  6335. struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
  6336. {
  6337. enum
  6338. {
  6339. value = true
  6340. };
  6341. };
  6342. template <>
  6343. struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
  6344. {
  6345. enum
  6346. {
  6347. value = true
  6348. };
  6349. };
  6350. template <>
  6351. struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
  6352. {
  6353. enum
  6354. {
  6355. value = true
  6356. };
  6357. };
  6358. template <>
  6359. struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
  6360. {
  6361. enum
  6362. {
  6363. value = true
  6364. };
  6365. };
  6366. template <>
  6367. struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
  6368. {
  6369. enum
  6370. {
  6371. value = true
  6372. };
  6373. };
  6374. template <>
  6375. struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
  6376. {
  6377. enum
  6378. {
  6379. value = true
  6380. };
  6381. };
  6382. template <>
  6383. struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
  6384. {
  6385. enum
  6386. {
  6387. value = true
  6388. };
  6389. };
  6390. template <>
  6391. struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
  6392. {
  6393. enum
  6394. {
  6395. value = true
  6396. };
  6397. };
  6398. template <>
  6399. struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
  6400. {
  6401. enum
  6402. {
  6403. value = true
  6404. };
  6405. };
  6406. template <>
  6407. struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
  6408. {
  6409. enum
  6410. {
  6411. value = true
  6412. };
  6413. };
  6414. template <>
  6415. struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
  6416. {
  6417. enum
  6418. {
  6419. value = true
  6420. };
  6421. };
  6422. template <>
  6423. struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
  6424. {
  6425. enum
  6426. {
  6427. value = true
  6428. };
  6429. };
  6430. template <>
  6431. struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
  6432. {
  6433. enum
  6434. {
  6435. value = true
  6436. };
  6437. };
  6438. template <>
  6439. struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
  6440. {
  6441. enum
  6442. {
  6443. value = true
  6444. };
  6445. };
  6446. template <>
  6447. struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
  6448. {
  6449. enum
  6450. {
  6451. value = true
  6452. };
  6453. };
  6454. template <>
  6455. struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
  6456. {
  6457. enum
  6458. {
  6459. value = true
  6460. };
  6461. };
  6462. template <>
  6463. struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
  6464. {
  6465. enum
  6466. {
  6467. value = true
  6468. };
  6469. };
  6470. template <>
  6471. struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
  6472. {
  6473. enum
  6474. {
  6475. value = true
  6476. };
  6477. };
  6478. template <>
  6479. struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
  6480. {
  6481. enum
  6482. {
  6483. value = true
  6484. };
  6485. };
  6486. template <>
  6487. struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
  6488. {
  6489. enum
  6490. {
  6491. value = true
  6492. };
  6493. };
  6494. template <>
  6495. struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
  6496. {
  6497. enum
  6498. {
  6499. value = true
  6500. };
  6501. };
  6502. //=== VK_VERSION_1_3 ===
  6503. template <>
  6504. struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
  6505. {
  6506. enum
  6507. {
  6508. value = true
  6509. };
  6510. };
  6511. template <>
  6512. struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
  6513. {
  6514. enum
  6515. {
  6516. value = true
  6517. };
  6518. };
  6519. template <>
  6520. struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
  6521. {
  6522. enum
  6523. {
  6524. value = true
  6525. };
  6526. };
  6527. template <>
  6528. struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
  6529. {
  6530. enum
  6531. {
  6532. value = true
  6533. };
  6534. };
  6535. template <>
  6536. struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
  6537. {
  6538. enum
  6539. {
  6540. value = true
  6541. };
  6542. };
  6543. template <>
  6544. struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
  6545. {
  6546. enum
  6547. {
  6548. value = true
  6549. };
  6550. };
  6551. template <>
  6552. struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
  6553. {
  6554. enum
  6555. {
  6556. value = true
  6557. };
  6558. };
  6559. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  6560. template <>
  6561. struct StructExtends<PipelineCreationFeedbackCreateInfo, ExecutionGraphPipelineCreateInfoAMDX>
  6562. {
  6563. enum
  6564. {
  6565. value = true
  6566. };
  6567. };
  6568. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  6569. template <>
  6570. struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
  6571. {
  6572. enum
  6573. {
  6574. value = true
  6575. };
  6576. };
  6577. template <>
  6578. struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
  6579. {
  6580. enum
  6581. {
  6582. value = true
  6583. };
  6584. };
  6585. template <>
  6586. struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
  6587. {
  6588. enum
  6589. {
  6590. value = true
  6591. };
  6592. };
  6593. template <>
  6594. struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
  6595. {
  6596. enum
  6597. {
  6598. value = true
  6599. };
  6600. };
  6601. template <>
  6602. struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
  6603. {
  6604. enum
  6605. {
  6606. value = true
  6607. };
  6608. };
  6609. template <>
  6610. struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
  6611. {
  6612. enum
  6613. {
  6614. value = true
  6615. };
  6616. };
  6617. template <>
  6618. struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
  6619. {
  6620. enum
  6621. {
  6622. value = true
  6623. };
  6624. };
  6625. template <>
  6626. struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
  6627. {
  6628. enum
  6629. {
  6630. value = true
  6631. };
  6632. };
  6633. template <>
  6634. struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
  6635. {
  6636. enum
  6637. {
  6638. value = true
  6639. };
  6640. };
  6641. template <>
  6642. struct StructExtends<MemoryBarrier2, SubpassDependency2>
  6643. {
  6644. enum
  6645. {
  6646. value = true
  6647. };
  6648. };
  6649. template <>
  6650. struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
  6651. {
  6652. enum
  6653. {
  6654. value = true
  6655. };
  6656. };
  6657. template <>
  6658. struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
  6659. {
  6660. enum
  6661. {
  6662. value = true
  6663. };
  6664. };
  6665. template <>
  6666. struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
  6667. {
  6668. enum
  6669. {
  6670. value = true
  6671. };
  6672. };
  6673. template <>
  6674. struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
  6675. {
  6676. enum
  6677. {
  6678. value = true
  6679. };
  6680. };
  6681. template <>
  6682. struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
  6683. {
  6684. enum
  6685. {
  6686. value = true
  6687. };
  6688. };
  6689. template <>
  6690. struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
  6691. {
  6692. enum
  6693. {
  6694. value = true
  6695. };
  6696. };
  6697. template <>
  6698. struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
  6699. {
  6700. enum
  6701. {
  6702. value = true
  6703. };
  6704. };
  6705. template <>
  6706. struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
  6707. {
  6708. enum
  6709. {
  6710. value = true
  6711. };
  6712. };
  6713. template <>
  6714. struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
  6715. {
  6716. enum
  6717. {
  6718. value = true
  6719. };
  6720. };
  6721. template <>
  6722. struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
  6723. {
  6724. enum
  6725. {
  6726. value = true
  6727. };
  6728. };
  6729. template <>
  6730. struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, ShaderCreateInfoEXT>
  6731. {
  6732. enum
  6733. {
  6734. value = true
  6735. };
  6736. };
  6737. template <>
  6738. struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
  6739. {
  6740. enum
  6741. {
  6742. value = true
  6743. };
  6744. };
  6745. template <>
  6746. struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
  6747. {
  6748. enum
  6749. {
  6750. value = true
  6751. };
  6752. };
  6753. template <>
  6754. struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
  6755. {
  6756. enum
  6757. {
  6758. value = true
  6759. };
  6760. };
  6761. template <>
  6762. struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
  6763. {
  6764. enum
  6765. {
  6766. value = true
  6767. };
  6768. };
  6769. template <>
  6770. struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
  6771. {
  6772. enum
  6773. {
  6774. value = true
  6775. };
  6776. };
  6777. template <>
  6778. struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
  6779. {
  6780. enum
  6781. {
  6782. value = true
  6783. };
  6784. };
  6785. template <>
  6786. struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
  6787. {
  6788. enum
  6789. {
  6790. value = true
  6791. };
  6792. };
  6793. template <>
  6794. struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
  6795. {
  6796. enum
  6797. {
  6798. value = true
  6799. };
  6800. };
  6801. template <>
  6802. struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
  6803. {
  6804. enum
  6805. {
  6806. value = true
  6807. };
  6808. };
  6809. template <>
  6810. struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
  6811. {
  6812. enum
  6813. {
  6814. value = true
  6815. };
  6816. };
  6817. template <>
  6818. struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
  6819. {
  6820. enum
  6821. {
  6822. value = true
  6823. };
  6824. };
  6825. template <>
  6826. struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
  6827. {
  6828. enum
  6829. {
  6830. value = true
  6831. };
  6832. };
  6833. template <>
  6834. struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
  6835. {
  6836. enum
  6837. {
  6838. value = true
  6839. };
  6840. };
  6841. template <>
  6842. struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
  6843. {
  6844. enum
  6845. {
  6846. value = true
  6847. };
  6848. };
  6849. template <>
  6850. struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
  6851. {
  6852. enum
  6853. {
  6854. value = true
  6855. };
  6856. };
  6857. template <>
  6858. struct StructExtends<FormatProperties3, FormatProperties2>
  6859. {
  6860. enum
  6861. {
  6862. value = true
  6863. };
  6864. };
  6865. template <>
  6866. struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
  6867. {
  6868. enum
  6869. {
  6870. value = true
  6871. };
  6872. };
  6873. template <>
  6874. struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
  6875. {
  6876. enum
  6877. {
  6878. value = true
  6879. };
  6880. };
  6881. template <>
  6882. struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
  6883. {
  6884. enum
  6885. {
  6886. value = true
  6887. };
  6888. };
  6889. //=== VK_KHR_swapchain ===
  6890. template <>
  6891. struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
  6892. {
  6893. enum
  6894. {
  6895. value = true
  6896. };
  6897. };
  6898. template <>
  6899. struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
  6900. {
  6901. enum
  6902. {
  6903. value = true
  6904. };
  6905. };
  6906. template <>
  6907. struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
  6908. {
  6909. enum
  6910. {
  6911. value = true
  6912. };
  6913. };
  6914. template <>
  6915. struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
  6916. {
  6917. enum
  6918. {
  6919. value = true
  6920. };
  6921. };
  6922. //=== VK_KHR_display_swapchain ===
  6923. template <>
  6924. struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
  6925. {
  6926. enum
  6927. {
  6928. value = true
  6929. };
  6930. };
  6931. //=== VK_EXT_debug_report ===
  6932. template <>
  6933. struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
  6934. {
  6935. enum
  6936. {
  6937. value = true
  6938. };
  6939. };
  6940. //=== VK_AMD_rasterization_order ===
  6941. template <>
  6942. struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
  6943. {
  6944. enum
  6945. {
  6946. value = true
  6947. };
  6948. };
  6949. //=== VK_KHR_video_queue ===
  6950. template <>
  6951. struct StructExtends<QueueFamilyQueryResultStatusPropertiesKHR, QueueFamilyProperties2>
  6952. {
  6953. enum
  6954. {
  6955. value = true
  6956. };
  6957. };
  6958. template <>
  6959. struct StructExtends<QueueFamilyVideoPropertiesKHR, QueueFamilyProperties2>
  6960. {
  6961. enum
  6962. {
  6963. value = true
  6964. };
  6965. };
  6966. template <>
  6967. struct StructExtends<VideoProfileInfoKHR, QueryPoolCreateInfo>
  6968. {
  6969. enum
  6970. {
  6971. value = true
  6972. };
  6973. };
  6974. template <>
  6975. struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceImageFormatInfo2>
  6976. {
  6977. enum
  6978. {
  6979. value = true
  6980. };
  6981. };
  6982. template <>
  6983. struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceVideoFormatInfoKHR>
  6984. {
  6985. enum
  6986. {
  6987. value = true
  6988. };
  6989. };
  6990. template <>
  6991. struct StructExtends<VideoProfileListInfoKHR, ImageCreateInfo>
  6992. {
  6993. enum
  6994. {
  6995. value = true
  6996. };
  6997. };
  6998. template <>
  6999. struct StructExtends<VideoProfileListInfoKHR, BufferCreateInfo>
  7000. {
  7001. enum
  7002. {
  7003. value = true
  7004. };
  7005. };
  7006. //=== VK_KHR_video_decode_queue ===
  7007. template <>
  7008. struct StructExtends<VideoDecodeCapabilitiesKHR, VideoCapabilitiesKHR>
  7009. {
  7010. enum
  7011. {
  7012. value = true
  7013. };
  7014. };
  7015. template <>
  7016. struct StructExtends<VideoDecodeUsageInfoKHR, VideoProfileInfoKHR>
  7017. {
  7018. enum
  7019. {
  7020. value = true
  7021. };
  7022. };
  7023. template <>
  7024. struct StructExtends<VideoDecodeUsageInfoKHR, QueryPoolCreateInfo>
  7025. {
  7026. enum
  7027. {
  7028. value = true
  7029. };
  7030. };
  7031. //=== VK_NV_dedicated_allocation ===
  7032. template <>
  7033. struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
  7034. {
  7035. enum
  7036. {
  7037. value = true
  7038. };
  7039. };
  7040. template <>
  7041. struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
  7042. {
  7043. enum
  7044. {
  7045. value = true
  7046. };
  7047. };
  7048. template <>
  7049. struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
  7050. {
  7051. enum
  7052. {
  7053. value = true
  7054. };
  7055. };
  7056. //=== VK_EXT_transform_feedback ===
  7057. template <>
  7058. struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
  7059. {
  7060. enum
  7061. {
  7062. value = true
  7063. };
  7064. };
  7065. template <>
  7066. struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
  7067. {
  7068. enum
  7069. {
  7070. value = true
  7071. };
  7072. };
  7073. template <>
  7074. struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
  7075. {
  7076. enum
  7077. {
  7078. value = true
  7079. };
  7080. };
  7081. template <>
  7082. struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
  7083. {
  7084. enum
  7085. {
  7086. value = true
  7087. };
  7088. };
  7089. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  7090. //=== VK_EXT_video_encode_h264 ===
  7091. template <>
  7092. struct StructExtends<VideoEncodeH264CapabilitiesEXT, VideoCapabilitiesKHR>
  7093. {
  7094. enum
  7095. {
  7096. value = true
  7097. };
  7098. };
  7099. template <>
  7100. struct StructExtends<VideoEncodeH264QualityLevelPropertiesEXT, VideoEncodeQualityLevelPropertiesKHR>
  7101. {
  7102. enum
  7103. {
  7104. value = true
  7105. };
  7106. };
  7107. template <>
  7108. struct StructExtends<VideoEncodeH264SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
  7109. {
  7110. enum
  7111. {
  7112. value = true
  7113. };
  7114. };
  7115. template <>
  7116. struct StructExtends<VideoEncodeH264SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
  7117. {
  7118. enum
  7119. {
  7120. value = true
  7121. };
  7122. };
  7123. template <>
  7124. struct StructExtends<VideoEncodeH264SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
  7125. {
  7126. enum
  7127. {
  7128. value = true
  7129. };
  7130. };
  7131. template <>
  7132. struct StructExtends<VideoEncodeH264SessionParametersGetInfoEXT, VideoEncodeSessionParametersGetInfoKHR>
  7133. {
  7134. enum
  7135. {
  7136. value = true
  7137. };
  7138. };
  7139. template <>
  7140. struct StructExtends<VideoEncodeH264SessionParametersFeedbackInfoEXT, VideoEncodeSessionParametersFeedbackInfoKHR>
  7141. {
  7142. enum
  7143. {
  7144. value = true
  7145. };
  7146. };
  7147. template <>
  7148. struct StructExtends<VideoEncodeH264PictureInfoEXT, VideoEncodeInfoKHR>
  7149. {
  7150. enum
  7151. {
  7152. value = true
  7153. };
  7154. };
  7155. template <>
  7156. struct StructExtends<VideoEncodeH264DpbSlotInfoEXT, VideoReferenceSlotInfoKHR>
  7157. {
  7158. enum
  7159. {
  7160. value = true
  7161. };
  7162. };
  7163. template <>
  7164. struct StructExtends<VideoEncodeH264ProfileInfoEXT, VideoProfileInfoKHR>
  7165. {
  7166. enum
  7167. {
  7168. value = true
  7169. };
  7170. };
  7171. template <>
  7172. struct StructExtends<VideoEncodeH264ProfileInfoEXT, QueryPoolCreateInfo>
  7173. {
  7174. enum
  7175. {
  7176. value = true
  7177. };
  7178. };
  7179. template <>
  7180. struct StructExtends<VideoEncodeH264RateControlInfoEXT, VideoCodingControlInfoKHR>
  7181. {
  7182. enum
  7183. {
  7184. value = true
  7185. };
  7186. };
  7187. template <>
  7188. struct StructExtends<VideoEncodeH264RateControlInfoEXT, VideoBeginCodingInfoKHR>
  7189. {
  7190. enum
  7191. {
  7192. value = true
  7193. };
  7194. };
  7195. template <>
  7196. struct StructExtends<VideoEncodeH264RateControlLayerInfoEXT, VideoEncodeRateControlLayerInfoKHR>
  7197. {
  7198. enum
  7199. {
  7200. value = true
  7201. };
  7202. };
  7203. template <>
  7204. struct StructExtends<VideoEncodeH264GopRemainingFrameInfoEXT, VideoBeginCodingInfoKHR>
  7205. {
  7206. enum
  7207. {
  7208. value = true
  7209. };
  7210. };
  7211. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  7212. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  7213. //=== VK_EXT_video_encode_h265 ===
  7214. template <>
  7215. struct StructExtends<VideoEncodeH265CapabilitiesEXT, VideoCapabilitiesKHR>
  7216. {
  7217. enum
  7218. {
  7219. value = true
  7220. };
  7221. };
  7222. template <>
  7223. struct StructExtends<VideoEncodeH265SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
  7224. {
  7225. enum
  7226. {
  7227. value = true
  7228. };
  7229. };
  7230. template <>
  7231. struct StructExtends<VideoEncodeH265QualityLevelPropertiesEXT, VideoEncodeQualityLevelPropertiesKHR>
  7232. {
  7233. enum
  7234. {
  7235. value = true
  7236. };
  7237. };
  7238. template <>
  7239. struct StructExtends<VideoEncodeH265SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
  7240. {
  7241. enum
  7242. {
  7243. value = true
  7244. };
  7245. };
  7246. template <>
  7247. struct StructExtends<VideoEncodeH265SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
  7248. {
  7249. enum
  7250. {
  7251. value = true
  7252. };
  7253. };
  7254. template <>
  7255. struct StructExtends<VideoEncodeH265SessionParametersGetInfoEXT, VideoEncodeSessionParametersGetInfoKHR>
  7256. {
  7257. enum
  7258. {
  7259. value = true
  7260. };
  7261. };
  7262. template <>
  7263. struct StructExtends<VideoEncodeH265SessionParametersFeedbackInfoEXT, VideoEncodeSessionParametersFeedbackInfoKHR>
  7264. {
  7265. enum
  7266. {
  7267. value = true
  7268. };
  7269. };
  7270. template <>
  7271. struct StructExtends<VideoEncodeH265PictureInfoEXT, VideoEncodeInfoKHR>
  7272. {
  7273. enum
  7274. {
  7275. value = true
  7276. };
  7277. };
  7278. template <>
  7279. struct StructExtends<VideoEncodeH265DpbSlotInfoEXT, VideoReferenceSlotInfoKHR>
  7280. {
  7281. enum
  7282. {
  7283. value = true
  7284. };
  7285. };
  7286. template <>
  7287. struct StructExtends<VideoEncodeH265ProfileInfoEXT, VideoProfileInfoKHR>
  7288. {
  7289. enum
  7290. {
  7291. value = true
  7292. };
  7293. };
  7294. template <>
  7295. struct StructExtends<VideoEncodeH265ProfileInfoEXT, QueryPoolCreateInfo>
  7296. {
  7297. enum
  7298. {
  7299. value = true
  7300. };
  7301. };
  7302. template <>
  7303. struct StructExtends<VideoEncodeH265RateControlInfoEXT, VideoCodingControlInfoKHR>
  7304. {
  7305. enum
  7306. {
  7307. value = true
  7308. };
  7309. };
  7310. template <>
  7311. struct StructExtends<VideoEncodeH265RateControlInfoEXT, VideoBeginCodingInfoKHR>
  7312. {
  7313. enum
  7314. {
  7315. value = true
  7316. };
  7317. };
  7318. template <>
  7319. struct StructExtends<VideoEncodeH265RateControlLayerInfoEXT, VideoEncodeRateControlLayerInfoKHR>
  7320. {
  7321. enum
  7322. {
  7323. value = true
  7324. };
  7325. };
  7326. template <>
  7327. struct StructExtends<VideoEncodeH265GopRemainingFrameInfoEXT, VideoBeginCodingInfoKHR>
  7328. {
  7329. enum
  7330. {
  7331. value = true
  7332. };
  7333. };
  7334. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  7335. //=== VK_KHR_video_decode_h264 ===
  7336. template <>
  7337. struct StructExtends<VideoDecodeH264ProfileInfoKHR, VideoProfileInfoKHR>
  7338. {
  7339. enum
  7340. {
  7341. value = true
  7342. };
  7343. };
  7344. template <>
  7345. struct StructExtends<VideoDecodeH264ProfileInfoKHR, QueryPoolCreateInfo>
  7346. {
  7347. enum
  7348. {
  7349. value = true
  7350. };
  7351. };
  7352. template <>
  7353. struct StructExtends<VideoDecodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
  7354. {
  7355. enum
  7356. {
  7357. value = true
  7358. };
  7359. };
  7360. template <>
  7361. struct StructExtends<VideoDecodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
  7362. {
  7363. enum
  7364. {
  7365. value = true
  7366. };
  7367. };
  7368. template <>
  7369. struct StructExtends<VideoDecodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
  7370. {
  7371. enum
  7372. {
  7373. value = true
  7374. };
  7375. };
  7376. template <>
  7377. struct StructExtends<VideoDecodeH264PictureInfoKHR, VideoDecodeInfoKHR>
  7378. {
  7379. enum
  7380. {
  7381. value = true
  7382. };
  7383. };
  7384. template <>
  7385. struct StructExtends<VideoDecodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
  7386. {
  7387. enum
  7388. {
  7389. value = true
  7390. };
  7391. };
  7392. //=== VK_AMD_texture_gather_bias_lod ===
  7393. template <>
  7394. struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
  7395. {
  7396. enum
  7397. {
  7398. value = true
  7399. };
  7400. };
  7401. //=== VK_KHR_dynamic_rendering ===
  7402. template <>
  7403. struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
  7404. {
  7405. enum
  7406. {
  7407. value = true
  7408. };
  7409. };
  7410. template <>
  7411. struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
  7412. {
  7413. enum
  7414. {
  7415. value = true
  7416. };
  7417. };
  7418. template <>
  7419. struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
  7420. {
  7421. enum
  7422. {
  7423. value = true
  7424. };
  7425. };
  7426. template <>
  7427. struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
  7428. {
  7429. enum
  7430. {
  7431. value = true
  7432. };
  7433. };
  7434. template <>
  7435. struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
  7436. {
  7437. enum
  7438. {
  7439. value = true
  7440. };
  7441. };
  7442. template <>
  7443. struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
  7444. {
  7445. enum
  7446. {
  7447. value = true
  7448. };
  7449. };
  7450. template <>
  7451. struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
  7452. {
  7453. enum
  7454. {
  7455. value = true
  7456. };
  7457. };
  7458. //=== VK_NV_corner_sampled_image ===
  7459. template <>
  7460. struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
  7461. {
  7462. enum
  7463. {
  7464. value = true
  7465. };
  7466. };
  7467. template <>
  7468. struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
  7469. {
  7470. enum
  7471. {
  7472. value = true
  7473. };
  7474. };
  7475. //=== VK_NV_external_memory ===
  7476. template <>
  7477. struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
  7478. {
  7479. enum
  7480. {
  7481. value = true
  7482. };
  7483. };
  7484. template <>
  7485. struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
  7486. {
  7487. enum
  7488. {
  7489. value = true
  7490. };
  7491. };
  7492. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  7493. //=== VK_NV_external_memory_win32 ===
  7494. template <>
  7495. struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
  7496. {
  7497. enum
  7498. {
  7499. value = true
  7500. };
  7501. };
  7502. template <>
  7503. struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
  7504. {
  7505. enum
  7506. {
  7507. value = true
  7508. };
  7509. };
  7510. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  7511. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  7512. //=== VK_NV_win32_keyed_mutex ===
  7513. template <>
  7514. struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
  7515. {
  7516. enum
  7517. {
  7518. value = true
  7519. };
  7520. };
  7521. template <>
  7522. struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
  7523. {
  7524. enum
  7525. {
  7526. value = true
  7527. };
  7528. };
  7529. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  7530. //=== VK_EXT_validation_flags ===
  7531. template <>
  7532. struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
  7533. {
  7534. enum
  7535. {
  7536. value = true
  7537. };
  7538. };
  7539. //=== VK_EXT_astc_decode_mode ===
  7540. template <>
  7541. struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
  7542. {
  7543. enum
  7544. {
  7545. value = true
  7546. };
  7547. };
  7548. template <>
  7549. struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
  7550. {
  7551. enum
  7552. {
  7553. value = true
  7554. };
  7555. };
  7556. template <>
  7557. struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
  7558. {
  7559. enum
  7560. {
  7561. value = true
  7562. };
  7563. };
  7564. //=== VK_EXT_pipeline_robustness ===
  7565. template <>
  7566. struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
  7567. {
  7568. enum
  7569. {
  7570. value = true
  7571. };
  7572. };
  7573. template <>
  7574. struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, DeviceCreateInfo>
  7575. {
  7576. enum
  7577. {
  7578. value = true
  7579. };
  7580. };
  7581. template <>
  7582. struct StructExtends<PhysicalDevicePipelineRobustnessPropertiesEXT, PhysicalDeviceProperties2>
  7583. {
  7584. enum
  7585. {
  7586. value = true
  7587. };
  7588. };
  7589. template <>
  7590. struct StructExtends<PipelineRobustnessCreateInfoEXT, GraphicsPipelineCreateInfo>
  7591. {
  7592. enum
  7593. {
  7594. value = true
  7595. };
  7596. };
  7597. template <>
  7598. struct StructExtends<PipelineRobustnessCreateInfoEXT, ComputePipelineCreateInfo>
  7599. {
  7600. enum
  7601. {
  7602. value = true
  7603. };
  7604. };
  7605. template <>
  7606. struct StructExtends<PipelineRobustnessCreateInfoEXT, PipelineShaderStageCreateInfo>
  7607. {
  7608. enum
  7609. {
  7610. value = true
  7611. };
  7612. };
  7613. template <>
  7614. struct StructExtends<PipelineRobustnessCreateInfoEXT, RayTracingPipelineCreateInfoKHR>
  7615. {
  7616. enum
  7617. {
  7618. value = true
  7619. };
  7620. };
  7621. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  7622. //=== VK_KHR_external_memory_win32 ===
  7623. template <>
  7624. struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
  7625. {
  7626. enum
  7627. {
  7628. value = true
  7629. };
  7630. };
  7631. template <>
  7632. struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
  7633. {
  7634. enum
  7635. {
  7636. value = true
  7637. };
  7638. };
  7639. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  7640. //=== VK_KHR_external_memory_fd ===
  7641. template <>
  7642. struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
  7643. {
  7644. enum
  7645. {
  7646. value = true
  7647. };
  7648. };
  7649. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  7650. //=== VK_KHR_win32_keyed_mutex ===
  7651. template <>
  7652. struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
  7653. {
  7654. enum
  7655. {
  7656. value = true
  7657. };
  7658. };
  7659. template <>
  7660. struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
  7661. {
  7662. enum
  7663. {
  7664. value = true
  7665. };
  7666. };
  7667. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  7668. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  7669. //=== VK_KHR_external_semaphore_win32 ===
  7670. template <>
  7671. struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
  7672. {
  7673. enum
  7674. {
  7675. value = true
  7676. };
  7677. };
  7678. template <>
  7679. struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
  7680. {
  7681. enum
  7682. {
  7683. value = true
  7684. };
  7685. };
  7686. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  7687. //=== VK_KHR_push_descriptor ===
  7688. template <>
  7689. struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceProperties2>
  7690. {
  7691. enum
  7692. {
  7693. value = true
  7694. };
  7695. };
  7696. //=== VK_EXT_conditional_rendering ===
  7697. template <>
  7698. struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
  7699. {
  7700. enum
  7701. {
  7702. value = true
  7703. };
  7704. };
  7705. template <>
  7706. struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
  7707. {
  7708. enum
  7709. {
  7710. value = true
  7711. };
  7712. };
  7713. template <>
  7714. struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
  7715. {
  7716. enum
  7717. {
  7718. value = true
  7719. };
  7720. };
  7721. //=== VK_KHR_incremental_present ===
  7722. template <>
  7723. struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
  7724. {
  7725. enum
  7726. {
  7727. value = true
  7728. };
  7729. };
  7730. //=== VK_NV_clip_space_w_scaling ===
  7731. template <>
  7732. struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
  7733. {
  7734. enum
  7735. {
  7736. value = true
  7737. };
  7738. };
  7739. //=== VK_EXT_display_control ===
  7740. template <>
  7741. struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
  7742. {
  7743. enum
  7744. {
  7745. value = true
  7746. };
  7747. };
  7748. //=== VK_GOOGLE_display_timing ===
  7749. template <>
  7750. struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
  7751. {
  7752. enum
  7753. {
  7754. value = true
  7755. };
  7756. };
  7757. //=== VK_NVX_multiview_per_view_attributes ===
  7758. template <>
  7759. struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
  7760. {
  7761. enum
  7762. {
  7763. value = true
  7764. };
  7765. };
  7766. //=== VK_NV_viewport_swizzle ===
  7767. template <>
  7768. struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
  7769. {
  7770. enum
  7771. {
  7772. value = true
  7773. };
  7774. };
  7775. //=== VK_EXT_discard_rectangles ===
  7776. template <>
  7777. struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
  7778. {
  7779. enum
  7780. {
  7781. value = true
  7782. };
  7783. };
  7784. template <>
  7785. struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
  7786. {
  7787. enum
  7788. {
  7789. value = true
  7790. };
  7791. };
  7792. //=== VK_EXT_conservative_rasterization ===
  7793. template <>
  7794. struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
  7795. {
  7796. enum
  7797. {
  7798. value = true
  7799. };
  7800. };
  7801. template <>
  7802. struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
  7803. {
  7804. enum
  7805. {
  7806. value = true
  7807. };
  7808. };
  7809. //=== VK_EXT_depth_clip_enable ===
  7810. template <>
  7811. struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
  7812. {
  7813. enum
  7814. {
  7815. value = true
  7816. };
  7817. };
  7818. template <>
  7819. struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
  7820. {
  7821. enum
  7822. {
  7823. value = true
  7824. };
  7825. };
  7826. template <>
  7827. struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
  7828. {
  7829. enum
  7830. {
  7831. value = true
  7832. };
  7833. };
  7834. //=== VK_KHR_shared_presentable_image ===
  7835. template <>
  7836. struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
  7837. {
  7838. enum
  7839. {
  7840. value = true
  7841. };
  7842. };
  7843. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  7844. //=== VK_KHR_external_fence_win32 ===
  7845. template <>
  7846. struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
  7847. {
  7848. enum
  7849. {
  7850. value = true
  7851. };
  7852. };
  7853. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  7854. //=== VK_KHR_performance_query ===
  7855. template <>
  7856. struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
  7857. {
  7858. enum
  7859. {
  7860. value = true
  7861. };
  7862. };
  7863. template <>
  7864. struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
  7865. {
  7866. enum
  7867. {
  7868. value = true
  7869. };
  7870. };
  7871. template <>
  7872. struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
  7873. {
  7874. enum
  7875. {
  7876. value = true
  7877. };
  7878. };
  7879. template <>
  7880. struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
  7881. {
  7882. enum
  7883. {
  7884. value = true
  7885. };
  7886. };
  7887. template <>
  7888. struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
  7889. {
  7890. enum
  7891. {
  7892. value = true
  7893. };
  7894. };
  7895. template <>
  7896. struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
  7897. {
  7898. enum
  7899. {
  7900. value = true
  7901. };
  7902. };
  7903. //=== VK_EXT_debug_utils ===
  7904. template <>
  7905. struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
  7906. {
  7907. enum
  7908. {
  7909. value = true
  7910. };
  7911. };
  7912. template <>
  7913. struct StructExtends<DebugUtilsObjectNameInfoEXT, PipelineShaderStageCreateInfo>
  7914. {
  7915. enum
  7916. {
  7917. value = true
  7918. };
  7919. };
  7920. # if defined( VK_USE_PLATFORM_ANDROID_KHR )
  7921. //=== VK_ANDROID_external_memory_android_hardware_buffer ===
  7922. template <>
  7923. struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
  7924. {
  7925. enum
  7926. {
  7927. value = true
  7928. };
  7929. };
  7930. template <>
  7931. struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
  7932. {
  7933. enum
  7934. {
  7935. value = true
  7936. };
  7937. };
  7938. template <>
  7939. struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
  7940. {
  7941. enum
  7942. {
  7943. value = true
  7944. };
  7945. };
  7946. template <>
  7947. struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
  7948. {
  7949. enum
  7950. {
  7951. value = true
  7952. };
  7953. };
  7954. template <>
  7955. struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
  7956. {
  7957. enum
  7958. {
  7959. value = true
  7960. };
  7961. };
  7962. template <>
  7963. struct StructExtends<ExternalFormatANDROID, AttachmentDescription2>
  7964. {
  7965. enum
  7966. {
  7967. value = true
  7968. };
  7969. };
  7970. template <>
  7971. struct StructExtends<ExternalFormatANDROID, GraphicsPipelineCreateInfo>
  7972. {
  7973. enum
  7974. {
  7975. value = true
  7976. };
  7977. };
  7978. template <>
  7979. struct StructExtends<ExternalFormatANDROID, CommandBufferInheritanceInfo>
  7980. {
  7981. enum
  7982. {
  7983. value = true
  7984. };
  7985. };
  7986. template <>
  7987. struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
  7988. {
  7989. enum
  7990. {
  7991. value = true
  7992. };
  7993. };
  7994. # endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  7995. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  7996. //=== VK_AMDX_shader_enqueue ===
  7997. template <>
  7998. struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, PhysicalDeviceFeatures2>
  7999. {
  8000. enum
  8001. {
  8002. value = true
  8003. };
  8004. };
  8005. template <>
  8006. struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, DeviceCreateInfo>
  8007. {
  8008. enum
  8009. {
  8010. value = true
  8011. };
  8012. };
  8013. template <>
  8014. struct StructExtends<PhysicalDeviceShaderEnqueuePropertiesAMDX, PhysicalDeviceProperties2>
  8015. {
  8016. enum
  8017. {
  8018. value = true
  8019. };
  8020. };
  8021. template <>
  8022. struct StructExtends<PipelineShaderStageNodeCreateInfoAMDX, PipelineShaderStageCreateInfo>
  8023. {
  8024. enum
  8025. {
  8026. value = true
  8027. };
  8028. };
  8029. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  8030. //=== VK_EXT_sample_locations ===
  8031. template <>
  8032. struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
  8033. {
  8034. enum
  8035. {
  8036. value = true
  8037. };
  8038. };
  8039. template <>
  8040. struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2>
  8041. {
  8042. enum
  8043. {
  8044. value = true
  8045. };
  8046. };
  8047. template <>
  8048. struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
  8049. {
  8050. enum
  8051. {
  8052. value = true
  8053. };
  8054. };
  8055. template <>
  8056. struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
  8057. {
  8058. enum
  8059. {
  8060. value = true
  8061. };
  8062. };
  8063. template <>
  8064. struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
  8065. {
  8066. enum
  8067. {
  8068. value = true
  8069. };
  8070. };
  8071. //=== VK_EXT_blend_operation_advanced ===
  8072. template <>
  8073. struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
  8074. {
  8075. enum
  8076. {
  8077. value = true
  8078. };
  8079. };
  8080. template <>
  8081. struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
  8082. {
  8083. enum
  8084. {
  8085. value = true
  8086. };
  8087. };
  8088. template <>
  8089. struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
  8090. {
  8091. enum
  8092. {
  8093. value = true
  8094. };
  8095. };
  8096. template <>
  8097. struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
  8098. {
  8099. enum
  8100. {
  8101. value = true
  8102. };
  8103. };
  8104. //=== VK_NV_fragment_coverage_to_color ===
  8105. template <>
  8106. struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
  8107. {
  8108. enum
  8109. {
  8110. value = true
  8111. };
  8112. };
  8113. //=== VK_KHR_acceleration_structure ===
  8114. template <>
  8115. struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
  8116. {
  8117. enum
  8118. {
  8119. value = true
  8120. };
  8121. };
  8122. template <>
  8123. struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
  8124. {
  8125. enum
  8126. {
  8127. value = true
  8128. };
  8129. };
  8130. template <>
  8131. struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
  8132. {
  8133. enum
  8134. {
  8135. value = true
  8136. };
  8137. };
  8138. template <>
  8139. struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
  8140. {
  8141. enum
  8142. {
  8143. value = true
  8144. };
  8145. };
  8146. //=== VK_KHR_ray_tracing_pipeline ===
  8147. template <>
  8148. struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
  8149. {
  8150. enum
  8151. {
  8152. value = true
  8153. };
  8154. };
  8155. template <>
  8156. struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
  8157. {
  8158. enum
  8159. {
  8160. value = true
  8161. };
  8162. };
  8163. template <>
  8164. struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
  8165. {
  8166. enum
  8167. {
  8168. value = true
  8169. };
  8170. };
  8171. //=== VK_KHR_ray_query ===
  8172. template <>
  8173. struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
  8174. {
  8175. enum
  8176. {
  8177. value = true
  8178. };
  8179. };
  8180. template <>
  8181. struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
  8182. {
  8183. enum
  8184. {
  8185. value = true
  8186. };
  8187. };
  8188. //=== VK_NV_framebuffer_mixed_samples ===
  8189. template <>
  8190. struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
  8191. {
  8192. enum
  8193. {
  8194. value = true
  8195. };
  8196. };
  8197. //=== VK_NV_shader_sm_builtins ===
  8198. template <>
  8199. struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
  8200. {
  8201. enum
  8202. {
  8203. value = true
  8204. };
  8205. };
  8206. template <>
  8207. struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
  8208. {
  8209. enum
  8210. {
  8211. value = true
  8212. };
  8213. };
  8214. template <>
  8215. struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
  8216. {
  8217. enum
  8218. {
  8219. value = true
  8220. };
  8221. };
  8222. //=== VK_EXT_image_drm_format_modifier ===
  8223. template <>
  8224. struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
  8225. {
  8226. enum
  8227. {
  8228. value = true
  8229. };
  8230. };
  8231. template <>
  8232. struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
  8233. {
  8234. enum
  8235. {
  8236. value = true
  8237. };
  8238. };
  8239. template <>
  8240. struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
  8241. {
  8242. enum
  8243. {
  8244. value = true
  8245. };
  8246. };
  8247. template <>
  8248. struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
  8249. {
  8250. enum
  8251. {
  8252. value = true
  8253. };
  8254. };
  8255. template <>
  8256. struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
  8257. {
  8258. enum
  8259. {
  8260. value = true
  8261. };
  8262. };
  8263. //=== VK_EXT_validation_cache ===
  8264. template <>
  8265. struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
  8266. {
  8267. enum
  8268. {
  8269. value = true
  8270. };
  8271. };
  8272. template <>
  8273. struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, PipelineShaderStageCreateInfo>
  8274. {
  8275. enum
  8276. {
  8277. value = true
  8278. };
  8279. };
  8280. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  8281. //=== VK_KHR_portability_subset ===
  8282. template <>
  8283. struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
  8284. {
  8285. enum
  8286. {
  8287. value = true
  8288. };
  8289. };
  8290. template <>
  8291. struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
  8292. {
  8293. enum
  8294. {
  8295. value = true
  8296. };
  8297. };
  8298. template <>
  8299. struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
  8300. {
  8301. enum
  8302. {
  8303. value = true
  8304. };
  8305. };
  8306. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  8307. //=== VK_NV_shading_rate_image ===
  8308. template <>
  8309. struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
  8310. {
  8311. enum
  8312. {
  8313. value = true
  8314. };
  8315. };
  8316. template <>
  8317. struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
  8318. {
  8319. enum
  8320. {
  8321. value = true
  8322. };
  8323. };
  8324. template <>
  8325. struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
  8326. {
  8327. enum
  8328. {
  8329. value = true
  8330. };
  8331. };
  8332. template <>
  8333. struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
  8334. {
  8335. enum
  8336. {
  8337. value = true
  8338. };
  8339. };
  8340. template <>
  8341. struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
  8342. {
  8343. enum
  8344. {
  8345. value = true
  8346. };
  8347. };
  8348. //=== VK_NV_ray_tracing ===
  8349. template <>
  8350. struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
  8351. {
  8352. enum
  8353. {
  8354. value = true
  8355. };
  8356. };
  8357. template <>
  8358. struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
  8359. {
  8360. enum
  8361. {
  8362. value = true
  8363. };
  8364. };
  8365. //=== VK_NV_representative_fragment_test ===
  8366. template <>
  8367. struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
  8368. {
  8369. enum
  8370. {
  8371. value = true
  8372. };
  8373. };
  8374. template <>
  8375. struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
  8376. {
  8377. enum
  8378. {
  8379. value = true
  8380. };
  8381. };
  8382. template <>
  8383. struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
  8384. {
  8385. enum
  8386. {
  8387. value = true
  8388. };
  8389. };
  8390. //=== VK_EXT_filter_cubic ===
  8391. template <>
  8392. struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
  8393. {
  8394. enum
  8395. {
  8396. value = true
  8397. };
  8398. };
  8399. template <>
  8400. struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
  8401. {
  8402. enum
  8403. {
  8404. value = true
  8405. };
  8406. };
  8407. //=== VK_EXT_external_memory_host ===
  8408. template <>
  8409. struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
  8410. {
  8411. enum
  8412. {
  8413. value = true
  8414. };
  8415. };
  8416. template <>
  8417. struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
  8418. {
  8419. enum
  8420. {
  8421. value = true
  8422. };
  8423. };
  8424. //=== VK_KHR_shader_clock ===
  8425. template <>
  8426. struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
  8427. {
  8428. enum
  8429. {
  8430. value = true
  8431. };
  8432. };
  8433. template <>
  8434. struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
  8435. {
  8436. enum
  8437. {
  8438. value = true
  8439. };
  8440. };
  8441. //=== VK_AMD_pipeline_compiler_control ===
  8442. template <>
  8443. struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
  8444. {
  8445. enum
  8446. {
  8447. value = true
  8448. };
  8449. };
  8450. template <>
  8451. struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
  8452. {
  8453. enum
  8454. {
  8455. value = true
  8456. };
  8457. };
  8458. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  8459. template <>
  8460. struct StructExtends<PipelineCompilerControlCreateInfoAMD, ExecutionGraphPipelineCreateInfoAMDX>
  8461. {
  8462. enum
  8463. {
  8464. value = true
  8465. };
  8466. };
  8467. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  8468. //=== VK_AMD_shader_core_properties ===
  8469. template <>
  8470. struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
  8471. {
  8472. enum
  8473. {
  8474. value = true
  8475. };
  8476. };
  8477. //=== VK_KHR_video_decode_h265 ===
  8478. template <>
  8479. struct StructExtends<VideoDecodeH265ProfileInfoKHR, VideoProfileInfoKHR>
  8480. {
  8481. enum
  8482. {
  8483. value = true
  8484. };
  8485. };
  8486. template <>
  8487. struct StructExtends<VideoDecodeH265ProfileInfoKHR, QueryPoolCreateInfo>
  8488. {
  8489. enum
  8490. {
  8491. value = true
  8492. };
  8493. };
  8494. template <>
  8495. struct StructExtends<VideoDecodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
  8496. {
  8497. enum
  8498. {
  8499. value = true
  8500. };
  8501. };
  8502. template <>
  8503. struct StructExtends<VideoDecodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
  8504. {
  8505. enum
  8506. {
  8507. value = true
  8508. };
  8509. };
  8510. template <>
  8511. struct StructExtends<VideoDecodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
  8512. {
  8513. enum
  8514. {
  8515. value = true
  8516. };
  8517. };
  8518. template <>
  8519. struct StructExtends<VideoDecodeH265PictureInfoKHR, VideoDecodeInfoKHR>
  8520. {
  8521. enum
  8522. {
  8523. value = true
  8524. };
  8525. };
  8526. template <>
  8527. struct StructExtends<VideoDecodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
  8528. {
  8529. enum
  8530. {
  8531. value = true
  8532. };
  8533. };
  8534. //=== VK_KHR_global_priority ===
  8535. template <>
  8536. struct StructExtends<DeviceQueueGlobalPriorityCreateInfoKHR, DeviceQueueCreateInfo>
  8537. {
  8538. enum
  8539. {
  8540. value = true
  8541. };
  8542. };
  8543. template <>
  8544. struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, PhysicalDeviceFeatures2>
  8545. {
  8546. enum
  8547. {
  8548. value = true
  8549. };
  8550. };
  8551. template <>
  8552. struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, DeviceCreateInfo>
  8553. {
  8554. enum
  8555. {
  8556. value = true
  8557. };
  8558. };
  8559. template <>
  8560. struct StructExtends<QueueFamilyGlobalPriorityPropertiesKHR, QueueFamilyProperties2>
  8561. {
  8562. enum
  8563. {
  8564. value = true
  8565. };
  8566. };
  8567. //=== VK_AMD_memory_overallocation_behavior ===
  8568. template <>
  8569. struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
  8570. {
  8571. enum
  8572. {
  8573. value = true
  8574. };
  8575. };
  8576. //=== VK_EXT_vertex_attribute_divisor ===
  8577. template <>
  8578. struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
  8579. {
  8580. enum
  8581. {
  8582. value = true
  8583. };
  8584. };
  8585. template <>
  8586. struct StructExtends<PipelineVertexInputDivisorStateCreateInfoEXT, PipelineVertexInputStateCreateInfo>
  8587. {
  8588. enum
  8589. {
  8590. value = true
  8591. };
  8592. };
  8593. template <>
  8594. struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, PhysicalDeviceFeatures2>
  8595. {
  8596. enum
  8597. {
  8598. value = true
  8599. };
  8600. };
  8601. template <>
  8602. struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, DeviceCreateInfo>
  8603. {
  8604. enum
  8605. {
  8606. value = true
  8607. };
  8608. };
  8609. # if defined( VK_USE_PLATFORM_GGP )
  8610. //=== VK_GGP_frame_token ===
  8611. template <>
  8612. struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
  8613. {
  8614. enum
  8615. {
  8616. value = true
  8617. };
  8618. };
  8619. # endif /*VK_USE_PLATFORM_GGP*/
  8620. //=== VK_NV_compute_shader_derivatives ===
  8621. template <>
  8622. struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
  8623. {
  8624. enum
  8625. {
  8626. value = true
  8627. };
  8628. };
  8629. template <>
  8630. struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
  8631. {
  8632. enum
  8633. {
  8634. value = true
  8635. };
  8636. };
  8637. //=== VK_NV_mesh_shader ===
  8638. template <>
  8639. struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
  8640. {
  8641. enum
  8642. {
  8643. value = true
  8644. };
  8645. };
  8646. template <>
  8647. struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
  8648. {
  8649. enum
  8650. {
  8651. value = true
  8652. };
  8653. };
  8654. template <>
  8655. struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
  8656. {
  8657. enum
  8658. {
  8659. value = true
  8660. };
  8661. };
  8662. //=== VK_NV_shader_image_footprint ===
  8663. template <>
  8664. struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
  8665. {
  8666. enum
  8667. {
  8668. value = true
  8669. };
  8670. };
  8671. template <>
  8672. struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
  8673. {
  8674. enum
  8675. {
  8676. value = true
  8677. };
  8678. };
  8679. //=== VK_NV_scissor_exclusive ===
  8680. template <>
  8681. struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
  8682. {
  8683. enum
  8684. {
  8685. value = true
  8686. };
  8687. };
  8688. template <>
  8689. struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
  8690. {
  8691. enum
  8692. {
  8693. value = true
  8694. };
  8695. };
  8696. template <>
  8697. struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
  8698. {
  8699. enum
  8700. {
  8701. value = true
  8702. };
  8703. };
  8704. //=== VK_NV_device_diagnostic_checkpoints ===
  8705. template <>
  8706. struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
  8707. {
  8708. enum
  8709. {
  8710. value = true
  8711. };
  8712. };
  8713. //=== VK_INTEL_shader_integer_functions2 ===
  8714. template <>
  8715. struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
  8716. {
  8717. enum
  8718. {
  8719. value = true
  8720. };
  8721. };
  8722. template <>
  8723. struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
  8724. {
  8725. enum
  8726. {
  8727. value = true
  8728. };
  8729. };
  8730. //=== VK_INTEL_performance_query ===
  8731. template <>
  8732. struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
  8733. {
  8734. enum
  8735. {
  8736. value = true
  8737. };
  8738. };
  8739. //=== VK_EXT_pci_bus_info ===
  8740. template <>
  8741. struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
  8742. {
  8743. enum
  8744. {
  8745. value = true
  8746. };
  8747. };
  8748. //=== VK_AMD_display_native_hdr ===
  8749. template <>
  8750. struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
  8751. {
  8752. enum
  8753. {
  8754. value = true
  8755. };
  8756. };
  8757. template <>
  8758. struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
  8759. {
  8760. enum
  8761. {
  8762. value = true
  8763. };
  8764. };
  8765. //=== VK_EXT_fragment_density_map ===
  8766. template <>
  8767. struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
  8768. {
  8769. enum
  8770. {
  8771. value = true
  8772. };
  8773. };
  8774. template <>
  8775. struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
  8776. {
  8777. enum
  8778. {
  8779. value = true
  8780. };
  8781. };
  8782. template <>
  8783. struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
  8784. {
  8785. enum
  8786. {
  8787. value = true
  8788. };
  8789. };
  8790. template <>
  8791. struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
  8792. {
  8793. enum
  8794. {
  8795. value = true
  8796. };
  8797. };
  8798. template <>
  8799. struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
  8800. {
  8801. enum
  8802. {
  8803. value = true
  8804. };
  8805. };
  8806. //=== VK_KHR_fragment_shading_rate ===
  8807. template <>
  8808. struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
  8809. {
  8810. enum
  8811. {
  8812. value = true
  8813. };
  8814. };
  8815. template <>
  8816. struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
  8817. {
  8818. enum
  8819. {
  8820. value = true
  8821. };
  8822. };
  8823. template <>
  8824. struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
  8825. {
  8826. enum
  8827. {
  8828. value = true
  8829. };
  8830. };
  8831. template <>
  8832. struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
  8833. {
  8834. enum
  8835. {
  8836. value = true
  8837. };
  8838. };
  8839. template <>
  8840. struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
  8841. {
  8842. enum
  8843. {
  8844. value = true
  8845. };
  8846. };
  8847. //=== VK_AMD_shader_core_properties2 ===
  8848. template <>
  8849. struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
  8850. {
  8851. enum
  8852. {
  8853. value = true
  8854. };
  8855. };
  8856. //=== VK_AMD_device_coherent_memory ===
  8857. template <>
  8858. struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
  8859. {
  8860. enum
  8861. {
  8862. value = true
  8863. };
  8864. };
  8865. template <>
  8866. struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
  8867. {
  8868. enum
  8869. {
  8870. value = true
  8871. };
  8872. };
  8873. //=== VK_EXT_shader_image_atomic_int64 ===
  8874. template <>
  8875. struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
  8876. {
  8877. enum
  8878. {
  8879. value = true
  8880. };
  8881. };
  8882. template <>
  8883. struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
  8884. {
  8885. enum
  8886. {
  8887. value = true
  8888. };
  8889. };
  8890. //=== VK_EXT_memory_budget ===
  8891. template <>
  8892. struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
  8893. {
  8894. enum
  8895. {
  8896. value = true
  8897. };
  8898. };
  8899. //=== VK_EXT_memory_priority ===
  8900. template <>
  8901. struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
  8902. {
  8903. enum
  8904. {
  8905. value = true
  8906. };
  8907. };
  8908. template <>
  8909. struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
  8910. {
  8911. enum
  8912. {
  8913. value = true
  8914. };
  8915. };
  8916. template <>
  8917. struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
  8918. {
  8919. enum
  8920. {
  8921. value = true
  8922. };
  8923. };
  8924. //=== VK_KHR_surface_protected_capabilities ===
  8925. template <>
  8926. struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
  8927. {
  8928. enum
  8929. {
  8930. value = true
  8931. };
  8932. };
  8933. //=== VK_NV_dedicated_allocation_image_aliasing ===
  8934. template <>
  8935. struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
  8936. {
  8937. enum
  8938. {
  8939. value = true
  8940. };
  8941. };
  8942. template <>
  8943. struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
  8944. {
  8945. enum
  8946. {
  8947. value = true
  8948. };
  8949. };
  8950. //=== VK_EXT_buffer_device_address ===
  8951. template <>
  8952. struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
  8953. {
  8954. enum
  8955. {
  8956. value = true
  8957. };
  8958. };
  8959. template <>
  8960. struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
  8961. {
  8962. enum
  8963. {
  8964. value = true
  8965. };
  8966. };
  8967. template <>
  8968. struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
  8969. {
  8970. enum
  8971. {
  8972. value = true
  8973. };
  8974. };
  8975. //=== VK_EXT_validation_features ===
  8976. template <>
  8977. struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
  8978. {
  8979. enum
  8980. {
  8981. value = true
  8982. };
  8983. };
  8984. //=== VK_KHR_present_wait ===
  8985. template <>
  8986. struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
  8987. {
  8988. enum
  8989. {
  8990. value = true
  8991. };
  8992. };
  8993. template <>
  8994. struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
  8995. {
  8996. enum
  8997. {
  8998. value = true
  8999. };
  9000. };
  9001. //=== VK_NV_cooperative_matrix ===
  9002. template <>
  9003. struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
  9004. {
  9005. enum
  9006. {
  9007. value = true
  9008. };
  9009. };
  9010. template <>
  9011. struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
  9012. {
  9013. enum
  9014. {
  9015. value = true
  9016. };
  9017. };
  9018. template <>
  9019. struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
  9020. {
  9021. enum
  9022. {
  9023. value = true
  9024. };
  9025. };
  9026. //=== VK_NV_coverage_reduction_mode ===
  9027. template <>
  9028. struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
  9029. {
  9030. enum
  9031. {
  9032. value = true
  9033. };
  9034. };
  9035. template <>
  9036. struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
  9037. {
  9038. enum
  9039. {
  9040. value = true
  9041. };
  9042. };
  9043. template <>
  9044. struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
  9045. {
  9046. enum
  9047. {
  9048. value = true
  9049. };
  9050. };
  9051. //=== VK_EXT_fragment_shader_interlock ===
  9052. template <>
  9053. struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
  9054. {
  9055. enum
  9056. {
  9057. value = true
  9058. };
  9059. };
  9060. template <>
  9061. struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
  9062. {
  9063. enum
  9064. {
  9065. value = true
  9066. };
  9067. };
  9068. //=== VK_EXT_ycbcr_image_arrays ===
  9069. template <>
  9070. struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
  9071. {
  9072. enum
  9073. {
  9074. value = true
  9075. };
  9076. };
  9077. template <>
  9078. struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
  9079. {
  9080. enum
  9081. {
  9082. value = true
  9083. };
  9084. };
  9085. //=== VK_EXT_provoking_vertex ===
  9086. template <>
  9087. struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
  9088. {
  9089. enum
  9090. {
  9091. value = true
  9092. };
  9093. };
  9094. template <>
  9095. struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
  9096. {
  9097. enum
  9098. {
  9099. value = true
  9100. };
  9101. };
  9102. template <>
  9103. struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
  9104. {
  9105. enum
  9106. {
  9107. value = true
  9108. };
  9109. };
  9110. template <>
  9111. struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
  9112. {
  9113. enum
  9114. {
  9115. value = true
  9116. };
  9117. };
  9118. # if defined( VK_USE_PLATFORM_WIN32_KHR )
  9119. //=== VK_EXT_full_screen_exclusive ===
  9120. template <>
  9121. struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
  9122. {
  9123. enum
  9124. {
  9125. value = true
  9126. };
  9127. };
  9128. template <>
  9129. struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
  9130. {
  9131. enum
  9132. {
  9133. value = true
  9134. };
  9135. };
  9136. template <>
  9137. struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
  9138. {
  9139. enum
  9140. {
  9141. value = true
  9142. };
  9143. };
  9144. template <>
  9145. struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
  9146. {
  9147. enum
  9148. {
  9149. value = true
  9150. };
  9151. };
  9152. template <>
  9153. struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
  9154. {
  9155. enum
  9156. {
  9157. value = true
  9158. };
  9159. };
  9160. # endif /*VK_USE_PLATFORM_WIN32_KHR*/
  9161. //=== VK_EXT_line_rasterization ===
  9162. template <>
  9163. struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceFeatures2>
  9164. {
  9165. enum
  9166. {
  9167. value = true
  9168. };
  9169. };
  9170. template <>
  9171. struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, DeviceCreateInfo>
  9172. {
  9173. enum
  9174. {
  9175. value = true
  9176. };
  9177. };
  9178. template <>
  9179. struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceProperties2>
  9180. {
  9181. enum
  9182. {
  9183. value = true
  9184. };
  9185. };
  9186. template <>
  9187. struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
  9188. {
  9189. enum
  9190. {
  9191. value = true
  9192. };
  9193. };
  9194. //=== VK_EXT_shader_atomic_float ===
  9195. template <>
  9196. struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
  9197. {
  9198. enum
  9199. {
  9200. value = true
  9201. };
  9202. };
  9203. template <>
  9204. struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
  9205. {
  9206. enum
  9207. {
  9208. value = true
  9209. };
  9210. };
  9211. //=== VK_EXT_index_type_uint8 ===
  9212. template <>
  9213. struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceFeatures2>
  9214. {
  9215. enum
  9216. {
  9217. value = true
  9218. };
  9219. };
  9220. template <>
  9221. struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, DeviceCreateInfo>
  9222. {
  9223. enum
  9224. {
  9225. value = true
  9226. };
  9227. };
  9228. //=== VK_EXT_extended_dynamic_state ===
  9229. template <>
  9230. struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
  9231. {
  9232. enum
  9233. {
  9234. value = true
  9235. };
  9236. };
  9237. template <>
  9238. struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
  9239. {
  9240. enum
  9241. {
  9242. value = true
  9243. };
  9244. };
  9245. //=== VK_KHR_pipeline_executable_properties ===
  9246. template <>
  9247. struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
  9248. {
  9249. enum
  9250. {
  9251. value = true
  9252. };
  9253. };
  9254. template <>
  9255. struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
  9256. {
  9257. enum
  9258. {
  9259. value = true
  9260. };
  9261. };
  9262. //=== VK_EXT_host_image_copy ===
  9263. template <>
  9264. struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, PhysicalDeviceFeatures2>
  9265. {
  9266. enum
  9267. {
  9268. value = true
  9269. };
  9270. };
  9271. template <>
  9272. struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, DeviceCreateInfo>
  9273. {
  9274. enum
  9275. {
  9276. value = true
  9277. };
  9278. };
  9279. template <>
  9280. struct StructExtends<PhysicalDeviceHostImageCopyPropertiesEXT, PhysicalDeviceProperties2>
  9281. {
  9282. enum
  9283. {
  9284. value = true
  9285. };
  9286. };
  9287. template <>
  9288. struct StructExtends<SubresourceHostMemcpySizeEXT, SubresourceLayout2KHR>
  9289. {
  9290. enum
  9291. {
  9292. value = true
  9293. };
  9294. };
  9295. template <>
  9296. struct StructExtends<HostImageCopyDevicePerformanceQueryEXT, ImageFormatProperties2>
  9297. {
  9298. enum
  9299. {
  9300. value = true
  9301. };
  9302. };
  9303. //=== VK_EXT_shader_atomic_float2 ===
  9304. template <>
  9305. struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
  9306. {
  9307. enum
  9308. {
  9309. value = true
  9310. };
  9311. };
  9312. template <>
  9313. struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
  9314. {
  9315. enum
  9316. {
  9317. value = true
  9318. };
  9319. };
  9320. //=== VK_EXT_surface_maintenance1 ===
  9321. template <>
  9322. struct StructExtends<SurfacePresentModeEXT, PhysicalDeviceSurfaceInfo2KHR>
  9323. {
  9324. enum
  9325. {
  9326. value = true
  9327. };
  9328. };
  9329. template <>
  9330. struct StructExtends<SurfacePresentScalingCapabilitiesEXT, SurfaceCapabilities2KHR>
  9331. {
  9332. enum
  9333. {
  9334. value = true
  9335. };
  9336. };
  9337. template <>
  9338. struct StructExtends<SurfacePresentModeCompatibilityEXT, SurfaceCapabilities2KHR>
  9339. {
  9340. enum
  9341. {
  9342. value = true
  9343. };
  9344. };
  9345. //=== VK_EXT_swapchain_maintenance1 ===
  9346. template <>
  9347. struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, PhysicalDeviceFeatures2>
  9348. {
  9349. enum
  9350. {
  9351. value = true
  9352. };
  9353. };
  9354. template <>
  9355. struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, DeviceCreateInfo>
  9356. {
  9357. enum
  9358. {
  9359. value = true
  9360. };
  9361. };
  9362. template <>
  9363. struct StructExtends<SwapchainPresentFenceInfoEXT, PresentInfoKHR>
  9364. {
  9365. enum
  9366. {
  9367. value = true
  9368. };
  9369. };
  9370. template <>
  9371. struct StructExtends<SwapchainPresentModesCreateInfoEXT, SwapchainCreateInfoKHR>
  9372. {
  9373. enum
  9374. {
  9375. value = true
  9376. };
  9377. };
  9378. template <>
  9379. struct StructExtends<SwapchainPresentModeInfoEXT, PresentInfoKHR>
  9380. {
  9381. enum
  9382. {
  9383. value = true
  9384. };
  9385. };
  9386. template <>
  9387. struct StructExtends<SwapchainPresentScalingCreateInfoEXT, SwapchainCreateInfoKHR>
  9388. {
  9389. enum
  9390. {
  9391. value = true
  9392. };
  9393. };
  9394. //=== VK_NV_device_generated_commands ===
  9395. template <>
  9396. struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
  9397. {
  9398. enum
  9399. {
  9400. value = true
  9401. };
  9402. };
  9403. template <>
  9404. struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
  9405. {
  9406. enum
  9407. {
  9408. value = true
  9409. };
  9410. };
  9411. template <>
  9412. struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
  9413. {
  9414. enum
  9415. {
  9416. value = true
  9417. };
  9418. };
  9419. template <>
  9420. struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
  9421. {
  9422. enum
  9423. {
  9424. value = true
  9425. };
  9426. };
  9427. //=== VK_NV_inherited_viewport_scissor ===
  9428. template <>
  9429. struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
  9430. {
  9431. enum
  9432. {
  9433. value = true
  9434. };
  9435. };
  9436. template <>
  9437. struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
  9438. {
  9439. enum
  9440. {
  9441. value = true
  9442. };
  9443. };
  9444. template <>
  9445. struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
  9446. {
  9447. enum
  9448. {
  9449. value = true
  9450. };
  9451. };
  9452. //=== VK_EXT_texel_buffer_alignment ===
  9453. template <>
  9454. struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
  9455. {
  9456. enum
  9457. {
  9458. value = true
  9459. };
  9460. };
  9461. template <>
  9462. struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
  9463. {
  9464. enum
  9465. {
  9466. value = true
  9467. };
  9468. };
  9469. //=== VK_QCOM_render_pass_transform ===
  9470. template <>
  9471. struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
  9472. {
  9473. enum
  9474. {
  9475. value = true
  9476. };
  9477. };
  9478. template <>
  9479. struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
  9480. {
  9481. enum
  9482. {
  9483. value = true
  9484. };
  9485. };
  9486. //=== VK_EXT_depth_bias_control ===
  9487. template <>
  9488. struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, PhysicalDeviceFeatures2>
  9489. {
  9490. enum
  9491. {
  9492. value = true
  9493. };
  9494. };
  9495. template <>
  9496. struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, DeviceCreateInfo>
  9497. {
  9498. enum
  9499. {
  9500. value = true
  9501. };
  9502. };
  9503. template <>
  9504. struct StructExtends<DepthBiasRepresentationInfoEXT, DepthBiasInfoEXT>
  9505. {
  9506. enum
  9507. {
  9508. value = true
  9509. };
  9510. };
  9511. template <>
  9512. struct StructExtends<DepthBiasRepresentationInfoEXT, PipelineRasterizationStateCreateInfo>
  9513. {
  9514. enum
  9515. {
  9516. value = true
  9517. };
  9518. };
  9519. //=== VK_EXT_device_memory_report ===
  9520. template <>
  9521. struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
  9522. {
  9523. enum
  9524. {
  9525. value = true
  9526. };
  9527. };
  9528. template <>
  9529. struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
  9530. {
  9531. enum
  9532. {
  9533. value = true
  9534. };
  9535. };
  9536. template <>
  9537. struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
  9538. {
  9539. enum
  9540. {
  9541. value = true
  9542. };
  9543. };
  9544. //=== VK_EXT_robustness2 ===
  9545. template <>
  9546. struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
  9547. {
  9548. enum
  9549. {
  9550. value = true
  9551. };
  9552. };
  9553. template <>
  9554. struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
  9555. {
  9556. enum
  9557. {
  9558. value = true
  9559. };
  9560. };
  9561. template <>
  9562. struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
  9563. {
  9564. enum
  9565. {
  9566. value = true
  9567. };
  9568. };
  9569. //=== VK_EXT_custom_border_color ===
  9570. template <>
  9571. struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
  9572. {
  9573. enum
  9574. {
  9575. value = true
  9576. };
  9577. };
  9578. template <>
  9579. struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
  9580. {
  9581. enum
  9582. {
  9583. value = true
  9584. };
  9585. };
  9586. template <>
  9587. struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
  9588. {
  9589. enum
  9590. {
  9591. value = true
  9592. };
  9593. };
  9594. template <>
  9595. struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
  9596. {
  9597. enum
  9598. {
  9599. value = true
  9600. };
  9601. };
  9602. //=== VK_KHR_pipeline_library ===
  9603. template <>
  9604. struct StructExtends<PipelineLibraryCreateInfoKHR, GraphicsPipelineCreateInfo>
  9605. {
  9606. enum
  9607. {
  9608. value = true
  9609. };
  9610. };
  9611. //=== VK_NV_present_barrier ===
  9612. template <>
  9613. struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, PhysicalDeviceFeatures2>
  9614. {
  9615. enum
  9616. {
  9617. value = true
  9618. };
  9619. };
  9620. template <>
  9621. struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, DeviceCreateInfo>
  9622. {
  9623. enum
  9624. {
  9625. value = true
  9626. };
  9627. };
  9628. template <>
  9629. struct StructExtends<SurfaceCapabilitiesPresentBarrierNV, SurfaceCapabilities2KHR>
  9630. {
  9631. enum
  9632. {
  9633. value = true
  9634. };
  9635. };
  9636. template <>
  9637. struct StructExtends<SwapchainPresentBarrierCreateInfoNV, SwapchainCreateInfoKHR>
  9638. {
  9639. enum
  9640. {
  9641. value = true
  9642. };
  9643. };
  9644. //=== VK_KHR_present_id ===
  9645. template <>
  9646. struct StructExtends<PresentIdKHR, PresentInfoKHR>
  9647. {
  9648. enum
  9649. {
  9650. value = true
  9651. };
  9652. };
  9653. template <>
  9654. struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
  9655. {
  9656. enum
  9657. {
  9658. value = true
  9659. };
  9660. };
  9661. template <>
  9662. struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
  9663. {
  9664. enum
  9665. {
  9666. value = true
  9667. };
  9668. };
  9669. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  9670. //=== VK_KHR_video_encode_queue ===
  9671. template <>
  9672. struct StructExtends<VideoEncodeCapabilitiesKHR, VideoCapabilitiesKHR>
  9673. {
  9674. enum
  9675. {
  9676. value = true
  9677. };
  9678. };
  9679. template <>
  9680. struct StructExtends<QueryPoolVideoEncodeFeedbackCreateInfoKHR, QueryPoolCreateInfo>
  9681. {
  9682. enum
  9683. {
  9684. value = true
  9685. };
  9686. };
  9687. template <>
  9688. struct StructExtends<VideoEncodeUsageInfoKHR, VideoProfileInfoKHR>
  9689. {
  9690. enum
  9691. {
  9692. value = true
  9693. };
  9694. };
  9695. template <>
  9696. struct StructExtends<VideoEncodeUsageInfoKHR, QueryPoolCreateInfo>
  9697. {
  9698. enum
  9699. {
  9700. value = true
  9701. };
  9702. };
  9703. template <>
  9704. struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
  9705. {
  9706. enum
  9707. {
  9708. value = true
  9709. };
  9710. };
  9711. template <>
  9712. struct StructExtends<VideoEncodeRateControlInfoKHR, VideoBeginCodingInfoKHR>
  9713. {
  9714. enum
  9715. {
  9716. value = true
  9717. };
  9718. };
  9719. template <>
  9720. struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoCodingControlInfoKHR>
  9721. {
  9722. enum
  9723. {
  9724. value = true
  9725. };
  9726. };
  9727. template <>
  9728. struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoSessionParametersCreateInfoKHR>
  9729. {
  9730. enum
  9731. {
  9732. value = true
  9733. };
  9734. };
  9735. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  9736. //=== VK_NV_device_diagnostics_config ===
  9737. template <>
  9738. struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
  9739. {
  9740. enum
  9741. {
  9742. value = true
  9743. };
  9744. };
  9745. template <>
  9746. struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
  9747. {
  9748. enum
  9749. {
  9750. value = true
  9751. };
  9752. };
  9753. template <>
  9754. struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
  9755. {
  9756. enum
  9757. {
  9758. value = true
  9759. };
  9760. };
  9761. //=== VK_NV_low_latency ===
  9762. template <>
  9763. struct StructExtends<QueryLowLatencySupportNV, SemaphoreCreateInfo>
  9764. {
  9765. enum
  9766. {
  9767. value = true
  9768. };
  9769. };
  9770. # if defined( VK_USE_PLATFORM_METAL_EXT )
  9771. //=== VK_EXT_metal_objects ===
  9772. template <>
  9773. struct StructExtends<ExportMetalObjectCreateInfoEXT, InstanceCreateInfo>
  9774. {
  9775. enum
  9776. {
  9777. value = true
  9778. };
  9779. };
  9780. template <>
  9781. struct StructExtends<ExportMetalObjectCreateInfoEXT, MemoryAllocateInfo>
  9782. {
  9783. enum
  9784. {
  9785. value = true
  9786. };
  9787. };
  9788. template <>
  9789. struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageCreateInfo>
  9790. {
  9791. enum
  9792. {
  9793. value = true
  9794. };
  9795. };
  9796. template <>
  9797. struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageViewCreateInfo>
  9798. {
  9799. enum
  9800. {
  9801. value = true
  9802. };
  9803. };
  9804. template <>
  9805. struct StructExtends<ExportMetalObjectCreateInfoEXT, BufferViewCreateInfo>
  9806. {
  9807. enum
  9808. {
  9809. value = true
  9810. };
  9811. };
  9812. template <>
  9813. struct StructExtends<ExportMetalObjectCreateInfoEXT, SemaphoreCreateInfo>
  9814. {
  9815. enum
  9816. {
  9817. value = true
  9818. };
  9819. };
  9820. template <>
  9821. struct StructExtends<ExportMetalObjectCreateInfoEXT, EventCreateInfo>
  9822. {
  9823. enum
  9824. {
  9825. value = true
  9826. };
  9827. };
  9828. template <>
  9829. struct StructExtends<ExportMetalDeviceInfoEXT, ExportMetalObjectsInfoEXT>
  9830. {
  9831. enum
  9832. {
  9833. value = true
  9834. };
  9835. };
  9836. template <>
  9837. struct StructExtends<ExportMetalCommandQueueInfoEXT, ExportMetalObjectsInfoEXT>
  9838. {
  9839. enum
  9840. {
  9841. value = true
  9842. };
  9843. };
  9844. template <>
  9845. struct StructExtends<ExportMetalBufferInfoEXT, ExportMetalObjectsInfoEXT>
  9846. {
  9847. enum
  9848. {
  9849. value = true
  9850. };
  9851. };
  9852. template <>
  9853. struct StructExtends<ImportMetalBufferInfoEXT, MemoryAllocateInfo>
  9854. {
  9855. enum
  9856. {
  9857. value = true
  9858. };
  9859. };
  9860. template <>
  9861. struct StructExtends<ExportMetalTextureInfoEXT, ExportMetalObjectsInfoEXT>
  9862. {
  9863. enum
  9864. {
  9865. value = true
  9866. };
  9867. };
  9868. template <>
  9869. struct StructExtends<ImportMetalTextureInfoEXT, ImageCreateInfo>
  9870. {
  9871. enum
  9872. {
  9873. value = true
  9874. };
  9875. };
  9876. template <>
  9877. struct StructExtends<ExportMetalIOSurfaceInfoEXT, ExportMetalObjectsInfoEXT>
  9878. {
  9879. enum
  9880. {
  9881. value = true
  9882. };
  9883. };
  9884. template <>
  9885. struct StructExtends<ImportMetalIOSurfaceInfoEXT, ImageCreateInfo>
  9886. {
  9887. enum
  9888. {
  9889. value = true
  9890. };
  9891. };
  9892. template <>
  9893. struct StructExtends<ExportMetalSharedEventInfoEXT, ExportMetalObjectsInfoEXT>
  9894. {
  9895. enum
  9896. {
  9897. value = true
  9898. };
  9899. };
  9900. template <>
  9901. struct StructExtends<ImportMetalSharedEventInfoEXT, SemaphoreCreateInfo>
  9902. {
  9903. enum
  9904. {
  9905. value = true
  9906. };
  9907. };
  9908. template <>
  9909. struct StructExtends<ImportMetalSharedEventInfoEXT, EventCreateInfo>
  9910. {
  9911. enum
  9912. {
  9913. value = true
  9914. };
  9915. };
  9916. # endif /*VK_USE_PLATFORM_METAL_EXT*/
  9917. //=== VK_KHR_synchronization2 ===
  9918. template <>
  9919. struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
  9920. {
  9921. enum
  9922. {
  9923. value = true
  9924. };
  9925. };
  9926. //=== VK_EXT_descriptor_buffer ===
  9927. template <>
  9928. struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
  9929. {
  9930. enum
  9931. {
  9932. value = true
  9933. };
  9934. };
  9935. template <>
  9936. struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
  9937. {
  9938. enum
  9939. {
  9940. value = true
  9941. };
  9942. };
  9943. template <>
  9944. struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
  9945. {
  9946. enum
  9947. {
  9948. value = true
  9949. };
  9950. };
  9951. template <>
  9952. struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
  9953. {
  9954. enum
  9955. {
  9956. value = true
  9957. };
  9958. };
  9959. template <>
  9960. struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
  9961. {
  9962. enum
  9963. {
  9964. value = true
  9965. };
  9966. };
  9967. template <>
  9968. struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
  9969. {
  9970. enum
  9971. {
  9972. value = true
  9973. };
  9974. };
  9975. template <>
  9976. struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
  9977. {
  9978. enum
  9979. {
  9980. value = true
  9981. };
  9982. };
  9983. template <>
  9984. struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
  9985. {
  9986. enum
  9987. {
  9988. value = true
  9989. };
  9990. };
  9991. template <>
  9992. struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
  9993. {
  9994. enum
  9995. {
  9996. value = true
  9997. };
  9998. };
  9999. template <>
  10000. struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
  10001. {
  10002. enum
  10003. {
  10004. value = true
  10005. };
  10006. };
  10007. template <>
  10008. struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
  10009. {
  10010. enum
  10011. {
  10012. value = true
  10013. };
  10014. };
  10015. //=== VK_EXT_graphics_pipeline_library ===
  10016. template <>
  10017. struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
  10018. {
  10019. enum
  10020. {
  10021. value = true
  10022. };
  10023. };
  10024. template <>
  10025. struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, DeviceCreateInfo>
  10026. {
  10027. enum
  10028. {
  10029. value = true
  10030. };
  10031. };
  10032. template <>
  10033. struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, PhysicalDeviceProperties2>
  10034. {
  10035. enum
  10036. {
  10037. value = true
  10038. };
  10039. };
  10040. template <>
  10041. struct StructExtends<GraphicsPipelineLibraryCreateInfoEXT, GraphicsPipelineCreateInfo>
  10042. {
  10043. enum
  10044. {
  10045. value = true
  10046. };
  10047. };
  10048. //=== VK_AMD_shader_early_and_late_fragment_tests ===
  10049. template <>
  10050. struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, PhysicalDeviceFeatures2>
  10051. {
  10052. enum
  10053. {
  10054. value = true
  10055. };
  10056. };
  10057. template <>
  10058. struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, DeviceCreateInfo>
  10059. {
  10060. enum
  10061. {
  10062. value = true
  10063. };
  10064. };
  10065. //=== VK_KHR_fragment_shader_barycentric ===
  10066. template <>
  10067. struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, PhysicalDeviceFeatures2>
  10068. {
  10069. enum
  10070. {
  10071. value = true
  10072. };
  10073. };
  10074. template <>
  10075. struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, DeviceCreateInfo>
  10076. {
  10077. enum
  10078. {
  10079. value = true
  10080. };
  10081. };
  10082. template <>
  10083. struct StructExtends<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, PhysicalDeviceProperties2>
  10084. {
  10085. enum
  10086. {
  10087. value = true
  10088. };
  10089. };
  10090. //=== VK_KHR_shader_subgroup_uniform_control_flow ===
  10091. template <>
  10092. struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
  10093. {
  10094. enum
  10095. {
  10096. value = true
  10097. };
  10098. };
  10099. template <>
  10100. struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
  10101. {
  10102. enum
  10103. {
  10104. value = true
  10105. };
  10106. };
  10107. //=== VK_NV_fragment_shading_rate_enums ===
  10108. template <>
  10109. struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
  10110. {
  10111. enum
  10112. {
  10113. value = true
  10114. };
  10115. };
  10116. template <>
  10117. struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
  10118. {
  10119. enum
  10120. {
  10121. value = true
  10122. };
  10123. };
  10124. template <>
  10125. struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
  10126. {
  10127. enum
  10128. {
  10129. value = true
  10130. };
  10131. };
  10132. template <>
  10133. struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
  10134. {
  10135. enum
  10136. {
  10137. value = true
  10138. };
  10139. };
  10140. //=== VK_NV_ray_tracing_motion_blur ===
  10141. template <>
  10142. struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV, AccelerationStructureGeometryTrianglesDataKHR>
  10143. {
  10144. enum
  10145. {
  10146. value = true
  10147. };
  10148. };
  10149. template <>
  10150. struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
  10151. {
  10152. enum
  10153. {
  10154. value = true
  10155. };
  10156. };
  10157. template <>
  10158. struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
  10159. {
  10160. enum
  10161. {
  10162. value = true
  10163. };
  10164. };
  10165. template <>
  10166. struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
  10167. {
  10168. enum
  10169. {
  10170. value = true
  10171. };
  10172. };
  10173. //=== VK_EXT_mesh_shader ===
  10174. template <>
  10175. struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, PhysicalDeviceFeatures2>
  10176. {
  10177. enum
  10178. {
  10179. value = true
  10180. };
  10181. };
  10182. template <>
  10183. struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, DeviceCreateInfo>
  10184. {
  10185. enum
  10186. {
  10187. value = true
  10188. };
  10189. };
  10190. template <>
  10191. struct StructExtends<PhysicalDeviceMeshShaderPropertiesEXT, PhysicalDeviceProperties2>
  10192. {
  10193. enum
  10194. {
  10195. value = true
  10196. };
  10197. };
  10198. //=== VK_EXT_ycbcr_2plane_444_formats ===
  10199. template <>
  10200. struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
  10201. {
  10202. enum
  10203. {
  10204. value = true
  10205. };
  10206. };
  10207. template <>
  10208. struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
  10209. {
  10210. enum
  10211. {
  10212. value = true
  10213. };
  10214. };
  10215. //=== VK_EXT_fragment_density_map2 ===
  10216. template <>
  10217. struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
  10218. {
  10219. enum
  10220. {
  10221. value = true
  10222. };
  10223. };
  10224. template <>
  10225. struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
  10226. {
  10227. enum
  10228. {
  10229. value = true
  10230. };
  10231. };
  10232. template <>
  10233. struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
  10234. {
  10235. enum
  10236. {
  10237. value = true
  10238. };
  10239. };
  10240. //=== VK_QCOM_rotated_copy_commands ===
  10241. template <>
  10242. struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2>
  10243. {
  10244. enum
  10245. {
  10246. value = true
  10247. };
  10248. };
  10249. template <>
  10250. struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2>
  10251. {
  10252. enum
  10253. {
  10254. value = true
  10255. };
  10256. };
  10257. //=== VK_KHR_workgroup_memory_explicit_layout ===
  10258. template <>
  10259. struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
  10260. {
  10261. enum
  10262. {
  10263. value = true
  10264. };
  10265. };
  10266. template <>
  10267. struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
  10268. {
  10269. enum
  10270. {
  10271. value = true
  10272. };
  10273. };
  10274. //=== VK_EXT_image_compression_control ===
  10275. template <>
  10276. struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, PhysicalDeviceFeatures2>
  10277. {
  10278. enum
  10279. {
  10280. value = true
  10281. };
  10282. };
  10283. template <>
  10284. struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, DeviceCreateInfo>
  10285. {
  10286. enum
  10287. {
  10288. value = true
  10289. };
  10290. };
  10291. template <>
  10292. struct StructExtends<ImageCompressionControlEXT, ImageCreateInfo>
  10293. {
  10294. enum
  10295. {
  10296. value = true
  10297. };
  10298. };
  10299. template <>
  10300. struct StructExtends<ImageCompressionControlEXT, SwapchainCreateInfoKHR>
  10301. {
  10302. enum
  10303. {
  10304. value = true
  10305. };
  10306. };
  10307. template <>
  10308. struct StructExtends<ImageCompressionControlEXT, PhysicalDeviceImageFormatInfo2>
  10309. {
  10310. enum
  10311. {
  10312. value = true
  10313. };
  10314. };
  10315. template <>
  10316. struct StructExtends<ImageCompressionPropertiesEXT, ImageFormatProperties2>
  10317. {
  10318. enum
  10319. {
  10320. value = true
  10321. };
  10322. };
  10323. template <>
  10324. struct StructExtends<ImageCompressionPropertiesEXT, SurfaceFormat2KHR>
  10325. {
  10326. enum
  10327. {
  10328. value = true
  10329. };
  10330. };
  10331. template <>
  10332. struct StructExtends<ImageCompressionPropertiesEXT, SubresourceLayout2KHR>
  10333. {
  10334. enum
  10335. {
  10336. value = true
  10337. };
  10338. };
  10339. //=== VK_EXT_attachment_feedback_loop_layout ===
  10340. template <>
  10341. struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, PhysicalDeviceFeatures2>
  10342. {
  10343. enum
  10344. {
  10345. value = true
  10346. };
  10347. };
  10348. template <>
  10349. struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, DeviceCreateInfo>
  10350. {
  10351. enum
  10352. {
  10353. value = true
  10354. };
  10355. };
  10356. //=== VK_EXT_4444_formats ===
  10357. template <>
  10358. struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
  10359. {
  10360. enum
  10361. {
  10362. value = true
  10363. };
  10364. };
  10365. template <>
  10366. struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
  10367. {
  10368. enum
  10369. {
  10370. value = true
  10371. };
  10372. };
  10373. //=== VK_EXT_device_fault ===
  10374. template <>
  10375. struct StructExtends<PhysicalDeviceFaultFeaturesEXT, PhysicalDeviceFeatures2>
  10376. {
  10377. enum
  10378. {
  10379. value = true
  10380. };
  10381. };
  10382. template <>
  10383. struct StructExtends<PhysicalDeviceFaultFeaturesEXT, DeviceCreateInfo>
  10384. {
  10385. enum
  10386. {
  10387. value = true
  10388. };
  10389. };
  10390. //=== VK_EXT_rgba10x6_formats ===
  10391. template <>
  10392. struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
  10393. {
  10394. enum
  10395. {
  10396. value = true
  10397. };
  10398. };
  10399. template <>
  10400. struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
  10401. {
  10402. enum
  10403. {
  10404. value = true
  10405. };
  10406. };
  10407. //=== VK_EXT_vertex_input_dynamic_state ===
  10408. template <>
  10409. struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
  10410. {
  10411. enum
  10412. {
  10413. value = true
  10414. };
  10415. };
  10416. template <>
  10417. struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
  10418. {
  10419. enum
  10420. {
  10421. value = true
  10422. };
  10423. };
  10424. //=== VK_EXT_physical_device_drm ===
  10425. template <>
  10426. struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
  10427. {
  10428. enum
  10429. {
  10430. value = true
  10431. };
  10432. };
  10433. //=== VK_EXT_device_address_binding_report ===
  10434. template <>
  10435. struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, PhysicalDeviceFeatures2>
  10436. {
  10437. enum
  10438. {
  10439. value = true
  10440. };
  10441. };
  10442. template <>
  10443. struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, DeviceCreateInfo>
  10444. {
  10445. enum
  10446. {
  10447. value = true
  10448. };
  10449. };
  10450. template <>
  10451. struct StructExtends<DeviceAddressBindingCallbackDataEXT, DebugUtilsMessengerCallbackDataEXT>
  10452. {
  10453. enum
  10454. {
  10455. value = true
  10456. };
  10457. };
  10458. //=== VK_EXT_depth_clip_control ===
  10459. template <>
  10460. struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
  10461. {
  10462. enum
  10463. {
  10464. value = true
  10465. };
  10466. };
  10467. template <>
  10468. struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
  10469. {
  10470. enum
  10471. {
  10472. value = true
  10473. };
  10474. };
  10475. template <>
  10476. struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
  10477. {
  10478. enum
  10479. {
  10480. value = true
  10481. };
  10482. };
  10483. //=== VK_EXT_primitive_topology_list_restart ===
  10484. template <>
  10485. struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
  10486. {
  10487. enum
  10488. {
  10489. value = true
  10490. };
  10491. };
  10492. template <>
  10493. struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
  10494. {
  10495. enum
  10496. {
  10497. value = true
  10498. };
  10499. };
  10500. # if defined( VK_USE_PLATFORM_FUCHSIA )
  10501. //=== VK_FUCHSIA_external_memory ===
  10502. template <>
  10503. struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
  10504. {
  10505. enum
  10506. {
  10507. value = true
  10508. };
  10509. };
  10510. # endif /*VK_USE_PLATFORM_FUCHSIA*/
  10511. # if defined( VK_USE_PLATFORM_FUCHSIA )
  10512. //=== VK_FUCHSIA_buffer_collection ===
  10513. template <>
  10514. struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
  10515. {
  10516. enum
  10517. {
  10518. value = true
  10519. };
  10520. };
  10521. template <>
  10522. struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
  10523. {
  10524. enum
  10525. {
  10526. value = true
  10527. };
  10528. };
  10529. template <>
  10530. struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
  10531. {
  10532. enum
  10533. {
  10534. value = true
  10535. };
  10536. };
  10537. # endif /*VK_USE_PLATFORM_FUCHSIA*/
  10538. //=== VK_HUAWEI_subpass_shading ===
  10539. template <>
  10540. struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
  10541. {
  10542. enum
  10543. {
  10544. value = true
  10545. };
  10546. };
  10547. template <>
  10548. struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
  10549. {
  10550. enum
  10551. {
  10552. value = true
  10553. };
  10554. };
  10555. template <>
  10556. struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
  10557. {
  10558. enum
  10559. {
  10560. value = true
  10561. };
  10562. };
  10563. template <>
  10564. struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
  10565. {
  10566. enum
  10567. {
  10568. value = true
  10569. };
  10570. };
  10571. //=== VK_HUAWEI_invocation_mask ===
  10572. template <>
  10573. struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
  10574. {
  10575. enum
  10576. {
  10577. value = true
  10578. };
  10579. };
  10580. template <>
  10581. struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
  10582. {
  10583. enum
  10584. {
  10585. value = true
  10586. };
  10587. };
  10588. //=== VK_NV_external_memory_rdma ===
  10589. template <>
  10590. struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
  10591. {
  10592. enum
  10593. {
  10594. value = true
  10595. };
  10596. };
  10597. template <>
  10598. struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
  10599. {
  10600. enum
  10601. {
  10602. value = true
  10603. };
  10604. };
  10605. //=== VK_EXT_pipeline_properties ===
  10606. template <>
  10607. struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, PhysicalDeviceFeatures2>
  10608. {
  10609. enum
  10610. {
  10611. value = true
  10612. };
  10613. };
  10614. template <>
  10615. struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, DeviceCreateInfo>
  10616. {
  10617. enum
  10618. {
  10619. value = true
  10620. };
  10621. };
  10622. //=== VK_EXT_frame_boundary ===
  10623. template <>
  10624. struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, PhysicalDeviceFeatures2>
  10625. {
  10626. enum
  10627. {
  10628. value = true
  10629. };
  10630. };
  10631. template <>
  10632. struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, DeviceCreateInfo>
  10633. {
  10634. enum
  10635. {
  10636. value = true
  10637. };
  10638. };
  10639. template <>
  10640. struct StructExtends<FrameBoundaryEXT, SubmitInfo>
  10641. {
  10642. enum
  10643. {
  10644. value = true
  10645. };
  10646. };
  10647. template <>
  10648. struct StructExtends<FrameBoundaryEXT, SubmitInfo2>
  10649. {
  10650. enum
  10651. {
  10652. value = true
  10653. };
  10654. };
  10655. template <>
  10656. struct StructExtends<FrameBoundaryEXT, PresentInfoKHR>
  10657. {
  10658. enum
  10659. {
  10660. value = true
  10661. };
  10662. };
  10663. template <>
  10664. struct StructExtends<FrameBoundaryEXT, BindSparseInfo>
  10665. {
  10666. enum
  10667. {
  10668. value = true
  10669. };
  10670. };
  10671. //=== VK_EXT_multisampled_render_to_single_sampled ===
  10672. template <>
  10673. struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, PhysicalDeviceFeatures2>
  10674. {
  10675. enum
  10676. {
  10677. value = true
  10678. };
  10679. };
  10680. template <>
  10681. struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, DeviceCreateInfo>
  10682. {
  10683. enum
  10684. {
  10685. value = true
  10686. };
  10687. };
  10688. template <>
  10689. struct StructExtends<SubpassResolvePerformanceQueryEXT, FormatProperties2>
  10690. {
  10691. enum
  10692. {
  10693. value = true
  10694. };
  10695. };
  10696. template <>
  10697. struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, SubpassDescription2>
  10698. {
  10699. enum
  10700. {
  10701. value = true
  10702. };
  10703. };
  10704. template <>
  10705. struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, RenderingInfo>
  10706. {
  10707. enum
  10708. {
  10709. value = true
  10710. };
  10711. };
  10712. //=== VK_EXT_extended_dynamic_state2 ===
  10713. template <>
  10714. struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
  10715. {
  10716. enum
  10717. {
  10718. value = true
  10719. };
  10720. };
  10721. template <>
  10722. struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
  10723. {
  10724. enum
  10725. {
  10726. value = true
  10727. };
  10728. };
  10729. //=== VK_EXT_color_write_enable ===
  10730. template <>
  10731. struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
  10732. {
  10733. enum
  10734. {
  10735. value = true
  10736. };
  10737. };
  10738. template <>
  10739. struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
  10740. {
  10741. enum
  10742. {
  10743. value = true
  10744. };
  10745. };
  10746. template <>
  10747. struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
  10748. {
  10749. enum
  10750. {
  10751. value = true
  10752. };
  10753. };
  10754. //=== VK_EXT_primitives_generated_query ===
  10755. template <>
  10756. struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, PhysicalDeviceFeatures2>
  10757. {
  10758. enum
  10759. {
  10760. value = true
  10761. };
  10762. };
  10763. template <>
  10764. struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, DeviceCreateInfo>
  10765. {
  10766. enum
  10767. {
  10768. value = true
  10769. };
  10770. };
  10771. //=== VK_KHR_ray_tracing_maintenance1 ===
  10772. template <>
  10773. struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
  10774. {
  10775. enum
  10776. {
  10777. value = true
  10778. };
  10779. };
  10780. template <>
  10781. struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, DeviceCreateInfo>
  10782. {
  10783. enum
  10784. {
  10785. value = true
  10786. };
  10787. };
  10788. //=== VK_EXT_image_view_min_lod ===
  10789. template <>
  10790. struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
  10791. {
  10792. enum
  10793. {
  10794. value = true
  10795. };
  10796. };
  10797. template <>
  10798. struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
  10799. {
  10800. enum
  10801. {
  10802. value = true
  10803. };
  10804. };
  10805. template <>
  10806. struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
  10807. {
  10808. enum
  10809. {
  10810. value = true
  10811. };
  10812. };
  10813. //=== VK_EXT_multi_draw ===
  10814. template <>
  10815. struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
  10816. {
  10817. enum
  10818. {
  10819. value = true
  10820. };
  10821. };
  10822. template <>
  10823. struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
  10824. {
  10825. enum
  10826. {
  10827. value = true
  10828. };
  10829. };
  10830. template <>
  10831. struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
  10832. {
  10833. enum
  10834. {
  10835. value = true
  10836. };
  10837. };
  10838. //=== VK_EXT_image_2d_view_of_3d ===
  10839. template <>
  10840. struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
  10841. {
  10842. enum
  10843. {
  10844. value = true
  10845. };
  10846. };
  10847. template <>
  10848. struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo>
  10849. {
  10850. enum
  10851. {
  10852. value = true
  10853. };
  10854. };
  10855. //=== VK_EXT_shader_tile_image ===
  10856. template <>
  10857. struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, PhysicalDeviceFeatures2>
  10858. {
  10859. enum
  10860. {
  10861. value = true
  10862. };
  10863. };
  10864. template <>
  10865. struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, DeviceCreateInfo>
  10866. {
  10867. enum
  10868. {
  10869. value = true
  10870. };
  10871. };
  10872. template <>
  10873. struct StructExtends<PhysicalDeviceShaderTileImagePropertiesEXT, PhysicalDeviceProperties2>
  10874. {
  10875. enum
  10876. {
  10877. value = true
  10878. };
  10879. };
  10880. //=== VK_EXT_opacity_micromap ===
  10881. template <>
  10882. struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, PhysicalDeviceFeatures2>
  10883. {
  10884. enum
  10885. {
  10886. value = true
  10887. };
  10888. };
  10889. template <>
  10890. struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, DeviceCreateInfo>
  10891. {
  10892. enum
  10893. {
  10894. value = true
  10895. };
  10896. };
  10897. template <>
  10898. struct StructExtends<PhysicalDeviceOpacityMicromapPropertiesEXT, PhysicalDeviceProperties2>
  10899. {
  10900. enum
  10901. {
  10902. value = true
  10903. };
  10904. };
  10905. template <>
  10906. struct StructExtends<AccelerationStructureTrianglesOpacityMicromapEXT, AccelerationStructureGeometryTrianglesDataKHR>
  10907. {
  10908. enum
  10909. {
  10910. value = true
  10911. };
  10912. };
  10913. # if defined( VK_ENABLE_BETA_EXTENSIONS )
  10914. //=== VK_NV_displacement_micromap ===
  10915. template <>
  10916. struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, PhysicalDeviceFeatures2>
  10917. {
  10918. enum
  10919. {
  10920. value = true
  10921. };
  10922. };
  10923. template <>
  10924. struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, DeviceCreateInfo>
  10925. {
  10926. enum
  10927. {
  10928. value = true
  10929. };
  10930. };
  10931. template <>
  10932. struct StructExtends<PhysicalDeviceDisplacementMicromapPropertiesNV, PhysicalDeviceProperties2>
  10933. {
  10934. enum
  10935. {
  10936. value = true
  10937. };
  10938. };
  10939. template <>
  10940. struct StructExtends<AccelerationStructureTrianglesDisplacementMicromapNV, AccelerationStructureGeometryTrianglesDataKHR>
  10941. {
  10942. enum
  10943. {
  10944. value = true
  10945. };
  10946. };
  10947. # endif /*VK_ENABLE_BETA_EXTENSIONS*/
  10948. //=== VK_HUAWEI_cluster_culling_shader ===
  10949. template <>
  10950. struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, PhysicalDeviceFeatures2>
  10951. {
  10952. enum
  10953. {
  10954. value = true
  10955. };
  10956. };
  10957. template <>
  10958. struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, DeviceCreateInfo>
  10959. {
  10960. enum
  10961. {
  10962. value = true
  10963. };
  10964. };
  10965. template <>
  10966. struct StructExtends<PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, PhysicalDeviceProperties2>
  10967. {
  10968. enum
  10969. {
  10970. value = true
  10971. };
  10972. };
  10973. //=== VK_EXT_border_color_swizzle ===
  10974. template <>
  10975. struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
  10976. {
  10977. enum
  10978. {
  10979. value = true
  10980. };
  10981. };
  10982. template <>
  10983. struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
  10984. {
  10985. enum
  10986. {
  10987. value = true
  10988. };
  10989. };
  10990. template <>
  10991. struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
  10992. {
  10993. enum
  10994. {
  10995. value = true
  10996. };
  10997. };
  10998. //=== VK_EXT_pageable_device_local_memory ===
  10999. template <>
  11000. struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
  11001. {
  11002. enum
  11003. {
  11004. value = true
  11005. };
  11006. };
  11007. template <>
  11008. struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
  11009. {
  11010. enum
  11011. {
  11012. value = true
  11013. };
  11014. };
  11015. //=== VK_ARM_shader_core_properties ===
  11016. template <>
  11017. struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2>
  11018. {
  11019. enum
  11020. {
  11021. value = true
  11022. };
  11023. };
  11024. //=== VK_EXT_image_sliced_view_of_3d ===
  11025. template <>
  11026. struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
  11027. {
  11028. enum
  11029. {
  11030. value = true
  11031. };
  11032. };
  11033. template <>
  11034. struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo>
  11035. {
  11036. enum
  11037. {
  11038. value = true
  11039. };
  11040. };
  11041. template <>
  11042. struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo>
  11043. {
  11044. enum
  11045. {
  11046. value = true
  11047. };
  11048. };
  11049. //=== VK_VALVE_descriptor_set_host_mapping ===
  11050. template <>
  11051. struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2>
  11052. {
  11053. enum
  11054. {
  11055. value = true
  11056. };
  11057. };
  11058. template <>
  11059. struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, DeviceCreateInfo>
  11060. {
  11061. enum
  11062. {
  11063. value = true
  11064. };
  11065. };
  11066. //=== VK_EXT_depth_clamp_zero_one ===
  11067. template <>
  11068. struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, PhysicalDeviceFeatures2>
  11069. {
  11070. enum
  11071. {
  11072. value = true
  11073. };
  11074. };
  11075. template <>
  11076. struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, DeviceCreateInfo>
  11077. {
  11078. enum
  11079. {
  11080. value = true
  11081. };
  11082. };
  11083. //=== VK_EXT_non_seamless_cube_map ===
  11084. template <>
  11085. struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, PhysicalDeviceFeatures2>
  11086. {
  11087. enum
  11088. {
  11089. value = true
  11090. };
  11091. };
  11092. template <>
  11093. struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, DeviceCreateInfo>
  11094. {
  11095. enum
  11096. {
  11097. value = true
  11098. };
  11099. };
  11100. //=== VK_QCOM_fragment_density_map_offset ===
  11101. template <>
  11102. struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
  11103. {
  11104. enum
  11105. {
  11106. value = true
  11107. };
  11108. };
  11109. template <>
  11110. struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
  11111. {
  11112. enum
  11113. {
  11114. value = true
  11115. };
  11116. };
  11117. template <>
  11118. struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
  11119. {
  11120. enum
  11121. {
  11122. value = true
  11123. };
  11124. };
  11125. template <>
  11126. struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
  11127. {
  11128. enum
  11129. {
  11130. value = true
  11131. };
  11132. };
  11133. //=== VK_NV_copy_memory_indirect ===
  11134. template <>
  11135. struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, PhysicalDeviceFeatures2>
  11136. {
  11137. enum
  11138. {
  11139. value = true
  11140. };
  11141. };
  11142. template <>
  11143. struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, DeviceCreateInfo>
  11144. {
  11145. enum
  11146. {
  11147. value = true
  11148. };
  11149. };
  11150. template <>
  11151. struct StructExtends<PhysicalDeviceCopyMemoryIndirectPropertiesNV, PhysicalDeviceProperties2>
  11152. {
  11153. enum
  11154. {
  11155. value = true
  11156. };
  11157. };
  11158. //=== VK_NV_memory_decompression ===
  11159. template <>
  11160. struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, PhysicalDeviceFeatures2>
  11161. {
  11162. enum
  11163. {
  11164. value = true
  11165. };
  11166. };
  11167. template <>
  11168. struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, DeviceCreateInfo>
  11169. {
  11170. enum
  11171. {
  11172. value = true
  11173. };
  11174. };
  11175. template <>
  11176. struct StructExtends<PhysicalDeviceMemoryDecompressionPropertiesNV, PhysicalDeviceProperties2>
  11177. {
  11178. enum
  11179. {
  11180. value = true
  11181. };
  11182. };
  11183. //=== VK_NV_device_generated_commands_compute ===
  11184. template <>
  11185. struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, PhysicalDeviceFeatures2>
  11186. {
  11187. enum
  11188. {
  11189. value = true
  11190. };
  11191. };
  11192. template <>
  11193. struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, DeviceCreateInfo>
  11194. {
  11195. enum
  11196. {
  11197. value = true
  11198. };
  11199. };
  11200. //=== VK_NV_linear_color_attachment ===
  11201. template <>
  11202. struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
  11203. {
  11204. enum
  11205. {
  11206. value = true
  11207. };
  11208. };
  11209. template <>
  11210. struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
  11211. {
  11212. enum
  11213. {
  11214. value = true
  11215. };
  11216. };
  11217. //=== VK_EXT_image_compression_control_swapchain ===
  11218. template <>
  11219. struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
  11220. {
  11221. enum
  11222. {
  11223. value = true
  11224. };
  11225. };
  11226. template <>
  11227. struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, DeviceCreateInfo>
  11228. {
  11229. enum
  11230. {
  11231. value = true
  11232. };
  11233. };
  11234. //=== VK_QCOM_image_processing ===
  11235. template <>
  11236. struct StructExtends<ImageViewSampleWeightCreateInfoQCOM, ImageViewCreateInfo>
  11237. {
  11238. enum
  11239. {
  11240. value = true
  11241. };
  11242. };
  11243. template <>
  11244. struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, PhysicalDeviceFeatures2>
  11245. {
  11246. enum
  11247. {
  11248. value = true
  11249. };
  11250. };
  11251. template <>
  11252. struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, DeviceCreateInfo>
  11253. {
  11254. enum
  11255. {
  11256. value = true
  11257. };
  11258. };
  11259. template <>
  11260. struct StructExtends<PhysicalDeviceImageProcessingPropertiesQCOM, PhysicalDeviceProperties2>
  11261. {
  11262. enum
  11263. {
  11264. value = true
  11265. };
  11266. };
  11267. //=== VK_EXT_nested_command_buffer ===
  11268. template <>
  11269. struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, PhysicalDeviceFeatures2>
  11270. {
  11271. enum
  11272. {
  11273. value = true
  11274. };
  11275. };
  11276. template <>
  11277. struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, DeviceCreateInfo>
  11278. {
  11279. enum
  11280. {
  11281. value = true
  11282. };
  11283. };
  11284. template <>
  11285. struct StructExtends<PhysicalDeviceNestedCommandBufferPropertiesEXT, PhysicalDeviceProperties2>
  11286. {
  11287. enum
  11288. {
  11289. value = true
  11290. };
  11291. };
  11292. //=== VK_EXT_external_memory_acquire_unmodified ===
  11293. template <>
  11294. struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier>
  11295. {
  11296. enum
  11297. {
  11298. value = true
  11299. };
  11300. };
  11301. template <>
  11302. struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier2>
  11303. {
  11304. enum
  11305. {
  11306. value = true
  11307. };
  11308. };
  11309. template <>
  11310. struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier>
  11311. {
  11312. enum
  11313. {
  11314. value = true
  11315. };
  11316. };
  11317. template <>
  11318. struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier2>
  11319. {
  11320. enum
  11321. {
  11322. value = true
  11323. };
  11324. };
  11325. //=== VK_EXT_extended_dynamic_state3 ===
  11326. template <>
  11327. struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, PhysicalDeviceFeatures2>
  11328. {
  11329. enum
  11330. {
  11331. value = true
  11332. };
  11333. };
  11334. template <>
  11335. struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, DeviceCreateInfo>
  11336. {
  11337. enum
  11338. {
  11339. value = true
  11340. };
  11341. };
  11342. template <>
  11343. struct StructExtends<PhysicalDeviceExtendedDynamicState3PropertiesEXT, PhysicalDeviceProperties2>
  11344. {
  11345. enum
  11346. {
  11347. value = true
  11348. };
  11349. };
  11350. //=== VK_EXT_subpass_merge_feedback ===
  11351. template <>
  11352. struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
  11353. {
  11354. enum
  11355. {
  11356. value = true
  11357. };
  11358. };
  11359. template <>
  11360. struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, DeviceCreateInfo>
  11361. {
  11362. enum
  11363. {
  11364. value = true
  11365. };
  11366. };
  11367. template <>
  11368. struct StructExtends<RenderPassCreationControlEXT, RenderPassCreateInfo2>
  11369. {
  11370. enum
  11371. {
  11372. value = true
  11373. };
  11374. };
  11375. template <>
  11376. struct StructExtends<RenderPassCreationControlEXT, SubpassDescription2>
  11377. {
  11378. enum
  11379. {
  11380. value = true
  11381. };
  11382. };
  11383. template <>
  11384. struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
  11385. {
  11386. enum
  11387. {
  11388. value = true
  11389. };
  11390. };
  11391. template <>
  11392. struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
  11393. {
  11394. enum
  11395. {
  11396. value = true
  11397. };
  11398. };
  11399. //=== VK_LUNARG_direct_driver_loading ===
  11400. template <>
  11401. struct StructExtends<DirectDriverLoadingListLUNARG, InstanceCreateInfo>
  11402. {
  11403. enum
  11404. {
  11405. value = true
  11406. };
  11407. };
  11408. //=== VK_EXT_shader_module_identifier ===
  11409. template <>
  11410. struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, PhysicalDeviceFeatures2>
  11411. {
  11412. enum
  11413. {
  11414. value = true
  11415. };
  11416. };
  11417. template <>
  11418. struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, DeviceCreateInfo>
  11419. {
  11420. enum
  11421. {
  11422. value = true
  11423. };
  11424. };
  11425. template <>
  11426. struct StructExtends<PhysicalDeviceShaderModuleIdentifierPropertiesEXT, PhysicalDeviceProperties2>
  11427. {
  11428. enum
  11429. {
  11430. value = true
  11431. };
  11432. };
  11433. template <>
  11434. struct StructExtends<PipelineShaderStageModuleIdentifierCreateInfoEXT, PipelineShaderStageCreateInfo>
  11435. {
  11436. enum
  11437. {
  11438. value = true
  11439. };
  11440. };
  11441. //=== VK_EXT_rasterization_order_attachment_access ===
  11442. template <>
  11443. struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, PhysicalDeviceFeatures2>
  11444. {
  11445. enum
  11446. {
  11447. value = true
  11448. };
  11449. };
  11450. template <>
  11451. struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, DeviceCreateInfo>
  11452. {
  11453. enum
  11454. {
  11455. value = true
  11456. };
  11457. };
  11458. //=== VK_NV_optical_flow ===
  11459. template <>
  11460. struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, PhysicalDeviceFeatures2>
  11461. {
  11462. enum
  11463. {
  11464. value = true
  11465. };
  11466. };
  11467. template <>
  11468. struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, DeviceCreateInfo>
  11469. {
  11470. enum
  11471. {
  11472. value = true
  11473. };
  11474. };
  11475. template <>
  11476. struct StructExtends<PhysicalDeviceOpticalFlowPropertiesNV, PhysicalDeviceProperties2>
  11477. {
  11478. enum
  11479. {
  11480. value = true
  11481. };
  11482. };
  11483. template <>
  11484. struct StructExtends<OpticalFlowImageFormatInfoNV, PhysicalDeviceImageFormatInfo2>
  11485. {
  11486. enum
  11487. {
  11488. value = true
  11489. };
  11490. };
  11491. template <>
  11492. struct StructExtends<OpticalFlowImageFormatInfoNV, ImageCreateInfo>
  11493. {
  11494. enum
  11495. {
  11496. value = true
  11497. };
  11498. };
  11499. template <>
  11500. struct StructExtends<OpticalFlowSessionCreatePrivateDataInfoNV, OpticalFlowSessionCreateInfoNV>
  11501. {
  11502. enum
  11503. {
  11504. value = true
  11505. };
  11506. };
  11507. //=== VK_EXT_legacy_dithering ===
  11508. template <>
  11509. struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, PhysicalDeviceFeatures2>
  11510. {
  11511. enum
  11512. {
  11513. value = true
  11514. };
  11515. };
  11516. template <>
  11517. struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, DeviceCreateInfo>
  11518. {
  11519. enum
  11520. {
  11521. value = true
  11522. };
  11523. };
  11524. //=== VK_EXT_pipeline_protected_access ===
  11525. template <>
  11526. struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, PhysicalDeviceFeatures2>
  11527. {
  11528. enum
  11529. {
  11530. value = true
  11531. };
  11532. };
  11533. template <>
  11534. struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, DeviceCreateInfo>
  11535. {
  11536. enum
  11537. {
  11538. value = true
  11539. };
  11540. };
  11541. # if defined( VK_USE_PLATFORM_ANDROID_KHR )
  11542. //=== VK_ANDROID_external_format_resolve ===
  11543. template <>
  11544. struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, PhysicalDeviceFeatures2>
  11545. {
  11546. enum
  11547. {
  11548. value = true
  11549. };
  11550. };
  11551. template <>
  11552. struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, DeviceCreateInfo>
  11553. {
  11554. enum
  11555. {
  11556. value = true
  11557. };
  11558. };
  11559. template <>
  11560. struct StructExtends<PhysicalDeviceExternalFormatResolvePropertiesANDROID, PhysicalDeviceProperties2>
  11561. {
  11562. enum
  11563. {
  11564. value = true
  11565. };
  11566. };
  11567. template <>
  11568. struct StructExtends<AndroidHardwareBufferFormatResolvePropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
  11569. {
  11570. enum
  11571. {
  11572. value = true
  11573. };
  11574. };
  11575. # endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  11576. //=== VK_KHR_maintenance5 ===
  11577. template <>
  11578. struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, PhysicalDeviceFeatures2>
  11579. {
  11580. enum
  11581. {
  11582. value = true
  11583. };
  11584. };
  11585. template <>
  11586. struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, DeviceCreateInfo>
  11587. {
  11588. enum
  11589. {
  11590. value = true
  11591. };
  11592. };
  11593. template <>
  11594. struct StructExtends<PhysicalDeviceMaintenance5PropertiesKHR, PhysicalDeviceProperties2>
  11595. {
  11596. enum
  11597. {
  11598. value = true
  11599. };
  11600. };
  11601. template <>
  11602. struct StructExtends<PipelineCreateFlags2CreateInfoKHR, ComputePipelineCreateInfo>
  11603. {
  11604. enum
  11605. {
  11606. value = true
  11607. };
  11608. };
  11609. template <>
  11610. struct StructExtends<PipelineCreateFlags2CreateInfoKHR, GraphicsPipelineCreateInfo>
  11611. {
  11612. enum
  11613. {
  11614. value = true
  11615. };
  11616. };
  11617. template <>
  11618. struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoNV>
  11619. {
  11620. enum
  11621. {
  11622. value = true
  11623. };
  11624. };
  11625. template <>
  11626. struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoKHR>
  11627. {
  11628. enum
  11629. {
  11630. value = true
  11631. };
  11632. };
  11633. template <>
  11634. struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferViewCreateInfo>
  11635. {
  11636. enum
  11637. {
  11638. value = true
  11639. };
  11640. };
  11641. template <>
  11642. struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferCreateInfo>
  11643. {
  11644. enum
  11645. {
  11646. value = true
  11647. };
  11648. };
  11649. template <>
  11650. struct StructExtends<BufferUsageFlags2CreateInfoKHR, PhysicalDeviceExternalBufferInfo>
  11651. {
  11652. enum
  11653. {
  11654. value = true
  11655. };
  11656. };
  11657. template <>
  11658. struct StructExtends<BufferUsageFlags2CreateInfoKHR, DescriptorBufferBindingInfoEXT>
  11659. {
  11660. enum
  11661. {
  11662. value = true
  11663. };
  11664. };
  11665. //=== VK_KHR_ray_tracing_position_fetch ===
  11666. template <>
  11667. struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, PhysicalDeviceFeatures2>
  11668. {
  11669. enum
  11670. {
  11671. value = true
  11672. };
  11673. };
  11674. template <>
  11675. struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, DeviceCreateInfo>
  11676. {
  11677. enum
  11678. {
  11679. value = true
  11680. };
  11681. };
  11682. //=== VK_EXT_shader_object ===
  11683. template <>
  11684. struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, PhysicalDeviceFeatures2>
  11685. {
  11686. enum
  11687. {
  11688. value = true
  11689. };
  11690. };
  11691. template <>
  11692. struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, DeviceCreateInfo>
  11693. {
  11694. enum
  11695. {
  11696. value = true
  11697. };
  11698. };
  11699. template <>
  11700. struct StructExtends<PhysicalDeviceShaderObjectPropertiesEXT, PhysicalDeviceProperties2>
  11701. {
  11702. enum
  11703. {
  11704. value = true
  11705. };
  11706. };
  11707. //=== VK_QCOM_tile_properties ===
  11708. template <>
  11709. struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, PhysicalDeviceFeatures2>
  11710. {
  11711. enum
  11712. {
  11713. value = true
  11714. };
  11715. };
  11716. template <>
  11717. struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, DeviceCreateInfo>
  11718. {
  11719. enum
  11720. {
  11721. value = true
  11722. };
  11723. };
  11724. //=== VK_SEC_amigo_profiling ===
  11725. template <>
  11726. struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, PhysicalDeviceFeatures2>
  11727. {
  11728. enum
  11729. {
  11730. value = true
  11731. };
  11732. };
  11733. template <>
  11734. struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, DeviceCreateInfo>
  11735. {
  11736. enum
  11737. {
  11738. value = true
  11739. };
  11740. };
  11741. template <>
  11742. struct StructExtends<AmigoProfilingSubmitInfoSEC, SubmitInfo>
  11743. {
  11744. enum
  11745. {
  11746. value = true
  11747. };
  11748. };
  11749. //=== VK_QCOM_multiview_per_view_viewports ===
  11750. template <>
  11751. struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, PhysicalDeviceFeatures2>
  11752. {
  11753. enum
  11754. {
  11755. value = true
  11756. };
  11757. };
  11758. template <>
  11759. struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, DeviceCreateInfo>
  11760. {
  11761. enum
  11762. {
  11763. value = true
  11764. };
  11765. };
  11766. //=== VK_NV_ray_tracing_invocation_reorder ===
  11767. template <>
  11768. struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesNV, PhysicalDeviceProperties2>
  11769. {
  11770. enum
  11771. {
  11772. value = true
  11773. };
  11774. };
  11775. template <>
  11776. struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
  11777. {
  11778. enum
  11779. {
  11780. value = true
  11781. };
  11782. };
  11783. template <>
  11784. struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
  11785. {
  11786. enum
  11787. {
  11788. value = true
  11789. };
  11790. };
  11791. //=== VK_NV_extended_sparse_address_space ===
  11792. template <>
  11793. struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, PhysicalDeviceFeatures2>
  11794. {
  11795. enum
  11796. {
  11797. value = true
  11798. };
  11799. };
  11800. template <>
  11801. struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, DeviceCreateInfo>
  11802. {
  11803. enum
  11804. {
  11805. value = true
  11806. };
  11807. };
  11808. template <>
  11809. struct StructExtends<PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, PhysicalDeviceProperties2>
  11810. {
  11811. enum
  11812. {
  11813. value = true
  11814. };
  11815. };
  11816. //=== VK_EXT_mutable_descriptor_type ===
  11817. template <>
  11818. struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, PhysicalDeviceFeatures2>
  11819. {
  11820. enum
  11821. {
  11822. value = true
  11823. };
  11824. };
  11825. template <>
  11826. struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, DeviceCreateInfo>
  11827. {
  11828. enum
  11829. {
  11830. value = true
  11831. };
  11832. };
  11833. template <>
  11834. struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorSetLayoutCreateInfo>
  11835. {
  11836. enum
  11837. {
  11838. value = true
  11839. };
  11840. };
  11841. template <>
  11842. struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorPoolCreateInfo>
  11843. {
  11844. enum
  11845. {
  11846. value = true
  11847. };
  11848. };
  11849. //=== VK_ARM_shader_core_builtins ===
  11850. template <>
  11851. struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, PhysicalDeviceFeatures2>
  11852. {
  11853. enum
  11854. {
  11855. value = true
  11856. };
  11857. };
  11858. template <>
  11859. struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, DeviceCreateInfo>
  11860. {
  11861. enum
  11862. {
  11863. value = true
  11864. };
  11865. };
  11866. template <>
  11867. struct StructExtends<PhysicalDeviceShaderCoreBuiltinsPropertiesARM, PhysicalDeviceProperties2>
  11868. {
  11869. enum
  11870. {
  11871. value = true
  11872. };
  11873. };
  11874. //=== VK_EXT_pipeline_library_group_handles ===
  11875. template <>
  11876. struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, PhysicalDeviceFeatures2>
  11877. {
  11878. enum
  11879. {
  11880. value = true
  11881. };
  11882. };
  11883. template <>
  11884. struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, DeviceCreateInfo>
  11885. {
  11886. enum
  11887. {
  11888. value = true
  11889. };
  11890. };
  11891. //=== VK_EXT_dynamic_rendering_unused_attachments ===
  11892. template <>
  11893. struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, PhysicalDeviceFeatures2>
  11894. {
  11895. enum
  11896. {
  11897. value = true
  11898. };
  11899. };
  11900. template <>
  11901. struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, DeviceCreateInfo>
  11902. {
  11903. enum
  11904. {
  11905. value = true
  11906. };
  11907. };
  11908. //=== VK_NV_low_latency2 ===
  11909. template <>
  11910. struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo>
  11911. {
  11912. enum
  11913. {
  11914. value = true
  11915. };
  11916. };
  11917. template <>
  11918. struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo2>
  11919. {
  11920. enum
  11921. {
  11922. value = true
  11923. };
  11924. };
  11925. template <>
  11926. struct StructExtends<SwapchainLatencyCreateInfoNV, SwapchainCreateInfoKHR>
  11927. {
  11928. enum
  11929. {
  11930. value = true
  11931. };
  11932. };
  11933. template <>
  11934. struct StructExtends<LatencySurfaceCapabilitiesNV, SurfaceCapabilities2KHR>
  11935. {
  11936. enum
  11937. {
  11938. value = true
  11939. };
  11940. };
  11941. //=== VK_KHR_cooperative_matrix ===
  11942. template <>
  11943. struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, PhysicalDeviceFeatures2>
  11944. {
  11945. enum
  11946. {
  11947. value = true
  11948. };
  11949. };
  11950. template <>
  11951. struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, DeviceCreateInfo>
  11952. {
  11953. enum
  11954. {
  11955. value = true
  11956. };
  11957. };
  11958. template <>
  11959. struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesKHR, PhysicalDeviceProperties2>
  11960. {
  11961. enum
  11962. {
  11963. value = true
  11964. };
  11965. };
  11966. //=== VK_QCOM_multiview_per_view_render_areas ===
  11967. template <>
  11968. struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2>
  11969. {
  11970. enum
  11971. {
  11972. value = true
  11973. };
  11974. };
  11975. template <>
  11976. struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo>
  11977. {
  11978. enum
  11979. {
  11980. value = true
  11981. };
  11982. };
  11983. template <>
  11984. struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo>
  11985. {
  11986. enum
  11987. {
  11988. value = true
  11989. };
  11990. };
  11991. template <>
  11992. struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo>
  11993. {
  11994. enum
  11995. {
  11996. value = true
  11997. };
  11998. };
  11999. //=== VK_QCOM_image_processing2 ===
  12000. template <>
  12001. struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, PhysicalDeviceFeatures2>
  12002. {
  12003. enum
  12004. {
  12005. value = true
  12006. };
  12007. };
  12008. template <>
  12009. struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, DeviceCreateInfo>
  12010. {
  12011. enum
  12012. {
  12013. value = true
  12014. };
  12015. };
  12016. template <>
  12017. struct StructExtends<PhysicalDeviceImageProcessing2PropertiesQCOM, PhysicalDeviceProperties2>
  12018. {
  12019. enum
  12020. {
  12021. value = true
  12022. };
  12023. };
  12024. template <>
  12025. struct StructExtends<SamplerBlockMatchWindowCreateInfoQCOM, SamplerCreateInfo>
  12026. {
  12027. enum
  12028. {
  12029. value = true
  12030. };
  12031. };
  12032. //=== VK_QCOM_filter_cubic_weights ===
  12033. template <>
  12034. struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, PhysicalDeviceFeatures2>
  12035. {
  12036. enum
  12037. {
  12038. value = true
  12039. };
  12040. };
  12041. template <>
  12042. struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, DeviceCreateInfo>
  12043. {
  12044. enum
  12045. {
  12046. value = true
  12047. };
  12048. };
  12049. template <>
  12050. struct StructExtends<SamplerCubicWeightsCreateInfoQCOM, SamplerCreateInfo>
  12051. {
  12052. enum
  12053. {
  12054. value = true
  12055. };
  12056. };
  12057. template <>
  12058. struct StructExtends<BlitImageCubicWeightsInfoQCOM, BlitImageInfo2>
  12059. {
  12060. enum
  12061. {
  12062. value = true
  12063. };
  12064. };
  12065. //=== VK_QCOM_ycbcr_degamma ===
  12066. template <>
  12067. struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, PhysicalDeviceFeatures2>
  12068. {
  12069. enum
  12070. {
  12071. value = true
  12072. };
  12073. };
  12074. template <>
  12075. struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, DeviceCreateInfo>
  12076. {
  12077. enum
  12078. {
  12079. value = true
  12080. };
  12081. };
  12082. template <>
  12083. struct StructExtends<SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, SamplerYcbcrConversionCreateInfo>
  12084. {
  12085. enum
  12086. {
  12087. value = true
  12088. };
  12089. };
  12090. //=== VK_QCOM_filter_cubic_clamp ===
  12091. template <>
  12092. struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, PhysicalDeviceFeatures2>
  12093. {
  12094. enum
  12095. {
  12096. value = true
  12097. };
  12098. };
  12099. template <>
  12100. struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, DeviceCreateInfo>
  12101. {
  12102. enum
  12103. {
  12104. value = true
  12105. };
  12106. };
  12107. //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
  12108. template <>
  12109. struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
  12110. {
  12111. enum
  12112. {
  12113. value = true
  12114. };
  12115. };
  12116. template <>
  12117. struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, DeviceCreateInfo>
  12118. {
  12119. enum
  12120. {
  12121. value = true
  12122. };
  12123. };
  12124. # if defined( VK_USE_PLATFORM_SCREEN_QNX )
  12125. //=== VK_QNX_external_memory_screen_buffer ===
  12126. template <>
  12127. struct StructExtends<ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX>
  12128. {
  12129. enum
  12130. {
  12131. value = true
  12132. };
  12133. };
  12134. template <>
  12135. struct StructExtends<ImportScreenBufferInfoQNX, MemoryAllocateInfo>
  12136. {
  12137. enum
  12138. {
  12139. value = true
  12140. };
  12141. };
  12142. template <>
  12143. struct StructExtends<ExternalFormatQNX, ImageCreateInfo>
  12144. {
  12145. enum
  12146. {
  12147. value = true
  12148. };
  12149. };
  12150. template <>
  12151. struct StructExtends<ExternalFormatQNX, SamplerYcbcrConversionCreateInfo>
  12152. {
  12153. enum
  12154. {
  12155. value = true
  12156. };
  12157. };
  12158. template <>
  12159. struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, PhysicalDeviceFeatures2>
  12160. {
  12161. enum
  12162. {
  12163. value = true
  12164. };
  12165. };
  12166. template <>
  12167. struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, DeviceCreateInfo>
  12168. {
  12169. enum
  12170. {
  12171. value = true
  12172. };
  12173. };
  12174. # endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  12175. //=== VK_MSFT_layered_driver ===
  12176. template <>
  12177. struct StructExtends<PhysicalDeviceLayeredDriverPropertiesMSFT, PhysicalDeviceProperties2>
  12178. {
  12179. enum
  12180. {
  12181. value = true
  12182. };
  12183. };
  12184. //=== VK_NV_descriptor_pool_overallocation ===
  12185. template <>
  12186. struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, PhysicalDeviceFeatures2>
  12187. {
  12188. enum
  12189. {
  12190. value = true
  12191. };
  12192. };
  12193. template <>
  12194. struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, DeviceCreateInfo>
  12195. {
  12196. enum
  12197. {
  12198. value = true
  12199. };
  12200. };
  12201. #endif // VULKAN_HPP_DISABLE_ENHANCED_MODE
  12202. #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
  12203. class DynamicLoader
  12204. {
  12205. public:
  12206. # ifdef VULKAN_HPP_NO_EXCEPTIONS
  12207. DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
  12208. # else
  12209. DynamicLoader( std::string const & vulkanLibraryName = {} )
  12210. # endif
  12211. {
  12212. if ( !vulkanLibraryName.empty() )
  12213. {
  12214. # if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
  12215. m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
  12216. # elif defined( _WIN32 )
  12217. m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
  12218. # else
  12219. # error unsupported platform
  12220. # endif
  12221. }
  12222. else
  12223. {
  12224. # if defined( __unix__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
  12225. m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
  12226. if ( m_library == nullptr )
  12227. {
  12228. m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
  12229. }
  12230. # elif defined( __APPLE__ )
  12231. m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
  12232. # elif defined( _WIN32 )
  12233. m_library = ::LoadLibraryA( "vulkan-1.dll" );
  12234. # else
  12235. # error unsupported platform
  12236. # endif
  12237. }
  12238. # ifndef VULKAN_HPP_NO_EXCEPTIONS
  12239. if ( m_library == nullptr )
  12240. {
  12241. // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the scope of this function.
  12242. throw std::runtime_error( "Failed to load vulkan library!" );
  12243. }
  12244. # endif
  12245. }
  12246. DynamicLoader( DynamicLoader const & ) = delete;
  12247. DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
  12248. {
  12249. other.m_library = nullptr;
  12250. }
  12251. DynamicLoader & operator=( DynamicLoader const & ) = delete;
  12252. DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
  12253. {
  12254. std::swap( m_library, other.m_library );
  12255. return *this;
  12256. }
  12257. ~DynamicLoader() VULKAN_HPP_NOEXCEPT
  12258. {
  12259. if ( m_library )
  12260. {
  12261. # if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
  12262. dlclose( m_library );
  12263. # elif defined( _WIN32 )
  12264. ::FreeLibrary( m_library );
  12265. # else
  12266. # error unsupported platform
  12267. # endif
  12268. }
  12269. }
  12270. template <typename T>
  12271. T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
  12272. {
  12273. # if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
  12274. return (T)dlsym( m_library, function );
  12275. # elif defined( _WIN32 )
  12276. return ( T )::GetProcAddress( m_library, function );
  12277. # else
  12278. # error unsupported platform
  12279. # endif
  12280. }
  12281. bool success() const VULKAN_HPP_NOEXCEPT
  12282. {
  12283. return m_library != nullptr;
  12284. }
  12285. private:
  12286. # if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
  12287. void * m_library;
  12288. # elif defined( _WIN32 )
  12289. ::HINSTANCE m_library;
  12290. # else
  12291. # error unsupported platform
  12292. # endif
  12293. };
  12294. #endif
  12295. using PFN_dummy = void ( * )();
  12296. class DispatchLoaderDynamic : public DispatchLoaderBase
  12297. {
  12298. public:
  12299. //=== VK_VERSION_1_0 ===
  12300. PFN_vkCreateInstance vkCreateInstance = 0;
  12301. PFN_vkDestroyInstance vkDestroyInstance = 0;
  12302. PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices = 0;
  12303. PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures = 0;
  12304. PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties = 0;
  12305. PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties = 0;
  12306. PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties = 0;
  12307. PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties = 0;
  12308. PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties = 0;
  12309. PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0;
  12310. PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0;
  12311. PFN_vkCreateDevice vkCreateDevice = 0;
  12312. PFN_vkDestroyDevice vkDestroyDevice = 0;
  12313. PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties = 0;
  12314. PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties = 0;
  12315. PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties = 0;
  12316. PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties = 0;
  12317. PFN_vkGetDeviceQueue vkGetDeviceQueue = 0;
  12318. PFN_vkQueueSubmit vkQueueSubmit = 0;
  12319. PFN_vkQueueWaitIdle vkQueueWaitIdle = 0;
  12320. PFN_vkDeviceWaitIdle vkDeviceWaitIdle = 0;
  12321. PFN_vkAllocateMemory vkAllocateMemory = 0;
  12322. PFN_vkFreeMemory vkFreeMemory = 0;
  12323. PFN_vkMapMemory vkMapMemory = 0;
  12324. PFN_vkUnmapMemory vkUnmapMemory = 0;
  12325. PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges = 0;
  12326. PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges = 0;
  12327. PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment = 0;
  12328. PFN_vkBindBufferMemory vkBindBufferMemory = 0;
  12329. PFN_vkBindImageMemory vkBindImageMemory = 0;
  12330. PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements = 0;
  12331. PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements = 0;
  12332. PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements = 0;
  12333. PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
  12334. PFN_vkQueueBindSparse vkQueueBindSparse = 0;
  12335. PFN_vkCreateFence vkCreateFence = 0;
  12336. PFN_vkDestroyFence vkDestroyFence = 0;
  12337. PFN_vkResetFences vkResetFences = 0;
  12338. PFN_vkGetFenceStatus vkGetFenceStatus = 0;
  12339. PFN_vkWaitForFences vkWaitForFences = 0;
  12340. PFN_vkCreateSemaphore vkCreateSemaphore = 0;
  12341. PFN_vkDestroySemaphore vkDestroySemaphore = 0;
  12342. PFN_vkCreateEvent vkCreateEvent = 0;
  12343. PFN_vkDestroyEvent vkDestroyEvent = 0;
  12344. PFN_vkGetEventStatus vkGetEventStatus = 0;
  12345. PFN_vkSetEvent vkSetEvent = 0;
  12346. PFN_vkResetEvent vkResetEvent = 0;
  12347. PFN_vkCreateQueryPool vkCreateQueryPool = 0;
  12348. PFN_vkDestroyQueryPool vkDestroyQueryPool = 0;
  12349. PFN_vkGetQueryPoolResults vkGetQueryPoolResults = 0;
  12350. PFN_vkCreateBuffer vkCreateBuffer = 0;
  12351. PFN_vkDestroyBuffer vkDestroyBuffer = 0;
  12352. PFN_vkCreateBufferView vkCreateBufferView = 0;
  12353. PFN_vkDestroyBufferView vkDestroyBufferView = 0;
  12354. PFN_vkCreateImage vkCreateImage = 0;
  12355. PFN_vkDestroyImage vkDestroyImage = 0;
  12356. PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout = 0;
  12357. PFN_vkCreateImageView vkCreateImageView = 0;
  12358. PFN_vkDestroyImageView vkDestroyImageView = 0;
  12359. PFN_vkCreateShaderModule vkCreateShaderModule = 0;
  12360. PFN_vkDestroyShaderModule vkDestroyShaderModule = 0;
  12361. PFN_vkCreatePipelineCache vkCreatePipelineCache = 0;
  12362. PFN_vkDestroyPipelineCache vkDestroyPipelineCache = 0;
  12363. PFN_vkGetPipelineCacheData vkGetPipelineCacheData = 0;
  12364. PFN_vkMergePipelineCaches vkMergePipelineCaches = 0;
  12365. PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines = 0;
  12366. PFN_vkCreateComputePipelines vkCreateComputePipelines = 0;
  12367. PFN_vkDestroyPipeline vkDestroyPipeline = 0;
  12368. PFN_vkCreatePipelineLayout vkCreatePipelineLayout = 0;
  12369. PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout = 0;
  12370. PFN_vkCreateSampler vkCreateSampler = 0;
  12371. PFN_vkDestroySampler vkDestroySampler = 0;
  12372. PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout = 0;
  12373. PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout = 0;
  12374. PFN_vkCreateDescriptorPool vkCreateDescriptorPool = 0;
  12375. PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = 0;
  12376. PFN_vkResetDescriptorPool vkResetDescriptorPool = 0;
  12377. PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets = 0;
  12378. PFN_vkFreeDescriptorSets vkFreeDescriptorSets = 0;
  12379. PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets = 0;
  12380. PFN_vkCreateFramebuffer vkCreateFramebuffer = 0;
  12381. PFN_vkDestroyFramebuffer vkDestroyFramebuffer = 0;
  12382. PFN_vkCreateRenderPass vkCreateRenderPass = 0;
  12383. PFN_vkDestroyRenderPass vkDestroyRenderPass = 0;
  12384. PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity = 0;
  12385. PFN_vkCreateCommandPool vkCreateCommandPool = 0;
  12386. PFN_vkDestroyCommandPool vkDestroyCommandPool = 0;
  12387. PFN_vkResetCommandPool vkResetCommandPool = 0;
  12388. PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers = 0;
  12389. PFN_vkFreeCommandBuffers vkFreeCommandBuffers = 0;
  12390. PFN_vkBeginCommandBuffer vkBeginCommandBuffer = 0;
  12391. PFN_vkEndCommandBuffer vkEndCommandBuffer = 0;
  12392. PFN_vkResetCommandBuffer vkResetCommandBuffer = 0;
  12393. PFN_vkCmdBindPipeline vkCmdBindPipeline = 0;
  12394. PFN_vkCmdSetViewport vkCmdSetViewport = 0;
  12395. PFN_vkCmdSetScissor vkCmdSetScissor = 0;
  12396. PFN_vkCmdSetLineWidth vkCmdSetLineWidth = 0;
  12397. PFN_vkCmdSetDepthBias vkCmdSetDepthBias = 0;
  12398. PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants = 0;
  12399. PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds = 0;
  12400. PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask = 0;
  12401. PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask = 0;
  12402. PFN_vkCmdSetStencilReference vkCmdSetStencilReference = 0;
  12403. PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets = 0;
  12404. PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer = 0;
  12405. PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers = 0;
  12406. PFN_vkCmdDraw vkCmdDraw = 0;
  12407. PFN_vkCmdDrawIndexed vkCmdDrawIndexed = 0;
  12408. PFN_vkCmdDrawIndirect vkCmdDrawIndirect = 0;
  12409. PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect = 0;
  12410. PFN_vkCmdDispatch vkCmdDispatch = 0;
  12411. PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect = 0;
  12412. PFN_vkCmdCopyBuffer vkCmdCopyBuffer = 0;
  12413. PFN_vkCmdCopyImage vkCmdCopyImage = 0;
  12414. PFN_vkCmdBlitImage vkCmdBlitImage = 0;
  12415. PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage = 0;
  12416. PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer = 0;
  12417. PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer = 0;
  12418. PFN_vkCmdFillBuffer vkCmdFillBuffer = 0;
  12419. PFN_vkCmdClearColorImage vkCmdClearColorImage = 0;
  12420. PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage = 0;
  12421. PFN_vkCmdClearAttachments vkCmdClearAttachments = 0;
  12422. PFN_vkCmdResolveImage vkCmdResolveImage = 0;
  12423. PFN_vkCmdSetEvent vkCmdSetEvent = 0;
  12424. PFN_vkCmdResetEvent vkCmdResetEvent = 0;
  12425. PFN_vkCmdWaitEvents vkCmdWaitEvents = 0;
  12426. PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier = 0;
  12427. PFN_vkCmdBeginQuery vkCmdBeginQuery = 0;
  12428. PFN_vkCmdEndQuery vkCmdEndQuery = 0;
  12429. PFN_vkCmdResetQueryPool vkCmdResetQueryPool = 0;
  12430. PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp = 0;
  12431. PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults = 0;
  12432. PFN_vkCmdPushConstants vkCmdPushConstants = 0;
  12433. PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass = 0;
  12434. PFN_vkCmdNextSubpass vkCmdNextSubpass = 0;
  12435. PFN_vkCmdEndRenderPass vkCmdEndRenderPass = 0;
  12436. PFN_vkCmdExecuteCommands vkCmdExecuteCommands = 0;
  12437. //=== VK_VERSION_1_1 ===
  12438. PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion = 0;
  12439. PFN_vkBindBufferMemory2 vkBindBufferMemory2 = 0;
  12440. PFN_vkBindImageMemory2 vkBindImageMemory2 = 0;
  12441. PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures = 0;
  12442. PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask = 0;
  12443. PFN_vkCmdDispatchBase vkCmdDispatchBase = 0;
  12444. PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups = 0;
  12445. PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 = 0;
  12446. PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 = 0;
  12447. PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 = 0;
  12448. PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 = 0;
  12449. PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 = 0;
  12450. PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 = 0;
  12451. PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 = 0;
  12452. PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 = 0;
  12453. PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 = 0;
  12454. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
  12455. PFN_vkTrimCommandPool vkTrimCommandPool = 0;
  12456. PFN_vkGetDeviceQueue2 vkGetDeviceQueue2 = 0;
  12457. PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion = 0;
  12458. PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion = 0;
  12459. PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate = 0;
  12460. PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate = 0;
  12461. PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate = 0;
  12462. PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties = 0;
  12463. PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties = 0;
  12464. PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties = 0;
  12465. PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport = 0;
  12466. //=== VK_VERSION_1_2 ===
  12467. PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount = 0;
  12468. PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount = 0;
  12469. PFN_vkCreateRenderPass2 vkCreateRenderPass2 = 0;
  12470. PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2 = 0;
  12471. PFN_vkCmdNextSubpass2 vkCmdNextSubpass2 = 0;
  12472. PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2 = 0;
  12473. PFN_vkResetQueryPool vkResetQueryPool = 0;
  12474. PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue = 0;
  12475. PFN_vkWaitSemaphores vkWaitSemaphores = 0;
  12476. PFN_vkSignalSemaphore vkSignalSemaphore = 0;
  12477. PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress = 0;
  12478. PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress = 0;
  12479. PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
  12480. //=== VK_VERSION_1_3 ===
  12481. PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties = 0;
  12482. PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot = 0;
  12483. PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot = 0;
  12484. PFN_vkSetPrivateData vkSetPrivateData = 0;
  12485. PFN_vkGetPrivateData vkGetPrivateData = 0;
  12486. PFN_vkCmdSetEvent2 vkCmdSetEvent2 = 0;
  12487. PFN_vkCmdResetEvent2 vkCmdResetEvent2 = 0;
  12488. PFN_vkCmdWaitEvents2 vkCmdWaitEvents2 = 0;
  12489. PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2 = 0;
  12490. PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2 = 0;
  12491. PFN_vkQueueSubmit2 vkQueueSubmit2 = 0;
  12492. PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2 = 0;
  12493. PFN_vkCmdCopyImage2 vkCmdCopyImage2 = 0;
  12494. PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2 = 0;
  12495. PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2 = 0;
  12496. PFN_vkCmdBlitImage2 vkCmdBlitImage2 = 0;
  12497. PFN_vkCmdResolveImage2 vkCmdResolveImage2 = 0;
  12498. PFN_vkCmdBeginRendering vkCmdBeginRendering = 0;
  12499. PFN_vkCmdEndRendering vkCmdEndRendering = 0;
  12500. PFN_vkCmdSetCullMode vkCmdSetCullMode = 0;
  12501. PFN_vkCmdSetFrontFace vkCmdSetFrontFace = 0;
  12502. PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology = 0;
  12503. PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount = 0;
  12504. PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount = 0;
  12505. PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2 = 0;
  12506. PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable = 0;
  12507. PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable = 0;
  12508. PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp = 0;
  12509. PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable = 0;
  12510. PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable = 0;
  12511. PFN_vkCmdSetStencilOp vkCmdSetStencilOp = 0;
  12512. PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable = 0;
  12513. PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable = 0;
  12514. PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable = 0;
  12515. PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements = 0;
  12516. PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements = 0;
  12517. PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
  12518. //=== VK_KHR_surface ===
  12519. PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR = 0;
  12520. PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR = 0;
  12521. PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
  12522. PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR = 0;
  12523. PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
  12524. //=== VK_KHR_swapchain ===
  12525. PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR = 0;
  12526. PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = 0;
  12527. PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR = 0;
  12528. PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR = 0;
  12529. PFN_vkQueuePresentKHR vkQueuePresentKHR = 0;
  12530. PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR = 0;
  12531. PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR = 0;
  12532. PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
  12533. PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR = 0;
  12534. //=== VK_KHR_display ===
  12535. PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR = 0;
  12536. PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
  12537. PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR = 0;
  12538. PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR = 0;
  12539. PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR = 0;
  12540. PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR = 0;
  12541. PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR = 0;
  12542. //=== VK_KHR_display_swapchain ===
  12543. PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
  12544. #if defined( VK_USE_PLATFORM_XLIB_KHR )
  12545. //=== VK_KHR_xlib_surface ===
  12546. PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = 0;
  12547. PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
  12548. #else
  12549. PFN_dummy vkCreateXlibSurfaceKHR_placeholder = 0;
  12550. PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder = 0;
  12551. #endif /*VK_USE_PLATFORM_XLIB_KHR*/
  12552. #if defined( VK_USE_PLATFORM_XCB_KHR )
  12553. //=== VK_KHR_xcb_surface ===
  12554. PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = 0;
  12555. PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
  12556. #else
  12557. PFN_dummy vkCreateXcbSurfaceKHR_placeholder = 0;
  12558. PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder = 0;
  12559. #endif /*VK_USE_PLATFORM_XCB_KHR*/
  12560. #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  12561. //=== VK_KHR_wayland_surface ===
  12562. PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR = 0;
  12563. PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
  12564. #else
  12565. PFN_dummy vkCreateWaylandSurfaceKHR_placeholder = 0;
  12566. PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder = 0;
  12567. #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  12568. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  12569. //=== VK_KHR_android_surface ===
  12570. PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
  12571. #else
  12572. PFN_dummy vkCreateAndroidSurfaceKHR_placeholder = 0;
  12573. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  12574. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12575. //=== VK_KHR_win32_surface ===
  12576. PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR = 0;
  12577. PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
  12578. #else
  12579. PFN_dummy vkCreateWin32SurfaceKHR_placeholder = 0;
  12580. PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder = 0;
  12581. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12582. //=== VK_EXT_debug_report ===
  12583. PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT = 0;
  12584. PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
  12585. PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT = 0;
  12586. //=== VK_EXT_debug_marker ===
  12587. PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT = 0;
  12588. PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
  12589. PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT = 0;
  12590. PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT = 0;
  12591. PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT = 0;
  12592. //=== VK_KHR_video_queue ===
  12593. PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR = 0;
  12594. PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
  12595. PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR = 0;
  12596. PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR = 0;
  12597. PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR = 0;
  12598. PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR = 0;
  12599. PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR = 0;
  12600. PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR = 0;
  12601. PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR = 0;
  12602. PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR = 0;
  12603. PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR = 0;
  12604. PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR = 0;
  12605. //=== VK_KHR_video_decode_queue ===
  12606. PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
  12607. //=== VK_EXT_transform_feedback ===
  12608. PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
  12609. PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT = 0;
  12610. PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT = 0;
  12611. PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT = 0;
  12612. PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT = 0;
  12613. PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT = 0;
  12614. //=== VK_NVX_binary_import ===
  12615. PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX = 0;
  12616. PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX = 0;
  12617. PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX = 0;
  12618. PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
  12619. PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
  12620. //=== VK_NVX_image_view_handle ===
  12621. PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX = 0;
  12622. PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
  12623. //=== VK_AMD_draw_indirect_count ===
  12624. PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD = 0;
  12625. PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
  12626. //=== VK_AMD_shader_info ===
  12627. PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
  12628. //=== VK_KHR_dynamic_rendering ===
  12629. PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
  12630. PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR = 0;
  12631. #if defined( VK_USE_PLATFORM_GGP )
  12632. //=== VK_GGP_stream_descriptor_surface ===
  12633. PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
  12634. #else
  12635. PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder = 0;
  12636. #endif /*VK_USE_PLATFORM_GGP*/
  12637. //=== VK_NV_external_memory_capabilities ===
  12638. PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
  12639. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12640. //=== VK_NV_external_memory_win32 ===
  12641. PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
  12642. #else
  12643. PFN_dummy vkGetMemoryWin32HandleNV_placeholder = 0;
  12644. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12645. //=== VK_KHR_get_physical_device_properties2 ===
  12646. PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR = 0;
  12647. PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR = 0;
  12648. PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR = 0;
  12649. PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR = 0;
  12650. PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR = 0;
  12651. PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR = 0;
  12652. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
  12653. //=== VK_KHR_device_group ===
  12654. PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
  12655. PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR = 0;
  12656. PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR = 0;
  12657. #if defined( VK_USE_PLATFORM_VI_NN )
  12658. //=== VK_NN_vi_surface ===
  12659. PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
  12660. #else
  12661. PFN_dummy vkCreateViSurfaceNN_placeholder = 0;
  12662. #endif /*VK_USE_PLATFORM_VI_NN*/
  12663. //=== VK_KHR_maintenance1 ===
  12664. PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
  12665. //=== VK_KHR_device_group_creation ===
  12666. PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
  12667. //=== VK_KHR_external_memory_capabilities ===
  12668. PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
  12669. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12670. //=== VK_KHR_external_memory_win32 ===
  12671. PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR = 0;
  12672. PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
  12673. #else
  12674. PFN_dummy vkGetMemoryWin32HandleKHR_placeholder = 0;
  12675. PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder = 0;
  12676. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12677. //=== VK_KHR_external_memory_fd ===
  12678. PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR = 0;
  12679. PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
  12680. //=== VK_KHR_external_semaphore_capabilities ===
  12681. PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
  12682. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12683. //=== VK_KHR_external_semaphore_win32 ===
  12684. PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
  12685. PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR = 0;
  12686. #else
  12687. PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder = 0;
  12688. PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder = 0;
  12689. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12690. //=== VK_KHR_external_semaphore_fd ===
  12691. PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
  12692. PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR = 0;
  12693. //=== VK_KHR_push_descriptor ===
  12694. PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR = 0;
  12695. PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
  12696. //=== VK_EXT_conditional_rendering ===
  12697. PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
  12698. PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT = 0;
  12699. //=== VK_KHR_descriptor_update_template ===
  12700. PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR = 0;
  12701. PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
  12702. PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
  12703. //=== VK_NV_clip_space_w_scaling ===
  12704. PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
  12705. //=== VK_EXT_direct_mode_display ===
  12706. PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
  12707. #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
  12708. //=== VK_EXT_acquire_xlib_display ===
  12709. PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT = 0;
  12710. PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
  12711. #else
  12712. PFN_dummy vkAcquireXlibDisplayEXT_placeholder = 0;
  12713. PFN_dummy vkGetRandROutputDisplayEXT_placeholder = 0;
  12714. #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
  12715. //=== VK_EXT_display_surface_counter ===
  12716. PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
  12717. //=== VK_EXT_display_control ===
  12718. PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT = 0;
  12719. PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT = 0;
  12720. PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
  12721. PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT = 0;
  12722. //=== VK_GOOGLE_display_timing ===
  12723. PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE = 0;
  12724. PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
  12725. //=== VK_EXT_discard_rectangles ===
  12726. PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0;
  12727. PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0;
  12728. PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT = 0;
  12729. //=== VK_EXT_hdr_metadata ===
  12730. PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
  12731. //=== VK_KHR_create_renderpass2 ===
  12732. PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR = 0;
  12733. PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
  12734. PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR = 0;
  12735. PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR = 0;
  12736. //=== VK_KHR_shared_presentable_image ===
  12737. PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
  12738. //=== VK_KHR_external_fence_capabilities ===
  12739. PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
  12740. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12741. //=== VK_KHR_external_fence_win32 ===
  12742. PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
  12743. PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR = 0;
  12744. #else
  12745. PFN_dummy vkImportFenceWin32HandleKHR_placeholder = 0;
  12746. PFN_dummy vkGetFenceWin32HandleKHR_placeholder = 0;
  12747. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12748. //=== VK_KHR_external_fence_fd ===
  12749. PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
  12750. PFN_vkGetFenceFdKHR vkGetFenceFdKHR = 0;
  12751. //=== VK_KHR_performance_query ===
  12752. PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
  12753. PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0;
  12754. PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR = 0;
  12755. PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR = 0;
  12756. //=== VK_KHR_get_surface_capabilities2 ===
  12757. PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
  12758. PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR = 0;
  12759. //=== VK_KHR_get_display_properties2 ===
  12760. PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR = 0;
  12761. PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
  12762. PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR = 0;
  12763. PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR = 0;
  12764. #if defined( VK_USE_PLATFORM_IOS_MVK )
  12765. //=== VK_MVK_ios_surface ===
  12766. PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
  12767. #else
  12768. PFN_dummy vkCreateIOSSurfaceMVK_placeholder = 0;
  12769. #endif /*VK_USE_PLATFORM_IOS_MVK*/
  12770. #if defined( VK_USE_PLATFORM_MACOS_MVK )
  12771. //=== VK_MVK_macos_surface ===
  12772. PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
  12773. #else
  12774. PFN_dummy vkCreateMacOSSurfaceMVK_placeholder = 0;
  12775. #endif /*VK_USE_PLATFORM_MACOS_MVK*/
  12776. //=== VK_EXT_debug_utils ===
  12777. PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT = 0;
  12778. PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT = 0;
  12779. PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT = 0;
  12780. PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT = 0;
  12781. PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
  12782. PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT = 0;
  12783. PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT = 0;
  12784. PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT = 0;
  12785. PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT = 0;
  12786. PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
  12787. PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT = 0;
  12788. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  12789. //=== VK_ANDROID_external_memory_android_hardware_buffer ===
  12790. PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
  12791. PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID = 0;
  12792. #else
  12793. PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder = 0;
  12794. PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder = 0;
  12795. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  12796. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  12797. //=== VK_AMDX_shader_enqueue ===
  12798. PFN_vkCreateExecutionGraphPipelinesAMDX vkCreateExecutionGraphPipelinesAMDX = 0;
  12799. PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0;
  12800. PFN_vkGetExecutionGraphPipelineNodeIndexAMDX vkGetExecutionGraphPipelineNodeIndexAMDX = 0;
  12801. PFN_vkCmdInitializeGraphScratchMemoryAMDX vkCmdInitializeGraphScratchMemoryAMDX = 0;
  12802. PFN_vkCmdDispatchGraphAMDX vkCmdDispatchGraphAMDX = 0;
  12803. PFN_vkCmdDispatchGraphIndirectAMDX vkCmdDispatchGraphIndirectAMDX = 0;
  12804. PFN_vkCmdDispatchGraphIndirectCountAMDX vkCmdDispatchGraphIndirectCountAMDX = 0;
  12805. #else
  12806. PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder = 0;
  12807. PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder = 0;
  12808. PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder = 0;
  12809. PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder = 0;
  12810. PFN_dummy vkCmdDispatchGraphAMDX_placeholder = 0;
  12811. PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder = 0;
  12812. PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder = 0;
  12813. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  12814. //=== VK_EXT_sample_locations ===
  12815. PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT = 0;
  12816. PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
  12817. //=== VK_KHR_get_memory_requirements2 ===
  12818. PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR = 0;
  12819. PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR = 0;
  12820. PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
  12821. //=== VK_KHR_acceleration_structure ===
  12822. PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR = 0;
  12823. PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR = 0;
  12824. PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR = 0;
  12825. PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR = 0;
  12826. PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR = 0;
  12827. PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR = 0;
  12828. PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR = 0;
  12829. PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR = 0;
  12830. PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR = 0;
  12831. PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR = 0;
  12832. PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR = 0;
  12833. PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR = 0;
  12834. PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR = 0;
  12835. PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR = 0;
  12836. PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
  12837. PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR = 0;
  12838. //=== VK_KHR_ray_tracing_pipeline ===
  12839. PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0;
  12840. PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0;
  12841. PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = 0;
  12842. PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
  12843. PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0;
  12844. PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR = 0;
  12845. PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR = 0;
  12846. //=== VK_KHR_sampler_ycbcr_conversion ===
  12847. PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0;
  12848. PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
  12849. //=== VK_KHR_bind_memory2 ===
  12850. PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
  12851. PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR = 0;
  12852. //=== VK_EXT_image_drm_format_modifier ===
  12853. PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
  12854. //=== VK_EXT_validation_cache ===
  12855. PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT = 0;
  12856. PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
  12857. PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT = 0;
  12858. PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
  12859. //=== VK_NV_shading_rate_image ===
  12860. PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV = 0;
  12861. PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
  12862. PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV = 0;
  12863. //=== VK_NV_ray_tracing ===
  12864. PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV = 0;
  12865. PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV = 0;
  12866. PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
  12867. PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV = 0;
  12868. PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV = 0;
  12869. PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV = 0;
  12870. PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV = 0;
  12871. PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV = 0;
  12872. PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV = 0;
  12873. PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV = 0;
  12874. PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV = 0;
  12875. PFN_vkCompileDeferredNV vkCompileDeferredNV = 0;
  12876. //=== VK_KHR_maintenance3 ===
  12877. PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
  12878. //=== VK_KHR_draw_indirect_count ===
  12879. PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR = 0;
  12880. PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
  12881. //=== VK_EXT_external_memory_host ===
  12882. PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
  12883. //=== VK_AMD_buffer_marker ===
  12884. PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
  12885. //=== VK_EXT_calibrated_timestamps ===
  12886. PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
  12887. PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT = 0;
  12888. //=== VK_NV_mesh_shader ===
  12889. PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV = 0;
  12890. PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV = 0;
  12891. PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
  12892. //=== VK_NV_scissor_exclusive ===
  12893. PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0;
  12894. PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0;
  12895. //=== VK_NV_device_diagnostic_checkpoints ===
  12896. PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV = 0;
  12897. PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
  12898. //=== VK_KHR_timeline_semaphore ===
  12899. PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
  12900. PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR = 0;
  12901. PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR = 0;
  12902. //=== VK_INTEL_performance_query ===
  12903. PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL = 0;
  12904. PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL = 0;
  12905. PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL = 0;
  12906. PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL = 0;
  12907. PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL = 0;
  12908. PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL = 0;
  12909. PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL = 0;
  12910. PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
  12911. PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL = 0;
  12912. //=== VK_AMD_display_native_hdr ===
  12913. PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
  12914. #if defined( VK_USE_PLATFORM_FUCHSIA )
  12915. //=== VK_FUCHSIA_imagepipe_surface ===
  12916. PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
  12917. #else
  12918. PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder = 0;
  12919. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  12920. #if defined( VK_USE_PLATFORM_METAL_EXT )
  12921. //=== VK_EXT_metal_surface ===
  12922. PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
  12923. #else
  12924. PFN_dummy vkCreateMetalSurfaceEXT_placeholder = 0;
  12925. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  12926. //=== VK_KHR_fragment_shading_rate ===
  12927. PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
  12928. PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR = 0;
  12929. //=== VK_EXT_buffer_device_address ===
  12930. PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
  12931. //=== VK_EXT_tooling_info ===
  12932. PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
  12933. //=== VK_KHR_present_wait ===
  12934. PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
  12935. //=== VK_NV_cooperative_matrix ===
  12936. PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
  12937. //=== VK_NV_coverage_reduction_mode ===
  12938. PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
  12939. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12940. //=== VK_EXT_full_screen_exclusive ===
  12941. PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
  12942. PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT = 0;
  12943. PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT = 0;
  12944. PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT = 0;
  12945. #else
  12946. PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder = 0;
  12947. PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder = 0;
  12948. PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder = 0;
  12949. PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder = 0;
  12950. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12951. //=== VK_EXT_headless_surface ===
  12952. PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
  12953. //=== VK_KHR_buffer_device_address ===
  12954. PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR = 0;
  12955. PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR = 0;
  12956. PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
  12957. //=== VK_EXT_line_rasterization ===
  12958. PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
  12959. //=== VK_EXT_host_query_reset ===
  12960. PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
  12961. //=== VK_EXT_extended_dynamic_state ===
  12962. PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT = 0;
  12963. PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT = 0;
  12964. PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT = 0;
  12965. PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT = 0;
  12966. PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT = 0;
  12967. PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT = 0;
  12968. PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT = 0;
  12969. PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT = 0;
  12970. PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT = 0;
  12971. PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
  12972. PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT = 0;
  12973. PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT = 0;
  12974. //=== VK_KHR_deferred_host_operations ===
  12975. PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR = 0;
  12976. PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR = 0;
  12977. PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
  12978. PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR = 0;
  12979. PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR = 0;
  12980. //=== VK_KHR_pipeline_executable_properties ===
  12981. PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR = 0;
  12982. PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR = 0;
  12983. PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
  12984. //=== VK_EXT_host_image_copy ===
  12985. PFN_vkCopyMemoryToImageEXT vkCopyMemoryToImageEXT = 0;
  12986. PFN_vkCopyImageToMemoryEXT vkCopyImageToMemoryEXT = 0;
  12987. PFN_vkCopyImageToImageEXT vkCopyImageToImageEXT = 0;
  12988. PFN_vkTransitionImageLayoutEXT vkTransitionImageLayoutEXT = 0;
  12989. PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0;
  12990. //=== VK_KHR_map_memory2 ===
  12991. PFN_vkMapMemory2KHR vkMapMemory2KHR = 0;
  12992. PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0;
  12993. //=== VK_EXT_swapchain_maintenance1 ===
  12994. PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0;
  12995. //=== VK_NV_device_generated_commands ===
  12996. PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
  12997. PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV = 0;
  12998. PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV = 0;
  12999. PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV = 0;
  13000. PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV = 0;
  13001. PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV = 0;
  13002. //=== VK_EXT_depth_bias_control ===
  13003. PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0;
  13004. //=== VK_EXT_acquire_drm_display ===
  13005. PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
  13006. PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT = 0;
  13007. //=== VK_EXT_private_data ===
  13008. PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT = 0;
  13009. PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
  13010. PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT = 0;
  13011. PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT = 0;
  13012. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  13013. //=== VK_KHR_video_encode_queue ===
  13014. PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0;
  13015. PFN_vkGetEncodedVideoSessionParametersKHR vkGetEncodedVideoSessionParametersKHR = 0;
  13016. PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR = 0;
  13017. #else
  13018. PFN_dummy vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR_placeholder = 0;
  13019. PFN_dummy vkGetEncodedVideoSessionParametersKHR_placeholder = 0;
  13020. PFN_dummy vkCmdEncodeVideoKHR_placeholder = 0;
  13021. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  13022. #if defined( VK_USE_PLATFORM_METAL_EXT )
  13023. //=== VK_EXT_metal_objects ===
  13024. PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0;
  13025. #else
  13026. PFN_dummy vkExportMetalObjectsEXT_placeholder = 0;
  13027. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  13028. //=== VK_KHR_synchronization2 ===
  13029. PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR = 0;
  13030. PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR = 0;
  13031. PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR = 0;
  13032. PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR = 0;
  13033. PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR = 0;
  13034. PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR = 0;
  13035. PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0;
  13036. PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
  13037. //=== VK_EXT_descriptor_buffer ===
  13038. PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT = 0;
  13039. PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT = 0;
  13040. PFN_vkGetDescriptorEXT vkGetDescriptorEXT = 0;
  13041. PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT = 0;
  13042. PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT = 0;
  13043. PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT = 0;
  13044. PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT = 0;
  13045. PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT = 0;
  13046. PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT = 0;
  13047. PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT = 0;
  13048. PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
  13049. //=== VK_NV_fragment_shading_rate_enums ===
  13050. PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
  13051. //=== VK_EXT_mesh_shader ===
  13052. PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT = 0;
  13053. PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT = 0;
  13054. PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0;
  13055. //=== VK_KHR_copy_commands2 ===
  13056. PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR = 0;
  13057. PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR = 0;
  13058. PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
  13059. PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
  13060. PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR = 0;
  13061. PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR = 0;
  13062. //=== VK_EXT_device_fault ===
  13063. PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
  13064. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  13065. //=== VK_NV_acquire_winrt_display ===
  13066. PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
  13067. PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV = 0;
  13068. #else
  13069. PFN_dummy vkAcquireWinrtDisplayNV_placeholder = 0;
  13070. PFN_dummy vkGetWinrtDisplayNV_placeholder = 0;
  13071. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  13072. #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  13073. //=== VK_EXT_directfb_surface ===
  13074. PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT = 0;
  13075. PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
  13076. #else
  13077. PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder = 0;
  13078. PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
  13079. #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  13080. //=== VK_EXT_vertex_input_dynamic_state ===
  13081. PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
  13082. #if defined( VK_USE_PLATFORM_FUCHSIA )
  13083. //=== VK_FUCHSIA_external_memory ===
  13084. PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA = 0;
  13085. PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
  13086. #else
  13087. PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder = 0;
  13088. PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder = 0;
  13089. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  13090. #if defined( VK_USE_PLATFORM_FUCHSIA )
  13091. //=== VK_FUCHSIA_external_semaphore ===
  13092. PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
  13093. PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA = 0;
  13094. #else
  13095. PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder = 0;
  13096. PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder = 0;
  13097. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  13098. #if defined( VK_USE_PLATFORM_FUCHSIA )
  13099. //=== VK_FUCHSIA_buffer_collection ===
  13100. PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA = 0;
  13101. PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA = 0;
  13102. PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
  13103. PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA = 0;
  13104. PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA = 0;
  13105. #else
  13106. PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder = 0;
  13107. PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder = 0;
  13108. PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder = 0;
  13109. PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder = 0;
  13110. PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder = 0;
  13111. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  13112. //=== VK_HUAWEI_subpass_shading ===
  13113. PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
  13114. PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI = 0;
  13115. //=== VK_HUAWEI_invocation_mask ===
  13116. PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
  13117. //=== VK_NV_external_memory_rdma ===
  13118. PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
  13119. //=== VK_EXT_pipeline_properties ===
  13120. PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0;
  13121. //=== VK_EXT_extended_dynamic_state2 ===
  13122. PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT = 0;
  13123. PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
  13124. PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT = 0;
  13125. PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT = 0;
  13126. PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT = 0;
  13127. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  13128. //=== VK_QNX_screen_surface ===
  13129. PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX = 0;
  13130. PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
  13131. #else
  13132. PFN_dummy vkCreateScreenSurfaceQNX_placeholder = 0;
  13133. PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder = 0;
  13134. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  13135. //=== VK_EXT_color_write_enable ===
  13136. PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
  13137. //=== VK_KHR_ray_tracing_maintenance1 ===
  13138. PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0;
  13139. //=== VK_EXT_multi_draw ===
  13140. PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT = 0;
  13141. PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
  13142. //=== VK_EXT_opacity_micromap ===
  13143. PFN_vkCreateMicromapEXT vkCreateMicromapEXT = 0;
  13144. PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT = 0;
  13145. PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT = 0;
  13146. PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT = 0;
  13147. PFN_vkCopyMicromapEXT vkCopyMicromapEXT = 0;
  13148. PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT = 0;
  13149. PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT = 0;
  13150. PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT = 0;
  13151. PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT = 0;
  13152. PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT = 0;
  13153. PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT = 0;
  13154. PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT = 0;
  13155. PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0;
  13156. PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT = 0;
  13157. //=== VK_HUAWEI_cluster_culling_shader ===
  13158. PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI = 0;
  13159. PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0;
  13160. //=== VK_EXT_pageable_device_local_memory ===
  13161. PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
  13162. //=== VK_KHR_maintenance4 ===
  13163. PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR = 0;
  13164. PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR = 0;
  13165. PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
  13166. //=== VK_VALVE_descriptor_set_host_mapping ===
  13167. PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
  13168. PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE = 0;
  13169. //=== VK_NV_copy_memory_indirect ===
  13170. PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV = 0;
  13171. PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0;
  13172. //=== VK_NV_memory_decompression ===
  13173. PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV = 0;
  13174. PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0;
  13175. //=== VK_NV_device_generated_commands_compute ===
  13176. PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0;
  13177. PFN_vkCmdUpdatePipelineIndirectBufferNV vkCmdUpdatePipelineIndirectBufferNV = 0;
  13178. PFN_vkGetPipelineIndirectDeviceAddressNV vkGetPipelineIndirectDeviceAddressNV = 0;
  13179. //=== VK_EXT_extended_dynamic_state3 ===
  13180. PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT = 0;
  13181. PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT = 0;
  13182. PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT = 0;
  13183. PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT = 0;
  13184. PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT = 0;
  13185. PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT = 0;
  13186. PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT = 0;
  13187. PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT = 0;
  13188. PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT = 0;
  13189. PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT = 0;
  13190. PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT = 0;
  13191. PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT = 0;
  13192. PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT = 0;
  13193. PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
  13194. PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT = 0;
  13195. PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT = 0;
  13196. PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT = 0;
  13197. PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT = 0;
  13198. PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT = 0;
  13199. PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT = 0;
  13200. PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT = 0;
  13201. PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV = 0;
  13202. PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV = 0;
  13203. PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV = 0;
  13204. PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV = 0;
  13205. PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV = 0;
  13206. PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV = 0;
  13207. PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV = 0;
  13208. PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV = 0;
  13209. PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV = 0;
  13210. PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV = 0;
  13211. //=== VK_EXT_shader_module_identifier ===
  13212. PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT = 0;
  13213. PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0;
  13214. //=== VK_NV_optical_flow ===
  13215. PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0;
  13216. PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV = 0;
  13217. PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV = 0;
  13218. PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV = 0;
  13219. PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV = 0;
  13220. //=== VK_KHR_maintenance5 ===
  13221. PFN_vkCmdBindIndexBuffer2KHR vkCmdBindIndexBuffer2KHR = 0;
  13222. PFN_vkGetRenderingAreaGranularityKHR vkGetRenderingAreaGranularityKHR = 0;
  13223. PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0;
  13224. PFN_vkGetImageSubresourceLayout2KHR vkGetImageSubresourceLayout2KHR = 0;
  13225. //=== VK_EXT_shader_object ===
  13226. PFN_vkCreateShadersEXT vkCreateShadersEXT = 0;
  13227. PFN_vkDestroyShaderEXT vkDestroyShaderEXT = 0;
  13228. PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0;
  13229. PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT = 0;
  13230. //=== VK_QCOM_tile_properties ===
  13231. PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM = 0;
  13232. PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0;
  13233. //=== VK_NV_low_latency2 ===
  13234. PFN_vkSetLatencySleepModeNV vkSetLatencySleepModeNV = 0;
  13235. PFN_vkLatencySleepNV vkLatencySleepNV = 0;
  13236. PFN_vkSetLatencyMarkerNV vkSetLatencyMarkerNV = 0;
  13237. PFN_vkGetLatencyTimingsNV vkGetLatencyTimingsNV = 0;
  13238. PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0;
  13239. //=== VK_KHR_cooperative_matrix ===
  13240. PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0;
  13241. //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
  13242. PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0;
  13243. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  13244. //=== VK_QNX_external_memory_screen_buffer ===
  13245. PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0;
  13246. #else
  13247. PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder = 0;
  13248. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  13249. public:
  13250. DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT = default;
  13251. DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
  13252. DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
  13253. {
  13254. init( getInstanceProcAddr );
  13255. }
  13256. // This interface does not require a linked vulkan library.
  13257. DispatchLoaderDynamic( VkInstance instance,
  13258. PFN_vkGetInstanceProcAddr getInstanceProcAddr,
  13259. VkDevice device = {},
  13260. PFN_vkGetDeviceProcAddr getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
  13261. {
  13262. init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
  13263. }
  13264. template <typename DynamicLoader
  13265. #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
  13266. = VULKAN_HPP_NAMESPACE::DynamicLoader
  13267. #endif
  13268. >
  13269. void init()
  13270. {
  13271. static DynamicLoader dl;
  13272. init( dl );
  13273. }
  13274. template <typename DynamicLoader>
  13275. void init( DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
  13276. {
  13277. PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
  13278. init( getInstanceProcAddr );
  13279. }
  13280. void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
  13281. {
  13282. VULKAN_HPP_ASSERT( getInstanceProcAddr );
  13283. vkGetInstanceProcAddr = getInstanceProcAddr;
  13284. //=== VK_VERSION_1_0 ===
  13285. vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
  13286. vkEnumerateInstanceExtensionProperties =
  13287. PFN_vkEnumerateInstanceExtensionProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
  13288. vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
  13289. //=== VK_VERSION_1_1 ===
  13290. vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
  13291. }
  13292. // This interface does not require a linked vulkan library.
  13293. void init( VkInstance instance,
  13294. PFN_vkGetInstanceProcAddr getInstanceProcAddr,
  13295. VkDevice device = {},
  13296. PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
  13297. {
  13298. VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
  13299. vkGetInstanceProcAddr = getInstanceProcAddr;
  13300. init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
  13301. if ( device )
  13302. {
  13303. init( VULKAN_HPP_NAMESPACE::Device( device ) );
  13304. }
  13305. }
  13306. void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
  13307. {
  13308. VkInstance instance = static_cast<VkInstance>( instanceCpp );
  13309. //=== VK_VERSION_1_0 ===
  13310. vkDestroyInstance = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
  13311. vkEnumeratePhysicalDevices = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
  13312. vkGetPhysicalDeviceFeatures = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
  13313. vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
  13314. vkGetPhysicalDeviceImageFormatProperties =
  13315. PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
  13316. vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
  13317. vkGetPhysicalDeviceQueueFamilyProperties =
  13318. PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
  13319. vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
  13320. vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
  13321. vkCreateDevice = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
  13322. vkDestroyDevice = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
  13323. vkEnumerateDeviceExtensionProperties =
  13324. PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
  13325. vkEnumerateDeviceLayerProperties = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
  13326. vkGetDeviceQueue = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
  13327. vkQueueSubmit = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
  13328. vkQueueWaitIdle = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
  13329. vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
  13330. vkAllocateMemory = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
  13331. vkFreeMemory = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
  13332. vkMapMemory = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
  13333. vkUnmapMemory = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
  13334. vkFlushMappedMemoryRanges = PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
  13335. vkInvalidateMappedMemoryRanges = PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
  13336. vkGetDeviceMemoryCommitment = PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
  13337. vkBindBufferMemory = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
  13338. vkBindImageMemory = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
  13339. vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
  13340. vkGetImageMemoryRequirements = PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
  13341. vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
  13342. vkGetPhysicalDeviceSparseImageFormatProperties =
  13343. PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
  13344. vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
  13345. vkCreateFence = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
  13346. vkDestroyFence = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
  13347. vkResetFences = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
  13348. vkGetFenceStatus = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
  13349. vkWaitForFences = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
  13350. vkCreateSemaphore = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
  13351. vkDestroySemaphore = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
  13352. vkCreateEvent = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
  13353. vkDestroyEvent = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
  13354. vkGetEventStatus = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
  13355. vkSetEvent = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
  13356. vkResetEvent = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
  13357. vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
  13358. vkDestroyQueryPool = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
  13359. vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
  13360. vkCreateBuffer = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
  13361. vkDestroyBuffer = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
  13362. vkCreateBufferView = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
  13363. vkDestroyBufferView = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
  13364. vkCreateImage = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
  13365. vkDestroyImage = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
  13366. vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
  13367. vkCreateImageView = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
  13368. vkDestroyImageView = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
  13369. vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
  13370. vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
  13371. vkCreatePipelineCache = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
  13372. vkDestroyPipelineCache = PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
  13373. vkGetPipelineCacheData = PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
  13374. vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
  13375. vkCreateGraphicsPipelines = PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
  13376. vkCreateComputePipelines = PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
  13377. vkDestroyPipeline = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
  13378. vkCreatePipelineLayout = PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
  13379. vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
  13380. vkCreateSampler = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
  13381. vkDestroySampler = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
  13382. vkCreateDescriptorSetLayout = PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
  13383. vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
  13384. vkCreateDescriptorPool = PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
  13385. vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
  13386. vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
  13387. vkAllocateDescriptorSets = PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
  13388. vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
  13389. vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
  13390. vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
  13391. vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
  13392. vkCreateRenderPass = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
  13393. vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
  13394. vkGetRenderAreaGranularity = PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
  13395. vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
  13396. vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
  13397. vkResetCommandPool = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
  13398. vkAllocateCommandBuffers = PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
  13399. vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
  13400. vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
  13401. vkEndCommandBuffer = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
  13402. vkResetCommandBuffer = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
  13403. vkCmdBindPipeline = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
  13404. vkCmdSetViewport = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
  13405. vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
  13406. vkCmdSetLineWidth = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
  13407. vkCmdSetDepthBias = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
  13408. vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
  13409. vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
  13410. vkCmdSetStencilCompareMask = PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
  13411. vkCmdSetStencilWriteMask = PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
  13412. vkCmdSetStencilReference = PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
  13413. vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
  13414. vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
  13415. vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
  13416. vkCmdDraw = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
  13417. vkCmdDrawIndexed = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
  13418. vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
  13419. vkCmdDrawIndexedIndirect = PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
  13420. vkCmdDispatch = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
  13421. vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
  13422. vkCmdCopyBuffer = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
  13423. vkCmdCopyImage = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
  13424. vkCmdBlitImage = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
  13425. vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
  13426. vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
  13427. vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
  13428. vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
  13429. vkCmdClearColorImage = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
  13430. vkCmdClearDepthStencilImage = PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
  13431. vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
  13432. vkCmdResolveImage = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
  13433. vkCmdSetEvent = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
  13434. vkCmdResetEvent = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
  13435. vkCmdWaitEvents = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
  13436. vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
  13437. vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
  13438. vkCmdEndQuery = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
  13439. vkCmdResetQueryPool = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
  13440. vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
  13441. vkCmdCopyQueryPoolResults = PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
  13442. vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
  13443. vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
  13444. vkCmdNextSubpass = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
  13445. vkCmdEndRenderPass = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
  13446. vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
  13447. //=== VK_VERSION_1_1 ===
  13448. vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
  13449. vkBindImageMemory2 = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
  13450. vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
  13451. vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
  13452. vkCmdDispatchBase = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
  13453. vkEnumeratePhysicalDeviceGroups = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
  13454. vkGetImageMemoryRequirements2 = PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
  13455. vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
  13456. vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
  13457. vkGetPhysicalDeviceFeatures2 = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
  13458. vkGetPhysicalDeviceProperties2 = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
  13459. vkGetPhysicalDeviceFormatProperties2 =
  13460. PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
  13461. vkGetPhysicalDeviceImageFormatProperties2 =
  13462. PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
  13463. vkGetPhysicalDeviceQueueFamilyProperties2 =
  13464. PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
  13465. vkGetPhysicalDeviceMemoryProperties2 =
  13466. PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
  13467. vkGetPhysicalDeviceSparseImageFormatProperties2 =
  13468. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
  13469. vkTrimCommandPool = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
  13470. vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
  13471. vkCreateSamplerYcbcrConversion = PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
  13472. vkDestroySamplerYcbcrConversion = PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
  13473. vkCreateDescriptorUpdateTemplate = PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
  13474. vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
  13475. vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
  13476. vkGetPhysicalDeviceExternalBufferProperties =
  13477. PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
  13478. vkGetPhysicalDeviceExternalFenceProperties =
  13479. PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
  13480. vkGetPhysicalDeviceExternalSemaphoreProperties =
  13481. PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
  13482. vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
  13483. //=== VK_VERSION_1_2 ===
  13484. vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
  13485. vkCmdDrawIndexedIndirectCount = PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
  13486. vkCreateRenderPass2 = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
  13487. vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
  13488. vkCmdNextSubpass2 = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
  13489. vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
  13490. vkResetQueryPool = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
  13491. vkGetSemaphoreCounterValue = PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
  13492. vkWaitSemaphores = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
  13493. vkSignalSemaphore = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
  13494. vkGetBufferDeviceAddress = PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
  13495. vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
  13496. vkGetDeviceMemoryOpaqueCaptureAddress =
  13497. PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
  13498. //=== VK_VERSION_1_3 ===
  13499. vkGetPhysicalDeviceToolProperties = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
  13500. vkCreatePrivateDataSlot = PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
  13501. vkDestroyPrivateDataSlot = PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
  13502. vkSetPrivateData = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
  13503. vkGetPrivateData = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
  13504. vkCmdSetEvent2 = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
  13505. vkCmdResetEvent2 = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
  13506. vkCmdWaitEvents2 = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
  13507. vkCmdPipelineBarrier2 = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
  13508. vkCmdWriteTimestamp2 = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
  13509. vkQueueSubmit2 = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
  13510. vkCmdCopyBuffer2 = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
  13511. vkCmdCopyImage2 = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
  13512. vkCmdCopyBufferToImage2 = PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
  13513. vkCmdCopyImageToBuffer2 = PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
  13514. vkCmdBlitImage2 = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
  13515. vkCmdResolveImage2 = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
  13516. vkCmdBeginRendering = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
  13517. vkCmdEndRendering = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
  13518. vkCmdSetCullMode = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
  13519. vkCmdSetFrontFace = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
  13520. vkCmdSetPrimitiveTopology = PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
  13521. vkCmdSetViewportWithCount = PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
  13522. vkCmdSetScissorWithCount = PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
  13523. vkCmdBindVertexBuffers2 = PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
  13524. vkCmdSetDepthTestEnable = PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
  13525. vkCmdSetDepthWriteEnable = PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
  13526. vkCmdSetDepthCompareOp = PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
  13527. vkCmdSetDepthBoundsTestEnable = PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
  13528. vkCmdSetStencilTestEnable = PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
  13529. vkCmdSetStencilOp = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
  13530. vkCmdSetRasterizerDiscardEnable = PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
  13531. vkCmdSetDepthBiasEnable = PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
  13532. vkCmdSetPrimitiveRestartEnable = PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
  13533. vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
  13534. vkGetDeviceImageMemoryRequirements = PFN_vkGetDeviceImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
  13535. vkGetDeviceImageSparseMemoryRequirements =
  13536. PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
  13537. //=== VK_KHR_surface ===
  13538. vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
  13539. vkGetPhysicalDeviceSurfaceSupportKHR =
  13540. PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
  13541. vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
  13542. PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
  13543. vkGetPhysicalDeviceSurfaceFormatsKHR =
  13544. PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
  13545. vkGetPhysicalDeviceSurfacePresentModesKHR =
  13546. PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
  13547. //=== VK_KHR_swapchain ===
  13548. vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
  13549. vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
  13550. vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
  13551. vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
  13552. vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
  13553. vkGetDeviceGroupPresentCapabilitiesKHR =
  13554. PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
  13555. vkGetDeviceGroupSurfacePresentModesKHR =
  13556. PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
  13557. vkGetPhysicalDevicePresentRectanglesKHR =
  13558. PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
  13559. vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
  13560. //=== VK_KHR_display ===
  13561. vkGetPhysicalDeviceDisplayPropertiesKHR =
  13562. PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
  13563. vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
  13564. PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
  13565. vkGetDisplayPlaneSupportedDisplaysKHR =
  13566. PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
  13567. vkGetDisplayModePropertiesKHR = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
  13568. vkCreateDisplayModeKHR = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
  13569. vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
  13570. vkCreateDisplayPlaneSurfaceKHR = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
  13571. //=== VK_KHR_display_swapchain ===
  13572. vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
  13573. #if defined( VK_USE_PLATFORM_XLIB_KHR )
  13574. //=== VK_KHR_xlib_surface ===
  13575. vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
  13576. vkGetPhysicalDeviceXlibPresentationSupportKHR =
  13577. PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
  13578. #endif /*VK_USE_PLATFORM_XLIB_KHR*/
  13579. #if defined( VK_USE_PLATFORM_XCB_KHR )
  13580. //=== VK_KHR_xcb_surface ===
  13581. vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
  13582. vkGetPhysicalDeviceXcbPresentationSupportKHR =
  13583. PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
  13584. #endif /*VK_USE_PLATFORM_XCB_KHR*/
  13585. #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  13586. //=== VK_KHR_wayland_surface ===
  13587. vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
  13588. vkGetPhysicalDeviceWaylandPresentationSupportKHR =
  13589. PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
  13590. #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  13591. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  13592. //=== VK_KHR_android_surface ===
  13593. vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
  13594. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  13595. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  13596. //=== VK_KHR_win32_surface ===
  13597. vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
  13598. vkGetPhysicalDeviceWin32PresentationSupportKHR =
  13599. PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
  13600. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  13601. //=== VK_EXT_debug_report ===
  13602. vkCreateDebugReportCallbackEXT = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
  13603. vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
  13604. vkDebugReportMessageEXT = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
  13605. //=== VK_EXT_debug_marker ===
  13606. vkDebugMarkerSetObjectTagEXT = PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
  13607. vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
  13608. vkCmdDebugMarkerBeginEXT = PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
  13609. vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
  13610. vkCmdDebugMarkerInsertEXT = PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
  13611. //=== VK_KHR_video_queue ===
  13612. vkGetPhysicalDeviceVideoCapabilitiesKHR =
  13613. PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
  13614. vkGetPhysicalDeviceVideoFormatPropertiesKHR =
  13615. PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
  13616. vkCreateVideoSessionKHR = PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
  13617. vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
  13618. vkGetVideoSessionMemoryRequirementsKHR =
  13619. PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
  13620. vkBindVideoSessionMemoryKHR = PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
  13621. vkCreateVideoSessionParametersKHR = PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
  13622. vkUpdateVideoSessionParametersKHR = PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
  13623. vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
  13624. vkCmdBeginVideoCodingKHR = PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
  13625. vkCmdEndVideoCodingKHR = PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
  13626. vkCmdControlVideoCodingKHR = PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
  13627. //=== VK_KHR_video_decode_queue ===
  13628. vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
  13629. //=== VK_EXT_transform_feedback ===
  13630. vkCmdBindTransformFeedbackBuffersEXT =
  13631. PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
  13632. vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
  13633. vkCmdEndTransformFeedbackEXT = PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
  13634. vkCmdBeginQueryIndexedEXT = PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
  13635. vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
  13636. vkCmdDrawIndirectByteCountEXT = PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
  13637. //=== VK_NVX_binary_import ===
  13638. vkCreateCuModuleNVX = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
  13639. vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
  13640. vkDestroyCuModuleNVX = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
  13641. vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
  13642. vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
  13643. //=== VK_NVX_image_view_handle ===
  13644. vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
  13645. vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
  13646. //=== VK_AMD_draw_indirect_count ===
  13647. vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
  13648. if ( !vkCmdDrawIndirectCount )
  13649. vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
  13650. vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
  13651. if ( !vkCmdDrawIndexedIndirectCount )
  13652. vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
  13653. //=== VK_AMD_shader_info ===
  13654. vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
  13655. //=== VK_KHR_dynamic_rendering ===
  13656. vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
  13657. if ( !vkCmdBeginRendering )
  13658. vkCmdBeginRendering = vkCmdBeginRenderingKHR;
  13659. vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
  13660. if ( !vkCmdEndRendering )
  13661. vkCmdEndRendering = vkCmdEndRenderingKHR;
  13662. #if defined( VK_USE_PLATFORM_GGP )
  13663. //=== VK_GGP_stream_descriptor_surface ===
  13664. vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
  13665. #endif /*VK_USE_PLATFORM_GGP*/
  13666. //=== VK_NV_external_memory_capabilities ===
  13667. vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
  13668. PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
  13669. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  13670. //=== VK_NV_external_memory_win32 ===
  13671. vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
  13672. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  13673. //=== VK_KHR_get_physical_device_properties2 ===
  13674. vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
  13675. if ( !vkGetPhysicalDeviceFeatures2 )
  13676. vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
  13677. vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
  13678. if ( !vkGetPhysicalDeviceProperties2 )
  13679. vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
  13680. vkGetPhysicalDeviceFormatProperties2KHR =
  13681. PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
  13682. if ( !vkGetPhysicalDeviceFormatProperties2 )
  13683. vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
  13684. vkGetPhysicalDeviceImageFormatProperties2KHR =
  13685. PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
  13686. if ( !vkGetPhysicalDeviceImageFormatProperties2 )
  13687. vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
  13688. vkGetPhysicalDeviceQueueFamilyProperties2KHR =
  13689. PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
  13690. if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
  13691. vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
  13692. vkGetPhysicalDeviceMemoryProperties2KHR =
  13693. PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
  13694. if ( !vkGetPhysicalDeviceMemoryProperties2 )
  13695. vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
  13696. vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
  13697. PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
  13698. if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
  13699. vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
  13700. //=== VK_KHR_device_group ===
  13701. vkGetDeviceGroupPeerMemoryFeaturesKHR =
  13702. PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
  13703. if ( !vkGetDeviceGroupPeerMemoryFeatures )
  13704. vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
  13705. vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
  13706. if ( !vkCmdSetDeviceMask )
  13707. vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
  13708. vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
  13709. if ( !vkCmdDispatchBase )
  13710. vkCmdDispatchBase = vkCmdDispatchBaseKHR;
  13711. #if defined( VK_USE_PLATFORM_VI_NN )
  13712. //=== VK_NN_vi_surface ===
  13713. vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
  13714. #endif /*VK_USE_PLATFORM_VI_NN*/
  13715. //=== VK_KHR_maintenance1 ===
  13716. vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
  13717. if ( !vkTrimCommandPool )
  13718. vkTrimCommandPool = vkTrimCommandPoolKHR;
  13719. //=== VK_KHR_device_group_creation ===
  13720. vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
  13721. if ( !vkEnumeratePhysicalDeviceGroups )
  13722. vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
  13723. //=== VK_KHR_external_memory_capabilities ===
  13724. vkGetPhysicalDeviceExternalBufferPropertiesKHR =
  13725. PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
  13726. if ( !vkGetPhysicalDeviceExternalBufferProperties )
  13727. vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
  13728. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  13729. //=== VK_KHR_external_memory_win32 ===
  13730. vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
  13731. vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
  13732. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  13733. //=== VK_KHR_external_memory_fd ===
  13734. vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
  13735. vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
  13736. //=== VK_KHR_external_semaphore_capabilities ===
  13737. vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
  13738. PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
  13739. if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
  13740. vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
  13741. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  13742. //=== VK_KHR_external_semaphore_win32 ===
  13743. vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
  13744. vkGetSemaphoreWin32HandleKHR = PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
  13745. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  13746. //=== VK_KHR_external_semaphore_fd ===
  13747. vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
  13748. vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
  13749. //=== VK_KHR_push_descriptor ===
  13750. vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
  13751. vkCmdPushDescriptorSetWithTemplateKHR =
  13752. PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
  13753. //=== VK_EXT_conditional_rendering ===
  13754. vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
  13755. vkCmdEndConditionalRenderingEXT = PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
  13756. //=== VK_KHR_descriptor_update_template ===
  13757. vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
  13758. if ( !vkCreateDescriptorUpdateTemplate )
  13759. vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
  13760. vkDestroyDescriptorUpdateTemplateKHR =
  13761. PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
  13762. if ( !vkDestroyDescriptorUpdateTemplate )
  13763. vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
  13764. vkUpdateDescriptorSetWithTemplateKHR =
  13765. PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
  13766. if ( !vkUpdateDescriptorSetWithTemplate )
  13767. vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
  13768. //=== VK_NV_clip_space_w_scaling ===
  13769. vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
  13770. //=== VK_EXT_direct_mode_display ===
  13771. vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
  13772. #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
  13773. //=== VK_EXT_acquire_xlib_display ===
  13774. vkAcquireXlibDisplayEXT = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
  13775. vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
  13776. #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
  13777. //=== VK_EXT_display_surface_counter ===
  13778. vkGetPhysicalDeviceSurfaceCapabilities2EXT =
  13779. PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
  13780. //=== VK_EXT_display_control ===
  13781. vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
  13782. vkRegisterDeviceEventEXT = PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
  13783. vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
  13784. vkGetSwapchainCounterEXT = PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
  13785. //=== VK_GOOGLE_display_timing ===
  13786. vkGetRefreshCycleDurationGOOGLE = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
  13787. vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
  13788. //=== VK_EXT_discard_rectangles ===
  13789. vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
  13790. vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) );
  13791. vkCmdSetDiscardRectangleModeEXT = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) );
  13792. //=== VK_EXT_hdr_metadata ===
  13793. vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
  13794. //=== VK_KHR_create_renderpass2 ===
  13795. vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
  13796. if ( !vkCreateRenderPass2 )
  13797. vkCreateRenderPass2 = vkCreateRenderPass2KHR;
  13798. vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
  13799. if ( !vkCmdBeginRenderPass2 )
  13800. vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
  13801. vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
  13802. if ( !vkCmdNextSubpass2 )
  13803. vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
  13804. vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
  13805. if ( !vkCmdEndRenderPass2 )
  13806. vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
  13807. //=== VK_KHR_shared_presentable_image ===
  13808. vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
  13809. //=== VK_KHR_external_fence_capabilities ===
  13810. vkGetPhysicalDeviceExternalFencePropertiesKHR =
  13811. PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
  13812. if ( !vkGetPhysicalDeviceExternalFenceProperties )
  13813. vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
  13814. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  13815. //=== VK_KHR_external_fence_win32 ===
  13816. vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
  13817. vkGetFenceWin32HandleKHR = PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
  13818. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  13819. //=== VK_KHR_external_fence_fd ===
  13820. vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
  13821. vkGetFenceFdKHR = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
  13822. //=== VK_KHR_performance_query ===
  13823. vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
  13824. vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
  13825. vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
  13826. vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
  13827. vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
  13828. vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
  13829. //=== VK_KHR_get_surface_capabilities2 ===
  13830. vkGetPhysicalDeviceSurfaceCapabilities2KHR =
  13831. PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
  13832. vkGetPhysicalDeviceSurfaceFormats2KHR =
  13833. PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
  13834. //=== VK_KHR_get_display_properties2 ===
  13835. vkGetPhysicalDeviceDisplayProperties2KHR =
  13836. PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
  13837. vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
  13838. PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
  13839. vkGetDisplayModeProperties2KHR = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
  13840. vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
  13841. #if defined( VK_USE_PLATFORM_IOS_MVK )
  13842. //=== VK_MVK_ios_surface ===
  13843. vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
  13844. #endif /*VK_USE_PLATFORM_IOS_MVK*/
  13845. #if defined( VK_USE_PLATFORM_MACOS_MVK )
  13846. //=== VK_MVK_macos_surface ===
  13847. vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
  13848. #endif /*VK_USE_PLATFORM_MACOS_MVK*/
  13849. //=== VK_EXT_debug_utils ===
  13850. vkSetDebugUtilsObjectNameEXT = PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
  13851. vkSetDebugUtilsObjectTagEXT = PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
  13852. vkQueueBeginDebugUtilsLabelEXT = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
  13853. vkQueueEndDebugUtilsLabelEXT = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
  13854. vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
  13855. vkCmdBeginDebugUtilsLabelEXT = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
  13856. vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
  13857. vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
  13858. vkCreateDebugUtilsMessengerEXT = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
  13859. vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
  13860. vkSubmitDebugUtilsMessageEXT = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
  13861. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  13862. //=== VK_ANDROID_external_memory_android_hardware_buffer ===
  13863. vkGetAndroidHardwareBufferPropertiesANDROID =
  13864. PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
  13865. vkGetMemoryAndroidHardwareBufferANDROID =
  13866. PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
  13867. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  13868. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  13869. //=== VK_AMDX_shader_enqueue ===
  13870. vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetInstanceProcAddr( instance, "vkCreateExecutionGraphPipelinesAMDX" ) );
  13871. vkGetExecutionGraphPipelineScratchSizeAMDX =
  13872. PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
  13873. vkGetExecutionGraphPipelineNodeIndexAMDX =
  13874. PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
  13875. vkCmdInitializeGraphScratchMemoryAMDX =
  13876. PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetInstanceProcAddr( instance, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
  13877. vkCmdDispatchGraphAMDX = PFN_vkCmdDispatchGraphAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphAMDX" ) );
  13878. vkCmdDispatchGraphIndirectAMDX = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectAMDX" ) );
  13879. vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectCountAMDX" ) );
  13880. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  13881. //=== VK_EXT_sample_locations ===
  13882. vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
  13883. vkGetPhysicalDeviceMultisamplePropertiesEXT =
  13884. PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
  13885. //=== VK_KHR_get_memory_requirements2 ===
  13886. vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
  13887. if ( !vkGetImageMemoryRequirements2 )
  13888. vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
  13889. vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
  13890. if ( !vkGetBufferMemoryRequirements2 )
  13891. vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
  13892. vkGetImageSparseMemoryRequirements2KHR =
  13893. PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
  13894. if ( !vkGetImageSparseMemoryRequirements2 )
  13895. vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
  13896. //=== VK_KHR_acceleration_structure ===
  13897. vkCreateAccelerationStructureKHR = PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
  13898. vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
  13899. vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
  13900. vkCmdBuildAccelerationStructuresIndirectKHR =
  13901. PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
  13902. vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
  13903. vkCopyAccelerationStructureKHR = PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
  13904. vkCopyAccelerationStructureToMemoryKHR =
  13905. PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
  13906. vkCopyMemoryToAccelerationStructureKHR =
  13907. PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
  13908. vkWriteAccelerationStructuresPropertiesKHR =
  13909. PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
  13910. vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
  13911. vkCmdCopyAccelerationStructureToMemoryKHR =
  13912. PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
  13913. vkCmdCopyMemoryToAccelerationStructureKHR =
  13914. PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
  13915. vkGetAccelerationStructureDeviceAddressKHR =
  13916. PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
  13917. vkCmdWriteAccelerationStructuresPropertiesKHR =
  13918. PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
  13919. vkGetDeviceAccelerationStructureCompatibilityKHR =
  13920. PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
  13921. vkGetAccelerationStructureBuildSizesKHR =
  13922. PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
  13923. //=== VK_KHR_ray_tracing_pipeline ===
  13924. vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
  13925. vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
  13926. vkGetRayTracingShaderGroupHandlesKHR =
  13927. PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
  13928. vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
  13929. PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
  13930. vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
  13931. vkGetRayTracingShaderGroupStackSizeKHR =
  13932. PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
  13933. vkCmdSetRayTracingPipelineStackSizeKHR =
  13934. PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
  13935. //=== VK_KHR_sampler_ycbcr_conversion ===
  13936. vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
  13937. if ( !vkCreateSamplerYcbcrConversion )
  13938. vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
  13939. vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
  13940. if ( !vkDestroySamplerYcbcrConversion )
  13941. vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
  13942. //=== VK_KHR_bind_memory2 ===
  13943. vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
  13944. if ( !vkBindBufferMemory2 )
  13945. vkBindBufferMemory2 = vkBindBufferMemory2KHR;
  13946. vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
  13947. if ( !vkBindImageMemory2 )
  13948. vkBindImageMemory2 = vkBindImageMemory2KHR;
  13949. //=== VK_EXT_image_drm_format_modifier ===
  13950. vkGetImageDrmFormatModifierPropertiesEXT =
  13951. PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
  13952. //=== VK_EXT_validation_cache ===
  13953. vkCreateValidationCacheEXT = PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
  13954. vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
  13955. vkMergeValidationCachesEXT = PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
  13956. vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
  13957. //=== VK_NV_shading_rate_image ===
  13958. vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
  13959. vkCmdSetViewportShadingRatePaletteNV =
  13960. PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
  13961. vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
  13962. //=== VK_NV_ray_tracing ===
  13963. vkCreateAccelerationStructureNV = PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
  13964. vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
  13965. vkGetAccelerationStructureMemoryRequirementsNV =
  13966. PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
  13967. vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
  13968. vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
  13969. vkCmdCopyAccelerationStructureNV = PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
  13970. vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
  13971. vkCreateRayTracingPipelinesNV = PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
  13972. vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
  13973. if ( !vkGetRayTracingShaderGroupHandlesKHR )
  13974. vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
  13975. vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
  13976. vkCmdWriteAccelerationStructuresPropertiesNV =
  13977. PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
  13978. vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
  13979. //=== VK_KHR_maintenance3 ===
  13980. vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
  13981. if ( !vkGetDescriptorSetLayoutSupport )
  13982. vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
  13983. //=== VK_KHR_draw_indirect_count ===
  13984. vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
  13985. if ( !vkCmdDrawIndirectCount )
  13986. vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
  13987. vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
  13988. if ( !vkCmdDrawIndexedIndirectCount )
  13989. vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
  13990. //=== VK_EXT_external_memory_host ===
  13991. vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
  13992. //=== VK_AMD_buffer_marker ===
  13993. vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
  13994. //=== VK_EXT_calibrated_timestamps ===
  13995. vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
  13996. PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
  13997. vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
  13998. //=== VK_NV_mesh_shader ===
  13999. vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
  14000. vkCmdDrawMeshTasksIndirectNV = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
  14001. vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
  14002. //=== VK_NV_scissor_exclusive ===
  14003. vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) );
  14004. vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
  14005. //=== VK_NV_device_diagnostic_checkpoints ===
  14006. vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
  14007. vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
  14008. //=== VK_KHR_timeline_semaphore ===
  14009. vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
  14010. if ( !vkGetSemaphoreCounterValue )
  14011. vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
  14012. vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
  14013. if ( !vkWaitSemaphores )
  14014. vkWaitSemaphores = vkWaitSemaphoresKHR;
  14015. vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
  14016. if ( !vkSignalSemaphore )
  14017. vkSignalSemaphore = vkSignalSemaphoreKHR;
  14018. //=== VK_INTEL_performance_query ===
  14019. vkInitializePerformanceApiINTEL = PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
  14020. vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
  14021. vkCmdSetPerformanceMarkerINTEL = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
  14022. vkCmdSetPerformanceStreamMarkerINTEL =
  14023. PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
  14024. vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
  14025. vkAcquirePerformanceConfigurationINTEL =
  14026. PFN_vkAcquirePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
  14027. vkReleasePerformanceConfigurationINTEL =
  14028. PFN_vkReleasePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
  14029. vkQueueSetPerformanceConfigurationINTEL =
  14030. PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
  14031. vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
  14032. //=== VK_AMD_display_native_hdr ===
  14033. vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
  14034. #if defined( VK_USE_PLATFORM_FUCHSIA )
  14035. //=== VK_FUCHSIA_imagepipe_surface ===
  14036. vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
  14037. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  14038. #if defined( VK_USE_PLATFORM_METAL_EXT )
  14039. //=== VK_EXT_metal_surface ===
  14040. vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
  14041. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  14042. //=== VK_KHR_fragment_shading_rate ===
  14043. vkGetPhysicalDeviceFragmentShadingRatesKHR =
  14044. PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
  14045. vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
  14046. //=== VK_EXT_buffer_device_address ===
  14047. vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
  14048. if ( !vkGetBufferDeviceAddress )
  14049. vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
  14050. //=== VK_EXT_tooling_info ===
  14051. vkGetPhysicalDeviceToolPropertiesEXT =
  14052. PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
  14053. if ( !vkGetPhysicalDeviceToolProperties )
  14054. vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
  14055. //=== VK_KHR_present_wait ===
  14056. vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
  14057. //=== VK_NV_cooperative_matrix ===
  14058. vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
  14059. PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
  14060. //=== VK_NV_coverage_reduction_mode ===
  14061. vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
  14062. vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
  14063. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  14064. //=== VK_EXT_full_screen_exclusive ===
  14065. vkGetPhysicalDeviceSurfacePresentModes2EXT =
  14066. PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
  14067. vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
  14068. vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
  14069. vkGetDeviceGroupSurfacePresentModes2EXT =
  14070. PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
  14071. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  14072. //=== VK_EXT_headless_surface ===
  14073. vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
  14074. //=== VK_KHR_buffer_device_address ===
  14075. vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
  14076. if ( !vkGetBufferDeviceAddress )
  14077. vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
  14078. vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
  14079. if ( !vkGetBufferOpaqueCaptureAddress )
  14080. vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
  14081. vkGetDeviceMemoryOpaqueCaptureAddressKHR =
  14082. PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
  14083. if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
  14084. vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
  14085. //=== VK_EXT_line_rasterization ===
  14086. vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
  14087. //=== VK_EXT_host_query_reset ===
  14088. vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
  14089. if ( !vkResetQueryPool )
  14090. vkResetQueryPool = vkResetQueryPoolEXT;
  14091. //=== VK_EXT_extended_dynamic_state ===
  14092. vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
  14093. if ( !vkCmdSetCullMode )
  14094. vkCmdSetCullMode = vkCmdSetCullModeEXT;
  14095. vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
  14096. if ( !vkCmdSetFrontFace )
  14097. vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
  14098. vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
  14099. if ( !vkCmdSetPrimitiveTopology )
  14100. vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
  14101. vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
  14102. if ( !vkCmdSetViewportWithCount )
  14103. vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
  14104. vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
  14105. if ( !vkCmdSetScissorWithCount )
  14106. vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
  14107. vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
  14108. if ( !vkCmdBindVertexBuffers2 )
  14109. vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
  14110. vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
  14111. if ( !vkCmdSetDepthTestEnable )
  14112. vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
  14113. vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
  14114. if ( !vkCmdSetDepthWriteEnable )
  14115. vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
  14116. vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
  14117. if ( !vkCmdSetDepthCompareOp )
  14118. vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
  14119. vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
  14120. if ( !vkCmdSetDepthBoundsTestEnable )
  14121. vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
  14122. vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
  14123. if ( !vkCmdSetStencilTestEnable )
  14124. vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
  14125. vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
  14126. if ( !vkCmdSetStencilOp )
  14127. vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
  14128. //=== VK_KHR_deferred_host_operations ===
  14129. vkCreateDeferredOperationKHR = PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
  14130. vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
  14131. vkGetDeferredOperationMaxConcurrencyKHR =
  14132. PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
  14133. vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
  14134. vkDeferredOperationJoinKHR = PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
  14135. //=== VK_KHR_pipeline_executable_properties ===
  14136. vkGetPipelineExecutablePropertiesKHR =
  14137. PFN_vkGetPipelineExecutablePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
  14138. vkGetPipelineExecutableStatisticsKHR =
  14139. PFN_vkGetPipelineExecutableStatisticsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
  14140. vkGetPipelineExecutableInternalRepresentationsKHR =
  14141. PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
  14142. //=== VK_EXT_host_image_copy ===
  14143. vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImageEXT" ) );
  14144. vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToMemoryEXT" ) );
  14145. vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToImageEXT" ) );
  14146. vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetInstanceProcAddr( instance, "vkTransitionImageLayoutEXT" ) );
  14147. vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2EXT" ) );
  14148. if ( !vkGetImageSubresourceLayout2KHR )
  14149. vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
  14150. //=== VK_KHR_map_memory2 ===
  14151. vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) );
  14152. vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) );
  14153. //=== VK_EXT_swapchain_maintenance1 ===
  14154. vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) );
  14155. //=== VK_NV_device_generated_commands ===
  14156. vkGetGeneratedCommandsMemoryRequirementsNV =
  14157. PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
  14158. vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
  14159. vkCmdExecuteGeneratedCommandsNV = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
  14160. vkCmdBindPipelineShaderGroupNV = PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
  14161. vkCreateIndirectCommandsLayoutNV = PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
  14162. vkDestroyIndirectCommandsLayoutNV = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
  14163. //=== VK_EXT_depth_bias_control ===
  14164. vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias2EXT" ) );
  14165. //=== VK_EXT_acquire_drm_display ===
  14166. vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
  14167. vkGetDrmDisplayEXT = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
  14168. //=== VK_EXT_private_data ===
  14169. vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
  14170. if ( !vkCreatePrivateDataSlot )
  14171. vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
  14172. vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
  14173. if ( !vkDestroyPrivateDataSlot )
  14174. vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
  14175. vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
  14176. if ( !vkSetPrivateData )
  14177. vkSetPrivateData = vkSetPrivateDataEXT;
  14178. vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
  14179. if ( !vkGetPrivateData )
  14180. vkGetPrivateData = vkGetPrivateDataEXT;
  14181. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  14182. //=== VK_KHR_video_encode_queue ===
  14183. vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
  14184. vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) );
  14185. vkGetEncodedVideoSessionParametersKHR =
  14186. PFN_vkGetEncodedVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkGetEncodedVideoSessionParametersKHR" ) );
  14187. vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
  14188. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  14189. #if defined( VK_USE_PLATFORM_METAL_EXT )
  14190. //=== VK_EXT_metal_objects ===
  14191. vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) );
  14192. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  14193. //=== VK_KHR_synchronization2 ===
  14194. vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
  14195. if ( !vkCmdSetEvent2 )
  14196. vkCmdSetEvent2 = vkCmdSetEvent2KHR;
  14197. vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
  14198. if ( !vkCmdResetEvent2 )
  14199. vkCmdResetEvent2 = vkCmdResetEvent2KHR;
  14200. vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
  14201. if ( !vkCmdWaitEvents2 )
  14202. vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
  14203. vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
  14204. if ( !vkCmdPipelineBarrier2 )
  14205. vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
  14206. vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
  14207. if ( !vkCmdWriteTimestamp2 )
  14208. vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
  14209. vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
  14210. if ( !vkQueueSubmit2 )
  14211. vkQueueSubmit2 = vkQueueSubmit2KHR;
  14212. vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
  14213. vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
  14214. //=== VK_EXT_descriptor_buffer ===
  14215. vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
  14216. vkGetDescriptorSetLayoutBindingOffsetEXT =
  14217. PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
  14218. vkGetDescriptorEXT = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
  14219. vkCmdBindDescriptorBuffersEXT = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
  14220. vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
  14221. vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
  14222. PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
  14223. vkGetBufferOpaqueCaptureDescriptorDataEXT =
  14224. PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
  14225. vkGetImageOpaqueCaptureDescriptorDataEXT =
  14226. PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
  14227. vkGetImageViewOpaqueCaptureDescriptorDataEXT =
  14228. PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
  14229. vkGetSamplerOpaqueCaptureDescriptorDataEXT =
  14230. PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
  14231. vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
  14232. vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
  14233. //=== VK_NV_fragment_shading_rate_enums ===
  14234. vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
  14235. //=== VK_EXT_mesh_shader ===
  14236. vkCmdDrawMeshTasksEXT = PFN_vkCmdDrawMeshTasksEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksEXT" ) );
  14237. vkCmdDrawMeshTasksIndirectEXT = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectEXT" ) );
  14238. vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
  14239. //=== VK_KHR_copy_commands2 ===
  14240. vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
  14241. if ( !vkCmdCopyBuffer2 )
  14242. vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
  14243. vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
  14244. if ( !vkCmdCopyImage2 )
  14245. vkCmdCopyImage2 = vkCmdCopyImage2KHR;
  14246. vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
  14247. if ( !vkCmdCopyBufferToImage2 )
  14248. vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
  14249. vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
  14250. if ( !vkCmdCopyImageToBuffer2 )
  14251. vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
  14252. vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
  14253. if ( !vkCmdBlitImage2 )
  14254. vkCmdBlitImage2 = vkCmdBlitImage2KHR;
  14255. vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
  14256. if ( !vkCmdResolveImage2 )
  14257. vkCmdResolveImage2 = vkCmdResolveImage2KHR;
  14258. //=== VK_EXT_device_fault ===
  14259. vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceFaultInfoEXT" ) );
  14260. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  14261. //=== VK_NV_acquire_winrt_display ===
  14262. vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
  14263. vkGetWinrtDisplayNV = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
  14264. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  14265. #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  14266. //=== VK_EXT_directfb_surface ===
  14267. vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
  14268. vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
  14269. PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
  14270. #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  14271. //=== VK_EXT_vertex_input_dynamic_state ===
  14272. vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
  14273. #if defined( VK_USE_PLATFORM_FUCHSIA )
  14274. //=== VK_FUCHSIA_external_memory ===
  14275. vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
  14276. vkGetMemoryZirconHandlePropertiesFUCHSIA =
  14277. PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
  14278. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  14279. #if defined( VK_USE_PLATFORM_FUCHSIA )
  14280. //=== VK_FUCHSIA_external_semaphore ===
  14281. vkImportSemaphoreZirconHandleFUCHSIA =
  14282. PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
  14283. vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
  14284. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  14285. #if defined( VK_USE_PLATFORM_FUCHSIA )
  14286. //=== VK_FUCHSIA_buffer_collection ===
  14287. vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
  14288. vkSetBufferCollectionImageConstraintsFUCHSIA =
  14289. PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
  14290. vkSetBufferCollectionBufferConstraintsFUCHSIA =
  14291. PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
  14292. vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
  14293. vkGetBufferCollectionPropertiesFUCHSIA =
  14294. PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
  14295. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  14296. //=== VK_HUAWEI_subpass_shading ===
  14297. vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
  14298. PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
  14299. vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
  14300. //=== VK_HUAWEI_invocation_mask ===
  14301. vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
  14302. //=== VK_NV_external_memory_rdma ===
  14303. vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
  14304. //=== VK_EXT_pipeline_properties ===
  14305. vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPipelinePropertiesEXT" ) );
  14306. //=== VK_EXT_extended_dynamic_state2 ===
  14307. vkCmdSetPatchControlPointsEXT = PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
  14308. vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
  14309. if ( !vkCmdSetRasterizerDiscardEnable )
  14310. vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
  14311. vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
  14312. if ( !vkCmdSetDepthBiasEnable )
  14313. vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
  14314. vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
  14315. vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
  14316. if ( !vkCmdSetPrimitiveRestartEnable )
  14317. vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
  14318. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  14319. //=== VK_QNX_screen_surface ===
  14320. vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
  14321. vkGetPhysicalDeviceScreenPresentationSupportQNX =
  14322. PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
  14323. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  14324. //=== VK_EXT_color_write_enable ===
  14325. vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
  14326. //=== VK_KHR_ray_tracing_maintenance1 ===
  14327. vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirect2KHR" ) );
  14328. //=== VK_EXT_multi_draw ===
  14329. vkCmdDrawMultiEXT = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
  14330. vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
  14331. //=== VK_EXT_opacity_micromap ===
  14332. vkCreateMicromapEXT = PFN_vkCreateMicromapEXT( vkGetInstanceProcAddr( instance, "vkCreateMicromapEXT" ) );
  14333. vkDestroyMicromapEXT = PFN_vkDestroyMicromapEXT( vkGetInstanceProcAddr( instance, "vkDestroyMicromapEXT" ) );
  14334. vkCmdBuildMicromapsEXT = PFN_vkCmdBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkCmdBuildMicromapsEXT" ) );
  14335. vkBuildMicromapsEXT = PFN_vkBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkBuildMicromapsEXT" ) );
  14336. vkCopyMicromapEXT = PFN_vkCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapEXT" ) );
  14337. vkCopyMicromapToMemoryEXT = PFN_vkCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapToMemoryEXT" ) );
  14338. vkCopyMemoryToMicromapEXT = PFN_vkCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToMicromapEXT" ) );
  14339. vkWriteMicromapsPropertiesEXT = PFN_vkWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkWriteMicromapsPropertiesEXT" ) );
  14340. vkCmdCopyMicromapEXT = PFN_vkCmdCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapEXT" ) );
  14341. vkCmdCopyMicromapToMemoryEXT = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapToMemoryEXT" ) );
  14342. vkCmdCopyMemoryToMicromapEXT = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToMicromapEXT" ) );
  14343. vkCmdWriteMicromapsPropertiesEXT = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkCmdWriteMicromapsPropertiesEXT" ) );
  14344. vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceMicromapCompatibilityEXT" ) );
  14345. vkGetMicromapBuildSizesEXT = PFN_vkGetMicromapBuildSizesEXT( vkGetInstanceProcAddr( instance, "vkGetMicromapBuildSizesEXT" ) );
  14346. //=== VK_HUAWEI_cluster_culling_shader ===
  14347. vkCmdDrawClusterHUAWEI = PFN_vkCmdDrawClusterHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterHUAWEI" ) );
  14348. vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterIndirectHUAWEI" ) );
  14349. //=== VK_EXT_pageable_device_local_memory ===
  14350. vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
  14351. //=== VK_KHR_maintenance4 ===
  14352. vkGetDeviceBufferMemoryRequirementsKHR =
  14353. PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
  14354. if ( !vkGetDeviceBufferMemoryRequirements )
  14355. vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
  14356. vkGetDeviceImageMemoryRequirementsKHR =
  14357. PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
  14358. if ( !vkGetDeviceImageMemoryRequirements )
  14359. vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
  14360. vkGetDeviceImageSparseMemoryRequirementsKHR =
  14361. PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
  14362. if ( !vkGetDeviceImageSparseMemoryRequirements )
  14363. vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
  14364. //=== VK_VALVE_descriptor_set_host_mapping ===
  14365. vkGetDescriptorSetLayoutHostMappingInfoVALVE =
  14366. PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
  14367. vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetHostMappingVALVE" ) );
  14368. //=== VK_NV_copy_memory_indirect ===
  14369. vkCmdCopyMemoryIndirectNV = PFN_vkCmdCopyMemoryIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryIndirectNV" ) );
  14370. vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToImageIndirectNV" ) );
  14371. //=== VK_NV_memory_decompression ===
  14372. vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryNV" ) );
  14373. vkCmdDecompressMemoryIndirectCountNV =
  14374. PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryIndirectCountNV" ) );
  14375. //=== VK_NV_device_generated_commands_compute ===
  14376. vkGetPipelineIndirectMemoryRequirementsNV =
  14377. PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
  14378. vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetInstanceProcAddr( instance, "vkCmdUpdatePipelineIndirectBufferNV" ) );
  14379. vkGetPipelineIndirectDeviceAddressNV =
  14380. PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
  14381. //=== VK_EXT_extended_dynamic_state3 ===
  14382. vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
  14383. vkCmdSetDepthClampEnableEXT = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
  14384. vkCmdSetPolygonModeEXT = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
  14385. vkCmdSetRasterizationSamplesEXT = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
  14386. vkCmdSetSampleMaskEXT = PFN_vkCmdSetSampleMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleMaskEXT" ) );
  14387. vkCmdSetAlphaToCoverageEnableEXT = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToCoverageEnableEXT" ) );
  14388. vkCmdSetAlphaToOneEnableEXT = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToOneEnableEXT" ) );
  14389. vkCmdSetLogicOpEnableEXT = PFN_vkCmdSetLogicOpEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEnableEXT" ) );
  14390. vkCmdSetColorBlendEnableEXT = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
  14391. vkCmdSetColorBlendEquationEXT = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
  14392. vkCmdSetColorWriteMaskEXT = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
  14393. vkCmdSetRasterizationStreamEXT = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
  14394. vkCmdSetConservativeRasterizationModeEXT =
  14395. PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
  14396. vkCmdSetExtraPrimitiveOverestimationSizeEXT =
  14397. PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
  14398. vkCmdSetDepthClipEnableEXT = PFN_vkCmdSetDepthClipEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipEnableEXT" ) );
  14399. vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEnableEXT" ) );
  14400. vkCmdSetColorBlendAdvancedEXT = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendAdvancedEXT" ) );
  14401. vkCmdSetProvokingVertexModeEXT = PFN_vkCmdSetProvokingVertexModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetProvokingVertexModeEXT" ) );
  14402. vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineRasterizationModeEXT" ) );
  14403. vkCmdSetLineStippleEnableEXT = PFN_vkCmdSetLineStippleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEnableEXT" ) );
  14404. vkCmdSetDepthClipNegativeOneToOneEXT =
  14405. PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
  14406. vkCmdSetViewportWScalingEnableNV = PFN_vkCmdSetViewportWScalingEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingEnableNV" ) );
  14407. vkCmdSetViewportSwizzleNV = PFN_vkCmdSetViewportSwizzleNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportSwizzleNV" ) );
  14408. vkCmdSetCoverageToColorEnableNV = PFN_vkCmdSetCoverageToColorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorEnableNV" ) );
  14409. vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorLocationNV" ) );
  14410. vkCmdSetCoverageModulationModeNV = PFN_vkCmdSetCoverageModulationModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationModeNV" ) );
  14411. vkCmdSetCoverageModulationTableEnableNV =
  14412. PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableEnableNV" ) );
  14413. vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableNV" ) );
  14414. vkCmdSetShadingRateImageEnableNV = PFN_vkCmdSetShadingRateImageEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetShadingRateImageEnableNV" ) );
  14415. vkCmdSetRepresentativeFragmentTestEnableNV =
  14416. PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
  14417. vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageReductionModeNV" ) );
  14418. //=== VK_EXT_shader_module_identifier ===
  14419. vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleIdentifierEXT" ) );
  14420. vkGetShaderModuleCreateInfoIdentifierEXT =
  14421. PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
  14422. //=== VK_NV_optical_flow ===
  14423. vkGetPhysicalDeviceOpticalFlowImageFormatsNV =
  14424. PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) );
  14425. vkCreateOpticalFlowSessionNV = PFN_vkCreateOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkCreateOpticalFlowSessionNV" ) );
  14426. vkDestroyOpticalFlowSessionNV = PFN_vkDestroyOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkDestroyOpticalFlowSessionNV" ) );
  14427. vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetInstanceProcAddr( instance, "vkBindOpticalFlowSessionImageNV" ) );
  14428. vkCmdOpticalFlowExecuteNV = PFN_vkCmdOpticalFlowExecuteNV( vkGetInstanceProcAddr( instance, "vkCmdOpticalFlowExecuteNV" ) );
  14429. //=== VK_KHR_maintenance5 ===
  14430. vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2KHR" ) );
  14431. vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularityKHR" ) );
  14432. vkGetDeviceImageSubresourceLayoutKHR =
  14433. PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayoutKHR" ) );
  14434. vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2KHR" ) );
  14435. //=== VK_EXT_shader_object ===
  14436. vkCreateShadersEXT = PFN_vkCreateShadersEXT( vkGetInstanceProcAddr( instance, "vkCreateShadersEXT" ) );
  14437. vkDestroyShaderEXT = PFN_vkDestroyShaderEXT( vkGetInstanceProcAddr( instance, "vkDestroyShaderEXT" ) );
  14438. vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetInstanceProcAddr( instance, "vkGetShaderBinaryDataEXT" ) );
  14439. vkCmdBindShadersEXT = PFN_vkCmdBindShadersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindShadersEXT" ) );
  14440. //=== VK_QCOM_tile_properties ===
  14441. vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetFramebufferTilePropertiesQCOM" ) );
  14442. vkGetDynamicRenderingTilePropertiesQCOM =
  14443. PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
  14444. //=== VK_NV_low_latency2 ===
  14445. vkSetLatencySleepModeNV = PFN_vkSetLatencySleepModeNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeNV" ) );
  14446. vkLatencySleepNV = PFN_vkLatencySleepNV( vkGetInstanceProcAddr( instance, "vkLatencySleepNV" ) );
  14447. vkSetLatencyMarkerNV = PFN_vkSetLatencyMarkerNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerNV" ) );
  14448. vkGetLatencyTimingsNV = PFN_vkGetLatencyTimingsNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsNV" ) );
  14449. vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandNV" ) );
  14450. //=== VK_KHR_cooperative_matrix ===
  14451. vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
  14452. PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) );
  14453. //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
  14454. vkCmdSetAttachmentFeedbackLoopEnableEXT =
  14455. PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
  14456. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  14457. //=== VK_QNX_external_memory_screen_buffer ===
  14458. vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
  14459. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  14460. }
  14461. void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
  14462. {
  14463. VkDevice device = static_cast<VkDevice>( deviceCpp );
  14464. //=== VK_VERSION_1_0 ===
  14465. vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
  14466. vkDestroyDevice = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
  14467. vkGetDeviceQueue = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
  14468. vkQueueSubmit = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
  14469. vkQueueWaitIdle = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
  14470. vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
  14471. vkAllocateMemory = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
  14472. vkFreeMemory = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
  14473. vkMapMemory = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
  14474. vkUnmapMemory = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
  14475. vkFlushMappedMemoryRanges = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
  14476. vkInvalidateMappedMemoryRanges = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
  14477. vkGetDeviceMemoryCommitment = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
  14478. vkBindBufferMemory = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
  14479. vkBindImageMemory = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
  14480. vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
  14481. vkGetImageMemoryRequirements = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
  14482. vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
  14483. vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
  14484. vkCreateFence = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
  14485. vkDestroyFence = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
  14486. vkResetFences = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
  14487. vkGetFenceStatus = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
  14488. vkWaitForFences = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
  14489. vkCreateSemaphore = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
  14490. vkDestroySemaphore = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
  14491. vkCreateEvent = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
  14492. vkDestroyEvent = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
  14493. vkGetEventStatus = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
  14494. vkSetEvent = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
  14495. vkResetEvent = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
  14496. vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
  14497. vkDestroyQueryPool = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
  14498. vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
  14499. vkCreateBuffer = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
  14500. vkDestroyBuffer = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
  14501. vkCreateBufferView = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
  14502. vkDestroyBufferView = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
  14503. vkCreateImage = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
  14504. vkDestroyImage = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
  14505. vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
  14506. vkCreateImageView = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
  14507. vkDestroyImageView = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
  14508. vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
  14509. vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
  14510. vkCreatePipelineCache = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
  14511. vkDestroyPipelineCache = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
  14512. vkGetPipelineCacheData = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
  14513. vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
  14514. vkCreateGraphicsPipelines = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
  14515. vkCreateComputePipelines = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
  14516. vkDestroyPipeline = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
  14517. vkCreatePipelineLayout = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
  14518. vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
  14519. vkCreateSampler = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
  14520. vkDestroySampler = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
  14521. vkCreateDescriptorSetLayout = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
  14522. vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
  14523. vkCreateDescriptorPool = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
  14524. vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
  14525. vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
  14526. vkAllocateDescriptorSets = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
  14527. vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
  14528. vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
  14529. vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
  14530. vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
  14531. vkCreateRenderPass = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
  14532. vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
  14533. vkGetRenderAreaGranularity = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
  14534. vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
  14535. vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
  14536. vkResetCommandPool = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
  14537. vkAllocateCommandBuffers = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
  14538. vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
  14539. vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
  14540. vkEndCommandBuffer = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
  14541. vkResetCommandBuffer = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
  14542. vkCmdBindPipeline = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
  14543. vkCmdSetViewport = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
  14544. vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
  14545. vkCmdSetLineWidth = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
  14546. vkCmdSetDepthBias = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
  14547. vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
  14548. vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
  14549. vkCmdSetStencilCompareMask = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
  14550. vkCmdSetStencilWriteMask = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
  14551. vkCmdSetStencilReference = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
  14552. vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
  14553. vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
  14554. vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
  14555. vkCmdDraw = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
  14556. vkCmdDrawIndexed = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
  14557. vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
  14558. vkCmdDrawIndexedIndirect = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
  14559. vkCmdDispatch = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
  14560. vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
  14561. vkCmdCopyBuffer = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
  14562. vkCmdCopyImage = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
  14563. vkCmdBlitImage = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
  14564. vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
  14565. vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
  14566. vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
  14567. vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
  14568. vkCmdClearColorImage = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
  14569. vkCmdClearDepthStencilImage = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
  14570. vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
  14571. vkCmdResolveImage = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
  14572. vkCmdSetEvent = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
  14573. vkCmdResetEvent = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
  14574. vkCmdWaitEvents = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
  14575. vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
  14576. vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
  14577. vkCmdEndQuery = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
  14578. vkCmdResetQueryPool = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
  14579. vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
  14580. vkCmdCopyQueryPoolResults = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
  14581. vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
  14582. vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
  14583. vkCmdNextSubpass = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
  14584. vkCmdEndRenderPass = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
  14585. vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
  14586. //=== VK_VERSION_1_1 ===
  14587. vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
  14588. vkBindImageMemory2 = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
  14589. vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
  14590. vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
  14591. vkCmdDispatchBase = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
  14592. vkGetImageMemoryRequirements2 = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
  14593. vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
  14594. vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
  14595. vkTrimCommandPool = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
  14596. vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
  14597. vkCreateSamplerYcbcrConversion = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
  14598. vkDestroySamplerYcbcrConversion = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
  14599. vkCreateDescriptorUpdateTemplate = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
  14600. vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
  14601. vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
  14602. vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
  14603. //=== VK_VERSION_1_2 ===
  14604. vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
  14605. vkCmdDrawIndexedIndirectCount = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
  14606. vkCreateRenderPass2 = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
  14607. vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
  14608. vkCmdNextSubpass2 = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
  14609. vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
  14610. vkResetQueryPool = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
  14611. vkGetSemaphoreCounterValue = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
  14612. vkWaitSemaphores = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
  14613. vkSignalSemaphore = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
  14614. vkGetBufferDeviceAddress = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
  14615. vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
  14616. vkGetDeviceMemoryOpaqueCaptureAddress =
  14617. PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
  14618. //=== VK_VERSION_1_3 ===
  14619. vkCreatePrivateDataSlot = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
  14620. vkDestroyPrivateDataSlot = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
  14621. vkSetPrivateData = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
  14622. vkGetPrivateData = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
  14623. vkCmdSetEvent2 = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
  14624. vkCmdResetEvent2 = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
  14625. vkCmdWaitEvents2 = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
  14626. vkCmdPipelineBarrier2 = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
  14627. vkCmdWriteTimestamp2 = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
  14628. vkQueueSubmit2 = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
  14629. vkCmdCopyBuffer2 = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
  14630. vkCmdCopyImage2 = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
  14631. vkCmdCopyBufferToImage2 = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
  14632. vkCmdCopyImageToBuffer2 = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
  14633. vkCmdBlitImage2 = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
  14634. vkCmdResolveImage2 = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
  14635. vkCmdBeginRendering = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
  14636. vkCmdEndRendering = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
  14637. vkCmdSetCullMode = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
  14638. vkCmdSetFrontFace = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
  14639. vkCmdSetPrimitiveTopology = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
  14640. vkCmdSetViewportWithCount = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
  14641. vkCmdSetScissorWithCount = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
  14642. vkCmdBindVertexBuffers2 = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
  14643. vkCmdSetDepthTestEnable = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
  14644. vkCmdSetDepthWriteEnable = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
  14645. vkCmdSetDepthCompareOp = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
  14646. vkCmdSetDepthBoundsTestEnable = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
  14647. vkCmdSetStencilTestEnable = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
  14648. vkCmdSetStencilOp = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
  14649. vkCmdSetRasterizerDiscardEnable = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
  14650. vkCmdSetDepthBiasEnable = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
  14651. vkCmdSetPrimitiveRestartEnable = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
  14652. vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
  14653. vkGetDeviceImageMemoryRequirements = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
  14654. vkGetDeviceImageSparseMemoryRequirements =
  14655. PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
  14656. //=== VK_KHR_swapchain ===
  14657. vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
  14658. vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
  14659. vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
  14660. vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
  14661. vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
  14662. vkGetDeviceGroupPresentCapabilitiesKHR =
  14663. PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
  14664. vkGetDeviceGroupSurfacePresentModesKHR =
  14665. PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
  14666. vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
  14667. //=== VK_KHR_display_swapchain ===
  14668. vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
  14669. //=== VK_EXT_debug_marker ===
  14670. vkDebugMarkerSetObjectTagEXT = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
  14671. vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
  14672. vkCmdDebugMarkerBeginEXT = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
  14673. vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
  14674. vkCmdDebugMarkerInsertEXT = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
  14675. //=== VK_KHR_video_queue ===
  14676. vkCreateVideoSessionKHR = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
  14677. vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
  14678. vkGetVideoSessionMemoryRequirementsKHR =
  14679. PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
  14680. vkBindVideoSessionMemoryKHR = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
  14681. vkCreateVideoSessionParametersKHR = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
  14682. vkUpdateVideoSessionParametersKHR = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
  14683. vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
  14684. vkCmdBeginVideoCodingKHR = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
  14685. vkCmdEndVideoCodingKHR = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
  14686. vkCmdControlVideoCodingKHR = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
  14687. //=== VK_KHR_video_decode_queue ===
  14688. vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
  14689. //=== VK_EXT_transform_feedback ===
  14690. vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
  14691. vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
  14692. vkCmdEndTransformFeedbackEXT = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
  14693. vkCmdBeginQueryIndexedEXT = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
  14694. vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
  14695. vkCmdDrawIndirectByteCountEXT = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
  14696. //=== VK_NVX_binary_import ===
  14697. vkCreateCuModuleNVX = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
  14698. vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
  14699. vkDestroyCuModuleNVX = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
  14700. vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
  14701. vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
  14702. //=== VK_NVX_image_view_handle ===
  14703. vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
  14704. vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
  14705. //=== VK_AMD_draw_indirect_count ===
  14706. vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
  14707. if ( !vkCmdDrawIndirectCount )
  14708. vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
  14709. vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
  14710. if ( !vkCmdDrawIndexedIndirectCount )
  14711. vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
  14712. //=== VK_AMD_shader_info ===
  14713. vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
  14714. //=== VK_KHR_dynamic_rendering ===
  14715. vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
  14716. if ( !vkCmdBeginRendering )
  14717. vkCmdBeginRendering = vkCmdBeginRenderingKHR;
  14718. vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
  14719. if ( !vkCmdEndRendering )
  14720. vkCmdEndRendering = vkCmdEndRenderingKHR;
  14721. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  14722. //=== VK_NV_external_memory_win32 ===
  14723. vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
  14724. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  14725. //=== VK_KHR_device_group ===
  14726. vkGetDeviceGroupPeerMemoryFeaturesKHR =
  14727. PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
  14728. if ( !vkGetDeviceGroupPeerMemoryFeatures )
  14729. vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
  14730. vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
  14731. if ( !vkCmdSetDeviceMask )
  14732. vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
  14733. vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
  14734. if ( !vkCmdDispatchBase )
  14735. vkCmdDispatchBase = vkCmdDispatchBaseKHR;
  14736. //=== VK_KHR_maintenance1 ===
  14737. vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
  14738. if ( !vkTrimCommandPool )
  14739. vkTrimCommandPool = vkTrimCommandPoolKHR;
  14740. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  14741. //=== VK_KHR_external_memory_win32 ===
  14742. vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
  14743. vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
  14744. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  14745. //=== VK_KHR_external_memory_fd ===
  14746. vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
  14747. vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
  14748. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  14749. //=== VK_KHR_external_semaphore_win32 ===
  14750. vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
  14751. vkGetSemaphoreWin32HandleKHR = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
  14752. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  14753. //=== VK_KHR_external_semaphore_fd ===
  14754. vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
  14755. vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
  14756. //=== VK_KHR_push_descriptor ===
  14757. vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
  14758. vkCmdPushDescriptorSetWithTemplateKHR =
  14759. PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
  14760. //=== VK_EXT_conditional_rendering ===
  14761. vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
  14762. vkCmdEndConditionalRenderingEXT = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
  14763. //=== VK_KHR_descriptor_update_template ===
  14764. vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
  14765. if ( !vkCreateDescriptorUpdateTemplate )
  14766. vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
  14767. vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
  14768. if ( !vkDestroyDescriptorUpdateTemplate )
  14769. vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
  14770. vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
  14771. if ( !vkUpdateDescriptorSetWithTemplate )
  14772. vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
  14773. //=== VK_NV_clip_space_w_scaling ===
  14774. vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
  14775. //=== VK_EXT_display_control ===
  14776. vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
  14777. vkRegisterDeviceEventEXT = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
  14778. vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
  14779. vkGetSwapchainCounterEXT = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
  14780. //=== VK_GOOGLE_display_timing ===
  14781. vkGetRefreshCycleDurationGOOGLE = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
  14782. vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
  14783. //=== VK_EXT_discard_rectangles ===
  14784. vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
  14785. vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) );
  14786. vkCmdSetDiscardRectangleModeEXT = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) );
  14787. //=== VK_EXT_hdr_metadata ===
  14788. vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
  14789. //=== VK_KHR_create_renderpass2 ===
  14790. vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
  14791. if ( !vkCreateRenderPass2 )
  14792. vkCreateRenderPass2 = vkCreateRenderPass2KHR;
  14793. vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
  14794. if ( !vkCmdBeginRenderPass2 )
  14795. vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
  14796. vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
  14797. if ( !vkCmdNextSubpass2 )
  14798. vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
  14799. vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
  14800. if ( !vkCmdEndRenderPass2 )
  14801. vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
  14802. //=== VK_KHR_shared_presentable_image ===
  14803. vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
  14804. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  14805. //=== VK_KHR_external_fence_win32 ===
  14806. vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
  14807. vkGetFenceWin32HandleKHR = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
  14808. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  14809. //=== VK_KHR_external_fence_fd ===
  14810. vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
  14811. vkGetFenceFdKHR = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
  14812. //=== VK_KHR_performance_query ===
  14813. vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
  14814. vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
  14815. //=== VK_EXT_debug_utils ===
  14816. vkSetDebugUtilsObjectNameEXT = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
  14817. vkSetDebugUtilsObjectTagEXT = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
  14818. vkQueueBeginDebugUtilsLabelEXT = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
  14819. vkQueueEndDebugUtilsLabelEXT = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
  14820. vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
  14821. vkCmdBeginDebugUtilsLabelEXT = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
  14822. vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
  14823. vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
  14824. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  14825. //=== VK_ANDROID_external_memory_android_hardware_buffer ===
  14826. vkGetAndroidHardwareBufferPropertiesANDROID =
  14827. PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
  14828. vkGetMemoryAndroidHardwareBufferANDROID =
  14829. PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
  14830. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  14831. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  14832. //=== VK_AMDX_shader_enqueue ===
  14833. vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) );
  14834. vkGetExecutionGraphPipelineScratchSizeAMDX =
  14835. PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
  14836. vkGetExecutionGraphPipelineNodeIndexAMDX =
  14837. PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
  14838. vkCmdInitializeGraphScratchMemoryAMDX =
  14839. PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
  14840. vkCmdDispatchGraphAMDX = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) );
  14841. vkCmdDispatchGraphIndirectAMDX = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) );
  14842. vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) );
  14843. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  14844. //=== VK_EXT_sample_locations ===
  14845. vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
  14846. //=== VK_KHR_get_memory_requirements2 ===
  14847. vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
  14848. if ( !vkGetImageMemoryRequirements2 )
  14849. vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
  14850. vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
  14851. if ( !vkGetBufferMemoryRequirements2 )
  14852. vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
  14853. vkGetImageSparseMemoryRequirements2KHR =
  14854. PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
  14855. if ( !vkGetImageSparseMemoryRequirements2 )
  14856. vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
  14857. //=== VK_KHR_acceleration_structure ===
  14858. vkCreateAccelerationStructureKHR = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
  14859. vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
  14860. vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
  14861. vkCmdBuildAccelerationStructuresIndirectKHR =
  14862. PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
  14863. vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
  14864. vkCopyAccelerationStructureKHR = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
  14865. vkCopyAccelerationStructureToMemoryKHR =
  14866. PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
  14867. vkCopyMemoryToAccelerationStructureKHR =
  14868. PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
  14869. vkWriteAccelerationStructuresPropertiesKHR =
  14870. PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
  14871. vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
  14872. vkCmdCopyAccelerationStructureToMemoryKHR =
  14873. PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
  14874. vkCmdCopyMemoryToAccelerationStructureKHR =
  14875. PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
  14876. vkGetAccelerationStructureDeviceAddressKHR =
  14877. PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
  14878. vkCmdWriteAccelerationStructuresPropertiesKHR =
  14879. PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
  14880. vkGetDeviceAccelerationStructureCompatibilityKHR =
  14881. PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
  14882. vkGetAccelerationStructureBuildSizesKHR =
  14883. PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
  14884. //=== VK_KHR_ray_tracing_pipeline ===
  14885. vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
  14886. vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
  14887. vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
  14888. vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
  14889. PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
  14890. vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
  14891. vkGetRayTracingShaderGroupStackSizeKHR =
  14892. PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
  14893. vkCmdSetRayTracingPipelineStackSizeKHR =
  14894. PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
  14895. //=== VK_KHR_sampler_ycbcr_conversion ===
  14896. vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
  14897. if ( !vkCreateSamplerYcbcrConversion )
  14898. vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
  14899. vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
  14900. if ( !vkDestroySamplerYcbcrConversion )
  14901. vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
  14902. //=== VK_KHR_bind_memory2 ===
  14903. vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
  14904. if ( !vkBindBufferMemory2 )
  14905. vkBindBufferMemory2 = vkBindBufferMemory2KHR;
  14906. vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
  14907. if ( !vkBindImageMemory2 )
  14908. vkBindImageMemory2 = vkBindImageMemory2KHR;
  14909. //=== VK_EXT_image_drm_format_modifier ===
  14910. vkGetImageDrmFormatModifierPropertiesEXT =
  14911. PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
  14912. //=== VK_EXT_validation_cache ===
  14913. vkCreateValidationCacheEXT = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
  14914. vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
  14915. vkMergeValidationCachesEXT = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
  14916. vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
  14917. //=== VK_NV_shading_rate_image ===
  14918. vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
  14919. vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
  14920. vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
  14921. //=== VK_NV_ray_tracing ===
  14922. vkCreateAccelerationStructureNV = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
  14923. vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
  14924. vkGetAccelerationStructureMemoryRequirementsNV =
  14925. PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
  14926. vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
  14927. vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
  14928. vkCmdCopyAccelerationStructureNV = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
  14929. vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
  14930. vkCreateRayTracingPipelinesNV = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
  14931. vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
  14932. if ( !vkGetRayTracingShaderGroupHandlesKHR )
  14933. vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
  14934. vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
  14935. vkCmdWriteAccelerationStructuresPropertiesNV =
  14936. PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
  14937. vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
  14938. //=== VK_KHR_maintenance3 ===
  14939. vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
  14940. if ( !vkGetDescriptorSetLayoutSupport )
  14941. vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
  14942. //=== VK_KHR_draw_indirect_count ===
  14943. vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
  14944. if ( !vkCmdDrawIndirectCount )
  14945. vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
  14946. vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
  14947. if ( !vkCmdDrawIndexedIndirectCount )
  14948. vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
  14949. //=== VK_EXT_external_memory_host ===
  14950. vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
  14951. //=== VK_AMD_buffer_marker ===
  14952. vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
  14953. //=== VK_EXT_calibrated_timestamps ===
  14954. vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
  14955. //=== VK_NV_mesh_shader ===
  14956. vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
  14957. vkCmdDrawMeshTasksIndirectNV = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
  14958. vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
  14959. //=== VK_NV_scissor_exclusive ===
  14960. vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) );
  14961. vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
  14962. //=== VK_NV_device_diagnostic_checkpoints ===
  14963. vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
  14964. vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
  14965. //=== VK_KHR_timeline_semaphore ===
  14966. vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
  14967. if ( !vkGetSemaphoreCounterValue )
  14968. vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
  14969. vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
  14970. if ( !vkWaitSemaphores )
  14971. vkWaitSemaphores = vkWaitSemaphoresKHR;
  14972. vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
  14973. if ( !vkSignalSemaphore )
  14974. vkSignalSemaphore = vkSignalSemaphoreKHR;
  14975. //=== VK_INTEL_performance_query ===
  14976. vkInitializePerformanceApiINTEL = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
  14977. vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
  14978. vkCmdSetPerformanceMarkerINTEL = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
  14979. vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
  14980. vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
  14981. vkAcquirePerformanceConfigurationINTEL =
  14982. PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
  14983. vkReleasePerformanceConfigurationINTEL =
  14984. PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
  14985. vkQueueSetPerformanceConfigurationINTEL =
  14986. PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
  14987. vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
  14988. //=== VK_AMD_display_native_hdr ===
  14989. vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
  14990. //=== VK_KHR_fragment_shading_rate ===
  14991. vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
  14992. //=== VK_EXT_buffer_device_address ===
  14993. vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
  14994. if ( !vkGetBufferDeviceAddress )
  14995. vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
  14996. //=== VK_KHR_present_wait ===
  14997. vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
  14998. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  14999. //=== VK_EXT_full_screen_exclusive ===
  15000. vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
  15001. vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
  15002. vkGetDeviceGroupSurfacePresentModes2EXT =
  15003. PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
  15004. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  15005. //=== VK_KHR_buffer_device_address ===
  15006. vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
  15007. if ( !vkGetBufferDeviceAddress )
  15008. vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
  15009. vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
  15010. if ( !vkGetBufferOpaqueCaptureAddress )
  15011. vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
  15012. vkGetDeviceMemoryOpaqueCaptureAddressKHR =
  15013. PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
  15014. if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
  15015. vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
  15016. //=== VK_EXT_line_rasterization ===
  15017. vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
  15018. //=== VK_EXT_host_query_reset ===
  15019. vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
  15020. if ( !vkResetQueryPool )
  15021. vkResetQueryPool = vkResetQueryPoolEXT;
  15022. //=== VK_EXT_extended_dynamic_state ===
  15023. vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
  15024. if ( !vkCmdSetCullMode )
  15025. vkCmdSetCullMode = vkCmdSetCullModeEXT;
  15026. vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
  15027. if ( !vkCmdSetFrontFace )
  15028. vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
  15029. vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
  15030. if ( !vkCmdSetPrimitiveTopology )
  15031. vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
  15032. vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
  15033. if ( !vkCmdSetViewportWithCount )
  15034. vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
  15035. vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
  15036. if ( !vkCmdSetScissorWithCount )
  15037. vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
  15038. vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
  15039. if ( !vkCmdBindVertexBuffers2 )
  15040. vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
  15041. vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
  15042. if ( !vkCmdSetDepthTestEnable )
  15043. vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
  15044. vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
  15045. if ( !vkCmdSetDepthWriteEnable )
  15046. vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
  15047. vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
  15048. if ( !vkCmdSetDepthCompareOp )
  15049. vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
  15050. vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
  15051. if ( !vkCmdSetDepthBoundsTestEnable )
  15052. vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
  15053. vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
  15054. if ( !vkCmdSetStencilTestEnable )
  15055. vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
  15056. vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
  15057. if ( !vkCmdSetStencilOp )
  15058. vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
  15059. //=== VK_KHR_deferred_host_operations ===
  15060. vkCreateDeferredOperationKHR = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
  15061. vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
  15062. vkGetDeferredOperationMaxConcurrencyKHR =
  15063. PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
  15064. vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
  15065. vkDeferredOperationJoinKHR = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
  15066. //=== VK_KHR_pipeline_executable_properties ===
  15067. vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
  15068. vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
  15069. vkGetPipelineExecutableInternalRepresentationsKHR =
  15070. PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
  15071. //=== VK_EXT_host_image_copy ===
  15072. vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) );
  15073. vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) );
  15074. vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) );
  15075. vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) );
  15076. vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) );
  15077. if ( !vkGetImageSubresourceLayout2KHR )
  15078. vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
  15079. //=== VK_KHR_map_memory2 ===
  15080. vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) );
  15081. vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) );
  15082. //=== VK_EXT_swapchain_maintenance1 ===
  15083. vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) );
  15084. //=== VK_NV_device_generated_commands ===
  15085. vkGetGeneratedCommandsMemoryRequirementsNV =
  15086. PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
  15087. vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
  15088. vkCmdExecuteGeneratedCommandsNV = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
  15089. vkCmdBindPipelineShaderGroupNV = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
  15090. vkCreateIndirectCommandsLayoutNV = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
  15091. vkDestroyIndirectCommandsLayoutNV = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
  15092. //=== VK_EXT_depth_bias_control ===
  15093. vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) );
  15094. //=== VK_EXT_private_data ===
  15095. vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
  15096. if ( !vkCreatePrivateDataSlot )
  15097. vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
  15098. vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
  15099. if ( !vkDestroyPrivateDataSlot )
  15100. vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
  15101. vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
  15102. if ( !vkSetPrivateData )
  15103. vkSetPrivateData = vkSetPrivateDataEXT;
  15104. vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
  15105. if ( !vkGetPrivateData )
  15106. vkGetPrivateData = vkGetPrivateDataEXT;
  15107. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  15108. //=== VK_KHR_video_encode_queue ===
  15109. vkGetEncodedVideoSessionParametersKHR =
  15110. PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) );
  15111. vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
  15112. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  15113. #if defined( VK_USE_PLATFORM_METAL_EXT )
  15114. //=== VK_EXT_metal_objects ===
  15115. vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) );
  15116. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  15117. //=== VK_KHR_synchronization2 ===
  15118. vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
  15119. if ( !vkCmdSetEvent2 )
  15120. vkCmdSetEvent2 = vkCmdSetEvent2KHR;
  15121. vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
  15122. if ( !vkCmdResetEvent2 )
  15123. vkCmdResetEvent2 = vkCmdResetEvent2KHR;
  15124. vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
  15125. if ( !vkCmdWaitEvents2 )
  15126. vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
  15127. vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
  15128. if ( !vkCmdPipelineBarrier2 )
  15129. vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
  15130. vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
  15131. if ( !vkCmdWriteTimestamp2 )
  15132. vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
  15133. vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
  15134. if ( !vkQueueSubmit2 )
  15135. vkQueueSubmit2 = vkQueueSubmit2KHR;
  15136. vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
  15137. vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
  15138. //=== VK_EXT_descriptor_buffer ===
  15139. vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
  15140. vkGetDescriptorSetLayoutBindingOffsetEXT =
  15141. PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
  15142. vkGetDescriptorEXT = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
  15143. vkCmdBindDescriptorBuffersEXT = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
  15144. vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
  15145. vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
  15146. PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
  15147. vkGetBufferOpaqueCaptureDescriptorDataEXT =
  15148. PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
  15149. vkGetImageOpaqueCaptureDescriptorDataEXT =
  15150. PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
  15151. vkGetImageViewOpaqueCaptureDescriptorDataEXT =
  15152. PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
  15153. vkGetSamplerOpaqueCaptureDescriptorDataEXT =
  15154. PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
  15155. vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
  15156. vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
  15157. //=== VK_NV_fragment_shading_rate_enums ===
  15158. vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
  15159. //=== VK_EXT_mesh_shader ===
  15160. vkCmdDrawMeshTasksEXT = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) );
  15161. vkCmdDrawMeshTasksIndirectEXT = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) );
  15162. vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
  15163. //=== VK_KHR_copy_commands2 ===
  15164. vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
  15165. if ( !vkCmdCopyBuffer2 )
  15166. vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
  15167. vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
  15168. if ( !vkCmdCopyImage2 )
  15169. vkCmdCopyImage2 = vkCmdCopyImage2KHR;
  15170. vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
  15171. if ( !vkCmdCopyBufferToImage2 )
  15172. vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
  15173. vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
  15174. if ( !vkCmdCopyImageToBuffer2 )
  15175. vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
  15176. vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
  15177. if ( !vkCmdBlitImage2 )
  15178. vkCmdBlitImage2 = vkCmdBlitImage2KHR;
  15179. vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
  15180. if ( !vkCmdResolveImage2 )
  15181. vkCmdResolveImage2 = vkCmdResolveImage2KHR;
  15182. //=== VK_EXT_device_fault ===
  15183. vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
  15184. //=== VK_EXT_vertex_input_dynamic_state ===
  15185. vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
  15186. #if defined( VK_USE_PLATFORM_FUCHSIA )
  15187. //=== VK_FUCHSIA_external_memory ===
  15188. vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
  15189. vkGetMemoryZirconHandlePropertiesFUCHSIA =
  15190. PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
  15191. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  15192. #if defined( VK_USE_PLATFORM_FUCHSIA )
  15193. //=== VK_FUCHSIA_external_semaphore ===
  15194. vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
  15195. vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
  15196. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  15197. #if defined( VK_USE_PLATFORM_FUCHSIA )
  15198. //=== VK_FUCHSIA_buffer_collection ===
  15199. vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
  15200. vkSetBufferCollectionImageConstraintsFUCHSIA =
  15201. PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
  15202. vkSetBufferCollectionBufferConstraintsFUCHSIA =
  15203. PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
  15204. vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
  15205. vkGetBufferCollectionPropertiesFUCHSIA =
  15206. PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
  15207. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  15208. //=== VK_HUAWEI_subpass_shading ===
  15209. vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
  15210. PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
  15211. vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
  15212. //=== VK_HUAWEI_invocation_mask ===
  15213. vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
  15214. //=== VK_NV_external_memory_rdma ===
  15215. vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
  15216. //=== VK_EXT_pipeline_properties ===
  15217. vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) );
  15218. //=== VK_EXT_extended_dynamic_state2 ===
  15219. vkCmdSetPatchControlPointsEXT = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
  15220. vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
  15221. if ( !vkCmdSetRasterizerDiscardEnable )
  15222. vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
  15223. vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
  15224. if ( !vkCmdSetDepthBiasEnable )
  15225. vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
  15226. vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
  15227. vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
  15228. if ( !vkCmdSetPrimitiveRestartEnable )
  15229. vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
  15230. //=== VK_EXT_color_write_enable ===
  15231. vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
  15232. //=== VK_KHR_ray_tracing_maintenance1 ===
  15233. vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) );
  15234. //=== VK_EXT_multi_draw ===
  15235. vkCmdDrawMultiEXT = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
  15236. vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
  15237. //=== VK_EXT_opacity_micromap ===
  15238. vkCreateMicromapEXT = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) );
  15239. vkDestroyMicromapEXT = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) );
  15240. vkCmdBuildMicromapsEXT = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) );
  15241. vkBuildMicromapsEXT = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) );
  15242. vkCopyMicromapEXT = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) );
  15243. vkCopyMicromapToMemoryEXT = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) );
  15244. vkCopyMemoryToMicromapEXT = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) );
  15245. vkWriteMicromapsPropertiesEXT = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) );
  15246. vkCmdCopyMicromapEXT = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) );
  15247. vkCmdCopyMicromapToMemoryEXT = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) );
  15248. vkCmdCopyMemoryToMicromapEXT = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) );
  15249. vkCmdWriteMicromapsPropertiesEXT = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) );
  15250. vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) );
  15251. vkGetMicromapBuildSizesEXT = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) );
  15252. //=== VK_HUAWEI_cluster_culling_shader ===
  15253. vkCmdDrawClusterHUAWEI = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) );
  15254. vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) );
  15255. //=== VK_EXT_pageable_device_local_memory ===
  15256. vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
  15257. //=== VK_KHR_maintenance4 ===
  15258. vkGetDeviceBufferMemoryRequirementsKHR =
  15259. PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
  15260. if ( !vkGetDeviceBufferMemoryRequirements )
  15261. vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
  15262. vkGetDeviceImageMemoryRequirementsKHR =
  15263. PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
  15264. if ( !vkGetDeviceImageMemoryRequirements )
  15265. vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
  15266. vkGetDeviceImageSparseMemoryRequirementsKHR =
  15267. PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
  15268. if ( !vkGetDeviceImageSparseMemoryRequirements )
  15269. vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
  15270. //=== VK_VALVE_descriptor_set_host_mapping ===
  15271. vkGetDescriptorSetLayoutHostMappingInfoVALVE =
  15272. PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
  15273. vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) );
  15274. //=== VK_NV_copy_memory_indirect ===
  15275. vkCmdCopyMemoryIndirectNV = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) );
  15276. vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) );
  15277. //=== VK_NV_memory_decompression ===
  15278. vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) );
  15279. vkCmdDecompressMemoryIndirectCountNV = PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) );
  15280. //=== VK_NV_device_generated_commands_compute ===
  15281. vkGetPipelineIndirectMemoryRequirementsNV =
  15282. PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
  15283. vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) );
  15284. vkGetPipelineIndirectDeviceAddressNV = PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
  15285. //=== VK_EXT_extended_dynamic_state3 ===
  15286. vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
  15287. vkCmdSetDepthClampEnableEXT = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
  15288. vkCmdSetPolygonModeEXT = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
  15289. vkCmdSetRasterizationSamplesEXT = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
  15290. vkCmdSetSampleMaskEXT = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) );
  15291. vkCmdSetAlphaToCoverageEnableEXT = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) );
  15292. vkCmdSetAlphaToOneEnableEXT = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) );
  15293. vkCmdSetLogicOpEnableEXT = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) );
  15294. vkCmdSetColorBlendEnableEXT = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
  15295. vkCmdSetColorBlendEquationEXT = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
  15296. vkCmdSetColorWriteMaskEXT = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
  15297. vkCmdSetRasterizationStreamEXT = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
  15298. vkCmdSetConservativeRasterizationModeEXT =
  15299. PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
  15300. vkCmdSetExtraPrimitiveOverestimationSizeEXT =
  15301. PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
  15302. vkCmdSetDepthClipEnableEXT = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) );
  15303. vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) );
  15304. vkCmdSetColorBlendAdvancedEXT = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) );
  15305. vkCmdSetProvokingVertexModeEXT = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) );
  15306. vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) );
  15307. vkCmdSetLineStippleEnableEXT = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) );
  15308. vkCmdSetDepthClipNegativeOneToOneEXT = PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
  15309. vkCmdSetViewportWScalingEnableNV = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) );
  15310. vkCmdSetViewportSwizzleNV = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) );
  15311. vkCmdSetCoverageToColorEnableNV = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) );
  15312. vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) );
  15313. vkCmdSetCoverageModulationModeNV = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) );
  15314. vkCmdSetCoverageModulationTableEnableNV =
  15315. PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) );
  15316. vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) );
  15317. vkCmdSetShadingRateImageEnableNV = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) );
  15318. vkCmdSetRepresentativeFragmentTestEnableNV =
  15319. PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
  15320. vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) );
  15321. //=== VK_EXT_shader_module_identifier ===
  15322. vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) );
  15323. vkGetShaderModuleCreateInfoIdentifierEXT =
  15324. PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
  15325. //=== VK_NV_optical_flow ===
  15326. vkCreateOpticalFlowSessionNV = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) );
  15327. vkDestroyOpticalFlowSessionNV = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) );
  15328. vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) );
  15329. vkCmdOpticalFlowExecuteNV = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) );
  15330. //=== VK_KHR_maintenance5 ===
  15331. vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) );
  15332. vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) );
  15333. vkGetDeviceImageSubresourceLayoutKHR = PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) );
  15334. vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) );
  15335. //=== VK_EXT_shader_object ===
  15336. vkCreateShadersEXT = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
  15337. vkDestroyShaderEXT = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
  15338. vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
  15339. vkCmdBindShadersEXT = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
  15340. //=== VK_QCOM_tile_properties ===
  15341. vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) );
  15342. vkGetDynamicRenderingTilePropertiesQCOM =
  15343. PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
  15344. //=== VK_NV_low_latency2 ===
  15345. vkSetLatencySleepModeNV = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) );
  15346. vkLatencySleepNV = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) );
  15347. vkSetLatencyMarkerNV = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) );
  15348. vkGetLatencyTimingsNV = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) );
  15349. vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) );
  15350. //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
  15351. vkCmdSetAttachmentFeedbackLoopEnableEXT =
  15352. PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
  15353. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  15354. //=== VK_QNX_external_memory_screen_buffer ===
  15355. vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
  15356. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  15357. }
  15358. template <typename DynamicLoader>
  15359. void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
  15360. {
  15361. PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
  15362. PFN_vkGetDeviceProcAddr getDeviceProcAddr = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
  15363. init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
  15364. }
  15365. template <typename DynamicLoader
  15366. #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
  15367. = VULKAN_HPP_NAMESPACE::DynamicLoader
  15368. #endif
  15369. >
  15370. void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
  15371. {
  15372. static DynamicLoader dl;
  15373. init( instance, device, dl );
  15374. }
  15375. };
  15376. } // namespace VULKAN_HPP_NAMESPACE
  15377. #endif