VkBootstrapDispatch.h 274 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946
  1. /*
  2. * Copyright © 2021 Cody Goodson ([email protected])
  3. * Copyright © 2022 Charles Giessen ([email protected])
  4. *
  5. * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
  6. * documentation files (the “Software”), to deal in the Software without restriction, including without
  7. * limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
  8. * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
  9. *
  10. * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
  11. *
  12. * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
  13. * LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  14. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  15. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  16. *
  17. */
  18. // This file is a part of VkBootstrap
  19. // https://github.com/charles-lunarg/vk-bootstrap
  20. #pragma once
  21. #include <vulkan/vulkan.h>
  22. namespace vkb {
  23. struct DispatchTable {
  24. DispatchTable() = default;
  25. DispatchTable(VkDevice device, PFN_vkGetDeviceProcAddr procAddr) : device(device), populated(true) {
  26. fp_vkGetDeviceQueue = reinterpret_cast<PFN_vkGetDeviceQueue>(procAddr(device, "vkGetDeviceQueue"));
  27. fp_vkQueueSubmit = reinterpret_cast<PFN_vkQueueSubmit>(procAddr(device, "vkQueueSubmit"));
  28. fp_vkQueueWaitIdle = reinterpret_cast<PFN_vkQueueWaitIdle>(procAddr(device, "vkQueueWaitIdle"));
  29. fp_vkDeviceWaitIdle = reinterpret_cast<PFN_vkDeviceWaitIdle>(procAddr(device, "vkDeviceWaitIdle"));
  30. fp_vkAllocateMemory = reinterpret_cast<PFN_vkAllocateMemory>(procAddr(device, "vkAllocateMemory"));
  31. fp_vkFreeMemory = reinterpret_cast<PFN_vkFreeMemory>(procAddr(device, "vkFreeMemory"));
  32. fp_vkMapMemory = reinterpret_cast<PFN_vkMapMemory>(procAddr(device, "vkMapMemory"));
  33. fp_vkUnmapMemory = reinterpret_cast<PFN_vkUnmapMemory>(procAddr(device, "vkUnmapMemory"));
  34. fp_vkFlushMappedMemoryRanges = reinterpret_cast<PFN_vkFlushMappedMemoryRanges>(procAddr(device, "vkFlushMappedMemoryRanges"));
  35. fp_vkInvalidateMappedMemoryRanges = reinterpret_cast<PFN_vkInvalidateMappedMemoryRanges>(procAddr(device, "vkInvalidateMappedMemoryRanges"));
  36. fp_vkGetDeviceMemoryCommitment = reinterpret_cast<PFN_vkGetDeviceMemoryCommitment>(procAddr(device, "vkGetDeviceMemoryCommitment"));
  37. fp_vkGetBufferMemoryRequirements = reinterpret_cast<PFN_vkGetBufferMemoryRequirements>(procAddr(device, "vkGetBufferMemoryRequirements"));
  38. fp_vkBindBufferMemory = reinterpret_cast<PFN_vkBindBufferMemory>(procAddr(device, "vkBindBufferMemory"));
  39. fp_vkGetImageMemoryRequirements = reinterpret_cast<PFN_vkGetImageMemoryRequirements>(procAddr(device, "vkGetImageMemoryRequirements"));
  40. fp_vkBindImageMemory = reinterpret_cast<PFN_vkBindImageMemory>(procAddr(device, "vkBindImageMemory"));
  41. fp_vkGetImageSparseMemoryRequirements = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements>(procAddr(device, "vkGetImageSparseMemoryRequirements"));
  42. fp_vkQueueBindSparse = reinterpret_cast<PFN_vkQueueBindSparse>(procAddr(device, "vkQueueBindSparse"));
  43. fp_vkCreateFence = reinterpret_cast<PFN_vkCreateFence>(procAddr(device, "vkCreateFence"));
  44. fp_vkDestroyFence = reinterpret_cast<PFN_vkDestroyFence>(procAddr(device, "vkDestroyFence"));
  45. fp_vkResetFences = reinterpret_cast<PFN_vkResetFences>(procAddr(device, "vkResetFences"));
  46. fp_vkGetFenceStatus = reinterpret_cast<PFN_vkGetFenceStatus>(procAddr(device, "vkGetFenceStatus"));
  47. fp_vkWaitForFences = reinterpret_cast<PFN_vkWaitForFences>(procAddr(device, "vkWaitForFences"));
  48. fp_vkCreateSemaphore = reinterpret_cast<PFN_vkCreateSemaphore>(procAddr(device, "vkCreateSemaphore"));
  49. fp_vkDestroySemaphore = reinterpret_cast<PFN_vkDestroySemaphore>(procAddr(device, "vkDestroySemaphore"));
  50. fp_vkCreateEvent = reinterpret_cast<PFN_vkCreateEvent>(procAddr(device, "vkCreateEvent"));
  51. fp_vkDestroyEvent = reinterpret_cast<PFN_vkDestroyEvent>(procAddr(device, "vkDestroyEvent"));
  52. fp_vkGetEventStatus = reinterpret_cast<PFN_vkGetEventStatus>(procAddr(device, "vkGetEventStatus"));
  53. fp_vkSetEvent = reinterpret_cast<PFN_vkSetEvent>(procAddr(device, "vkSetEvent"));
  54. fp_vkResetEvent = reinterpret_cast<PFN_vkResetEvent>(procAddr(device, "vkResetEvent"));
  55. fp_vkCreateQueryPool = reinterpret_cast<PFN_vkCreateQueryPool>(procAddr(device, "vkCreateQueryPool"));
  56. fp_vkDestroyQueryPool = reinterpret_cast<PFN_vkDestroyQueryPool>(procAddr(device, "vkDestroyQueryPool"));
  57. fp_vkGetQueryPoolResults = reinterpret_cast<PFN_vkGetQueryPoolResults>(procAddr(device, "vkGetQueryPoolResults"));
  58. #if (defined(VK_VERSION_1_2))
  59. fp_vkResetQueryPool = reinterpret_cast<PFN_vkResetQueryPool>(procAddr(device, "vkResetQueryPool"));
  60. #endif
  61. fp_vkCreateBuffer = reinterpret_cast<PFN_vkCreateBuffer>(procAddr(device, "vkCreateBuffer"));
  62. fp_vkDestroyBuffer = reinterpret_cast<PFN_vkDestroyBuffer>(procAddr(device, "vkDestroyBuffer"));
  63. fp_vkCreateBufferView = reinterpret_cast<PFN_vkCreateBufferView>(procAddr(device, "vkCreateBufferView"));
  64. fp_vkDestroyBufferView = reinterpret_cast<PFN_vkDestroyBufferView>(procAddr(device, "vkDestroyBufferView"));
  65. fp_vkCreateImage = reinterpret_cast<PFN_vkCreateImage>(procAddr(device, "vkCreateImage"));
  66. fp_vkDestroyImage = reinterpret_cast<PFN_vkDestroyImage>(procAddr(device, "vkDestroyImage"));
  67. fp_vkGetImageSubresourceLayout = reinterpret_cast<PFN_vkGetImageSubresourceLayout>(procAddr(device, "vkGetImageSubresourceLayout"));
  68. fp_vkCreateImageView = reinterpret_cast<PFN_vkCreateImageView>(procAddr(device, "vkCreateImageView"));
  69. fp_vkDestroyImageView = reinterpret_cast<PFN_vkDestroyImageView>(procAddr(device, "vkDestroyImageView"));
  70. fp_vkCreateShaderModule = reinterpret_cast<PFN_vkCreateShaderModule>(procAddr(device, "vkCreateShaderModule"));
  71. fp_vkDestroyShaderModule = reinterpret_cast<PFN_vkDestroyShaderModule>(procAddr(device, "vkDestroyShaderModule"));
  72. fp_vkCreatePipelineCache = reinterpret_cast<PFN_vkCreatePipelineCache>(procAddr(device, "vkCreatePipelineCache"));
  73. fp_vkDestroyPipelineCache = reinterpret_cast<PFN_vkDestroyPipelineCache>(procAddr(device, "vkDestroyPipelineCache"));
  74. fp_vkGetPipelineCacheData = reinterpret_cast<PFN_vkGetPipelineCacheData>(procAddr(device, "vkGetPipelineCacheData"));
  75. fp_vkMergePipelineCaches = reinterpret_cast<PFN_vkMergePipelineCaches>(procAddr(device, "vkMergePipelineCaches"));
  76. fp_vkCreateGraphicsPipelines = reinterpret_cast<PFN_vkCreateGraphicsPipelines>(procAddr(device, "vkCreateGraphicsPipelines"));
  77. fp_vkCreateComputePipelines = reinterpret_cast<PFN_vkCreateComputePipelines>(procAddr(device, "vkCreateComputePipelines"));
  78. #if (defined(VK_HUAWEI_subpass_shading))
  79. fp_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = reinterpret_cast<PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI>(procAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI"));
  80. #endif
  81. fp_vkDestroyPipeline = reinterpret_cast<PFN_vkDestroyPipeline>(procAddr(device, "vkDestroyPipeline"));
  82. fp_vkCreatePipelineLayout = reinterpret_cast<PFN_vkCreatePipelineLayout>(procAddr(device, "vkCreatePipelineLayout"));
  83. fp_vkDestroyPipelineLayout = reinterpret_cast<PFN_vkDestroyPipelineLayout>(procAddr(device, "vkDestroyPipelineLayout"));
  84. fp_vkCreateSampler = reinterpret_cast<PFN_vkCreateSampler>(procAddr(device, "vkCreateSampler"));
  85. fp_vkDestroySampler = reinterpret_cast<PFN_vkDestroySampler>(procAddr(device, "vkDestroySampler"));
  86. fp_vkCreateDescriptorSetLayout = reinterpret_cast<PFN_vkCreateDescriptorSetLayout>(procAddr(device, "vkCreateDescriptorSetLayout"));
  87. fp_vkDestroyDescriptorSetLayout = reinterpret_cast<PFN_vkDestroyDescriptorSetLayout>(procAddr(device, "vkDestroyDescriptorSetLayout"));
  88. fp_vkCreateDescriptorPool = reinterpret_cast<PFN_vkCreateDescriptorPool>(procAddr(device, "vkCreateDescriptorPool"));
  89. fp_vkDestroyDescriptorPool = reinterpret_cast<PFN_vkDestroyDescriptorPool>(procAddr(device, "vkDestroyDescriptorPool"));
  90. fp_vkResetDescriptorPool = reinterpret_cast<PFN_vkResetDescriptorPool>(procAddr(device, "vkResetDescriptorPool"));
  91. fp_vkAllocateDescriptorSets = reinterpret_cast<PFN_vkAllocateDescriptorSets>(procAddr(device, "vkAllocateDescriptorSets"));
  92. fp_vkFreeDescriptorSets = reinterpret_cast<PFN_vkFreeDescriptorSets>(procAddr(device, "vkFreeDescriptorSets"));
  93. fp_vkUpdateDescriptorSets = reinterpret_cast<PFN_vkUpdateDescriptorSets>(procAddr(device, "vkUpdateDescriptorSets"));
  94. fp_vkCreateFramebuffer = reinterpret_cast<PFN_vkCreateFramebuffer>(procAddr(device, "vkCreateFramebuffer"));
  95. fp_vkDestroyFramebuffer = reinterpret_cast<PFN_vkDestroyFramebuffer>(procAddr(device, "vkDestroyFramebuffer"));
  96. fp_vkCreateRenderPass = reinterpret_cast<PFN_vkCreateRenderPass>(procAddr(device, "vkCreateRenderPass"));
  97. fp_vkDestroyRenderPass = reinterpret_cast<PFN_vkDestroyRenderPass>(procAddr(device, "vkDestroyRenderPass"));
  98. fp_vkGetRenderAreaGranularity = reinterpret_cast<PFN_vkGetRenderAreaGranularity>(procAddr(device, "vkGetRenderAreaGranularity"));
  99. fp_vkCreateCommandPool = reinterpret_cast<PFN_vkCreateCommandPool>(procAddr(device, "vkCreateCommandPool"));
  100. fp_vkDestroyCommandPool = reinterpret_cast<PFN_vkDestroyCommandPool>(procAddr(device, "vkDestroyCommandPool"));
  101. fp_vkResetCommandPool = reinterpret_cast<PFN_vkResetCommandPool>(procAddr(device, "vkResetCommandPool"));
  102. fp_vkAllocateCommandBuffers = reinterpret_cast<PFN_vkAllocateCommandBuffers>(procAddr(device, "vkAllocateCommandBuffers"));
  103. fp_vkFreeCommandBuffers = reinterpret_cast<PFN_vkFreeCommandBuffers>(procAddr(device, "vkFreeCommandBuffers"));
  104. fp_vkBeginCommandBuffer = reinterpret_cast<PFN_vkBeginCommandBuffer>(procAddr(device, "vkBeginCommandBuffer"));
  105. fp_vkEndCommandBuffer = reinterpret_cast<PFN_vkEndCommandBuffer>(procAddr(device, "vkEndCommandBuffer"));
  106. fp_vkResetCommandBuffer = reinterpret_cast<PFN_vkResetCommandBuffer>(procAddr(device, "vkResetCommandBuffer"));
  107. fp_vkCmdBindPipeline = reinterpret_cast<PFN_vkCmdBindPipeline>(procAddr(device, "vkCmdBindPipeline"));
  108. fp_vkCmdSetViewport = reinterpret_cast<PFN_vkCmdSetViewport>(procAddr(device, "vkCmdSetViewport"));
  109. fp_vkCmdSetScissor = reinterpret_cast<PFN_vkCmdSetScissor>(procAddr(device, "vkCmdSetScissor"));
  110. fp_vkCmdSetLineWidth = reinterpret_cast<PFN_vkCmdSetLineWidth>(procAddr(device, "vkCmdSetLineWidth"));
  111. fp_vkCmdSetDepthBias = reinterpret_cast<PFN_vkCmdSetDepthBias>(procAddr(device, "vkCmdSetDepthBias"));
  112. fp_vkCmdSetBlendConstants = reinterpret_cast<PFN_vkCmdSetBlendConstants>(procAddr(device, "vkCmdSetBlendConstants"));
  113. fp_vkCmdSetDepthBounds = reinterpret_cast<PFN_vkCmdSetDepthBounds>(procAddr(device, "vkCmdSetDepthBounds"));
  114. fp_vkCmdSetStencilCompareMask = reinterpret_cast<PFN_vkCmdSetStencilCompareMask>(procAddr(device, "vkCmdSetStencilCompareMask"));
  115. fp_vkCmdSetStencilWriteMask = reinterpret_cast<PFN_vkCmdSetStencilWriteMask>(procAddr(device, "vkCmdSetStencilWriteMask"));
  116. fp_vkCmdSetStencilReference = reinterpret_cast<PFN_vkCmdSetStencilReference>(procAddr(device, "vkCmdSetStencilReference"));
  117. fp_vkCmdBindDescriptorSets = reinterpret_cast<PFN_vkCmdBindDescriptorSets>(procAddr(device, "vkCmdBindDescriptorSets"));
  118. fp_vkCmdBindIndexBuffer = reinterpret_cast<PFN_vkCmdBindIndexBuffer>(procAddr(device, "vkCmdBindIndexBuffer"));
  119. fp_vkCmdBindVertexBuffers = reinterpret_cast<PFN_vkCmdBindVertexBuffers>(procAddr(device, "vkCmdBindVertexBuffers"));
  120. fp_vkCmdDraw = reinterpret_cast<PFN_vkCmdDraw>(procAddr(device, "vkCmdDraw"));
  121. fp_vkCmdDrawIndexed = reinterpret_cast<PFN_vkCmdDrawIndexed>(procAddr(device, "vkCmdDrawIndexed"));
  122. #if (defined(VK_EXT_multi_draw))
  123. fp_vkCmdDrawMultiEXT = reinterpret_cast<PFN_vkCmdDrawMultiEXT>(procAddr(device, "vkCmdDrawMultiEXT"));
  124. #endif
  125. #if (defined(VK_EXT_multi_draw))
  126. fp_vkCmdDrawMultiIndexedEXT = reinterpret_cast<PFN_vkCmdDrawMultiIndexedEXT>(procAddr(device, "vkCmdDrawMultiIndexedEXT"));
  127. #endif
  128. fp_vkCmdDrawIndirect = reinterpret_cast<PFN_vkCmdDrawIndirect>(procAddr(device, "vkCmdDrawIndirect"));
  129. fp_vkCmdDrawIndexedIndirect = reinterpret_cast<PFN_vkCmdDrawIndexedIndirect>(procAddr(device, "vkCmdDrawIndexedIndirect"));
  130. fp_vkCmdDispatch = reinterpret_cast<PFN_vkCmdDispatch>(procAddr(device, "vkCmdDispatch"));
  131. fp_vkCmdDispatchIndirect = reinterpret_cast<PFN_vkCmdDispatchIndirect>(procAddr(device, "vkCmdDispatchIndirect"));
  132. #if (defined(VK_HUAWEI_subpass_shading))
  133. fp_vkCmdSubpassShadingHUAWEI = reinterpret_cast<PFN_vkCmdSubpassShadingHUAWEI>(procAddr(device, "vkCmdSubpassShadingHUAWEI"));
  134. #endif
  135. #if (defined(VK_HUAWEI_cluster_culling_shader))
  136. fp_vkCmdDrawClusterHUAWEI = reinterpret_cast<PFN_vkCmdDrawClusterHUAWEI>(procAddr(device, "vkCmdDrawClusterHUAWEI"));
  137. #endif
  138. #if (defined(VK_HUAWEI_cluster_culling_shader))
  139. fp_vkCmdDrawClusterIndirectHUAWEI = reinterpret_cast<PFN_vkCmdDrawClusterIndirectHUAWEI>(procAddr(device, "vkCmdDrawClusterIndirectHUAWEI"));
  140. #endif
  141. fp_vkCmdCopyBuffer = reinterpret_cast<PFN_vkCmdCopyBuffer>(procAddr(device, "vkCmdCopyBuffer"));
  142. fp_vkCmdCopyImage = reinterpret_cast<PFN_vkCmdCopyImage>(procAddr(device, "vkCmdCopyImage"));
  143. fp_vkCmdBlitImage = reinterpret_cast<PFN_vkCmdBlitImage>(procAddr(device, "vkCmdBlitImage"));
  144. fp_vkCmdCopyBufferToImage = reinterpret_cast<PFN_vkCmdCopyBufferToImage>(procAddr(device, "vkCmdCopyBufferToImage"));
  145. fp_vkCmdCopyImageToBuffer = reinterpret_cast<PFN_vkCmdCopyImageToBuffer>(procAddr(device, "vkCmdCopyImageToBuffer"));
  146. #if (defined(VK_NV_copy_memory_indirect))
  147. fp_vkCmdCopyMemoryIndirectNV = reinterpret_cast<PFN_vkCmdCopyMemoryIndirectNV>(procAddr(device, "vkCmdCopyMemoryIndirectNV"));
  148. #endif
  149. #if (defined(VK_NV_copy_memory_indirect))
  150. fp_vkCmdCopyMemoryToImageIndirectNV = reinterpret_cast<PFN_vkCmdCopyMemoryToImageIndirectNV>(procAddr(device, "vkCmdCopyMemoryToImageIndirectNV"));
  151. #endif
  152. fp_vkCmdUpdateBuffer = reinterpret_cast<PFN_vkCmdUpdateBuffer>(procAddr(device, "vkCmdUpdateBuffer"));
  153. fp_vkCmdFillBuffer = reinterpret_cast<PFN_vkCmdFillBuffer>(procAddr(device, "vkCmdFillBuffer"));
  154. fp_vkCmdClearColorImage = reinterpret_cast<PFN_vkCmdClearColorImage>(procAddr(device, "vkCmdClearColorImage"));
  155. fp_vkCmdClearDepthStencilImage = reinterpret_cast<PFN_vkCmdClearDepthStencilImage>(procAddr(device, "vkCmdClearDepthStencilImage"));
  156. fp_vkCmdClearAttachments = reinterpret_cast<PFN_vkCmdClearAttachments>(procAddr(device, "vkCmdClearAttachments"));
  157. fp_vkCmdResolveImage = reinterpret_cast<PFN_vkCmdResolveImage>(procAddr(device, "vkCmdResolveImage"));
  158. fp_vkCmdSetEvent = reinterpret_cast<PFN_vkCmdSetEvent>(procAddr(device, "vkCmdSetEvent"));
  159. fp_vkCmdResetEvent = reinterpret_cast<PFN_vkCmdResetEvent>(procAddr(device, "vkCmdResetEvent"));
  160. fp_vkCmdWaitEvents = reinterpret_cast<PFN_vkCmdWaitEvents>(procAddr(device, "vkCmdWaitEvents"));
  161. fp_vkCmdPipelineBarrier = reinterpret_cast<PFN_vkCmdPipelineBarrier>(procAddr(device, "vkCmdPipelineBarrier"));
  162. fp_vkCmdBeginQuery = reinterpret_cast<PFN_vkCmdBeginQuery>(procAddr(device, "vkCmdBeginQuery"));
  163. fp_vkCmdEndQuery = reinterpret_cast<PFN_vkCmdEndQuery>(procAddr(device, "vkCmdEndQuery"));
  164. #if (defined(VK_EXT_conditional_rendering))
  165. fp_vkCmdBeginConditionalRenderingEXT = reinterpret_cast<PFN_vkCmdBeginConditionalRenderingEXT>(procAddr(device, "vkCmdBeginConditionalRenderingEXT"));
  166. #endif
  167. #if (defined(VK_EXT_conditional_rendering))
  168. fp_vkCmdEndConditionalRenderingEXT = reinterpret_cast<PFN_vkCmdEndConditionalRenderingEXT>(procAddr(device, "vkCmdEndConditionalRenderingEXT"));
  169. #endif
  170. fp_vkCmdResetQueryPool = reinterpret_cast<PFN_vkCmdResetQueryPool>(procAddr(device, "vkCmdResetQueryPool"));
  171. fp_vkCmdWriteTimestamp = reinterpret_cast<PFN_vkCmdWriteTimestamp>(procAddr(device, "vkCmdWriteTimestamp"));
  172. fp_vkCmdCopyQueryPoolResults = reinterpret_cast<PFN_vkCmdCopyQueryPoolResults>(procAddr(device, "vkCmdCopyQueryPoolResults"));
  173. fp_vkCmdPushConstants = reinterpret_cast<PFN_vkCmdPushConstants>(procAddr(device, "vkCmdPushConstants"));
  174. fp_vkCmdBeginRenderPass = reinterpret_cast<PFN_vkCmdBeginRenderPass>(procAddr(device, "vkCmdBeginRenderPass"));
  175. fp_vkCmdNextSubpass = reinterpret_cast<PFN_vkCmdNextSubpass>(procAddr(device, "vkCmdNextSubpass"));
  176. fp_vkCmdEndRenderPass = reinterpret_cast<PFN_vkCmdEndRenderPass>(procAddr(device, "vkCmdEndRenderPass"));
  177. fp_vkCmdExecuteCommands = reinterpret_cast<PFN_vkCmdExecuteCommands>(procAddr(device, "vkCmdExecuteCommands"));
  178. #if (defined(VK_KHR_display_swapchain))
  179. fp_vkCreateSharedSwapchainsKHR = reinterpret_cast<PFN_vkCreateSharedSwapchainsKHR>(procAddr(device, "vkCreateSharedSwapchainsKHR"));
  180. #endif
  181. #if (defined(VK_KHR_swapchain))
  182. fp_vkCreateSwapchainKHR = reinterpret_cast<PFN_vkCreateSwapchainKHR>(procAddr(device, "vkCreateSwapchainKHR"));
  183. #endif
  184. #if (defined(VK_KHR_swapchain))
  185. fp_vkDestroySwapchainKHR = reinterpret_cast<PFN_vkDestroySwapchainKHR>(procAddr(device, "vkDestroySwapchainKHR"));
  186. #endif
  187. #if (defined(VK_KHR_swapchain))
  188. fp_vkGetSwapchainImagesKHR = reinterpret_cast<PFN_vkGetSwapchainImagesKHR>(procAddr(device, "vkGetSwapchainImagesKHR"));
  189. #endif
  190. #if (defined(VK_KHR_swapchain))
  191. fp_vkAcquireNextImageKHR = reinterpret_cast<PFN_vkAcquireNextImageKHR>(procAddr(device, "vkAcquireNextImageKHR"));
  192. #endif
  193. #if (defined(VK_KHR_swapchain))
  194. fp_vkQueuePresentKHR = reinterpret_cast<PFN_vkQueuePresentKHR>(procAddr(device, "vkQueuePresentKHR"));
  195. #endif
  196. #if (defined(VK_EXT_debug_marker))
  197. fp_vkDebugMarkerSetObjectNameEXT = reinterpret_cast<PFN_vkDebugMarkerSetObjectNameEXT>(procAddr(device, "vkDebugMarkerSetObjectNameEXT"));
  198. #endif
  199. #if (defined(VK_EXT_debug_marker))
  200. fp_vkDebugMarkerSetObjectTagEXT = reinterpret_cast<PFN_vkDebugMarkerSetObjectTagEXT>(procAddr(device, "vkDebugMarkerSetObjectTagEXT"));
  201. #endif
  202. #if (defined(VK_EXT_debug_marker))
  203. fp_vkCmdDebugMarkerBeginEXT = reinterpret_cast<PFN_vkCmdDebugMarkerBeginEXT>(procAddr(device, "vkCmdDebugMarkerBeginEXT"));
  204. #endif
  205. #if (defined(VK_EXT_debug_marker))
  206. fp_vkCmdDebugMarkerEndEXT = reinterpret_cast<PFN_vkCmdDebugMarkerEndEXT>(procAddr(device, "vkCmdDebugMarkerEndEXT"));
  207. #endif
  208. #if (defined(VK_EXT_debug_marker))
  209. fp_vkCmdDebugMarkerInsertEXT = reinterpret_cast<PFN_vkCmdDebugMarkerInsertEXT>(procAddr(device, "vkCmdDebugMarkerInsertEXT"));
  210. #endif
  211. #if (defined(VK_NV_external_memory_win32))
  212. fp_vkGetMemoryWin32HandleNV = reinterpret_cast<PFN_vkGetMemoryWin32HandleNV>(procAddr(device, "vkGetMemoryWin32HandleNV"));
  213. #endif
  214. #if (defined(VK_NV_device_generated_commands))
  215. fp_vkCmdExecuteGeneratedCommandsNV = reinterpret_cast<PFN_vkCmdExecuteGeneratedCommandsNV>(procAddr(device, "vkCmdExecuteGeneratedCommandsNV"));
  216. #endif
  217. #if (defined(VK_NV_device_generated_commands))
  218. fp_vkCmdPreprocessGeneratedCommandsNV = reinterpret_cast<PFN_vkCmdPreprocessGeneratedCommandsNV>(procAddr(device, "vkCmdPreprocessGeneratedCommandsNV"));
  219. #endif
  220. #if (defined(VK_NV_device_generated_commands))
  221. fp_vkCmdBindPipelineShaderGroupNV = reinterpret_cast<PFN_vkCmdBindPipelineShaderGroupNV>(procAddr(device, "vkCmdBindPipelineShaderGroupNV"));
  222. #endif
  223. #if (defined(VK_NV_device_generated_commands))
  224. fp_vkGetGeneratedCommandsMemoryRequirementsNV = reinterpret_cast<PFN_vkGetGeneratedCommandsMemoryRequirementsNV>(procAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV"));
  225. #endif
  226. #if (defined(VK_NV_device_generated_commands))
  227. fp_vkCreateIndirectCommandsLayoutNV = reinterpret_cast<PFN_vkCreateIndirectCommandsLayoutNV>(procAddr(device, "vkCreateIndirectCommandsLayoutNV"));
  228. #endif
  229. #if (defined(VK_NV_device_generated_commands))
  230. fp_vkDestroyIndirectCommandsLayoutNV = reinterpret_cast<PFN_vkDestroyIndirectCommandsLayoutNV>(procAddr(device, "vkDestroyIndirectCommandsLayoutNV"));
  231. #endif
  232. #if (defined(VK_KHR_push_descriptor))
  233. fp_vkCmdPushDescriptorSetKHR = reinterpret_cast<PFN_vkCmdPushDescriptorSetKHR>(procAddr(device, "vkCmdPushDescriptorSetKHR"));
  234. #endif
  235. #if (defined(VK_VERSION_1_1))
  236. fp_vkTrimCommandPool = reinterpret_cast<PFN_vkTrimCommandPool>(procAddr(device, "vkTrimCommandPool"));
  237. #endif
  238. #if (defined(VK_KHR_external_memory_win32))
  239. fp_vkGetMemoryWin32HandleKHR = reinterpret_cast<PFN_vkGetMemoryWin32HandleKHR>(procAddr(device, "vkGetMemoryWin32HandleKHR"));
  240. #endif
  241. #if (defined(VK_KHR_external_memory_win32))
  242. fp_vkGetMemoryWin32HandlePropertiesKHR = reinterpret_cast<PFN_vkGetMemoryWin32HandlePropertiesKHR>(procAddr(device, "vkGetMemoryWin32HandlePropertiesKHR"));
  243. #endif
  244. #if (defined(VK_KHR_external_memory_fd))
  245. fp_vkGetMemoryFdKHR = reinterpret_cast<PFN_vkGetMemoryFdKHR>(procAddr(device, "vkGetMemoryFdKHR"));
  246. #endif
  247. #if (defined(VK_KHR_external_memory_fd))
  248. fp_vkGetMemoryFdPropertiesKHR = reinterpret_cast<PFN_vkGetMemoryFdPropertiesKHR>(procAddr(device, "vkGetMemoryFdPropertiesKHR"));
  249. #endif
  250. #if (defined(VK_FUCHSIA_external_memory))
  251. fp_vkGetMemoryZirconHandleFUCHSIA = reinterpret_cast<PFN_vkGetMemoryZirconHandleFUCHSIA>(procAddr(device, "vkGetMemoryZirconHandleFUCHSIA"));
  252. #endif
  253. #if (defined(VK_FUCHSIA_external_memory))
  254. fp_vkGetMemoryZirconHandlePropertiesFUCHSIA = reinterpret_cast<PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA>(procAddr(device, "vkGetMemoryZirconHandlePropertiesFUCHSIA"));
  255. #endif
  256. #if (defined(VK_NV_external_memory_rdma))
  257. fp_vkGetMemoryRemoteAddressNV = reinterpret_cast<PFN_vkGetMemoryRemoteAddressNV>(procAddr(device, "vkGetMemoryRemoteAddressNV"));
  258. #endif
  259. #if (defined(VK_KHR_external_semaphore_win32))
  260. fp_vkGetSemaphoreWin32HandleKHR = reinterpret_cast<PFN_vkGetSemaphoreWin32HandleKHR>(procAddr(device, "vkGetSemaphoreWin32HandleKHR"));
  261. #endif
  262. #if (defined(VK_KHR_external_semaphore_win32))
  263. fp_vkImportSemaphoreWin32HandleKHR = reinterpret_cast<PFN_vkImportSemaphoreWin32HandleKHR>(procAddr(device, "vkImportSemaphoreWin32HandleKHR"));
  264. #endif
  265. #if (defined(VK_KHR_external_semaphore_fd))
  266. fp_vkGetSemaphoreFdKHR = reinterpret_cast<PFN_vkGetSemaphoreFdKHR>(procAddr(device, "vkGetSemaphoreFdKHR"));
  267. #endif
  268. #if (defined(VK_KHR_external_semaphore_fd))
  269. fp_vkImportSemaphoreFdKHR = reinterpret_cast<PFN_vkImportSemaphoreFdKHR>(procAddr(device, "vkImportSemaphoreFdKHR"));
  270. #endif
  271. #if (defined(VK_FUCHSIA_external_semaphore))
  272. fp_vkGetSemaphoreZirconHandleFUCHSIA = reinterpret_cast<PFN_vkGetSemaphoreZirconHandleFUCHSIA>(procAddr(device, "vkGetSemaphoreZirconHandleFUCHSIA"));
  273. #endif
  274. #if (defined(VK_FUCHSIA_external_semaphore))
  275. fp_vkImportSemaphoreZirconHandleFUCHSIA = reinterpret_cast<PFN_vkImportSemaphoreZirconHandleFUCHSIA>(procAddr(device, "vkImportSemaphoreZirconHandleFUCHSIA"));
  276. #endif
  277. #if (defined(VK_KHR_external_fence_win32))
  278. fp_vkGetFenceWin32HandleKHR = reinterpret_cast<PFN_vkGetFenceWin32HandleKHR>(procAddr(device, "vkGetFenceWin32HandleKHR"));
  279. #endif
  280. #if (defined(VK_KHR_external_fence_win32))
  281. fp_vkImportFenceWin32HandleKHR = reinterpret_cast<PFN_vkImportFenceWin32HandleKHR>(procAddr(device, "vkImportFenceWin32HandleKHR"));
  282. #endif
  283. #if (defined(VK_KHR_external_fence_fd))
  284. fp_vkGetFenceFdKHR = reinterpret_cast<PFN_vkGetFenceFdKHR>(procAddr(device, "vkGetFenceFdKHR"));
  285. #endif
  286. #if (defined(VK_KHR_external_fence_fd))
  287. fp_vkImportFenceFdKHR = reinterpret_cast<PFN_vkImportFenceFdKHR>(procAddr(device, "vkImportFenceFdKHR"));
  288. #endif
  289. #if (defined(VK_EXT_display_control))
  290. fp_vkDisplayPowerControlEXT = reinterpret_cast<PFN_vkDisplayPowerControlEXT>(procAddr(device, "vkDisplayPowerControlEXT"));
  291. #endif
  292. #if (defined(VK_EXT_display_control))
  293. fp_vkRegisterDeviceEventEXT = reinterpret_cast<PFN_vkRegisterDeviceEventEXT>(procAddr(device, "vkRegisterDeviceEventEXT"));
  294. #endif
  295. #if (defined(VK_EXT_display_control))
  296. fp_vkRegisterDisplayEventEXT = reinterpret_cast<PFN_vkRegisterDisplayEventEXT>(procAddr(device, "vkRegisterDisplayEventEXT"));
  297. #endif
  298. #if (defined(VK_EXT_display_control))
  299. fp_vkGetSwapchainCounterEXT = reinterpret_cast<PFN_vkGetSwapchainCounterEXT>(procAddr(device, "vkGetSwapchainCounterEXT"));
  300. #endif
  301. #if (defined(VK_VERSION_1_1))
  302. fp_vkGetDeviceGroupPeerMemoryFeatures = reinterpret_cast<PFN_vkGetDeviceGroupPeerMemoryFeatures>(procAddr(device, "vkGetDeviceGroupPeerMemoryFeatures"));
  303. #endif
  304. #if (defined(VK_VERSION_1_1))
  305. fp_vkBindBufferMemory2 = reinterpret_cast<PFN_vkBindBufferMemory2>(procAddr(device, "vkBindBufferMemory2"));
  306. #endif
  307. #if (defined(VK_VERSION_1_1))
  308. fp_vkBindImageMemory2 = reinterpret_cast<PFN_vkBindImageMemory2>(procAddr(device, "vkBindImageMemory2"));
  309. #endif
  310. #if (defined(VK_VERSION_1_1))
  311. fp_vkCmdSetDeviceMask = reinterpret_cast<PFN_vkCmdSetDeviceMask>(procAddr(device, "vkCmdSetDeviceMask"));
  312. #endif
  313. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_surface))
  314. fp_vkGetDeviceGroupPresentCapabilitiesKHR = reinterpret_cast<PFN_vkGetDeviceGroupPresentCapabilitiesKHR>(procAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR"));
  315. #endif
  316. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_surface))
  317. fp_vkGetDeviceGroupSurfacePresentModesKHR = reinterpret_cast<PFN_vkGetDeviceGroupSurfacePresentModesKHR>(procAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR"));
  318. #endif
  319. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain))
  320. fp_vkAcquireNextImage2KHR = reinterpret_cast<PFN_vkAcquireNextImage2KHR>(procAddr(device, "vkAcquireNextImage2KHR"));
  321. #endif
  322. #if (defined(VK_VERSION_1_1))
  323. fp_vkCmdDispatchBase = reinterpret_cast<PFN_vkCmdDispatchBase>(procAddr(device, "vkCmdDispatchBase"));
  324. #endif
  325. #if (defined(VK_VERSION_1_1))
  326. fp_vkCreateDescriptorUpdateTemplate = reinterpret_cast<PFN_vkCreateDescriptorUpdateTemplate>(procAddr(device, "vkCreateDescriptorUpdateTemplate"));
  327. #endif
  328. #if (defined(VK_VERSION_1_1))
  329. fp_vkDestroyDescriptorUpdateTemplate = reinterpret_cast<PFN_vkDestroyDescriptorUpdateTemplate>(procAddr(device, "vkDestroyDescriptorUpdateTemplate"));
  330. #endif
  331. #if (defined(VK_VERSION_1_1))
  332. fp_vkUpdateDescriptorSetWithTemplate = reinterpret_cast<PFN_vkUpdateDescriptorSetWithTemplate>(procAddr(device, "vkUpdateDescriptorSetWithTemplate"));
  333. #endif
  334. #if (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) || (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor))
  335. fp_vkCmdPushDescriptorSetWithTemplateKHR = reinterpret_cast<PFN_vkCmdPushDescriptorSetWithTemplateKHR>(procAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR"));
  336. #endif
  337. #if (defined(VK_EXT_hdr_metadata))
  338. fp_vkSetHdrMetadataEXT = reinterpret_cast<PFN_vkSetHdrMetadataEXT>(procAddr(device, "vkSetHdrMetadataEXT"));
  339. #endif
  340. #if (defined(VK_KHR_shared_presentable_image))
  341. fp_vkGetSwapchainStatusKHR = reinterpret_cast<PFN_vkGetSwapchainStatusKHR>(procAddr(device, "vkGetSwapchainStatusKHR"));
  342. #endif
  343. #if (defined(VK_GOOGLE_display_timing))
  344. fp_vkGetRefreshCycleDurationGOOGLE = reinterpret_cast<PFN_vkGetRefreshCycleDurationGOOGLE>(procAddr(device, "vkGetRefreshCycleDurationGOOGLE"));
  345. #endif
  346. #if (defined(VK_GOOGLE_display_timing))
  347. fp_vkGetPastPresentationTimingGOOGLE = reinterpret_cast<PFN_vkGetPastPresentationTimingGOOGLE>(procAddr(device, "vkGetPastPresentationTimingGOOGLE"));
  348. #endif
  349. #if (defined(VK_NV_clip_space_w_scaling))
  350. fp_vkCmdSetViewportWScalingNV = reinterpret_cast<PFN_vkCmdSetViewportWScalingNV>(procAddr(device, "vkCmdSetViewportWScalingNV"));
  351. #endif
  352. #if (defined(VK_EXT_discard_rectangles))
  353. fp_vkCmdSetDiscardRectangleEXT = reinterpret_cast<PFN_vkCmdSetDiscardRectangleEXT>(procAddr(device, "vkCmdSetDiscardRectangleEXT"));
  354. #endif
  355. #if (defined(VK_EXT_sample_locations))
  356. fp_vkCmdSetSampleLocationsEXT = reinterpret_cast<PFN_vkCmdSetSampleLocationsEXT>(procAddr(device, "vkCmdSetSampleLocationsEXT"));
  357. #endif
  358. #if (defined(VK_VERSION_1_1))
  359. fp_vkGetBufferMemoryRequirements2 = reinterpret_cast<PFN_vkGetBufferMemoryRequirements2>(procAddr(device, "vkGetBufferMemoryRequirements2"));
  360. #endif
  361. #if (defined(VK_VERSION_1_1))
  362. fp_vkGetImageMemoryRequirements2 = reinterpret_cast<PFN_vkGetImageMemoryRequirements2>(procAddr(device, "vkGetImageMemoryRequirements2"));
  363. #endif
  364. #if (defined(VK_VERSION_1_1))
  365. fp_vkGetImageSparseMemoryRequirements2 = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements2>(procAddr(device, "vkGetImageSparseMemoryRequirements2"));
  366. #endif
  367. #if (defined(VK_VERSION_1_3))
  368. fp_vkGetDeviceBufferMemoryRequirements = reinterpret_cast<PFN_vkGetDeviceBufferMemoryRequirements>(procAddr(device, "vkGetDeviceBufferMemoryRequirements"));
  369. #endif
  370. #if (defined(VK_VERSION_1_3))
  371. fp_vkGetDeviceImageMemoryRequirements = reinterpret_cast<PFN_vkGetDeviceImageMemoryRequirements>(procAddr(device, "vkGetDeviceImageMemoryRequirements"));
  372. #endif
  373. #if (defined(VK_VERSION_1_3))
  374. fp_vkGetDeviceImageSparseMemoryRequirements = reinterpret_cast<PFN_vkGetDeviceImageSparseMemoryRequirements>(procAddr(device, "vkGetDeviceImageSparseMemoryRequirements"));
  375. #endif
  376. #if (defined(VK_VERSION_1_1))
  377. fp_vkCreateSamplerYcbcrConversion = reinterpret_cast<PFN_vkCreateSamplerYcbcrConversion>(procAddr(device, "vkCreateSamplerYcbcrConversion"));
  378. #endif
  379. #if (defined(VK_VERSION_1_1))
  380. fp_vkDestroySamplerYcbcrConversion = reinterpret_cast<PFN_vkDestroySamplerYcbcrConversion>(procAddr(device, "vkDestroySamplerYcbcrConversion"));
  381. #endif
  382. #if (defined(VK_VERSION_1_1))
  383. fp_vkGetDeviceQueue2 = reinterpret_cast<PFN_vkGetDeviceQueue2>(procAddr(device, "vkGetDeviceQueue2"));
  384. #endif
  385. #if (defined(VK_EXT_validation_cache))
  386. fp_vkCreateValidationCacheEXT = reinterpret_cast<PFN_vkCreateValidationCacheEXT>(procAddr(device, "vkCreateValidationCacheEXT"));
  387. #endif
  388. #if (defined(VK_EXT_validation_cache))
  389. fp_vkDestroyValidationCacheEXT = reinterpret_cast<PFN_vkDestroyValidationCacheEXT>(procAddr(device, "vkDestroyValidationCacheEXT"));
  390. #endif
  391. #if (defined(VK_EXT_validation_cache))
  392. fp_vkGetValidationCacheDataEXT = reinterpret_cast<PFN_vkGetValidationCacheDataEXT>(procAddr(device, "vkGetValidationCacheDataEXT"));
  393. #endif
  394. #if (defined(VK_EXT_validation_cache))
  395. fp_vkMergeValidationCachesEXT = reinterpret_cast<PFN_vkMergeValidationCachesEXT>(procAddr(device, "vkMergeValidationCachesEXT"));
  396. #endif
  397. #if (defined(VK_VERSION_1_1))
  398. fp_vkGetDescriptorSetLayoutSupport = reinterpret_cast<PFN_vkGetDescriptorSetLayoutSupport>(procAddr(device, "vkGetDescriptorSetLayoutSupport"));
  399. #endif
  400. #if (defined(VK_ANDROID_native_buffer))
  401. fp_vkGetSwapchainGrallocUsageANDROID = reinterpret_cast<PFN_vkGetSwapchainGrallocUsageANDROID>(procAddr(device, "vkGetSwapchainGrallocUsageANDROID"));
  402. #endif
  403. #if (defined(VK_ANDROID_native_buffer))
  404. fp_vkGetSwapchainGrallocUsage2ANDROID = reinterpret_cast<PFN_vkGetSwapchainGrallocUsage2ANDROID>(procAddr(device, "vkGetSwapchainGrallocUsage2ANDROID"));
  405. #endif
  406. #if (defined(VK_ANDROID_native_buffer))
  407. fp_vkAcquireImageANDROID = reinterpret_cast<PFN_vkAcquireImageANDROID>(procAddr(device, "vkAcquireImageANDROID"));
  408. #endif
  409. #if (defined(VK_ANDROID_native_buffer))
  410. fp_vkQueueSignalReleaseImageANDROID = reinterpret_cast<PFN_vkQueueSignalReleaseImageANDROID>(procAddr(device, "vkQueueSignalReleaseImageANDROID"));
  411. #endif
  412. #if (defined(VK_AMD_shader_info))
  413. fp_vkGetShaderInfoAMD = reinterpret_cast<PFN_vkGetShaderInfoAMD>(procAddr(device, "vkGetShaderInfoAMD"));
  414. #endif
  415. #if (defined(VK_AMD_display_native_hdr))
  416. fp_vkSetLocalDimmingAMD = reinterpret_cast<PFN_vkSetLocalDimmingAMD>(procAddr(device, "vkSetLocalDimmingAMD"));
  417. #endif
  418. #if (defined(VK_EXT_calibrated_timestamps))
  419. fp_vkGetCalibratedTimestampsEXT = reinterpret_cast<PFN_vkGetCalibratedTimestampsEXT>(procAddr(device, "vkGetCalibratedTimestampsEXT"));
  420. #endif
  421. #if (defined(VK_EXT_debug_utils))
  422. fp_vkSetDebugUtilsObjectNameEXT = reinterpret_cast<PFN_vkSetDebugUtilsObjectNameEXT>(procAddr(device, "vkSetDebugUtilsObjectNameEXT"));
  423. #endif
  424. #if (defined(VK_EXT_debug_utils))
  425. fp_vkSetDebugUtilsObjectTagEXT = reinterpret_cast<PFN_vkSetDebugUtilsObjectTagEXT>(procAddr(device, "vkSetDebugUtilsObjectTagEXT"));
  426. #endif
  427. #if (defined(VK_EXT_debug_utils))
  428. fp_vkQueueBeginDebugUtilsLabelEXT = reinterpret_cast<PFN_vkQueueBeginDebugUtilsLabelEXT>(procAddr(device, "vkQueueBeginDebugUtilsLabelEXT"));
  429. #endif
  430. #if (defined(VK_EXT_debug_utils))
  431. fp_vkQueueEndDebugUtilsLabelEXT = reinterpret_cast<PFN_vkQueueEndDebugUtilsLabelEXT>(procAddr(device, "vkQueueEndDebugUtilsLabelEXT"));
  432. #endif
  433. #if (defined(VK_EXT_debug_utils))
  434. fp_vkQueueInsertDebugUtilsLabelEXT = reinterpret_cast<PFN_vkQueueInsertDebugUtilsLabelEXT>(procAddr(device, "vkQueueInsertDebugUtilsLabelEXT"));
  435. #endif
  436. #if (defined(VK_EXT_debug_utils))
  437. fp_vkCmdBeginDebugUtilsLabelEXT = reinterpret_cast<PFN_vkCmdBeginDebugUtilsLabelEXT>(procAddr(device, "vkCmdBeginDebugUtilsLabelEXT"));
  438. #endif
  439. #if (defined(VK_EXT_debug_utils))
  440. fp_vkCmdEndDebugUtilsLabelEXT = reinterpret_cast<PFN_vkCmdEndDebugUtilsLabelEXT>(procAddr(device, "vkCmdEndDebugUtilsLabelEXT"));
  441. #endif
  442. #if (defined(VK_EXT_debug_utils))
  443. fp_vkCmdInsertDebugUtilsLabelEXT = reinterpret_cast<PFN_vkCmdInsertDebugUtilsLabelEXT>(procAddr(device, "vkCmdInsertDebugUtilsLabelEXT"));
  444. #endif
  445. #if (defined(VK_EXT_external_memory_host))
  446. fp_vkGetMemoryHostPointerPropertiesEXT = reinterpret_cast<PFN_vkGetMemoryHostPointerPropertiesEXT>(procAddr(device, "vkGetMemoryHostPointerPropertiesEXT"));
  447. #endif
  448. #if (defined(VK_AMD_buffer_marker))
  449. fp_vkCmdWriteBufferMarkerAMD = reinterpret_cast<PFN_vkCmdWriteBufferMarkerAMD>(procAddr(device, "vkCmdWriteBufferMarkerAMD"));
  450. #endif
  451. #if (defined(VK_VERSION_1_2))
  452. fp_vkCreateRenderPass2 = reinterpret_cast<PFN_vkCreateRenderPass2>(procAddr(device, "vkCreateRenderPass2"));
  453. #endif
  454. #if (defined(VK_VERSION_1_2))
  455. fp_vkCmdBeginRenderPass2 = reinterpret_cast<PFN_vkCmdBeginRenderPass2>(procAddr(device, "vkCmdBeginRenderPass2"));
  456. #endif
  457. #if (defined(VK_VERSION_1_2))
  458. fp_vkCmdNextSubpass2 = reinterpret_cast<PFN_vkCmdNextSubpass2>(procAddr(device, "vkCmdNextSubpass2"));
  459. #endif
  460. #if (defined(VK_VERSION_1_2))
  461. fp_vkCmdEndRenderPass2 = reinterpret_cast<PFN_vkCmdEndRenderPass2>(procAddr(device, "vkCmdEndRenderPass2"));
  462. #endif
  463. #if (defined(VK_VERSION_1_2))
  464. fp_vkGetSemaphoreCounterValue = reinterpret_cast<PFN_vkGetSemaphoreCounterValue>(procAddr(device, "vkGetSemaphoreCounterValue"));
  465. #endif
  466. #if (defined(VK_VERSION_1_2))
  467. fp_vkWaitSemaphores = reinterpret_cast<PFN_vkWaitSemaphores>(procAddr(device, "vkWaitSemaphores"));
  468. #endif
  469. #if (defined(VK_VERSION_1_2))
  470. fp_vkSignalSemaphore = reinterpret_cast<PFN_vkSignalSemaphore>(procAddr(device, "vkSignalSemaphore"));
  471. #endif
  472. #if (defined(VK_ANDROID_external_memory_android_hardware_buffer))
  473. fp_vkGetAndroidHardwareBufferPropertiesANDROID = reinterpret_cast<PFN_vkGetAndroidHardwareBufferPropertiesANDROID>(procAddr(device, "vkGetAndroidHardwareBufferPropertiesANDROID"));
  474. #endif
  475. #if (defined(VK_ANDROID_external_memory_android_hardware_buffer))
  476. fp_vkGetMemoryAndroidHardwareBufferANDROID = reinterpret_cast<PFN_vkGetMemoryAndroidHardwareBufferANDROID>(procAddr(device, "vkGetMemoryAndroidHardwareBufferANDROID"));
  477. #endif
  478. #if (defined(VK_VERSION_1_2))
  479. fp_vkCmdDrawIndirectCount = reinterpret_cast<PFN_vkCmdDrawIndirectCount>(procAddr(device, "vkCmdDrawIndirectCount"));
  480. #endif
  481. #if (defined(VK_VERSION_1_2))
  482. fp_vkCmdDrawIndexedIndirectCount = reinterpret_cast<PFN_vkCmdDrawIndexedIndirectCount>(procAddr(device, "vkCmdDrawIndexedIndirectCount"));
  483. #endif
  484. #if (defined(VK_NV_device_diagnostic_checkpoints))
  485. fp_vkCmdSetCheckpointNV = reinterpret_cast<PFN_vkCmdSetCheckpointNV>(procAddr(device, "vkCmdSetCheckpointNV"));
  486. #endif
  487. #if (defined(VK_NV_device_diagnostic_checkpoints))
  488. fp_vkGetQueueCheckpointDataNV = reinterpret_cast<PFN_vkGetQueueCheckpointDataNV>(procAddr(device, "vkGetQueueCheckpointDataNV"));
  489. #endif
  490. #if (defined(VK_EXT_transform_feedback))
  491. fp_vkCmdBindTransformFeedbackBuffersEXT = reinterpret_cast<PFN_vkCmdBindTransformFeedbackBuffersEXT>(procAddr(device, "vkCmdBindTransformFeedbackBuffersEXT"));
  492. #endif
  493. #if (defined(VK_EXT_transform_feedback))
  494. fp_vkCmdBeginTransformFeedbackEXT = reinterpret_cast<PFN_vkCmdBeginTransformFeedbackEXT>(procAddr(device, "vkCmdBeginTransformFeedbackEXT"));
  495. #endif
  496. #if (defined(VK_EXT_transform_feedback))
  497. fp_vkCmdEndTransformFeedbackEXT = reinterpret_cast<PFN_vkCmdEndTransformFeedbackEXT>(procAddr(device, "vkCmdEndTransformFeedbackEXT"));
  498. #endif
  499. #if (defined(VK_EXT_transform_feedback))
  500. fp_vkCmdBeginQueryIndexedEXT = reinterpret_cast<PFN_vkCmdBeginQueryIndexedEXT>(procAddr(device, "vkCmdBeginQueryIndexedEXT"));
  501. #endif
  502. #if (defined(VK_EXT_transform_feedback))
  503. fp_vkCmdEndQueryIndexedEXT = reinterpret_cast<PFN_vkCmdEndQueryIndexedEXT>(procAddr(device, "vkCmdEndQueryIndexedEXT"));
  504. #endif
  505. #if (defined(VK_EXT_transform_feedback))
  506. fp_vkCmdDrawIndirectByteCountEXT = reinterpret_cast<PFN_vkCmdDrawIndirectByteCountEXT>(procAddr(device, "vkCmdDrawIndirectByteCountEXT"));
  507. #endif
  508. #if (defined(VK_NV_scissor_exclusive))
  509. fp_vkCmdSetExclusiveScissorNV = reinterpret_cast<PFN_vkCmdSetExclusiveScissorNV>(procAddr(device, "vkCmdSetExclusiveScissorNV"));
  510. #endif
  511. #if (defined(VK_NV_shading_rate_image))
  512. fp_vkCmdBindShadingRateImageNV = reinterpret_cast<PFN_vkCmdBindShadingRateImageNV>(procAddr(device, "vkCmdBindShadingRateImageNV"));
  513. #endif
  514. #if (defined(VK_NV_shading_rate_image))
  515. fp_vkCmdSetViewportShadingRatePaletteNV = reinterpret_cast<PFN_vkCmdSetViewportShadingRatePaletteNV>(procAddr(device, "vkCmdSetViewportShadingRatePaletteNV"));
  516. #endif
  517. #if (defined(VK_NV_shading_rate_image))
  518. fp_vkCmdSetCoarseSampleOrderNV = reinterpret_cast<PFN_vkCmdSetCoarseSampleOrderNV>(procAddr(device, "vkCmdSetCoarseSampleOrderNV"));
  519. #endif
  520. #if (defined(VK_NV_mesh_shader))
  521. fp_vkCmdDrawMeshTasksNV = reinterpret_cast<PFN_vkCmdDrawMeshTasksNV>(procAddr(device, "vkCmdDrawMeshTasksNV"));
  522. #endif
  523. #if (defined(VK_NV_mesh_shader))
  524. fp_vkCmdDrawMeshTasksIndirectNV = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectNV>(procAddr(device, "vkCmdDrawMeshTasksIndirectNV"));
  525. #endif
  526. #if (defined(VK_NV_mesh_shader))
  527. fp_vkCmdDrawMeshTasksIndirectCountNV = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectCountNV>(procAddr(device, "vkCmdDrawMeshTasksIndirectCountNV"));
  528. #endif
  529. #if (defined(VK_EXT_mesh_shader))
  530. fp_vkCmdDrawMeshTasksEXT = reinterpret_cast<PFN_vkCmdDrawMeshTasksEXT>(procAddr(device, "vkCmdDrawMeshTasksEXT"));
  531. #endif
  532. #if (defined(VK_EXT_mesh_shader))
  533. fp_vkCmdDrawMeshTasksIndirectEXT = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectEXT>(procAddr(device, "vkCmdDrawMeshTasksIndirectEXT"));
  534. #endif
  535. #if (defined(VK_EXT_mesh_shader))
  536. fp_vkCmdDrawMeshTasksIndirectCountEXT = reinterpret_cast<PFN_vkCmdDrawMeshTasksIndirectCountEXT>(procAddr(device, "vkCmdDrawMeshTasksIndirectCountEXT"));
  537. #endif
  538. #if (defined(VK_NV_ray_tracing))
  539. fp_vkCompileDeferredNV = reinterpret_cast<PFN_vkCompileDeferredNV>(procAddr(device, "vkCompileDeferredNV"));
  540. #endif
  541. #if (defined(VK_NV_ray_tracing))
  542. fp_vkCreateAccelerationStructureNV = reinterpret_cast<PFN_vkCreateAccelerationStructureNV>(procAddr(device, "vkCreateAccelerationStructureNV"));
  543. #endif
  544. #if (defined(VK_HUAWEI_invocation_mask))
  545. fp_vkCmdBindInvocationMaskHUAWEI = reinterpret_cast<PFN_vkCmdBindInvocationMaskHUAWEI>(procAddr(device, "vkCmdBindInvocationMaskHUAWEI"));
  546. #endif
  547. #if (defined(VK_KHR_acceleration_structure))
  548. fp_vkDestroyAccelerationStructureKHR = reinterpret_cast<PFN_vkDestroyAccelerationStructureKHR>(procAddr(device, "vkDestroyAccelerationStructureKHR"));
  549. #endif
  550. #if (defined(VK_NV_ray_tracing))
  551. fp_vkDestroyAccelerationStructureNV = reinterpret_cast<PFN_vkDestroyAccelerationStructureNV>(procAddr(device, "vkDestroyAccelerationStructureNV"));
  552. #endif
  553. #if (defined(VK_NV_ray_tracing))
  554. fp_vkGetAccelerationStructureMemoryRequirementsNV = reinterpret_cast<PFN_vkGetAccelerationStructureMemoryRequirementsNV>(procAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV"));
  555. #endif
  556. #if (defined(VK_NV_ray_tracing))
  557. fp_vkBindAccelerationStructureMemoryNV = reinterpret_cast<PFN_vkBindAccelerationStructureMemoryNV>(procAddr(device, "vkBindAccelerationStructureMemoryNV"));
  558. #endif
  559. #if (defined(VK_NV_ray_tracing))
  560. fp_vkCmdCopyAccelerationStructureNV = reinterpret_cast<PFN_vkCmdCopyAccelerationStructureNV>(procAddr(device, "vkCmdCopyAccelerationStructureNV"));
  561. #endif
  562. #if (defined(VK_KHR_acceleration_structure))
  563. fp_vkCmdCopyAccelerationStructureKHR = reinterpret_cast<PFN_vkCmdCopyAccelerationStructureKHR>(procAddr(device, "vkCmdCopyAccelerationStructureKHR"));
  564. #endif
  565. #if (defined(VK_KHR_acceleration_structure))
  566. fp_vkCopyAccelerationStructureKHR = reinterpret_cast<PFN_vkCopyAccelerationStructureKHR>(procAddr(device, "vkCopyAccelerationStructureKHR"));
  567. #endif
  568. #if (defined(VK_KHR_acceleration_structure))
  569. fp_vkCmdCopyAccelerationStructureToMemoryKHR = reinterpret_cast<PFN_vkCmdCopyAccelerationStructureToMemoryKHR>(procAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR"));
  570. #endif
  571. #if (defined(VK_KHR_acceleration_structure))
  572. fp_vkCopyAccelerationStructureToMemoryKHR = reinterpret_cast<PFN_vkCopyAccelerationStructureToMemoryKHR>(procAddr(device, "vkCopyAccelerationStructureToMemoryKHR"));
  573. #endif
  574. #if (defined(VK_KHR_acceleration_structure))
  575. fp_vkCmdCopyMemoryToAccelerationStructureKHR = reinterpret_cast<PFN_vkCmdCopyMemoryToAccelerationStructureKHR>(procAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR"));
  576. #endif
  577. #if (defined(VK_KHR_acceleration_structure))
  578. fp_vkCopyMemoryToAccelerationStructureKHR = reinterpret_cast<PFN_vkCopyMemoryToAccelerationStructureKHR>(procAddr(device, "vkCopyMemoryToAccelerationStructureKHR"));
  579. #endif
  580. #if (defined(VK_KHR_acceleration_structure))
  581. fp_vkCmdWriteAccelerationStructuresPropertiesKHR = reinterpret_cast<PFN_vkCmdWriteAccelerationStructuresPropertiesKHR>(procAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR"));
  582. #endif
  583. #if (defined(VK_NV_ray_tracing))
  584. fp_vkCmdWriteAccelerationStructuresPropertiesNV = reinterpret_cast<PFN_vkCmdWriteAccelerationStructuresPropertiesNV>(procAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV"));
  585. #endif
  586. #if (defined(VK_NV_ray_tracing))
  587. fp_vkCmdBuildAccelerationStructureNV = reinterpret_cast<PFN_vkCmdBuildAccelerationStructureNV>(procAddr(device, "vkCmdBuildAccelerationStructureNV"));
  588. #endif
  589. #if (defined(VK_KHR_acceleration_structure))
  590. fp_vkWriteAccelerationStructuresPropertiesKHR = reinterpret_cast<PFN_vkWriteAccelerationStructuresPropertiesKHR>(procAddr(device, "vkWriteAccelerationStructuresPropertiesKHR"));
  591. #endif
  592. #if (defined(VK_KHR_ray_tracing_pipeline))
  593. fp_vkCmdTraceRaysKHR = reinterpret_cast<PFN_vkCmdTraceRaysKHR>(procAddr(device, "vkCmdTraceRaysKHR"));
  594. #endif
  595. #if (defined(VK_NV_ray_tracing))
  596. fp_vkCmdTraceRaysNV = reinterpret_cast<PFN_vkCmdTraceRaysNV>(procAddr(device, "vkCmdTraceRaysNV"));
  597. #endif
  598. #if (defined(VK_KHR_ray_tracing_pipeline))
  599. fp_vkGetRayTracingShaderGroupHandlesKHR = reinterpret_cast<PFN_vkGetRayTracingShaderGroupHandlesKHR>(procAddr(device, "vkGetRayTracingShaderGroupHandlesKHR"));
  600. #endif
  601. #if (defined(VK_KHR_ray_tracing_pipeline))
  602. fp_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = reinterpret_cast<PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR>(procAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"));
  603. #endif
  604. #if (defined(VK_NV_ray_tracing))
  605. fp_vkGetAccelerationStructureHandleNV = reinterpret_cast<PFN_vkGetAccelerationStructureHandleNV>(procAddr(device, "vkGetAccelerationStructureHandleNV"));
  606. #endif
  607. #if (defined(VK_NV_ray_tracing))
  608. fp_vkCreateRayTracingPipelinesNV = reinterpret_cast<PFN_vkCreateRayTracingPipelinesNV>(procAddr(device, "vkCreateRayTracingPipelinesNV"));
  609. #endif
  610. #if (defined(VK_KHR_ray_tracing_pipeline))
  611. fp_vkCreateRayTracingPipelinesKHR = reinterpret_cast<PFN_vkCreateRayTracingPipelinesKHR>(procAddr(device, "vkCreateRayTracingPipelinesKHR"));
  612. #endif
  613. #if (defined(VK_KHR_ray_tracing_pipeline))
  614. fp_vkCmdTraceRaysIndirectKHR = reinterpret_cast<PFN_vkCmdTraceRaysIndirectKHR>(procAddr(device, "vkCmdTraceRaysIndirectKHR"));
  615. #endif
  616. #if (defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline))
  617. fp_vkCmdTraceRaysIndirect2KHR = reinterpret_cast<PFN_vkCmdTraceRaysIndirect2KHR>(procAddr(device, "vkCmdTraceRaysIndirect2KHR"));
  618. #endif
  619. #if (defined(VK_KHR_acceleration_structure))
  620. fp_vkGetDeviceAccelerationStructureCompatibilityKHR = reinterpret_cast<PFN_vkGetDeviceAccelerationStructureCompatibilityKHR>(procAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR"));
  621. #endif
  622. #if (defined(VK_KHR_ray_tracing_pipeline))
  623. fp_vkGetRayTracingShaderGroupStackSizeKHR = reinterpret_cast<PFN_vkGetRayTracingShaderGroupStackSizeKHR>(procAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR"));
  624. #endif
  625. #if (defined(VK_KHR_ray_tracing_pipeline))
  626. fp_vkCmdSetRayTracingPipelineStackSizeKHR = reinterpret_cast<PFN_vkCmdSetRayTracingPipelineStackSizeKHR>(procAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR"));
  627. #endif
  628. #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
  629. fp_vkGetDeviceGroupSurfacePresentModes2EXT = reinterpret_cast<PFN_vkGetDeviceGroupSurfacePresentModes2EXT>(procAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT"));
  630. #endif
  631. #if (defined(VK_EXT_full_screen_exclusive))
  632. fp_vkAcquireFullScreenExclusiveModeEXT = reinterpret_cast<PFN_vkAcquireFullScreenExclusiveModeEXT>(procAddr(device, "vkAcquireFullScreenExclusiveModeEXT"));
  633. #endif
  634. #if (defined(VK_EXT_full_screen_exclusive))
  635. fp_vkReleaseFullScreenExclusiveModeEXT = reinterpret_cast<PFN_vkReleaseFullScreenExclusiveModeEXT>(procAddr(device, "vkReleaseFullScreenExclusiveModeEXT"));
  636. #endif
  637. #if (defined(VK_KHR_performance_query))
  638. fp_vkAcquireProfilingLockKHR = reinterpret_cast<PFN_vkAcquireProfilingLockKHR>(procAddr(device, "vkAcquireProfilingLockKHR"));
  639. #endif
  640. #if (defined(VK_KHR_performance_query))
  641. fp_vkReleaseProfilingLockKHR = reinterpret_cast<PFN_vkReleaseProfilingLockKHR>(procAddr(device, "vkReleaseProfilingLockKHR"));
  642. #endif
  643. #if (defined(VK_EXT_image_drm_format_modifier))
  644. fp_vkGetImageDrmFormatModifierPropertiesEXT = reinterpret_cast<PFN_vkGetImageDrmFormatModifierPropertiesEXT>(procAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT"));
  645. #endif
  646. #if (defined(VK_VERSION_1_2))
  647. fp_vkGetBufferOpaqueCaptureAddress = reinterpret_cast<PFN_vkGetBufferOpaqueCaptureAddress>(procAddr(device, "vkGetBufferOpaqueCaptureAddress"));
  648. #endif
  649. #if (defined(VK_VERSION_1_2))
  650. fp_vkGetBufferDeviceAddress = reinterpret_cast<PFN_vkGetBufferDeviceAddress>(procAddr(device, "vkGetBufferDeviceAddress"));
  651. #endif
  652. #if (defined(VK_INTEL_performance_query))
  653. fp_vkInitializePerformanceApiINTEL = reinterpret_cast<PFN_vkInitializePerformanceApiINTEL>(procAddr(device, "vkInitializePerformanceApiINTEL"));
  654. #endif
  655. #if (defined(VK_INTEL_performance_query))
  656. fp_vkUninitializePerformanceApiINTEL = reinterpret_cast<PFN_vkUninitializePerformanceApiINTEL>(procAddr(device, "vkUninitializePerformanceApiINTEL"));
  657. #endif
  658. #if (defined(VK_INTEL_performance_query))
  659. fp_vkCmdSetPerformanceMarkerINTEL = reinterpret_cast<PFN_vkCmdSetPerformanceMarkerINTEL>(procAddr(device, "vkCmdSetPerformanceMarkerINTEL"));
  660. #endif
  661. #if (defined(VK_INTEL_performance_query))
  662. fp_vkCmdSetPerformanceStreamMarkerINTEL = reinterpret_cast<PFN_vkCmdSetPerformanceStreamMarkerINTEL>(procAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL"));
  663. #endif
  664. #if (defined(VK_INTEL_performance_query))
  665. fp_vkCmdSetPerformanceOverrideINTEL = reinterpret_cast<PFN_vkCmdSetPerformanceOverrideINTEL>(procAddr(device, "vkCmdSetPerformanceOverrideINTEL"));
  666. #endif
  667. #if (defined(VK_INTEL_performance_query))
  668. fp_vkAcquirePerformanceConfigurationINTEL = reinterpret_cast<PFN_vkAcquirePerformanceConfigurationINTEL>(procAddr(device, "vkAcquirePerformanceConfigurationINTEL"));
  669. #endif
  670. #if (defined(VK_INTEL_performance_query))
  671. fp_vkReleasePerformanceConfigurationINTEL = reinterpret_cast<PFN_vkReleasePerformanceConfigurationINTEL>(procAddr(device, "vkReleasePerformanceConfigurationINTEL"));
  672. #endif
  673. #if (defined(VK_INTEL_performance_query))
  674. fp_vkQueueSetPerformanceConfigurationINTEL = reinterpret_cast<PFN_vkQueueSetPerformanceConfigurationINTEL>(procAddr(device, "vkQueueSetPerformanceConfigurationINTEL"));
  675. #endif
  676. #if (defined(VK_INTEL_performance_query))
  677. fp_vkGetPerformanceParameterINTEL = reinterpret_cast<PFN_vkGetPerformanceParameterINTEL>(procAddr(device, "vkGetPerformanceParameterINTEL"));
  678. #endif
  679. #if (defined(VK_VERSION_1_2))
  680. fp_vkGetDeviceMemoryOpaqueCaptureAddress = reinterpret_cast<PFN_vkGetDeviceMemoryOpaqueCaptureAddress>(procAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress"));
  681. #endif
  682. #if (defined(VK_KHR_pipeline_executable_properties))
  683. fp_vkGetPipelineExecutablePropertiesKHR = reinterpret_cast<PFN_vkGetPipelineExecutablePropertiesKHR>(procAddr(device, "vkGetPipelineExecutablePropertiesKHR"));
  684. #endif
  685. #if (defined(VK_KHR_pipeline_executable_properties))
  686. fp_vkGetPipelineExecutableStatisticsKHR = reinterpret_cast<PFN_vkGetPipelineExecutableStatisticsKHR>(procAddr(device, "vkGetPipelineExecutableStatisticsKHR"));
  687. #endif
  688. #if (defined(VK_KHR_pipeline_executable_properties))
  689. fp_vkGetPipelineExecutableInternalRepresentationsKHR = reinterpret_cast<PFN_vkGetPipelineExecutableInternalRepresentationsKHR>(procAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR"));
  690. #endif
  691. #if (defined(VK_EXT_line_rasterization))
  692. fp_vkCmdSetLineStippleEXT = reinterpret_cast<PFN_vkCmdSetLineStippleEXT>(procAddr(device, "vkCmdSetLineStippleEXT"));
  693. #endif
  694. #if (defined(VK_KHR_acceleration_structure))
  695. fp_vkCreateAccelerationStructureKHR = reinterpret_cast<PFN_vkCreateAccelerationStructureKHR>(procAddr(device, "vkCreateAccelerationStructureKHR"));
  696. #endif
  697. #if (defined(VK_KHR_acceleration_structure))
  698. fp_vkCmdBuildAccelerationStructuresKHR = reinterpret_cast<PFN_vkCmdBuildAccelerationStructuresKHR>(procAddr(device, "vkCmdBuildAccelerationStructuresKHR"));
  699. #endif
  700. #if (defined(VK_KHR_acceleration_structure))
  701. fp_vkCmdBuildAccelerationStructuresIndirectKHR = reinterpret_cast<PFN_vkCmdBuildAccelerationStructuresIndirectKHR>(procAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR"));
  702. #endif
  703. #if (defined(VK_KHR_acceleration_structure))
  704. fp_vkBuildAccelerationStructuresKHR = reinterpret_cast<PFN_vkBuildAccelerationStructuresKHR>(procAddr(device, "vkBuildAccelerationStructuresKHR"));
  705. #endif
  706. #if (defined(VK_KHR_acceleration_structure))
  707. fp_vkGetAccelerationStructureDeviceAddressKHR = reinterpret_cast<PFN_vkGetAccelerationStructureDeviceAddressKHR>(procAddr(device, "vkGetAccelerationStructureDeviceAddressKHR"));
  708. #endif
  709. #if (defined(VK_KHR_deferred_host_operations))
  710. fp_vkCreateDeferredOperationKHR = reinterpret_cast<PFN_vkCreateDeferredOperationKHR>(procAddr(device, "vkCreateDeferredOperationKHR"));
  711. #endif
  712. #if (defined(VK_KHR_deferred_host_operations))
  713. fp_vkDestroyDeferredOperationKHR = reinterpret_cast<PFN_vkDestroyDeferredOperationKHR>(procAddr(device, "vkDestroyDeferredOperationKHR"));
  714. #endif
  715. #if (defined(VK_KHR_deferred_host_operations))
  716. fp_vkGetDeferredOperationMaxConcurrencyKHR = reinterpret_cast<PFN_vkGetDeferredOperationMaxConcurrencyKHR>(procAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR"));
  717. #endif
  718. #if (defined(VK_KHR_deferred_host_operations))
  719. fp_vkGetDeferredOperationResultKHR = reinterpret_cast<PFN_vkGetDeferredOperationResultKHR>(procAddr(device, "vkGetDeferredOperationResultKHR"));
  720. #endif
  721. #if (defined(VK_KHR_deferred_host_operations))
  722. fp_vkDeferredOperationJoinKHR = reinterpret_cast<PFN_vkDeferredOperationJoinKHR>(procAddr(device, "vkDeferredOperationJoinKHR"));
  723. #endif
  724. #if (defined(VK_VERSION_1_3))
  725. fp_vkCmdSetCullMode = reinterpret_cast<PFN_vkCmdSetCullMode>(procAddr(device, "vkCmdSetCullMode"));
  726. #endif
  727. #if (defined(VK_VERSION_1_3))
  728. fp_vkCmdSetFrontFace = reinterpret_cast<PFN_vkCmdSetFrontFace>(procAddr(device, "vkCmdSetFrontFace"));
  729. #endif
  730. #if (defined(VK_VERSION_1_3))
  731. fp_vkCmdSetPrimitiveTopology = reinterpret_cast<PFN_vkCmdSetPrimitiveTopology>(procAddr(device, "vkCmdSetPrimitiveTopology"));
  732. #endif
  733. #if (defined(VK_VERSION_1_3))
  734. fp_vkCmdSetViewportWithCount = reinterpret_cast<PFN_vkCmdSetViewportWithCount>(procAddr(device, "vkCmdSetViewportWithCount"));
  735. #endif
  736. #if (defined(VK_VERSION_1_3))
  737. fp_vkCmdSetScissorWithCount = reinterpret_cast<PFN_vkCmdSetScissorWithCount>(procAddr(device, "vkCmdSetScissorWithCount"));
  738. #endif
  739. #if (defined(VK_VERSION_1_3))
  740. fp_vkCmdBindVertexBuffers2 = reinterpret_cast<PFN_vkCmdBindVertexBuffers2>(procAddr(device, "vkCmdBindVertexBuffers2"));
  741. #endif
  742. #if (defined(VK_VERSION_1_3))
  743. fp_vkCmdSetDepthTestEnable = reinterpret_cast<PFN_vkCmdSetDepthTestEnable>(procAddr(device, "vkCmdSetDepthTestEnable"));
  744. #endif
  745. #if (defined(VK_VERSION_1_3))
  746. fp_vkCmdSetDepthWriteEnable = reinterpret_cast<PFN_vkCmdSetDepthWriteEnable>(procAddr(device, "vkCmdSetDepthWriteEnable"));
  747. #endif
  748. #if (defined(VK_VERSION_1_3))
  749. fp_vkCmdSetDepthCompareOp = reinterpret_cast<PFN_vkCmdSetDepthCompareOp>(procAddr(device, "vkCmdSetDepthCompareOp"));
  750. #endif
  751. #if (defined(VK_VERSION_1_3))
  752. fp_vkCmdSetDepthBoundsTestEnable = reinterpret_cast<PFN_vkCmdSetDepthBoundsTestEnable>(procAddr(device, "vkCmdSetDepthBoundsTestEnable"));
  753. #endif
  754. #if (defined(VK_VERSION_1_3))
  755. fp_vkCmdSetStencilTestEnable = reinterpret_cast<PFN_vkCmdSetStencilTestEnable>(procAddr(device, "vkCmdSetStencilTestEnable"));
  756. #endif
  757. #if (defined(VK_VERSION_1_3))
  758. fp_vkCmdSetStencilOp = reinterpret_cast<PFN_vkCmdSetStencilOp>(procAddr(device, "vkCmdSetStencilOp"));
  759. #endif
  760. #if (defined(VK_EXT_extended_dynamic_state2))
  761. fp_vkCmdSetPatchControlPointsEXT = reinterpret_cast<PFN_vkCmdSetPatchControlPointsEXT>(procAddr(device, "vkCmdSetPatchControlPointsEXT"));
  762. #endif
  763. #if (defined(VK_VERSION_1_3))
  764. fp_vkCmdSetRasterizerDiscardEnable = reinterpret_cast<PFN_vkCmdSetRasterizerDiscardEnable>(procAddr(device, "vkCmdSetRasterizerDiscardEnable"));
  765. #endif
  766. #if (defined(VK_VERSION_1_3))
  767. fp_vkCmdSetDepthBiasEnable = reinterpret_cast<PFN_vkCmdSetDepthBiasEnable>(procAddr(device, "vkCmdSetDepthBiasEnable"));
  768. #endif
  769. #if (defined(VK_EXT_extended_dynamic_state2))
  770. fp_vkCmdSetLogicOpEXT = reinterpret_cast<PFN_vkCmdSetLogicOpEXT>(procAddr(device, "vkCmdSetLogicOpEXT"));
  771. #endif
  772. #if (defined(VK_VERSION_1_3))
  773. fp_vkCmdSetPrimitiveRestartEnable = reinterpret_cast<PFN_vkCmdSetPrimitiveRestartEnable>(procAddr(device, "vkCmdSetPrimitiveRestartEnable"));
  774. #endif
  775. #if (defined(VK_EXT_extended_dynamic_state3))
  776. fp_vkCmdSetTessellationDomainOriginEXT = reinterpret_cast<PFN_vkCmdSetTessellationDomainOriginEXT>(procAddr(device, "vkCmdSetTessellationDomainOriginEXT"));
  777. #endif
  778. #if (defined(VK_EXT_extended_dynamic_state3))
  779. fp_vkCmdSetDepthClampEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthClampEnableEXT>(procAddr(device, "vkCmdSetDepthClampEnableEXT"));
  780. #endif
  781. #if (defined(VK_EXT_extended_dynamic_state3))
  782. fp_vkCmdSetPolygonModeEXT = reinterpret_cast<PFN_vkCmdSetPolygonModeEXT>(procAddr(device, "vkCmdSetPolygonModeEXT"));
  783. #endif
  784. #if (defined(VK_EXT_extended_dynamic_state3))
  785. fp_vkCmdSetRasterizationSamplesEXT = reinterpret_cast<PFN_vkCmdSetRasterizationSamplesEXT>(procAddr(device, "vkCmdSetRasterizationSamplesEXT"));
  786. #endif
  787. #if (defined(VK_EXT_extended_dynamic_state3))
  788. fp_vkCmdSetSampleMaskEXT = reinterpret_cast<PFN_vkCmdSetSampleMaskEXT>(procAddr(device, "vkCmdSetSampleMaskEXT"));
  789. #endif
  790. #if (defined(VK_EXT_extended_dynamic_state3))
  791. fp_vkCmdSetAlphaToCoverageEnableEXT = reinterpret_cast<PFN_vkCmdSetAlphaToCoverageEnableEXT>(procAddr(device, "vkCmdSetAlphaToCoverageEnableEXT"));
  792. #endif
  793. #if (defined(VK_EXT_extended_dynamic_state3))
  794. fp_vkCmdSetAlphaToOneEnableEXT = reinterpret_cast<PFN_vkCmdSetAlphaToOneEnableEXT>(procAddr(device, "vkCmdSetAlphaToOneEnableEXT"));
  795. #endif
  796. #if (defined(VK_EXT_extended_dynamic_state3))
  797. fp_vkCmdSetLogicOpEnableEXT = reinterpret_cast<PFN_vkCmdSetLogicOpEnableEXT>(procAddr(device, "vkCmdSetLogicOpEnableEXT"));
  798. #endif
  799. #if (defined(VK_EXT_extended_dynamic_state3))
  800. fp_vkCmdSetColorBlendEnableEXT = reinterpret_cast<PFN_vkCmdSetColorBlendEnableEXT>(procAddr(device, "vkCmdSetColorBlendEnableEXT"));
  801. #endif
  802. #if (defined(VK_EXT_extended_dynamic_state3))
  803. fp_vkCmdSetColorBlendEquationEXT = reinterpret_cast<PFN_vkCmdSetColorBlendEquationEXT>(procAddr(device, "vkCmdSetColorBlendEquationEXT"));
  804. #endif
  805. #if (defined(VK_EXT_extended_dynamic_state3))
  806. fp_vkCmdSetColorWriteMaskEXT = reinterpret_cast<PFN_vkCmdSetColorWriteMaskEXT>(procAddr(device, "vkCmdSetColorWriteMaskEXT"));
  807. #endif
  808. #if (defined(VK_EXT_extended_dynamic_state3))
  809. fp_vkCmdSetRasterizationStreamEXT = reinterpret_cast<PFN_vkCmdSetRasterizationStreamEXT>(procAddr(device, "vkCmdSetRasterizationStreamEXT"));
  810. #endif
  811. #if (defined(VK_EXT_extended_dynamic_state3))
  812. fp_vkCmdSetConservativeRasterizationModeEXT = reinterpret_cast<PFN_vkCmdSetConservativeRasterizationModeEXT>(procAddr(device, "vkCmdSetConservativeRasterizationModeEXT"));
  813. #endif
  814. #if (defined(VK_EXT_extended_dynamic_state3))
  815. fp_vkCmdSetExtraPrimitiveOverestimationSizeEXT = reinterpret_cast<PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT>(procAddr(device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT"));
  816. #endif
  817. #if (defined(VK_EXT_extended_dynamic_state3))
  818. fp_vkCmdSetDepthClipEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthClipEnableEXT>(procAddr(device, "vkCmdSetDepthClipEnableEXT"));
  819. #endif
  820. #if (defined(VK_EXT_extended_dynamic_state3))
  821. fp_vkCmdSetSampleLocationsEnableEXT = reinterpret_cast<PFN_vkCmdSetSampleLocationsEnableEXT>(procAddr(device, "vkCmdSetSampleLocationsEnableEXT"));
  822. #endif
  823. #if (defined(VK_EXT_extended_dynamic_state3))
  824. fp_vkCmdSetColorBlendAdvancedEXT = reinterpret_cast<PFN_vkCmdSetColorBlendAdvancedEXT>(procAddr(device, "vkCmdSetColorBlendAdvancedEXT"));
  825. #endif
  826. #if (defined(VK_EXT_extended_dynamic_state3))
  827. fp_vkCmdSetProvokingVertexModeEXT = reinterpret_cast<PFN_vkCmdSetProvokingVertexModeEXT>(procAddr(device, "vkCmdSetProvokingVertexModeEXT"));
  828. #endif
  829. #if (defined(VK_EXT_extended_dynamic_state3))
  830. fp_vkCmdSetLineRasterizationModeEXT = reinterpret_cast<PFN_vkCmdSetLineRasterizationModeEXT>(procAddr(device, "vkCmdSetLineRasterizationModeEXT"));
  831. #endif
  832. #if (defined(VK_EXT_extended_dynamic_state3))
  833. fp_vkCmdSetLineStippleEnableEXT = reinterpret_cast<PFN_vkCmdSetLineStippleEnableEXT>(procAddr(device, "vkCmdSetLineStippleEnableEXT"));
  834. #endif
  835. #if (defined(VK_EXT_extended_dynamic_state3))
  836. fp_vkCmdSetDepthClipNegativeOneToOneEXT = reinterpret_cast<PFN_vkCmdSetDepthClipNegativeOneToOneEXT>(procAddr(device, "vkCmdSetDepthClipNegativeOneToOneEXT"));
  837. #endif
  838. #if (defined(VK_EXT_extended_dynamic_state3))
  839. fp_vkCmdSetViewportWScalingEnableNV = reinterpret_cast<PFN_vkCmdSetViewportWScalingEnableNV>(procAddr(device, "vkCmdSetViewportWScalingEnableNV"));
  840. #endif
  841. #if (defined(VK_EXT_extended_dynamic_state3))
  842. fp_vkCmdSetViewportSwizzleNV = reinterpret_cast<PFN_vkCmdSetViewportSwizzleNV>(procAddr(device, "vkCmdSetViewportSwizzleNV"));
  843. #endif
  844. #if (defined(VK_EXT_extended_dynamic_state3))
  845. fp_vkCmdSetCoverageToColorEnableNV = reinterpret_cast<PFN_vkCmdSetCoverageToColorEnableNV>(procAddr(device, "vkCmdSetCoverageToColorEnableNV"));
  846. #endif
  847. #if (defined(VK_EXT_extended_dynamic_state3))
  848. fp_vkCmdSetCoverageToColorLocationNV = reinterpret_cast<PFN_vkCmdSetCoverageToColorLocationNV>(procAddr(device, "vkCmdSetCoverageToColorLocationNV"));
  849. #endif
  850. #if (defined(VK_EXT_extended_dynamic_state3))
  851. fp_vkCmdSetCoverageModulationModeNV = reinterpret_cast<PFN_vkCmdSetCoverageModulationModeNV>(procAddr(device, "vkCmdSetCoverageModulationModeNV"));
  852. #endif
  853. #if (defined(VK_EXT_extended_dynamic_state3))
  854. fp_vkCmdSetCoverageModulationTableEnableNV = reinterpret_cast<PFN_vkCmdSetCoverageModulationTableEnableNV>(procAddr(device, "vkCmdSetCoverageModulationTableEnableNV"));
  855. #endif
  856. #if (defined(VK_EXT_extended_dynamic_state3))
  857. fp_vkCmdSetCoverageModulationTableNV = reinterpret_cast<PFN_vkCmdSetCoverageModulationTableNV>(procAddr(device, "vkCmdSetCoverageModulationTableNV"));
  858. #endif
  859. #if (defined(VK_EXT_extended_dynamic_state3))
  860. fp_vkCmdSetShadingRateImageEnableNV = reinterpret_cast<PFN_vkCmdSetShadingRateImageEnableNV>(procAddr(device, "vkCmdSetShadingRateImageEnableNV"));
  861. #endif
  862. #if (defined(VK_EXT_extended_dynamic_state3))
  863. fp_vkCmdSetCoverageReductionModeNV = reinterpret_cast<PFN_vkCmdSetCoverageReductionModeNV>(procAddr(device, "vkCmdSetCoverageReductionModeNV"));
  864. #endif
  865. #if (defined(VK_EXT_extended_dynamic_state3))
  866. fp_vkCmdSetRepresentativeFragmentTestEnableNV = reinterpret_cast<PFN_vkCmdSetRepresentativeFragmentTestEnableNV>(procAddr(device, "vkCmdSetRepresentativeFragmentTestEnableNV"));
  867. #endif
  868. #if (defined(VK_VERSION_1_3))
  869. fp_vkCreatePrivateDataSlot = reinterpret_cast<PFN_vkCreatePrivateDataSlot>(procAddr(device, "vkCreatePrivateDataSlot"));
  870. #endif
  871. #if (defined(VK_VERSION_1_3))
  872. fp_vkDestroyPrivateDataSlot = reinterpret_cast<PFN_vkDestroyPrivateDataSlot>(procAddr(device, "vkDestroyPrivateDataSlot"));
  873. #endif
  874. #if (defined(VK_VERSION_1_3))
  875. fp_vkSetPrivateData = reinterpret_cast<PFN_vkSetPrivateData>(procAddr(device, "vkSetPrivateData"));
  876. #endif
  877. #if (defined(VK_VERSION_1_3))
  878. fp_vkGetPrivateData = reinterpret_cast<PFN_vkGetPrivateData>(procAddr(device, "vkGetPrivateData"));
  879. #endif
  880. #if (defined(VK_VERSION_1_3))
  881. fp_vkCmdCopyBuffer2 = reinterpret_cast<PFN_vkCmdCopyBuffer2>(procAddr(device, "vkCmdCopyBuffer2"));
  882. #endif
  883. #if (defined(VK_VERSION_1_3))
  884. fp_vkCmdCopyImage2 = reinterpret_cast<PFN_vkCmdCopyImage2>(procAddr(device, "vkCmdCopyImage2"));
  885. #endif
  886. #if (defined(VK_VERSION_1_3))
  887. fp_vkCmdBlitImage2 = reinterpret_cast<PFN_vkCmdBlitImage2>(procAddr(device, "vkCmdBlitImage2"));
  888. #endif
  889. #if (defined(VK_VERSION_1_3))
  890. fp_vkCmdCopyBufferToImage2 = reinterpret_cast<PFN_vkCmdCopyBufferToImage2>(procAddr(device, "vkCmdCopyBufferToImage2"));
  891. #endif
  892. #if (defined(VK_VERSION_1_3))
  893. fp_vkCmdCopyImageToBuffer2 = reinterpret_cast<PFN_vkCmdCopyImageToBuffer2>(procAddr(device, "vkCmdCopyImageToBuffer2"));
  894. #endif
  895. #if (defined(VK_VERSION_1_3))
  896. fp_vkCmdResolveImage2 = reinterpret_cast<PFN_vkCmdResolveImage2>(procAddr(device, "vkCmdResolveImage2"));
  897. #endif
  898. #if (defined(VK_KHR_fragment_shading_rate))
  899. fp_vkCmdSetFragmentShadingRateKHR = reinterpret_cast<PFN_vkCmdSetFragmentShadingRateKHR>(procAddr(device, "vkCmdSetFragmentShadingRateKHR"));
  900. #endif
  901. #if (defined(VK_NV_fragment_shading_rate_enums))
  902. fp_vkCmdSetFragmentShadingRateEnumNV = reinterpret_cast<PFN_vkCmdSetFragmentShadingRateEnumNV>(procAddr(device, "vkCmdSetFragmentShadingRateEnumNV"));
  903. #endif
  904. #if (defined(VK_KHR_acceleration_structure))
  905. fp_vkGetAccelerationStructureBuildSizesKHR = reinterpret_cast<PFN_vkGetAccelerationStructureBuildSizesKHR>(procAddr(device, "vkGetAccelerationStructureBuildSizesKHR"));
  906. #endif
  907. #if (defined(VK_EXT_vertex_input_dynamic_state))
  908. fp_vkCmdSetVertexInputEXT = reinterpret_cast<PFN_vkCmdSetVertexInputEXT>(procAddr(device, "vkCmdSetVertexInputEXT"));
  909. #endif
  910. #if (defined(VK_EXT_color_write_enable))
  911. fp_vkCmdSetColorWriteEnableEXT = reinterpret_cast<PFN_vkCmdSetColorWriteEnableEXT>(procAddr(device, "vkCmdSetColorWriteEnableEXT"));
  912. #endif
  913. #if (defined(VK_VERSION_1_3))
  914. fp_vkCmdSetEvent2 = reinterpret_cast<PFN_vkCmdSetEvent2>(procAddr(device, "vkCmdSetEvent2"));
  915. #endif
  916. #if (defined(VK_VERSION_1_3))
  917. fp_vkCmdResetEvent2 = reinterpret_cast<PFN_vkCmdResetEvent2>(procAddr(device, "vkCmdResetEvent2"));
  918. #endif
  919. #if (defined(VK_VERSION_1_3))
  920. fp_vkCmdWaitEvents2 = reinterpret_cast<PFN_vkCmdWaitEvents2>(procAddr(device, "vkCmdWaitEvents2"));
  921. #endif
  922. #if (defined(VK_VERSION_1_3))
  923. fp_vkCmdPipelineBarrier2 = reinterpret_cast<PFN_vkCmdPipelineBarrier2>(procAddr(device, "vkCmdPipelineBarrier2"));
  924. #endif
  925. #if (defined(VK_VERSION_1_3))
  926. fp_vkQueueSubmit2 = reinterpret_cast<PFN_vkQueueSubmit2>(procAddr(device, "vkQueueSubmit2"));
  927. #endif
  928. #if (defined(VK_VERSION_1_3))
  929. fp_vkCmdWriteTimestamp2 = reinterpret_cast<PFN_vkCmdWriteTimestamp2>(procAddr(device, "vkCmdWriteTimestamp2"));
  930. #endif
  931. #if (defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker))
  932. fp_vkCmdWriteBufferMarker2AMD = reinterpret_cast<PFN_vkCmdWriteBufferMarker2AMD>(procAddr(device, "vkCmdWriteBufferMarker2AMD"));
  933. #endif
  934. #if (defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints))
  935. fp_vkGetQueueCheckpointData2NV = reinterpret_cast<PFN_vkGetQueueCheckpointData2NV>(procAddr(device, "vkGetQueueCheckpointData2NV"));
  936. #endif
  937. #if (defined(VK_KHR_video_queue))
  938. fp_vkCreateVideoSessionKHR = reinterpret_cast<PFN_vkCreateVideoSessionKHR>(procAddr(device, "vkCreateVideoSessionKHR"));
  939. #endif
  940. #if (defined(VK_KHR_video_queue))
  941. fp_vkDestroyVideoSessionKHR = reinterpret_cast<PFN_vkDestroyVideoSessionKHR>(procAddr(device, "vkDestroyVideoSessionKHR"));
  942. #endif
  943. #if (defined(VK_KHR_video_queue))
  944. fp_vkCreateVideoSessionParametersKHR = reinterpret_cast<PFN_vkCreateVideoSessionParametersKHR>(procAddr(device, "vkCreateVideoSessionParametersKHR"));
  945. #endif
  946. #if (defined(VK_KHR_video_queue))
  947. fp_vkUpdateVideoSessionParametersKHR = reinterpret_cast<PFN_vkUpdateVideoSessionParametersKHR>(procAddr(device, "vkUpdateVideoSessionParametersKHR"));
  948. #endif
  949. #if (defined(VK_KHR_video_queue))
  950. fp_vkDestroyVideoSessionParametersKHR = reinterpret_cast<PFN_vkDestroyVideoSessionParametersKHR>(procAddr(device, "vkDestroyVideoSessionParametersKHR"));
  951. #endif
  952. #if (defined(VK_KHR_video_queue))
  953. fp_vkGetVideoSessionMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetVideoSessionMemoryRequirementsKHR>(procAddr(device, "vkGetVideoSessionMemoryRequirementsKHR"));
  954. #endif
  955. #if (defined(VK_KHR_video_queue))
  956. fp_vkBindVideoSessionMemoryKHR = reinterpret_cast<PFN_vkBindVideoSessionMemoryKHR>(procAddr(device, "vkBindVideoSessionMemoryKHR"));
  957. #endif
  958. #if (defined(VK_KHR_video_decode_queue))
  959. fp_vkCmdDecodeVideoKHR = reinterpret_cast<PFN_vkCmdDecodeVideoKHR>(procAddr(device, "vkCmdDecodeVideoKHR"));
  960. #endif
  961. #if (defined(VK_KHR_video_queue))
  962. fp_vkCmdBeginVideoCodingKHR = reinterpret_cast<PFN_vkCmdBeginVideoCodingKHR>(procAddr(device, "vkCmdBeginVideoCodingKHR"));
  963. #endif
  964. #if (defined(VK_KHR_video_queue))
  965. fp_vkCmdControlVideoCodingKHR = reinterpret_cast<PFN_vkCmdControlVideoCodingKHR>(procAddr(device, "vkCmdControlVideoCodingKHR"));
  966. #endif
  967. #if (defined(VK_KHR_video_queue))
  968. fp_vkCmdEndVideoCodingKHR = reinterpret_cast<PFN_vkCmdEndVideoCodingKHR>(procAddr(device, "vkCmdEndVideoCodingKHR"));
  969. #endif
  970. #if (defined(VK_KHR_video_encode_queue))
  971. fp_vkCmdEncodeVideoKHR = reinterpret_cast<PFN_vkCmdEncodeVideoKHR>(procAddr(device, "vkCmdEncodeVideoKHR"));
  972. #endif
  973. #if (defined(VK_NV_memory_decompression))
  974. fp_vkCmdDecompressMemoryNV = reinterpret_cast<PFN_vkCmdDecompressMemoryNV>(procAddr(device, "vkCmdDecompressMemoryNV"));
  975. #endif
  976. #if (defined(VK_NV_memory_decompression))
  977. fp_vkCmdDecompressMemoryIndirectCountNV = reinterpret_cast<PFN_vkCmdDecompressMemoryIndirectCountNV>(procAddr(device, "vkCmdDecompressMemoryIndirectCountNV"));
  978. #endif
  979. #if (defined(VK_EXT_descriptor_buffer))
  980. fp_vkGetDescriptorSetLayoutSizeEXT = reinterpret_cast<PFN_vkGetDescriptorSetLayoutSizeEXT>(procAddr(device, "vkGetDescriptorSetLayoutSizeEXT"));
  981. #endif
  982. #if (defined(VK_EXT_descriptor_buffer))
  983. fp_vkGetDescriptorSetLayoutBindingOffsetEXT = reinterpret_cast<PFN_vkGetDescriptorSetLayoutBindingOffsetEXT>(procAddr(device, "vkGetDescriptorSetLayoutBindingOffsetEXT"));
  984. #endif
  985. #if (defined(VK_EXT_descriptor_buffer))
  986. fp_vkGetDescriptorEXT = reinterpret_cast<PFN_vkGetDescriptorEXT>(procAddr(device, "vkGetDescriptorEXT"));
  987. #endif
  988. #if (defined(VK_EXT_descriptor_buffer))
  989. fp_vkCmdBindDescriptorBuffersEXT = reinterpret_cast<PFN_vkCmdBindDescriptorBuffersEXT>(procAddr(device, "vkCmdBindDescriptorBuffersEXT"));
  990. #endif
  991. #if (defined(VK_EXT_descriptor_buffer))
  992. fp_vkCmdSetDescriptorBufferOffsetsEXT = reinterpret_cast<PFN_vkCmdSetDescriptorBufferOffsetsEXT>(procAddr(device, "vkCmdSetDescriptorBufferOffsetsEXT"));
  993. #endif
  994. #if (defined(VK_EXT_descriptor_buffer))
  995. fp_vkCmdBindDescriptorBufferEmbeddedSamplersEXT = reinterpret_cast<PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT>(procAddr(device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT"));
  996. #endif
  997. #if (defined(VK_EXT_descriptor_buffer))
  998. fp_vkGetBufferOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetBufferOpaqueCaptureDescriptorDataEXT"));
  999. #endif
  1000. #if (defined(VK_EXT_descriptor_buffer))
  1001. fp_vkGetImageOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetImageOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetImageOpaqueCaptureDescriptorDataEXT"));
  1002. #endif
  1003. #if (defined(VK_EXT_descriptor_buffer))
  1004. fp_vkGetImageViewOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT"));
  1005. #endif
  1006. #if (defined(VK_EXT_descriptor_buffer))
  1007. fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT"));
  1008. #endif
  1009. #if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing))
  1010. fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"));
  1011. #endif
  1012. #if (defined(VK_EXT_pageable_device_local_memory))
  1013. fp_vkSetDeviceMemoryPriorityEXT = reinterpret_cast<PFN_vkSetDeviceMemoryPriorityEXT>(procAddr(device, "vkSetDeviceMemoryPriorityEXT"));
  1014. #endif
  1015. #if (defined(VK_KHR_present_wait))
  1016. fp_vkWaitForPresentKHR = reinterpret_cast<PFN_vkWaitForPresentKHR>(procAddr(device, "vkWaitForPresentKHR"));
  1017. #endif
  1018. #if (defined(VK_FUCHSIA_buffer_collection))
  1019. fp_vkCreateBufferCollectionFUCHSIA = reinterpret_cast<PFN_vkCreateBufferCollectionFUCHSIA>(procAddr(device, "vkCreateBufferCollectionFUCHSIA"));
  1020. #endif
  1021. #if (defined(VK_FUCHSIA_buffer_collection))
  1022. fp_vkSetBufferCollectionBufferConstraintsFUCHSIA = reinterpret_cast<PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA>(procAddr(device, "vkSetBufferCollectionBufferConstraintsFUCHSIA"));
  1023. #endif
  1024. #if (defined(VK_FUCHSIA_buffer_collection))
  1025. fp_vkSetBufferCollectionImageConstraintsFUCHSIA = reinterpret_cast<PFN_vkSetBufferCollectionImageConstraintsFUCHSIA>(procAddr(device, "vkSetBufferCollectionImageConstraintsFUCHSIA"));
  1026. #endif
  1027. #if (defined(VK_FUCHSIA_buffer_collection))
  1028. fp_vkDestroyBufferCollectionFUCHSIA = reinterpret_cast<PFN_vkDestroyBufferCollectionFUCHSIA>(procAddr(device, "vkDestroyBufferCollectionFUCHSIA"));
  1029. #endif
  1030. #if (defined(VK_FUCHSIA_buffer_collection))
  1031. fp_vkGetBufferCollectionPropertiesFUCHSIA = reinterpret_cast<PFN_vkGetBufferCollectionPropertiesFUCHSIA>(procAddr(device, "vkGetBufferCollectionPropertiesFUCHSIA"));
  1032. #endif
  1033. #if (defined(VK_VERSION_1_3))
  1034. fp_vkCmdBeginRendering = reinterpret_cast<PFN_vkCmdBeginRendering>(procAddr(device, "vkCmdBeginRendering"));
  1035. #endif
  1036. #if (defined(VK_VERSION_1_3))
  1037. fp_vkCmdEndRendering = reinterpret_cast<PFN_vkCmdEndRendering>(procAddr(device, "vkCmdEndRendering"));
  1038. #endif
  1039. #if (defined(VK_VALVE_descriptor_set_host_mapping))
  1040. fp_vkGetDescriptorSetLayoutHostMappingInfoVALVE = reinterpret_cast<PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE>(procAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE"));
  1041. #endif
  1042. #if (defined(VK_VALVE_descriptor_set_host_mapping))
  1043. fp_vkGetDescriptorSetHostMappingVALVE = reinterpret_cast<PFN_vkGetDescriptorSetHostMappingVALVE>(procAddr(device, "vkGetDescriptorSetHostMappingVALVE"));
  1044. #endif
  1045. #if (defined(VK_EXT_opacity_micromap))
  1046. fp_vkCreateMicromapEXT = reinterpret_cast<PFN_vkCreateMicromapEXT>(procAddr(device, "vkCreateMicromapEXT"));
  1047. #endif
  1048. #if (defined(VK_EXT_opacity_micromap))
  1049. fp_vkCmdBuildMicromapsEXT = reinterpret_cast<PFN_vkCmdBuildMicromapsEXT>(procAddr(device, "vkCmdBuildMicromapsEXT"));
  1050. #endif
  1051. #if (defined(VK_EXT_opacity_micromap))
  1052. fp_vkBuildMicromapsEXT = reinterpret_cast<PFN_vkBuildMicromapsEXT>(procAddr(device, "vkBuildMicromapsEXT"));
  1053. #endif
  1054. #if (defined(VK_EXT_opacity_micromap))
  1055. fp_vkDestroyMicromapEXT = reinterpret_cast<PFN_vkDestroyMicromapEXT>(procAddr(device, "vkDestroyMicromapEXT"));
  1056. #endif
  1057. #if (defined(VK_EXT_opacity_micromap))
  1058. fp_vkCmdCopyMicromapEXT = reinterpret_cast<PFN_vkCmdCopyMicromapEXT>(procAddr(device, "vkCmdCopyMicromapEXT"));
  1059. #endif
  1060. #if (defined(VK_EXT_opacity_micromap))
  1061. fp_vkCopyMicromapEXT = reinterpret_cast<PFN_vkCopyMicromapEXT>(procAddr(device, "vkCopyMicromapEXT"));
  1062. #endif
  1063. #if (defined(VK_EXT_opacity_micromap))
  1064. fp_vkCmdCopyMicromapToMemoryEXT = reinterpret_cast<PFN_vkCmdCopyMicromapToMemoryEXT>(procAddr(device, "vkCmdCopyMicromapToMemoryEXT"));
  1065. #endif
  1066. #if (defined(VK_EXT_opacity_micromap))
  1067. fp_vkCopyMicromapToMemoryEXT = reinterpret_cast<PFN_vkCopyMicromapToMemoryEXT>(procAddr(device, "vkCopyMicromapToMemoryEXT"));
  1068. #endif
  1069. #if (defined(VK_EXT_opacity_micromap))
  1070. fp_vkCmdCopyMemoryToMicromapEXT = reinterpret_cast<PFN_vkCmdCopyMemoryToMicromapEXT>(procAddr(device, "vkCmdCopyMemoryToMicromapEXT"));
  1071. #endif
  1072. #if (defined(VK_EXT_opacity_micromap))
  1073. fp_vkCopyMemoryToMicromapEXT = reinterpret_cast<PFN_vkCopyMemoryToMicromapEXT>(procAddr(device, "vkCopyMemoryToMicromapEXT"));
  1074. #endif
  1075. #if (defined(VK_EXT_opacity_micromap))
  1076. fp_vkCmdWriteMicromapsPropertiesEXT = reinterpret_cast<PFN_vkCmdWriteMicromapsPropertiesEXT>(procAddr(device, "vkCmdWriteMicromapsPropertiesEXT"));
  1077. #endif
  1078. #if (defined(VK_EXT_opacity_micromap))
  1079. fp_vkWriteMicromapsPropertiesEXT = reinterpret_cast<PFN_vkWriteMicromapsPropertiesEXT>(procAddr(device, "vkWriteMicromapsPropertiesEXT"));
  1080. #endif
  1081. #if (defined(VK_EXT_opacity_micromap))
  1082. fp_vkGetDeviceMicromapCompatibilityEXT = reinterpret_cast<PFN_vkGetDeviceMicromapCompatibilityEXT>(procAddr(device, "vkGetDeviceMicromapCompatibilityEXT"));
  1083. #endif
  1084. #if (defined(VK_EXT_opacity_micromap))
  1085. fp_vkGetMicromapBuildSizesEXT = reinterpret_cast<PFN_vkGetMicromapBuildSizesEXT>(procAddr(device, "vkGetMicromapBuildSizesEXT"));
  1086. #endif
  1087. #if (defined(VK_EXT_shader_module_identifier))
  1088. fp_vkGetShaderModuleIdentifierEXT = reinterpret_cast<PFN_vkGetShaderModuleIdentifierEXT>(procAddr(device, "vkGetShaderModuleIdentifierEXT"));
  1089. #endif
  1090. #if (defined(VK_EXT_shader_module_identifier))
  1091. fp_vkGetShaderModuleCreateInfoIdentifierEXT = reinterpret_cast<PFN_vkGetShaderModuleCreateInfoIdentifierEXT>(procAddr(device, "vkGetShaderModuleCreateInfoIdentifierEXT"));
  1092. #endif
  1093. #if (defined(VK_EXT_image_compression_control))
  1094. fp_vkGetImageSubresourceLayout2EXT = reinterpret_cast<PFN_vkGetImageSubresourceLayout2EXT>(procAddr(device, "vkGetImageSubresourceLayout2EXT"));
  1095. #endif
  1096. #if (defined(VK_EXT_pipeline_properties))
  1097. fp_vkGetPipelinePropertiesEXT = reinterpret_cast<PFN_vkGetPipelinePropertiesEXT>(procAddr(device, "vkGetPipelinePropertiesEXT"));
  1098. #endif
  1099. #if (defined(VK_EXT_metal_objects))
  1100. fp_vkExportMetalObjectsEXT = reinterpret_cast<PFN_vkExportMetalObjectsEXT>(procAddr(device, "vkExportMetalObjectsEXT"));
  1101. #endif
  1102. #if (defined(VK_QCOM_tile_properties))
  1103. fp_vkGetFramebufferTilePropertiesQCOM = reinterpret_cast<PFN_vkGetFramebufferTilePropertiesQCOM>(procAddr(device, "vkGetFramebufferTilePropertiesQCOM"));
  1104. #endif
  1105. #if (defined(VK_QCOM_tile_properties))
  1106. fp_vkGetDynamicRenderingTilePropertiesQCOM = reinterpret_cast<PFN_vkGetDynamicRenderingTilePropertiesQCOM>(procAddr(device, "vkGetDynamicRenderingTilePropertiesQCOM"));
  1107. #endif
  1108. #if (defined(VK_NV_optical_flow))
  1109. fp_vkCreateOpticalFlowSessionNV = reinterpret_cast<PFN_vkCreateOpticalFlowSessionNV>(procAddr(device, "vkCreateOpticalFlowSessionNV"));
  1110. #endif
  1111. #if (defined(VK_NV_optical_flow))
  1112. fp_vkDestroyOpticalFlowSessionNV = reinterpret_cast<PFN_vkDestroyOpticalFlowSessionNV>(procAddr(device, "vkDestroyOpticalFlowSessionNV"));
  1113. #endif
  1114. #if (defined(VK_NV_optical_flow))
  1115. fp_vkBindOpticalFlowSessionImageNV = reinterpret_cast<PFN_vkBindOpticalFlowSessionImageNV>(procAddr(device, "vkBindOpticalFlowSessionImageNV"));
  1116. #endif
  1117. #if (defined(VK_NV_optical_flow))
  1118. fp_vkCmdOpticalFlowExecuteNV = reinterpret_cast<PFN_vkCmdOpticalFlowExecuteNV>(procAddr(device, "vkCmdOpticalFlowExecuteNV"));
  1119. #endif
  1120. #if (defined(VK_EXT_device_fault))
  1121. fp_vkGetDeviceFaultInfoEXT = reinterpret_cast<PFN_vkGetDeviceFaultInfoEXT>(procAddr(device, "vkGetDeviceFaultInfoEXT"));
  1122. #endif
  1123. #if (defined(VK_EXT_swapchain_maintenance1))
  1124. fp_vkReleaseSwapchainImagesEXT = reinterpret_cast<PFN_vkReleaseSwapchainImagesEXT>(procAddr(device, "vkReleaseSwapchainImagesEXT"));
  1125. #endif
  1126. #if (defined(VK_EXT_host_query_reset))
  1127. fp_vkResetQueryPoolEXT = reinterpret_cast<PFN_vkResetQueryPoolEXT>(procAddr(device, "vkResetQueryPoolEXT"));
  1128. #endif
  1129. #if (defined(VK_KHR_maintenance1))
  1130. fp_vkTrimCommandPoolKHR = reinterpret_cast<PFN_vkTrimCommandPoolKHR>(procAddr(device, "vkTrimCommandPoolKHR"));
  1131. #endif
  1132. #if (defined(VK_KHR_device_group))
  1133. fp_vkGetDeviceGroupPeerMemoryFeaturesKHR = reinterpret_cast<PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR>(procAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR"));
  1134. #endif
  1135. #if (defined(VK_KHR_bind_memory2))
  1136. fp_vkBindBufferMemory2KHR = reinterpret_cast<PFN_vkBindBufferMemory2KHR>(procAddr(device, "vkBindBufferMemory2KHR"));
  1137. #endif
  1138. #if (defined(VK_KHR_bind_memory2))
  1139. fp_vkBindImageMemory2KHR = reinterpret_cast<PFN_vkBindImageMemory2KHR>(procAddr(device, "vkBindImageMemory2KHR"));
  1140. #endif
  1141. #if (defined(VK_KHR_device_group))
  1142. fp_vkCmdSetDeviceMaskKHR = reinterpret_cast<PFN_vkCmdSetDeviceMaskKHR>(procAddr(device, "vkCmdSetDeviceMaskKHR"));
  1143. #endif
  1144. #if (defined(VK_KHR_device_group))
  1145. fp_vkCmdDispatchBaseKHR = reinterpret_cast<PFN_vkCmdDispatchBaseKHR>(procAddr(device, "vkCmdDispatchBaseKHR"));
  1146. #endif
  1147. #if (defined(VK_KHR_descriptor_update_template))
  1148. fp_vkCreateDescriptorUpdateTemplateKHR = reinterpret_cast<PFN_vkCreateDescriptorUpdateTemplateKHR>(procAddr(device, "vkCreateDescriptorUpdateTemplateKHR"));
  1149. #endif
  1150. #if (defined(VK_KHR_descriptor_update_template))
  1151. fp_vkDestroyDescriptorUpdateTemplateKHR = reinterpret_cast<PFN_vkDestroyDescriptorUpdateTemplateKHR>(procAddr(device, "vkDestroyDescriptorUpdateTemplateKHR"));
  1152. #endif
  1153. #if (defined(VK_KHR_descriptor_update_template))
  1154. fp_vkUpdateDescriptorSetWithTemplateKHR = reinterpret_cast<PFN_vkUpdateDescriptorSetWithTemplateKHR>(procAddr(device, "vkUpdateDescriptorSetWithTemplateKHR"));
  1155. #endif
  1156. #if (defined(VK_KHR_get_memory_requirements2))
  1157. fp_vkGetBufferMemoryRequirements2KHR = reinterpret_cast<PFN_vkGetBufferMemoryRequirements2KHR>(procAddr(device, "vkGetBufferMemoryRequirements2KHR"));
  1158. #endif
  1159. #if (defined(VK_KHR_get_memory_requirements2))
  1160. fp_vkGetImageMemoryRequirements2KHR = reinterpret_cast<PFN_vkGetImageMemoryRequirements2KHR>(procAddr(device, "vkGetImageMemoryRequirements2KHR"));
  1161. #endif
  1162. #if (defined(VK_KHR_get_memory_requirements2))
  1163. fp_vkGetImageSparseMemoryRequirements2KHR = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements2KHR>(procAddr(device, "vkGetImageSparseMemoryRequirements2KHR"));
  1164. #endif
  1165. #if (defined(VK_KHR_maintenance4))
  1166. fp_vkGetDeviceBufferMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetDeviceBufferMemoryRequirementsKHR>(procAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR"));
  1167. #endif
  1168. #if (defined(VK_KHR_maintenance4))
  1169. fp_vkGetDeviceImageMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetDeviceImageMemoryRequirementsKHR>(procAddr(device, "vkGetDeviceImageMemoryRequirementsKHR"));
  1170. #endif
  1171. #if (defined(VK_KHR_maintenance4))
  1172. fp_vkGetDeviceImageSparseMemoryRequirementsKHR = reinterpret_cast<PFN_vkGetDeviceImageSparseMemoryRequirementsKHR>(procAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR"));
  1173. #endif
  1174. #if (defined(VK_KHR_sampler_ycbcr_conversion))
  1175. fp_vkCreateSamplerYcbcrConversionKHR = reinterpret_cast<PFN_vkCreateSamplerYcbcrConversionKHR>(procAddr(device, "vkCreateSamplerYcbcrConversionKHR"));
  1176. #endif
  1177. #if (defined(VK_KHR_sampler_ycbcr_conversion))
  1178. fp_vkDestroySamplerYcbcrConversionKHR = reinterpret_cast<PFN_vkDestroySamplerYcbcrConversionKHR>(procAddr(device, "vkDestroySamplerYcbcrConversionKHR"));
  1179. #endif
  1180. #if (defined(VK_KHR_maintenance3))
  1181. fp_vkGetDescriptorSetLayoutSupportKHR = reinterpret_cast<PFN_vkGetDescriptorSetLayoutSupportKHR>(procAddr(device, "vkGetDescriptorSetLayoutSupportKHR"));
  1182. #endif
  1183. #if (defined(VK_KHR_create_renderpass2))
  1184. fp_vkCreateRenderPass2KHR = reinterpret_cast<PFN_vkCreateRenderPass2KHR>(procAddr(device, "vkCreateRenderPass2KHR"));
  1185. #endif
  1186. #if (defined(VK_KHR_create_renderpass2))
  1187. fp_vkCmdBeginRenderPass2KHR = reinterpret_cast<PFN_vkCmdBeginRenderPass2KHR>(procAddr(device, "vkCmdBeginRenderPass2KHR"));
  1188. #endif
  1189. #if (defined(VK_KHR_create_renderpass2))
  1190. fp_vkCmdNextSubpass2KHR = reinterpret_cast<PFN_vkCmdNextSubpass2KHR>(procAddr(device, "vkCmdNextSubpass2KHR"));
  1191. #endif
  1192. #if (defined(VK_KHR_create_renderpass2))
  1193. fp_vkCmdEndRenderPass2KHR = reinterpret_cast<PFN_vkCmdEndRenderPass2KHR>(procAddr(device, "vkCmdEndRenderPass2KHR"));
  1194. #endif
  1195. #if (defined(VK_KHR_timeline_semaphore))
  1196. fp_vkGetSemaphoreCounterValueKHR = reinterpret_cast<PFN_vkGetSemaphoreCounterValueKHR>(procAddr(device, "vkGetSemaphoreCounterValueKHR"));
  1197. #endif
  1198. #if (defined(VK_KHR_timeline_semaphore))
  1199. fp_vkWaitSemaphoresKHR = reinterpret_cast<PFN_vkWaitSemaphoresKHR>(procAddr(device, "vkWaitSemaphoresKHR"));
  1200. #endif
  1201. #if (defined(VK_KHR_timeline_semaphore))
  1202. fp_vkSignalSemaphoreKHR = reinterpret_cast<PFN_vkSignalSemaphoreKHR>(procAddr(device, "vkSignalSemaphoreKHR"));
  1203. #endif
  1204. #if (defined(VK_AMD_draw_indirect_count))
  1205. fp_vkCmdDrawIndirectCountAMD = reinterpret_cast<PFN_vkCmdDrawIndirectCountAMD>(procAddr(device, "vkCmdDrawIndirectCountAMD"));
  1206. #endif
  1207. #if (defined(VK_AMD_draw_indirect_count))
  1208. fp_vkCmdDrawIndexedIndirectCountAMD = reinterpret_cast<PFN_vkCmdDrawIndexedIndirectCountAMD>(procAddr(device, "vkCmdDrawIndexedIndirectCountAMD"));
  1209. #endif
  1210. #if (defined(VK_NV_ray_tracing))
  1211. fp_vkGetRayTracingShaderGroupHandlesNV = reinterpret_cast<PFN_vkGetRayTracingShaderGroupHandlesNV>(procAddr(device, "vkGetRayTracingShaderGroupHandlesNV"));
  1212. #endif
  1213. #if (defined(VK_KHR_buffer_device_address))
  1214. fp_vkGetBufferOpaqueCaptureAddressKHR = reinterpret_cast<PFN_vkGetBufferOpaqueCaptureAddressKHR>(procAddr(device, "vkGetBufferOpaqueCaptureAddressKHR"));
  1215. #endif
  1216. #if (defined(VK_EXT_buffer_device_address))
  1217. fp_vkGetBufferDeviceAddressEXT = reinterpret_cast<PFN_vkGetBufferDeviceAddressEXT>(procAddr(device, "vkGetBufferDeviceAddressEXT"));
  1218. #endif
  1219. #if (defined(VK_KHR_buffer_device_address))
  1220. fp_vkGetDeviceMemoryOpaqueCaptureAddressKHR = reinterpret_cast<PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR>(procAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"));
  1221. #endif
  1222. #if (defined(VK_EXT_extended_dynamic_state))
  1223. fp_vkCmdSetCullModeEXT = reinterpret_cast<PFN_vkCmdSetCullModeEXT>(procAddr(device, "vkCmdSetCullModeEXT"));
  1224. #endif
  1225. #if (defined(VK_EXT_extended_dynamic_state))
  1226. fp_vkCmdSetFrontFaceEXT = reinterpret_cast<PFN_vkCmdSetFrontFaceEXT>(procAddr(device, "vkCmdSetFrontFaceEXT"));
  1227. #endif
  1228. #if (defined(VK_EXT_extended_dynamic_state))
  1229. fp_vkCmdSetPrimitiveTopologyEXT = reinterpret_cast<PFN_vkCmdSetPrimitiveTopologyEXT>(procAddr(device, "vkCmdSetPrimitiveTopologyEXT"));
  1230. #endif
  1231. #if (defined(VK_EXT_extended_dynamic_state))
  1232. fp_vkCmdSetViewportWithCountEXT = reinterpret_cast<PFN_vkCmdSetViewportWithCountEXT>(procAddr(device, "vkCmdSetViewportWithCountEXT"));
  1233. #endif
  1234. #if (defined(VK_EXT_extended_dynamic_state))
  1235. fp_vkCmdSetScissorWithCountEXT = reinterpret_cast<PFN_vkCmdSetScissorWithCountEXT>(procAddr(device, "vkCmdSetScissorWithCountEXT"));
  1236. #endif
  1237. #if (defined(VK_EXT_extended_dynamic_state))
  1238. fp_vkCmdBindVertexBuffers2EXT = reinterpret_cast<PFN_vkCmdBindVertexBuffers2EXT>(procAddr(device, "vkCmdBindVertexBuffers2EXT"));
  1239. #endif
  1240. #if (defined(VK_EXT_extended_dynamic_state))
  1241. fp_vkCmdSetDepthTestEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthTestEnableEXT>(procAddr(device, "vkCmdSetDepthTestEnableEXT"));
  1242. #endif
  1243. #if (defined(VK_EXT_extended_dynamic_state))
  1244. fp_vkCmdSetDepthWriteEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthWriteEnableEXT>(procAddr(device, "vkCmdSetDepthWriteEnableEXT"));
  1245. #endif
  1246. #if (defined(VK_EXT_extended_dynamic_state))
  1247. fp_vkCmdSetDepthCompareOpEXT = reinterpret_cast<PFN_vkCmdSetDepthCompareOpEXT>(procAddr(device, "vkCmdSetDepthCompareOpEXT"));
  1248. #endif
  1249. #if (defined(VK_EXT_extended_dynamic_state))
  1250. fp_vkCmdSetDepthBoundsTestEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthBoundsTestEnableEXT>(procAddr(device, "vkCmdSetDepthBoundsTestEnableEXT"));
  1251. #endif
  1252. #if (defined(VK_EXT_extended_dynamic_state))
  1253. fp_vkCmdSetStencilTestEnableEXT = reinterpret_cast<PFN_vkCmdSetStencilTestEnableEXT>(procAddr(device, "vkCmdSetStencilTestEnableEXT"));
  1254. #endif
  1255. #if (defined(VK_EXT_extended_dynamic_state))
  1256. fp_vkCmdSetStencilOpEXT = reinterpret_cast<PFN_vkCmdSetStencilOpEXT>(procAddr(device, "vkCmdSetStencilOpEXT"));
  1257. #endif
  1258. #if (defined(VK_EXT_extended_dynamic_state2))
  1259. fp_vkCmdSetRasterizerDiscardEnableEXT = reinterpret_cast<PFN_vkCmdSetRasterizerDiscardEnableEXT>(procAddr(device, "vkCmdSetRasterizerDiscardEnableEXT"));
  1260. #endif
  1261. #if (defined(VK_EXT_extended_dynamic_state2))
  1262. fp_vkCmdSetDepthBiasEnableEXT = reinterpret_cast<PFN_vkCmdSetDepthBiasEnableEXT>(procAddr(device, "vkCmdSetDepthBiasEnableEXT"));
  1263. #endif
  1264. #if (defined(VK_EXT_extended_dynamic_state2))
  1265. fp_vkCmdSetPrimitiveRestartEnableEXT = reinterpret_cast<PFN_vkCmdSetPrimitiveRestartEnableEXT>(procAddr(device, "vkCmdSetPrimitiveRestartEnableEXT"));
  1266. #endif
  1267. #if (defined(VK_EXT_private_data))
  1268. fp_vkCreatePrivateDataSlotEXT = reinterpret_cast<PFN_vkCreatePrivateDataSlotEXT>(procAddr(device, "vkCreatePrivateDataSlotEXT"));
  1269. #endif
  1270. #if (defined(VK_EXT_private_data))
  1271. fp_vkDestroyPrivateDataSlotEXT = reinterpret_cast<PFN_vkDestroyPrivateDataSlotEXT>(procAddr(device, "vkDestroyPrivateDataSlotEXT"));
  1272. #endif
  1273. #if (defined(VK_EXT_private_data))
  1274. fp_vkSetPrivateDataEXT = reinterpret_cast<PFN_vkSetPrivateDataEXT>(procAddr(device, "vkSetPrivateDataEXT"));
  1275. #endif
  1276. #if (defined(VK_EXT_private_data))
  1277. fp_vkGetPrivateDataEXT = reinterpret_cast<PFN_vkGetPrivateDataEXT>(procAddr(device, "vkGetPrivateDataEXT"));
  1278. #endif
  1279. #if (defined(VK_KHR_copy_commands2))
  1280. fp_vkCmdCopyBuffer2KHR = reinterpret_cast<PFN_vkCmdCopyBuffer2KHR>(procAddr(device, "vkCmdCopyBuffer2KHR"));
  1281. #endif
  1282. #if (defined(VK_KHR_copy_commands2))
  1283. fp_vkCmdCopyImage2KHR = reinterpret_cast<PFN_vkCmdCopyImage2KHR>(procAddr(device, "vkCmdCopyImage2KHR"));
  1284. #endif
  1285. #if (defined(VK_KHR_copy_commands2))
  1286. fp_vkCmdBlitImage2KHR = reinterpret_cast<PFN_vkCmdBlitImage2KHR>(procAddr(device, "vkCmdBlitImage2KHR"));
  1287. #endif
  1288. #if (defined(VK_KHR_copy_commands2))
  1289. fp_vkCmdCopyBufferToImage2KHR = reinterpret_cast<PFN_vkCmdCopyBufferToImage2KHR>(procAddr(device, "vkCmdCopyBufferToImage2KHR"));
  1290. #endif
  1291. #if (defined(VK_KHR_copy_commands2))
  1292. fp_vkCmdCopyImageToBuffer2KHR = reinterpret_cast<PFN_vkCmdCopyImageToBuffer2KHR>(procAddr(device, "vkCmdCopyImageToBuffer2KHR"));
  1293. #endif
  1294. #if (defined(VK_KHR_copy_commands2))
  1295. fp_vkCmdResolveImage2KHR = reinterpret_cast<PFN_vkCmdResolveImage2KHR>(procAddr(device, "vkCmdResolveImage2KHR"));
  1296. #endif
  1297. #if (defined(VK_KHR_synchronization2))
  1298. fp_vkCmdSetEvent2KHR = reinterpret_cast<PFN_vkCmdSetEvent2KHR>(procAddr(device, "vkCmdSetEvent2KHR"));
  1299. #endif
  1300. #if (defined(VK_KHR_synchronization2))
  1301. fp_vkCmdResetEvent2KHR = reinterpret_cast<PFN_vkCmdResetEvent2KHR>(procAddr(device, "vkCmdResetEvent2KHR"));
  1302. #endif
  1303. #if (defined(VK_KHR_synchronization2))
  1304. fp_vkCmdWaitEvents2KHR = reinterpret_cast<PFN_vkCmdWaitEvents2KHR>(procAddr(device, "vkCmdWaitEvents2KHR"));
  1305. #endif
  1306. #if (defined(VK_KHR_synchronization2))
  1307. fp_vkCmdPipelineBarrier2KHR = reinterpret_cast<PFN_vkCmdPipelineBarrier2KHR>(procAddr(device, "vkCmdPipelineBarrier2KHR"));
  1308. #endif
  1309. #if (defined(VK_KHR_synchronization2))
  1310. fp_vkQueueSubmit2KHR = reinterpret_cast<PFN_vkQueueSubmit2KHR>(procAddr(device, "vkQueueSubmit2KHR"));
  1311. #endif
  1312. #if (defined(VK_KHR_synchronization2))
  1313. fp_vkCmdWriteTimestamp2KHR = reinterpret_cast<PFN_vkCmdWriteTimestamp2KHR>(procAddr(device, "vkCmdWriteTimestamp2KHR"));
  1314. #endif
  1315. #if (defined(VK_KHR_dynamic_rendering))
  1316. fp_vkCmdBeginRenderingKHR = reinterpret_cast<PFN_vkCmdBeginRenderingKHR>(procAddr(device, "vkCmdBeginRenderingKHR"));
  1317. #endif
  1318. #if (defined(VK_KHR_dynamic_rendering))
  1319. fp_vkCmdEndRenderingKHR = reinterpret_cast<PFN_vkCmdEndRenderingKHR>(procAddr(device, "vkCmdEndRenderingKHR"));
  1320. #endif
  1321. }
  1322. void getDeviceQueue(uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const noexcept {
  1323. fp_vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
  1324. }
  1325. VkResult queueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const noexcept {
  1326. return fp_vkQueueSubmit(queue, submitCount, pSubmits, fence);
  1327. }
  1328. VkResult queueWaitIdle(VkQueue queue) const noexcept {
  1329. return fp_vkQueueWaitIdle(queue);
  1330. }
  1331. VkResult deviceWaitIdle() const noexcept {
  1332. return fp_vkDeviceWaitIdle(device);
  1333. }
  1334. VkResult allocateMemory(const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const noexcept {
  1335. return fp_vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
  1336. }
  1337. void freeMemory(VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const noexcept {
  1338. fp_vkFreeMemory(device, memory, pAllocator);
  1339. }
  1340. VkResult mapMemory(VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const noexcept {
  1341. return fp_vkMapMemory(device, memory, offset, size, flags, ppData);
  1342. }
  1343. void unmapMemory(VkDeviceMemory memory) const noexcept {
  1344. fp_vkUnmapMemory(device, memory);
  1345. }
  1346. VkResult flushMappedMemoryRanges(uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const noexcept {
  1347. return fp_vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
  1348. }
  1349. VkResult invalidateMappedMemoryRanges(uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const noexcept {
  1350. return fp_vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
  1351. }
  1352. void getDeviceMemoryCommitment(VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const noexcept {
  1353. fp_vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
  1354. }
  1355. void getBufferMemoryRequirements(VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const noexcept {
  1356. fp_vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
  1357. }
  1358. VkResult bindBufferMemory(VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const noexcept {
  1359. return fp_vkBindBufferMemory(device, buffer, memory, memoryOffset);
  1360. }
  1361. void getImageMemoryRequirements(VkImage image, VkMemoryRequirements* pMemoryRequirements) const noexcept {
  1362. fp_vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
  1363. }
  1364. VkResult bindImageMemory(VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const noexcept {
  1365. return fp_vkBindImageMemory(device, image, memory, memoryOffset);
  1366. }
  1367. void getImageSparseMemoryRequirements(VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const noexcept {
  1368. fp_vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
  1369. }
  1370. VkResult queueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const noexcept {
  1371. return fp_vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
  1372. }
  1373. VkResult createFence(const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const noexcept {
  1374. return fp_vkCreateFence(device, pCreateInfo, pAllocator, pFence);
  1375. }
  1376. void destroyFence(VkFence fence, const VkAllocationCallbacks* pAllocator) const noexcept {
  1377. fp_vkDestroyFence(device, fence, pAllocator);
  1378. }
  1379. VkResult resetFences(uint32_t fenceCount, const VkFence* pFences) const noexcept {
  1380. return fp_vkResetFences(device, fenceCount, pFences);
  1381. }
  1382. VkResult getFenceStatus(VkFence fence) const noexcept {
  1383. return fp_vkGetFenceStatus(device, fence);
  1384. }
  1385. VkResult waitForFences(uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const noexcept {
  1386. return fp_vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
  1387. }
  1388. VkResult createSemaphore(const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const noexcept {
  1389. return fp_vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
  1390. }
  1391. void destroySemaphore(VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const noexcept {
  1392. fp_vkDestroySemaphore(device, semaphore, pAllocator);
  1393. }
  1394. VkResult createEvent(const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const noexcept {
  1395. return fp_vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
  1396. }
  1397. void destroyEvent(VkEvent event, const VkAllocationCallbacks* pAllocator) const noexcept {
  1398. fp_vkDestroyEvent(device, event, pAllocator);
  1399. }
  1400. VkResult getEventStatus(VkEvent event) const noexcept {
  1401. return fp_vkGetEventStatus(device, event);
  1402. }
  1403. VkResult setEvent(VkEvent event) const noexcept {
  1404. return fp_vkSetEvent(device, event);
  1405. }
  1406. VkResult resetEvent(VkEvent event) const noexcept {
  1407. return fp_vkResetEvent(device, event);
  1408. }
  1409. VkResult createQueryPool(const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const noexcept {
  1410. return fp_vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
  1411. }
  1412. void destroyQueryPool(VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const noexcept {
  1413. fp_vkDestroyQueryPool(device, queryPool, pAllocator);
  1414. }
  1415. VkResult getQueryPoolResults(VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const noexcept {
  1416. return fp_vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
  1417. }
  1418. #if (defined(VK_VERSION_1_2))
  1419. void resetQueryPool(VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const noexcept {
  1420. fp_vkResetQueryPool(device, queryPool, firstQuery, queryCount);
  1421. }
  1422. #endif
  1423. VkResult createBuffer(const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const noexcept {
  1424. return fp_vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
  1425. }
  1426. void destroyBuffer(VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const noexcept {
  1427. fp_vkDestroyBuffer(device, buffer, pAllocator);
  1428. }
  1429. VkResult createBufferView(const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const noexcept {
  1430. return fp_vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
  1431. }
  1432. void destroyBufferView(VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const noexcept {
  1433. fp_vkDestroyBufferView(device, bufferView, pAllocator);
  1434. }
  1435. VkResult createImage(const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const noexcept {
  1436. return fp_vkCreateImage(device, pCreateInfo, pAllocator, pImage);
  1437. }
  1438. void destroyImage(VkImage image, const VkAllocationCallbacks* pAllocator) const noexcept {
  1439. fp_vkDestroyImage(device, image, pAllocator);
  1440. }
  1441. void getImageSubresourceLayout(VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const noexcept {
  1442. fp_vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
  1443. }
  1444. VkResult createImageView(const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const noexcept {
  1445. return fp_vkCreateImageView(device, pCreateInfo, pAllocator, pView);
  1446. }
  1447. void destroyImageView(VkImageView imageView, const VkAllocationCallbacks* pAllocator) const noexcept {
  1448. fp_vkDestroyImageView(device, imageView, pAllocator);
  1449. }
  1450. VkResult createShaderModule(const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const noexcept {
  1451. return fp_vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
  1452. }
  1453. void destroyShaderModule(VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const noexcept {
  1454. fp_vkDestroyShaderModule(device, shaderModule, pAllocator);
  1455. }
  1456. VkResult createPipelineCache(const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const noexcept {
  1457. return fp_vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
  1458. }
  1459. void destroyPipelineCache(VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const noexcept {
  1460. fp_vkDestroyPipelineCache(device, pipelineCache, pAllocator);
  1461. }
  1462. VkResult getPipelineCacheData(VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const noexcept {
  1463. return fp_vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
  1464. }
  1465. VkResult mergePipelineCaches(VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const noexcept {
  1466. return fp_vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
  1467. }
  1468. VkResult createGraphicsPipelines(VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const noexcept {
  1469. return fp_vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
  1470. }
  1471. VkResult createComputePipelines(VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const noexcept {
  1472. return fp_vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
  1473. }
  1474. #if (defined(VK_HUAWEI_subpass_shading))
  1475. VkResult getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const noexcept {
  1476. return fp_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize);
  1477. }
  1478. #endif
  1479. void destroyPipeline(VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const noexcept {
  1480. fp_vkDestroyPipeline(device, pipeline, pAllocator);
  1481. }
  1482. VkResult createPipelineLayout(const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const noexcept {
  1483. return fp_vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
  1484. }
  1485. void destroyPipelineLayout(VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const noexcept {
  1486. fp_vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
  1487. }
  1488. VkResult createSampler(const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const noexcept {
  1489. return fp_vkCreateSampler(device, pCreateInfo, pAllocator, pSampler);
  1490. }
  1491. void destroySampler(VkSampler sampler, const VkAllocationCallbacks* pAllocator) const noexcept {
  1492. fp_vkDestroySampler(device, sampler, pAllocator);
  1493. }
  1494. VkResult createDescriptorSetLayout(const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const noexcept {
  1495. return fp_vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
  1496. }
  1497. void destroyDescriptorSetLayout(VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const noexcept {
  1498. fp_vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
  1499. }
  1500. VkResult createDescriptorPool(const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const noexcept {
  1501. return fp_vkCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
  1502. }
  1503. void destroyDescriptorPool(VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const noexcept {
  1504. fp_vkDestroyDescriptorPool(device, descriptorPool, pAllocator);
  1505. }
  1506. VkResult resetDescriptorPool(VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const noexcept {
  1507. return fp_vkResetDescriptorPool(device, descriptorPool, flags);
  1508. }
  1509. VkResult allocateDescriptorSets(const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const noexcept {
  1510. return fp_vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
  1511. }
  1512. VkResult freeDescriptorSets(VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const noexcept {
  1513. return fp_vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
  1514. }
  1515. void updateDescriptorSets(uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const noexcept {
  1516. fp_vkUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
  1517. }
  1518. VkResult createFramebuffer(const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const noexcept {
  1519. return fp_vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
  1520. }
  1521. void destroyFramebuffer(VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const noexcept {
  1522. fp_vkDestroyFramebuffer(device, framebuffer, pAllocator);
  1523. }
  1524. VkResult createRenderPass(const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const noexcept {
  1525. return fp_vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
  1526. }
  1527. void destroyRenderPass(VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const noexcept {
  1528. fp_vkDestroyRenderPass(device, renderPass, pAllocator);
  1529. }
  1530. void getRenderAreaGranularity(VkRenderPass renderPass, VkExtent2D* pGranularity) const noexcept {
  1531. fp_vkGetRenderAreaGranularity(device, renderPass, pGranularity);
  1532. }
  1533. VkResult createCommandPool(const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const noexcept {
  1534. return fp_vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
  1535. }
  1536. void destroyCommandPool(VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const noexcept {
  1537. fp_vkDestroyCommandPool(device, commandPool, pAllocator);
  1538. }
  1539. VkResult resetCommandPool(VkCommandPool commandPool, VkCommandPoolResetFlags flags) const noexcept {
  1540. return fp_vkResetCommandPool(device, commandPool, flags);
  1541. }
  1542. VkResult allocateCommandBuffers(const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const noexcept {
  1543. return fp_vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
  1544. }
  1545. void freeCommandBuffers(VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const noexcept {
  1546. fp_vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
  1547. }
  1548. VkResult beginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const noexcept {
  1549. return fp_vkBeginCommandBuffer(commandBuffer, pBeginInfo);
  1550. }
  1551. VkResult endCommandBuffer(VkCommandBuffer commandBuffer) const noexcept {
  1552. return fp_vkEndCommandBuffer(commandBuffer);
  1553. }
  1554. VkResult resetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const noexcept {
  1555. return fp_vkResetCommandBuffer(commandBuffer, flags);
  1556. }
  1557. void cmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const noexcept {
  1558. fp_vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
  1559. }
  1560. void cmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const noexcept {
  1561. fp_vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
  1562. }
  1563. void cmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const noexcept {
  1564. fp_vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
  1565. }
  1566. void cmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) const noexcept {
  1567. fp_vkCmdSetLineWidth(commandBuffer, lineWidth);
  1568. }
  1569. void cmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const noexcept {
  1570. fp_vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
  1571. }
  1572. void cmdSetBlendConstants(VkCommandBuffer commandBuffer, float blendConstants[4]) const noexcept {
  1573. fp_vkCmdSetBlendConstants(commandBuffer, blendConstants);
  1574. }
  1575. void cmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const noexcept {
  1576. fp_vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
  1577. }
  1578. void cmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const noexcept {
  1579. fp_vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
  1580. }
  1581. void cmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const noexcept {
  1582. fp_vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
  1583. }
  1584. void cmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const noexcept {
  1585. fp_vkCmdSetStencilReference(commandBuffer, faceMask, reference);
  1586. }
  1587. void cmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const noexcept {
  1588. fp_vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
  1589. }
  1590. void cmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const noexcept {
  1591. fp_vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
  1592. }
  1593. void cmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const noexcept {
  1594. fp_vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
  1595. }
  1596. void cmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const noexcept {
  1597. fp_vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
  1598. }
  1599. void cmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const noexcept {
  1600. fp_vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
  1601. }
  1602. #if (defined(VK_EXT_multi_draw))
  1603. void cmdDrawMultiEXT(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const noexcept {
  1604. fp_vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride);
  1605. }
  1606. #endif
  1607. #if (defined(VK_EXT_multi_draw))
  1608. void cmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const noexcept {
  1609. fp_vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset);
  1610. }
  1611. #endif
  1612. void cmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const noexcept {
  1613. fp_vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
  1614. }
  1615. void cmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const noexcept {
  1616. fp_vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
  1617. }
  1618. void cmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const noexcept {
  1619. fp_vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
  1620. }
  1621. void cmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const noexcept {
  1622. fp_vkCmdDispatchIndirect(commandBuffer, buffer, offset);
  1623. }
  1624. #if (defined(VK_HUAWEI_subpass_shading))
  1625. void cmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const noexcept {
  1626. fp_vkCmdSubpassShadingHUAWEI(commandBuffer);
  1627. }
  1628. #endif
  1629. #if (defined(VK_HUAWEI_cluster_culling_shader))
  1630. void cmdDrawClusterHUAWEI(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const noexcept {
  1631. fp_vkCmdDrawClusterHUAWEI(commandBuffer, groupCountX, groupCountY, groupCountZ);
  1632. }
  1633. #endif
  1634. #if (defined(VK_HUAWEI_cluster_culling_shader))
  1635. void cmdDrawClusterIndirectHUAWEI(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const noexcept {
  1636. fp_vkCmdDrawClusterIndirectHUAWEI(commandBuffer, buffer, offset);
  1637. }
  1638. #endif
  1639. void cmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const noexcept {
  1640. fp_vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
  1641. }
  1642. void cmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const noexcept {
  1643. fp_vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
  1644. }
  1645. void cmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const noexcept {
  1646. fp_vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
  1647. }
  1648. void cmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const noexcept {
  1649. fp_vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
  1650. }
  1651. void cmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const noexcept {
  1652. fp_vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
  1653. }
  1654. #if (defined(VK_NV_copy_memory_indirect))
  1655. void cmdCopyMemoryIndirectNV(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride) const noexcept {
  1656. fp_vkCmdCopyMemoryIndirectNV(commandBuffer, copyBufferAddress, copyCount, stride);
  1657. }
  1658. #endif
  1659. #if (defined(VK_NV_copy_memory_indirect))
  1660. void cmdCopyMemoryToImageIndirectNV(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources) const noexcept {
  1661. fp_vkCmdCopyMemoryToImageIndirectNV(commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources);
  1662. }
  1663. #endif
  1664. void cmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const noexcept {
  1665. fp_vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
  1666. }
  1667. void cmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const noexcept {
  1668. fp_vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
  1669. }
  1670. void cmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const noexcept {
  1671. fp_vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
  1672. }
  1673. void cmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const noexcept {
  1674. fp_vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
  1675. }
  1676. void cmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const noexcept {
  1677. fp_vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
  1678. }
  1679. void cmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const noexcept {
  1680. fp_vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
  1681. }
  1682. void cmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const noexcept {
  1683. fp_vkCmdSetEvent(commandBuffer, event, stageMask);
  1684. }
  1685. void cmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const noexcept {
  1686. fp_vkCmdResetEvent(commandBuffer, event, stageMask);
  1687. }
  1688. void cmdWaitEvents(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) const noexcept {
  1689. fp_vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
  1690. }
  1691. void cmdPipelineBarrier(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) const noexcept {
  1692. fp_vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
  1693. }
  1694. void cmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const noexcept {
  1695. fp_vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
  1696. }
  1697. void cmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const noexcept {
  1698. fp_vkCmdEndQuery(commandBuffer, queryPool, query);
  1699. }
  1700. #if (defined(VK_EXT_conditional_rendering))
  1701. void cmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const noexcept {
  1702. fp_vkCmdBeginConditionalRenderingEXT(commandBuffer, pConditionalRenderingBegin);
  1703. }
  1704. #endif
  1705. #if (defined(VK_EXT_conditional_rendering))
  1706. void cmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const noexcept {
  1707. fp_vkCmdEndConditionalRenderingEXT(commandBuffer);
  1708. }
  1709. #endif
  1710. void cmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const noexcept {
  1711. fp_vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
  1712. }
  1713. void cmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const noexcept {
  1714. fp_vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
  1715. }
  1716. void cmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const noexcept {
  1717. fp_vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
  1718. }
  1719. void cmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const noexcept {
  1720. fp_vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
  1721. }
  1722. void cmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const noexcept {
  1723. fp_vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
  1724. }
  1725. void cmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) const noexcept {
  1726. fp_vkCmdNextSubpass(commandBuffer, contents);
  1727. }
  1728. void cmdEndRenderPass(VkCommandBuffer commandBuffer) const noexcept {
  1729. fp_vkCmdEndRenderPass(commandBuffer);
  1730. }
  1731. void cmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const noexcept {
  1732. fp_vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
  1733. }
  1734. #if (defined(VK_KHR_display_swapchain))
  1735. VkResult createSharedSwapchainsKHR(uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const noexcept {
  1736. return fp_vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
  1737. }
  1738. #endif
  1739. #if (defined(VK_KHR_swapchain))
  1740. VkResult createSwapchainKHR(const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const noexcept {
  1741. return fp_vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
  1742. }
  1743. #endif
  1744. #if (defined(VK_KHR_swapchain))
  1745. void destroySwapchainKHR(VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const noexcept {
  1746. fp_vkDestroySwapchainKHR(device, swapchain, pAllocator);
  1747. }
  1748. #endif
  1749. #if (defined(VK_KHR_swapchain))
  1750. VkResult getSwapchainImagesKHR(VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const noexcept {
  1751. return fp_vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
  1752. }
  1753. #endif
  1754. #if (defined(VK_KHR_swapchain))
  1755. VkResult acquireNextImageKHR(VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const noexcept {
  1756. return fp_vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
  1757. }
  1758. #endif
  1759. #if (defined(VK_KHR_swapchain))
  1760. VkResult queuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const noexcept {
  1761. return fp_vkQueuePresentKHR(queue, pPresentInfo);
  1762. }
  1763. #endif
  1764. #if (defined(VK_EXT_debug_marker))
  1765. VkResult debugMarkerSetObjectNameEXT(const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const noexcept {
  1766. return fp_vkDebugMarkerSetObjectNameEXT(device, pNameInfo);
  1767. }
  1768. #endif
  1769. #if (defined(VK_EXT_debug_marker))
  1770. VkResult debugMarkerSetObjectTagEXT(const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const noexcept {
  1771. return fp_vkDebugMarkerSetObjectTagEXT(device, pTagInfo);
  1772. }
  1773. #endif
  1774. #if (defined(VK_EXT_debug_marker))
  1775. void cmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const noexcept {
  1776. fp_vkCmdDebugMarkerBeginEXT(commandBuffer, pMarkerInfo);
  1777. }
  1778. #endif
  1779. #if (defined(VK_EXT_debug_marker))
  1780. void cmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const noexcept {
  1781. fp_vkCmdDebugMarkerEndEXT(commandBuffer);
  1782. }
  1783. #endif
  1784. #if (defined(VK_EXT_debug_marker))
  1785. void cmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const noexcept {
  1786. fp_vkCmdDebugMarkerInsertEXT(commandBuffer, pMarkerInfo);
  1787. }
  1788. #endif
  1789. #if (defined(VK_NV_external_memory_win32))
  1790. VkResult getMemoryWin32HandleNV(VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle) const noexcept {
  1791. return fp_vkGetMemoryWin32HandleNV(device, memory, handleType, pHandle);
  1792. }
  1793. #endif
  1794. #if (defined(VK_NV_device_generated_commands))
  1795. void cmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const noexcept {
  1796. fp_vkCmdExecuteGeneratedCommandsNV(commandBuffer, isPreprocessed, pGeneratedCommandsInfo);
  1797. }
  1798. #endif
  1799. #if (defined(VK_NV_device_generated_commands))
  1800. void cmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const noexcept {
  1801. fp_vkCmdPreprocessGeneratedCommandsNV(commandBuffer, pGeneratedCommandsInfo);
  1802. }
  1803. #endif
  1804. #if (defined(VK_NV_device_generated_commands))
  1805. void cmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const noexcept {
  1806. fp_vkCmdBindPipelineShaderGroupNV(commandBuffer, pipelineBindPoint, pipeline, groupIndex);
  1807. }
  1808. #endif
  1809. #if (defined(VK_NV_device_generated_commands))
  1810. void getGeneratedCommandsMemoryRequirementsNV(const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  1811. fp_vkGetGeneratedCommandsMemoryRequirementsNV(device, pInfo, pMemoryRequirements);
  1812. }
  1813. #endif
  1814. #if (defined(VK_NV_device_generated_commands))
  1815. VkResult createIndirectCommandsLayoutNV(const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const noexcept {
  1816. return fp_vkCreateIndirectCommandsLayoutNV(device, pCreateInfo, pAllocator, pIndirectCommandsLayout);
  1817. }
  1818. #endif
  1819. #if (defined(VK_NV_device_generated_commands))
  1820. void destroyIndirectCommandsLayoutNV(VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const noexcept {
  1821. fp_vkDestroyIndirectCommandsLayoutNV(device, indirectCommandsLayout, pAllocator);
  1822. }
  1823. #endif
  1824. #if (defined(VK_KHR_push_descriptor))
  1825. void cmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const noexcept {
  1826. fp_vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
  1827. }
  1828. #endif
  1829. #if (defined(VK_VERSION_1_1))
  1830. void trimCommandPool(VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) const noexcept {
  1831. fp_vkTrimCommandPool(device, commandPool, flags);
  1832. }
  1833. #endif
  1834. #if (defined(VK_KHR_external_memory_win32))
  1835. VkResult getMemoryWin32HandleKHR(const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle) const noexcept {
  1836. return fp_vkGetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
  1837. }
  1838. #endif
  1839. #if (defined(VK_KHR_external_memory_win32))
  1840. VkResult getMemoryWin32HandlePropertiesKHR(VkExternalMemoryHandleTypeFlagBitsKHR handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const noexcept {
  1841. return fp_vkGetMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties);
  1842. }
  1843. #endif
  1844. #if (defined(VK_KHR_external_memory_fd))
  1845. VkResult getMemoryFdKHR(const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const noexcept {
  1846. return fp_vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
  1847. }
  1848. #endif
  1849. #if (defined(VK_KHR_external_memory_fd))
  1850. VkResult getMemoryFdPropertiesKHR(VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const noexcept {
  1851. return fp_vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
  1852. }
  1853. #endif
  1854. #if (defined(VK_FUCHSIA_external_memory))
  1855. VkResult getMemoryZirconHandleFUCHSIA(const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle) const noexcept {
  1856. return fp_vkGetMemoryZirconHandleFUCHSIA(device, pGetZirconHandleInfo, pZirconHandle);
  1857. }
  1858. #endif
  1859. #if (defined(VK_FUCHSIA_external_memory))
  1860. VkResult getMemoryZirconHandlePropertiesFUCHSIA(VkExternalMemoryHandleTypeFlagBitsKHR handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const noexcept {
  1861. return fp_vkGetMemoryZirconHandlePropertiesFUCHSIA(device, handleType, zirconHandle, pMemoryZirconHandleProperties);
  1862. }
  1863. #endif
  1864. #if (defined(VK_NV_external_memory_rdma))
  1865. VkResult getMemoryRemoteAddressNV(const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const noexcept {
  1866. return fp_vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress);
  1867. }
  1868. #endif
  1869. #if (defined(VK_KHR_external_semaphore_win32))
  1870. VkResult getSemaphoreWin32HandleKHR(const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle) const noexcept {
  1871. return fp_vkGetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
  1872. }
  1873. #endif
  1874. #if (defined(VK_KHR_external_semaphore_win32))
  1875. VkResult importSemaphoreWin32HandleKHR(const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const noexcept {
  1876. return fp_vkImportSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo);
  1877. }
  1878. #endif
  1879. #if (defined(VK_KHR_external_semaphore_fd))
  1880. VkResult getSemaphoreFdKHR(const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const noexcept {
  1881. return fp_vkGetSemaphoreFdKHR(device, pGetFdInfo, pFd);
  1882. }
  1883. #endif
  1884. #if (defined(VK_KHR_external_semaphore_fd))
  1885. VkResult importSemaphoreFdKHR(const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const noexcept {
  1886. return fp_vkImportSemaphoreFdKHR(device, pImportSemaphoreFdInfo);
  1887. }
  1888. #endif
  1889. #if (defined(VK_FUCHSIA_external_semaphore))
  1890. VkResult getSemaphoreZirconHandleFUCHSIA(const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle) const noexcept {
  1891. return fp_vkGetSemaphoreZirconHandleFUCHSIA(device, pGetZirconHandleInfo, pZirconHandle);
  1892. }
  1893. #endif
  1894. #if (defined(VK_FUCHSIA_external_semaphore))
  1895. VkResult importSemaphoreZirconHandleFUCHSIA(const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const noexcept {
  1896. return fp_vkImportSemaphoreZirconHandleFUCHSIA(device, pImportSemaphoreZirconHandleInfo);
  1897. }
  1898. #endif
  1899. #if (defined(VK_KHR_external_fence_win32))
  1900. VkResult getFenceWin32HandleKHR(const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle) const noexcept {
  1901. return fp_vkGetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
  1902. }
  1903. #endif
  1904. #if (defined(VK_KHR_external_fence_win32))
  1905. VkResult importFenceWin32HandleKHR(const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const noexcept {
  1906. return fp_vkImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
  1907. }
  1908. #endif
  1909. #if (defined(VK_KHR_external_fence_fd))
  1910. VkResult getFenceFdKHR(const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const noexcept {
  1911. return fp_vkGetFenceFdKHR(device, pGetFdInfo, pFd);
  1912. }
  1913. #endif
  1914. #if (defined(VK_KHR_external_fence_fd))
  1915. VkResult importFenceFdKHR(const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const noexcept {
  1916. return fp_vkImportFenceFdKHR(device, pImportFenceFdInfo);
  1917. }
  1918. #endif
  1919. #if (defined(VK_EXT_display_control))
  1920. VkResult displayPowerControlEXT(VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const noexcept {
  1921. return fp_vkDisplayPowerControlEXT(device, display, pDisplayPowerInfo);
  1922. }
  1923. #endif
  1924. #if (defined(VK_EXT_display_control))
  1925. VkResult registerDeviceEventEXT(const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const noexcept {
  1926. return fp_vkRegisterDeviceEventEXT(device, pDeviceEventInfo, pAllocator, pFence);
  1927. }
  1928. #endif
  1929. #if (defined(VK_EXT_display_control))
  1930. VkResult registerDisplayEventEXT(VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const noexcept {
  1931. return fp_vkRegisterDisplayEventEXT(device, display, pDisplayEventInfo, pAllocator, pFence);
  1932. }
  1933. #endif
  1934. #if (defined(VK_EXT_display_control))
  1935. VkResult getSwapchainCounterEXT(VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const noexcept {
  1936. return fp_vkGetSwapchainCounterEXT(device, swapchain, counter, pCounterValue);
  1937. }
  1938. #endif
  1939. #if (defined(VK_VERSION_1_1))
  1940. void getDeviceGroupPeerMemoryFeatures(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlagsKHR* pPeerMemoryFeatures) const noexcept {
  1941. fp_vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
  1942. }
  1943. #endif
  1944. #if (defined(VK_VERSION_1_1))
  1945. VkResult bindBufferMemory2(uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) const noexcept {
  1946. return fp_vkBindBufferMemory2(device, bindInfoCount, pBindInfos);
  1947. }
  1948. #endif
  1949. #if (defined(VK_VERSION_1_1))
  1950. VkResult bindImageMemory2(uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) const noexcept {
  1951. return fp_vkBindImageMemory2(device, bindInfoCount, pBindInfos);
  1952. }
  1953. #endif
  1954. #if (defined(VK_VERSION_1_1))
  1955. void cmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) const noexcept {
  1956. fp_vkCmdSetDeviceMask(commandBuffer, deviceMask);
  1957. }
  1958. #endif
  1959. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_surface))
  1960. VkResult getDeviceGroupPresentCapabilitiesKHR(VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const noexcept {
  1961. return fp_vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
  1962. }
  1963. #endif
  1964. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_surface))
  1965. VkResult getDeviceGroupSurfacePresentModesKHR(VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const noexcept {
  1966. return fp_vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
  1967. }
  1968. #endif
  1969. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain))
  1970. VkResult acquireNextImage2KHR(const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const noexcept {
  1971. return fp_vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
  1972. }
  1973. #endif
  1974. #if (defined(VK_VERSION_1_1))
  1975. void cmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const noexcept {
  1976. fp_vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
  1977. }
  1978. #endif
  1979. #if (defined(VK_VERSION_1_1))
  1980. VkResult createDescriptorUpdateTemplate(const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) const noexcept {
  1981. return fp_vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
  1982. }
  1983. #endif
  1984. #if (defined(VK_VERSION_1_1))
  1985. void destroyDescriptorUpdateTemplate(VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const noexcept {
  1986. fp_vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
  1987. }
  1988. #endif
  1989. #if (defined(VK_VERSION_1_1))
  1990. void updateDescriptorSetWithTemplate(VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) const noexcept {
  1991. fp_vkUpdateDescriptorSetWithTemplate(device, descriptorSet, descriptorUpdateTemplate, pData);
  1992. }
  1993. #endif
  1994. #if (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) || (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor))
  1995. void cmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const noexcept {
  1996. fp_vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData);
  1997. }
  1998. #endif
  1999. #if (defined(VK_EXT_hdr_metadata))
  2000. void setHdrMetadataEXT(uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const noexcept {
  2001. fp_vkSetHdrMetadataEXT(device, swapchainCount, pSwapchains, pMetadata);
  2002. }
  2003. #endif
  2004. #if (defined(VK_KHR_shared_presentable_image))
  2005. VkResult getSwapchainStatusKHR(VkSwapchainKHR swapchain) const noexcept {
  2006. return fp_vkGetSwapchainStatusKHR(device, swapchain);
  2007. }
  2008. #endif
  2009. #if (defined(VK_GOOGLE_display_timing))
  2010. VkResult getRefreshCycleDurationGOOGLE(VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const noexcept {
  2011. return fp_vkGetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties);
  2012. }
  2013. #endif
  2014. #if (defined(VK_GOOGLE_display_timing))
  2015. VkResult getPastPresentationTimingGOOGLE(VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const noexcept {
  2016. return fp_vkGetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings);
  2017. }
  2018. #endif
  2019. #if (defined(VK_NV_clip_space_w_scaling))
  2020. void cmdSetViewportWScalingNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const noexcept {
  2021. fp_vkCmdSetViewportWScalingNV(commandBuffer, firstViewport, viewportCount, pViewportWScalings);
  2022. }
  2023. #endif
  2024. #if (defined(VK_EXT_discard_rectangles))
  2025. void cmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const noexcept {
  2026. fp_vkCmdSetDiscardRectangleEXT(commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles);
  2027. }
  2028. #endif
  2029. #if (defined(VK_EXT_sample_locations))
  2030. void cmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const noexcept {
  2031. fp_vkCmdSetSampleLocationsEXT(commandBuffer, pSampleLocationsInfo);
  2032. }
  2033. #endif
  2034. #if (defined(VK_VERSION_1_1))
  2035. void getBufferMemoryRequirements2(const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  2036. fp_vkGetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements);
  2037. }
  2038. #endif
  2039. #if (defined(VK_VERSION_1_1))
  2040. void getImageMemoryRequirements2(const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  2041. fp_vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
  2042. }
  2043. #endif
  2044. #if (defined(VK_VERSION_1_1))
  2045. void getImageSparseMemoryRequirements2(const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) const noexcept {
  2046. fp_vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
  2047. }
  2048. #endif
  2049. #if (defined(VK_VERSION_1_3))
  2050. void getDeviceBufferMemoryRequirements(const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  2051. fp_vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements);
  2052. }
  2053. #endif
  2054. #if (defined(VK_VERSION_1_3))
  2055. void getDeviceImageMemoryRequirements(const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  2056. fp_vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements);
  2057. }
  2058. #endif
  2059. #if (defined(VK_VERSION_1_3))
  2060. void getDeviceImageSparseMemoryRequirements(const VkDeviceImageMemoryRequirementsKHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) const noexcept {
  2061. fp_vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
  2062. }
  2063. #endif
  2064. #if (defined(VK_VERSION_1_1))
  2065. VkResult createSamplerYcbcrConversion(const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) const noexcept {
  2066. return fp_vkCreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion);
  2067. }
  2068. #endif
  2069. #if (defined(VK_VERSION_1_1))
  2070. void destroySamplerYcbcrConversion(VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) const noexcept {
  2071. fp_vkDestroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator);
  2072. }
  2073. #endif
  2074. #if (defined(VK_VERSION_1_1))
  2075. void getDeviceQueue2(const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const noexcept {
  2076. fp_vkGetDeviceQueue2(device, pQueueInfo, pQueue);
  2077. }
  2078. #endif
  2079. #if (defined(VK_EXT_validation_cache))
  2080. VkResult createValidationCacheEXT(const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const noexcept {
  2081. return fp_vkCreateValidationCacheEXT(device, pCreateInfo, pAllocator, pValidationCache);
  2082. }
  2083. #endif
  2084. #if (defined(VK_EXT_validation_cache))
  2085. void destroyValidationCacheEXT(VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const noexcept {
  2086. fp_vkDestroyValidationCacheEXT(device, validationCache, pAllocator);
  2087. }
  2088. #endif
  2089. #if (defined(VK_EXT_validation_cache))
  2090. VkResult getValidationCacheDataEXT(VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const noexcept {
  2091. return fp_vkGetValidationCacheDataEXT(device, validationCache, pDataSize, pData);
  2092. }
  2093. #endif
  2094. #if (defined(VK_EXT_validation_cache))
  2095. VkResult mergeValidationCachesEXT(VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const noexcept {
  2096. return fp_vkMergeValidationCachesEXT(device, dstCache, srcCacheCount, pSrcCaches);
  2097. }
  2098. #endif
  2099. #if (defined(VK_VERSION_1_1))
  2100. void getDescriptorSetLayoutSupport(const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupportKHR* pSupport) const noexcept {
  2101. fp_vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
  2102. }
  2103. #endif
  2104. #if (defined(VK_ANDROID_native_buffer))
  2105. VkResult getSwapchainGrallocUsageANDROID(VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) const noexcept {
  2106. return fp_vkGetSwapchainGrallocUsageANDROID(device, format, imageUsage, grallocUsage);
  2107. }
  2108. #endif
  2109. #if (defined(VK_ANDROID_native_buffer))
  2110. VkResult getSwapchainGrallocUsage2ANDROID(VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage) const noexcept {
  2111. return fp_vkGetSwapchainGrallocUsage2ANDROID(device, format, imageUsage, swapchainImageUsage, grallocConsumerUsage, grallocProducerUsage);
  2112. }
  2113. #endif
  2114. #if (defined(VK_ANDROID_native_buffer))
  2115. VkResult acquireImageANDROID(VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) const noexcept {
  2116. return fp_vkAcquireImageANDROID(device, image, nativeFenceFd, semaphore, fence);
  2117. }
  2118. #endif
  2119. #if (defined(VK_ANDROID_native_buffer))
  2120. VkResult queueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) const noexcept {
  2121. return fp_vkQueueSignalReleaseImageANDROID(queue, waitSemaphoreCount, pWaitSemaphores, image, pNativeFenceFd);
  2122. }
  2123. #endif
  2124. #if (defined(VK_AMD_shader_info))
  2125. VkResult getShaderInfoAMD(VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const noexcept {
  2126. return fp_vkGetShaderInfoAMD(device, pipeline, shaderStage, infoType, pInfoSize, pInfo);
  2127. }
  2128. #endif
  2129. #if (defined(VK_AMD_display_native_hdr))
  2130. void setLocalDimmingAMD(VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const noexcept {
  2131. fp_vkSetLocalDimmingAMD(device, swapChain, localDimmingEnable);
  2132. }
  2133. #endif
  2134. #if (defined(VK_EXT_calibrated_timestamps))
  2135. VkResult getCalibratedTimestampsEXT(uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const noexcept {
  2136. return fp_vkGetCalibratedTimestampsEXT(device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation);
  2137. }
  2138. #endif
  2139. #if (defined(VK_EXT_debug_utils))
  2140. VkResult setDebugUtilsObjectNameEXT(const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const noexcept {
  2141. return fp_vkSetDebugUtilsObjectNameEXT(device, pNameInfo);
  2142. }
  2143. #endif
  2144. #if (defined(VK_EXT_debug_utils))
  2145. VkResult setDebugUtilsObjectTagEXT(const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const noexcept {
  2146. return fp_vkSetDebugUtilsObjectTagEXT(device, pTagInfo);
  2147. }
  2148. #endif
  2149. #if (defined(VK_EXT_debug_utils))
  2150. void queueBeginDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const noexcept {
  2151. fp_vkQueueBeginDebugUtilsLabelEXT(queue, pLabelInfo);
  2152. }
  2153. #endif
  2154. #if (defined(VK_EXT_debug_utils))
  2155. void queueEndDebugUtilsLabelEXT(VkQueue queue) const noexcept {
  2156. fp_vkQueueEndDebugUtilsLabelEXT(queue);
  2157. }
  2158. #endif
  2159. #if (defined(VK_EXT_debug_utils))
  2160. void queueInsertDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const noexcept {
  2161. fp_vkQueueInsertDebugUtilsLabelEXT(queue, pLabelInfo);
  2162. }
  2163. #endif
  2164. #if (defined(VK_EXT_debug_utils))
  2165. void cmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const noexcept {
  2166. fp_vkCmdBeginDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
  2167. }
  2168. #endif
  2169. #if (defined(VK_EXT_debug_utils))
  2170. void cmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const noexcept {
  2171. fp_vkCmdEndDebugUtilsLabelEXT(commandBuffer);
  2172. }
  2173. #endif
  2174. #if (defined(VK_EXT_debug_utils))
  2175. void cmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const noexcept {
  2176. fp_vkCmdInsertDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
  2177. }
  2178. #endif
  2179. #if (defined(VK_EXT_external_memory_host))
  2180. VkResult getMemoryHostPointerPropertiesEXT(VkExternalMemoryHandleTypeFlagBitsKHR handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const noexcept {
  2181. return fp_vkGetMemoryHostPointerPropertiesEXT(device, handleType, pHostPointer, pMemoryHostPointerProperties);
  2182. }
  2183. #endif
  2184. #if (defined(VK_AMD_buffer_marker))
  2185. void cmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const noexcept {
  2186. fp_vkCmdWriteBufferMarkerAMD(commandBuffer, pipelineStage, dstBuffer, dstOffset, marker);
  2187. }
  2188. #endif
  2189. #if (defined(VK_VERSION_1_2))
  2190. VkResult createRenderPass2(const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const noexcept {
  2191. return fp_vkCreateRenderPass2(device, pCreateInfo, pAllocator, pRenderPass);
  2192. }
  2193. #endif
  2194. #if (defined(VK_VERSION_1_2))
  2195. void cmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo) const noexcept {
  2196. fp_vkCmdBeginRenderPass2(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
  2197. }
  2198. #endif
  2199. #if (defined(VK_VERSION_1_2))
  2200. void cmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo) const noexcept {
  2201. fp_vkCmdNextSubpass2(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
  2202. }
  2203. #endif
  2204. #if (defined(VK_VERSION_1_2))
  2205. void cmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo) const noexcept {
  2206. fp_vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo);
  2207. }
  2208. #endif
  2209. #if (defined(VK_VERSION_1_2))
  2210. VkResult getSemaphoreCounterValue(VkSemaphore semaphore, uint64_t* pValue) const noexcept {
  2211. return fp_vkGetSemaphoreCounterValue(device, semaphore, pValue);
  2212. }
  2213. #endif
  2214. #if (defined(VK_VERSION_1_2))
  2215. VkResult waitSemaphores(const VkSemaphoreWaitInfoKHR* pWaitInfo, uint64_t timeout) const noexcept {
  2216. return fp_vkWaitSemaphores(device, pWaitInfo, timeout);
  2217. }
  2218. #endif
  2219. #if (defined(VK_VERSION_1_2))
  2220. VkResult signalSemaphore(const VkSemaphoreSignalInfoKHR* pSignalInfo) const noexcept {
  2221. return fp_vkSignalSemaphore(device, pSignalInfo);
  2222. }
  2223. #endif
  2224. #if (defined(VK_ANDROID_external_memory_android_hardware_buffer))
  2225. VkResult getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const noexcept {
  2226. return fp_vkGetAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties);
  2227. }
  2228. #endif
  2229. #if (defined(VK_ANDROID_external_memory_android_hardware_buffer))
  2230. VkResult getMemoryAndroidHardwareBufferANDROID(const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer) const noexcept {
  2231. return fp_vkGetMemoryAndroidHardwareBufferANDROID(device, pInfo, pBuffer);
  2232. }
  2233. #endif
  2234. #if (defined(VK_VERSION_1_2))
  2235. void cmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const noexcept {
  2236. fp_vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
  2237. }
  2238. #endif
  2239. #if (defined(VK_VERSION_1_2))
  2240. void cmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const noexcept {
  2241. fp_vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
  2242. }
  2243. #endif
  2244. #if (defined(VK_NV_device_diagnostic_checkpoints))
  2245. void cmdSetCheckpointNV(VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const noexcept {
  2246. fp_vkCmdSetCheckpointNV(commandBuffer, pCheckpointMarker);
  2247. }
  2248. #endif
  2249. #if (defined(VK_NV_device_diagnostic_checkpoints))
  2250. void getQueueCheckpointDataNV(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const noexcept {
  2251. fp_vkGetQueueCheckpointDataNV(queue, pCheckpointDataCount, pCheckpointData);
  2252. }
  2253. #endif
  2254. #if (defined(VK_EXT_transform_feedback))
  2255. void cmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const noexcept {
  2256. fp_vkCmdBindTransformFeedbackBuffersEXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
  2257. }
  2258. #endif
  2259. #if (defined(VK_EXT_transform_feedback))
  2260. void cmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const noexcept {
  2261. fp_vkCmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
  2262. }
  2263. #endif
  2264. #if (defined(VK_EXT_transform_feedback))
  2265. void cmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const noexcept {
  2266. fp_vkCmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
  2267. }
  2268. #endif
  2269. #if (defined(VK_EXT_transform_feedback))
  2270. void cmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const noexcept {
  2271. fp_vkCmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags, index);
  2272. }
  2273. #endif
  2274. #if (defined(VK_EXT_transform_feedback))
  2275. void cmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const noexcept {
  2276. fp_vkCmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index);
  2277. }
  2278. #endif
  2279. #if (defined(VK_EXT_transform_feedback))
  2280. void cmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const noexcept {
  2281. fp_vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
  2282. }
  2283. #endif
  2284. #if (defined(VK_NV_scissor_exclusive))
  2285. void cmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const noexcept {
  2286. fp_vkCmdSetExclusiveScissorNV(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors);
  2287. }
  2288. #endif
  2289. #if (defined(VK_NV_shading_rate_image))
  2290. void cmdBindShadingRateImageNV(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const noexcept {
  2291. fp_vkCmdBindShadingRateImageNV(commandBuffer, imageView, imageLayout);
  2292. }
  2293. #endif
  2294. #if (defined(VK_NV_shading_rate_image))
  2295. void cmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const noexcept {
  2296. fp_vkCmdSetViewportShadingRatePaletteNV(commandBuffer, firstViewport, viewportCount, pShadingRatePalettes);
  2297. }
  2298. #endif
  2299. #if (defined(VK_NV_shading_rate_image))
  2300. void cmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const noexcept {
  2301. fp_vkCmdSetCoarseSampleOrderNV(commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders);
  2302. }
  2303. #endif
  2304. #if (defined(VK_NV_mesh_shader))
  2305. void cmdDrawMeshTasksNV(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const noexcept {
  2306. fp_vkCmdDrawMeshTasksNV(commandBuffer, taskCount, firstTask);
  2307. }
  2308. #endif
  2309. #if (defined(VK_NV_mesh_shader))
  2310. void cmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const noexcept {
  2311. fp_vkCmdDrawMeshTasksIndirectNV(commandBuffer, buffer, offset, drawCount, stride);
  2312. }
  2313. #endif
  2314. #if (defined(VK_NV_mesh_shader))
  2315. void cmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const noexcept {
  2316. fp_vkCmdDrawMeshTasksIndirectCountNV(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
  2317. }
  2318. #endif
  2319. #if (defined(VK_EXT_mesh_shader))
  2320. void cmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const noexcept {
  2321. fp_vkCmdDrawMeshTasksEXT(commandBuffer, groupCountX, groupCountY, groupCountZ);
  2322. }
  2323. #endif
  2324. #if (defined(VK_EXT_mesh_shader))
  2325. void cmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const noexcept {
  2326. fp_vkCmdDrawMeshTasksIndirectEXT(commandBuffer, buffer, offset, drawCount, stride);
  2327. }
  2328. #endif
  2329. #if (defined(VK_EXT_mesh_shader))
  2330. void cmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const noexcept {
  2331. fp_vkCmdDrawMeshTasksIndirectCountEXT(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
  2332. }
  2333. #endif
  2334. #if (defined(VK_NV_ray_tracing))
  2335. VkResult compileDeferredNV(VkPipeline pipeline, uint32_t shader) const noexcept {
  2336. return fp_vkCompileDeferredNV(device, pipeline, shader);
  2337. }
  2338. #endif
  2339. #if (defined(VK_NV_ray_tracing))
  2340. VkResult createAccelerationStructureNV(const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const noexcept {
  2341. return fp_vkCreateAccelerationStructureNV(device, pCreateInfo, pAllocator, pAccelerationStructure);
  2342. }
  2343. #endif
  2344. #if (defined(VK_HUAWEI_invocation_mask))
  2345. void cmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const noexcept {
  2346. fp_vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout);
  2347. }
  2348. #endif
  2349. #if (defined(VK_KHR_acceleration_structure))
  2350. void destroyAccelerationStructureKHR(VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const noexcept {
  2351. fp_vkDestroyAccelerationStructureKHR(device, accelerationStructure, pAllocator);
  2352. }
  2353. #endif
  2354. #if (defined(VK_NV_ray_tracing))
  2355. void destroyAccelerationStructureNV(VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const noexcept {
  2356. fp_vkDestroyAccelerationStructureNV(device, accelerationStructure, pAllocator);
  2357. }
  2358. #endif
  2359. #if (defined(VK_NV_ray_tracing))
  2360. void getAccelerationStructureMemoryRequirementsNV(const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  2361. fp_vkGetAccelerationStructureMemoryRequirementsNV(device, pInfo, pMemoryRequirements);
  2362. }
  2363. #endif
  2364. #if (defined(VK_NV_ray_tracing))
  2365. VkResult bindAccelerationStructureMemoryNV(uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const noexcept {
  2366. return fp_vkBindAccelerationStructureMemoryNV(device, bindInfoCount, pBindInfos);
  2367. }
  2368. #endif
  2369. #if (defined(VK_NV_ray_tracing))
  2370. void cmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeNV mode) const noexcept {
  2371. fp_vkCmdCopyAccelerationStructureNV(commandBuffer, dst, src, mode);
  2372. }
  2373. #endif
  2374. #if (defined(VK_KHR_acceleration_structure))
  2375. void cmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const noexcept {
  2376. fp_vkCmdCopyAccelerationStructureKHR(commandBuffer, pInfo);
  2377. }
  2378. #endif
  2379. #if (defined(VK_KHR_acceleration_structure))
  2380. VkResult copyAccelerationStructureKHR(VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const noexcept {
  2381. return fp_vkCopyAccelerationStructureKHR(device, deferredOperation, pInfo);
  2382. }
  2383. #endif
  2384. #if (defined(VK_KHR_acceleration_structure))
  2385. void cmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const noexcept {
  2386. fp_vkCmdCopyAccelerationStructureToMemoryKHR(commandBuffer, pInfo);
  2387. }
  2388. #endif
  2389. #if (defined(VK_KHR_acceleration_structure))
  2390. VkResult copyAccelerationStructureToMemoryKHR(VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const noexcept {
  2391. return fp_vkCopyAccelerationStructureToMemoryKHR(device, deferredOperation, pInfo);
  2392. }
  2393. #endif
  2394. #if (defined(VK_KHR_acceleration_structure))
  2395. void cmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const noexcept {
  2396. fp_vkCmdCopyMemoryToAccelerationStructureKHR(commandBuffer, pInfo);
  2397. }
  2398. #endif
  2399. #if (defined(VK_KHR_acceleration_structure))
  2400. VkResult copyMemoryToAccelerationStructureKHR(VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const noexcept {
  2401. return fp_vkCopyMemoryToAccelerationStructureKHR(device, deferredOperation, pInfo);
  2402. }
  2403. #endif
  2404. #if (defined(VK_KHR_acceleration_structure))
  2405. void cmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const noexcept {
  2406. fp_vkCmdWriteAccelerationStructuresPropertiesKHR(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery);
  2407. }
  2408. #endif
  2409. #if (defined(VK_NV_ray_tracing))
  2410. void cmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const noexcept {
  2411. fp_vkCmdWriteAccelerationStructuresPropertiesNV(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery);
  2412. }
  2413. #endif
  2414. #if (defined(VK_NV_ray_tracing))
  2415. void cmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const noexcept {
  2416. fp_vkCmdBuildAccelerationStructureNV(commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset);
  2417. }
  2418. #endif
  2419. #if (defined(VK_KHR_acceleration_structure))
  2420. VkResult writeAccelerationStructuresPropertiesKHR(uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const noexcept {
  2421. return fp_vkWriteAccelerationStructuresPropertiesKHR(device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride);
  2422. }
  2423. #endif
  2424. #if (defined(VK_KHR_ray_tracing_pipeline))
  2425. void cmdTraceRaysKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const noexcept {
  2426. fp_vkCmdTraceRaysKHR(commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth);
  2427. }
  2428. #endif
  2429. #if (defined(VK_NV_ray_tracing))
  2430. void cmdTraceRaysNV(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const noexcept {
  2431. fp_vkCmdTraceRaysNV(commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth);
  2432. }
  2433. #endif
  2434. #if (defined(VK_KHR_ray_tracing_pipeline))
  2435. VkResult getRayTracingShaderGroupHandlesKHR(VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const noexcept {
  2436. return fp_vkGetRayTracingShaderGroupHandlesKHR(device, pipeline, firstGroup, groupCount, dataSize, pData);
  2437. }
  2438. #endif
  2439. #if (defined(VK_KHR_ray_tracing_pipeline))
  2440. VkResult getRayTracingCaptureReplayShaderGroupHandlesKHR(VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const noexcept {
  2441. return fp_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(device, pipeline, firstGroup, groupCount, dataSize, pData);
  2442. }
  2443. #endif
  2444. #if (defined(VK_NV_ray_tracing))
  2445. VkResult getAccelerationStructureHandleNV(VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const noexcept {
  2446. return fp_vkGetAccelerationStructureHandleNV(device, accelerationStructure, dataSize, pData);
  2447. }
  2448. #endif
  2449. #if (defined(VK_NV_ray_tracing))
  2450. VkResult createRayTracingPipelinesNV(VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const noexcept {
  2451. return fp_vkCreateRayTracingPipelinesNV(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
  2452. }
  2453. #endif
  2454. #if (defined(VK_KHR_ray_tracing_pipeline))
  2455. VkResult createRayTracingPipelinesKHR(VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const noexcept {
  2456. return fp_vkCreateRayTracingPipelinesKHR(device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
  2457. }
  2458. #endif
  2459. #if (defined(VK_KHR_ray_tracing_pipeline))
  2460. void cmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const noexcept {
  2461. fp_vkCmdTraceRaysIndirectKHR(commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress);
  2462. }
  2463. #endif
  2464. #if (defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline))
  2465. void cmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const noexcept {
  2466. fp_vkCmdTraceRaysIndirect2KHR(commandBuffer, indirectDeviceAddress);
  2467. }
  2468. #endif
  2469. #if (defined(VK_KHR_acceleration_structure))
  2470. void getDeviceAccelerationStructureCompatibilityKHR(const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const noexcept {
  2471. fp_vkGetDeviceAccelerationStructureCompatibilityKHR(device, pVersionInfo, pCompatibility);
  2472. }
  2473. #endif
  2474. #if (defined(VK_KHR_ray_tracing_pipeline))
  2475. VkDeviceSize getRayTracingShaderGroupStackSizeKHR(VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const noexcept {
  2476. return fp_vkGetRayTracingShaderGroupStackSizeKHR(device, pipeline, group, groupShader);
  2477. }
  2478. #endif
  2479. #if (defined(VK_KHR_ray_tracing_pipeline))
  2480. void cmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const noexcept {
  2481. fp_vkCmdSetRayTracingPipelineStackSizeKHR(commandBuffer, pipelineStackSize);
  2482. }
  2483. #endif
  2484. #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
  2485. VkResult getDeviceGroupSurfacePresentModes2EXT(const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const noexcept {
  2486. return fp_vkGetDeviceGroupSurfacePresentModes2EXT(device, pSurfaceInfo, pModes);
  2487. }
  2488. #endif
  2489. #if (defined(VK_EXT_full_screen_exclusive))
  2490. VkResult acquireFullScreenExclusiveModeEXT(VkSwapchainKHR swapchain) const noexcept {
  2491. return fp_vkAcquireFullScreenExclusiveModeEXT(device, swapchain);
  2492. }
  2493. #endif
  2494. #if (defined(VK_EXT_full_screen_exclusive))
  2495. VkResult releaseFullScreenExclusiveModeEXT(VkSwapchainKHR swapchain) const noexcept {
  2496. return fp_vkReleaseFullScreenExclusiveModeEXT(device, swapchain);
  2497. }
  2498. #endif
  2499. #if (defined(VK_KHR_performance_query))
  2500. VkResult acquireProfilingLockKHR(const VkAcquireProfilingLockInfoKHR* pInfo) const noexcept {
  2501. return fp_vkAcquireProfilingLockKHR(device, pInfo);
  2502. }
  2503. #endif
  2504. #if (defined(VK_KHR_performance_query))
  2505. void releaseProfilingLockKHR() const noexcept {
  2506. fp_vkReleaseProfilingLockKHR(device);
  2507. }
  2508. #endif
  2509. #if (defined(VK_EXT_image_drm_format_modifier))
  2510. VkResult getImageDrmFormatModifierPropertiesEXT(VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const noexcept {
  2511. return fp_vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
  2512. }
  2513. #endif
  2514. #if (defined(VK_VERSION_1_2))
  2515. uint64_t getBufferOpaqueCaptureAddress(const VkBufferDeviceAddressInfoEXT* pInfo) const noexcept {
  2516. return fp_vkGetBufferOpaqueCaptureAddress(device, pInfo);
  2517. }
  2518. #endif
  2519. #if (defined(VK_VERSION_1_2))
  2520. VkDeviceAddress getBufferDeviceAddress(const VkBufferDeviceAddressInfoEXT* pInfo) const noexcept {
  2521. return fp_vkGetBufferDeviceAddress(device, pInfo);
  2522. }
  2523. #endif
  2524. #if (defined(VK_INTEL_performance_query))
  2525. VkResult initializePerformanceApiINTEL(const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const noexcept {
  2526. return fp_vkInitializePerformanceApiINTEL(device, pInitializeInfo);
  2527. }
  2528. #endif
  2529. #if (defined(VK_INTEL_performance_query))
  2530. void uninitializePerformanceApiINTEL() const noexcept {
  2531. fp_vkUninitializePerformanceApiINTEL(device);
  2532. }
  2533. #endif
  2534. #if (defined(VK_INTEL_performance_query))
  2535. VkResult cmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const noexcept {
  2536. return fp_vkCmdSetPerformanceMarkerINTEL(commandBuffer, pMarkerInfo);
  2537. }
  2538. #endif
  2539. #if (defined(VK_INTEL_performance_query))
  2540. VkResult cmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const noexcept {
  2541. return fp_vkCmdSetPerformanceStreamMarkerINTEL(commandBuffer, pMarkerInfo);
  2542. }
  2543. #endif
  2544. #if (defined(VK_INTEL_performance_query))
  2545. VkResult cmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const noexcept {
  2546. return fp_vkCmdSetPerformanceOverrideINTEL(commandBuffer, pOverrideInfo);
  2547. }
  2548. #endif
  2549. #if (defined(VK_INTEL_performance_query))
  2550. VkResult acquirePerformanceConfigurationINTEL(const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const noexcept {
  2551. return fp_vkAcquirePerformanceConfigurationINTEL(device, pAcquireInfo, pConfiguration);
  2552. }
  2553. #endif
  2554. #if (defined(VK_INTEL_performance_query))
  2555. VkResult releasePerformanceConfigurationINTEL(VkPerformanceConfigurationINTEL configuration) const noexcept {
  2556. return fp_vkReleasePerformanceConfigurationINTEL(device, configuration);
  2557. }
  2558. #endif
  2559. #if (defined(VK_INTEL_performance_query))
  2560. VkResult queueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration) const noexcept {
  2561. return fp_vkQueueSetPerformanceConfigurationINTEL(queue, configuration);
  2562. }
  2563. #endif
  2564. #if (defined(VK_INTEL_performance_query))
  2565. VkResult getPerformanceParameterINTEL(VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const noexcept {
  2566. return fp_vkGetPerformanceParameterINTEL(device, parameter, pValue);
  2567. }
  2568. #endif
  2569. #if (defined(VK_VERSION_1_2))
  2570. uint64_t getDeviceMemoryOpaqueCaptureAddress(const VkDeviceMemoryOpaqueCaptureAddressInfoKHR* pInfo) const noexcept {
  2571. return fp_vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo);
  2572. }
  2573. #endif
  2574. #if (defined(VK_KHR_pipeline_executable_properties))
  2575. VkResult getPipelineExecutablePropertiesKHR(const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const noexcept {
  2576. return fp_vkGetPipelineExecutablePropertiesKHR(device, pPipelineInfo, pExecutableCount, pProperties);
  2577. }
  2578. #endif
  2579. #if (defined(VK_KHR_pipeline_executable_properties))
  2580. VkResult getPipelineExecutableStatisticsKHR(const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const noexcept {
  2581. return fp_vkGetPipelineExecutableStatisticsKHR(device, pExecutableInfo, pStatisticCount, pStatistics);
  2582. }
  2583. #endif
  2584. #if (defined(VK_KHR_pipeline_executable_properties))
  2585. VkResult getPipelineExecutableInternalRepresentationsKHR(const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const noexcept {
  2586. return fp_vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations);
  2587. }
  2588. #endif
  2589. #if (defined(VK_EXT_line_rasterization))
  2590. void cmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const noexcept {
  2591. fp_vkCmdSetLineStippleEXT(commandBuffer, lineStippleFactor, lineStipplePattern);
  2592. }
  2593. #endif
  2594. #if (defined(VK_KHR_acceleration_structure))
  2595. VkResult createAccelerationStructureKHR(const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const noexcept {
  2596. return fp_vkCreateAccelerationStructureKHR(device, pCreateInfo, pAllocator, pAccelerationStructure);
  2597. }
  2598. #endif
  2599. #if (defined(VK_KHR_acceleration_structure))
  2600. void cmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const noexcept {
  2601. fp_vkCmdBuildAccelerationStructuresKHR(commandBuffer, infoCount, pInfos, ppBuildRangeInfos);
  2602. }
  2603. #endif
  2604. #if (defined(VK_KHR_acceleration_structure))
  2605. void cmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const noexcept {
  2606. fp_vkCmdBuildAccelerationStructuresIndirectKHR(commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts);
  2607. }
  2608. #endif
  2609. #if (defined(VK_KHR_acceleration_structure))
  2610. VkResult buildAccelerationStructuresKHR(VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const noexcept {
  2611. return fp_vkBuildAccelerationStructuresKHR(device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos);
  2612. }
  2613. #endif
  2614. #if (defined(VK_KHR_acceleration_structure))
  2615. VkDeviceAddress getAccelerationStructureDeviceAddressKHR(const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const noexcept {
  2616. return fp_vkGetAccelerationStructureDeviceAddressKHR(device, pInfo);
  2617. }
  2618. #endif
  2619. #if (defined(VK_KHR_deferred_host_operations))
  2620. VkResult createDeferredOperationKHR(const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const noexcept {
  2621. return fp_vkCreateDeferredOperationKHR(device, pAllocator, pDeferredOperation);
  2622. }
  2623. #endif
  2624. #if (defined(VK_KHR_deferred_host_operations))
  2625. void destroyDeferredOperationKHR(VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const noexcept {
  2626. fp_vkDestroyDeferredOperationKHR(device, operation, pAllocator);
  2627. }
  2628. #endif
  2629. #if (defined(VK_KHR_deferred_host_operations))
  2630. uint32_t getDeferredOperationMaxConcurrencyKHR(VkDeferredOperationKHR operation) const noexcept {
  2631. return fp_vkGetDeferredOperationMaxConcurrencyKHR(device, operation);
  2632. }
  2633. #endif
  2634. #if (defined(VK_KHR_deferred_host_operations))
  2635. VkResult getDeferredOperationResultKHR(VkDeferredOperationKHR operation) const noexcept {
  2636. return fp_vkGetDeferredOperationResultKHR(device, operation);
  2637. }
  2638. #endif
  2639. #if (defined(VK_KHR_deferred_host_operations))
  2640. VkResult deferredOperationJoinKHR(VkDeferredOperationKHR operation) const noexcept {
  2641. return fp_vkDeferredOperationJoinKHR(device, operation);
  2642. }
  2643. #endif
  2644. #if (defined(VK_VERSION_1_3))
  2645. void cmdSetCullMode(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const noexcept {
  2646. fp_vkCmdSetCullMode(commandBuffer, cullMode);
  2647. }
  2648. #endif
  2649. #if (defined(VK_VERSION_1_3))
  2650. void cmdSetFrontFace(VkCommandBuffer commandBuffer, VkFrontFace frontFace) const noexcept {
  2651. fp_vkCmdSetFrontFace(commandBuffer, frontFace);
  2652. }
  2653. #endif
  2654. #if (defined(VK_VERSION_1_3))
  2655. void cmdSetPrimitiveTopology(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const noexcept {
  2656. fp_vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology);
  2657. }
  2658. #endif
  2659. #if (defined(VK_VERSION_1_3))
  2660. void cmdSetViewportWithCount(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const noexcept {
  2661. fp_vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports);
  2662. }
  2663. #endif
  2664. #if (defined(VK_VERSION_1_3))
  2665. void cmdSetScissorWithCount(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const noexcept {
  2666. fp_vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors);
  2667. }
  2668. #endif
  2669. #if (defined(VK_VERSION_1_3))
  2670. void cmdBindVertexBuffers2(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const noexcept {
  2671. fp_vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides);
  2672. }
  2673. #endif
  2674. #if (defined(VK_VERSION_1_3))
  2675. void cmdSetDepthTestEnable(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const noexcept {
  2676. fp_vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable);
  2677. }
  2678. #endif
  2679. #if (defined(VK_VERSION_1_3))
  2680. void cmdSetDepthWriteEnable(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const noexcept {
  2681. fp_vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable);
  2682. }
  2683. #endif
  2684. #if (defined(VK_VERSION_1_3))
  2685. void cmdSetDepthCompareOp(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const noexcept {
  2686. fp_vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp);
  2687. }
  2688. #endif
  2689. #if (defined(VK_VERSION_1_3))
  2690. void cmdSetDepthBoundsTestEnable(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const noexcept {
  2691. fp_vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable);
  2692. }
  2693. #endif
  2694. #if (defined(VK_VERSION_1_3))
  2695. void cmdSetStencilTestEnable(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const noexcept {
  2696. fp_vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable);
  2697. }
  2698. #endif
  2699. #if (defined(VK_VERSION_1_3))
  2700. void cmdSetStencilOp(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const noexcept {
  2701. fp_vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp);
  2702. }
  2703. #endif
  2704. #if (defined(VK_EXT_extended_dynamic_state2))
  2705. void cmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const noexcept {
  2706. fp_vkCmdSetPatchControlPointsEXT(commandBuffer, patchControlPoints);
  2707. }
  2708. #endif
  2709. #if (defined(VK_VERSION_1_3))
  2710. void cmdSetRasterizerDiscardEnable(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const noexcept {
  2711. fp_vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable);
  2712. }
  2713. #endif
  2714. #if (defined(VK_VERSION_1_3))
  2715. void cmdSetDepthBiasEnable(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const noexcept {
  2716. fp_vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable);
  2717. }
  2718. #endif
  2719. #if (defined(VK_EXT_extended_dynamic_state2))
  2720. void cmdSetLogicOpEXT(VkCommandBuffer commandBuffer, VkLogicOp logicOp) const noexcept {
  2721. fp_vkCmdSetLogicOpEXT(commandBuffer, logicOp);
  2722. }
  2723. #endif
  2724. #if (defined(VK_VERSION_1_3))
  2725. void cmdSetPrimitiveRestartEnable(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const noexcept {
  2726. fp_vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable);
  2727. }
  2728. #endif
  2729. #if (defined(VK_EXT_extended_dynamic_state3))
  2730. void cmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOriginKHR domainOrigin) const noexcept {
  2731. fp_vkCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin);
  2732. }
  2733. #endif
  2734. #if (defined(VK_EXT_extended_dynamic_state3))
  2735. void cmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) const noexcept {
  2736. fp_vkCmdSetDepthClampEnableEXT(commandBuffer, depthClampEnable);
  2737. }
  2738. #endif
  2739. #if (defined(VK_EXT_extended_dynamic_state3))
  2740. void cmdSetPolygonModeEXT(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode) const noexcept {
  2741. fp_vkCmdSetPolygonModeEXT(commandBuffer, polygonMode);
  2742. }
  2743. #endif
  2744. #if (defined(VK_EXT_extended_dynamic_state3))
  2745. void cmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples) const noexcept {
  2746. fp_vkCmdSetRasterizationSamplesEXT(commandBuffer, rasterizationSamples);
  2747. }
  2748. #endif
  2749. #if (defined(VK_EXT_extended_dynamic_state3))
  2750. void cmdSetSampleMaskEXT(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask) const noexcept {
  2751. fp_vkCmdSetSampleMaskEXT(commandBuffer, samples, pSampleMask);
  2752. }
  2753. #endif
  2754. #if (defined(VK_EXT_extended_dynamic_state3))
  2755. void cmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable) const noexcept {
  2756. fp_vkCmdSetAlphaToCoverageEnableEXT(commandBuffer, alphaToCoverageEnable);
  2757. }
  2758. #endif
  2759. #if (defined(VK_EXT_extended_dynamic_state3))
  2760. void cmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable) const noexcept {
  2761. fp_vkCmdSetAlphaToOneEnableEXT(commandBuffer, alphaToOneEnable);
  2762. }
  2763. #endif
  2764. #if (defined(VK_EXT_extended_dynamic_state3))
  2765. void cmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable) const noexcept {
  2766. fp_vkCmdSetLogicOpEnableEXT(commandBuffer, logicOpEnable);
  2767. }
  2768. #endif
  2769. #if (defined(VK_EXT_extended_dynamic_state3))
  2770. void cmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables) const noexcept {
  2771. fp_vkCmdSetColorBlendEnableEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables);
  2772. }
  2773. #endif
  2774. #if (defined(VK_EXT_extended_dynamic_state3))
  2775. void cmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations) const noexcept {
  2776. fp_vkCmdSetColorBlendEquationEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations);
  2777. }
  2778. #endif
  2779. #if (defined(VK_EXT_extended_dynamic_state3))
  2780. void cmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks) const noexcept {
  2781. fp_vkCmdSetColorWriteMaskEXT(commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks);
  2782. }
  2783. #endif
  2784. #if (defined(VK_EXT_extended_dynamic_state3))
  2785. void cmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream) const noexcept {
  2786. fp_vkCmdSetRasterizationStreamEXT(commandBuffer, rasterizationStream);
  2787. }
  2788. #endif
  2789. #if (defined(VK_EXT_extended_dynamic_state3))
  2790. void cmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode) const noexcept {
  2791. fp_vkCmdSetConservativeRasterizationModeEXT(commandBuffer, conservativeRasterizationMode);
  2792. }
  2793. #endif
  2794. #if (defined(VK_EXT_extended_dynamic_state3))
  2795. void cmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize) const noexcept {
  2796. fp_vkCmdSetExtraPrimitiveOverestimationSizeEXT(commandBuffer, extraPrimitiveOverestimationSize);
  2797. }
  2798. #endif
  2799. #if (defined(VK_EXT_extended_dynamic_state3))
  2800. void cmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable) const noexcept {
  2801. fp_vkCmdSetDepthClipEnableEXT(commandBuffer, depthClipEnable);
  2802. }
  2803. #endif
  2804. #if (defined(VK_EXT_extended_dynamic_state3))
  2805. void cmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable) const noexcept {
  2806. fp_vkCmdSetSampleLocationsEnableEXT(commandBuffer, sampleLocationsEnable);
  2807. }
  2808. #endif
  2809. #if (defined(VK_EXT_extended_dynamic_state3))
  2810. void cmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced) const noexcept {
  2811. fp_vkCmdSetColorBlendAdvancedEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced);
  2812. }
  2813. #endif
  2814. #if (defined(VK_EXT_extended_dynamic_state3))
  2815. void cmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode) const noexcept {
  2816. fp_vkCmdSetProvokingVertexModeEXT(commandBuffer, provokingVertexMode);
  2817. }
  2818. #endif
  2819. #if (defined(VK_EXT_extended_dynamic_state3))
  2820. void cmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode) const noexcept {
  2821. fp_vkCmdSetLineRasterizationModeEXT(commandBuffer, lineRasterizationMode);
  2822. }
  2823. #endif
  2824. #if (defined(VK_EXT_extended_dynamic_state3))
  2825. void cmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable) const noexcept {
  2826. fp_vkCmdSetLineStippleEnableEXT(commandBuffer, stippledLineEnable);
  2827. }
  2828. #endif
  2829. #if (defined(VK_EXT_extended_dynamic_state3))
  2830. void cmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne) const noexcept {
  2831. fp_vkCmdSetDepthClipNegativeOneToOneEXT(commandBuffer, negativeOneToOne);
  2832. }
  2833. #endif
  2834. #if (defined(VK_EXT_extended_dynamic_state3))
  2835. void cmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable) const noexcept {
  2836. fp_vkCmdSetViewportWScalingEnableNV(commandBuffer, viewportWScalingEnable);
  2837. }
  2838. #endif
  2839. #if (defined(VK_EXT_extended_dynamic_state3))
  2840. void cmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles) const noexcept {
  2841. fp_vkCmdSetViewportSwizzleNV(commandBuffer, firstViewport, viewportCount, pViewportSwizzles);
  2842. }
  2843. #endif
  2844. #if (defined(VK_EXT_extended_dynamic_state3))
  2845. void cmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable) const noexcept {
  2846. fp_vkCmdSetCoverageToColorEnableNV(commandBuffer, coverageToColorEnable);
  2847. }
  2848. #endif
  2849. #if (defined(VK_EXT_extended_dynamic_state3))
  2850. void cmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation) const noexcept {
  2851. fp_vkCmdSetCoverageToColorLocationNV(commandBuffer, coverageToColorLocation);
  2852. }
  2853. #endif
  2854. #if (defined(VK_EXT_extended_dynamic_state3))
  2855. void cmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode) const noexcept {
  2856. fp_vkCmdSetCoverageModulationModeNV(commandBuffer, coverageModulationMode);
  2857. }
  2858. #endif
  2859. #if (defined(VK_EXT_extended_dynamic_state3))
  2860. void cmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable) const noexcept {
  2861. fp_vkCmdSetCoverageModulationTableEnableNV(commandBuffer, coverageModulationTableEnable);
  2862. }
  2863. #endif
  2864. #if (defined(VK_EXT_extended_dynamic_state3))
  2865. void cmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable) const noexcept {
  2866. fp_vkCmdSetCoverageModulationTableNV(commandBuffer, coverageModulationTableCount, pCoverageModulationTable);
  2867. }
  2868. #endif
  2869. #if (defined(VK_EXT_extended_dynamic_state3))
  2870. void cmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable) const noexcept {
  2871. fp_vkCmdSetShadingRateImageEnableNV(commandBuffer, shadingRateImageEnable);
  2872. }
  2873. #endif
  2874. #if (defined(VK_EXT_extended_dynamic_state3))
  2875. void cmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode) const noexcept {
  2876. fp_vkCmdSetCoverageReductionModeNV(commandBuffer, coverageReductionMode);
  2877. }
  2878. #endif
  2879. #if (defined(VK_EXT_extended_dynamic_state3))
  2880. void cmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable) const noexcept {
  2881. fp_vkCmdSetRepresentativeFragmentTestEnableNV(commandBuffer, representativeFragmentTestEnable);
  2882. }
  2883. #endif
  2884. #if (defined(VK_VERSION_1_3))
  2885. VkResult createPrivateDataSlot(const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) const noexcept {
  2886. return fp_vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot);
  2887. }
  2888. #endif
  2889. #if (defined(VK_VERSION_1_3))
  2890. void destroyPrivateDataSlot(VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) const noexcept {
  2891. fp_vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator);
  2892. }
  2893. #endif
  2894. #if (defined(VK_VERSION_1_3))
  2895. VkResult setPrivateData(VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) const noexcept {
  2896. return fp_vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data);
  2897. }
  2898. #endif
  2899. #if (defined(VK_VERSION_1_3))
  2900. void getPrivateData(VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) const noexcept {
  2901. fp_vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData);
  2902. }
  2903. #endif
  2904. #if (defined(VK_VERSION_1_3))
  2905. void cmdCopyBuffer2(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) const noexcept {
  2906. fp_vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo);
  2907. }
  2908. #endif
  2909. #if (defined(VK_VERSION_1_3))
  2910. void cmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) const noexcept {
  2911. fp_vkCmdCopyImage2(commandBuffer, pCopyImageInfo);
  2912. }
  2913. #endif
  2914. #if (defined(VK_VERSION_1_3))
  2915. void cmdBlitImage2(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) const noexcept {
  2916. fp_vkCmdBlitImage2(commandBuffer, pBlitImageInfo);
  2917. }
  2918. #endif
  2919. #if (defined(VK_VERSION_1_3))
  2920. void cmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) const noexcept {
  2921. fp_vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo);
  2922. }
  2923. #endif
  2924. #if (defined(VK_VERSION_1_3))
  2925. void cmdCopyImageToBuffer2(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) const noexcept {
  2926. fp_vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo);
  2927. }
  2928. #endif
  2929. #if (defined(VK_VERSION_1_3))
  2930. void cmdResolveImage2(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) const noexcept {
  2931. fp_vkCmdResolveImage2(commandBuffer, pResolveImageInfo);
  2932. }
  2933. #endif
  2934. #if (defined(VK_KHR_fragment_shading_rate))
  2935. void cmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const noexcept {
  2936. fp_vkCmdSetFragmentShadingRateKHR(commandBuffer, pFragmentSize, combinerOps);
  2937. }
  2938. #endif
  2939. #if (defined(VK_NV_fragment_shading_rate_enums))
  2940. void cmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const noexcept {
  2941. fp_vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerOps);
  2942. }
  2943. #endif
  2944. #if (defined(VK_KHR_acceleration_structure))
  2945. void getAccelerationStructureBuildSizesKHR(VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const noexcept {
  2946. fp_vkGetAccelerationStructureBuildSizesKHR(device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo);
  2947. }
  2948. #endif
  2949. #if (defined(VK_EXT_vertex_input_dynamic_state))
  2950. void cmdSetVertexInputEXT(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const noexcept {
  2951. fp_vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions);
  2952. }
  2953. #endif
  2954. #if (defined(VK_EXT_color_write_enable))
  2955. void cmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const noexcept {
  2956. fp_vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWriteEnables);
  2957. }
  2958. #endif
  2959. #if (defined(VK_VERSION_1_3))
  2960. void cmdSetEvent2(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo) const noexcept {
  2961. fp_vkCmdSetEvent2(commandBuffer, event, pDependencyInfo);
  2962. }
  2963. #endif
  2964. #if (defined(VK_VERSION_1_3))
  2965. void cmdResetEvent2(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask) const noexcept {
  2966. fp_vkCmdResetEvent2(commandBuffer, event, stageMask);
  2967. }
  2968. #endif
  2969. #if (defined(VK_VERSION_1_3))
  2970. void cmdWaitEvents2(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos) const noexcept {
  2971. fp_vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos);
  2972. }
  2973. #endif
  2974. #if (defined(VK_VERSION_1_3))
  2975. void cmdPipelineBarrier2(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo) const noexcept {
  2976. fp_vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo);
  2977. }
  2978. #endif
  2979. #if (defined(VK_VERSION_1_3))
  2980. VkResult queueSubmit2(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence) const noexcept {
  2981. return fp_vkQueueSubmit2(queue, submitCount, pSubmits, fence);
  2982. }
  2983. #endif
  2984. #if (defined(VK_VERSION_1_3))
  2985. void cmdWriteTimestamp2(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query) const noexcept {
  2986. fp_vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query);
  2987. }
  2988. #endif
  2989. #if (defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker))
  2990. void cmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const noexcept {
  2991. fp_vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker);
  2992. }
  2993. #endif
  2994. #if (defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints))
  2995. void getQueueCheckpointData2NV(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const noexcept {
  2996. fp_vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData);
  2997. }
  2998. #endif
  2999. #if (defined(VK_KHR_video_queue))
  3000. VkResult createVideoSessionKHR(const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const noexcept {
  3001. return fp_vkCreateVideoSessionKHR(device, pCreateInfo, pAllocator, pVideoSession);
  3002. }
  3003. #endif
  3004. #if (defined(VK_KHR_video_queue))
  3005. void destroyVideoSessionKHR(VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const noexcept {
  3006. fp_vkDestroyVideoSessionKHR(device, videoSession, pAllocator);
  3007. }
  3008. #endif
  3009. #if (defined(VK_KHR_video_queue))
  3010. VkResult createVideoSessionParametersKHR(const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const noexcept {
  3011. return fp_vkCreateVideoSessionParametersKHR(device, pCreateInfo, pAllocator, pVideoSessionParameters);
  3012. }
  3013. #endif
  3014. #if (defined(VK_KHR_video_queue))
  3015. VkResult updateVideoSessionParametersKHR(VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const noexcept {
  3016. return fp_vkUpdateVideoSessionParametersKHR(device, videoSessionParameters, pUpdateInfo);
  3017. }
  3018. #endif
  3019. #if (defined(VK_KHR_video_queue))
  3020. void destroyVideoSessionParametersKHR(VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const noexcept {
  3021. fp_vkDestroyVideoSessionParametersKHR(device, videoSessionParameters, pAllocator);
  3022. }
  3023. #endif
  3024. #if (defined(VK_KHR_video_queue))
  3025. VkResult getVideoSessionMemoryRequirementsKHR(VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements) const noexcept {
  3026. return fp_vkGetVideoSessionMemoryRequirementsKHR(device, videoSession, pMemoryRequirementsCount, pMemoryRequirements);
  3027. }
  3028. #endif
  3029. #if (defined(VK_KHR_video_queue))
  3030. VkResult bindVideoSessionMemoryKHR(VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos) const noexcept {
  3031. return fp_vkBindVideoSessionMemoryKHR(device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos);
  3032. }
  3033. #endif
  3034. #if (defined(VK_KHR_video_decode_queue))
  3035. void cmdDecodeVideoKHR(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo) const noexcept {
  3036. fp_vkCmdDecodeVideoKHR(commandBuffer, pDecodeInfo);
  3037. }
  3038. #endif
  3039. #if (defined(VK_KHR_video_queue))
  3040. void cmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const noexcept {
  3041. fp_vkCmdBeginVideoCodingKHR(commandBuffer, pBeginInfo);
  3042. }
  3043. #endif
  3044. #if (defined(VK_KHR_video_queue))
  3045. void cmdControlVideoCodingKHR(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const noexcept {
  3046. fp_vkCmdControlVideoCodingKHR(commandBuffer, pCodingControlInfo);
  3047. }
  3048. #endif
  3049. #if (defined(VK_KHR_video_queue))
  3050. void cmdEndVideoCodingKHR(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const noexcept {
  3051. fp_vkCmdEndVideoCodingKHR(commandBuffer, pEndCodingInfo);
  3052. }
  3053. #endif
  3054. #if (defined(VK_KHR_video_encode_queue))
  3055. void cmdEncodeVideoKHR(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const noexcept {
  3056. fp_vkCmdEncodeVideoKHR(commandBuffer, pEncodeInfo);
  3057. }
  3058. #endif
  3059. #if (defined(VK_NV_memory_decompression))
  3060. void cmdDecompressMemoryNV(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions) const noexcept {
  3061. fp_vkCmdDecompressMemoryNV(commandBuffer, decompressRegionCount, pDecompressMemoryRegions);
  3062. }
  3063. #endif
  3064. #if (defined(VK_NV_memory_decompression))
  3065. void cmdDecompressMemoryIndirectCountNV(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride) const noexcept {
  3066. fp_vkCmdDecompressMemoryIndirectCountNV(commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride);
  3067. }
  3068. #endif
  3069. #if (defined(VK_EXT_descriptor_buffer))
  3070. void getDescriptorSetLayoutSizeEXT(VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes) const noexcept {
  3071. fp_vkGetDescriptorSetLayoutSizeEXT(device, layout, pLayoutSizeInBytes);
  3072. }
  3073. #endif
  3074. #if (defined(VK_EXT_descriptor_buffer))
  3075. void getDescriptorSetLayoutBindingOffsetEXT(VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset) const noexcept {
  3076. fp_vkGetDescriptorSetLayoutBindingOffsetEXT(device, layout, binding, pOffset);
  3077. }
  3078. #endif
  3079. #if (defined(VK_EXT_descriptor_buffer))
  3080. void getDescriptorEXT(const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor) const noexcept {
  3081. fp_vkGetDescriptorEXT(device, pDescriptorInfo, dataSize, pDescriptor);
  3082. }
  3083. #endif
  3084. #if (defined(VK_EXT_descriptor_buffer))
  3085. void cmdBindDescriptorBuffersEXT(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos) const noexcept {
  3086. fp_vkCmdBindDescriptorBuffersEXT(commandBuffer, bufferCount, pBindingInfos);
  3087. }
  3088. #endif
  3089. #if (defined(VK_EXT_descriptor_buffer))
  3090. void cmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets) const noexcept {
  3091. fp_vkCmdSetDescriptorBufferOffsetsEXT(commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets);
  3092. }
  3093. #endif
  3094. #if (defined(VK_EXT_descriptor_buffer))
  3095. void cmdBindDescriptorBufferEmbeddedSamplersEXT(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set) const noexcept {
  3096. fp_vkCmdBindDescriptorBufferEmbeddedSamplersEXT(commandBuffer, pipelineBindPoint, layout, set);
  3097. }
  3098. #endif
  3099. #if (defined(VK_EXT_descriptor_buffer))
  3100. VkResult getBufferOpaqueCaptureDescriptorDataEXT(const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData) const noexcept {
  3101. return fp_vkGetBufferOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
  3102. }
  3103. #endif
  3104. #if (defined(VK_EXT_descriptor_buffer))
  3105. VkResult getImageOpaqueCaptureDescriptorDataEXT(const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData) const noexcept {
  3106. return fp_vkGetImageOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
  3107. }
  3108. #endif
  3109. #if (defined(VK_EXT_descriptor_buffer))
  3110. VkResult getImageViewOpaqueCaptureDescriptorDataEXT(const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData) const noexcept {
  3111. return fp_vkGetImageViewOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
  3112. }
  3113. #endif
  3114. #if (defined(VK_EXT_descriptor_buffer))
  3115. VkResult getSamplerOpaqueCaptureDescriptorDataEXT(const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData) const noexcept {
  3116. return fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
  3117. }
  3118. #endif
  3119. #if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing))
  3120. VkResult getAccelerationStructureOpaqueCaptureDescriptorDataEXT(const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData) const noexcept {
  3121. return fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
  3122. }
  3123. #endif
  3124. #if (defined(VK_EXT_pageable_device_local_memory))
  3125. void setDeviceMemoryPriorityEXT(VkDeviceMemory memory, float priority) const noexcept {
  3126. fp_vkSetDeviceMemoryPriorityEXT(device, memory, priority);
  3127. }
  3128. #endif
  3129. #if (defined(VK_KHR_present_wait))
  3130. VkResult waitForPresentKHR(VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const noexcept {
  3131. return fp_vkWaitForPresentKHR(device, swapchain, presentId, timeout);
  3132. }
  3133. #endif
  3134. #if (defined(VK_FUCHSIA_buffer_collection))
  3135. VkResult createBufferCollectionFUCHSIA(const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const noexcept {
  3136. return fp_vkCreateBufferCollectionFUCHSIA(device, pCreateInfo, pAllocator, pCollection);
  3137. }
  3138. #endif
  3139. #if (defined(VK_FUCHSIA_buffer_collection))
  3140. VkResult setBufferCollectionBufferConstraintsFUCHSIA(VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const noexcept {
  3141. return fp_vkSetBufferCollectionBufferConstraintsFUCHSIA(device, collection, pBufferConstraintsInfo);
  3142. }
  3143. #endif
  3144. #if (defined(VK_FUCHSIA_buffer_collection))
  3145. VkResult setBufferCollectionImageConstraintsFUCHSIA(VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const noexcept {
  3146. return fp_vkSetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo);
  3147. }
  3148. #endif
  3149. #if (defined(VK_FUCHSIA_buffer_collection))
  3150. void destroyBufferCollectionFUCHSIA(VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const noexcept {
  3151. fp_vkDestroyBufferCollectionFUCHSIA(device, collection, pAllocator);
  3152. }
  3153. #endif
  3154. #if (defined(VK_FUCHSIA_buffer_collection))
  3155. VkResult getBufferCollectionPropertiesFUCHSIA(VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const noexcept {
  3156. return fp_vkGetBufferCollectionPropertiesFUCHSIA(device, collection, pProperties);
  3157. }
  3158. #endif
  3159. #if (defined(VK_VERSION_1_3))
  3160. void cmdBeginRendering(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const noexcept {
  3161. fp_vkCmdBeginRendering(commandBuffer, pRenderingInfo);
  3162. }
  3163. #endif
  3164. #if (defined(VK_VERSION_1_3))
  3165. void cmdEndRendering(VkCommandBuffer commandBuffer) const noexcept {
  3166. fp_vkCmdEndRendering(commandBuffer);
  3167. }
  3168. #endif
  3169. #if (defined(VK_VALVE_descriptor_set_host_mapping))
  3170. void getDescriptorSetLayoutHostMappingInfoVALVE(const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const noexcept {
  3171. fp_vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping);
  3172. }
  3173. #endif
  3174. #if (defined(VK_VALVE_descriptor_set_host_mapping))
  3175. void getDescriptorSetHostMappingVALVE(VkDescriptorSet descriptorSet, void** ppData) const noexcept {
  3176. fp_vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData);
  3177. }
  3178. #endif
  3179. #if (defined(VK_EXT_opacity_micromap))
  3180. VkResult createMicromapEXT(const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap) const noexcept {
  3181. return fp_vkCreateMicromapEXT(device, pCreateInfo, pAllocator, pMicromap);
  3182. }
  3183. #endif
  3184. #if (defined(VK_EXT_opacity_micromap))
  3185. void cmdBuildMicromapsEXT(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const noexcept {
  3186. fp_vkCmdBuildMicromapsEXT(commandBuffer, infoCount, pInfos);
  3187. }
  3188. #endif
  3189. #if (defined(VK_EXT_opacity_micromap))
  3190. VkResult buildMicromapsEXT(VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const noexcept {
  3191. return fp_vkBuildMicromapsEXT(device, deferredOperation, infoCount, pInfos);
  3192. }
  3193. #endif
  3194. #if (defined(VK_EXT_opacity_micromap))
  3195. void destroyMicromapEXT(VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator) const noexcept {
  3196. fp_vkDestroyMicromapEXT(device, micromap, pAllocator);
  3197. }
  3198. #endif
  3199. #if (defined(VK_EXT_opacity_micromap))
  3200. void cmdCopyMicromapEXT(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo) const noexcept {
  3201. fp_vkCmdCopyMicromapEXT(commandBuffer, pInfo);
  3202. }
  3203. #endif
  3204. #if (defined(VK_EXT_opacity_micromap))
  3205. VkResult copyMicromapEXT(VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo) const noexcept {
  3206. return fp_vkCopyMicromapEXT(device, deferredOperation, pInfo);
  3207. }
  3208. #endif
  3209. #if (defined(VK_EXT_opacity_micromap))
  3210. void cmdCopyMicromapToMemoryEXT(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo) const noexcept {
  3211. fp_vkCmdCopyMicromapToMemoryEXT(commandBuffer, pInfo);
  3212. }
  3213. #endif
  3214. #if (defined(VK_EXT_opacity_micromap))
  3215. VkResult copyMicromapToMemoryEXT(VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo) const noexcept {
  3216. return fp_vkCopyMicromapToMemoryEXT(device, deferredOperation, pInfo);
  3217. }
  3218. #endif
  3219. #if (defined(VK_EXT_opacity_micromap))
  3220. void cmdCopyMemoryToMicromapEXT(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo) const noexcept {
  3221. fp_vkCmdCopyMemoryToMicromapEXT(commandBuffer, pInfo);
  3222. }
  3223. #endif
  3224. #if (defined(VK_EXT_opacity_micromap))
  3225. VkResult copyMemoryToMicromapEXT(VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo) const noexcept {
  3226. return fp_vkCopyMemoryToMicromapEXT(device, deferredOperation, pInfo);
  3227. }
  3228. #endif
  3229. #if (defined(VK_EXT_opacity_micromap))
  3230. void cmdWriteMicromapsPropertiesEXT(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const noexcept {
  3231. fp_vkCmdWriteMicromapsPropertiesEXT(commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery);
  3232. }
  3233. #endif
  3234. #if (defined(VK_EXT_opacity_micromap))
  3235. VkResult writeMicromapsPropertiesEXT(uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const noexcept {
  3236. return fp_vkWriteMicromapsPropertiesEXT(device, micromapCount, pMicromaps, queryType, dataSize, pData, stride);
  3237. }
  3238. #endif
  3239. #if (defined(VK_EXT_opacity_micromap))
  3240. void getDeviceMicromapCompatibilityEXT(const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const noexcept {
  3241. fp_vkGetDeviceMicromapCompatibilityEXT(device, pVersionInfo, pCompatibility);
  3242. }
  3243. #endif
  3244. #if (defined(VK_EXT_opacity_micromap))
  3245. void getMicromapBuildSizesEXT(VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo) const noexcept {
  3246. fp_vkGetMicromapBuildSizesEXT(device, buildType, pBuildInfo, pSizeInfo);
  3247. }
  3248. #endif
  3249. #if (defined(VK_EXT_shader_module_identifier))
  3250. void getShaderModuleIdentifierEXT(VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const noexcept {
  3251. fp_vkGetShaderModuleIdentifierEXT(device, shaderModule, pIdentifier);
  3252. }
  3253. #endif
  3254. #if (defined(VK_EXT_shader_module_identifier))
  3255. void getShaderModuleCreateInfoIdentifierEXT(const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier) const noexcept {
  3256. fp_vkGetShaderModuleCreateInfoIdentifierEXT(device, pCreateInfo, pIdentifier);
  3257. }
  3258. #endif
  3259. #if (defined(VK_EXT_image_compression_control))
  3260. void getImageSubresourceLayout2EXT(VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const noexcept {
  3261. fp_vkGetImageSubresourceLayout2EXT(device, image, pSubresource, pLayout);
  3262. }
  3263. #endif
  3264. #if (defined(VK_EXT_pipeline_properties))
  3265. VkResult getPipelinePropertiesEXT(const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const noexcept {
  3266. return fp_vkGetPipelinePropertiesEXT(device, pPipelineInfo, pPipelineProperties);
  3267. }
  3268. #endif
  3269. #if (defined(VK_EXT_metal_objects))
  3270. void exportMetalObjectsEXT(VkExportMetalObjectsInfoEXT* pMetalObjectsInfo) const noexcept {
  3271. fp_vkExportMetalObjectsEXT(device, pMetalObjectsInfo);
  3272. }
  3273. #endif
  3274. #if (defined(VK_QCOM_tile_properties))
  3275. VkResult getFramebufferTilePropertiesQCOM(VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties) const noexcept {
  3276. return fp_vkGetFramebufferTilePropertiesQCOM(device, framebuffer, pPropertiesCount, pProperties);
  3277. }
  3278. #endif
  3279. #if (defined(VK_QCOM_tile_properties))
  3280. VkResult getDynamicRenderingTilePropertiesQCOM(const VkRenderingInfoKHR* pRenderingInfo, VkTilePropertiesQCOM* pProperties) const noexcept {
  3281. return fp_vkGetDynamicRenderingTilePropertiesQCOM(device, pRenderingInfo, pProperties);
  3282. }
  3283. #endif
  3284. #if (defined(VK_NV_optical_flow))
  3285. VkResult createOpticalFlowSessionNV(const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession) const noexcept {
  3286. return fp_vkCreateOpticalFlowSessionNV(device, pCreateInfo, pAllocator, pSession);
  3287. }
  3288. #endif
  3289. #if (defined(VK_NV_optical_flow))
  3290. void destroyOpticalFlowSessionNV(VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator) const noexcept {
  3291. fp_vkDestroyOpticalFlowSessionNV(device, session, pAllocator);
  3292. }
  3293. #endif
  3294. #if (defined(VK_NV_optical_flow))
  3295. VkResult bindOpticalFlowSessionImageNV(VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout) const noexcept {
  3296. return fp_vkBindOpticalFlowSessionImageNV(device, session, bindingPoint, view, layout);
  3297. }
  3298. #endif
  3299. #if (defined(VK_NV_optical_flow))
  3300. void cmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo) const noexcept {
  3301. fp_vkCmdOpticalFlowExecuteNV(commandBuffer, session, pExecuteInfo);
  3302. }
  3303. #endif
  3304. #if (defined(VK_EXT_device_fault))
  3305. VkResult getDeviceFaultInfoEXT(VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo) const noexcept {
  3306. return fp_vkGetDeviceFaultInfoEXT(device, pFaultCounts, pFaultInfo);
  3307. }
  3308. #endif
  3309. #if (defined(VK_EXT_swapchain_maintenance1))
  3310. VkResult releaseSwapchainImagesEXT(const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo) const noexcept {
  3311. return fp_vkReleaseSwapchainImagesEXT(device, pReleaseInfo);
  3312. }
  3313. #endif
  3314. #if (defined(VK_EXT_host_query_reset))
  3315. void resetQueryPoolEXT(VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const noexcept {
  3316. fp_vkResetQueryPoolEXT(device, queryPool, firstQuery, queryCount);
  3317. }
  3318. #endif
  3319. #if (defined(VK_KHR_maintenance1))
  3320. void trimCommandPoolKHR(VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) const noexcept {
  3321. fp_vkTrimCommandPoolKHR(device, commandPool, flags);
  3322. }
  3323. #endif
  3324. #if (defined(VK_KHR_device_group))
  3325. void getDeviceGroupPeerMemoryFeaturesKHR(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlagsKHR* pPeerMemoryFeatures) const noexcept {
  3326. fp_vkGetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
  3327. }
  3328. #endif
  3329. #if (defined(VK_KHR_bind_memory2))
  3330. VkResult bindBufferMemory2KHR(uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) const noexcept {
  3331. return fp_vkBindBufferMemory2KHR(device, bindInfoCount, pBindInfos);
  3332. }
  3333. #endif
  3334. #if (defined(VK_KHR_bind_memory2))
  3335. VkResult bindImageMemory2KHR(uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) const noexcept {
  3336. return fp_vkBindImageMemory2KHR(device, bindInfoCount, pBindInfos);
  3337. }
  3338. #endif
  3339. #if (defined(VK_KHR_device_group))
  3340. void cmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer, uint32_t deviceMask) const noexcept {
  3341. fp_vkCmdSetDeviceMaskKHR(commandBuffer, deviceMask);
  3342. }
  3343. #endif
  3344. #if (defined(VK_KHR_device_group))
  3345. void cmdDispatchBaseKHR(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const noexcept {
  3346. fp_vkCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
  3347. }
  3348. #endif
  3349. #if (defined(VK_KHR_descriptor_update_template))
  3350. VkResult createDescriptorUpdateTemplateKHR(const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) const noexcept {
  3351. return fp_vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
  3352. }
  3353. #endif
  3354. #if (defined(VK_KHR_descriptor_update_template))
  3355. void destroyDescriptorUpdateTemplateKHR(VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const noexcept {
  3356. fp_vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
  3357. }
  3358. #endif
  3359. #if (defined(VK_KHR_descriptor_update_template))
  3360. void updateDescriptorSetWithTemplateKHR(VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) const noexcept {
  3361. fp_vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
  3362. }
  3363. #endif
  3364. #if (defined(VK_KHR_get_memory_requirements2))
  3365. void getBufferMemoryRequirements2KHR(const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  3366. fp_vkGetBufferMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
  3367. }
  3368. #endif
  3369. #if (defined(VK_KHR_get_memory_requirements2))
  3370. void getImageMemoryRequirements2KHR(const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  3371. fp_vkGetImageMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
  3372. }
  3373. #endif
  3374. #if (defined(VK_KHR_get_memory_requirements2))
  3375. void getImageSparseMemoryRequirements2KHR(const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) const noexcept {
  3376. fp_vkGetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
  3377. }
  3378. #endif
  3379. #if (defined(VK_KHR_maintenance4))
  3380. void getDeviceBufferMemoryRequirementsKHR(const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  3381. fp_vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements);
  3382. }
  3383. #endif
  3384. #if (defined(VK_KHR_maintenance4))
  3385. void getDeviceImageMemoryRequirementsKHR(const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const noexcept {
  3386. fp_vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements);
  3387. }
  3388. #endif
  3389. #if (defined(VK_KHR_maintenance4))
  3390. void getDeviceImageSparseMemoryRequirementsKHR(const VkDeviceImageMemoryRequirementsKHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) const noexcept {
  3391. fp_vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
  3392. }
  3393. #endif
  3394. #if (defined(VK_KHR_sampler_ycbcr_conversion))
  3395. VkResult createSamplerYcbcrConversionKHR(const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) const noexcept {
  3396. return fp_vkCreateSamplerYcbcrConversionKHR(device, pCreateInfo, pAllocator, pYcbcrConversion);
  3397. }
  3398. #endif
  3399. #if (defined(VK_KHR_sampler_ycbcr_conversion))
  3400. void destroySamplerYcbcrConversionKHR(VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) const noexcept {
  3401. fp_vkDestroySamplerYcbcrConversionKHR(device, ycbcrConversion, pAllocator);
  3402. }
  3403. #endif
  3404. #if (defined(VK_KHR_maintenance3))
  3405. void getDescriptorSetLayoutSupportKHR(const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupportKHR* pSupport) const noexcept {
  3406. fp_vkGetDescriptorSetLayoutSupportKHR(device, pCreateInfo, pSupport);
  3407. }
  3408. #endif
  3409. #if (defined(VK_KHR_create_renderpass2))
  3410. VkResult createRenderPass2KHR(const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const noexcept {
  3411. return fp_vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass);
  3412. }
  3413. #endif
  3414. #if (defined(VK_KHR_create_renderpass2))
  3415. void cmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo) const noexcept {
  3416. fp_vkCmdBeginRenderPass2KHR(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
  3417. }
  3418. #endif
  3419. #if (defined(VK_KHR_create_renderpass2))
  3420. void cmdNextSubpass2KHR(VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo) const noexcept {
  3421. fp_vkCmdNextSubpass2KHR(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
  3422. }
  3423. #endif
  3424. #if (defined(VK_KHR_create_renderpass2))
  3425. void cmdEndRenderPass2KHR(VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo) const noexcept {
  3426. fp_vkCmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo);
  3427. }
  3428. #endif
  3429. #if (defined(VK_KHR_timeline_semaphore))
  3430. VkResult getSemaphoreCounterValueKHR(VkSemaphore semaphore, uint64_t* pValue) const noexcept {
  3431. return fp_vkGetSemaphoreCounterValueKHR(device, semaphore, pValue);
  3432. }
  3433. #endif
  3434. #if (defined(VK_KHR_timeline_semaphore))
  3435. VkResult waitSemaphoresKHR(const VkSemaphoreWaitInfoKHR* pWaitInfo, uint64_t timeout) const noexcept {
  3436. return fp_vkWaitSemaphoresKHR(device, pWaitInfo, timeout);
  3437. }
  3438. #endif
  3439. #if (defined(VK_KHR_timeline_semaphore))
  3440. VkResult signalSemaphoreKHR(const VkSemaphoreSignalInfoKHR* pSignalInfo) const noexcept {
  3441. return fp_vkSignalSemaphoreKHR(device, pSignalInfo);
  3442. }
  3443. #endif
  3444. #if (defined(VK_AMD_draw_indirect_count))
  3445. void cmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const noexcept {
  3446. fp_vkCmdDrawIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
  3447. }
  3448. #endif
  3449. #if (defined(VK_AMD_draw_indirect_count))
  3450. void cmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const noexcept {
  3451. fp_vkCmdDrawIndexedIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
  3452. }
  3453. #endif
  3454. #if (defined(VK_NV_ray_tracing))
  3455. VkResult getRayTracingShaderGroupHandlesNV(VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const noexcept {
  3456. return fp_vkGetRayTracingShaderGroupHandlesNV(device, pipeline, firstGroup, groupCount, dataSize, pData);
  3457. }
  3458. #endif
  3459. #if (defined(VK_KHR_buffer_device_address))
  3460. uint64_t getBufferOpaqueCaptureAddressKHR(const VkBufferDeviceAddressInfoEXT* pInfo) const noexcept {
  3461. return fp_vkGetBufferOpaqueCaptureAddressKHR(device, pInfo);
  3462. }
  3463. #endif
  3464. #if (defined(VK_EXT_buffer_device_address))
  3465. VkDeviceAddress getBufferDeviceAddressEXT(const VkBufferDeviceAddressInfoEXT* pInfo) const noexcept {
  3466. return fp_vkGetBufferDeviceAddressEXT(device, pInfo);
  3467. }
  3468. #endif
  3469. #if (defined(VK_KHR_buffer_device_address))
  3470. uint64_t getDeviceMemoryOpaqueCaptureAddressKHR(const VkDeviceMemoryOpaqueCaptureAddressInfoKHR* pInfo) const noexcept {
  3471. return fp_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device, pInfo);
  3472. }
  3473. #endif
  3474. #if (defined(VK_EXT_extended_dynamic_state))
  3475. void cmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const noexcept {
  3476. fp_vkCmdSetCullModeEXT(commandBuffer, cullMode);
  3477. }
  3478. #endif
  3479. #if (defined(VK_EXT_extended_dynamic_state))
  3480. void cmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) const noexcept {
  3481. fp_vkCmdSetFrontFaceEXT(commandBuffer, frontFace);
  3482. }
  3483. #endif
  3484. #if (defined(VK_EXT_extended_dynamic_state))
  3485. void cmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const noexcept {
  3486. fp_vkCmdSetPrimitiveTopologyEXT(commandBuffer, primitiveTopology);
  3487. }
  3488. #endif
  3489. #if (defined(VK_EXT_extended_dynamic_state))
  3490. void cmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const noexcept {
  3491. fp_vkCmdSetViewportWithCountEXT(commandBuffer, viewportCount, pViewports);
  3492. }
  3493. #endif
  3494. #if (defined(VK_EXT_extended_dynamic_state))
  3495. void cmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const noexcept {
  3496. fp_vkCmdSetScissorWithCountEXT(commandBuffer, scissorCount, pScissors);
  3497. }
  3498. #endif
  3499. #if (defined(VK_EXT_extended_dynamic_state))
  3500. void cmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const noexcept {
  3501. fp_vkCmdBindVertexBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides);
  3502. }
  3503. #endif
  3504. #if (defined(VK_EXT_extended_dynamic_state))
  3505. void cmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const noexcept {
  3506. fp_vkCmdSetDepthTestEnableEXT(commandBuffer, depthTestEnable);
  3507. }
  3508. #endif
  3509. #if (defined(VK_EXT_extended_dynamic_state))
  3510. void cmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const noexcept {
  3511. fp_vkCmdSetDepthWriteEnableEXT(commandBuffer, depthWriteEnable);
  3512. }
  3513. #endif
  3514. #if (defined(VK_EXT_extended_dynamic_state))
  3515. void cmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const noexcept {
  3516. fp_vkCmdSetDepthCompareOpEXT(commandBuffer, depthCompareOp);
  3517. }
  3518. #endif
  3519. #if (defined(VK_EXT_extended_dynamic_state))
  3520. void cmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const noexcept {
  3521. fp_vkCmdSetDepthBoundsTestEnableEXT(commandBuffer, depthBoundsTestEnable);
  3522. }
  3523. #endif
  3524. #if (defined(VK_EXT_extended_dynamic_state))
  3525. void cmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const noexcept {
  3526. fp_vkCmdSetStencilTestEnableEXT(commandBuffer, stencilTestEnable);
  3527. }
  3528. #endif
  3529. #if (defined(VK_EXT_extended_dynamic_state))
  3530. void cmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const noexcept {
  3531. fp_vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp);
  3532. }
  3533. #endif
  3534. #if (defined(VK_EXT_extended_dynamic_state2))
  3535. void cmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const noexcept {
  3536. fp_vkCmdSetRasterizerDiscardEnableEXT(commandBuffer, rasterizerDiscardEnable);
  3537. }
  3538. #endif
  3539. #if (defined(VK_EXT_extended_dynamic_state2))
  3540. void cmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const noexcept {
  3541. fp_vkCmdSetDepthBiasEnableEXT(commandBuffer, depthBiasEnable);
  3542. }
  3543. #endif
  3544. #if (defined(VK_EXT_extended_dynamic_state2))
  3545. void cmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const noexcept {
  3546. fp_vkCmdSetPrimitiveRestartEnableEXT(commandBuffer, primitiveRestartEnable);
  3547. }
  3548. #endif
  3549. #if (defined(VK_EXT_private_data))
  3550. VkResult createPrivateDataSlotEXT(const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) const noexcept {
  3551. return fp_vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot);
  3552. }
  3553. #endif
  3554. #if (defined(VK_EXT_private_data))
  3555. void destroyPrivateDataSlotEXT(VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) const noexcept {
  3556. fp_vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator);
  3557. }
  3558. #endif
  3559. #if (defined(VK_EXT_private_data))
  3560. VkResult setPrivateDataEXT(VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) const noexcept {
  3561. return fp_vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data);
  3562. }
  3563. #endif
  3564. #if (defined(VK_EXT_private_data))
  3565. void getPrivateDataEXT(VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) const noexcept {
  3566. fp_vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData);
  3567. }
  3568. #endif
  3569. #if (defined(VK_KHR_copy_commands2))
  3570. void cmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) const noexcept {
  3571. fp_vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo);
  3572. }
  3573. #endif
  3574. #if (defined(VK_KHR_copy_commands2))
  3575. void cmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) const noexcept {
  3576. fp_vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo);
  3577. }
  3578. #endif
  3579. #if (defined(VK_KHR_copy_commands2))
  3580. void cmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) const noexcept {
  3581. fp_vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo);
  3582. }
  3583. #endif
  3584. #if (defined(VK_KHR_copy_commands2))
  3585. void cmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) const noexcept {
  3586. fp_vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo);
  3587. }
  3588. #endif
  3589. #if (defined(VK_KHR_copy_commands2))
  3590. void cmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) const noexcept {
  3591. fp_vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo);
  3592. }
  3593. #endif
  3594. #if (defined(VK_KHR_copy_commands2))
  3595. void cmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) const noexcept {
  3596. fp_vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo);
  3597. }
  3598. #endif
  3599. #if (defined(VK_KHR_synchronization2))
  3600. void cmdSetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo) const noexcept {
  3601. fp_vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo);
  3602. }
  3603. #endif
  3604. #if (defined(VK_KHR_synchronization2))
  3605. void cmdResetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask) const noexcept {
  3606. fp_vkCmdResetEvent2KHR(commandBuffer, event, stageMask);
  3607. }
  3608. #endif
  3609. #if (defined(VK_KHR_synchronization2))
  3610. void cmdWaitEvents2KHR(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos) const noexcept {
  3611. fp_vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos);
  3612. }
  3613. #endif
  3614. #if (defined(VK_KHR_synchronization2))
  3615. void cmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo) const noexcept {
  3616. fp_vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo);
  3617. }
  3618. #endif
  3619. #if (defined(VK_KHR_synchronization2))
  3620. VkResult queueSubmit2KHR(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence) const noexcept {
  3621. return fp_vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence);
  3622. }
  3623. #endif
  3624. #if (defined(VK_KHR_synchronization2))
  3625. void cmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query) const noexcept {
  3626. fp_vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query);
  3627. }
  3628. #endif
  3629. #if (defined(VK_KHR_dynamic_rendering))
  3630. void cmdBeginRenderingKHR(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const noexcept {
  3631. fp_vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo);
  3632. }
  3633. #endif
  3634. #if (defined(VK_KHR_dynamic_rendering))
  3635. void cmdEndRenderingKHR(VkCommandBuffer commandBuffer) const noexcept {
  3636. fp_vkCmdEndRenderingKHR(commandBuffer);
  3637. }
  3638. #endif
  3639. PFN_vkGetDeviceQueue fp_vkGetDeviceQueue = nullptr;
  3640. PFN_vkQueueSubmit fp_vkQueueSubmit = nullptr;
  3641. PFN_vkQueueWaitIdle fp_vkQueueWaitIdle = nullptr;
  3642. PFN_vkDeviceWaitIdle fp_vkDeviceWaitIdle = nullptr;
  3643. PFN_vkAllocateMemory fp_vkAllocateMemory = nullptr;
  3644. PFN_vkFreeMemory fp_vkFreeMemory = nullptr;
  3645. PFN_vkMapMemory fp_vkMapMemory = nullptr;
  3646. PFN_vkUnmapMemory fp_vkUnmapMemory = nullptr;
  3647. PFN_vkFlushMappedMemoryRanges fp_vkFlushMappedMemoryRanges = nullptr;
  3648. PFN_vkInvalidateMappedMemoryRanges fp_vkInvalidateMappedMemoryRanges = nullptr;
  3649. PFN_vkGetDeviceMemoryCommitment fp_vkGetDeviceMemoryCommitment = nullptr;
  3650. PFN_vkGetBufferMemoryRequirements fp_vkGetBufferMemoryRequirements = nullptr;
  3651. PFN_vkBindBufferMemory fp_vkBindBufferMemory = nullptr;
  3652. PFN_vkGetImageMemoryRequirements fp_vkGetImageMemoryRequirements = nullptr;
  3653. PFN_vkBindImageMemory fp_vkBindImageMemory = nullptr;
  3654. PFN_vkGetImageSparseMemoryRequirements fp_vkGetImageSparseMemoryRequirements = nullptr;
  3655. PFN_vkQueueBindSparse fp_vkQueueBindSparse = nullptr;
  3656. PFN_vkCreateFence fp_vkCreateFence = nullptr;
  3657. PFN_vkDestroyFence fp_vkDestroyFence = nullptr;
  3658. PFN_vkResetFences fp_vkResetFences = nullptr;
  3659. PFN_vkGetFenceStatus fp_vkGetFenceStatus = nullptr;
  3660. PFN_vkWaitForFences fp_vkWaitForFences = nullptr;
  3661. PFN_vkCreateSemaphore fp_vkCreateSemaphore = nullptr;
  3662. PFN_vkDestroySemaphore fp_vkDestroySemaphore = nullptr;
  3663. PFN_vkCreateEvent fp_vkCreateEvent = nullptr;
  3664. PFN_vkDestroyEvent fp_vkDestroyEvent = nullptr;
  3665. PFN_vkGetEventStatus fp_vkGetEventStatus = nullptr;
  3666. PFN_vkSetEvent fp_vkSetEvent = nullptr;
  3667. PFN_vkResetEvent fp_vkResetEvent = nullptr;
  3668. PFN_vkCreateQueryPool fp_vkCreateQueryPool = nullptr;
  3669. PFN_vkDestroyQueryPool fp_vkDestroyQueryPool = nullptr;
  3670. PFN_vkGetQueryPoolResults fp_vkGetQueryPoolResults = nullptr;
  3671. #if (defined(VK_VERSION_1_2))
  3672. PFN_vkResetQueryPool fp_vkResetQueryPool = nullptr;
  3673. #endif
  3674. PFN_vkCreateBuffer fp_vkCreateBuffer = nullptr;
  3675. PFN_vkDestroyBuffer fp_vkDestroyBuffer = nullptr;
  3676. PFN_vkCreateBufferView fp_vkCreateBufferView = nullptr;
  3677. PFN_vkDestroyBufferView fp_vkDestroyBufferView = nullptr;
  3678. PFN_vkCreateImage fp_vkCreateImage = nullptr;
  3679. PFN_vkDestroyImage fp_vkDestroyImage = nullptr;
  3680. PFN_vkGetImageSubresourceLayout fp_vkGetImageSubresourceLayout = nullptr;
  3681. PFN_vkCreateImageView fp_vkCreateImageView = nullptr;
  3682. PFN_vkDestroyImageView fp_vkDestroyImageView = nullptr;
  3683. PFN_vkCreateShaderModule fp_vkCreateShaderModule = nullptr;
  3684. PFN_vkDestroyShaderModule fp_vkDestroyShaderModule = nullptr;
  3685. PFN_vkCreatePipelineCache fp_vkCreatePipelineCache = nullptr;
  3686. PFN_vkDestroyPipelineCache fp_vkDestroyPipelineCache = nullptr;
  3687. PFN_vkGetPipelineCacheData fp_vkGetPipelineCacheData = nullptr;
  3688. PFN_vkMergePipelineCaches fp_vkMergePipelineCaches = nullptr;
  3689. PFN_vkCreateGraphicsPipelines fp_vkCreateGraphicsPipelines = nullptr;
  3690. PFN_vkCreateComputePipelines fp_vkCreateComputePipelines = nullptr;
  3691. #if (defined(VK_HUAWEI_subpass_shading))
  3692. PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI fp_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = nullptr;
  3693. #endif
  3694. PFN_vkDestroyPipeline fp_vkDestroyPipeline = nullptr;
  3695. PFN_vkCreatePipelineLayout fp_vkCreatePipelineLayout = nullptr;
  3696. PFN_vkDestroyPipelineLayout fp_vkDestroyPipelineLayout = nullptr;
  3697. PFN_vkCreateSampler fp_vkCreateSampler = nullptr;
  3698. PFN_vkDestroySampler fp_vkDestroySampler = nullptr;
  3699. PFN_vkCreateDescriptorSetLayout fp_vkCreateDescriptorSetLayout = nullptr;
  3700. PFN_vkDestroyDescriptorSetLayout fp_vkDestroyDescriptorSetLayout = nullptr;
  3701. PFN_vkCreateDescriptorPool fp_vkCreateDescriptorPool = nullptr;
  3702. PFN_vkDestroyDescriptorPool fp_vkDestroyDescriptorPool = nullptr;
  3703. PFN_vkResetDescriptorPool fp_vkResetDescriptorPool = nullptr;
  3704. PFN_vkAllocateDescriptorSets fp_vkAllocateDescriptorSets = nullptr;
  3705. PFN_vkFreeDescriptorSets fp_vkFreeDescriptorSets = nullptr;
  3706. PFN_vkUpdateDescriptorSets fp_vkUpdateDescriptorSets = nullptr;
  3707. PFN_vkCreateFramebuffer fp_vkCreateFramebuffer = nullptr;
  3708. PFN_vkDestroyFramebuffer fp_vkDestroyFramebuffer = nullptr;
  3709. PFN_vkCreateRenderPass fp_vkCreateRenderPass = nullptr;
  3710. PFN_vkDestroyRenderPass fp_vkDestroyRenderPass = nullptr;
  3711. PFN_vkGetRenderAreaGranularity fp_vkGetRenderAreaGranularity = nullptr;
  3712. PFN_vkCreateCommandPool fp_vkCreateCommandPool = nullptr;
  3713. PFN_vkDestroyCommandPool fp_vkDestroyCommandPool = nullptr;
  3714. PFN_vkResetCommandPool fp_vkResetCommandPool = nullptr;
  3715. PFN_vkAllocateCommandBuffers fp_vkAllocateCommandBuffers = nullptr;
  3716. PFN_vkFreeCommandBuffers fp_vkFreeCommandBuffers = nullptr;
  3717. PFN_vkBeginCommandBuffer fp_vkBeginCommandBuffer = nullptr;
  3718. PFN_vkEndCommandBuffer fp_vkEndCommandBuffer = nullptr;
  3719. PFN_vkResetCommandBuffer fp_vkResetCommandBuffer = nullptr;
  3720. PFN_vkCmdBindPipeline fp_vkCmdBindPipeline = nullptr;
  3721. PFN_vkCmdSetViewport fp_vkCmdSetViewport = nullptr;
  3722. PFN_vkCmdSetScissor fp_vkCmdSetScissor = nullptr;
  3723. PFN_vkCmdSetLineWidth fp_vkCmdSetLineWidth = nullptr;
  3724. PFN_vkCmdSetDepthBias fp_vkCmdSetDepthBias = nullptr;
  3725. PFN_vkCmdSetBlendConstants fp_vkCmdSetBlendConstants = nullptr;
  3726. PFN_vkCmdSetDepthBounds fp_vkCmdSetDepthBounds = nullptr;
  3727. PFN_vkCmdSetStencilCompareMask fp_vkCmdSetStencilCompareMask = nullptr;
  3728. PFN_vkCmdSetStencilWriteMask fp_vkCmdSetStencilWriteMask = nullptr;
  3729. PFN_vkCmdSetStencilReference fp_vkCmdSetStencilReference = nullptr;
  3730. PFN_vkCmdBindDescriptorSets fp_vkCmdBindDescriptorSets = nullptr;
  3731. PFN_vkCmdBindIndexBuffer fp_vkCmdBindIndexBuffer = nullptr;
  3732. PFN_vkCmdBindVertexBuffers fp_vkCmdBindVertexBuffers = nullptr;
  3733. PFN_vkCmdDraw fp_vkCmdDraw = nullptr;
  3734. PFN_vkCmdDrawIndexed fp_vkCmdDrawIndexed = nullptr;
  3735. #if (defined(VK_EXT_multi_draw))
  3736. PFN_vkCmdDrawMultiEXT fp_vkCmdDrawMultiEXT = nullptr;
  3737. #endif
  3738. #if (defined(VK_EXT_multi_draw))
  3739. PFN_vkCmdDrawMultiIndexedEXT fp_vkCmdDrawMultiIndexedEXT = nullptr;
  3740. #endif
  3741. PFN_vkCmdDrawIndirect fp_vkCmdDrawIndirect = nullptr;
  3742. PFN_vkCmdDrawIndexedIndirect fp_vkCmdDrawIndexedIndirect = nullptr;
  3743. PFN_vkCmdDispatch fp_vkCmdDispatch = nullptr;
  3744. PFN_vkCmdDispatchIndirect fp_vkCmdDispatchIndirect = nullptr;
  3745. #if (defined(VK_HUAWEI_subpass_shading))
  3746. PFN_vkCmdSubpassShadingHUAWEI fp_vkCmdSubpassShadingHUAWEI = nullptr;
  3747. #endif
  3748. #if (defined(VK_HUAWEI_cluster_culling_shader))
  3749. PFN_vkCmdDrawClusterHUAWEI fp_vkCmdDrawClusterHUAWEI = nullptr;
  3750. #endif
  3751. #if (defined(VK_HUAWEI_cluster_culling_shader))
  3752. PFN_vkCmdDrawClusterIndirectHUAWEI fp_vkCmdDrawClusterIndirectHUAWEI = nullptr;
  3753. #endif
  3754. PFN_vkCmdCopyBuffer fp_vkCmdCopyBuffer = nullptr;
  3755. PFN_vkCmdCopyImage fp_vkCmdCopyImage = nullptr;
  3756. PFN_vkCmdBlitImage fp_vkCmdBlitImage = nullptr;
  3757. PFN_vkCmdCopyBufferToImage fp_vkCmdCopyBufferToImage = nullptr;
  3758. PFN_vkCmdCopyImageToBuffer fp_vkCmdCopyImageToBuffer = nullptr;
  3759. #if (defined(VK_NV_copy_memory_indirect))
  3760. PFN_vkCmdCopyMemoryIndirectNV fp_vkCmdCopyMemoryIndirectNV = nullptr;
  3761. #endif
  3762. #if (defined(VK_NV_copy_memory_indirect))
  3763. PFN_vkCmdCopyMemoryToImageIndirectNV fp_vkCmdCopyMemoryToImageIndirectNV = nullptr;
  3764. #endif
  3765. PFN_vkCmdUpdateBuffer fp_vkCmdUpdateBuffer = nullptr;
  3766. PFN_vkCmdFillBuffer fp_vkCmdFillBuffer = nullptr;
  3767. PFN_vkCmdClearColorImage fp_vkCmdClearColorImage = nullptr;
  3768. PFN_vkCmdClearDepthStencilImage fp_vkCmdClearDepthStencilImage = nullptr;
  3769. PFN_vkCmdClearAttachments fp_vkCmdClearAttachments = nullptr;
  3770. PFN_vkCmdResolveImage fp_vkCmdResolveImage = nullptr;
  3771. PFN_vkCmdSetEvent fp_vkCmdSetEvent = nullptr;
  3772. PFN_vkCmdResetEvent fp_vkCmdResetEvent = nullptr;
  3773. PFN_vkCmdWaitEvents fp_vkCmdWaitEvents = nullptr;
  3774. PFN_vkCmdPipelineBarrier fp_vkCmdPipelineBarrier = nullptr;
  3775. PFN_vkCmdBeginQuery fp_vkCmdBeginQuery = nullptr;
  3776. PFN_vkCmdEndQuery fp_vkCmdEndQuery = nullptr;
  3777. #if (defined(VK_EXT_conditional_rendering))
  3778. PFN_vkCmdBeginConditionalRenderingEXT fp_vkCmdBeginConditionalRenderingEXT = nullptr;
  3779. #endif
  3780. #if (defined(VK_EXT_conditional_rendering))
  3781. PFN_vkCmdEndConditionalRenderingEXT fp_vkCmdEndConditionalRenderingEXT = nullptr;
  3782. #endif
  3783. PFN_vkCmdResetQueryPool fp_vkCmdResetQueryPool = nullptr;
  3784. PFN_vkCmdWriteTimestamp fp_vkCmdWriteTimestamp = nullptr;
  3785. PFN_vkCmdCopyQueryPoolResults fp_vkCmdCopyQueryPoolResults = nullptr;
  3786. PFN_vkCmdPushConstants fp_vkCmdPushConstants = nullptr;
  3787. PFN_vkCmdBeginRenderPass fp_vkCmdBeginRenderPass = nullptr;
  3788. PFN_vkCmdNextSubpass fp_vkCmdNextSubpass = nullptr;
  3789. PFN_vkCmdEndRenderPass fp_vkCmdEndRenderPass = nullptr;
  3790. PFN_vkCmdExecuteCommands fp_vkCmdExecuteCommands = nullptr;
  3791. #if (defined(VK_KHR_display_swapchain))
  3792. PFN_vkCreateSharedSwapchainsKHR fp_vkCreateSharedSwapchainsKHR = nullptr;
  3793. #endif
  3794. #if (defined(VK_KHR_swapchain))
  3795. PFN_vkCreateSwapchainKHR fp_vkCreateSwapchainKHR = nullptr;
  3796. #endif
  3797. #if (defined(VK_KHR_swapchain))
  3798. PFN_vkDestroySwapchainKHR fp_vkDestroySwapchainKHR = nullptr;
  3799. #endif
  3800. #if (defined(VK_KHR_swapchain))
  3801. PFN_vkGetSwapchainImagesKHR fp_vkGetSwapchainImagesKHR = nullptr;
  3802. #endif
  3803. #if (defined(VK_KHR_swapchain))
  3804. PFN_vkAcquireNextImageKHR fp_vkAcquireNextImageKHR = nullptr;
  3805. #endif
  3806. #if (defined(VK_KHR_swapchain))
  3807. PFN_vkQueuePresentKHR fp_vkQueuePresentKHR = nullptr;
  3808. #endif
  3809. #if (defined(VK_EXT_debug_marker))
  3810. PFN_vkDebugMarkerSetObjectNameEXT fp_vkDebugMarkerSetObjectNameEXT = nullptr;
  3811. #endif
  3812. #if (defined(VK_EXT_debug_marker))
  3813. PFN_vkDebugMarkerSetObjectTagEXT fp_vkDebugMarkerSetObjectTagEXT = nullptr;
  3814. #endif
  3815. #if (defined(VK_EXT_debug_marker))
  3816. PFN_vkCmdDebugMarkerBeginEXT fp_vkCmdDebugMarkerBeginEXT = nullptr;
  3817. #endif
  3818. #if (defined(VK_EXT_debug_marker))
  3819. PFN_vkCmdDebugMarkerEndEXT fp_vkCmdDebugMarkerEndEXT = nullptr;
  3820. #endif
  3821. #if (defined(VK_EXT_debug_marker))
  3822. PFN_vkCmdDebugMarkerInsertEXT fp_vkCmdDebugMarkerInsertEXT = nullptr;
  3823. #endif
  3824. #if (defined(VK_NV_external_memory_win32))
  3825. PFN_vkGetMemoryWin32HandleNV fp_vkGetMemoryWin32HandleNV = nullptr;
  3826. #endif
  3827. #if (defined(VK_NV_device_generated_commands))
  3828. PFN_vkCmdExecuteGeneratedCommandsNV fp_vkCmdExecuteGeneratedCommandsNV = nullptr;
  3829. #endif
  3830. #if (defined(VK_NV_device_generated_commands))
  3831. PFN_vkCmdPreprocessGeneratedCommandsNV fp_vkCmdPreprocessGeneratedCommandsNV = nullptr;
  3832. #endif
  3833. #if (defined(VK_NV_device_generated_commands))
  3834. PFN_vkCmdBindPipelineShaderGroupNV fp_vkCmdBindPipelineShaderGroupNV = nullptr;
  3835. #endif
  3836. #if (defined(VK_NV_device_generated_commands))
  3837. PFN_vkGetGeneratedCommandsMemoryRequirementsNV fp_vkGetGeneratedCommandsMemoryRequirementsNV = nullptr;
  3838. #endif
  3839. #if (defined(VK_NV_device_generated_commands))
  3840. PFN_vkCreateIndirectCommandsLayoutNV fp_vkCreateIndirectCommandsLayoutNV = nullptr;
  3841. #endif
  3842. #if (defined(VK_NV_device_generated_commands))
  3843. PFN_vkDestroyIndirectCommandsLayoutNV fp_vkDestroyIndirectCommandsLayoutNV = nullptr;
  3844. #endif
  3845. #if (defined(VK_KHR_push_descriptor))
  3846. PFN_vkCmdPushDescriptorSetKHR fp_vkCmdPushDescriptorSetKHR = nullptr;
  3847. #endif
  3848. #if (defined(VK_VERSION_1_1))
  3849. PFN_vkTrimCommandPool fp_vkTrimCommandPool = nullptr;
  3850. #endif
  3851. #if (defined(VK_KHR_external_memory_win32))
  3852. PFN_vkGetMemoryWin32HandleKHR fp_vkGetMemoryWin32HandleKHR = nullptr;
  3853. #endif
  3854. #if (defined(VK_KHR_external_memory_win32))
  3855. PFN_vkGetMemoryWin32HandlePropertiesKHR fp_vkGetMemoryWin32HandlePropertiesKHR = nullptr;
  3856. #endif
  3857. #if (defined(VK_KHR_external_memory_fd))
  3858. PFN_vkGetMemoryFdKHR fp_vkGetMemoryFdKHR = nullptr;
  3859. #endif
  3860. #if (defined(VK_KHR_external_memory_fd))
  3861. PFN_vkGetMemoryFdPropertiesKHR fp_vkGetMemoryFdPropertiesKHR = nullptr;
  3862. #endif
  3863. #if (defined(VK_FUCHSIA_external_memory))
  3864. PFN_vkGetMemoryZirconHandleFUCHSIA fp_vkGetMemoryZirconHandleFUCHSIA = nullptr;
  3865. #endif
  3866. #if (defined(VK_FUCHSIA_external_memory))
  3867. PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA fp_vkGetMemoryZirconHandlePropertiesFUCHSIA = nullptr;
  3868. #endif
  3869. #if (defined(VK_NV_external_memory_rdma))
  3870. PFN_vkGetMemoryRemoteAddressNV fp_vkGetMemoryRemoteAddressNV = nullptr;
  3871. #endif
  3872. #if (defined(VK_KHR_external_semaphore_win32))
  3873. PFN_vkGetSemaphoreWin32HandleKHR fp_vkGetSemaphoreWin32HandleKHR = nullptr;
  3874. #endif
  3875. #if (defined(VK_KHR_external_semaphore_win32))
  3876. PFN_vkImportSemaphoreWin32HandleKHR fp_vkImportSemaphoreWin32HandleKHR = nullptr;
  3877. #endif
  3878. #if (defined(VK_KHR_external_semaphore_fd))
  3879. PFN_vkGetSemaphoreFdKHR fp_vkGetSemaphoreFdKHR = nullptr;
  3880. #endif
  3881. #if (defined(VK_KHR_external_semaphore_fd))
  3882. PFN_vkImportSemaphoreFdKHR fp_vkImportSemaphoreFdKHR = nullptr;
  3883. #endif
  3884. #if (defined(VK_FUCHSIA_external_semaphore))
  3885. PFN_vkGetSemaphoreZirconHandleFUCHSIA fp_vkGetSemaphoreZirconHandleFUCHSIA = nullptr;
  3886. #endif
  3887. #if (defined(VK_FUCHSIA_external_semaphore))
  3888. PFN_vkImportSemaphoreZirconHandleFUCHSIA fp_vkImportSemaphoreZirconHandleFUCHSIA = nullptr;
  3889. #endif
  3890. #if (defined(VK_KHR_external_fence_win32))
  3891. PFN_vkGetFenceWin32HandleKHR fp_vkGetFenceWin32HandleKHR = nullptr;
  3892. #endif
  3893. #if (defined(VK_KHR_external_fence_win32))
  3894. PFN_vkImportFenceWin32HandleKHR fp_vkImportFenceWin32HandleKHR = nullptr;
  3895. #endif
  3896. #if (defined(VK_KHR_external_fence_fd))
  3897. PFN_vkGetFenceFdKHR fp_vkGetFenceFdKHR = nullptr;
  3898. #endif
  3899. #if (defined(VK_KHR_external_fence_fd))
  3900. PFN_vkImportFenceFdKHR fp_vkImportFenceFdKHR = nullptr;
  3901. #endif
  3902. #if (defined(VK_EXT_display_control))
  3903. PFN_vkDisplayPowerControlEXT fp_vkDisplayPowerControlEXT = nullptr;
  3904. #endif
  3905. #if (defined(VK_EXT_display_control))
  3906. PFN_vkRegisterDeviceEventEXT fp_vkRegisterDeviceEventEXT = nullptr;
  3907. #endif
  3908. #if (defined(VK_EXT_display_control))
  3909. PFN_vkRegisterDisplayEventEXT fp_vkRegisterDisplayEventEXT = nullptr;
  3910. #endif
  3911. #if (defined(VK_EXT_display_control))
  3912. PFN_vkGetSwapchainCounterEXT fp_vkGetSwapchainCounterEXT = nullptr;
  3913. #endif
  3914. #if (defined(VK_VERSION_1_1))
  3915. PFN_vkGetDeviceGroupPeerMemoryFeatures fp_vkGetDeviceGroupPeerMemoryFeatures = nullptr;
  3916. #endif
  3917. #if (defined(VK_VERSION_1_1))
  3918. PFN_vkBindBufferMemory2 fp_vkBindBufferMemory2 = nullptr;
  3919. #endif
  3920. #if (defined(VK_VERSION_1_1))
  3921. PFN_vkBindImageMemory2 fp_vkBindImageMemory2 = nullptr;
  3922. #endif
  3923. #if (defined(VK_VERSION_1_1))
  3924. PFN_vkCmdSetDeviceMask fp_vkCmdSetDeviceMask = nullptr;
  3925. #endif
  3926. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_surface))
  3927. PFN_vkGetDeviceGroupPresentCapabilitiesKHR fp_vkGetDeviceGroupPresentCapabilitiesKHR = nullptr;
  3928. #endif
  3929. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_surface))
  3930. PFN_vkGetDeviceGroupSurfacePresentModesKHR fp_vkGetDeviceGroupSurfacePresentModesKHR = nullptr;
  3931. #endif
  3932. #if (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain))
  3933. PFN_vkAcquireNextImage2KHR fp_vkAcquireNextImage2KHR = nullptr;
  3934. #endif
  3935. #if (defined(VK_VERSION_1_1))
  3936. PFN_vkCmdDispatchBase fp_vkCmdDispatchBase = nullptr;
  3937. #endif
  3938. #if (defined(VK_VERSION_1_1))
  3939. PFN_vkCreateDescriptorUpdateTemplate fp_vkCreateDescriptorUpdateTemplate = nullptr;
  3940. #endif
  3941. #if (defined(VK_VERSION_1_1))
  3942. PFN_vkDestroyDescriptorUpdateTemplate fp_vkDestroyDescriptorUpdateTemplate = nullptr;
  3943. #endif
  3944. #if (defined(VK_VERSION_1_1))
  3945. PFN_vkUpdateDescriptorSetWithTemplate fp_vkUpdateDescriptorSetWithTemplate = nullptr;
  3946. #endif
  3947. #if (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) || (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor))
  3948. PFN_vkCmdPushDescriptorSetWithTemplateKHR fp_vkCmdPushDescriptorSetWithTemplateKHR = nullptr;
  3949. #endif
  3950. #if (defined(VK_EXT_hdr_metadata))
  3951. PFN_vkSetHdrMetadataEXT fp_vkSetHdrMetadataEXT = nullptr;
  3952. #endif
  3953. #if (defined(VK_KHR_shared_presentable_image))
  3954. PFN_vkGetSwapchainStatusKHR fp_vkGetSwapchainStatusKHR = nullptr;
  3955. #endif
  3956. #if (defined(VK_GOOGLE_display_timing))
  3957. PFN_vkGetRefreshCycleDurationGOOGLE fp_vkGetRefreshCycleDurationGOOGLE = nullptr;
  3958. #endif
  3959. #if (defined(VK_GOOGLE_display_timing))
  3960. PFN_vkGetPastPresentationTimingGOOGLE fp_vkGetPastPresentationTimingGOOGLE = nullptr;
  3961. #endif
  3962. #if (defined(VK_NV_clip_space_w_scaling))
  3963. PFN_vkCmdSetViewportWScalingNV fp_vkCmdSetViewportWScalingNV = nullptr;
  3964. #endif
  3965. #if (defined(VK_EXT_discard_rectangles))
  3966. PFN_vkCmdSetDiscardRectangleEXT fp_vkCmdSetDiscardRectangleEXT = nullptr;
  3967. #endif
  3968. #if (defined(VK_EXT_sample_locations))
  3969. PFN_vkCmdSetSampleLocationsEXT fp_vkCmdSetSampleLocationsEXT = nullptr;
  3970. #endif
  3971. #if (defined(VK_VERSION_1_1))
  3972. PFN_vkGetBufferMemoryRequirements2 fp_vkGetBufferMemoryRequirements2 = nullptr;
  3973. #endif
  3974. #if (defined(VK_VERSION_1_1))
  3975. PFN_vkGetImageMemoryRequirements2 fp_vkGetImageMemoryRequirements2 = nullptr;
  3976. #endif
  3977. #if (defined(VK_VERSION_1_1))
  3978. PFN_vkGetImageSparseMemoryRequirements2 fp_vkGetImageSparseMemoryRequirements2 = nullptr;
  3979. #endif
  3980. #if (defined(VK_VERSION_1_3))
  3981. PFN_vkGetDeviceBufferMemoryRequirements fp_vkGetDeviceBufferMemoryRequirements = nullptr;
  3982. #endif
  3983. #if (defined(VK_VERSION_1_3))
  3984. PFN_vkGetDeviceImageMemoryRequirements fp_vkGetDeviceImageMemoryRequirements = nullptr;
  3985. #endif
  3986. #if (defined(VK_VERSION_1_3))
  3987. PFN_vkGetDeviceImageSparseMemoryRequirements fp_vkGetDeviceImageSparseMemoryRequirements = nullptr;
  3988. #endif
  3989. #if (defined(VK_VERSION_1_1))
  3990. PFN_vkCreateSamplerYcbcrConversion fp_vkCreateSamplerYcbcrConversion = nullptr;
  3991. #endif
  3992. #if (defined(VK_VERSION_1_1))
  3993. PFN_vkDestroySamplerYcbcrConversion fp_vkDestroySamplerYcbcrConversion = nullptr;
  3994. #endif
  3995. #if (defined(VK_VERSION_1_1))
  3996. PFN_vkGetDeviceQueue2 fp_vkGetDeviceQueue2 = nullptr;
  3997. #endif
  3998. #if (defined(VK_EXT_validation_cache))
  3999. PFN_vkCreateValidationCacheEXT fp_vkCreateValidationCacheEXT = nullptr;
  4000. #endif
  4001. #if (defined(VK_EXT_validation_cache))
  4002. PFN_vkDestroyValidationCacheEXT fp_vkDestroyValidationCacheEXT = nullptr;
  4003. #endif
  4004. #if (defined(VK_EXT_validation_cache))
  4005. PFN_vkGetValidationCacheDataEXT fp_vkGetValidationCacheDataEXT = nullptr;
  4006. #endif
  4007. #if (defined(VK_EXT_validation_cache))
  4008. PFN_vkMergeValidationCachesEXT fp_vkMergeValidationCachesEXT = nullptr;
  4009. #endif
  4010. #if (defined(VK_VERSION_1_1))
  4011. PFN_vkGetDescriptorSetLayoutSupport fp_vkGetDescriptorSetLayoutSupport = nullptr;
  4012. #endif
  4013. #if (defined(VK_ANDROID_native_buffer))
  4014. PFN_vkGetSwapchainGrallocUsageANDROID fp_vkGetSwapchainGrallocUsageANDROID = nullptr;
  4015. #endif
  4016. #if (defined(VK_ANDROID_native_buffer))
  4017. PFN_vkGetSwapchainGrallocUsage2ANDROID fp_vkGetSwapchainGrallocUsage2ANDROID = nullptr;
  4018. #endif
  4019. #if (defined(VK_ANDROID_native_buffer))
  4020. PFN_vkAcquireImageANDROID fp_vkAcquireImageANDROID = nullptr;
  4021. #endif
  4022. #if (defined(VK_ANDROID_native_buffer))
  4023. PFN_vkQueueSignalReleaseImageANDROID fp_vkQueueSignalReleaseImageANDROID = nullptr;
  4024. #endif
  4025. #if (defined(VK_AMD_shader_info))
  4026. PFN_vkGetShaderInfoAMD fp_vkGetShaderInfoAMD = nullptr;
  4027. #endif
  4028. #if (defined(VK_AMD_display_native_hdr))
  4029. PFN_vkSetLocalDimmingAMD fp_vkSetLocalDimmingAMD = nullptr;
  4030. #endif
  4031. #if (defined(VK_EXT_calibrated_timestamps))
  4032. PFN_vkGetCalibratedTimestampsEXT fp_vkGetCalibratedTimestampsEXT = nullptr;
  4033. #endif
  4034. #if (defined(VK_EXT_debug_utils))
  4035. PFN_vkSetDebugUtilsObjectNameEXT fp_vkSetDebugUtilsObjectNameEXT = nullptr;
  4036. #endif
  4037. #if (defined(VK_EXT_debug_utils))
  4038. PFN_vkSetDebugUtilsObjectTagEXT fp_vkSetDebugUtilsObjectTagEXT = nullptr;
  4039. #endif
  4040. #if (defined(VK_EXT_debug_utils))
  4041. PFN_vkQueueBeginDebugUtilsLabelEXT fp_vkQueueBeginDebugUtilsLabelEXT = nullptr;
  4042. #endif
  4043. #if (defined(VK_EXT_debug_utils))
  4044. PFN_vkQueueEndDebugUtilsLabelEXT fp_vkQueueEndDebugUtilsLabelEXT = nullptr;
  4045. #endif
  4046. #if (defined(VK_EXT_debug_utils))
  4047. PFN_vkQueueInsertDebugUtilsLabelEXT fp_vkQueueInsertDebugUtilsLabelEXT = nullptr;
  4048. #endif
  4049. #if (defined(VK_EXT_debug_utils))
  4050. PFN_vkCmdBeginDebugUtilsLabelEXT fp_vkCmdBeginDebugUtilsLabelEXT = nullptr;
  4051. #endif
  4052. #if (defined(VK_EXT_debug_utils))
  4053. PFN_vkCmdEndDebugUtilsLabelEXT fp_vkCmdEndDebugUtilsLabelEXT = nullptr;
  4054. #endif
  4055. #if (defined(VK_EXT_debug_utils))
  4056. PFN_vkCmdInsertDebugUtilsLabelEXT fp_vkCmdInsertDebugUtilsLabelEXT = nullptr;
  4057. #endif
  4058. #if (defined(VK_EXT_external_memory_host))
  4059. PFN_vkGetMemoryHostPointerPropertiesEXT fp_vkGetMemoryHostPointerPropertiesEXT = nullptr;
  4060. #endif
  4061. #if (defined(VK_AMD_buffer_marker))
  4062. PFN_vkCmdWriteBufferMarkerAMD fp_vkCmdWriteBufferMarkerAMD = nullptr;
  4063. #endif
  4064. #if (defined(VK_VERSION_1_2))
  4065. PFN_vkCreateRenderPass2 fp_vkCreateRenderPass2 = nullptr;
  4066. #endif
  4067. #if (defined(VK_VERSION_1_2))
  4068. PFN_vkCmdBeginRenderPass2 fp_vkCmdBeginRenderPass2 = nullptr;
  4069. #endif
  4070. #if (defined(VK_VERSION_1_2))
  4071. PFN_vkCmdNextSubpass2 fp_vkCmdNextSubpass2 = nullptr;
  4072. #endif
  4073. #if (defined(VK_VERSION_1_2))
  4074. PFN_vkCmdEndRenderPass2 fp_vkCmdEndRenderPass2 = nullptr;
  4075. #endif
  4076. #if (defined(VK_VERSION_1_2))
  4077. PFN_vkGetSemaphoreCounterValue fp_vkGetSemaphoreCounterValue = nullptr;
  4078. #endif
  4079. #if (defined(VK_VERSION_1_2))
  4080. PFN_vkWaitSemaphores fp_vkWaitSemaphores = nullptr;
  4081. #endif
  4082. #if (defined(VK_VERSION_1_2))
  4083. PFN_vkSignalSemaphore fp_vkSignalSemaphore = nullptr;
  4084. #endif
  4085. #if (defined(VK_ANDROID_external_memory_android_hardware_buffer))
  4086. PFN_vkGetAndroidHardwareBufferPropertiesANDROID fp_vkGetAndroidHardwareBufferPropertiesANDROID = nullptr;
  4087. #endif
  4088. #if (defined(VK_ANDROID_external_memory_android_hardware_buffer))
  4089. PFN_vkGetMemoryAndroidHardwareBufferANDROID fp_vkGetMemoryAndroidHardwareBufferANDROID = nullptr;
  4090. #endif
  4091. #if (defined(VK_VERSION_1_2))
  4092. PFN_vkCmdDrawIndirectCount fp_vkCmdDrawIndirectCount = nullptr;
  4093. #endif
  4094. #if (defined(VK_VERSION_1_2))
  4095. PFN_vkCmdDrawIndexedIndirectCount fp_vkCmdDrawIndexedIndirectCount = nullptr;
  4096. #endif
  4097. #if (defined(VK_NV_device_diagnostic_checkpoints))
  4098. PFN_vkCmdSetCheckpointNV fp_vkCmdSetCheckpointNV = nullptr;
  4099. #endif
  4100. #if (defined(VK_NV_device_diagnostic_checkpoints))
  4101. PFN_vkGetQueueCheckpointDataNV fp_vkGetQueueCheckpointDataNV = nullptr;
  4102. #endif
  4103. #if (defined(VK_EXT_transform_feedback))
  4104. PFN_vkCmdBindTransformFeedbackBuffersEXT fp_vkCmdBindTransformFeedbackBuffersEXT = nullptr;
  4105. #endif
  4106. #if (defined(VK_EXT_transform_feedback))
  4107. PFN_vkCmdBeginTransformFeedbackEXT fp_vkCmdBeginTransformFeedbackEXT = nullptr;
  4108. #endif
  4109. #if (defined(VK_EXT_transform_feedback))
  4110. PFN_vkCmdEndTransformFeedbackEXT fp_vkCmdEndTransformFeedbackEXT = nullptr;
  4111. #endif
  4112. #if (defined(VK_EXT_transform_feedback))
  4113. PFN_vkCmdBeginQueryIndexedEXT fp_vkCmdBeginQueryIndexedEXT = nullptr;
  4114. #endif
  4115. #if (defined(VK_EXT_transform_feedback))
  4116. PFN_vkCmdEndQueryIndexedEXT fp_vkCmdEndQueryIndexedEXT = nullptr;
  4117. #endif
  4118. #if (defined(VK_EXT_transform_feedback))
  4119. PFN_vkCmdDrawIndirectByteCountEXT fp_vkCmdDrawIndirectByteCountEXT = nullptr;
  4120. #endif
  4121. #if (defined(VK_NV_scissor_exclusive))
  4122. PFN_vkCmdSetExclusiveScissorNV fp_vkCmdSetExclusiveScissorNV = nullptr;
  4123. #endif
  4124. #if (defined(VK_NV_shading_rate_image))
  4125. PFN_vkCmdBindShadingRateImageNV fp_vkCmdBindShadingRateImageNV = nullptr;
  4126. #endif
  4127. #if (defined(VK_NV_shading_rate_image))
  4128. PFN_vkCmdSetViewportShadingRatePaletteNV fp_vkCmdSetViewportShadingRatePaletteNV = nullptr;
  4129. #endif
  4130. #if (defined(VK_NV_shading_rate_image))
  4131. PFN_vkCmdSetCoarseSampleOrderNV fp_vkCmdSetCoarseSampleOrderNV = nullptr;
  4132. #endif
  4133. #if (defined(VK_NV_mesh_shader))
  4134. PFN_vkCmdDrawMeshTasksNV fp_vkCmdDrawMeshTasksNV = nullptr;
  4135. #endif
  4136. #if (defined(VK_NV_mesh_shader))
  4137. PFN_vkCmdDrawMeshTasksIndirectNV fp_vkCmdDrawMeshTasksIndirectNV = nullptr;
  4138. #endif
  4139. #if (defined(VK_NV_mesh_shader))
  4140. PFN_vkCmdDrawMeshTasksIndirectCountNV fp_vkCmdDrawMeshTasksIndirectCountNV = nullptr;
  4141. #endif
  4142. #if (defined(VK_EXT_mesh_shader))
  4143. PFN_vkCmdDrawMeshTasksEXT fp_vkCmdDrawMeshTasksEXT = nullptr;
  4144. #endif
  4145. #if (defined(VK_EXT_mesh_shader))
  4146. PFN_vkCmdDrawMeshTasksIndirectEXT fp_vkCmdDrawMeshTasksIndirectEXT = nullptr;
  4147. #endif
  4148. #if (defined(VK_EXT_mesh_shader))
  4149. PFN_vkCmdDrawMeshTasksIndirectCountEXT fp_vkCmdDrawMeshTasksIndirectCountEXT = nullptr;
  4150. #endif
  4151. #if (defined(VK_NV_ray_tracing))
  4152. PFN_vkCompileDeferredNV fp_vkCompileDeferredNV = nullptr;
  4153. #endif
  4154. #if (defined(VK_NV_ray_tracing))
  4155. PFN_vkCreateAccelerationStructureNV fp_vkCreateAccelerationStructureNV = nullptr;
  4156. #endif
  4157. #if (defined(VK_HUAWEI_invocation_mask))
  4158. PFN_vkCmdBindInvocationMaskHUAWEI fp_vkCmdBindInvocationMaskHUAWEI = nullptr;
  4159. #endif
  4160. #if (defined(VK_KHR_acceleration_structure))
  4161. PFN_vkDestroyAccelerationStructureKHR fp_vkDestroyAccelerationStructureKHR = nullptr;
  4162. #endif
  4163. #if (defined(VK_NV_ray_tracing))
  4164. PFN_vkDestroyAccelerationStructureNV fp_vkDestroyAccelerationStructureNV = nullptr;
  4165. #endif
  4166. #if (defined(VK_NV_ray_tracing))
  4167. PFN_vkGetAccelerationStructureMemoryRequirementsNV fp_vkGetAccelerationStructureMemoryRequirementsNV = nullptr;
  4168. #endif
  4169. #if (defined(VK_NV_ray_tracing))
  4170. PFN_vkBindAccelerationStructureMemoryNV fp_vkBindAccelerationStructureMemoryNV = nullptr;
  4171. #endif
  4172. #if (defined(VK_NV_ray_tracing))
  4173. PFN_vkCmdCopyAccelerationStructureNV fp_vkCmdCopyAccelerationStructureNV = nullptr;
  4174. #endif
  4175. #if (defined(VK_KHR_acceleration_structure))
  4176. PFN_vkCmdCopyAccelerationStructureKHR fp_vkCmdCopyAccelerationStructureKHR = nullptr;
  4177. #endif
  4178. #if (defined(VK_KHR_acceleration_structure))
  4179. PFN_vkCopyAccelerationStructureKHR fp_vkCopyAccelerationStructureKHR = nullptr;
  4180. #endif
  4181. #if (defined(VK_KHR_acceleration_structure))
  4182. PFN_vkCmdCopyAccelerationStructureToMemoryKHR fp_vkCmdCopyAccelerationStructureToMemoryKHR = nullptr;
  4183. #endif
  4184. #if (defined(VK_KHR_acceleration_structure))
  4185. PFN_vkCopyAccelerationStructureToMemoryKHR fp_vkCopyAccelerationStructureToMemoryKHR = nullptr;
  4186. #endif
  4187. #if (defined(VK_KHR_acceleration_structure))
  4188. PFN_vkCmdCopyMemoryToAccelerationStructureKHR fp_vkCmdCopyMemoryToAccelerationStructureKHR = nullptr;
  4189. #endif
  4190. #if (defined(VK_KHR_acceleration_structure))
  4191. PFN_vkCopyMemoryToAccelerationStructureKHR fp_vkCopyMemoryToAccelerationStructureKHR = nullptr;
  4192. #endif
  4193. #if (defined(VK_KHR_acceleration_structure))
  4194. PFN_vkCmdWriteAccelerationStructuresPropertiesKHR fp_vkCmdWriteAccelerationStructuresPropertiesKHR = nullptr;
  4195. #endif
  4196. #if (defined(VK_NV_ray_tracing))
  4197. PFN_vkCmdWriteAccelerationStructuresPropertiesNV fp_vkCmdWriteAccelerationStructuresPropertiesNV = nullptr;
  4198. #endif
  4199. #if (defined(VK_NV_ray_tracing))
  4200. PFN_vkCmdBuildAccelerationStructureNV fp_vkCmdBuildAccelerationStructureNV = nullptr;
  4201. #endif
  4202. #if (defined(VK_KHR_acceleration_structure))
  4203. PFN_vkWriteAccelerationStructuresPropertiesKHR fp_vkWriteAccelerationStructuresPropertiesKHR = nullptr;
  4204. #endif
  4205. #if (defined(VK_KHR_ray_tracing_pipeline))
  4206. PFN_vkCmdTraceRaysKHR fp_vkCmdTraceRaysKHR = nullptr;
  4207. #endif
  4208. #if (defined(VK_NV_ray_tracing))
  4209. PFN_vkCmdTraceRaysNV fp_vkCmdTraceRaysNV = nullptr;
  4210. #endif
  4211. #if (defined(VK_KHR_ray_tracing_pipeline))
  4212. PFN_vkGetRayTracingShaderGroupHandlesKHR fp_vkGetRayTracingShaderGroupHandlesKHR = nullptr;
  4213. #endif
  4214. #if (defined(VK_KHR_ray_tracing_pipeline))
  4215. PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR fp_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = nullptr;
  4216. #endif
  4217. #if (defined(VK_NV_ray_tracing))
  4218. PFN_vkGetAccelerationStructureHandleNV fp_vkGetAccelerationStructureHandleNV = nullptr;
  4219. #endif
  4220. #if (defined(VK_NV_ray_tracing))
  4221. PFN_vkCreateRayTracingPipelinesNV fp_vkCreateRayTracingPipelinesNV = nullptr;
  4222. #endif
  4223. #if (defined(VK_KHR_ray_tracing_pipeline))
  4224. PFN_vkCreateRayTracingPipelinesKHR fp_vkCreateRayTracingPipelinesKHR = nullptr;
  4225. #endif
  4226. #if (defined(VK_KHR_ray_tracing_pipeline))
  4227. PFN_vkCmdTraceRaysIndirectKHR fp_vkCmdTraceRaysIndirectKHR = nullptr;
  4228. #endif
  4229. #if (defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline))
  4230. PFN_vkCmdTraceRaysIndirect2KHR fp_vkCmdTraceRaysIndirect2KHR = nullptr;
  4231. #endif
  4232. #if (defined(VK_KHR_acceleration_structure))
  4233. PFN_vkGetDeviceAccelerationStructureCompatibilityKHR fp_vkGetDeviceAccelerationStructureCompatibilityKHR = nullptr;
  4234. #endif
  4235. #if (defined(VK_KHR_ray_tracing_pipeline))
  4236. PFN_vkGetRayTracingShaderGroupStackSizeKHR fp_vkGetRayTracingShaderGroupStackSizeKHR = nullptr;
  4237. #endif
  4238. #if (defined(VK_KHR_ray_tracing_pipeline))
  4239. PFN_vkCmdSetRayTracingPipelineStackSizeKHR fp_vkCmdSetRayTracingPipelineStackSizeKHR = nullptr;
  4240. #endif
  4241. #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
  4242. PFN_vkGetDeviceGroupSurfacePresentModes2EXT fp_vkGetDeviceGroupSurfacePresentModes2EXT = nullptr;
  4243. #endif
  4244. #if (defined(VK_EXT_full_screen_exclusive))
  4245. PFN_vkAcquireFullScreenExclusiveModeEXT fp_vkAcquireFullScreenExclusiveModeEXT = nullptr;
  4246. #endif
  4247. #if (defined(VK_EXT_full_screen_exclusive))
  4248. PFN_vkReleaseFullScreenExclusiveModeEXT fp_vkReleaseFullScreenExclusiveModeEXT = nullptr;
  4249. #endif
  4250. #if (defined(VK_KHR_performance_query))
  4251. PFN_vkAcquireProfilingLockKHR fp_vkAcquireProfilingLockKHR = nullptr;
  4252. #endif
  4253. #if (defined(VK_KHR_performance_query))
  4254. PFN_vkReleaseProfilingLockKHR fp_vkReleaseProfilingLockKHR = nullptr;
  4255. #endif
  4256. #if (defined(VK_EXT_image_drm_format_modifier))
  4257. PFN_vkGetImageDrmFormatModifierPropertiesEXT fp_vkGetImageDrmFormatModifierPropertiesEXT = nullptr;
  4258. #endif
  4259. #if (defined(VK_VERSION_1_2))
  4260. PFN_vkGetBufferOpaqueCaptureAddress fp_vkGetBufferOpaqueCaptureAddress = nullptr;
  4261. #endif
  4262. #if (defined(VK_VERSION_1_2))
  4263. PFN_vkGetBufferDeviceAddress fp_vkGetBufferDeviceAddress = nullptr;
  4264. #endif
  4265. #if (defined(VK_INTEL_performance_query))
  4266. PFN_vkInitializePerformanceApiINTEL fp_vkInitializePerformanceApiINTEL = nullptr;
  4267. #endif
  4268. #if (defined(VK_INTEL_performance_query))
  4269. PFN_vkUninitializePerformanceApiINTEL fp_vkUninitializePerformanceApiINTEL = nullptr;
  4270. #endif
  4271. #if (defined(VK_INTEL_performance_query))
  4272. PFN_vkCmdSetPerformanceMarkerINTEL fp_vkCmdSetPerformanceMarkerINTEL = nullptr;
  4273. #endif
  4274. #if (defined(VK_INTEL_performance_query))
  4275. PFN_vkCmdSetPerformanceStreamMarkerINTEL fp_vkCmdSetPerformanceStreamMarkerINTEL = nullptr;
  4276. #endif
  4277. #if (defined(VK_INTEL_performance_query))
  4278. PFN_vkCmdSetPerformanceOverrideINTEL fp_vkCmdSetPerformanceOverrideINTEL = nullptr;
  4279. #endif
  4280. #if (defined(VK_INTEL_performance_query))
  4281. PFN_vkAcquirePerformanceConfigurationINTEL fp_vkAcquirePerformanceConfigurationINTEL = nullptr;
  4282. #endif
  4283. #if (defined(VK_INTEL_performance_query))
  4284. PFN_vkReleasePerformanceConfigurationINTEL fp_vkReleasePerformanceConfigurationINTEL = nullptr;
  4285. #endif
  4286. #if (defined(VK_INTEL_performance_query))
  4287. PFN_vkQueueSetPerformanceConfigurationINTEL fp_vkQueueSetPerformanceConfigurationINTEL = nullptr;
  4288. #endif
  4289. #if (defined(VK_INTEL_performance_query))
  4290. PFN_vkGetPerformanceParameterINTEL fp_vkGetPerformanceParameterINTEL = nullptr;
  4291. #endif
  4292. #if (defined(VK_VERSION_1_2))
  4293. PFN_vkGetDeviceMemoryOpaqueCaptureAddress fp_vkGetDeviceMemoryOpaqueCaptureAddress = nullptr;
  4294. #endif
  4295. #if (defined(VK_KHR_pipeline_executable_properties))
  4296. PFN_vkGetPipelineExecutablePropertiesKHR fp_vkGetPipelineExecutablePropertiesKHR = nullptr;
  4297. #endif
  4298. #if (defined(VK_KHR_pipeline_executable_properties))
  4299. PFN_vkGetPipelineExecutableStatisticsKHR fp_vkGetPipelineExecutableStatisticsKHR = nullptr;
  4300. #endif
  4301. #if (defined(VK_KHR_pipeline_executable_properties))
  4302. PFN_vkGetPipelineExecutableInternalRepresentationsKHR fp_vkGetPipelineExecutableInternalRepresentationsKHR = nullptr;
  4303. #endif
  4304. #if (defined(VK_EXT_line_rasterization))
  4305. PFN_vkCmdSetLineStippleEXT fp_vkCmdSetLineStippleEXT = nullptr;
  4306. #endif
  4307. #if (defined(VK_KHR_acceleration_structure))
  4308. PFN_vkCreateAccelerationStructureKHR fp_vkCreateAccelerationStructureKHR = nullptr;
  4309. #endif
  4310. #if (defined(VK_KHR_acceleration_structure))
  4311. PFN_vkCmdBuildAccelerationStructuresKHR fp_vkCmdBuildAccelerationStructuresKHR = nullptr;
  4312. #endif
  4313. #if (defined(VK_KHR_acceleration_structure))
  4314. PFN_vkCmdBuildAccelerationStructuresIndirectKHR fp_vkCmdBuildAccelerationStructuresIndirectKHR = nullptr;
  4315. #endif
  4316. #if (defined(VK_KHR_acceleration_structure))
  4317. PFN_vkBuildAccelerationStructuresKHR fp_vkBuildAccelerationStructuresKHR = nullptr;
  4318. #endif
  4319. #if (defined(VK_KHR_acceleration_structure))
  4320. PFN_vkGetAccelerationStructureDeviceAddressKHR fp_vkGetAccelerationStructureDeviceAddressKHR = nullptr;
  4321. #endif
  4322. #if (defined(VK_KHR_deferred_host_operations))
  4323. PFN_vkCreateDeferredOperationKHR fp_vkCreateDeferredOperationKHR = nullptr;
  4324. #endif
  4325. #if (defined(VK_KHR_deferred_host_operations))
  4326. PFN_vkDestroyDeferredOperationKHR fp_vkDestroyDeferredOperationKHR = nullptr;
  4327. #endif
  4328. #if (defined(VK_KHR_deferred_host_operations))
  4329. PFN_vkGetDeferredOperationMaxConcurrencyKHR fp_vkGetDeferredOperationMaxConcurrencyKHR = nullptr;
  4330. #endif
  4331. #if (defined(VK_KHR_deferred_host_operations))
  4332. PFN_vkGetDeferredOperationResultKHR fp_vkGetDeferredOperationResultKHR = nullptr;
  4333. #endif
  4334. #if (defined(VK_KHR_deferred_host_operations))
  4335. PFN_vkDeferredOperationJoinKHR fp_vkDeferredOperationJoinKHR = nullptr;
  4336. #endif
  4337. #if (defined(VK_VERSION_1_3))
  4338. PFN_vkCmdSetCullMode fp_vkCmdSetCullMode = nullptr;
  4339. #endif
  4340. #if (defined(VK_VERSION_1_3))
  4341. PFN_vkCmdSetFrontFace fp_vkCmdSetFrontFace = nullptr;
  4342. #endif
  4343. #if (defined(VK_VERSION_1_3))
  4344. PFN_vkCmdSetPrimitiveTopology fp_vkCmdSetPrimitiveTopology = nullptr;
  4345. #endif
  4346. #if (defined(VK_VERSION_1_3))
  4347. PFN_vkCmdSetViewportWithCount fp_vkCmdSetViewportWithCount = nullptr;
  4348. #endif
  4349. #if (defined(VK_VERSION_1_3))
  4350. PFN_vkCmdSetScissorWithCount fp_vkCmdSetScissorWithCount = nullptr;
  4351. #endif
  4352. #if (defined(VK_VERSION_1_3))
  4353. PFN_vkCmdBindVertexBuffers2 fp_vkCmdBindVertexBuffers2 = nullptr;
  4354. #endif
  4355. #if (defined(VK_VERSION_1_3))
  4356. PFN_vkCmdSetDepthTestEnable fp_vkCmdSetDepthTestEnable = nullptr;
  4357. #endif
  4358. #if (defined(VK_VERSION_1_3))
  4359. PFN_vkCmdSetDepthWriteEnable fp_vkCmdSetDepthWriteEnable = nullptr;
  4360. #endif
  4361. #if (defined(VK_VERSION_1_3))
  4362. PFN_vkCmdSetDepthCompareOp fp_vkCmdSetDepthCompareOp = nullptr;
  4363. #endif
  4364. #if (defined(VK_VERSION_1_3))
  4365. PFN_vkCmdSetDepthBoundsTestEnable fp_vkCmdSetDepthBoundsTestEnable = nullptr;
  4366. #endif
  4367. #if (defined(VK_VERSION_1_3))
  4368. PFN_vkCmdSetStencilTestEnable fp_vkCmdSetStencilTestEnable = nullptr;
  4369. #endif
  4370. #if (defined(VK_VERSION_1_3))
  4371. PFN_vkCmdSetStencilOp fp_vkCmdSetStencilOp = nullptr;
  4372. #endif
  4373. #if (defined(VK_EXT_extended_dynamic_state2))
  4374. PFN_vkCmdSetPatchControlPointsEXT fp_vkCmdSetPatchControlPointsEXT = nullptr;
  4375. #endif
  4376. #if (defined(VK_VERSION_1_3))
  4377. PFN_vkCmdSetRasterizerDiscardEnable fp_vkCmdSetRasterizerDiscardEnable = nullptr;
  4378. #endif
  4379. #if (defined(VK_VERSION_1_3))
  4380. PFN_vkCmdSetDepthBiasEnable fp_vkCmdSetDepthBiasEnable = nullptr;
  4381. #endif
  4382. #if (defined(VK_EXT_extended_dynamic_state2))
  4383. PFN_vkCmdSetLogicOpEXT fp_vkCmdSetLogicOpEXT = nullptr;
  4384. #endif
  4385. #if (defined(VK_VERSION_1_3))
  4386. PFN_vkCmdSetPrimitiveRestartEnable fp_vkCmdSetPrimitiveRestartEnable = nullptr;
  4387. #endif
  4388. #if (defined(VK_EXT_extended_dynamic_state3))
  4389. PFN_vkCmdSetTessellationDomainOriginEXT fp_vkCmdSetTessellationDomainOriginEXT = nullptr;
  4390. #endif
  4391. #if (defined(VK_EXT_extended_dynamic_state3))
  4392. PFN_vkCmdSetDepthClampEnableEXT fp_vkCmdSetDepthClampEnableEXT = nullptr;
  4393. #endif
  4394. #if (defined(VK_EXT_extended_dynamic_state3))
  4395. PFN_vkCmdSetPolygonModeEXT fp_vkCmdSetPolygonModeEXT = nullptr;
  4396. #endif
  4397. #if (defined(VK_EXT_extended_dynamic_state3))
  4398. PFN_vkCmdSetRasterizationSamplesEXT fp_vkCmdSetRasterizationSamplesEXT = nullptr;
  4399. #endif
  4400. #if (defined(VK_EXT_extended_dynamic_state3))
  4401. PFN_vkCmdSetSampleMaskEXT fp_vkCmdSetSampleMaskEXT = nullptr;
  4402. #endif
  4403. #if (defined(VK_EXT_extended_dynamic_state3))
  4404. PFN_vkCmdSetAlphaToCoverageEnableEXT fp_vkCmdSetAlphaToCoverageEnableEXT = nullptr;
  4405. #endif
  4406. #if (defined(VK_EXT_extended_dynamic_state3))
  4407. PFN_vkCmdSetAlphaToOneEnableEXT fp_vkCmdSetAlphaToOneEnableEXT = nullptr;
  4408. #endif
  4409. #if (defined(VK_EXT_extended_dynamic_state3))
  4410. PFN_vkCmdSetLogicOpEnableEXT fp_vkCmdSetLogicOpEnableEXT = nullptr;
  4411. #endif
  4412. #if (defined(VK_EXT_extended_dynamic_state3))
  4413. PFN_vkCmdSetColorBlendEnableEXT fp_vkCmdSetColorBlendEnableEXT = nullptr;
  4414. #endif
  4415. #if (defined(VK_EXT_extended_dynamic_state3))
  4416. PFN_vkCmdSetColorBlendEquationEXT fp_vkCmdSetColorBlendEquationEXT = nullptr;
  4417. #endif
  4418. #if (defined(VK_EXT_extended_dynamic_state3))
  4419. PFN_vkCmdSetColorWriteMaskEXT fp_vkCmdSetColorWriteMaskEXT = nullptr;
  4420. #endif
  4421. #if (defined(VK_EXT_extended_dynamic_state3))
  4422. PFN_vkCmdSetRasterizationStreamEXT fp_vkCmdSetRasterizationStreamEXT = nullptr;
  4423. #endif
  4424. #if (defined(VK_EXT_extended_dynamic_state3))
  4425. PFN_vkCmdSetConservativeRasterizationModeEXT fp_vkCmdSetConservativeRasterizationModeEXT = nullptr;
  4426. #endif
  4427. #if (defined(VK_EXT_extended_dynamic_state3))
  4428. PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT fp_vkCmdSetExtraPrimitiveOverestimationSizeEXT = nullptr;
  4429. #endif
  4430. #if (defined(VK_EXT_extended_dynamic_state3))
  4431. PFN_vkCmdSetDepthClipEnableEXT fp_vkCmdSetDepthClipEnableEXT = nullptr;
  4432. #endif
  4433. #if (defined(VK_EXT_extended_dynamic_state3))
  4434. PFN_vkCmdSetSampleLocationsEnableEXT fp_vkCmdSetSampleLocationsEnableEXT = nullptr;
  4435. #endif
  4436. #if (defined(VK_EXT_extended_dynamic_state3))
  4437. PFN_vkCmdSetColorBlendAdvancedEXT fp_vkCmdSetColorBlendAdvancedEXT = nullptr;
  4438. #endif
  4439. #if (defined(VK_EXT_extended_dynamic_state3))
  4440. PFN_vkCmdSetProvokingVertexModeEXT fp_vkCmdSetProvokingVertexModeEXT = nullptr;
  4441. #endif
  4442. #if (defined(VK_EXT_extended_dynamic_state3))
  4443. PFN_vkCmdSetLineRasterizationModeEXT fp_vkCmdSetLineRasterizationModeEXT = nullptr;
  4444. #endif
  4445. #if (defined(VK_EXT_extended_dynamic_state3))
  4446. PFN_vkCmdSetLineStippleEnableEXT fp_vkCmdSetLineStippleEnableEXT = nullptr;
  4447. #endif
  4448. #if (defined(VK_EXT_extended_dynamic_state3))
  4449. PFN_vkCmdSetDepthClipNegativeOneToOneEXT fp_vkCmdSetDepthClipNegativeOneToOneEXT = nullptr;
  4450. #endif
  4451. #if (defined(VK_EXT_extended_dynamic_state3))
  4452. PFN_vkCmdSetViewportWScalingEnableNV fp_vkCmdSetViewportWScalingEnableNV = nullptr;
  4453. #endif
  4454. #if (defined(VK_EXT_extended_dynamic_state3))
  4455. PFN_vkCmdSetViewportSwizzleNV fp_vkCmdSetViewportSwizzleNV = nullptr;
  4456. #endif
  4457. #if (defined(VK_EXT_extended_dynamic_state3))
  4458. PFN_vkCmdSetCoverageToColorEnableNV fp_vkCmdSetCoverageToColorEnableNV = nullptr;
  4459. #endif
  4460. #if (defined(VK_EXT_extended_dynamic_state3))
  4461. PFN_vkCmdSetCoverageToColorLocationNV fp_vkCmdSetCoverageToColorLocationNV = nullptr;
  4462. #endif
  4463. #if (defined(VK_EXT_extended_dynamic_state3))
  4464. PFN_vkCmdSetCoverageModulationModeNV fp_vkCmdSetCoverageModulationModeNV = nullptr;
  4465. #endif
  4466. #if (defined(VK_EXT_extended_dynamic_state3))
  4467. PFN_vkCmdSetCoverageModulationTableEnableNV fp_vkCmdSetCoverageModulationTableEnableNV = nullptr;
  4468. #endif
  4469. #if (defined(VK_EXT_extended_dynamic_state3))
  4470. PFN_vkCmdSetCoverageModulationTableNV fp_vkCmdSetCoverageModulationTableNV = nullptr;
  4471. #endif
  4472. #if (defined(VK_EXT_extended_dynamic_state3))
  4473. PFN_vkCmdSetShadingRateImageEnableNV fp_vkCmdSetShadingRateImageEnableNV = nullptr;
  4474. #endif
  4475. #if (defined(VK_EXT_extended_dynamic_state3))
  4476. PFN_vkCmdSetCoverageReductionModeNV fp_vkCmdSetCoverageReductionModeNV = nullptr;
  4477. #endif
  4478. #if (defined(VK_EXT_extended_dynamic_state3))
  4479. PFN_vkCmdSetRepresentativeFragmentTestEnableNV fp_vkCmdSetRepresentativeFragmentTestEnableNV = nullptr;
  4480. #endif
  4481. #if (defined(VK_VERSION_1_3))
  4482. PFN_vkCreatePrivateDataSlot fp_vkCreatePrivateDataSlot = nullptr;
  4483. #endif
  4484. #if (defined(VK_VERSION_1_3))
  4485. PFN_vkDestroyPrivateDataSlot fp_vkDestroyPrivateDataSlot = nullptr;
  4486. #endif
  4487. #if (defined(VK_VERSION_1_3))
  4488. PFN_vkSetPrivateData fp_vkSetPrivateData = nullptr;
  4489. #endif
  4490. #if (defined(VK_VERSION_1_3))
  4491. PFN_vkGetPrivateData fp_vkGetPrivateData = nullptr;
  4492. #endif
  4493. #if (defined(VK_VERSION_1_3))
  4494. PFN_vkCmdCopyBuffer2 fp_vkCmdCopyBuffer2 = nullptr;
  4495. #endif
  4496. #if (defined(VK_VERSION_1_3))
  4497. PFN_vkCmdCopyImage2 fp_vkCmdCopyImage2 = nullptr;
  4498. #endif
  4499. #if (defined(VK_VERSION_1_3))
  4500. PFN_vkCmdBlitImage2 fp_vkCmdBlitImage2 = nullptr;
  4501. #endif
  4502. #if (defined(VK_VERSION_1_3))
  4503. PFN_vkCmdCopyBufferToImage2 fp_vkCmdCopyBufferToImage2 = nullptr;
  4504. #endif
  4505. #if (defined(VK_VERSION_1_3))
  4506. PFN_vkCmdCopyImageToBuffer2 fp_vkCmdCopyImageToBuffer2 = nullptr;
  4507. #endif
  4508. #if (defined(VK_VERSION_1_3))
  4509. PFN_vkCmdResolveImage2 fp_vkCmdResolveImage2 = nullptr;
  4510. #endif
  4511. #if (defined(VK_KHR_fragment_shading_rate))
  4512. PFN_vkCmdSetFragmentShadingRateKHR fp_vkCmdSetFragmentShadingRateKHR = nullptr;
  4513. #endif
  4514. #if (defined(VK_NV_fragment_shading_rate_enums))
  4515. PFN_vkCmdSetFragmentShadingRateEnumNV fp_vkCmdSetFragmentShadingRateEnumNV = nullptr;
  4516. #endif
  4517. #if (defined(VK_KHR_acceleration_structure))
  4518. PFN_vkGetAccelerationStructureBuildSizesKHR fp_vkGetAccelerationStructureBuildSizesKHR = nullptr;
  4519. #endif
  4520. #if (defined(VK_EXT_vertex_input_dynamic_state))
  4521. PFN_vkCmdSetVertexInputEXT fp_vkCmdSetVertexInputEXT = nullptr;
  4522. #endif
  4523. #if (defined(VK_EXT_color_write_enable))
  4524. PFN_vkCmdSetColorWriteEnableEXT fp_vkCmdSetColorWriteEnableEXT = nullptr;
  4525. #endif
  4526. #if (defined(VK_VERSION_1_3))
  4527. PFN_vkCmdSetEvent2 fp_vkCmdSetEvent2 = nullptr;
  4528. #endif
  4529. #if (defined(VK_VERSION_1_3))
  4530. PFN_vkCmdResetEvent2 fp_vkCmdResetEvent2 = nullptr;
  4531. #endif
  4532. #if (defined(VK_VERSION_1_3))
  4533. PFN_vkCmdWaitEvents2 fp_vkCmdWaitEvents2 = nullptr;
  4534. #endif
  4535. #if (defined(VK_VERSION_1_3))
  4536. PFN_vkCmdPipelineBarrier2 fp_vkCmdPipelineBarrier2 = nullptr;
  4537. #endif
  4538. #if (defined(VK_VERSION_1_3))
  4539. PFN_vkQueueSubmit2 fp_vkQueueSubmit2 = nullptr;
  4540. #endif
  4541. #if (defined(VK_VERSION_1_3))
  4542. PFN_vkCmdWriteTimestamp2 fp_vkCmdWriteTimestamp2 = nullptr;
  4543. #endif
  4544. #if (defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker))
  4545. PFN_vkCmdWriteBufferMarker2AMD fp_vkCmdWriteBufferMarker2AMD = nullptr;
  4546. #endif
  4547. #if (defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints))
  4548. PFN_vkGetQueueCheckpointData2NV fp_vkGetQueueCheckpointData2NV = nullptr;
  4549. #endif
  4550. #if (defined(VK_KHR_video_queue))
  4551. PFN_vkCreateVideoSessionKHR fp_vkCreateVideoSessionKHR = nullptr;
  4552. #endif
  4553. #if (defined(VK_KHR_video_queue))
  4554. PFN_vkDestroyVideoSessionKHR fp_vkDestroyVideoSessionKHR = nullptr;
  4555. #endif
  4556. #if (defined(VK_KHR_video_queue))
  4557. PFN_vkCreateVideoSessionParametersKHR fp_vkCreateVideoSessionParametersKHR = nullptr;
  4558. #endif
  4559. #if (defined(VK_KHR_video_queue))
  4560. PFN_vkUpdateVideoSessionParametersKHR fp_vkUpdateVideoSessionParametersKHR = nullptr;
  4561. #endif
  4562. #if (defined(VK_KHR_video_queue))
  4563. PFN_vkDestroyVideoSessionParametersKHR fp_vkDestroyVideoSessionParametersKHR = nullptr;
  4564. #endif
  4565. #if (defined(VK_KHR_video_queue))
  4566. PFN_vkGetVideoSessionMemoryRequirementsKHR fp_vkGetVideoSessionMemoryRequirementsKHR = nullptr;
  4567. #endif
  4568. #if (defined(VK_KHR_video_queue))
  4569. PFN_vkBindVideoSessionMemoryKHR fp_vkBindVideoSessionMemoryKHR = nullptr;
  4570. #endif
  4571. #if (defined(VK_KHR_video_decode_queue))
  4572. PFN_vkCmdDecodeVideoKHR fp_vkCmdDecodeVideoKHR = nullptr;
  4573. #endif
  4574. #if (defined(VK_KHR_video_queue))
  4575. PFN_vkCmdBeginVideoCodingKHR fp_vkCmdBeginVideoCodingKHR = nullptr;
  4576. #endif
  4577. #if (defined(VK_KHR_video_queue))
  4578. PFN_vkCmdControlVideoCodingKHR fp_vkCmdControlVideoCodingKHR = nullptr;
  4579. #endif
  4580. #if (defined(VK_KHR_video_queue))
  4581. PFN_vkCmdEndVideoCodingKHR fp_vkCmdEndVideoCodingKHR = nullptr;
  4582. #endif
  4583. #if (defined(VK_KHR_video_encode_queue))
  4584. PFN_vkCmdEncodeVideoKHR fp_vkCmdEncodeVideoKHR = nullptr;
  4585. #endif
  4586. #if (defined(VK_NV_memory_decompression))
  4587. PFN_vkCmdDecompressMemoryNV fp_vkCmdDecompressMemoryNV = nullptr;
  4588. #endif
  4589. #if (defined(VK_NV_memory_decompression))
  4590. PFN_vkCmdDecompressMemoryIndirectCountNV fp_vkCmdDecompressMemoryIndirectCountNV = nullptr;
  4591. #endif
  4592. #if (defined(VK_EXT_descriptor_buffer))
  4593. PFN_vkGetDescriptorSetLayoutSizeEXT fp_vkGetDescriptorSetLayoutSizeEXT = nullptr;
  4594. #endif
  4595. #if (defined(VK_EXT_descriptor_buffer))
  4596. PFN_vkGetDescriptorSetLayoutBindingOffsetEXT fp_vkGetDescriptorSetLayoutBindingOffsetEXT = nullptr;
  4597. #endif
  4598. #if (defined(VK_EXT_descriptor_buffer))
  4599. PFN_vkGetDescriptorEXT fp_vkGetDescriptorEXT = nullptr;
  4600. #endif
  4601. #if (defined(VK_EXT_descriptor_buffer))
  4602. PFN_vkCmdBindDescriptorBuffersEXT fp_vkCmdBindDescriptorBuffersEXT = nullptr;
  4603. #endif
  4604. #if (defined(VK_EXT_descriptor_buffer))
  4605. PFN_vkCmdSetDescriptorBufferOffsetsEXT fp_vkCmdSetDescriptorBufferOffsetsEXT = nullptr;
  4606. #endif
  4607. #if (defined(VK_EXT_descriptor_buffer))
  4608. PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT fp_vkCmdBindDescriptorBufferEmbeddedSamplersEXT = nullptr;
  4609. #endif
  4610. #if (defined(VK_EXT_descriptor_buffer))
  4611. PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT fp_vkGetBufferOpaqueCaptureDescriptorDataEXT = nullptr;
  4612. #endif
  4613. #if (defined(VK_EXT_descriptor_buffer))
  4614. PFN_vkGetImageOpaqueCaptureDescriptorDataEXT fp_vkGetImageOpaqueCaptureDescriptorDataEXT = nullptr;
  4615. #endif
  4616. #if (defined(VK_EXT_descriptor_buffer))
  4617. PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT fp_vkGetImageViewOpaqueCaptureDescriptorDataEXT = nullptr;
  4618. #endif
  4619. #if (defined(VK_EXT_descriptor_buffer))
  4620. PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT = nullptr;
  4621. #endif
  4622. #if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing))
  4623. PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = nullptr;
  4624. #endif
  4625. #if (defined(VK_EXT_pageable_device_local_memory))
  4626. PFN_vkSetDeviceMemoryPriorityEXT fp_vkSetDeviceMemoryPriorityEXT = nullptr;
  4627. #endif
  4628. #if (defined(VK_KHR_present_wait))
  4629. PFN_vkWaitForPresentKHR fp_vkWaitForPresentKHR = nullptr;
  4630. #endif
  4631. #if (defined(VK_FUCHSIA_buffer_collection))
  4632. PFN_vkCreateBufferCollectionFUCHSIA fp_vkCreateBufferCollectionFUCHSIA = nullptr;
  4633. #endif
  4634. #if (defined(VK_FUCHSIA_buffer_collection))
  4635. PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA fp_vkSetBufferCollectionBufferConstraintsFUCHSIA = nullptr;
  4636. #endif
  4637. #if (defined(VK_FUCHSIA_buffer_collection))
  4638. PFN_vkSetBufferCollectionImageConstraintsFUCHSIA fp_vkSetBufferCollectionImageConstraintsFUCHSIA = nullptr;
  4639. #endif
  4640. #if (defined(VK_FUCHSIA_buffer_collection))
  4641. PFN_vkDestroyBufferCollectionFUCHSIA fp_vkDestroyBufferCollectionFUCHSIA = nullptr;
  4642. #endif
  4643. #if (defined(VK_FUCHSIA_buffer_collection))
  4644. PFN_vkGetBufferCollectionPropertiesFUCHSIA fp_vkGetBufferCollectionPropertiesFUCHSIA = nullptr;
  4645. #endif
  4646. #if (defined(VK_VERSION_1_3))
  4647. PFN_vkCmdBeginRendering fp_vkCmdBeginRendering = nullptr;
  4648. #endif
  4649. #if (defined(VK_VERSION_1_3))
  4650. PFN_vkCmdEndRendering fp_vkCmdEndRendering = nullptr;
  4651. #endif
  4652. #if (defined(VK_VALVE_descriptor_set_host_mapping))
  4653. PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE fp_vkGetDescriptorSetLayoutHostMappingInfoVALVE = nullptr;
  4654. #endif
  4655. #if (defined(VK_VALVE_descriptor_set_host_mapping))
  4656. PFN_vkGetDescriptorSetHostMappingVALVE fp_vkGetDescriptorSetHostMappingVALVE = nullptr;
  4657. #endif
  4658. #if (defined(VK_EXT_opacity_micromap))
  4659. PFN_vkCreateMicromapEXT fp_vkCreateMicromapEXT = nullptr;
  4660. #endif
  4661. #if (defined(VK_EXT_opacity_micromap))
  4662. PFN_vkCmdBuildMicromapsEXT fp_vkCmdBuildMicromapsEXT = nullptr;
  4663. #endif
  4664. #if (defined(VK_EXT_opacity_micromap))
  4665. PFN_vkBuildMicromapsEXT fp_vkBuildMicromapsEXT = nullptr;
  4666. #endif
  4667. #if (defined(VK_EXT_opacity_micromap))
  4668. PFN_vkDestroyMicromapEXT fp_vkDestroyMicromapEXT = nullptr;
  4669. #endif
  4670. #if (defined(VK_EXT_opacity_micromap))
  4671. PFN_vkCmdCopyMicromapEXT fp_vkCmdCopyMicromapEXT = nullptr;
  4672. #endif
  4673. #if (defined(VK_EXT_opacity_micromap))
  4674. PFN_vkCopyMicromapEXT fp_vkCopyMicromapEXT = nullptr;
  4675. #endif
  4676. #if (defined(VK_EXT_opacity_micromap))
  4677. PFN_vkCmdCopyMicromapToMemoryEXT fp_vkCmdCopyMicromapToMemoryEXT = nullptr;
  4678. #endif
  4679. #if (defined(VK_EXT_opacity_micromap))
  4680. PFN_vkCopyMicromapToMemoryEXT fp_vkCopyMicromapToMemoryEXT = nullptr;
  4681. #endif
  4682. #if (defined(VK_EXT_opacity_micromap))
  4683. PFN_vkCmdCopyMemoryToMicromapEXT fp_vkCmdCopyMemoryToMicromapEXT = nullptr;
  4684. #endif
  4685. #if (defined(VK_EXT_opacity_micromap))
  4686. PFN_vkCopyMemoryToMicromapEXT fp_vkCopyMemoryToMicromapEXT = nullptr;
  4687. #endif
  4688. #if (defined(VK_EXT_opacity_micromap))
  4689. PFN_vkCmdWriteMicromapsPropertiesEXT fp_vkCmdWriteMicromapsPropertiesEXT = nullptr;
  4690. #endif
  4691. #if (defined(VK_EXT_opacity_micromap))
  4692. PFN_vkWriteMicromapsPropertiesEXT fp_vkWriteMicromapsPropertiesEXT = nullptr;
  4693. #endif
  4694. #if (defined(VK_EXT_opacity_micromap))
  4695. PFN_vkGetDeviceMicromapCompatibilityEXT fp_vkGetDeviceMicromapCompatibilityEXT = nullptr;
  4696. #endif
  4697. #if (defined(VK_EXT_opacity_micromap))
  4698. PFN_vkGetMicromapBuildSizesEXT fp_vkGetMicromapBuildSizesEXT = nullptr;
  4699. #endif
  4700. #if (defined(VK_EXT_shader_module_identifier))
  4701. PFN_vkGetShaderModuleIdentifierEXT fp_vkGetShaderModuleIdentifierEXT = nullptr;
  4702. #endif
  4703. #if (defined(VK_EXT_shader_module_identifier))
  4704. PFN_vkGetShaderModuleCreateInfoIdentifierEXT fp_vkGetShaderModuleCreateInfoIdentifierEXT = nullptr;
  4705. #endif
  4706. #if (defined(VK_EXT_image_compression_control))
  4707. PFN_vkGetImageSubresourceLayout2EXT fp_vkGetImageSubresourceLayout2EXT = nullptr;
  4708. #endif
  4709. #if (defined(VK_EXT_pipeline_properties))
  4710. PFN_vkGetPipelinePropertiesEXT fp_vkGetPipelinePropertiesEXT = nullptr;
  4711. #endif
  4712. #if (defined(VK_EXT_metal_objects))
  4713. PFN_vkExportMetalObjectsEXT fp_vkExportMetalObjectsEXT = nullptr;
  4714. #endif
  4715. #if (defined(VK_QCOM_tile_properties))
  4716. PFN_vkGetFramebufferTilePropertiesQCOM fp_vkGetFramebufferTilePropertiesQCOM = nullptr;
  4717. #endif
  4718. #if (defined(VK_QCOM_tile_properties))
  4719. PFN_vkGetDynamicRenderingTilePropertiesQCOM fp_vkGetDynamicRenderingTilePropertiesQCOM = nullptr;
  4720. #endif
  4721. #if (defined(VK_NV_optical_flow))
  4722. PFN_vkCreateOpticalFlowSessionNV fp_vkCreateOpticalFlowSessionNV = nullptr;
  4723. #endif
  4724. #if (defined(VK_NV_optical_flow))
  4725. PFN_vkDestroyOpticalFlowSessionNV fp_vkDestroyOpticalFlowSessionNV = nullptr;
  4726. #endif
  4727. #if (defined(VK_NV_optical_flow))
  4728. PFN_vkBindOpticalFlowSessionImageNV fp_vkBindOpticalFlowSessionImageNV = nullptr;
  4729. #endif
  4730. #if (defined(VK_NV_optical_flow))
  4731. PFN_vkCmdOpticalFlowExecuteNV fp_vkCmdOpticalFlowExecuteNV = nullptr;
  4732. #endif
  4733. #if (defined(VK_EXT_device_fault))
  4734. PFN_vkGetDeviceFaultInfoEXT fp_vkGetDeviceFaultInfoEXT = nullptr;
  4735. #endif
  4736. #if (defined(VK_EXT_swapchain_maintenance1))
  4737. PFN_vkReleaseSwapchainImagesEXT fp_vkReleaseSwapchainImagesEXT = nullptr;
  4738. #endif
  4739. #if (defined(VK_EXT_host_query_reset))
  4740. PFN_vkResetQueryPoolEXT fp_vkResetQueryPoolEXT = nullptr;
  4741. #endif
  4742. #if (defined(VK_KHR_maintenance1))
  4743. PFN_vkTrimCommandPoolKHR fp_vkTrimCommandPoolKHR = nullptr;
  4744. #endif
  4745. #if (defined(VK_KHR_device_group))
  4746. PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR fp_vkGetDeviceGroupPeerMemoryFeaturesKHR = nullptr;
  4747. #endif
  4748. #if (defined(VK_KHR_bind_memory2))
  4749. PFN_vkBindBufferMemory2KHR fp_vkBindBufferMemory2KHR = nullptr;
  4750. #endif
  4751. #if (defined(VK_KHR_bind_memory2))
  4752. PFN_vkBindImageMemory2KHR fp_vkBindImageMemory2KHR = nullptr;
  4753. #endif
  4754. #if (defined(VK_KHR_device_group))
  4755. PFN_vkCmdSetDeviceMaskKHR fp_vkCmdSetDeviceMaskKHR = nullptr;
  4756. #endif
  4757. #if (defined(VK_KHR_device_group))
  4758. PFN_vkCmdDispatchBaseKHR fp_vkCmdDispatchBaseKHR = nullptr;
  4759. #endif
  4760. #if (defined(VK_KHR_descriptor_update_template))
  4761. PFN_vkCreateDescriptorUpdateTemplateKHR fp_vkCreateDescriptorUpdateTemplateKHR = nullptr;
  4762. #endif
  4763. #if (defined(VK_KHR_descriptor_update_template))
  4764. PFN_vkDestroyDescriptorUpdateTemplateKHR fp_vkDestroyDescriptorUpdateTemplateKHR = nullptr;
  4765. #endif
  4766. #if (defined(VK_KHR_descriptor_update_template))
  4767. PFN_vkUpdateDescriptorSetWithTemplateKHR fp_vkUpdateDescriptorSetWithTemplateKHR = nullptr;
  4768. #endif
  4769. #if (defined(VK_KHR_get_memory_requirements2))
  4770. PFN_vkGetBufferMemoryRequirements2KHR fp_vkGetBufferMemoryRequirements2KHR = nullptr;
  4771. #endif
  4772. #if (defined(VK_KHR_get_memory_requirements2))
  4773. PFN_vkGetImageMemoryRequirements2KHR fp_vkGetImageMemoryRequirements2KHR = nullptr;
  4774. #endif
  4775. #if (defined(VK_KHR_get_memory_requirements2))
  4776. PFN_vkGetImageSparseMemoryRequirements2KHR fp_vkGetImageSparseMemoryRequirements2KHR = nullptr;
  4777. #endif
  4778. #if (defined(VK_KHR_maintenance4))
  4779. PFN_vkGetDeviceBufferMemoryRequirementsKHR fp_vkGetDeviceBufferMemoryRequirementsKHR = nullptr;
  4780. #endif
  4781. #if (defined(VK_KHR_maintenance4))
  4782. PFN_vkGetDeviceImageMemoryRequirementsKHR fp_vkGetDeviceImageMemoryRequirementsKHR = nullptr;
  4783. #endif
  4784. #if (defined(VK_KHR_maintenance4))
  4785. PFN_vkGetDeviceImageSparseMemoryRequirementsKHR fp_vkGetDeviceImageSparseMemoryRequirementsKHR = nullptr;
  4786. #endif
  4787. #if (defined(VK_KHR_sampler_ycbcr_conversion))
  4788. PFN_vkCreateSamplerYcbcrConversionKHR fp_vkCreateSamplerYcbcrConversionKHR = nullptr;
  4789. #endif
  4790. #if (defined(VK_KHR_sampler_ycbcr_conversion))
  4791. PFN_vkDestroySamplerYcbcrConversionKHR fp_vkDestroySamplerYcbcrConversionKHR = nullptr;
  4792. #endif
  4793. #if (defined(VK_KHR_maintenance3))
  4794. PFN_vkGetDescriptorSetLayoutSupportKHR fp_vkGetDescriptorSetLayoutSupportKHR = nullptr;
  4795. #endif
  4796. #if (defined(VK_KHR_create_renderpass2))
  4797. PFN_vkCreateRenderPass2KHR fp_vkCreateRenderPass2KHR = nullptr;
  4798. #endif
  4799. #if (defined(VK_KHR_create_renderpass2))
  4800. PFN_vkCmdBeginRenderPass2KHR fp_vkCmdBeginRenderPass2KHR = nullptr;
  4801. #endif
  4802. #if (defined(VK_KHR_create_renderpass2))
  4803. PFN_vkCmdNextSubpass2KHR fp_vkCmdNextSubpass2KHR = nullptr;
  4804. #endif
  4805. #if (defined(VK_KHR_create_renderpass2))
  4806. PFN_vkCmdEndRenderPass2KHR fp_vkCmdEndRenderPass2KHR = nullptr;
  4807. #endif
  4808. #if (defined(VK_KHR_timeline_semaphore))
  4809. PFN_vkGetSemaphoreCounterValueKHR fp_vkGetSemaphoreCounterValueKHR = nullptr;
  4810. #endif
  4811. #if (defined(VK_KHR_timeline_semaphore))
  4812. PFN_vkWaitSemaphoresKHR fp_vkWaitSemaphoresKHR = nullptr;
  4813. #endif
  4814. #if (defined(VK_KHR_timeline_semaphore))
  4815. PFN_vkSignalSemaphoreKHR fp_vkSignalSemaphoreKHR = nullptr;
  4816. #endif
  4817. #if (defined(VK_AMD_draw_indirect_count))
  4818. PFN_vkCmdDrawIndirectCountAMD fp_vkCmdDrawIndirectCountAMD = nullptr;
  4819. #endif
  4820. #if (defined(VK_AMD_draw_indirect_count))
  4821. PFN_vkCmdDrawIndexedIndirectCountAMD fp_vkCmdDrawIndexedIndirectCountAMD = nullptr;
  4822. #endif
  4823. #if (defined(VK_NV_ray_tracing))
  4824. PFN_vkGetRayTracingShaderGroupHandlesNV fp_vkGetRayTracingShaderGroupHandlesNV = nullptr;
  4825. #endif
  4826. #if (defined(VK_KHR_buffer_device_address))
  4827. PFN_vkGetBufferOpaqueCaptureAddressKHR fp_vkGetBufferOpaqueCaptureAddressKHR = nullptr;
  4828. #endif
  4829. #if (defined(VK_EXT_buffer_device_address))
  4830. PFN_vkGetBufferDeviceAddressEXT fp_vkGetBufferDeviceAddressEXT = nullptr;
  4831. #endif
  4832. #if (defined(VK_KHR_buffer_device_address))
  4833. PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR fp_vkGetDeviceMemoryOpaqueCaptureAddressKHR = nullptr;
  4834. #endif
  4835. #if (defined(VK_EXT_extended_dynamic_state))
  4836. PFN_vkCmdSetCullModeEXT fp_vkCmdSetCullModeEXT = nullptr;
  4837. #endif
  4838. #if (defined(VK_EXT_extended_dynamic_state))
  4839. PFN_vkCmdSetFrontFaceEXT fp_vkCmdSetFrontFaceEXT = nullptr;
  4840. #endif
  4841. #if (defined(VK_EXT_extended_dynamic_state))
  4842. PFN_vkCmdSetPrimitiveTopologyEXT fp_vkCmdSetPrimitiveTopologyEXT = nullptr;
  4843. #endif
  4844. #if (defined(VK_EXT_extended_dynamic_state))
  4845. PFN_vkCmdSetViewportWithCountEXT fp_vkCmdSetViewportWithCountEXT = nullptr;
  4846. #endif
  4847. #if (defined(VK_EXT_extended_dynamic_state))
  4848. PFN_vkCmdSetScissorWithCountEXT fp_vkCmdSetScissorWithCountEXT = nullptr;
  4849. #endif
  4850. #if (defined(VK_EXT_extended_dynamic_state))
  4851. PFN_vkCmdBindVertexBuffers2EXT fp_vkCmdBindVertexBuffers2EXT = nullptr;
  4852. #endif
  4853. #if (defined(VK_EXT_extended_dynamic_state))
  4854. PFN_vkCmdSetDepthTestEnableEXT fp_vkCmdSetDepthTestEnableEXT = nullptr;
  4855. #endif
  4856. #if (defined(VK_EXT_extended_dynamic_state))
  4857. PFN_vkCmdSetDepthWriteEnableEXT fp_vkCmdSetDepthWriteEnableEXT = nullptr;
  4858. #endif
  4859. #if (defined(VK_EXT_extended_dynamic_state))
  4860. PFN_vkCmdSetDepthCompareOpEXT fp_vkCmdSetDepthCompareOpEXT = nullptr;
  4861. #endif
  4862. #if (defined(VK_EXT_extended_dynamic_state))
  4863. PFN_vkCmdSetDepthBoundsTestEnableEXT fp_vkCmdSetDepthBoundsTestEnableEXT = nullptr;
  4864. #endif
  4865. #if (defined(VK_EXT_extended_dynamic_state))
  4866. PFN_vkCmdSetStencilTestEnableEXT fp_vkCmdSetStencilTestEnableEXT = nullptr;
  4867. #endif
  4868. #if (defined(VK_EXT_extended_dynamic_state))
  4869. PFN_vkCmdSetStencilOpEXT fp_vkCmdSetStencilOpEXT = nullptr;
  4870. #endif
  4871. #if (defined(VK_EXT_extended_dynamic_state2))
  4872. PFN_vkCmdSetRasterizerDiscardEnableEXT fp_vkCmdSetRasterizerDiscardEnableEXT = nullptr;
  4873. #endif
  4874. #if (defined(VK_EXT_extended_dynamic_state2))
  4875. PFN_vkCmdSetDepthBiasEnableEXT fp_vkCmdSetDepthBiasEnableEXT = nullptr;
  4876. #endif
  4877. #if (defined(VK_EXT_extended_dynamic_state2))
  4878. PFN_vkCmdSetPrimitiveRestartEnableEXT fp_vkCmdSetPrimitiveRestartEnableEXT = nullptr;
  4879. #endif
  4880. #if (defined(VK_EXT_private_data))
  4881. PFN_vkCreatePrivateDataSlotEXT fp_vkCreatePrivateDataSlotEXT = nullptr;
  4882. #endif
  4883. #if (defined(VK_EXT_private_data))
  4884. PFN_vkDestroyPrivateDataSlotEXT fp_vkDestroyPrivateDataSlotEXT = nullptr;
  4885. #endif
  4886. #if (defined(VK_EXT_private_data))
  4887. PFN_vkSetPrivateDataEXT fp_vkSetPrivateDataEXT = nullptr;
  4888. #endif
  4889. #if (defined(VK_EXT_private_data))
  4890. PFN_vkGetPrivateDataEXT fp_vkGetPrivateDataEXT = nullptr;
  4891. #endif
  4892. #if (defined(VK_KHR_copy_commands2))
  4893. PFN_vkCmdCopyBuffer2KHR fp_vkCmdCopyBuffer2KHR = nullptr;
  4894. #endif
  4895. #if (defined(VK_KHR_copy_commands2))
  4896. PFN_vkCmdCopyImage2KHR fp_vkCmdCopyImage2KHR = nullptr;
  4897. #endif
  4898. #if (defined(VK_KHR_copy_commands2))
  4899. PFN_vkCmdBlitImage2KHR fp_vkCmdBlitImage2KHR = nullptr;
  4900. #endif
  4901. #if (defined(VK_KHR_copy_commands2))
  4902. PFN_vkCmdCopyBufferToImage2KHR fp_vkCmdCopyBufferToImage2KHR = nullptr;
  4903. #endif
  4904. #if (defined(VK_KHR_copy_commands2))
  4905. PFN_vkCmdCopyImageToBuffer2KHR fp_vkCmdCopyImageToBuffer2KHR = nullptr;
  4906. #endif
  4907. #if (defined(VK_KHR_copy_commands2))
  4908. PFN_vkCmdResolveImage2KHR fp_vkCmdResolveImage2KHR = nullptr;
  4909. #endif
  4910. #if (defined(VK_KHR_synchronization2))
  4911. PFN_vkCmdSetEvent2KHR fp_vkCmdSetEvent2KHR = nullptr;
  4912. #endif
  4913. #if (defined(VK_KHR_synchronization2))
  4914. PFN_vkCmdResetEvent2KHR fp_vkCmdResetEvent2KHR = nullptr;
  4915. #endif
  4916. #if (defined(VK_KHR_synchronization2))
  4917. PFN_vkCmdWaitEvents2KHR fp_vkCmdWaitEvents2KHR = nullptr;
  4918. #endif
  4919. #if (defined(VK_KHR_synchronization2))
  4920. PFN_vkCmdPipelineBarrier2KHR fp_vkCmdPipelineBarrier2KHR = nullptr;
  4921. #endif
  4922. #if (defined(VK_KHR_synchronization2))
  4923. PFN_vkQueueSubmit2KHR fp_vkQueueSubmit2KHR = nullptr;
  4924. #endif
  4925. #if (defined(VK_KHR_synchronization2))
  4926. PFN_vkCmdWriteTimestamp2KHR fp_vkCmdWriteTimestamp2KHR = nullptr;
  4927. #endif
  4928. #if (defined(VK_KHR_dynamic_rendering))
  4929. PFN_vkCmdBeginRenderingKHR fp_vkCmdBeginRenderingKHR = nullptr;
  4930. #endif
  4931. #if (defined(VK_KHR_dynamic_rendering))
  4932. PFN_vkCmdEndRenderingKHR fp_vkCmdEndRenderingKHR = nullptr;
  4933. #endif
  4934. bool is_populated() const { return populated; }
  4935. VkDevice device = VK_NULL_HANDLE;
  4936. private:
  4937. bool populated = false;
  4938. };
  4939. } // namespace vkb