vulkan_handles.hpp 992 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533
  1. // Copyright 2015-2023 The Khronos Group Inc.
  2. //
  3. // SPDX-License-Identifier: Apache-2.0 OR MIT
  4. //
  5. // This header is generated from the Khronos Vulkan XML API Registry.
  6. #ifndef VULKAN_HANDLES_HPP
  7. #define VULKAN_HANDLES_HPP
  8. namespace VULKAN_HPP_NAMESPACE
  9. {
  10. //===================================
  11. //=== STRUCT forward declarations ===
  12. //===================================
  13. //=== VK_VERSION_1_0 ===
  14. struct Extent2D;
  15. struct Extent3D;
  16. struct Offset2D;
  17. struct Offset3D;
  18. struct Rect2D;
  19. struct BaseInStructure;
  20. struct BaseOutStructure;
  21. struct BufferMemoryBarrier;
  22. struct DispatchIndirectCommand;
  23. struct DrawIndexedIndirectCommand;
  24. struct DrawIndirectCommand;
  25. struct ImageMemoryBarrier;
  26. struct MemoryBarrier;
  27. struct PipelineCacheHeaderVersionOne;
  28. struct AllocationCallbacks;
  29. struct ApplicationInfo;
  30. struct FormatProperties;
  31. struct ImageFormatProperties;
  32. struct InstanceCreateInfo;
  33. struct MemoryHeap;
  34. struct MemoryType;
  35. struct PhysicalDeviceFeatures;
  36. struct PhysicalDeviceLimits;
  37. struct PhysicalDeviceMemoryProperties;
  38. struct PhysicalDeviceProperties;
  39. struct PhysicalDeviceSparseProperties;
  40. struct QueueFamilyProperties;
  41. struct DeviceCreateInfo;
  42. struct DeviceQueueCreateInfo;
  43. struct ExtensionProperties;
  44. struct LayerProperties;
  45. struct SubmitInfo;
  46. struct MappedMemoryRange;
  47. struct MemoryAllocateInfo;
  48. struct MemoryRequirements;
  49. struct BindSparseInfo;
  50. struct ImageSubresource;
  51. struct SparseBufferMemoryBindInfo;
  52. struct SparseImageFormatProperties;
  53. struct SparseImageMemoryBind;
  54. struct SparseImageMemoryBindInfo;
  55. struct SparseImageMemoryRequirements;
  56. struct SparseImageOpaqueMemoryBindInfo;
  57. struct SparseMemoryBind;
  58. struct FenceCreateInfo;
  59. struct SemaphoreCreateInfo;
  60. struct EventCreateInfo;
  61. struct QueryPoolCreateInfo;
  62. struct BufferCreateInfo;
  63. struct BufferViewCreateInfo;
  64. struct ImageCreateInfo;
  65. struct SubresourceLayout;
  66. struct ComponentMapping;
  67. struct ImageSubresourceRange;
  68. struct ImageViewCreateInfo;
  69. struct ShaderModuleCreateInfo;
  70. struct PipelineCacheCreateInfo;
  71. struct ComputePipelineCreateInfo;
  72. struct GraphicsPipelineCreateInfo;
  73. struct PipelineColorBlendAttachmentState;
  74. struct PipelineColorBlendStateCreateInfo;
  75. struct PipelineDepthStencilStateCreateInfo;
  76. struct PipelineDynamicStateCreateInfo;
  77. struct PipelineInputAssemblyStateCreateInfo;
  78. struct PipelineMultisampleStateCreateInfo;
  79. struct PipelineRasterizationStateCreateInfo;
  80. struct PipelineShaderStageCreateInfo;
  81. struct PipelineTessellationStateCreateInfo;
  82. struct PipelineVertexInputStateCreateInfo;
  83. struct PipelineViewportStateCreateInfo;
  84. struct SpecializationInfo;
  85. struct SpecializationMapEntry;
  86. struct StencilOpState;
  87. struct VertexInputAttributeDescription;
  88. struct VertexInputBindingDescription;
  89. struct Viewport;
  90. struct PipelineLayoutCreateInfo;
  91. struct PushConstantRange;
  92. struct SamplerCreateInfo;
  93. struct CopyDescriptorSet;
  94. struct DescriptorBufferInfo;
  95. struct DescriptorImageInfo;
  96. struct DescriptorPoolCreateInfo;
  97. struct DescriptorPoolSize;
  98. struct DescriptorSetAllocateInfo;
  99. struct DescriptorSetLayoutBinding;
  100. struct DescriptorSetLayoutCreateInfo;
  101. struct WriteDescriptorSet;
  102. struct AttachmentDescription;
  103. struct AttachmentReference;
  104. struct FramebufferCreateInfo;
  105. struct RenderPassCreateInfo;
  106. struct SubpassDependency;
  107. struct SubpassDescription;
  108. struct CommandPoolCreateInfo;
  109. struct CommandBufferAllocateInfo;
  110. struct CommandBufferBeginInfo;
  111. struct CommandBufferInheritanceInfo;
  112. struct BufferCopy;
  113. struct BufferImageCopy;
  114. struct ClearAttachment;
  115. union ClearColorValue;
  116. struct ClearDepthStencilValue;
  117. struct ClearRect;
  118. union ClearValue;
  119. struct ImageBlit;
  120. struct ImageCopy;
  121. struct ImageResolve;
  122. struct ImageSubresourceLayers;
  123. struct RenderPassBeginInfo;
  124. //=== VK_VERSION_1_1 ===
  125. struct PhysicalDeviceSubgroupProperties;
  126. struct BindBufferMemoryInfo;
  127. using BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
  128. struct BindImageMemoryInfo;
  129. using BindImageMemoryInfoKHR = BindImageMemoryInfo;
  130. struct PhysicalDevice16BitStorageFeatures;
  131. using PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
  132. struct MemoryDedicatedRequirements;
  133. using MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
  134. struct MemoryDedicatedAllocateInfo;
  135. using MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
  136. struct MemoryAllocateFlagsInfo;
  137. using MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
  138. struct DeviceGroupRenderPassBeginInfo;
  139. using DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
  140. struct DeviceGroupCommandBufferBeginInfo;
  141. using DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
  142. struct DeviceGroupSubmitInfo;
  143. using DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
  144. struct DeviceGroupBindSparseInfo;
  145. using DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
  146. struct BindBufferMemoryDeviceGroupInfo;
  147. using BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
  148. struct BindImageMemoryDeviceGroupInfo;
  149. using BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
  150. struct PhysicalDeviceGroupProperties;
  151. using PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
  152. struct DeviceGroupDeviceCreateInfo;
  153. using DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
  154. struct BufferMemoryRequirementsInfo2;
  155. using BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
  156. struct ImageMemoryRequirementsInfo2;
  157. using ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
  158. struct ImageSparseMemoryRequirementsInfo2;
  159. using ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
  160. struct MemoryRequirements2;
  161. using MemoryRequirements2KHR = MemoryRequirements2;
  162. struct SparseImageMemoryRequirements2;
  163. using SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
  164. struct PhysicalDeviceFeatures2;
  165. using PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
  166. struct PhysicalDeviceProperties2;
  167. using PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
  168. struct FormatProperties2;
  169. using FormatProperties2KHR = FormatProperties2;
  170. struct ImageFormatProperties2;
  171. using ImageFormatProperties2KHR = ImageFormatProperties2;
  172. struct PhysicalDeviceImageFormatInfo2;
  173. using PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
  174. struct QueueFamilyProperties2;
  175. using QueueFamilyProperties2KHR = QueueFamilyProperties2;
  176. struct PhysicalDeviceMemoryProperties2;
  177. using PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
  178. struct SparseImageFormatProperties2;
  179. using SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
  180. struct PhysicalDeviceSparseImageFormatInfo2;
  181. using PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
  182. struct PhysicalDevicePointClippingProperties;
  183. using PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
  184. struct RenderPassInputAttachmentAspectCreateInfo;
  185. using RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
  186. struct InputAttachmentAspectReference;
  187. using InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
  188. struct ImageViewUsageCreateInfo;
  189. using ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
  190. struct PipelineTessellationDomainOriginStateCreateInfo;
  191. using PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo;
  192. struct RenderPassMultiviewCreateInfo;
  193. using RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
  194. struct PhysicalDeviceMultiviewFeatures;
  195. using PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
  196. struct PhysicalDeviceMultiviewProperties;
  197. using PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
  198. struct PhysicalDeviceVariablePointersFeatures;
  199. using PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
  200. using PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
  201. using PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
  202. struct PhysicalDeviceProtectedMemoryFeatures;
  203. struct PhysicalDeviceProtectedMemoryProperties;
  204. struct DeviceQueueInfo2;
  205. struct ProtectedSubmitInfo;
  206. struct SamplerYcbcrConversionCreateInfo;
  207. using SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
  208. struct SamplerYcbcrConversionInfo;
  209. using SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
  210. struct BindImagePlaneMemoryInfo;
  211. using BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
  212. struct ImagePlaneMemoryRequirementsInfo;
  213. using ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
  214. struct PhysicalDeviceSamplerYcbcrConversionFeatures;
  215. using PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = PhysicalDeviceSamplerYcbcrConversionFeatures;
  216. struct SamplerYcbcrConversionImageFormatProperties;
  217. using SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties;
  218. struct DescriptorUpdateTemplateEntry;
  219. using DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
  220. struct DescriptorUpdateTemplateCreateInfo;
  221. using DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
  222. struct ExternalMemoryProperties;
  223. using ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
  224. struct PhysicalDeviceExternalImageFormatInfo;
  225. using PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
  226. struct ExternalImageFormatProperties;
  227. using ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
  228. struct PhysicalDeviceExternalBufferInfo;
  229. using PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
  230. struct ExternalBufferProperties;
  231. using ExternalBufferPropertiesKHR = ExternalBufferProperties;
  232. struct PhysicalDeviceIDProperties;
  233. using PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
  234. struct ExternalMemoryImageCreateInfo;
  235. using ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
  236. struct ExternalMemoryBufferCreateInfo;
  237. using ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
  238. struct ExportMemoryAllocateInfo;
  239. using ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
  240. struct PhysicalDeviceExternalFenceInfo;
  241. using PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
  242. struct ExternalFenceProperties;
  243. using ExternalFencePropertiesKHR = ExternalFenceProperties;
  244. struct ExportFenceCreateInfo;
  245. using ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
  246. struct ExportSemaphoreCreateInfo;
  247. using ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
  248. struct PhysicalDeviceExternalSemaphoreInfo;
  249. using PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
  250. struct ExternalSemaphoreProperties;
  251. using ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
  252. struct PhysicalDeviceMaintenance3Properties;
  253. using PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
  254. struct DescriptorSetLayoutSupport;
  255. using DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
  256. struct PhysicalDeviceShaderDrawParametersFeatures;
  257. using PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
  258. //=== VK_VERSION_1_2 ===
  259. struct PhysicalDeviceVulkan11Features;
  260. struct PhysicalDeviceVulkan11Properties;
  261. struct PhysicalDeviceVulkan12Features;
  262. struct PhysicalDeviceVulkan12Properties;
  263. struct ImageFormatListCreateInfo;
  264. using ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
  265. struct RenderPassCreateInfo2;
  266. using RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
  267. struct AttachmentDescription2;
  268. using AttachmentDescription2KHR = AttachmentDescription2;
  269. struct AttachmentReference2;
  270. using AttachmentReference2KHR = AttachmentReference2;
  271. struct SubpassDescription2;
  272. using SubpassDescription2KHR = SubpassDescription2;
  273. struct SubpassDependency2;
  274. using SubpassDependency2KHR = SubpassDependency2;
  275. struct SubpassBeginInfo;
  276. using SubpassBeginInfoKHR = SubpassBeginInfo;
  277. struct SubpassEndInfo;
  278. using SubpassEndInfoKHR = SubpassEndInfo;
  279. struct PhysicalDevice8BitStorageFeatures;
  280. using PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
  281. struct ConformanceVersion;
  282. using ConformanceVersionKHR = ConformanceVersion;
  283. struct PhysicalDeviceDriverProperties;
  284. using PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
  285. struct PhysicalDeviceShaderAtomicInt64Features;
  286. using PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
  287. struct PhysicalDeviceShaderFloat16Int8Features;
  288. using PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
  289. using PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
  290. struct PhysicalDeviceFloatControlsProperties;
  291. using PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
  292. struct DescriptorSetLayoutBindingFlagsCreateInfo;
  293. using DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
  294. struct PhysicalDeviceDescriptorIndexingFeatures;
  295. using PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
  296. struct PhysicalDeviceDescriptorIndexingProperties;
  297. using PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
  298. struct DescriptorSetVariableDescriptorCountAllocateInfo;
  299. using DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo;
  300. struct DescriptorSetVariableDescriptorCountLayoutSupport;
  301. using DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport;
  302. struct SubpassDescriptionDepthStencilResolve;
  303. using SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
  304. struct PhysicalDeviceDepthStencilResolveProperties;
  305. using PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties;
  306. struct PhysicalDeviceScalarBlockLayoutFeatures;
  307. using PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
  308. struct ImageStencilUsageCreateInfo;
  309. using ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
  310. struct SamplerReductionModeCreateInfo;
  311. using SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
  312. struct PhysicalDeviceSamplerFilterMinmaxProperties;
  313. using PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties;
  314. struct PhysicalDeviceVulkanMemoryModelFeatures;
  315. using PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
  316. struct PhysicalDeviceImagelessFramebufferFeatures;
  317. using PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
  318. struct FramebufferAttachmentsCreateInfo;
  319. using FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
  320. struct FramebufferAttachmentImageInfo;
  321. using FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
  322. struct RenderPassAttachmentBeginInfo;
  323. using RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
  324. struct PhysicalDeviceUniformBufferStandardLayoutFeatures;
  325. using PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures;
  326. struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
  327. using PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
  328. struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
  329. using PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
  330. struct AttachmentReferenceStencilLayout;
  331. using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
  332. struct AttachmentDescriptionStencilLayout;
  333. using AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
  334. struct PhysicalDeviceHostQueryResetFeatures;
  335. using PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
  336. struct PhysicalDeviceTimelineSemaphoreFeatures;
  337. using PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
  338. struct PhysicalDeviceTimelineSemaphoreProperties;
  339. using PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
  340. struct SemaphoreTypeCreateInfo;
  341. using SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
  342. struct TimelineSemaphoreSubmitInfo;
  343. using TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
  344. struct SemaphoreWaitInfo;
  345. using SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
  346. struct SemaphoreSignalInfo;
  347. using SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
  348. struct PhysicalDeviceBufferDeviceAddressFeatures;
  349. using PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
  350. struct BufferDeviceAddressInfo;
  351. using BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
  352. using BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
  353. struct BufferOpaqueCaptureAddressCreateInfo;
  354. using BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
  355. struct MemoryOpaqueCaptureAddressAllocateInfo;
  356. using MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
  357. struct DeviceMemoryOpaqueCaptureAddressInfo;
  358. using DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
  359. //=== VK_VERSION_1_3 ===
  360. struct PhysicalDeviceVulkan13Features;
  361. struct PhysicalDeviceVulkan13Properties;
  362. struct PipelineCreationFeedbackCreateInfo;
  363. using PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
  364. struct PipelineCreationFeedback;
  365. using PipelineCreationFeedbackEXT = PipelineCreationFeedback;
  366. struct PhysicalDeviceShaderTerminateInvocationFeatures;
  367. using PhysicalDeviceShaderTerminateInvocationFeaturesKHR = PhysicalDeviceShaderTerminateInvocationFeatures;
  368. struct PhysicalDeviceToolProperties;
  369. using PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
  370. struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
  371. using PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
  372. struct PhysicalDevicePrivateDataFeatures;
  373. using PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
  374. struct DevicePrivateDataCreateInfo;
  375. using DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
  376. struct PrivateDataSlotCreateInfo;
  377. using PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
  378. struct PhysicalDevicePipelineCreationCacheControlFeatures;
  379. using PhysicalDevicePipelineCreationCacheControlFeaturesEXT = PhysicalDevicePipelineCreationCacheControlFeatures;
  380. struct MemoryBarrier2;
  381. using MemoryBarrier2KHR = MemoryBarrier2;
  382. struct BufferMemoryBarrier2;
  383. using BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
  384. struct ImageMemoryBarrier2;
  385. using ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
  386. struct DependencyInfo;
  387. using DependencyInfoKHR = DependencyInfo;
  388. struct SubmitInfo2;
  389. using SubmitInfo2KHR = SubmitInfo2;
  390. struct SemaphoreSubmitInfo;
  391. using SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
  392. struct CommandBufferSubmitInfo;
  393. using CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
  394. struct PhysicalDeviceSynchronization2Features;
  395. using PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
  396. struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
  397. using PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
  398. struct PhysicalDeviceImageRobustnessFeatures;
  399. using PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
  400. struct CopyBufferInfo2;
  401. using CopyBufferInfo2KHR = CopyBufferInfo2;
  402. struct CopyImageInfo2;
  403. using CopyImageInfo2KHR = CopyImageInfo2;
  404. struct CopyBufferToImageInfo2;
  405. using CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
  406. struct CopyImageToBufferInfo2;
  407. using CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
  408. struct BlitImageInfo2;
  409. using BlitImageInfo2KHR = BlitImageInfo2;
  410. struct ResolveImageInfo2;
  411. using ResolveImageInfo2KHR = ResolveImageInfo2;
  412. struct BufferCopy2;
  413. using BufferCopy2KHR = BufferCopy2;
  414. struct ImageCopy2;
  415. using ImageCopy2KHR = ImageCopy2;
  416. struct ImageBlit2;
  417. using ImageBlit2KHR = ImageBlit2;
  418. struct BufferImageCopy2;
  419. using BufferImageCopy2KHR = BufferImageCopy2;
  420. struct ImageResolve2;
  421. using ImageResolve2KHR = ImageResolve2;
  422. struct PhysicalDeviceSubgroupSizeControlFeatures;
  423. using PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
  424. struct PhysicalDeviceSubgroupSizeControlProperties;
  425. using PhysicalDeviceSubgroupSizeControlPropertiesEXT = PhysicalDeviceSubgroupSizeControlProperties;
  426. struct PipelineShaderStageRequiredSubgroupSizeCreateInfo;
  427. using PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = PipelineShaderStageRequiredSubgroupSizeCreateInfo;
  428. using ShaderRequiredSubgroupSizeCreateInfoEXT = PipelineShaderStageRequiredSubgroupSizeCreateInfo;
  429. struct PhysicalDeviceInlineUniformBlockFeatures;
  430. using PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
  431. struct PhysicalDeviceInlineUniformBlockProperties;
  432. using PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
  433. struct WriteDescriptorSetInlineUniformBlock;
  434. using WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;
  435. struct DescriptorPoolInlineUniformBlockCreateInfo;
  436. using DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
  437. struct PhysicalDeviceTextureCompressionASTCHDRFeatures;
  438. using PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = PhysicalDeviceTextureCompressionASTCHDRFeatures;
  439. struct RenderingInfo;
  440. using RenderingInfoKHR = RenderingInfo;
  441. struct RenderingAttachmentInfo;
  442. using RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
  443. struct PipelineRenderingCreateInfo;
  444. using PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
  445. struct PhysicalDeviceDynamicRenderingFeatures;
  446. using PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
  447. struct CommandBufferInheritanceRenderingInfo;
  448. using CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
  449. struct PhysicalDeviceShaderIntegerDotProductFeatures;
  450. using PhysicalDeviceShaderIntegerDotProductFeaturesKHR = PhysicalDeviceShaderIntegerDotProductFeatures;
  451. struct PhysicalDeviceShaderIntegerDotProductProperties;
  452. using PhysicalDeviceShaderIntegerDotProductPropertiesKHR = PhysicalDeviceShaderIntegerDotProductProperties;
  453. struct PhysicalDeviceTexelBufferAlignmentProperties;
  454. using PhysicalDeviceTexelBufferAlignmentPropertiesEXT = PhysicalDeviceTexelBufferAlignmentProperties;
  455. struct FormatProperties3;
  456. using FormatProperties3KHR = FormatProperties3;
  457. struct PhysicalDeviceMaintenance4Features;
  458. using PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
  459. struct PhysicalDeviceMaintenance4Properties;
  460. using PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
  461. struct DeviceBufferMemoryRequirements;
  462. using DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
  463. struct DeviceImageMemoryRequirements;
  464. using DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
  465. //=== VK_KHR_surface ===
  466. struct SurfaceCapabilitiesKHR;
  467. struct SurfaceFormatKHR;
  468. //=== VK_KHR_swapchain ===
  469. struct SwapchainCreateInfoKHR;
  470. struct PresentInfoKHR;
  471. struct ImageSwapchainCreateInfoKHR;
  472. struct BindImageMemorySwapchainInfoKHR;
  473. struct AcquireNextImageInfoKHR;
  474. struct DeviceGroupPresentCapabilitiesKHR;
  475. struct DeviceGroupPresentInfoKHR;
  476. struct DeviceGroupSwapchainCreateInfoKHR;
  477. //=== VK_KHR_display ===
  478. struct DisplayModeCreateInfoKHR;
  479. struct DisplayModeParametersKHR;
  480. struct DisplayModePropertiesKHR;
  481. struct DisplayPlaneCapabilitiesKHR;
  482. struct DisplayPlanePropertiesKHR;
  483. struct DisplayPropertiesKHR;
  484. struct DisplaySurfaceCreateInfoKHR;
  485. //=== VK_KHR_display_swapchain ===
  486. struct DisplayPresentInfoKHR;
  487. #if defined( VK_USE_PLATFORM_XLIB_KHR )
  488. //=== VK_KHR_xlib_surface ===
  489. struct XlibSurfaceCreateInfoKHR;
  490. #endif /*VK_USE_PLATFORM_XLIB_KHR*/
  491. #if defined( VK_USE_PLATFORM_XCB_KHR )
  492. //=== VK_KHR_xcb_surface ===
  493. struct XcbSurfaceCreateInfoKHR;
  494. #endif /*VK_USE_PLATFORM_XCB_KHR*/
  495. #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  496. //=== VK_KHR_wayland_surface ===
  497. struct WaylandSurfaceCreateInfoKHR;
  498. #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  499. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  500. //=== VK_KHR_android_surface ===
  501. struct AndroidSurfaceCreateInfoKHR;
  502. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  503. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  504. //=== VK_KHR_win32_surface ===
  505. struct Win32SurfaceCreateInfoKHR;
  506. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  507. //=== VK_EXT_debug_report ===
  508. struct DebugReportCallbackCreateInfoEXT;
  509. //=== VK_AMD_rasterization_order ===
  510. struct PipelineRasterizationStateRasterizationOrderAMD;
  511. //=== VK_EXT_debug_marker ===
  512. struct DebugMarkerObjectNameInfoEXT;
  513. struct DebugMarkerObjectTagInfoEXT;
  514. struct DebugMarkerMarkerInfoEXT;
  515. //=== VK_KHR_video_queue ===
  516. struct QueueFamilyQueryResultStatusPropertiesKHR;
  517. struct QueueFamilyVideoPropertiesKHR;
  518. struct VideoProfileInfoKHR;
  519. struct VideoProfileListInfoKHR;
  520. struct VideoCapabilitiesKHR;
  521. struct PhysicalDeviceVideoFormatInfoKHR;
  522. struct VideoFormatPropertiesKHR;
  523. struct VideoPictureResourceInfoKHR;
  524. struct VideoReferenceSlotInfoKHR;
  525. struct VideoSessionMemoryRequirementsKHR;
  526. struct BindVideoSessionMemoryInfoKHR;
  527. struct VideoSessionCreateInfoKHR;
  528. struct VideoSessionParametersCreateInfoKHR;
  529. struct VideoSessionParametersUpdateInfoKHR;
  530. struct VideoBeginCodingInfoKHR;
  531. struct VideoEndCodingInfoKHR;
  532. struct VideoCodingControlInfoKHR;
  533. //=== VK_KHR_video_decode_queue ===
  534. struct VideoDecodeCapabilitiesKHR;
  535. struct VideoDecodeUsageInfoKHR;
  536. struct VideoDecodeInfoKHR;
  537. //=== VK_NV_dedicated_allocation ===
  538. struct DedicatedAllocationImageCreateInfoNV;
  539. struct DedicatedAllocationBufferCreateInfoNV;
  540. struct DedicatedAllocationMemoryAllocateInfoNV;
  541. //=== VK_EXT_transform_feedback ===
  542. struct PhysicalDeviceTransformFeedbackFeaturesEXT;
  543. struct PhysicalDeviceTransformFeedbackPropertiesEXT;
  544. struct PipelineRasterizationStateStreamCreateInfoEXT;
  545. //=== VK_NVX_binary_import ===
  546. struct CuModuleCreateInfoNVX;
  547. struct CuFunctionCreateInfoNVX;
  548. struct CuLaunchInfoNVX;
  549. //=== VK_NVX_image_view_handle ===
  550. struct ImageViewHandleInfoNVX;
  551. struct ImageViewAddressPropertiesNVX;
  552. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  553. //=== VK_EXT_video_encode_h264 ===
  554. struct VideoEncodeH264CapabilitiesEXT;
  555. struct VideoEncodeH264QualityLevelPropertiesEXT;
  556. struct VideoEncodeH264SessionCreateInfoEXT;
  557. struct VideoEncodeH264SessionParametersCreateInfoEXT;
  558. struct VideoEncodeH264SessionParametersAddInfoEXT;
  559. struct VideoEncodeH264SessionParametersGetInfoEXT;
  560. struct VideoEncodeH264SessionParametersFeedbackInfoEXT;
  561. struct VideoEncodeH264PictureInfoEXT;
  562. struct VideoEncodeH264DpbSlotInfoEXT;
  563. struct VideoEncodeH264NaluSliceInfoEXT;
  564. struct VideoEncodeH264ProfileInfoEXT;
  565. struct VideoEncodeH264RateControlInfoEXT;
  566. struct VideoEncodeH264RateControlLayerInfoEXT;
  567. struct VideoEncodeH264QpEXT;
  568. struct VideoEncodeH264FrameSizeEXT;
  569. struct VideoEncodeH264GopRemainingFrameInfoEXT;
  570. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  571. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  572. //=== VK_EXT_video_encode_h265 ===
  573. struct VideoEncodeH265CapabilitiesEXT;
  574. struct VideoEncodeH265SessionCreateInfoEXT;
  575. struct VideoEncodeH265QualityLevelPropertiesEXT;
  576. struct VideoEncodeH265SessionParametersCreateInfoEXT;
  577. struct VideoEncodeH265SessionParametersAddInfoEXT;
  578. struct VideoEncodeH265SessionParametersGetInfoEXT;
  579. struct VideoEncodeH265SessionParametersFeedbackInfoEXT;
  580. struct VideoEncodeH265PictureInfoEXT;
  581. struct VideoEncodeH265DpbSlotInfoEXT;
  582. struct VideoEncodeH265NaluSliceSegmentInfoEXT;
  583. struct VideoEncodeH265ProfileInfoEXT;
  584. struct VideoEncodeH265RateControlInfoEXT;
  585. struct VideoEncodeH265RateControlLayerInfoEXT;
  586. struct VideoEncodeH265QpEXT;
  587. struct VideoEncodeH265FrameSizeEXT;
  588. struct VideoEncodeH265GopRemainingFrameInfoEXT;
  589. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  590. //=== VK_KHR_video_decode_h264 ===
  591. struct VideoDecodeH264ProfileInfoKHR;
  592. struct VideoDecodeH264CapabilitiesKHR;
  593. struct VideoDecodeH264SessionParametersCreateInfoKHR;
  594. struct VideoDecodeH264SessionParametersAddInfoKHR;
  595. struct VideoDecodeH264PictureInfoKHR;
  596. struct VideoDecodeH264DpbSlotInfoKHR;
  597. //=== VK_AMD_texture_gather_bias_lod ===
  598. struct TextureLODGatherFormatPropertiesAMD;
  599. //=== VK_AMD_shader_info ===
  600. struct ShaderResourceUsageAMD;
  601. struct ShaderStatisticsInfoAMD;
  602. //=== VK_KHR_dynamic_rendering ===
  603. struct RenderingFragmentShadingRateAttachmentInfoKHR;
  604. struct RenderingFragmentDensityMapAttachmentInfoEXT;
  605. struct AttachmentSampleCountInfoAMD;
  606. using AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
  607. struct MultiviewPerViewAttributesInfoNVX;
  608. #if defined( VK_USE_PLATFORM_GGP )
  609. //=== VK_GGP_stream_descriptor_surface ===
  610. struct StreamDescriptorSurfaceCreateInfoGGP;
  611. #endif /*VK_USE_PLATFORM_GGP*/
  612. //=== VK_NV_corner_sampled_image ===
  613. struct PhysicalDeviceCornerSampledImageFeaturesNV;
  614. //=== VK_NV_external_memory_capabilities ===
  615. struct ExternalImageFormatPropertiesNV;
  616. //=== VK_NV_external_memory ===
  617. struct ExternalMemoryImageCreateInfoNV;
  618. struct ExportMemoryAllocateInfoNV;
  619. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  620. //=== VK_NV_external_memory_win32 ===
  621. struct ImportMemoryWin32HandleInfoNV;
  622. struct ExportMemoryWin32HandleInfoNV;
  623. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  624. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  625. //=== VK_NV_win32_keyed_mutex ===
  626. struct Win32KeyedMutexAcquireReleaseInfoNV;
  627. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  628. //=== VK_EXT_validation_flags ===
  629. struct ValidationFlagsEXT;
  630. #if defined( VK_USE_PLATFORM_VI_NN )
  631. //=== VK_NN_vi_surface ===
  632. struct ViSurfaceCreateInfoNN;
  633. #endif /*VK_USE_PLATFORM_VI_NN*/
  634. //=== VK_EXT_astc_decode_mode ===
  635. struct ImageViewASTCDecodeModeEXT;
  636. struct PhysicalDeviceASTCDecodeFeaturesEXT;
  637. //=== VK_EXT_pipeline_robustness ===
  638. struct PhysicalDevicePipelineRobustnessFeaturesEXT;
  639. struct PhysicalDevicePipelineRobustnessPropertiesEXT;
  640. struct PipelineRobustnessCreateInfoEXT;
  641. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  642. //=== VK_KHR_external_memory_win32 ===
  643. struct ImportMemoryWin32HandleInfoKHR;
  644. struct ExportMemoryWin32HandleInfoKHR;
  645. struct MemoryWin32HandlePropertiesKHR;
  646. struct MemoryGetWin32HandleInfoKHR;
  647. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  648. //=== VK_KHR_external_memory_fd ===
  649. struct ImportMemoryFdInfoKHR;
  650. struct MemoryFdPropertiesKHR;
  651. struct MemoryGetFdInfoKHR;
  652. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  653. //=== VK_KHR_win32_keyed_mutex ===
  654. struct Win32KeyedMutexAcquireReleaseInfoKHR;
  655. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  656. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  657. //=== VK_KHR_external_semaphore_win32 ===
  658. struct ImportSemaphoreWin32HandleInfoKHR;
  659. struct ExportSemaphoreWin32HandleInfoKHR;
  660. struct D3D12FenceSubmitInfoKHR;
  661. struct SemaphoreGetWin32HandleInfoKHR;
  662. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  663. //=== VK_KHR_external_semaphore_fd ===
  664. struct ImportSemaphoreFdInfoKHR;
  665. struct SemaphoreGetFdInfoKHR;
  666. //=== VK_KHR_push_descriptor ===
  667. struct PhysicalDevicePushDescriptorPropertiesKHR;
  668. //=== VK_EXT_conditional_rendering ===
  669. struct ConditionalRenderingBeginInfoEXT;
  670. struct PhysicalDeviceConditionalRenderingFeaturesEXT;
  671. struct CommandBufferInheritanceConditionalRenderingInfoEXT;
  672. //=== VK_KHR_incremental_present ===
  673. struct PresentRegionsKHR;
  674. struct PresentRegionKHR;
  675. struct RectLayerKHR;
  676. //=== VK_NV_clip_space_w_scaling ===
  677. struct ViewportWScalingNV;
  678. struct PipelineViewportWScalingStateCreateInfoNV;
  679. //=== VK_EXT_display_surface_counter ===
  680. struct SurfaceCapabilities2EXT;
  681. //=== VK_EXT_display_control ===
  682. struct DisplayPowerInfoEXT;
  683. struct DeviceEventInfoEXT;
  684. struct DisplayEventInfoEXT;
  685. struct SwapchainCounterCreateInfoEXT;
  686. //=== VK_GOOGLE_display_timing ===
  687. struct RefreshCycleDurationGOOGLE;
  688. struct PastPresentationTimingGOOGLE;
  689. struct PresentTimesInfoGOOGLE;
  690. struct PresentTimeGOOGLE;
  691. //=== VK_NVX_multiview_per_view_attributes ===
  692. struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
  693. //=== VK_NV_viewport_swizzle ===
  694. struct ViewportSwizzleNV;
  695. struct PipelineViewportSwizzleStateCreateInfoNV;
  696. //=== VK_EXT_discard_rectangles ===
  697. struct PhysicalDeviceDiscardRectanglePropertiesEXT;
  698. struct PipelineDiscardRectangleStateCreateInfoEXT;
  699. //=== VK_EXT_conservative_rasterization ===
  700. struct PhysicalDeviceConservativeRasterizationPropertiesEXT;
  701. struct PipelineRasterizationConservativeStateCreateInfoEXT;
  702. //=== VK_EXT_depth_clip_enable ===
  703. struct PhysicalDeviceDepthClipEnableFeaturesEXT;
  704. struct PipelineRasterizationDepthClipStateCreateInfoEXT;
  705. //=== VK_EXT_hdr_metadata ===
  706. struct HdrMetadataEXT;
  707. struct XYColorEXT;
  708. //=== VK_KHR_shared_presentable_image ===
  709. struct SharedPresentSurfaceCapabilitiesKHR;
  710. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  711. //=== VK_KHR_external_fence_win32 ===
  712. struct ImportFenceWin32HandleInfoKHR;
  713. struct ExportFenceWin32HandleInfoKHR;
  714. struct FenceGetWin32HandleInfoKHR;
  715. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  716. //=== VK_KHR_external_fence_fd ===
  717. struct ImportFenceFdInfoKHR;
  718. struct FenceGetFdInfoKHR;
  719. //=== VK_KHR_performance_query ===
  720. struct PhysicalDevicePerformanceQueryFeaturesKHR;
  721. struct PhysicalDevicePerformanceQueryPropertiesKHR;
  722. struct PerformanceCounterKHR;
  723. struct PerformanceCounterDescriptionKHR;
  724. struct QueryPoolPerformanceCreateInfoKHR;
  725. union PerformanceCounterResultKHR;
  726. struct AcquireProfilingLockInfoKHR;
  727. struct PerformanceQuerySubmitInfoKHR;
  728. //=== VK_KHR_get_surface_capabilities2 ===
  729. struct PhysicalDeviceSurfaceInfo2KHR;
  730. struct SurfaceCapabilities2KHR;
  731. struct SurfaceFormat2KHR;
  732. //=== VK_KHR_get_display_properties2 ===
  733. struct DisplayProperties2KHR;
  734. struct DisplayPlaneProperties2KHR;
  735. struct DisplayModeProperties2KHR;
  736. struct DisplayPlaneInfo2KHR;
  737. struct DisplayPlaneCapabilities2KHR;
  738. #if defined( VK_USE_PLATFORM_IOS_MVK )
  739. //=== VK_MVK_ios_surface ===
  740. struct IOSSurfaceCreateInfoMVK;
  741. #endif /*VK_USE_PLATFORM_IOS_MVK*/
  742. #if defined( VK_USE_PLATFORM_MACOS_MVK )
  743. //=== VK_MVK_macos_surface ===
  744. struct MacOSSurfaceCreateInfoMVK;
  745. #endif /*VK_USE_PLATFORM_MACOS_MVK*/
  746. //=== VK_EXT_debug_utils ===
  747. struct DebugUtilsLabelEXT;
  748. struct DebugUtilsMessengerCallbackDataEXT;
  749. struct DebugUtilsMessengerCreateInfoEXT;
  750. struct DebugUtilsObjectNameInfoEXT;
  751. struct DebugUtilsObjectTagInfoEXT;
  752. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  753. //=== VK_ANDROID_external_memory_android_hardware_buffer ===
  754. struct AndroidHardwareBufferUsageANDROID;
  755. struct AndroidHardwareBufferPropertiesANDROID;
  756. struct AndroidHardwareBufferFormatPropertiesANDROID;
  757. struct ImportAndroidHardwareBufferInfoANDROID;
  758. struct MemoryGetAndroidHardwareBufferInfoANDROID;
  759. struct ExternalFormatANDROID;
  760. struct AndroidHardwareBufferFormatProperties2ANDROID;
  761. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  762. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  763. //=== VK_AMDX_shader_enqueue ===
  764. struct PhysicalDeviceShaderEnqueueFeaturesAMDX;
  765. struct PhysicalDeviceShaderEnqueuePropertiesAMDX;
  766. struct ExecutionGraphPipelineScratchSizeAMDX;
  767. struct ExecutionGraphPipelineCreateInfoAMDX;
  768. struct DispatchGraphInfoAMDX;
  769. struct DispatchGraphCountInfoAMDX;
  770. struct PipelineShaderStageNodeCreateInfoAMDX;
  771. union DeviceOrHostAddressConstAMDX;
  772. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  773. //=== VK_EXT_sample_locations ===
  774. struct SampleLocationEXT;
  775. struct SampleLocationsInfoEXT;
  776. struct AttachmentSampleLocationsEXT;
  777. struct SubpassSampleLocationsEXT;
  778. struct RenderPassSampleLocationsBeginInfoEXT;
  779. struct PipelineSampleLocationsStateCreateInfoEXT;
  780. struct PhysicalDeviceSampleLocationsPropertiesEXT;
  781. struct MultisamplePropertiesEXT;
  782. //=== VK_EXT_blend_operation_advanced ===
  783. struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT;
  784. struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT;
  785. struct PipelineColorBlendAdvancedStateCreateInfoEXT;
  786. //=== VK_NV_fragment_coverage_to_color ===
  787. struct PipelineCoverageToColorStateCreateInfoNV;
  788. //=== VK_KHR_acceleration_structure ===
  789. union DeviceOrHostAddressKHR;
  790. union DeviceOrHostAddressConstKHR;
  791. struct AccelerationStructureBuildRangeInfoKHR;
  792. struct AabbPositionsKHR;
  793. using AabbPositionsNV = AabbPositionsKHR;
  794. struct AccelerationStructureGeometryTrianglesDataKHR;
  795. struct TransformMatrixKHR;
  796. using TransformMatrixNV = TransformMatrixKHR;
  797. struct AccelerationStructureBuildGeometryInfoKHR;
  798. struct AccelerationStructureGeometryAabbsDataKHR;
  799. struct AccelerationStructureInstanceKHR;
  800. using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
  801. struct AccelerationStructureGeometryInstancesDataKHR;
  802. union AccelerationStructureGeometryDataKHR;
  803. struct AccelerationStructureGeometryKHR;
  804. struct AccelerationStructureCreateInfoKHR;
  805. struct WriteDescriptorSetAccelerationStructureKHR;
  806. struct PhysicalDeviceAccelerationStructureFeaturesKHR;
  807. struct PhysicalDeviceAccelerationStructurePropertiesKHR;
  808. struct AccelerationStructureDeviceAddressInfoKHR;
  809. struct AccelerationStructureVersionInfoKHR;
  810. struct CopyAccelerationStructureToMemoryInfoKHR;
  811. struct CopyMemoryToAccelerationStructureInfoKHR;
  812. struct CopyAccelerationStructureInfoKHR;
  813. struct AccelerationStructureBuildSizesInfoKHR;
  814. //=== VK_KHR_ray_tracing_pipeline ===
  815. struct RayTracingShaderGroupCreateInfoKHR;
  816. struct RayTracingPipelineCreateInfoKHR;
  817. struct PhysicalDeviceRayTracingPipelineFeaturesKHR;
  818. struct PhysicalDeviceRayTracingPipelinePropertiesKHR;
  819. struct StridedDeviceAddressRegionKHR;
  820. struct TraceRaysIndirectCommandKHR;
  821. struct RayTracingPipelineInterfaceCreateInfoKHR;
  822. //=== VK_KHR_ray_query ===
  823. struct PhysicalDeviceRayQueryFeaturesKHR;
  824. //=== VK_NV_framebuffer_mixed_samples ===
  825. struct PipelineCoverageModulationStateCreateInfoNV;
  826. //=== VK_NV_shader_sm_builtins ===
  827. struct PhysicalDeviceShaderSMBuiltinsPropertiesNV;
  828. struct PhysicalDeviceShaderSMBuiltinsFeaturesNV;
  829. //=== VK_EXT_image_drm_format_modifier ===
  830. struct DrmFormatModifierPropertiesListEXT;
  831. struct DrmFormatModifierPropertiesEXT;
  832. struct PhysicalDeviceImageDrmFormatModifierInfoEXT;
  833. struct ImageDrmFormatModifierListCreateInfoEXT;
  834. struct ImageDrmFormatModifierExplicitCreateInfoEXT;
  835. struct ImageDrmFormatModifierPropertiesEXT;
  836. struct DrmFormatModifierPropertiesList2EXT;
  837. struct DrmFormatModifierProperties2EXT;
  838. //=== VK_EXT_validation_cache ===
  839. struct ValidationCacheCreateInfoEXT;
  840. struct ShaderModuleValidationCacheCreateInfoEXT;
  841. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  842. //=== VK_KHR_portability_subset ===
  843. struct PhysicalDevicePortabilitySubsetFeaturesKHR;
  844. struct PhysicalDevicePortabilitySubsetPropertiesKHR;
  845. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  846. //=== VK_NV_shading_rate_image ===
  847. struct ShadingRatePaletteNV;
  848. struct PipelineViewportShadingRateImageStateCreateInfoNV;
  849. struct PhysicalDeviceShadingRateImageFeaturesNV;
  850. struct PhysicalDeviceShadingRateImagePropertiesNV;
  851. struct CoarseSampleLocationNV;
  852. struct CoarseSampleOrderCustomNV;
  853. struct PipelineViewportCoarseSampleOrderStateCreateInfoNV;
  854. //=== VK_NV_ray_tracing ===
  855. struct RayTracingShaderGroupCreateInfoNV;
  856. struct RayTracingPipelineCreateInfoNV;
  857. struct GeometryTrianglesNV;
  858. struct GeometryAABBNV;
  859. struct GeometryDataNV;
  860. struct GeometryNV;
  861. struct AccelerationStructureInfoNV;
  862. struct AccelerationStructureCreateInfoNV;
  863. struct BindAccelerationStructureMemoryInfoNV;
  864. struct WriteDescriptorSetAccelerationStructureNV;
  865. struct AccelerationStructureMemoryRequirementsInfoNV;
  866. struct PhysicalDeviceRayTracingPropertiesNV;
  867. //=== VK_NV_representative_fragment_test ===
  868. struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV;
  869. struct PipelineRepresentativeFragmentTestStateCreateInfoNV;
  870. //=== VK_EXT_filter_cubic ===
  871. struct PhysicalDeviceImageViewImageFormatInfoEXT;
  872. struct FilterCubicImageViewImageFormatPropertiesEXT;
  873. //=== VK_EXT_external_memory_host ===
  874. struct ImportMemoryHostPointerInfoEXT;
  875. struct MemoryHostPointerPropertiesEXT;
  876. struct PhysicalDeviceExternalMemoryHostPropertiesEXT;
  877. //=== VK_KHR_shader_clock ===
  878. struct PhysicalDeviceShaderClockFeaturesKHR;
  879. //=== VK_AMD_pipeline_compiler_control ===
  880. struct PipelineCompilerControlCreateInfoAMD;
  881. //=== VK_EXT_calibrated_timestamps ===
  882. struct CalibratedTimestampInfoEXT;
  883. //=== VK_AMD_shader_core_properties ===
  884. struct PhysicalDeviceShaderCorePropertiesAMD;
  885. //=== VK_KHR_video_decode_h265 ===
  886. struct VideoDecodeH265ProfileInfoKHR;
  887. struct VideoDecodeH265CapabilitiesKHR;
  888. struct VideoDecodeH265SessionParametersCreateInfoKHR;
  889. struct VideoDecodeH265SessionParametersAddInfoKHR;
  890. struct VideoDecodeH265PictureInfoKHR;
  891. struct VideoDecodeH265DpbSlotInfoKHR;
  892. //=== VK_KHR_global_priority ===
  893. struct DeviceQueueGlobalPriorityCreateInfoKHR;
  894. using DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfoKHR;
  895. struct PhysicalDeviceGlobalPriorityQueryFeaturesKHR;
  896. using PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeaturesKHR;
  897. struct QueueFamilyGlobalPriorityPropertiesKHR;
  898. using QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityPropertiesKHR;
  899. //=== VK_AMD_memory_overallocation_behavior ===
  900. struct DeviceMemoryOverallocationCreateInfoAMD;
  901. //=== VK_EXT_vertex_attribute_divisor ===
  902. struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT;
  903. struct VertexInputBindingDivisorDescriptionEXT;
  904. struct PipelineVertexInputDivisorStateCreateInfoEXT;
  905. struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT;
  906. #if defined( VK_USE_PLATFORM_GGP )
  907. //=== VK_GGP_frame_token ===
  908. struct PresentFrameTokenGGP;
  909. #endif /*VK_USE_PLATFORM_GGP*/
  910. //=== VK_NV_compute_shader_derivatives ===
  911. struct PhysicalDeviceComputeShaderDerivativesFeaturesNV;
  912. //=== VK_NV_mesh_shader ===
  913. struct PhysicalDeviceMeshShaderFeaturesNV;
  914. struct PhysicalDeviceMeshShaderPropertiesNV;
  915. struct DrawMeshTasksIndirectCommandNV;
  916. //=== VK_NV_shader_image_footprint ===
  917. struct PhysicalDeviceShaderImageFootprintFeaturesNV;
  918. //=== VK_NV_scissor_exclusive ===
  919. struct PipelineViewportExclusiveScissorStateCreateInfoNV;
  920. struct PhysicalDeviceExclusiveScissorFeaturesNV;
  921. //=== VK_NV_device_diagnostic_checkpoints ===
  922. struct QueueFamilyCheckpointPropertiesNV;
  923. struct CheckpointDataNV;
  924. //=== VK_INTEL_shader_integer_functions2 ===
  925. struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
  926. //=== VK_INTEL_performance_query ===
  927. union PerformanceValueDataINTEL;
  928. struct PerformanceValueINTEL;
  929. struct InitializePerformanceApiInfoINTEL;
  930. struct QueryPoolPerformanceQueryCreateInfoINTEL;
  931. using QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
  932. struct PerformanceMarkerInfoINTEL;
  933. struct PerformanceStreamMarkerInfoINTEL;
  934. struct PerformanceOverrideInfoINTEL;
  935. struct PerformanceConfigurationAcquireInfoINTEL;
  936. //=== VK_EXT_pci_bus_info ===
  937. struct PhysicalDevicePCIBusInfoPropertiesEXT;
  938. //=== VK_AMD_display_native_hdr ===
  939. struct DisplayNativeHdrSurfaceCapabilitiesAMD;
  940. struct SwapchainDisplayNativeHdrCreateInfoAMD;
  941. #if defined( VK_USE_PLATFORM_FUCHSIA )
  942. //=== VK_FUCHSIA_imagepipe_surface ===
  943. struct ImagePipeSurfaceCreateInfoFUCHSIA;
  944. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  945. #if defined( VK_USE_PLATFORM_METAL_EXT )
  946. //=== VK_EXT_metal_surface ===
  947. struct MetalSurfaceCreateInfoEXT;
  948. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  949. //=== VK_EXT_fragment_density_map ===
  950. struct PhysicalDeviceFragmentDensityMapFeaturesEXT;
  951. struct PhysicalDeviceFragmentDensityMapPropertiesEXT;
  952. struct RenderPassFragmentDensityMapCreateInfoEXT;
  953. //=== VK_KHR_fragment_shading_rate ===
  954. struct FragmentShadingRateAttachmentInfoKHR;
  955. struct PipelineFragmentShadingRateStateCreateInfoKHR;
  956. struct PhysicalDeviceFragmentShadingRateFeaturesKHR;
  957. struct PhysicalDeviceFragmentShadingRatePropertiesKHR;
  958. struct PhysicalDeviceFragmentShadingRateKHR;
  959. //=== VK_AMD_shader_core_properties2 ===
  960. struct PhysicalDeviceShaderCoreProperties2AMD;
  961. //=== VK_AMD_device_coherent_memory ===
  962. struct PhysicalDeviceCoherentMemoryFeaturesAMD;
  963. //=== VK_EXT_shader_image_atomic_int64 ===
  964. struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
  965. //=== VK_EXT_memory_budget ===
  966. struct PhysicalDeviceMemoryBudgetPropertiesEXT;
  967. //=== VK_EXT_memory_priority ===
  968. struct PhysicalDeviceMemoryPriorityFeaturesEXT;
  969. struct MemoryPriorityAllocateInfoEXT;
  970. //=== VK_KHR_surface_protected_capabilities ===
  971. struct SurfaceProtectedCapabilitiesKHR;
  972. //=== VK_NV_dedicated_allocation_image_aliasing ===
  973. struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
  974. //=== VK_EXT_buffer_device_address ===
  975. struct PhysicalDeviceBufferDeviceAddressFeaturesEXT;
  976. using PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
  977. struct BufferDeviceAddressCreateInfoEXT;
  978. //=== VK_EXT_validation_features ===
  979. struct ValidationFeaturesEXT;
  980. //=== VK_KHR_present_wait ===
  981. struct PhysicalDevicePresentWaitFeaturesKHR;
  982. //=== VK_NV_cooperative_matrix ===
  983. struct CooperativeMatrixPropertiesNV;
  984. struct PhysicalDeviceCooperativeMatrixFeaturesNV;
  985. struct PhysicalDeviceCooperativeMatrixPropertiesNV;
  986. //=== VK_NV_coverage_reduction_mode ===
  987. struct PhysicalDeviceCoverageReductionModeFeaturesNV;
  988. struct PipelineCoverageReductionStateCreateInfoNV;
  989. struct FramebufferMixedSamplesCombinationNV;
  990. //=== VK_EXT_fragment_shader_interlock ===
  991. struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT;
  992. //=== VK_EXT_ycbcr_image_arrays ===
  993. struct PhysicalDeviceYcbcrImageArraysFeaturesEXT;
  994. //=== VK_EXT_provoking_vertex ===
  995. struct PhysicalDeviceProvokingVertexFeaturesEXT;
  996. struct PhysicalDeviceProvokingVertexPropertiesEXT;
  997. struct PipelineRasterizationProvokingVertexStateCreateInfoEXT;
  998. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  999. //=== VK_EXT_full_screen_exclusive ===
  1000. struct SurfaceFullScreenExclusiveInfoEXT;
  1001. struct SurfaceCapabilitiesFullScreenExclusiveEXT;
  1002. struct SurfaceFullScreenExclusiveWin32InfoEXT;
  1003. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  1004. //=== VK_EXT_headless_surface ===
  1005. struct HeadlessSurfaceCreateInfoEXT;
  1006. //=== VK_EXT_line_rasterization ===
  1007. struct PhysicalDeviceLineRasterizationFeaturesEXT;
  1008. struct PhysicalDeviceLineRasterizationPropertiesEXT;
  1009. struct PipelineRasterizationLineStateCreateInfoEXT;
  1010. //=== VK_EXT_shader_atomic_float ===
  1011. struct PhysicalDeviceShaderAtomicFloatFeaturesEXT;
  1012. //=== VK_EXT_index_type_uint8 ===
  1013. struct PhysicalDeviceIndexTypeUint8FeaturesEXT;
  1014. //=== VK_EXT_extended_dynamic_state ===
  1015. struct PhysicalDeviceExtendedDynamicStateFeaturesEXT;
  1016. //=== VK_KHR_pipeline_executable_properties ===
  1017. struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
  1018. struct PipelineInfoKHR;
  1019. using PipelineInfoEXT = PipelineInfoKHR;
  1020. struct PipelineExecutablePropertiesKHR;
  1021. struct PipelineExecutableInfoKHR;
  1022. union PipelineExecutableStatisticValueKHR;
  1023. struct PipelineExecutableStatisticKHR;
  1024. struct PipelineExecutableInternalRepresentationKHR;
  1025. //=== VK_EXT_host_image_copy ===
  1026. struct PhysicalDeviceHostImageCopyFeaturesEXT;
  1027. struct PhysicalDeviceHostImageCopyPropertiesEXT;
  1028. struct MemoryToImageCopyEXT;
  1029. struct ImageToMemoryCopyEXT;
  1030. struct CopyMemoryToImageInfoEXT;
  1031. struct CopyImageToMemoryInfoEXT;
  1032. struct CopyImageToImageInfoEXT;
  1033. struct HostImageLayoutTransitionInfoEXT;
  1034. struct SubresourceHostMemcpySizeEXT;
  1035. struct HostImageCopyDevicePerformanceQueryEXT;
  1036. //=== VK_KHR_map_memory2 ===
  1037. struct MemoryMapInfoKHR;
  1038. struct MemoryUnmapInfoKHR;
  1039. //=== VK_EXT_shader_atomic_float2 ===
  1040. struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT;
  1041. //=== VK_EXT_surface_maintenance1 ===
  1042. struct SurfacePresentModeEXT;
  1043. struct SurfacePresentScalingCapabilitiesEXT;
  1044. struct SurfacePresentModeCompatibilityEXT;
  1045. //=== VK_EXT_swapchain_maintenance1 ===
  1046. struct PhysicalDeviceSwapchainMaintenance1FeaturesEXT;
  1047. struct SwapchainPresentFenceInfoEXT;
  1048. struct SwapchainPresentModesCreateInfoEXT;
  1049. struct SwapchainPresentModeInfoEXT;
  1050. struct SwapchainPresentScalingCreateInfoEXT;
  1051. struct ReleaseSwapchainImagesInfoEXT;
  1052. //=== VK_NV_device_generated_commands ===
  1053. struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
  1054. struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
  1055. struct GraphicsShaderGroupCreateInfoNV;
  1056. struct GraphicsPipelineShaderGroupsCreateInfoNV;
  1057. struct BindShaderGroupIndirectCommandNV;
  1058. struct BindIndexBufferIndirectCommandNV;
  1059. struct BindVertexBufferIndirectCommandNV;
  1060. struct SetStateFlagsIndirectCommandNV;
  1061. struct IndirectCommandsStreamNV;
  1062. struct IndirectCommandsLayoutTokenNV;
  1063. struct IndirectCommandsLayoutCreateInfoNV;
  1064. struct GeneratedCommandsInfoNV;
  1065. struct GeneratedCommandsMemoryRequirementsInfoNV;
  1066. //=== VK_NV_inherited_viewport_scissor ===
  1067. struct PhysicalDeviceInheritedViewportScissorFeaturesNV;
  1068. struct CommandBufferInheritanceViewportScissorInfoNV;
  1069. //=== VK_EXT_texel_buffer_alignment ===
  1070. struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT;
  1071. //=== VK_QCOM_render_pass_transform ===
  1072. struct RenderPassTransformBeginInfoQCOM;
  1073. struct CommandBufferInheritanceRenderPassTransformInfoQCOM;
  1074. //=== VK_EXT_depth_bias_control ===
  1075. struct PhysicalDeviceDepthBiasControlFeaturesEXT;
  1076. struct DepthBiasInfoEXT;
  1077. struct DepthBiasRepresentationInfoEXT;
  1078. //=== VK_EXT_device_memory_report ===
  1079. struct PhysicalDeviceDeviceMemoryReportFeaturesEXT;
  1080. struct DeviceDeviceMemoryReportCreateInfoEXT;
  1081. struct DeviceMemoryReportCallbackDataEXT;
  1082. //=== VK_EXT_robustness2 ===
  1083. struct PhysicalDeviceRobustness2FeaturesEXT;
  1084. struct PhysicalDeviceRobustness2PropertiesEXT;
  1085. //=== VK_EXT_custom_border_color ===
  1086. struct SamplerCustomBorderColorCreateInfoEXT;
  1087. struct PhysicalDeviceCustomBorderColorPropertiesEXT;
  1088. struct PhysicalDeviceCustomBorderColorFeaturesEXT;
  1089. //=== VK_KHR_pipeline_library ===
  1090. struct PipelineLibraryCreateInfoKHR;
  1091. //=== VK_NV_present_barrier ===
  1092. struct PhysicalDevicePresentBarrierFeaturesNV;
  1093. struct SurfaceCapabilitiesPresentBarrierNV;
  1094. struct SwapchainPresentBarrierCreateInfoNV;
  1095. //=== VK_KHR_present_id ===
  1096. struct PresentIdKHR;
  1097. struct PhysicalDevicePresentIdFeaturesKHR;
  1098. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1099. //=== VK_KHR_video_encode_queue ===
  1100. struct VideoEncodeInfoKHR;
  1101. struct VideoEncodeCapabilitiesKHR;
  1102. struct QueryPoolVideoEncodeFeedbackCreateInfoKHR;
  1103. struct VideoEncodeUsageInfoKHR;
  1104. struct VideoEncodeRateControlInfoKHR;
  1105. struct VideoEncodeRateControlLayerInfoKHR;
  1106. struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR;
  1107. struct VideoEncodeQualityLevelPropertiesKHR;
  1108. struct VideoEncodeQualityLevelInfoKHR;
  1109. struct VideoEncodeSessionParametersGetInfoKHR;
  1110. struct VideoEncodeSessionParametersFeedbackInfoKHR;
  1111. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1112. //=== VK_NV_device_diagnostics_config ===
  1113. struct PhysicalDeviceDiagnosticsConfigFeaturesNV;
  1114. struct DeviceDiagnosticsConfigCreateInfoNV;
  1115. //=== VK_NV_low_latency ===
  1116. struct QueryLowLatencySupportNV;
  1117. #if defined( VK_USE_PLATFORM_METAL_EXT )
  1118. //=== VK_EXT_metal_objects ===
  1119. struct ExportMetalObjectCreateInfoEXT;
  1120. struct ExportMetalObjectsInfoEXT;
  1121. struct ExportMetalDeviceInfoEXT;
  1122. struct ExportMetalCommandQueueInfoEXT;
  1123. struct ExportMetalBufferInfoEXT;
  1124. struct ImportMetalBufferInfoEXT;
  1125. struct ExportMetalTextureInfoEXT;
  1126. struct ImportMetalTextureInfoEXT;
  1127. struct ExportMetalIOSurfaceInfoEXT;
  1128. struct ImportMetalIOSurfaceInfoEXT;
  1129. struct ExportMetalSharedEventInfoEXT;
  1130. struct ImportMetalSharedEventInfoEXT;
  1131. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  1132. //=== VK_KHR_synchronization2 ===
  1133. struct QueueFamilyCheckpointProperties2NV;
  1134. struct CheckpointData2NV;
  1135. //=== VK_EXT_descriptor_buffer ===
  1136. struct PhysicalDeviceDescriptorBufferPropertiesEXT;
  1137. struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
  1138. struct PhysicalDeviceDescriptorBufferFeaturesEXT;
  1139. struct DescriptorAddressInfoEXT;
  1140. struct DescriptorBufferBindingInfoEXT;
  1141. struct DescriptorBufferBindingPushDescriptorBufferHandleEXT;
  1142. union DescriptorDataEXT;
  1143. struct DescriptorGetInfoEXT;
  1144. struct BufferCaptureDescriptorDataInfoEXT;
  1145. struct ImageCaptureDescriptorDataInfoEXT;
  1146. struct ImageViewCaptureDescriptorDataInfoEXT;
  1147. struct SamplerCaptureDescriptorDataInfoEXT;
  1148. struct OpaqueCaptureDescriptorDataCreateInfoEXT;
  1149. struct AccelerationStructureCaptureDescriptorDataInfoEXT;
  1150. //=== VK_EXT_graphics_pipeline_library ===
  1151. struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
  1152. struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
  1153. struct GraphicsPipelineLibraryCreateInfoEXT;
  1154. //=== VK_AMD_shader_early_and_late_fragment_tests ===
  1155. struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
  1156. //=== VK_KHR_fragment_shader_barycentric ===
  1157. struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
  1158. using PhysicalDeviceFragmentShaderBarycentricFeaturesNV = PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
  1159. struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
  1160. //=== VK_KHR_shader_subgroup_uniform_control_flow ===
  1161. struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
  1162. //=== VK_NV_fragment_shading_rate_enums ===
  1163. struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
  1164. struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
  1165. struct PipelineFragmentShadingRateEnumStateCreateInfoNV;
  1166. //=== VK_NV_ray_tracing_motion_blur ===
  1167. struct AccelerationStructureGeometryMotionTrianglesDataNV;
  1168. struct AccelerationStructureMotionInfoNV;
  1169. struct AccelerationStructureMotionInstanceNV;
  1170. union AccelerationStructureMotionInstanceDataNV;
  1171. struct AccelerationStructureMatrixMotionInstanceNV;
  1172. struct AccelerationStructureSRTMotionInstanceNV;
  1173. struct SRTDataNV;
  1174. struct PhysicalDeviceRayTracingMotionBlurFeaturesNV;
  1175. //=== VK_EXT_mesh_shader ===
  1176. struct PhysicalDeviceMeshShaderFeaturesEXT;
  1177. struct PhysicalDeviceMeshShaderPropertiesEXT;
  1178. struct DrawMeshTasksIndirectCommandEXT;
  1179. //=== VK_EXT_ycbcr_2plane_444_formats ===
  1180. struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
  1181. //=== VK_EXT_fragment_density_map2 ===
  1182. struct PhysicalDeviceFragmentDensityMap2FeaturesEXT;
  1183. struct PhysicalDeviceFragmentDensityMap2PropertiesEXT;
  1184. //=== VK_QCOM_rotated_copy_commands ===
  1185. struct CopyCommandTransformInfoQCOM;
  1186. //=== VK_KHR_workgroup_memory_explicit_layout ===
  1187. struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
  1188. //=== VK_EXT_image_compression_control ===
  1189. struct PhysicalDeviceImageCompressionControlFeaturesEXT;
  1190. struct ImageCompressionControlEXT;
  1191. struct ImageCompressionPropertiesEXT;
  1192. //=== VK_EXT_attachment_feedback_loop_layout ===
  1193. struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
  1194. //=== VK_EXT_4444_formats ===
  1195. struct PhysicalDevice4444FormatsFeaturesEXT;
  1196. //=== VK_EXT_device_fault ===
  1197. struct PhysicalDeviceFaultFeaturesEXT;
  1198. struct DeviceFaultCountsEXT;
  1199. struct DeviceFaultInfoEXT;
  1200. struct DeviceFaultAddressInfoEXT;
  1201. struct DeviceFaultVendorInfoEXT;
  1202. struct DeviceFaultVendorBinaryHeaderVersionOneEXT;
  1203. //=== VK_EXT_rgba10x6_formats ===
  1204. struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT;
  1205. #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  1206. //=== VK_EXT_directfb_surface ===
  1207. struct DirectFBSurfaceCreateInfoEXT;
  1208. #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  1209. //=== VK_EXT_vertex_input_dynamic_state ===
  1210. struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT;
  1211. struct VertexInputBindingDescription2EXT;
  1212. struct VertexInputAttributeDescription2EXT;
  1213. //=== VK_EXT_physical_device_drm ===
  1214. struct PhysicalDeviceDrmPropertiesEXT;
  1215. //=== VK_EXT_device_address_binding_report ===
  1216. struct PhysicalDeviceAddressBindingReportFeaturesEXT;
  1217. struct DeviceAddressBindingCallbackDataEXT;
  1218. //=== VK_EXT_depth_clip_control ===
  1219. struct PhysicalDeviceDepthClipControlFeaturesEXT;
  1220. struct PipelineViewportDepthClipControlCreateInfoEXT;
  1221. //=== VK_EXT_primitive_topology_list_restart ===
  1222. struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
  1223. #if defined( VK_USE_PLATFORM_FUCHSIA )
  1224. //=== VK_FUCHSIA_external_memory ===
  1225. struct ImportMemoryZirconHandleInfoFUCHSIA;
  1226. struct MemoryZirconHandlePropertiesFUCHSIA;
  1227. struct MemoryGetZirconHandleInfoFUCHSIA;
  1228. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  1229. #if defined( VK_USE_PLATFORM_FUCHSIA )
  1230. //=== VK_FUCHSIA_external_semaphore ===
  1231. struct ImportSemaphoreZirconHandleInfoFUCHSIA;
  1232. struct SemaphoreGetZirconHandleInfoFUCHSIA;
  1233. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  1234. #if defined( VK_USE_PLATFORM_FUCHSIA )
  1235. //=== VK_FUCHSIA_buffer_collection ===
  1236. struct BufferCollectionCreateInfoFUCHSIA;
  1237. struct ImportMemoryBufferCollectionFUCHSIA;
  1238. struct BufferCollectionImageCreateInfoFUCHSIA;
  1239. struct BufferConstraintsInfoFUCHSIA;
  1240. struct BufferCollectionBufferCreateInfoFUCHSIA;
  1241. struct BufferCollectionPropertiesFUCHSIA;
  1242. struct SysmemColorSpaceFUCHSIA;
  1243. struct ImageConstraintsInfoFUCHSIA;
  1244. struct ImageFormatConstraintsInfoFUCHSIA;
  1245. struct BufferCollectionConstraintsInfoFUCHSIA;
  1246. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  1247. //=== VK_HUAWEI_subpass_shading ===
  1248. struct SubpassShadingPipelineCreateInfoHUAWEI;
  1249. struct PhysicalDeviceSubpassShadingFeaturesHUAWEI;
  1250. struct PhysicalDeviceSubpassShadingPropertiesHUAWEI;
  1251. //=== VK_HUAWEI_invocation_mask ===
  1252. struct PhysicalDeviceInvocationMaskFeaturesHUAWEI;
  1253. //=== VK_NV_external_memory_rdma ===
  1254. struct MemoryGetRemoteAddressInfoNV;
  1255. struct PhysicalDeviceExternalMemoryRDMAFeaturesNV;
  1256. //=== VK_EXT_pipeline_properties ===
  1257. struct PipelinePropertiesIdentifierEXT;
  1258. struct PhysicalDevicePipelinePropertiesFeaturesEXT;
  1259. //=== VK_EXT_frame_boundary ===
  1260. struct PhysicalDeviceFrameBoundaryFeaturesEXT;
  1261. struct FrameBoundaryEXT;
  1262. //=== VK_EXT_multisampled_render_to_single_sampled ===
  1263. struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
  1264. struct SubpassResolvePerformanceQueryEXT;
  1265. struct MultisampledRenderToSingleSampledInfoEXT;
  1266. //=== VK_EXT_extended_dynamic_state2 ===
  1267. struct PhysicalDeviceExtendedDynamicState2FeaturesEXT;
  1268. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  1269. //=== VK_QNX_screen_surface ===
  1270. struct ScreenSurfaceCreateInfoQNX;
  1271. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  1272. //=== VK_EXT_color_write_enable ===
  1273. struct PhysicalDeviceColorWriteEnableFeaturesEXT;
  1274. struct PipelineColorWriteCreateInfoEXT;
  1275. //=== VK_EXT_primitives_generated_query ===
  1276. struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
  1277. //=== VK_KHR_ray_tracing_maintenance1 ===
  1278. struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR;
  1279. struct TraceRaysIndirectCommand2KHR;
  1280. //=== VK_EXT_image_view_min_lod ===
  1281. struct PhysicalDeviceImageViewMinLodFeaturesEXT;
  1282. struct ImageViewMinLodCreateInfoEXT;
  1283. //=== VK_EXT_multi_draw ===
  1284. struct PhysicalDeviceMultiDrawFeaturesEXT;
  1285. struct PhysicalDeviceMultiDrawPropertiesEXT;
  1286. struct MultiDrawInfoEXT;
  1287. struct MultiDrawIndexedInfoEXT;
  1288. //=== VK_EXT_image_2d_view_of_3d ===
  1289. struct PhysicalDeviceImage2DViewOf3DFeaturesEXT;
  1290. //=== VK_EXT_shader_tile_image ===
  1291. struct PhysicalDeviceShaderTileImageFeaturesEXT;
  1292. struct PhysicalDeviceShaderTileImagePropertiesEXT;
  1293. //=== VK_EXT_opacity_micromap ===
  1294. struct MicromapBuildInfoEXT;
  1295. struct MicromapUsageEXT;
  1296. struct MicromapCreateInfoEXT;
  1297. struct PhysicalDeviceOpacityMicromapFeaturesEXT;
  1298. struct PhysicalDeviceOpacityMicromapPropertiesEXT;
  1299. struct MicromapVersionInfoEXT;
  1300. struct CopyMicromapToMemoryInfoEXT;
  1301. struct CopyMemoryToMicromapInfoEXT;
  1302. struct CopyMicromapInfoEXT;
  1303. struct MicromapBuildSizesInfoEXT;
  1304. struct AccelerationStructureTrianglesOpacityMicromapEXT;
  1305. struct MicromapTriangleEXT;
  1306. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  1307. //=== VK_NV_displacement_micromap ===
  1308. struct PhysicalDeviceDisplacementMicromapFeaturesNV;
  1309. struct PhysicalDeviceDisplacementMicromapPropertiesNV;
  1310. struct AccelerationStructureTrianglesDisplacementMicromapNV;
  1311. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  1312. //=== VK_HUAWEI_cluster_culling_shader ===
  1313. struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI;
  1314. struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI;
  1315. //=== VK_EXT_border_color_swizzle ===
  1316. struct PhysicalDeviceBorderColorSwizzleFeaturesEXT;
  1317. struct SamplerBorderColorComponentMappingCreateInfoEXT;
  1318. //=== VK_EXT_pageable_device_local_memory ===
  1319. struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
  1320. //=== VK_ARM_shader_core_properties ===
  1321. struct PhysicalDeviceShaderCorePropertiesARM;
  1322. //=== VK_EXT_image_sliced_view_of_3d ===
  1323. struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT;
  1324. struct ImageViewSlicedCreateInfoEXT;
  1325. //=== VK_VALVE_descriptor_set_host_mapping ===
  1326. struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
  1327. struct DescriptorSetBindingReferenceVALVE;
  1328. struct DescriptorSetLayoutHostMappingInfoVALVE;
  1329. //=== VK_EXT_depth_clamp_zero_one ===
  1330. struct PhysicalDeviceDepthClampZeroOneFeaturesEXT;
  1331. //=== VK_EXT_non_seamless_cube_map ===
  1332. struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
  1333. //=== VK_QCOM_fragment_density_map_offset ===
  1334. struct PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
  1335. struct PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
  1336. struct SubpassFragmentDensityMapOffsetEndInfoQCOM;
  1337. //=== VK_NV_copy_memory_indirect ===
  1338. struct CopyMemoryIndirectCommandNV;
  1339. struct CopyMemoryToImageIndirectCommandNV;
  1340. struct PhysicalDeviceCopyMemoryIndirectFeaturesNV;
  1341. struct PhysicalDeviceCopyMemoryIndirectPropertiesNV;
  1342. //=== VK_NV_memory_decompression ===
  1343. struct DecompressMemoryRegionNV;
  1344. struct PhysicalDeviceMemoryDecompressionFeaturesNV;
  1345. struct PhysicalDeviceMemoryDecompressionPropertiesNV;
  1346. //=== VK_NV_device_generated_commands_compute ===
  1347. struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV;
  1348. struct ComputePipelineIndirectBufferInfoNV;
  1349. struct PipelineIndirectDeviceAddressInfoNV;
  1350. struct BindPipelineIndirectCommandNV;
  1351. //=== VK_NV_linear_color_attachment ===
  1352. struct PhysicalDeviceLinearColorAttachmentFeaturesNV;
  1353. //=== VK_EXT_image_compression_control_swapchain ===
  1354. struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
  1355. //=== VK_QCOM_image_processing ===
  1356. struct ImageViewSampleWeightCreateInfoQCOM;
  1357. struct PhysicalDeviceImageProcessingFeaturesQCOM;
  1358. struct PhysicalDeviceImageProcessingPropertiesQCOM;
  1359. //=== VK_EXT_nested_command_buffer ===
  1360. struct PhysicalDeviceNestedCommandBufferFeaturesEXT;
  1361. struct PhysicalDeviceNestedCommandBufferPropertiesEXT;
  1362. //=== VK_EXT_external_memory_acquire_unmodified ===
  1363. struct ExternalMemoryAcquireUnmodifiedEXT;
  1364. //=== VK_EXT_extended_dynamic_state3 ===
  1365. struct PhysicalDeviceExtendedDynamicState3FeaturesEXT;
  1366. struct PhysicalDeviceExtendedDynamicState3PropertiesEXT;
  1367. struct ColorBlendEquationEXT;
  1368. struct ColorBlendAdvancedEXT;
  1369. //=== VK_EXT_subpass_merge_feedback ===
  1370. struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
  1371. struct RenderPassCreationControlEXT;
  1372. struct RenderPassCreationFeedbackInfoEXT;
  1373. struct RenderPassCreationFeedbackCreateInfoEXT;
  1374. struct RenderPassSubpassFeedbackInfoEXT;
  1375. struct RenderPassSubpassFeedbackCreateInfoEXT;
  1376. //=== VK_LUNARG_direct_driver_loading ===
  1377. struct DirectDriverLoadingInfoLUNARG;
  1378. struct DirectDriverLoadingListLUNARG;
  1379. //=== VK_EXT_shader_module_identifier ===
  1380. struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT;
  1381. struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT;
  1382. struct PipelineShaderStageModuleIdentifierCreateInfoEXT;
  1383. struct ShaderModuleIdentifierEXT;
  1384. //=== VK_EXT_rasterization_order_attachment_access ===
  1385. struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
  1386. using PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
  1387. //=== VK_NV_optical_flow ===
  1388. struct PhysicalDeviceOpticalFlowFeaturesNV;
  1389. struct PhysicalDeviceOpticalFlowPropertiesNV;
  1390. struct OpticalFlowImageFormatInfoNV;
  1391. struct OpticalFlowImageFormatPropertiesNV;
  1392. struct OpticalFlowSessionCreateInfoNV;
  1393. struct OpticalFlowSessionCreatePrivateDataInfoNV;
  1394. struct OpticalFlowExecuteInfoNV;
  1395. //=== VK_EXT_legacy_dithering ===
  1396. struct PhysicalDeviceLegacyDitheringFeaturesEXT;
  1397. //=== VK_EXT_pipeline_protected_access ===
  1398. struct PhysicalDevicePipelineProtectedAccessFeaturesEXT;
  1399. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  1400. //=== VK_ANDROID_external_format_resolve ===
  1401. struct PhysicalDeviceExternalFormatResolveFeaturesANDROID;
  1402. struct PhysicalDeviceExternalFormatResolvePropertiesANDROID;
  1403. struct AndroidHardwareBufferFormatResolvePropertiesANDROID;
  1404. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  1405. //=== VK_KHR_maintenance5 ===
  1406. struct PhysicalDeviceMaintenance5FeaturesKHR;
  1407. struct PhysicalDeviceMaintenance5PropertiesKHR;
  1408. struct RenderingAreaInfoKHR;
  1409. struct DeviceImageSubresourceInfoKHR;
  1410. struct ImageSubresource2KHR;
  1411. using ImageSubresource2EXT = ImageSubresource2KHR;
  1412. struct SubresourceLayout2KHR;
  1413. using SubresourceLayout2EXT = SubresourceLayout2KHR;
  1414. struct PipelineCreateFlags2CreateInfoKHR;
  1415. struct BufferUsageFlags2CreateInfoKHR;
  1416. //=== VK_KHR_ray_tracing_position_fetch ===
  1417. struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR;
  1418. //=== VK_EXT_shader_object ===
  1419. struct PhysicalDeviceShaderObjectFeaturesEXT;
  1420. struct PhysicalDeviceShaderObjectPropertiesEXT;
  1421. struct ShaderCreateInfoEXT;
  1422. //=== VK_QCOM_tile_properties ===
  1423. struct PhysicalDeviceTilePropertiesFeaturesQCOM;
  1424. struct TilePropertiesQCOM;
  1425. //=== VK_SEC_amigo_profiling ===
  1426. struct PhysicalDeviceAmigoProfilingFeaturesSEC;
  1427. struct AmigoProfilingSubmitInfoSEC;
  1428. //=== VK_QCOM_multiview_per_view_viewports ===
  1429. struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
  1430. //=== VK_NV_ray_tracing_invocation_reorder ===
  1431. struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV;
  1432. struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
  1433. //=== VK_NV_extended_sparse_address_space ===
  1434. struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV;
  1435. struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV;
  1436. //=== VK_EXT_mutable_descriptor_type ===
  1437. struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
  1438. using PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
  1439. struct MutableDescriptorTypeListEXT;
  1440. using MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
  1441. struct MutableDescriptorTypeCreateInfoEXT;
  1442. using MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
  1443. //=== VK_ARM_shader_core_builtins ===
  1444. struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM;
  1445. struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM;
  1446. //=== VK_EXT_pipeline_library_group_handles ===
  1447. struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT;
  1448. //=== VK_EXT_dynamic_rendering_unused_attachments ===
  1449. struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT;
  1450. //=== VK_NV_low_latency2 ===
  1451. struct LatencySleepModeInfoNV;
  1452. struct LatencySleepInfoNV;
  1453. struct SetLatencyMarkerInfoNV;
  1454. struct GetLatencyMarkerInfoNV;
  1455. struct LatencyTimingsFrameReportNV;
  1456. struct LatencySubmissionPresentIdNV;
  1457. struct SwapchainLatencyCreateInfoNV;
  1458. struct OutOfBandQueueTypeInfoNV;
  1459. struct LatencySurfaceCapabilitiesNV;
  1460. //=== VK_KHR_cooperative_matrix ===
  1461. struct CooperativeMatrixPropertiesKHR;
  1462. struct PhysicalDeviceCooperativeMatrixFeaturesKHR;
  1463. struct PhysicalDeviceCooperativeMatrixPropertiesKHR;
  1464. //=== VK_QCOM_multiview_per_view_render_areas ===
  1465. struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM;
  1466. struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM;
  1467. //=== VK_QCOM_image_processing2 ===
  1468. struct PhysicalDeviceImageProcessing2FeaturesQCOM;
  1469. struct PhysicalDeviceImageProcessing2PropertiesQCOM;
  1470. struct SamplerBlockMatchWindowCreateInfoQCOM;
  1471. //=== VK_QCOM_filter_cubic_weights ===
  1472. struct PhysicalDeviceCubicWeightsFeaturesQCOM;
  1473. struct SamplerCubicWeightsCreateInfoQCOM;
  1474. struct BlitImageCubicWeightsInfoQCOM;
  1475. //=== VK_QCOM_ycbcr_degamma ===
  1476. struct PhysicalDeviceYcbcrDegammaFeaturesQCOM;
  1477. struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM;
  1478. //=== VK_QCOM_filter_cubic_clamp ===
  1479. struct PhysicalDeviceCubicClampFeaturesQCOM;
  1480. //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
  1481. struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT;
  1482. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  1483. //=== VK_QNX_external_memory_screen_buffer ===
  1484. struct ScreenBufferPropertiesQNX;
  1485. struct ScreenBufferFormatPropertiesQNX;
  1486. struct ImportScreenBufferInfoQNX;
  1487. struct ExternalFormatQNX;
  1488. struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX;
  1489. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  1490. //=== VK_MSFT_layered_driver ===
  1491. struct PhysicalDeviceLayeredDriverPropertiesMSFT;
  1492. //=== VK_NV_descriptor_pool_overallocation ===
  1493. struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV;
  1494. //===================================
  1495. //=== HANDLE forward declarations ===
  1496. //===================================
  1497. //=== VK_VERSION_1_0 ===
  1498. class Instance;
  1499. class PhysicalDevice;
  1500. class Device;
  1501. class Queue;
  1502. class DeviceMemory;
  1503. class Fence;
  1504. class Semaphore;
  1505. class Event;
  1506. class QueryPool;
  1507. class Buffer;
  1508. class BufferView;
  1509. class Image;
  1510. class ImageView;
  1511. class ShaderModule;
  1512. class PipelineCache;
  1513. class Pipeline;
  1514. class PipelineLayout;
  1515. class Sampler;
  1516. class DescriptorPool;
  1517. class DescriptorSet;
  1518. class DescriptorSetLayout;
  1519. class Framebuffer;
  1520. class RenderPass;
  1521. class CommandPool;
  1522. class CommandBuffer;
  1523. //=== VK_VERSION_1_1 ===
  1524. class SamplerYcbcrConversion;
  1525. class DescriptorUpdateTemplate;
  1526. //=== VK_VERSION_1_3 ===
  1527. class PrivateDataSlot;
  1528. //=== VK_KHR_surface ===
  1529. class SurfaceKHR;
  1530. //=== VK_KHR_swapchain ===
  1531. class SwapchainKHR;
  1532. //=== VK_KHR_display ===
  1533. class DisplayKHR;
  1534. class DisplayModeKHR;
  1535. //=== VK_EXT_debug_report ===
  1536. class DebugReportCallbackEXT;
  1537. //=== VK_KHR_video_queue ===
  1538. class VideoSessionKHR;
  1539. class VideoSessionParametersKHR;
  1540. //=== VK_NVX_binary_import ===
  1541. class CuModuleNVX;
  1542. class CuFunctionNVX;
  1543. //=== VK_EXT_debug_utils ===
  1544. class DebugUtilsMessengerEXT;
  1545. //=== VK_KHR_acceleration_structure ===
  1546. class AccelerationStructureKHR;
  1547. //=== VK_EXT_validation_cache ===
  1548. class ValidationCacheEXT;
  1549. //=== VK_NV_ray_tracing ===
  1550. class AccelerationStructureNV;
  1551. //=== VK_INTEL_performance_query ===
  1552. class PerformanceConfigurationINTEL;
  1553. //=== VK_KHR_deferred_host_operations ===
  1554. class DeferredOperationKHR;
  1555. //=== VK_NV_device_generated_commands ===
  1556. class IndirectCommandsLayoutNV;
  1557. #if defined( VK_USE_PLATFORM_FUCHSIA )
  1558. //=== VK_FUCHSIA_buffer_collection ===
  1559. class BufferCollectionFUCHSIA;
  1560. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  1561. //=== VK_EXT_opacity_micromap ===
  1562. class MicromapEXT;
  1563. //=== VK_NV_optical_flow ===
  1564. class OpticalFlowSessionNV;
  1565. //=== VK_EXT_shader_object ===
  1566. class ShaderEXT;
  1567. #ifndef VULKAN_HPP_NO_SMART_HANDLE
  1568. //======================
  1569. //=== UNIQUE HANDLEs ===
  1570. //======================
  1571. //=== VK_VERSION_1_0 ===
  1572. template <typename Dispatch>
  1573. class UniqueHandleTraits<Instance, Dispatch>
  1574. {
  1575. public:
  1576. using deleter = ObjectDestroy<NoParent, Dispatch>;
  1577. };
  1578. using UniqueInstance = UniqueHandle<Instance, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1579. template <typename Dispatch>
  1580. class UniqueHandleTraits<Device, Dispatch>
  1581. {
  1582. public:
  1583. using deleter = ObjectDestroy<NoParent, Dispatch>;
  1584. };
  1585. using UniqueDevice = UniqueHandle<Device, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1586. template <typename Dispatch>
  1587. class UniqueHandleTraits<DeviceMemory, Dispatch>
  1588. {
  1589. public:
  1590. using deleter = ObjectFree<Device, Dispatch>;
  1591. };
  1592. using UniqueDeviceMemory = UniqueHandle<DeviceMemory, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1593. template <typename Dispatch>
  1594. class UniqueHandleTraits<Fence, Dispatch>
  1595. {
  1596. public:
  1597. using deleter = ObjectDestroy<Device, Dispatch>;
  1598. };
  1599. using UniqueFence = UniqueHandle<Fence, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1600. template <typename Dispatch>
  1601. class UniqueHandleTraits<Semaphore, Dispatch>
  1602. {
  1603. public:
  1604. using deleter = ObjectDestroy<Device, Dispatch>;
  1605. };
  1606. using UniqueSemaphore = UniqueHandle<Semaphore, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1607. template <typename Dispatch>
  1608. class UniqueHandleTraits<Event, Dispatch>
  1609. {
  1610. public:
  1611. using deleter = ObjectDestroy<Device, Dispatch>;
  1612. };
  1613. using UniqueEvent = UniqueHandle<Event, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1614. template <typename Dispatch>
  1615. class UniqueHandleTraits<QueryPool, Dispatch>
  1616. {
  1617. public:
  1618. using deleter = ObjectDestroy<Device, Dispatch>;
  1619. };
  1620. using UniqueQueryPool = UniqueHandle<QueryPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1621. template <typename Dispatch>
  1622. class UniqueHandleTraits<Buffer, Dispatch>
  1623. {
  1624. public:
  1625. using deleter = ObjectDestroy<Device, Dispatch>;
  1626. };
  1627. using UniqueBuffer = UniqueHandle<Buffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1628. template <typename Dispatch>
  1629. class UniqueHandleTraits<BufferView, Dispatch>
  1630. {
  1631. public:
  1632. using deleter = ObjectDestroy<Device, Dispatch>;
  1633. };
  1634. using UniqueBufferView = UniqueHandle<BufferView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1635. template <typename Dispatch>
  1636. class UniqueHandleTraits<Image, Dispatch>
  1637. {
  1638. public:
  1639. using deleter = ObjectDestroy<Device, Dispatch>;
  1640. };
  1641. using UniqueImage = UniqueHandle<Image, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1642. template <typename Dispatch>
  1643. class UniqueHandleTraits<ImageView, Dispatch>
  1644. {
  1645. public:
  1646. using deleter = ObjectDestroy<Device, Dispatch>;
  1647. };
  1648. using UniqueImageView = UniqueHandle<ImageView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1649. template <typename Dispatch>
  1650. class UniqueHandleTraits<ShaderModule, Dispatch>
  1651. {
  1652. public:
  1653. using deleter = ObjectDestroy<Device, Dispatch>;
  1654. };
  1655. using UniqueShaderModule = UniqueHandle<ShaderModule, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1656. template <typename Dispatch>
  1657. class UniqueHandleTraits<PipelineCache, Dispatch>
  1658. {
  1659. public:
  1660. using deleter = ObjectDestroy<Device, Dispatch>;
  1661. };
  1662. using UniquePipelineCache = UniqueHandle<PipelineCache, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1663. template <typename Dispatch>
  1664. class UniqueHandleTraits<Pipeline, Dispatch>
  1665. {
  1666. public:
  1667. using deleter = ObjectDestroy<Device, Dispatch>;
  1668. };
  1669. using UniquePipeline = UniqueHandle<Pipeline, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1670. template <typename Dispatch>
  1671. class UniqueHandleTraits<PipelineLayout, Dispatch>
  1672. {
  1673. public:
  1674. using deleter = ObjectDestroy<Device, Dispatch>;
  1675. };
  1676. using UniquePipelineLayout = UniqueHandle<PipelineLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1677. template <typename Dispatch>
  1678. class UniqueHandleTraits<Sampler, Dispatch>
  1679. {
  1680. public:
  1681. using deleter = ObjectDestroy<Device, Dispatch>;
  1682. };
  1683. using UniqueSampler = UniqueHandle<Sampler, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1684. template <typename Dispatch>
  1685. class UniqueHandleTraits<DescriptorPool, Dispatch>
  1686. {
  1687. public:
  1688. using deleter = ObjectDestroy<Device, Dispatch>;
  1689. };
  1690. using UniqueDescriptorPool = UniqueHandle<DescriptorPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1691. template <typename Dispatch>
  1692. class UniqueHandleTraits<DescriptorSet, Dispatch>
  1693. {
  1694. public:
  1695. using deleter = PoolFree<Device, DescriptorPool, Dispatch>;
  1696. };
  1697. using UniqueDescriptorSet = UniqueHandle<DescriptorSet, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1698. template <typename Dispatch>
  1699. class UniqueHandleTraits<DescriptorSetLayout, Dispatch>
  1700. {
  1701. public:
  1702. using deleter = ObjectDestroy<Device, Dispatch>;
  1703. };
  1704. using UniqueDescriptorSetLayout = UniqueHandle<DescriptorSetLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1705. template <typename Dispatch>
  1706. class UniqueHandleTraits<Framebuffer, Dispatch>
  1707. {
  1708. public:
  1709. using deleter = ObjectDestroy<Device, Dispatch>;
  1710. };
  1711. using UniqueFramebuffer = UniqueHandle<Framebuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1712. template <typename Dispatch>
  1713. class UniqueHandleTraits<RenderPass, Dispatch>
  1714. {
  1715. public:
  1716. using deleter = ObjectDestroy<Device, Dispatch>;
  1717. };
  1718. using UniqueRenderPass = UniqueHandle<RenderPass, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1719. template <typename Dispatch>
  1720. class UniqueHandleTraits<CommandPool, Dispatch>
  1721. {
  1722. public:
  1723. using deleter = ObjectDestroy<Device, Dispatch>;
  1724. };
  1725. using UniqueCommandPool = UniqueHandle<CommandPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1726. template <typename Dispatch>
  1727. class UniqueHandleTraits<CommandBuffer, Dispatch>
  1728. {
  1729. public:
  1730. using deleter = PoolFree<Device, CommandPool, Dispatch>;
  1731. };
  1732. using UniqueCommandBuffer = UniqueHandle<CommandBuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1733. //=== VK_VERSION_1_1 ===
  1734. template <typename Dispatch>
  1735. class UniqueHandleTraits<SamplerYcbcrConversion, Dispatch>
  1736. {
  1737. public:
  1738. using deleter = ObjectDestroy<Device, Dispatch>;
  1739. };
  1740. using UniqueSamplerYcbcrConversion = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1741. using UniqueSamplerYcbcrConversionKHR = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1742. template <typename Dispatch>
  1743. class UniqueHandleTraits<DescriptorUpdateTemplate, Dispatch>
  1744. {
  1745. public:
  1746. using deleter = ObjectDestroy<Device, Dispatch>;
  1747. };
  1748. using UniqueDescriptorUpdateTemplate = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1749. using UniqueDescriptorUpdateTemplateKHR = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1750. //=== VK_VERSION_1_3 ===
  1751. template <typename Dispatch>
  1752. class UniqueHandleTraits<PrivateDataSlot, Dispatch>
  1753. {
  1754. public:
  1755. using deleter = ObjectDestroy<Device, Dispatch>;
  1756. };
  1757. using UniquePrivateDataSlot = UniqueHandle<PrivateDataSlot, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1758. using UniquePrivateDataSlotEXT = UniqueHandle<PrivateDataSlot, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1759. //=== VK_KHR_surface ===
  1760. template <typename Dispatch>
  1761. class UniqueHandleTraits<SurfaceKHR, Dispatch>
  1762. {
  1763. public:
  1764. using deleter = ObjectDestroy<Instance, Dispatch>;
  1765. };
  1766. using UniqueSurfaceKHR = UniqueHandle<SurfaceKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1767. //=== VK_KHR_swapchain ===
  1768. template <typename Dispatch>
  1769. class UniqueHandleTraits<SwapchainKHR, Dispatch>
  1770. {
  1771. public:
  1772. using deleter = ObjectDestroy<Device, Dispatch>;
  1773. };
  1774. using UniqueSwapchainKHR = UniqueHandle<SwapchainKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1775. //=== VK_EXT_debug_report ===
  1776. template <typename Dispatch>
  1777. class UniqueHandleTraits<DebugReportCallbackEXT, Dispatch>
  1778. {
  1779. public:
  1780. using deleter = ObjectDestroy<Instance, Dispatch>;
  1781. };
  1782. using UniqueDebugReportCallbackEXT = UniqueHandle<DebugReportCallbackEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1783. //=== VK_KHR_video_queue ===
  1784. template <typename Dispatch>
  1785. class UniqueHandleTraits<VideoSessionKHR, Dispatch>
  1786. {
  1787. public:
  1788. using deleter = ObjectDestroy<Device, Dispatch>;
  1789. };
  1790. using UniqueVideoSessionKHR = UniqueHandle<VideoSessionKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1791. template <typename Dispatch>
  1792. class UniqueHandleTraits<VideoSessionParametersKHR, Dispatch>
  1793. {
  1794. public:
  1795. using deleter = ObjectDestroy<Device, Dispatch>;
  1796. };
  1797. using UniqueVideoSessionParametersKHR = UniqueHandle<VideoSessionParametersKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1798. //=== VK_NVX_binary_import ===
  1799. template <typename Dispatch>
  1800. class UniqueHandleTraits<CuModuleNVX, Dispatch>
  1801. {
  1802. public:
  1803. using deleter = ObjectDestroy<Device, Dispatch>;
  1804. };
  1805. using UniqueCuModuleNVX = UniqueHandle<CuModuleNVX, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1806. template <typename Dispatch>
  1807. class UniqueHandleTraits<CuFunctionNVX, Dispatch>
  1808. {
  1809. public:
  1810. using deleter = ObjectDestroy<Device, Dispatch>;
  1811. };
  1812. using UniqueCuFunctionNVX = UniqueHandle<CuFunctionNVX, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1813. //=== VK_EXT_debug_utils ===
  1814. template <typename Dispatch>
  1815. class UniqueHandleTraits<DebugUtilsMessengerEXT, Dispatch>
  1816. {
  1817. public:
  1818. using deleter = ObjectDestroy<Instance, Dispatch>;
  1819. };
  1820. using UniqueDebugUtilsMessengerEXT = UniqueHandle<DebugUtilsMessengerEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1821. //=== VK_KHR_acceleration_structure ===
  1822. template <typename Dispatch>
  1823. class UniqueHandleTraits<AccelerationStructureKHR, Dispatch>
  1824. {
  1825. public:
  1826. using deleter = ObjectDestroy<Device, Dispatch>;
  1827. };
  1828. using UniqueAccelerationStructureKHR = UniqueHandle<AccelerationStructureKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1829. //=== VK_EXT_validation_cache ===
  1830. template <typename Dispatch>
  1831. class UniqueHandleTraits<ValidationCacheEXT, Dispatch>
  1832. {
  1833. public:
  1834. using deleter = ObjectDestroy<Device, Dispatch>;
  1835. };
  1836. using UniqueValidationCacheEXT = UniqueHandle<ValidationCacheEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1837. //=== VK_NV_ray_tracing ===
  1838. template <typename Dispatch>
  1839. class UniqueHandleTraits<AccelerationStructureNV, Dispatch>
  1840. {
  1841. public:
  1842. using deleter = ObjectDestroy<Device, Dispatch>;
  1843. };
  1844. using UniqueAccelerationStructureNV = UniqueHandle<AccelerationStructureNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1845. //=== VK_KHR_deferred_host_operations ===
  1846. template <typename Dispatch>
  1847. class UniqueHandleTraits<DeferredOperationKHR, Dispatch>
  1848. {
  1849. public:
  1850. using deleter = ObjectDestroy<Device, Dispatch>;
  1851. };
  1852. using UniqueDeferredOperationKHR = UniqueHandle<DeferredOperationKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1853. //=== VK_NV_device_generated_commands ===
  1854. template <typename Dispatch>
  1855. class UniqueHandleTraits<IndirectCommandsLayoutNV, Dispatch>
  1856. {
  1857. public:
  1858. using deleter = ObjectDestroy<Device, Dispatch>;
  1859. };
  1860. using UniqueIndirectCommandsLayoutNV = UniqueHandle<IndirectCommandsLayoutNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1861. # if defined( VK_USE_PLATFORM_FUCHSIA )
  1862. //=== VK_FUCHSIA_buffer_collection ===
  1863. template <typename Dispatch>
  1864. class UniqueHandleTraits<BufferCollectionFUCHSIA, Dispatch>
  1865. {
  1866. public:
  1867. using deleter = ObjectDestroy<Device, Dispatch>;
  1868. };
  1869. using UniqueBufferCollectionFUCHSIA = UniqueHandle<BufferCollectionFUCHSIA, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1870. # endif /*VK_USE_PLATFORM_FUCHSIA*/
  1871. //=== VK_EXT_opacity_micromap ===
  1872. template <typename Dispatch>
  1873. class UniqueHandleTraits<MicromapEXT, Dispatch>
  1874. {
  1875. public:
  1876. using deleter = ObjectDestroy<Device, Dispatch>;
  1877. };
  1878. using UniqueMicromapEXT = UniqueHandle<MicromapEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1879. //=== VK_NV_optical_flow ===
  1880. template <typename Dispatch>
  1881. class UniqueHandleTraits<OpticalFlowSessionNV, Dispatch>
  1882. {
  1883. public:
  1884. using deleter = ObjectDestroy<Device, Dispatch>;
  1885. };
  1886. using UniqueOpticalFlowSessionNV = UniqueHandle<OpticalFlowSessionNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1887. //=== VK_EXT_shader_object ===
  1888. template <typename Dispatch>
  1889. class UniqueHandleTraits<ShaderEXT, Dispatch>
  1890. {
  1891. public:
  1892. using deleter = ObjectDestroy<Device, Dispatch>;
  1893. };
  1894. using UniqueShaderEXT = UniqueHandle<ShaderEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
  1895. #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
  1896. //===============
  1897. //=== HANDLEs ===
  1898. //===============
  1899. template <typename Type>
  1900. struct isVulkanHandleType
  1901. {
  1902. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false;
  1903. };
  1904. class SurfaceKHR
  1905. {
  1906. public:
  1907. using CType = VkSurfaceKHR;
  1908. using NativeType = VkSurfaceKHR;
  1909. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR;
  1910. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  1911. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSurfaceKHR;
  1912. public:
  1913. VULKAN_HPP_CONSTEXPR SurfaceKHR() = default;
  1914. VULKAN_HPP_CONSTEXPR SurfaceKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  1915. VULKAN_HPP_TYPESAFE_EXPLICIT SurfaceKHR( VkSurfaceKHR surfaceKHR ) VULKAN_HPP_NOEXCEPT : m_surfaceKHR( surfaceKHR ) {}
  1916. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  1917. SurfaceKHR & operator=( VkSurfaceKHR surfaceKHR ) VULKAN_HPP_NOEXCEPT
  1918. {
  1919. m_surfaceKHR = surfaceKHR;
  1920. return *this;
  1921. }
  1922. #endif
  1923. SurfaceKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  1924. {
  1925. m_surfaceKHR = {};
  1926. return *this;
  1927. }
  1928. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  1929. auto operator<=>( SurfaceKHR const & ) const = default;
  1930. #else
  1931. bool operator==( SurfaceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  1932. {
  1933. return m_surfaceKHR == rhs.m_surfaceKHR;
  1934. }
  1935. bool operator!=( SurfaceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  1936. {
  1937. return m_surfaceKHR != rhs.m_surfaceKHR;
  1938. }
  1939. bool operator<( SurfaceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  1940. {
  1941. return m_surfaceKHR < rhs.m_surfaceKHR;
  1942. }
  1943. #endif
  1944. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSurfaceKHR() const VULKAN_HPP_NOEXCEPT
  1945. {
  1946. return m_surfaceKHR;
  1947. }
  1948. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  1949. {
  1950. return m_surfaceKHR != VK_NULL_HANDLE;
  1951. }
  1952. bool operator!() const VULKAN_HPP_NOEXCEPT
  1953. {
  1954. return m_surfaceKHR == VK_NULL_HANDLE;
  1955. }
  1956. private:
  1957. VkSurfaceKHR m_surfaceKHR = {};
  1958. };
  1959. template <>
  1960. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR>
  1961. {
  1962. using Type = VULKAN_HPP_NAMESPACE::SurfaceKHR;
  1963. };
  1964. template <>
  1965. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSurfaceKHR>
  1966. {
  1967. using Type = VULKAN_HPP_NAMESPACE::SurfaceKHR;
  1968. };
  1969. template <>
  1970. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::SurfaceKHR>
  1971. {
  1972. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  1973. };
  1974. class DebugReportCallbackEXT
  1975. {
  1976. public:
  1977. using CType = VkDebugReportCallbackEXT;
  1978. using NativeType = VkDebugReportCallbackEXT;
  1979. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT;
  1980. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  1981. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDebugReportCallbackEXT;
  1982. public:
  1983. VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT() = default;
  1984. VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  1985. VULKAN_HPP_TYPESAFE_EXPLICIT DebugReportCallbackEXT( VkDebugReportCallbackEXT debugReportCallbackEXT ) VULKAN_HPP_NOEXCEPT
  1986. : m_debugReportCallbackEXT( debugReportCallbackEXT )
  1987. {
  1988. }
  1989. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  1990. DebugReportCallbackEXT & operator=( VkDebugReportCallbackEXT debugReportCallbackEXT ) VULKAN_HPP_NOEXCEPT
  1991. {
  1992. m_debugReportCallbackEXT = debugReportCallbackEXT;
  1993. return *this;
  1994. }
  1995. #endif
  1996. DebugReportCallbackEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  1997. {
  1998. m_debugReportCallbackEXT = {};
  1999. return *this;
  2000. }
  2001. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2002. auto operator<=>( DebugReportCallbackEXT const & ) const = default;
  2003. #else
  2004. bool operator==( DebugReportCallbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2005. {
  2006. return m_debugReportCallbackEXT == rhs.m_debugReportCallbackEXT;
  2007. }
  2008. bool operator!=( DebugReportCallbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2009. {
  2010. return m_debugReportCallbackEXT != rhs.m_debugReportCallbackEXT;
  2011. }
  2012. bool operator<( DebugReportCallbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2013. {
  2014. return m_debugReportCallbackEXT < rhs.m_debugReportCallbackEXT;
  2015. }
  2016. #endif
  2017. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDebugReportCallbackEXT() const VULKAN_HPP_NOEXCEPT
  2018. {
  2019. return m_debugReportCallbackEXT;
  2020. }
  2021. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2022. {
  2023. return m_debugReportCallbackEXT != VK_NULL_HANDLE;
  2024. }
  2025. bool operator!() const VULKAN_HPP_NOEXCEPT
  2026. {
  2027. return m_debugReportCallbackEXT == VK_NULL_HANDLE;
  2028. }
  2029. private:
  2030. VkDebugReportCallbackEXT m_debugReportCallbackEXT = {};
  2031. };
  2032. template <>
  2033. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT>
  2034. {
  2035. using Type = VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT;
  2036. };
  2037. template <>
  2038. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDebugReportCallbackEXT>
  2039. {
  2040. using Type = VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT;
  2041. };
  2042. template <>
  2043. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>
  2044. {
  2045. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2046. };
  2047. class DebugUtilsMessengerEXT
  2048. {
  2049. public:
  2050. using CType = VkDebugUtilsMessengerEXT;
  2051. using NativeType = VkDebugUtilsMessengerEXT;
  2052. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT;
  2053. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2054. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  2055. public:
  2056. VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT() = default;
  2057. VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2058. VULKAN_HPP_TYPESAFE_EXPLICIT DebugUtilsMessengerEXT( VkDebugUtilsMessengerEXT debugUtilsMessengerEXT ) VULKAN_HPP_NOEXCEPT
  2059. : m_debugUtilsMessengerEXT( debugUtilsMessengerEXT )
  2060. {
  2061. }
  2062. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2063. DebugUtilsMessengerEXT & operator=( VkDebugUtilsMessengerEXT debugUtilsMessengerEXT ) VULKAN_HPP_NOEXCEPT
  2064. {
  2065. m_debugUtilsMessengerEXT = debugUtilsMessengerEXT;
  2066. return *this;
  2067. }
  2068. #endif
  2069. DebugUtilsMessengerEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2070. {
  2071. m_debugUtilsMessengerEXT = {};
  2072. return *this;
  2073. }
  2074. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2075. auto operator<=>( DebugUtilsMessengerEXT const & ) const = default;
  2076. #else
  2077. bool operator==( DebugUtilsMessengerEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2078. {
  2079. return m_debugUtilsMessengerEXT == rhs.m_debugUtilsMessengerEXT;
  2080. }
  2081. bool operator!=( DebugUtilsMessengerEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2082. {
  2083. return m_debugUtilsMessengerEXT != rhs.m_debugUtilsMessengerEXT;
  2084. }
  2085. bool operator<( DebugUtilsMessengerEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2086. {
  2087. return m_debugUtilsMessengerEXT < rhs.m_debugUtilsMessengerEXT;
  2088. }
  2089. #endif
  2090. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDebugUtilsMessengerEXT() const VULKAN_HPP_NOEXCEPT
  2091. {
  2092. return m_debugUtilsMessengerEXT;
  2093. }
  2094. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2095. {
  2096. return m_debugUtilsMessengerEXT != VK_NULL_HANDLE;
  2097. }
  2098. bool operator!() const VULKAN_HPP_NOEXCEPT
  2099. {
  2100. return m_debugUtilsMessengerEXT == VK_NULL_HANDLE;
  2101. }
  2102. private:
  2103. VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {};
  2104. };
  2105. template <>
  2106. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT>
  2107. {
  2108. using Type = VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT;
  2109. };
  2110. template <>
  2111. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>
  2112. {
  2113. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2114. };
  2115. class DisplayKHR
  2116. {
  2117. public:
  2118. using CType = VkDisplayKHR;
  2119. using NativeType = VkDisplayKHR;
  2120. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR;
  2121. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2122. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayKHR;
  2123. public:
  2124. VULKAN_HPP_CONSTEXPR DisplayKHR() = default;
  2125. VULKAN_HPP_CONSTEXPR DisplayKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2126. VULKAN_HPP_TYPESAFE_EXPLICIT DisplayKHR( VkDisplayKHR displayKHR ) VULKAN_HPP_NOEXCEPT : m_displayKHR( displayKHR ) {}
  2127. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2128. DisplayKHR & operator=( VkDisplayKHR displayKHR ) VULKAN_HPP_NOEXCEPT
  2129. {
  2130. m_displayKHR = displayKHR;
  2131. return *this;
  2132. }
  2133. #endif
  2134. DisplayKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2135. {
  2136. m_displayKHR = {};
  2137. return *this;
  2138. }
  2139. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2140. auto operator<=>( DisplayKHR const & ) const = default;
  2141. #else
  2142. bool operator==( DisplayKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  2143. {
  2144. return m_displayKHR == rhs.m_displayKHR;
  2145. }
  2146. bool operator!=( DisplayKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  2147. {
  2148. return m_displayKHR != rhs.m_displayKHR;
  2149. }
  2150. bool operator<( DisplayKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  2151. {
  2152. return m_displayKHR < rhs.m_displayKHR;
  2153. }
  2154. #endif
  2155. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDisplayKHR() const VULKAN_HPP_NOEXCEPT
  2156. {
  2157. return m_displayKHR;
  2158. }
  2159. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2160. {
  2161. return m_displayKHR != VK_NULL_HANDLE;
  2162. }
  2163. bool operator!() const VULKAN_HPP_NOEXCEPT
  2164. {
  2165. return m_displayKHR == VK_NULL_HANDLE;
  2166. }
  2167. private:
  2168. VkDisplayKHR m_displayKHR = {};
  2169. };
  2170. template <>
  2171. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR>
  2172. {
  2173. using Type = VULKAN_HPP_NAMESPACE::DisplayKHR;
  2174. };
  2175. template <>
  2176. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayKHR>
  2177. {
  2178. using Type = VULKAN_HPP_NAMESPACE::DisplayKHR;
  2179. };
  2180. template <>
  2181. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DisplayKHR>
  2182. {
  2183. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2184. };
  2185. class SwapchainKHR
  2186. {
  2187. public:
  2188. using CType = VkSwapchainKHR;
  2189. using NativeType = VkSwapchainKHR;
  2190. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR;
  2191. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2192. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSwapchainKHR;
  2193. public:
  2194. VULKAN_HPP_CONSTEXPR SwapchainKHR() = default;
  2195. VULKAN_HPP_CONSTEXPR SwapchainKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2196. VULKAN_HPP_TYPESAFE_EXPLICIT SwapchainKHR( VkSwapchainKHR swapchainKHR ) VULKAN_HPP_NOEXCEPT : m_swapchainKHR( swapchainKHR ) {}
  2197. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2198. SwapchainKHR & operator=( VkSwapchainKHR swapchainKHR ) VULKAN_HPP_NOEXCEPT
  2199. {
  2200. m_swapchainKHR = swapchainKHR;
  2201. return *this;
  2202. }
  2203. #endif
  2204. SwapchainKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2205. {
  2206. m_swapchainKHR = {};
  2207. return *this;
  2208. }
  2209. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2210. auto operator<=>( SwapchainKHR const & ) const = default;
  2211. #else
  2212. bool operator==( SwapchainKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  2213. {
  2214. return m_swapchainKHR == rhs.m_swapchainKHR;
  2215. }
  2216. bool operator!=( SwapchainKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  2217. {
  2218. return m_swapchainKHR != rhs.m_swapchainKHR;
  2219. }
  2220. bool operator<( SwapchainKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  2221. {
  2222. return m_swapchainKHR < rhs.m_swapchainKHR;
  2223. }
  2224. #endif
  2225. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSwapchainKHR() const VULKAN_HPP_NOEXCEPT
  2226. {
  2227. return m_swapchainKHR;
  2228. }
  2229. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2230. {
  2231. return m_swapchainKHR != VK_NULL_HANDLE;
  2232. }
  2233. bool operator!() const VULKAN_HPP_NOEXCEPT
  2234. {
  2235. return m_swapchainKHR == VK_NULL_HANDLE;
  2236. }
  2237. private:
  2238. VkSwapchainKHR m_swapchainKHR = {};
  2239. };
  2240. template <>
  2241. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR>
  2242. {
  2243. using Type = VULKAN_HPP_NAMESPACE::SwapchainKHR;
  2244. };
  2245. template <>
  2246. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSwapchainKHR>
  2247. {
  2248. using Type = VULKAN_HPP_NAMESPACE::SwapchainKHR;
  2249. };
  2250. template <>
  2251. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::SwapchainKHR>
  2252. {
  2253. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2254. };
  2255. class Semaphore
  2256. {
  2257. public:
  2258. using CType = VkSemaphore;
  2259. using NativeType = VkSemaphore;
  2260. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore;
  2261. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2262. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSemaphore;
  2263. public:
  2264. VULKAN_HPP_CONSTEXPR Semaphore() = default;
  2265. VULKAN_HPP_CONSTEXPR Semaphore( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2266. VULKAN_HPP_TYPESAFE_EXPLICIT Semaphore( VkSemaphore semaphore ) VULKAN_HPP_NOEXCEPT : m_semaphore( semaphore ) {}
  2267. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2268. Semaphore & operator=( VkSemaphore semaphore ) VULKAN_HPP_NOEXCEPT
  2269. {
  2270. m_semaphore = semaphore;
  2271. return *this;
  2272. }
  2273. #endif
  2274. Semaphore & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2275. {
  2276. m_semaphore = {};
  2277. return *this;
  2278. }
  2279. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2280. auto operator<=>( Semaphore const & ) const = default;
  2281. #else
  2282. bool operator==( Semaphore const & rhs ) const VULKAN_HPP_NOEXCEPT
  2283. {
  2284. return m_semaphore == rhs.m_semaphore;
  2285. }
  2286. bool operator!=( Semaphore const & rhs ) const VULKAN_HPP_NOEXCEPT
  2287. {
  2288. return m_semaphore != rhs.m_semaphore;
  2289. }
  2290. bool operator<( Semaphore const & rhs ) const VULKAN_HPP_NOEXCEPT
  2291. {
  2292. return m_semaphore < rhs.m_semaphore;
  2293. }
  2294. #endif
  2295. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSemaphore() const VULKAN_HPP_NOEXCEPT
  2296. {
  2297. return m_semaphore;
  2298. }
  2299. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2300. {
  2301. return m_semaphore != VK_NULL_HANDLE;
  2302. }
  2303. bool operator!() const VULKAN_HPP_NOEXCEPT
  2304. {
  2305. return m_semaphore == VK_NULL_HANDLE;
  2306. }
  2307. private:
  2308. VkSemaphore m_semaphore = {};
  2309. };
  2310. template <>
  2311. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore>
  2312. {
  2313. using Type = VULKAN_HPP_NAMESPACE::Semaphore;
  2314. };
  2315. template <>
  2316. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSemaphore>
  2317. {
  2318. using Type = VULKAN_HPP_NAMESPACE::Semaphore;
  2319. };
  2320. template <>
  2321. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Semaphore>
  2322. {
  2323. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2324. };
  2325. class Fence
  2326. {
  2327. public:
  2328. using CType = VkFence;
  2329. using NativeType = VkFence;
  2330. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eFence;
  2331. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2332. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFence;
  2333. public:
  2334. VULKAN_HPP_CONSTEXPR Fence() = default;
  2335. VULKAN_HPP_CONSTEXPR Fence( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2336. VULKAN_HPP_TYPESAFE_EXPLICIT Fence( VkFence fence ) VULKAN_HPP_NOEXCEPT : m_fence( fence ) {}
  2337. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2338. Fence & operator=( VkFence fence ) VULKAN_HPP_NOEXCEPT
  2339. {
  2340. m_fence = fence;
  2341. return *this;
  2342. }
  2343. #endif
  2344. Fence & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2345. {
  2346. m_fence = {};
  2347. return *this;
  2348. }
  2349. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2350. auto operator<=>( Fence const & ) const = default;
  2351. #else
  2352. bool operator==( Fence const & rhs ) const VULKAN_HPP_NOEXCEPT
  2353. {
  2354. return m_fence == rhs.m_fence;
  2355. }
  2356. bool operator!=( Fence const & rhs ) const VULKAN_HPP_NOEXCEPT
  2357. {
  2358. return m_fence != rhs.m_fence;
  2359. }
  2360. bool operator<( Fence const & rhs ) const VULKAN_HPP_NOEXCEPT
  2361. {
  2362. return m_fence < rhs.m_fence;
  2363. }
  2364. #endif
  2365. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkFence() const VULKAN_HPP_NOEXCEPT
  2366. {
  2367. return m_fence;
  2368. }
  2369. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2370. {
  2371. return m_fence != VK_NULL_HANDLE;
  2372. }
  2373. bool operator!() const VULKAN_HPP_NOEXCEPT
  2374. {
  2375. return m_fence == VK_NULL_HANDLE;
  2376. }
  2377. private:
  2378. VkFence m_fence = {};
  2379. };
  2380. template <>
  2381. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eFence>
  2382. {
  2383. using Type = VULKAN_HPP_NAMESPACE::Fence;
  2384. };
  2385. template <>
  2386. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFence>
  2387. {
  2388. using Type = VULKAN_HPP_NAMESPACE::Fence;
  2389. };
  2390. template <>
  2391. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Fence>
  2392. {
  2393. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2394. };
  2395. class PerformanceConfigurationINTEL
  2396. {
  2397. public:
  2398. using CType = VkPerformanceConfigurationINTEL;
  2399. using NativeType = VkPerformanceConfigurationINTEL;
  2400. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL;
  2401. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2402. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  2403. public:
  2404. VULKAN_HPP_CONSTEXPR PerformanceConfigurationINTEL() = default;
  2405. VULKAN_HPP_CONSTEXPR PerformanceConfigurationINTEL( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2406. VULKAN_HPP_TYPESAFE_EXPLICIT PerformanceConfigurationINTEL( VkPerformanceConfigurationINTEL performanceConfigurationINTEL ) VULKAN_HPP_NOEXCEPT
  2407. : m_performanceConfigurationINTEL( performanceConfigurationINTEL )
  2408. {
  2409. }
  2410. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2411. PerformanceConfigurationINTEL & operator=( VkPerformanceConfigurationINTEL performanceConfigurationINTEL ) VULKAN_HPP_NOEXCEPT
  2412. {
  2413. m_performanceConfigurationINTEL = performanceConfigurationINTEL;
  2414. return *this;
  2415. }
  2416. #endif
  2417. PerformanceConfigurationINTEL & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2418. {
  2419. m_performanceConfigurationINTEL = {};
  2420. return *this;
  2421. }
  2422. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2423. auto operator<=>( PerformanceConfigurationINTEL const & ) const = default;
  2424. #else
  2425. bool operator==( PerformanceConfigurationINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
  2426. {
  2427. return m_performanceConfigurationINTEL == rhs.m_performanceConfigurationINTEL;
  2428. }
  2429. bool operator!=( PerformanceConfigurationINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
  2430. {
  2431. return m_performanceConfigurationINTEL != rhs.m_performanceConfigurationINTEL;
  2432. }
  2433. bool operator<( PerformanceConfigurationINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
  2434. {
  2435. return m_performanceConfigurationINTEL < rhs.m_performanceConfigurationINTEL;
  2436. }
  2437. #endif
  2438. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPerformanceConfigurationINTEL() const VULKAN_HPP_NOEXCEPT
  2439. {
  2440. return m_performanceConfigurationINTEL;
  2441. }
  2442. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2443. {
  2444. return m_performanceConfigurationINTEL != VK_NULL_HANDLE;
  2445. }
  2446. bool operator!() const VULKAN_HPP_NOEXCEPT
  2447. {
  2448. return m_performanceConfigurationINTEL == VK_NULL_HANDLE;
  2449. }
  2450. private:
  2451. VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL = {};
  2452. };
  2453. template <>
  2454. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL>
  2455. {
  2456. using Type = VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL;
  2457. };
  2458. template <>
  2459. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>
  2460. {
  2461. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2462. };
  2463. class QueryPool
  2464. {
  2465. public:
  2466. using CType = VkQueryPool;
  2467. using NativeType = VkQueryPool;
  2468. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool;
  2469. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2470. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueryPool;
  2471. public:
  2472. VULKAN_HPP_CONSTEXPR QueryPool() = default;
  2473. VULKAN_HPP_CONSTEXPR QueryPool( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2474. VULKAN_HPP_TYPESAFE_EXPLICIT QueryPool( VkQueryPool queryPool ) VULKAN_HPP_NOEXCEPT : m_queryPool( queryPool ) {}
  2475. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2476. QueryPool & operator=( VkQueryPool queryPool ) VULKAN_HPP_NOEXCEPT
  2477. {
  2478. m_queryPool = queryPool;
  2479. return *this;
  2480. }
  2481. #endif
  2482. QueryPool & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2483. {
  2484. m_queryPool = {};
  2485. return *this;
  2486. }
  2487. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2488. auto operator<=>( QueryPool const & ) const = default;
  2489. #else
  2490. bool operator==( QueryPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  2491. {
  2492. return m_queryPool == rhs.m_queryPool;
  2493. }
  2494. bool operator!=( QueryPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  2495. {
  2496. return m_queryPool != rhs.m_queryPool;
  2497. }
  2498. bool operator<( QueryPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  2499. {
  2500. return m_queryPool < rhs.m_queryPool;
  2501. }
  2502. #endif
  2503. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkQueryPool() const VULKAN_HPP_NOEXCEPT
  2504. {
  2505. return m_queryPool;
  2506. }
  2507. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2508. {
  2509. return m_queryPool != VK_NULL_HANDLE;
  2510. }
  2511. bool operator!() const VULKAN_HPP_NOEXCEPT
  2512. {
  2513. return m_queryPool == VK_NULL_HANDLE;
  2514. }
  2515. private:
  2516. VkQueryPool m_queryPool = {};
  2517. };
  2518. template <>
  2519. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool>
  2520. {
  2521. using Type = VULKAN_HPP_NAMESPACE::QueryPool;
  2522. };
  2523. template <>
  2524. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueryPool>
  2525. {
  2526. using Type = VULKAN_HPP_NAMESPACE::QueryPool;
  2527. };
  2528. template <>
  2529. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::QueryPool>
  2530. {
  2531. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2532. };
  2533. class Buffer
  2534. {
  2535. public:
  2536. using CType = VkBuffer;
  2537. using NativeType = VkBuffer;
  2538. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBuffer;
  2539. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2540. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBuffer;
  2541. public:
  2542. VULKAN_HPP_CONSTEXPR Buffer() = default;
  2543. VULKAN_HPP_CONSTEXPR Buffer( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2544. VULKAN_HPP_TYPESAFE_EXPLICIT Buffer( VkBuffer buffer ) VULKAN_HPP_NOEXCEPT : m_buffer( buffer ) {}
  2545. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2546. Buffer & operator=( VkBuffer buffer ) VULKAN_HPP_NOEXCEPT
  2547. {
  2548. m_buffer = buffer;
  2549. return *this;
  2550. }
  2551. #endif
  2552. Buffer & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2553. {
  2554. m_buffer = {};
  2555. return *this;
  2556. }
  2557. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2558. auto operator<=>( Buffer const & ) const = default;
  2559. #else
  2560. bool operator==( Buffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  2561. {
  2562. return m_buffer == rhs.m_buffer;
  2563. }
  2564. bool operator!=( Buffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  2565. {
  2566. return m_buffer != rhs.m_buffer;
  2567. }
  2568. bool operator<( Buffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  2569. {
  2570. return m_buffer < rhs.m_buffer;
  2571. }
  2572. #endif
  2573. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBuffer() const VULKAN_HPP_NOEXCEPT
  2574. {
  2575. return m_buffer;
  2576. }
  2577. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2578. {
  2579. return m_buffer != VK_NULL_HANDLE;
  2580. }
  2581. bool operator!() const VULKAN_HPP_NOEXCEPT
  2582. {
  2583. return m_buffer == VK_NULL_HANDLE;
  2584. }
  2585. private:
  2586. VkBuffer m_buffer = {};
  2587. };
  2588. template <>
  2589. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eBuffer>
  2590. {
  2591. using Type = VULKAN_HPP_NAMESPACE::Buffer;
  2592. };
  2593. template <>
  2594. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBuffer>
  2595. {
  2596. using Type = VULKAN_HPP_NAMESPACE::Buffer;
  2597. };
  2598. template <>
  2599. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Buffer>
  2600. {
  2601. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2602. };
  2603. class PipelineLayout
  2604. {
  2605. public:
  2606. using CType = VkPipelineLayout;
  2607. using NativeType = VkPipelineLayout;
  2608. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout;
  2609. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2610. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineLayout;
  2611. public:
  2612. VULKAN_HPP_CONSTEXPR PipelineLayout() = default;
  2613. VULKAN_HPP_CONSTEXPR PipelineLayout( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2614. VULKAN_HPP_TYPESAFE_EXPLICIT PipelineLayout( VkPipelineLayout pipelineLayout ) VULKAN_HPP_NOEXCEPT : m_pipelineLayout( pipelineLayout ) {}
  2615. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2616. PipelineLayout & operator=( VkPipelineLayout pipelineLayout ) VULKAN_HPP_NOEXCEPT
  2617. {
  2618. m_pipelineLayout = pipelineLayout;
  2619. return *this;
  2620. }
  2621. #endif
  2622. PipelineLayout & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2623. {
  2624. m_pipelineLayout = {};
  2625. return *this;
  2626. }
  2627. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2628. auto operator<=>( PipelineLayout const & ) const = default;
  2629. #else
  2630. bool operator==( PipelineLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
  2631. {
  2632. return m_pipelineLayout == rhs.m_pipelineLayout;
  2633. }
  2634. bool operator!=( PipelineLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
  2635. {
  2636. return m_pipelineLayout != rhs.m_pipelineLayout;
  2637. }
  2638. bool operator<( PipelineLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
  2639. {
  2640. return m_pipelineLayout < rhs.m_pipelineLayout;
  2641. }
  2642. #endif
  2643. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipelineLayout() const VULKAN_HPP_NOEXCEPT
  2644. {
  2645. return m_pipelineLayout;
  2646. }
  2647. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2648. {
  2649. return m_pipelineLayout != VK_NULL_HANDLE;
  2650. }
  2651. bool operator!() const VULKAN_HPP_NOEXCEPT
  2652. {
  2653. return m_pipelineLayout == VK_NULL_HANDLE;
  2654. }
  2655. private:
  2656. VkPipelineLayout m_pipelineLayout = {};
  2657. };
  2658. template <>
  2659. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout>
  2660. {
  2661. using Type = VULKAN_HPP_NAMESPACE::PipelineLayout;
  2662. };
  2663. template <>
  2664. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineLayout>
  2665. {
  2666. using Type = VULKAN_HPP_NAMESPACE::PipelineLayout;
  2667. };
  2668. template <>
  2669. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PipelineLayout>
  2670. {
  2671. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2672. };
  2673. class DescriptorSet
  2674. {
  2675. public:
  2676. using CType = VkDescriptorSet;
  2677. using NativeType = VkDescriptorSet;
  2678. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet;
  2679. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2680. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet;
  2681. public:
  2682. VULKAN_HPP_CONSTEXPR DescriptorSet() = default;
  2683. VULKAN_HPP_CONSTEXPR DescriptorSet( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2684. VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSet( VkDescriptorSet descriptorSet ) VULKAN_HPP_NOEXCEPT : m_descriptorSet( descriptorSet ) {}
  2685. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2686. DescriptorSet & operator=( VkDescriptorSet descriptorSet ) VULKAN_HPP_NOEXCEPT
  2687. {
  2688. m_descriptorSet = descriptorSet;
  2689. return *this;
  2690. }
  2691. #endif
  2692. DescriptorSet & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2693. {
  2694. m_descriptorSet = {};
  2695. return *this;
  2696. }
  2697. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2698. auto operator<=>( DescriptorSet const & ) const = default;
  2699. #else
  2700. bool operator==( DescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  2701. {
  2702. return m_descriptorSet == rhs.m_descriptorSet;
  2703. }
  2704. bool operator!=( DescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  2705. {
  2706. return m_descriptorSet != rhs.m_descriptorSet;
  2707. }
  2708. bool operator<( DescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  2709. {
  2710. return m_descriptorSet < rhs.m_descriptorSet;
  2711. }
  2712. #endif
  2713. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorSet() const VULKAN_HPP_NOEXCEPT
  2714. {
  2715. return m_descriptorSet;
  2716. }
  2717. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2718. {
  2719. return m_descriptorSet != VK_NULL_HANDLE;
  2720. }
  2721. bool operator!() const VULKAN_HPP_NOEXCEPT
  2722. {
  2723. return m_descriptorSet == VK_NULL_HANDLE;
  2724. }
  2725. private:
  2726. VkDescriptorSet m_descriptorSet = {};
  2727. };
  2728. template <>
  2729. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet>
  2730. {
  2731. using Type = VULKAN_HPP_NAMESPACE::DescriptorSet;
  2732. };
  2733. template <>
  2734. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet>
  2735. {
  2736. using Type = VULKAN_HPP_NAMESPACE::DescriptorSet;
  2737. };
  2738. template <>
  2739. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorSet>
  2740. {
  2741. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2742. };
  2743. class ImageView
  2744. {
  2745. public:
  2746. using CType = VkImageView;
  2747. using NativeType = VkImageView;
  2748. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eImageView;
  2749. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2750. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImageView;
  2751. public:
  2752. VULKAN_HPP_CONSTEXPR ImageView() = default;
  2753. VULKAN_HPP_CONSTEXPR ImageView( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2754. VULKAN_HPP_TYPESAFE_EXPLICIT ImageView( VkImageView imageView ) VULKAN_HPP_NOEXCEPT : m_imageView( imageView ) {}
  2755. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2756. ImageView & operator=( VkImageView imageView ) VULKAN_HPP_NOEXCEPT
  2757. {
  2758. m_imageView = imageView;
  2759. return *this;
  2760. }
  2761. #endif
  2762. ImageView & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2763. {
  2764. m_imageView = {};
  2765. return *this;
  2766. }
  2767. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2768. auto operator<=>( ImageView const & ) const = default;
  2769. #else
  2770. bool operator==( ImageView const & rhs ) const VULKAN_HPP_NOEXCEPT
  2771. {
  2772. return m_imageView == rhs.m_imageView;
  2773. }
  2774. bool operator!=( ImageView const & rhs ) const VULKAN_HPP_NOEXCEPT
  2775. {
  2776. return m_imageView != rhs.m_imageView;
  2777. }
  2778. bool operator<( ImageView const & rhs ) const VULKAN_HPP_NOEXCEPT
  2779. {
  2780. return m_imageView < rhs.m_imageView;
  2781. }
  2782. #endif
  2783. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkImageView() const VULKAN_HPP_NOEXCEPT
  2784. {
  2785. return m_imageView;
  2786. }
  2787. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2788. {
  2789. return m_imageView != VK_NULL_HANDLE;
  2790. }
  2791. bool operator!() const VULKAN_HPP_NOEXCEPT
  2792. {
  2793. return m_imageView == VK_NULL_HANDLE;
  2794. }
  2795. private:
  2796. VkImageView m_imageView = {};
  2797. };
  2798. template <>
  2799. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eImageView>
  2800. {
  2801. using Type = VULKAN_HPP_NAMESPACE::ImageView;
  2802. };
  2803. template <>
  2804. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImageView>
  2805. {
  2806. using Type = VULKAN_HPP_NAMESPACE::ImageView;
  2807. };
  2808. template <>
  2809. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::ImageView>
  2810. {
  2811. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2812. };
  2813. class Pipeline
  2814. {
  2815. public:
  2816. using CType = VkPipeline;
  2817. using NativeType = VkPipeline;
  2818. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipeline;
  2819. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2820. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipeline;
  2821. public:
  2822. VULKAN_HPP_CONSTEXPR Pipeline() = default;
  2823. VULKAN_HPP_CONSTEXPR Pipeline( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2824. VULKAN_HPP_TYPESAFE_EXPLICIT Pipeline( VkPipeline pipeline ) VULKAN_HPP_NOEXCEPT : m_pipeline( pipeline ) {}
  2825. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2826. Pipeline & operator=( VkPipeline pipeline ) VULKAN_HPP_NOEXCEPT
  2827. {
  2828. m_pipeline = pipeline;
  2829. return *this;
  2830. }
  2831. #endif
  2832. Pipeline & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2833. {
  2834. m_pipeline = {};
  2835. return *this;
  2836. }
  2837. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2838. auto operator<=>( Pipeline const & ) const = default;
  2839. #else
  2840. bool operator==( Pipeline const & rhs ) const VULKAN_HPP_NOEXCEPT
  2841. {
  2842. return m_pipeline == rhs.m_pipeline;
  2843. }
  2844. bool operator!=( Pipeline const & rhs ) const VULKAN_HPP_NOEXCEPT
  2845. {
  2846. return m_pipeline != rhs.m_pipeline;
  2847. }
  2848. bool operator<( Pipeline const & rhs ) const VULKAN_HPP_NOEXCEPT
  2849. {
  2850. return m_pipeline < rhs.m_pipeline;
  2851. }
  2852. #endif
  2853. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipeline() const VULKAN_HPP_NOEXCEPT
  2854. {
  2855. return m_pipeline;
  2856. }
  2857. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2858. {
  2859. return m_pipeline != VK_NULL_HANDLE;
  2860. }
  2861. bool operator!() const VULKAN_HPP_NOEXCEPT
  2862. {
  2863. return m_pipeline == VK_NULL_HANDLE;
  2864. }
  2865. private:
  2866. VkPipeline m_pipeline = {};
  2867. };
  2868. template <>
  2869. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePipeline>
  2870. {
  2871. using Type = VULKAN_HPP_NAMESPACE::Pipeline;
  2872. };
  2873. template <>
  2874. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipeline>
  2875. {
  2876. using Type = VULKAN_HPP_NAMESPACE::Pipeline;
  2877. };
  2878. template <>
  2879. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Pipeline>
  2880. {
  2881. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2882. };
  2883. class ShaderEXT
  2884. {
  2885. public:
  2886. using CType = VkShaderEXT;
  2887. using NativeType = VkShaderEXT;
  2888. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eShaderEXT;
  2889. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2890. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  2891. public:
  2892. VULKAN_HPP_CONSTEXPR ShaderEXT() = default;
  2893. VULKAN_HPP_CONSTEXPR ShaderEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2894. VULKAN_HPP_TYPESAFE_EXPLICIT ShaderEXT( VkShaderEXT shaderEXT ) VULKAN_HPP_NOEXCEPT : m_shaderEXT( shaderEXT ) {}
  2895. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2896. ShaderEXT & operator=( VkShaderEXT shaderEXT ) VULKAN_HPP_NOEXCEPT
  2897. {
  2898. m_shaderEXT = shaderEXT;
  2899. return *this;
  2900. }
  2901. #endif
  2902. ShaderEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2903. {
  2904. m_shaderEXT = {};
  2905. return *this;
  2906. }
  2907. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2908. auto operator<=>( ShaderEXT const & ) const = default;
  2909. #else
  2910. bool operator==( ShaderEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2911. {
  2912. return m_shaderEXT == rhs.m_shaderEXT;
  2913. }
  2914. bool operator!=( ShaderEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2915. {
  2916. return m_shaderEXT != rhs.m_shaderEXT;
  2917. }
  2918. bool operator<( ShaderEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  2919. {
  2920. return m_shaderEXT < rhs.m_shaderEXT;
  2921. }
  2922. #endif
  2923. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkShaderEXT() const VULKAN_HPP_NOEXCEPT
  2924. {
  2925. return m_shaderEXT;
  2926. }
  2927. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2928. {
  2929. return m_shaderEXT != VK_NULL_HANDLE;
  2930. }
  2931. bool operator!() const VULKAN_HPP_NOEXCEPT
  2932. {
  2933. return m_shaderEXT == VK_NULL_HANDLE;
  2934. }
  2935. private:
  2936. VkShaderEXT m_shaderEXT = {};
  2937. };
  2938. template <>
  2939. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eShaderEXT>
  2940. {
  2941. using Type = VULKAN_HPP_NAMESPACE::ShaderEXT;
  2942. };
  2943. template <>
  2944. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::ShaderEXT>
  2945. {
  2946. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  2947. };
  2948. class Image
  2949. {
  2950. public:
  2951. using CType = VkImage;
  2952. using NativeType = VkImage;
  2953. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eImage;
  2954. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  2955. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImage;
  2956. public:
  2957. VULKAN_HPP_CONSTEXPR Image() = default;
  2958. VULKAN_HPP_CONSTEXPR Image( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  2959. VULKAN_HPP_TYPESAFE_EXPLICIT Image( VkImage image ) VULKAN_HPP_NOEXCEPT : m_image( image ) {}
  2960. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  2961. Image & operator=( VkImage image ) VULKAN_HPP_NOEXCEPT
  2962. {
  2963. m_image = image;
  2964. return *this;
  2965. }
  2966. #endif
  2967. Image & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  2968. {
  2969. m_image = {};
  2970. return *this;
  2971. }
  2972. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  2973. auto operator<=>( Image const & ) const = default;
  2974. #else
  2975. bool operator==( Image const & rhs ) const VULKAN_HPP_NOEXCEPT
  2976. {
  2977. return m_image == rhs.m_image;
  2978. }
  2979. bool operator!=( Image const & rhs ) const VULKAN_HPP_NOEXCEPT
  2980. {
  2981. return m_image != rhs.m_image;
  2982. }
  2983. bool operator<( Image const & rhs ) const VULKAN_HPP_NOEXCEPT
  2984. {
  2985. return m_image < rhs.m_image;
  2986. }
  2987. #endif
  2988. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkImage() const VULKAN_HPP_NOEXCEPT
  2989. {
  2990. return m_image;
  2991. }
  2992. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  2993. {
  2994. return m_image != VK_NULL_HANDLE;
  2995. }
  2996. bool operator!() const VULKAN_HPP_NOEXCEPT
  2997. {
  2998. return m_image == VK_NULL_HANDLE;
  2999. }
  3000. private:
  3001. VkImage m_image = {};
  3002. };
  3003. template <>
  3004. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eImage>
  3005. {
  3006. using Type = VULKAN_HPP_NAMESPACE::Image;
  3007. };
  3008. template <>
  3009. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImage>
  3010. {
  3011. using Type = VULKAN_HPP_NAMESPACE::Image;
  3012. };
  3013. template <>
  3014. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Image>
  3015. {
  3016. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  3017. };
  3018. class AccelerationStructureNV
  3019. {
  3020. public:
  3021. using CType = VkAccelerationStructureNV;
  3022. using NativeType = VkAccelerationStructureNV;
  3023. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV;
  3024. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  3025. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureNV;
  3026. public:
  3027. VULKAN_HPP_CONSTEXPR AccelerationStructureNV() = default;
  3028. VULKAN_HPP_CONSTEXPR AccelerationStructureNV( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  3029. VULKAN_HPP_TYPESAFE_EXPLICIT AccelerationStructureNV( VkAccelerationStructureNV accelerationStructureNV ) VULKAN_HPP_NOEXCEPT
  3030. : m_accelerationStructureNV( accelerationStructureNV )
  3031. {
  3032. }
  3033. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  3034. AccelerationStructureNV & operator=( VkAccelerationStructureNV accelerationStructureNV ) VULKAN_HPP_NOEXCEPT
  3035. {
  3036. m_accelerationStructureNV = accelerationStructureNV;
  3037. return *this;
  3038. }
  3039. #endif
  3040. AccelerationStructureNV & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  3041. {
  3042. m_accelerationStructureNV = {};
  3043. return *this;
  3044. }
  3045. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  3046. auto operator<=>( AccelerationStructureNV const & ) const = default;
  3047. #else
  3048. bool operator==( AccelerationStructureNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  3049. {
  3050. return m_accelerationStructureNV == rhs.m_accelerationStructureNV;
  3051. }
  3052. bool operator!=( AccelerationStructureNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  3053. {
  3054. return m_accelerationStructureNV != rhs.m_accelerationStructureNV;
  3055. }
  3056. bool operator<( AccelerationStructureNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  3057. {
  3058. return m_accelerationStructureNV < rhs.m_accelerationStructureNV;
  3059. }
  3060. #endif
  3061. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkAccelerationStructureNV() const VULKAN_HPP_NOEXCEPT
  3062. {
  3063. return m_accelerationStructureNV;
  3064. }
  3065. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  3066. {
  3067. return m_accelerationStructureNV != VK_NULL_HANDLE;
  3068. }
  3069. bool operator!() const VULKAN_HPP_NOEXCEPT
  3070. {
  3071. return m_accelerationStructureNV == VK_NULL_HANDLE;
  3072. }
  3073. private:
  3074. VkAccelerationStructureNV m_accelerationStructureNV = {};
  3075. };
  3076. template <>
  3077. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV>
  3078. {
  3079. using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureNV;
  3080. };
  3081. template <>
  3082. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureNV>
  3083. {
  3084. using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureNV;
  3085. };
  3086. template <>
  3087. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>
  3088. {
  3089. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  3090. };
  3091. class OpticalFlowSessionNV
  3092. {
  3093. public:
  3094. using CType = VkOpticalFlowSessionNV;
  3095. using NativeType = VkOpticalFlowSessionNV;
  3096. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eOpticalFlowSessionNV;
  3097. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  3098. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  3099. public:
  3100. VULKAN_HPP_CONSTEXPR OpticalFlowSessionNV() = default;
  3101. VULKAN_HPP_CONSTEXPR OpticalFlowSessionNV( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  3102. VULKAN_HPP_TYPESAFE_EXPLICIT OpticalFlowSessionNV( VkOpticalFlowSessionNV opticalFlowSessionNV ) VULKAN_HPP_NOEXCEPT
  3103. : m_opticalFlowSessionNV( opticalFlowSessionNV )
  3104. {
  3105. }
  3106. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  3107. OpticalFlowSessionNV & operator=( VkOpticalFlowSessionNV opticalFlowSessionNV ) VULKAN_HPP_NOEXCEPT
  3108. {
  3109. m_opticalFlowSessionNV = opticalFlowSessionNV;
  3110. return *this;
  3111. }
  3112. #endif
  3113. OpticalFlowSessionNV & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  3114. {
  3115. m_opticalFlowSessionNV = {};
  3116. return *this;
  3117. }
  3118. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  3119. auto operator<=>( OpticalFlowSessionNV const & ) const = default;
  3120. #else
  3121. bool operator==( OpticalFlowSessionNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  3122. {
  3123. return m_opticalFlowSessionNV == rhs.m_opticalFlowSessionNV;
  3124. }
  3125. bool operator!=( OpticalFlowSessionNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  3126. {
  3127. return m_opticalFlowSessionNV != rhs.m_opticalFlowSessionNV;
  3128. }
  3129. bool operator<( OpticalFlowSessionNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  3130. {
  3131. return m_opticalFlowSessionNV < rhs.m_opticalFlowSessionNV;
  3132. }
  3133. #endif
  3134. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkOpticalFlowSessionNV() const VULKAN_HPP_NOEXCEPT
  3135. {
  3136. return m_opticalFlowSessionNV;
  3137. }
  3138. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  3139. {
  3140. return m_opticalFlowSessionNV != VK_NULL_HANDLE;
  3141. }
  3142. bool operator!() const VULKAN_HPP_NOEXCEPT
  3143. {
  3144. return m_opticalFlowSessionNV == VK_NULL_HANDLE;
  3145. }
  3146. private:
  3147. VkOpticalFlowSessionNV m_opticalFlowSessionNV = {};
  3148. };
  3149. template <>
  3150. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eOpticalFlowSessionNV>
  3151. {
  3152. using Type = VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV;
  3153. };
  3154. template <>
  3155. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV>
  3156. {
  3157. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  3158. };
  3159. class DescriptorUpdateTemplate
  3160. {
  3161. public:
  3162. using CType = VkDescriptorUpdateTemplate;
  3163. using NativeType = VkDescriptorUpdateTemplate;
  3164. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate;
  3165. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  3166. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorUpdateTemplate;
  3167. public:
  3168. VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate() = default;
  3169. VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  3170. VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorUpdateTemplate( VkDescriptorUpdateTemplate descriptorUpdateTemplate ) VULKAN_HPP_NOEXCEPT
  3171. : m_descriptorUpdateTemplate( descriptorUpdateTemplate )
  3172. {
  3173. }
  3174. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  3175. DescriptorUpdateTemplate & operator=( VkDescriptorUpdateTemplate descriptorUpdateTemplate ) VULKAN_HPP_NOEXCEPT
  3176. {
  3177. m_descriptorUpdateTemplate = descriptorUpdateTemplate;
  3178. return *this;
  3179. }
  3180. #endif
  3181. DescriptorUpdateTemplate & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  3182. {
  3183. m_descriptorUpdateTemplate = {};
  3184. return *this;
  3185. }
  3186. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  3187. auto operator<=>( DescriptorUpdateTemplate const & ) const = default;
  3188. #else
  3189. bool operator==( DescriptorUpdateTemplate const & rhs ) const VULKAN_HPP_NOEXCEPT
  3190. {
  3191. return m_descriptorUpdateTemplate == rhs.m_descriptorUpdateTemplate;
  3192. }
  3193. bool operator!=( DescriptorUpdateTemplate const & rhs ) const VULKAN_HPP_NOEXCEPT
  3194. {
  3195. return m_descriptorUpdateTemplate != rhs.m_descriptorUpdateTemplate;
  3196. }
  3197. bool operator<( DescriptorUpdateTemplate const & rhs ) const VULKAN_HPP_NOEXCEPT
  3198. {
  3199. return m_descriptorUpdateTemplate < rhs.m_descriptorUpdateTemplate;
  3200. }
  3201. #endif
  3202. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorUpdateTemplate() const VULKAN_HPP_NOEXCEPT
  3203. {
  3204. return m_descriptorUpdateTemplate;
  3205. }
  3206. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  3207. {
  3208. return m_descriptorUpdateTemplate != VK_NULL_HANDLE;
  3209. }
  3210. bool operator!() const VULKAN_HPP_NOEXCEPT
  3211. {
  3212. return m_descriptorUpdateTemplate == VK_NULL_HANDLE;
  3213. }
  3214. private:
  3215. VkDescriptorUpdateTemplate m_descriptorUpdateTemplate = {};
  3216. };
  3217. template <>
  3218. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate>
  3219. {
  3220. using Type = VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate;
  3221. };
  3222. template <>
  3223. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorUpdateTemplate>
  3224. {
  3225. using Type = VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate;
  3226. };
  3227. template <>
  3228. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>
  3229. {
  3230. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  3231. };
  3232. using DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate;
  3233. class Event
  3234. {
  3235. public:
  3236. using CType = VkEvent;
  3237. using NativeType = VkEvent;
  3238. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eEvent;
  3239. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  3240. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eEvent;
  3241. public:
  3242. VULKAN_HPP_CONSTEXPR Event() = default;
  3243. VULKAN_HPP_CONSTEXPR Event( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  3244. VULKAN_HPP_TYPESAFE_EXPLICIT Event( VkEvent event ) VULKAN_HPP_NOEXCEPT : m_event( event ) {}
  3245. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  3246. Event & operator=( VkEvent event ) VULKAN_HPP_NOEXCEPT
  3247. {
  3248. m_event = event;
  3249. return *this;
  3250. }
  3251. #endif
  3252. Event & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  3253. {
  3254. m_event = {};
  3255. return *this;
  3256. }
  3257. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  3258. auto operator<=>( Event const & ) const = default;
  3259. #else
  3260. bool operator==( Event const & rhs ) const VULKAN_HPP_NOEXCEPT
  3261. {
  3262. return m_event == rhs.m_event;
  3263. }
  3264. bool operator!=( Event const & rhs ) const VULKAN_HPP_NOEXCEPT
  3265. {
  3266. return m_event != rhs.m_event;
  3267. }
  3268. bool operator<( Event const & rhs ) const VULKAN_HPP_NOEXCEPT
  3269. {
  3270. return m_event < rhs.m_event;
  3271. }
  3272. #endif
  3273. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkEvent() const VULKAN_HPP_NOEXCEPT
  3274. {
  3275. return m_event;
  3276. }
  3277. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  3278. {
  3279. return m_event != VK_NULL_HANDLE;
  3280. }
  3281. bool operator!() const VULKAN_HPP_NOEXCEPT
  3282. {
  3283. return m_event == VK_NULL_HANDLE;
  3284. }
  3285. private:
  3286. VkEvent m_event = {};
  3287. };
  3288. template <>
  3289. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eEvent>
  3290. {
  3291. using Type = VULKAN_HPP_NAMESPACE::Event;
  3292. };
  3293. template <>
  3294. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eEvent>
  3295. {
  3296. using Type = VULKAN_HPP_NAMESPACE::Event;
  3297. };
  3298. template <>
  3299. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Event>
  3300. {
  3301. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  3302. };
  3303. class AccelerationStructureKHR
  3304. {
  3305. public:
  3306. using CType = VkAccelerationStructureKHR;
  3307. using NativeType = VkAccelerationStructureKHR;
  3308. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR;
  3309. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  3310. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureKHR;
  3311. public:
  3312. VULKAN_HPP_CONSTEXPR AccelerationStructureKHR() = default;
  3313. VULKAN_HPP_CONSTEXPR AccelerationStructureKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  3314. VULKAN_HPP_TYPESAFE_EXPLICIT AccelerationStructureKHR( VkAccelerationStructureKHR accelerationStructureKHR ) VULKAN_HPP_NOEXCEPT
  3315. : m_accelerationStructureKHR( accelerationStructureKHR )
  3316. {
  3317. }
  3318. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  3319. AccelerationStructureKHR & operator=( VkAccelerationStructureKHR accelerationStructureKHR ) VULKAN_HPP_NOEXCEPT
  3320. {
  3321. m_accelerationStructureKHR = accelerationStructureKHR;
  3322. return *this;
  3323. }
  3324. #endif
  3325. AccelerationStructureKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  3326. {
  3327. m_accelerationStructureKHR = {};
  3328. return *this;
  3329. }
  3330. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  3331. auto operator<=>( AccelerationStructureKHR const & ) const = default;
  3332. #else
  3333. bool operator==( AccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  3334. {
  3335. return m_accelerationStructureKHR == rhs.m_accelerationStructureKHR;
  3336. }
  3337. bool operator!=( AccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  3338. {
  3339. return m_accelerationStructureKHR != rhs.m_accelerationStructureKHR;
  3340. }
  3341. bool operator<( AccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  3342. {
  3343. return m_accelerationStructureKHR < rhs.m_accelerationStructureKHR;
  3344. }
  3345. #endif
  3346. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkAccelerationStructureKHR() const VULKAN_HPP_NOEXCEPT
  3347. {
  3348. return m_accelerationStructureKHR;
  3349. }
  3350. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  3351. {
  3352. return m_accelerationStructureKHR != VK_NULL_HANDLE;
  3353. }
  3354. bool operator!() const VULKAN_HPP_NOEXCEPT
  3355. {
  3356. return m_accelerationStructureKHR == VK_NULL_HANDLE;
  3357. }
  3358. private:
  3359. VkAccelerationStructureKHR m_accelerationStructureKHR = {};
  3360. };
  3361. template <>
  3362. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR>
  3363. {
  3364. using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureKHR;
  3365. };
  3366. template <>
  3367. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureKHR>
  3368. {
  3369. using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureKHR;
  3370. };
  3371. template <>
  3372. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>
  3373. {
  3374. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  3375. };
  3376. class MicromapEXT
  3377. {
  3378. public:
  3379. using CType = VkMicromapEXT;
  3380. using NativeType = VkMicromapEXT;
  3381. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eMicromapEXT;
  3382. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  3383. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  3384. public:
  3385. VULKAN_HPP_CONSTEXPR MicromapEXT() = default;
  3386. VULKAN_HPP_CONSTEXPR MicromapEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  3387. VULKAN_HPP_TYPESAFE_EXPLICIT MicromapEXT( VkMicromapEXT micromapEXT ) VULKAN_HPP_NOEXCEPT : m_micromapEXT( micromapEXT ) {}
  3388. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  3389. MicromapEXT & operator=( VkMicromapEXT micromapEXT ) VULKAN_HPP_NOEXCEPT
  3390. {
  3391. m_micromapEXT = micromapEXT;
  3392. return *this;
  3393. }
  3394. #endif
  3395. MicromapEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  3396. {
  3397. m_micromapEXT = {};
  3398. return *this;
  3399. }
  3400. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  3401. auto operator<=>( MicromapEXT const & ) const = default;
  3402. #else
  3403. bool operator==( MicromapEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  3404. {
  3405. return m_micromapEXT == rhs.m_micromapEXT;
  3406. }
  3407. bool operator!=( MicromapEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  3408. {
  3409. return m_micromapEXT != rhs.m_micromapEXT;
  3410. }
  3411. bool operator<( MicromapEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  3412. {
  3413. return m_micromapEXT < rhs.m_micromapEXT;
  3414. }
  3415. #endif
  3416. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkMicromapEXT() const VULKAN_HPP_NOEXCEPT
  3417. {
  3418. return m_micromapEXT;
  3419. }
  3420. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  3421. {
  3422. return m_micromapEXT != VK_NULL_HANDLE;
  3423. }
  3424. bool operator!() const VULKAN_HPP_NOEXCEPT
  3425. {
  3426. return m_micromapEXT == VK_NULL_HANDLE;
  3427. }
  3428. private:
  3429. VkMicromapEXT m_micromapEXT = {};
  3430. };
  3431. template <>
  3432. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eMicromapEXT>
  3433. {
  3434. using Type = VULKAN_HPP_NAMESPACE::MicromapEXT;
  3435. };
  3436. template <>
  3437. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::MicromapEXT>
  3438. {
  3439. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  3440. };
  3441. class CommandBuffer
  3442. {
  3443. public:
  3444. using CType = VkCommandBuffer;
  3445. using NativeType = VkCommandBuffer;
  3446. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer;
  3447. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  3448. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer;
  3449. public:
  3450. VULKAN_HPP_CONSTEXPR CommandBuffer() = default;
  3451. VULKAN_HPP_CONSTEXPR CommandBuffer( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  3452. CommandBuffer( VkCommandBuffer commandBuffer ) VULKAN_HPP_NOEXCEPT : m_commandBuffer( commandBuffer ) {}
  3453. CommandBuffer & operator=( VkCommandBuffer commandBuffer ) VULKAN_HPP_NOEXCEPT
  3454. {
  3455. m_commandBuffer = commandBuffer;
  3456. return *this;
  3457. }
  3458. CommandBuffer & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  3459. {
  3460. m_commandBuffer = {};
  3461. return *this;
  3462. }
  3463. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  3464. auto operator<=>( CommandBuffer const & ) const = default;
  3465. #else
  3466. bool operator==( CommandBuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  3467. {
  3468. return m_commandBuffer == rhs.m_commandBuffer;
  3469. }
  3470. bool operator!=( CommandBuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  3471. {
  3472. return m_commandBuffer != rhs.m_commandBuffer;
  3473. }
  3474. bool operator<( CommandBuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  3475. {
  3476. return m_commandBuffer < rhs.m_commandBuffer;
  3477. }
  3478. #endif
  3479. //=== VK_VERSION_1_0 ===
  3480. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3481. VULKAN_HPP_NODISCARD Result begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo * pBeginInfo,
  3482. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3483. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3484. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3485. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo & beginInfo,
  3486. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  3487. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3488. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3489. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3490. VULKAN_HPP_NODISCARD Result end( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3491. #else
  3492. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3493. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type end( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  3494. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  3495. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3496. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3497. VULKAN_HPP_NODISCARD Result reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,
  3498. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3499. #else
  3500. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3501. typename ResultValueType<void>::type reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  3502. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  3503. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  3504. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3505. void bindPipeline( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  3506. VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  3507. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3508. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3509. void setViewport( uint32_t firstViewport,
  3510. uint32_t viewportCount,
  3511. const VULKAN_HPP_NAMESPACE::Viewport * pViewports,
  3512. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3513. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3514. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3515. void setViewport( uint32_t firstViewport,
  3516. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,
  3517. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3518. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3519. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3520. void setScissor( uint32_t firstScissor,
  3521. uint32_t scissorCount,
  3522. const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,
  3523. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3524. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3525. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3526. void setScissor( uint32_t firstScissor,
  3527. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,
  3528. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3529. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3530. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3531. void setLineWidth( float lineWidth, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3532. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3533. void setDepthBias( float depthBiasConstantFactor,
  3534. float depthBiasClamp,
  3535. float depthBiasSlopeFactor,
  3536. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3537. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3538. void setBlendConstants( const float blendConstants[4], Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3539. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3540. void setDepthBounds( float minDepthBounds, float maxDepthBounds, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3541. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3542. void setStencilCompareMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
  3543. uint32_t compareMask,
  3544. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3545. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3546. void setStencilWriteMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
  3547. uint32_t writeMask,
  3548. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3549. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3550. void setStencilReference( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
  3551. uint32_t reference,
  3552. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3553. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3554. void bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  3555. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  3556. uint32_t firstSet,
  3557. uint32_t descriptorSetCount,
  3558. const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
  3559. uint32_t dynamicOffsetCount,
  3560. const uint32_t * pDynamicOffsets,
  3561. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3562. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3563. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3564. void bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  3565. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  3566. uint32_t firstSet,
  3567. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
  3568. VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & dynamicOffsets,
  3569. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3570. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3571. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3572. void bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer,
  3573. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  3574. VULKAN_HPP_NAMESPACE::IndexType indexType,
  3575. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3576. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3577. void bindVertexBuffers( uint32_t firstBinding,
  3578. uint32_t bindingCount,
  3579. const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,
  3580. const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
  3581. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3582. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3583. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3584. void bindVertexBuffers( uint32_t firstBinding,
  3585. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
  3586. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
  3587. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  3588. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3589. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3590. void draw( uint32_t vertexCount,
  3591. uint32_t instanceCount,
  3592. uint32_t firstVertex,
  3593. uint32_t firstInstance,
  3594. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3595. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3596. void drawIndexed( uint32_t indexCount,
  3597. uint32_t instanceCount,
  3598. uint32_t firstIndex,
  3599. int32_t vertexOffset,
  3600. uint32_t firstInstance,
  3601. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3602. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3603. void drawIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer,
  3604. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  3605. uint32_t drawCount,
  3606. uint32_t stride,
  3607. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3608. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3609. void drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer,
  3610. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  3611. uint32_t drawCount,
  3612. uint32_t stride,
  3613. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3614. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3615. void dispatch( uint32_t groupCountX,
  3616. uint32_t groupCountY,
  3617. uint32_t groupCountZ,
  3618. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3619. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3620. void dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer,
  3621. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  3622. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3623. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3624. void copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
  3625. VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3626. uint32_t regionCount,
  3627. const VULKAN_HPP_NAMESPACE::BufferCopy * pRegions,
  3628. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3629. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3630. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3631. void copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
  3632. VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3633. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions,
  3634. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3635. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3636. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3637. void copyImage( VULKAN_HPP_NAMESPACE::Image srcImage,
  3638. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3639. VULKAN_HPP_NAMESPACE::Image dstImage,
  3640. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3641. uint32_t regionCount,
  3642. const VULKAN_HPP_NAMESPACE::ImageCopy * pRegions,
  3643. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3644. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3645. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3646. void copyImage( VULKAN_HPP_NAMESPACE::Image srcImage,
  3647. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3648. VULKAN_HPP_NAMESPACE::Image dstImage,
  3649. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3650. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions,
  3651. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3652. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3653. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3654. void blitImage( VULKAN_HPP_NAMESPACE::Image srcImage,
  3655. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3656. VULKAN_HPP_NAMESPACE::Image dstImage,
  3657. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3658. uint32_t regionCount,
  3659. const VULKAN_HPP_NAMESPACE::ImageBlit * pRegions,
  3660. VULKAN_HPP_NAMESPACE::Filter filter,
  3661. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3662. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3663. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3664. void blitImage( VULKAN_HPP_NAMESPACE::Image srcImage,
  3665. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3666. VULKAN_HPP_NAMESPACE::Image dstImage,
  3667. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3668. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions,
  3669. VULKAN_HPP_NAMESPACE::Filter filter,
  3670. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3671. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3672. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3673. void copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
  3674. VULKAN_HPP_NAMESPACE::Image dstImage,
  3675. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3676. uint32_t regionCount,
  3677. const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,
  3678. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3679. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3680. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3681. void copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
  3682. VULKAN_HPP_NAMESPACE::Image dstImage,
  3683. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3684. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,
  3685. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3686. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3687. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3688. void copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image srcImage,
  3689. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3690. VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3691. uint32_t regionCount,
  3692. const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,
  3693. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3694. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3695. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3696. void copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image srcImage,
  3697. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3698. VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3699. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,
  3700. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3701. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3702. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3703. void updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3704. VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
  3705. VULKAN_HPP_NAMESPACE::DeviceSize dataSize,
  3706. const void * pData,
  3707. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3708. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3709. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3710. void updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3711. VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
  3712. VULKAN_HPP_NAMESPACE::ArrayProxy<const DataType> const & data,
  3713. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3714. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3715. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3716. void fillBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3717. VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
  3718. VULKAN_HPP_NAMESPACE::DeviceSize size,
  3719. uint32_t data,
  3720. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3721. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3722. void clearColorImage( VULKAN_HPP_NAMESPACE::Image image,
  3723. VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
  3724. const VULKAN_HPP_NAMESPACE::ClearColorValue * pColor,
  3725. uint32_t rangeCount,
  3726. const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges,
  3727. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3728. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3729. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3730. void clearColorImage( VULKAN_HPP_NAMESPACE::Image image,
  3731. VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
  3732. const VULKAN_HPP_NAMESPACE::ClearColorValue & color,
  3733. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,
  3734. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3735. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3736. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3737. void clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image image,
  3738. VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
  3739. const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue * pDepthStencil,
  3740. uint32_t rangeCount,
  3741. const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges,
  3742. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3743. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3744. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3745. void clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image image,
  3746. VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
  3747. const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue & depthStencil,
  3748. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,
  3749. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3750. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3751. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3752. void clearAttachments( uint32_t attachmentCount,
  3753. const VULKAN_HPP_NAMESPACE::ClearAttachment * pAttachments,
  3754. uint32_t rectCount,
  3755. const VULKAN_HPP_NAMESPACE::ClearRect * pRects,
  3756. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3757. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3758. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3759. void clearAttachments( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments,
  3760. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const & rects,
  3761. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3762. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3763. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3764. void resolveImage( VULKAN_HPP_NAMESPACE::Image srcImage,
  3765. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3766. VULKAN_HPP_NAMESPACE::Image dstImage,
  3767. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3768. uint32_t regionCount,
  3769. const VULKAN_HPP_NAMESPACE::ImageResolve * pRegions,
  3770. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3771. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3772. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3773. void resolveImage( VULKAN_HPP_NAMESPACE::Image srcImage,
  3774. VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
  3775. VULKAN_HPP_NAMESPACE::Image dstImage,
  3776. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  3777. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions,
  3778. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3779. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3780. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3781. void setEvent( VULKAN_HPP_NAMESPACE::Event event,
  3782. VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
  3783. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3784. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3785. void resetEvent( VULKAN_HPP_NAMESPACE::Event event,
  3786. VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
  3787. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3788. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3789. void waitEvents( uint32_t eventCount,
  3790. const VULKAN_HPP_NAMESPACE::Event * pEvents,
  3791. VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
  3792. VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
  3793. uint32_t memoryBarrierCount,
  3794. const VULKAN_HPP_NAMESPACE::MemoryBarrier * pMemoryBarriers,
  3795. uint32_t bufferMemoryBarrierCount,
  3796. const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,
  3797. uint32_t imageMemoryBarrierCount,
  3798. const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier * pImageMemoryBarriers,
  3799. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3800. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3801. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3802. void waitEvents( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,
  3803. VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
  3804. VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
  3805. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers,
  3806. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,
  3807. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers,
  3808. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3809. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3810. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3811. void pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
  3812. VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
  3813. VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
  3814. uint32_t memoryBarrierCount,
  3815. const VULKAN_HPP_NAMESPACE::MemoryBarrier * pMemoryBarriers,
  3816. uint32_t bufferMemoryBarrierCount,
  3817. const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,
  3818. uint32_t imageMemoryBarrierCount,
  3819. const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier * pImageMemoryBarriers,
  3820. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3821. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3822. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3823. void pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
  3824. VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
  3825. VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
  3826. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers,
  3827. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,
  3828. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers,
  3829. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3830. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3831. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3832. void beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  3833. uint32_t query,
  3834. VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
  3835. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3836. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3837. void endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  3838. uint32_t query,
  3839. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3840. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3841. void resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  3842. uint32_t firstQuery,
  3843. uint32_t queryCount,
  3844. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3845. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3846. void writeTimestamp( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
  3847. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  3848. uint32_t query,
  3849. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3850. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3851. void copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  3852. uint32_t firstQuery,
  3853. uint32_t queryCount,
  3854. VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  3855. VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
  3856. VULKAN_HPP_NAMESPACE::DeviceSize stride,
  3857. VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
  3858. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3859. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3860. void pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  3861. VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
  3862. uint32_t offset,
  3863. uint32_t size,
  3864. const void * pValues,
  3865. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3866. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3867. template <typename ValuesType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3868. void pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  3869. VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
  3870. uint32_t offset,
  3871. VULKAN_HPP_NAMESPACE::ArrayProxy<const ValuesType> const & values,
  3872. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3873. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3874. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3875. void beginRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
  3876. VULKAN_HPP_NAMESPACE::SubpassContents contents,
  3877. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3878. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3879. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3880. void beginRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin,
  3881. VULKAN_HPP_NAMESPACE::SubpassContents contents,
  3882. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3883. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3884. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3885. void nextSubpass( VULKAN_HPP_NAMESPACE::SubpassContents contents, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3886. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3887. void endRenderPass( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3888. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3889. void executeCommands( uint32_t commandBufferCount,
  3890. const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
  3891. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3892. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3893. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3894. void executeCommands( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
  3895. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3896. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3897. //=== VK_VERSION_1_1 ===
  3898. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3899. void setDeviceMask( uint32_t deviceMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3900. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3901. void dispatchBase( uint32_t baseGroupX,
  3902. uint32_t baseGroupY,
  3903. uint32_t baseGroupZ,
  3904. uint32_t groupCountX,
  3905. uint32_t groupCountY,
  3906. uint32_t groupCountZ,
  3907. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3908. //=== VK_VERSION_1_2 ===
  3909. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3910. void drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer,
  3911. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  3912. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  3913. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  3914. uint32_t maxDrawCount,
  3915. uint32_t stride,
  3916. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3917. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3918. void drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer,
  3919. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  3920. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  3921. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  3922. uint32_t maxDrawCount,
  3923. uint32_t stride,
  3924. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3925. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3926. void beginRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
  3927. const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
  3928. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3929. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3930. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3931. void beginRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin,
  3932. const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,
  3933. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3934. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3935. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3936. void nextSubpass2( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
  3937. const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
  3938. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3939. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3940. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3941. void nextSubpass2( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,
  3942. const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,
  3943. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3944. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3945. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3946. void endRenderPass2( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
  3947. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3948. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3949. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3950. void endRenderPass2( const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,
  3951. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3952. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3953. //=== VK_VERSION_1_3 ===
  3954. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3955. void setEvent2( VULKAN_HPP_NAMESPACE::Event event,
  3956. const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,
  3957. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3958. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3959. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3960. void setEvent2( VULKAN_HPP_NAMESPACE::Event event,
  3961. const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,
  3962. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3963. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3964. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3965. void resetEvent2( VULKAN_HPP_NAMESPACE::Event event,
  3966. VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask,
  3967. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3968. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3969. void waitEvents2( uint32_t eventCount,
  3970. const VULKAN_HPP_NAMESPACE::Event * pEvents,
  3971. const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfos,
  3972. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3973. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3974. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3975. void waitEvents2( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,
  3976. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const & dependencyInfos,
  3977. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  3978. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3979. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3980. void pipelineBarrier2( const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,
  3981. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3982. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3983. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3984. void pipelineBarrier2( const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,
  3985. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3986. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  3987. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3988. void writeTimestamp2( VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
  3989. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  3990. uint32_t query,
  3991. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3992. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3993. void copyBuffer2( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 * pCopyBufferInfo,
  3994. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3995. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  3996. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  3997. void copyBuffer2( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 & copyBufferInfo,
  3998. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  3999. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4000. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4001. void copyImage2( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 * pCopyImageInfo,
  4002. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4003. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4004. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4005. void copyImage2( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 & copyImageInfo,
  4006. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4007. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4008. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4009. void copyBufferToImage2( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 * pCopyBufferToImageInfo,
  4010. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4011. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4012. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4013. void copyBufferToImage2( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 & copyBufferToImageInfo,
  4014. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4015. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4016. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4017. void copyImageToBuffer2( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 * pCopyImageToBufferInfo,
  4018. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4019. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4020. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4021. void copyImageToBuffer2( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 & copyImageToBufferInfo,
  4022. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4023. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4024. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4025. void blitImage2( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 * pBlitImageInfo,
  4026. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4027. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4028. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4029. void blitImage2( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 & blitImageInfo,
  4030. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4031. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4032. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4033. void resolveImage2( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 * pResolveImageInfo,
  4034. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4035. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4036. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4037. void resolveImage2( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 & resolveImageInfo,
  4038. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4039. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4040. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4041. void beginRendering( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,
  4042. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4043. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4044. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4045. void beginRendering( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo,
  4046. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4047. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4048. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4049. void endRendering( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4050. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4051. void setCullMode( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4052. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4053. void setFrontFace( VULKAN_HPP_NAMESPACE::FrontFace frontFace, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4054. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4055. void setPrimitiveTopology( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,
  4056. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4057. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4058. void setViewportWithCount( uint32_t viewportCount,
  4059. const VULKAN_HPP_NAMESPACE::Viewport * pViewports,
  4060. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4061. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4062. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4063. void setViewportWithCount( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,
  4064. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4065. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4066. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4067. void setScissorWithCount( uint32_t scissorCount,
  4068. const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,
  4069. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4070. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4071. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4072. void setScissorWithCount( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,
  4073. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4074. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4075. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4076. void bindVertexBuffers2( uint32_t firstBinding,
  4077. uint32_t bindingCount,
  4078. const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,
  4079. const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
  4080. const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,
  4081. const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides,
  4082. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4083. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4084. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4085. void bindVertexBuffers2(
  4086. uint32_t firstBinding,
  4087. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
  4088. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
  4089. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4090. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4091. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4092. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4093. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4094. void setDepthTestEnable( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,
  4095. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4096. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4097. void setDepthWriteEnable( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,
  4098. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4099. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4100. void setDepthCompareOp( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,
  4101. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4102. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4103. void setDepthBoundsTestEnable( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,
  4104. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4105. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4106. void setStencilTestEnable( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,
  4107. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4108. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4109. void setStencilOp( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
  4110. VULKAN_HPP_NAMESPACE::StencilOp failOp,
  4111. VULKAN_HPP_NAMESPACE::StencilOp passOp,
  4112. VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
  4113. VULKAN_HPP_NAMESPACE::CompareOp compareOp,
  4114. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4115. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4116. void setRasterizerDiscardEnable( VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable,
  4117. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4118. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4119. void setDepthBiasEnable( VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable,
  4120. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4121. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4122. void setPrimitiveRestartEnable( VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable,
  4123. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4124. //=== VK_EXT_debug_marker ===
  4125. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4126. void debugMarkerBeginEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,
  4127. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4128. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4129. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4130. void debugMarkerBeginEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT & markerInfo,
  4131. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4132. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4133. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4134. void debugMarkerEndEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4135. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4136. void debugMarkerInsertEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,
  4137. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4138. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4139. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4140. void debugMarkerInsertEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT & markerInfo,
  4141. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4142. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4143. //=== VK_KHR_video_queue ===
  4144. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4145. void beginVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR * pBeginInfo,
  4146. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4147. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4148. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4149. void beginVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR & beginInfo,
  4150. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4151. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4152. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4153. void endVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR * pEndCodingInfo,
  4154. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4155. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4156. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4157. void endVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR & endCodingInfo,
  4158. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4159. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4160. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4161. void controlVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR * pCodingControlInfo,
  4162. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4163. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4164. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4165. void controlVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR & codingControlInfo,
  4166. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4167. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4168. //=== VK_KHR_video_decode_queue ===
  4169. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4170. void decodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR * pDecodeInfo,
  4171. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4172. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4173. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4174. void decodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR & decodeInfo,
  4175. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4176. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4177. //=== VK_EXT_transform_feedback ===
  4178. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4179. void bindTransformFeedbackBuffersEXT( uint32_t firstBinding,
  4180. uint32_t bindingCount,
  4181. const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,
  4182. const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
  4183. const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,
  4184. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4185. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4186. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4187. void bindTransformFeedbackBuffersEXT( uint32_t firstBinding,
  4188. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
  4189. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
  4190. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes
  4191. VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4192. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4193. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4194. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4195. void beginTransformFeedbackEXT( uint32_t firstCounterBuffer,
  4196. uint32_t counterBufferCount,
  4197. const VULKAN_HPP_NAMESPACE::Buffer * pCounterBuffers,
  4198. const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,
  4199. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4200. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4201. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4202. void beginTransformFeedbackEXT( uint32_t firstCounterBuffer,
  4203. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,
  4204. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets
  4205. VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4206. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4207. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4208. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4209. void endTransformFeedbackEXT( uint32_t firstCounterBuffer,
  4210. uint32_t counterBufferCount,
  4211. const VULKAN_HPP_NAMESPACE::Buffer * pCounterBuffers,
  4212. const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,
  4213. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4214. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4215. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4216. void endTransformFeedbackEXT( uint32_t firstCounterBuffer,
  4217. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,
  4218. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets
  4219. VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4220. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4221. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4222. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4223. void beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  4224. uint32_t query,
  4225. VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
  4226. uint32_t index,
  4227. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4228. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4229. void endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  4230. uint32_t query,
  4231. uint32_t index,
  4232. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4233. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4234. void drawIndirectByteCountEXT( uint32_t instanceCount,
  4235. uint32_t firstInstance,
  4236. VULKAN_HPP_NAMESPACE::Buffer counterBuffer,
  4237. VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
  4238. uint32_t counterOffset,
  4239. uint32_t vertexStride,
  4240. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4241. //=== VK_NVX_binary_import ===
  4242. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4243. void cuLaunchKernelNVX( const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX * pLaunchInfo,
  4244. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4245. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4246. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4247. void cuLaunchKernelNVX( const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX & launchInfo,
  4248. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4249. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4250. //=== VK_AMD_draw_indirect_count ===
  4251. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4252. void drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4253. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4254. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  4255. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  4256. uint32_t maxDrawCount,
  4257. uint32_t stride,
  4258. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4259. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4260. void drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4261. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4262. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  4263. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  4264. uint32_t maxDrawCount,
  4265. uint32_t stride,
  4266. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4267. //=== VK_KHR_dynamic_rendering ===
  4268. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4269. void beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,
  4270. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4271. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4272. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4273. void beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo,
  4274. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4275. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4276. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4277. void endRenderingKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4278. //=== VK_KHR_device_group ===
  4279. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4280. void setDeviceMaskKHR( uint32_t deviceMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4281. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4282. void dispatchBaseKHR( uint32_t baseGroupX,
  4283. uint32_t baseGroupY,
  4284. uint32_t baseGroupZ,
  4285. uint32_t groupCountX,
  4286. uint32_t groupCountY,
  4287. uint32_t groupCountZ,
  4288. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4289. //=== VK_KHR_push_descriptor ===
  4290. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4291. void pushDescriptorSetKHR( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  4292. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  4293. uint32_t set,
  4294. uint32_t descriptorWriteCount,
  4295. const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,
  4296. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4297. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4298. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4299. void pushDescriptorSetKHR( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  4300. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  4301. uint32_t set,
  4302. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,
  4303. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4304. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4305. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4306. void pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  4307. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  4308. uint32_t set,
  4309. const void * pData,
  4310. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4311. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4312. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4313. void pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  4314. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  4315. uint32_t set,
  4316. DataType const & data,
  4317. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4318. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4319. //=== VK_EXT_conditional_rendering ===
  4320. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4321. void beginConditionalRenderingEXT( const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin,
  4322. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4323. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4324. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4325. void beginConditionalRenderingEXT( const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin,
  4326. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4327. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4328. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4329. void endConditionalRenderingEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4330. //=== VK_NV_clip_space_w_scaling ===
  4331. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4332. void setViewportWScalingNV( uint32_t firstViewport,
  4333. uint32_t viewportCount,
  4334. const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings,
  4335. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4336. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4337. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4338. void setViewportWScalingNV( uint32_t firstViewport,
  4339. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings,
  4340. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4341. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4342. //=== VK_EXT_discard_rectangles ===
  4343. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4344. void setDiscardRectangleEXT( uint32_t firstDiscardRectangle,
  4345. uint32_t discardRectangleCount,
  4346. const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles,
  4347. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4348. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4349. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4350. void setDiscardRectangleEXT( uint32_t firstDiscardRectangle,
  4351. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles,
  4352. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4353. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4354. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4355. void setDiscardRectangleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 discardRectangleEnable,
  4356. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4357. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4358. void setDiscardRectangleModeEXT( VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode,
  4359. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4360. //=== VK_KHR_create_renderpass2 ===
  4361. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4362. void beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
  4363. const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
  4364. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4365. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4366. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4367. void beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin,
  4368. const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,
  4369. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4370. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4371. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4372. void nextSubpass2KHR( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
  4373. const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
  4374. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4375. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4376. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4377. void nextSubpass2KHR( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,
  4378. const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,
  4379. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4380. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4381. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4382. void endRenderPass2KHR( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
  4383. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4384. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4385. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4386. void endRenderPass2KHR( const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,
  4387. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4388. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4389. //=== VK_EXT_debug_utils ===
  4390. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4391. void beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
  4392. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4393. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4394. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4395. void beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,
  4396. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4397. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4398. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4399. void endDebugUtilsLabelEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4400. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4401. void insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
  4402. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4403. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4404. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4405. void insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,
  4406. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4407. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4408. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4409. //=== VK_AMDX_shader_enqueue ===
  4410. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4411. void initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
  4412. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4413. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4414. void dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
  4415. const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo,
  4416. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4417. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4418. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4419. void dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
  4420. const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo,
  4421. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4422. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4423. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4424. void dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
  4425. const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo,
  4426. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4427. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4428. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4429. void dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
  4430. const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo,
  4431. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4432. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4433. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4434. void dispatchGraphIndirectCountAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch,
  4435. VULKAN_HPP_NAMESPACE::DeviceAddress countInfo,
  4436. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4437. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4438. //=== VK_EXT_sample_locations ===
  4439. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4440. void setSampleLocationsEXT( const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT * pSampleLocationsInfo,
  4441. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4442. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4443. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4444. void setSampleLocationsEXT( const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT & sampleLocationsInfo,
  4445. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4446. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4447. //=== VK_KHR_acceleration_structure ===
  4448. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4449. void buildAccelerationStructuresKHR( uint32_t infoCount,
  4450. const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos,
  4451. const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos,
  4452. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4453. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4454. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4455. void buildAccelerationStructuresKHR(
  4456. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,
  4457. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos,
  4458. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4459. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4460. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4461. void buildAccelerationStructuresIndirectKHR( uint32_t infoCount,
  4462. const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos,
  4463. const VULKAN_HPP_NAMESPACE::DeviceAddress * pIndirectDeviceAddresses,
  4464. const uint32_t * pIndirectStrides,
  4465. const uint32_t * const * ppMaxPrimitiveCounts,
  4466. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4467. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4468. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4469. void buildAccelerationStructuresIndirectKHR(
  4470. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,
  4471. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const & indirectDeviceAddresses,
  4472. VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & indirectStrides,
  4473. VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts,
  4474. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4475. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4476. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4477. void copyAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo,
  4478. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4479. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4480. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4481. void copyAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR & info,
  4482. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4483. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4484. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4485. void copyAccelerationStructureToMemoryKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,
  4486. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4487. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4488. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4489. void copyAccelerationStructureToMemoryKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR & info,
  4490. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4491. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4492. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4493. void copyMemoryToAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,
  4494. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4495. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4496. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4497. void copyMemoryToAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR & info,
  4498. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4499. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4500. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4501. void writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount,
  4502. const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
  4503. VULKAN_HPP_NAMESPACE::QueryType queryType,
  4504. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  4505. uint32_t firstQuery,
  4506. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4507. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4508. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4509. void writeAccelerationStructuresPropertiesKHR(
  4510. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
  4511. VULKAN_HPP_NAMESPACE::QueryType queryType,
  4512. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  4513. uint32_t firstQuery,
  4514. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4515. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4516. //=== VK_KHR_ray_tracing_pipeline ===
  4517. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4518. void traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
  4519. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
  4520. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
  4521. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
  4522. uint32_t width,
  4523. uint32_t height,
  4524. uint32_t depth,
  4525. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4526. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4527. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4528. void traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
  4529. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
  4530. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
  4531. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
  4532. uint32_t width,
  4533. uint32_t height,
  4534. uint32_t depth,
  4535. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4536. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4537. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4538. void traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
  4539. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
  4540. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
  4541. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
  4542. VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
  4543. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4544. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4545. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4546. void traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
  4547. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
  4548. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
  4549. const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
  4550. VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
  4551. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4552. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4553. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4554. void setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4555. //=== VK_NV_shading_rate_image ===
  4556. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4557. void bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView imageView,
  4558. VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
  4559. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4560. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4561. void setViewportShadingRatePaletteNV( uint32_t firstViewport,
  4562. uint32_t viewportCount,
  4563. const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes,
  4564. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4565. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4566. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4567. void setViewportShadingRatePaletteNV( uint32_t firstViewport,
  4568. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & shadingRatePalettes,
  4569. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4570. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4571. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4572. void setCoarseSampleOrderNV( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
  4573. uint32_t customSampleOrderCount,
  4574. const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders,
  4575. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4576. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4577. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4578. void setCoarseSampleOrderNV( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
  4579. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & customSampleOrders,
  4580. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4581. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4582. //=== VK_NV_ray_tracing ===
  4583. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4584. void buildAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV * pInfo,
  4585. VULKAN_HPP_NAMESPACE::Buffer instanceData,
  4586. VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
  4587. VULKAN_HPP_NAMESPACE::Bool32 update,
  4588. VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
  4589. VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
  4590. VULKAN_HPP_NAMESPACE::Buffer scratch,
  4591. VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,
  4592. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4593. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4594. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4595. void buildAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV & info,
  4596. VULKAN_HPP_NAMESPACE::Buffer instanceData,
  4597. VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
  4598. VULKAN_HPP_NAMESPACE::Bool32 update,
  4599. VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
  4600. VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
  4601. VULKAN_HPP_NAMESPACE::Buffer scratch,
  4602. VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,
  4603. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4604. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4605. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4606. void copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
  4607. VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
  4608. VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode,
  4609. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4610. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4611. void traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer,
  4612. VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
  4613. VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer,
  4614. VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
  4615. VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
  4616. VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer,
  4617. VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
  4618. VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
  4619. VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer,
  4620. VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
  4621. VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
  4622. uint32_t width,
  4623. uint32_t height,
  4624. uint32_t depth,
  4625. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4626. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4627. void writeAccelerationStructuresPropertiesNV( uint32_t accelerationStructureCount,
  4628. const VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructures,
  4629. VULKAN_HPP_NAMESPACE::QueryType queryType,
  4630. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  4631. uint32_t firstQuery,
  4632. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4633. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4634. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4635. void writeAccelerationStructuresPropertiesNV(
  4636. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures,
  4637. VULKAN_HPP_NAMESPACE::QueryType queryType,
  4638. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  4639. uint32_t firstQuery,
  4640. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4641. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4642. //=== VK_KHR_draw_indirect_count ===
  4643. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4644. void drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4645. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4646. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  4647. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  4648. uint32_t maxDrawCount,
  4649. uint32_t stride,
  4650. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4651. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4652. void drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4653. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4654. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  4655. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  4656. uint32_t maxDrawCount,
  4657. uint32_t stride,
  4658. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4659. //=== VK_AMD_buffer_marker ===
  4660. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4661. void writeBufferMarkerAMD( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
  4662. VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  4663. VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
  4664. uint32_t marker,
  4665. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4666. //=== VK_NV_mesh_shader ===
  4667. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4668. void drawMeshTasksNV( uint32_t taskCount, uint32_t firstTask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4669. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4670. void drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4671. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4672. uint32_t drawCount,
  4673. uint32_t stride,
  4674. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4675. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4676. void drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4677. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4678. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  4679. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  4680. uint32_t maxDrawCount,
  4681. uint32_t stride,
  4682. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4683. //=== VK_NV_scissor_exclusive ===
  4684. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4685. void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor,
  4686. uint32_t exclusiveScissorCount,
  4687. const VULKAN_HPP_NAMESPACE::Bool32 * pExclusiveScissorEnables,
  4688. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4689. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4690. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4691. void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor,
  4692. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & exclusiveScissorEnables,
  4693. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4694. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4695. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4696. void setExclusiveScissorNV( uint32_t firstExclusiveScissor,
  4697. uint32_t exclusiveScissorCount,
  4698. const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors,
  4699. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4700. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4701. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4702. void setExclusiveScissorNV( uint32_t firstExclusiveScissor,
  4703. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors,
  4704. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4705. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4706. //=== VK_NV_device_diagnostic_checkpoints ===
  4707. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4708. void setCheckpointNV( const void * pCheckpointMarker, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4709. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4710. template <typename CheckpointMarkerType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4711. void setCheckpointNV( CheckpointMarkerType const & checkpointMarker,
  4712. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4713. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4714. //=== VK_INTEL_performance_query ===
  4715. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4716. VULKAN_HPP_NODISCARD Result setPerformanceMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL * pMarkerInfo,
  4717. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4718. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4719. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4720. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  4721. setPerformanceMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL & markerInfo,
  4722. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  4723. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4724. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4725. VULKAN_HPP_NODISCARD Result setPerformanceStreamMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL * pMarkerInfo,
  4726. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4727. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4728. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4729. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  4730. setPerformanceStreamMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL & markerInfo,
  4731. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  4732. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4733. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4734. VULKAN_HPP_NODISCARD Result setPerformanceOverrideINTEL( const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL * pOverrideInfo,
  4735. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4736. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4737. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4738. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  4739. setPerformanceOverrideINTEL( const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL & overrideInfo,
  4740. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  4741. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4742. //=== VK_KHR_fragment_shading_rate ===
  4743. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4744. void setFragmentShadingRateKHR( const VULKAN_HPP_NAMESPACE::Extent2D * pFragmentSize,
  4745. const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],
  4746. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4747. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4748. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4749. void setFragmentShadingRateKHR( const VULKAN_HPP_NAMESPACE::Extent2D & fragmentSize,
  4750. const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],
  4751. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4752. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4753. //=== VK_EXT_line_rasterization ===
  4754. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4755. void setLineStippleEXT( uint32_t lineStippleFactor,
  4756. uint16_t lineStipplePattern,
  4757. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4758. //=== VK_EXT_extended_dynamic_state ===
  4759. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4760. void setCullModeEXT( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4761. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4762. void setFrontFaceEXT( VULKAN_HPP_NAMESPACE::FrontFace frontFace, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4763. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4764. void setPrimitiveTopologyEXT( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,
  4765. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4766. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4767. void setViewportWithCountEXT( uint32_t viewportCount,
  4768. const VULKAN_HPP_NAMESPACE::Viewport * pViewports,
  4769. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4770. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4771. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4772. void setViewportWithCountEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,
  4773. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4774. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4775. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4776. void setScissorWithCountEXT( uint32_t scissorCount,
  4777. const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,
  4778. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4779. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4780. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4781. void setScissorWithCountEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,
  4782. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4783. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4784. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4785. void bindVertexBuffers2EXT( uint32_t firstBinding,
  4786. uint32_t bindingCount,
  4787. const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,
  4788. const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
  4789. const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,
  4790. const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides,
  4791. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4792. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4793. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4794. void bindVertexBuffers2EXT(
  4795. uint32_t firstBinding,
  4796. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
  4797. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
  4798. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4799. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  4800. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4801. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4802. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4803. void setDepthTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,
  4804. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4805. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4806. void setDepthWriteEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,
  4807. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4808. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4809. void setDepthCompareOpEXT( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,
  4810. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4811. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4812. void setDepthBoundsTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,
  4813. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4814. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4815. void setStencilTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,
  4816. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4817. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4818. void setStencilOpEXT( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
  4819. VULKAN_HPP_NAMESPACE::StencilOp failOp,
  4820. VULKAN_HPP_NAMESPACE::StencilOp passOp,
  4821. VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
  4822. VULKAN_HPP_NAMESPACE::CompareOp compareOp,
  4823. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4824. //=== VK_NV_device_generated_commands ===
  4825. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4826. void preprocessGeneratedCommandsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,
  4827. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4828. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4829. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4830. void preprocessGeneratedCommandsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV & generatedCommandsInfo,
  4831. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4832. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4833. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4834. void executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
  4835. const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,
  4836. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4837. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4838. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4839. void executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
  4840. const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV & generatedCommandsInfo,
  4841. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4842. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4843. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4844. void bindPipelineShaderGroupNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  4845. VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  4846. uint32_t groupIndex,
  4847. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4848. //=== VK_EXT_depth_bias_control ===
  4849. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4850. void setDepthBias2EXT( const VULKAN_HPP_NAMESPACE::DepthBiasInfoEXT * pDepthBiasInfo,
  4851. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4852. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4853. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4854. void setDepthBias2EXT( const VULKAN_HPP_NAMESPACE::DepthBiasInfoEXT & depthBiasInfo,
  4855. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4856. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4857. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  4858. //=== VK_KHR_video_encode_queue ===
  4859. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4860. void encodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR * pEncodeInfo,
  4861. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4862. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4863. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4864. void encodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR & encodeInfo,
  4865. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4866. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4867. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  4868. //=== VK_KHR_synchronization2 ===
  4869. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4870. void setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event,
  4871. const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,
  4872. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4873. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4874. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4875. void setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event,
  4876. const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,
  4877. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4878. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4879. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4880. void resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event,
  4881. VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask,
  4882. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4883. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4884. void waitEvents2KHR( uint32_t eventCount,
  4885. const VULKAN_HPP_NAMESPACE::Event * pEvents,
  4886. const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfos,
  4887. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4888. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4889. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4890. void waitEvents2KHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,
  4891. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const & dependencyInfos,
  4892. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4893. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4894. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4895. void pipelineBarrier2KHR( const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,
  4896. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4897. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4898. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4899. void pipelineBarrier2KHR( const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,
  4900. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4901. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4902. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4903. void writeTimestamp2KHR( VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
  4904. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  4905. uint32_t query,
  4906. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4907. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4908. void writeBufferMarker2AMD( VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
  4909. VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
  4910. VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
  4911. uint32_t marker,
  4912. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4913. //=== VK_EXT_descriptor_buffer ===
  4914. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4915. void bindDescriptorBuffersEXT( uint32_t bufferCount,
  4916. const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT * pBindingInfos,
  4917. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4918. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4919. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4920. void bindDescriptorBuffersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> const & bindingInfos,
  4921. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4922. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4923. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4924. void setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  4925. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  4926. uint32_t firstSet,
  4927. uint32_t setCount,
  4928. const uint32_t * pBufferIndices,
  4929. const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
  4930. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4931. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4932. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4933. void setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  4934. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  4935. uint32_t firstSet,
  4936. VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & bufferIndices,
  4937. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
  4938. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  4939. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4940. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4941. void bindDescriptorBufferEmbeddedSamplersEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  4942. VULKAN_HPP_NAMESPACE::PipelineLayout layout,
  4943. uint32_t set,
  4944. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4945. //=== VK_NV_fragment_shading_rate_enums ===
  4946. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4947. void setFragmentShadingRateEnumNV( VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,
  4948. const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],
  4949. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4950. //=== VK_EXT_mesh_shader ===
  4951. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4952. void drawMeshTasksEXT( uint32_t groupCountX,
  4953. uint32_t groupCountY,
  4954. uint32_t groupCountZ,
  4955. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4956. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4957. void drawMeshTasksIndirectEXT( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4958. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4959. uint32_t drawCount,
  4960. uint32_t stride,
  4961. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4962. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4963. void drawMeshTasksIndirectCountEXT( VULKAN_HPP_NAMESPACE::Buffer buffer,
  4964. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  4965. VULKAN_HPP_NAMESPACE::Buffer countBuffer,
  4966. VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
  4967. uint32_t maxDrawCount,
  4968. uint32_t stride,
  4969. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4970. //=== VK_KHR_copy_commands2 ===
  4971. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4972. void copyBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 * pCopyBufferInfo,
  4973. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4974. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4975. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4976. void copyBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 & copyBufferInfo,
  4977. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4978. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4979. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4980. void copyImage2KHR( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 * pCopyImageInfo,
  4981. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4982. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4983. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4984. void copyImage2KHR( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 & copyImageInfo,
  4985. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4986. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4987. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4988. void copyBufferToImage2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 * pCopyBufferToImageInfo,
  4989. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4990. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4991. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4992. void copyBufferToImage2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 & copyBufferToImageInfo,
  4993. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4994. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  4995. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  4996. void copyImageToBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 * pCopyImageToBufferInfo,
  4997. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  4998. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  4999. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5000. void copyImageToBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 & copyImageToBufferInfo,
  5001. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5002. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5003. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5004. void blitImage2KHR( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 * pBlitImageInfo,
  5005. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5006. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5007. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5008. void blitImage2KHR( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 & blitImageInfo,
  5009. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5010. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5011. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5012. void resolveImage2KHR( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 * pResolveImageInfo,
  5013. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5014. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5015. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5016. void resolveImage2KHR( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 & resolveImageInfo,
  5017. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5018. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5019. //=== VK_EXT_vertex_input_dynamic_state ===
  5020. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5021. void setVertexInputEXT( uint32_t vertexBindingDescriptionCount,
  5022. const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT * pVertexBindingDescriptions,
  5023. uint32_t vertexAttributeDescriptionCount,
  5024. const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT * pVertexAttributeDescriptions,
  5025. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5026. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5027. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5028. void
  5029. setVertexInputEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const & vertexBindingDescriptions,
  5030. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const & vertexAttributeDescriptions,
  5031. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5032. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5033. //=== VK_HUAWEI_subpass_shading ===
  5034. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5035. void subpassShadingHUAWEI( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5036. //=== VK_HUAWEI_invocation_mask ===
  5037. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5038. void bindInvocationMaskHUAWEI( VULKAN_HPP_NAMESPACE::ImageView imageView,
  5039. VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
  5040. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5041. //=== VK_EXT_extended_dynamic_state2 ===
  5042. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5043. void setPatchControlPointsEXT( uint32_t patchControlPoints, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5044. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5045. void setRasterizerDiscardEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable,
  5046. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5047. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5048. void setDepthBiasEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable,
  5049. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5050. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5051. void setLogicOpEXT( VULKAN_HPP_NAMESPACE::LogicOp logicOp, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5052. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5053. void setPrimitiveRestartEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable,
  5054. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5055. //=== VK_EXT_color_write_enable ===
  5056. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5057. void setColorWriteEnableEXT( uint32_t attachmentCount,
  5058. const VULKAN_HPP_NAMESPACE::Bool32 * pColorWriteEnables,
  5059. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5060. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5061. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5062. void setColorWriteEnableEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorWriteEnables,
  5063. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5064. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5065. //=== VK_KHR_ray_tracing_maintenance1 ===
  5066. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5067. void traceRaysIndirect2KHR( VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
  5068. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5069. //=== VK_EXT_multi_draw ===
  5070. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5071. void drawMultiEXT( uint32_t drawCount,
  5072. const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT * pVertexInfo,
  5073. uint32_t instanceCount,
  5074. uint32_t firstInstance,
  5075. uint32_t stride,
  5076. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5077. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5078. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5079. void drawMultiEXT( VULKAN_HPP_NAMESPACE::StridedArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const & vertexInfo,
  5080. uint32_t instanceCount,
  5081. uint32_t firstInstance,
  5082. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5083. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5084. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5085. void drawMultiIndexedEXT( uint32_t drawCount,
  5086. const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT * pIndexInfo,
  5087. uint32_t instanceCount,
  5088. uint32_t firstInstance,
  5089. uint32_t stride,
  5090. const int32_t * pVertexOffset,
  5091. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5092. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5093. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5094. void drawMultiIndexedEXT( VULKAN_HPP_NAMESPACE::StridedArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const & indexInfo,
  5095. uint32_t instanceCount,
  5096. uint32_t firstInstance,
  5097. Optional<const int32_t> vertexOffset VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  5098. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5099. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5100. //=== VK_EXT_opacity_micromap ===
  5101. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5102. void buildMicromapsEXT( uint32_t infoCount,
  5103. const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pInfos,
  5104. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5105. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5106. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5107. void buildMicromapsEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT> const & infos,
  5108. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5109. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5110. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5111. void copyMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT * pInfo,
  5112. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5113. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5114. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5115. void copyMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT & info,
  5116. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5117. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5118. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5119. void copyMicromapToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT * pInfo,
  5120. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5121. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5122. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5123. void copyMicromapToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT & info,
  5124. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5125. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5126. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5127. void copyMemoryToMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT * pInfo,
  5128. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5129. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5130. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5131. void copyMemoryToMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT & info,
  5132. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5133. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5134. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5135. void writeMicromapsPropertiesEXT( uint32_t micromapCount,
  5136. const VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromaps,
  5137. VULKAN_HPP_NAMESPACE::QueryType queryType,
  5138. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  5139. uint32_t firstQuery,
  5140. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5141. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5142. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5143. void writeMicromapsPropertiesEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps,
  5144. VULKAN_HPP_NAMESPACE::QueryType queryType,
  5145. VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  5146. uint32_t firstQuery,
  5147. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5148. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5149. //=== VK_HUAWEI_cluster_culling_shader ===
  5150. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5151. void drawClusterHUAWEI( uint32_t groupCountX,
  5152. uint32_t groupCountY,
  5153. uint32_t groupCountZ,
  5154. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5155. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5156. void drawClusterIndirectHUAWEI( VULKAN_HPP_NAMESPACE::Buffer buffer,
  5157. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  5158. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5159. //=== VK_NV_copy_memory_indirect ===
  5160. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5161. void copyMemoryIndirectNV( VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress,
  5162. uint32_t copyCount,
  5163. uint32_t stride,
  5164. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5165. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5166. void copyMemoryToImageIndirectNV( VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress,
  5167. uint32_t copyCount,
  5168. uint32_t stride,
  5169. VULKAN_HPP_NAMESPACE::Image dstImage,
  5170. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  5171. const VULKAN_HPP_NAMESPACE::ImageSubresourceLayers * pImageSubresources,
  5172. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5173. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5174. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5175. void copyMemoryToImageIndirectNV( VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress,
  5176. uint32_t stride,
  5177. VULKAN_HPP_NAMESPACE::Image dstImage,
  5178. VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
  5179. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceLayers> const & imageSubresources,
  5180. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5181. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5182. //=== VK_NV_memory_decompression ===
  5183. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5184. void decompressMemoryNV( uint32_t decompressRegionCount,
  5185. const VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV * pDecompressMemoryRegions,
  5186. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5187. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5188. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5189. void decompressMemoryNV( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV> const & decompressMemoryRegions,
  5190. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5191. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5192. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5193. void decompressMemoryIndirectCountNV( VULKAN_HPP_NAMESPACE::DeviceAddress indirectCommandsAddress,
  5194. VULKAN_HPP_NAMESPACE::DeviceAddress indirectCommandsCountAddress,
  5195. uint32_t stride,
  5196. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5197. //=== VK_NV_device_generated_commands_compute ===
  5198. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5199. void updatePipelineIndirectBufferNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
  5200. VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  5201. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5202. //=== VK_EXT_extended_dynamic_state3 ===
  5203. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5204. void setTessellationDomainOriginEXT( VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin,
  5205. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5206. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5207. void setDepthClampEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable,
  5208. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5209. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5210. void setPolygonModeEXT( VULKAN_HPP_NAMESPACE::PolygonMode polygonMode,
  5211. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5212. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5213. void setRasterizationSamplesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples,
  5214. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5215. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5216. void setSampleMaskEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
  5217. const VULKAN_HPP_NAMESPACE::SampleMask * pSampleMask,
  5218. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5219. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5220. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5221. void setSampleMaskEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
  5222. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SampleMask> const & sampleMask,
  5223. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  5224. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5225. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5226. void setAlphaToCoverageEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable,
  5227. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5228. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5229. void setAlphaToOneEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable,
  5230. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5231. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5232. void setLogicOpEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable,
  5233. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5234. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5235. void setColorBlendEnableEXT( uint32_t firstAttachment,
  5236. uint32_t attachmentCount,
  5237. const VULKAN_HPP_NAMESPACE::Bool32 * pColorBlendEnables,
  5238. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5239. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5240. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5241. void setColorBlendEnableEXT( uint32_t firstAttachment,
  5242. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorBlendEnables,
  5243. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5244. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5245. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5246. void setColorBlendEquationEXT( uint32_t firstAttachment,
  5247. uint32_t attachmentCount,
  5248. const VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT * pColorBlendEquations,
  5249. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5250. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5251. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5252. void setColorBlendEquationEXT( uint32_t firstAttachment,
  5253. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT> const & colorBlendEquations,
  5254. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5255. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5256. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5257. void setColorWriteMaskEXT( uint32_t firstAttachment,
  5258. uint32_t attachmentCount,
  5259. const VULKAN_HPP_NAMESPACE::ColorComponentFlags * pColorWriteMasks,
  5260. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5261. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5262. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5263. void setColorWriteMaskEXT( uint32_t firstAttachment,
  5264. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorComponentFlags> const & colorWriteMasks,
  5265. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5266. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5267. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5268. void setRasterizationStreamEXT( uint32_t rasterizationStream, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5269. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5270. void setConservativeRasterizationModeEXT( VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT conservativeRasterizationMode,
  5271. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5272. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5273. void setExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize,
  5274. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5275. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5276. void setDepthClipEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable,
  5277. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5278. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5279. void setSampleLocationsEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable,
  5280. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5281. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5282. void setColorBlendAdvancedEXT( uint32_t firstAttachment,
  5283. uint32_t attachmentCount,
  5284. const VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT * pColorBlendAdvanced,
  5285. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5286. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5287. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5288. void setColorBlendAdvancedEXT( uint32_t firstAttachment,
  5289. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT> const & colorBlendAdvanced,
  5290. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5291. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5292. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5293. void setProvokingVertexModeEXT( VULKAN_HPP_NAMESPACE::ProvokingVertexModeEXT provokingVertexMode,
  5294. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5295. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5296. void setLineRasterizationModeEXT( VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode,
  5297. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5298. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5299. void setLineStippleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable,
  5300. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5301. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5302. void setDepthClipNegativeOneToOneEXT( VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne,
  5303. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5304. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5305. void setViewportWScalingEnableNV( VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable,
  5306. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5307. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5308. void setViewportSwizzleNV( uint32_t firstViewport,
  5309. uint32_t viewportCount,
  5310. const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV * pViewportSwizzles,
  5311. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5312. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5313. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5314. void setViewportSwizzleNV( uint32_t firstViewport,
  5315. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> const & viewportSwizzles,
  5316. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5317. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5318. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5319. void setCoverageToColorEnableNV( VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable,
  5320. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5321. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5322. void setCoverageToColorLocationNV( uint32_t coverageToColorLocation,
  5323. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5324. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5325. void setCoverageModulationModeNV( VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode,
  5326. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5327. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5328. void setCoverageModulationTableEnableNV( VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable,
  5329. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5330. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5331. void setCoverageModulationTableNV( uint32_t coverageModulationTableCount,
  5332. const float * pCoverageModulationTable,
  5333. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5334. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5335. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5336. void setCoverageModulationTableNV( VULKAN_HPP_NAMESPACE::ArrayProxy<const float> const & coverageModulationTable,
  5337. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5338. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5339. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5340. void setShadingRateImageEnableNV( VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable,
  5341. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5342. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5343. void setRepresentativeFragmentTestEnableNV( VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable,
  5344. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5345. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5346. void setCoverageReductionModeNV( VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode,
  5347. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5348. //=== VK_NV_optical_flow ===
  5349. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5350. void opticalFlowExecuteNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  5351. const VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV * pExecuteInfo,
  5352. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5353. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5354. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5355. void opticalFlowExecuteNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  5356. const VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV & executeInfo,
  5357. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5358. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5359. //=== VK_KHR_maintenance5 ===
  5360. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5361. void bindIndexBuffer2KHR( VULKAN_HPP_NAMESPACE::Buffer buffer,
  5362. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  5363. VULKAN_HPP_NAMESPACE::DeviceSize size,
  5364. VULKAN_HPP_NAMESPACE::IndexType indexType,
  5365. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5366. //=== VK_EXT_shader_object ===
  5367. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5368. void bindShadersEXT( uint32_t stageCount,
  5369. const VULKAN_HPP_NAMESPACE::ShaderStageFlagBits * pStages,
  5370. const VULKAN_HPP_NAMESPACE::ShaderEXT * pShaders,
  5371. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5372. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  5373. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5374. void bindShadersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderStageFlagBits> const & stages,
  5375. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderEXT> const & shaders,
  5376. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  5377. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  5378. //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
  5379. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  5380. void setAttachmentFeedbackLoopEnableEXT( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask,
  5381. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  5382. operator VkCommandBuffer() const VULKAN_HPP_NOEXCEPT
  5383. {
  5384. return m_commandBuffer;
  5385. }
  5386. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5387. {
  5388. return m_commandBuffer != VK_NULL_HANDLE;
  5389. }
  5390. bool operator!() const VULKAN_HPP_NOEXCEPT
  5391. {
  5392. return m_commandBuffer == VK_NULL_HANDLE;
  5393. }
  5394. private:
  5395. VkCommandBuffer m_commandBuffer = {};
  5396. };
  5397. template <>
  5398. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer>
  5399. {
  5400. using Type = VULKAN_HPP_NAMESPACE::CommandBuffer;
  5401. };
  5402. template <>
  5403. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer>
  5404. {
  5405. using Type = VULKAN_HPP_NAMESPACE::CommandBuffer;
  5406. };
  5407. template <>
  5408. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::CommandBuffer>
  5409. {
  5410. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5411. };
  5412. class DeviceMemory
  5413. {
  5414. public:
  5415. using CType = VkDeviceMemory;
  5416. using NativeType = VkDeviceMemory;
  5417. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory;
  5418. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5419. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDeviceMemory;
  5420. public:
  5421. VULKAN_HPP_CONSTEXPR DeviceMemory() = default;
  5422. VULKAN_HPP_CONSTEXPR DeviceMemory( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5423. VULKAN_HPP_TYPESAFE_EXPLICIT DeviceMemory( VkDeviceMemory deviceMemory ) VULKAN_HPP_NOEXCEPT : m_deviceMemory( deviceMemory ) {}
  5424. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5425. DeviceMemory & operator=( VkDeviceMemory deviceMemory ) VULKAN_HPP_NOEXCEPT
  5426. {
  5427. m_deviceMemory = deviceMemory;
  5428. return *this;
  5429. }
  5430. #endif
  5431. DeviceMemory & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5432. {
  5433. m_deviceMemory = {};
  5434. return *this;
  5435. }
  5436. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5437. auto operator<=>( DeviceMemory const & ) const = default;
  5438. #else
  5439. bool operator==( DeviceMemory const & rhs ) const VULKAN_HPP_NOEXCEPT
  5440. {
  5441. return m_deviceMemory == rhs.m_deviceMemory;
  5442. }
  5443. bool operator!=( DeviceMemory const & rhs ) const VULKAN_HPP_NOEXCEPT
  5444. {
  5445. return m_deviceMemory != rhs.m_deviceMemory;
  5446. }
  5447. bool operator<( DeviceMemory const & rhs ) const VULKAN_HPP_NOEXCEPT
  5448. {
  5449. return m_deviceMemory < rhs.m_deviceMemory;
  5450. }
  5451. #endif
  5452. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDeviceMemory() const VULKAN_HPP_NOEXCEPT
  5453. {
  5454. return m_deviceMemory;
  5455. }
  5456. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5457. {
  5458. return m_deviceMemory != VK_NULL_HANDLE;
  5459. }
  5460. bool operator!() const VULKAN_HPP_NOEXCEPT
  5461. {
  5462. return m_deviceMemory == VK_NULL_HANDLE;
  5463. }
  5464. private:
  5465. VkDeviceMemory m_deviceMemory = {};
  5466. };
  5467. template <>
  5468. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory>
  5469. {
  5470. using Type = VULKAN_HPP_NAMESPACE::DeviceMemory;
  5471. };
  5472. template <>
  5473. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDeviceMemory>
  5474. {
  5475. using Type = VULKAN_HPP_NAMESPACE::DeviceMemory;
  5476. };
  5477. template <>
  5478. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DeviceMemory>
  5479. {
  5480. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5481. };
  5482. class VideoSessionKHR
  5483. {
  5484. public:
  5485. using CType = VkVideoSessionKHR;
  5486. using NativeType = VkVideoSessionKHR;
  5487. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionKHR;
  5488. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5489. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  5490. public:
  5491. VULKAN_HPP_CONSTEXPR VideoSessionKHR() = default;
  5492. VULKAN_HPP_CONSTEXPR VideoSessionKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5493. VULKAN_HPP_TYPESAFE_EXPLICIT VideoSessionKHR( VkVideoSessionKHR videoSessionKHR ) VULKAN_HPP_NOEXCEPT : m_videoSessionKHR( videoSessionKHR ) {}
  5494. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5495. VideoSessionKHR & operator=( VkVideoSessionKHR videoSessionKHR ) VULKAN_HPP_NOEXCEPT
  5496. {
  5497. m_videoSessionKHR = videoSessionKHR;
  5498. return *this;
  5499. }
  5500. #endif
  5501. VideoSessionKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5502. {
  5503. m_videoSessionKHR = {};
  5504. return *this;
  5505. }
  5506. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5507. auto operator<=>( VideoSessionKHR const & ) const = default;
  5508. #else
  5509. bool operator==( VideoSessionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  5510. {
  5511. return m_videoSessionKHR == rhs.m_videoSessionKHR;
  5512. }
  5513. bool operator!=( VideoSessionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  5514. {
  5515. return m_videoSessionKHR != rhs.m_videoSessionKHR;
  5516. }
  5517. bool operator<( VideoSessionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  5518. {
  5519. return m_videoSessionKHR < rhs.m_videoSessionKHR;
  5520. }
  5521. #endif
  5522. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkVideoSessionKHR() const VULKAN_HPP_NOEXCEPT
  5523. {
  5524. return m_videoSessionKHR;
  5525. }
  5526. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5527. {
  5528. return m_videoSessionKHR != VK_NULL_HANDLE;
  5529. }
  5530. bool operator!() const VULKAN_HPP_NOEXCEPT
  5531. {
  5532. return m_videoSessionKHR == VK_NULL_HANDLE;
  5533. }
  5534. private:
  5535. VkVideoSessionKHR m_videoSessionKHR = {};
  5536. };
  5537. template <>
  5538. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionKHR>
  5539. {
  5540. using Type = VULKAN_HPP_NAMESPACE::VideoSessionKHR;
  5541. };
  5542. template <>
  5543. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::VideoSessionKHR>
  5544. {
  5545. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5546. };
  5547. class DeferredOperationKHR
  5548. {
  5549. public:
  5550. using CType = VkDeferredOperationKHR;
  5551. using NativeType = VkDeferredOperationKHR;
  5552. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR;
  5553. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5554. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  5555. public:
  5556. VULKAN_HPP_CONSTEXPR DeferredOperationKHR() = default;
  5557. VULKAN_HPP_CONSTEXPR DeferredOperationKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5558. VULKAN_HPP_TYPESAFE_EXPLICIT DeferredOperationKHR( VkDeferredOperationKHR deferredOperationKHR ) VULKAN_HPP_NOEXCEPT
  5559. : m_deferredOperationKHR( deferredOperationKHR )
  5560. {
  5561. }
  5562. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5563. DeferredOperationKHR & operator=( VkDeferredOperationKHR deferredOperationKHR ) VULKAN_HPP_NOEXCEPT
  5564. {
  5565. m_deferredOperationKHR = deferredOperationKHR;
  5566. return *this;
  5567. }
  5568. #endif
  5569. DeferredOperationKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5570. {
  5571. m_deferredOperationKHR = {};
  5572. return *this;
  5573. }
  5574. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5575. auto operator<=>( DeferredOperationKHR const & ) const = default;
  5576. #else
  5577. bool operator==( DeferredOperationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  5578. {
  5579. return m_deferredOperationKHR == rhs.m_deferredOperationKHR;
  5580. }
  5581. bool operator!=( DeferredOperationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  5582. {
  5583. return m_deferredOperationKHR != rhs.m_deferredOperationKHR;
  5584. }
  5585. bool operator<( DeferredOperationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  5586. {
  5587. return m_deferredOperationKHR < rhs.m_deferredOperationKHR;
  5588. }
  5589. #endif
  5590. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDeferredOperationKHR() const VULKAN_HPP_NOEXCEPT
  5591. {
  5592. return m_deferredOperationKHR;
  5593. }
  5594. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5595. {
  5596. return m_deferredOperationKHR != VK_NULL_HANDLE;
  5597. }
  5598. bool operator!() const VULKAN_HPP_NOEXCEPT
  5599. {
  5600. return m_deferredOperationKHR == VK_NULL_HANDLE;
  5601. }
  5602. private:
  5603. VkDeferredOperationKHR m_deferredOperationKHR = {};
  5604. };
  5605. template <>
  5606. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR>
  5607. {
  5608. using Type = VULKAN_HPP_NAMESPACE::DeferredOperationKHR;
  5609. };
  5610. template <>
  5611. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>
  5612. {
  5613. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5614. };
  5615. #if defined( VK_USE_PLATFORM_FUCHSIA )
  5616. class BufferCollectionFUCHSIA
  5617. {
  5618. public:
  5619. using CType = VkBufferCollectionFUCHSIA;
  5620. using NativeType = VkBufferCollectionFUCHSIA;
  5621. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIA;
  5622. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5623. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA;
  5624. public:
  5625. VULKAN_HPP_CONSTEXPR BufferCollectionFUCHSIA() = default;
  5626. VULKAN_HPP_CONSTEXPR BufferCollectionFUCHSIA( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5627. VULKAN_HPP_TYPESAFE_EXPLICIT BufferCollectionFUCHSIA( VkBufferCollectionFUCHSIA bufferCollectionFUCHSIA ) VULKAN_HPP_NOEXCEPT
  5628. : m_bufferCollectionFUCHSIA( bufferCollectionFUCHSIA )
  5629. {
  5630. }
  5631. # if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5632. BufferCollectionFUCHSIA & operator=( VkBufferCollectionFUCHSIA bufferCollectionFUCHSIA ) VULKAN_HPP_NOEXCEPT
  5633. {
  5634. m_bufferCollectionFUCHSIA = bufferCollectionFUCHSIA;
  5635. return *this;
  5636. }
  5637. # endif
  5638. BufferCollectionFUCHSIA & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5639. {
  5640. m_bufferCollectionFUCHSIA = {};
  5641. return *this;
  5642. }
  5643. # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5644. auto operator<=>( BufferCollectionFUCHSIA const & ) const = default;
  5645. # else
  5646. bool operator==( BufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
  5647. {
  5648. return m_bufferCollectionFUCHSIA == rhs.m_bufferCollectionFUCHSIA;
  5649. }
  5650. bool operator!=( BufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
  5651. {
  5652. return m_bufferCollectionFUCHSIA != rhs.m_bufferCollectionFUCHSIA;
  5653. }
  5654. bool operator<( BufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
  5655. {
  5656. return m_bufferCollectionFUCHSIA < rhs.m_bufferCollectionFUCHSIA;
  5657. }
  5658. # endif
  5659. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBufferCollectionFUCHSIA() const VULKAN_HPP_NOEXCEPT
  5660. {
  5661. return m_bufferCollectionFUCHSIA;
  5662. }
  5663. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5664. {
  5665. return m_bufferCollectionFUCHSIA != VK_NULL_HANDLE;
  5666. }
  5667. bool operator!() const VULKAN_HPP_NOEXCEPT
  5668. {
  5669. return m_bufferCollectionFUCHSIA == VK_NULL_HANDLE;
  5670. }
  5671. private:
  5672. VkBufferCollectionFUCHSIA m_bufferCollectionFUCHSIA = {};
  5673. };
  5674. template <>
  5675. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIA>
  5676. {
  5677. using Type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA;
  5678. };
  5679. template <>
  5680. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA>
  5681. {
  5682. using Type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA;
  5683. };
  5684. template <>
  5685. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>
  5686. {
  5687. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5688. };
  5689. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  5690. class BufferView
  5691. {
  5692. public:
  5693. using CType = VkBufferView;
  5694. using NativeType = VkBufferView;
  5695. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBufferView;
  5696. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5697. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferView;
  5698. public:
  5699. VULKAN_HPP_CONSTEXPR BufferView() = default;
  5700. VULKAN_HPP_CONSTEXPR BufferView( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5701. VULKAN_HPP_TYPESAFE_EXPLICIT BufferView( VkBufferView bufferView ) VULKAN_HPP_NOEXCEPT : m_bufferView( bufferView ) {}
  5702. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5703. BufferView & operator=( VkBufferView bufferView ) VULKAN_HPP_NOEXCEPT
  5704. {
  5705. m_bufferView = bufferView;
  5706. return *this;
  5707. }
  5708. #endif
  5709. BufferView & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5710. {
  5711. m_bufferView = {};
  5712. return *this;
  5713. }
  5714. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5715. auto operator<=>( BufferView const & ) const = default;
  5716. #else
  5717. bool operator==( BufferView const & rhs ) const VULKAN_HPP_NOEXCEPT
  5718. {
  5719. return m_bufferView == rhs.m_bufferView;
  5720. }
  5721. bool operator!=( BufferView const & rhs ) const VULKAN_HPP_NOEXCEPT
  5722. {
  5723. return m_bufferView != rhs.m_bufferView;
  5724. }
  5725. bool operator<( BufferView const & rhs ) const VULKAN_HPP_NOEXCEPT
  5726. {
  5727. return m_bufferView < rhs.m_bufferView;
  5728. }
  5729. #endif
  5730. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBufferView() const VULKAN_HPP_NOEXCEPT
  5731. {
  5732. return m_bufferView;
  5733. }
  5734. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5735. {
  5736. return m_bufferView != VK_NULL_HANDLE;
  5737. }
  5738. bool operator!() const VULKAN_HPP_NOEXCEPT
  5739. {
  5740. return m_bufferView == VK_NULL_HANDLE;
  5741. }
  5742. private:
  5743. VkBufferView m_bufferView = {};
  5744. };
  5745. template <>
  5746. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eBufferView>
  5747. {
  5748. using Type = VULKAN_HPP_NAMESPACE::BufferView;
  5749. };
  5750. template <>
  5751. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferView>
  5752. {
  5753. using Type = VULKAN_HPP_NAMESPACE::BufferView;
  5754. };
  5755. template <>
  5756. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::BufferView>
  5757. {
  5758. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5759. };
  5760. class CommandPool
  5761. {
  5762. public:
  5763. using CType = VkCommandPool;
  5764. using NativeType = VkCommandPool;
  5765. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool;
  5766. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5767. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandPool;
  5768. public:
  5769. VULKAN_HPP_CONSTEXPR CommandPool() = default;
  5770. VULKAN_HPP_CONSTEXPR CommandPool( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5771. VULKAN_HPP_TYPESAFE_EXPLICIT CommandPool( VkCommandPool commandPool ) VULKAN_HPP_NOEXCEPT : m_commandPool( commandPool ) {}
  5772. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5773. CommandPool & operator=( VkCommandPool commandPool ) VULKAN_HPP_NOEXCEPT
  5774. {
  5775. m_commandPool = commandPool;
  5776. return *this;
  5777. }
  5778. #endif
  5779. CommandPool & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5780. {
  5781. m_commandPool = {};
  5782. return *this;
  5783. }
  5784. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5785. auto operator<=>( CommandPool const & ) const = default;
  5786. #else
  5787. bool operator==( CommandPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  5788. {
  5789. return m_commandPool == rhs.m_commandPool;
  5790. }
  5791. bool operator!=( CommandPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  5792. {
  5793. return m_commandPool != rhs.m_commandPool;
  5794. }
  5795. bool operator<( CommandPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  5796. {
  5797. return m_commandPool < rhs.m_commandPool;
  5798. }
  5799. #endif
  5800. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCommandPool() const VULKAN_HPP_NOEXCEPT
  5801. {
  5802. return m_commandPool;
  5803. }
  5804. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5805. {
  5806. return m_commandPool != VK_NULL_HANDLE;
  5807. }
  5808. bool operator!() const VULKAN_HPP_NOEXCEPT
  5809. {
  5810. return m_commandPool == VK_NULL_HANDLE;
  5811. }
  5812. private:
  5813. VkCommandPool m_commandPool = {};
  5814. };
  5815. template <>
  5816. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool>
  5817. {
  5818. using Type = VULKAN_HPP_NAMESPACE::CommandPool;
  5819. };
  5820. template <>
  5821. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandPool>
  5822. {
  5823. using Type = VULKAN_HPP_NAMESPACE::CommandPool;
  5824. };
  5825. template <>
  5826. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::CommandPool>
  5827. {
  5828. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5829. };
  5830. class PipelineCache
  5831. {
  5832. public:
  5833. using CType = VkPipelineCache;
  5834. using NativeType = VkPipelineCache;
  5835. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache;
  5836. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5837. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineCache;
  5838. public:
  5839. VULKAN_HPP_CONSTEXPR PipelineCache() = default;
  5840. VULKAN_HPP_CONSTEXPR PipelineCache( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5841. VULKAN_HPP_TYPESAFE_EXPLICIT PipelineCache( VkPipelineCache pipelineCache ) VULKAN_HPP_NOEXCEPT : m_pipelineCache( pipelineCache ) {}
  5842. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5843. PipelineCache & operator=( VkPipelineCache pipelineCache ) VULKAN_HPP_NOEXCEPT
  5844. {
  5845. m_pipelineCache = pipelineCache;
  5846. return *this;
  5847. }
  5848. #endif
  5849. PipelineCache & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5850. {
  5851. m_pipelineCache = {};
  5852. return *this;
  5853. }
  5854. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5855. auto operator<=>( PipelineCache const & ) const = default;
  5856. #else
  5857. bool operator==( PipelineCache const & rhs ) const VULKAN_HPP_NOEXCEPT
  5858. {
  5859. return m_pipelineCache == rhs.m_pipelineCache;
  5860. }
  5861. bool operator!=( PipelineCache const & rhs ) const VULKAN_HPP_NOEXCEPT
  5862. {
  5863. return m_pipelineCache != rhs.m_pipelineCache;
  5864. }
  5865. bool operator<( PipelineCache const & rhs ) const VULKAN_HPP_NOEXCEPT
  5866. {
  5867. return m_pipelineCache < rhs.m_pipelineCache;
  5868. }
  5869. #endif
  5870. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipelineCache() const VULKAN_HPP_NOEXCEPT
  5871. {
  5872. return m_pipelineCache;
  5873. }
  5874. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5875. {
  5876. return m_pipelineCache != VK_NULL_HANDLE;
  5877. }
  5878. bool operator!() const VULKAN_HPP_NOEXCEPT
  5879. {
  5880. return m_pipelineCache == VK_NULL_HANDLE;
  5881. }
  5882. private:
  5883. VkPipelineCache m_pipelineCache = {};
  5884. };
  5885. template <>
  5886. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache>
  5887. {
  5888. using Type = VULKAN_HPP_NAMESPACE::PipelineCache;
  5889. };
  5890. template <>
  5891. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineCache>
  5892. {
  5893. using Type = VULKAN_HPP_NAMESPACE::PipelineCache;
  5894. };
  5895. template <>
  5896. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PipelineCache>
  5897. {
  5898. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5899. };
  5900. class CuFunctionNVX
  5901. {
  5902. public:
  5903. using CType = VkCuFunctionNVX;
  5904. using NativeType = VkCuFunctionNVX;
  5905. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCuFunctionNVX;
  5906. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5907. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuFunctionNVX;
  5908. public:
  5909. VULKAN_HPP_CONSTEXPR CuFunctionNVX() = default;
  5910. VULKAN_HPP_CONSTEXPR CuFunctionNVX( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5911. VULKAN_HPP_TYPESAFE_EXPLICIT CuFunctionNVX( VkCuFunctionNVX cuFunctionNVX ) VULKAN_HPP_NOEXCEPT : m_cuFunctionNVX( cuFunctionNVX ) {}
  5912. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5913. CuFunctionNVX & operator=( VkCuFunctionNVX cuFunctionNVX ) VULKAN_HPP_NOEXCEPT
  5914. {
  5915. m_cuFunctionNVX = cuFunctionNVX;
  5916. return *this;
  5917. }
  5918. #endif
  5919. CuFunctionNVX & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5920. {
  5921. m_cuFunctionNVX = {};
  5922. return *this;
  5923. }
  5924. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5925. auto operator<=>( CuFunctionNVX const & ) const = default;
  5926. #else
  5927. bool operator==( CuFunctionNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
  5928. {
  5929. return m_cuFunctionNVX == rhs.m_cuFunctionNVX;
  5930. }
  5931. bool operator!=( CuFunctionNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
  5932. {
  5933. return m_cuFunctionNVX != rhs.m_cuFunctionNVX;
  5934. }
  5935. bool operator<( CuFunctionNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
  5936. {
  5937. return m_cuFunctionNVX < rhs.m_cuFunctionNVX;
  5938. }
  5939. #endif
  5940. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCuFunctionNVX() const VULKAN_HPP_NOEXCEPT
  5941. {
  5942. return m_cuFunctionNVX;
  5943. }
  5944. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  5945. {
  5946. return m_cuFunctionNVX != VK_NULL_HANDLE;
  5947. }
  5948. bool operator!() const VULKAN_HPP_NOEXCEPT
  5949. {
  5950. return m_cuFunctionNVX == VK_NULL_HANDLE;
  5951. }
  5952. private:
  5953. VkCuFunctionNVX m_cuFunctionNVX = {};
  5954. };
  5955. template <>
  5956. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCuFunctionNVX>
  5957. {
  5958. using Type = VULKAN_HPP_NAMESPACE::CuFunctionNVX;
  5959. };
  5960. template <>
  5961. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuFunctionNVX>
  5962. {
  5963. using Type = VULKAN_HPP_NAMESPACE::CuFunctionNVX;
  5964. };
  5965. template <>
  5966. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::CuFunctionNVX>
  5967. {
  5968. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  5969. };
  5970. class CuModuleNVX
  5971. {
  5972. public:
  5973. using CType = VkCuModuleNVX;
  5974. using NativeType = VkCuModuleNVX;
  5975. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCuModuleNVX;
  5976. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  5977. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuModuleNVX;
  5978. public:
  5979. VULKAN_HPP_CONSTEXPR CuModuleNVX() = default;
  5980. VULKAN_HPP_CONSTEXPR CuModuleNVX( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  5981. VULKAN_HPP_TYPESAFE_EXPLICIT CuModuleNVX( VkCuModuleNVX cuModuleNVX ) VULKAN_HPP_NOEXCEPT : m_cuModuleNVX( cuModuleNVX ) {}
  5982. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  5983. CuModuleNVX & operator=( VkCuModuleNVX cuModuleNVX ) VULKAN_HPP_NOEXCEPT
  5984. {
  5985. m_cuModuleNVX = cuModuleNVX;
  5986. return *this;
  5987. }
  5988. #endif
  5989. CuModuleNVX & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  5990. {
  5991. m_cuModuleNVX = {};
  5992. return *this;
  5993. }
  5994. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  5995. auto operator<=>( CuModuleNVX const & ) const = default;
  5996. #else
  5997. bool operator==( CuModuleNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
  5998. {
  5999. return m_cuModuleNVX == rhs.m_cuModuleNVX;
  6000. }
  6001. bool operator!=( CuModuleNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
  6002. {
  6003. return m_cuModuleNVX != rhs.m_cuModuleNVX;
  6004. }
  6005. bool operator<( CuModuleNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
  6006. {
  6007. return m_cuModuleNVX < rhs.m_cuModuleNVX;
  6008. }
  6009. #endif
  6010. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCuModuleNVX() const VULKAN_HPP_NOEXCEPT
  6011. {
  6012. return m_cuModuleNVX;
  6013. }
  6014. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6015. {
  6016. return m_cuModuleNVX != VK_NULL_HANDLE;
  6017. }
  6018. bool operator!() const VULKAN_HPP_NOEXCEPT
  6019. {
  6020. return m_cuModuleNVX == VK_NULL_HANDLE;
  6021. }
  6022. private:
  6023. VkCuModuleNVX m_cuModuleNVX = {};
  6024. };
  6025. template <>
  6026. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCuModuleNVX>
  6027. {
  6028. using Type = VULKAN_HPP_NAMESPACE::CuModuleNVX;
  6029. };
  6030. template <>
  6031. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuModuleNVX>
  6032. {
  6033. using Type = VULKAN_HPP_NAMESPACE::CuModuleNVX;
  6034. };
  6035. template <>
  6036. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::CuModuleNVX>
  6037. {
  6038. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6039. };
  6040. class DescriptorPool
  6041. {
  6042. public:
  6043. using CType = VkDescriptorPool;
  6044. using NativeType = VkDescriptorPool;
  6045. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool;
  6046. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6047. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorPool;
  6048. public:
  6049. VULKAN_HPP_CONSTEXPR DescriptorPool() = default;
  6050. VULKAN_HPP_CONSTEXPR DescriptorPool( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6051. VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorPool( VkDescriptorPool descriptorPool ) VULKAN_HPP_NOEXCEPT : m_descriptorPool( descriptorPool ) {}
  6052. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6053. DescriptorPool & operator=( VkDescriptorPool descriptorPool ) VULKAN_HPP_NOEXCEPT
  6054. {
  6055. m_descriptorPool = descriptorPool;
  6056. return *this;
  6057. }
  6058. #endif
  6059. DescriptorPool & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6060. {
  6061. m_descriptorPool = {};
  6062. return *this;
  6063. }
  6064. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6065. auto operator<=>( DescriptorPool const & ) const = default;
  6066. #else
  6067. bool operator==( DescriptorPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  6068. {
  6069. return m_descriptorPool == rhs.m_descriptorPool;
  6070. }
  6071. bool operator!=( DescriptorPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  6072. {
  6073. return m_descriptorPool != rhs.m_descriptorPool;
  6074. }
  6075. bool operator<( DescriptorPool const & rhs ) const VULKAN_HPP_NOEXCEPT
  6076. {
  6077. return m_descriptorPool < rhs.m_descriptorPool;
  6078. }
  6079. #endif
  6080. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorPool() const VULKAN_HPP_NOEXCEPT
  6081. {
  6082. return m_descriptorPool;
  6083. }
  6084. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6085. {
  6086. return m_descriptorPool != VK_NULL_HANDLE;
  6087. }
  6088. bool operator!() const VULKAN_HPP_NOEXCEPT
  6089. {
  6090. return m_descriptorPool == VK_NULL_HANDLE;
  6091. }
  6092. private:
  6093. VkDescriptorPool m_descriptorPool = {};
  6094. };
  6095. template <>
  6096. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool>
  6097. {
  6098. using Type = VULKAN_HPP_NAMESPACE::DescriptorPool;
  6099. };
  6100. template <>
  6101. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorPool>
  6102. {
  6103. using Type = VULKAN_HPP_NAMESPACE::DescriptorPool;
  6104. };
  6105. template <>
  6106. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorPool>
  6107. {
  6108. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6109. };
  6110. class DescriptorSetLayout
  6111. {
  6112. public:
  6113. using CType = VkDescriptorSetLayout;
  6114. using NativeType = VkDescriptorSetLayout;
  6115. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout;
  6116. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6117. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSetLayout;
  6118. public:
  6119. VULKAN_HPP_CONSTEXPR DescriptorSetLayout() = default;
  6120. VULKAN_HPP_CONSTEXPR DescriptorSetLayout( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6121. VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSetLayout( VkDescriptorSetLayout descriptorSetLayout ) VULKAN_HPP_NOEXCEPT
  6122. : m_descriptorSetLayout( descriptorSetLayout )
  6123. {
  6124. }
  6125. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6126. DescriptorSetLayout & operator=( VkDescriptorSetLayout descriptorSetLayout ) VULKAN_HPP_NOEXCEPT
  6127. {
  6128. m_descriptorSetLayout = descriptorSetLayout;
  6129. return *this;
  6130. }
  6131. #endif
  6132. DescriptorSetLayout & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6133. {
  6134. m_descriptorSetLayout = {};
  6135. return *this;
  6136. }
  6137. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6138. auto operator<=>( DescriptorSetLayout const & ) const = default;
  6139. #else
  6140. bool operator==( DescriptorSetLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
  6141. {
  6142. return m_descriptorSetLayout == rhs.m_descriptorSetLayout;
  6143. }
  6144. bool operator!=( DescriptorSetLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
  6145. {
  6146. return m_descriptorSetLayout != rhs.m_descriptorSetLayout;
  6147. }
  6148. bool operator<( DescriptorSetLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
  6149. {
  6150. return m_descriptorSetLayout < rhs.m_descriptorSetLayout;
  6151. }
  6152. #endif
  6153. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorSetLayout() const VULKAN_HPP_NOEXCEPT
  6154. {
  6155. return m_descriptorSetLayout;
  6156. }
  6157. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6158. {
  6159. return m_descriptorSetLayout != VK_NULL_HANDLE;
  6160. }
  6161. bool operator!() const VULKAN_HPP_NOEXCEPT
  6162. {
  6163. return m_descriptorSetLayout == VK_NULL_HANDLE;
  6164. }
  6165. private:
  6166. VkDescriptorSetLayout m_descriptorSetLayout = {};
  6167. };
  6168. template <>
  6169. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout>
  6170. {
  6171. using Type = VULKAN_HPP_NAMESPACE::DescriptorSetLayout;
  6172. };
  6173. template <>
  6174. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSetLayout>
  6175. {
  6176. using Type = VULKAN_HPP_NAMESPACE::DescriptorSetLayout;
  6177. };
  6178. template <>
  6179. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>
  6180. {
  6181. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6182. };
  6183. class Framebuffer
  6184. {
  6185. public:
  6186. using CType = VkFramebuffer;
  6187. using NativeType = VkFramebuffer;
  6188. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer;
  6189. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6190. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFramebuffer;
  6191. public:
  6192. VULKAN_HPP_CONSTEXPR Framebuffer() = default;
  6193. VULKAN_HPP_CONSTEXPR Framebuffer( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6194. VULKAN_HPP_TYPESAFE_EXPLICIT Framebuffer( VkFramebuffer framebuffer ) VULKAN_HPP_NOEXCEPT : m_framebuffer( framebuffer ) {}
  6195. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6196. Framebuffer & operator=( VkFramebuffer framebuffer ) VULKAN_HPP_NOEXCEPT
  6197. {
  6198. m_framebuffer = framebuffer;
  6199. return *this;
  6200. }
  6201. #endif
  6202. Framebuffer & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6203. {
  6204. m_framebuffer = {};
  6205. return *this;
  6206. }
  6207. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6208. auto operator<=>( Framebuffer const & ) const = default;
  6209. #else
  6210. bool operator==( Framebuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  6211. {
  6212. return m_framebuffer == rhs.m_framebuffer;
  6213. }
  6214. bool operator!=( Framebuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  6215. {
  6216. return m_framebuffer != rhs.m_framebuffer;
  6217. }
  6218. bool operator<( Framebuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
  6219. {
  6220. return m_framebuffer < rhs.m_framebuffer;
  6221. }
  6222. #endif
  6223. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkFramebuffer() const VULKAN_HPP_NOEXCEPT
  6224. {
  6225. return m_framebuffer;
  6226. }
  6227. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6228. {
  6229. return m_framebuffer != VK_NULL_HANDLE;
  6230. }
  6231. bool operator!() const VULKAN_HPP_NOEXCEPT
  6232. {
  6233. return m_framebuffer == VK_NULL_HANDLE;
  6234. }
  6235. private:
  6236. VkFramebuffer m_framebuffer = {};
  6237. };
  6238. template <>
  6239. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer>
  6240. {
  6241. using Type = VULKAN_HPP_NAMESPACE::Framebuffer;
  6242. };
  6243. template <>
  6244. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFramebuffer>
  6245. {
  6246. using Type = VULKAN_HPP_NAMESPACE::Framebuffer;
  6247. };
  6248. template <>
  6249. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Framebuffer>
  6250. {
  6251. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6252. };
  6253. class IndirectCommandsLayoutNV
  6254. {
  6255. public:
  6256. using CType = VkIndirectCommandsLayoutNV;
  6257. using NativeType = VkIndirectCommandsLayoutNV;
  6258. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV;
  6259. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6260. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6261. public:
  6262. VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNV() = default;
  6263. VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNV( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6264. VULKAN_HPP_TYPESAFE_EXPLICIT IndirectCommandsLayoutNV( VkIndirectCommandsLayoutNV indirectCommandsLayoutNV ) VULKAN_HPP_NOEXCEPT
  6265. : m_indirectCommandsLayoutNV( indirectCommandsLayoutNV )
  6266. {
  6267. }
  6268. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6269. IndirectCommandsLayoutNV & operator=( VkIndirectCommandsLayoutNV indirectCommandsLayoutNV ) VULKAN_HPP_NOEXCEPT
  6270. {
  6271. m_indirectCommandsLayoutNV = indirectCommandsLayoutNV;
  6272. return *this;
  6273. }
  6274. #endif
  6275. IndirectCommandsLayoutNV & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6276. {
  6277. m_indirectCommandsLayoutNV = {};
  6278. return *this;
  6279. }
  6280. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6281. auto operator<=>( IndirectCommandsLayoutNV const & ) const = default;
  6282. #else
  6283. bool operator==( IndirectCommandsLayoutNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  6284. {
  6285. return m_indirectCommandsLayoutNV == rhs.m_indirectCommandsLayoutNV;
  6286. }
  6287. bool operator!=( IndirectCommandsLayoutNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  6288. {
  6289. return m_indirectCommandsLayoutNV != rhs.m_indirectCommandsLayoutNV;
  6290. }
  6291. bool operator<( IndirectCommandsLayoutNV const & rhs ) const VULKAN_HPP_NOEXCEPT
  6292. {
  6293. return m_indirectCommandsLayoutNV < rhs.m_indirectCommandsLayoutNV;
  6294. }
  6295. #endif
  6296. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkIndirectCommandsLayoutNV() const VULKAN_HPP_NOEXCEPT
  6297. {
  6298. return m_indirectCommandsLayoutNV;
  6299. }
  6300. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6301. {
  6302. return m_indirectCommandsLayoutNV != VK_NULL_HANDLE;
  6303. }
  6304. bool operator!() const VULKAN_HPP_NOEXCEPT
  6305. {
  6306. return m_indirectCommandsLayoutNV == VK_NULL_HANDLE;
  6307. }
  6308. private:
  6309. VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {};
  6310. };
  6311. template <>
  6312. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV>
  6313. {
  6314. using Type = VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV;
  6315. };
  6316. template <>
  6317. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>
  6318. {
  6319. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6320. };
  6321. class PrivateDataSlot
  6322. {
  6323. public:
  6324. using CType = VkPrivateDataSlot;
  6325. using NativeType = VkPrivateDataSlot;
  6326. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlot;
  6327. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6328. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6329. public:
  6330. VULKAN_HPP_CONSTEXPR PrivateDataSlot() = default;
  6331. VULKAN_HPP_CONSTEXPR PrivateDataSlot( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6332. VULKAN_HPP_TYPESAFE_EXPLICIT PrivateDataSlot( VkPrivateDataSlot privateDataSlot ) VULKAN_HPP_NOEXCEPT : m_privateDataSlot( privateDataSlot ) {}
  6333. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6334. PrivateDataSlot & operator=( VkPrivateDataSlot privateDataSlot ) VULKAN_HPP_NOEXCEPT
  6335. {
  6336. m_privateDataSlot = privateDataSlot;
  6337. return *this;
  6338. }
  6339. #endif
  6340. PrivateDataSlot & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6341. {
  6342. m_privateDataSlot = {};
  6343. return *this;
  6344. }
  6345. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6346. auto operator<=>( PrivateDataSlot const & ) const = default;
  6347. #else
  6348. bool operator==( PrivateDataSlot const & rhs ) const VULKAN_HPP_NOEXCEPT
  6349. {
  6350. return m_privateDataSlot == rhs.m_privateDataSlot;
  6351. }
  6352. bool operator!=( PrivateDataSlot const & rhs ) const VULKAN_HPP_NOEXCEPT
  6353. {
  6354. return m_privateDataSlot != rhs.m_privateDataSlot;
  6355. }
  6356. bool operator<( PrivateDataSlot const & rhs ) const VULKAN_HPP_NOEXCEPT
  6357. {
  6358. return m_privateDataSlot < rhs.m_privateDataSlot;
  6359. }
  6360. #endif
  6361. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPrivateDataSlot() const VULKAN_HPP_NOEXCEPT
  6362. {
  6363. return m_privateDataSlot;
  6364. }
  6365. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6366. {
  6367. return m_privateDataSlot != VK_NULL_HANDLE;
  6368. }
  6369. bool operator!() const VULKAN_HPP_NOEXCEPT
  6370. {
  6371. return m_privateDataSlot == VK_NULL_HANDLE;
  6372. }
  6373. private:
  6374. VkPrivateDataSlot m_privateDataSlot = {};
  6375. };
  6376. template <>
  6377. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlot>
  6378. {
  6379. using Type = VULKAN_HPP_NAMESPACE::PrivateDataSlot;
  6380. };
  6381. template <>
  6382. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PrivateDataSlot>
  6383. {
  6384. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6385. };
  6386. using PrivateDataSlotEXT = PrivateDataSlot;
  6387. class RenderPass
  6388. {
  6389. public:
  6390. using CType = VkRenderPass;
  6391. using NativeType = VkRenderPass;
  6392. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass;
  6393. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6394. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eRenderPass;
  6395. public:
  6396. VULKAN_HPP_CONSTEXPR RenderPass() = default;
  6397. VULKAN_HPP_CONSTEXPR RenderPass( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6398. VULKAN_HPP_TYPESAFE_EXPLICIT RenderPass( VkRenderPass renderPass ) VULKAN_HPP_NOEXCEPT : m_renderPass( renderPass ) {}
  6399. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6400. RenderPass & operator=( VkRenderPass renderPass ) VULKAN_HPP_NOEXCEPT
  6401. {
  6402. m_renderPass = renderPass;
  6403. return *this;
  6404. }
  6405. #endif
  6406. RenderPass & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6407. {
  6408. m_renderPass = {};
  6409. return *this;
  6410. }
  6411. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6412. auto operator<=>( RenderPass const & ) const = default;
  6413. #else
  6414. bool operator==( RenderPass const & rhs ) const VULKAN_HPP_NOEXCEPT
  6415. {
  6416. return m_renderPass == rhs.m_renderPass;
  6417. }
  6418. bool operator!=( RenderPass const & rhs ) const VULKAN_HPP_NOEXCEPT
  6419. {
  6420. return m_renderPass != rhs.m_renderPass;
  6421. }
  6422. bool operator<( RenderPass const & rhs ) const VULKAN_HPP_NOEXCEPT
  6423. {
  6424. return m_renderPass < rhs.m_renderPass;
  6425. }
  6426. #endif
  6427. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkRenderPass() const VULKAN_HPP_NOEXCEPT
  6428. {
  6429. return m_renderPass;
  6430. }
  6431. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6432. {
  6433. return m_renderPass != VK_NULL_HANDLE;
  6434. }
  6435. bool operator!() const VULKAN_HPP_NOEXCEPT
  6436. {
  6437. return m_renderPass == VK_NULL_HANDLE;
  6438. }
  6439. private:
  6440. VkRenderPass m_renderPass = {};
  6441. };
  6442. template <>
  6443. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass>
  6444. {
  6445. using Type = VULKAN_HPP_NAMESPACE::RenderPass;
  6446. };
  6447. template <>
  6448. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eRenderPass>
  6449. {
  6450. using Type = VULKAN_HPP_NAMESPACE::RenderPass;
  6451. };
  6452. template <>
  6453. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::RenderPass>
  6454. {
  6455. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6456. };
  6457. class Sampler
  6458. {
  6459. public:
  6460. using CType = VkSampler;
  6461. using NativeType = VkSampler;
  6462. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSampler;
  6463. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6464. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSampler;
  6465. public:
  6466. VULKAN_HPP_CONSTEXPR Sampler() = default;
  6467. VULKAN_HPP_CONSTEXPR Sampler( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6468. VULKAN_HPP_TYPESAFE_EXPLICIT Sampler( VkSampler sampler ) VULKAN_HPP_NOEXCEPT : m_sampler( sampler ) {}
  6469. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6470. Sampler & operator=( VkSampler sampler ) VULKAN_HPP_NOEXCEPT
  6471. {
  6472. m_sampler = sampler;
  6473. return *this;
  6474. }
  6475. #endif
  6476. Sampler & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6477. {
  6478. m_sampler = {};
  6479. return *this;
  6480. }
  6481. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6482. auto operator<=>( Sampler const & ) const = default;
  6483. #else
  6484. bool operator==( Sampler const & rhs ) const VULKAN_HPP_NOEXCEPT
  6485. {
  6486. return m_sampler == rhs.m_sampler;
  6487. }
  6488. bool operator!=( Sampler const & rhs ) const VULKAN_HPP_NOEXCEPT
  6489. {
  6490. return m_sampler != rhs.m_sampler;
  6491. }
  6492. bool operator<( Sampler const & rhs ) const VULKAN_HPP_NOEXCEPT
  6493. {
  6494. return m_sampler < rhs.m_sampler;
  6495. }
  6496. #endif
  6497. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSampler() const VULKAN_HPP_NOEXCEPT
  6498. {
  6499. return m_sampler;
  6500. }
  6501. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6502. {
  6503. return m_sampler != VK_NULL_HANDLE;
  6504. }
  6505. bool operator!() const VULKAN_HPP_NOEXCEPT
  6506. {
  6507. return m_sampler == VK_NULL_HANDLE;
  6508. }
  6509. private:
  6510. VkSampler m_sampler = {};
  6511. };
  6512. template <>
  6513. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSampler>
  6514. {
  6515. using Type = VULKAN_HPP_NAMESPACE::Sampler;
  6516. };
  6517. template <>
  6518. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSampler>
  6519. {
  6520. using Type = VULKAN_HPP_NAMESPACE::Sampler;
  6521. };
  6522. template <>
  6523. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Sampler>
  6524. {
  6525. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6526. };
  6527. class SamplerYcbcrConversion
  6528. {
  6529. public:
  6530. using CType = VkSamplerYcbcrConversion;
  6531. using NativeType = VkSamplerYcbcrConversion;
  6532. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion;
  6533. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6534. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSamplerYcbcrConversion;
  6535. public:
  6536. VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion() = default;
  6537. VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6538. VULKAN_HPP_TYPESAFE_EXPLICIT SamplerYcbcrConversion( VkSamplerYcbcrConversion samplerYcbcrConversion ) VULKAN_HPP_NOEXCEPT
  6539. : m_samplerYcbcrConversion( samplerYcbcrConversion )
  6540. {
  6541. }
  6542. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6543. SamplerYcbcrConversion & operator=( VkSamplerYcbcrConversion samplerYcbcrConversion ) VULKAN_HPP_NOEXCEPT
  6544. {
  6545. m_samplerYcbcrConversion = samplerYcbcrConversion;
  6546. return *this;
  6547. }
  6548. #endif
  6549. SamplerYcbcrConversion & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6550. {
  6551. m_samplerYcbcrConversion = {};
  6552. return *this;
  6553. }
  6554. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6555. auto operator<=>( SamplerYcbcrConversion const & ) const = default;
  6556. #else
  6557. bool operator==( SamplerYcbcrConversion const & rhs ) const VULKAN_HPP_NOEXCEPT
  6558. {
  6559. return m_samplerYcbcrConversion == rhs.m_samplerYcbcrConversion;
  6560. }
  6561. bool operator!=( SamplerYcbcrConversion const & rhs ) const VULKAN_HPP_NOEXCEPT
  6562. {
  6563. return m_samplerYcbcrConversion != rhs.m_samplerYcbcrConversion;
  6564. }
  6565. bool operator<( SamplerYcbcrConversion const & rhs ) const VULKAN_HPP_NOEXCEPT
  6566. {
  6567. return m_samplerYcbcrConversion < rhs.m_samplerYcbcrConversion;
  6568. }
  6569. #endif
  6570. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSamplerYcbcrConversion() const VULKAN_HPP_NOEXCEPT
  6571. {
  6572. return m_samplerYcbcrConversion;
  6573. }
  6574. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6575. {
  6576. return m_samplerYcbcrConversion != VK_NULL_HANDLE;
  6577. }
  6578. bool operator!() const VULKAN_HPP_NOEXCEPT
  6579. {
  6580. return m_samplerYcbcrConversion == VK_NULL_HANDLE;
  6581. }
  6582. private:
  6583. VkSamplerYcbcrConversion m_samplerYcbcrConversion = {};
  6584. };
  6585. template <>
  6586. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion>
  6587. {
  6588. using Type = VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion;
  6589. };
  6590. template <>
  6591. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSamplerYcbcrConversion>
  6592. {
  6593. using Type = VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion;
  6594. };
  6595. template <>
  6596. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>
  6597. {
  6598. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6599. };
  6600. using SamplerYcbcrConversionKHR = SamplerYcbcrConversion;
  6601. class ShaderModule
  6602. {
  6603. public:
  6604. using CType = VkShaderModule;
  6605. using NativeType = VkShaderModule;
  6606. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule;
  6607. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6608. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eShaderModule;
  6609. public:
  6610. VULKAN_HPP_CONSTEXPR ShaderModule() = default;
  6611. VULKAN_HPP_CONSTEXPR ShaderModule( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6612. VULKAN_HPP_TYPESAFE_EXPLICIT ShaderModule( VkShaderModule shaderModule ) VULKAN_HPP_NOEXCEPT : m_shaderModule( shaderModule ) {}
  6613. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6614. ShaderModule & operator=( VkShaderModule shaderModule ) VULKAN_HPP_NOEXCEPT
  6615. {
  6616. m_shaderModule = shaderModule;
  6617. return *this;
  6618. }
  6619. #endif
  6620. ShaderModule & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6621. {
  6622. m_shaderModule = {};
  6623. return *this;
  6624. }
  6625. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6626. auto operator<=>( ShaderModule const & ) const = default;
  6627. #else
  6628. bool operator==( ShaderModule const & rhs ) const VULKAN_HPP_NOEXCEPT
  6629. {
  6630. return m_shaderModule == rhs.m_shaderModule;
  6631. }
  6632. bool operator!=( ShaderModule const & rhs ) const VULKAN_HPP_NOEXCEPT
  6633. {
  6634. return m_shaderModule != rhs.m_shaderModule;
  6635. }
  6636. bool operator<( ShaderModule const & rhs ) const VULKAN_HPP_NOEXCEPT
  6637. {
  6638. return m_shaderModule < rhs.m_shaderModule;
  6639. }
  6640. #endif
  6641. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkShaderModule() const VULKAN_HPP_NOEXCEPT
  6642. {
  6643. return m_shaderModule;
  6644. }
  6645. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6646. {
  6647. return m_shaderModule != VK_NULL_HANDLE;
  6648. }
  6649. bool operator!() const VULKAN_HPP_NOEXCEPT
  6650. {
  6651. return m_shaderModule == VK_NULL_HANDLE;
  6652. }
  6653. private:
  6654. VkShaderModule m_shaderModule = {};
  6655. };
  6656. template <>
  6657. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule>
  6658. {
  6659. using Type = VULKAN_HPP_NAMESPACE::ShaderModule;
  6660. };
  6661. template <>
  6662. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eShaderModule>
  6663. {
  6664. using Type = VULKAN_HPP_NAMESPACE::ShaderModule;
  6665. };
  6666. template <>
  6667. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::ShaderModule>
  6668. {
  6669. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6670. };
  6671. class ValidationCacheEXT
  6672. {
  6673. public:
  6674. using CType = VkValidationCacheEXT;
  6675. using NativeType = VkValidationCacheEXT;
  6676. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT;
  6677. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6678. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eValidationCacheEXT;
  6679. public:
  6680. VULKAN_HPP_CONSTEXPR ValidationCacheEXT() = default;
  6681. VULKAN_HPP_CONSTEXPR ValidationCacheEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6682. VULKAN_HPP_TYPESAFE_EXPLICIT ValidationCacheEXT( VkValidationCacheEXT validationCacheEXT ) VULKAN_HPP_NOEXCEPT : m_validationCacheEXT( validationCacheEXT )
  6683. {
  6684. }
  6685. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6686. ValidationCacheEXT & operator=( VkValidationCacheEXT validationCacheEXT ) VULKAN_HPP_NOEXCEPT
  6687. {
  6688. m_validationCacheEXT = validationCacheEXT;
  6689. return *this;
  6690. }
  6691. #endif
  6692. ValidationCacheEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6693. {
  6694. m_validationCacheEXT = {};
  6695. return *this;
  6696. }
  6697. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6698. auto operator<=>( ValidationCacheEXT const & ) const = default;
  6699. #else
  6700. bool operator==( ValidationCacheEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  6701. {
  6702. return m_validationCacheEXT == rhs.m_validationCacheEXT;
  6703. }
  6704. bool operator!=( ValidationCacheEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  6705. {
  6706. return m_validationCacheEXT != rhs.m_validationCacheEXT;
  6707. }
  6708. bool operator<( ValidationCacheEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
  6709. {
  6710. return m_validationCacheEXT < rhs.m_validationCacheEXT;
  6711. }
  6712. #endif
  6713. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkValidationCacheEXT() const VULKAN_HPP_NOEXCEPT
  6714. {
  6715. return m_validationCacheEXT;
  6716. }
  6717. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6718. {
  6719. return m_validationCacheEXT != VK_NULL_HANDLE;
  6720. }
  6721. bool operator!() const VULKAN_HPP_NOEXCEPT
  6722. {
  6723. return m_validationCacheEXT == VK_NULL_HANDLE;
  6724. }
  6725. private:
  6726. VkValidationCacheEXT m_validationCacheEXT = {};
  6727. };
  6728. template <>
  6729. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT>
  6730. {
  6731. using Type = VULKAN_HPP_NAMESPACE::ValidationCacheEXT;
  6732. };
  6733. template <>
  6734. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eValidationCacheEXT>
  6735. {
  6736. using Type = VULKAN_HPP_NAMESPACE::ValidationCacheEXT;
  6737. };
  6738. template <>
  6739. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>
  6740. {
  6741. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6742. };
  6743. class VideoSessionParametersKHR
  6744. {
  6745. public:
  6746. using CType = VkVideoSessionParametersKHR;
  6747. using NativeType = VkVideoSessionParametersKHR;
  6748. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionParametersKHR;
  6749. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6750. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
  6751. public:
  6752. VULKAN_HPP_CONSTEXPR VideoSessionParametersKHR() = default;
  6753. VULKAN_HPP_CONSTEXPR VideoSessionParametersKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6754. VULKAN_HPP_TYPESAFE_EXPLICIT VideoSessionParametersKHR( VkVideoSessionParametersKHR videoSessionParametersKHR ) VULKAN_HPP_NOEXCEPT
  6755. : m_videoSessionParametersKHR( videoSessionParametersKHR )
  6756. {
  6757. }
  6758. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  6759. VideoSessionParametersKHR & operator=( VkVideoSessionParametersKHR videoSessionParametersKHR ) VULKAN_HPP_NOEXCEPT
  6760. {
  6761. m_videoSessionParametersKHR = videoSessionParametersKHR;
  6762. return *this;
  6763. }
  6764. #endif
  6765. VideoSessionParametersKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6766. {
  6767. m_videoSessionParametersKHR = {};
  6768. return *this;
  6769. }
  6770. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6771. auto operator<=>( VideoSessionParametersKHR const & ) const = default;
  6772. #else
  6773. bool operator==( VideoSessionParametersKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  6774. {
  6775. return m_videoSessionParametersKHR == rhs.m_videoSessionParametersKHR;
  6776. }
  6777. bool operator!=( VideoSessionParametersKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  6778. {
  6779. return m_videoSessionParametersKHR != rhs.m_videoSessionParametersKHR;
  6780. }
  6781. bool operator<( VideoSessionParametersKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  6782. {
  6783. return m_videoSessionParametersKHR < rhs.m_videoSessionParametersKHR;
  6784. }
  6785. #endif
  6786. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkVideoSessionParametersKHR() const VULKAN_HPP_NOEXCEPT
  6787. {
  6788. return m_videoSessionParametersKHR;
  6789. }
  6790. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6791. {
  6792. return m_videoSessionParametersKHR != VK_NULL_HANDLE;
  6793. }
  6794. bool operator!() const VULKAN_HPP_NOEXCEPT
  6795. {
  6796. return m_videoSessionParametersKHR == VK_NULL_HANDLE;
  6797. }
  6798. private:
  6799. VkVideoSessionParametersKHR m_videoSessionParametersKHR = {};
  6800. };
  6801. template <>
  6802. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionParametersKHR>
  6803. {
  6804. using Type = VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR;
  6805. };
  6806. template <>
  6807. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>
  6808. {
  6809. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  6810. };
  6811. class Queue
  6812. {
  6813. public:
  6814. using CType = VkQueue;
  6815. using NativeType = VkQueue;
  6816. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eQueue;
  6817. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  6818. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueue;
  6819. public:
  6820. VULKAN_HPP_CONSTEXPR Queue() = default;
  6821. VULKAN_HPP_CONSTEXPR Queue( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  6822. Queue( VkQueue queue ) VULKAN_HPP_NOEXCEPT : m_queue( queue ) {}
  6823. Queue & operator=( VkQueue queue ) VULKAN_HPP_NOEXCEPT
  6824. {
  6825. m_queue = queue;
  6826. return *this;
  6827. }
  6828. Queue & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  6829. {
  6830. m_queue = {};
  6831. return *this;
  6832. }
  6833. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  6834. auto operator<=>( Queue const & ) const = default;
  6835. #else
  6836. bool operator==( Queue const & rhs ) const VULKAN_HPP_NOEXCEPT
  6837. {
  6838. return m_queue == rhs.m_queue;
  6839. }
  6840. bool operator!=( Queue const & rhs ) const VULKAN_HPP_NOEXCEPT
  6841. {
  6842. return m_queue != rhs.m_queue;
  6843. }
  6844. bool operator<( Queue const & rhs ) const VULKAN_HPP_NOEXCEPT
  6845. {
  6846. return m_queue < rhs.m_queue;
  6847. }
  6848. #endif
  6849. //=== VK_VERSION_1_0 ===
  6850. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6851. VULKAN_HPP_NODISCARD Result submit( uint32_t submitCount,
  6852. const VULKAN_HPP_NAMESPACE::SubmitInfo * pSubmits,
  6853. VULKAN_HPP_NAMESPACE::Fence fence,
  6854. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6855. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6856. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6857. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  6858. submit( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits,
  6859. VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  6860. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6861. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6862. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6863. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6864. VULKAN_HPP_NODISCARD Result waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6865. #else
  6866. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6867. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6868. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  6869. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6870. VULKAN_HPP_NODISCARD Result bindSparse( uint32_t bindInfoCount,
  6871. const VULKAN_HPP_NAMESPACE::BindSparseInfo * pBindInfo,
  6872. VULKAN_HPP_NAMESPACE::Fence fence,
  6873. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6874. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6875. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6876. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  6877. bindSparse( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo,
  6878. VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  6879. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6880. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6881. //=== VK_VERSION_1_3 ===
  6882. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6883. VULKAN_HPP_NODISCARD Result submit2( uint32_t submitCount,
  6884. const VULKAN_HPP_NAMESPACE::SubmitInfo2 * pSubmits,
  6885. VULKAN_HPP_NAMESPACE::Fence fence,
  6886. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6887. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6888. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6889. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  6890. submit2( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const & submits,
  6891. VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  6892. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6893. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6894. //=== VK_KHR_swapchain ===
  6895. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6896. VULKAN_HPP_NODISCARD Result presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR * pPresentInfo,
  6897. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6898. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6899. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6900. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR & presentInfo,
  6901. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6902. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6903. //=== VK_EXT_debug_utils ===
  6904. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6905. void beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
  6906. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6907. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6908. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6909. void beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,
  6910. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6911. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6912. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6913. void endDebugUtilsLabelEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6914. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6915. void insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
  6916. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6917. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6918. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6919. void insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,
  6920. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6921. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6922. //=== VK_NV_device_diagnostic_checkpoints ===
  6923. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6924. void getCheckpointDataNV( uint32_t * pCheckpointDataCount,
  6925. VULKAN_HPP_NAMESPACE::CheckpointDataNV * pCheckpointData,
  6926. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6927. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6928. template <typename CheckpointDataNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CheckpointDataNV>,
  6929. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6930. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV, CheckpointDataNVAllocator>
  6931. getCheckpointDataNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6932. template <typename CheckpointDataNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CheckpointDataNV>,
  6933. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  6934. typename B1 = CheckpointDataNVAllocator,
  6935. typename std::enable_if<std::is_same<typename B1::value_type, CheckpointDataNV>::value, int>::type = 0>
  6936. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV, CheckpointDataNVAllocator>
  6937. getCheckpointDataNV( CheckpointDataNVAllocator & checkpointDataNVAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6938. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6939. //=== VK_INTEL_performance_query ===
  6940. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6941. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6942. VULKAN_HPP_NODISCARD Result setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
  6943. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6944. #else
  6945. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6946. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  6947. setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
  6948. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6949. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  6950. //=== VK_KHR_synchronization2 ===
  6951. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6952. VULKAN_HPP_NODISCARD Result submit2KHR( uint32_t submitCount,
  6953. const VULKAN_HPP_NAMESPACE::SubmitInfo2 * pSubmits,
  6954. VULKAN_HPP_NAMESPACE::Fence fence,
  6955. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6956. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6957. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6958. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  6959. submit2KHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const & submits,
  6960. VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  6961. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6962. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6963. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6964. void getCheckpointData2NV( uint32_t * pCheckpointDataCount,
  6965. VULKAN_HPP_NAMESPACE::CheckpointData2NV * pCheckpointData,
  6966. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6967. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6968. template <typename CheckpointData2NVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CheckpointData2NV>,
  6969. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6970. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV, CheckpointData2NVAllocator>
  6971. getCheckpointData2NV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6972. template <typename CheckpointData2NVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CheckpointData2NV>,
  6973. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  6974. typename B1 = CheckpointData2NVAllocator,
  6975. typename std::enable_if<std::is_same<typename B1::value_type, CheckpointData2NV>::value, int>::type = 0>
  6976. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV, CheckpointData2NVAllocator>
  6977. getCheckpointData2NV( CheckpointData2NVAllocator & checkpointData2NVAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  6978. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6979. //=== VK_NV_low_latency2 ===
  6980. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6981. void notifyOutOfBandNV( const VULKAN_HPP_NAMESPACE::OutOfBandQueueTypeInfoNV * pQueueTypeInfo,
  6982. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6983. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  6984. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  6985. void notifyOutOfBandNV( const VULKAN_HPP_NAMESPACE::OutOfBandQueueTypeInfoNV & queueTypeInfo,
  6986. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  6987. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  6988. operator VkQueue() const VULKAN_HPP_NOEXCEPT
  6989. {
  6990. return m_queue;
  6991. }
  6992. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  6993. {
  6994. return m_queue != VK_NULL_HANDLE;
  6995. }
  6996. bool operator!() const VULKAN_HPP_NOEXCEPT
  6997. {
  6998. return m_queue == VK_NULL_HANDLE;
  6999. }
  7000. private:
  7001. VkQueue m_queue = {};
  7002. };
  7003. template <>
  7004. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eQueue>
  7005. {
  7006. using Type = VULKAN_HPP_NAMESPACE::Queue;
  7007. };
  7008. template <>
  7009. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueue>
  7010. {
  7011. using Type = VULKAN_HPP_NAMESPACE::Queue;
  7012. };
  7013. template <>
  7014. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Queue>
  7015. {
  7016. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  7017. };
  7018. class Device
  7019. {
  7020. public:
  7021. using CType = VkDevice;
  7022. using NativeType = VkDevice;
  7023. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDevice;
  7024. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  7025. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDevice;
  7026. public:
  7027. VULKAN_HPP_CONSTEXPR Device() = default;
  7028. VULKAN_HPP_CONSTEXPR Device( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  7029. Device( VkDevice device ) VULKAN_HPP_NOEXCEPT : m_device( device ) {}
  7030. Device & operator=( VkDevice device ) VULKAN_HPP_NOEXCEPT
  7031. {
  7032. m_device = device;
  7033. return *this;
  7034. }
  7035. Device & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  7036. {
  7037. m_device = {};
  7038. return *this;
  7039. }
  7040. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  7041. auto operator<=>( Device const & ) const = default;
  7042. #else
  7043. bool operator==( Device const & rhs ) const VULKAN_HPP_NOEXCEPT
  7044. {
  7045. return m_device == rhs.m_device;
  7046. }
  7047. bool operator!=( Device const & rhs ) const VULKAN_HPP_NOEXCEPT
  7048. {
  7049. return m_device != rhs.m_device;
  7050. }
  7051. bool operator<( Device const & rhs ) const VULKAN_HPP_NOEXCEPT
  7052. {
  7053. return m_device < rhs.m_device;
  7054. }
  7055. #endif
  7056. //=== VK_VERSION_1_0 ===
  7057. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7058. PFN_vkVoidFunction getProcAddr( const char * pName, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7059. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7060. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7061. PFN_vkVoidFunction getProcAddr( const std::string & name, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7062. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7063. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7064. void destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7065. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7066. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7067. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7068. void destroy( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7069. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7070. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7071. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7072. void getQueue( uint32_t queueFamilyIndex,
  7073. uint32_t queueIndex,
  7074. VULKAN_HPP_NAMESPACE::Queue * pQueue,
  7075. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7076. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7077. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7078. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Queue
  7079. getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7080. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7081. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7082. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7083. VULKAN_HPP_NODISCARD Result waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7084. #else
  7085. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7086. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7087. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  7088. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7089. VULKAN_HPP_NODISCARD Result allocateMemory( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo * pAllocateInfo,
  7090. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7091. VULKAN_HPP_NAMESPACE::DeviceMemory * pMemory,
  7092. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7093. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7094. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7095. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceMemory>::type
  7096. allocateMemory( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo & allocateInfo,
  7097. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7098. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7099. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7100. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7101. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DeviceMemory, Dispatch>>::type
  7102. allocateMemoryUnique( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo & allocateInfo,
  7103. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7104. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7105. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7106. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7107. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7108. void freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7109. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7110. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7111. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7112. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7113. void freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7114. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7115. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7116. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7117. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7118. void( free )( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7119. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7120. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7121. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7122. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7123. void( free )( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7124. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7125. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7126. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7127. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7128. VULKAN_HPP_NODISCARD Result mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7129. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  7130. VULKAN_HPP_NAMESPACE::DeviceSize size,
  7131. VULKAN_HPP_NAMESPACE::MemoryMapFlags flags,
  7132. void ** ppData,
  7133. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7134. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7135. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7136. VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7137. VULKAN_HPP_NAMESPACE::DeviceSize offset,
  7138. VULKAN_HPP_NAMESPACE::DeviceSize size,
  7139. VULKAN_HPP_NAMESPACE::MemoryMapFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7140. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7141. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7142. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7143. void unmapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7144. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7145. VULKAN_HPP_NODISCARD Result flushMappedMemoryRanges( uint32_t memoryRangeCount,
  7146. const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,
  7147. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7148. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7149. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7150. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  7151. flushMappedMemoryRanges( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,
  7152. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7153. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7154. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7155. VULKAN_HPP_NODISCARD Result invalidateMappedMemoryRanges( uint32_t memoryRangeCount,
  7156. const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,
  7157. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7158. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7159. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7160. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  7161. invalidateMappedMemoryRanges( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,
  7162. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7163. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7164. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7165. void getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7166. VULKAN_HPP_NAMESPACE::DeviceSize * pCommittedMemoryInBytes,
  7167. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7168. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7169. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7170. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize
  7171. getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7172. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7173. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7174. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7175. VULKAN_HPP_NODISCARD Result bindBufferMemory( VULKAN_HPP_NAMESPACE::Buffer buffer,
  7176. VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7177. VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
  7178. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7179. #else
  7180. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7181. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  7182. bindBufferMemory( VULKAN_HPP_NAMESPACE::Buffer buffer,
  7183. VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7184. VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
  7185. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7186. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  7187. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7188. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7189. VULKAN_HPP_NODISCARD Result bindImageMemory( VULKAN_HPP_NAMESPACE::Image image,
  7190. VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7191. VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
  7192. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7193. #else
  7194. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7195. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  7196. bindImageMemory( VULKAN_HPP_NAMESPACE::Image image,
  7197. VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  7198. VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
  7199. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7200. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  7201. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7202. void getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer buffer,
  7203. VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,
  7204. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7205. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7206. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7207. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements
  7208. getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7209. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7210. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7211. void getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image,
  7212. VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,
  7213. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7214. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7215. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7216. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements
  7217. getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7218. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7219. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7220. void getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image,
  7221. uint32_t * pSparseMemoryRequirementCount,
  7222. VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements * pSparseMemoryRequirements,
  7223. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7224. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7225. template <typename SparseImageMemoryRequirementsAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements>,
  7226. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7227. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator>
  7228. getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7229. template <typename SparseImageMemoryRequirementsAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements>,
  7230. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7231. typename B1 = SparseImageMemoryRequirementsAllocator,
  7232. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageMemoryRequirements>::value, int>::type = 0>
  7233. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator>
  7234. getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image,
  7235. SparseImageMemoryRequirementsAllocator & sparseImageMemoryRequirementsAllocator,
  7236. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7237. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7238. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7239. VULKAN_HPP_NODISCARD Result createFence( const VULKAN_HPP_NAMESPACE::FenceCreateInfo * pCreateInfo,
  7240. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7241. VULKAN_HPP_NAMESPACE::Fence * pFence,
  7242. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7243. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7244. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7245. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
  7246. createFence( const VULKAN_HPP_NAMESPACE::FenceCreateInfo & createInfo,
  7247. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7248. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7249. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7250. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7251. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
  7252. createFenceUnique( const VULKAN_HPP_NAMESPACE::FenceCreateInfo & createInfo,
  7253. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7254. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7255. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7256. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7257. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7258. void destroyFence( VULKAN_HPP_NAMESPACE::Fence fence,
  7259. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7260. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7261. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7262. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7263. void destroyFence( VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7264. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7265. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7266. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7267. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7268. void destroy( VULKAN_HPP_NAMESPACE::Fence fence,
  7269. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7270. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7271. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7272. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7273. void destroy( VULKAN_HPP_NAMESPACE::Fence fence,
  7274. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7275. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7276. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7277. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7278. VULKAN_HPP_NODISCARD Result resetFences( uint32_t fenceCount,
  7279. const VULKAN_HPP_NAMESPACE::Fence * pFences,
  7280. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7281. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7282. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7283. typename ResultValueType<void>::type resetFences( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
  7284. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7285. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7286. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7287. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7288. VULKAN_HPP_NODISCARD Result getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence,
  7289. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7290. #else
  7291. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7292. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence,
  7293. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7294. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  7295. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7296. VULKAN_HPP_NODISCARD Result waitForFences( uint32_t fenceCount,
  7297. const VULKAN_HPP_NAMESPACE::Fence * pFences,
  7298. VULKAN_HPP_NAMESPACE::Bool32 waitAll,
  7299. uint64_t timeout,
  7300. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7301. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7302. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7303. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitForFences( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
  7304. VULKAN_HPP_NAMESPACE::Bool32 waitAll,
  7305. uint64_t timeout,
  7306. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7307. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7308. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7309. VULKAN_HPP_NODISCARD Result createSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo * pCreateInfo,
  7310. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7311. VULKAN_HPP_NAMESPACE::Semaphore * pSemaphore,
  7312. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7313. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7314. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7315. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Semaphore>::type
  7316. createSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo & createInfo,
  7317. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7318. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7319. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7320. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7321. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Semaphore, Dispatch>>::type
  7322. createSemaphoreUnique( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo & createInfo,
  7323. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7324. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7325. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7326. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7327. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7328. void destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
  7329. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7330. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7331. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7332. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7333. void destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7334. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7335. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7336. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7337. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7338. void destroy( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
  7339. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7340. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7341. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7342. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7343. void destroy( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
  7344. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7345. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7346. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7347. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7348. VULKAN_HPP_NODISCARD Result createEvent( const VULKAN_HPP_NAMESPACE::EventCreateInfo * pCreateInfo,
  7349. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7350. VULKAN_HPP_NAMESPACE::Event * pEvent,
  7351. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7352. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7353. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7354. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Event>::type
  7355. createEvent( const VULKAN_HPP_NAMESPACE::EventCreateInfo & createInfo,
  7356. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7357. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7358. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7359. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7360. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Event, Dispatch>>::type
  7361. createEventUnique( const VULKAN_HPP_NAMESPACE::EventCreateInfo & createInfo,
  7362. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7363. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7364. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7365. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7366. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7367. void destroyEvent( VULKAN_HPP_NAMESPACE::Event event,
  7368. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7369. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7370. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7371. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7372. void destroyEvent( VULKAN_HPP_NAMESPACE::Event event VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7373. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7374. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7375. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7376. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7377. void destroy( VULKAN_HPP_NAMESPACE::Event event,
  7378. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7379. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7380. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7381. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7382. void destroy( VULKAN_HPP_NAMESPACE::Event event,
  7383. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7384. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7385. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7386. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7387. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7388. VULKAN_HPP_NODISCARD Result getEventStatus( VULKAN_HPP_NAMESPACE::Event event,
  7389. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7390. #else
  7391. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7392. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getEventStatus( VULKAN_HPP_NAMESPACE::Event event,
  7393. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7394. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  7395. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7396. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7397. VULKAN_HPP_NODISCARD Result setEvent( VULKAN_HPP_NAMESPACE::Event event,
  7398. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7399. #else
  7400. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7401. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type setEvent( VULKAN_HPP_NAMESPACE::Event event,
  7402. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7403. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  7404. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7405. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7406. VULKAN_HPP_NODISCARD Result resetEvent( VULKAN_HPP_NAMESPACE::Event event,
  7407. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7408. #else
  7409. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7410. typename ResultValueType<void>::type resetEvent( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7411. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  7412. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7413. VULKAN_HPP_NODISCARD Result createQueryPool( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo * pCreateInfo,
  7414. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7415. VULKAN_HPP_NAMESPACE::QueryPool * pQueryPool,
  7416. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7417. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7418. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7419. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::QueryPool>::type
  7420. createQueryPool( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo & createInfo,
  7421. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7422. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7423. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7424. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7425. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::QueryPool, Dispatch>>::type
  7426. createQueryPoolUnique( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo & createInfo,
  7427. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7428. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7429. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7430. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7431. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7432. void destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  7433. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7434. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7435. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7436. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7437. void destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7438. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7439. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7440. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7441. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7442. void destroy( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  7443. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7444. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7445. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7446. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7447. void destroy( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  7448. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7449. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7450. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7451. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7452. VULKAN_HPP_NODISCARD Result getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  7453. uint32_t firstQuery,
  7454. uint32_t queryCount,
  7455. size_t dataSize,
  7456. void * pData,
  7457. VULKAN_HPP_NAMESPACE::DeviceSize stride,
  7458. VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
  7459. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7460. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7461. template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7462. VULKAN_HPP_NODISCARD ResultValue<std::vector<DataType, DataTypeAllocator>>
  7463. getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  7464. uint32_t firstQuery,
  7465. uint32_t queryCount,
  7466. size_t dataSize,
  7467. VULKAN_HPP_NAMESPACE::DeviceSize stride,
  7468. VULKAN_HPP_NAMESPACE::QueryResultFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7469. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7470. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7471. VULKAN_HPP_NODISCARD ResultValue<DataType> getQueryPoolResult( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  7472. uint32_t firstQuery,
  7473. uint32_t queryCount,
  7474. VULKAN_HPP_NAMESPACE::DeviceSize stride,
  7475. VULKAN_HPP_NAMESPACE::QueryResultFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7476. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7477. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7478. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7479. VULKAN_HPP_NODISCARD Result createBuffer( const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pCreateInfo,
  7480. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7481. VULKAN_HPP_NAMESPACE::Buffer * pBuffer,
  7482. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7483. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7484. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7485. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Buffer>::type
  7486. createBuffer( const VULKAN_HPP_NAMESPACE::BufferCreateInfo & createInfo,
  7487. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7488. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7489. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7490. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7491. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Buffer, Dispatch>>::type
  7492. createBufferUnique( const VULKAN_HPP_NAMESPACE::BufferCreateInfo & createInfo,
  7493. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7494. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7495. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7496. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7497. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7498. void destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer,
  7499. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7500. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7501. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7502. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7503. void destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7504. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7505. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7506. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7507. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7508. void destroy( VULKAN_HPP_NAMESPACE::Buffer buffer,
  7509. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7510. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7511. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7512. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7513. void destroy( VULKAN_HPP_NAMESPACE::Buffer buffer,
  7514. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7515. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7516. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7517. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7518. VULKAN_HPP_NODISCARD Result createBufferView( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo * pCreateInfo,
  7519. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7520. VULKAN_HPP_NAMESPACE::BufferView * pView,
  7521. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7522. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7523. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7524. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferView>::type
  7525. createBufferView( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo & createInfo,
  7526. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7527. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7528. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7529. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7530. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::BufferView, Dispatch>>::type
  7531. createBufferViewUnique( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo & createInfo,
  7532. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7533. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7534. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7535. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7536. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7537. void destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView bufferView,
  7538. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7539. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7540. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7541. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7542. void destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView bufferView VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7543. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7544. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7545. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7546. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7547. void destroy( VULKAN_HPP_NAMESPACE::BufferView bufferView,
  7548. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7549. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7550. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7551. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7552. void destroy( VULKAN_HPP_NAMESPACE::BufferView bufferView,
  7553. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7554. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7555. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7556. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7557. VULKAN_HPP_NODISCARD Result createImage( const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pCreateInfo,
  7558. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7559. VULKAN_HPP_NAMESPACE::Image * pImage,
  7560. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7561. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7562. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7563. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Image>::type
  7564. createImage( const VULKAN_HPP_NAMESPACE::ImageCreateInfo & createInfo,
  7565. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7566. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7567. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7568. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7569. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Image, Dispatch>>::type
  7570. createImageUnique( const VULKAN_HPP_NAMESPACE::ImageCreateInfo & createInfo,
  7571. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7572. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7573. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7574. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7575. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7576. void destroyImage( VULKAN_HPP_NAMESPACE::Image image,
  7577. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7578. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7579. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7580. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7581. void destroyImage( VULKAN_HPP_NAMESPACE::Image image VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7582. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7583. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7584. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7585. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7586. void destroy( VULKAN_HPP_NAMESPACE::Image image,
  7587. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7588. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7589. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7590. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7591. void destroy( VULKAN_HPP_NAMESPACE::Image image,
  7592. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7593. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7594. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7595. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7596. void getImageSubresourceLayout( VULKAN_HPP_NAMESPACE::Image image,
  7597. const VULKAN_HPP_NAMESPACE::ImageSubresource * pSubresource,
  7598. VULKAN_HPP_NAMESPACE::SubresourceLayout * pLayout,
  7599. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7600. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7601. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7602. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SubresourceLayout
  7603. getImageSubresourceLayout( VULKAN_HPP_NAMESPACE::Image image,
  7604. const VULKAN_HPP_NAMESPACE::ImageSubresource & subresource,
  7605. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7606. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7607. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7608. VULKAN_HPP_NODISCARD Result createImageView( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo * pCreateInfo,
  7609. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7610. VULKAN_HPP_NAMESPACE::ImageView * pView,
  7611. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7612. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7613. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7614. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageView>::type
  7615. createImageView( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo & createInfo,
  7616. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7617. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7618. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7619. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7620. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::ImageView, Dispatch>>::type
  7621. createImageViewUnique( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo & createInfo,
  7622. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7623. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7624. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7625. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7626. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7627. void destroyImageView( VULKAN_HPP_NAMESPACE::ImageView imageView,
  7628. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7629. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7630. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7631. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7632. void destroyImageView( VULKAN_HPP_NAMESPACE::ImageView imageView VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7633. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7634. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7635. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7636. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7637. void destroy( VULKAN_HPP_NAMESPACE::ImageView imageView,
  7638. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7639. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7640. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7641. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7642. void destroy( VULKAN_HPP_NAMESPACE::ImageView imageView,
  7643. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7644. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7645. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7646. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7647. VULKAN_HPP_NODISCARD Result createShaderModule( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,
  7648. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7649. VULKAN_HPP_NAMESPACE::ShaderModule * pShaderModule,
  7650. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7651. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7652. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7653. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ShaderModule>::type
  7654. createShaderModule( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,
  7655. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7656. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7657. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7658. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7659. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderModule, Dispatch>>::type
  7660. createShaderModuleUnique( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,
  7661. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7662. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7663. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7664. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7665. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7666. void destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
  7667. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7668. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7669. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7670. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7671. void destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7672. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7673. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7674. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7675. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7676. void destroy( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
  7677. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7678. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7679. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7680. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7681. void destroy( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
  7682. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7683. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7684. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7685. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7686. VULKAN_HPP_NODISCARD Result createPipelineCache( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo * pCreateInfo,
  7687. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7688. VULKAN_HPP_NAMESPACE::PipelineCache * pPipelineCache,
  7689. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7690. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7691. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7692. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineCache>::type
  7693. createPipelineCache( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo & createInfo,
  7694. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7695. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7696. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7697. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7698. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineCache, Dispatch>>::type
  7699. createPipelineCacheUnique( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo & createInfo,
  7700. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7701. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7702. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7703. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7704. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7705. void destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7706. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7707. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7708. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7709. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7710. void destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7711. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7712. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7713. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7714. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7715. void destroy( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7716. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7717. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7718. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7719. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7720. void destroy( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7721. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7722. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7723. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7724. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7725. VULKAN_HPP_NODISCARD Result getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7726. size_t * pDataSize,
  7727. void * pData,
  7728. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7729. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7730. template <typename Uint8_tAllocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7731. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
  7732. getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7733. template <typename Uint8_tAllocator = std::allocator<uint8_t>,
  7734. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7735. typename B1 = Uint8_tAllocator,
  7736. typename std::enable_if<std::is_same<typename B1::value_type, uint8_t>::value, int>::type = 0>
  7737. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
  7738. getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7739. Uint8_tAllocator & uint8_tAllocator,
  7740. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7741. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7742. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7743. VULKAN_HPP_NODISCARD Result mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache dstCache,
  7744. uint32_t srcCacheCount,
  7745. const VULKAN_HPP_NAMESPACE::PipelineCache * pSrcCaches,
  7746. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7747. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7748. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7749. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  7750. mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache dstCache,
  7751. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches,
  7752. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7753. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7754. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7755. VULKAN_HPP_NODISCARD Result createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7756. uint32_t createInfoCount,
  7757. const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo * pCreateInfos,
  7758. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7759. VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
  7760. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7761. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7762. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7763. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  7764. createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7765. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
  7766. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7767. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7768. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>,
  7769. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7770. typename B0 = PipelineAllocator,
  7771. typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type = 0>
  7772. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  7773. createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7774. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
  7775. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  7776. PipelineAllocator & pipelineAllocator,
  7777. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7778. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7779. VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
  7780. createGraphicsPipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7781. const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo & createInfo,
  7782. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7783. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7784. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7785. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7786. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>>
  7787. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  7788. createGraphicsPipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7789. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
  7790. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7791. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7792. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7793. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>,
  7794. typename B0 = PipelineAllocator,
  7795. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type = 0>
  7796. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  7797. createGraphicsPipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7798. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
  7799. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  7800. PipelineAllocator & pipelineAllocator,
  7801. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7802. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7803. VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
  7804. createGraphicsPipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7805. const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo & createInfo,
  7806. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7807. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7808. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7809. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7810. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7811. VULKAN_HPP_NODISCARD Result createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7812. uint32_t createInfoCount,
  7813. const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfos,
  7814. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7815. VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
  7816. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7817. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7818. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7819. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  7820. createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7821. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
  7822. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7823. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7824. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>,
  7825. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7826. typename B0 = PipelineAllocator,
  7827. typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type = 0>
  7828. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  7829. createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7830. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
  7831. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  7832. PipelineAllocator & pipelineAllocator,
  7833. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7834. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7835. VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
  7836. createComputePipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7837. const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,
  7838. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7839. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7840. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7841. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7842. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>>
  7843. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  7844. createComputePipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7845. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
  7846. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7847. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7848. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  7849. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>,
  7850. typename B0 = PipelineAllocator,
  7851. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type = 0>
  7852. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  7853. createComputePipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7854. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
  7855. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  7856. PipelineAllocator & pipelineAllocator,
  7857. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7858. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7859. VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
  7860. createComputePipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  7861. const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,
  7862. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7863. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7864. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7865. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7866. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7867. void destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  7868. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7869. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7870. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7871. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7872. void destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7873. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7874. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7875. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7876. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7877. void destroy( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  7878. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7879. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7880. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7881. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7882. void destroy( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  7883. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7884. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7885. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7886. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7887. VULKAN_HPP_NODISCARD Result createPipelineLayout( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo * pCreateInfo,
  7888. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7889. VULKAN_HPP_NAMESPACE::PipelineLayout * pPipelineLayout,
  7890. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7891. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7892. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7893. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineLayout>::type
  7894. createPipelineLayout( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo & createInfo,
  7895. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7896. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7897. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7898. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7899. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineLayout, Dispatch>>::type
  7900. createPipelineLayoutUnique( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo & createInfo,
  7901. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7902. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7903. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7904. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7905. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7906. void destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
  7907. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7908. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7909. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7910. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7911. void destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7912. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7913. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7914. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7915. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7916. void destroy( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
  7917. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7918. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7919. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7920. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7921. void destroy( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
  7922. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7923. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7924. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7925. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7926. VULKAN_HPP_NODISCARD Result createSampler( const VULKAN_HPP_NAMESPACE::SamplerCreateInfo * pCreateInfo,
  7927. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7928. VULKAN_HPP_NAMESPACE::Sampler * pSampler,
  7929. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7930. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7931. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7932. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Sampler>::type
  7933. createSampler( const VULKAN_HPP_NAMESPACE::SamplerCreateInfo & createInfo,
  7934. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7935. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7936. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7937. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7938. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Sampler, Dispatch>>::type
  7939. createSamplerUnique( const VULKAN_HPP_NAMESPACE::SamplerCreateInfo & createInfo,
  7940. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7941. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7942. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7943. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7944. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7945. void destroySampler( VULKAN_HPP_NAMESPACE::Sampler sampler,
  7946. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7947. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7948. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7949. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7950. void destroySampler( VULKAN_HPP_NAMESPACE::Sampler sampler VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7951. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7952. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7953. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7954. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7955. void destroy( VULKAN_HPP_NAMESPACE::Sampler sampler,
  7956. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7957. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7958. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7959. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7960. void destroy( VULKAN_HPP_NAMESPACE::Sampler sampler,
  7961. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7962. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7963. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7964. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7965. VULKAN_HPP_NODISCARD Result createDescriptorSetLayout( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
  7966. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7967. VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayout,
  7968. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7969. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7970. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7971. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>::type
  7972. createDescriptorSetLayout( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
  7973. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7974. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7975. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  7976. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7977. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSetLayout, Dispatch>>::type
  7978. createDescriptorSetLayoutUnique( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
  7979. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7980. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  7981. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  7982. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7983. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7984. void destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
  7985. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7986. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7987. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7988. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7989. void destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  7990. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  7991. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7992. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  7993. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7994. void destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
  7995. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  7996. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  7997. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  7998. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  7999. void destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
  8000. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8001. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8002. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8003. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8004. VULKAN_HPP_NODISCARD Result createDescriptorPool( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo * pCreateInfo,
  8005. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8006. VULKAN_HPP_NAMESPACE::DescriptorPool * pDescriptorPool,
  8007. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8008. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8009. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8010. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorPool>::type
  8011. createDescriptorPool( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo & createInfo,
  8012. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8013. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8014. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8015. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8016. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorPool, Dispatch>>::type
  8017. createDescriptorPoolUnique( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo & createInfo,
  8018. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8019. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8020. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8021. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8022. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8023. void destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8024. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8025. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8026. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8027. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8028. void destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8029. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8030. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8031. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8032. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8033. void destroy( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8034. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8035. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8036. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8037. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8038. void destroy( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8039. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8040. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8041. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8042. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8043. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8044. Result resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8045. VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,
  8046. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8047. #else
  8048. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8049. void resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8050. VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8051. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8052. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  8053. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8054. VULKAN_HPP_NODISCARD Result allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo * pAllocateInfo,
  8055. VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
  8056. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8057. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8058. template <typename DescriptorSetAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DescriptorSet>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8059. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator>>::type
  8060. allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,
  8061. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8062. template <typename DescriptorSetAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DescriptorSet>,
  8063. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8064. typename B0 = DescriptorSetAllocator,
  8065. typename std::enable_if<std::is_same<typename B0::value_type, DescriptorSet>::value, int>::type = 0>
  8066. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator>>::type
  8067. allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,
  8068. DescriptorSetAllocator & descriptorSetAllocator,
  8069. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8070. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8071. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8072. typename DescriptorSetAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>>>
  8073. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>, DescriptorSetAllocator>>::type
  8074. allocateDescriptorSetsUnique( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,
  8075. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8076. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8077. typename DescriptorSetAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>>,
  8078. typename B0 = DescriptorSetAllocator,
  8079. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<DescriptorSet, Dispatch>>::value, int>::type = 0>
  8080. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>, DescriptorSetAllocator>>::type
  8081. allocateDescriptorSetsUnique( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,
  8082. DescriptorSetAllocator & descriptorSetAllocator,
  8083. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8084. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8085. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8086. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8087. Result freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8088. uint32_t descriptorSetCount,
  8089. const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
  8090. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8091. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8092. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8093. void freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8094. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
  8095. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8096. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8097. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8098. Result( free )( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8099. uint32_t descriptorSetCount,
  8100. const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
  8101. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8102. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8103. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8104. void( free )( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
  8105. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
  8106. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8107. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8108. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8109. void updateDescriptorSets( uint32_t descriptorWriteCount,
  8110. const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,
  8111. uint32_t descriptorCopyCount,
  8112. const VULKAN_HPP_NAMESPACE::CopyDescriptorSet * pDescriptorCopies,
  8113. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8114. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8115. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8116. void updateDescriptorSets( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,
  8117. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies,
  8118. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8119. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8120. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8121. VULKAN_HPP_NODISCARD Result createFramebuffer( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo * pCreateInfo,
  8122. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8123. VULKAN_HPP_NAMESPACE::Framebuffer * pFramebuffer,
  8124. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8125. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8126. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8127. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Framebuffer>::type
  8128. createFramebuffer( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo & createInfo,
  8129. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8130. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8131. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8132. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8133. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Framebuffer, Dispatch>>::type
  8134. createFramebufferUnique( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo & createInfo,
  8135. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8136. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8137. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8138. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8139. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8140. void destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
  8141. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8142. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8143. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8144. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8145. void destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8146. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8147. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8148. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8149. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8150. void destroy( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
  8151. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8152. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8153. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8154. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8155. void destroy( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
  8156. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8157. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8158. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8159. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8160. VULKAN_HPP_NODISCARD Result createRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo * pCreateInfo,
  8161. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8162. VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass,
  8163. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8164. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8165. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8166. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
  8167. createRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo & createInfo,
  8168. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8169. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8170. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8171. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8172. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type
  8173. createRenderPassUnique( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo & createInfo,
  8174. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8175. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8176. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8177. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8178. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8179. void destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
  8180. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8181. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8182. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8183. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8184. void destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8185. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8186. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8187. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8188. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8189. void destroy( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
  8190. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8191. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8192. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8193. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8194. void destroy( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
  8195. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8196. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8197. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8198. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8199. void getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
  8200. VULKAN_HPP_NAMESPACE::Extent2D * pGranularity,
  8201. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8202. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8203. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8204. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Extent2D
  8205. getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
  8206. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8207. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8208. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8209. VULKAN_HPP_NODISCARD Result createCommandPool( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo * pCreateInfo,
  8210. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8211. VULKAN_HPP_NAMESPACE::CommandPool * pCommandPool,
  8212. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8213. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8214. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8215. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::CommandPool>::type
  8216. createCommandPool( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo & createInfo,
  8217. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8218. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8219. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8220. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8221. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandPool, Dispatch>>::type
  8222. createCommandPoolUnique( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo & createInfo,
  8223. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8224. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8225. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8226. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8227. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8228. void destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8229. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8230. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8231. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8232. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8233. void destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8234. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8235. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8236. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8237. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8238. void destroy( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8239. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8240. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8241. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8242. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8243. void destroy( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8244. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8245. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8246. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8247. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8248. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8249. VULKAN_HPP_NODISCARD Result resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8250. VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
  8251. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8252. #else
  8253. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8254. typename ResultValueType<void>::type resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8255. VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8256. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8257. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  8258. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8259. VULKAN_HPP_NODISCARD Result allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo * pAllocateInfo,
  8260. VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
  8261. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8262. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8263. template <typename CommandBufferAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CommandBuffer>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8264. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator>>::type
  8265. allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,
  8266. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8267. template <typename CommandBufferAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CommandBuffer>,
  8268. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8269. typename B0 = CommandBufferAllocator,
  8270. typename std::enable_if<std::is_same<typename B0::value_type, CommandBuffer>::value, int>::type = 0>
  8271. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator>>::type
  8272. allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,
  8273. CommandBufferAllocator & commandBufferAllocator,
  8274. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8275. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8276. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8277. typename CommandBufferAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>>>
  8278. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>, CommandBufferAllocator>>::type
  8279. allocateCommandBuffersUnique( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,
  8280. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8281. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8282. typename CommandBufferAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>>,
  8283. typename B0 = CommandBufferAllocator,
  8284. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<CommandBuffer, Dispatch>>::value, int>::type = 0>
  8285. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>, CommandBufferAllocator>>::type
  8286. allocateCommandBuffersUnique( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,
  8287. CommandBufferAllocator & commandBufferAllocator,
  8288. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8289. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8290. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8291. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8292. void freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8293. uint32_t commandBufferCount,
  8294. const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
  8295. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8296. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8297. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8298. void freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8299. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
  8300. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8301. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8302. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8303. void( free )( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8304. uint32_t commandBufferCount,
  8305. const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
  8306. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8307. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8308. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8309. void( free )( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8310. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
  8311. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8312. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8313. //=== VK_VERSION_1_1 ===
  8314. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8315. VULKAN_HPP_NODISCARD Result bindBufferMemory2( uint32_t bindInfoCount,
  8316. const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,
  8317. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8318. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8319. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8320. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  8321. bindBufferMemory2( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
  8322. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8323. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8324. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8325. VULKAN_HPP_NODISCARD Result bindImageMemory2( uint32_t bindInfoCount,
  8326. const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,
  8327. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8328. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8329. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8330. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  8331. bindImageMemory2( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
  8332. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8333. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8334. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8335. void getGroupPeerMemoryFeatures( uint32_t heapIndex,
  8336. uint32_t localDeviceIndex,
  8337. uint32_t remoteDeviceIndex,
  8338. VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,
  8339. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8340. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8341. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8342. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
  8343. getGroupPeerMemoryFeatures( uint32_t heapIndex,
  8344. uint32_t localDeviceIndex,
  8345. uint32_t remoteDeviceIndex,
  8346. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8347. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8348. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8349. void getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,
  8350. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  8351. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8352. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8353. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8354. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  8355. getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
  8356. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8357. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8358. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  8359. getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
  8360. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8361. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8362. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8363. void getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,
  8364. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  8365. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8366. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8367. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8368. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  8369. getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
  8370. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8371. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8372. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  8373. getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
  8374. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8375. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8376. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8377. void getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,
  8378. uint32_t * pSparseMemoryRequirementCount,
  8379. VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,
  8380. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8381. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8382. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  8383. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8384. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  8385. getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
  8386. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8387. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  8388. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8389. typename B1 = SparseImageMemoryRequirements2Allocator,
  8390. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageMemoryRequirements2>::value, int>::type = 0>
  8391. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  8392. getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
  8393. SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,
  8394. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8395. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8396. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8397. void trimCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  8398. VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
  8399. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8400. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8401. void getQueue2( const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 * pQueueInfo,
  8402. VULKAN_HPP_NAMESPACE::Queue * pQueue,
  8403. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8404. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8405. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8406. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Queue getQueue2( const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 & queueInfo,
  8407. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8408. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8409. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8410. VULKAN_HPP_NODISCARD Result createSamplerYcbcrConversion( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,
  8411. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8412. VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion,
  8413. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8414. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8415. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8416. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
  8417. createSamplerYcbcrConversion( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,
  8418. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8419. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8420. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8421. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8422. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>>::type
  8423. createSamplerYcbcrConversionUnique( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,
  8424. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8425. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8426. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8427. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8428. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8429. void destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
  8430. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8431. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8432. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8433. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8434. void destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8435. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8436. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8437. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8438. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8439. void destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
  8440. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8441. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8442. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8443. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8444. void destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
  8445. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8446. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8447. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8448. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8449. VULKAN_HPP_NODISCARD Result createDescriptorUpdateTemplate( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,
  8450. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8451. VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate,
  8452. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8453. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8454. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8455. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
  8456. createDescriptorUpdateTemplate( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,
  8457. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8458. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8459. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8460. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8461. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>>::type
  8462. createDescriptorUpdateTemplateUnique( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,
  8463. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8464. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8465. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8466. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8467. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8468. void destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  8469. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8470. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8471. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8472. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8473. void destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8474. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8475. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8476. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8477. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8478. void destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  8479. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8480. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8481. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8482. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8483. void destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  8484. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8485. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8486. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8487. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8488. void updateDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
  8489. VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  8490. const void * pData,
  8491. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8492. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8493. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8494. void updateDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
  8495. VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  8496. DataType const & data,
  8497. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8498. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8499. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8500. void getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
  8501. VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport * pSupport,
  8502. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8503. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8504. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8505. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
  8506. getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
  8507. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8508. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8509. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  8510. getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
  8511. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8512. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8513. //=== VK_VERSION_1_2 ===
  8514. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8515. VULKAN_HPP_NODISCARD Result createRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,
  8516. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8517. VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass,
  8518. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8519. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8520. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8521. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
  8522. createRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,
  8523. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8524. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8525. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8526. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8527. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type
  8528. createRenderPass2Unique( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,
  8529. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8530. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8531. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8532. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8533. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8534. void resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  8535. uint32_t firstQuery,
  8536. uint32_t queryCount,
  8537. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8538. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8539. VULKAN_HPP_NODISCARD Result getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
  8540. uint64_t * pValue,
  8541. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8542. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8543. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8544. VULKAN_HPP_NODISCARD typename ResultValueType<uint64_t>::type getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
  8545. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8546. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8547. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8548. VULKAN_HPP_NODISCARD Result waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,
  8549. uint64_t timeout,
  8550. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8551. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8552. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8553. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo,
  8554. uint64_t timeout,
  8555. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8556. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8557. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8558. VULKAN_HPP_NODISCARD Result signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,
  8559. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8560. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8561. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8562. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  8563. signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8564. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8565. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8566. DeviceAddress getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
  8567. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8568. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8569. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8570. VULKAN_HPP_NAMESPACE::DeviceAddress getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,
  8571. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8572. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8573. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8574. uint64_t getBufferOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
  8575. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8576. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8577. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8578. uint64_t getBufferOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,
  8579. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8580. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8581. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8582. uint64_t getMemoryOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,
  8583. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8584. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8585. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8586. uint64_t getMemoryOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo & info,
  8587. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8588. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8589. //=== VK_VERSION_1_3 ===
  8590. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8591. VULKAN_HPP_NODISCARD Result createPrivateDataSlot( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo * pCreateInfo,
  8592. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8593. VULKAN_HPP_NAMESPACE::PrivateDataSlot * pPrivateDataSlot,
  8594. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8595. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8596. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8597. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlot>::type
  8598. createPrivateDataSlot( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,
  8599. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8600. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8601. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8602. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8603. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlot, Dispatch>>::type
  8604. createPrivateDataSlotUnique( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,
  8605. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8606. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8607. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8608. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8609. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8610. void destroyPrivateDataSlot( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  8611. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8612. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8613. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8614. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8615. void destroyPrivateDataSlot( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8616. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8617. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8618. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8619. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8620. void destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  8621. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8622. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8623. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8624. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8625. void destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  8626. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8627. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8628. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8629. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8630. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8631. VULKAN_HPP_NODISCARD Result setPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  8632. uint64_t objectHandle,
  8633. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  8634. uint64_t data,
  8635. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8636. #else
  8637. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8638. typename ResultValueType<void>::type setPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  8639. uint64_t objectHandle,
  8640. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  8641. uint64_t data,
  8642. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8643. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  8644. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8645. void getPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  8646. uint64_t objectHandle,
  8647. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  8648. uint64_t * pData,
  8649. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8650. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8651. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8652. VULKAN_HPP_NODISCARD uint64_t getPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  8653. uint64_t objectHandle,
  8654. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  8655. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8656. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8657. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8658. void getBufferMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements * pInfo,
  8659. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  8660. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8661. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8662. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8663. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  8664. getBufferMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,
  8665. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8666. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8667. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  8668. getBufferMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,
  8669. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8670. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8671. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8672. void getImageMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,
  8673. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  8674. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8675. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8676. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8677. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  8678. getImageMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  8679. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8680. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8681. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  8682. getImageMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  8683. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8684. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8685. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8686. void getImageSparseMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,
  8687. uint32_t * pSparseMemoryRequirementCount,
  8688. VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,
  8689. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8690. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8691. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  8692. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8693. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  8694. getImageSparseMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  8695. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8696. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  8697. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8698. typename B1 = SparseImageMemoryRequirements2Allocator,
  8699. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageMemoryRequirements2>::value, int>::type = 0>
  8700. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  8701. getImageSparseMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  8702. SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,
  8703. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8704. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8705. //=== VK_KHR_swapchain ===
  8706. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8707. VULKAN_HPP_NODISCARD Result createSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfo,
  8708. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8709. VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchain,
  8710. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8711. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8712. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8713. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SwapchainKHR>::type
  8714. createSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,
  8715. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8716. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8717. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8718. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8719. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>::type
  8720. createSwapchainKHRUnique( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,
  8721. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8722. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8723. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8724. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8725. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8726. void destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  8727. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8728. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8729. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8730. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8731. void destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8732. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8733. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8734. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8735. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8736. void destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  8737. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8738. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8739. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8740. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8741. void destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  8742. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8743. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8744. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8745. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8746. VULKAN_HPP_NODISCARD Result getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  8747. uint32_t * pSwapchainImageCount,
  8748. VULKAN_HPP_NAMESPACE::Image * pSwapchainImages,
  8749. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8750. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8751. template <typename ImageAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Image>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8752. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Image, ImageAllocator>>::type
  8753. getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8754. template <typename ImageAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Image>,
  8755. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8756. typename B1 = ImageAllocator,
  8757. typename std::enable_if<std::is_same<typename B1::value_type, Image>::value, int>::type = 0>
  8758. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Image, ImageAllocator>>::type getSwapchainImagesKHR(
  8759. VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, ImageAllocator & imageAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8760. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8761. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8762. VULKAN_HPP_NODISCARD Result acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  8763. uint64_t timeout,
  8764. VULKAN_HPP_NAMESPACE::Semaphore semaphore,
  8765. VULKAN_HPP_NAMESPACE::Fence fence,
  8766. uint32_t * pImageIndex,
  8767. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8768. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8769. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8770. VULKAN_HPP_NODISCARD ResultValue<uint32_t> acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  8771. uint64_t timeout,
  8772. VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8773. VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8774. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8775. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8776. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8777. VULKAN_HPP_NODISCARD Result getGroupPresentCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities,
  8778. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8779. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8780. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8781. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR>::type
  8782. getGroupPresentCapabilitiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8783. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8784. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8785. VULKAN_HPP_NODISCARD Result getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  8786. VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes,
  8787. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8788. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8789. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8790. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
  8791. getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8792. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8793. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8794. VULKAN_HPP_NODISCARD Result acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR * pAcquireInfo,
  8795. uint32_t * pImageIndex,
  8796. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8797. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8798. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8799. VULKAN_HPP_NODISCARD ResultValue<uint32_t> acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo,
  8800. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8801. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8802. //=== VK_KHR_display_swapchain ===
  8803. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8804. VULKAN_HPP_NODISCARD Result createSharedSwapchainsKHR( uint32_t swapchainCount,
  8805. const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfos,
  8806. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8807. VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains,
  8808. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8809. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8810. template <typename SwapchainKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SwapchainKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8811. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator>>::type
  8812. createSharedSwapchainsKHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
  8813. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8814. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8815. template <typename SwapchainKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SwapchainKHR>,
  8816. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8817. typename B0 = SwapchainKHRAllocator,
  8818. typename std::enable_if<std::is_same<typename B0::value_type, SwapchainKHR>::value, int>::type = 0>
  8819. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator>>::type
  8820. createSharedSwapchainsKHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
  8821. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  8822. SwapchainKHRAllocator & swapchainKHRAllocator,
  8823. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8824. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8825. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SwapchainKHR>::type
  8826. createSharedSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,
  8827. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8828. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8829. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8830. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8831. typename SwapchainKHRAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>>
  8832. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>, SwapchainKHRAllocator>>::type
  8833. createSharedSwapchainsKHRUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
  8834. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8835. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8836. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8837. typename SwapchainKHRAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>,
  8838. typename B0 = SwapchainKHRAllocator,
  8839. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<SwapchainKHR, Dispatch>>::value, int>::type = 0>
  8840. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>, SwapchainKHRAllocator>>::type
  8841. createSharedSwapchainsKHRUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
  8842. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  8843. SwapchainKHRAllocator & swapchainKHRAllocator,
  8844. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8845. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8846. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>::type
  8847. createSharedSwapchainKHRUnique( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,
  8848. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8849. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8850. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8851. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8852. //=== VK_EXT_debug_marker ===
  8853. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8854. VULKAN_HPP_NODISCARD Result debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT * pTagInfo,
  8855. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8856. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8857. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8858. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  8859. debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT & tagInfo,
  8860. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8861. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8862. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8863. VULKAN_HPP_NODISCARD Result debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT * pNameInfo,
  8864. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8865. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8866. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8867. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  8868. debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT & nameInfo,
  8869. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8870. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8871. //=== VK_KHR_video_queue ===
  8872. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8873. VULKAN_HPP_NODISCARD Result createVideoSessionKHR( const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR * pCreateInfo,
  8874. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8875. VULKAN_HPP_NAMESPACE::VideoSessionKHR * pVideoSession,
  8876. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8877. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8878. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8879. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoSessionKHR>::type
  8880. createVideoSessionKHR( const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR & createInfo,
  8881. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8882. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8883. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8884. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8885. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::VideoSessionKHR, Dispatch>>::type
  8886. createVideoSessionKHRUnique( const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR & createInfo,
  8887. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8888. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8889. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8890. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8891. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8892. void destroyVideoSessionKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8893. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8894. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8895. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8896. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8897. void destroyVideoSessionKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8898. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8899. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8900. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8901. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8902. void destroy( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8903. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8904. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8905. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8906. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8907. void destroy( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8908. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8909. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8910. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8911. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8912. VULKAN_HPP_NODISCARD Result getVideoSessionMemoryRequirementsKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8913. uint32_t * pMemoryRequirementsCount,
  8914. VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR * pMemoryRequirements,
  8915. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8916. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8917. template <typename VideoSessionMemoryRequirementsKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR>,
  8918. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8919. VULKAN_HPP_NODISCARD
  8920. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR, VideoSessionMemoryRequirementsKHRAllocator>>::type
  8921. getVideoSessionMemoryRequirementsKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8922. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8923. template <typename VideoSessionMemoryRequirementsKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR>,
  8924. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  8925. typename B1 = VideoSessionMemoryRequirementsKHRAllocator,
  8926. typename std::enable_if<std::is_same<typename B1::value_type, VideoSessionMemoryRequirementsKHR>::value, int>::type = 0>
  8927. VULKAN_HPP_NODISCARD
  8928. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR, VideoSessionMemoryRequirementsKHRAllocator>>::type
  8929. getVideoSessionMemoryRequirementsKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8930. VideoSessionMemoryRequirementsKHRAllocator & videoSessionMemoryRequirementsKHRAllocator,
  8931. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8932. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8933. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8934. VULKAN_HPP_NODISCARD Result bindVideoSessionMemoryKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8935. uint32_t bindSessionMemoryInfoCount,
  8936. const VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos,
  8937. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8938. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8939. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8940. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  8941. bindVideoSessionMemoryKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,
  8942. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR> const & bindSessionMemoryInfos,
  8943. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8944. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8945. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8946. VULKAN_HPP_NODISCARD Result createVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR * pCreateInfo,
  8947. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8948. VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR * pVideoSessionParameters,
  8949. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8950. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8951. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8952. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>::type
  8953. createVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR & createInfo,
  8954. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8955. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8956. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  8957. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8958. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR, Dispatch>>::type
  8959. createVideoSessionParametersKHRUnique( const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR & createInfo,
  8960. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8961. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8962. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  8963. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8964. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8965. VULKAN_HPP_NODISCARD Result updateVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,
  8966. const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR * pUpdateInfo,
  8967. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8968. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8969. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8970. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  8971. updateVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,
  8972. const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR & updateInfo,
  8973. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  8974. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8975. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8976. void destroyVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,
  8977. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8978. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8979. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8980. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8981. void destroyVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  8982. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8983. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8984. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8985. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8986. void destroy( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,
  8987. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8988. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8989. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  8990. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8991. void destroy( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,
  8992. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  8993. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  8994. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  8995. //=== VK_NVX_binary_import ===
  8996. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  8997. VULKAN_HPP_NODISCARD Result createCuModuleNVX( const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX * pCreateInfo,
  8998. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  8999. VULKAN_HPP_NAMESPACE::CuModuleNVX * pModule,
  9000. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9001. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9002. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9003. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::CuModuleNVX>::type
  9004. createCuModuleNVX( const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX & createInfo,
  9005. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9006. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9007. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9008. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9009. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CuModuleNVX, Dispatch>>::type
  9010. createCuModuleNVXUnique( const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX & createInfo,
  9011. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9012. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9013. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9014. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9015. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9016. VULKAN_HPP_NODISCARD Result createCuFunctionNVX( const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX * pCreateInfo,
  9017. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9018. VULKAN_HPP_NAMESPACE::CuFunctionNVX * pFunction,
  9019. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9020. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9021. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9022. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::CuFunctionNVX>::type
  9023. createCuFunctionNVX( const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX & createInfo,
  9024. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9025. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9026. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9027. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9028. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CuFunctionNVX, Dispatch>>::type
  9029. createCuFunctionNVXUnique( const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX & createInfo,
  9030. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9031. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9032. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9033. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9034. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9035. void destroyCuModuleNVX( VULKAN_HPP_NAMESPACE::CuModuleNVX module,
  9036. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9037. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9038. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9039. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9040. void destroyCuModuleNVX( VULKAN_HPP_NAMESPACE::CuModuleNVX module,
  9041. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9042. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9043. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9044. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9045. void destroy( VULKAN_HPP_NAMESPACE::CuModuleNVX module,
  9046. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9047. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9048. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9049. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9050. void destroy( VULKAN_HPP_NAMESPACE::CuModuleNVX module,
  9051. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9052. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9053. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9054. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9055. void destroyCuFunctionNVX( VULKAN_HPP_NAMESPACE::CuFunctionNVX function,
  9056. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9057. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9058. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9059. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9060. void destroyCuFunctionNVX( VULKAN_HPP_NAMESPACE::CuFunctionNVX function,
  9061. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9062. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9063. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9064. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9065. void destroy( VULKAN_HPP_NAMESPACE::CuFunctionNVX function,
  9066. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9067. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9068. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9069. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9070. void destroy( VULKAN_HPP_NAMESPACE::CuFunctionNVX function,
  9071. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9072. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9073. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9074. //=== VK_NVX_image_view_handle ===
  9075. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9076. uint32_t getImageViewHandleNVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX * pInfo,
  9077. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9078. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9079. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9080. uint32_t getImageViewHandleNVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX & info,
  9081. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9082. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9083. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9084. VULKAN_HPP_NODISCARD Result getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView imageView,
  9085. VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX * pProperties,
  9086. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9087. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9088. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9089. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX>::type
  9090. getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView imageView, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9091. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9092. //=== VK_AMD_shader_info ===
  9093. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9094. VULKAN_HPP_NODISCARD Result getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9095. VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
  9096. VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,
  9097. size_t * pInfoSize,
  9098. void * pInfo,
  9099. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9100. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9101. template <typename Uint8_tAllocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9102. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
  9103. getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9104. VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
  9105. VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,
  9106. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9107. template <typename Uint8_tAllocator = std::allocator<uint8_t>,
  9108. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9109. typename B1 = Uint8_tAllocator,
  9110. typename std::enable_if<std::is_same<typename B1::value_type, uint8_t>::value, int>::type = 0>
  9111. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
  9112. getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9113. VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
  9114. VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,
  9115. Uint8_tAllocator & uint8_tAllocator,
  9116. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9117. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9118. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  9119. //=== VK_NV_external_memory_win32 ===
  9120. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9121. VULKAN_HPP_NODISCARD Result getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  9122. VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
  9123. HANDLE * pHandle,
  9124. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9125. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9126. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9127. VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  9128. VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
  9129. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9130. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9131. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  9132. //=== VK_KHR_device_group ===
  9133. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9134. void getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex,
  9135. uint32_t localDeviceIndex,
  9136. uint32_t remoteDeviceIndex,
  9137. VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,
  9138. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9139. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9140. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9141. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
  9142. getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex,
  9143. uint32_t localDeviceIndex,
  9144. uint32_t remoteDeviceIndex,
  9145. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9146. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9147. //=== VK_KHR_maintenance1 ===
  9148. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9149. void trimCommandPoolKHR( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
  9150. VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
  9151. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9152. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  9153. //=== VK_KHR_external_memory_win32 ===
  9154. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9155. VULKAN_HPP_NODISCARD Result getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,
  9156. HANDLE * pHandle,
  9157. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9158. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9159. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9160. VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type
  9161. getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR & getWin32HandleInfo,
  9162. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9163. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9164. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9165. VULKAN_HPP_NODISCARD Result getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
  9166. HANDLE handle,
  9167. VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties,
  9168. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9169. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9170. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9171. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR>::type getMemoryWin32HandlePropertiesKHR(
  9172. VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9173. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9174. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  9175. //=== VK_KHR_external_memory_fd ===
  9176. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9177. VULKAN_HPP_NODISCARD Result getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR * pGetFdInfo,
  9178. int * pFd,
  9179. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9180. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9181. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9182. VULKAN_HPP_NODISCARD typename ResultValueType<int>::type getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR & getFdInfo,
  9183. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9184. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9185. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9186. VULKAN_HPP_NODISCARD Result getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
  9187. int fd,
  9188. VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR * pMemoryFdProperties,
  9189. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9190. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9191. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9192. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR>::type getMemoryFdPropertiesKHR(
  9193. VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9194. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9195. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  9196. //=== VK_KHR_external_semaphore_win32 ===
  9197. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9198. VULKAN_HPP_NODISCARD Result importSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo,
  9199. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9200. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9201. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9202. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9203. importSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo,
  9204. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9205. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9206. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9207. VULKAN_HPP_NODISCARD Result getSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
  9208. HANDLE * pHandle,
  9209. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9210. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9211. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9212. VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type
  9213. getSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo,
  9214. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9215. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9216. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  9217. //=== VK_KHR_external_semaphore_fd ===
  9218. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9219. VULKAN_HPP_NODISCARD Result importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo,
  9220. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9221. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9222. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9223. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9224. importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo,
  9225. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9226. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9227. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9228. VULKAN_HPP_NODISCARD Result getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR * pGetFdInfo,
  9229. int * pFd,
  9230. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9231. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9232. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9233. VULKAN_HPP_NODISCARD typename ResultValueType<int>::type getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR & getFdInfo,
  9234. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9235. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9236. //=== VK_KHR_descriptor_update_template ===
  9237. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9238. VULKAN_HPP_NODISCARD Result createDescriptorUpdateTemplateKHR( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,
  9239. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9240. VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate,
  9241. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9242. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9243. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9244. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
  9245. createDescriptorUpdateTemplateKHR( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,
  9246. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9247. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9248. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9249. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9250. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>>::type
  9251. createDescriptorUpdateTemplateKHRUnique( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,
  9252. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
  9253. VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9254. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9255. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9256. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9257. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9258. void destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  9259. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9260. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9261. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9262. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9263. void destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  9264. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9265. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9266. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9267. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9268. void updateDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
  9269. VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  9270. const void * pData,
  9271. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9272. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9273. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9274. void updateDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
  9275. VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
  9276. DataType const & data,
  9277. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9278. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9279. //=== VK_EXT_display_control ===
  9280. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9281. VULKAN_HPP_NODISCARD Result displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  9282. const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT * pDisplayPowerInfo,
  9283. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9284. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9285. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9286. typename ResultValueType<void>::type displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  9287. const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT & displayPowerInfo,
  9288. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9289. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9290. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9291. VULKAN_HPP_NODISCARD Result registerEventEXT( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT * pDeviceEventInfo,
  9292. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9293. VULKAN_HPP_NAMESPACE::Fence * pFence,
  9294. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9295. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9296. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9297. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
  9298. registerEventEXT( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT & deviceEventInfo,
  9299. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9300. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9301. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9302. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9303. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
  9304. registerEventEXTUnique( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT & deviceEventInfo,
  9305. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9306. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9307. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9308. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9309. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9310. VULKAN_HPP_NODISCARD Result registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  9311. const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT * pDisplayEventInfo,
  9312. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9313. VULKAN_HPP_NAMESPACE::Fence * pFence,
  9314. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9315. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9316. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9317. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
  9318. registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  9319. const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT & displayEventInfo,
  9320. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9321. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9322. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9323. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9324. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
  9325. registerDisplayEventEXTUnique( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  9326. const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT & displayEventInfo,
  9327. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9328. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9329. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9330. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9331. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9332. VULKAN_HPP_NODISCARD Result getSwapchainCounterEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  9333. VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
  9334. uint64_t * pCounterValue,
  9335. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9336. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9337. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9338. VULKAN_HPP_NODISCARD typename ResultValueType<uint64_t>::type getSwapchainCounterEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  9339. VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
  9340. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9341. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9342. //=== VK_GOOGLE_display_timing ===
  9343. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9344. VULKAN_HPP_NODISCARD Result getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  9345. VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE * pDisplayTimingProperties,
  9346. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9347. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9348. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9349. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE>::type
  9350. getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9351. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9352. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9353. VULKAN_HPP_NODISCARD Result getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  9354. uint32_t * pPresentationTimingCount,
  9355. VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE * pPresentationTimings,
  9356. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9357. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9358. template <typename PastPresentationTimingGOOGLEAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE>,
  9359. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9360. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator>>::type
  9361. getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9362. template <typename PastPresentationTimingGOOGLEAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE>,
  9363. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9364. typename B1 = PastPresentationTimingGOOGLEAllocator,
  9365. typename std::enable_if<std::is_same<typename B1::value_type, PastPresentationTimingGOOGLE>::value, int>::type = 0>
  9366. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator>>::type
  9367. getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  9368. PastPresentationTimingGOOGLEAllocator & pastPresentationTimingGOOGLEAllocator,
  9369. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9370. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9371. //=== VK_EXT_hdr_metadata ===
  9372. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9373. void setHdrMetadataEXT( uint32_t swapchainCount,
  9374. const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains,
  9375. const VULKAN_HPP_NAMESPACE::HdrMetadataEXT * pMetadata,
  9376. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9377. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9378. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9379. void setHdrMetadataEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains,
  9380. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata,
  9381. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  9382. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9383. //=== VK_KHR_create_renderpass2 ===
  9384. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9385. VULKAN_HPP_NODISCARD Result createRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,
  9386. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9387. VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass,
  9388. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9389. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9390. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9391. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
  9392. createRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,
  9393. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9394. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9395. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9396. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9397. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type
  9398. createRenderPass2KHRUnique( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,
  9399. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9400. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9401. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9402. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9403. //=== VK_KHR_shared_presentable_image ===
  9404. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9405. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9406. VULKAN_HPP_NODISCARD Result getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  9407. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9408. #else
  9409. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9410. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  9411. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9412. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  9413. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  9414. //=== VK_KHR_external_fence_win32 ===
  9415. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9416. VULKAN_HPP_NODISCARD Result importFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo,
  9417. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9418. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9419. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9420. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9421. importFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo,
  9422. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9423. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9424. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9425. VULKAN_HPP_NODISCARD Result getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,
  9426. HANDLE * pHandle,
  9427. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9428. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9429. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9430. VULKAN_HPP_NODISCARD typename ResultValueType<HANDLE>::type
  9431. getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR & getWin32HandleInfo,
  9432. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9433. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9434. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  9435. //=== VK_KHR_external_fence_fd ===
  9436. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9437. VULKAN_HPP_NODISCARD Result importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR * pImportFenceFdInfo,
  9438. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9439. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9440. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9441. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9442. importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR & importFenceFdInfo,
  9443. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9444. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9445. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9446. VULKAN_HPP_NODISCARD Result getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR * pGetFdInfo,
  9447. int * pFd,
  9448. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9449. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9450. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9451. VULKAN_HPP_NODISCARD typename ResultValueType<int>::type getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR & getFdInfo,
  9452. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9453. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9454. //=== VK_KHR_performance_query ===
  9455. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9456. VULKAN_HPP_NODISCARD Result acquireProfilingLockKHR( const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR * pInfo,
  9457. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9458. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9459. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9460. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9461. acquireProfilingLockKHR( const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR & info,
  9462. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9463. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9464. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9465. void releaseProfilingLockKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9466. //=== VK_EXT_debug_utils ===
  9467. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9468. VULKAN_HPP_NODISCARD Result setDebugUtilsObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT * pNameInfo,
  9469. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9470. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9471. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9472. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9473. setDebugUtilsObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT & nameInfo,
  9474. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9475. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9476. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9477. VULKAN_HPP_NODISCARD Result setDebugUtilsObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT * pTagInfo,
  9478. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9479. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9480. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9481. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9482. setDebugUtilsObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT & tagInfo,
  9483. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9484. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9485. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  9486. //=== VK_ANDROID_external_memory_android_hardware_buffer ===
  9487. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9488. VULKAN_HPP_NODISCARD Result
  9489. getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer * buffer,
  9490. VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID * pProperties,
  9491. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9492. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9493. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9494. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>::type
  9495. getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9496. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9497. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type
  9498. getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9499. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9500. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9501. VULKAN_HPP_NODISCARD Result getMemoryAndroidHardwareBufferANDROID( const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
  9502. struct AHardwareBuffer ** pBuffer,
  9503. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9504. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9505. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9506. VULKAN_HPP_NODISCARD typename ResultValueType<struct AHardwareBuffer *>::type
  9507. getMemoryAndroidHardwareBufferANDROID( const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID & info,
  9508. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9509. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9510. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  9511. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  9512. //=== VK_AMDX_shader_enqueue ===
  9513. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9514. VULKAN_HPP_NODISCARD Result createExecutionGraphPipelinesAMDX( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9515. uint32_t createInfoCount,
  9516. const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
  9517. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9518. VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
  9519. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9520. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9521. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9522. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  9523. createExecutionGraphPipelinesAMDX( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9524. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,
  9525. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9526. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9527. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>,
  9528. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9529. typename B0 = PipelineAllocator,
  9530. typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type = 0>
  9531. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  9532. createExecutionGraphPipelinesAMDX( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9533. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,
  9534. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  9535. PipelineAllocator & pipelineAllocator,
  9536. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9537. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9538. VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
  9539. createExecutionGraphPipelineAMDX( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9540. const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX & createInfo,
  9541. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9542. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9543. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9544. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9545. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>>
  9546. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  9547. createExecutionGraphPipelinesAMDXUnique(
  9548. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9549. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,
  9550. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9551. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9552. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9553. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>,
  9554. typename B0 = PipelineAllocator,
  9555. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type = 0>
  9556. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  9557. createExecutionGraphPipelinesAMDXUnique(
  9558. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9559. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,
  9560. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  9561. PipelineAllocator & pipelineAllocator,
  9562. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9563. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9564. VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>> createExecutionGraphPipelineAMDXUnique(
  9565. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9566. const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX & createInfo,
  9567. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9568. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9569. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9570. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9571. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9572. VULKAN_HPP_NODISCARD Result
  9573. getExecutionGraphPipelineScratchSizeAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph,
  9574. VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineScratchSizeAMDX * pSizeInfo,
  9575. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9576. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9577. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9578. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineScratchSizeAMDX>::type
  9579. getExecutionGraphPipelineScratchSizeAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph,
  9580. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9581. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9582. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9583. VULKAN_HPP_NODISCARD Result getExecutionGraphPipelineNodeIndexAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph,
  9584. const VULKAN_HPP_NAMESPACE::PipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
  9585. uint32_t * pNodeIndex,
  9586. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9587. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9588. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9589. VULKAN_HPP_NODISCARD typename ResultValueType<uint32_t>::type
  9590. getExecutionGraphPipelineNodeIndexAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph,
  9591. const VULKAN_HPP_NAMESPACE::PipelineShaderStageNodeCreateInfoAMDX & nodeInfo,
  9592. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9593. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9594. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  9595. //=== VK_KHR_get_memory_requirements2 ===
  9596. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9597. void getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,
  9598. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  9599. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9600. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9601. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9602. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  9603. getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
  9604. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9605. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9606. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  9607. getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
  9608. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9609. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9610. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9611. void getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,
  9612. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  9613. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9614. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9615. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9616. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  9617. getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
  9618. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9619. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9620. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  9621. getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
  9622. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9623. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9624. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9625. void getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,
  9626. uint32_t * pSparseMemoryRequirementCount,
  9627. VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,
  9628. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9629. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9630. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  9631. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9632. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  9633. getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
  9634. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9635. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  9636. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9637. typename B1 = SparseImageMemoryRequirements2Allocator,
  9638. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageMemoryRequirements2>::value, int>::type = 0>
  9639. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  9640. getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
  9641. SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,
  9642. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9643. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9644. //=== VK_KHR_acceleration_structure ===
  9645. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9646. VULKAN_HPP_NODISCARD Result createAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR * pCreateInfo,
  9647. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9648. VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructure,
  9649. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9650. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9651. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9652. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>::type
  9653. createAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR & createInfo,
  9654. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9655. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9656. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9657. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9658. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR, Dispatch>>::type
  9659. createAccelerationStructureKHRUnique( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR & createInfo,
  9660. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9661. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9662. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9663. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9664. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9665. void destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
  9666. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9667. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9668. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9669. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9670. void destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  9671. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9672. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9673. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9674. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9675. void destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
  9676. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9677. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9678. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9679. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9680. void destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
  9681. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9682. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9683. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9684. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9685. VULKAN_HPP_NODISCARD Result buildAccelerationStructuresKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9686. uint32_t infoCount,
  9687. const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos,
  9688. const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos,
  9689. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9690. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9691. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9692. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result buildAccelerationStructuresKHR(
  9693. VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9694. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,
  9695. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos,
  9696. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9697. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9698. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9699. VULKAN_HPP_NODISCARD Result copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9700. const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo,
  9701. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9702. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9703. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9704. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9705. const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR & info,
  9706. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9707. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9708. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9709. VULKAN_HPP_NODISCARD Result copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9710. const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,
  9711. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9712. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9713. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9714. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
  9715. copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9716. const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR & info,
  9717. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9718. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9719. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9720. VULKAN_HPP_NODISCARD Result copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9721. const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,
  9722. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9723. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9724. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9725. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
  9726. copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9727. const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR & info,
  9728. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9729. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9730. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9731. VULKAN_HPP_NODISCARD Result
  9732. writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount,
  9733. const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
  9734. VULKAN_HPP_NAMESPACE::QueryType queryType,
  9735. size_t dataSize,
  9736. void * pData,
  9737. size_t stride,
  9738. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9739. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9740. template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9741. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type writeAccelerationStructuresPropertiesKHR(
  9742. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
  9743. VULKAN_HPP_NAMESPACE::QueryType queryType,
  9744. size_t dataSize,
  9745. size_t stride,
  9746. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9747. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9748. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type writeAccelerationStructuresPropertyKHR(
  9749. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
  9750. VULKAN_HPP_NAMESPACE::QueryType queryType,
  9751. size_t stride,
  9752. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9753. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9754. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9755. DeviceAddress getAccelerationStructureAddressKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR * pInfo,
  9756. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9757. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9758. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9759. VULKAN_HPP_NAMESPACE::DeviceAddress
  9760. getAccelerationStructureAddressKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR & info,
  9761. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9762. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9763. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9764. void getAccelerationStructureCompatibilityKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR * pVersionInfo,
  9765. VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR * pCompatibility,
  9766. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9767. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9768. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9769. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR
  9770. getAccelerationStructureCompatibilityKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR & versionInfo,
  9771. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9772. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9773. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9774. void getAccelerationStructureBuildSizesKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
  9775. const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
  9776. const uint32_t * pMaxPrimitiveCounts,
  9777. VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR * pSizeInfo,
  9778. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9779. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9780. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9781. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR getAccelerationStructureBuildSizesKHR(
  9782. VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
  9783. const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR & buildInfo,
  9784. VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & maxPrimitiveCounts VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9785. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
  9786. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9787. //=== VK_KHR_ray_tracing_pipeline ===
  9788. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9789. VULKAN_HPP_NODISCARD Result createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9790. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9791. uint32_t createInfoCount,
  9792. const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,
  9793. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9794. VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
  9795. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9796. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9797. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9798. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  9799. createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9800. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9801. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
  9802. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9803. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9804. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>,
  9805. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9806. typename B0 = PipelineAllocator,
  9807. typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type = 0>
  9808. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  9809. createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9810. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9811. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
  9812. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  9813. PipelineAllocator & pipelineAllocator,
  9814. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9815. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9816. VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
  9817. createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9818. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9819. const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
  9820. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9821. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9822. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9823. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9824. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>>
  9825. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  9826. createRayTracingPipelinesKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9827. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9828. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
  9829. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9830. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9831. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  9832. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>,
  9833. typename B0 = PipelineAllocator,
  9834. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type = 0>
  9835. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  9836. createRayTracingPipelinesKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9837. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9838. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
  9839. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  9840. PipelineAllocator & pipelineAllocator,
  9841. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9842. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9843. VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
  9844. createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  9845. VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  9846. const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
  9847. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9848. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9849. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9850. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9851. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9852. VULKAN_HPP_NODISCARD Result getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9853. uint32_t firstGroup,
  9854. uint32_t groupCount,
  9855. size_t dataSize,
  9856. void * pData,
  9857. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9858. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9859. template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9860. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
  9861. getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9862. uint32_t firstGroup,
  9863. uint32_t groupCount,
  9864. size_t dataSize,
  9865. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9866. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9867. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleKHR(
  9868. VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9869. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9870. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9871. VULKAN_HPP_NODISCARD Result
  9872. getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9873. uint32_t firstGroup,
  9874. uint32_t groupCount,
  9875. size_t dataSize,
  9876. void * pData,
  9877. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9878. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9879. template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9880. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
  9881. getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9882. uint32_t firstGroup,
  9883. uint32_t groupCount,
  9884. size_t dataSize,
  9885. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9886. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9887. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingCaptureReplayShaderGroupHandleKHR(
  9888. VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9889. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9890. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9891. DeviceSize getRayTracingShaderGroupStackSizeKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  9892. uint32_t group,
  9893. VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,
  9894. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9895. //=== VK_KHR_sampler_ycbcr_conversion ===
  9896. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9897. VULKAN_HPP_NODISCARD Result createSamplerYcbcrConversionKHR( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,
  9898. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9899. VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion,
  9900. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9901. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9902. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9903. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
  9904. createSamplerYcbcrConversionKHR( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,
  9905. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9906. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9907. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9908. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9909. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>>::type
  9910. createSamplerYcbcrConversionKHRUnique( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,
  9911. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9912. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9913. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9914. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9915. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9916. void destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
  9917. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9918. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9919. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9920. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9921. void destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  9922. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9923. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9924. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9925. //=== VK_KHR_bind_memory2 ===
  9926. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9927. VULKAN_HPP_NODISCARD Result bindBufferMemory2KHR( uint32_t bindInfoCount,
  9928. const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,
  9929. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9930. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9931. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9932. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9933. bindBufferMemory2KHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
  9934. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9935. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9936. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9937. VULKAN_HPP_NODISCARD Result bindImageMemory2KHR( uint32_t bindInfoCount,
  9938. const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,
  9939. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9940. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9941. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9942. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  9943. bindImageMemory2KHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
  9944. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9945. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9946. //=== VK_EXT_image_drm_format_modifier ===
  9947. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9948. VULKAN_HPP_NODISCARD Result getImageDrmFormatModifierPropertiesEXT( VULKAN_HPP_NAMESPACE::Image image,
  9949. VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT * pProperties,
  9950. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9951. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9952. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9953. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>::type
  9954. getImageDrmFormatModifierPropertiesEXT( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9955. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9956. //=== VK_EXT_validation_cache ===
  9957. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9958. VULKAN_HPP_NODISCARD Result createValidationCacheEXT( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT * pCreateInfo,
  9959. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9960. VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pValidationCache,
  9961. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9962. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9963. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9964. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::type
  9965. createValidationCacheEXT( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT & createInfo,
  9966. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9967. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9968. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  9969. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9970. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::ValidationCacheEXT, Dispatch>>::type
  9971. createValidationCacheEXTUnique( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT & createInfo,
  9972. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9973. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  9974. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  9975. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9976. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9977. void destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
  9978. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9979. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9980. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9981. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9982. void destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  9983. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9984. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9985. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9986. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9987. void destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
  9988. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  9989. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9990. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  9991. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9992. void destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
  9993. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  9994. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  9995. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  9996. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  9997. VULKAN_HPP_NODISCARD Result mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache,
  9998. uint32_t srcCacheCount,
  9999. const VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pSrcCaches,
  10000. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10001. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10002. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10003. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10004. mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache,
  10005. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches,
  10006. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10007. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10008. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10009. VULKAN_HPP_NODISCARD Result getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
  10010. size_t * pDataSize,
  10011. void * pData,
  10012. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10013. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10014. template <typename Uint8_tAllocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10015. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
  10016. getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10017. template <typename Uint8_tAllocator = std::allocator<uint8_t>,
  10018. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10019. typename B1 = Uint8_tAllocator,
  10020. typename std::enable_if<std::is_same<typename B1::value_type, uint8_t>::value, int>::type = 0>
  10021. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
  10022. getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
  10023. Uint8_tAllocator & uint8_tAllocator,
  10024. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10025. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10026. //=== VK_NV_ray_tracing ===
  10027. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10028. VULKAN_HPP_NODISCARD Result createAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV * pCreateInfo,
  10029. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10030. VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructure,
  10031. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10032. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10033. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10034. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::type
  10035. createAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV & createInfo,
  10036. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10037. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10038. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  10039. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10040. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::AccelerationStructureNV, Dispatch>>::type
  10041. createAccelerationStructureNVUnique( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV & createInfo,
  10042. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10043. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10044. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  10045. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10046. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10047. void destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
  10048. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10049. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10050. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10051. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10052. void destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  10053. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10054. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10055. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10056. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10057. void destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
  10058. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10059. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10060. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10061. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10062. void destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
  10063. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10064. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10065. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10066. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10067. void getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV * pInfo,
  10068. VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR * pMemoryRequirements,
  10069. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10070. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10071. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10072. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR
  10073. getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info,
  10074. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10075. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10076. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  10077. getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info,
  10078. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10079. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10080. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10081. VULKAN_HPP_NODISCARD Result bindAccelerationStructureMemoryNV( uint32_t bindInfoCount,
  10082. const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV * pBindInfos,
  10083. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10084. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10085. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10086. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10087. bindAccelerationStructureMemoryNV( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const & bindInfos,
  10088. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10089. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10090. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10091. VULKAN_HPP_NODISCARD Result createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  10092. uint32_t createInfoCount,
  10093. const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV * pCreateInfos,
  10094. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10095. VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
  10096. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10097. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10098. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10099. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  10100. createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  10101. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
  10102. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10103. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10104. template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>,
  10105. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10106. typename B0 = PipelineAllocator,
  10107. typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type = 0>
  10108. VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
  10109. createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  10110. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
  10111. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  10112. PipelineAllocator & pipelineAllocator,
  10113. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10114. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10115. VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
  10116. createRayTracingPipelineNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  10117. const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo,
  10118. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10119. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10120. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  10121. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10122. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>>
  10123. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  10124. createRayTracingPipelinesNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  10125. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
  10126. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10127. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10128. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10129. typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>,
  10130. typename B0 = PipelineAllocator,
  10131. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type = 0>
  10132. VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
  10133. createRayTracingPipelinesNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  10134. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
  10135. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  10136. PipelineAllocator & pipelineAllocator,
  10137. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10138. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10139. VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
  10140. createRayTracingPipelineNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
  10141. const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo,
  10142. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10143. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10144. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  10145. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10146. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10147. VULKAN_HPP_NODISCARD Result getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  10148. uint32_t firstGroup,
  10149. uint32_t groupCount,
  10150. size_t dataSize,
  10151. void * pData,
  10152. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10153. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10154. template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10155. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
  10156. getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  10157. uint32_t firstGroup,
  10158. uint32_t groupCount,
  10159. size_t dataSize,
  10160. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10161. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10162. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleNV(
  10163. VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10164. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10165. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10166. VULKAN_HPP_NODISCARD Result getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
  10167. size_t dataSize,
  10168. void * pData,
  10169. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10170. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10171. template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10172. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type getAccelerationStructureHandleNV(
  10173. VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, size_t dataSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10174. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10175. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
  10176. getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
  10177. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10178. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10179. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10180. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10181. VULKAN_HPP_NODISCARD Result compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
  10182. uint32_t shader,
  10183. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10184. #else
  10185. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10186. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10187. compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10188. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10189. //=== VK_KHR_maintenance3 ===
  10190. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10191. void getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
  10192. VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport * pSupport,
  10193. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10194. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10195. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10196. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
  10197. getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
  10198. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10199. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10200. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  10201. getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
  10202. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10203. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10204. //=== VK_EXT_external_memory_host ===
  10205. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10206. VULKAN_HPP_NODISCARD Result getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
  10207. const void * pHostPointer,
  10208. VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties,
  10209. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10210. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10211. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10212. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT>::type
  10213. getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
  10214. const void * pHostPointer,
  10215. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10216. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10217. //=== VK_EXT_calibrated_timestamps ===
  10218. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10219. VULKAN_HPP_NODISCARD Result getCalibratedTimestampsEXT( uint32_t timestampCount,
  10220. const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT * pTimestampInfos,
  10221. uint64_t * pTimestamps,
  10222. uint64_t * pMaxDeviation,
  10223. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10224. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10225. template <typename Uint64_tAllocator = std::allocator<uint64_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10226. VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type
  10227. getCalibratedTimestampsEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos,
  10228. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10229. template <typename Uint64_tAllocator = std::allocator<uint64_t>,
  10230. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10231. typename B0 = Uint64_tAllocator,
  10232. typename std::enable_if<std::is_same<typename B0::value_type, uint64_t>::value, int>::type = 0>
  10233. VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type
  10234. getCalibratedTimestampsEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos,
  10235. Uint64_tAllocator & uint64_tAllocator,
  10236. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10237. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10238. VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<uint64_t, uint64_t>>::type
  10239. getCalibratedTimestampEXT( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT & timestampInfo,
  10240. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10241. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10242. //=== VK_KHR_timeline_semaphore ===
  10243. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10244. VULKAN_HPP_NODISCARD Result getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
  10245. uint64_t * pValue,
  10246. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10247. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10248. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10249. VULKAN_HPP_NODISCARD typename ResultValueType<uint64_t>::type
  10250. getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10251. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10252. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10253. VULKAN_HPP_NODISCARD Result waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,
  10254. uint64_t timeout,
  10255. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10256. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10257. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10258. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo,
  10259. uint64_t timeout,
  10260. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10261. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10262. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10263. VULKAN_HPP_NODISCARD Result signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,
  10264. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10265. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10266. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10267. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10268. signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10269. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10270. //=== VK_INTEL_performance_query ===
  10271. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10272. VULKAN_HPP_NODISCARD Result initializePerformanceApiINTEL( const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL * pInitializeInfo,
  10273. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10274. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10275. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10276. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10277. initializePerformanceApiINTEL( const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL & initializeInfo,
  10278. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10279. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10280. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10281. void uninitializePerformanceApiINTEL( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10282. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10283. VULKAN_HPP_NODISCARD Result acquirePerformanceConfigurationINTEL( const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
  10284. VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL * pConfiguration,
  10285. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10286. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10287. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10288. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>::type
  10289. acquirePerformanceConfigurationINTEL( const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL & acquireInfo,
  10290. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10291. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  10292. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10293. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL, Dispatch>>::type
  10294. acquirePerformanceConfigurationINTELUnique( const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL & acquireInfo,
  10295. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10296. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  10297. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10298. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10299. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10300. VULKAN_HPP_NODISCARD Result releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
  10301. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10302. #else
  10303. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10304. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10305. releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  10306. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10307. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10308. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10309. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10310. VULKAN_HPP_NODISCARD Result release( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
  10311. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10312. #else
  10313. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10314. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type release( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
  10315. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10316. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10317. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10318. VULKAN_HPP_NODISCARD Result getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
  10319. VULKAN_HPP_NAMESPACE::PerformanceValueINTEL * pValue,
  10320. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10321. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10322. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10323. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL>::type
  10324. getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
  10325. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10326. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10327. //=== VK_AMD_display_native_hdr ===
  10328. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10329. void setLocalDimmingAMD( VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain,
  10330. VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable,
  10331. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10332. //=== VK_EXT_buffer_device_address ===
  10333. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10334. DeviceAddress getBufferAddressEXT( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
  10335. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10336. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10337. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10338. VULKAN_HPP_NAMESPACE::DeviceAddress getBufferAddressEXT( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,
  10339. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10340. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10341. //=== VK_KHR_present_wait ===
  10342. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10343. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10344. VULKAN_HPP_NODISCARD Result waitForPresentKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  10345. uint64_t presentId,
  10346. uint64_t timeout,
  10347. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10348. #else
  10349. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10350. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitForPresentKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  10351. uint64_t presentId,
  10352. uint64_t timeout,
  10353. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10354. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10355. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  10356. //=== VK_EXT_full_screen_exclusive ===
  10357. # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10358. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10359. VULKAN_HPP_NODISCARD Result acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  10360. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10361. # else
  10362. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10363. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10364. acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10365. # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10366. # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10367. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10368. VULKAN_HPP_NODISCARD Result releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  10369. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10370. # else
  10371. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10372. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10373. releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10374. # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10375. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10376. VULKAN_HPP_NODISCARD Result getGroupSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  10377. VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes,
  10378. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10379. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10380. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10381. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
  10382. getGroupSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  10383. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10384. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10385. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  10386. //=== VK_KHR_buffer_device_address ===
  10387. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10388. DeviceAddress getBufferAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
  10389. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10390. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10391. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10392. VULKAN_HPP_NAMESPACE::DeviceAddress getBufferAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,
  10393. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10394. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10395. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10396. uint64_t getBufferOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
  10397. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10398. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10399. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10400. uint64_t getBufferOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,
  10401. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10402. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10403. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10404. uint64_t getMemoryOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,
  10405. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10406. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10407. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10408. uint64_t getMemoryOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo & info,
  10409. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10410. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10411. //=== VK_EXT_host_query_reset ===
  10412. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10413. void resetQueryPoolEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
  10414. uint32_t firstQuery,
  10415. uint32_t queryCount,
  10416. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10417. //=== VK_KHR_deferred_host_operations ===
  10418. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10419. VULKAN_HPP_NODISCARD Result createDeferredOperationKHR( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10420. VULKAN_HPP_NAMESPACE::DeferredOperationKHR * pDeferredOperation,
  10421. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10422. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10423. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10424. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::type
  10425. createDeferredOperationKHR( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10426. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10427. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  10428. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10429. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DeferredOperationKHR, Dispatch>>::type
  10430. createDeferredOperationKHRUnique( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10431. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10432. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  10433. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10434. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10435. void destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10436. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10437. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10438. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10439. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10440. void destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  10441. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10442. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10443. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10444. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10445. void destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10446. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10447. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10448. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10449. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10450. void destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10451. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10452. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10453. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10454. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10455. uint32_t getDeferredOperationMaxConcurrencyKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10456. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10457. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10458. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10459. VULKAN_HPP_NODISCARD Result getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10460. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10461. #else
  10462. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10463. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
  10464. getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10465. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10466. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10467. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10468. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10469. VULKAN_HPP_NODISCARD Result deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10470. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10471. #else
  10472. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10473. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
  10474. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10475. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10476. //=== VK_KHR_pipeline_executable_properties ===
  10477. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10478. VULKAN_HPP_NODISCARD Result getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR * pPipelineInfo,
  10479. uint32_t * pExecutableCount,
  10480. VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR * pProperties,
  10481. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10482. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10483. template <typename PipelineExecutablePropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>,
  10484. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10485. VULKAN_HPP_NODISCARD
  10486. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR, PipelineExecutablePropertiesKHRAllocator>>::type
  10487. getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo,
  10488. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10489. template <typename PipelineExecutablePropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>,
  10490. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10491. typename B1 = PipelineExecutablePropertiesKHRAllocator,
  10492. typename std::enable_if<std::is_same<typename B1::value_type, PipelineExecutablePropertiesKHR>::value, int>::type = 0>
  10493. VULKAN_HPP_NODISCARD
  10494. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR, PipelineExecutablePropertiesKHRAllocator>>::type
  10495. getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo,
  10496. PipelineExecutablePropertiesKHRAllocator & pipelineExecutablePropertiesKHRAllocator,
  10497. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10498. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10499. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10500. VULKAN_HPP_NODISCARD Result getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo,
  10501. uint32_t * pStatisticCount,
  10502. VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR * pStatistics,
  10503. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10504. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10505. template <typename PipelineExecutableStatisticKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR>,
  10506. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10507. VULKAN_HPP_NODISCARD
  10508. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR, PipelineExecutableStatisticKHRAllocator>>::type
  10509. getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,
  10510. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10511. template <typename PipelineExecutableStatisticKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR>,
  10512. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10513. typename B1 = PipelineExecutableStatisticKHRAllocator,
  10514. typename std::enable_if<std::is_same<typename B1::value_type, PipelineExecutableStatisticKHR>::value, int>::type = 0>
  10515. VULKAN_HPP_NODISCARD
  10516. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR, PipelineExecutableStatisticKHRAllocator>>::type
  10517. getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,
  10518. PipelineExecutableStatisticKHRAllocator & pipelineExecutableStatisticKHRAllocator,
  10519. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10520. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10521. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10522. VULKAN_HPP_NODISCARD Result
  10523. getPipelineExecutableInternalRepresentationsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo,
  10524. uint32_t * pInternalRepresentationCount,
  10525. VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR * pInternalRepresentations,
  10526. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10527. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10528. template <typename PipelineExecutableInternalRepresentationKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>,
  10529. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10530. VULKAN_HPP_NODISCARD typename ResultValueType<
  10531. std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR, PipelineExecutableInternalRepresentationKHRAllocator>>::type
  10532. getPipelineExecutableInternalRepresentationsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,
  10533. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10534. template <typename PipelineExecutableInternalRepresentationKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>,
  10535. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10536. typename B1 = PipelineExecutableInternalRepresentationKHRAllocator,
  10537. typename std::enable_if<std::is_same<typename B1::value_type, PipelineExecutableInternalRepresentationKHR>::value, int>::type = 0>
  10538. VULKAN_HPP_NODISCARD typename ResultValueType<
  10539. std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR, PipelineExecutableInternalRepresentationKHRAllocator>>::type
  10540. getPipelineExecutableInternalRepresentationsKHR(
  10541. const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,
  10542. PipelineExecutableInternalRepresentationKHRAllocator & pipelineExecutableInternalRepresentationKHRAllocator,
  10543. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10544. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10545. //=== VK_EXT_host_image_copy ===
  10546. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10547. VULKAN_HPP_NODISCARD Result copyMemoryToImageEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo,
  10548. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10549. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10550. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10551. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10552. copyMemoryToImageEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfoEXT & copyMemoryToImageInfo,
  10553. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10554. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10555. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10556. VULKAN_HPP_NODISCARD Result copyImageToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo,
  10557. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10558. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10559. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10560. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10561. copyImageToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfoEXT & copyImageToMemoryInfo,
  10562. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10563. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10564. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10565. VULKAN_HPP_NODISCARD Result copyImageToImageEXT( const VULKAN_HPP_NAMESPACE::CopyImageToImageInfoEXT * pCopyImageToImageInfo,
  10566. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10567. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10568. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10569. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10570. copyImageToImageEXT( const VULKAN_HPP_NAMESPACE::CopyImageToImageInfoEXT & copyImageToImageInfo,
  10571. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10572. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10573. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10574. VULKAN_HPP_NODISCARD Result transitionImageLayoutEXT( uint32_t transitionCount,
  10575. const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfoEXT * pTransitions,
  10576. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10577. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10578. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10579. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10580. transitionImageLayoutEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfoEXT> const & transitions,
  10581. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10582. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10583. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10584. void getImageSubresourceLayout2EXT( VULKAN_HPP_NAMESPACE::Image image,
  10585. const VULKAN_HPP_NAMESPACE::ImageSubresource2KHR * pSubresource,
  10586. VULKAN_HPP_NAMESPACE::SubresourceLayout2KHR * pLayout,
  10587. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10588. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10589. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10590. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SubresourceLayout2KHR
  10591. getImageSubresourceLayout2EXT( VULKAN_HPP_NAMESPACE::Image image,
  10592. const VULKAN_HPP_NAMESPACE::ImageSubresource2KHR & subresource,
  10593. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10594. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10595. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  10596. getImageSubresourceLayout2EXT( VULKAN_HPP_NAMESPACE::Image image,
  10597. const VULKAN_HPP_NAMESPACE::ImageSubresource2KHR & subresource,
  10598. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10599. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10600. //=== VK_KHR_map_memory2 ===
  10601. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10602. VULKAN_HPP_NODISCARD Result mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR * pMemoryMapInfo,
  10603. void ** ppData,
  10604. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10605. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10606. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10607. VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR & memoryMapInfo,
  10608. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10609. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10610. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10611. Result unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR * pMemoryUnmapInfo,
  10612. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10613. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10614. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10615. void unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR & memoryUnmapInfo,
  10616. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10617. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10618. //=== VK_EXT_swapchain_maintenance1 ===
  10619. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10620. VULKAN_HPP_NODISCARD Result releaseSwapchainImagesEXT( const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT * pReleaseInfo,
  10621. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10622. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10623. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10624. typename ResultValueType<void>::type releaseSwapchainImagesEXT( const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT & releaseInfo,
  10625. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10626. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10627. //=== VK_NV_device_generated_commands ===
  10628. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10629. void getGeneratedCommandsMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV * pInfo,
  10630. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  10631. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10632. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10633. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10634. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  10635. getGeneratedCommandsMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV & info,
  10636. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10637. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10638. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  10639. getGeneratedCommandsMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV & info,
  10640. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10641. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10642. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10643. VULKAN_HPP_NODISCARD Result createIndirectCommandsLayoutNV( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV * pCreateInfo,
  10644. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10645. VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV * pIndirectCommandsLayout,
  10646. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10647. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10648. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10649. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>::type
  10650. createIndirectCommandsLayoutNV( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV & createInfo,
  10651. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10652. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10653. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  10654. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10655. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV, Dispatch>>::type
  10656. createIndirectCommandsLayoutNVUnique( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV & createInfo,
  10657. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10658. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10659. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  10660. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10661. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10662. void destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
  10663. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10664. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10665. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10666. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10667. void destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  10668. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10669. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10670. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10671. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10672. void destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
  10673. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10674. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10675. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10676. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10677. void destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
  10678. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10679. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10680. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10681. //=== VK_EXT_private_data ===
  10682. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10683. VULKAN_HPP_NODISCARD Result createPrivateDataSlotEXT( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo * pCreateInfo,
  10684. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10685. VULKAN_HPP_NAMESPACE::PrivateDataSlot * pPrivateDataSlot,
  10686. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10687. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10688. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10689. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlot>::type
  10690. createPrivateDataSlotEXT( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,
  10691. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10692. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10693. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  10694. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10695. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlot, Dispatch>>::type
  10696. createPrivateDataSlotEXTUnique( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,
  10697. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10698. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10699. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  10700. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10701. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10702. void destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  10703. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10704. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10705. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10706. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10707. void destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  10708. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10709. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10710. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10711. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10712. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10713. VULKAN_HPP_NODISCARD Result setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  10714. uint64_t objectHandle,
  10715. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  10716. uint64_t data,
  10717. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10718. #else
  10719. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10720. typename ResultValueType<void>::type setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  10721. uint64_t objectHandle,
  10722. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  10723. uint64_t data,
  10724. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10725. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  10726. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10727. void getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  10728. uint64_t objectHandle,
  10729. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  10730. uint64_t * pData,
  10731. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10732. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10733. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10734. VULKAN_HPP_NODISCARD uint64_t getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_,
  10735. uint64_t objectHandle,
  10736. VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
  10737. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10738. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10739. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  10740. //=== VK_KHR_video_encode_queue ===
  10741. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10742. VULKAN_HPP_NODISCARD Result
  10743. getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
  10744. VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,
  10745. size_t * pDataSize,
  10746. void * pData,
  10747. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10748. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10749. template <typename Uint8_tAllocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10750. VULKAN_HPP_NODISCARD
  10751. typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t, Uint8_tAllocator>>>::type
  10752. getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,
  10753. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10754. template <typename Uint8_tAllocator = std::allocator<uint8_t>,
  10755. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10756. typename B2 = Uint8_tAllocator,
  10757. typename std::enable_if<std::is_same<typename B2::value_type, uint8_t>::value, int>::type = 0>
  10758. VULKAN_HPP_NODISCARD
  10759. typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t, Uint8_tAllocator>>>::type
  10760. getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,
  10761. Uint8_tAllocator & uint8_tAllocator,
  10762. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10763. template <typename X,
  10764. typename Y,
  10765. typename... Z,
  10766. typename Uint8_tAllocator = std::allocator<uint8_t>,
  10767. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10768. VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>, std::vector<uint8_t, Uint8_tAllocator>>>::type
  10769. getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,
  10770. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10771. template <typename X,
  10772. typename Y,
  10773. typename... Z,
  10774. typename Uint8_tAllocator = std::allocator<uint8_t>,
  10775. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  10776. typename B2 = Uint8_tAllocator,
  10777. typename std::enable_if<std::is_same<typename B2::value_type, uint8_t>::value, int>::type = 0>
  10778. VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>, std::vector<uint8_t, Uint8_tAllocator>>>::type
  10779. getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,
  10780. Uint8_tAllocator & uint8_tAllocator,
  10781. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10782. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10783. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  10784. #if defined( VK_USE_PLATFORM_METAL_EXT )
  10785. //=== VK_EXT_metal_objects ===
  10786. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10787. void exportMetalObjectsEXT( VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT * pMetalObjectsInfo,
  10788. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10789. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10790. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10791. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT
  10792. exportMetalObjectsEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10793. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10794. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  10795. exportMetalObjectsEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10796. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10797. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  10798. //=== VK_EXT_descriptor_buffer ===
  10799. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10800. void getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
  10801. VULKAN_HPP_NAMESPACE::DeviceSize * pLayoutSizeInBytes,
  10802. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10803. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10804. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10805. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize
  10806. getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
  10807. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10808. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10809. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10810. void getDescriptorSetLayoutBindingOffsetEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
  10811. uint32_t binding,
  10812. VULKAN_HPP_NAMESPACE::DeviceSize * pOffset,
  10813. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10814. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10815. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10816. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize
  10817. getDescriptorSetLayoutBindingOffsetEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
  10818. uint32_t binding,
  10819. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10820. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10821. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10822. void getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT * pDescriptorInfo,
  10823. size_t dataSize,
  10824. void * pDescriptor,
  10825. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10826. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10827. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10828. void getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo,
  10829. size_t dataSize,
  10830. void * pDescriptor,
  10831. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10832. template <typename DescriptorType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10833. VULKAN_HPP_NODISCARD DescriptorType getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo,
  10834. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10835. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10836. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10837. VULKAN_HPP_NODISCARD Result
  10838. getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT * pInfo,
  10839. void * pData,
  10840. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10841. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10842. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10843. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
  10844. getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT & info,
  10845. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10846. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10847. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10848. VULKAN_HPP_NODISCARD Result getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT * pInfo,
  10849. void * pData,
  10850. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10851. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10852. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10853. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
  10854. getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT & info,
  10855. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10856. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10857. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10858. VULKAN_HPP_NODISCARD Result
  10859. getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT * pInfo,
  10860. void * pData,
  10861. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10862. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10863. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10864. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
  10865. getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT & info,
  10866. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10867. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10868. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10869. VULKAN_HPP_NODISCARD Result
  10870. getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT * pInfo,
  10871. void * pData,
  10872. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10873. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10874. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10875. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
  10876. getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT & info,
  10877. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10878. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10879. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10880. VULKAN_HPP_NODISCARD Result
  10881. getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
  10882. void * pData,
  10883. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10884. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10885. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10886. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
  10887. getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info,
  10888. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10889. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10890. //=== VK_EXT_device_fault ===
  10891. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10892. VULKAN_HPP_NODISCARD Result getFaultInfoEXT( VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT * pFaultCounts,
  10893. VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT * pFaultInfo,
  10894. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10895. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10896. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10897. VULKAN_HPP_NODISCARD ResultValue<std::pair<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT, VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT>>
  10898. getFaultInfoEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10899. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10900. #if defined( VK_USE_PLATFORM_FUCHSIA )
  10901. //=== VK_FUCHSIA_external_memory ===
  10902. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10903. VULKAN_HPP_NODISCARD Result getMemoryZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
  10904. zx_handle_t * pZirconHandle,
  10905. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10906. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10907. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10908. VULKAN_HPP_NODISCARD typename ResultValueType<zx_handle_t>::type
  10909. getMemoryZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,
  10910. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10911. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10912. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10913. VULKAN_HPP_NODISCARD Result
  10914. getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
  10915. zx_handle_t zirconHandle,
  10916. VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties,
  10917. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10918. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10919. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10920. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>::type
  10921. getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
  10922. zx_handle_t zirconHandle,
  10923. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10924. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10925. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  10926. #if defined( VK_USE_PLATFORM_FUCHSIA )
  10927. //=== VK_FUCHSIA_external_semaphore ===
  10928. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10929. VULKAN_HPP_NODISCARD Result
  10930. importSemaphoreZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo,
  10931. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10932. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10933. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10934. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10935. importSemaphoreZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo,
  10936. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10937. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10938. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10939. VULKAN_HPP_NODISCARD Result getSemaphoreZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
  10940. zx_handle_t * pZirconHandle,
  10941. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10942. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10943. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10944. VULKAN_HPP_NODISCARD typename ResultValueType<zx_handle_t>::type
  10945. getSemaphoreZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,
  10946. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10947. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10948. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  10949. #if defined( VK_USE_PLATFORM_FUCHSIA )
  10950. //=== VK_FUCHSIA_buffer_collection ===
  10951. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10952. VULKAN_HPP_NODISCARD Result createBufferCollectionFUCHSIA( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA * pCreateInfo,
  10953. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10954. VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA * pCollection,
  10955. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10956. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10957. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10958. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>::type
  10959. createBufferCollectionFUCHSIA( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA & createInfo,
  10960. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10961. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10962. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  10963. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10964. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA, Dispatch>>::type
  10965. createBufferCollectionFUCHSIAUnique( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA & createInfo,
  10966. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  10967. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10968. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  10969. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10970. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10971. VULKAN_HPP_NODISCARD Result
  10972. setBufferCollectionImageConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  10973. const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA * pImageConstraintsInfo,
  10974. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10975. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10976. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10977. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10978. setBufferCollectionImageConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  10979. const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA & imageConstraintsInfo,
  10980. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10981. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10982. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10983. VULKAN_HPP_NODISCARD Result
  10984. setBufferCollectionBufferConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  10985. const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo,
  10986. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10987. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10988. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10989. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  10990. setBufferCollectionBufferConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  10991. const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA & bufferConstraintsInfo,
  10992. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  10993. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  10994. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  10995. void destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  10996. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  10997. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  10998. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  10999. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11000. void destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  11001. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11002. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11003. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11004. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11005. void destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  11006. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11007. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11008. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11009. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11010. void destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  11011. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11012. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11013. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11014. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11015. VULKAN_HPP_NODISCARD Result getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  11016. VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA * pProperties,
  11017. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11018. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11019. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11020. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA>::type
  11021. getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
  11022. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11023. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11024. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  11025. //=== VK_HUAWEI_subpass_shading ===
  11026. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11027. VULKAN_HPP_NODISCARD Result
  11028. getSubpassShadingMaxWorkgroupSizeHUAWEI( VULKAN_HPP_NAMESPACE::RenderPass renderpass,
  11029. VULKAN_HPP_NAMESPACE::Extent2D * pMaxWorkgroupSize,
  11030. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11031. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11032. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11033. VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Extent2D>
  11034. getSubpassShadingMaxWorkgroupSizeHUAWEI( VULKAN_HPP_NAMESPACE::RenderPass renderpass, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11035. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11036. //=== VK_NV_external_memory_rdma ===
  11037. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11038. VULKAN_HPP_NODISCARD Result getMemoryRemoteAddressNV( const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
  11039. VULKAN_HPP_NAMESPACE::RemoteAddressNV * pAddress,
  11040. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11041. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11042. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11043. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::RemoteAddressNV>::type
  11044. getMemoryRemoteAddressNV( const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV & memoryGetRemoteAddressInfo,
  11045. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11046. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11047. //=== VK_EXT_pipeline_properties ===
  11048. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11049. VULKAN_HPP_NODISCARD Result getPipelinePropertiesEXT( const VULKAN_HPP_NAMESPACE::PipelineInfoEXT * pPipelineInfo,
  11050. VULKAN_HPP_NAMESPACE::BaseOutStructure * pPipelineProperties,
  11051. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11052. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11053. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11054. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::BaseOutStructure>::type
  11055. getPipelinePropertiesEXT( const VULKAN_HPP_NAMESPACE::PipelineInfoEXT & pipelineInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11056. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11057. //=== VK_EXT_opacity_micromap ===
  11058. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11059. VULKAN_HPP_NODISCARD Result createMicromapEXT( const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT * pCreateInfo,
  11060. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11061. VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromap,
  11062. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11063. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11064. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11065. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::MicromapEXT>::type
  11066. createMicromapEXT( const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT & createInfo,
  11067. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11068. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11069. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  11070. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11071. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::MicromapEXT, Dispatch>>::type
  11072. createMicromapEXTUnique( const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT & createInfo,
  11073. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11074. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11075. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  11076. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11077. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11078. void destroyMicromapEXT( VULKAN_HPP_NAMESPACE::MicromapEXT micromap,
  11079. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11080. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11081. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11082. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11083. void destroyMicromapEXT( VULKAN_HPP_NAMESPACE::MicromapEXT micromap VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  11084. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11085. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11086. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11087. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11088. void destroy( VULKAN_HPP_NAMESPACE::MicromapEXT micromap,
  11089. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11090. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11091. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11092. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11093. void destroy( VULKAN_HPP_NAMESPACE::MicromapEXT micromap,
  11094. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11095. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11096. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11097. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11098. VULKAN_HPP_NODISCARD Result buildMicromapsEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11099. uint32_t infoCount,
  11100. const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pInfos,
  11101. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11102. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11103. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11104. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
  11105. buildMicromapsEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11106. VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT> const & infos,
  11107. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11108. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11109. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11110. VULKAN_HPP_NODISCARD Result copyMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11111. const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT * pInfo,
  11112. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11113. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11114. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11115. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result copyMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11116. const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT & info,
  11117. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11118. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11119. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11120. VULKAN_HPP_NODISCARD Result copyMicromapToMemoryEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11121. const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT * pInfo,
  11122. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11123. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11124. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11125. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result copyMicromapToMemoryEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11126. const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT & info,
  11127. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11128. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11129. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11130. VULKAN_HPP_NODISCARD Result copyMemoryToMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11131. const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT * pInfo,
  11132. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11133. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11134. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11135. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result copyMemoryToMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
  11136. const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT & info,
  11137. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11138. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11139. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11140. VULKAN_HPP_NODISCARD Result writeMicromapsPropertiesEXT( uint32_t micromapCount,
  11141. const VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromaps,
  11142. VULKAN_HPP_NAMESPACE::QueryType queryType,
  11143. size_t dataSize,
  11144. void * pData,
  11145. size_t stride,
  11146. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11147. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11148. template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11149. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
  11150. writeMicromapsPropertiesEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps,
  11151. VULKAN_HPP_NAMESPACE::QueryType queryType,
  11152. size_t dataSize,
  11153. size_t stride,
  11154. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11155. template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11156. VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
  11157. writeMicromapsPropertyEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps,
  11158. VULKAN_HPP_NAMESPACE::QueryType queryType,
  11159. size_t stride,
  11160. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11161. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11162. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11163. void getMicromapCompatibilityEXT( const VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT * pVersionInfo,
  11164. VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR * pCompatibility,
  11165. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11166. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11167. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11168. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR
  11169. getMicromapCompatibilityEXT( const VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT & versionInfo,
  11170. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11171. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11172. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11173. void getMicromapBuildSizesEXT( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
  11174. const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pBuildInfo,
  11175. VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT * pSizeInfo,
  11176. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11177. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11178. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11179. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT
  11180. getMicromapBuildSizesEXT( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
  11181. const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT & buildInfo,
  11182. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11183. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11184. //=== VK_EXT_pageable_device_local_memory ===
  11185. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11186. void setMemoryPriorityEXT( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
  11187. float priority,
  11188. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11189. //=== VK_KHR_maintenance4 ===
  11190. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11191. void getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements * pInfo,
  11192. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  11193. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11194. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11195. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11196. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  11197. getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,
  11198. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11199. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11200. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11201. getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,
  11202. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11203. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11204. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11205. void getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,
  11206. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  11207. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11208. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11209. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11210. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  11211. getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  11212. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11213. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11214. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11215. getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  11216. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11217. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11218. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11219. void getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,
  11220. uint32_t * pSparseMemoryRequirementCount,
  11221. VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,
  11222. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11223. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11224. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  11225. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11226. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  11227. getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  11228. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11229. template <typename SparseImageMemoryRequirements2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>,
  11230. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11231. typename B1 = SparseImageMemoryRequirements2Allocator,
  11232. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageMemoryRequirements2>::value, int>::type = 0>
  11233. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
  11234. getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,
  11235. SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,
  11236. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11237. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11238. //=== VK_VALVE_descriptor_set_host_mapping ===
  11239. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11240. void getDescriptorSetLayoutHostMappingInfoVALVE( const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE * pBindingReference,
  11241. VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE * pHostMapping,
  11242. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11243. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11244. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11245. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE
  11246. getDescriptorSetLayoutHostMappingInfoVALVE( const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE & bindingReference,
  11247. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11248. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11249. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11250. void getDescriptorSetHostMappingVALVE( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
  11251. void ** ppData,
  11252. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11253. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11254. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11255. VULKAN_HPP_NODISCARD void * getDescriptorSetHostMappingVALVE( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
  11256. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11257. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11258. //=== VK_NV_device_generated_commands_compute ===
  11259. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11260. void getPipelineIndirectMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfo,
  11261. VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
  11262. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11263. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11264. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11265. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
  11266. getPipelineIndirectMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,
  11267. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11268. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11269. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11270. getPipelineIndirectMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,
  11271. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11272. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11273. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11274. DeviceAddress getPipelineIndirectAddressNV( const VULKAN_HPP_NAMESPACE::PipelineIndirectDeviceAddressInfoNV * pInfo,
  11275. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11276. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11277. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11278. VULKAN_HPP_NAMESPACE::DeviceAddress getPipelineIndirectAddressNV( const VULKAN_HPP_NAMESPACE::PipelineIndirectDeviceAddressInfoNV & info,
  11279. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11280. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11281. //=== VK_EXT_shader_module_identifier ===
  11282. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11283. void getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
  11284. VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,
  11285. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11286. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11287. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11288. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT
  11289. getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
  11290. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11291. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11292. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11293. void getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,
  11294. VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,
  11295. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11296. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11297. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11298. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT
  11299. getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,
  11300. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11301. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11302. //=== VK_NV_optical_flow ===
  11303. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11304. VULKAN_HPP_NODISCARD Result createOpticalFlowSessionNV( const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV * pCreateInfo,
  11305. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11306. VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV * pSession,
  11307. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11308. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11309. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11310. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV>::type
  11311. createOpticalFlowSessionNV( const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV & createInfo,
  11312. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11313. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11314. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  11315. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11316. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV, Dispatch>>::type
  11317. createOpticalFlowSessionNVUnique( const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV & createInfo,
  11318. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11319. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11320. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  11321. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11322. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11323. void destroyOpticalFlowSessionNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  11324. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11325. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11326. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11327. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11328. void destroyOpticalFlowSessionNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  11329. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11330. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11331. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11332. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11333. void destroy( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  11334. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11335. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11336. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11337. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11338. void destroy( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  11339. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11340. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11341. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11342. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11343. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11344. VULKAN_HPP_NODISCARD Result bindOpticalFlowSessionImageNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  11345. VULKAN_HPP_NAMESPACE::OpticalFlowSessionBindingPointNV bindingPoint,
  11346. VULKAN_HPP_NAMESPACE::ImageView view,
  11347. VULKAN_HPP_NAMESPACE::ImageLayout layout,
  11348. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11349. #else
  11350. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11351. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  11352. bindOpticalFlowSessionImageNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,
  11353. VULKAN_HPP_NAMESPACE::OpticalFlowSessionBindingPointNV bindingPoint,
  11354. VULKAN_HPP_NAMESPACE::ImageView view,
  11355. VULKAN_HPP_NAMESPACE::ImageLayout layout,
  11356. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11357. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  11358. //=== VK_KHR_maintenance5 ===
  11359. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11360. void getRenderingAreaGranularityKHR( const VULKAN_HPP_NAMESPACE::RenderingAreaInfoKHR * pRenderingAreaInfo,
  11361. VULKAN_HPP_NAMESPACE::Extent2D * pGranularity,
  11362. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11363. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11364. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11365. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Extent2D
  11366. getRenderingAreaGranularityKHR( const VULKAN_HPP_NAMESPACE::RenderingAreaInfoKHR & renderingAreaInfo,
  11367. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11368. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11369. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11370. void getImageSubresourceLayoutKHR( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfoKHR * pInfo,
  11371. VULKAN_HPP_NAMESPACE::SubresourceLayout2KHR * pLayout,
  11372. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11373. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11374. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11375. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SubresourceLayout2KHR
  11376. getImageSubresourceLayoutKHR( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfoKHR & info,
  11377. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11378. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11379. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11380. getImageSubresourceLayoutKHR( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfoKHR & info,
  11381. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11382. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11383. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11384. void getImageSubresourceLayout2KHR( VULKAN_HPP_NAMESPACE::Image image,
  11385. const VULKAN_HPP_NAMESPACE::ImageSubresource2KHR * pSubresource,
  11386. VULKAN_HPP_NAMESPACE::SubresourceLayout2KHR * pLayout,
  11387. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11388. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11389. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11390. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SubresourceLayout2KHR
  11391. getImageSubresourceLayout2KHR( VULKAN_HPP_NAMESPACE::Image image,
  11392. const VULKAN_HPP_NAMESPACE::ImageSubresource2KHR & subresource,
  11393. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11394. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11395. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11396. getImageSubresourceLayout2KHR( VULKAN_HPP_NAMESPACE::Image image,
  11397. const VULKAN_HPP_NAMESPACE::ImageSubresource2KHR & subresource,
  11398. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11399. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11400. //=== VK_EXT_shader_object ===
  11401. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11402. VULKAN_HPP_NODISCARD Result createShadersEXT( uint32_t createInfoCount,
  11403. const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT * pCreateInfos,
  11404. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11405. VULKAN_HPP_NAMESPACE::ShaderEXT * pShaders,
  11406. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11407. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11408. template <typename ShaderEXTAllocator = std::allocator<VULKAN_HPP_NAMESPACE::ShaderEXT>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11409. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator>>::type
  11410. createShadersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,
  11411. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11412. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11413. template <typename ShaderEXTAllocator = std::allocator<VULKAN_HPP_NAMESPACE::ShaderEXT>,
  11414. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11415. typename B0 = ShaderEXTAllocator,
  11416. typename std::enable_if<std::is_same<typename B0::value_type, ShaderEXT>::value, int>::type = 0>
  11417. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator>>::type
  11418. createShadersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,
  11419. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  11420. ShaderEXTAllocator & shaderEXTAllocator,
  11421. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11422. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11423. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ShaderEXT>::type
  11424. createShaderEXT( const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT & createInfo,
  11425. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11426. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11427. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  11428. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11429. typename ShaderEXTAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>>>
  11430. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator>>::type
  11431. createShadersEXTUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,
  11432. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11433. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11434. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11435. typename ShaderEXTAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>>,
  11436. typename B0 = ShaderEXTAllocator,
  11437. typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<ShaderEXT, Dispatch>>::value, int>::type = 0>
  11438. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator>>::type
  11439. createShadersEXTUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,
  11440. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
  11441. ShaderEXTAllocator & shaderEXTAllocator,
  11442. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11443. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11444. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>>::type
  11445. createShaderEXTUnique( const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT & createInfo,
  11446. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11447. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11448. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  11449. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11450. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11451. void destroyShaderEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader,
  11452. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11453. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11454. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11455. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11456. void destroyShaderEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader,
  11457. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11458. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11459. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11460. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11461. void destroy( VULKAN_HPP_NAMESPACE::ShaderEXT shader,
  11462. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11463. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11464. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11465. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11466. void destroy( VULKAN_HPP_NAMESPACE::ShaderEXT shader,
  11467. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11468. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11469. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11470. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11471. VULKAN_HPP_NODISCARD Result getShaderBinaryDataEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader,
  11472. size_t * pDataSize,
  11473. void * pData,
  11474. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11475. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11476. template <typename Uint8_tAllocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11477. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
  11478. getShaderBinaryDataEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11479. template <typename Uint8_tAllocator = std::allocator<uint8_t>,
  11480. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11481. typename B1 = Uint8_tAllocator,
  11482. typename std::enable_if<std::is_same<typename B1::value_type, uint8_t>::value, int>::type = 0>
  11483. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getShaderBinaryDataEXT(
  11484. VULKAN_HPP_NAMESPACE::ShaderEXT shader, Uint8_tAllocator & uint8_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11485. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11486. //=== VK_QCOM_tile_properties ===
  11487. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11488. VULKAN_HPP_NODISCARD Result getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
  11489. uint32_t * pPropertiesCount,
  11490. VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,
  11491. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11492. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11493. template <typename TilePropertiesQCOMAllocator = std::allocator<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM>,
  11494. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11495. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type
  11496. getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11497. template <typename TilePropertiesQCOMAllocator = std::allocator<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM>,
  11498. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11499. typename B1 = TilePropertiesQCOMAllocator,
  11500. typename std::enable_if<std::is_same<typename B1::value_type, TilePropertiesQCOM>::value, int>::type = 0>
  11501. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type
  11502. getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
  11503. TilePropertiesQCOMAllocator & tilePropertiesQCOMAllocator,
  11504. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11505. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11506. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11507. Result getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,
  11508. VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,
  11509. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11510. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11511. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11512. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::TilePropertiesQCOM
  11513. getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo,
  11514. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11515. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11516. //=== VK_NV_low_latency2 ===
  11517. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11518. VULKAN_HPP_NODISCARD Result setLatencySleepModeNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11519. const VULKAN_HPP_NAMESPACE::LatencySleepModeInfoNV * pSleepModeInfo,
  11520. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11521. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11522. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11523. typename ResultValueType<void>::type setLatencySleepModeNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11524. const VULKAN_HPP_NAMESPACE::LatencySleepModeInfoNV & sleepModeInfo,
  11525. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11526. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11527. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11528. VULKAN_HPP_NODISCARD Result latencySleepNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11529. const VULKAN_HPP_NAMESPACE::LatencySleepInfoNV * pSleepInfo,
  11530. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11531. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11532. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11533. typename ResultValueType<void>::type latencySleepNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11534. const VULKAN_HPP_NAMESPACE::LatencySleepInfoNV & sleepInfo,
  11535. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11536. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11537. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11538. void setLatencyMarkerNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11539. const VULKAN_HPP_NAMESPACE::SetLatencyMarkerInfoNV * pLatencyMarkerInfo,
  11540. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11541. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11542. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11543. void setLatencyMarkerNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11544. const VULKAN_HPP_NAMESPACE::SetLatencyMarkerInfoNV & latencyMarkerInfo,
  11545. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11546. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11547. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11548. void getLatencyTimingsNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11549. uint32_t * pTimingCount,
  11550. VULKAN_HPP_NAMESPACE::GetLatencyMarkerInfoNV * pLatencyMarkerInfo,
  11551. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11552. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11553. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11554. VULKAN_HPP_NODISCARD std::pair<uint32_t, VULKAN_HPP_NAMESPACE::GetLatencyMarkerInfoNV>
  11555. getLatencyTimingsNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
  11556. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11557. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11558. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  11559. //=== VK_QNX_external_memory_screen_buffer ===
  11560. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11561. VULKAN_HPP_NODISCARD Result getScreenBufferPropertiesQNX( const struct _screen_buffer * buffer,
  11562. VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX * pProperties,
  11563. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11564. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11565. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11566. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX>::type
  11567. getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11568. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11569. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type
  11570. getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11571. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11572. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  11573. operator VkDevice() const VULKAN_HPP_NOEXCEPT
  11574. {
  11575. return m_device;
  11576. }
  11577. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  11578. {
  11579. return m_device != VK_NULL_HANDLE;
  11580. }
  11581. bool operator!() const VULKAN_HPP_NOEXCEPT
  11582. {
  11583. return m_device == VK_NULL_HANDLE;
  11584. }
  11585. private:
  11586. VkDevice m_device = {};
  11587. };
  11588. template <>
  11589. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDevice>
  11590. {
  11591. using Type = VULKAN_HPP_NAMESPACE::Device;
  11592. };
  11593. template <>
  11594. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDevice>
  11595. {
  11596. using Type = VULKAN_HPP_NAMESPACE::Device;
  11597. };
  11598. template <>
  11599. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Device>
  11600. {
  11601. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  11602. };
  11603. class DisplayModeKHR
  11604. {
  11605. public:
  11606. using CType = VkDisplayModeKHR;
  11607. using NativeType = VkDisplayModeKHR;
  11608. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR;
  11609. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  11610. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayModeKHR;
  11611. public:
  11612. VULKAN_HPP_CONSTEXPR DisplayModeKHR() = default;
  11613. VULKAN_HPP_CONSTEXPR DisplayModeKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  11614. VULKAN_HPP_TYPESAFE_EXPLICIT DisplayModeKHR( VkDisplayModeKHR displayModeKHR ) VULKAN_HPP_NOEXCEPT : m_displayModeKHR( displayModeKHR ) {}
  11615. #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
  11616. DisplayModeKHR & operator=( VkDisplayModeKHR displayModeKHR ) VULKAN_HPP_NOEXCEPT
  11617. {
  11618. m_displayModeKHR = displayModeKHR;
  11619. return *this;
  11620. }
  11621. #endif
  11622. DisplayModeKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  11623. {
  11624. m_displayModeKHR = {};
  11625. return *this;
  11626. }
  11627. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  11628. auto operator<=>( DisplayModeKHR const & ) const = default;
  11629. #else
  11630. bool operator==( DisplayModeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  11631. {
  11632. return m_displayModeKHR == rhs.m_displayModeKHR;
  11633. }
  11634. bool operator!=( DisplayModeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  11635. {
  11636. return m_displayModeKHR != rhs.m_displayModeKHR;
  11637. }
  11638. bool operator<( DisplayModeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
  11639. {
  11640. return m_displayModeKHR < rhs.m_displayModeKHR;
  11641. }
  11642. #endif
  11643. VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDisplayModeKHR() const VULKAN_HPP_NOEXCEPT
  11644. {
  11645. return m_displayModeKHR;
  11646. }
  11647. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  11648. {
  11649. return m_displayModeKHR != VK_NULL_HANDLE;
  11650. }
  11651. bool operator!() const VULKAN_HPP_NOEXCEPT
  11652. {
  11653. return m_displayModeKHR == VK_NULL_HANDLE;
  11654. }
  11655. private:
  11656. VkDisplayModeKHR m_displayModeKHR = {};
  11657. };
  11658. template <>
  11659. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR>
  11660. {
  11661. using Type = VULKAN_HPP_NAMESPACE::DisplayModeKHR;
  11662. };
  11663. template <>
  11664. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayModeKHR>
  11665. {
  11666. using Type = VULKAN_HPP_NAMESPACE::DisplayModeKHR;
  11667. };
  11668. template <>
  11669. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DisplayModeKHR>
  11670. {
  11671. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  11672. };
  11673. class PhysicalDevice
  11674. {
  11675. public:
  11676. using CType = VkPhysicalDevice;
  11677. using NativeType = VkPhysicalDevice;
  11678. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice;
  11679. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  11680. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePhysicalDevice;
  11681. public:
  11682. VULKAN_HPP_CONSTEXPR PhysicalDevice() = default;
  11683. VULKAN_HPP_CONSTEXPR PhysicalDevice( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  11684. PhysicalDevice( VkPhysicalDevice physicalDevice ) VULKAN_HPP_NOEXCEPT : m_physicalDevice( physicalDevice ) {}
  11685. PhysicalDevice & operator=( VkPhysicalDevice physicalDevice ) VULKAN_HPP_NOEXCEPT
  11686. {
  11687. m_physicalDevice = physicalDevice;
  11688. return *this;
  11689. }
  11690. PhysicalDevice & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  11691. {
  11692. m_physicalDevice = {};
  11693. return *this;
  11694. }
  11695. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  11696. auto operator<=>( PhysicalDevice const & ) const = default;
  11697. #else
  11698. bool operator==( PhysicalDevice const & rhs ) const VULKAN_HPP_NOEXCEPT
  11699. {
  11700. return m_physicalDevice == rhs.m_physicalDevice;
  11701. }
  11702. bool operator!=( PhysicalDevice const & rhs ) const VULKAN_HPP_NOEXCEPT
  11703. {
  11704. return m_physicalDevice != rhs.m_physicalDevice;
  11705. }
  11706. bool operator<( PhysicalDevice const & rhs ) const VULKAN_HPP_NOEXCEPT
  11707. {
  11708. return m_physicalDevice < rhs.m_physicalDevice;
  11709. }
  11710. #endif
  11711. //=== VK_VERSION_1_0 ===
  11712. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11713. void getFeatures( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pFeatures,
  11714. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11715. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11716. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11717. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures
  11718. getFeatures( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11719. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11720. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11721. void getFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
  11722. VULKAN_HPP_NAMESPACE::FormatProperties * pFormatProperties,
  11723. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11724. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11725. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11726. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties
  11727. getFormatProperties( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11728. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11729. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11730. VULKAN_HPP_NODISCARD Result getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
  11731. VULKAN_HPP_NAMESPACE::ImageType type,
  11732. VULKAN_HPP_NAMESPACE::ImageTiling tiling,
  11733. VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
  11734. VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
  11735. VULKAN_HPP_NAMESPACE::ImageFormatProperties * pImageFormatProperties,
  11736. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11737. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11738. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11739. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties>::type
  11740. getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
  11741. VULKAN_HPP_NAMESPACE::ImageType type,
  11742. VULKAN_HPP_NAMESPACE::ImageTiling tiling,
  11743. VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
  11744. VULKAN_HPP_NAMESPACE::ImageCreateFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  11745. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11746. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11747. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11748. void getProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties * pProperties,
  11749. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11750. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11751. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11752. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties
  11753. getProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11754. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11755. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11756. void getQueueFamilyProperties( uint32_t * pQueueFamilyPropertyCount,
  11757. VULKAN_HPP_NAMESPACE::QueueFamilyProperties * pQueueFamilyProperties,
  11758. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11759. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11760. template <typename QueueFamilyPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::QueueFamilyProperties>,
  11761. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11762. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties, QueueFamilyPropertiesAllocator>
  11763. getQueueFamilyProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11764. template <typename QueueFamilyPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::QueueFamilyProperties>,
  11765. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11766. typename B1 = QueueFamilyPropertiesAllocator,
  11767. typename std::enable_if<std::is_same<typename B1::value_type, QueueFamilyProperties>::value, int>::type = 0>
  11768. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties, QueueFamilyPropertiesAllocator>
  11769. getQueueFamilyProperties( QueueFamilyPropertiesAllocator & queueFamilyPropertiesAllocator,
  11770. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11771. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11772. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11773. void getMemoryProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties * pMemoryProperties,
  11774. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11775. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11776. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11777. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties
  11778. getMemoryProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11779. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11780. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11781. VULKAN_HPP_NODISCARD Result createDevice( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo * pCreateInfo,
  11782. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  11783. VULKAN_HPP_NAMESPACE::Device * pDevice,
  11784. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11785. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11786. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11787. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Device>::type
  11788. createDevice( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo & createInfo,
  11789. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11790. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11791. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  11792. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11793. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Device, Dispatch>>::type
  11794. createDeviceUnique( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo & createInfo,
  11795. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11796. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11797. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  11798. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11799. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11800. VULKAN_HPP_NODISCARD Result enumerateDeviceExtensionProperties( const char * pLayerName,
  11801. uint32_t * pPropertyCount,
  11802. VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,
  11803. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11804. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11805. template <typename ExtensionPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::ExtensionProperties>,
  11806. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11807. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type
  11808. enumerateDeviceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  11809. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11810. template <typename ExtensionPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::ExtensionProperties>,
  11811. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11812. typename B1 = ExtensionPropertiesAllocator,
  11813. typename std::enable_if<std::is_same<typename B1::value_type, ExtensionProperties>::value, int>::type = 0>
  11814. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type
  11815. enumerateDeviceExtensionProperties( Optional<const std::string> layerName,
  11816. ExtensionPropertiesAllocator & extensionPropertiesAllocator,
  11817. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11818. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11819. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11820. VULKAN_HPP_NODISCARD Result enumerateDeviceLayerProperties( uint32_t * pPropertyCount,
  11821. VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,
  11822. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11823. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11824. template <typename LayerPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::LayerProperties>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11825. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type
  11826. enumerateDeviceLayerProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11827. template <typename LayerPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::LayerProperties>,
  11828. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11829. typename B1 = LayerPropertiesAllocator,
  11830. typename std::enable_if<std::is_same<typename B1::value_type, LayerProperties>::value, int>::type = 0>
  11831. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type
  11832. enumerateDeviceLayerProperties( LayerPropertiesAllocator & layerPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11833. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11834. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11835. void getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
  11836. VULKAN_HPP_NAMESPACE::ImageType type,
  11837. VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
  11838. VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
  11839. VULKAN_HPP_NAMESPACE::ImageTiling tiling,
  11840. uint32_t * pPropertyCount,
  11841. VULKAN_HPP_NAMESPACE::SparseImageFormatProperties * pProperties,
  11842. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11843. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11844. template <typename SparseImageFormatPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>,
  11845. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11846. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties, SparseImageFormatPropertiesAllocator>
  11847. getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
  11848. VULKAN_HPP_NAMESPACE::ImageType type,
  11849. VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
  11850. VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
  11851. VULKAN_HPP_NAMESPACE::ImageTiling tiling,
  11852. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11853. template <typename SparseImageFormatPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>,
  11854. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11855. typename B1 = SparseImageFormatPropertiesAllocator,
  11856. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageFormatProperties>::value, int>::type = 0>
  11857. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties, SparseImageFormatPropertiesAllocator>
  11858. getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
  11859. VULKAN_HPP_NAMESPACE::ImageType type,
  11860. VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
  11861. VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
  11862. VULKAN_HPP_NAMESPACE::ImageTiling tiling,
  11863. SparseImageFormatPropertiesAllocator & sparseImageFormatPropertiesAllocator,
  11864. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11865. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11866. //=== VK_VERSION_1_1 ===
  11867. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11868. void getFeatures2( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,
  11869. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11870. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11871. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11872. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
  11873. getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11874. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11875. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11876. getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11877. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11878. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11879. void getProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,
  11880. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11881. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11882. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11883. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
  11884. getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11885. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11886. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11887. getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11888. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11889. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11890. void getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format,
  11891. VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,
  11892. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11893. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11894. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11895. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties2
  11896. getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11897. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11898. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11899. getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11900. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11901. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11902. VULKAN_HPP_NODISCARD Result getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
  11903. VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties,
  11904. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11905. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11906. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11907. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
  11908. getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
  11909. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11910. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11911. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type
  11912. getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
  11913. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11914. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11915. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11916. void getQueueFamilyProperties2( uint32_t * pQueueFamilyPropertyCount,
  11917. VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,
  11918. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11919. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11920. template <typename QueueFamilyProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>,
  11921. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11922. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator>
  11923. getQueueFamilyProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11924. template <typename QueueFamilyProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>,
  11925. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11926. typename B1 = QueueFamilyProperties2Allocator,
  11927. typename std::enable_if<std::is_same<typename B1::value_type, QueueFamilyProperties2>::value, int>::type = 0>
  11928. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator>
  11929. getQueueFamilyProperties2( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
  11930. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11931. template <typename StructureChain,
  11932. typename StructureChainAllocator = std::allocator<StructureChain>,
  11933. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11934. VULKAN_HPP_NODISCARD std::vector<StructureChain, StructureChainAllocator>
  11935. getQueueFamilyProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11936. template <typename StructureChain,
  11937. typename StructureChainAllocator = std::allocator<StructureChain>,
  11938. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11939. typename B1 = StructureChainAllocator,
  11940. typename std::enable_if<std::is_same<typename B1::value_type, StructureChain>::value, int>::type = 0>
  11941. VULKAN_HPP_NODISCARD std::vector<StructureChain, StructureChainAllocator>
  11942. getQueueFamilyProperties2( StructureChainAllocator & structureChainAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11943. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11944. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11945. void getMemoryProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,
  11946. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11947. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11948. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11949. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
  11950. getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11951. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11952. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  11953. getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11954. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11955. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11956. void getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
  11957. uint32_t * pPropertyCount,
  11958. VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 * pProperties,
  11959. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11960. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11961. template <typename SparseImageFormatProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>,
  11962. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11963. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
  11964. getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
  11965. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11966. template <typename SparseImageFormatProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>,
  11967. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  11968. typename B1 = SparseImageFormatProperties2Allocator,
  11969. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageFormatProperties2>::value, int>::type = 0>
  11970. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
  11971. getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
  11972. SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,
  11973. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  11974. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11975. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11976. void getExternalBufferProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
  11977. VULKAN_HPP_NAMESPACE::ExternalBufferProperties * pExternalBufferProperties,
  11978. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11979. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11980. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11981. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalBufferProperties
  11982. getExternalBufferProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo & externalBufferInfo,
  11983. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11984. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11985. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11986. void getExternalFenceProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
  11987. VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties,
  11988. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11989. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  11990. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11991. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalFenceProperties
  11992. getExternalFenceProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo & externalFenceInfo,
  11993. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11994. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  11995. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  11996. void getExternalSemaphoreProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
  11997. VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties * pExternalSemaphoreProperties,
  11998. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  11999. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12000. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12001. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
  12002. getExternalSemaphoreProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo,
  12003. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12004. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12005. //=== VK_VERSION_1_3 ===
  12006. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12007. VULKAN_HPP_NODISCARD Result getToolProperties( uint32_t * pToolCount,
  12008. VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties * pToolProperties,
  12009. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12010. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12011. template <typename PhysicalDeviceToolPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>,
  12012. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12013. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type
  12014. getToolProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12015. template <typename PhysicalDeviceToolPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>,
  12016. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12017. typename B1 = PhysicalDeviceToolPropertiesAllocator,
  12018. typename std::enable_if<std::is_same<typename B1::value_type, PhysicalDeviceToolProperties>::value, int>::type = 0>
  12019. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type
  12020. getToolProperties( PhysicalDeviceToolPropertiesAllocator & physicalDeviceToolPropertiesAllocator,
  12021. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12022. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12023. //=== VK_KHR_surface ===
  12024. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12025. VULKAN_HPP_NODISCARD Result getSurfaceSupportKHR( uint32_t queueFamilyIndex,
  12026. VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12027. VULKAN_HPP_NAMESPACE::Bool32 * pSupported,
  12028. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12029. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12030. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12031. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Bool32>::type getSurfaceSupportKHR(
  12032. uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12033. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12034. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12035. VULKAN_HPP_NODISCARD Result getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12036. VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR * pSurfaceCapabilities,
  12037. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12038. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12039. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12040. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR>::type
  12041. getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12042. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12043. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12044. VULKAN_HPP_NODISCARD Result getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12045. uint32_t * pSurfaceFormatCount,
  12046. VULKAN_HPP_NAMESPACE::SurfaceFormatKHR * pSurfaceFormats,
  12047. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12048. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12049. template <typename SurfaceFormatKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>,
  12050. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12051. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type
  12052. getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  12053. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12054. template <typename SurfaceFormatKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>,
  12055. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12056. typename B1 = SurfaceFormatKHRAllocator,
  12057. typename std::enable_if<std::is_same<typename B1::value_type, SurfaceFormatKHR>::value, int>::type = 0>
  12058. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type
  12059. getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12060. SurfaceFormatKHRAllocator & surfaceFormatKHRAllocator,
  12061. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12062. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12063. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12064. VULKAN_HPP_NODISCARD Result getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12065. uint32_t * pPresentModeCount,
  12066. VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes,
  12067. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12068. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12069. template <typename PresentModeKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PresentModeKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12070. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type
  12071. getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  12072. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12073. template <typename PresentModeKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PresentModeKHR>,
  12074. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12075. typename B1 = PresentModeKHRAllocator,
  12076. typename std::enable_if<std::is_same<typename B1::value_type, PresentModeKHR>::value, int>::type = 0>
  12077. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type
  12078. getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12079. PresentModeKHRAllocator & presentModeKHRAllocator,
  12080. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12081. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12082. //=== VK_KHR_swapchain ===
  12083. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12084. VULKAN_HPP_NODISCARD Result getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12085. uint32_t * pRectCount,
  12086. VULKAN_HPP_NAMESPACE::Rect2D * pRects,
  12087. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12088. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12089. template <typename Rect2DAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Rect2D>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12090. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Rect2D, Rect2DAllocator>>::type
  12091. getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12092. template <typename Rect2DAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Rect2D>,
  12093. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12094. typename B1 = Rect2DAllocator,
  12095. typename std::enable_if<std::is_same<typename B1::value_type, Rect2D>::value, int>::type = 0>
  12096. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Rect2D, Rect2DAllocator>>::type getPresentRectanglesKHR(
  12097. VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Rect2DAllocator & rect2DAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12098. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12099. //=== VK_KHR_display ===
  12100. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12101. VULKAN_HPP_NODISCARD Result getDisplayPropertiesKHR( uint32_t * pPropertyCount,
  12102. VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR * pProperties,
  12103. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12104. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12105. template <typename DisplayPropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR>,
  12106. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12107. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type
  12108. getDisplayPropertiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12109. template <typename DisplayPropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR>,
  12110. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12111. typename B1 = DisplayPropertiesKHRAllocator,
  12112. typename std::enable_if<std::is_same<typename B1::value_type, DisplayPropertiesKHR>::value, int>::type = 0>
  12113. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type
  12114. getDisplayPropertiesKHR( DisplayPropertiesKHRAllocator & displayPropertiesKHRAllocator,
  12115. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12116. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12117. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12118. VULKAN_HPP_NODISCARD Result getDisplayPlanePropertiesKHR( uint32_t * pPropertyCount,
  12119. VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR * pProperties,
  12120. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12121. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12122. template <typename DisplayPlanePropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR>,
  12123. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12124. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type
  12125. getDisplayPlanePropertiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12126. template <typename DisplayPlanePropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR>,
  12127. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12128. typename B1 = DisplayPlanePropertiesKHRAllocator,
  12129. typename std::enable_if<std::is_same<typename B1::value_type, DisplayPlanePropertiesKHR>::value, int>::type = 0>
  12130. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type
  12131. getDisplayPlanePropertiesKHR( DisplayPlanePropertiesKHRAllocator & displayPlanePropertiesKHRAllocator,
  12132. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12133. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12134. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12135. VULKAN_HPP_NODISCARD Result getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex,
  12136. uint32_t * pDisplayCount,
  12137. VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplays,
  12138. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12139. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12140. template <typename DisplayKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12141. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayKHR, DisplayKHRAllocator>>::type
  12142. getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12143. template <typename DisplayKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayKHR>,
  12144. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12145. typename B1 = DisplayKHRAllocator,
  12146. typename std::enable_if<std::is_same<typename B1::value_type, DisplayKHR>::value, int>::type = 0>
  12147. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayKHR, DisplayKHRAllocator>>::type getDisplayPlaneSupportedDisplaysKHR(
  12148. uint32_t planeIndex, DisplayKHRAllocator & displayKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12149. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12150. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12151. VULKAN_HPP_NODISCARD Result getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12152. uint32_t * pPropertyCount,
  12153. VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR * pProperties,
  12154. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12155. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12156. template <typename DisplayModePropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR>,
  12157. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12158. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type
  12159. getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12160. template <typename DisplayModePropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR>,
  12161. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12162. typename B1 = DisplayModePropertiesKHRAllocator,
  12163. typename std::enable_if<std::is_same<typename B1::value_type, DisplayModePropertiesKHR>::value, int>::type = 0>
  12164. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type
  12165. getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12166. DisplayModePropertiesKHRAllocator & displayModePropertiesKHRAllocator,
  12167. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12168. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12169. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12170. VULKAN_HPP_NODISCARD Result createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12171. const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR * pCreateInfo,
  12172. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  12173. VULKAN_HPP_NAMESPACE::DisplayModeKHR * pMode,
  12174. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12175. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12176. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12177. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayModeKHR>::type
  12178. createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12179. const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR & createInfo,
  12180. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  12181. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12182. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  12183. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12184. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayModeKHR, Dispatch>>::type
  12185. createDisplayModeKHRUnique( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12186. const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR & createInfo,
  12187. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  12188. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12189. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  12190. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12191. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12192. VULKAN_HPP_NODISCARD Result getDisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode,
  12193. uint32_t planeIndex,
  12194. VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR * pCapabilities,
  12195. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12196. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12197. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12198. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR>::type getDisplayPlaneCapabilitiesKHR(
  12199. VULKAN_HPP_NAMESPACE::DisplayModeKHR mode, uint32_t planeIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12200. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12201. #if defined( VK_USE_PLATFORM_XLIB_KHR )
  12202. //=== VK_KHR_xlib_surface ===
  12203. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12204. Bool32 getXlibPresentationSupportKHR( uint32_t queueFamilyIndex,
  12205. Display * dpy,
  12206. VisualID visualID,
  12207. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12208. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12209. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12210. VULKAN_HPP_NAMESPACE::Bool32 getXlibPresentationSupportKHR( uint32_t queueFamilyIndex,
  12211. Display & dpy,
  12212. VisualID visualID,
  12213. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12214. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12215. #endif /*VK_USE_PLATFORM_XLIB_KHR*/
  12216. #if defined( VK_USE_PLATFORM_XCB_KHR )
  12217. //=== VK_KHR_xcb_surface ===
  12218. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12219. Bool32 getXcbPresentationSupportKHR( uint32_t queueFamilyIndex,
  12220. xcb_connection_t * connection,
  12221. xcb_visualid_t visual_id,
  12222. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12223. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12224. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12225. VULKAN_HPP_NAMESPACE::Bool32 getXcbPresentationSupportKHR( uint32_t queueFamilyIndex,
  12226. xcb_connection_t & connection,
  12227. xcb_visualid_t visual_id,
  12228. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12229. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12230. #endif /*VK_USE_PLATFORM_XCB_KHR*/
  12231. #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  12232. //=== VK_KHR_wayland_surface ===
  12233. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12234. Bool32 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex,
  12235. struct wl_display * display,
  12236. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12237. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12238. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12239. VULKAN_HPP_NAMESPACE::Bool32 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex,
  12240. struct wl_display & display,
  12241. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12242. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12243. #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  12244. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12245. //=== VK_KHR_win32_surface ===
  12246. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12247. Bool32 getWin32PresentationSupportKHR( uint32_t queueFamilyIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12248. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12249. //=== VK_KHR_video_queue ===
  12250. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12251. VULKAN_HPP_NODISCARD Result getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pVideoProfile,
  12252. VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR * pCapabilities,
  12253. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12254. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12255. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12256. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR>::type
  12257. getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR & videoProfile,
  12258. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12259. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12260. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type
  12261. getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR & videoProfile,
  12262. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12263. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12264. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12265. VULKAN_HPP_NODISCARD Result getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
  12266. uint32_t * pVideoFormatPropertyCount,
  12267. VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR * pVideoFormatProperties,
  12268. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12269. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12270. template <typename VideoFormatPropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>,
  12271. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12272. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR, VideoFormatPropertiesKHRAllocator>>::type
  12273. getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo,
  12274. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12275. template <typename VideoFormatPropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>,
  12276. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12277. typename B1 = VideoFormatPropertiesKHRAllocator,
  12278. typename std::enable_if<std::is_same<typename B1::value_type, VideoFormatPropertiesKHR>::value, int>::type = 0>
  12279. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR, VideoFormatPropertiesKHRAllocator>>::type
  12280. getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo,
  12281. VideoFormatPropertiesKHRAllocator & videoFormatPropertiesKHRAllocator,
  12282. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12283. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12284. //=== VK_NV_external_memory_capabilities ===
  12285. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12286. VULKAN_HPP_NODISCARD Result getExternalImageFormatPropertiesNV( VULKAN_HPP_NAMESPACE::Format format,
  12287. VULKAN_HPP_NAMESPACE::ImageType type,
  12288. VULKAN_HPP_NAMESPACE::ImageTiling tiling,
  12289. VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
  12290. VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
  12291. VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType,
  12292. VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV * pExternalImageFormatProperties,
  12293. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12294. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12295. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12296. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV>::type
  12297. getExternalImageFormatPropertiesNV( VULKAN_HPP_NAMESPACE::Format format,
  12298. VULKAN_HPP_NAMESPACE::ImageType type,
  12299. VULKAN_HPP_NAMESPACE::ImageTiling tiling,
  12300. VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
  12301. VULKAN_HPP_NAMESPACE::ImageCreateFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  12302. VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  12303. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12304. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12305. //=== VK_KHR_get_physical_device_properties2 ===
  12306. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12307. void getFeatures2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,
  12308. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12309. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12310. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12311. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
  12312. getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12313. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12314. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  12315. getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12316. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12317. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12318. void getProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,
  12319. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12320. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12321. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12322. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
  12323. getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12324. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12325. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  12326. getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12327. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12328. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12329. void getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format,
  12330. VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,
  12331. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12332. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12333. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12334. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties2
  12335. getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12336. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12337. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  12338. getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12339. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12340. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12341. VULKAN_HPP_NODISCARD Result getImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
  12342. VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties,
  12343. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12344. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12345. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12346. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
  12347. getImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
  12348. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12349. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12350. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type
  12351. getImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
  12352. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12353. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12354. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12355. void getQueueFamilyProperties2KHR( uint32_t * pQueueFamilyPropertyCount,
  12356. VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,
  12357. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12358. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12359. template <typename QueueFamilyProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>,
  12360. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12361. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator>
  12362. getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12363. template <typename QueueFamilyProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>,
  12364. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12365. typename B1 = QueueFamilyProperties2Allocator,
  12366. typename std::enable_if<std::is_same<typename B1::value_type, QueueFamilyProperties2>::value, int>::type = 0>
  12367. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator>
  12368. getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
  12369. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12370. template <typename StructureChain,
  12371. typename StructureChainAllocator = std::allocator<StructureChain>,
  12372. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12373. VULKAN_HPP_NODISCARD std::vector<StructureChain, StructureChainAllocator>
  12374. getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12375. template <typename StructureChain,
  12376. typename StructureChainAllocator = std::allocator<StructureChain>,
  12377. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12378. typename B1 = StructureChainAllocator,
  12379. typename std::enable_if<std::is_same<typename B1::value_type, StructureChain>::value, int>::type = 0>
  12380. VULKAN_HPP_NODISCARD std::vector<StructureChain, StructureChainAllocator>
  12381. getQueueFamilyProperties2KHR( StructureChainAllocator & structureChainAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12382. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12383. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12384. void getMemoryProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,
  12385. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12386. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12387. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12388. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
  12389. getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12390. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12391. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>
  12392. getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12393. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12394. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12395. void getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
  12396. uint32_t * pPropertyCount,
  12397. VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 * pProperties,
  12398. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12399. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12400. template <typename SparseImageFormatProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>,
  12401. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12402. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
  12403. getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
  12404. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12405. template <typename SparseImageFormatProperties2Allocator = std::allocator<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>,
  12406. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12407. typename B1 = SparseImageFormatProperties2Allocator,
  12408. typename std::enable_if<std::is_same<typename B1::value_type, SparseImageFormatProperties2>::value, int>::type = 0>
  12409. VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
  12410. getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
  12411. SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,
  12412. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12413. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12414. //=== VK_KHR_external_memory_capabilities ===
  12415. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12416. void getExternalBufferPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
  12417. VULKAN_HPP_NAMESPACE::ExternalBufferProperties * pExternalBufferProperties,
  12418. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12419. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12420. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12421. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalBufferProperties
  12422. getExternalBufferPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo & externalBufferInfo,
  12423. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12424. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12425. //=== VK_KHR_external_semaphore_capabilities ===
  12426. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12427. void getExternalSemaphorePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
  12428. VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties * pExternalSemaphoreProperties,
  12429. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12430. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12431. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12432. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
  12433. getExternalSemaphorePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo,
  12434. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12435. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12436. //=== VK_EXT_direct_mode_display ===
  12437. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12438. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12439. Result releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12440. #else
  12441. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12442. void releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12443. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  12444. #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
  12445. //=== VK_EXT_acquire_xlib_display ===
  12446. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12447. VULKAN_HPP_NODISCARD Result acquireXlibDisplayEXT( Display * dpy,
  12448. VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12449. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12450. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12451. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12452. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  12453. acquireXlibDisplayEXT( Display & dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12454. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12455. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12456. VULKAN_HPP_NODISCARD Result getRandROutputDisplayEXT( Display * dpy,
  12457. RROutput rrOutput,
  12458. VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay,
  12459. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12460. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12461. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12462. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type
  12463. getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12464. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  12465. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12466. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type
  12467. getRandROutputDisplayEXTUnique( Display & dpy, RROutput rrOutput, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12468. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  12469. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12470. #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
  12471. //=== VK_EXT_display_surface_counter ===
  12472. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12473. VULKAN_HPP_NODISCARD Result getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  12474. VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT * pSurfaceCapabilities,
  12475. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12476. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12477. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12478. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT>::type
  12479. getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12480. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12481. //=== VK_KHR_external_fence_capabilities ===
  12482. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12483. void getExternalFencePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
  12484. VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties,
  12485. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12486. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12487. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12488. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalFenceProperties
  12489. getExternalFencePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo & externalFenceInfo,
  12490. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12491. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12492. //=== VK_KHR_performance_query ===
  12493. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12494. VULKAN_HPP_NODISCARD Result
  12495. enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex,
  12496. uint32_t * pCounterCount,
  12497. VULKAN_HPP_NAMESPACE::PerformanceCounterKHR * pCounters,
  12498. VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR * pCounterDescriptions,
  12499. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12500. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12501. template <typename PerformanceCounterKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR>,
  12502. typename PerformanceCounterDescriptionKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR>,
  12503. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12504. VULKAN_HPP_NODISCARD
  12505. typename ResultValueType<std::pair<std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
  12506. std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator>>>::type
  12507. enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12508. template <typename PerformanceCounterKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR>,
  12509. typename PerformanceCounterDescriptionKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR>,
  12510. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12511. typename B1 = PerformanceCounterKHRAllocator,
  12512. typename B2 = PerformanceCounterDescriptionKHRAllocator,
  12513. typename std::enable_if<std::is_same<typename B1::value_type, PerformanceCounterKHR>::value &&
  12514. std::is_same<typename B2::value_type, PerformanceCounterDescriptionKHR>::value,
  12515. int>::type = 0>
  12516. VULKAN_HPP_NODISCARD
  12517. typename ResultValueType<std::pair<std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
  12518. std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator>>>::type
  12519. enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex,
  12520. PerformanceCounterKHRAllocator & performanceCounterKHRAllocator,
  12521. PerformanceCounterDescriptionKHRAllocator & performanceCounterDescriptionKHRAllocator,
  12522. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12523. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12524. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12525. void getQueueFamilyPerformanceQueryPassesKHR( const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
  12526. uint32_t * pNumPasses,
  12527. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12528. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12529. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12530. VULKAN_HPP_NODISCARD uint32_t
  12531. getQueueFamilyPerformanceQueryPassesKHR( const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo,
  12532. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12533. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12534. //=== VK_KHR_get_surface_capabilities2 ===
  12535. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12536. VULKAN_HPP_NODISCARD Result getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  12537. VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR * pSurfaceCapabilities,
  12538. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12539. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12540. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12541. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>::type
  12542. getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12543. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12544. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12545. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type
  12546. getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12547. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12548. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12549. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12550. VULKAN_HPP_NODISCARD Result getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  12551. uint32_t * pSurfaceFormatCount,
  12552. VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR * pSurfaceFormats,
  12553. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12554. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12555. template <typename SurfaceFormat2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>,
  12556. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12557. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type
  12558. getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12559. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12560. template <typename SurfaceFormat2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>,
  12561. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12562. typename B1 = SurfaceFormat2KHRAllocator,
  12563. typename std::enable_if<std::is_same<typename B1::value_type, SurfaceFormat2KHR>::value, int>::type = 0>
  12564. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type
  12565. getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12566. SurfaceFormat2KHRAllocator & surfaceFormat2KHRAllocator,
  12567. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12568. template <typename StructureChain,
  12569. typename StructureChainAllocator = std::allocator<StructureChain>,
  12570. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12571. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type
  12572. getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12573. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12574. template <typename StructureChain,
  12575. typename StructureChainAllocator = std::allocator<StructureChain>,
  12576. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12577. typename B1 = StructureChainAllocator,
  12578. typename std::enable_if<std::is_same<typename B1::value_type, StructureChain>::value, int>::type = 0>
  12579. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type
  12580. getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12581. StructureChainAllocator & structureChainAllocator,
  12582. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12583. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12584. //=== VK_KHR_get_display_properties2 ===
  12585. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12586. VULKAN_HPP_NODISCARD Result getDisplayProperties2KHR( uint32_t * pPropertyCount,
  12587. VULKAN_HPP_NAMESPACE::DisplayProperties2KHR * pProperties,
  12588. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12589. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12590. template <typename DisplayProperties2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR>,
  12591. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12592. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type
  12593. getDisplayProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12594. template <typename DisplayProperties2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR>,
  12595. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12596. typename B1 = DisplayProperties2KHRAllocator,
  12597. typename std::enable_if<std::is_same<typename B1::value_type, DisplayProperties2KHR>::value, int>::type = 0>
  12598. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type
  12599. getDisplayProperties2KHR( DisplayProperties2KHRAllocator & displayProperties2KHRAllocator,
  12600. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12601. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12602. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12603. VULKAN_HPP_NODISCARD Result getDisplayPlaneProperties2KHR( uint32_t * pPropertyCount,
  12604. VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR * pProperties,
  12605. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12606. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12607. template <typename DisplayPlaneProperties2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR>,
  12608. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12609. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type
  12610. getDisplayPlaneProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12611. template <typename DisplayPlaneProperties2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR>,
  12612. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12613. typename B1 = DisplayPlaneProperties2KHRAllocator,
  12614. typename std::enable_if<std::is_same<typename B1::value_type, DisplayPlaneProperties2KHR>::value, int>::type = 0>
  12615. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type
  12616. getDisplayPlaneProperties2KHR( DisplayPlaneProperties2KHRAllocator & displayPlaneProperties2KHRAllocator,
  12617. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12618. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12619. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12620. VULKAN_HPP_NODISCARD Result getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12621. uint32_t * pPropertyCount,
  12622. VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR * pProperties,
  12623. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12624. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12625. template <typename DisplayModeProperties2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>,
  12626. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12627. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type
  12628. getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12629. template <typename DisplayModeProperties2KHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>,
  12630. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12631. typename B1 = DisplayModeProperties2KHRAllocator,
  12632. typename std::enable_if<std::is_same<typename B1::value_type, DisplayModeProperties2KHR>::value, int>::type = 0>
  12633. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type
  12634. getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12635. DisplayModeProperties2KHRAllocator & displayModeProperties2KHRAllocator,
  12636. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12637. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12638. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12639. VULKAN_HPP_NODISCARD Result getDisplayPlaneCapabilities2KHR( const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR * pDisplayPlaneInfo,
  12640. VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR * pCapabilities,
  12641. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12642. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12643. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12644. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR>::type
  12645. getDisplayPlaneCapabilities2KHR( const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR & displayPlaneInfo,
  12646. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12647. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12648. //=== VK_EXT_sample_locations ===
  12649. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12650. void getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
  12651. VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT * pMultisampleProperties,
  12652. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12653. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12654. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12655. VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
  12656. getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
  12657. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12658. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12659. //=== VK_EXT_calibrated_timestamps ===
  12660. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12661. VULKAN_HPP_NODISCARD Result getCalibrateableTimeDomainsEXT( uint32_t * pTimeDomainCount,
  12662. VULKAN_HPP_NAMESPACE::TimeDomainEXT * pTimeDomains,
  12663. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12664. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12665. template <typename TimeDomainEXTAllocator = std::allocator<VULKAN_HPP_NAMESPACE::TimeDomainEXT>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12666. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT, TimeDomainEXTAllocator>>::type
  12667. getCalibrateableTimeDomainsEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12668. template <typename TimeDomainEXTAllocator = std::allocator<VULKAN_HPP_NAMESPACE::TimeDomainEXT>,
  12669. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12670. typename B1 = TimeDomainEXTAllocator,
  12671. typename std::enable_if<std::is_same<typename B1::value_type, TimeDomainEXT>::value, int>::type = 0>
  12672. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT, TimeDomainEXTAllocator>>::type
  12673. getCalibrateableTimeDomainsEXT( TimeDomainEXTAllocator & timeDomainEXTAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12674. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12675. //=== VK_KHR_fragment_shading_rate ===
  12676. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12677. VULKAN_HPP_NODISCARD Result getFragmentShadingRatesKHR( uint32_t * pFragmentShadingRateCount,
  12678. VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates,
  12679. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12680. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12681. template <typename PhysicalDeviceFragmentShadingRateKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR>,
  12682. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12683. VULKAN_HPP_NODISCARD
  12684. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR, PhysicalDeviceFragmentShadingRateKHRAllocator>>::type
  12685. getFragmentShadingRatesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12686. template <typename PhysicalDeviceFragmentShadingRateKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR>,
  12687. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12688. typename B1 = PhysicalDeviceFragmentShadingRateKHRAllocator,
  12689. typename std::enable_if<std::is_same<typename B1::value_type, PhysicalDeviceFragmentShadingRateKHR>::value, int>::type = 0>
  12690. VULKAN_HPP_NODISCARD
  12691. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR, PhysicalDeviceFragmentShadingRateKHRAllocator>>::type
  12692. getFragmentShadingRatesKHR( PhysicalDeviceFragmentShadingRateKHRAllocator & physicalDeviceFragmentShadingRateKHRAllocator,
  12693. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12694. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12695. //=== VK_EXT_tooling_info ===
  12696. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12697. VULKAN_HPP_NODISCARD Result getToolPropertiesEXT( uint32_t * pToolCount,
  12698. VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties * pToolProperties,
  12699. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12700. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12701. template <typename PhysicalDeviceToolPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>,
  12702. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12703. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type
  12704. getToolPropertiesEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12705. template <typename PhysicalDeviceToolPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>,
  12706. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12707. typename B1 = PhysicalDeviceToolPropertiesAllocator,
  12708. typename std::enable_if<std::is_same<typename B1::value_type, PhysicalDeviceToolProperties>::value, int>::type = 0>
  12709. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type
  12710. getToolPropertiesEXT( PhysicalDeviceToolPropertiesAllocator & physicalDeviceToolPropertiesAllocator,
  12711. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12712. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12713. //=== VK_NV_cooperative_matrix ===
  12714. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12715. VULKAN_HPP_NODISCARD Result getCooperativeMatrixPropertiesNV( uint32_t * pPropertyCount,
  12716. VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV * pProperties,
  12717. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12718. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12719. template <typename CooperativeMatrixPropertiesNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV>,
  12720. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12721. VULKAN_HPP_NODISCARD
  12722. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV, CooperativeMatrixPropertiesNVAllocator>>::type
  12723. getCooperativeMatrixPropertiesNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12724. template <typename CooperativeMatrixPropertiesNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV>,
  12725. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12726. typename B1 = CooperativeMatrixPropertiesNVAllocator,
  12727. typename std::enable_if<std::is_same<typename B1::value_type, CooperativeMatrixPropertiesNV>::value, int>::type = 0>
  12728. VULKAN_HPP_NODISCARD
  12729. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV, CooperativeMatrixPropertiesNVAllocator>>::type
  12730. getCooperativeMatrixPropertiesNV( CooperativeMatrixPropertiesNVAllocator & cooperativeMatrixPropertiesNVAllocator,
  12731. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12732. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12733. //=== VK_NV_coverage_reduction_mode ===
  12734. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12735. VULKAN_HPP_NODISCARD Result
  12736. getSupportedFramebufferMixedSamplesCombinationsNV( uint32_t * pCombinationCount,
  12737. VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV * pCombinations,
  12738. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12739. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12740. template <typename FramebufferMixedSamplesCombinationNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV>,
  12741. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12742. VULKAN_HPP_NODISCARD
  12743. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV, FramebufferMixedSamplesCombinationNVAllocator>>::type
  12744. getSupportedFramebufferMixedSamplesCombinationsNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12745. template <typename FramebufferMixedSamplesCombinationNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV>,
  12746. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12747. typename B1 = FramebufferMixedSamplesCombinationNVAllocator,
  12748. typename std::enable_if<std::is_same<typename B1::value_type, FramebufferMixedSamplesCombinationNV>::value, int>::type = 0>
  12749. VULKAN_HPP_NODISCARD
  12750. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV, FramebufferMixedSamplesCombinationNVAllocator>>::type
  12751. getSupportedFramebufferMixedSamplesCombinationsNV( FramebufferMixedSamplesCombinationNVAllocator & framebufferMixedSamplesCombinationNVAllocator,
  12752. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12753. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12754. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12755. //=== VK_EXT_full_screen_exclusive ===
  12756. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12757. VULKAN_HPP_NODISCARD Result getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
  12758. uint32_t * pPresentModeCount,
  12759. VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes,
  12760. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12761. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12762. template <typename PresentModeKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PresentModeKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12763. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type
  12764. getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12765. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12766. template <typename PresentModeKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PresentModeKHR>,
  12767. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12768. typename B1 = PresentModeKHRAllocator,
  12769. typename std::enable_if<std::is_same<typename B1::value_type, PresentModeKHR>::value, int>::type = 0>
  12770. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type
  12771. getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
  12772. PresentModeKHRAllocator & presentModeKHRAllocator,
  12773. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12774. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12775. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12776. //=== VK_EXT_acquire_drm_display ===
  12777. #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12778. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12779. VULKAN_HPP_NODISCARD Result acquireDrmDisplayEXT( int32_t drmFd,
  12780. VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12781. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12782. #else
  12783. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12784. typename ResultValueType<void>::type
  12785. acquireDrmDisplayEXT( int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12786. #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  12787. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12788. VULKAN_HPP_NODISCARD Result getDrmDisplayEXT( int32_t drmFd,
  12789. uint32_t connectorId,
  12790. VULKAN_HPP_NAMESPACE::DisplayKHR * display,
  12791. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12792. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12793. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12794. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type
  12795. getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12796. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  12797. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12798. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type
  12799. getDrmDisplayEXTUnique( int32_t drmFd, uint32_t connectorId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12800. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  12801. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12802. #if defined( VK_ENABLE_BETA_EXTENSIONS )
  12803. //=== VK_KHR_video_encode_queue ===
  12804. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12805. VULKAN_HPP_NODISCARD Result
  12806. getVideoEncodeQualityLevelPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
  12807. VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties,
  12808. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12809. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12810. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12811. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR>::type
  12812. getVideoEncodeQualityLevelPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo,
  12813. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12814. template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12815. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type
  12816. getVideoEncodeQualityLevelPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo,
  12817. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12818. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12819. #endif /*VK_ENABLE_BETA_EXTENSIONS*/
  12820. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  12821. //=== VK_NV_acquire_winrt_display ===
  12822. # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12823. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12824. VULKAN_HPP_NODISCARD Result acquireWinrtDisplayNV( VULKAN_HPP_NAMESPACE::DisplayKHR display,
  12825. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12826. # else
  12827. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12828. VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
  12829. acquireWinrtDisplayNV( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12830. # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
  12831. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12832. VULKAN_HPP_NODISCARD Result getWinrtDisplayNV( uint32_t deviceRelativeId,
  12833. VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay,
  12834. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12835. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12836. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12837. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type
  12838. getWinrtDisplayNV( uint32_t deviceRelativeId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12839. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  12840. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12841. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type
  12842. getWinrtDisplayNVUnique( uint32_t deviceRelativeId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12843. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  12844. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12845. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  12846. #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  12847. //=== VK_EXT_directfb_surface ===
  12848. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12849. Bool32 getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex,
  12850. IDirectFB * dfb,
  12851. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12852. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12853. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12854. VULKAN_HPP_NAMESPACE::Bool32 getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex,
  12855. IDirectFB & dfb,
  12856. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12857. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12858. #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  12859. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  12860. //=== VK_QNX_screen_surface ===
  12861. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12862. Bool32 getScreenPresentationSupportQNX( uint32_t queueFamilyIndex,
  12863. struct _screen_window * window,
  12864. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12865. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12866. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12867. VULKAN_HPP_NAMESPACE::Bool32 getScreenPresentationSupportQNX( uint32_t queueFamilyIndex,
  12868. struct _screen_window & window,
  12869. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12870. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12871. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  12872. //=== VK_NV_optical_flow ===
  12873. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12874. VULKAN_HPP_NODISCARD Result getOpticalFlowImageFormatsNV( const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
  12875. uint32_t * pFormatCount,
  12876. VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV * pImageFormatProperties,
  12877. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12878. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12879. template <typename OpticalFlowImageFormatPropertiesNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV>,
  12880. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12881. VULKAN_HPP_NODISCARD
  12882. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV, OpticalFlowImageFormatPropertiesNVAllocator>>::type
  12883. getOpticalFlowImageFormatsNV( const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo,
  12884. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12885. template <typename OpticalFlowImageFormatPropertiesNVAllocator = std::allocator<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV>,
  12886. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12887. typename B1 = OpticalFlowImageFormatPropertiesNVAllocator,
  12888. typename std::enable_if<std::is_same<typename B1::value_type, OpticalFlowImageFormatPropertiesNV>::value, int>::type = 0>
  12889. VULKAN_HPP_NODISCARD
  12890. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV, OpticalFlowImageFormatPropertiesNVAllocator>>::type
  12891. getOpticalFlowImageFormatsNV( const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo,
  12892. OpticalFlowImageFormatPropertiesNVAllocator & opticalFlowImageFormatPropertiesNVAllocator,
  12893. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12894. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12895. //=== VK_KHR_cooperative_matrix ===
  12896. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12897. VULKAN_HPP_NODISCARD Result getCooperativeMatrixPropertiesKHR( uint32_t * pPropertyCount,
  12898. VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR * pProperties,
  12899. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12900. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12901. template <typename CooperativeMatrixPropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR>,
  12902. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12903. VULKAN_HPP_NODISCARD
  12904. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR, CooperativeMatrixPropertiesKHRAllocator>>::type
  12905. getCooperativeMatrixPropertiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12906. template <typename CooperativeMatrixPropertiesKHRAllocator = std::allocator<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR>,
  12907. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  12908. typename B1 = CooperativeMatrixPropertiesKHRAllocator,
  12909. typename std::enable_if<std::is_same<typename B1::value_type, CooperativeMatrixPropertiesKHR>::value, int>::type = 0>
  12910. VULKAN_HPP_NODISCARD
  12911. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR, CooperativeMatrixPropertiesKHRAllocator>>::type
  12912. getCooperativeMatrixPropertiesKHR( CooperativeMatrixPropertiesKHRAllocator & cooperativeMatrixPropertiesKHRAllocator,
  12913. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  12914. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12915. operator VkPhysicalDevice() const VULKAN_HPP_NOEXCEPT
  12916. {
  12917. return m_physicalDevice;
  12918. }
  12919. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  12920. {
  12921. return m_physicalDevice != VK_NULL_HANDLE;
  12922. }
  12923. bool operator!() const VULKAN_HPP_NOEXCEPT
  12924. {
  12925. return m_physicalDevice == VK_NULL_HANDLE;
  12926. }
  12927. private:
  12928. VkPhysicalDevice m_physicalDevice = {};
  12929. };
  12930. template <>
  12931. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice>
  12932. {
  12933. using Type = VULKAN_HPP_NAMESPACE::PhysicalDevice;
  12934. };
  12935. template <>
  12936. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePhysicalDevice>
  12937. {
  12938. using Type = VULKAN_HPP_NAMESPACE::PhysicalDevice;
  12939. };
  12940. template <>
  12941. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PhysicalDevice>
  12942. {
  12943. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  12944. };
  12945. class Instance
  12946. {
  12947. public:
  12948. using CType = VkInstance;
  12949. using NativeType = VkInstance;
  12950. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eInstance;
  12951. static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
  12952. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eInstance;
  12953. public:
  12954. VULKAN_HPP_CONSTEXPR Instance() = default;
  12955. VULKAN_HPP_CONSTEXPR Instance( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
  12956. Instance( VkInstance instance ) VULKAN_HPP_NOEXCEPT : m_instance( instance ) {}
  12957. Instance & operator=( VkInstance instance ) VULKAN_HPP_NOEXCEPT
  12958. {
  12959. m_instance = instance;
  12960. return *this;
  12961. }
  12962. Instance & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
  12963. {
  12964. m_instance = {};
  12965. return *this;
  12966. }
  12967. #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
  12968. auto operator<=>( Instance const & ) const = default;
  12969. #else
  12970. bool operator==( Instance const & rhs ) const VULKAN_HPP_NOEXCEPT
  12971. {
  12972. return m_instance == rhs.m_instance;
  12973. }
  12974. bool operator!=( Instance const & rhs ) const VULKAN_HPP_NOEXCEPT
  12975. {
  12976. return m_instance != rhs.m_instance;
  12977. }
  12978. bool operator<( Instance const & rhs ) const VULKAN_HPP_NOEXCEPT
  12979. {
  12980. return m_instance < rhs.m_instance;
  12981. }
  12982. #endif
  12983. //=== VK_VERSION_1_0 ===
  12984. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12985. void destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  12986. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12987. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12988. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12989. void destroy( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  12990. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12991. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  12992. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12993. VULKAN_HPP_NODISCARD Result enumeratePhysicalDevices( uint32_t * pPhysicalDeviceCount,
  12994. VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices,
  12995. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  12996. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  12997. template <typename PhysicalDeviceAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDevice>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  12998. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDevice, PhysicalDeviceAllocator>>::type
  12999. enumeratePhysicalDevices( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13000. template <typename PhysicalDeviceAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDevice>,
  13001. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  13002. typename B1 = PhysicalDeviceAllocator,
  13003. typename std::enable_if<std::is_same<typename B1::value_type, PhysicalDevice>::value, int>::type = 0>
  13004. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDevice, PhysicalDeviceAllocator>>::type
  13005. enumeratePhysicalDevices( PhysicalDeviceAllocator & physicalDeviceAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13006. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13007. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13008. PFN_vkVoidFunction getProcAddr( const char * pName, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13009. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13010. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13011. PFN_vkVoidFunction getProcAddr( const std::string & name, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13012. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13013. //=== VK_VERSION_1_1 ===
  13014. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13015. VULKAN_HPP_NODISCARD Result enumeratePhysicalDeviceGroups( uint32_t * pPhysicalDeviceGroupCount,
  13016. VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,
  13017. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13018. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13019. template <typename PhysicalDeviceGroupPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>,
  13020. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13021. VULKAN_HPP_NODISCARD
  13022. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type
  13023. enumeratePhysicalDeviceGroups( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13024. template <typename PhysicalDeviceGroupPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>,
  13025. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  13026. typename B1 = PhysicalDeviceGroupPropertiesAllocator,
  13027. typename std::enable_if<std::is_same<typename B1::value_type, PhysicalDeviceGroupProperties>::value, int>::type = 0>
  13028. VULKAN_HPP_NODISCARD
  13029. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type
  13030. enumeratePhysicalDeviceGroups( PhysicalDeviceGroupPropertiesAllocator & physicalDeviceGroupPropertiesAllocator,
  13031. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13032. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13033. //=== VK_KHR_surface ===
  13034. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13035. void destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  13036. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13037. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13038. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13039. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13040. void destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  13041. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13042. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13043. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13044. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13045. void destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  13046. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13047. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13048. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13049. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13050. void destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
  13051. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13052. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13053. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13054. //=== VK_KHR_display ===
  13055. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13056. VULKAN_HPP_NODISCARD Result createDisplayPlaneSurfaceKHR( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR * pCreateInfo,
  13057. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13058. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13059. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13060. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13061. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13062. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13063. createDisplayPlaneSurfaceKHR( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR & createInfo,
  13064. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13065. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13066. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13067. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13068. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13069. createDisplayPlaneSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR & createInfo,
  13070. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13071. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13072. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13073. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13074. #if defined( VK_USE_PLATFORM_XLIB_KHR )
  13075. //=== VK_KHR_xlib_surface ===
  13076. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13077. VULKAN_HPP_NODISCARD Result createXlibSurfaceKHR( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR * pCreateInfo,
  13078. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13079. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13080. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13081. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13082. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13083. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13084. createXlibSurfaceKHR( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR & createInfo,
  13085. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13086. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13087. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13088. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13089. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13090. createXlibSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR & createInfo,
  13091. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13092. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13093. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13094. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13095. #endif /*VK_USE_PLATFORM_XLIB_KHR*/
  13096. #if defined( VK_USE_PLATFORM_XCB_KHR )
  13097. //=== VK_KHR_xcb_surface ===
  13098. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13099. VULKAN_HPP_NODISCARD Result createXcbSurfaceKHR( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR * pCreateInfo,
  13100. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13101. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13102. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13103. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13104. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13105. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13106. createXcbSurfaceKHR( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR & createInfo,
  13107. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13108. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13109. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13110. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13111. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13112. createXcbSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR & createInfo,
  13113. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13114. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13115. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13116. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13117. #endif /*VK_USE_PLATFORM_XCB_KHR*/
  13118. #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  13119. //=== VK_KHR_wayland_surface ===
  13120. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13121. VULKAN_HPP_NODISCARD Result createWaylandSurfaceKHR( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR * pCreateInfo,
  13122. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13123. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13124. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13125. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13126. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13127. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13128. createWaylandSurfaceKHR( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR & createInfo,
  13129. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13130. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13131. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13132. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13133. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13134. createWaylandSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR & createInfo,
  13135. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13136. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13137. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13138. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13139. #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
  13140. #if defined( VK_USE_PLATFORM_ANDROID_KHR )
  13141. //=== VK_KHR_android_surface ===
  13142. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13143. VULKAN_HPP_NODISCARD Result createAndroidSurfaceKHR( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR * pCreateInfo,
  13144. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13145. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13146. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13147. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13148. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13149. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13150. createAndroidSurfaceKHR( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR & createInfo,
  13151. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13152. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13153. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13154. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13155. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13156. createAndroidSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR & createInfo,
  13157. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13158. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13159. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13160. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13161. #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
  13162. #if defined( VK_USE_PLATFORM_WIN32_KHR )
  13163. //=== VK_KHR_win32_surface ===
  13164. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13165. VULKAN_HPP_NODISCARD Result createWin32SurfaceKHR( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR * pCreateInfo,
  13166. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13167. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13168. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13169. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13170. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13171. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13172. createWin32SurfaceKHR( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR & createInfo,
  13173. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13174. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13175. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13176. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13177. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13178. createWin32SurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR & createInfo,
  13179. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13180. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13181. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13182. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13183. #endif /*VK_USE_PLATFORM_WIN32_KHR*/
  13184. //=== VK_EXT_debug_report ===
  13185. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13186. VULKAN_HPP_NODISCARD Result createDebugReportCallbackEXT( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT * pCreateInfo,
  13187. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13188. VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT * pCallback,
  13189. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13190. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13191. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13192. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::type
  13193. createDebugReportCallbackEXT( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT & createInfo,
  13194. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13195. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13196. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13197. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13198. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT, Dispatch>>::type
  13199. createDebugReportCallbackEXTUnique( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT & createInfo,
  13200. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13201. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13202. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13203. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13204. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13205. void destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
  13206. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13207. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13208. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13209. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13210. void destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  13211. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13212. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13213. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13214. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13215. void destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
  13216. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13217. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13218. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13219. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13220. void destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
  13221. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13222. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13223. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13224. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13225. void debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
  13226. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_,
  13227. uint64_t object,
  13228. size_t location,
  13229. int32_t messageCode,
  13230. const char * pLayerPrefix,
  13231. const char * pMessage,
  13232. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13233. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13234. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13235. void debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
  13236. VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_,
  13237. uint64_t object,
  13238. size_t location,
  13239. int32_t messageCode,
  13240. const std::string & layerPrefix,
  13241. const std::string & message,
  13242. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13243. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13244. #if defined( VK_USE_PLATFORM_GGP )
  13245. //=== VK_GGP_stream_descriptor_surface ===
  13246. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13247. VULKAN_HPP_NODISCARD Result createStreamDescriptorSurfaceGGP( const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
  13248. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13249. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13250. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13251. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13252. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13253. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13254. createStreamDescriptorSurfaceGGP( const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP & createInfo,
  13255. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13256. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13257. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13258. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13259. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createStreamDescriptorSurfaceGGPUnique(
  13260. const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP & createInfo,
  13261. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13262. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13263. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13264. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13265. #endif /*VK_USE_PLATFORM_GGP*/
  13266. #if defined( VK_USE_PLATFORM_VI_NN )
  13267. //=== VK_NN_vi_surface ===
  13268. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13269. VULKAN_HPP_NODISCARD Result createViSurfaceNN( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN * pCreateInfo,
  13270. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13271. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13272. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13273. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13274. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13275. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13276. createViSurfaceNN( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN & createInfo,
  13277. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13278. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13279. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13280. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13281. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13282. createViSurfaceNNUnique( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN & createInfo,
  13283. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13284. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13285. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13286. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13287. #endif /*VK_USE_PLATFORM_VI_NN*/
  13288. //=== VK_KHR_device_group_creation ===
  13289. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13290. VULKAN_HPP_NODISCARD Result enumeratePhysicalDeviceGroupsKHR( uint32_t * pPhysicalDeviceGroupCount,
  13291. VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,
  13292. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13293. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13294. template <typename PhysicalDeviceGroupPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>,
  13295. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13296. VULKAN_HPP_NODISCARD
  13297. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type
  13298. enumeratePhysicalDeviceGroupsKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13299. template <typename PhysicalDeviceGroupPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>,
  13300. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  13301. typename B1 = PhysicalDeviceGroupPropertiesAllocator,
  13302. typename std::enable_if<std::is_same<typename B1::value_type, PhysicalDeviceGroupProperties>::value, int>::type = 0>
  13303. VULKAN_HPP_NODISCARD
  13304. typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type
  13305. enumeratePhysicalDeviceGroupsKHR( PhysicalDeviceGroupPropertiesAllocator & physicalDeviceGroupPropertiesAllocator,
  13306. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13307. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13308. #if defined( VK_USE_PLATFORM_IOS_MVK )
  13309. //=== VK_MVK_ios_surface ===
  13310. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13311. VULKAN_HPP_NODISCARD Result createIOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK * pCreateInfo,
  13312. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13313. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13314. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13315. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13316. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13317. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13318. createIOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK & createInfo,
  13319. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13320. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13321. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13322. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13323. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13324. createIOSSurfaceMVKUnique( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK & createInfo,
  13325. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13326. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13327. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13328. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13329. #endif /*VK_USE_PLATFORM_IOS_MVK*/
  13330. #if defined( VK_USE_PLATFORM_MACOS_MVK )
  13331. //=== VK_MVK_macos_surface ===
  13332. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13333. VULKAN_HPP_NODISCARD Result createMacOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK * pCreateInfo,
  13334. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13335. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13336. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13337. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13338. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13339. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13340. createMacOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK & createInfo,
  13341. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13342. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13343. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13344. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13345. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13346. createMacOSSurfaceMVKUnique( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK & createInfo,
  13347. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13348. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13349. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13350. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13351. #endif /*VK_USE_PLATFORM_MACOS_MVK*/
  13352. //=== VK_EXT_debug_utils ===
  13353. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13354. VULKAN_HPP_NODISCARD Result createDebugUtilsMessengerEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT * pCreateInfo,
  13355. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13356. VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT * pMessenger,
  13357. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13358. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13359. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13360. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::type
  13361. createDebugUtilsMessengerEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT & createInfo,
  13362. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13363. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13364. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13365. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13366. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT, Dispatch>>::type
  13367. createDebugUtilsMessengerEXTUnique( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT & createInfo,
  13368. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13369. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13370. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13371. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13372. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13373. void destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
  13374. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13375. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13376. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13377. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13378. void destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
  13379. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13380. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13381. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13382. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13383. void destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
  13384. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13385. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13386. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13387. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13388. void destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
  13389. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13390. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13391. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13392. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13393. void submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
  13394. VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
  13395. const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT * pCallbackData,
  13396. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13397. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13398. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13399. void submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
  13400. VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
  13401. const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT & callbackData,
  13402. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13403. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13404. #if defined( VK_USE_PLATFORM_FUCHSIA )
  13405. //=== VK_FUCHSIA_imagepipe_surface ===
  13406. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13407. VULKAN_HPP_NODISCARD Result createImagePipeSurfaceFUCHSIA( const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
  13408. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13409. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13410. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13411. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13412. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13413. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13414. createImagePipeSurfaceFUCHSIA( const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,
  13415. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13416. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13417. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13418. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13419. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13420. createImagePipeSurfaceFUCHSIAUnique( const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,
  13421. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13422. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13423. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13424. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13425. #endif /*VK_USE_PLATFORM_FUCHSIA*/
  13426. #if defined( VK_USE_PLATFORM_METAL_EXT )
  13427. //=== VK_EXT_metal_surface ===
  13428. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13429. VULKAN_HPP_NODISCARD Result createMetalSurfaceEXT( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT * pCreateInfo,
  13430. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13431. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13432. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13433. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13434. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13435. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13436. createMetalSurfaceEXT( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT & createInfo,
  13437. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13438. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13439. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13440. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13441. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13442. createMetalSurfaceEXTUnique( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT & createInfo,
  13443. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13444. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13445. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13446. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13447. #endif /*VK_USE_PLATFORM_METAL_EXT*/
  13448. //=== VK_EXT_headless_surface ===
  13449. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13450. VULKAN_HPP_NODISCARD Result createHeadlessSurfaceEXT( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT * pCreateInfo,
  13451. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13452. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13453. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13454. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13455. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13456. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13457. createHeadlessSurfaceEXT( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT & createInfo,
  13458. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13459. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13460. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13461. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13462. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13463. createHeadlessSurfaceEXTUnique( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT & createInfo,
  13464. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13465. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13466. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13467. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13468. #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  13469. //=== VK_EXT_directfb_surface ===
  13470. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13471. VULKAN_HPP_NODISCARD Result createDirectFBSurfaceEXT( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT * pCreateInfo,
  13472. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13473. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13474. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13475. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13476. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13477. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13478. createDirectFBSurfaceEXT( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT & createInfo,
  13479. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13480. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13481. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13482. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13483. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13484. createDirectFBSurfaceEXTUnique( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT & createInfo,
  13485. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13486. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13487. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13488. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13489. #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
  13490. #if defined( VK_USE_PLATFORM_SCREEN_QNX )
  13491. //=== VK_QNX_screen_surface ===
  13492. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13493. VULKAN_HPP_NODISCARD Result createScreenSurfaceQNX( const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX * pCreateInfo,
  13494. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13495. VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
  13496. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
  13497. # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13498. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13499. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
  13500. createScreenSurfaceQNX( const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX & createInfo,
  13501. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13502. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13503. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13504. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13505. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
  13506. createScreenSurfaceQNXUnique( const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX & createInfo,
  13507. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13508. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
  13509. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13510. # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13511. #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
  13512. operator VkInstance() const VULKAN_HPP_NOEXCEPT
  13513. {
  13514. return m_instance;
  13515. }
  13516. explicit operator bool() const VULKAN_HPP_NOEXCEPT
  13517. {
  13518. return m_instance != VK_NULL_HANDLE;
  13519. }
  13520. bool operator!() const VULKAN_HPP_NOEXCEPT
  13521. {
  13522. return m_instance == VK_NULL_HANDLE;
  13523. }
  13524. private:
  13525. VkInstance m_instance = {};
  13526. };
  13527. template <>
  13528. struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eInstance>
  13529. {
  13530. using Type = VULKAN_HPP_NAMESPACE::Instance;
  13531. };
  13532. template <>
  13533. struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT, VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eInstance>
  13534. {
  13535. using Type = VULKAN_HPP_NAMESPACE::Instance;
  13536. };
  13537. template <>
  13538. struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Instance>
  13539. {
  13540. static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
  13541. };
  13542. //=== VK_VERSION_1_0 ===
  13543. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13544. VULKAN_HPP_NODISCARD Result createInstance( const VULKAN_HPP_NAMESPACE::InstanceCreateInfo * pCreateInfo,
  13545. const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
  13546. VULKAN_HPP_NAMESPACE::Instance * pInstance,
  13547. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT;
  13548. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13549. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13550. VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::Instance>::type
  13551. createInstance( const VULKAN_HPP_NAMESPACE::InstanceCreateInfo & createInfo,
  13552. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13553. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
  13554. # ifndef VULKAN_HPP_NO_SMART_HANDLE
  13555. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13556. VULKAN_HPP_NODISCARD typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Instance, Dispatch>>::type
  13557. createInstanceUnique( const VULKAN_HPP_NAMESPACE::InstanceCreateInfo & createInfo,
  13558. Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13559. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
  13560. # endif /* VULKAN_HPP_NO_SMART_HANDLE */
  13561. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13562. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13563. VULKAN_HPP_NODISCARD Result enumerateInstanceExtensionProperties( const char * pLayerName,
  13564. uint32_t * pPropertyCount,
  13565. VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,
  13566. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT;
  13567. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13568. template <typename ExtensionPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::ExtensionProperties>,
  13569. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13570. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type
  13571. enumerateInstanceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
  13572. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
  13573. template <typename ExtensionPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::ExtensionProperties>,
  13574. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  13575. typename B1 = ExtensionPropertiesAllocator,
  13576. typename std::enable_if<std::is_same<typename B1::value_type, ExtensionProperties>::value, int>::type = 0>
  13577. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type
  13578. enumerateInstanceExtensionProperties( Optional<const std::string> layerName,
  13579. ExtensionPropertiesAllocator & extensionPropertiesAllocator,
  13580. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
  13581. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13582. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13583. VULKAN_HPP_NODISCARD Result enumerateInstanceLayerProperties( uint32_t * pPropertyCount,
  13584. VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,
  13585. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT;
  13586. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13587. template <typename LayerPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::LayerProperties>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13588. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type
  13589. enumerateInstanceLayerProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
  13590. template <typename LayerPropertiesAllocator = std::allocator<VULKAN_HPP_NAMESPACE::LayerProperties>,
  13591. typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
  13592. typename B1 = LayerPropertiesAllocator,
  13593. typename std::enable_if<std::is_same<typename B1::value_type, LayerProperties>::value, int>::type = 0>
  13594. VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type
  13595. enumerateInstanceLayerProperties( LayerPropertiesAllocator & layerPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
  13596. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13597. //=== VK_VERSION_1_1 ===
  13598. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13599. VULKAN_HPP_NODISCARD Result enumerateInstanceVersion( uint32_t * pApiVersion,
  13600. Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT;
  13601. #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
  13602. template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
  13603. VULKAN_HPP_NODISCARD typename ResultValueType<uint32_t>::type enumerateInstanceVersion( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
  13604. #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
  13605. } // namespace VULKAN_HPP_NAMESPACE
  13606. // operators to compare vk::-handles with nullptr
  13607. template <typename T>
  13608. typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, bool>::type operator==( const T & v, std::nullptr_t )
  13609. {
  13610. return !v;
  13611. }
  13612. template <typename T>
  13613. typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, bool>::type operator==( std::nullptr_t, const T & v )
  13614. {
  13615. return !v;
  13616. }
  13617. template <typename T>
  13618. typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, bool>::type operator!=( const T & v, std::nullptr_t )
  13619. {
  13620. return v;
  13621. }
  13622. template <typename T>
  13623. typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, bool>::type operator!=( std::nullptr_t, const T & v )
  13624. {
  13625. return v;
  13626. }
  13627. #endif