vulkan.h 279 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508
  1. /**
  2. * Loader generated by glad 2.0.0-beta on Wed Jul 13 21:24:58 2022
  3. *
  4. * Generator: C/C++
  5. * Specification: vk
  6. * Extensions: 4
  7. *
  8. * APIs:
  9. * - vulkan=1.3
  10. *
  11. * Options:
  12. * - ALIAS = False
  13. * - DEBUG = False
  14. * - HEADER_ONLY = False
  15. * - LOADER = False
  16. * - MX = False
  17. * - MX_GLOBAL = False
  18. * - ON_DEMAND = False
  19. *
  20. * Commandline:
  21. * --api='vulkan=1.3' --extensions='VK_EXT_debug_report,VK_KHR_portability_enumeration,VK_KHR_surface,VK_KHR_swapchain' c
  22. *
  23. * Online:
  24. * http://glad.sh/#api=vulkan%3D1.3&extensions=VK_EXT_debug_report%2CVK_KHR_portability_enumeration%2CVK_KHR_surface%2CVK_KHR_swapchain&generator=c&options=
  25. *
  26. */
  27. #ifndef GLAD_VULKAN_H_
  28. #define GLAD_VULKAN_H_
  29. #ifdef VULKAN_H_
  30. #error header already included (API: vulkan), remove previous include!
  31. #endif
  32. #define VULKAN_H_ 1
  33. #ifdef VULKAN_CORE_H_
  34. #error header already included (API: vulkan), remove previous include!
  35. #endif
  36. #define VULKAN_CORE_H_ 1
  37. #define GLAD_VULKAN
  38. #ifdef __cplusplus
  39. extern "C" {
  40. #endif
  41. #ifndef GLAD_PLATFORM_H_
  42. #define GLAD_PLATFORM_H_
  43. #ifndef GLAD_PLATFORM_WIN32
  44. #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
  45. #define GLAD_PLATFORM_WIN32 1
  46. #else
  47. #define GLAD_PLATFORM_WIN32 0
  48. #endif
  49. #endif
  50. #ifndef GLAD_PLATFORM_APPLE
  51. #ifdef __APPLE__
  52. #define GLAD_PLATFORM_APPLE 1
  53. #else
  54. #define GLAD_PLATFORM_APPLE 0
  55. #endif
  56. #endif
  57. #ifndef GLAD_PLATFORM_EMSCRIPTEN
  58. #ifdef __EMSCRIPTEN__
  59. #define GLAD_PLATFORM_EMSCRIPTEN 1
  60. #else
  61. #define GLAD_PLATFORM_EMSCRIPTEN 0
  62. #endif
  63. #endif
  64. #ifndef GLAD_PLATFORM_UWP
  65. #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
  66. #ifdef __has_include
  67. #if __has_include(<winapifamily.h>)
  68. #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
  69. #endif
  70. #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
  71. #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
  72. #endif
  73. #endif
  74. #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
  75. #include <winapifamily.h>
  76. #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  77. #define GLAD_PLATFORM_UWP 1
  78. #endif
  79. #endif
  80. #ifndef GLAD_PLATFORM_UWP
  81. #define GLAD_PLATFORM_UWP 0
  82. #endif
  83. #endif
  84. #ifdef __GNUC__
  85. #define GLAD_GNUC_EXTENSION __extension__
  86. #else
  87. #define GLAD_GNUC_EXTENSION
  88. #endif
  89. #ifndef GLAD_API_CALL
  90. #if defined(GLAD_API_CALL_EXPORT)
  91. #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
  92. #if defined(GLAD_API_CALL_EXPORT_BUILD)
  93. #if defined(__GNUC__)
  94. #define GLAD_API_CALL __attribute__ ((dllexport)) extern
  95. #else
  96. #define GLAD_API_CALL __declspec(dllexport) extern
  97. #endif
  98. #else
  99. #if defined(__GNUC__)
  100. #define GLAD_API_CALL __attribute__ ((dllimport)) extern
  101. #else
  102. #define GLAD_API_CALL __declspec(dllimport) extern
  103. #endif
  104. #endif
  105. #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
  106. #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
  107. #else
  108. #define GLAD_API_CALL extern
  109. #endif
  110. #else
  111. #define GLAD_API_CALL extern
  112. #endif
  113. #endif
  114. #ifdef APIENTRY
  115. #define GLAD_API_PTR APIENTRY
  116. #elif GLAD_PLATFORM_WIN32
  117. #define GLAD_API_PTR __stdcall
  118. #else
  119. #define GLAD_API_PTR
  120. #endif
  121. #ifndef GLAPI
  122. #define GLAPI GLAD_API_CALL
  123. #endif
  124. #ifndef GLAPIENTRY
  125. #define GLAPIENTRY GLAD_API_PTR
  126. #endif
  127. #define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
  128. #define GLAD_VERSION_MAJOR(version) (version / 10000)
  129. #define GLAD_VERSION_MINOR(version) (version % 10000)
  130. #define GLAD_GENERATOR_VERSION "2.0.0-beta"
  131. typedef void (*GLADapiproc)(void);
  132. typedef GLADapiproc (*GLADloadfunc)(const char *name);
  133. typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name);
  134. typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
  135. typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
  136. #endif /* GLAD_PLATFORM_H_ */
  137. #define VK_ATTACHMENT_UNUSED (~0U)
  138. #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
  139. #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
  140. #define VK_FALSE 0
  141. #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
  142. #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
  143. #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
  144. #define VK_KHR_SURFACE_SPEC_VERSION 25
  145. #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
  146. #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
  147. #define VK_LOD_CLAMP_NONE 1000.0F
  148. #define VK_LUID_SIZE 8
  149. #define VK_MAX_DESCRIPTION_SIZE 256
  150. #define VK_MAX_DEVICE_GROUP_SIZE 32
  151. #define VK_MAX_DRIVER_INFO_SIZE 256
  152. #define VK_MAX_DRIVER_NAME_SIZE 256
  153. #define VK_MAX_EXTENSION_NAME_SIZE 256
  154. #define VK_MAX_MEMORY_HEAPS 16
  155. #define VK_MAX_MEMORY_TYPES 32
  156. #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
  157. #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
  158. #define VK_QUEUE_FAMILY_IGNORED (~0U)
  159. #define VK_REMAINING_ARRAY_LAYERS (~0U)
  160. #define VK_REMAINING_MIP_LEVELS (~0U)
  161. #define VK_SUBPASS_EXTERNAL (~0U)
  162. #define VK_TRUE 1
  163. #define VK_UUID_SIZE 16
  164. #define VK_WHOLE_SIZE (~0ULL)
  165. #include "vk_platform.h"
  166. /* DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. */
  167. #define VK_MAKE_VERSION(major, minor, patch) \
  168. ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
  169. /* DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. */
  170. #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
  171. /* DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. */
  172. #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
  173. /* DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. */
  174. #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
  175. #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
  176. ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
  177. #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29)
  178. #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU)
  179. #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
  180. #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
  181. /* DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. */
  182. /*#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 */
  183. /* Vulkan 1.0 version number */
  184. #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)/* Patch version should always be set to 0 */
  185. /* Vulkan 1.1 version number */
  186. #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)/* Patch version should always be set to 0 */
  187. /* Vulkan 1.2 version number */
  188. #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)/* Patch version should always be set to 0 */
  189. /* Vulkan 1.3 version number */
  190. #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)/* Patch version should always be set to 0 */
  191. /* Version of this file */
  192. #define VK_HEADER_VERSION 220
  193. /* Complete version of this file */
  194. #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
  195. #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
  196. #ifndef VK_USE_64_BIT_PTR_DEFINES
  197. #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
  198. #define VK_USE_64_BIT_PTR_DEFINES 1
  199. #else
  200. #define VK_USE_64_BIT_PTR_DEFINES 0
  201. #endif
  202. #endif
  203. #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
  204. #if (VK_USE_64_BIT_PTR_DEFINES==1)
  205. #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
  206. #define VK_NULL_HANDLE nullptr
  207. #else
  208. #define VK_NULL_HANDLE ((void*)0)
  209. #endif
  210. #else
  211. #define VK_NULL_HANDLE 0ULL
  212. #endif
  213. #endif
  214. #ifndef VK_NULL_HANDLE
  215. #define VK_NULL_HANDLE 0
  216. #endif
  217. #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
  218. #if (VK_USE_64_BIT_PTR_DEFINES==1)
  219. #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
  220. #else
  221. #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
  222. #endif
  223. #endif
  224. VK_DEFINE_HANDLE(VkInstance)
  225. VK_DEFINE_HANDLE(VkPhysicalDevice)
  226. VK_DEFINE_HANDLE(VkDevice)
  227. VK_DEFINE_HANDLE(VkQueue)
  228. VK_DEFINE_HANDLE(VkCommandBuffer)
  229. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
  230. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
  231. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
  232. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
  233. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
  234. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
  235. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
  236. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
  237. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
  238. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
  239. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
  240. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
  241. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
  242. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
  243. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
  244. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
  245. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
  246. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
  247. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
  248. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
  249. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
  250. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
  251. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
  252. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
  253. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
  254. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
  255. typedef enum VkAttachmentLoadOp {
  256. VK_ATTACHMENT_LOAD_OP_LOAD = 0,
  257. VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
  258. VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
  259. VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
  260. } VkAttachmentLoadOp;
  261. typedef enum VkAttachmentStoreOp {
  262. VK_ATTACHMENT_STORE_OP_STORE = 0,
  263. VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
  264. VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
  265. VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
  266. } VkAttachmentStoreOp;
  267. typedef enum VkBlendFactor {
  268. VK_BLEND_FACTOR_ZERO = 0,
  269. VK_BLEND_FACTOR_ONE = 1,
  270. VK_BLEND_FACTOR_SRC_COLOR = 2,
  271. VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
  272. VK_BLEND_FACTOR_DST_COLOR = 4,
  273. VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
  274. VK_BLEND_FACTOR_SRC_ALPHA = 6,
  275. VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
  276. VK_BLEND_FACTOR_DST_ALPHA = 8,
  277. VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
  278. VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
  279. VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
  280. VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
  281. VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
  282. VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
  283. VK_BLEND_FACTOR_SRC1_COLOR = 15,
  284. VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
  285. VK_BLEND_FACTOR_SRC1_ALPHA = 17,
  286. VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
  287. VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
  288. } VkBlendFactor;
  289. typedef enum VkBlendOp {
  290. VK_BLEND_OP_ADD = 0,
  291. VK_BLEND_OP_SUBTRACT = 1,
  292. VK_BLEND_OP_REVERSE_SUBTRACT = 2,
  293. VK_BLEND_OP_MIN = 3,
  294. VK_BLEND_OP_MAX = 4,
  295. VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
  296. } VkBlendOp;
  297. typedef enum VkBorderColor {
  298. VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
  299. VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
  300. VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
  301. VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
  302. VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
  303. VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
  304. VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
  305. } VkBorderColor;
  306. typedef enum VkFramebufferCreateFlagBits {
  307. VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 1,
  308. VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  309. } VkFramebufferCreateFlagBits;
  310. typedef enum VkPipelineCacheHeaderVersion {
  311. VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
  312. VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
  313. } VkPipelineCacheHeaderVersion;
  314. typedef enum VkPipelineCacheCreateFlagBits {
  315. VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1,
  316. VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  317. } VkPipelineCacheCreateFlagBits;
  318. typedef enum VkPipelineShaderStageCreateFlagBits {
  319. VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1,
  320. VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2,
  321. VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  322. } VkPipelineShaderStageCreateFlagBits;
  323. typedef enum VkDescriptorSetLayoutCreateFlagBits {
  324. VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 2,
  325. VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  326. } VkDescriptorSetLayoutCreateFlagBits;
  327. typedef enum VkInstanceCreateFlagBits {
  328. VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 1,
  329. VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  330. } VkInstanceCreateFlagBits;
  331. typedef enum VkDeviceQueueCreateFlagBits {
  332. VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 1,
  333. VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  334. } VkDeviceQueueCreateFlagBits;
  335. typedef enum VkBufferCreateFlagBits {
  336. VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1,
  337. VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2,
  338. VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4,
  339. VK_BUFFER_CREATE_PROTECTED_BIT = 8,
  340. VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 16,
  341. VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  342. } VkBufferCreateFlagBits;
  343. typedef enum VkBufferUsageFlagBits {
  344. VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1,
  345. VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2,
  346. VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4,
  347. VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 8,
  348. VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 16,
  349. VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 32,
  350. VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64,
  351. VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128,
  352. VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256,
  353. VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 131072,
  354. VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  355. } VkBufferUsageFlagBits;
  356. typedef enum VkColorComponentFlagBits {
  357. VK_COLOR_COMPONENT_R_BIT = 1,
  358. VK_COLOR_COMPONENT_G_BIT = 2,
  359. VK_COLOR_COMPONENT_B_BIT = 4,
  360. VK_COLOR_COMPONENT_A_BIT = 8,
  361. VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  362. } VkColorComponentFlagBits;
  363. typedef enum VkComponentSwizzle {
  364. VK_COMPONENT_SWIZZLE_IDENTITY = 0,
  365. VK_COMPONENT_SWIZZLE_ZERO = 1,
  366. VK_COMPONENT_SWIZZLE_ONE = 2,
  367. VK_COMPONENT_SWIZZLE_R = 3,
  368. VK_COMPONENT_SWIZZLE_G = 4,
  369. VK_COMPONENT_SWIZZLE_B = 5,
  370. VK_COMPONENT_SWIZZLE_A = 6,
  371. VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
  372. } VkComponentSwizzle;
  373. typedef enum VkCommandPoolCreateFlagBits {
  374. VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1,
  375. VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2,
  376. VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 4,
  377. VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  378. } VkCommandPoolCreateFlagBits;
  379. typedef enum VkCommandPoolResetFlagBits {
  380. VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1,
  381. VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  382. } VkCommandPoolResetFlagBits;
  383. typedef enum VkCommandBufferResetFlagBits {
  384. VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1,
  385. VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  386. } VkCommandBufferResetFlagBits;
  387. typedef enum VkCommandBufferLevel {
  388. VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
  389. VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
  390. VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
  391. } VkCommandBufferLevel;
  392. typedef enum VkCommandBufferUsageFlagBits {
  393. VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1,
  394. VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2,
  395. VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4,
  396. VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  397. } VkCommandBufferUsageFlagBits;
  398. typedef enum VkCompareOp {
  399. VK_COMPARE_OP_NEVER = 0,
  400. VK_COMPARE_OP_LESS = 1,
  401. VK_COMPARE_OP_EQUAL = 2,
  402. VK_COMPARE_OP_LESS_OR_EQUAL = 3,
  403. VK_COMPARE_OP_GREATER = 4,
  404. VK_COMPARE_OP_NOT_EQUAL = 5,
  405. VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
  406. VK_COMPARE_OP_ALWAYS = 7,
  407. VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
  408. } VkCompareOp;
  409. typedef enum VkCullModeFlagBits {
  410. VK_CULL_MODE_NONE = 0,
  411. VK_CULL_MODE_FRONT_BIT = 1,
  412. VK_CULL_MODE_BACK_BIT = 2,
  413. VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
  414. VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  415. } VkCullModeFlagBits;
  416. typedef enum VkDescriptorType {
  417. VK_DESCRIPTOR_TYPE_SAMPLER = 0,
  418. VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
  419. VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
  420. VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
  421. VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
  422. VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
  423. VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
  424. VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
  425. VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
  426. VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
  427. VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
  428. VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
  429. VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
  430. } VkDescriptorType;
  431. typedef enum VkDynamicState {
  432. VK_DYNAMIC_STATE_VIEWPORT = 0,
  433. VK_DYNAMIC_STATE_SCISSOR = 1,
  434. VK_DYNAMIC_STATE_LINE_WIDTH = 2,
  435. VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
  436. VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
  437. VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
  438. VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
  439. VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
  440. VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
  441. VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
  442. VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
  443. VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
  444. VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
  445. VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
  446. VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
  447. VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
  448. VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
  449. VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
  450. VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
  451. VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
  452. VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
  453. VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
  454. VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
  455. VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
  456. VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
  457. } VkDynamicState;
  458. typedef enum VkFenceCreateFlagBits {
  459. VK_FENCE_CREATE_SIGNALED_BIT = 1,
  460. VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  461. } VkFenceCreateFlagBits;
  462. typedef enum VkPolygonMode {
  463. VK_POLYGON_MODE_FILL = 0,
  464. VK_POLYGON_MODE_LINE = 1,
  465. VK_POLYGON_MODE_POINT = 2,
  466. VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
  467. } VkPolygonMode;
  468. typedef enum VkFormat {
  469. VK_FORMAT_UNDEFINED = 0,
  470. VK_FORMAT_R4G4_UNORM_PACK8 = 1,
  471. VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
  472. VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
  473. VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
  474. VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
  475. VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
  476. VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
  477. VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
  478. VK_FORMAT_R8_UNORM = 9,
  479. VK_FORMAT_R8_SNORM = 10,
  480. VK_FORMAT_R8_USCALED = 11,
  481. VK_FORMAT_R8_SSCALED = 12,
  482. VK_FORMAT_R8_UINT = 13,
  483. VK_FORMAT_R8_SINT = 14,
  484. VK_FORMAT_R8_SRGB = 15,
  485. VK_FORMAT_R8G8_UNORM = 16,
  486. VK_FORMAT_R8G8_SNORM = 17,
  487. VK_FORMAT_R8G8_USCALED = 18,
  488. VK_FORMAT_R8G8_SSCALED = 19,
  489. VK_FORMAT_R8G8_UINT = 20,
  490. VK_FORMAT_R8G8_SINT = 21,
  491. VK_FORMAT_R8G8_SRGB = 22,
  492. VK_FORMAT_R8G8B8_UNORM = 23,
  493. VK_FORMAT_R8G8B8_SNORM = 24,
  494. VK_FORMAT_R8G8B8_USCALED = 25,
  495. VK_FORMAT_R8G8B8_SSCALED = 26,
  496. VK_FORMAT_R8G8B8_UINT = 27,
  497. VK_FORMAT_R8G8B8_SINT = 28,
  498. VK_FORMAT_R8G8B8_SRGB = 29,
  499. VK_FORMAT_B8G8R8_UNORM = 30,
  500. VK_FORMAT_B8G8R8_SNORM = 31,
  501. VK_FORMAT_B8G8R8_USCALED = 32,
  502. VK_FORMAT_B8G8R8_SSCALED = 33,
  503. VK_FORMAT_B8G8R8_UINT = 34,
  504. VK_FORMAT_B8G8R8_SINT = 35,
  505. VK_FORMAT_B8G8R8_SRGB = 36,
  506. VK_FORMAT_R8G8B8A8_UNORM = 37,
  507. VK_FORMAT_R8G8B8A8_SNORM = 38,
  508. VK_FORMAT_R8G8B8A8_USCALED = 39,
  509. VK_FORMAT_R8G8B8A8_SSCALED = 40,
  510. VK_FORMAT_R8G8B8A8_UINT = 41,
  511. VK_FORMAT_R8G8B8A8_SINT = 42,
  512. VK_FORMAT_R8G8B8A8_SRGB = 43,
  513. VK_FORMAT_B8G8R8A8_UNORM = 44,
  514. VK_FORMAT_B8G8R8A8_SNORM = 45,
  515. VK_FORMAT_B8G8R8A8_USCALED = 46,
  516. VK_FORMAT_B8G8R8A8_SSCALED = 47,
  517. VK_FORMAT_B8G8R8A8_UINT = 48,
  518. VK_FORMAT_B8G8R8A8_SINT = 49,
  519. VK_FORMAT_B8G8R8A8_SRGB = 50,
  520. VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
  521. VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
  522. VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
  523. VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
  524. VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
  525. VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
  526. VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
  527. VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
  528. VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
  529. VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
  530. VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
  531. VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
  532. VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
  533. VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
  534. VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
  535. VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
  536. VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
  537. VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
  538. VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
  539. VK_FORMAT_R16_UNORM = 70,
  540. VK_FORMAT_R16_SNORM = 71,
  541. VK_FORMAT_R16_USCALED = 72,
  542. VK_FORMAT_R16_SSCALED = 73,
  543. VK_FORMAT_R16_UINT = 74,
  544. VK_FORMAT_R16_SINT = 75,
  545. VK_FORMAT_R16_SFLOAT = 76,
  546. VK_FORMAT_R16G16_UNORM = 77,
  547. VK_FORMAT_R16G16_SNORM = 78,
  548. VK_FORMAT_R16G16_USCALED = 79,
  549. VK_FORMAT_R16G16_SSCALED = 80,
  550. VK_FORMAT_R16G16_UINT = 81,
  551. VK_FORMAT_R16G16_SINT = 82,
  552. VK_FORMAT_R16G16_SFLOAT = 83,
  553. VK_FORMAT_R16G16B16_UNORM = 84,
  554. VK_FORMAT_R16G16B16_SNORM = 85,
  555. VK_FORMAT_R16G16B16_USCALED = 86,
  556. VK_FORMAT_R16G16B16_SSCALED = 87,
  557. VK_FORMAT_R16G16B16_UINT = 88,
  558. VK_FORMAT_R16G16B16_SINT = 89,
  559. VK_FORMAT_R16G16B16_SFLOAT = 90,
  560. VK_FORMAT_R16G16B16A16_UNORM = 91,
  561. VK_FORMAT_R16G16B16A16_SNORM = 92,
  562. VK_FORMAT_R16G16B16A16_USCALED = 93,
  563. VK_FORMAT_R16G16B16A16_SSCALED = 94,
  564. VK_FORMAT_R16G16B16A16_UINT = 95,
  565. VK_FORMAT_R16G16B16A16_SINT = 96,
  566. VK_FORMAT_R16G16B16A16_SFLOAT = 97,
  567. VK_FORMAT_R32_UINT = 98,
  568. VK_FORMAT_R32_SINT = 99,
  569. VK_FORMAT_R32_SFLOAT = 100,
  570. VK_FORMAT_R32G32_UINT = 101,
  571. VK_FORMAT_R32G32_SINT = 102,
  572. VK_FORMAT_R32G32_SFLOAT = 103,
  573. VK_FORMAT_R32G32B32_UINT = 104,
  574. VK_FORMAT_R32G32B32_SINT = 105,
  575. VK_FORMAT_R32G32B32_SFLOAT = 106,
  576. VK_FORMAT_R32G32B32A32_UINT = 107,
  577. VK_FORMAT_R32G32B32A32_SINT = 108,
  578. VK_FORMAT_R32G32B32A32_SFLOAT = 109,
  579. VK_FORMAT_R64_UINT = 110,
  580. VK_FORMAT_R64_SINT = 111,
  581. VK_FORMAT_R64_SFLOAT = 112,
  582. VK_FORMAT_R64G64_UINT = 113,
  583. VK_FORMAT_R64G64_SINT = 114,
  584. VK_FORMAT_R64G64_SFLOAT = 115,
  585. VK_FORMAT_R64G64B64_UINT = 116,
  586. VK_FORMAT_R64G64B64_SINT = 117,
  587. VK_FORMAT_R64G64B64_SFLOAT = 118,
  588. VK_FORMAT_R64G64B64A64_UINT = 119,
  589. VK_FORMAT_R64G64B64A64_SINT = 120,
  590. VK_FORMAT_R64G64B64A64_SFLOAT = 121,
  591. VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
  592. VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
  593. VK_FORMAT_D16_UNORM = 124,
  594. VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
  595. VK_FORMAT_D32_SFLOAT = 126,
  596. VK_FORMAT_S8_UINT = 127,
  597. VK_FORMAT_D16_UNORM_S8_UINT = 128,
  598. VK_FORMAT_D24_UNORM_S8_UINT = 129,
  599. VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
  600. VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
  601. VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
  602. VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
  603. VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
  604. VK_FORMAT_BC2_UNORM_BLOCK = 135,
  605. VK_FORMAT_BC2_SRGB_BLOCK = 136,
  606. VK_FORMAT_BC3_UNORM_BLOCK = 137,
  607. VK_FORMAT_BC3_SRGB_BLOCK = 138,
  608. VK_FORMAT_BC4_UNORM_BLOCK = 139,
  609. VK_FORMAT_BC4_SNORM_BLOCK = 140,
  610. VK_FORMAT_BC5_UNORM_BLOCK = 141,
  611. VK_FORMAT_BC5_SNORM_BLOCK = 142,
  612. VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
  613. VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
  614. VK_FORMAT_BC7_UNORM_BLOCK = 145,
  615. VK_FORMAT_BC7_SRGB_BLOCK = 146,
  616. VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
  617. VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
  618. VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
  619. VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
  620. VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
  621. VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
  622. VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
  623. VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
  624. VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
  625. VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
  626. VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
  627. VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
  628. VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
  629. VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
  630. VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
  631. VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
  632. VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
  633. VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
  634. VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
  635. VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
  636. VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
  637. VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
  638. VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
  639. VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
  640. VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
  641. VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
  642. VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
  643. VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
  644. VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
  645. VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
  646. VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
  647. VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
  648. VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
  649. VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
  650. VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
  651. VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
  652. VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
  653. VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
  654. VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
  655. VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
  656. VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
  657. VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
  658. VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
  659. VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
  660. VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
  661. VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
  662. VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
  663. VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
  664. VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
  665. VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
  666. VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
  667. VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
  668. VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
  669. VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
  670. VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
  671. VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
  672. VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
  673. VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
  674. VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
  675. VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
  676. VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
  677. VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
  678. VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
  679. VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
  680. VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
  681. VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
  682. VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
  683. VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
  684. VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
  685. VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
  686. VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
  687. VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
  688. VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
  689. VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
  690. VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
  691. VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
  692. VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
  693. VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
  694. VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
  695. VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
  696. VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
  697. VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
  698. VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
  699. VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
  700. VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
  701. VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
  702. VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
  703. VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
  704. VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
  705. VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
  706. VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
  707. VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
  708. VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
  709. } VkFormat;
  710. typedef enum VkFormatFeatureFlagBits {
  711. VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1,
  712. VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2,
  713. VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4,
  714. VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 8,
  715. VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 16,
  716. VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32,
  717. VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 64,
  718. VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 128,
  719. VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 256,
  720. VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 512,
  721. VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024,
  722. VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048,
  723. VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096,
  724. VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 16384,
  725. VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 32768,
  726. VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 131072,
  727. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144,
  728. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288,
  729. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576,
  730. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152,
  731. VK_FORMAT_FEATURE_DISJOINT_BIT = 4194304,
  732. VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 8388608,
  733. VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536,
  734. VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  735. } VkFormatFeatureFlagBits;
  736. typedef enum VkFrontFace {
  737. VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
  738. VK_FRONT_FACE_CLOCKWISE = 1,
  739. VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
  740. } VkFrontFace;
  741. typedef enum VkImageAspectFlagBits {
  742. VK_IMAGE_ASPECT_COLOR_BIT = 1,
  743. VK_IMAGE_ASPECT_DEPTH_BIT = 2,
  744. VK_IMAGE_ASPECT_STENCIL_BIT = 4,
  745. VK_IMAGE_ASPECT_METADATA_BIT = 8,
  746. VK_IMAGE_ASPECT_PLANE_0_BIT = 16,
  747. VK_IMAGE_ASPECT_PLANE_1_BIT = 32,
  748. VK_IMAGE_ASPECT_PLANE_2_BIT = 64,
  749. VK_IMAGE_ASPECT_NONE = 0,
  750. VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  751. } VkImageAspectFlagBits;
  752. typedef enum VkImageCreateFlagBits {
  753. VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1,
  754. VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2,
  755. VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4,
  756. VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8,
  757. VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16,
  758. VK_IMAGE_CREATE_ALIAS_BIT = 1024,
  759. VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 64,
  760. VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 32,
  761. VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 128,
  762. VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 256,
  763. VK_IMAGE_CREATE_PROTECTED_BIT = 2048,
  764. VK_IMAGE_CREATE_DISJOINT_BIT = 512,
  765. VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  766. } VkImageCreateFlagBits;
  767. typedef enum VkImageLayout {
  768. VK_IMAGE_LAYOUT_UNDEFINED = 0,
  769. VK_IMAGE_LAYOUT_GENERAL = 1,
  770. VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
  771. VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
  772. VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
  773. VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
  774. VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
  775. VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
  776. VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
  777. VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
  778. VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
  779. VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
  780. VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
  781. VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
  782. VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
  783. VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
  784. VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
  785. VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
  786. VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
  787. } VkImageLayout;
  788. typedef enum VkImageTiling {
  789. VK_IMAGE_TILING_OPTIMAL = 0,
  790. VK_IMAGE_TILING_LINEAR = 1,
  791. VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
  792. } VkImageTiling;
  793. typedef enum VkImageType {
  794. VK_IMAGE_TYPE_1D = 0,
  795. VK_IMAGE_TYPE_2D = 1,
  796. VK_IMAGE_TYPE_3D = 2,
  797. VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
  798. } VkImageType;
  799. typedef enum VkImageUsageFlagBits {
  800. VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1,
  801. VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2,
  802. VK_IMAGE_USAGE_SAMPLED_BIT = 4,
  803. VK_IMAGE_USAGE_STORAGE_BIT = 8,
  804. VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 16,
  805. VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32,
  806. VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64,
  807. VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128,
  808. VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  809. } VkImageUsageFlagBits;
  810. typedef enum VkImageViewType {
  811. VK_IMAGE_VIEW_TYPE_1D = 0,
  812. VK_IMAGE_VIEW_TYPE_2D = 1,
  813. VK_IMAGE_VIEW_TYPE_3D = 2,
  814. VK_IMAGE_VIEW_TYPE_CUBE = 3,
  815. VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
  816. VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
  817. VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
  818. VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
  819. } VkImageViewType;
  820. typedef enum VkSharingMode {
  821. VK_SHARING_MODE_EXCLUSIVE = 0,
  822. VK_SHARING_MODE_CONCURRENT = 1,
  823. VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
  824. } VkSharingMode;
  825. typedef enum VkIndexType {
  826. VK_INDEX_TYPE_UINT16 = 0,
  827. VK_INDEX_TYPE_UINT32 = 1,
  828. VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
  829. } VkIndexType;
  830. typedef enum VkLogicOp {
  831. VK_LOGIC_OP_CLEAR = 0,
  832. VK_LOGIC_OP_AND = 1,
  833. VK_LOGIC_OP_AND_REVERSE = 2,
  834. VK_LOGIC_OP_COPY = 3,
  835. VK_LOGIC_OP_AND_INVERTED = 4,
  836. VK_LOGIC_OP_NO_OP = 5,
  837. VK_LOGIC_OP_XOR = 6,
  838. VK_LOGIC_OP_OR = 7,
  839. VK_LOGIC_OP_NOR = 8,
  840. VK_LOGIC_OP_EQUIVALENT = 9,
  841. VK_LOGIC_OP_INVERT = 10,
  842. VK_LOGIC_OP_OR_REVERSE = 11,
  843. VK_LOGIC_OP_COPY_INVERTED = 12,
  844. VK_LOGIC_OP_OR_INVERTED = 13,
  845. VK_LOGIC_OP_NAND = 14,
  846. VK_LOGIC_OP_SET = 15,
  847. VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
  848. } VkLogicOp;
  849. typedef enum VkMemoryHeapFlagBits {
  850. VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1,
  851. VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 2,
  852. VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  853. } VkMemoryHeapFlagBits;
  854. typedef enum VkAccessFlagBits {
  855. VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1,
  856. VK_ACCESS_INDEX_READ_BIT = 2,
  857. VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4,
  858. VK_ACCESS_UNIFORM_READ_BIT = 8,
  859. VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 16,
  860. VK_ACCESS_SHADER_READ_BIT = 32,
  861. VK_ACCESS_SHADER_WRITE_BIT = 64,
  862. VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 128,
  863. VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 256,
  864. VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512,
  865. VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024,
  866. VK_ACCESS_TRANSFER_READ_BIT = 2048,
  867. VK_ACCESS_TRANSFER_WRITE_BIT = 4096,
  868. VK_ACCESS_HOST_READ_BIT = 8192,
  869. VK_ACCESS_HOST_WRITE_BIT = 16384,
  870. VK_ACCESS_MEMORY_READ_BIT = 32768,
  871. VK_ACCESS_MEMORY_WRITE_BIT = 65536,
  872. VK_ACCESS_NONE = 0,
  873. VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  874. } VkAccessFlagBits;
  875. typedef enum VkMemoryPropertyFlagBits {
  876. VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1,
  877. VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2,
  878. VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4,
  879. VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8,
  880. VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16,
  881. VK_MEMORY_PROPERTY_PROTECTED_BIT = 32,
  882. VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  883. } VkMemoryPropertyFlagBits;
  884. typedef enum VkPhysicalDeviceType {
  885. VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
  886. VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
  887. VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
  888. VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
  889. VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
  890. VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
  891. } VkPhysicalDeviceType;
  892. typedef enum VkPipelineBindPoint {
  893. VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
  894. VK_PIPELINE_BIND_POINT_COMPUTE = 1,
  895. VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
  896. } VkPipelineBindPoint;
  897. typedef enum VkPipelineCreateFlagBits {
  898. VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1,
  899. VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2,
  900. VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4,
  901. VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8,
  902. VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16,
  903. VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
  904. VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256,
  905. VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512,
  906. VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  907. } VkPipelineCreateFlagBits;
  908. typedef enum VkPrimitiveTopology {
  909. VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
  910. VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
  911. VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
  912. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
  913. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
  914. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
  915. VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
  916. VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
  917. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
  918. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
  919. VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
  920. VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
  921. } VkPrimitiveTopology;
  922. typedef enum VkQueryControlFlagBits {
  923. VK_QUERY_CONTROL_PRECISE_BIT = 1,
  924. VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  925. } VkQueryControlFlagBits;
  926. typedef enum VkQueryPipelineStatisticFlagBits {
  927. VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1,
  928. VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2,
  929. VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4,
  930. VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 8,
  931. VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 16,
  932. VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 32,
  933. VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 64,
  934. VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 128,
  935. VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256,
  936. VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 512,
  937. VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024,
  938. VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  939. } VkQueryPipelineStatisticFlagBits;
  940. typedef enum VkQueryResultFlagBits {
  941. VK_QUERY_RESULT_64_BIT = 1,
  942. VK_QUERY_RESULT_WAIT_BIT = 2,
  943. VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4,
  944. VK_QUERY_RESULT_PARTIAL_BIT = 8,
  945. VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  946. } VkQueryResultFlagBits;
  947. typedef enum VkQueryType {
  948. VK_QUERY_TYPE_OCCLUSION = 0,
  949. VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
  950. VK_QUERY_TYPE_TIMESTAMP = 2,
  951. VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
  952. } VkQueryType;
  953. typedef enum VkQueueFlagBits {
  954. VK_QUEUE_GRAPHICS_BIT = 1,
  955. VK_QUEUE_COMPUTE_BIT = 2,
  956. VK_QUEUE_TRANSFER_BIT = 4,
  957. VK_QUEUE_SPARSE_BINDING_BIT = 8,
  958. VK_QUEUE_PROTECTED_BIT = 16,
  959. VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  960. } VkQueueFlagBits;
  961. typedef enum VkSubpassContents {
  962. VK_SUBPASS_CONTENTS_INLINE = 0,
  963. VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
  964. VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
  965. } VkSubpassContents;
  966. typedef enum VkResult {
  967. VK_SUCCESS = 0,
  968. VK_NOT_READY = 1,
  969. VK_TIMEOUT = 2,
  970. VK_EVENT_SET = 3,
  971. VK_EVENT_RESET = 4,
  972. VK_INCOMPLETE = 5,
  973. VK_ERROR_OUT_OF_HOST_MEMORY = -1,
  974. VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
  975. VK_ERROR_INITIALIZATION_FAILED = -3,
  976. VK_ERROR_DEVICE_LOST = -4,
  977. VK_ERROR_MEMORY_MAP_FAILED = -5,
  978. VK_ERROR_LAYER_NOT_PRESENT = -6,
  979. VK_ERROR_EXTENSION_NOT_PRESENT = -7,
  980. VK_ERROR_FEATURE_NOT_PRESENT = -8,
  981. VK_ERROR_INCOMPATIBLE_DRIVER = -9,
  982. VK_ERROR_TOO_MANY_OBJECTS = -10,
  983. VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
  984. VK_ERROR_FRAGMENTED_POOL = -12,
  985. VK_ERROR_UNKNOWN = -13,
  986. VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
  987. VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
  988. VK_ERROR_FRAGMENTATION = -1000161000,
  989. VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
  990. VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
  991. VK_ERROR_SURFACE_LOST_KHR = -1000000000,
  992. VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
  993. VK_SUBOPTIMAL_KHR = 1000001003,
  994. VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
  995. VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
  996. VK_RESULT_MAX_ENUM = 0x7FFFFFFF
  997. } VkResult;
  998. typedef enum VkShaderStageFlagBits {
  999. VK_SHADER_STAGE_VERTEX_BIT = 1,
  1000. VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2,
  1001. VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4,
  1002. VK_SHADER_STAGE_GEOMETRY_BIT = 8,
  1003. VK_SHADER_STAGE_FRAGMENT_BIT = 16,
  1004. VK_SHADER_STAGE_COMPUTE_BIT = 32,
  1005. VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
  1006. VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
  1007. VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1008. } VkShaderStageFlagBits;
  1009. typedef enum VkSparseMemoryBindFlagBits {
  1010. VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1,
  1011. VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1012. } VkSparseMemoryBindFlagBits;
  1013. typedef enum VkStencilFaceFlagBits {
  1014. VK_STENCIL_FACE_FRONT_BIT = 1,
  1015. VK_STENCIL_FACE_BACK_BIT = 2,
  1016. VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
  1017. VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
  1018. VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1019. } VkStencilFaceFlagBits;
  1020. typedef enum VkStencilOp {
  1021. VK_STENCIL_OP_KEEP = 0,
  1022. VK_STENCIL_OP_ZERO = 1,
  1023. VK_STENCIL_OP_REPLACE = 2,
  1024. VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
  1025. VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
  1026. VK_STENCIL_OP_INVERT = 5,
  1027. VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
  1028. VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
  1029. VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
  1030. } VkStencilOp;
  1031. typedef enum VkStructureType {
  1032. VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
  1033. VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
  1034. VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
  1035. VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
  1036. VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
  1037. VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
  1038. VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
  1039. VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
  1040. VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
  1041. VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
  1042. VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
  1043. VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
  1044. VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
  1045. VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
  1046. VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
  1047. VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
  1048. VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
  1049. VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
  1050. VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
  1051. VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
  1052. VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
  1053. VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
  1054. VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
  1055. VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
  1056. VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
  1057. VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
  1058. VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
  1059. VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
  1060. VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
  1061. VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
  1062. VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
  1063. VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
  1064. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
  1065. VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
  1066. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
  1067. VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
  1068. VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
  1069. VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
  1070. VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
  1071. VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
  1072. VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
  1073. VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
  1074. VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
  1075. VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
  1076. VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
  1077. VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
  1078. VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
  1079. VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
  1080. VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
  1081. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
  1082. VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
  1083. VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
  1084. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
  1085. VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
  1086. VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
  1087. VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
  1088. VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
  1089. VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
  1090. VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
  1091. VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
  1092. VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
  1093. VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
  1094. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
  1095. VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
  1096. VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
  1097. VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
  1098. VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
  1099. VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
  1100. VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
  1101. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
  1102. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
  1103. VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
  1104. VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
  1105. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
  1106. VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
  1107. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
  1108. VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
  1109. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
  1110. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
  1111. VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
  1112. VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
  1113. VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
  1114. VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
  1115. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
  1116. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
  1117. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
  1118. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
  1119. VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
  1120. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
  1121. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
  1122. VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
  1123. VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
  1124. VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
  1125. VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
  1126. VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
  1127. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
  1128. VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
  1129. VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
  1130. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
  1131. VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
  1132. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
  1133. VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
  1134. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
  1135. VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
  1136. VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
  1137. VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
  1138. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
  1139. VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
  1140. VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
  1141. VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
  1142. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
  1143. VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
  1144. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
  1145. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
  1146. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
  1147. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
  1148. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
  1149. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
  1150. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
  1151. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
  1152. VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
  1153. VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
  1154. VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
  1155. VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
  1156. VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
  1157. VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
  1158. VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
  1159. VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
  1160. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
  1161. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
  1162. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
  1163. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
  1164. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
  1165. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
  1166. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
  1167. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
  1168. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
  1169. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
  1170. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
  1171. VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
  1172. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
  1173. VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
  1174. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
  1175. VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
  1176. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
  1177. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
  1178. VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
  1179. VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
  1180. VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
  1181. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
  1182. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
  1183. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
  1184. VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
  1185. VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
  1186. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
  1187. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
  1188. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
  1189. VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
  1190. VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
  1191. VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
  1192. VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
  1193. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
  1194. VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
  1195. VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
  1196. VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
  1197. VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
  1198. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
  1199. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
  1200. VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
  1201. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
  1202. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
  1203. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
  1204. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
  1205. VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
  1206. VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
  1207. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
  1208. VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
  1209. VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
  1210. VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
  1211. VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
  1212. VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
  1213. VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
  1214. VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
  1215. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
  1216. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
  1217. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
  1218. VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
  1219. VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
  1220. VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
  1221. VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
  1222. VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
  1223. VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
  1224. VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
  1225. VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
  1226. VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
  1227. VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
  1228. VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
  1229. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
  1230. VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
  1231. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
  1232. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
  1233. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
  1234. VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
  1235. VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
  1236. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
  1237. VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
  1238. VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
  1239. VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
  1240. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
  1241. VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
  1242. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
  1243. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
  1244. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
  1245. VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
  1246. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
  1247. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
  1248. VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
  1249. VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
  1250. VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
  1251. VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
  1252. VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
  1253. VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
  1254. VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
  1255. VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
  1256. VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
  1257. VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
  1258. VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
  1259. VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
  1260. VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
  1261. } VkStructureType;
  1262. typedef enum VkSystemAllocationScope {
  1263. VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
  1264. VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
  1265. VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
  1266. VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
  1267. VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
  1268. VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
  1269. } VkSystemAllocationScope;
  1270. typedef enum VkInternalAllocationType {
  1271. VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
  1272. VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
  1273. } VkInternalAllocationType;
  1274. typedef enum VkSamplerAddressMode {
  1275. VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
  1276. VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
  1277. VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
  1278. VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
  1279. VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
  1280. VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
  1281. } VkSamplerAddressMode;
  1282. typedef enum VkFilter {
  1283. VK_FILTER_NEAREST = 0,
  1284. VK_FILTER_LINEAR = 1,
  1285. VK_FILTER_MAX_ENUM = 0x7FFFFFFF
  1286. } VkFilter;
  1287. typedef enum VkSamplerMipmapMode {
  1288. VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
  1289. VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
  1290. VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
  1291. } VkSamplerMipmapMode;
  1292. typedef enum VkVertexInputRate {
  1293. VK_VERTEX_INPUT_RATE_VERTEX = 0,
  1294. VK_VERTEX_INPUT_RATE_INSTANCE = 1,
  1295. VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
  1296. } VkVertexInputRate;
  1297. typedef enum VkPipelineStageFlagBits {
  1298. VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1,
  1299. VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2,
  1300. VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4,
  1301. VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 8,
  1302. VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 16,
  1303. VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 32,
  1304. VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 64,
  1305. VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 128,
  1306. VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 256,
  1307. VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 512,
  1308. VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 1024,
  1309. VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 2048,
  1310. VK_PIPELINE_STAGE_TRANSFER_BIT = 4096,
  1311. VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 8192,
  1312. VK_PIPELINE_STAGE_HOST_BIT = 16384,
  1313. VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768,
  1314. VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536,
  1315. VK_PIPELINE_STAGE_NONE = 0,
  1316. VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1317. } VkPipelineStageFlagBits;
  1318. typedef enum VkSparseImageFormatFlagBits {
  1319. VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1,
  1320. VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2,
  1321. VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4,
  1322. VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1323. } VkSparseImageFormatFlagBits;
  1324. typedef enum VkSampleCountFlagBits {
  1325. VK_SAMPLE_COUNT_1_BIT = 1,
  1326. VK_SAMPLE_COUNT_2_BIT = 2,
  1327. VK_SAMPLE_COUNT_4_BIT = 4,
  1328. VK_SAMPLE_COUNT_8_BIT = 8,
  1329. VK_SAMPLE_COUNT_16_BIT = 16,
  1330. VK_SAMPLE_COUNT_32_BIT = 32,
  1331. VK_SAMPLE_COUNT_64_BIT = 64,
  1332. VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1333. } VkSampleCountFlagBits;
  1334. typedef enum VkAttachmentDescriptionFlagBits {
  1335. VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1,
  1336. VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1337. } VkAttachmentDescriptionFlagBits;
  1338. typedef enum VkDescriptorPoolCreateFlagBits {
  1339. VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1,
  1340. VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 2,
  1341. VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1342. } VkDescriptorPoolCreateFlagBits;
  1343. typedef enum VkDependencyFlagBits {
  1344. VK_DEPENDENCY_BY_REGION_BIT = 1,
  1345. VK_DEPENDENCY_DEVICE_GROUP_BIT = 4,
  1346. VK_DEPENDENCY_VIEW_LOCAL_BIT = 2,
  1347. VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1348. } VkDependencyFlagBits;
  1349. typedef enum VkObjectType {
  1350. VK_OBJECT_TYPE_UNKNOWN = 0,
  1351. VK_OBJECT_TYPE_INSTANCE = 1,
  1352. VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
  1353. VK_OBJECT_TYPE_DEVICE = 3,
  1354. VK_OBJECT_TYPE_QUEUE = 4,
  1355. VK_OBJECT_TYPE_SEMAPHORE = 5,
  1356. VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
  1357. VK_OBJECT_TYPE_FENCE = 7,
  1358. VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
  1359. VK_OBJECT_TYPE_BUFFER = 9,
  1360. VK_OBJECT_TYPE_IMAGE = 10,
  1361. VK_OBJECT_TYPE_EVENT = 11,
  1362. VK_OBJECT_TYPE_QUERY_POOL = 12,
  1363. VK_OBJECT_TYPE_BUFFER_VIEW = 13,
  1364. VK_OBJECT_TYPE_IMAGE_VIEW = 14,
  1365. VK_OBJECT_TYPE_SHADER_MODULE = 15,
  1366. VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
  1367. VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
  1368. VK_OBJECT_TYPE_RENDER_PASS = 18,
  1369. VK_OBJECT_TYPE_PIPELINE = 19,
  1370. VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
  1371. VK_OBJECT_TYPE_SAMPLER = 21,
  1372. VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
  1373. VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
  1374. VK_OBJECT_TYPE_FRAMEBUFFER = 24,
  1375. VK_OBJECT_TYPE_COMMAND_POOL = 25,
  1376. VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
  1377. VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
  1378. VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
  1379. VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
  1380. VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
  1381. VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
  1382. VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
  1383. } VkObjectType;
  1384. typedef enum VkEventCreateFlagBits {
  1385. VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1,
  1386. VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1387. } VkEventCreateFlagBits;
  1388. typedef enum VkDescriptorUpdateTemplateType {
  1389. VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
  1390. VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
  1391. } VkDescriptorUpdateTemplateType;
  1392. typedef enum VkPointClippingBehavior {
  1393. VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
  1394. VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
  1395. VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
  1396. } VkPointClippingBehavior;
  1397. typedef enum VkResolveModeFlagBits {
  1398. VK_RESOLVE_MODE_NONE = 0,
  1399. VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 1,
  1400. VK_RESOLVE_MODE_AVERAGE_BIT = 2,
  1401. VK_RESOLVE_MODE_MIN_BIT = 4,
  1402. VK_RESOLVE_MODE_MAX_BIT = 8,
  1403. VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1404. } VkResolveModeFlagBits;
  1405. typedef enum VkDescriptorBindingFlagBits {
  1406. VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 1,
  1407. VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 2,
  1408. VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 4,
  1409. VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 8,
  1410. VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1411. } VkDescriptorBindingFlagBits;
  1412. typedef enum VkSemaphoreType {
  1413. VK_SEMAPHORE_TYPE_BINARY = 0,
  1414. VK_SEMAPHORE_TYPE_TIMELINE = 1,
  1415. VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
  1416. } VkSemaphoreType;
  1417. typedef enum VkPipelineCreationFeedbackFlagBits {
  1418. VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1,
  1419. VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
  1420. VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2,
  1421. VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
  1422. VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4,
  1423. VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
  1424. VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1425. } VkPipelineCreationFeedbackFlagBits;
  1426. typedef enum VkSemaphoreWaitFlagBits {
  1427. VK_SEMAPHORE_WAIT_ANY_BIT = 1,
  1428. VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1429. } VkSemaphoreWaitFlagBits;
  1430. typedef enum VkToolPurposeFlagBits {
  1431. VK_TOOL_PURPOSE_VALIDATION_BIT = 1,
  1432. VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
  1433. VK_TOOL_PURPOSE_PROFILING_BIT = 2,
  1434. VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
  1435. VK_TOOL_PURPOSE_TRACING_BIT = 4,
  1436. VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
  1437. VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8,
  1438. VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
  1439. VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16,
  1440. VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
  1441. VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1442. } VkToolPurposeFlagBits;
  1443. typedef uint64_t VkAccessFlagBits2;
  1444. static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0;
  1445. static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0;
  1446. static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 1;
  1447. static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 1;
  1448. static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 2;
  1449. static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 2;
  1450. static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 4;
  1451. static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 4;
  1452. static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 8;
  1453. static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 8;
  1454. static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 16;
  1455. static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 16;
  1456. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 32;
  1457. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 32;
  1458. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 64;
  1459. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 64;
  1460. static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 128;
  1461. static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 128;
  1462. static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 256;
  1463. static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 256;
  1464. static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512;
  1465. static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 512;
  1466. static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024;
  1467. static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 1024;
  1468. static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 2048;
  1469. static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 2048;
  1470. static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 4096;
  1471. static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 4096;
  1472. static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 8192;
  1473. static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 8192;
  1474. static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 16384;
  1475. static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 16384;
  1476. static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 32768;
  1477. static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 32768;
  1478. static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 65536;
  1479. static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 65536;
  1480. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 4294967296;
  1481. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 4294967296;
  1482. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 8589934592;
  1483. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 8589934592;
  1484. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 17179869184;
  1485. static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 17179869184;
  1486. typedef uint64_t VkPipelineStageFlagBits2;
  1487. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0;
  1488. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0;
  1489. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 1;
  1490. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 1;
  1491. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 2;
  1492. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 2;
  1493. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 4;
  1494. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 4;
  1495. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 8;
  1496. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 8;
  1497. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 16;
  1498. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 16;
  1499. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 32;
  1500. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 32;
  1501. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 64;
  1502. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 64;
  1503. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 128;
  1504. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 128;
  1505. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 256;
  1506. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 256;
  1507. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 512;
  1508. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 512;
  1509. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 1024;
  1510. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 1024;
  1511. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 2048;
  1512. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 2048;
  1513. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 4096;
  1514. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 4096;
  1515. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 4096;
  1516. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 4096;
  1517. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 8192;
  1518. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 8192;
  1519. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 16384;
  1520. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 16384;
  1521. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 32768;
  1522. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 32768;
  1523. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 65536;
  1524. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 65536;
  1525. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 4294967296;
  1526. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 4294967296;
  1527. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 8589934592;
  1528. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 8589934592;
  1529. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 17179869184;
  1530. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 17179869184;
  1531. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 34359738368;
  1532. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 34359738368;
  1533. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 68719476736;
  1534. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 68719476736;
  1535. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 137438953472;
  1536. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 137438953472;
  1537. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 274877906944;
  1538. static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 274877906944;
  1539. typedef uint64_t VkFormatFeatureFlagBits2;
  1540. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 1;
  1541. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 1;
  1542. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 2;
  1543. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 2;
  1544. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 4;
  1545. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 4;
  1546. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 8;
  1547. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 8;
  1548. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 16;
  1549. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 16;
  1550. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32;
  1551. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 32;
  1552. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 64;
  1553. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 64;
  1554. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 128;
  1555. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 128;
  1556. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 256;
  1557. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 256;
  1558. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 512;
  1559. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 512;
  1560. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 1024;
  1561. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 1024;
  1562. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 2048;
  1563. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 2048;
  1564. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096;
  1565. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 4096;
  1566. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 8192;
  1567. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 8192;
  1568. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 16384;
  1569. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 16384;
  1570. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 32768;
  1571. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 32768;
  1572. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536;
  1573. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 65536;
  1574. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 131072;
  1575. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 131072;
  1576. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144;
  1577. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 262144;
  1578. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288;
  1579. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 524288;
  1580. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576;
  1581. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 1048576;
  1582. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152;
  1583. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 2097152;
  1584. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 4194304;
  1585. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 4194304;
  1586. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 8388608;
  1587. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 8388608;
  1588. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 2147483648;
  1589. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 2147483648;
  1590. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 4294967296;
  1591. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 4294967296;
  1592. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 8589934592;
  1593. static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 8589934592;
  1594. typedef enum VkRenderingFlagBits {
  1595. VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1,
  1596. VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
  1597. VK_RENDERING_SUSPENDING_BIT = 2,
  1598. VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
  1599. VK_RENDERING_RESUMING_BIT = 4,
  1600. VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
  1601. VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1602. } VkRenderingFlagBits;
  1603. typedef enum VkColorSpaceKHR {
  1604. VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
  1605. VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
  1606. VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
  1607. } VkColorSpaceKHR;
  1608. typedef enum VkCompositeAlphaFlagBitsKHR {
  1609. VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1,
  1610. VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2,
  1611. VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4,
  1612. VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8,
  1613. VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
  1614. } VkCompositeAlphaFlagBitsKHR;
  1615. typedef enum VkPresentModeKHR {
  1616. VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
  1617. VK_PRESENT_MODE_MAILBOX_KHR = 1,
  1618. VK_PRESENT_MODE_FIFO_KHR = 2,
  1619. VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
  1620. VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
  1621. } VkPresentModeKHR;
  1622. typedef enum VkSurfaceTransformFlagBitsKHR {
  1623. VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1,
  1624. VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2,
  1625. VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4,
  1626. VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8,
  1627. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16,
  1628. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32,
  1629. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64,
  1630. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128,
  1631. VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256,
  1632. VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
  1633. } VkSurfaceTransformFlagBitsKHR;
  1634. typedef enum VkDebugReportFlagBitsEXT {
  1635. VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 1,
  1636. VK_DEBUG_REPORT_WARNING_BIT_EXT = 2,
  1637. VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 4,
  1638. VK_DEBUG_REPORT_ERROR_BIT_EXT = 8,
  1639. VK_DEBUG_REPORT_DEBUG_BIT_EXT = 16,
  1640. VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
  1641. } VkDebugReportFlagBitsEXT;
  1642. typedef enum VkDebugReportObjectTypeEXT {
  1643. VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
  1644. VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
  1645. VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
  1646. VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
  1647. VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
  1648. VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
  1649. VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
  1650. VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
  1651. VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
  1652. VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
  1653. VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
  1654. VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
  1655. VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
  1656. VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
  1657. VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
  1658. VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
  1659. VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
  1660. VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
  1661. VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
  1662. VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
  1663. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
  1664. VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
  1665. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
  1666. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
  1667. VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
  1668. VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
  1669. VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
  1670. VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
  1671. VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
  1672. VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
  1673. VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
  1674. VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
  1675. VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
  1676. VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
  1677. VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
  1678. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
  1679. VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
  1680. } VkDebugReportObjectTypeEXT;
  1681. typedef enum VkExternalMemoryHandleTypeFlagBits {
  1682. VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  1683. VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  1684. VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  1685. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 8,
  1686. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 16,
  1687. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 32,
  1688. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 64,
  1689. VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1690. } VkExternalMemoryHandleTypeFlagBits;
  1691. typedef enum VkExternalMemoryFeatureFlagBits {
  1692. VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 1,
  1693. VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 2,
  1694. VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 4,
  1695. VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1696. } VkExternalMemoryFeatureFlagBits;
  1697. typedef enum VkExternalSemaphoreHandleTypeFlagBits {
  1698. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  1699. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  1700. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  1701. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 8,
  1702. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
  1703. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 16,
  1704. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1705. } VkExternalSemaphoreHandleTypeFlagBits;
  1706. typedef enum VkExternalSemaphoreFeatureFlagBits {
  1707. VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1,
  1708. VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2,
  1709. VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1710. } VkExternalSemaphoreFeatureFlagBits;
  1711. typedef enum VkSemaphoreImportFlagBits {
  1712. VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1,
  1713. VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1714. } VkSemaphoreImportFlagBits;
  1715. typedef enum VkExternalFenceHandleTypeFlagBits {
  1716. VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  1717. VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  1718. VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  1719. VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 8,
  1720. VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1721. } VkExternalFenceHandleTypeFlagBits;
  1722. typedef enum VkExternalFenceFeatureFlagBits {
  1723. VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1,
  1724. VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2,
  1725. VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1726. } VkExternalFenceFeatureFlagBits;
  1727. typedef enum VkFenceImportFlagBits {
  1728. VK_FENCE_IMPORT_TEMPORARY_BIT = 1,
  1729. VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1730. } VkFenceImportFlagBits;
  1731. typedef enum VkPeerMemoryFeatureFlagBits {
  1732. VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 1,
  1733. VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 2,
  1734. VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 4,
  1735. VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 8,
  1736. VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1737. } VkPeerMemoryFeatureFlagBits;
  1738. typedef enum VkMemoryAllocateFlagBits {
  1739. VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1,
  1740. VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 2,
  1741. VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 4,
  1742. VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1743. } VkMemoryAllocateFlagBits;
  1744. typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
  1745. VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 1,
  1746. VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 2,
  1747. VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 4,
  1748. VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 8,
  1749. VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
  1750. } VkDeviceGroupPresentModeFlagBitsKHR;
  1751. typedef enum VkSwapchainCreateFlagBitsKHR {
  1752. VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 1,
  1753. VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 2,
  1754. VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
  1755. } VkSwapchainCreateFlagBitsKHR;
  1756. typedef enum VkSubgroupFeatureFlagBits {
  1757. VK_SUBGROUP_FEATURE_BASIC_BIT = 1,
  1758. VK_SUBGROUP_FEATURE_VOTE_BIT = 2,
  1759. VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 4,
  1760. VK_SUBGROUP_FEATURE_BALLOT_BIT = 8,
  1761. VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 16,
  1762. VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 32,
  1763. VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 64,
  1764. VK_SUBGROUP_FEATURE_QUAD_BIT = 128,
  1765. VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1766. } VkSubgroupFeatureFlagBits;
  1767. typedef enum VkTessellationDomainOrigin {
  1768. VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
  1769. VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
  1770. VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
  1771. } VkTessellationDomainOrigin;
  1772. typedef enum VkSamplerYcbcrModelConversion {
  1773. VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
  1774. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
  1775. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
  1776. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
  1777. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
  1778. VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
  1779. } VkSamplerYcbcrModelConversion;
  1780. typedef enum VkSamplerYcbcrRange {
  1781. VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
  1782. VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
  1783. VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
  1784. } VkSamplerYcbcrRange;
  1785. typedef enum VkChromaLocation {
  1786. VK_CHROMA_LOCATION_COSITED_EVEN = 0,
  1787. VK_CHROMA_LOCATION_MIDPOINT = 1,
  1788. VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
  1789. } VkChromaLocation;
  1790. typedef enum VkSamplerReductionMode {
  1791. VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
  1792. VK_SAMPLER_REDUCTION_MODE_MIN = 1,
  1793. VK_SAMPLER_REDUCTION_MODE_MAX = 2,
  1794. VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
  1795. } VkSamplerReductionMode;
  1796. typedef enum VkShaderFloatControlsIndependence {
  1797. VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
  1798. VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
  1799. VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
  1800. VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
  1801. } VkShaderFloatControlsIndependence;
  1802. typedef enum VkSubmitFlagBits {
  1803. VK_SUBMIT_PROTECTED_BIT = 1,
  1804. VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
  1805. VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
  1806. } VkSubmitFlagBits;
  1807. typedef enum VkVendorId {
  1808. VK_VENDOR_ID_VIV = 0x10001,
  1809. VK_VENDOR_ID_VSI = 0x10002,
  1810. VK_VENDOR_ID_KAZAN = 0x10003,
  1811. VK_VENDOR_ID_CODEPLAY = 0x10004,
  1812. VK_VENDOR_ID_MESA = 0x10005,
  1813. VK_VENDOR_ID_POCL = 0x10006,
  1814. VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
  1815. } VkVendorId;
  1816. typedef enum VkDriverId {
  1817. VK_DRIVER_ID_AMD_PROPRIETARY = 1,
  1818. VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
  1819. VK_DRIVER_ID_MESA_RADV = 3,
  1820. VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
  1821. VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
  1822. VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
  1823. VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
  1824. VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
  1825. VK_DRIVER_ID_ARM_PROPRIETARY = 9,
  1826. VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
  1827. VK_DRIVER_ID_GGP_PROPRIETARY = 11,
  1828. VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
  1829. VK_DRIVER_ID_MESA_LLVMPIPE = 13,
  1830. VK_DRIVER_ID_MOLTENVK = 14,
  1831. VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
  1832. VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
  1833. VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
  1834. VK_DRIVER_ID_MESA_TURNIP = 18,
  1835. VK_DRIVER_ID_MESA_V3DV = 19,
  1836. VK_DRIVER_ID_MESA_PANVK = 20,
  1837. VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
  1838. VK_DRIVER_ID_MESA_VENUS = 22,
  1839. VK_DRIVER_ID_MESA_DOZEN = 23,
  1840. VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
  1841. } VkDriverId;
  1842. typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
  1843. void* pUserData,
  1844. size_t size,
  1845. VkInternalAllocationType allocationType,
  1846. VkSystemAllocationScope allocationScope);
  1847. typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
  1848. void* pUserData,
  1849. size_t size,
  1850. VkInternalAllocationType allocationType,
  1851. VkSystemAllocationScope allocationScope);
  1852. typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
  1853. void* pUserData,
  1854. void* pOriginal,
  1855. size_t size,
  1856. size_t alignment,
  1857. VkSystemAllocationScope allocationScope);
  1858. typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
  1859. void* pUserData,
  1860. size_t size,
  1861. size_t alignment,
  1862. VkSystemAllocationScope allocationScope);
  1863. typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
  1864. void* pUserData,
  1865. void* pMemory);
  1866. typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
  1867. typedef struct VkBaseOutStructure {
  1868. VkStructureType sType;
  1869. struct VkBaseOutStructure * pNext;
  1870. } VkBaseOutStructure;
  1871. typedef struct VkBaseInStructure {
  1872. VkStructureType sType;
  1873. const struct VkBaseInStructure * pNext;
  1874. } VkBaseInStructure;
  1875. typedef struct VkOffset2D {
  1876. int32_t x;
  1877. int32_t y;
  1878. } VkOffset2D;
  1879. typedef struct VkOffset3D {
  1880. int32_t x;
  1881. int32_t y;
  1882. int32_t z;
  1883. } VkOffset3D;
  1884. typedef struct VkExtent2D {
  1885. uint32_t width;
  1886. uint32_t height;
  1887. } VkExtent2D;
  1888. typedef struct VkExtent3D {
  1889. uint32_t width;
  1890. uint32_t height;
  1891. uint32_t depth;
  1892. } VkExtent3D;
  1893. typedef struct VkViewport {
  1894. float x;
  1895. float y;
  1896. float width;
  1897. float height;
  1898. float minDepth;
  1899. float maxDepth;
  1900. } VkViewport;
  1901. typedef struct VkRect2D {
  1902. VkOffset2D offset;
  1903. VkExtent2D extent;
  1904. } VkRect2D;
  1905. typedef struct VkClearRect {
  1906. VkRect2D rect;
  1907. uint32_t baseArrayLayer;
  1908. uint32_t layerCount;
  1909. } VkClearRect;
  1910. typedef struct VkComponentMapping {
  1911. VkComponentSwizzle r;
  1912. VkComponentSwizzle g;
  1913. VkComponentSwizzle b;
  1914. VkComponentSwizzle a;
  1915. } VkComponentMapping;
  1916. typedef struct VkExtensionProperties {
  1917. char extensionName [ VK_MAX_EXTENSION_NAME_SIZE ];
  1918. uint32_t specVersion;
  1919. } VkExtensionProperties;
  1920. typedef struct VkLayerProperties {
  1921. char layerName [ VK_MAX_EXTENSION_NAME_SIZE ];
  1922. uint32_t specVersion;
  1923. uint32_t implementationVersion;
  1924. char description [ VK_MAX_DESCRIPTION_SIZE ];
  1925. } VkLayerProperties;
  1926. typedef struct VkApplicationInfo {
  1927. VkStructureType sType;
  1928. const void * pNext;
  1929. const char * pApplicationName;
  1930. uint32_t applicationVersion;
  1931. const char * pEngineName;
  1932. uint32_t engineVersion;
  1933. uint32_t apiVersion;
  1934. } VkApplicationInfo;
  1935. typedef struct VkAllocationCallbacks {
  1936. void * pUserData;
  1937. PFN_vkAllocationFunction pfnAllocation;
  1938. PFN_vkReallocationFunction pfnReallocation;
  1939. PFN_vkFreeFunction pfnFree;
  1940. PFN_vkInternalAllocationNotification pfnInternalAllocation;
  1941. PFN_vkInternalFreeNotification pfnInternalFree;
  1942. } VkAllocationCallbacks;
  1943. typedef struct VkDescriptorImageInfo {
  1944. VkSampler sampler;
  1945. VkImageView imageView;
  1946. VkImageLayout imageLayout;
  1947. } VkDescriptorImageInfo;
  1948. typedef struct VkCopyDescriptorSet {
  1949. VkStructureType sType;
  1950. const void * pNext;
  1951. VkDescriptorSet srcSet;
  1952. uint32_t srcBinding;
  1953. uint32_t srcArrayElement;
  1954. VkDescriptorSet dstSet;
  1955. uint32_t dstBinding;
  1956. uint32_t dstArrayElement;
  1957. uint32_t descriptorCount;
  1958. } VkCopyDescriptorSet;
  1959. typedef struct VkDescriptorPoolSize {
  1960. VkDescriptorType type;
  1961. uint32_t descriptorCount;
  1962. } VkDescriptorPoolSize;
  1963. typedef struct VkDescriptorSetAllocateInfo {
  1964. VkStructureType sType;
  1965. const void * pNext;
  1966. VkDescriptorPool descriptorPool;
  1967. uint32_t descriptorSetCount;
  1968. const VkDescriptorSetLayout * pSetLayouts;
  1969. } VkDescriptorSetAllocateInfo;
  1970. typedef struct VkSpecializationMapEntry {
  1971. uint32_t constantID;
  1972. uint32_t offset;
  1973. size_t size;
  1974. } VkSpecializationMapEntry;
  1975. typedef struct VkSpecializationInfo {
  1976. uint32_t mapEntryCount;
  1977. const VkSpecializationMapEntry * pMapEntries;
  1978. size_t dataSize;
  1979. const void * pData;
  1980. } VkSpecializationInfo;
  1981. typedef struct VkVertexInputBindingDescription {
  1982. uint32_t binding;
  1983. uint32_t stride;
  1984. VkVertexInputRate inputRate;
  1985. } VkVertexInputBindingDescription;
  1986. typedef struct VkVertexInputAttributeDescription {
  1987. uint32_t location;
  1988. uint32_t binding;
  1989. VkFormat format;
  1990. uint32_t offset;
  1991. } VkVertexInputAttributeDescription;
  1992. typedef struct VkStencilOpState {
  1993. VkStencilOp failOp;
  1994. VkStencilOp passOp;
  1995. VkStencilOp depthFailOp;
  1996. VkCompareOp compareOp;
  1997. uint32_t compareMask;
  1998. uint32_t writeMask;
  1999. uint32_t reference;
  2000. } VkStencilOpState;
  2001. typedef struct VkPipelineCacheHeaderVersionOne {
  2002. uint32_t headerSize;
  2003. VkPipelineCacheHeaderVersion headerVersion;
  2004. uint32_t vendorID;
  2005. uint32_t deviceID;
  2006. uint8_t pipelineCacheUUID [ VK_UUID_SIZE ];
  2007. } VkPipelineCacheHeaderVersionOne;
  2008. typedef struct VkCommandBufferAllocateInfo {
  2009. VkStructureType sType;
  2010. const void * pNext;
  2011. VkCommandPool commandPool;
  2012. VkCommandBufferLevel level;
  2013. uint32_t commandBufferCount;
  2014. } VkCommandBufferAllocateInfo;
  2015. typedef union VkClearColorValue {
  2016. float float32 [4];
  2017. int32_t int32 [4];
  2018. uint32_t uint32 [4];
  2019. } VkClearColorValue;
  2020. typedef struct VkClearDepthStencilValue {
  2021. float depth;
  2022. uint32_t stencil;
  2023. } VkClearDepthStencilValue;
  2024. typedef union VkClearValue {
  2025. VkClearColorValue color;
  2026. VkClearDepthStencilValue depthStencil;
  2027. } VkClearValue;
  2028. typedef struct VkAttachmentReference {
  2029. uint32_t attachment;
  2030. VkImageLayout layout;
  2031. } VkAttachmentReference;
  2032. typedef struct VkDrawIndirectCommand {
  2033. uint32_t vertexCount;
  2034. uint32_t instanceCount;
  2035. uint32_t firstVertex;
  2036. uint32_t firstInstance;
  2037. } VkDrawIndirectCommand;
  2038. typedef struct VkDrawIndexedIndirectCommand {
  2039. uint32_t indexCount;
  2040. uint32_t instanceCount;
  2041. uint32_t firstIndex;
  2042. int32_t vertexOffset;
  2043. uint32_t firstInstance;
  2044. } VkDrawIndexedIndirectCommand;
  2045. typedef struct VkDispatchIndirectCommand {
  2046. uint32_t x;
  2047. uint32_t y;
  2048. uint32_t z;
  2049. } VkDispatchIndirectCommand;
  2050. typedef struct VkSurfaceFormatKHR {
  2051. VkFormat format;
  2052. VkColorSpaceKHR colorSpace;
  2053. } VkSurfaceFormatKHR;
  2054. typedef struct VkPresentInfoKHR {
  2055. VkStructureType sType;
  2056. const void * pNext;
  2057. uint32_t waitSemaphoreCount;
  2058. const VkSemaphore * pWaitSemaphores;
  2059. uint32_t swapchainCount;
  2060. const VkSwapchainKHR * pSwapchains;
  2061. const uint32_t * pImageIndices;
  2062. VkResult * pResults;
  2063. } VkPresentInfoKHR;
  2064. typedef struct VkDevicePrivateDataCreateInfo {
  2065. VkStructureType sType;
  2066. const void * pNext;
  2067. uint32_t privateDataSlotRequestCount;
  2068. } VkDevicePrivateDataCreateInfo;
  2069. typedef struct VkConformanceVersion {
  2070. uint8_t major;
  2071. uint8_t minor;
  2072. uint8_t subminor;
  2073. uint8_t patch;
  2074. } VkConformanceVersion;
  2075. typedef struct VkPhysicalDeviceDriverProperties {
  2076. VkStructureType sType;
  2077. void * pNext;
  2078. VkDriverId driverID;
  2079. char driverName [ VK_MAX_DRIVER_NAME_SIZE ];
  2080. char driverInfo [ VK_MAX_DRIVER_INFO_SIZE ];
  2081. VkConformanceVersion conformanceVersion;
  2082. } VkPhysicalDeviceDriverProperties;
  2083. typedef struct VkPhysicalDeviceExternalImageFormatInfo {
  2084. VkStructureType sType;
  2085. const void * pNext;
  2086. VkExternalMemoryHandleTypeFlagBits handleType;
  2087. } VkPhysicalDeviceExternalImageFormatInfo;
  2088. typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
  2089. VkStructureType sType;
  2090. const void * pNext;
  2091. VkExternalSemaphoreHandleTypeFlagBits handleType;
  2092. } VkPhysicalDeviceExternalSemaphoreInfo;
  2093. typedef struct VkPhysicalDeviceExternalFenceInfo {
  2094. VkStructureType sType;
  2095. const void * pNext;
  2096. VkExternalFenceHandleTypeFlagBits handleType;
  2097. } VkPhysicalDeviceExternalFenceInfo;
  2098. typedef struct VkPhysicalDeviceMultiviewProperties {
  2099. VkStructureType sType;
  2100. void * pNext;
  2101. uint32_t maxMultiviewViewCount;
  2102. uint32_t maxMultiviewInstanceIndex;
  2103. } VkPhysicalDeviceMultiviewProperties;
  2104. typedef struct VkRenderPassMultiviewCreateInfo {
  2105. VkStructureType sType;
  2106. const void * pNext;
  2107. uint32_t subpassCount;
  2108. const uint32_t * pViewMasks;
  2109. uint32_t dependencyCount;
  2110. const int32_t * pViewOffsets;
  2111. uint32_t correlationMaskCount;
  2112. const uint32_t * pCorrelationMasks;
  2113. } VkRenderPassMultiviewCreateInfo;
  2114. typedef struct VkBindBufferMemoryDeviceGroupInfo {
  2115. VkStructureType sType;
  2116. const void * pNext;
  2117. uint32_t deviceIndexCount;
  2118. const uint32_t * pDeviceIndices;
  2119. } VkBindBufferMemoryDeviceGroupInfo;
  2120. typedef struct VkBindImageMemoryDeviceGroupInfo {
  2121. VkStructureType sType;
  2122. const void * pNext;
  2123. uint32_t deviceIndexCount;
  2124. const uint32_t * pDeviceIndices;
  2125. uint32_t splitInstanceBindRegionCount;
  2126. const VkRect2D * pSplitInstanceBindRegions;
  2127. } VkBindImageMemoryDeviceGroupInfo;
  2128. typedef struct VkDeviceGroupRenderPassBeginInfo {
  2129. VkStructureType sType;
  2130. const void * pNext;
  2131. uint32_t deviceMask;
  2132. uint32_t deviceRenderAreaCount;
  2133. const VkRect2D * pDeviceRenderAreas;
  2134. } VkDeviceGroupRenderPassBeginInfo;
  2135. typedef struct VkDeviceGroupCommandBufferBeginInfo {
  2136. VkStructureType sType;
  2137. const void * pNext;
  2138. uint32_t deviceMask;
  2139. } VkDeviceGroupCommandBufferBeginInfo;
  2140. typedef struct VkDeviceGroupSubmitInfo {
  2141. VkStructureType sType;
  2142. const void * pNext;
  2143. uint32_t waitSemaphoreCount;
  2144. const uint32_t * pWaitSemaphoreDeviceIndices;
  2145. uint32_t commandBufferCount;
  2146. const uint32_t * pCommandBufferDeviceMasks;
  2147. uint32_t signalSemaphoreCount;
  2148. const uint32_t * pSignalSemaphoreDeviceIndices;
  2149. } VkDeviceGroupSubmitInfo;
  2150. typedef struct VkDeviceGroupBindSparseInfo {
  2151. VkStructureType sType;
  2152. const void * pNext;
  2153. uint32_t resourceDeviceIndex;
  2154. uint32_t memoryDeviceIndex;
  2155. } VkDeviceGroupBindSparseInfo;
  2156. typedef struct VkImageSwapchainCreateInfoKHR {
  2157. VkStructureType sType;
  2158. const void * pNext;
  2159. VkSwapchainKHR swapchain;
  2160. } VkImageSwapchainCreateInfoKHR;
  2161. typedef struct VkBindImageMemorySwapchainInfoKHR {
  2162. VkStructureType sType;
  2163. const void * pNext;
  2164. VkSwapchainKHR swapchain;
  2165. uint32_t imageIndex;
  2166. } VkBindImageMemorySwapchainInfoKHR;
  2167. typedef struct VkAcquireNextImageInfoKHR {
  2168. VkStructureType sType;
  2169. const void * pNext;
  2170. VkSwapchainKHR swapchain;
  2171. uint64_t timeout;
  2172. VkSemaphore semaphore;
  2173. VkFence fence;
  2174. uint32_t deviceMask;
  2175. } VkAcquireNextImageInfoKHR;
  2176. typedef struct VkDeviceGroupPresentInfoKHR {
  2177. VkStructureType sType;
  2178. const void * pNext;
  2179. uint32_t swapchainCount;
  2180. const uint32_t * pDeviceMasks;
  2181. VkDeviceGroupPresentModeFlagBitsKHR mode;
  2182. } VkDeviceGroupPresentInfoKHR;
  2183. typedef struct VkDeviceGroupDeviceCreateInfo {
  2184. VkStructureType sType;
  2185. const void * pNext;
  2186. uint32_t physicalDeviceCount;
  2187. const VkPhysicalDevice * pPhysicalDevices;
  2188. } VkDeviceGroupDeviceCreateInfo;
  2189. typedef struct VkDescriptorUpdateTemplateEntry {
  2190. uint32_t dstBinding;
  2191. uint32_t dstArrayElement;
  2192. uint32_t descriptorCount;
  2193. VkDescriptorType descriptorType;
  2194. size_t offset;
  2195. size_t stride;
  2196. } VkDescriptorUpdateTemplateEntry;
  2197. typedef struct VkBufferMemoryRequirementsInfo2 {
  2198. VkStructureType sType;
  2199. const void * pNext;
  2200. VkBuffer buffer;
  2201. } VkBufferMemoryRequirementsInfo2;
  2202. typedef struct VkImageMemoryRequirementsInfo2 {
  2203. VkStructureType sType;
  2204. const void * pNext;
  2205. VkImage image;
  2206. } VkImageMemoryRequirementsInfo2;
  2207. typedef struct VkImageSparseMemoryRequirementsInfo2 {
  2208. VkStructureType sType;
  2209. const void * pNext;
  2210. VkImage image;
  2211. } VkImageSparseMemoryRequirementsInfo2;
  2212. typedef struct VkPhysicalDevicePointClippingProperties {
  2213. VkStructureType sType;
  2214. void * pNext;
  2215. VkPointClippingBehavior pointClippingBehavior;
  2216. } VkPhysicalDevicePointClippingProperties;
  2217. typedef struct VkMemoryDedicatedAllocateInfo {
  2218. VkStructureType sType;
  2219. const void * pNext;
  2220. VkImage image;
  2221. VkBuffer buffer;
  2222. } VkMemoryDedicatedAllocateInfo;
  2223. typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
  2224. VkStructureType sType;
  2225. const void * pNext;
  2226. VkTessellationDomainOrigin domainOrigin;
  2227. } VkPipelineTessellationDomainOriginStateCreateInfo;
  2228. typedef struct VkSamplerYcbcrConversionInfo {
  2229. VkStructureType sType;
  2230. const void * pNext;
  2231. VkSamplerYcbcrConversion conversion;
  2232. } VkSamplerYcbcrConversionInfo;
  2233. typedef struct VkBindImagePlaneMemoryInfo {
  2234. VkStructureType sType;
  2235. const void * pNext;
  2236. VkImageAspectFlagBits planeAspect;
  2237. } VkBindImagePlaneMemoryInfo;
  2238. typedef struct VkImagePlaneMemoryRequirementsInfo {
  2239. VkStructureType sType;
  2240. const void * pNext;
  2241. VkImageAspectFlagBits planeAspect;
  2242. } VkImagePlaneMemoryRequirementsInfo;
  2243. typedef struct VkSamplerYcbcrConversionImageFormatProperties {
  2244. VkStructureType sType;
  2245. void * pNext;
  2246. uint32_t combinedImageSamplerDescriptorCount;
  2247. } VkSamplerYcbcrConversionImageFormatProperties;
  2248. typedef struct VkSamplerReductionModeCreateInfo {
  2249. VkStructureType sType;
  2250. const void * pNext;
  2251. VkSamplerReductionMode reductionMode;
  2252. } VkSamplerReductionModeCreateInfo;
  2253. typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
  2254. VkStructureType sType;
  2255. void * pNext;
  2256. uint32_t maxInlineUniformBlockSize;
  2257. uint32_t maxPerStageDescriptorInlineUniformBlocks;
  2258. uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
  2259. uint32_t maxDescriptorSetInlineUniformBlocks;
  2260. uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
  2261. } VkPhysicalDeviceInlineUniformBlockProperties;
  2262. typedef struct VkWriteDescriptorSetInlineUniformBlock {
  2263. VkStructureType sType;
  2264. const void * pNext;
  2265. uint32_t dataSize;
  2266. const void * pData;
  2267. } VkWriteDescriptorSetInlineUniformBlock;
  2268. typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
  2269. VkStructureType sType;
  2270. const void * pNext;
  2271. uint32_t maxInlineUniformBlockBindings;
  2272. } VkDescriptorPoolInlineUniformBlockCreateInfo;
  2273. typedef struct VkImageFormatListCreateInfo {
  2274. VkStructureType sType;
  2275. const void * pNext;
  2276. uint32_t viewFormatCount;
  2277. const VkFormat * pViewFormats;
  2278. } VkImageFormatListCreateInfo;
  2279. typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
  2280. VkStructureType sType;
  2281. const void * pNext;
  2282. uint32_t descriptorSetCount;
  2283. const uint32_t * pDescriptorCounts;
  2284. } VkDescriptorSetVariableDescriptorCountAllocateInfo;
  2285. typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
  2286. VkStructureType sType;
  2287. void * pNext;
  2288. uint32_t maxVariableDescriptorCount;
  2289. } VkDescriptorSetVariableDescriptorCountLayoutSupport;
  2290. typedef struct VkSubpassBeginInfo {
  2291. VkStructureType sType;
  2292. const void * pNext;
  2293. VkSubpassContents contents;
  2294. } VkSubpassBeginInfo;
  2295. typedef struct VkSubpassEndInfo {
  2296. VkStructureType sType;
  2297. const void * pNext;
  2298. } VkSubpassEndInfo;
  2299. typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
  2300. VkStructureType sType;
  2301. void * pNext;
  2302. uint64_t maxTimelineSemaphoreValueDifference;
  2303. } VkPhysicalDeviceTimelineSemaphoreProperties;
  2304. typedef struct VkSemaphoreTypeCreateInfo {
  2305. VkStructureType sType;
  2306. const void * pNext;
  2307. VkSemaphoreType semaphoreType;
  2308. uint64_t initialValue;
  2309. } VkSemaphoreTypeCreateInfo;
  2310. typedef struct VkTimelineSemaphoreSubmitInfo {
  2311. VkStructureType sType;
  2312. const void * pNext;
  2313. uint32_t waitSemaphoreValueCount;
  2314. const uint64_t * pWaitSemaphoreValues;
  2315. uint32_t signalSemaphoreValueCount;
  2316. const uint64_t * pSignalSemaphoreValues;
  2317. } VkTimelineSemaphoreSubmitInfo;
  2318. typedef struct VkSemaphoreSignalInfo {
  2319. VkStructureType sType;
  2320. const void * pNext;
  2321. VkSemaphore semaphore;
  2322. uint64_t value;
  2323. } VkSemaphoreSignalInfo;
  2324. typedef struct VkBufferDeviceAddressInfo {
  2325. VkStructureType sType;
  2326. const void * pNext;
  2327. VkBuffer buffer;
  2328. } VkBufferDeviceAddressInfo;
  2329. typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
  2330. VkStructureType sType;
  2331. const void * pNext;
  2332. uint64_t opaqueCaptureAddress;
  2333. } VkBufferOpaqueCaptureAddressCreateInfo;
  2334. typedef struct VkRenderPassAttachmentBeginInfo {
  2335. VkStructureType sType;
  2336. const void * pNext;
  2337. uint32_t attachmentCount;
  2338. const VkImageView * pAttachments;
  2339. } VkRenderPassAttachmentBeginInfo;
  2340. typedef struct VkAttachmentReferenceStencilLayout {
  2341. VkStructureType sType;
  2342. void * pNext;
  2343. VkImageLayout stencilLayout;
  2344. } VkAttachmentReferenceStencilLayout;
  2345. typedef struct VkAttachmentDescriptionStencilLayout {
  2346. VkStructureType sType;
  2347. void * pNext;
  2348. VkImageLayout stencilInitialLayout;
  2349. VkImageLayout stencilFinalLayout;
  2350. } VkAttachmentDescriptionStencilLayout;
  2351. typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
  2352. VkStructureType sType;
  2353. void * pNext;
  2354. uint32_t requiredSubgroupSize;
  2355. } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
  2356. typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
  2357. VkStructureType sType;
  2358. const void * pNext;
  2359. uint64_t opaqueCaptureAddress;
  2360. } VkMemoryOpaqueCaptureAddressAllocateInfo;
  2361. typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
  2362. VkStructureType sType;
  2363. const void * pNext;
  2364. VkDeviceMemory memory;
  2365. } VkDeviceMemoryOpaqueCaptureAddressInfo;
  2366. typedef struct VkCommandBufferSubmitInfo {
  2367. VkStructureType sType;
  2368. const void * pNext;
  2369. VkCommandBuffer commandBuffer;
  2370. uint32_t deviceMask;
  2371. } VkCommandBufferSubmitInfo;
  2372. typedef struct VkPipelineRenderingCreateInfo {
  2373. VkStructureType sType;
  2374. const void * pNext;
  2375. uint32_t viewMask;
  2376. uint32_t colorAttachmentCount;
  2377. const VkFormat * pColorAttachmentFormats;
  2378. VkFormat depthAttachmentFormat;
  2379. VkFormat stencilAttachmentFormat;
  2380. } VkPipelineRenderingCreateInfo;
  2381. typedef struct VkRenderingAttachmentInfo {
  2382. VkStructureType sType;
  2383. const void * pNext;
  2384. VkImageView imageView;
  2385. VkImageLayout imageLayout;
  2386. VkResolveModeFlagBits resolveMode;
  2387. VkImageView resolveImageView;
  2388. VkImageLayout resolveImageLayout;
  2389. VkAttachmentLoadOp loadOp;
  2390. VkAttachmentStoreOp storeOp;
  2391. VkClearValue clearValue;
  2392. } VkRenderingAttachmentInfo;
  2393. typedef uint32_t VkSampleMask;
  2394. typedef uint32_t VkBool32;
  2395. typedef uint32_t VkFlags;
  2396. typedef uint64_t VkFlags64;
  2397. typedef uint64_t VkDeviceSize;
  2398. typedef uint64_t VkDeviceAddress;
  2399. typedef VkFlags VkFramebufferCreateFlags;
  2400. typedef VkFlags VkQueryPoolCreateFlags;
  2401. typedef VkFlags VkRenderPassCreateFlags;
  2402. typedef VkFlags VkSamplerCreateFlags;
  2403. typedef VkFlags VkPipelineLayoutCreateFlags;
  2404. typedef VkFlags VkPipelineCacheCreateFlags;
  2405. typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
  2406. typedef VkFlags VkPipelineDynamicStateCreateFlags;
  2407. typedef VkFlags VkPipelineColorBlendStateCreateFlags;
  2408. typedef VkFlags VkPipelineMultisampleStateCreateFlags;
  2409. typedef VkFlags VkPipelineRasterizationStateCreateFlags;
  2410. typedef VkFlags VkPipelineViewportStateCreateFlags;
  2411. typedef VkFlags VkPipelineTessellationStateCreateFlags;
  2412. typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
  2413. typedef VkFlags VkPipelineVertexInputStateCreateFlags;
  2414. typedef VkFlags VkPipelineShaderStageCreateFlags;
  2415. typedef VkFlags VkDescriptorSetLayoutCreateFlags;
  2416. typedef VkFlags VkBufferViewCreateFlags;
  2417. typedef VkFlags VkInstanceCreateFlags;
  2418. typedef VkFlags VkDeviceCreateFlags;
  2419. typedef VkFlags VkDeviceQueueCreateFlags;
  2420. typedef VkFlags VkQueueFlags;
  2421. typedef VkFlags VkMemoryPropertyFlags;
  2422. typedef VkFlags VkMemoryHeapFlags;
  2423. typedef VkFlags VkAccessFlags;
  2424. typedef VkFlags VkBufferUsageFlags;
  2425. typedef VkFlags VkBufferCreateFlags;
  2426. typedef VkFlags VkShaderStageFlags;
  2427. typedef VkFlags VkImageUsageFlags;
  2428. typedef VkFlags VkImageCreateFlags;
  2429. typedef VkFlags VkImageViewCreateFlags;
  2430. typedef VkFlags VkPipelineCreateFlags;
  2431. typedef VkFlags VkColorComponentFlags;
  2432. typedef VkFlags VkFenceCreateFlags;
  2433. typedef VkFlags VkSemaphoreCreateFlags;
  2434. typedef VkFlags VkFormatFeatureFlags;
  2435. typedef VkFlags VkQueryControlFlags;
  2436. typedef VkFlags VkQueryResultFlags;
  2437. typedef VkFlags VkShaderModuleCreateFlags;
  2438. typedef VkFlags VkEventCreateFlags;
  2439. typedef VkFlags VkCommandPoolCreateFlags;
  2440. typedef VkFlags VkCommandPoolResetFlags;
  2441. typedef VkFlags VkCommandBufferResetFlags;
  2442. typedef VkFlags VkCommandBufferUsageFlags;
  2443. typedef VkFlags VkQueryPipelineStatisticFlags;
  2444. typedef VkFlags VkMemoryMapFlags;
  2445. typedef VkFlags VkImageAspectFlags;
  2446. typedef VkFlags VkSparseMemoryBindFlags;
  2447. typedef VkFlags VkSparseImageFormatFlags;
  2448. typedef VkFlags VkSubpassDescriptionFlags;
  2449. typedef VkFlags VkPipelineStageFlags;
  2450. typedef VkFlags VkSampleCountFlags;
  2451. typedef VkFlags VkAttachmentDescriptionFlags;
  2452. typedef VkFlags VkStencilFaceFlags;
  2453. typedef VkFlags VkCullModeFlags;
  2454. typedef VkFlags VkDescriptorPoolCreateFlags;
  2455. typedef VkFlags VkDescriptorPoolResetFlags;
  2456. typedef VkFlags VkDependencyFlags;
  2457. typedef VkFlags VkSubgroupFeatureFlags;
  2458. typedef VkFlags VkPrivateDataSlotCreateFlags;
  2459. typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
  2460. typedef VkFlags VkPipelineCreationFeedbackFlags;
  2461. typedef VkFlags VkSemaphoreWaitFlags;
  2462. typedef VkFlags64 VkAccessFlags2;
  2463. typedef VkFlags64 VkPipelineStageFlags2;
  2464. typedef VkFlags64 VkFormatFeatureFlags2;
  2465. typedef VkFlags VkRenderingFlags;
  2466. typedef VkFlags VkCompositeAlphaFlagsKHR;
  2467. typedef VkFlags VkSurfaceTransformFlagsKHR;
  2468. typedef VkFlags VkSwapchainCreateFlagsKHR;
  2469. typedef VkFlags VkPeerMemoryFeatureFlags;
  2470. typedef VkFlags VkMemoryAllocateFlags;
  2471. typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
  2472. typedef VkFlags VkDebugReportFlagsEXT;
  2473. typedef VkFlags VkCommandPoolTrimFlags;
  2474. typedef VkFlags VkExternalMemoryHandleTypeFlags;
  2475. typedef VkFlags VkExternalMemoryFeatureFlags;
  2476. typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
  2477. typedef VkFlags VkExternalSemaphoreFeatureFlags;
  2478. typedef VkFlags VkSemaphoreImportFlags;
  2479. typedef VkFlags VkExternalFenceHandleTypeFlags;
  2480. typedef VkFlags VkExternalFenceFeatureFlags;
  2481. typedef VkFlags VkFenceImportFlags;
  2482. typedef VkFlags VkDescriptorBindingFlags;
  2483. typedef VkFlags VkResolveModeFlags;
  2484. typedef VkFlags VkToolPurposeFlags;
  2485. typedef VkFlags VkSubmitFlags;
  2486. typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
  2487. VkDebugReportFlagsEXT flags,
  2488. VkDebugReportObjectTypeEXT objectType,
  2489. uint64_t object,
  2490. size_t location,
  2491. int32_t messageCode,
  2492. const char* pLayerPrefix,
  2493. const char* pMessage,
  2494. void* pUserData);
  2495. typedef struct VkDeviceQueueCreateInfo {
  2496. VkStructureType sType;
  2497. const void * pNext;
  2498. VkDeviceQueueCreateFlags flags;
  2499. uint32_t queueFamilyIndex;
  2500. uint32_t queueCount;
  2501. const float * pQueuePriorities;
  2502. } VkDeviceQueueCreateInfo;
  2503. typedef struct VkInstanceCreateInfo {
  2504. VkStructureType sType;
  2505. const void * pNext;
  2506. VkInstanceCreateFlags flags;
  2507. const VkApplicationInfo * pApplicationInfo;
  2508. uint32_t enabledLayerCount;
  2509. const char * const* ppEnabledLayerNames;
  2510. uint32_t enabledExtensionCount;
  2511. const char * const* ppEnabledExtensionNames;
  2512. } VkInstanceCreateInfo;
  2513. typedef struct VkQueueFamilyProperties {
  2514. VkQueueFlags queueFlags;
  2515. uint32_t queueCount;
  2516. uint32_t timestampValidBits;
  2517. VkExtent3D minImageTransferGranularity;
  2518. } VkQueueFamilyProperties;
  2519. typedef struct VkMemoryAllocateInfo {
  2520. VkStructureType sType;
  2521. const void * pNext;
  2522. VkDeviceSize allocationSize;
  2523. uint32_t memoryTypeIndex;
  2524. } VkMemoryAllocateInfo;
  2525. typedef struct VkMemoryRequirements {
  2526. VkDeviceSize size;
  2527. VkDeviceSize alignment;
  2528. uint32_t memoryTypeBits;
  2529. } VkMemoryRequirements;
  2530. typedef struct VkSparseImageFormatProperties {
  2531. VkImageAspectFlags aspectMask;
  2532. VkExtent3D imageGranularity;
  2533. VkSparseImageFormatFlags flags;
  2534. } VkSparseImageFormatProperties;
  2535. typedef struct VkSparseImageMemoryRequirements {
  2536. VkSparseImageFormatProperties formatProperties;
  2537. uint32_t imageMipTailFirstLod;
  2538. VkDeviceSize imageMipTailSize;
  2539. VkDeviceSize imageMipTailOffset;
  2540. VkDeviceSize imageMipTailStride;
  2541. } VkSparseImageMemoryRequirements;
  2542. typedef struct VkMemoryType {
  2543. VkMemoryPropertyFlags propertyFlags;
  2544. uint32_t heapIndex;
  2545. } VkMemoryType;
  2546. typedef struct VkMemoryHeap {
  2547. VkDeviceSize size;
  2548. VkMemoryHeapFlags flags;
  2549. } VkMemoryHeap;
  2550. typedef struct VkMappedMemoryRange {
  2551. VkStructureType sType;
  2552. const void * pNext;
  2553. VkDeviceMemory memory;
  2554. VkDeviceSize offset;
  2555. VkDeviceSize size;
  2556. } VkMappedMemoryRange;
  2557. typedef struct VkFormatProperties {
  2558. VkFormatFeatureFlags linearTilingFeatures;
  2559. VkFormatFeatureFlags optimalTilingFeatures;
  2560. VkFormatFeatureFlags bufferFeatures;
  2561. } VkFormatProperties;
  2562. typedef struct VkImageFormatProperties {
  2563. VkExtent3D maxExtent;
  2564. uint32_t maxMipLevels;
  2565. uint32_t maxArrayLayers;
  2566. VkSampleCountFlags sampleCounts;
  2567. VkDeviceSize maxResourceSize;
  2568. } VkImageFormatProperties;
  2569. typedef struct VkDescriptorBufferInfo {
  2570. VkBuffer buffer;
  2571. VkDeviceSize offset;
  2572. VkDeviceSize range;
  2573. } VkDescriptorBufferInfo;
  2574. typedef struct VkWriteDescriptorSet {
  2575. VkStructureType sType;
  2576. const void * pNext;
  2577. VkDescriptorSet dstSet;
  2578. uint32_t dstBinding;
  2579. uint32_t dstArrayElement;
  2580. uint32_t descriptorCount;
  2581. VkDescriptorType descriptorType;
  2582. const VkDescriptorImageInfo * pImageInfo;
  2583. const VkDescriptorBufferInfo * pBufferInfo;
  2584. const VkBufferView * pTexelBufferView;
  2585. } VkWriteDescriptorSet;
  2586. typedef struct VkBufferCreateInfo {
  2587. VkStructureType sType;
  2588. const void * pNext;
  2589. VkBufferCreateFlags flags;
  2590. VkDeviceSize size;
  2591. VkBufferUsageFlags usage;
  2592. VkSharingMode sharingMode;
  2593. uint32_t queueFamilyIndexCount;
  2594. const uint32_t * pQueueFamilyIndices;
  2595. } VkBufferCreateInfo;
  2596. typedef struct VkBufferViewCreateInfo {
  2597. VkStructureType sType;
  2598. const void * pNext;
  2599. VkBufferViewCreateFlags flags;
  2600. VkBuffer buffer;
  2601. VkFormat format;
  2602. VkDeviceSize offset;
  2603. VkDeviceSize range;
  2604. } VkBufferViewCreateInfo;
  2605. typedef struct VkImageSubresource {
  2606. VkImageAspectFlags aspectMask;
  2607. uint32_t mipLevel;
  2608. uint32_t arrayLayer;
  2609. } VkImageSubresource;
  2610. typedef struct VkImageSubresourceLayers {
  2611. VkImageAspectFlags aspectMask;
  2612. uint32_t mipLevel;
  2613. uint32_t baseArrayLayer;
  2614. uint32_t layerCount;
  2615. } VkImageSubresourceLayers;
  2616. typedef struct VkImageSubresourceRange {
  2617. VkImageAspectFlags aspectMask;
  2618. uint32_t baseMipLevel;
  2619. uint32_t levelCount;
  2620. uint32_t baseArrayLayer;
  2621. uint32_t layerCount;
  2622. } VkImageSubresourceRange;
  2623. typedef struct VkMemoryBarrier {
  2624. VkStructureType sType;
  2625. const void * pNext;
  2626. VkAccessFlags srcAccessMask;
  2627. VkAccessFlags dstAccessMask;
  2628. } VkMemoryBarrier;
  2629. typedef struct VkBufferMemoryBarrier {
  2630. VkStructureType sType;
  2631. const void * pNext;
  2632. VkAccessFlags srcAccessMask;
  2633. VkAccessFlags dstAccessMask;
  2634. uint32_t srcQueueFamilyIndex;
  2635. uint32_t dstQueueFamilyIndex;
  2636. VkBuffer buffer;
  2637. VkDeviceSize offset;
  2638. VkDeviceSize size;
  2639. } VkBufferMemoryBarrier;
  2640. typedef struct VkImageMemoryBarrier {
  2641. VkStructureType sType;
  2642. const void * pNext;
  2643. VkAccessFlags srcAccessMask;
  2644. VkAccessFlags dstAccessMask;
  2645. VkImageLayout oldLayout;
  2646. VkImageLayout newLayout;
  2647. uint32_t srcQueueFamilyIndex;
  2648. uint32_t dstQueueFamilyIndex;
  2649. VkImage image;
  2650. VkImageSubresourceRange subresourceRange;
  2651. } VkImageMemoryBarrier;
  2652. typedef struct VkImageCreateInfo {
  2653. VkStructureType sType;
  2654. const void * pNext;
  2655. VkImageCreateFlags flags;
  2656. VkImageType imageType;
  2657. VkFormat format;
  2658. VkExtent3D extent;
  2659. uint32_t mipLevels;
  2660. uint32_t arrayLayers;
  2661. VkSampleCountFlagBits samples;
  2662. VkImageTiling tiling;
  2663. VkImageUsageFlags usage;
  2664. VkSharingMode sharingMode;
  2665. uint32_t queueFamilyIndexCount;
  2666. const uint32_t * pQueueFamilyIndices;
  2667. VkImageLayout initialLayout;
  2668. } VkImageCreateInfo;
  2669. typedef struct VkSubresourceLayout {
  2670. VkDeviceSize offset;
  2671. VkDeviceSize size;
  2672. VkDeviceSize rowPitch;
  2673. VkDeviceSize arrayPitch;
  2674. VkDeviceSize depthPitch;
  2675. } VkSubresourceLayout;
  2676. typedef struct VkImageViewCreateInfo {
  2677. VkStructureType sType;
  2678. const void * pNext;
  2679. VkImageViewCreateFlags flags;
  2680. VkImage image;
  2681. VkImageViewType viewType;
  2682. VkFormat format;
  2683. VkComponentMapping components;
  2684. VkImageSubresourceRange subresourceRange;
  2685. } VkImageViewCreateInfo;
  2686. typedef struct VkBufferCopy {
  2687. VkDeviceSize srcOffset;
  2688. VkDeviceSize dstOffset;
  2689. VkDeviceSize size;
  2690. } VkBufferCopy;
  2691. typedef struct VkSparseMemoryBind {
  2692. VkDeviceSize resourceOffset;
  2693. VkDeviceSize size;
  2694. VkDeviceMemory memory;
  2695. VkDeviceSize memoryOffset;
  2696. VkSparseMemoryBindFlags flags;
  2697. } VkSparseMemoryBind;
  2698. typedef struct VkSparseImageMemoryBind {
  2699. VkImageSubresource subresource;
  2700. VkOffset3D offset;
  2701. VkExtent3D extent;
  2702. VkDeviceMemory memory;
  2703. VkDeviceSize memoryOffset;
  2704. VkSparseMemoryBindFlags flags;
  2705. } VkSparseImageMemoryBind;
  2706. typedef struct VkSparseBufferMemoryBindInfo {
  2707. VkBuffer buffer;
  2708. uint32_t bindCount;
  2709. const VkSparseMemoryBind * pBinds;
  2710. } VkSparseBufferMemoryBindInfo;
  2711. typedef struct VkSparseImageOpaqueMemoryBindInfo {
  2712. VkImage image;
  2713. uint32_t bindCount;
  2714. const VkSparseMemoryBind * pBinds;
  2715. } VkSparseImageOpaqueMemoryBindInfo;
  2716. typedef struct VkSparseImageMemoryBindInfo {
  2717. VkImage image;
  2718. uint32_t bindCount;
  2719. const VkSparseImageMemoryBind * pBinds;
  2720. } VkSparseImageMemoryBindInfo;
  2721. typedef struct VkBindSparseInfo {
  2722. VkStructureType sType;
  2723. const void * pNext;
  2724. uint32_t waitSemaphoreCount;
  2725. const VkSemaphore * pWaitSemaphores;
  2726. uint32_t bufferBindCount;
  2727. const VkSparseBufferMemoryBindInfo * pBufferBinds;
  2728. uint32_t imageOpaqueBindCount;
  2729. const VkSparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds;
  2730. uint32_t imageBindCount;
  2731. const VkSparseImageMemoryBindInfo * pImageBinds;
  2732. uint32_t signalSemaphoreCount;
  2733. const VkSemaphore * pSignalSemaphores;
  2734. } VkBindSparseInfo;
  2735. typedef struct VkImageCopy {
  2736. VkImageSubresourceLayers srcSubresource;
  2737. VkOffset3D srcOffset;
  2738. VkImageSubresourceLayers dstSubresource;
  2739. VkOffset3D dstOffset;
  2740. VkExtent3D extent;
  2741. } VkImageCopy;
  2742. typedef struct VkImageBlit {
  2743. VkImageSubresourceLayers srcSubresource;
  2744. VkOffset3D srcOffsets [2];
  2745. VkImageSubresourceLayers dstSubresource;
  2746. VkOffset3D dstOffsets [2];
  2747. } VkImageBlit;
  2748. typedef struct VkBufferImageCopy {
  2749. VkDeviceSize bufferOffset;
  2750. uint32_t bufferRowLength;
  2751. uint32_t bufferImageHeight;
  2752. VkImageSubresourceLayers imageSubresource;
  2753. VkOffset3D imageOffset;
  2754. VkExtent3D imageExtent;
  2755. } VkBufferImageCopy;
  2756. typedef struct VkImageResolve {
  2757. VkImageSubresourceLayers srcSubresource;
  2758. VkOffset3D srcOffset;
  2759. VkImageSubresourceLayers dstSubresource;
  2760. VkOffset3D dstOffset;
  2761. VkExtent3D extent;
  2762. } VkImageResolve;
  2763. typedef struct VkShaderModuleCreateInfo {
  2764. VkStructureType sType;
  2765. const void * pNext;
  2766. VkShaderModuleCreateFlags flags;
  2767. size_t codeSize;
  2768. const uint32_t * pCode;
  2769. } VkShaderModuleCreateInfo;
  2770. typedef struct VkDescriptorSetLayoutBinding {
  2771. uint32_t binding;
  2772. VkDescriptorType descriptorType;
  2773. uint32_t descriptorCount;
  2774. VkShaderStageFlags stageFlags;
  2775. const VkSampler * pImmutableSamplers;
  2776. } VkDescriptorSetLayoutBinding;
  2777. typedef struct VkDescriptorSetLayoutCreateInfo {
  2778. VkStructureType sType;
  2779. const void * pNext;
  2780. VkDescriptorSetLayoutCreateFlags flags;
  2781. uint32_t bindingCount;
  2782. const VkDescriptorSetLayoutBinding * pBindings;
  2783. } VkDescriptorSetLayoutCreateInfo;
  2784. typedef struct VkDescriptorPoolCreateInfo {
  2785. VkStructureType sType;
  2786. const void * pNext;
  2787. VkDescriptorPoolCreateFlags flags;
  2788. uint32_t maxSets;
  2789. uint32_t poolSizeCount;
  2790. const VkDescriptorPoolSize * pPoolSizes;
  2791. } VkDescriptorPoolCreateInfo;
  2792. typedef struct VkPipelineShaderStageCreateInfo {
  2793. VkStructureType sType;
  2794. const void * pNext;
  2795. VkPipelineShaderStageCreateFlags flags;
  2796. VkShaderStageFlagBits stage;
  2797. VkShaderModule module;
  2798. const char * pName;
  2799. const VkSpecializationInfo * pSpecializationInfo;
  2800. } VkPipelineShaderStageCreateInfo;
  2801. typedef struct VkComputePipelineCreateInfo {
  2802. VkStructureType sType;
  2803. const void * pNext;
  2804. VkPipelineCreateFlags flags;
  2805. VkPipelineShaderStageCreateInfo stage;
  2806. VkPipelineLayout layout;
  2807. VkPipeline basePipelineHandle;
  2808. int32_t basePipelineIndex;
  2809. } VkComputePipelineCreateInfo;
  2810. typedef struct VkPipelineVertexInputStateCreateInfo {
  2811. VkStructureType sType;
  2812. const void * pNext;
  2813. VkPipelineVertexInputStateCreateFlags flags;
  2814. uint32_t vertexBindingDescriptionCount;
  2815. const VkVertexInputBindingDescription * pVertexBindingDescriptions;
  2816. uint32_t vertexAttributeDescriptionCount;
  2817. const VkVertexInputAttributeDescription * pVertexAttributeDescriptions;
  2818. } VkPipelineVertexInputStateCreateInfo;
  2819. typedef struct VkPipelineInputAssemblyStateCreateInfo {
  2820. VkStructureType sType;
  2821. const void * pNext;
  2822. VkPipelineInputAssemblyStateCreateFlags flags;
  2823. VkPrimitiveTopology topology;
  2824. VkBool32 primitiveRestartEnable;
  2825. } VkPipelineInputAssemblyStateCreateInfo;
  2826. typedef struct VkPipelineTessellationStateCreateInfo {
  2827. VkStructureType sType;
  2828. const void * pNext;
  2829. VkPipelineTessellationStateCreateFlags flags;
  2830. uint32_t patchControlPoints;
  2831. } VkPipelineTessellationStateCreateInfo;
  2832. typedef struct VkPipelineViewportStateCreateInfo {
  2833. VkStructureType sType;
  2834. const void * pNext;
  2835. VkPipelineViewportStateCreateFlags flags;
  2836. uint32_t viewportCount;
  2837. const VkViewport * pViewports;
  2838. uint32_t scissorCount;
  2839. const VkRect2D * pScissors;
  2840. } VkPipelineViewportStateCreateInfo;
  2841. typedef struct VkPipelineRasterizationStateCreateInfo {
  2842. VkStructureType sType;
  2843. const void * pNext;
  2844. VkPipelineRasterizationStateCreateFlags flags;
  2845. VkBool32 depthClampEnable;
  2846. VkBool32 rasterizerDiscardEnable;
  2847. VkPolygonMode polygonMode;
  2848. VkCullModeFlags cullMode;
  2849. VkFrontFace frontFace;
  2850. VkBool32 depthBiasEnable;
  2851. float depthBiasConstantFactor;
  2852. float depthBiasClamp;
  2853. float depthBiasSlopeFactor;
  2854. float lineWidth;
  2855. } VkPipelineRasterizationStateCreateInfo;
  2856. typedef struct VkPipelineMultisampleStateCreateInfo {
  2857. VkStructureType sType;
  2858. const void * pNext;
  2859. VkPipelineMultisampleStateCreateFlags flags;
  2860. VkSampleCountFlagBits rasterizationSamples;
  2861. VkBool32 sampleShadingEnable;
  2862. float minSampleShading;
  2863. const VkSampleMask * pSampleMask;
  2864. VkBool32 alphaToCoverageEnable;
  2865. VkBool32 alphaToOneEnable;
  2866. } VkPipelineMultisampleStateCreateInfo;
  2867. typedef struct VkPipelineColorBlendAttachmentState {
  2868. VkBool32 blendEnable;
  2869. VkBlendFactor srcColorBlendFactor;
  2870. VkBlendFactor dstColorBlendFactor;
  2871. VkBlendOp colorBlendOp;
  2872. VkBlendFactor srcAlphaBlendFactor;
  2873. VkBlendFactor dstAlphaBlendFactor;
  2874. VkBlendOp alphaBlendOp;
  2875. VkColorComponentFlags colorWriteMask;
  2876. } VkPipelineColorBlendAttachmentState;
  2877. typedef struct VkPipelineColorBlendStateCreateInfo {
  2878. VkStructureType sType;
  2879. const void * pNext;
  2880. VkPipelineColorBlendStateCreateFlags flags;
  2881. VkBool32 logicOpEnable;
  2882. VkLogicOp logicOp;
  2883. uint32_t attachmentCount;
  2884. const VkPipelineColorBlendAttachmentState * pAttachments;
  2885. float blendConstants [4];
  2886. } VkPipelineColorBlendStateCreateInfo;
  2887. typedef struct VkPipelineDynamicStateCreateInfo {
  2888. VkStructureType sType;
  2889. const void * pNext;
  2890. VkPipelineDynamicStateCreateFlags flags;
  2891. uint32_t dynamicStateCount;
  2892. const VkDynamicState * pDynamicStates;
  2893. } VkPipelineDynamicStateCreateInfo;
  2894. typedef struct VkPipelineDepthStencilStateCreateInfo {
  2895. VkStructureType sType;
  2896. const void * pNext;
  2897. VkPipelineDepthStencilStateCreateFlags flags;
  2898. VkBool32 depthTestEnable;
  2899. VkBool32 depthWriteEnable;
  2900. VkCompareOp depthCompareOp;
  2901. VkBool32 depthBoundsTestEnable;
  2902. VkBool32 stencilTestEnable;
  2903. VkStencilOpState front;
  2904. VkStencilOpState back;
  2905. float minDepthBounds;
  2906. float maxDepthBounds;
  2907. } VkPipelineDepthStencilStateCreateInfo;
  2908. typedef struct VkGraphicsPipelineCreateInfo {
  2909. VkStructureType sType;
  2910. const void * pNext;
  2911. VkPipelineCreateFlags flags;
  2912. uint32_t stageCount;
  2913. const VkPipelineShaderStageCreateInfo * pStages;
  2914. const VkPipelineVertexInputStateCreateInfo * pVertexInputState;
  2915. const VkPipelineInputAssemblyStateCreateInfo * pInputAssemblyState;
  2916. const VkPipelineTessellationStateCreateInfo * pTessellationState;
  2917. const VkPipelineViewportStateCreateInfo * pViewportState;
  2918. const VkPipelineRasterizationStateCreateInfo * pRasterizationState;
  2919. const VkPipelineMultisampleStateCreateInfo * pMultisampleState;
  2920. const VkPipelineDepthStencilStateCreateInfo * pDepthStencilState;
  2921. const VkPipelineColorBlendStateCreateInfo * pColorBlendState;
  2922. const VkPipelineDynamicStateCreateInfo * pDynamicState;
  2923. VkPipelineLayout layout;
  2924. VkRenderPass renderPass;
  2925. uint32_t subpass;
  2926. VkPipeline basePipelineHandle;
  2927. int32_t basePipelineIndex;
  2928. } VkGraphicsPipelineCreateInfo;
  2929. typedef struct VkPipelineCacheCreateInfo {
  2930. VkStructureType sType;
  2931. const void * pNext;
  2932. VkPipelineCacheCreateFlags flags;
  2933. size_t initialDataSize;
  2934. const void * pInitialData;
  2935. } VkPipelineCacheCreateInfo;
  2936. typedef struct VkPushConstantRange {
  2937. VkShaderStageFlags stageFlags;
  2938. uint32_t offset;
  2939. uint32_t size;
  2940. } VkPushConstantRange;
  2941. typedef struct VkPipelineLayoutCreateInfo {
  2942. VkStructureType sType;
  2943. const void * pNext;
  2944. VkPipelineLayoutCreateFlags flags;
  2945. uint32_t setLayoutCount;
  2946. const VkDescriptorSetLayout * pSetLayouts;
  2947. uint32_t pushConstantRangeCount;
  2948. const VkPushConstantRange * pPushConstantRanges;
  2949. } VkPipelineLayoutCreateInfo;
  2950. typedef struct VkSamplerCreateInfo {
  2951. VkStructureType sType;
  2952. const void * pNext;
  2953. VkSamplerCreateFlags flags;
  2954. VkFilter magFilter;
  2955. VkFilter minFilter;
  2956. VkSamplerMipmapMode mipmapMode;
  2957. VkSamplerAddressMode addressModeU;
  2958. VkSamplerAddressMode addressModeV;
  2959. VkSamplerAddressMode addressModeW;
  2960. float mipLodBias;
  2961. VkBool32 anisotropyEnable;
  2962. float maxAnisotropy;
  2963. VkBool32 compareEnable;
  2964. VkCompareOp compareOp;
  2965. float minLod;
  2966. float maxLod;
  2967. VkBorderColor borderColor;
  2968. VkBool32 unnormalizedCoordinates;
  2969. } VkSamplerCreateInfo;
  2970. typedef struct VkCommandPoolCreateInfo {
  2971. VkStructureType sType;
  2972. const void * pNext;
  2973. VkCommandPoolCreateFlags flags;
  2974. uint32_t queueFamilyIndex;
  2975. } VkCommandPoolCreateInfo;
  2976. typedef struct VkCommandBufferInheritanceInfo {
  2977. VkStructureType sType;
  2978. const void * pNext;
  2979. VkRenderPass renderPass;
  2980. uint32_t subpass;
  2981. VkFramebuffer framebuffer;
  2982. VkBool32 occlusionQueryEnable;
  2983. VkQueryControlFlags queryFlags;
  2984. VkQueryPipelineStatisticFlags pipelineStatistics;
  2985. } VkCommandBufferInheritanceInfo;
  2986. typedef struct VkCommandBufferBeginInfo {
  2987. VkStructureType sType;
  2988. const void * pNext;
  2989. VkCommandBufferUsageFlags flags;
  2990. const VkCommandBufferInheritanceInfo * pInheritanceInfo;
  2991. } VkCommandBufferBeginInfo;
  2992. typedef struct VkRenderPassBeginInfo {
  2993. VkStructureType sType;
  2994. const void * pNext;
  2995. VkRenderPass renderPass;
  2996. VkFramebuffer framebuffer;
  2997. VkRect2D renderArea;
  2998. uint32_t clearValueCount;
  2999. const VkClearValue * pClearValues;
  3000. } VkRenderPassBeginInfo;
  3001. typedef struct VkClearAttachment {
  3002. VkImageAspectFlags aspectMask;
  3003. uint32_t colorAttachment;
  3004. VkClearValue clearValue;
  3005. } VkClearAttachment;
  3006. typedef struct VkAttachmentDescription {
  3007. VkAttachmentDescriptionFlags flags;
  3008. VkFormat format;
  3009. VkSampleCountFlagBits samples;
  3010. VkAttachmentLoadOp loadOp;
  3011. VkAttachmentStoreOp storeOp;
  3012. VkAttachmentLoadOp stencilLoadOp;
  3013. VkAttachmentStoreOp stencilStoreOp;
  3014. VkImageLayout initialLayout;
  3015. VkImageLayout finalLayout;
  3016. } VkAttachmentDescription;
  3017. typedef struct VkSubpassDescription {
  3018. VkSubpassDescriptionFlags flags;
  3019. VkPipelineBindPoint pipelineBindPoint;
  3020. uint32_t inputAttachmentCount;
  3021. const VkAttachmentReference * pInputAttachments;
  3022. uint32_t colorAttachmentCount;
  3023. const VkAttachmentReference * pColorAttachments;
  3024. const VkAttachmentReference * pResolveAttachments;
  3025. const VkAttachmentReference * pDepthStencilAttachment;
  3026. uint32_t preserveAttachmentCount;
  3027. const uint32_t * pPreserveAttachments;
  3028. } VkSubpassDescription;
  3029. typedef struct VkSubpassDependency {
  3030. uint32_t srcSubpass;
  3031. uint32_t dstSubpass;
  3032. VkPipelineStageFlags srcStageMask;
  3033. VkPipelineStageFlags dstStageMask;
  3034. VkAccessFlags srcAccessMask;
  3035. VkAccessFlags dstAccessMask;
  3036. VkDependencyFlags dependencyFlags;
  3037. } VkSubpassDependency;
  3038. typedef struct VkRenderPassCreateInfo {
  3039. VkStructureType sType;
  3040. const void * pNext;
  3041. VkRenderPassCreateFlags flags;
  3042. uint32_t attachmentCount;
  3043. const VkAttachmentDescription * pAttachments;
  3044. uint32_t subpassCount;
  3045. const VkSubpassDescription * pSubpasses;
  3046. uint32_t dependencyCount;
  3047. const VkSubpassDependency * pDependencies;
  3048. } VkRenderPassCreateInfo;
  3049. typedef struct VkEventCreateInfo {
  3050. VkStructureType sType;
  3051. const void * pNext;
  3052. VkEventCreateFlags flags;
  3053. } VkEventCreateInfo;
  3054. typedef struct VkFenceCreateInfo {
  3055. VkStructureType sType;
  3056. const void * pNext;
  3057. VkFenceCreateFlags flags;
  3058. } VkFenceCreateInfo;
  3059. typedef struct VkPhysicalDeviceFeatures {
  3060. VkBool32 robustBufferAccess;
  3061. VkBool32 fullDrawIndexUint32;
  3062. VkBool32 imageCubeArray;
  3063. VkBool32 independentBlend;
  3064. VkBool32 geometryShader;
  3065. VkBool32 tessellationShader;
  3066. VkBool32 sampleRateShading;
  3067. VkBool32 dualSrcBlend;
  3068. VkBool32 logicOp;
  3069. VkBool32 multiDrawIndirect;
  3070. VkBool32 drawIndirectFirstInstance;
  3071. VkBool32 depthClamp;
  3072. VkBool32 depthBiasClamp;
  3073. VkBool32 fillModeNonSolid;
  3074. VkBool32 depthBounds;
  3075. VkBool32 wideLines;
  3076. VkBool32 largePoints;
  3077. VkBool32 alphaToOne;
  3078. VkBool32 multiViewport;
  3079. VkBool32 samplerAnisotropy;
  3080. VkBool32 textureCompressionETC2;
  3081. VkBool32 textureCompressionASTC_LDR;
  3082. VkBool32 textureCompressionBC;
  3083. VkBool32 occlusionQueryPrecise;
  3084. VkBool32 pipelineStatisticsQuery;
  3085. VkBool32 vertexPipelineStoresAndAtomics;
  3086. VkBool32 fragmentStoresAndAtomics;
  3087. VkBool32 shaderTessellationAndGeometryPointSize;
  3088. VkBool32 shaderImageGatherExtended;
  3089. VkBool32 shaderStorageImageExtendedFormats;
  3090. VkBool32 shaderStorageImageMultisample;
  3091. VkBool32 shaderStorageImageReadWithoutFormat;
  3092. VkBool32 shaderStorageImageWriteWithoutFormat;
  3093. VkBool32 shaderUniformBufferArrayDynamicIndexing;
  3094. VkBool32 shaderSampledImageArrayDynamicIndexing;
  3095. VkBool32 shaderStorageBufferArrayDynamicIndexing;
  3096. VkBool32 shaderStorageImageArrayDynamicIndexing;
  3097. VkBool32 shaderClipDistance;
  3098. VkBool32 shaderCullDistance;
  3099. VkBool32 shaderFloat64;
  3100. VkBool32 shaderInt64;
  3101. VkBool32 shaderInt16;
  3102. VkBool32 shaderResourceResidency;
  3103. VkBool32 shaderResourceMinLod;
  3104. VkBool32 sparseBinding;
  3105. VkBool32 sparseResidencyBuffer;
  3106. VkBool32 sparseResidencyImage2D;
  3107. VkBool32 sparseResidencyImage3D;
  3108. VkBool32 sparseResidency2Samples;
  3109. VkBool32 sparseResidency4Samples;
  3110. VkBool32 sparseResidency8Samples;
  3111. VkBool32 sparseResidency16Samples;
  3112. VkBool32 sparseResidencyAliased;
  3113. VkBool32 variableMultisampleRate;
  3114. VkBool32 inheritedQueries;
  3115. } VkPhysicalDeviceFeatures;
  3116. typedef struct VkPhysicalDeviceSparseProperties {
  3117. VkBool32 residencyStandard2DBlockShape;
  3118. VkBool32 residencyStandard2DMultisampleBlockShape;
  3119. VkBool32 residencyStandard3DBlockShape;
  3120. VkBool32 residencyAlignedMipSize;
  3121. VkBool32 residencyNonResidentStrict;
  3122. } VkPhysicalDeviceSparseProperties;
  3123. typedef struct VkPhysicalDeviceLimits {
  3124. uint32_t maxImageDimension1D;
  3125. uint32_t maxImageDimension2D;
  3126. uint32_t maxImageDimension3D;
  3127. uint32_t maxImageDimensionCube;
  3128. uint32_t maxImageArrayLayers;
  3129. uint32_t maxTexelBufferElements;
  3130. uint32_t maxUniformBufferRange;
  3131. uint32_t maxStorageBufferRange;
  3132. uint32_t maxPushConstantsSize;
  3133. uint32_t maxMemoryAllocationCount;
  3134. uint32_t maxSamplerAllocationCount;
  3135. VkDeviceSize bufferImageGranularity;
  3136. VkDeviceSize sparseAddressSpaceSize;
  3137. uint32_t maxBoundDescriptorSets;
  3138. uint32_t maxPerStageDescriptorSamplers;
  3139. uint32_t maxPerStageDescriptorUniformBuffers;
  3140. uint32_t maxPerStageDescriptorStorageBuffers;
  3141. uint32_t maxPerStageDescriptorSampledImages;
  3142. uint32_t maxPerStageDescriptorStorageImages;
  3143. uint32_t maxPerStageDescriptorInputAttachments;
  3144. uint32_t maxPerStageResources;
  3145. uint32_t maxDescriptorSetSamplers;
  3146. uint32_t maxDescriptorSetUniformBuffers;
  3147. uint32_t maxDescriptorSetUniformBuffersDynamic;
  3148. uint32_t maxDescriptorSetStorageBuffers;
  3149. uint32_t maxDescriptorSetStorageBuffersDynamic;
  3150. uint32_t maxDescriptorSetSampledImages;
  3151. uint32_t maxDescriptorSetStorageImages;
  3152. uint32_t maxDescriptorSetInputAttachments;
  3153. uint32_t maxVertexInputAttributes;
  3154. uint32_t maxVertexInputBindings;
  3155. uint32_t maxVertexInputAttributeOffset;
  3156. uint32_t maxVertexInputBindingStride;
  3157. uint32_t maxVertexOutputComponents;
  3158. uint32_t maxTessellationGenerationLevel;
  3159. uint32_t maxTessellationPatchSize;
  3160. uint32_t maxTessellationControlPerVertexInputComponents;
  3161. uint32_t maxTessellationControlPerVertexOutputComponents;
  3162. uint32_t maxTessellationControlPerPatchOutputComponents;
  3163. uint32_t maxTessellationControlTotalOutputComponents;
  3164. uint32_t maxTessellationEvaluationInputComponents;
  3165. uint32_t maxTessellationEvaluationOutputComponents;
  3166. uint32_t maxGeometryShaderInvocations;
  3167. uint32_t maxGeometryInputComponents;
  3168. uint32_t maxGeometryOutputComponents;
  3169. uint32_t maxGeometryOutputVertices;
  3170. uint32_t maxGeometryTotalOutputComponents;
  3171. uint32_t maxFragmentInputComponents;
  3172. uint32_t maxFragmentOutputAttachments;
  3173. uint32_t maxFragmentDualSrcAttachments;
  3174. uint32_t maxFragmentCombinedOutputResources;
  3175. uint32_t maxComputeSharedMemorySize;
  3176. uint32_t maxComputeWorkGroupCount [3];
  3177. uint32_t maxComputeWorkGroupInvocations;
  3178. uint32_t maxComputeWorkGroupSize [3];
  3179. uint32_t subPixelPrecisionBits;
  3180. uint32_t subTexelPrecisionBits;
  3181. uint32_t mipmapPrecisionBits;
  3182. uint32_t maxDrawIndexedIndexValue;
  3183. uint32_t maxDrawIndirectCount;
  3184. float maxSamplerLodBias;
  3185. float maxSamplerAnisotropy;
  3186. uint32_t maxViewports;
  3187. uint32_t maxViewportDimensions [2];
  3188. float viewportBoundsRange [2];
  3189. uint32_t viewportSubPixelBits;
  3190. size_t minMemoryMapAlignment;
  3191. VkDeviceSize minTexelBufferOffsetAlignment;
  3192. VkDeviceSize minUniformBufferOffsetAlignment;
  3193. VkDeviceSize minStorageBufferOffsetAlignment;
  3194. int32_t minTexelOffset;
  3195. uint32_t maxTexelOffset;
  3196. int32_t minTexelGatherOffset;
  3197. uint32_t maxTexelGatherOffset;
  3198. float minInterpolationOffset;
  3199. float maxInterpolationOffset;
  3200. uint32_t subPixelInterpolationOffsetBits;
  3201. uint32_t maxFramebufferWidth;
  3202. uint32_t maxFramebufferHeight;
  3203. uint32_t maxFramebufferLayers;
  3204. VkSampleCountFlags framebufferColorSampleCounts;
  3205. VkSampleCountFlags framebufferDepthSampleCounts;
  3206. VkSampleCountFlags framebufferStencilSampleCounts;
  3207. VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
  3208. uint32_t maxColorAttachments;
  3209. VkSampleCountFlags sampledImageColorSampleCounts;
  3210. VkSampleCountFlags sampledImageIntegerSampleCounts;
  3211. VkSampleCountFlags sampledImageDepthSampleCounts;
  3212. VkSampleCountFlags sampledImageStencilSampleCounts;
  3213. VkSampleCountFlags storageImageSampleCounts;
  3214. uint32_t maxSampleMaskWords;
  3215. VkBool32 timestampComputeAndGraphics;
  3216. float timestampPeriod;
  3217. uint32_t maxClipDistances;
  3218. uint32_t maxCullDistances;
  3219. uint32_t maxCombinedClipAndCullDistances;
  3220. uint32_t discreteQueuePriorities;
  3221. float pointSizeRange [2];
  3222. float lineWidthRange [2];
  3223. float pointSizeGranularity;
  3224. float lineWidthGranularity;
  3225. VkBool32 strictLines;
  3226. VkBool32 standardSampleLocations;
  3227. VkDeviceSize optimalBufferCopyOffsetAlignment;
  3228. VkDeviceSize optimalBufferCopyRowPitchAlignment;
  3229. VkDeviceSize nonCoherentAtomSize;
  3230. } VkPhysicalDeviceLimits;
  3231. typedef struct VkSemaphoreCreateInfo {
  3232. VkStructureType sType;
  3233. const void * pNext;
  3234. VkSemaphoreCreateFlags flags;
  3235. } VkSemaphoreCreateInfo;
  3236. typedef struct VkQueryPoolCreateInfo {
  3237. VkStructureType sType;
  3238. const void * pNext;
  3239. VkQueryPoolCreateFlags flags;
  3240. VkQueryType queryType;
  3241. uint32_t queryCount;
  3242. VkQueryPipelineStatisticFlags pipelineStatistics;
  3243. } VkQueryPoolCreateInfo;
  3244. typedef struct VkFramebufferCreateInfo {
  3245. VkStructureType sType;
  3246. const void * pNext;
  3247. VkFramebufferCreateFlags flags;
  3248. VkRenderPass renderPass;
  3249. uint32_t attachmentCount;
  3250. const VkImageView * pAttachments;
  3251. uint32_t width;
  3252. uint32_t height;
  3253. uint32_t layers;
  3254. } VkFramebufferCreateInfo;
  3255. typedef struct VkSubmitInfo {
  3256. VkStructureType sType;
  3257. const void * pNext;
  3258. uint32_t waitSemaphoreCount;
  3259. const VkSemaphore * pWaitSemaphores;
  3260. const VkPipelineStageFlags * pWaitDstStageMask;
  3261. uint32_t commandBufferCount;
  3262. const VkCommandBuffer * pCommandBuffers;
  3263. uint32_t signalSemaphoreCount;
  3264. const VkSemaphore * pSignalSemaphores;
  3265. } VkSubmitInfo;
  3266. typedef struct VkSurfaceCapabilitiesKHR {
  3267. uint32_t minImageCount;
  3268. uint32_t maxImageCount;
  3269. VkExtent2D currentExtent;
  3270. VkExtent2D minImageExtent;
  3271. VkExtent2D maxImageExtent;
  3272. uint32_t maxImageArrayLayers;
  3273. VkSurfaceTransformFlagsKHR supportedTransforms;
  3274. VkSurfaceTransformFlagBitsKHR currentTransform;
  3275. VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
  3276. VkImageUsageFlags supportedUsageFlags;
  3277. } VkSurfaceCapabilitiesKHR;
  3278. typedef struct VkSwapchainCreateInfoKHR {
  3279. VkStructureType sType;
  3280. const void * pNext;
  3281. VkSwapchainCreateFlagsKHR flags;
  3282. VkSurfaceKHR surface;
  3283. uint32_t minImageCount;
  3284. VkFormat imageFormat;
  3285. VkColorSpaceKHR imageColorSpace;
  3286. VkExtent2D imageExtent;
  3287. uint32_t imageArrayLayers;
  3288. VkImageUsageFlags imageUsage;
  3289. VkSharingMode imageSharingMode;
  3290. uint32_t queueFamilyIndexCount;
  3291. const uint32_t * pQueueFamilyIndices;
  3292. VkSurfaceTransformFlagBitsKHR preTransform;
  3293. VkCompositeAlphaFlagBitsKHR compositeAlpha;
  3294. VkPresentModeKHR presentMode;
  3295. VkBool32 clipped;
  3296. VkSwapchainKHR oldSwapchain;
  3297. } VkSwapchainCreateInfoKHR;
  3298. typedef struct VkDebugReportCallbackCreateInfoEXT {
  3299. VkStructureType sType;
  3300. const void * pNext;
  3301. VkDebugReportFlagsEXT flags;
  3302. PFN_vkDebugReportCallbackEXT pfnCallback;
  3303. void * pUserData;
  3304. } VkDebugReportCallbackCreateInfoEXT;
  3305. typedef struct VkPrivateDataSlotCreateInfo {
  3306. VkStructureType sType;
  3307. const void * pNext;
  3308. VkPrivateDataSlotCreateFlags flags;
  3309. } VkPrivateDataSlotCreateInfo;
  3310. typedef struct VkPhysicalDevicePrivateDataFeatures {
  3311. VkStructureType sType;
  3312. void * pNext;
  3313. VkBool32 privateData;
  3314. } VkPhysicalDevicePrivateDataFeatures;
  3315. typedef struct VkPhysicalDeviceFeatures2 {
  3316. VkStructureType sType;
  3317. void * pNext;
  3318. VkPhysicalDeviceFeatures features;
  3319. } VkPhysicalDeviceFeatures2;
  3320. typedef struct VkFormatProperties2 {
  3321. VkStructureType sType;
  3322. void * pNext;
  3323. VkFormatProperties formatProperties;
  3324. } VkFormatProperties2;
  3325. typedef struct VkImageFormatProperties2 {
  3326. VkStructureType sType;
  3327. void * pNext;
  3328. VkImageFormatProperties imageFormatProperties;
  3329. } VkImageFormatProperties2;
  3330. typedef struct VkPhysicalDeviceImageFormatInfo2 {
  3331. VkStructureType sType;
  3332. const void * pNext;
  3333. VkFormat format;
  3334. VkImageType type;
  3335. VkImageTiling tiling;
  3336. VkImageUsageFlags usage;
  3337. VkImageCreateFlags flags;
  3338. } VkPhysicalDeviceImageFormatInfo2;
  3339. typedef struct VkQueueFamilyProperties2 {
  3340. VkStructureType sType;
  3341. void * pNext;
  3342. VkQueueFamilyProperties queueFamilyProperties;
  3343. } VkQueueFamilyProperties2;
  3344. typedef struct VkSparseImageFormatProperties2 {
  3345. VkStructureType sType;
  3346. void * pNext;
  3347. VkSparseImageFormatProperties properties;
  3348. } VkSparseImageFormatProperties2;
  3349. typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
  3350. VkStructureType sType;
  3351. const void * pNext;
  3352. VkFormat format;
  3353. VkImageType type;
  3354. VkSampleCountFlagBits samples;
  3355. VkImageUsageFlags usage;
  3356. VkImageTiling tiling;
  3357. } VkPhysicalDeviceSparseImageFormatInfo2;
  3358. typedef struct VkPhysicalDeviceVariablePointersFeatures {
  3359. VkStructureType sType;
  3360. void * pNext;
  3361. VkBool32 variablePointersStorageBuffer;
  3362. VkBool32 variablePointers;
  3363. } VkPhysicalDeviceVariablePointersFeatures;
  3364. typedef struct VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
  3365. typedef struct VkExternalMemoryProperties {
  3366. VkExternalMemoryFeatureFlags externalMemoryFeatures;
  3367. VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
  3368. VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
  3369. } VkExternalMemoryProperties;
  3370. typedef struct VkExternalImageFormatProperties {
  3371. VkStructureType sType;
  3372. void * pNext;
  3373. VkExternalMemoryProperties externalMemoryProperties;
  3374. } VkExternalImageFormatProperties;
  3375. typedef struct VkPhysicalDeviceExternalBufferInfo {
  3376. VkStructureType sType;
  3377. const void * pNext;
  3378. VkBufferCreateFlags flags;
  3379. VkBufferUsageFlags usage;
  3380. VkExternalMemoryHandleTypeFlagBits handleType;
  3381. } VkPhysicalDeviceExternalBufferInfo;
  3382. typedef struct VkExternalBufferProperties {
  3383. VkStructureType sType;
  3384. void * pNext;
  3385. VkExternalMemoryProperties externalMemoryProperties;
  3386. } VkExternalBufferProperties;
  3387. typedef struct VkPhysicalDeviceIDProperties {
  3388. VkStructureType sType;
  3389. void * pNext;
  3390. uint8_t deviceUUID [ VK_UUID_SIZE ];
  3391. uint8_t driverUUID [ VK_UUID_SIZE ];
  3392. uint8_t deviceLUID [ VK_LUID_SIZE ];
  3393. uint32_t deviceNodeMask;
  3394. VkBool32 deviceLUIDValid;
  3395. } VkPhysicalDeviceIDProperties;
  3396. typedef struct VkExternalMemoryImageCreateInfo {
  3397. VkStructureType sType;
  3398. const void * pNext;
  3399. VkExternalMemoryHandleTypeFlags handleTypes;
  3400. } VkExternalMemoryImageCreateInfo;
  3401. typedef struct VkExternalMemoryBufferCreateInfo {
  3402. VkStructureType sType;
  3403. const void * pNext;
  3404. VkExternalMemoryHandleTypeFlags handleTypes;
  3405. } VkExternalMemoryBufferCreateInfo;
  3406. typedef struct VkExportMemoryAllocateInfo {
  3407. VkStructureType sType;
  3408. const void * pNext;
  3409. VkExternalMemoryHandleTypeFlags handleTypes;
  3410. } VkExportMemoryAllocateInfo;
  3411. typedef struct VkExternalSemaphoreProperties {
  3412. VkStructureType sType;
  3413. void * pNext;
  3414. VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
  3415. VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
  3416. VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
  3417. } VkExternalSemaphoreProperties;
  3418. typedef struct VkExportSemaphoreCreateInfo {
  3419. VkStructureType sType;
  3420. const void * pNext;
  3421. VkExternalSemaphoreHandleTypeFlags handleTypes;
  3422. } VkExportSemaphoreCreateInfo;
  3423. typedef struct VkExternalFenceProperties {
  3424. VkStructureType sType;
  3425. void * pNext;
  3426. VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
  3427. VkExternalFenceHandleTypeFlags compatibleHandleTypes;
  3428. VkExternalFenceFeatureFlags externalFenceFeatures;
  3429. } VkExternalFenceProperties;
  3430. typedef struct VkExportFenceCreateInfo {
  3431. VkStructureType sType;
  3432. const void * pNext;
  3433. VkExternalFenceHandleTypeFlags handleTypes;
  3434. } VkExportFenceCreateInfo;
  3435. typedef struct VkPhysicalDeviceMultiviewFeatures {
  3436. VkStructureType sType;
  3437. void * pNext;
  3438. VkBool32 multiview;
  3439. VkBool32 multiviewGeometryShader;
  3440. VkBool32 multiviewTessellationShader;
  3441. } VkPhysicalDeviceMultiviewFeatures;
  3442. typedef struct VkPhysicalDeviceGroupProperties {
  3443. VkStructureType sType;
  3444. void * pNext;
  3445. uint32_t physicalDeviceCount;
  3446. VkPhysicalDevice physicalDevices [ VK_MAX_DEVICE_GROUP_SIZE ];
  3447. VkBool32 subsetAllocation;
  3448. } VkPhysicalDeviceGroupProperties;
  3449. typedef struct VkMemoryAllocateFlagsInfo {
  3450. VkStructureType sType;
  3451. const void * pNext;
  3452. VkMemoryAllocateFlags flags;
  3453. uint32_t deviceMask;
  3454. } VkMemoryAllocateFlagsInfo;
  3455. typedef struct VkBindBufferMemoryInfo {
  3456. VkStructureType sType;
  3457. const void * pNext;
  3458. VkBuffer buffer;
  3459. VkDeviceMemory memory;
  3460. VkDeviceSize memoryOffset;
  3461. } VkBindBufferMemoryInfo;
  3462. typedef struct VkBindImageMemoryInfo {
  3463. VkStructureType sType;
  3464. const void * pNext;
  3465. VkImage image;
  3466. VkDeviceMemory memory;
  3467. VkDeviceSize memoryOffset;
  3468. } VkBindImageMemoryInfo;
  3469. typedef struct VkDeviceGroupPresentCapabilitiesKHR {
  3470. VkStructureType sType;
  3471. void * pNext;
  3472. uint32_t presentMask [ VK_MAX_DEVICE_GROUP_SIZE ];
  3473. VkDeviceGroupPresentModeFlagsKHR modes;
  3474. } VkDeviceGroupPresentCapabilitiesKHR;
  3475. typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
  3476. VkStructureType sType;
  3477. const void * pNext;
  3478. VkDeviceGroupPresentModeFlagsKHR modes;
  3479. } VkDeviceGroupSwapchainCreateInfoKHR;
  3480. typedef struct VkDescriptorUpdateTemplateCreateInfo {
  3481. VkStructureType sType;
  3482. const void * pNext;
  3483. VkDescriptorUpdateTemplateCreateFlags flags;
  3484. uint32_t descriptorUpdateEntryCount;
  3485. const VkDescriptorUpdateTemplateEntry * pDescriptorUpdateEntries;
  3486. VkDescriptorUpdateTemplateType templateType;
  3487. VkDescriptorSetLayout descriptorSetLayout;
  3488. VkPipelineBindPoint pipelineBindPoint;
  3489. VkPipelineLayout pipelineLayout;
  3490. uint32_t set;
  3491. } VkDescriptorUpdateTemplateCreateInfo;
  3492. typedef struct VkInputAttachmentAspectReference {
  3493. uint32_t subpass;
  3494. uint32_t inputAttachmentIndex;
  3495. VkImageAspectFlags aspectMask;
  3496. } VkInputAttachmentAspectReference;
  3497. typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
  3498. VkStructureType sType;
  3499. const void * pNext;
  3500. uint32_t aspectReferenceCount;
  3501. const VkInputAttachmentAspectReference * pAspectReferences;
  3502. } VkRenderPassInputAttachmentAspectCreateInfo;
  3503. typedef struct VkPhysicalDevice16BitStorageFeatures {
  3504. VkStructureType sType;
  3505. void * pNext;
  3506. VkBool32 storageBuffer16BitAccess;
  3507. VkBool32 uniformAndStorageBuffer16BitAccess;
  3508. VkBool32 storagePushConstant16;
  3509. VkBool32 storageInputOutput16;
  3510. } VkPhysicalDevice16BitStorageFeatures;
  3511. typedef struct VkPhysicalDeviceSubgroupProperties {
  3512. VkStructureType sType;
  3513. void * pNext;
  3514. uint32_t subgroupSize;
  3515. VkShaderStageFlags supportedStages;
  3516. VkSubgroupFeatureFlags supportedOperations;
  3517. VkBool32 quadOperationsInAllStages;
  3518. } VkPhysicalDeviceSubgroupProperties;
  3519. typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
  3520. VkStructureType sType;
  3521. void * pNext;
  3522. VkBool32 shaderSubgroupExtendedTypes;
  3523. } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
  3524. typedef struct VkDeviceBufferMemoryRequirements {
  3525. VkStructureType sType;
  3526. const void * pNext;
  3527. const VkBufferCreateInfo * pCreateInfo;
  3528. } VkDeviceBufferMemoryRequirements;
  3529. typedef struct VkDeviceImageMemoryRequirements {
  3530. VkStructureType sType;
  3531. const void * pNext;
  3532. const VkImageCreateInfo * pCreateInfo;
  3533. VkImageAspectFlagBits planeAspect;
  3534. } VkDeviceImageMemoryRequirements;
  3535. typedef struct VkMemoryRequirements2 {
  3536. VkStructureType sType;
  3537. void * pNext;
  3538. VkMemoryRequirements memoryRequirements;
  3539. } VkMemoryRequirements2;
  3540. typedef struct VkSparseImageMemoryRequirements2 {
  3541. VkStructureType sType;
  3542. void * pNext;
  3543. VkSparseImageMemoryRequirements memoryRequirements;
  3544. } VkSparseImageMemoryRequirements2;
  3545. typedef struct VkMemoryDedicatedRequirements {
  3546. VkStructureType sType;
  3547. void * pNext;
  3548. VkBool32 prefersDedicatedAllocation;
  3549. VkBool32 requiresDedicatedAllocation;
  3550. } VkMemoryDedicatedRequirements;
  3551. typedef struct VkImageViewUsageCreateInfo {
  3552. VkStructureType sType;
  3553. const void * pNext;
  3554. VkImageUsageFlags usage;
  3555. } VkImageViewUsageCreateInfo;
  3556. typedef struct VkSamplerYcbcrConversionCreateInfo {
  3557. VkStructureType sType;
  3558. const void * pNext;
  3559. VkFormat format;
  3560. VkSamplerYcbcrModelConversion ycbcrModel;
  3561. VkSamplerYcbcrRange ycbcrRange;
  3562. VkComponentMapping components;
  3563. VkChromaLocation xChromaOffset;
  3564. VkChromaLocation yChromaOffset;
  3565. VkFilter chromaFilter;
  3566. VkBool32 forceExplicitReconstruction;
  3567. } VkSamplerYcbcrConversionCreateInfo;
  3568. typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
  3569. VkStructureType sType;
  3570. void * pNext;
  3571. VkBool32 samplerYcbcrConversion;
  3572. } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
  3573. typedef struct VkProtectedSubmitInfo {
  3574. VkStructureType sType;
  3575. const void * pNext;
  3576. VkBool32 protectedSubmit;
  3577. } VkProtectedSubmitInfo;
  3578. typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
  3579. VkStructureType sType;
  3580. void * pNext;
  3581. VkBool32 protectedMemory;
  3582. } VkPhysicalDeviceProtectedMemoryFeatures;
  3583. typedef struct VkPhysicalDeviceProtectedMemoryProperties {
  3584. VkStructureType sType;
  3585. void * pNext;
  3586. VkBool32 protectedNoFault;
  3587. } VkPhysicalDeviceProtectedMemoryProperties;
  3588. typedef struct VkDeviceQueueInfo2 {
  3589. VkStructureType sType;
  3590. const void * pNext;
  3591. VkDeviceQueueCreateFlags flags;
  3592. uint32_t queueFamilyIndex;
  3593. uint32_t queueIndex;
  3594. } VkDeviceQueueInfo2;
  3595. typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
  3596. VkStructureType sType;
  3597. void * pNext;
  3598. VkBool32 filterMinmaxSingleComponentFormats;
  3599. VkBool32 filterMinmaxImageComponentMapping;
  3600. } VkPhysicalDeviceSamplerFilterMinmaxProperties;
  3601. typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
  3602. VkStructureType sType;
  3603. void * pNext;
  3604. VkBool32 inlineUniformBlock;
  3605. VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
  3606. } VkPhysicalDeviceInlineUniformBlockFeatures;
  3607. typedef struct VkPhysicalDeviceMaintenance3Properties {
  3608. VkStructureType sType;
  3609. void * pNext;
  3610. uint32_t maxPerSetDescriptors;
  3611. VkDeviceSize maxMemoryAllocationSize;
  3612. } VkPhysicalDeviceMaintenance3Properties;
  3613. typedef struct VkPhysicalDeviceMaintenance4Features {
  3614. VkStructureType sType;
  3615. void * pNext;
  3616. VkBool32 maintenance4;
  3617. } VkPhysicalDeviceMaintenance4Features;
  3618. typedef struct VkPhysicalDeviceMaintenance4Properties {
  3619. VkStructureType sType;
  3620. void * pNext;
  3621. VkDeviceSize maxBufferSize;
  3622. } VkPhysicalDeviceMaintenance4Properties;
  3623. typedef struct VkDescriptorSetLayoutSupport {
  3624. VkStructureType sType;
  3625. void * pNext;
  3626. VkBool32 supported;
  3627. } VkDescriptorSetLayoutSupport;
  3628. typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
  3629. VkStructureType sType;
  3630. void * pNext;
  3631. VkBool32 shaderDrawParameters;
  3632. } VkPhysicalDeviceShaderDrawParametersFeatures;
  3633. typedef struct VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
  3634. typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
  3635. VkStructureType sType;
  3636. void * pNext;
  3637. VkBool32 shaderFloat16;
  3638. VkBool32 shaderInt8;
  3639. } VkPhysicalDeviceShaderFloat16Int8Features;
  3640. typedef struct VkPhysicalDeviceFloatControlsProperties {
  3641. VkStructureType sType;
  3642. void * pNext;
  3643. VkShaderFloatControlsIndependence denormBehaviorIndependence;
  3644. VkShaderFloatControlsIndependence roundingModeIndependence;
  3645. VkBool32 shaderSignedZeroInfNanPreserveFloat16;
  3646. VkBool32 shaderSignedZeroInfNanPreserveFloat32;
  3647. VkBool32 shaderSignedZeroInfNanPreserveFloat64;
  3648. VkBool32 shaderDenormPreserveFloat16;
  3649. VkBool32 shaderDenormPreserveFloat32;
  3650. VkBool32 shaderDenormPreserveFloat64;
  3651. VkBool32 shaderDenormFlushToZeroFloat16;
  3652. VkBool32 shaderDenormFlushToZeroFloat32;
  3653. VkBool32 shaderDenormFlushToZeroFloat64;
  3654. VkBool32 shaderRoundingModeRTEFloat16;
  3655. VkBool32 shaderRoundingModeRTEFloat32;
  3656. VkBool32 shaderRoundingModeRTEFloat64;
  3657. VkBool32 shaderRoundingModeRTZFloat16;
  3658. VkBool32 shaderRoundingModeRTZFloat32;
  3659. VkBool32 shaderRoundingModeRTZFloat64;
  3660. } VkPhysicalDeviceFloatControlsProperties;
  3661. typedef struct VkPhysicalDeviceHostQueryResetFeatures {
  3662. VkStructureType sType;
  3663. void * pNext;
  3664. VkBool32 hostQueryReset;
  3665. } VkPhysicalDeviceHostQueryResetFeatures;
  3666. typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
  3667. VkStructureType sType;
  3668. void * pNext;
  3669. VkBool32 shaderInputAttachmentArrayDynamicIndexing;
  3670. VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
  3671. VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
  3672. VkBool32 shaderUniformBufferArrayNonUniformIndexing;
  3673. VkBool32 shaderSampledImageArrayNonUniformIndexing;
  3674. VkBool32 shaderStorageBufferArrayNonUniformIndexing;
  3675. VkBool32 shaderStorageImageArrayNonUniformIndexing;
  3676. VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
  3677. VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
  3678. VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
  3679. VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
  3680. VkBool32 descriptorBindingSampledImageUpdateAfterBind;
  3681. VkBool32 descriptorBindingStorageImageUpdateAfterBind;
  3682. VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
  3683. VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
  3684. VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
  3685. VkBool32 descriptorBindingUpdateUnusedWhilePending;
  3686. VkBool32 descriptorBindingPartiallyBound;
  3687. VkBool32 descriptorBindingVariableDescriptorCount;
  3688. VkBool32 runtimeDescriptorArray;
  3689. } VkPhysicalDeviceDescriptorIndexingFeatures;
  3690. typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
  3691. VkStructureType sType;
  3692. void * pNext;
  3693. uint32_t maxUpdateAfterBindDescriptorsInAllPools;
  3694. VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
  3695. VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
  3696. VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
  3697. VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
  3698. VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
  3699. VkBool32 robustBufferAccessUpdateAfterBind;
  3700. VkBool32 quadDivergentImplicitLod;
  3701. uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
  3702. uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
  3703. uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
  3704. uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
  3705. uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
  3706. uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
  3707. uint32_t maxPerStageUpdateAfterBindResources;
  3708. uint32_t maxDescriptorSetUpdateAfterBindSamplers;
  3709. uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
  3710. uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
  3711. uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
  3712. uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
  3713. uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
  3714. uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
  3715. uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
  3716. } VkPhysicalDeviceDescriptorIndexingProperties;
  3717. typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
  3718. VkStructureType sType;
  3719. const void * pNext;
  3720. uint32_t bindingCount;
  3721. const VkDescriptorBindingFlags * pBindingFlags;
  3722. } VkDescriptorSetLayoutBindingFlagsCreateInfo;
  3723. typedef struct VkAttachmentDescription2 {
  3724. VkStructureType sType;
  3725. const void * pNext;
  3726. VkAttachmentDescriptionFlags flags;
  3727. VkFormat format;
  3728. VkSampleCountFlagBits samples;
  3729. VkAttachmentLoadOp loadOp;
  3730. VkAttachmentStoreOp storeOp;
  3731. VkAttachmentLoadOp stencilLoadOp;
  3732. VkAttachmentStoreOp stencilStoreOp;
  3733. VkImageLayout initialLayout;
  3734. VkImageLayout finalLayout;
  3735. } VkAttachmentDescription2;
  3736. typedef struct VkAttachmentReference2 {
  3737. VkStructureType sType;
  3738. const void * pNext;
  3739. uint32_t attachment;
  3740. VkImageLayout layout;
  3741. VkImageAspectFlags aspectMask;
  3742. } VkAttachmentReference2;
  3743. typedef struct VkSubpassDescription2 {
  3744. VkStructureType sType;
  3745. const void * pNext;
  3746. VkSubpassDescriptionFlags flags;
  3747. VkPipelineBindPoint pipelineBindPoint;
  3748. uint32_t viewMask;
  3749. uint32_t inputAttachmentCount;
  3750. const VkAttachmentReference2 * pInputAttachments;
  3751. uint32_t colorAttachmentCount;
  3752. const VkAttachmentReference2 * pColorAttachments;
  3753. const VkAttachmentReference2 * pResolveAttachments;
  3754. const VkAttachmentReference2 * pDepthStencilAttachment;
  3755. uint32_t preserveAttachmentCount;
  3756. const uint32_t * pPreserveAttachments;
  3757. } VkSubpassDescription2;
  3758. typedef struct VkSubpassDependency2 {
  3759. VkStructureType sType;
  3760. const void * pNext;
  3761. uint32_t srcSubpass;
  3762. uint32_t dstSubpass;
  3763. VkPipelineStageFlags srcStageMask;
  3764. VkPipelineStageFlags dstStageMask;
  3765. VkAccessFlags srcAccessMask;
  3766. VkAccessFlags dstAccessMask;
  3767. VkDependencyFlags dependencyFlags;
  3768. int32_t viewOffset;
  3769. } VkSubpassDependency2;
  3770. typedef struct VkRenderPassCreateInfo2 {
  3771. VkStructureType sType;
  3772. const void * pNext;
  3773. VkRenderPassCreateFlags flags;
  3774. uint32_t attachmentCount;
  3775. const VkAttachmentDescription2 * pAttachments;
  3776. uint32_t subpassCount;
  3777. const VkSubpassDescription2 * pSubpasses;
  3778. uint32_t dependencyCount;
  3779. const VkSubpassDependency2 * pDependencies;
  3780. uint32_t correlatedViewMaskCount;
  3781. const uint32_t * pCorrelatedViewMasks;
  3782. } VkRenderPassCreateInfo2;
  3783. typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
  3784. VkStructureType sType;
  3785. void * pNext;
  3786. VkBool32 timelineSemaphore;
  3787. } VkPhysicalDeviceTimelineSemaphoreFeatures;
  3788. typedef struct VkSemaphoreWaitInfo {
  3789. VkStructureType sType;
  3790. const void * pNext;
  3791. VkSemaphoreWaitFlags flags;
  3792. uint32_t semaphoreCount;
  3793. const VkSemaphore * pSemaphores;
  3794. const uint64_t * pValues;
  3795. } VkSemaphoreWaitInfo;
  3796. typedef struct VkPhysicalDevice8BitStorageFeatures {
  3797. VkStructureType sType;
  3798. void * pNext;
  3799. VkBool32 storageBuffer8BitAccess;
  3800. VkBool32 uniformAndStorageBuffer8BitAccess;
  3801. VkBool32 storagePushConstant8;
  3802. } VkPhysicalDevice8BitStorageFeatures;
  3803. typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
  3804. VkStructureType sType;
  3805. void * pNext;
  3806. VkBool32 vulkanMemoryModel;
  3807. VkBool32 vulkanMemoryModelDeviceScope;
  3808. VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
  3809. } VkPhysicalDeviceVulkanMemoryModelFeatures;
  3810. typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
  3811. VkStructureType sType;
  3812. void * pNext;
  3813. VkBool32 shaderBufferInt64Atomics;
  3814. VkBool32 shaderSharedInt64Atomics;
  3815. } VkPhysicalDeviceShaderAtomicInt64Features;
  3816. typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
  3817. VkStructureType sType;
  3818. void * pNext;
  3819. VkResolveModeFlags supportedDepthResolveModes;
  3820. VkResolveModeFlags supportedStencilResolveModes;
  3821. VkBool32 independentResolveNone;
  3822. VkBool32 independentResolve;
  3823. } VkPhysicalDeviceDepthStencilResolveProperties;
  3824. typedef struct VkSubpassDescriptionDepthStencilResolve {
  3825. VkStructureType sType;
  3826. const void * pNext;
  3827. VkResolveModeFlagBits depthResolveMode;
  3828. VkResolveModeFlagBits stencilResolveMode;
  3829. const VkAttachmentReference2 * pDepthStencilResolveAttachment;
  3830. } VkSubpassDescriptionDepthStencilResolve;
  3831. typedef struct VkImageStencilUsageCreateInfo {
  3832. VkStructureType sType;
  3833. const void * pNext;
  3834. VkImageUsageFlags stencilUsage;
  3835. } VkImageStencilUsageCreateInfo;
  3836. typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
  3837. VkStructureType sType;
  3838. void * pNext;
  3839. VkBool32 scalarBlockLayout;
  3840. } VkPhysicalDeviceScalarBlockLayoutFeatures;
  3841. typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
  3842. VkStructureType sType;
  3843. void * pNext;
  3844. VkBool32 uniformBufferStandardLayout;
  3845. } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
  3846. typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
  3847. VkStructureType sType;
  3848. void * pNext;
  3849. VkBool32 bufferDeviceAddress;
  3850. VkBool32 bufferDeviceAddressCaptureReplay;
  3851. VkBool32 bufferDeviceAddressMultiDevice;
  3852. } VkPhysicalDeviceBufferDeviceAddressFeatures;
  3853. typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
  3854. VkStructureType sType;
  3855. void * pNext;
  3856. VkBool32 imagelessFramebuffer;
  3857. } VkPhysicalDeviceImagelessFramebufferFeatures;
  3858. typedef struct VkFramebufferAttachmentImageInfo {
  3859. VkStructureType sType;
  3860. const void * pNext;
  3861. VkImageCreateFlags flags;
  3862. VkImageUsageFlags usage;
  3863. uint32_t width;
  3864. uint32_t height;
  3865. uint32_t layerCount;
  3866. uint32_t viewFormatCount;
  3867. const VkFormat * pViewFormats;
  3868. } VkFramebufferAttachmentImageInfo;
  3869. typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
  3870. VkStructureType sType;
  3871. void * pNext;
  3872. VkBool32 textureCompressionASTC_HDR;
  3873. } VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
  3874. typedef struct VkPipelineCreationFeedback {
  3875. VkPipelineCreationFeedbackFlags flags;
  3876. uint64_t duration;
  3877. } VkPipelineCreationFeedback;
  3878. typedef struct VkPipelineCreationFeedbackCreateInfo {
  3879. VkStructureType sType;
  3880. const void * pNext;
  3881. VkPipelineCreationFeedback * pPipelineCreationFeedback;
  3882. uint32_t pipelineStageCreationFeedbackCount;
  3883. VkPipelineCreationFeedback * pPipelineStageCreationFeedbacks;
  3884. } VkPipelineCreationFeedbackCreateInfo;
  3885. typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
  3886. VkStructureType sType;
  3887. void * pNext;
  3888. VkBool32 separateDepthStencilLayouts;
  3889. } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
  3890. typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
  3891. VkStructureType sType;
  3892. void * pNext;
  3893. VkBool32 shaderDemoteToHelperInvocation;
  3894. } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
  3895. typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
  3896. VkStructureType sType;
  3897. void * pNext;
  3898. VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
  3899. VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
  3900. VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
  3901. VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
  3902. } VkPhysicalDeviceTexelBufferAlignmentProperties;
  3903. typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
  3904. VkStructureType sType;
  3905. void * pNext;
  3906. VkBool32 subgroupSizeControl;
  3907. VkBool32 computeFullSubgroups;
  3908. } VkPhysicalDeviceSubgroupSizeControlFeatures;
  3909. typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
  3910. VkStructureType sType;
  3911. void * pNext;
  3912. uint32_t minSubgroupSize;
  3913. uint32_t maxSubgroupSize;
  3914. uint32_t maxComputeWorkgroupSubgroups;
  3915. VkShaderStageFlags requiredSubgroupSizeStages;
  3916. } VkPhysicalDeviceSubgroupSizeControlProperties;
  3917. typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
  3918. VkStructureType sType;
  3919. void * pNext;
  3920. VkBool32 pipelineCreationCacheControl;
  3921. } VkPhysicalDevicePipelineCreationCacheControlFeatures;
  3922. typedef struct VkPhysicalDeviceVulkan11Features {
  3923. VkStructureType sType;
  3924. void * pNext;
  3925. VkBool32 storageBuffer16BitAccess;
  3926. VkBool32 uniformAndStorageBuffer16BitAccess;
  3927. VkBool32 storagePushConstant16;
  3928. VkBool32 storageInputOutput16;
  3929. VkBool32 multiview;
  3930. VkBool32 multiviewGeometryShader;
  3931. VkBool32 multiviewTessellationShader;
  3932. VkBool32 variablePointersStorageBuffer;
  3933. VkBool32 variablePointers;
  3934. VkBool32 protectedMemory;
  3935. VkBool32 samplerYcbcrConversion;
  3936. VkBool32 shaderDrawParameters;
  3937. } VkPhysicalDeviceVulkan11Features;
  3938. typedef struct VkPhysicalDeviceVulkan11Properties {
  3939. VkStructureType sType;
  3940. void * pNext;
  3941. uint8_t deviceUUID [ VK_UUID_SIZE ];
  3942. uint8_t driverUUID [ VK_UUID_SIZE ];
  3943. uint8_t deviceLUID [ VK_LUID_SIZE ];
  3944. uint32_t deviceNodeMask;
  3945. VkBool32 deviceLUIDValid;
  3946. uint32_t subgroupSize;
  3947. VkShaderStageFlags subgroupSupportedStages;
  3948. VkSubgroupFeatureFlags subgroupSupportedOperations;
  3949. VkBool32 subgroupQuadOperationsInAllStages;
  3950. VkPointClippingBehavior pointClippingBehavior;
  3951. uint32_t maxMultiviewViewCount;
  3952. uint32_t maxMultiviewInstanceIndex;
  3953. VkBool32 protectedNoFault;
  3954. uint32_t maxPerSetDescriptors;
  3955. VkDeviceSize maxMemoryAllocationSize;
  3956. } VkPhysicalDeviceVulkan11Properties;
  3957. typedef struct VkPhysicalDeviceVulkan12Features {
  3958. VkStructureType sType;
  3959. void * pNext;
  3960. VkBool32 samplerMirrorClampToEdge;
  3961. VkBool32 drawIndirectCount;
  3962. VkBool32 storageBuffer8BitAccess;
  3963. VkBool32 uniformAndStorageBuffer8BitAccess;
  3964. VkBool32 storagePushConstant8;
  3965. VkBool32 shaderBufferInt64Atomics;
  3966. VkBool32 shaderSharedInt64Atomics;
  3967. VkBool32 shaderFloat16;
  3968. VkBool32 shaderInt8;
  3969. VkBool32 descriptorIndexing;
  3970. VkBool32 shaderInputAttachmentArrayDynamicIndexing;
  3971. VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
  3972. VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
  3973. VkBool32 shaderUniformBufferArrayNonUniformIndexing;
  3974. VkBool32 shaderSampledImageArrayNonUniformIndexing;
  3975. VkBool32 shaderStorageBufferArrayNonUniformIndexing;
  3976. VkBool32 shaderStorageImageArrayNonUniformIndexing;
  3977. VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
  3978. VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
  3979. VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
  3980. VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
  3981. VkBool32 descriptorBindingSampledImageUpdateAfterBind;
  3982. VkBool32 descriptorBindingStorageImageUpdateAfterBind;
  3983. VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
  3984. VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
  3985. VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
  3986. VkBool32 descriptorBindingUpdateUnusedWhilePending;
  3987. VkBool32 descriptorBindingPartiallyBound;
  3988. VkBool32 descriptorBindingVariableDescriptorCount;
  3989. VkBool32 runtimeDescriptorArray;
  3990. VkBool32 samplerFilterMinmax;
  3991. VkBool32 scalarBlockLayout;
  3992. VkBool32 imagelessFramebuffer;
  3993. VkBool32 uniformBufferStandardLayout;
  3994. VkBool32 shaderSubgroupExtendedTypes;
  3995. VkBool32 separateDepthStencilLayouts;
  3996. VkBool32 hostQueryReset;
  3997. VkBool32 timelineSemaphore;
  3998. VkBool32 bufferDeviceAddress;
  3999. VkBool32 bufferDeviceAddressCaptureReplay;
  4000. VkBool32 bufferDeviceAddressMultiDevice;
  4001. VkBool32 vulkanMemoryModel;
  4002. VkBool32 vulkanMemoryModelDeviceScope;
  4003. VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
  4004. VkBool32 shaderOutputViewportIndex;
  4005. VkBool32 shaderOutputLayer;
  4006. VkBool32 subgroupBroadcastDynamicId;
  4007. } VkPhysicalDeviceVulkan12Features;
  4008. typedef struct VkPhysicalDeviceVulkan12Properties {
  4009. VkStructureType sType;
  4010. void * pNext;
  4011. VkDriverId driverID;
  4012. char driverName [ VK_MAX_DRIVER_NAME_SIZE ];
  4013. char driverInfo [ VK_MAX_DRIVER_INFO_SIZE ];
  4014. VkConformanceVersion conformanceVersion;
  4015. VkShaderFloatControlsIndependence denormBehaviorIndependence;
  4016. VkShaderFloatControlsIndependence roundingModeIndependence;
  4017. VkBool32 shaderSignedZeroInfNanPreserveFloat16;
  4018. VkBool32 shaderSignedZeroInfNanPreserveFloat32;
  4019. VkBool32 shaderSignedZeroInfNanPreserveFloat64;
  4020. VkBool32 shaderDenormPreserveFloat16;
  4021. VkBool32 shaderDenormPreserveFloat32;
  4022. VkBool32 shaderDenormPreserveFloat64;
  4023. VkBool32 shaderDenormFlushToZeroFloat16;
  4024. VkBool32 shaderDenormFlushToZeroFloat32;
  4025. VkBool32 shaderDenormFlushToZeroFloat64;
  4026. VkBool32 shaderRoundingModeRTEFloat16;
  4027. VkBool32 shaderRoundingModeRTEFloat32;
  4028. VkBool32 shaderRoundingModeRTEFloat64;
  4029. VkBool32 shaderRoundingModeRTZFloat16;
  4030. VkBool32 shaderRoundingModeRTZFloat32;
  4031. VkBool32 shaderRoundingModeRTZFloat64;
  4032. uint32_t maxUpdateAfterBindDescriptorsInAllPools;
  4033. VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
  4034. VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
  4035. VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
  4036. VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
  4037. VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
  4038. VkBool32 robustBufferAccessUpdateAfterBind;
  4039. VkBool32 quadDivergentImplicitLod;
  4040. uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
  4041. uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
  4042. uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
  4043. uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
  4044. uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
  4045. uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
  4046. uint32_t maxPerStageUpdateAfterBindResources;
  4047. uint32_t maxDescriptorSetUpdateAfterBindSamplers;
  4048. uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
  4049. uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
  4050. uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
  4051. uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
  4052. uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
  4053. uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
  4054. uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
  4055. VkResolveModeFlags supportedDepthResolveModes;
  4056. VkResolveModeFlags supportedStencilResolveModes;
  4057. VkBool32 independentResolveNone;
  4058. VkBool32 independentResolve;
  4059. VkBool32 filterMinmaxSingleComponentFormats;
  4060. VkBool32 filterMinmaxImageComponentMapping;
  4061. uint64_t maxTimelineSemaphoreValueDifference;
  4062. VkSampleCountFlags framebufferIntegerColorSampleCounts;
  4063. } VkPhysicalDeviceVulkan12Properties;
  4064. typedef struct VkPhysicalDeviceVulkan13Features {
  4065. VkStructureType sType;
  4066. void * pNext;
  4067. VkBool32 robustImageAccess;
  4068. VkBool32 inlineUniformBlock;
  4069. VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
  4070. VkBool32 pipelineCreationCacheControl;
  4071. VkBool32 privateData;
  4072. VkBool32 shaderDemoteToHelperInvocation;
  4073. VkBool32 shaderTerminateInvocation;
  4074. VkBool32 subgroupSizeControl;
  4075. VkBool32 computeFullSubgroups;
  4076. VkBool32 synchronization2;
  4077. VkBool32 textureCompressionASTC_HDR;
  4078. VkBool32 shaderZeroInitializeWorkgroupMemory;
  4079. VkBool32 dynamicRendering;
  4080. VkBool32 shaderIntegerDotProduct;
  4081. VkBool32 maintenance4;
  4082. } VkPhysicalDeviceVulkan13Features;
  4083. typedef struct VkPhysicalDeviceVulkan13Properties {
  4084. VkStructureType sType;
  4085. void * pNext;
  4086. uint32_t minSubgroupSize;
  4087. uint32_t maxSubgroupSize;
  4088. uint32_t maxComputeWorkgroupSubgroups;
  4089. VkShaderStageFlags requiredSubgroupSizeStages;
  4090. uint32_t maxInlineUniformBlockSize;
  4091. uint32_t maxPerStageDescriptorInlineUniformBlocks;
  4092. uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
  4093. uint32_t maxDescriptorSetInlineUniformBlocks;
  4094. uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
  4095. uint32_t maxInlineUniformTotalSize;
  4096. VkBool32 integerDotProduct8BitUnsignedAccelerated;
  4097. VkBool32 integerDotProduct8BitSignedAccelerated;
  4098. VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
  4099. VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
  4100. VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
  4101. VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
  4102. VkBool32 integerDotProduct16BitUnsignedAccelerated;
  4103. VkBool32 integerDotProduct16BitSignedAccelerated;
  4104. VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
  4105. VkBool32 integerDotProduct32BitUnsignedAccelerated;
  4106. VkBool32 integerDotProduct32BitSignedAccelerated;
  4107. VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
  4108. VkBool32 integerDotProduct64BitUnsignedAccelerated;
  4109. VkBool32 integerDotProduct64BitSignedAccelerated;
  4110. VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
  4111. VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
  4112. VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
  4113. VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
  4114. VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
  4115. VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
  4116. VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
  4117. VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
  4118. VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
  4119. VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
  4120. VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
  4121. VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
  4122. VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
  4123. VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
  4124. VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
  4125. VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
  4126. VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
  4127. VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
  4128. VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
  4129. VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
  4130. VkDeviceSize maxBufferSize;
  4131. } VkPhysicalDeviceVulkan13Properties;
  4132. typedef struct VkPhysicalDeviceToolProperties {
  4133. VkStructureType sType;
  4134. void * pNext;
  4135. char name [ VK_MAX_EXTENSION_NAME_SIZE ];
  4136. char version [ VK_MAX_EXTENSION_NAME_SIZE ];
  4137. VkToolPurposeFlags purposes;
  4138. char description [ VK_MAX_DESCRIPTION_SIZE ];
  4139. char layer [ VK_MAX_EXTENSION_NAME_SIZE ];
  4140. } VkPhysicalDeviceToolProperties;
  4141. typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
  4142. VkStructureType sType;
  4143. void * pNext;
  4144. VkBool32 shaderZeroInitializeWorkgroupMemory;
  4145. } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
  4146. typedef struct VkPhysicalDeviceImageRobustnessFeatures {
  4147. VkStructureType sType;
  4148. void * pNext;
  4149. VkBool32 robustImageAccess;
  4150. } VkPhysicalDeviceImageRobustnessFeatures;
  4151. typedef struct VkBufferCopy2 {
  4152. VkStructureType sType;
  4153. const void * pNext;
  4154. VkDeviceSize srcOffset;
  4155. VkDeviceSize dstOffset;
  4156. VkDeviceSize size;
  4157. } VkBufferCopy2;
  4158. typedef struct VkImageCopy2 {
  4159. VkStructureType sType;
  4160. const void * pNext;
  4161. VkImageSubresourceLayers srcSubresource;
  4162. VkOffset3D srcOffset;
  4163. VkImageSubresourceLayers dstSubresource;
  4164. VkOffset3D dstOffset;
  4165. VkExtent3D extent;
  4166. } VkImageCopy2;
  4167. typedef struct VkImageBlit2 {
  4168. VkStructureType sType;
  4169. const void * pNext;
  4170. VkImageSubresourceLayers srcSubresource;
  4171. VkOffset3D srcOffsets [2];
  4172. VkImageSubresourceLayers dstSubresource;
  4173. VkOffset3D dstOffsets [2];
  4174. } VkImageBlit2;
  4175. typedef struct VkBufferImageCopy2 {
  4176. VkStructureType sType;
  4177. const void * pNext;
  4178. VkDeviceSize bufferOffset;
  4179. uint32_t bufferRowLength;
  4180. uint32_t bufferImageHeight;
  4181. VkImageSubresourceLayers imageSubresource;
  4182. VkOffset3D imageOffset;
  4183. VkExtent3D imageExtent;
  4184. } VkBufferImageCopy2;
  4185. typedef struct VkImageResolve2 {
  4186. VkStructureType sType;
  4187. const void * pNext;
  4188. VkImageSubresourceLayers srcSubresource;
  4189. VkOffset3D srcOffset;
  4190. VkImageSubresourceLayers dstSubresource;
  4191. VkOffset3D dstOffset;
  4192. VkExtent3D extent;
  4193. } VkImageResolve2;
  4194. typedef struct VkCopyBufferInfo2 {
  4195. VkStructureType sType;
  4196. const void * pNext;
  4197. VkBuffer srcBuffer;
  4198. VkBuffer dstBuffer;
  4199. uint32_t regionCount;
  4200. const VkBufferCopy2 * pRegions;
  4201. } VkCopyBufferInfo2;
  4202. typedef struct VkCopyImageInfo2 {
  4203. VkStructureType sType;
  4204. const void * pNext;
  4205. VkImage srcImage;
  4206. VkImageLayout srcImageLayout;
  4207. VkImage dstImage;
  4208. VkImageLayout dstImageLayout;
  4209. uint32_t regionCount;
  4210. const VkImageCopy2 * pRegions;
  4211. } VkCopyImageInfo2;
  4212. typedef struct VkBlitImageInfo2 {
  4213. VkStructureType sType;
  4214. const void * pNext;
  4215. VkImage srcImage;
  4216. VkImageLayout srcImageLayout;
  4217. VkImage dstImage;
  4218. VkImageLayout dstImageLayout;
  4219. uint32_t regionCount;
  4220. const VkImageBlit2 * pRegions;
  4221. VkFilter filter;
  4222. } VkBlitImageInfo2;
  4223. typedef struct VkCopyBufferToImageInfo2 {
  4224. VkStructureType sType;
  4225. const void * pNext;
  4226. VkBuffer srcBuffer;
  4227. VkImage dstImage;
  4228. VkImageLayout dstImageLayout;
  4229. uint32_t regionCount;
  4230. const VkBufferImageCopy2 * pRegions;
  4231. } VkCopyBufferToImageInfo2;
  4232. typedef struct VkCopyImageToBufferInfo2 {
  4233. VkStructureType sType;
  4234. const void * pNext;
  4235. VkImage srcImage;
  4236. VkImageLayout srcImageLayout;
  4237. VkBuffer dstBuffer;
  4238. uint32_t regionCount;
  4239. const VkBufferImageCopy2 * pRegions;
  4240. } VkCopyImageToBufferInfo2;
  4241. typedef struct VkResolveImageInfo2 {
  4242. VkStructureType sType;
  4243. const void * pNext;
  4244. VkImage srcImage;
  4245. VkImageLayout srcImageLayout;
  4246. VkImage dstImage;
  4247. VkImageLayout dstImageLayout;
  4248. uint32_t regionCount;
  4249. const VkImageResolve2 * pRegions;
  4250. } VkResolveImageInfo2;
  4251. typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
  4252. VkStructureType sType;
  4253. void * pNext;
  4254. VkBool32 shaderTerminateInvocation;
  4255. } VkPhysicalDeviceShaderTerminateInvocationFeatures;
  4256. typedef struct VkMemoryBarrier2 {
  4257. VkStructureType sType;
  4258. const void * pNext;
  4259. VkPipelineStageFlags2 srcStageMask;
  4260. VkAccessFlags2 srcAccessMask;
  4261. VkPipelineStageFlags2 dstStageMask;
  4262. VkAccessFlags2 dstAccessMask;
  4263. } VkMemoryBarrier2;
  4264. typedef struct VkImageMemoryBarrier2 {
  4265. VkStructureType sType;
  4266. const void * pNext;
  4267. VkPipelineStageFlags2 srcStageMask;
  4268. VkAccessFlags2 srcAccessMask;
  4269. VkPipelineStageFlags2 dstStageMask;
  4270. VkAccessFlags2 dstAccessMask;
  4271. VkImageLayout oldLayout;
  4272. VkImageLayout newLayout;
  4273. uint32_t srcQueueFamilyIndex;
  4274. uint32_t dstQueueFamilyIndex;
  4275. VkImage image;
  4276. VkImageSubresourceRange subresourceRange;
  4277. } VkImageMemoryBarrier2;
  4278. typedef struct VkBufferMemoryBarrier2 {
  4279. VkStructureType sType;
  4280. const void * pNext;
  4281. VkPipelineStageFlags2 srcStageMask;
  4282. VkAccessFlags2 srcAccessMask;
  4283. VkPipelineStageFlags2 dstStageMask;
  4284. VkAccessFlags2 dstAccessMask;
  4285. uint32_t srcQueueFamilyIndex;
  4286. uint32_t dstQueueFamilyIndex;
  4287. VkBuffer buffer;
  4288. VkDeviceSize offset;
  4289. VkDeviceSize size;
  4290. } VkBufferMemoryBarrier2;
  4291. typedef struct VkDependencyInfo {
  4292. VkStructureType sType;
  4293. const void * pNext;
  4294. VkDependencyFlags dependencyFlags;
  4295. uint32_t memoryBarrierCount;
  4296. const VkMemoryBarrier2 * pMemoryBarriers;
  4297. uint32_t bufferMemoryBarrierCount;
  4298. const VkBufferMemoryBarrier2 * pBufferMemoryBarriers;
  4299. uint32_t imageMemoryBarrierCount;
  4300. const VkImageMemoryBarrier2 * pImageMemoryBarriers;
  4301. } VkDependencyInfo;
  4302. typedef struct VkSemaphoreSubmitInfo {
  4303. VkStructureType sType;
  4304. const void * pNext;
  4305. VkSemaphore semaphore;
  4306. uint64_t value;
  4307. VkPipelineStageFlags2 stageMask;
  4308. uint32_t deviceIndex;
  4309. } VkSemaphoreSubmitInfo;
  4310. typedef struct VkSubmitInfo2 {
  4311. VkStructureType sType;
  4312. const void * pNext;
  4313. VkSubmitFlags flags;
  4314. uint32_t waitSemaphoreInfoCount;
  4315. const VkSemaphoreSubmitInfo * pWaitSemaphoreInfos;
  4316. uint32_t commandBufferInfoCount;
  4317. const VkCommandBufferSubmitInfo * pCommandBufferInfos;
  4318. uint32_t signalSemaphoreInfoCount;
  4319. const VkSemaphoreSubmitInfo * pSignalSemaphoreInfos;
  4320. } VkSubmitInfo2;
  4321. typedef struct VkPhysicalDeviceSynchronization2Features {
  4322. VkStructureType sType;
  4323. void * pNext;
  4324. VkBool32 synchronization2;
  4325. } VkPhysicalDeviceSynchronization2Features;
  4326. typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
  4327. VkStructureType sType;
  4328. void * pNext;
  4329. VkBool32 shaderIntegerDotProduct;
  4330. } VkPhysicalDeviceShaderIntegerDotProductFeatures;
  4331. typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
  4332. VkStructureType sType;
  4333. void * pNext;
  4334. VkBool32 integerDotProduct8BitUnsignedAccelerated;
  4335. VkBool32 integerDotProduct8BitSignedAccelerated;
  4336. VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
  4337. VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
  4338. VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
  4339. VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
  4340. VkBool32 integerDotProduct16BitUnsignedAccelerated;
  4341. VkBool32 integerDotProduct16BitSignedAccelerated;
  4342. VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
  4343. VkBool32 integerDotProduct32BitUnsignedAccelerated;
  4344. VkBool32 integerDotProduct32BitSignedAccelerated;
  4345. VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
  4346. VkBool32 integerDotProduct64BitUnsignedAccelerated;
  4347. VkBool32 integerDotProduct64BitSignedAccelerated;
  4348. VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
  4349. VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
  4350. VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
  4351. VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
  4352. VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
  4353. VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
  4354. VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
  4355. VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
  4356. VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
  4357. VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
  4358. VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
  4359. VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
  4360. VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
  4361. VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
  4362. VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
  4363. VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
  4364. } VkPhysicalDeviceShaderIntegerDotProductProperties;
  4365. typedef struct VkFormatProperties3 {
  4366. VkStructureType sType;
  4367. void * pNext;
  4368. VkFormatFeatureFlags2 linearTilingFeatures;
  4369. VkFormatFeatureFlags2 optimalTilingFeatures;
  4370. VkFormatFeatureFlags2 bufferFeatures;
  4371. } VkFormatProperties3;
  4372. typedef struct VkRenderingInfo {
  4373. VkStructureType sType;
  4374. const void * pNext;
  4375. VkRenderingFlags flags;
  4376. VkRect2D renderArea;
  4377. uint32_t layerCount;
  4378. uint32_t viewMask;
  4379. uint32_t colorAttachmentCount;
  4380. const VkRenderingAttachmentInfo * pColorAttachments;
  4381. const VkRenderingAttachmentInfo * pDepthAttachment;
  4382. const VkRenderingAttachmentInfo * pStencilAttachment;
  4383. } VkRenderingInfo;
  4384. typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
  4385. VkStructureType sType;
  4386. void * pNext;
  4387. VkBool32 dynamicRendering;
  4388. } VkPhysicalDeviceDynamicRenderingFeatures;
  4389. typedef struct VkCommandBufferInheritanceRenderingInfo {
  4390. VkStructureType sType;
  4391. const void * pNext;
  4392. VkRenderingFlags flags;
  4393. uint32_t viewMask;
  4394. uint32_t colorAttachmentCount;
  4395. const VkFormat * pColorAttachmentFormats;
  4396. VkFormat depthAttachmentFormat;
  4397. VkFormat stencilAttachmentFormat;
  4398. VkSampleCountFlagBits rasterizationSamples;
  4399. } VkCommandBufferInheritanceRenderingInfo;
  4400. typedef struct VkPhysicalDeviceProperties {
  4401. uint32_t apiVersion;
  4402. uint32_t driverVersion;
  4403. uint32_t vendorID;
  4404. uint32_t deviceID;
  4405. VkPhysicalDeviceType deviceType;
  4406. char deviceName [ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ];
  4407. uint8_t pipelineCacheUUID [ VK_UUID_SIZE ];
  4408. VkPhysicalDeviceLimits limits;
  4409. VkPhysicalDeviceSparseProperties sparseProperties;
  4410. } VkPhysicalDeviceProperties;
  4411. typedef struct VkDeviceCreateInfo {
  4412. VkStructureType sType;
  4413. const void * pNext;
  4414. VkDeviceCreateFlags flags;
  4415. uint32_t queueCreateInfoCount;
  4416. const VkDeviceQueueCreateInfo * pQueueCreateInfos;
  4417. uint32_t enabledLayerCount;
  4418. const char * const* ppEnabledLayerNames;
  4419. uint32_t enabledExtensionCount;
  4420. const char * const* ppEnabledExtensionNames;
  4421. const VkPhysicalDeviceFeatures * pEnabledFeatures;
  4422. } VkDeviceCreateInfo;
  4423. typedef struct VkPhysicalDeviceMemoryProperties {
  4424. uint32_t memoryTypeCount;
  4425. VkMemoryType memoryTypes [ VK_MAX_MEMORY_TYPES ];
  4426. uint32_t memoryHeapCount;
  4427. VkMemoryHeap memoryHeaps [ VK_MAX_MEMORY_HEAPS ];
  4428. } VkPhysicalDeviceMemoryProperties;
  4429. typedef struct VkPhysicalDeviceProperties2 {
  4430. VkStructureType sType;
  4431. void * pNext;
  4432. VkPhysicalDeviceProperties properties;
  4433. } VkPhysicalDeviceProperties2;
  4434. typedef struct VkPhysicalDeviceMemoryProperties2 {
  4435. VkStructureType sType;
  4436. void * pNext;
  4437. VkPhysicalDeviceMemoryProperties memoryProperties;
  4438. } VkPhysicalDeviceMemoryProperties2;
  4439. typedef struct VkFramebufferAttachmentsCreateInfo {
  4440. VkStructureType sType;
  4441. const void * pNext;
  4442. uint32_t attachmentImageInfoCount;
  4443. const VkFramebufferAttachmentImageInfo * pAttachmentImageInfos;
  4444. } VkFramebufferAttachmentsCreateInfo;
  4445. #define VK_VERSION_1_0 1
  4446. GLAD_API_CALL int GLAD_VK_VERSION_1_0;
  4447. #define VK_VERSION_1_1 1
  4448. GLAD_API_CALL int GLAD_VK_VERSION_1_1;
  4449. #define VK_VERSION_1_2 1
  4450. GLAD_API_CALL int GLAD_VK_VERSION_1_2;
  4451. #define VK_VERSION_1_3 1
  4452. GLAD_API_CALL int GLAD_VK_VERSION_1_3;
  4453. #define VK_EXT_debug_report 1
  4454. GLAD_API_CALL int GLAD_VK_EXT_debug_report;
  4455. #define VK_KHR_portability_enumeration 1
  4456. GLAD_API_CALL int GLAD_VK_KHR_portability_enumeration;
  4457. #define VK_KHR_surface 1
  4458. GLAD_API_CALL int GLAD_VK_KHR_surface;
  4459. #define VK_KHR_swapchain 1
  4460. GLAD_API_CALL int GLAD_VK_KHR_swapchain;
  4461. typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex);
  4462. typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex);
  4463. typedef VkResult (GLAD_API_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo * pAllocateInfo, VkCommandBuffer * pCommandBuffers);
  4464. typedef VkResult (GLAD_API_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo * pAllocateInfo, VkDescriptorSet * pDescriptorSets);
  4465. typedef VkResult (GLAD_API_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo * pAllocateInfo, const VkAllocationCallbacks * pAllocator, VkDeviceMemory * pMemory);
  4466. typedef VkResult (GLAD_API_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo);
  4467. typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
  4468. typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos);
  4469. typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
  4470. typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos);
  4471. typedef void (GLAD_API_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
  4472. typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, VkSubpassContents contents);
  4473. typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, const VkSubpassBeginInfo * pSubpassBeginInfo);
  4474. typedef void (GLAD_API_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo);
  4475. typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t * pDynamicOffsets);
  4476. typedef void (GLAD_API_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
  4477. typedef void (GLAD_API_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
  4478. typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets);
  4479. typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets, const VkDeviceSize * pSizes, const VkDeviceSize * pStrides);
  4480. typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit * pRegions, VkFilter filter);
  4481. typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo);
  4482. typedef void (GLAD_API_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment * pAttachments, uint32_t rectCount, const VkClearRect * pRects);
  4483. typedef void (GLAD_API_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue * pColor, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
  4484. typedef void (GLAD_API_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue * pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
  4485. typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions);
  4486. typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo);
  4487. typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy * pRegions);
  4488. typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo);
  4489. typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy * pRegions);
  4490. typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo);
  4491. typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy * pRegions);
  4492. typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo);
  4493. typedef void (GLAD_API_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
  4494. typedef void (GLAD_API_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
  4495. typedef void (GLAD_API_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
  4496. typedef void (GLAD_API_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
  4497. typedef void (GLAD_API_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
  4498. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
  4499. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
  4500. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
  4501. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
  4502. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
  4503. typedef void (GLAD_API_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
  4504. typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
  4505. typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo);
  4506. typedef void (GLAD_API_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
  4507. typedef void (GLAD_API_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
  4508. typedef void (GLAD_API_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
  4509. typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
  4510. typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo * pSubpassBeginInfo, const VkSubpassEndInfo * pSubpassEndInfo);
  4511. typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
  4512. typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo);
  4513. typedef void (GLAD_API_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void * pValues);
  4514. typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
  4515. typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
  4516. typedef void (GLAD_API_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
  4517. typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve * pRegions);
  4518. typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo);
  4519. typedef void (GLAD_API_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants [4]);
  4520. typedef void (GLAD_API_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
  4521. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
  4522. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
  4523. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
  4524. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
  4525. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
  4526. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
  4527. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
  4528. typedef void (GLAD_API_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
  4529. typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
  4530. typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo);
  4531. typedef void (GLAD_API_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
  4532. typedef void (GLAD_API_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
  4533. typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
  4534. typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
  4535. typedef void (GLAD_API_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
  4536. typedef void (GLAD_API_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors);
  4537. typedef void (GLAD_API_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors);
  4538. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
  4539. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
  4540. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
  4541. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
  4542. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
  4543. typedef void (GLAD_API_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports);
  4544. typedef void (GLAD_API_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports);
  4545. typedef void (GLAD_API_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData);
  4546. typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
  4547. typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, const VkDependencyInfo * pDependencyInfos);
  4548. typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
  4549. typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
  4550. typedef VkResult (GLAD_API_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBuffer * pBuffer);
  4551. typedef VkResult (GLAD_API_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBufferView * pView);
  4552. typedef VkResult (GLAD_API_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkCommandPool * pCommandPool);
  4553. typedef VkResult (GLAD_API_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
  4554. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDebugReportCallbackEXT * pCallback);
  4555. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorPool * pDescriptorPool);
  4556. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorSetLayout * pSetLayout);
  4557. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate);
  4558. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDevice * pDevice);
  4559. typedef VkResult (GLAD_API_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkEvent * pEvent);
  4560. typedef VkResult (GLAD_API_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFence * pFence);
  4561. typedef VkResult (GLAD_API_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFramebuffer * pFramebuffer);
  4562. typedef VkResult (GLAD_API_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
  4563. typedef VkResult (GLAD_API_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImage * pImage);
  4564. typedef VkResult (GLAD_API_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImageView * pView);
  4565. typedef VkResult (GLAD_API_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance);
  4566. typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineCache * pPipelineCache);
  4567. typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineLayout * pPipelineLayout);
  4568. typedef VkResult (GLAD_API_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPrivateDataSlot * pPrivateDataSlot);
  4569. typedef VkResult (GLAD_API_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkQueryPool * pQueryPool);
  4570. typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass);
  4571. typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2 * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass);
  4572. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSampler * pSampler);
  4573. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion);
  4574. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSemaphore * pSemaphore);
  4575. typedef VkResult (GLAD_API_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkShaderModule * pShaderModule);
  4576. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSwapchainKHR * pSwapchain);
  4577. typedef void (GLAD_API_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char * pLayerPrefix, const char * pMessage);
  4578. typedef void (GLAD_API_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator);
  4579. typedef void (GLAD_API_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator);
  4580. typedef void (GLAD_API_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator);
  4581. typedef void (GLAD_API_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks * pAllocator);
  4582. typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator);
  4583. typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks * pAllocator);
  4584. typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator);
  4585. typedef void (GLAD_API_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks * pAllocator);
  4586. typedef void (GLAD_API_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator);
  4587. typedef void (GLAD_API_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator);
  4588. typedef void (GLAD_API_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator);
  4589. typedef void (GLAD_API_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator);
  4590. typedef void (GLAD_API_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator);
  4591. typedef void (GLAD_API_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks * pAllocator);
  4592. typedef void (GLAD_API_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator);
  4593. typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator);
  4594. typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator);
  4595. typedef void (GLAD_API_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator);
  4596. typedef void (GLAD_API_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator);
  4597. typedef void (GLAD_API_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator);
  4598. typedef void (GLAD_API_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator);
  4599. typedef void (GLAD_API_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator);
  4600. typedef void (GLAD_API_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator);
  4601. typedef void (GLAD_API_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator);
  4602. typedef void (GLAD_API_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator);
  4603. typedef void (GLAD_API_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator);
  4604. typedef VkResult (GLAD_API_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
  4605. typedef VkResult (GLAD_API_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
  4606. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
  4607. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties);
  4608. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
  4609. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t * pPropertyCount, VkLayerProperties * pProperties);
  4610. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t * pApiVersion);
  4611. typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties);
  4612. typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices);
  4613. typedef VkResult (GLAD_API_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
  4614. typedef void (GLAD_API_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
  4615. typedef VkResult (GLAD_API_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets);
  4616. typedef void (GLAD_API_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator);
  4617. typedef VkDeviceAddress (GLAD_API_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo);
  4618. typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements);
  4619. typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
  4620. typedef uint64_t (GLAD_API_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo);
  4621. typedef void (GLAD_API_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport);
  4622. typedef void (GLAD_API_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
  4623. typedef void (GLAD_API_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures);
  4624. typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities);
  4625. typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes);
  4626. typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
  4627. typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements);
  4628. typedef void (GLAD_API_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes);
  4629. typedef uint64_t (GLAD_API_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo);
  4630. typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char * pName);
  4631. typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue);
  4632. typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue);
  4633. typedef VkResult (GLAD_API_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
  4634. typedef VkResult (GLAD_API_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
  4635. typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements);
  4636. typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
  4637. typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements * pSparseMemoryRequirements);
  4638. typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements);
  4639. typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource * pSubresource, VkSubresourceLayout * pLayout);
  4640. typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char * pName);
  4641. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties);
  4642. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties);
  4643. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties);
  4644. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures);
  4645. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures);
  4646. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties);
  4647. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties);
  4648. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties * pImageFormatProperties);
  4649. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties);
  4650. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties);
  4651. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties);
  4652. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pRectCount, VkRect2D * pRects);
  4653. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties);
  4654. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties);
  4655. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties * pQueueFamilyProperties);
  4656. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties);
  4657. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t * pPropertyCount, VkSparseImageFormatProperties * pProperties);
  4658. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties);
  4659. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR * pSurfaceCapabilities);
  4660. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pSurfaceFormatCount, VkSurfaceFormatKHR * pSurfaceFormats);
  4661. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pPresentModeCount, VkPresentModeKHR * pPresentModes);
  4662. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 * pSupported);
  4663. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t * pToolCount, VkPhysicalDeviceToolProperties * pToolProperties);
  4664. typedef VkResult (GLAD_API_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData);
  4665. typedef void (GLAD_API_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData);
  4666. typedef VkResult (GLAD_API_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void * pData, VkDeviceSize stride, VkQueryResultFlags flags);
  4667. typedef void (GLAD_API_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity);
  4668. typedef VkResult (GLAD_API_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t * pValue);
  4669. typedef VkResult (GLAD_API_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t * pSwapchainImageCount, VkImage * pSwapchainImages);
  4670. typedef VkResult (GLAD_API_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
  4671. typedef VkResult (GLAD_API_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData);
  4672. typedef VkResult (GLAD_API_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches);
  4673. typedef VkResult (GLAD_API_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence);
  4674. typedef VkResult (GLAD_API_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR * pPresentInfo);
  4675. typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence);
  4676. typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence);
  4677. typedef VkResult (GLAD_API_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
  4678. typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
  4679. typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
  4680. typedef VkResult (GLAD_API_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
  4681. typedef VkResult (GLAD_API_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
  4682. typedef VkResult (GLAD_API_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences);
  4683. typedef void (GLAD_API_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
  4684. typedef VkResult (GLAD_API_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
  4685. typedef VkResult (GLAD_API_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
  4686. typedef VkResult (GLAD_API_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo);
  4687. typedef void (GLAD_API_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
  4688. typedef void (GLAD_API_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
  4689. typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData);
  4690. typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet * pDescriptorCopies);
  4691. typedef VkResult (GLAD_API_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout);
  4692. typedef VkResult (GLAD_API_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout);
  4693. GLAD_API_CALL PFN_vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR;
  4694. #define vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR
  4695. GLAD_API_CALL PFN_vkAcquireNextImageKHR glad_vkAcquireNextImageKHR;
  4696. #define vkAcquireNextImageKHR glad_vkAcquireNextImageKHR
  4697. GLAD_API_CALL PFN_vkAllocateCommandBuffers glad_vkAllocateCommandBuffers;
  4698. #define vkAllocateCommandBuffers glad_vkAllocateCommandBuffers
  4699. GLAD_API_CALL PFN_vkAllocateDescriptorSets glad_vkAllocateDescriptorSets;
  4700. #define vkAllocateDescriptorSets glad_vkAllocateDescriptorSets
  4701. GLAD_API_CALL PFN_vkAllocateMemory glad_vkAllocateMemory;
  4702. #define vkAllocateMemory glad_vkAllocateMemory
  4703. GLAD_API_CALL PFN_vkBeginCommandBuffer glad_vkBeginCommandBuffer;
  4704. #define vkBeginCommandBuffer glad_vkBeginCommandBuffer
  4705. GLAD_API_CALL PFN_vkBindBufferMemory glad_vkBindBufferMemory;
  4706. #define vkBindBufferMemory glad_vkBindBufferMemory
  4707. GLAD_API_CALL PFN_vkBindBufferMemory2 glad_vkBindBufferMemory2;
  4708. #define vkBindBufferMemory2 glad_vkBindBufferMemory2
  4709. GLAD_API_CALL PFN_vkBindImageMemory glad_vkBindImageMemory;
  4710. #define vkBindImageMemory glad_vkBindImageMemory
  4711. GLAD_API_CALL PFN_vkBindImageMemory2 glad_vkBindImageMemory2;
  4712. #define vkBindImageMemory2 glad_vkBindImageMemory2
  4713. GLAD_API_CALL PFN_vkCmdBeginQuery glad_vkCmdBeginQuery;
  4714. #define vkCmdBeginQuery glad_vkCmdBeginQuery
  4715. GLAD_API_CALL PFN_vkCmdBeginRenderPass glad_vkCmdBeginRenderPass;
  4716. #define vkCmdBeginRenderPass glad_vkCmdBeginRenderPass
  4717. GLAD_API_CALL PFN_vkCmdBeginRenderPass2 glad_vkCmdBeginRenderPass2;
  4718. #define vkCmdBeginRenderPass2 glad_vkCmdBeginRenderPass2
  4719. GLAD_API_CALL PFN_vkCmdBeginRendering glad_vkCmdBeginRendering;
  4720. #define vkCmdBeginRendering glad_vkCmdBeginRendering
  4721. GLAD_API_CALL PFN_vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets;
  4722. #define vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets
  4723. GLAD_API_CALL PFN_vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer;
  4724. #define vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer
  4725. GLAD_API_CALL PFN_vkCmdBindPipeline glad_vkCmdBindPipeline;
  4726. #define vkCmdBindPipeline glad_vkCmdBindPipeline
  4727. GLAD_API_CALL PFN_vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers;
  4728. #define vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers
  4729. GLAD_API_CALL PFN_vkCmdBindVertexBuffers2 glad_vkCmdBindVertexBuffers2;
  4730. #define vkCmdBindVertexBuffers2 glad_vkCmdBindVertexBuffers2
  4731. GLAD_API_CALL PFN_vkCmdBlitImage glad_vkCmdBlitImage;
  4732. #define vkCmdBlitImage glad_vkCmdBlitImage
  4733. GLAD_API_CALL PFN_vkCmdBlitImage2 glad_vkCmdBlitImage2;
  4734. #define vkCmdBlitImage2 glad_vkCmdBlitImage2
  4735. GLAD_API_CALL PFN_vkCmdClearAttachments glad_vkCmdClearAttachments;
  4736. #define vkCmdClearAttachments glad_vkCmdClearAttachments
  4737. GLAD_API_CALL PFN_vkCmdClearColorImage glad_vkCmdClearColorImage;
  4738. #define vkCmdClearColorImage glad_vkCmdClearColorImage
  4739. GLAD_API_CALL PFN_vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage;
  4740. #define vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage
  4741. GLAD_API_CALL PFN_vkCmdCopyBuffer glad_vkCmdCopyBuffer;
  4742. #define vkCmdCopyBuffer glad_vkCmdCopyBuffer
  4743. GLAD_API_CALL PFN_vkCmdCopyBuffer2 glad_vkCmdCopyBuffer2;
  4744. #define vkCmdCopyBuffer2 glad_vkCmdCopyBuffer2
  4745. GLAD_API_CALL PFN_vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage;
  4746. #define vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage
  4747. GLAD_API_CALL PFN_vkCmdCopyBufferToImage2 glad_vkCmdCopyBufferToImage2;
  4748. #define vkCmdCopyBufferToImage2 glad_vkCmdCopyBufferToImage2
  4749. GLAD_API_CALL PFN_vkCmdCopyImage glad_vkCmdCopyImage;
  4750. #define vkCmdCopyImage glad_vkCmdCopyImage
  4751. GLAD_API_CALL PFN_vkCmdCopyImage2 glad_vkCmdCopyImage2;
  4752. #define vkCmdCopyImage2 glad_vkCmdCopyImage2
  4753. GLAD_API_CALL PFN_vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer;
  4754. #define vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer
  4755. GLAD_API_CALL PFN_vkCmdCopyImageToBuffer2 glad_vkCmdCopyImageToBuffer2;
  4756. #define vkCmdCopyImageToBuffer2 glad_vkCmdCopyImageToBuffer2
  4757. GLAD_API_CALL PFN_vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults;
  4758. #define vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults
  4759. GLAD_API_CALL PFN_vkCmdDispatch glad_vkCmdDispatch;
  4760. #define vkCmdDispatch glad_vkCmdDispatch
  4761. GLAD_API_CALL PFN_vkCmdDispatchBase glad_vkCmdDispatchBase;
  4762. #define vkCmdDispatchBase glad_vkCmdDispatchBase
  4763. GLAD_API_CALL PFN_vkCmdDispatchIndirect glad_vkCmdDispatchIndirect;
  4764. #define vkCmdDispatchIndirect glad_vkCmdDispatchIndirect
  4765. GLAD_API_CALL PFN_vkCmdDraw glad_vkCmdDraw;
  4766. #define vkCmdDraw glad_vkCmdDraw
  4767. GLAD_API_CALL PFN_vkCmdDrawIndexed glad_vkCmdDrawIndexed;
  4768. #define vkCmdDrawIndexed glad_vkCmdDrawIndexed
  4769. GLAD_API_CALL PFN_vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect;
  4770. #define vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect
  4771. GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCount glad_vkCmdDrawIndexedIndirectCount;
  4772. #define vkCmdDrawIndexedIndirectCount glad_vkCmdDrawIndexedIndirectCount
  4773. GLAD_API_CALL PFN_vkCmdDrawIndirect glad_vkCmdDrawIndirect;
  4774. #define vkCmdDrawIndirect glad_vkCmdDrawIndirect
  4775. GLAD_API_CALL PFN_vkCmdDrawIndirectCount glad_vkCmdDrawIndirectCount;
  4776. #define vkCmdDrawIndirectCount glad_vkCmdDrawIndirectCount
  4777. GLAD_API_CALL PFN_vkCmdEndQuery glad_vkCmdEndQuery;
  4778. #define vkCmdEndQuery glad_vkCmdEndQuery
  4779. GLAD_API_CALL PFN_vkCmdEndRenderPass glad_vkCmdEndRenderPass;
  4780. #define vkCmdEndRenderPass glad_vkCmdEndRenderPass
  4781. GLAD_API_CALL PFN_vkCmdEndRenderPass2 glad_vkCmdEndRenderPass2;
  4782. #define vkCmdEndRenderPass2 glad_vkCmdEndRenderPass2
  4783. GLAD_API_CALL PFN_vkCmdEndRendering glad_vkCmdEndRendering;
  4784. #define vkCmdEndRendering glad_vkCmdEndRendering
  4785. GLAD_API_CALL PFN_vkCmdExecuteCommands glad_vkCmdExecuteCommands;
  4786. #define vkCmdExecuteCommands glad_vkCmdExecuteCommands
  4787. GLAD_API_CALL PFN_vkCmdFillBuffer glad_vkCmdFillBuffer;
  4788. #define vkCmdFillBuffer glad_vkCmdFillBuffer
  4789. GLAD_API_CALL PFN_vkCmdNextSubpass glad_vkCmdNextSubpass;
  4790. #define vkCmdNextSubpass glad_vkCmdNextSubpass
  4791. GLAD_API_CALL PFN_vkCmdNextSubpass2 glad_vkCmdNextSubpass2;
  4792. #define vkCmdNextSubpass2 glad_vkCmdNextSubpass2
  4793. GLAD_API_CALL PFN_vkCmdPipelineBarrier glad_vkCmdPipelineBarrier;
  4794. #define vkCmdPipelineBarrier glad_vkCmdPipelineBarrier
  4795. GLAD_API_CALL PFN_vkCmdPipelineBarrier2 glad_vkCmdPipelineBarrier2;
  4796. #define vkCmdPipelineBarrier2 glad_vkCmdPipelineBarrier2
  4797. GLAD_API_CALL PFN_vkCmdPushConstants glad_vkCmdPushConstants;
  4798. #define vkCmdPushConstants glad_vkCmdPushConstants
  4799. GLAD_API_CALL PFN_vkCmdResetEvent glad_vkCmdResetEvent;
  4800. #define vkCmdResetEvent glad_vkCmdResetEvent
  4801. GLAD_API_CALL PFN_vkCmdResetEvent2 glad_vkCmdResetEvent2;
  4802. #define vkCmdResetEvent2 glad_vkCmdResetEvent2
  4803. GLAD_API_CALL PFN_vkCmdResetQueryPool glad_vkCmdResetQueryPool;
  4804. #define vkCmdResetQueryPool glad_vkCmdResetQueryPool
  4805. GLAD_API_CALL PFN_vkCmdResolveImage glad_vkCmdResolveImage;
  4806. #define vkCmdResolveImage glad_vkCmdResolveImage
  4807. GLAD_API_CALL PFN_vkCmdResolveImage2 glad_vkCmdResolveImage2;
  4808. #define vkCmdResolveImage2 glad_vkCmdResolveImage2
  4809. GLAD_API_CALL PFN_vkCmdSetBlendConstants glad_vkCmdSetBlendConstants;
  4810. #define vkCmdSetBlendConstants glad_vkCmdSetBlendConstants
  4811. GLAD_API_CALL PFN_vkCmdSetCullMode glad_vkCmdSetCullMode;
  4812. #define vkCmdSetCullMode glad_vkCmdSetCullMode
  4813. GLAD_API_CALL PFN_vkCmdSetDepthBias glad_vkCmdSetDepthBias;
  4814. #define vkCmdSetDepthBias glad_vkCmdSetDepthBias
  4815. GLAD_API_CALL PFN_vkCmdSetDepthBiasEnable glad_vkCmdSetDepthBiasEnable;
  4816. #define vkCmdSetDepthBiasEnable glad_vkCmdSetDepthBiasEnable
  4817. GLAD_API_CALL PFN_vkCmdSetDepthBounds glad_vkCmdSetDepthBounds;
  4818. #define vkCmdSetDepthBounds glad_vkCmdSetDepthBounds
  4819. GLAD_API_CALL PFN_vkCmdSetDepthBoundsTestEnable glad_vkCmdSetDepthBoundsTestEnable;
  4820. #define vkCmdSetDepthBoundsTestEnable glad_vkCmdSetDepthBoundsTestEnable
  4821. GLAD_API_CALL PFN_vkCmdSetDepthCompareOp glad_vkCmdSetDepthCompareOp;
  4822. #define vkCmdSetDepthCompareOp glad_vkCmdSetDepthCompareOp
  4823. GLAD_API_CALL PFN_vkCmdSetDepthTestEnable glad_vkCmdSetDepthTestEnable;
  4824. #define vkCmdSetDepthTestEnable glad_vkCmdSetDepthTestEnable
  4825. GLAD_API_CALL PFN_vkCmdSetDepthWriteEnable glad_vkCmdSetDepthWriteEnable;
  4826. #define vkCmdSetDepthWriteEnable glad_vkCmdSetDepthWriteEnable
  4827. GLAD_API_CALL PFN_vkCmdSetDeviceMask glad_vkCmdSetDeviceMask;
  4828. #define vkCmdSetDeviceMask glad_vkCmdSetDeviceMask
  4829. GLAD_API_CALL PFN_vkCmdSetEvent glad_vkCmdSetEvent;
  4830. #define vkCmdSetEvent glad_vkCmdSetEvent
  4831. GLAD_API_CALL PFN_vkCmdSetEvent2 glad_vkCmdSetEvent2;
  4832. #define vkCmdSetEvent2 glad_vkCmdSetEvent2
  4833. GLAD_API_CALL PFN_vkCmdSetFrontFace glad_vkCmdSetFrontFace;
  4834. #define vkCmdSetFrontFace glad_vkCmdSetFrontFace
  4835. GLAD_API_CALL PFN_vkCmdSetLineWidth glad_vkCmdSetLineWidth;
  4836. #define vkCmdSetLineWidth glad_vkCmdSetLineWidth
  4837. GLAD_API_CALL PFN_vkCmdSetPrimitiveRestartEnable glad_vkCmdSetPrimitiveRestartEnable;
  4838. #define vkCmdSetPrimitiveRestartEnable glad_vkCmdSetPrimitiveRestartEnable
  4839. GLAD_API_CALL PFN_vkCmdSetPrimitiveTopology glad_vkCmdSetPrimitiveTopology;
  4840. #define vkCmdSetPrimitiveTopology glad_vkCmdSetPrimitiveTopology
  4841. GLAD_API_CALL PFN_vkCmdSetRasterizerDiscardEnable glad_vkCmdSetRasterizerDiscardEnable;
  4842. #define vkCmdSetRasterizerDiscardEnable glad_vkCmdSetRasterizerDiscardEnable
  4843. GLAD_API_CALL PFN_vkCmdSetScissor glad_vkCmdSetScissor;
  4844. #define vkCmdSetScissor glad_vkCmdSetScissor
  4845. GLAD_API_CALL PFN_vkCmdSetScissorWithCount glad_vkCmdSetScissorWithCount;
  4846. #define vkCmdSetScissorWithCount glad_vkCmdSetScissorWithCount
  4847. GLAD_API_CALL PFN_vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask;
  4848. #define vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask
  4849. GLAD_API_CALL PFN_vkCmdSetStencilOp glad_vkCmdSetStencilOp;
  4850. #define vkCmdSetStencilOp glad_vkCmdSetStencilOp
  4851. GLAD_API_CALL PFN_vkCmdSetStencilReference glad_vkCmdSetStencilReference;
  4852. #define vkCmdSetStencilReference glad_vkCmdSetStencilReference
  4853. GLAD_API_CALL PFN_vkCmdSetStencilTestEnable glad_vkCmdSetStencilTestEnable;
  4854. #define vkCmdSetStencilTestEnable glad_vkCmdSetStencilTestEnable
  4855. GLAD_API_CALL PFN_vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask;
  4856. #define vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask
  4857. GLAD_API_CALL PFN_vkCmdSetViewport glad_vkCmdSetViewport;
  4858. #define vkCmdSetViewport glad_vkCmdSetViewport
  4859. GLAD_API_CALL PFN_vkCmdSetViewportWithCount glad_vkCmdSetViewportWithCount;
  4860. #define vkCmdSetViewportWithCount glad_vkCmdSetViewportWithCount
  4861. GLAD_API_CALL PFN_vkCmdUpdateBuffer glad_vkCmdUpdateBuffer;
  4862. #define vkCmdUpdateBuffer glad_vkCmdUpdateBuffer
  4863. GLAD_API_CALL PFN_vkCmdWaitEvents glad_vkCmdWaitEvents;
  4864. #define vkCmdWaitEvents glad_vkCmdWaitEvents
  4865. GLAD_API_CALL PFN_vkCmdWaitEvents2 glad_vkCmdWaitEvents2;
  4866. #define vkCmdWaitEvents2 glad_vkCmdWaitEvents2
  4867. GLAD_API_CALL PFN_vkCmdWriteTimestamp glad_vkCmdWriteTimestamp;
  4868. #define vkCmdWriteTimestamp glad_vkCmdWriteTimestamp
  4869. GLAD_API_CALL PFN_vkCmdWriteTimestamp2 glad_vkCmdWriteTimestamp2;
  4870. #define vkCmdWriteTimestamp2 glad_vkCmdWriteTimestamp2
  4871. GLAD_API_CALL PFN_vkCreateBuffer glad_vkCreateBuffer;
  4872. #define vkCreateBuffer glad_vkCreateBuffer
  4873. GLAD_API_CALL PFN_vkCreateBufferView glad_vkCreateBufferView;
  4874. #define vkCreateBufferView glad_vkCreateBufferView
  4875. GLAD_API_CALL PFN_vkCreateCommandPool glad_vkCreateCommandPool;
  4876. #define vkCreateCommandPool glad_vkCreateCommandPool
  4877. GLAD_API_CALL PFN_vkCreateComputePipelines glad_vkCreateComputePipelines;
  4878. #define vkCreateComputePipelines glad_vkCreateComputePipelines
  4879. GLAD_API_CALL PFN_vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT;
  4880. #define vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT
  4881. GLAD_API_CALL PFN_vkCreateDescriptorPool glad_vkCreateDescriptorPool;
  4882. #define vkCreateDescriptorPool glad_vkCreateDescriptorPool
  4883. GLAD_API_CALL PFN_vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout;
  4884. #define vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout
  4885. GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate;
  4886. #define vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate
  4887. GLAD_API_CALL PFN_vkCreateDevice glad_vkCreateDevice;
  4888. #define vkCreateDevice glad_vkCreateDevice
  4889. GLAD_API_CALL PFN_vkCreateEvent glad_vkCreateEvent;
  4890. #define vkCreateEvent glad_vkCreateEvent
  4891. GLAD_API_CALL PFN_vkCreateFence glad_vkCreateFence;
  4892. #define vkCreateFence glad_vkCreateFence
  4893. GLAD_API_CALL PFN_vkCreateFramebuffer glad_vkCreateFramebuffer;
  4894. #define vkCreateFramebuffer glad_vkCreateFramebuffer
  4895. GLAD_API_CALL PFN_vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines;
  4896. #define vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines
  4897. GLAD_API_CALL PFN_vkCreateImage glad_vkCreateImage;
  4898. #define vkCreateImage glad_vkCreateImage
  4899. GLAD_API_CALL PFN_vkCreateImageView glad_vkCreateImageView;
  4900. #define vkCreateImageView glad_vkCreateImageView
  4901. GLAD_API_CALL PFN_vkCreateInstance glad_vkCreateInstance;
  4902. #define vkCreateInstance glad_vkCreateInstance
  4903. GLAD_API_CALL PFN_vkCreatePipelineCache glad_vkCreatePipelineCache;
  4904. #define vkCreatePipelineCache glad_vkCreatePipelineCache
  4905. GLAD_API_CALL PFN_vkCreatePipelineLayout glad_vkCreatePipelineLayout;
  4906. #define vkCreatePipelineLayout glad_vkCreatePipelineLayout
  4907. GLAD_API_CALL PFN_vkCreatePrivateDataSlot glad_vkCreatePrivateDataSlot;
  4908. #define vkCreatePrivateDataSlot glad_vkCreatePrivateDataSlot
  4909. GLAD_API_CALL PFN_vkCreateQueryPool glad_vkCreateQueryPool;
  4910. #define vkCreateQueryPool glad_vkCreateQueryPool
  4911. GLAD_API_CALL PFN_vkCreateRenderPass glad_vkCreateRenderPass;
  4912. #define vkCreateRenderPass glad_vkCreateRenderPass
  4913. GLAD_API_CALL PFN_vkCreateRenderPass2 glad_vkCreateRenderPass2;
  4914. #define vkCreateRenderPass2 glad_vkCreateRenderPass2
  4915. GLAD_API_CALL PFN_vkCreateSampler glad_vkCreateSampler;
  4916. #define vkCreateSampler glad_vkCreateSampler
  4917. GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion;
  4918. #define vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion
  4919. GLAD_API_CALL PFN_vkCreateSemaphore glad_vkCreateSemaphore;
  4920. #define vkCreateSemaphore glad_vkCreateSemaphore
  4921. GLAD_API_CALL PFN_vkCreateShaderModule glad_vkCreateShaderModule;
  4922. #define vkCreateShaderModule glad_vkCreateShaderModule
  4923. GLAD_API_CALL PFN_vkCreateSwapchainKHR glad_vkCreateSwapchainKHR;
  4924. #define vkCreateSwapchainKHR glad_vkCreateSwapchainKHR
  4925. GLAD_API_CALL PFN_vkDebugReportMessageEXT glad_vkDebugReportMessageEXT;
  4926. #define vkDebugReportMessageEXT glad_vkDebugReportMessageEXT
  4927. GLAD_API_CALL PFN_vkDestroyBuffer glad_vkDestroyBuffer;
  4928. #define vkDestroyBuffer glad_vkDestroyBuffer
  4929. GLAD_API_CALL PFN_vkDestroyBufferView glad_vkDestroyBufferView;
  4930. #define vkDestroyBufferView glad_vkDestroyBufferView
  4931. GLAD_API_CALL PFN_vkDestroyCommandPool glad_vkDestroyCommandPool;
  4932. #define vkDestroyCommandPool glad_vkDestroyCommandPool
  4933. GLAD_API_CALL PFN_vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT;
  4934. #define vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT
  4935. GLAD_API_CALL PFN_vkDestroyDescriptorPool glad_vkDestroyDescriptorPool;
  4936. #define vkDestroyDescriptorPool glad_vkDestroyDescriptorPool
  4937. GLAD_API_CALL PFN_vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout;
  4938. #define vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout
  4939. GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate;
  4940. #define vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate
  4941. GLAD_API_CALL PFN_vkDestroyDevice glad_vkDestroyDevice;
  4942. #define vkDestroyDevice glad_vkDestroyDevice
  4943. GLAD_API_CALL PFN_vkDestroyEvent glad_vkDestroyEvent;
  4944. #define vkDestroyEvent glad_vkDestroyEvent
  4945. GLAD_API_CALL PFN_vkDestroyFence glad_vkDestroyFence;
  4946. #define vkDestroyFence glad_vkDestroyFence
  4947. GLAD_API_CALL PFN_vkDestroyFramebuffer glad_vkDestroyFramebuffer;
  4948. #define vkDestroyFramebuffer glad_vkDestroyFramebuffer
  4949. GLAD_API_CALL PFN_vkDestroyImage glad_vkDestroyImage;
  4950. #define vkDestroyImage glad_vkDestroyImage
  4951. GLAD_API_CALL PFN_vkDestroyImageView glad_vkDestroyImageView;
  4952. #define vkDestroyImageView glad_vkDestroyImageView
  4953. GLAD_API_CALL PFN_vkDestroyInstance glad_vkDestroyInstance;
  4954. #define vkDestroyInstance glad_vkDestroyInstance
  4955. GLAD_API_CALL PFN_vkDestroyPipeline glad_vkDestroyPipeline;
  4956. #define vkDestroyPipeline glad_vkDestroyPipeline
  4957. GLAD_API_CALL PFN_vkDestroyPipelineCache glad_vkDestroyPipelineCache;
  4958. #define vkDestroyPipelineCache glad_vkDestroyPipelineCache
  4959. GLAD_API_CALL PFN_vkDestroyPipelineLayout glad_vkDestroyPipelineLayout;
  4960. #define vkDestroyPipelineLayout glad_vkDestroyPipelineLayout
  4961. GLAD_API_CALL PFN_vkDestroyPrivateDataSlot glad_vkDestroyPrivateDataSlot;
  4962. #define vkDestroyPrivateDataSlot glad_vkDestroyPrivateDataSlot
  4963. GLAD_API_CALL PFN_vkDestroyQueryPool glad_vkDestroyQueryPool;
  4964. #define vkDestroyQueryPool glad_vkDestroyQueryPool
  4965. GLAD_API_CALL PFN_vkDestroyRenderPass glad_vkDestroyRenderPass;
  4966. #define vkDestroyRenderPass glad_vkDestroyRenderPass
  4967. GLAD_API_CALL PFN_vkDestroySampler glad_vkDestroySampler;
  4968. #define vkDestroySampler glad_vkDestroySampler
  4969. GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion;
  4970. #define vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion
  4971. GLAD_API_CALL PFN_vkDestroySemaphore glad_vkDestroySemaphore;
  4972. #define vkDestroySemaphore glad_vkDestroySemaphore
  4973. GLAD_API_CALL PFN_vkDestroyShaderModule glad_vkDestroyShaderModule;
  4974. #define vkDestroyShaderModule glad_vkDestroyShaderModule
  4975. GLAD_API_CALL PFN_vkDestroySurfaceKHR glad_vkDestroySurfaceKHR;
  4976. #define vkDestroySurfaceKHR glad_vkDestroySurfaceKHR
  4977. GLAD_API_CALL PFN_vkDestroySwapchainKHR glad_vkDestroySwapchainKHR;
  4978. #define vkDestroySwapchainKHR glad_vkDestroySwapchainKHR
  4979. GLAD_API_CALL PFN_vkDeviceWaitIdle glad_vkDeviceWaitIdle;
  4980. #define vkDeviceWaitIdle glad_vkDeviceWaitIdle
  4981. GLAD_API_CALL PFN_vkEndCommandBuffer glad_vkEndCommandBuffer;
  4982. #define vkEndCommandBuffer glad_vkEndCommandBuffer
  4983. GLAD_API_CALL PFN_vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties;
  4984. #define vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties
  4985. GLAD_API_CALL PFN_vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties;
  4986. #define vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties
  4987. GLAD_API_CALL PFN_vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties;
  4988. #define vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties
  4989. GLAD_API_CALL PFN_vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties;
  4990. #define vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties
  4991. GLAD_API_CALL PFN_vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion;
  4992. #define vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion
  4993. GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups;
  4994. #define vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups
  4995. GLAD_API_CALL PFN_vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices;
  4996. #define vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices
  4997. GLAD_API_CALL PFN_vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges;
  4998. #define vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges
  4999. GLAD_API_CALL PFN_vkFreeCommandBuffers glad_vkFreeCommandBuffers;
  5000. #define vkFreeCommandBuffers glad_vkFreeCommandBuffers
  5001. GLAD_API_CALL PFN_vkFreeDescriptorSets glad_vkFreeDescriptorSets;
  5002. #define vkFreeDescriptorSets glad_vkFreeDescriptorSets
  5003. GLAD_API_CALL PFN_vkFreeMemory glad_vkFreeMemory;
  5004. #define vkFreeMemory glad_vkFreeMemory
  5005. GLAD_API_CALL PFN_vkGetBufferDeviceAddress glad_vkGetBufferDeviceAddress;
  5006. #define vkGetBufferDeviceAddress glad_vkGetBufferDeviceAddress
  5007. GLAD_API_CALL PFN_vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements;
  5008. #define vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements
  5009. GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2;
  5010. #define vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2
  5011. GLAD_API_CALL PFN_vkGetBufferOpaqueCaptureAddress glad_vkGetBufferOpaqueCaptureAddress;
  5012. #define vkGetBufferOpaqueCaptureAddress glad_vkGetBufferOpaqueCaptureAddress
  5013. GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport;
  5014. #define vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport
  5015. GLAD_API_CALL PFN_vkGetDeviceBufferMemoryRequirements glad_vkGetDeviceBufferMemoryRequirements;
  5016. #define vkGetDeviceBufferMemoryRequirements glad_vkGetDeviceBufferMemoryRequirements
  5017. GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures;
  5018. #define vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures
  5019. GLAD_API_CALL PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR;
  5020. #define vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR
  5021. GLAD_API_CALL PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR;
  5022. #define vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR
  5023. GLAD_API_CALL PFN_vkGetDeviceImageMemoryRequirements glad_vkGetDeviceImageMemoryRequirements;
  5024. #define vkGetDeviceImageMemoryRequirements glad_vkGetDeviceImageMemoryRequirements
  5025. GLAD_API_CALL PFN_vkGetDeviceImageSparseMemoryRequirements glad_vkGetDeviceImageSparseMemoryRequirements;
  5026. #define vkGetDeviceImageSparseMemoryRequirements glad_vkGetDeviceImageSparseMemoryRequirements
  5027. GLAD_API_CALL PFN_vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment;
  5028. #define vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment
  5029. GLAD_API_CALL PFN_vkGetDeviceMemoryOpaqueCaptureAddress glad_vkGetDeviceMemoryOpaqueCaptureAddress;
  5030. #define vkGetDeviceMemoryOpaqueCaptureAddress glad_vkGetDeviceMemoryOpaqueCaptureAddress
  5031. GLAD_API_CALL PFN_vkGetDeviceProcAddr glad_vkGetDeviceProcAddr;
  5032. #define vkGetDeviceProcAddr glad_vkGetDeviceProcAddr
  5033. GLAD_API_CALL PFN_vkGetDeviceQueue glad_vkGetDeviceQueue;
  5034. #define vkGetDeviceQueue glad_vkGetDeviceQueue
  5035. GLAD_API_CALL PFN_vkGetDeviceQueue2 glad_vkGetDeviceQueue2;
  5036. #define vkGetDeviceQueue2 glad_vkGetDeviceQueue2
  5037. GLAD_API_CALL PFN_vkGetEventStatus glad_vkGetEventStatus;
  5038. #define vkGetEventStatus glad_vkGetEventStatus
  5039. GLAD_API_CALL PFN_vkGetFenceStatus glad_vkGetFenceStatus;
  5040. #define vkGetFenceStatus glad_vkGetFenceStatus
  5041. GLAD_API_CALL PFN_vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements;
  5042. #define vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements
  5043. GLAD_API_CALL PFN_vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2;
  5044. #define vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2
  5045. GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements;
  5046. #define vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements
  5047. GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2;
  5048. #define vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2
  5049. GLAD_API_CALL PFN_vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout;
  5050. #define vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout
  5051. GLAD_API_CALL PFN_vkGetInstanceProcAddr glad_vkGetInstanceProcAddr;
  5052. #define vkGetInstanceProcAddr glad_vkGetInstanceProcAddr
  5053. GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties;
  5054. #define vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties
  5055. GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties;
  5056. #define vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties
  5057. GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties;
  5058. #define vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties
  5059. GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures;
  5060. #define vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures
  5061. GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2;
  5062. #define vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2
  5063. GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties;
  5064. #define vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties
  5065. GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2;
  5066. #define vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2
  5067. GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties;
  5068. #define vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties
  5069. GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2;
  5070. #define vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2
  5071. GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties;
  5072. #define vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties
  5073. GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2;
  5074. #define vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2
  5075. GLAD_API_CALL PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR;
  5076. #define vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR
  5077. GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties;
  5078. #define vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties
  5079. GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2;
  5080. #define vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2
  5081. GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties;
  5082. #define vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties
  5083. GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2;
  5084. #define vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2
  5085. GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties;
  5086. #define vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties
  5087. GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2;
  5088. #define vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2
  5089. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
  5090. #define vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
  5091. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR;
  5092. #define vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR
  5093. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR;
  5094. #define vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR
  5095. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR;
  5096. #define vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR
  5097. GLAD_API_CALL PFN_vkGetPhysicalDeviceToolProperties glad_vkGetPhysicalDeviceToolProperties;
  5098. #define vkGetPhysicalDeviceToolProperties glad_vkGetPhysicalDeviceToolProperties
  5099. GLAD_API_CALL PFN_vkGetPipelineCacheData glad_vkGetPipelineCacheData;
  5100. #define vkGetPipelineCacheData glad_vkGetPipelineCacheData
  5101. GLAD_API_CALL PFN_vkGetPrivateData glad_vkGetPrivateData;
  5102. #define vkGetPrivateData glad_vkGetPrivateData
  5103. GLAD_API_CALL PFN_vkGetQueryPoolResults glad_vkGetQueryPoolResults;
  5104. #define vkGetQueryPoolResults glad_vkGetQueryPoolResults
  5105. GLAD_API_CALL PFN_vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity;
  5106. #define vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity
  5107. GLAD_API_CALL PFN_vkGetSemaphoreCounterValue glad_vkGetSemaphoreCounterValue;
  5108. #define vkGetSemaphoreCounterValue glad_vkGetSemaphoreCounterValue
  5109. GLAD_API_CALL PFN_vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR;
  5110. #define vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR
  5111. GLAD_API_CALL PFN_vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges;
  5112. #define vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges
  5113. GLAD_API_CALL PFN_vkMapMemory glad_vkMapMemory;
  5114. #define vkMapMemory glad_vkMapMemory
  5115. GLAD_API_CALL PFN_vkMergePipelineCaches glad_vkMergePipelineCaches;
  5116. #define vkMergePipelineCaches glad_vkMergePipelineCaches
  5117. GLAD_API_CALL PFN_vkQueueBindSparse glad_vkQueueBindSparse;
  5118. #define vkQueueBindSparse glad_vkQueueBindSparse
  5119. GLAD_API_CALL PFN_vkQueuePresentKHR glad_vkQueuePresentKHR;
  5120. #define vkQueuePresentKHR glad_vkQueuePresentKHR
  5121. GLAD_API_CALL PFN_vkQueueSubmit glad_vkQueueSubmit;
  5122. #define vkQueueSubmit glad_vkQueueSubmit
  5123. GLAD_API_CALL PFN_vkQueueSubmit2 glad_vkQueueSubmit2;
  5124. #define vkQueueSubmit2 glad_vkQueueSubmit2
  5125. GLAD_API_CALL PFN_vkQueueWaitIdle glad_vkQueueWaitIdle;
  5126. #define vkQueueWaitIdle glad_vkQueueWaitIdle
  5127. GLAD_API_CALL PFN_vkResetCommandBuffer glad_vkResetCommandBuffer;
  5128. #define vkResetCommandBuffer glad_vkResetCommandBuffer
  5129. GLAD_API_CALL PFN_vkResetCommandPool glad_vkResetCommandPool;
  5130. #define vkResetCommandPool glad_vkResetCommandPool
  5131. GLAD_API_CALL PFN_vkResetDescriptorPool glad_vkResetDescriptorPool;
  5132. #define vkResetDescriptorPool glad_vkResetDescriptorPool
  5133. GLAD_API_CALL PFN_vkResetEvent glad_vkResetEvent;
  5134. #define vkResetEvent glad_vkResetEvent
  5135. GLAD_API_CALL PFN_vkResetFences glad_vkResetFences;
  5136. #define vkResetFences glad_vkResetFences
  5137. GLAD_API_CALL PFN_vkResetQueryPool glad_vkResetQueryPool;
  5138. #define vkResetQueryPool glad_vkResetQueryPool
  5139. GLAD_API_CALL PFN_vkSetEvent glad_vkSetEvent;
  5140. #define vkSetEvent glad_vkSetEvent
  5141. GLAD_API_CALL PFN_vkSetPrivateData glad_vkSetPrivateData;
  5142. #define vkSetPrivateData glad_vkSetPrivateData
  5143. GLAD_API_CALL PFN_vkSignalSemaphore glad_vkSignalSemaphore;
  5144. #define vkSignalSemaphore glad_vkSignalSemaphore
  5145. GLAD_API_CALL PFN_vkTrimCommandPool glad_vkTrimCommandPool;
  5146. #define vkTrimCommandPool glad_vkTrimCommandPool
  5147. GLAD_API_CALL PFN_vkUnmapMemory glad_vkUnmapMemory;
  5148. #define vkUnmapMemory glad_vkUnmapMemory
  5149. GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate;
  5150. #define vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate
  5151. GLAD_API_CALL PFN_vkUpdateDescriptorSets glad_vkUpdateDescriptorSets;
  5152. #define vkUpdateDescriptorSets glad_vkUpdateDescriptorSets
  5153. GLAD_API_CALL PFN_vkWaitForFences glad_vkWaitForFences;
  5154. #define vkWaitForFences glad_vkWaitForFences
  5155. GLAD_API_CALL PFN_vkWaitSemaphores glad_vkWaitSemaphores;
  5156. #define vkWaitSemaphores glad_vkWaitSemaphores
  5157. GLAD_API_CALL int gladLoadVulkanUserPtr( VkPhysicalDevice physical_device, GLADuserptrloadfunc load, void *userptr);
  5158. GLAD_API_CALL int gladLoadVulkan( VkPhysicalDevice physical_device, GLADloadfunc load);
  5159. #ifdef __cplusplus
  5160. }
  5161. #endif
  5162. #endif