structs.odin 242 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664
  1. //
  2. // Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
  3. //
  4. package vulkan
  5. import "core:c"
  6. import win32 "core:sys/windows"
  7. _ :: win32
  8. when ODIN_OS == .Windows {
  9. HINSTANCE :: win32.HINSTANCE
  10. HWND :: win32.HWND
  11. HMONITOR :: win32.HMONITOR
  12. HANDLE :: win32.HANDLE
  13. LPCWSTR :: win32.LPCWSTR
  14. SECURITY_ATTRIBUTES :: win32.SECURITY_ATTRIBUTES
  15. DWORD :: win32.DWORD
  16. LONG :: win32.LONG
  17. LUID :: win32.LUID
  18. } else {
  19. HINSTANCE :: distinct rawptr
  20. HWND :: distinct rawptr
  21. HMONITOR :: distinct rawptr
  22. HANDLE :: distinct rawptr
  23. LPCWSTR :: ^u16
  24. SECURITY_ATTRIBUTES :: struct {}
  25. DWORD :: u32
  26. LONG :: c.long
  27. LUID :: struct {
  28. LowPart: DWORD,
  29. HighPart: LONG,
  30. }
  31. }
  32. CAMetalLayer :: struct {}
  33. MTLBuffer_id :: rawptr
  34. MTLTexture_id :: rawptr
  35. MTLSharedEvent_id :: rawptr
  36. MTLDevice_id :: rawptr
  37. MTLCommandQueue_id :: rawptr
  38. /********************************/
  39. Extent2D :: struct {
  40. width: u32,
  41. height: u32,
  42. }
  43. Extent3D :: struct {
  44. width: u32,
  45. height: u32,
  46. depth: u32,
  47. }
  48. Offset2D :: struct {
  49. x: i32,
  50. y: i32,
  51. }
  52. Offset3D :: struct {
  53. x: i32,
  54. y: i32,
  55. z: i32,
  56. }
  57. Rect2D :: struct {
  58. offset: Offset2D,
  59. extent: Extent2D,
  60. }
  61. BaseInStructure :: struct {
  62. sType: StructureType,
  63. pNext: ^BaseInStructure,
  64. }
  65. BaseOutStructure :: struct {
  66. sType: StructureType,
  67. pNext: ^BaseOutStructure,
  68. }
  69. BufferMemoryBarrier :: struct {
  70. sType: StructureType,
  71. pNext: rawptr,
  72. srcAccessMask: AccessFlags,
  73. dstAccessMask: AccessFlags,
  74. srcQueueFamilyIndex: u32,
  75. dstQueueFamilyIndex: u32,
  76. buffer: Buffer,
  77. offset: DeviceSize,
  78. size: DeviceSize,
  79. }
  80. DispatchIndirectCommand :: struct {
  81. x: u32,
  82. y: u32,
  83. z: u32,
  84. }
  85. DrawIndexedIndirectCommand :: struct {
  86. indexCount: u32,
  87. instanceCount: u32,
  88. firstIndex: u32,
  89. vertexOffset: i32,
  90. firstInstance: u32,
  91. }
  92. DrawIndirectCommand :: struct {
  93. vertexCount: u32,
  94. instanceCount: u32,
  95. firstVertex: u32,
  96. firstInstance: u32,
  97. }
  98. ImageSubresourceRange :: struct {
  99. aspectMask: ImageAspectFlags,
  100. baseMipLevel: u32,
  101. levelCount: u32,
  102. baseArrayLayer: u32,
  103. layerCount: u32,
  104. }
  105. ImageMemoryBarrier :: struct {
  106. sType: StructureType,
  107. pNext: rawptr,
  108. srcAccessMask: AccessFlags,
  109. dstAccessMask: AccessFlags,
  110. oldLayout: ImageLayout,
  111. newLayout: ImageLayout,
  112. srcQueueFamilyIndex: u32,
  113. dstQueueFamilyIndex: u32,
  114. image: Image,
  115. subresourceRange: ImageSubresourceRange,
  116. }
  117. MemoryBarrier :: struct {
  118. sType: StructureType,
  119. pNext: rawptr,
  120. srcAccessMask: AccessFlags,
  121. dstAccessMask: AccessFlags,
  122. }
  123. PipelineCacheHeaderVersionOne :: struct {
  124. headerSize: u32,
  125. headerVersion: PipelineCacheHeaderVersion,
  126. vendorID: u32,
  127. deviceID: u32,
  128. pipelineCacheUUID: [UUID_SIZE]u8,
  129. }
  130. AllocationCallbacks :: struct {
  131. pUserData: rawptr,
  132. pfnAllocation: ProcAllocationFunction,
  133. pfnReallocation: ProcReallocationFunction,
  134. pfnFree: ProcFreeFunction,
  135. pfnInternalAllocation: ProcInternalAllocationNotification,
  136. pfnInternalFree: ProcInternalFreeNotification,
  137. }
  138. ApplicationInfo :: struct {
  139. sType: StructureType,
  140. pNext: rawptr,
  141. pApplicationName: cstring,
  142. applicationVersion: u32,
  143. pEngineName: cstring,
  144. engineVersion: u32,
  145. apiVersion: u32,
  146. }
  147. FormatProperties :: struct {
  148. linearTilingFeatures: FormatFeatureFlags,
  149. optimalTilingFeatures: FormatFeatureFlags,
  150. bufferFeatures: FormatFeatureFlags,
  151. }
  152. ImageFormatProperties :: struct {
  153. maxExtent: Extent3D,
  154. maxMipLevels: u32,
  155. maxArrayLayers: u32,
  156. sampleCounts: SampleCountFlags,
  157. maxResourceSize: DeviceSize,
  158. }
  159. InstanceCreateInfo :: struct {
  160. sType: StructureType,
  161. pNext: rawptr,
  162. flags: InstanceCreateFlags,
  163. pApplicationInfo: ^ApplicationInfo,
  164. enabledLayerCount: u32,
  165. ppEnabledLayerNames: [^]cstring,
  166. enabledExtensionCount: u32,
  167. ppEnabledExtensionNames: [^]cstring,
  168. }
  169. MemoryHeap :: struct {
  170. size: DeviceSize,
  171. flags: MemoryHeapFlags,
  172. }
  173. MemoryType :: struct {
  174. propertyFlags: MemoryPropertyFlags,
  175. heapIndex: u32,
  176. }
  177. PhysicalDeviceFeatures :: struct {
  178. robustBufferAccess: b32,
  179. fullDrawIndexUint32: b32,
  180. imageCubeArray: b32,
  181. independentBlend: b32,
  182. geometryShader: b32,
  183. tessellationShader: b32,
  184. sampleRateShading: b32,
  185. dualSrcBlend: b32,
  186. logicOp: b32,
  187. multiDrawIndirect: b32,
  188. drawIndirectFirstInstance: b32,
  189. depthClamp: b32,
  190. depthBiasClamp: b32,
  191. fillModeNonSolid: b32,
  192. depthBounds: b32,
  193. wideLines: b32,
  194. largePoints: b32,
  195. alphaToOne: b32,
  196. multiViewport: b32,
  197. samplerAnisotropy: b32,
  198. textureCompressionETC2: b32,
  199. textureCompressionASTC_LDR: b32,
  200. textureCompressionBC: b32,
  201. occlusionQueryPrecise: b32,
  202. pipelineStatisticsQuery: b32,
  203. vertexPipelineStoresAndAtomics: b32,
  204. fragmentStoresAndAtomics: b32,
  205. shaderTessellationAndGeometryPointSize: b32,
  206. shaderImageGatherExtended: b32,
  207. shaderStorageImageExtendedFormats: b32,
  208. shaderStorageImageMultisample: b32,
  209. shaderStorageImageReadWithoutFormat: b32,
  210. shaderStorageImageWriteWithoutFormat: b32,
  211. shaderUniformBufferArrayDynamicIndexing: b32,
  212. shaderSampledImageArrayDynamicIndexing: b32,
  213. shaderStorageBufferArrayDynamicIndexing: b32,
  214. shaderStorageImageArrayDynamicIndexing: b32,
  215. shaderClipDistance: b32,
  216. shaderCullDistance: b32,
  217. shaderFloat64: b32,
  218. shaderInt64: b32,
  219. shaderInt16: b32,
  220. shaderResourceResidency: b32,
  221. shaderResourceMinLod: b32,
  222. sparseBinding: b32,
  223. sparseResidencyBuffer: b32,
  224. sparseResidencyImage2D: b32,
  225. sparseResidencyImage3D: b32,
  226. sparseResidency2Samples: b32,
  227. sparseResidency4Samples: b32,
  228. sparseResidency8Samples: b32,
  229. sparseResidency16Samples: b32,
  230. sparseResidencyAliased: b32,
  231. variableMultisampleRate: b32,
  232. inheritedQueries: b32,
  233. }
  234. PhysicalDeviceLimits :: struct {
  235. maxImageDimension1D: u32,
  236. maxImageDimension2D: u32,
  237. maxImageDimension3D: u32,
  238. maxImageDimensionCube: u32,
  239. maxImageArrayLayers: u32,
  240. maxTexelBufferElements: u32,
  241. maxUniformBufferRange: u32,
  242. maxStorageBufferRange: u32,
  243. maxPushConstantsSize: u32,
  244. maxMemoryAllocationCount: u32,
  245. maxSamplerAllocationCount: u32,
  246. bufferImageGranularity: DeviceSize,
  247. sparseAddressSpaceSize: DeviceSize,
  248. maxBoundDescriptorSets: u32,
  249. maxPerStageDescriptorSamplers: u32,
  250. maxPerStageDescriptorUniformBuffers: u32,
  251. maxPerStageDescriptorStorageBuffers: u32,
  252. maxPerStageDescriptorSampledImages: u32,
  253. maxPerStageDescriptorStorageImages: u32,
  254. maxPerStageDescriptorInputAttachments: u32,
  255. maxPerStageResources: u32,
  256. maxDescriptorSetSamplers: u32,
  257. maxDescriptorSetUniformBuffers: u32,
  258. maxDescriptorSetUniformBuffersDynamic: u32,
  259. maxDescriptorSetStorageBuffers: u32,
  260. maxDescriptorSetStorageBuffersDynamic: u32,
  261. maxDescriptorSetSampledImages: u32,
  262. maxDescriptorSetStorageImages: u32,
  263. maxDescriptorSetInputAttachments: u32,
  264. maxVertexInputAttributes: u32,
  265. maxVertexInputBindings: u32,
  266. maxVertexInputAttributeOffset: u32,
  267. maxVertexInputBindingStride: u32,
  268. maxVertexOutputComponents: u32,
  269. maxTessellationGenerationLevel: u32,
  270. maxTessellationPatchSize: u32,
  271. maxTessellationControlPerVertexInputComponents: u32,
  272. maxTessellationControlPerVertexOutputComponents: u32,
  273. maxTessellationControlPerPatchOutputComponents: u32,
  274. maxTessellationControlTotalOutputComponents: u32,
  275. maxTessellationEvaluationInputComponents: u32,
  276. maxTessellationEvaluationOutputComponents: u32,
  277. maxGeometryShaderInvocations: u32,
  278. maxGeometryInputComponents: u32,
  279. maxGeometryOutputComponents: u32,
  280. maxGeometryOutputVertices: u32,
  281. maxGeometryTotalOutputComponents: u32,
  282. maxFragmentInputComponents: u32,
  283. maxFragmentOutputAttachments: u32,
  284. maxFragmentDualSrcAttachments: u32,
  285. maxFragmentCombinedOutputResources: u32,
  286. maxComputeSharedMemorySize: u32,
  287. maxComputeWorkGroupCount: [3]u32,
  288. maxComputeWorkGroupInvocations: u32,
  289. maxComputeWorkGroupSize: [3]u32,
  290. subPixelPrecisionBits: u32,
  291. subTexelPrecisionBits: u32,
  292. mipmapPrecisionBits: u32,
  293. maxDrawIndexedIndexValue: u32,
  294. maxDrawIndirectCount: u32,
  295. maxSamplerLodBias: f32,
  296. maxSamplerAnisotropy: f32,
  297. maxViewports: u32,
  298. maxViewportDimensions: [2]u32,
  299. viewportBoundsRange: [2]f32,
  300. viewportSubPixelBits: u32,
  301. minMemoryMapAlignment: int,
  302. minTexelBufferOffsetAlignment: DeviceSize,
  303. minUniformBufferOffsetAlignment: DeviceSize,
  304. minStorageBufferOffsetAlignment: DeviceSize,
  305. minTexelOffset: i32,
  306. maxTexelOffset: u32,
  307. minTexelGatherOffset: i32,
  308. maxTexelGatherOffset: u32,
  309. minInterpolationOffset: f32,
  310. maxInterpolationOffset: f32,
  311. subPixelInterpolationOffsetBits: u32,
  312. maxFramebufferWidth: u32,
  313. maxFramebufferHeight: u32,
  314. maxFramebufferLayers: u32,
  315. framebufferColorSampleCounts: SampleCountFlags,
  316. framebufferDepthSampleCounts: SampleCountFlags,
  317. framebufferStencilSampleCounts: SampleCountFlags,
  318. framebufferNoAttachmentsSampleCounts: SampleCountFlags,
  319. maxColorAttachments: u32,
  320. sampledImageColorSampleCounts: SampleCountFlags,
  321. sampledImageIntegerSampleCounts: SampleCountFlags,
  322. sampledImageDepthSampleCounts: SampleCountFlags,
  323. sampledImageStencilSampleCounts: SampleCountFlags,
  324. storageImageSampleCounts: SampleCountFlags,
  325. maxSampleMaskWords: u32,
  326. timestampComputeAndGraphics: b32,
  327. timestampPeriod: f32,
  328. maxClipDistances: u32,
  329. maxCullDistances: u32,
  330. maxCombinedClipAndCullDistances: u32,
  331. discreteQueuePriorities: u32,
  332. pointSizeRange: [2]f32,
  333. lineWidthRange: [2]f32,
  334. pointSizeGranularity: f32,
  335. lineWidthGranularity: f32,
  336. strictLines: b32,
  337. standardSampleLocations: b32,
  338. optimalBufferCopyOffsetAlignment: DeviceSize,
  339. optimalBufferCopyRowPitchAlignment: DeviceSize,
  340. nonCoherentAtomSize: DeviceSize,
  341. }
  342. PhysicalDeviceMemoryProperties :: struct {
  343. memoryTypeCount: u32,
  344. memoryTypes: [MAX_MEMORY_TYPES]MemoryType,
  345. memoryHeapCount: u32,
  346. memoryHeaps: [MAX_MEMORY_HEAPS]MemoryHeap,
  347. }
  348. PhysicalDeviceSparseProperties :: struct {
  349. residencyStandard2DBlockShape: b32,
  350. residencyStandard2DMultisampleBlockShape: b32,
  351. residencyStandard3DBlockShape: b32,
  352. residencyAlignedMipSize: b32,
  353. residencyNonResidentStrict: b32,
  354. }
  355. PhysicalDeviceProperties :: struct {
  356. apiVersion: u32,
  357. driverVersion: u32,
  358. vendorID: u32,
  359. deviceID: u32,
  360. deviceType: PhysicalDeviceType,
  361. deviceName: [MAX_PHYSICAL_DEVICE_NAME_SIZE]byte,
  362. pipelineCacheUUID: [UUID_SIZE]u8,
  363. limits: PhysicalDeviceLimits,
  364. sparseProperties: PhysicalDeviceSparseProperties,
  365. }
  366. QueueFamilyProperties :: struct {
  367. queueFlags: QueueFlags,
  368. queueCount: u32,
  369. timestampValidBits: u32,
  370. minImageTransferGranularity: Extent3D,
  371. }
  372. DeviceQueueCreateInfo :: struct {
  373. sType: StructureType,
  374. pNext: rawptr,
  375. flags: DeviceQueueCreateFlags,
  376. queueFamilyIndex: u32,
  377. queueCount: u32,
  378. pQueuePriorities: [^]f32,
  379. }
  380. DeviceCreateInfo :: struct {
  381. sType: StructureType,
  382. pNext: rawptr,
  383. flags: DeviceCreateFlags,
  384. queueCreateInfoCount: u32,
  385. pQueueCreateInfos: [^]DeviceQueueCreateInfo,
  386. enabledLayerCount: u32,
  387. ppEnabledLayerNames: [^]cstring,
  388. enabledExtensionCount: u32,
  389. ppEnabledExtensionNames: [^]cstring,
  390. pEnabledFeatures: [^]PhysicalDeviceFeatures,
  391. }
  392. ExtensionProperties :: struct {
  393. extensionName: [MAX_EXTENSION_NAME_SIZE]byte,
  394. specVersion: u32,
  395. }
  396. LayerProperties :: struct {
  397. layerName: [MAX_EXTENSION_NAME_SIZE]byte,
  398. specVersion: u32,
  399. implementationVersion: u32,
  400. description: [MAX_DESCRIPTION_SIZE]byte,
  401. }
  402. SubmitInfo :: struct {
  403. sType: StructureType,
  404. pNext: rawptr,
  405. waitSemaphoreCount: u32,
  406. pWaitSemaphores: [^]Semaphore,
  407. pWaitDstStageMask: [^]PipelineStageFlags,
  408. commandBufferCount: u32,
  409. pCommandBuffers: [^]CommandBuffer,
  410. signalSemaphoreCount: u32,
  411. pSignalSemaphores: [^]Semaphore,
  412. }
  413. MappedMemoryRange :: struct {
  414. sType: StructureType,
  415. pNext: rawptr,
  416. memory: DeviceMemory,
  417. offset: DeviceSize,
  418. size: DeviceSize,
  419. }
  420. MemoryAllocateInfo :: struct {
  421. sType: StructureType,
  422. pNext: rawptr,
  423. allocationSize: DeviceSize,
  424. memoryTypeIndex: u32,
  425. }
  426. MemoryRequirements :: struct {
  427. size: DeviceSize,
  428. alignment: DeviceSize,
  429. memoryTypeBits: u32,
  430. }
  431. SparseMemoryBind :: struct {
  432. resourceOffset: DeviceSize,
  433. size: DeviceSize,
  434. memory: DeviceMemory,
  435. memoryOffset: DeviceSize,
  436. flags: SparseMemoryBindFlags,
  437. }
  438. SparseBufferMemoryBindInfo :: struct {
  439. buffer: Buffer,
  440. bindCount: u32,
  441. pBinds: [^]SparseMemoryBind,
  442. }
  443. SparseImageOpaqueMemoryBindInfo :: struct {
  444. image: Image,
  445. bindCount: u32,
  446. pBinds: [^]SparseMemoryBind,
  447. }
  448. ImageSubresource :: struct {
  449. aspectMask: ImageAspectFlags,
  450. mipLevel: u32,
  451. arrayLayer: u32,
  452. }
  453. SparseImageMemoryBind :: struct {
  454. subresource: ImageSubresource,
  455. offset: Offset3D,
  456. extent: Extent3D,
  457. memory: DeviceMemory,
  458. memoryOffset: DeviceSize,
  459. flags: SparseMemoryBindFlags,
  460. }
  461. SparseImageMemoryBindInfo :: struct {
  462. image: Image,
  463. bindCount: u32,
  464. pBinds: [^]SparseImageMemoryBind,
  465. }
  466. BindSparseInfo :: struct {
  467. sType: StructureType,
  468. pNext: rawptr,
  469. waitSemaphoreCount: u32,
  470. pWaitSemaphores: [^]Semaphore,
  471. bufferBindCount: u32,
  472. pBufferBinds: [^]SparseBufferMemoryBindInfo,
  473. imageOpaqueBindCount: u32,
  474. pImageOpaqueBinds: [^]SparseImageOpaqueMemoryBindInfo,
  475. imageBindCount: u32,
  476. pImageBinds: [^]SparseImageMemoryBindInfo,
  477. signalSemaphoreCount: u32,
  478. pSignalSemaphores: [^]Semaphore,
  479. }
  480. SparseImageFormatProperties :: struct {
  481. aspectMask: ImageAspectFlags,
  482. imageGranularity: Extent3D,
  483. flags: SparseImageFormatFlags,
  484. }
  485. SparseImageMemoryRequirements :: struct {
  486. formatProperties: SparseImageFormatProperties,
  487. imageMipTailFirstLod: u32,
  488. imageMipTailSize: DeviceSize,
  489. imageMipTailOffset: DeviceSize,
  490. imageMipTailStride: DeviceSize,
  491. }
  492. FenceCreateInfo :: struct {
  493. sType: StructureType,
  494. pNext: rawptr,
  495. flags: FenceCreateFlags,
  496. }
  497. SemaphoreCreateInfo :: struct {
  498. sType: StructureType,
  499. pNext: rawptr,
  500. flags: SemaphoreCreateFlags,
  501. }
  502. EventCreateInfo :: struct {
  503. sType: StructureType,
  504. pNext: rawptr,
  505. flags: EventCreateFlags,
  506. }
  507. QueryPoolCreateInfo :: struct {
  508. sType: StructureType,
  509. pNext: rawptr,
  510. flags: QueryPoolCreateFlags,
  511. queryType: QueryType,
  512. queryCount: u32,
  513. pipelineStatistics: QueryPipelineStatisticFlags,
  514. }
  515. BufferCreateInfo :: struct {
  516. sType: StructureType,
  517. pNext: rawptr,
  518. flags: BufferCreateFlags,
  519. size: DeviceSize,
  520. usage: BufferUsageFlags,
  521. sharingMode: SharingMode,
  522. queueFamilyIndexCount: u32,
  523. pQueueFamilyIndices: [^]u32,
  524. }
  525. BufferViewCreateInfo :: struct {
  526. sType: StructureType,
  527. pNext: rawptr,
  528. flags: BufferViewCreateFlags,
  529. buffer: Buffer,
  530. format: Format,
  531. offset: DeviceSize,
  532. range: DeviceSize,
  533. }
  534. ImageCreateInfo :: struct {
  535. sType: StructureType,
  536. pNext: rawptr,
  537. flags: ImageCreateFlags,
  538. imageType: ImageType,
  539. format: Format,
  540. extent: Extent3D,
  541. mipLevels: u32,
  542. arrayLayers: u32,
  543. samples: SampleCountFlags,
  544. tiling: ImageTiling,
  545. usage: ImageUsageFlags,
  546. sharingMode: SharingMode,
  547. queueFamilyIndexCount: u32,
  548. pQueueFamilyIndices: [^]u32,
  549. initialLayout: ImageLayout,
  550. }
  551. SubresourceLayout :: struct {
  552. offset: DeviceSize,
  553. size: DeviceSize,
  554. rowPitch: DeviceSize,
  555. arrayPitch: DeviceSize,
  556. depthPitch: DeviceSize,
  557. }
  558. ComponentMapping :: struct {
  559. r: ComponentSwizzle,
  560. g: ComponentSwizzle,
  561. b: ComponentSwizzle,
  562. a: ComponentSwizzle,
  563. }
  564. ImageViewCreateInfo :: struct {
  565. sType: StructureType,
  566. pNext: rawptr,
  567. flags: ImageViewCreateFlags,
  568. image: Image,
  569. viewType: ImageViewType,
  570. format: Format,
  571. components: ComponentMapping,
  572. subresourceRange: ImageSubresourceRange,
  573. }
  574. ShaderModuleCreateInfo :: struct {
  575. sType: StructureType,
  576. pNext: rawptr,
  577. flags: ShaderModuleCreateFlags,
  578. codeSize: int,
  579. pCode: ^u32,
  580. }
  581. PipelineCacheCreateInfo :: struct {
  582. sType: StructureType,
  583. pNext: rawptr,
  584. flags: PipelineCacheCreateFlags,
  585. initialDataSize: int,
  586. pInitialData: rawptr,
  587. }
  588. SpecializationMapEntry :: struct {
  589. constantID: u32,
  590. offset: u32,
  591. size: int,
  592. }
  593. SpecializationInfo :: struct {
  594. mapEntryCount: u32,
  595. pMapEntries: [^]SpecializationMapEntry,
  596. dataSize: int,
  597. pData: rawptr,
  598. }
  599. PipelineShaderStageCreateInfo :: struct {
  600. sType: StructureType,
  601. pNext: rawptr,
  602. flags: PipelineShaderStageCreateFlags,
  603. stage: ShaderStageFlags,
  604. module: ShaderModule,
  605. pName: cstring,
  606. pSpecializationInfo: ^SpecializationInfo,
  607. }
  608. ComputePipelineCreateInfo :: struct {
  609. sType: StructureType,
  610. pNext: rawptr,
  611. flags: PipelineCreateFlags,
  612. stage: PipelineShaderStageCreateInfo,
  613. layout: PipelineLayout,
  614. basePipelineHandle: Pipeline,
  615. basePipelineIndex: i32,
  616. }
  617. VertexInputBindingDescription :: struct {
  618. binding: u32,
  619. stride: u32,
  620. inputRate: VertexInputRate,
  621. }
  622. VertexInputAttributeDescription :: struct {
  623. location: u32,
  624. binding: u32,
  625. format: Format,
  626. offset: u32,
  627. }
  628. PipelineVertexInputStateCreateInfo :: struct {
  629. sType: StructureType,
  630. pNext: rawptr,
  631. flags: PipelineVertexInputStateCreateFlags,
  632. vertexBindingDescriptionCount: u32,
  633. pVertexBindingDescriptions: [^]VertexInputBindingDescription,
  634. vertexAttributeDescriptionCount: u32,
  635. pVertexAttributeDescriptions: [^]VertexInputAttributeDescription,
  636. }
  637. PipelineInputAssemblyStateCreateInfo :: struct {
  638. sType: StructureType,
  639. pNext: rawptr,
  640. flags: PipelineInputAssemblyStateCreateFlags,
  641. topology: PrimitiveTopology,
  642. primitiveRestartEnable: b32,
  643. }
  644. PipelineTessellationStateCreateInfo :: struct {
  645. sType: StructureType,
  646. pNext: rawptr,
  647. flags: PipelineTessellationStateCreateFlags,
  648. patchControlPoints: u32,
  649. }
  650. Viewport :: struct {
  651. x: f32,
  652. y: f32,
  653. width: f32,
  654. height: f32,
  655. minDepth: f32,
  656. maxDepth: f32,
  657. }
  658. PipelineViewportStateCreateInfo :: struct {
  659. sType: StructureType,
  660. pNext: rawptr,
  661. flags: PipelineViewportStateCreateFlags,
  662. viewportCount: u32,
  663. pViewports: [^]Viewport,
  664. scissorCount: u32,
  665. pScissors: [^]Rect2D,
  666. }
  667. PipelineRasterizationStateCreateInfo :: struct {
  668. sType: StructureType,
  669. pNext: rawptr,
  670. flags: PipelineRasterizationStateCreateFlags,
  671. depthClampEnable: b32,
  672. rasterizerDiscardEnable: b32,
  673. polygonMode: PolygonMode,
  674. cullMode: CullModeFlags,
  675. frontFace: FrontFace,
  676. depthBiasEnable: b32,
  677. depthBiasConstantFactor: f32,
  678. depthBiasClamp: f32,
  679. depthBiasSlopeFactor: f32,
  680. lineWidth: f32,
  681. }
  682. PipelineMultisampleStateCreateInfo :: struct {
  683. sType: StructureType,
  684. pNext: rawptr,
  685. flags: PipelineMultisampleStateCreateFlags,
  686. rasterizationSamples: SampleCountFlags,
  687. sampleShadingEnable: b32,
  688. minSampleShading: f32,
  689. pSampleMask: ^SampleMask,
  690. alphaToCoverageEnable: b32,
  691. alphaToOneEnable: b32,
  692. }
  693. StencilOpState :: struct {
  694. failOp: StencilOp,
  695. passOp: StencilOp,
  696. depthFailOp: StencilOp,
  697. compareOp: CompareOp,
  698. compareMask: u32,
  699. writeMask: u32,
  700. reference: u32,
  701. }
  702. PipelineDepthStencilStateCreateInfo :: struct {
  703. sType: StructureType,
  704. pNext: rawptr,
  705. flags: PipelineDepthStencilStateCreateFlags,
  706. depthTestEnable: b32,
  707. depthWriteEnable: b32,
  708. depthCompareOp: CompareOp,
  709. depthBoundsTestEnable: b32,
  710. stencilTestEnable: b32,
  711. front: StencilOpState,
  712. back: StencilOpState,
  713. minDepthBounds: f32,
  714. maxDepthBounds: f32,
  715. }
  716. PipelineColorBlendAttachmentState :: struct {
  717. blendEnable: b32,
  718. srcColorBlendFactor: BlendFactor,
  719. dstColorBlendFactor: BlendFactor,
  720. colorBlendOp: BlendOp,
  721. srcAlphaBlendFactor: BlendFactor,
  722. dstAlphaBlendFactor: BlendFactor,
  723. alphaBlendOp: BlendOp,
  724. colorWriteMask: ColorComponentFlags,
  725. }
  726. PipelineColorBlendStateCreateInfo :: struct {
  727. sType: StructureType,
  728. pNext: rawptr,
  729. flags: PipelineColorBlendStateCreateFlags,
  730. logicOpEnable: b32,
  731. logicOp: LogicOp,
  732. attachmentCount: u32,
  733. pAttachments: [^]PipelineColorBlendAttachmentState,
  734. blendConstants: [4]f32,
  735. }
  736. PipelineDynamicStateCreateInfo :: struct {
  737. sType: StructureType,
  738. pNext: rawptr,
  739. flags: PipelineDynamicStateCreateFlags,
  740. dynamicStateCount: u32,
  741. pDynamicStates: [^]DynamicState,
  742. }
  743. GraphicsPipelineCreateInfo :: struct {
  744. sType: StructureType,
  745. pNext: rawptr,
  746. flags: PipelineCreateFlags,
  747. stageCount: u32,
  748. pStages: [^]PipelineShaderStageCreateInfo,
  749. pVertexInputState: ^PipelineVertexInputStateCreateInfo,
  750. pInputAssemblyState: ^PipelineInputAssemblyStateCreateInfo,
  751. pTessellationState: ^PipelineTessellationStateCreateInfo,
  752. pViewportState: ^PipelineViewportStateCreateInfo,
  753. pRasterizationState: ^PipelineRasterizationStateCreateInfo,
  754. pMultisampleState: ^PipelineMultisampleStateCreateInfo,
  755. pDepthStencilState: ^PipelineDepthStencilStateCreateInfo,
  756. pColorBlendState: ^PipelineColorBlendStateCreateInfo,
  757. pDynamicState: ^PipelineDynamicStateCreateInfo,
  758. layout: PipelineLayout,
  759. renderPass: RenderPass,
  760. subpass: u32,
  761. basePipelineHandle: Pipeline,
  762. basePipelineIndex: i32,
  763. }
  764. PushConstantRange :: struct {
  765. stageFlags: ShaderStageFlags,
  766. offset: u32,
  767. size: u32,
  768. }
  769. PipelineLayoutCreateInfo :: struct {
  770. sType: StructureType,
  771. pNext: rawptr,
  772. flags: PipelineLayoutCreateFlags,
  773. setLayoutCount: u32,
  774. pSetLayouts: [^]DescriptorSetLayout,
  775. pushConstantRangeCount: u32,
  776. pPushConstantRanges: [^]PushConstantRange,
  777. }
  778. SamplerCreateInfo :: struct {
  779. sType: StructureType,
  780. pNext: rawptr,
  781. flags: SamplerCreateFlags,
  782. magFilter: Filter,
  783. minFilter: Filter,
  784. mipmapMode: SamplerMipmapMode,
  785. addressModeU: SamplerAddressMode,
  786. addressModeV: SamplerAddressMode,
  787. addressModeW: SamplerAddressMode,
  788. mipLodBias: f32,
  789. anisotropyEnable: b32,
  790. maxAnisotropy: f32,
  791. compareEnable: b32,
  792. compareOp: CompareOp,
  793. minLod: f32,
  794. maxLod: f32,
  795. borderColor: BorderColor,
  796. unnormalizedCoordinates: b32,
  797. }
  798. CopyDescriptorSet :: struct {
  799. sType: StructureType,
  800. pNext: rawptr,
  801. srcSet: DescriptorSet,
  802. srcBinding: u32,
  803. srcArrayElement: u32,
  804. dstSet: DescriptorSet,
  805. dstBinding: u32,
  806. dstArrayElement: u32,
  807. descriptorCount: u32,
  808. }
  809. DescriptorBufferInfo :: struct {
  810. buffer: Buffer,
  811. offset: DeviceSize,
  812. range: DeviceSize,
  813. }
  814. DescriptorImageInfo :: struct {
  815. sampler: Sampler,
  816. imageView: ImageView,
  817. imageLayout: ImageLayout,
  818. }
  819. DescriptorPoolSize :: struct {
  820. type: DescriptorType,
  821. descriptorCount: u32,
  822. }
  823. DescriptorPoolCreateInfo :: struct {
  824. sType: StructureType,
  825. pNext: rawptr,
  826. flags: DescriptorPoolCreateFlags,
  827. maxSets: u32,
  828. poolSizeCount: u32,
  829. pPoolSizes: [^]DescriptorPoolSize,
  830. }
  831. DescriptorSetAllocateInfo :: struct {
  832. sType: StructureType,
  833. pNext: rawptr,
  834. descriptorPool: DescriptorPool,
  835. descriptorSetCount: u32,
  836. pSetLayouts: [^]DescriptorSetLayout,
  837. }
  838. DescriptorSetLayoutBinding :: struct {
  839. binding: u32,
  840. descriptorType: DescriptorType,
  841. descriptorCount: u32,
  842. stageFlags: ShaderStageFlags,
  843. pImmutableSamplers: [^]Sampler,
  844. }
  845. DescriptorSetLayoutCreateInfo :: struct {
  846. sType: StructureType,
  847. pNext: rawptr,
  848. flags: DescriptorSetLayoutCreateFlags,
  849. bindingCount: u32,
  850. pBindings: [^]DescriptorSetLayoutBinding,
  851. }
  852. WriteDescriptorSet :: struct {
  853. sType: StructureType,
  854. pNext: rawptr,
  855. dstSet: DescriptorSet,
  856. dstBinding: u32,
  857. dstArrayElement: u32,
  858. descriptorCount: u32,
  859. descriptorType: DescriptorType,
  860. pImageInfo: ^DescriptorImageInfo,
  861. pBufferInfo: ^DescriptorBufferInfo,
  862. pTexelBufferView: ^BufferView,
  863. }
  864. AttachmentDescription :: struct {
  865. flags: AttachmentDescriptionFlags,
  866. format: Format,
  867. samples: SampleCountFlags,
  868. loadOp: AttachmentLoadOp,
  869. storeOp: AttachmentStoreOp,
  870. stencilLoadOp: AttachmentLoadOp,
  871. stencilStoreOp: AttachmentStoreOp,
  872. initialLayout: ImageLayout,
  873. finalLayout: ImageLayout,
  874. }
  875. AttachmentReference :: struct {
  876. attachment: u32,
  877. layout: ImageLayout,
  878. }
  879. FramebufferCreateInfo :: struct {
  880. sType: StructureType,
  881. pNext: rawptr,
  882. flags: FramebufferCreateFlags,
  883. renderPass: RenderPass,
  884. attachmentCount: u32,
  885. pAttachments: [^]ImageView,
  886. width: u32,
  887. height: u32,
  888. layers: u32,
  889. }
  890. SubpassDescription :: struct {
  891. flags: SubpassDescriptionFlags,
  892. pipelineBindPoint: PipelineBindPoint,
  893. inputAttachmentCount: u32,
  894. pInputAttachments: [^]AttachmentReference,
  895. colorAttachmentCount: u32,
  896. pColorAttachments: [^]AttachmentReference,
  897. pResolveAttachments: [^]AttachmentReference,
  898. pDepthStencilAttachment: ^AttachmentReference,
  899. preserveAttachmentCount: u32,
  900. pPreserveAttachments: [^]u32,
  901. }
  902. SubpassDependency :: struct {
  903. srcSubpass: u32,
  904. dstSubpass: u32,
  905. srcStageMask: PipelineStageFlags,
  906. dstStageMask: PipelineStageFlags,
  907. srcAccessMask: AccessFlags,
  908. dstAccessMask: AccessFlags,
  909. dependencyFlags: DependencyFlags,
  910. }
  911. RenderPassCreateInfo :: struct {
  912. sType: StructureType,
  913. pNext: rawptr,
  914. flags: RenderPassCreateFlags,
  915. attachmentCount: u32,
  916. pAttachments: [^]AttachmentDescription,
  917. subpassCount: u32,
  918. pSubpasses: [^]SubpassDescription,
  919. dependencyCount: u32,
  920. pDependencies: [^]SubpassDependency,
  921. }
  922. CommandPoolCreateInfo :: struct {
  923. sType: StructureType,
  924. pNext: rawptr,
  925. flags: CommandPoolCreateFlags,
  926. queueFamilyIndex: u32,
  927. }
  928. CommandBufferAllocateInfo :: struct {
  929. sType: StructureType,
  930. pNext: rawptr,
  931. commandPool: CommandPool,
  932. level: CommandBufferLevel,
  933. commandBufferCount: u32,
  934. }
  935. CommandBufferInheritanceInfo :: struct {
  936. sType: StructureType,
  937. pNext: rawptr,
  938. renderPass: RenderPass,
  939. subpass: u32,
  940. framebuffer: Framebuffer,
  941. occlusionQueryEnable: b32,
  942. queryFlags: QueryControlFlags,
  943. pipelineStatistics: QueryPipelineStatisticFlags,
  944. }
  945. CommandBufferBeginInfo :: struct {
  946. sType: StructureType,
  947. pNext: rawptr,
  948. flags: CommandBufferUsageFlags,
  949. pInheritanceInfo: ^CommandBufferInheritanceInfo,
  950. }
  951. BufferCopy :: struct {
  952. srcOffset: DeviceSize,
  953. dstOffset: DeviceSize,
  954. size: DeviceSize,
  955. }
  956. ImageSubresourceLayers :: struct {
  957. aspectMask: ImageAspectFlags,
  958. mipLevel: u32,
  959. baseArrayLayer: u32,
  960. layerCount: u32,
  961. }
  962. BufferImageCopy :: struct {
  963. bufferOffset: DeviceSize,
  964. bufferRowLength: u32,
  965. bufferImageHeight: u32,
  966. imageSubresource: ImageSubresourceLayers,
  967. imageOffset: Offset3D,
  968. imageExtent: Extent3D,
  969. }
  970. ClearColorValue :: struct #raw_union {
  971. float32: [4]f32,
  972. int32: [4]i32,
  973. uint32: [4]u32,
  974. }
  975. ClearDepthStencilValue :: struct {
  976. depth: f32,
  977. stencil: u32,
  978. }
  979. ClearValue :: struct #raw_union {
  980. color: ClearColorValue,
  981. depthStencil: ClearDepthStencilValue,
  982. }
  983. ClearAttachment :: struct {
  984. aspectMask: ImageAspectFlags,
  985. colorAttachment: u32,
  986. clearValue: ClearValue,
  987. }
  988. ClearRect :: struct {
  989. rect: Rect2D,
  990. baseArrayLayer: u32,
  991. layerCount: u32,
  992. }
  993. ImageBlit :: struct {
  994. srcSubresource: ImageSubresourceLayers,
  995. srcOffsets: [2]Offset3D,
  996. dstSubresource: ImageSubresourceLayers,
  997. dstOffsets: [2]Offset3D,
  998. }
  999. ImageCopy :: struct {
  1000. srcSubresource: ImageSubresourceLayers,
  1001. srcOffset: Offset3D,
  1002. dstSubresource: ImageSubresourceLayers,
  1003. dstOffset: Offset3D,
  1004. extent: Extent3D,
  1005. }
  1006. ImageResolve :: struct {
  1007. srcSubresource: ImageSubresourceLayers,
  1008. srcOffset: Offset3D,
  1009. dstSubresource: ImageSubresourceLayers,
  1010. dstOffset: Offset3D,
  1011. extent: Extent3D,
  1012. }
  1013. RenderPassBeginInfo :: struct {
  1014. sType: StructureType,
  1015. pNext: rawptr,
  1016. renderPass: RenderPass,
  1017. framebuffer: Framebuffer,
  1018. renderArea: Rect2D,
  1019. clearValueCount: u32,
  1020. pClearValues: [^]ClearValue,
  1021. }
  1022. PhysicalDeviceSubgroupProperties :: struct {
  1023. sType: StructureType,
  1024. pNext: rawptr,
  1025. subgroupSize: u32,
  1026. supportedStages: ShaderStageFlags,
  1027. supportedOperations: SubgroupFeatureFlags,
  1028. quadOperationsInAllStages: b32,
  1029. }
  1030. BindBufferMemoryInfo :: struct {
  1031. sType: StructureType,
  1032. pNext: rawptr,
  1033. buffer: Buffer,
  1034. memory: DeviceMemory,
  1035. memoryOffset: DeviceSize,
  1036. }
  1037. BindImageMemoryInfo :: struct {
  1038. sType: StructureType,
  1039. pNext: rawptr,
  1040. image: Image,
  1041. memory: DeviceMemory,
  1042. memoryOffset: DeviceSize,
  1043. }
  1044. PhysicalDevice16BitStorageFeatures :: struct {
  1045. sType: StructureType,
  1046. pNext: rawptr,
  1047. storageBuffer16BitAccess: b32,
  1048. uniformAndStorageBuffer16BitAccess: b32,
  1049. storagePushConstant16: b32,
  1050. storageInputOutput16: b32,
  1051. }
  1052. MemoryDedicatedRequirements :: struct {
  1053. sType: StructureType,
  1054. pNext: rawptr,
  1055. prefersDedicatedAllocation: b32,
  1056. requiresDedicatedAllocation: b32,
  1057. }
  1058. MemoryDedicatedAllocateInfo :: struct {
  1059. sType: StructureType,
  1060. pNext: rawptr,
  1061. image: Image,
  1062. buffer: Buffer,
  1063. }
  1064. MemoryAllocateFlagsInfo :: struct {
  1065. sType: StructureType,
  1066. pNext: rawptr,
  1067. flags: MemoryAllocateFlags,
  1068. deviceMask: u32,
  1069. }
  1070. DeviceGroupRenderPassBeginInfo :: struct {
  1071. sType: StructureType,
  1072. pNext: rawptr,
  1073. deviceMask: u32,
  1074. deviceRenderAreaCount: u32,
  1075. pDeviceRenderAreas: [^]Rect2D,
  1076. }
  1077. DeviceGroupCommandBufferBeginInfo :: struct {
  1078. sType: StructureType,
  1079. pNext: rawptr,
  1080. deviceMask: u32,
  1081. }
  1082. DeviceGroupSubmitInfo :: struct {
  1083. sType: StructureType,
  1084. pNext: rawptr,
  1085. waitSemaphoreCount: u32,
  1086. pWaitSemaphoreDeviceIndices: [^]u32,
  1087. commandBufferCount: u32,
  1088. pCommandBufferDeviceMasks: [^]u32,
  1089. signalSemaphoreCount: u32,
  1090. pSignalSemaphoreDeviceIndices: [^]u32,
  1091. }
  1092. DeviceGroupBindSparseInfo :: struct {
  1093. sType: StructureType,
  1094. pNext: rawptr,
  1095. resourceDeviceIndex: u32,
  1096. memoryDeviceIndex: u32,
  1097. }
  1098. BindBufferMemoryDeviceGroupInfo :: struct {
  1099. sType: StructureType,
  1100. pNext: rawptr,
  1101. deviceIndexCount: u32,
  1102. pDeviceIndices: [^]u32,
  1103. }
  1104. BindImageMemoryDeviceGroupInfo :: struct {
  1105. sType: StructureType,
  1106. pNext: rawptr,
  1107. deviceIndexCount: u32,
  1108. pDeviceIndices: [^]u32,
  1109. splitInstanceBindRegionCount: u32,
  1110. pSplitInstanceBindRegions: [^]Rect2D,
  1111. }
  1112. PhysicalDeviceGroupProperties :: struct {
  1113. sType: StructureType,
  1114. pNext: rawptr,
  1115. physicalDeviceCount: u32,
  1116. physicalDevices: [MAX_DEVICE_GROUP_SIZE]PhysicalDevice,
  1117. subsetAllocation: b32,
  1118. }
  1119. DeviceGroupDeviceCreateInfo :: struct {
  1120. sType: StructureType,
  1121. pNext: rawptr,
  1122. physicalDeviceCount: u32,
  1123. pPhysicalDevices: [^]PhysicalDevice,
  1124. }
  1125. BufferMemoryRequirementsInfo2 :: struct {
  1126. sType: StructureType,
  1127. pNext: rawptr,
  1128. buffer: Buffer,
  1129. }
  1130. ImageMemoryRequirementsInfo2 :: struct {
  1131. sType: StructureType,
  1132. pNext: rawptr,
  1133. image: Image,
  1134. }
  1135. ImageSparseMemoryRequirementsInfo2 :: struct {
  1136. sType: StructureType,
  1137. pNext: rawptr,
  1138. image: Image,
  1139. }
  1140. MemoryRequirements2 :: struct {
  1141. sType: StructureType,
  1142. pNext: rawptr,
  1143. memoryRequirements: MemoryRequirements,
  1144. }
  1145. SparseImageMemoryRequirements2 :: struct {
  1146. sType: StructureType,
  1147. pNext: rawptr,
  1148. memoryRequirements: SparseImageMemoryRequirements,
  1149. }
  1150. PhysicalDeviceFeatures2 :: struct {
  1151. sType: StructureType,
  1152. pNext: rawptr,
  1153. features: PhysicalDeviceFeatures,
  1154. }
  1155. PhysicalDeviceProperties2 :: struct {
  1156. sType: StructureType,
  1157. pNext: rawptr,
  1158. properties: PhysicalDeviceProperties,
  1159. }
  1160. FormatProperties2 :: struct {
  1161. sType: StructureType,
  1162. pNext: rawptr,
  1163. formatProperties: FormatProperties,
  1164. }
  1165. ImageFormatProperties2 :: struct {
  1166. sType: StructureType,
  1167. pNext: rawptr,
  1168. imageFormatProperties: ImageFormatProperties,
  1169. }
  1170. PhysicalDeviceImageFormatInfo2 :: struct {
  1171. sType: StructureType,
  1172. pNext: rawptr,
  1173. format: Format,
  1174. type: ImageType,
  1175. tiling: ImageTiling,
  1176. usage: ImageUsageFlags,
  1177. flags: ImageCreateFlags,
  1178. }
  1179. QueueFamilyProperties2 :: struct {
  1180. sType: StructureType,
  1181. pNext: rawptr,
  1182. queueFamilyProperties: QueueFamilyProperties,
  1183. }
  1184. PhysicalDeviceMemoryProperties2 :: struct {
  1185. sType: StructureType,
  1186. pNext: rawptr,
  1187. memoryProperties: PhysicalDeviceMemoryProperties,
  1188. }
  1189. SparseImageFormatProperties2 :: struct {
  1190. sType: StructureType,
  1191. pNext: rawptr,
  1192. properties: SparseImageFormatProperties,
  1193. }
  1194. PhysicalDeviceSparseImageFormatInfo2 :: struct {
  1195. sType: StructureType,
  1196. pNext: rawptr,
  1197. format: Format,
  1198. type: ImageType,
  1199. samples: SampleCountFlags,
  1200. usage: ImageUsageFlags,
  1201. tiling: ImageTiling,
  1202. }
  1203. PhysicalDevicePointClippingProperties :: struct {
  1204. sType: StructureType,
  1205. pNext: rawptr,
  1206. pointClippingBehavior: PointClippingBehavior,
  1207. }
  1208. InputAttachmentAspectReference :: struct {
  1209. subpass: u32,
  1210. inputAttachmentIndex: u32,
  1211. aspectMask: ImageAspectFlags,
  1212. }
  1213. RenderPassInputAttachmentAspectCreateInfo :: struct {
  1214. sType: StructureType,
  1215. pNext: rawptr,
  1216. aspectReferenceCount: u32,
  1217. pAspectReferences: [^]InputAttachmentAspectReference,
  1218. }
  1219. ImageViewUsageCreateInfo :: struct {
  1220. sType: StructureType,
  1221. pNext: rawptr,
  1222. usage: ImageUsageFlags,
  1223. }
  1224. PipelineTessellationDomainOriginStateCreateInfo :: struct {
  1225. sType: StructureType,
  1226. pNext: rawptr,
  1227. domainOrigin: TessellationDomainOrigin,
  1228. }
  1229. RenderPassMultiviewCreateInfo :: struct {
  1230. sType: StructureType,
  1231. pNext: rawptr,
  1232. subpassCount: u32,
  1233. pViewMasks: [^]u32,
  1234. dependencyCount: u32,
  1235. pViewOffsets: [^]i32,
  1236. correlationMaskCount: u32,
  1237. pCorrelationMasks: [^]u32,
  1238. }
  1239. PhysicalDeviceMultiviewFeatures :: struct {
  1240. sType: StructureType,
  1241. pNext: rawptr,
  1242. multiview: b32,
  1243. multiviewGeometryShader: b32,
  1244. multiviewTessellationShader: b32,
  1245. }
  1246. PhysicalDeviceMultiviewProperties :: struct {
  1247. sType: StructureType,
  1248. pNext: rawptr,
  1249. maxMultiviewViewCount: u32,
  1250. maxMultiviewInstanceIndex: u32,
  1251. }
  1252. PhysicalDeviceVariablePointersFeatures :: struct {
  1253. sType: StructureType,
  1254. pNext: rawptr,
  1255. variablePointersStorageBuffer: b32,
  1256. variablePointers: b32,
  1257. }
  1258. PhysicalDeviceProtectedMemoryFeatures :: struct {
  1259. sType: StructureType,
  1260. pNext: rawptr,
  1261. protectedMemory: b32,
  1262. }
  1263. PhysicalDeviceProtectedMemoryProperties :: struct {
  1264. sType: StructureType,
  1265. pNext: rawptr,
  1266. protectedNoFault: b32,
  1267. }
  1268. DeviceQueueInfo2 :: struct {
  1269. sType: StructureType,
  1270. pNext: rawptr,
  1271. flags: DeviceQueueCreateFlags,
  1272. queueFamilyIndex: u32,
  1273. queueIndex: u32,
  1274. }
  1275. ProtectedSubmitInfo :: struct {
  1276. sType: StructureType,
  1277. pNext: rawptr,
  1278. protectedSubmit: b32,
  1279. }
  1280. SamplerYcbcrConversionCreateInfo :: struct {
  1281. sType: StructureType,
  1282. pNext: rawptr,
  1283. format: Format,
  1284. ycbcrModel: SamplerYcbcrModelConversion,
  1285. ycbcrRange: SamplerYcbcrRange,
  1286. components: ComponentMapping,
  1287. xChromaOffset: ChromaLocation,
  1288. yChromaOffset: ChromaLocation,
  1289. chromaFilter: Filter,
  1290. forceExplicitReconstruction: b32,
  1291. }
  1292. SamplerYcbcrConversionInfo :: struct {
  1293. sType: StructureType,
  1294. pNext: rawptr,
  1295. conversion: SamplerYcbcrConversion,
  1296. }
  1297. BindImagePlaneMemoryInfo :: struct {
  1298. sType: StructureType,
  1299. pNext: rawptr,
  1300. planeAspect: ImageAspectFlags,
  1301. }
  1302. ImagePlaneMemoryRequirementsInfo :: struct {
  1303. sType: StructureType,
  1304. pNext: rawptr,
  1305. planeAspect: ImageAspectFlags,
  1306. }
  1307. PhysicalDeviceSamplerYcbcrConversionFeatures :: struct {
  1308. sType: StructureType,
  1309. pNext: rawptr,
  1310. samplerYcbcrConversion: b32,
  1311. }
  1312. SamplerYcbcrConversionImageFormatProperties :: struct {
  1313. sType: StructureType,
  1314. pNext: rawptr,
  1315. combinedImageSamplerDescriptorCount: u32,
  1316. }
  1317. DescriptorUpdateTemplateEntry :: struct {
  1318. dstBinding: u32,
  1319. dstArrayElement: u32,
  1320. descriptorCount: u32,
  1321. descriptorType: DescriptorType,
  1322. offset: int,
  1323. stride: int,
  1324. }
  1325. DescriptorUpdateTemplateCreateInfo :: struct {
  1326. sType: StructureType,
  1327. pNext: rawptr,
  1328. flags: DescriptorUpdateTemplateCreateFlags,
  1329. descriptorUpdateEntryCount: u32,
  1330. pDescriptorUpdateEntries: [^]DescriptorUpdateTemplateEntry,
  1331. templateType: DescriptorUpdateTemplateType,
  1332. descriptorSetLayout: DescriptorSetLayout,
  1333. pipelineBindPoint: PipelineBindPoint,
  1334. pipelineLayout: PipelineLayout,
  1335. set: u32,
  1336. }
  1337. ExternalMemoryProperties :: struct {
  1338. externalMemoryFeatures: ExternalMemoryFeatureFlags,
  1339. exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlags,
  1340. compatibleHandleTypes: ExternalMemoryHandleTypeFlags,
  1341. }
  1342. PhysicalDeviceExternalImageFormatInfo :: struct {
  1343. sType: StructureType,
  1344. pNext: rawptr,
  1345. handleType: ExternalMemoryHandleTypeFlags,
  1346. }
  1347. ExternalImageFormatProperties :: struct {
  1348. sType: StructureType,
  1349. pNext: rawptr,
  1350. externalMemoryProperties: ExternalMemoryProperties,
  1351. }
  1352. PhysicalDeviceExternalBufferInfo :: struct {
  1353. sType: StructureType,
  1354. pNext: rawptr,
  1355. flags: BufferCreateFlags,
  1356. usage: BufferUsageFlags,
  1357. handleType: ExternalMemoryHandleTypeFlags,
  1358. }
  1359. ExternalBufferProperties :: struct {
  1360. sType: StructureType,
  1361. pNext: rawptr,
  1362. externalMemoryProperties: ExternalMemoryProperties,
  1363. }
  1364. PhysicalDeviceIDProperties :: struct {
  1365. sType: StructureType,
  1366. pNext: rawptr,
  1367. deviceUUID: [UUID_SIZE]u8,
  1368. driverUUID: [UUID_SIZE]u8,
  1369. deviceLUID: [LUID_SIZE]u8,
  1370. deviceNodeMask: u32,
  1371. deviceLUIDValid: b32,
  1372. }
  1373. ExternalMemoryImageCreateInfo :: struct {
  1374. sType: StructureType,
  1375. pNext: rawptr,
  1376. handleTypes: ExternalMemoryHandleTypeFlags,
  1377. }
  1378. ExternalMemoryBufferCreateInfo :: struct {
  1379. sType: StructureType,
  1380. pNext: rawptr,
  1381. handleTypes: ExternalMemoryHandleTypeFlags,
  1382. }
  1383. ExportMemoryAllocateInfo :: struct {
  1384. sType: StructureType,
  1385. pNext: rawptr,
  1386. handleTypes: ExternalMemoryHandleTypeFlags,
  1387. }
  1388. PhysicalDeviceExternalFenceInfo :: struct {
  1389. sType: StructureType,
  1390. pNext: rawptr,
  1391. handleType: ExternalFenceHandleTypeFlags,
  1392. }
  1393. ExternalFenceProperties :: struct {
  1394. sType: StructureType,
  1395. pNext: rawptr,
  1396. exportFromImportedHandleTypes: ExternalFenceHandleTypeFlags,
  1397. compatibleHandleTypes: ExternalFenceHandleTypeFlags,
  1398. externalFenceFeatures: ExternalFenceFeatureFlags,
  1399. }
  1400. ExportFenceCreateInfo :: struct {
  1401. sType: StructureType,
  1402. pNext: rawptr,
  1403. handleTypes: ExternalFenceHandleTypeFlags,
  1404. }
  1405. ExportSemaphoreCreateInfo :: struct {
  1406. sType: StructureType,
  1407. pNext: rawptr,
  1408. handleTypes: ExternalSemaphoreHandleTypeFlags,
  1409. }
  1410. PhysicalDeviceExternalSemaphoreInfo :: struct {
  1411. sType: StructureType,
  1412. pNext: rawptr,
  1413. handleType: ExternalSemaphoreHandleTypeFlags,
  1414. }
  1415. ExternalSemaphoreProperties :: struct {
  1416. sType: StructureType,
  1417. pNext: rawptr,
  1418. exportFromImportedHandleTypes: ExternalSemaphoreHandleTypeFlags,
  1419. compatibleHandleTypes: ExternalSemaphoreHandleTypeFlags,
  1420. externalSemaphoreFeatures: ExternalSemaphoreFeatureFlags,
  1421. }
  1422. PhysicalDeviceMaintenance3Properties :: struct {
  1423. sType: StructureType,
  1424. pNext: rawptr,
  1425. maxPerSetDescriptors: u32,
  1426. maxMemoryAllocationSize: DeviceSize,
  1427. }
  1428. DescriptorSetLayoutSupport :: struct {
  1429. sType: StructureType,
  1430. pNext: rawptr,
  1431. supported: b32,
  1432. }
  1433. PhysicalDeviceShaderDrawParametersFeatures :: struct {
  1434. sType: StructureType,
  1435. pNext: rawptr,
  1436. shaderDrawParameters: b32,
  1437. }
  1438. PhysicalDeviceVulkan11Features :: struct {
  1439. sType: StructureType,
  1440. pNext: rawptr,
  1441. storageBuffer16BitAccess: b32,
  1442. uniformAndStorageBuffer16BitAccess: b32,
  1443. storagePushConstant16: b32,
  1444. storageInputOutput16: b32,
  1445. multiview: b32,
  1446. multiviewGeometryShader: b32,
  1447. multiviewTessellationShader: b32,
  1448. variablePointersStorageBuffer: b32,
  1449. variablePointers: b32,
  1450. protectedMemory: b32,
  1451. samplerYcbcrConversion: b32,
  1452. shaderDrawParameters: b32,
  1453. }
  1454. PhysicalDeviceVulkan11Properties :: struct {
  1455. sType: StructureType,
  1456. pNext: rawptr,
  1457. deviceUUID: [UUID_SIZE]u8,
  1458. driverUUID: [UUID_SIZE]u8,
  1459. deviceLUID: [LUID_SIZE]u8,
  1460. deviceNodeMask: u32,
  1461. deviceLUIDValid: b32,
  1462. subgroupSize: u32,
  1463. subgroupSupportedStages: ShaderStageFlags,
  1464. subgroupSupportedOperations: SubgroupFeatureFlags,
  1465. subgroupQuadOperationsInAllStages: b32,
  1466. pointClippingBehavior: PointClippingBehavior,
  1467. maxMultiviewViewCount: u32,
  1468. maxMultiviewInstanceIndex: u32,
  1469. protectedNoFault: b32,
  1470. maxPerSetDescriptors: u32,
  1471. maxMemoryAllocationSize: DeviceSize,
  1472. }
  1473. PhysicalDeviceVulkan12Features :: struct {
  1474. sType: StructureType,
  1475. pNext: rawptr,
  1476. samplerMirrorClampToEdge: b32,
  1477. drawIndirectCount: b32,
  1478. storageBuffer8BitAccess: b32,
  1479. uniformAndStorageBuffer8BitAccess: b32,
  1480. storagePushConstant8: b32,
  1481. shaderBufferInt64Atomics: b32,
  1482. shaderSharedInt64Atomics: b32,
  1483. shaderFloat16: b32,
  1484. shaderInt8: b32,
  1485. descriptorIndexing: b32,
  1486. shaderInputAttachmentArrayDynamicIndexing: b32,
  1487. shaderUniformTexelBufferArrayDynamicIndexing: b32,
  1488. shaderStorageTexelBufferArrayDynamicIndexing: b32,
  1489. shaderUniformBufferArrayNonUniformIndexing: b32,
  1490. shaderSampledImageArrayNonUniformIndexing: b32,
  1491. shaderStorageBufferArrayNonUniformIndexing: b32,
  1492. shaderStorageImageArrayNonUniformIndexing: b32,
  1493. shaderInputAttachmentArrayNonUniformIndexing: b32,
  1494. shaderUniformTexelBufferArrayNonUniformIndexing: b32,
  1495. shaderStorageTexelBufferArrayNonUniformIndexing: b32,
  1496. descriptorBindingUniformBufferUpdateAfterBind: b32,
  1497. descriptorBindingSampledImageUpdateAfterBind: b32,
  1498. descriptorBindingStorageImageUpdateAfterBind: b32,
  1499. descriptorBindingStorageBufferUpdateAfterBind: b32,
  1500. descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
  1501. descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
  1502. descriptorBindingUpdateUnusedWhilePending: b32,
  1503. descriptorBindingPartiallyBound: b32,
  1504. descriptorBindingVariableDescriptorCount: b32,
  1505. runtimeDescriptorArray: b32,
  1506. samplerFilterMinmax: b32,
  1507. scalarBlockLayout: b32,
  1508. imagelessFramebuffer: b32,
  1509. uniformBufferStandardLayout: b32,
  1510. shaderSubgroupExtendedTypes: b32,
  1511. separateDepthStencilLayouts: b32,
  1512. hostQueryReset: b32,
  1513. timelineSemaphore: b32,
  1514. bufferDeviceAddress: b32,
  1515. bufferDeviceAddressCaptureReplay: b32,
  1516. bufferDeviceAddressMultiDevice: b32,
  1517. vulkanMemoryModel: b32,
  1518. vulkanMemoryModelDeviceScope: b32,
  1519. vulkanMemoryModelAvailabilityVisibilityChains: b32,
  1520. shaderOutputViewportIndex: b32,
  1521. shaderOutputLayer: b32,
  1522. subgroupBroadcastDynamicId: b32,
  1523. }
  1524. ConformanceVersion :: struct {
  1525. major: u8,
  1526. minor: u8,
  1527. subminor: u8,
  1528. patch: u8,
  1529. }
  1530. PhysicalDeviceVulkan12Properties :: struct {
  1531. sType: StructureType,
  1532. pNext: rawptr,
  1533. driverID: DriverId,
  1534. driverName: [MAX_DRIVER_NAME_SIZE]byte,
  1535. driverInfo: [MAX_DRIVER_INFO_SIZE]byte,
  1536. conformanceVersion: ConformanceVersion,
  1537. denormBehaviorIndependence: ShaderFloatControlsIndependence,
  1538. roundingModeIndependence: ShaderFloatControlsIndependence,
  1539. shaderSignedZeroInfNanPreserveFloat16: b32,
  1540. shaderSignedZeroInfNanPreserveFloat32: b32,
  1541. shaderSignedZeroInfNanPreserveFloat64: b32,
  1542. shaderDenormPreserveFloat16: b32,
  1543. shaderDenormPreserveFloat32: b32,
  1544. shaderDenormPreserveFloat64: b32,
  1545. shaderDenormFlushToZeroFloat16: b32,
  1546. shaderDenormFlushToZeroFloat32: b32,
  1547. shaderDenormFlushToZeroFloat64: b32,
  1548. shaderRoundingModeRTEFloat16: b32,
  1549. shaderRoundingModeRTEFloat32: b32,
  1550. shaderRoundingModeRTEFloat64: b32,
  1551. shaderRoundingModeRTZFloat16: b32,
  1552. shaderRoundingModeRTZFloat32: b32,
  1553. shaderRoundingModeRTZFloat64: b32,
  1554. maxUpdateAfterBindDescriptorsInAllPools: u32,
  1555. shaderUniformBufferArrayNonUniformIndexingNative: b32,
  1556. shaderSampledImageArrayNonUniformIndexingNative: b32,
  1557. shaderStorageBufferArrayNonUniformIndexingNative: b32,
  1558. shaderStorageImageArrayNonUniformIndexingNative: b32,
  1559. shaderInputAttachmentArrayNonUniformIndexingNative: b32,
  1560. robustBufferAccessUpdateAfterBind: b32,
  1561. quadDivergentImplicitLod: b32,
  1562. maxPerStageDescriptorUpdateAfterBindSamplers: u32,
  1563. maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
  1564. maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
  1565. maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
  1566. maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
  1567. maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
  1568. maxPerStageUpdateAfterBindResources: u32,
  1569. maxDescriptorSetUpdateAfterBindSamplers: u32,
  1570. maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
  1571. maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
  1572. maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
  1573. maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
  1574. maxDescriptorSetUpdateAfterBindSampledImages: u32,
  1575. maxDescriptorSetUpdateAfterBindStorageImages: u32,
  1576. maxDescriptorSetUpdateAfterBindInputAttachments: u32,
  1577. supportedDepthResolveModes: ResolveModeFlags,
  1578. supportedStencilResolveModes: ResolveModeFlags,
  1579. independentResolveNone: b32,
  1580. independentResolve: b32,
  1581. filterMinmaxSingleComponentFormats: b32,
  1582. filterMinmaxImageComponentMapping: b32,
  1583. maxTimelineSemaphoreValueDifference: u64,
  1584. framebufferIntegerColorSampleCounts: SampleCountFlags,
  1585. }
  1586. ImageFormatListCreateInfo :: struct {
  1587. sType: StructureType,
  1588. pNext: rawptr,
  1589. viewFormatCount: u32,
  1590. pViewFormats: [^]Format,
  1591. }
  1592. AttachmentDescription2 :: struct {
  1593. sType: StructureType,
  1594. pNext: rawptr,
  1595. flags: AttachmentDescriptionFlags,
  1596. format: Format,
  1597. samples: SampleCountFlags,
  1598. loadOp: AttachmentLoadOp,
  1599. storeOp: AttachmentStoreOp,
  1600. stencilLoadOp: AttachmentLoadOp,
  1601. stencilStoreOp: AttachmentStoreOp,
  1602. initialLayout: ImageLayout,
  1603. finalLayout: ImageLayout,
  1604. }
  1605. AttachmentReference2 :: struct {
  1606. sType: StructureType,
  1607. pNext: rawptr,
  1608. attachment: u32,
  1609. layout: ImageLayout,
  1610. aspectMask: ImageAspectFlags,
  1611. }
  1612. SubpassDescription2 :: struct {
  1613. sType: StructureType,
  1614. pNext: rawptr,
  1615. flags: SubpassDescriptionFlags,
  1616. pipelineBindPoint: PipelineBindPoint,
  1617. viewMask: u32,
  1618. inputAttachmentCount: u32,
  1619. pInputAttachments: [^]AttachmentReference2,
  1620. colorAttachmentCount: u32,
  1621. pColorAttachments: [^]AttachmentReference2,
  1622. pResolveAttachments: [^]AttachmentReference2,
  1623. pDepthStencilAttachment: ^AttachmentReference2,
  1624. preserveAttachmentCount: u32,
  1625. pPreserveAttachments: [^]u32,
  1626. }
  1627. SubpassDependency2 :: struct {
  1628. sType: StructureType,
  1629. pNext: rawptr,
  1630. srcSubpass: u32,
  1631. dstSubpass: u32,
  1632. srcStageMask: PipelineStageFlags,
  1633. dstStageMask: PipelineStageFlags,
  1634. srcAccessMask: AccessFlags,
  1635. dstAccessMask: AccessFlags,
  1636. dependencyFlags: DependencyFlags,
  1637. viewOffset: i32,
  1638. }
  1639. RenderPassCreateInfo2 :: struct {
  1640. sType: StructureType,
  1641. pNext: rawptr,
  1642. flags: RenderPassCreateFlags,
  1643. attachmentCount: u32,
  1644. pAttachments: [^]AttachmentDescription2,
  1645. subpassCount: u32,
  1646. pSubpasses: [^]SubpassDescription2,
  1647. dependencyCount: u32,
  1648. pDependencies: [^]SubpassDependency2,
  1649. correlatedViewMaskCount: u32,
  1650. pCorrelatedViewMasks: [^]u32,
  1651. }
  1652. SubpassBeginInfo :: struct {
  1653. sType: StructureType,
  1654. pNext: rawptr,
  1655. contents: SubpassContents,
  1656. }
  1657. SubpassEndInfo :: struct {
  1658. sType: StructureType,
  1659. pNext: rawptr,
  1660. }
  1661. PhysicalDevice8BitStorageFeatures :: struct {
  1662. sType: StructureType,
  1663. pNext: rawptr,
  1664. storageBuffer8BitAccess: b32,
  1665. uniformAndStorageBuffer8BitAccess: b32,
  1666. storagePushConstant8: b32,
  1667. }
  1668. PhysicalDeviceDriverProperties :: struct {
  1669. sType: StructureType,
  1670. pNext: rawptr,
  1671. driverID: DriverId,
  1672. driverName: [MAX_DRIVER_NAME_SIZE]byte,
  1673. driverInfo: [MAX_DRIVER_INFO_SIZE]byte,
  1674. conformanceVersion: ConformanceVersion,
  1675. }
  1676. PhysicalDeviceShaderAtomicInt64Features :: struct {
  1677. sType: StructureType,
  1678. pNext: rawptr,
  1679. shaderBufferInt64Atomics: b32,
  1680. shaderSharedInt64Atomics: b32,
  1681. }
  1682. PhysicalDeviceShaderFloat16Int8Features :: struct {
  1683. sType: StructureType,
  1684. pNext: rawptr,
  1685. shaderFloat16: b32,
  1686. shaderInt8: b32,
  1687. }
  1688. PhysicalDeviceFloatControlsProperties :: struct {
  1689. sType: StructureType,
  1690. pNext: rawptr,
  1691. denormBehaviorIndependence: ShaderFloatControlsIndependence,
  1692. roundingModeIndependence: ShaderFloatControlsIndependence,
  1693. shaderSignedZeroInfNanPreserveFloat16: b32,
  1694. shaderSignedZeroInfNanPreserveFloat32: b32,
  1695. shaderSignedZeroInfNanPreserveFloat64: b32,
  1696. shaderDenormPreserveFloat16: b32,
  1697. shaderDenormPreserveFloat32: b32,
  1698. shaderDenormPreserveFloat64: b32,
  1699. shaderDenormFlushToZeroFloat16: b32,
  1700. shaderDenormFlushToZeroFloat32: b32,
  1701. shaderDenormFlushToZeroFloat64: b32,
  1702. shaderRoundingModeRTEFloat16: b32,
  1703. shaderRoundingModeRTEFloat32: b32,
  1704. shaderRoundingModeRTEFloat64: b32,
  1705. shaderRoundingModeRTZFloat16: b32,
  1706. shaderRoundingModeRTZFloat32: b32,
  1707. shaderRoundingModeRTZFloat64: b32,
  1708. }
  1709. DescriptorSetLayoutBindingFlagsCreateInfo :: struct {
  1710. sType: StructureType,
  1711. pNext: rawptr,
  1712. bindingCount: u32,
  1713. pBindingFlags: [^]DescriptorBindingFlags,
  1714. }
  1715. PhysicalDeviceDescriptorIndexingFeatures :: struct {
  1716. sType: StructureType,
  1717. pNext: rawptr,
  1718. shaderInputAttachmentArrayDynamicIndexing: b32,
  1719. shaderUniformTexelBufferArrayDynamicIndexing: b32,
  1720. shaderStorageTexelBufferArrayDynamicIndexing: b32,
  1721. shaderUniformBufferArrayNonUniformIndexing: b32,
  1722. shaderSampledImageArrayNonUniformIndexing: b32,
  1723. shaderStorageBufferArrayNonUniformIndexing: b32,
  1724. shaderStorageImageArrayNonUniformIndexing: b32,
  1725. shaderInputAttachmentArrayNonUniformIndexing: b32,
  1726. shaderUniformTexelBufferArrayNonUniformIndexing: b32,
  1727. shaderStorageTexelBufferArrayNonUniformIndexing: b32,
  1728. descriptorBindingUniformBufferUpdateAfterBind: b32,
  1729. descriptorBindingSampledImageUpdateAfterBind: b32,
  1730. descriptorBindingStorageImageUpdateAfterBind: b32,
  1731. descriptorBindingStorageBufferUpdateAfterBind: b32,
  1732. descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
  1733. descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
  1734. descriptorBindingUpdateUnusedWhilePending: b32,
  1735. descriptorBindingPartiallyBound: b32,
  1736. descriptorBindingVariableDescriptorCount: b32,
  1737. runtimeDescriptorArray: b32,
  1738. }
  1739. PhysicalDeviceDescriptorIndexingProperties :: struct {
  1740. sType: StructureType,
  1741. pNext: rawptr,
  1742. maxUpdateAfterBindDescriptorsInAllPools: u32,
  1743. shaderUniformBufferArrayNonUniformIndexingNative: b32,
  1744. shaderSampledImageArrayNonUniformIndexingNative: b32,
  1745. shaderStorageBufferArrayNonUniformIndexingNative: b32,
  1746. shaderStorageImageArrayNonUniformIndexingNative: b32,
  1747. shaderInputAttachmentArrayNonUniformIndexingNative: b32,
  1748. robustBufferAccessUpdateAfterBind: b32,
  1749. quadDivergentImplicitLod: b32,
  1750. maxPerStageDescriptorUpdateAfterBindSamplers: u32,
  1751. maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
  1752. maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
  1753. maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
  1754. maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
  1755. maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
  1756. maxPerStageUpdateAfterBindResources: u32,
  1757. maxDescriptorSetUpdateAfterBindSamplers: u32,
  1758. maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
  1759. maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
  1760. maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
  1761. maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
  1762. maxDescriptorSetUpdateAfterBindSampledImages: u32,
  1763. maxDescriptorSetUpdateAfterBindStorageImages: u32,
  1764. maxDescriptorSetUpdateAfterBindInputAttachments: u32,
  1765. }
  1766. DescriptorSetVariableDescriptorCountAllocateInfo :: struct {
  1767. sType: StructureType,
  1768. pNext: rawptr,
  1769. descriptorSetCount: u32,
  1770. pDescriptorCounts: [^]u32,
  1771. }
  1772. DescriptorSetVariableDescriptorCountLayoutSupport :: struct {
  1773. sType: StructureType,
  1774. pNext: rawptr,
  1775. maxVariableDescriptorCount: u32,
  1776. }
  1777. SubpassDescriptionDepthStencilResolve :: struct {
  1778. sType: StructureType,
  1779. pNext: rawptr,
  1780. depthResolveMode: ResolveModeFlags,
  1781. stencilResolveMode: ResolveModeFlags,
  1782. pDepthStencilResolveAttachment: ^AttachmentReference2,
  1783. }
  1784. PhysicalDeviceDepthStencilResolveProperties :: struct {
  1785. sType: StructureType,
  1786. pNext: rawptr,
  1787. supportedDepthResolveModes: ResolveModeFlags,
  1788. supportedStencilResolveModes: ResolveModeFlags,
  1789. independentResolveNone: b32,
  1790. independentResolve: b32,
  1791. }
  1792. PhysicalDeviceScalarBlockLayoutFeatures :: struct {
  1793. sType: StructureType,
  1794. pNext: rawptr,
  1795. scalarBlockLayout: b32,
  1796. }
  1797. ImageStencilUsageCreateInfo :: struct {
  1798. sType: StructureType,
  1799. pNext: rawptr,
  1800. stencilUsage: ImageUsageFlags,
  1801. }
  1802. SamplerReductionModeCreateInfo :: struct {
  1803. sType: StructureType,
  1804. pNext: rawptr,
  1805. reductionMode: SamplerReductionMode,
  1806. }
  1807. PhysicalDeviceSamplerFilterMinmaxProperties :: struct {
  1808. sType: StructureType,
  1809. pNext: rawptr,
  1810. filterMinmaxSingleComponentFormats: b32,
  1811. filterMinmaxImageComponentMapping: b32,
  1812. }
  1813. PhysicalDeviceVulkanMemoryModelFeatures :: struct {
  1814. sType: StructureType,
  1815. pNext: rawptr,
  1816. vulkanMemoryModel: b32,
  1817. vulkanMemoryModelDeviceScope: b32,
  1818. vulkanMemoryModelAvailabilityVisibilityChains: b32,
  1819. }
  1820. PhysicalDeviceImagelessFramebufferFeatures :: struct {
  1821. sType: StructureType,
  1822. pNext: rawptr,
  1823. imagelessFramebuffer: b32,
  1824. }
  1825. FramebufferAttachmentImageInfo :: struct {
  1826. sType: StructureType,
  1827. pNext: rawptr,
  1828. flags: ImageCreateFlags,
  1829. usage: ImageUsageFlags,
  1830. width: u32,
  1831. height: u32,
  1832. layerCount: u32,
  1833. viewFormatCount: u32,
  1834. pViewFormats: [^]Format,
  1835. }
  1836. FramebufferAttachmentsCreateInfo :: struct {
  1837. sType: StructureType,
  1838. pNext: rawptr,
  1839. attachmentImageInfoCount: u32,
  1840. pAttachmentImageInfos: [^]FramebufferAttachmentImageInfo,
  1841. }
  1842. RenderPassAttachmentBeginInfo :: struct {
  1843. sType: StructureType,
  1844. pNext: rawptr,
  1845. attachmentCount: u32,
  1846. pAttachments: [^]ImageView,
  1847. }
  1848. PhysicalDeviceUniformBufferStandardLayoutFeatures :: struct {
  1849. sType: StructureType,
  1850. pNext: rawptr,
  1851. uniformBufferStandardLayout: b32,
  1852. }
  1853. PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: struct {
  1854. sType: StructureType,
  1855. pNext: rawptr,
  1856. shaderSubgroupExtendedTypes: b32,
  1857. }
  1858. PhysicalDeviceSeparateDepthStencilLayoutsFeatures :: struct {
  1859. sType: StructureType,
  1860. pNext: rawptr,
  1861. separateDepthStencilLayouts: b32,
  1862. }
  1863. AttachmentReferenceStencilLayout :: struct {
  1864. sType: StructureType,
  1865. pNext: rawptr,
  1866. stencilLayout: ImageLayout,
  1867. }
  1868. AttachmentDescriptionStencilLayout :: struct {
  1869. sType: StructureType,
  1870. pNext: rawptr,
  1871. stencilInitialLayout: ImageLayout,
  1872. stencilFinalLayout: ImageLayout,
  1873. }
  1874. PhysicalDeviceHostQueryResetFeatures :: struct {
  1875. sType: StructureType,
  1876. pNext: rawptr,
  1877. hostQueryReset: b32,
  1878. }
  1879. PhysicalDeviceTimelineSemaphoreFeatures :: struct {
  1880. sType: StructureType,
  1881. pNext: rawptr,
  1882. timelineSemaphore: b32,
  1883. }
  1884. PhysicalDeviceTimelineSemaphoreProperties :: struct {
  1885. sType: StructureType,
  1886. pNext: rawptr,
  1887. maxTimelineSemaphoreValueDifference: u64,
  1888. }
  1889. SemaphoreTypeCreateInfo :: struct {
  1890. sType: StructureType,
  1891. pNext: rawptr,
  1892. semaphoreType: SemaphoreType,
  1893. initialValue: u64,
  1894. }
  1895. TimelineSemaphoreSubmitInfo :: struct {
  1896. sType: StructureType,
  1897. pNext: rawptr,
  1898. waitSemaphoreValueCount: u32,
  1899. pWaitSemaphoreValues: [^]u64,
  1900. signalSemaphoreValueCount: u32,
  1901. pSignalSemaphoreValues: [^]u64,
  1902. }
  1903. SemaphoreWaitInfo :: struct {
  1904. sType: StructureType,
  1905. pNext: rawptr,
  1906. flags: SemaphoreWaitFlags,
  1907. semaphoreCount: u32,
  1908. pSemaphores: [^]Semaphore,
  1909. pValues: [^]u64,
  1910. }
  1911. SemaphoreSignalInfo :: struct {
  1912. sType: StructureType,
  1913. pNext: rawptr,
  1914. semaphore: Semaphore,
  1915. value: u64,
  1916. }
  1917. PhysicalDeviceBufferDeviceAddressFeatures :: struct {
  1918. sType: StructureType,
  1919. pNext: rawptr,
  1920. bufferDeviceAddress: b32,
  1921. bufferDeviceAddressCaptureReplay: b32,
  1922. bufferDeviceAddressMultiDevice: b32,
  1923. }
  1924. BufferDeviceAddressInfo :: struct {
  1925. sType: StructureType,
  1926. pNext: rawptr,
  1927. buffer: Buffer,
  1928. }
  1929. BufferOpaqueCaptureAddressCreateInfo :: struct {
  1930. sType: StructureType,
  1931. pNext: rawptr,
  1932. opaqueCaptureAddress: u64,
  1933. }
  1934. MemoryOpaqueCaptureAddressAllocateInfo :: struct {
  1935. sType: StructureType,
  1936. pNext: rawptr,
  1937. opaqueCaptureAddress: u64,
  1938. }
  1939. DeviceMemoryOpaqueCaptureAddressInfo :: struct {
  1940. sType: StructureType,
  1941. pNext: rawptr,
  1942. memory: DeviceMemory,
  1943. }
  1944. PhysicalDeviceVulkan13Features :: struct {
  1945. sType: StructureType,
  1946. pNext: rawptr,
  1947. robustImageAccess: b32,
  1948. inlineUniformBlock: b32,
  1949. descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
  1950. pipelineCreationCacheControl: b32,
  1951. privateData: b32,
  1952. shaderDemoteToHelperInvocation: b32,
  1953. shaderTerminateInvocation: b32,
  1954. subgroupSizeControl: b32,
  1955. computeFullSubgroups: b32,
  1956. synchronization2: b32,
  1957. textureCompressionASTC_HDR: b32,
  1958. shaderZeroInitializeWorkgroupMemory: b32,
  1959. dynamicRendering: b32,
  1960. shaderIntegerDotProduct: b32,
  1961. maintenance4: b32,
  1962. }
  1963. PhysicalDeviceVulkan13Properties :: struct {
  1964. sType: StructureType,
  1965. pNext: rawptr,
  1966. minSubgroupSize: u32,
  1967. maxSubgroupSize: u32,
  1968. maxComputeWorkgroupSubgroups: u32,
  1969. requiredSubgroupSizeStages: ShaderStageFlags,
  1970. maxInlineUniformBlockSize: u32,
  1971. maxPerStageDescriptorInlineUniformBlocks: u32,
  1972. maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
  1973. maxDescriptorSetInlineUniformBlocks: u32,
  1974. maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
  1975. maxInlineUniformTotalSize: u32,
  1976. integerDotProduct8BitUnsignedAccelerated: b32,
  1977. integerDotProduct8BitSignedAccelerated: b32,
  1978. integerDotProduct8BitMixedSignednessAccelerated: b32,
  1979. integerDotProduct4x8BitPackedUnsignedAccelerated: b32,
  1980. integerDotProduct4x8BitPackedSignedAccelerated: b32,
  1981. integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32,
  1982. integerDotProduct16BitUnsignedAccelerated: b32,
  1983. integerDotProduct16BitSignedAccelerated: b32,
  1984. integerDotProduct16BitMixedSignednessAccelerated: b32,
  1985. integerDotProduct32BitUnsignedAccelerated: b32,
  1986. integerDotProduct32BitSignedAccelerated: b32,
  1987. integerDotProduct32BitMixedSignednessAccelerated: b32,
  1988. integerDotProduct64BitUnsignedAccelerated: b32,
  1989. integerDotProduct64BitSignedAccelerated: b32,
  1990. integerDotProduct64BitMixedSignednessAccelerated: b32,
  1991. integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32,
  1992. integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32,
  1993. integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32,
  1994. integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32,
  1995. integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32,
  1996. integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
  1997. integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32,
  1998. integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32,
  1999. integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32,
  2000. integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32,
  2001. integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32,
  2002. integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32,
  2003. integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32,
  2004. integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32,
  2005. integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32,
  2006. storageTexelBufferOffsetAlignmentBytes: DeviceSize,
  2007. storageTexelBufferOffsetSingleTexelAlignment: b32,
  2008. uniformTexelBufferOffsetAlignmentBytes: DeviceSize,
  2009. uniformTexelBufferOffsetSingleTexelAlignment: b32,
  2010. maxBufferSize: DeviceSize,
  2011. }
  2012. PipelineCreationFeedback :: struct {
  2013. flags: PipelineCreationFeedbackFlags,
  2014. duration: u64,
  2015. }
  2016. PipelineCreationFeedbackCreateInfo :: struct {
  2017. sType: StructureType,
  2018. pNext: rawptr,
  2019. pPipelineCreationFeedback: ^PipelineCreationFeedback,
  2020. pipelineStageCreationFeedbackCount: u32,
  2021. pPipelineStageCreationFeedbacks: [^]PipelineCreationFeedback,
  2022. }
  2023. PhysicalDeviceShaderTerminateInvocationFeatures :: struct {
  2024. sType: StructureType,
  2025. pNext: rawptr,
  2026. shaderTerminateInvocation: b32,
  2027. }
  2028. PhysicalDeviceToolProperties :: struct {
  2029. sType: StructureType,
  2030. pNext: rawptr,
  2031. name: [MAX_EXTENSION_NAME_SIZE]byte,
  2032. version: [MAX_EXTENSION_NAME_SIZE]byte,
  2033. purposes: ToolPurposeFlags,
  2034. description: [MAX_DESCRIPTION_SIZE]byte,
  2035. layer: [MAX_EXTENSION_NAME_SIZE]byte,
  2036. }
  2037. PhysicalDeviceShaderDemoteToHelperInvocationFeatures :: struct {
  2038. sType: StructureType,
  2039. pNext: rawptr,
  2040. shaderDemoteToHelperInvocation: b32,
  2041. }
  2042. PhysicalDevicePrivateDataFeatures :: struct {
  2043. sType: StructureType,
  2044. pNext: rawptr,
  2045. privateData: b32,
  2046. }
  2047. DevicePrivateDataCreateInfo :: struct {
  2048. sType: StructureType,
  2049. pNext: rawptr,
  2050. privateDataSlotRequestCount: u32,
  2051. }
  2052. PrivateDataSlotCreateInfo :: struct {
  2053. sType: StructureType,
  2054. pNext: rawptr,
  2055. flags: PrivateDataSlotCreateFlags,
  2056. }
  2057. PhysicalDevicePipelineCreationCacheControlFeatures :: struct {
  2058. sType: StructureType,
  2059. pNext: rawptr,
  2060. pipelineCreationCacheControl: b32,
  2061. }
  2062. MemoryBarrier2 :: struct {
  2063. sType: StructureType,
  2064. pNext: rawptr,
  2065. srcStageMask: PipelineStageFlags2,
  2066. srcAccessMask: AccessFlags2,
  2067. dstStageMask: PipelineStageFlags2,
  2068. dstAccessMask: AccessFlags2,
  2069. }
  2070. BufferMemoryBarrier2 :: struct {
  2071. sType: StructureType,
  2072. pNext: rawptr,
  2073. srcStageMask: PipelineStageFlags2,
  2074. srcAccessMask: AccessFlags2,
  2075. dstStageMask: PipelineStageFlags2,
  2076. dstAccessMask: AccessFlags2,
  2077. srcQueueFamilyIndex: u32,
  2078. dstQueueFamilyIndex: u32,
  2079. buffer: Buffer,
  2080. offset: DeviceSize,
  2081. size: DeviceSize,
  2082. }
  2083. ImageMemoryBarrier2 :: struct {
  2084. sType: StructureType,
  2085. pNext: rawptr,
  2086. srcStageMask: PipelineStageFlags2,
  2087. srcAccessMask: AccessFlags2,
  2088. dstStageMask: PipelineStageFlags2,
  2089. dstAccessMask: AccessFlags2,
  2090. oldLayout: ImageLayout,
  2091. newLayout: ImageLayout,
  2092. srcQueueFamilyIndex: u32,
  2093. dstQueueFamilyIndex: u32,
  2094. image: Image,
  2095. subresourceRange: ImageSubresourceRange,
  2096. }
  2097. DependencyInfo :: struct {
  2098. sType: StructureType,
  2099. pNext: rawptr,
  2100. dependencyFlags: DependencyFlags,
  2101. memoryBarrierCount: u32,
  2102. pMemoryBarriers: [^]MemoryBarrier2,
  2103. bufferMemoryBarrierCount: u32,
  2104. pBufferMemoryBarriers: [^]BufferMemoryBarrier2,
  2105. imageMemoryBarrierCount: u32,
  2106. pImageMemoryBarriers: [^]ImageMemoryBarrier2,
  2107. }
  2108. SemaphoreSubmitInfo :: struct {
  2109. sType: StructureType,
  2110. pNext: rawptr,
  2111. semaphore: Semaphore,
  2112. value: u64,
  2113. stageMask: PipelineStageFlags2,
  2114. deviceIndex: u32,
  2115. }
  2116. CommandBufferSubmitInfo :: struct {
  2117. sType: StructureType,
  2118. pNext: rawptr,
  2119. commandBuffer: CommandBuffer,
  2120. deviceMask: u32,
  2121. }
  2122. SubmitInfo2 :: struct {
  2123. sType: StructureType,
  2124. pNext: rawptr,
  2125. flags: SubmitFlags,
  2126. waitSemaphoreInfoCount: u32,
  2127. pWaitSemaphoreInfos: [^]SemaphoreSubmitInfo,
  2128. commandBufferInfoCount: u32,
  2129. pCommandBufferInfos: [^]CommandBufferSubmitInfo,
  2130. signalSemaphoreInfoCount: u32,
  2131. pSignalSemaphoreInfos: [^]SemaphoreSubmitInfo,
  2132. }
  2133. PhysicalDeviceSynchronization2Features :: struct {
  2134. sType: StructureType,
  2135. pNext: rawptr,
  2136. synchronization2: b32,
  2137. }
  2138. PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures :: struct {
  2139. sType: StructureType,
  2140. pNext: rawptr,
  2141. shaderZeroInitializeWorkgroupMemory: b32,
  2142. }
  2143. PhysicalDeviceImageRobustnessFeatures :: struct {
  2144. sType: StructureType,
  2145. pNext: rawptr,
  2146. robustImageAccess: b32,
  2147. }
  2148. BufferCopy2 :: struct {
  2149. sType: StructureType,
  2150. pNext: rawptr,
  2151. srcOffset: DeviceSize,
  2152. dstOffset: DeviceSize,
  2153. size: DeviceSize,
  2154. }
  2155. CopyBufferInfo2 :: struct {
  2156. sType: StructureType,
  2157. pNext: rawptr,
  2158. srcBuffer: Buffer,
  2159. dstBuffer: Buffer,
  2160. regionCount: u32,
  2161. pRegions: [^]BufferCopy2,
  2162. }
  2163. ImageCopy2 :: struct {
  2164. sType: StructureType,
  2165. pNext: rawptr,
  2166. srcSubresource: ImageSubresourceLayers,
  2167. srcOffset: Offset3D,
  2168. dstSubresource: ImageSubresourceLayers,
  2169. dstOffset: Offset3D,
  2170. extent: Extent3D,
  2171. }
  2172. CopyImageInfo2 :: struct {
  2173. sType: StructureType,
  2174. pNext: rawptr,
  2175. srcImage: Image,
  2176. srcImageLayout: ImageLayout,
  2177. dstImage: Image,
  2178. dstImageLayout: ImageLayout,
  2179. regionCount: u32,
  2180. pRegions: [^]ImageCopy2,
  2181. }
  2182. BufferImageCopy2 :: struct {
  2183. sType: StructureType,
  2184. pNext: rawptr,
  2185. bufferOffset: DeviceSize,
  2186. bufferRowLength: u32,
  2187. bufferImageHeight: u32,
  2188. imageSubresource: ImageSubresourceLayers,
  2189. imageOffset: Offset3D,
  2190. imageExtent: Extent3D,
  2191. }
  2192. CopyBufferToImageInfo2 :: struct {
  2193. sType: StructureType,
  2194. pNext: rawptr,
  2195. srcBuffer: Buffer,
  2196. dstImage: Image,
  2197. dstImageLayout: ImageLayout,
  2198. regionCount: u32,
  2199. pRegions: [^]BufferImageCopy2,
  2200. }
  2201. CopyImageToBufferInfo2 :: struct {
  2202. sType: StructureType,
  2203. pNext: rawptr,
  2204. srcImage: Image,
  2205. srcImageLayout: ImageLayout,
  2206. dstBuffer: Buffer,
  2207. regionCount: u32,
  2208. pRegions: [^]BufferImageCopy2,
  2209. }
  2210. ImageBlit2 :: struct {
  2211. sType: StructureType,
  2212. pNext: rawptr,
  2213. srcSubresource: ImageSubresourceLayers,
  2214. srcOffsets: [2]Offset3D,
  2215. dstSubresource: ImageSubresourceLayers,
  2216. dstOffsets: [2]Offset3D,
  2217. }
  2218. BlitImageInfo2 :: struct {
  2219. sType: StructureType,
  2220. pNext: rawptr,
  2221. srcImage: Image,
  2222. srcImageLayout: ImageLayout,
  2223. dstImage: Image,
  2224. dstImageLayout: ImageLayout,
  2225. regionCount: u32,
  2226. pRegions: [^]ImageBlit2,
  2227. filter: Filter,
  2228. }
  2229. ImageResolve2 :: struct {
  2230. sType: StructureType,
  2231. pNext: rawptr,
  2232. srcSubresource: ImageSubresourceLayers,
  2233. srcOffset: Offset3D,
  2234. dstSubresource: ImageSubresourceLayers,
  2235. dstOffset: Offset3D,
  2236. extent: Extent3D,
  2237. }
  2238. ResolveImageInfo2 :: struct {
  2239. sType: StructureType,
  2240. pNext: rawptr,
  2241. srcImage: Image,
  2242. srcImageLayout: ImageLayout,
  2243. dstImage: Image,
  2244. dstImageLayout: ImageLayout,
  2245. regionCount: u32,
  2246. pRegions: [^]ImageResolve2,
  2247. }
  2248. PhysicalDeviceSubgroupSizeControlFeatures :: struct {
  2249. sType: StructureType,
  2250. pNext: rawptr,
  2251. subgroupSizeControl: b32,
  2252. computeFullSubgroups: b32,
  2253. }
  2254. PhysicalDeviceSubgroupSizeControlProperties :: struct {
  2255. sType: StructureType,
  2256. pNext: rawptr,
  2257. minSubgroupSize: u32,
  2258. maxSubgroupSize: u32,
  2259. maxComputeWorkgroupSubgroups: u32,
  2260. requiredSubgroupSizeStages: ShaderStageFlags,
  2261. }
  2262. PipelineShaderStageRequiredSubgroupSizeCreateInfo :: struct {
  2263. sType: StructureType,
  2264. pNext: rawptr,
  2265. requiredSubgroupSize: u32,
  2266. }
  2267. PhysicalDeviceInlineUniformBlockFeatures :: struct {
  2268. sType: StructureType,
  2269. pNext: rawptr,
  2270. inlineUniformBlock: b32,
  2271. descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
  2272. }
  2273. PhysicalDeviceInlineUniformBlockProperties :: struct {
  2274. sType: StructureType,
  2275. pNext: rawptr,
  2276. maxInlineUniformBlockSize: u32,
  2277. maxPerStageDescriptorInlineUniformBlocks: u32,
  2278. maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
  2279. maxDescriptorSetInlineUniformBlocks: u32,
  2280. maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
  2281. }
  2282. WriteDescriptorSetInlineUniformBlock :: struct {
  2283. sType: StructureType,
  2284. pNext: rawptr,
  2285. dataSize: u32,
  2286. pData: rawptr,
  2287. }
  2288. DescriptorPoolInlineUniformBlockCreateInfo :: struct {
  2289. sType: StructureType,
  2290. pNext: rawptr,
  2291. maxInlineUniformBlockBindings: u32,
  2292. }
  2293. PhysicalDeviceTextureCompressionASTCHDRFeatures :: struct {
  2294. sType: StructureType,
  2295. pNext: rawptr,
  2296. textureCompressionASTC_HDR: b32,
  2297. }
  2298. RenderingAttachmentInfo :: struct {
  2299. sType: StructureType,
  2300. pNext: rawptr,
  2301. imageView: ImageView,
  2302. imageLayout: ImageLayout,
  2303. resolveMode: ResolveModeFlags,
  2304. resolveImageView: ImageView,
  2305. resolveImageLayout: ImageLayout,
  2306. loadOp: AttachmentLoadOp,
  2307. storeOp: AttachmentStoreOp,
  2308. clearValue: ClearValue,
  2309. }
  2310. RenderingInfo :: struct {
  2311. sType: StructureType,
  2312. pNext: rawptr,
  2313. flags: RenderingFlags,
  2314. renderArea: Rect2D,
  2315. layerCount: u32,
  2316. viewMask: u32,
  2317. colorAttachmentCount: u32,
  2318. pColorAttachments: [^]RenderingAttachmentInfo,
  2319. pDepthAttachment: ^RenderingAttachmentInfo,
  2320. pStencilAttachment: ^RenderingAttachmentInfo,
  2321. }
  2322. PipelineRenderingCreateInfo :: struct {
  2323. sType: StructureType,
  2324. pNext: rawptr,
  2325. viewMask: u32,
  2326. colorAttachmentCount: u32,
  2327. pColorAttachmentFormats: [^]Format,
  2328. depthAttachmentFormat: Format,
  2329. stencilAttachmentFormat: Format,
  2330. }
  2331. PhysicalDeviceDynamicRenderingFeatures :: struct {
  2332. sType: StructureType,
  2333. pNext: rawptr,
  2334. dynamicRendering: b32,
  2335. }
  2336. CommandBufferInheritanceRenderingInfo :: struct {
  2337. sType: StructureType,
  2338. pNext: rawptr,
  2339. flags: RenderingFlags,
  2340. viewMask: u32,
  2341. colorAttachmentCount: u32,
  2342. pColorAttachmentFormats: [^]Format,
  2343. depthAttachmentFormat: Format,
  2344. stencilAttachmentFormat: Format,
  2345. rasterizationSamples: SampleCountFlags,
  2346. }
  2347. PhysicalDeviceShaderIntegerDotProductFeatures :: struct {
  2348. sType: StructureType,
  2349. pNext: rawptr,
  2350. shaderIntegerDotProduct: b32,
  2351. }
  2352. PhysicalDeviceShaderIntegerDotProductProperties :: struct {
  2353. sType: StructureType,
  2354. pNext: rawptr,
  2355. integerDotProduct8BitUnsignedAccelerated: b32,
  2356. integerDotProduct8BitSignedAccelerated: b32,
  2357. integerDotProduct8BitMixedSignednessAccelerated: b32,
  2358. integerDotProduct4x8BitPackedUnsignedAccelerated: b32,
  2359. integerDotProduct4x8BitPackedSignedAccelerated: b32,
  2360. integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32,
  2361. integerDotProduct16BitUnsignedAccelerated: b32,
  2362. integerDotProduct16BitSignedAccelerated: b32,
  2363. integerDotProduct16BitMixedSignednessAccelerated: b32,
  2364. integerDotProduct32BitUnsignedAccelerated: b32,
  2365. integerDotProduct32BitSignedAccelerated: b32,
  2366. integerDotProduct32BitMixedSignednessAccelerated: b32,
  2367. integerDotProduct64BitUnsignedAccelerated: b32,
  2368. integerDotProduct64BitSignedAccelerated: b32,
  2369. integerDotProduct64BitMixedSignednessAccelerated: b32,
  2370. integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32,
  2371. integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32,
  2372. integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32,
  2373. integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32,
  2374. integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32,
  2375. integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
  2376. integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32,
  2377. integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32,
  2378. integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32,
  2379. integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32,
  2380. integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32,
  2381. integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32,
  2382. integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32,
  2383. integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32,
  2384. integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32,
  2385. }
  2386. PhysicalDeviceTexelBufferAlignmentProperties :: struct {
  2387. sType: StructureType,
  2388. pNext: rawptr,
  2389. storageTexelBufferOffsetAlignmentBytes: DeviceSize,
  2390. storageTexelBufferOffsetSingleTexelAlignment: b32,
  2391. uniformTexelBufferOffsetAlignmentBytes: DeviceSize,
  2392. uniformTexelBufferOffsetSingleTexelAlignment: b32,
  2393. }
  2394. FormatProperties3 :: struct {
  2395. sType: StructureType,
  2396. pNext: rawptr,
  2397. linearTilingFeatures: FormatFeatureFlags2,
  2398. optimalTilingFeatures: FormatFeatureFlags2,
  2399. bufferFeatures: FormatFeatureFlags2,
  2400. }
  2401. PhysicalDeviceMaintenance4Features :: struct {
  2402. sType: StructureType,
  2403. pNext: rawptr,
  2404. maintenance4: b32,
  2405. }
  2406. PhysicalDeviceMaintenance4Properties :: struct {
  2407. sType: StructureType,
  2408. pNext: rawptr,
  2409. maxBufferSize: DeviceSize,
  2410. }
  2411. DeviceBufferMemoryRequirements :: struct {
  2412. sType: StructureType,
  2413. pNext: rawptr,
  2414. pCreateInfo: ^BufferCreateInfo,
  2415. }
  2416. DeviceImageMemoryRequirements :: struct {
  2417. sType: StructureType,
  2418. pNext: rawptr,
  2419. pCreateInfo: ^ImageCreateInfo,
  2420. planeAspect: ImageAspectFlags,
  2421. }
  2422. SurfaceCapabilitiesKHR :: struct {
  2423. minImageCount: u32,
  2424. maxImageCount: u32,
  2425. currentExtent: Extent2D,
  2426. minImageExtent: Extent2D,
  2427. maxImageExtent: Extent2D,
  2428. maxImageArrayLayers: u32,
  2429. supportedTransforms: SurfaceTransformFlagsKHR,
  2430. currentTransform: SurfaceTransformFlagsKHR,
  2431. supportedCompositeAlpha: CompositeAlphaFlagsKHR,
  2432. supportedUsageFlags: ImageUsageFlags,
  2433. }
  2434. SurfaceFormatKHR :: struct {
  2435. format: Format,
  2436. colorSpace: ColorSpaceKHR,
  2437. }
  2438. SwapchainCreateInfoKHR :: struct {
  2439. sType: StructureType,
  2440. pNext: rawptr,
  2441. flags: SwapchainCreateFlagsKHR,
  2442. surface: SurfaceKHR,
  2443. minImageCount: u32,
  2444. imageFormat: Format,
  2445. imageColorSpace: ColorSpaceKHR,
  2446. imageExtent: Extent2D,
  2447. imageArrayLayers: u32,
  2448. imageUsage: ImageUsageFlags,
  2449. imageSharingMode: SharingMode,
  2450. queueFamilyIndexCount: u32,
  2451. pQueueFamilyIndices: [^]u32,
  2452. preTransform: SurfaceTransformFlagsKHR,
  2453. compositeAlpha: CompositeAlphaFlagsKHR,
  2454. presentMode: PresentModeKHR,
  2455. clipped: b32,
  2456. oldSwapchain: SwapchainKHR,
  2457. }
  2458. PresentInfoKHR :: struct {
  2459. sType: StructureType,
  2460. pNext: rawptr,
  2461. waitSemaphoreCount: u32,
  2462. pWaitSemaphores: [^]Semaphore,
  2463. swapchainCount: u32,
  2464. pSwapchains: [^]SwapchainKHR,
  2465. pImageIndices: [^]u32,
  2466. pResults: [^]Result,
  2467. }
  2468. ImageSwapchainCreateInfoKHR :: struct {
  2469. sType: StructureType,
  2470. pNext: rawptr,
  2471. swapchain: SwapchainKHR,
  2472. }
  2473. BindImageMemorySwapchainInfoKHR :: struct {
  2474. sType: StructureType,
  2475. pNext: rawptr,
  2476. swapchain: SwapchainKHR,
  2477. imageIndex: u32,
  2478. }
  2479. AcquireNextImageInfoKHR :: struct {
  2480. sType: StructureType,
  2481. pNext: rawptr,
  2482. swapchain: SwapchainKHR,
  2483. timeout: u64,
  2484. semaphore: Semaphore,
  2485. fence: Fence,
  2486. deviceMask: u32,
  2487. }
  2488. DeviceGroupPresentCapabilitiesKHR :: struct {
  2489. sType: StructureType,
  2490. pNext: rawptr,
  2491. presentMask: [MAX_DEVICE_GROUP_SIZE]u32,
  2492. modes: DeviceGroupPresentModeFlagsKHR,
  2493. }
  2494. DeviceGroupPresentInfoKHR :: struct {
  2495. sType: StructureType,
  2496. pNext: rawptr,
  2497. swapchainCount: u32,
  2498. pDeviceMasks: [^]u32,
  2499. mode: DeviceGroupPresentModeFlagsKHR,
  2500. }
  2501. DeviceGroupSwapchainCreateInfoKHR :: struct {
  2502. sType: StructureType,
  2503. pNext: rawptr,
  2504. modes: DeviceGroupPresentModeFlagsKHR,
  2505. }
  2506. DisplayModeParametersKHR :: struct {
  2507. visibleRegion: Extent2D,
  2508. refreshRate: u32,
  2509. }
  2510. DisplayModeCreateInfoKHR :: struct {
  2511. sType: StructureType,
  2512. pNext: rawptr,
  2513. flags: DisplayModeCreateFlagsKHR,
  2514. parameters: DisplayModeParametersKHR,
  2515. }
  2516. DisplayModePropertiesKHR :: struct {
  2517. displayMode: DisplayModeKHR,
  2518. parameters: DisplayModeParametersKHR,
  2519. }
  2520. DisplayPlaneCapabilitiesKHR :: struct {
  2521. supportedAlpha: DisplayPlaneAlphaFlagsKHR,
  2522. minSrcPosition: Offset2D,
  2523. maxSrcPosition: Offset2D,
  2524. minSrcExtent: Extent2D,
  2525. maxSrcExtent: Extent2D,
  2526. minDstPosition: Offset2D,
  2527. maxDstPosition: Offset2D,
  2528. minDstExtent: Extent2D,
  2529. maxDstExtent: Extent2D,
  2530. }
  2531. DisplayPlanePropertiesKHR :: struct {
  2532. currentDisplay: DisplayKHR,
  2533. currentStackIndex: u32,
  2534. }
  2535. DisplayPropertiesKHR :: struct {
  2536. display: DisplayKHR,
  2537. displayName: cstring,
  2538. physicalDimensions: Extent2D,
  2539. physicalResolution: Extent2D,
  2540. supportedTransforms: SurfaceTransformFlagsKHR,
  2541. planeReorderPossible: b32,
  2542. persistentContent: b32,
  2543. }
  2544. DisplaySurfaceCreateInfoKHR :: struct {
  2545. sType: StructureType,
  2546. pNext: rawptr,
  2547. flags: DisplaySurfaceCreateFlagsKHR,
  2548. displayMode: DisplayModeKHR,
  2549. planeIndex: u32,
  2550. planeStackIndex: u32,
  2551. transform: SurfaceTransformFlagsKHR,
  2552. globalAlpha: f32,
  2553. alphaMode: DisplayPlaneAlphaFlagsKHR,
  2554. imageExtent: Extent2D,
  2555. }
  2556. DisplayPresentInfoKHR :: struct {
  2557. sType: StructureType,
  2558. pNext: rawptr,
  2559. srcRect: Rect2D,
  2560. dstRect: Rect2D,
  2561. persistent: b32,
  2562. }
  2563. QueueFamilyQueryResultStatusPropertiesKHR :: struct {
  2564. sType: StructureType,
  2565. pNext: rawptr,
  2566. queryResultStatusSupport: b32,
  2567. }
  2568. QueueFamilyVideoPropertiesKHR :: struct {
  2569. sType: StructureType,
  2570. pNext: rawptr,
  2571. videoCodecOperations: VideoCodecOperationFlagsKHR,
  2572. }
  2573. VideoProfileInfoKHR :: struct {
  2574. sType: StructureType,
  2575. pNext: rawptr,
  2576. videoCodecOperation: VideoCodecOperationFlagsKHR,
  2577. chromaSubsampling: VideoChromaSubsamplingFlagsKHR,
  2578. lumaBitDepth: VideoComponentBitDepthFlagsKHR,
  2579. chromaBitDepth: VideoComponentBitDepthFlagsKHR,
  2580. }
  2581. VideoProfileListInfoKHR :: struct {
  2582. sType: StructureType,
  2583. pNext: rawptr,
  2584. profileCount: u32,
  2585. pProfiles: [^]VideoProfileInfoKHR,
  2586. }
  2587. VideoCapabilitiesKHR :: struct {
  2588. sType: StructureType,
  2589. pNext: rawptr,
  2590. flags: VideoCapabilityFlagsKHR,
  2591. minBitstreamBufferOffsetAlignment: DeviceSize,
  2592. minBitstreamBufferSizeAlignment: DeviceSize,
  2593. pictureAccessGranularity: Extent2D,
  2594. minCodedExtent: Extent2D,
  2595. maxCodedExtent: Extent2D,
  2596. maxDpbSlots: u32,
  2597. maxActiveReferencePictures: u32,
  2598. stdHeaderVersion: ExtensionProperties,
  2599. }
  2600. PhysicalDeviceVideoFormatInfoKHR :: struct {
  2601. sType: StructureType,
  2602. pNext: rawptr,
  2603. imageUsage: ImageUsageFlags,
  2604. }
  2605. VideoFormatPropertiesKHR :: struct {
  2606. sType: StructureType,
  2607. pNext: rawptr,
  2608. format: Format,
  2609. componentMapping: ComponentMapping,
  2610. imageCreateFlags: ImageCreateFlags,
  2611. imageType: ImageType,
  2612. imageTiling: ImageTiling,
  2613. imageUsageFlags: ImageUsageFlags,
  2614. }
  2615. VideoPictureResourceInfoKHR :: struct {
  2616. sType: StructureType,
  2617. pNext: rawptr,
  2618. codedOffset: Offset2D,
  2619. codedExtent: Extent2D,
  2620. baseArrayLayer: u32,
  2621. imageViewBinding: ImageView,
  2622. }
  2623. VideoReferenceSlotInfoKHR :: struct {
  2624. sType: StructureType,
  2625. pNext: rawptr,
  2626. slotIndex: i32,
  2627. pPictureResource: ^VideoPictureResourceInfoKHR,
  2628. }
  2629. VideoSessionMemoryRequirementsKHR :: struct {
  2630. sType: StructureType,
  2631. pNext: rawptr,
  2632. memoryBindIndex: u32,
  2633. memoryRequirements: MemoryRequirements,
  2634. }
  2635. BindVideoSessionMemoryInfoKHR :: struct {
  2636. sType: StructureType,
  2637. pNext: rawptr,
  2638. memoryBindIndex: u32,
  2639. memory: DeviceMemory,
  2640. memoryOffset: DeviceSize,
  2641. memorySize: DeviceSize,
  2642. }
  2643. VideoSessionCreateInfoKHR :: struct {
  2644. sType: StructureType,
  2645. pNext: rawptr,
  2646. queueFamilyIndex: u32,
  2647. flags: VideoSessionCreateFlagsKHR,
  2648. pVideoProfile: ^VideoProfileInfoKHR,
  2649. pictureFormat: Format,
  2650. maxCodedExtent: Extent2D,
  2651. referencePictureFormat: Format,
  2652. maxDpbSlots: u32,
  2653. maxActiveReferencePictures: u32,
  2654. pStdHeaderVersion: ^ExtensionProperties,
  2655. }
  2656. VideoSessionParametersCreateInfoKHR :: struct {
  2657. sType: StructureType,
  2658. pNext: rawptr,
  2659. flags: VideoSessionParametersCreateFlagsKHR,
  2660. videoSessionParametersTemplate: VideoSessionParametersKHR,
  2661. videoSession: VideoSessionKHR,
  2662. }
  2663. VideoSessionParametersUpdateInfoKHR :: struct {
  2664. sType: StructureType,
  2665. pNext: rawptr,
  2666. updateSequenceCount: u32,
  2667. }
  2668. VideoBeginCodingInfoKHR :: struct {
  2669. sType: StructureType,
  2670. pNext: rawptr,
  2671. flags: VideoBeginCodingFlagsKHR,
  2672. videoSession: VideoSessionKHR,
  2673. videoSessionParameters: VideoSessionParametersKHR,
  2674. referenceSlotCount: u32,
  2675. pReferenceSlots: [^]VideoReferenceSlotInfoKHR,
  2676. }
  2677. VideoEndCodingInfoKHR :: struct {
  2678. sType: StructureType,
  2679. pNext: rawptr,
  2680. flags: VideoEndCodingFlagsKHR,
  2681. }
  2682. VideoCodingControlInfoKHR :: struct {
  2683. sType: StructureType,
  2684. pNext: rawptr,
  2685. flags: VideoCodingControlFlagsKHR,
  2686. }
  2687. VideoDecodeCapabilitiesKHR :: struct {
  2688. sType: StructureType,
  2689. pNext: rawptr,
  2690. flags: VideoDecodeCapabilityFlagsKHR,
  2691. }
  2692. VideoDecodeUsageInfoKHR :: struct {
  2693. sType: StructureType,
  2694. pNext: rawptr,
  2695. videoUsageHints: VideoDecodeUsageFlagsKHR,
  2696. }
  2697. VideoDecodeInfoKHR :: struct {
  2698. sType: StructureType,
  2699. pNext: rawptr,
  2700. flags: VideoDecodeFlagsKHR,
  2701. srcBuffer: Buffer,
  2702. srcBufferOffset: DeviceSize,
  2703. srcBufferRange: DeviceSize,
  2704. dstPictureResource: VideoPictureResourceInfoKHR,
  2705. pSetupReferenceSlot: ^VideoReferenceSlotInfoKHR,
  2706. referenceSlotCount: u32,
  2707. pReferenceSlots: [^]VideoReferenceSlotInfoKHR,
  2708. }
  2709. VideoDecodeH264ProfileInfoKHR :: struct {
  2710. sType: StructureType,
  2711. pNext: rawptr,
  2712. stdProfileIdc: VideoH264ProfileIdc,
  2713. pictureLayout: VideoDecodeH264PictureLayoutFlagsKHR,
  2714. }
  2715. VideoDecodeH264CapabilitiesKHR :: struct {
  2716. sType: StructureType,
  2717. pNext: rawptr,
  2718. maxLevelIdc: VideoH264LevelIdc,
  2719. fieldOffsetGranularity: Offset2D,
  2720. }
  2721. VideoDecodeH264SessionParametersAddInfoKHR :: struct {
  2722. sType: StructureType,
  2723. pNext: rawptr,
  2724. stdSPSCount: u32,
  2725. pStdSPSs: [^]VideoH264SequenceParameterSet,
  2726. stdPPSCount: u32,
  2727. pStdPPSs: [^]VideoH264PictureParameterSet,
  2728. }
  2729. VideoDecodeH264SessionParametersCreateInfoKHR :: struct {
  2730. sType: StructureType,
  2731. pNext: rawptr,
  2732. maxStdSPSCount: u32,
  2733. maxStdPPSCount: u32,
  2734. pParametersAddInfo: ^VideoDecodeH264SessionParametersAddInfoKHR,
  2735. }
  2736. VideoDecodeH264PictureInfoKHR :: struct {
  2737. sType: StructureType,
  2738. pNext: rawptr,
  2739. pStdPictureInfo: ^VideoDecodeH264PictureInfo,
  2740. sliceCount: u32,
  2741. pSliceOffsets: [^]u32,
  2742. }
  2743. VideoDecodeH264DpbSlotInfoKHR :: struct {
  2744. sType: StructureType,
  2745. pNext: rawptr,
  2746. pStdReferenceInfo: ^VideoDecodeH264ReferenceInfo,
  2747. }
  2748. RenderingFragmentShadingRateAttachmentInfoKHR :: struct {
  2749. sType: StructureType,
  2750. pNext: rawptr,
  2751. imageView: ImageView,
  2752. imageLayout: ImageLayout,
  2753. shadingRateAttachmentTexelSize: Extent2D,
  2754. }
  2755. RenderingFragmentDensityMapAttachmentInfoEXT :: struct {
  2756. sType: StructureType,
  2757. pNext: rawptr,
  2758. imageView: ImageView,
  2759. imageLayout: ImageLayout,
  2760. }
  2761. AttachmentSampleCountInfoAMD :: struct {
  2762. sType: StructureType,
  2763. pNext: rawptr,
  2764. colorAttachmentCount: u32,
  2765. pColorAttachmentSamples: [^]SampleCountFlags,
  2766. depthStencilAttachmentSamples: SampleCountFlags,
  2767. }
  2768. MultiviewPerViewAttributesInfoNVX :: struct {
  2769. sType: StructureType,
  2770. pNext: rawptr,
  2771. perViewAttributes: b32,
  2772. perViewAttributesPositionXOnly: b32,
  2773. }
  2774. ImportMemoryFdInfoKHR :: struct {
  2775. sType: StructureType,
  2776. pNext: rawptr,
  2777. handleType: ExternalMemoryHandleTypeFlags,
  2778. fd: c.int,
  2779. }
  2780. MemoryFdPropertiesKHR :: struct {
  2781. sType: StructureType,
  2782. pNext: rawptr,
  2783. memoryTypeBits: u32,
  2784. }
  2785. MemoryGetFdInfoKHR :: struct {
  2786. sType: StructureType,
  2787. pNext: rawptr,
  2788. memory: DeviceMemory,
  2789. handleType: ExternalMemoryHandleTypeFlags,
  2790. }
  2791. ImportSemaphoreFdInfoKHR :: struct {
  2792. sType: StructureType,
  2793. pNext: rawptr,
  2794. semaphore: Semaphore,
  2795. flags: SemaphoreImportFlags,
  2796. handleType: ExternalSemaphoreHandleTypeFlags,
  2797. fd: c.int,
  2798. }
  2799. SemaphoreGetFdInfoKHR :: struct {
  2800. sType: StructureType,
  2801. pNext: rawptr,
  2802. semaphore: Semaphore,
  2803. handleType: ExternalSemaphoreHandleTypeFlags,
  2804. }
  2805. PhysicalDevicePushDescriptorPropertiesKHR :: struct {
  2806. sType: StructureType,
  2807. pNext: rawptr,
  2808. maxPushDescriptors: u32,
  2809. }
  2810. RectLayerKHR :: struct {
  2811. offset: Offset2D,
  2812. extent: Extent2D,
  2813. layer: u32,
  2814. }
  2815. PresentRegionKHR :: struct {
  2816. rectangleCount: u32,
  2817. pRectangles: [^]RectLayerKHR,
  2818. }
  2819. PresentRegionsKHR :: struct {
  2820. sType: StructureType,
  2821. pNext: rawptr,
  2822. swapchainCount: u32,
  2823. pRegions: [^]PresentRegionKHR,
  2824. }
  2825. SharedPresentSurfaceCapabilitiesKHR :: struct {
  2826. sType: StructureType,
  2827. pNext: rawptr,
  2828. sharedPresentSupportedUsageFlags: ImageUsageFlags,
  2829. }
  2830. ImportFenceFdInfoKHR :: struct {
  2831. sType: StructureType,
  2832. pNext: rawptr,
  2833. fence: Fence,
  2834. flags: FenceImportFlags,
  2835. handleType: ExternalFenceHandleTypeFlags,
  2836. fd: c.int,
  2837. }
  2838. FenceGetFdInfoKHR :: struct {
  2839. sType: StructureType,
  2840. pNext: rawptr,
  2841. fence: Fence,
  2842. handleType: ExternalFenceHandleTypeFlags,
  2843. }
  2844. PhysicalDevicePerformanceQueryFeaturesKHR :: struct {
  2845. sType: StructureType,
  2846. pNext: rawptr,
  2847. performanceCounterQueryPools: b32,
  2848. performanceCounterMultipleQueryPools: b32,
  2849. }
  2850. PhysicalDevicePerformanceQueryPropertiesKHR :: struct {
  2851. sType: StructureType,
  2852. pNext: rawptr,
  2853. allowCommandBufferQueryCopies: b32,
  2854. }
  2855. PerformanceCounterKHR :: struct {
  2856. sType: StructureType,
  2857. pNext: rawptr,
  2858. unit: PerformanceCounterUnitKHR,
  2859. scope: PerformanceCounterScopeKHR,
  2860. storage: PerformanceCounterStorageKHR,
  2861. uuid: [UUID_SIZE]u8,
  2862. }
  2863. PerformanceCounterDescriptionKHR :: struct {
  2864. sType: StructureType,
  2865. pNext: rawptr,
  2866. flags: PerformanceCounterDescriptionFlagsKHR,
  2867. name: [MAX_DESCRIPTION_SIZE]byte,
  2868. category: [MAX_DESCRIPTION_SIZE]byte,
  2869. description: [MAX_DESCRIPTION_SIZE]byte,
  2870. }
  2871. QueryPoolPerformanceCreateInfoKHR :: struct {
  2872. sType: StructureType,
  2873. pNext: rawptr,
  2874. queueFamilyIndex: u32,
  2875. counterIndexCount: u32,
  2876. pCounterIndices: [^]u32,
  2877. }
  2878. PerformanceCounterResultKHR :: struct #raw_union {
  2879. int32: i32,
  2880. int64: i64,
  2881. uint32: u32,
  2882. uint64: u64,
  2883. float32: f32,
  2884. float64: f64,
  2885. }
  2886. AcquireProfilingLockInfoKHR :: struct {
  2887. sType: StructureType,
  2888. pNext: rawptr,
  2889. flags: AcquireProfilingLockFlagsKHR,
  2890. timeout: u64,
  2891. }
  2892. PerformanceQuerySubmitInfoKHR :: struct {
  2893. sType: StructureType,
  2894. pNext: rawptr,
  2895. counterPassIndex: u32,
  2896. }
  2897. PhysicalDeviceSurfaceInfo2KHR :: struct {
  2898. sType: StructureType,
  2899. pNext: rawptr,
  2900. surface: SurfaceKHR,
  2901. }
  2902. SurfaceCapabilities2KHR :: struct {
  2903. sType: StructureType,
  2904. pNext: rawptr,
  2905. surfaceCapabilities: SurfaceCapabilitiesKHR,
  2906. }
  2907. SurfaceFormat2KHR :: struct {
  2908. sType: StructureType,
  2909. pNext: rawptr,
  2910. surfaceFormat: SurfaceFormatKHR,
  2911. }
  2912. DisplayProperties2KHR :: struct {
  2913. sType: StructureType,
  2914. pNext: rawptr,
  2915. displayProperties: DisplayPropertiesKHR,
  2916. }
  2917. DisplayPlaneProperties2KHR :: struct {
  2918. sType: StructureType,
  2919. pNext: rawptr,
  2920. displayPlaneProperties: DisplayPlanePropertiesKHR,
  2921. }
  2922. DisplayModeProperties2KHR :: struct {
  2923. sType: StructureType,
  2924. pNext: rawptr,
  2925. displayModeProperties: DisplayModePropertiesKHR,
  2926. }
  2927. DisplayPlaneInfo2KHR :: struct {
  2928. sType: StructureType,
  2929. pNext: rawptr,
  2930. mode: DisplayModeKHR,
  2931. planeIndex: u32,
  2932. }
  2933. DisplayPlaneCapabilities2KHR :: struct {
  2934. sType: StructureType,
  2935. pNext: rawptr,
  2936. capabilities: DisplayPlaneCapabilitiesKHR,
  2937. }
  2938. PhysicalDeviceShaderClockFeaturesKHR :: struct {
  2939. sType: StructureType,
  2940. pNext: rawptr,
  2941. shaderSubgroupClock: b32,
  2942. shaderDeviceClock: b32,
  2943. }
  2944. VideoDecodeH265ProfileInfoKHR :: struct {
  2945. sType: StructureType,
  2946. pNext: rawptr,
  2947. stdProfileIdc: VideoH265ProfileIdc,
  2948. }
  2949. VideoDecodeH265CapabilitiesKHR :: struct {
  2950. sType: StructureType,
  2951. pNext: rawptr,
  2952. maxLevelIdc: VideoH265LevelIdc,
  2953. }
  2954. VideoDecodeH265SessionParametersAddInfoKHR :: struct {
  2955. sType: StructureType,
  2956. pNext: rawptr,
  2957. stdVPSCount: u32,
  2958. pStdVPSs: [^]VideoH265VideoParameterSet,
  2959. stdSPSCount: u32,
  2960. pStdSPSs: [^]VideoH265SequenceParameterSet,
  2961. stdPPSCount: u32,
  2962. pStdPPSs: [^]VideoH265PictureParameterSet,
  2963. }
  2964. VideoDecodeH265SessionParametersCreateInfoKHR :: struct {
  2965. sType: StructureType,
  2966. pNext: rawptr,
  2967. maxStdVPSCount: u32,
  2968. maxStdSPSCount: u32,
  2969. maxStdPPSCount: u32,
  2970. pParametersAddInfo: ^VideoDecodeH265SessionParametersAddInfoKHR,
  2971. }
  2972. VideoDecodeH265PictureInfoKHR :: struct {
  2973. sType: StructureType,
  2974. pNext: rawptr,
  2975. pStdPictureInfo: ^VideoDecodeH265PictureInfo,
  2976. sliceSegmentCount: u32,
  2977. pSliceSegmentOffsets: [^]u32,
  2978. }
  2979. VideoDecodeH265DpbSlotInfoKHR :: struct {
  2980. sType: StructureType,
  2981. pNext: rawptr,
  2982. pStdReferenceInfo: ^VideoDecodeH265ReferenceInfo,
  2983. }
  2984. DeviceQueueGlobalPriorityCreateInfoKHR :: struct {
  2985. sType: StructureType,
  2986. pNext: rawptr,
  2987. globalPriority: QueueGlobalPriorityKHR,
  2988. }
  2989. PhysicalDeviceGlobalPriorityQueryFeaturesKHR :: struct {
  2990. sType: StructureType,
  2991. pNext: rawptr,
  2992. globalPriorityQuery: b32,
  2993. }
  2994. QueueFamilyGlobalPriorityPropertiesKHR :: struct {
  2995. sType: StructureType,
  2996. pNext: rawptr,
  2997. priorityCount: u32,
  2998. priorities: [MAX_GLOBAL_PRIORITY_SIZE_KHR]QueueGlobalPriorityKHR,
  2999. }
  3000. FragmentShadingRateAttachmentInfoKHR :: struct {
  3001. sType: StructureType,
  3002. pNext: rawptr,
  3003. pFragmentShadingRateAttachment: ^AttachmentReference2,
  3004. shadingRateAttachmentTexelSize: Extent2D,
  3005. }
  3006. PipelineFragmentShadingRateStateCreateInfoKHR :: struct {
  3007. sType: StructureType,
  3008. pNext: rawptr,
  3009. fragmentSize: Extent2D,
  3010. combinerOps: [2]FragmentShadingRateCombinerOpKHR,
  3011. }
  3012. PhysicalDeviceFragmentShadingRateFeaturesKHR :: struct {
  3013. sType: StructureType,
  3014. pNext: rawptr,
  3015. pipelineFragmentShadingRate: b32,
  3016. primitiveFragmentShadingRate: b32,
  3017. attachmentFragmentShadingRate: b32,
  3018. }
  3019. PhysicalDeviceFragmentShadingRatePropertiesKHR :: struct {
  3020. sType: StructureType,
  3021. pNext: rawptr,
  3022. minFragmentShadingRateAttachmentTexelSize: Extent2D,
  3023. maxFragmentShadingRateAttachmentTexelSize: Extent2D,
  3024. maxFragmentShadingRateAttachmentTexelSizeAspectRatio: u32,
  3025. primitiveFragmentShadingRateWithMultipleViewports: b32,
  3026. layeredShadingRateAttachments: b32,
  3027. fragmentShadingRateNonTrivialCombinerOps: b32,
  3028. maxFragmentSize: Extent2D,
  3029. maxFragmentSizeAspectRatio: u32,
  3030. maxFragmentShadingRateCoverageSamples: u32,
  3031. maxFragmentShadingRateRasterizationSamples: SampleCountFlags,
  3032. fragmentShadingRateWithShaderDepthStencilWrites: b32,
  3033. fragmentShadingRateWithSampleMask: b32,
  3034. fragmentShadingRateWithShaderSampleMask: b32,
  3035. fragmentShadingRateWithConservativeRasterization: b32,
  3036. fragmentShadingRateWithFragmentShaderInterlock: b32,
  3037. fragmentShadingRateWithCustomSampleLocations: b32,
  3038. fragmentShadingRateStrictMultiplyCombiner: b32,
  3039. }
  3040. PhysicalDeviceFragmentShadingRateKHR :: struct {
  3041. sType: StructureType,
  3042. pNext: rawptr,
  3043. sampleCounts: SampleCountFlags,
  3044. fragmentSize: Extent2D,
  3045. }
  3046. SurfaceProtectedCapabilitiesKHR :: struct {
  3047. sType: StructureType,
  3048. pNext: rawptr,
  3049. supportsProtected: b32,
  3050. }
  3051. PhysicalDevicePresentWaitFeaturesKHR :: struct {
  3052. sType: StructureType,
  3053. pNext: rawptr,
  3054. presentWait: b32,
  3055. }
  3056. PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: struct {
  3057. sType: StructureType,
  3058. pNext: rawptr,
  3059. pipelineExecutableInfo: b32,
  3060. }
  3061. PipelineInfoKHR :: struct {
  3062. sType: StructureType,
  3063. pNext: rawptr,
  3064. pipeline: Pipeline,
  3065. }
  3066. PipelineExecutablePropertiesKHR :: struct {
  3067. sType: StructureType,
  3068. pNext: rawptr,
  3069. stages: ShaderStageFlags,
  3070. name: [MAX_DESCRIPTION_SIZE]byte,
  3071. description: [MAX_DESCRIPTION_SIZE]byte,
  3072. subgroupSize: u32,
  3073. }
  3074. PipelineExecutableInfoKHR :: struct {
  3075. sType: StructureType,
  3076. pNext: rawptr,
  3077. pipeline: Pipeline,
  3078. executableIndex: u32,
  3079. }
  3080. PipelineExecutableStatisticValueKHR :: struct #raw_union {
  3081. b32: b32,
  3082. i64: i64,
  3083. u64: u64,
  3084. f64: f64,
  3085. }
  3086. PipelineExecutableStatisticKHR :: struct {
  3087. sType: StructureType,
  3088. pNext: rawptr,
  3089. name: [MAX_DESCRIPTION_SIZE]byte,
  3090. description: [MAX_DESCRIPTION_SIZE]byte,
  3091. format: PipelineExecutableStatisticFormatKHR,
  3092. value: PipelineExecutableStatisticValueKHR,
  3093. }
  3094. PipelineExecutableInternalRepresentationKHR :: struct {
  3095. sType: StructureType,
  3096. pNext: rawptr,
  3097. name: [MAX_DESCRIPTION_SIZE]byte,
  3098. description: [MAX_DESCRIPTION_SIZE]byte,
  3099. isText: b32,
  3100. dataSize: int,
  3101. pData: rawptr,
  3102. }
  3103. MemoryMapInfoKHR :: struct {
  3104. sType: StructureType,
  3105. pNext: rawptr,
  3106. flags: MemoryMapFlags,
  3107. memory: DeviceMemory,
  3108. offset: DeviceSize,
  3109. size: DeviceSize,
  3110. }
  3111. MemoryUnmapInfoKHR :: struct {
  3112. sType: StructureType,
  3113. pNext: rawptr,
  3114. flags: MemoryUnmapFlagsKHR,
  3115. memory: DeviceMemory,
  3116. }
  3117. PipelineLibraryCreateInfoKHR :: struct {
  3118. sType: StructureType,
  3119. pNext: rawptr,
  3120. libraryCount: u32,
  3121. pLibraries: [^]Pipeline,
  3122. }
  3123. PresentIdKHR :: struct {
  3124. sType: StructureType,
  3125. pNext: rawptr,
  3126. swapchainCount: u32,
  3127. pPresentIds: [^]u64,
  3128. }
  3129. PhysicalDevicePresentIdFeaturesKHR :: struct {
  3130. sType: StructureType,
  3131. pNext: rawptr,
  3132. presentId: b32,
  3133. }
  3134. QueueFamilyCheckpointProperties2NV :: struct {
  3135. sType: StructureType,
  3136. pNext: rawptr,
  3137. checkpointExecutionStageMask: PipelineStageFlags2,
  3138. }
  3139. CheckpointData2NV :: struct {
  3140. sType: StructureType,
  3141. pNext: rawptr,
  3142. stage: PipelineStageFlags2,
  3143. pCheckpointMarker: rawptr,
  3144. }
  3145. PhysicalDeviceFragmentShaderBarycentricFeaturesKHR :: struct {
  3146. sType: StructureType,
  3147. pNext: rawptr,
  3148. fragmentShaderBarycentric: b32,
  3149. }
  3150. PhysicalDeviceFragmentShaderBarycentricPropertiesKHR :: struct {
  3151. sType: StructureType,
  3152. pNext: rawptr,
  3153. triStripVertexOrderIndependentOfProvokingVertex: b32,
  3154. }
  3155. PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR :: struct {
  3156. sType: StructureType,
  3157. pNext: rawptr,
  3158. shaderSubgroupUniformControlFlow: b32,
  3159. }
  3160. PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR :: struct {
  3161. sType: StructureType,
  3162. pNext: rawptr,
  3163. workgroupMemoryExplicitLayout: b32,
  3164. workgroupMemoryExplicitLayoutScalarBlockLayout: b32,
  3165. workgroupMemoryExplicitLayout8BitAccess: b32,
  3166. workgroupMemoryExplicitLayout16BitAccess: b32,
  3167. }
  3168. PhysicalDeviceRayTracingMaintenance1FeaturesKHR :: struct {
  3169. sType: StructureType,
  3170. pNext: rawptr,
  3171. rayTracingMaintenance1: b32,
  3172. rayTracingPipelineTraceRaysIndirect2: b32,
  3173. }
  3174. TraceRaysIndirectCommand2KHR :: struct {
  3175. raygenShaderRecordAddress: DeviceAddress,
  3176. raygenShaderRecordSize: DeviceSize,
  3177. missShaderBindingTableAddress: DeviceAddress,
  3178. missShaderBindingTableSize: DeviceSize,
  3179. missShaderBindingTableStride: DeviceSize,
  3180. hitShaderBindingTableAddress: DeviceAddress,
  3181. hitShaderBindingTableSize: DeviceSize,
  3182. hitShaderBindingTableStride: DeviceSize,
  3183. callableShaderBindingTableAddress: DeviceAddress,
  3184. callableShaderBindingTableSize: DeviceSize,
  3185. callableShaderBindingTableStride: DeviceSize,
  3186. width: u32,
  3187. height: u32,
  3188. depth: u32,
  3189. }
  3190. PhysicalDeviceRayTracingPositionFetchFeaturesKHR :: struct {
  3191. sType: StructureType,
  3192. pNext: rawptr,
  3193. rayTracingPositionFetch: b32,
  3194. }
  3195. DebugReportCallbackCreateInfoEXT :: struct {
  3196. sType: StructureType,
  3197. pNext: rawptr,
  3198. flags: DebugReportFlagsEXT,
  3199. pfnCallback: ProcDebugReportCallbackEXT,
  3200. pUserData: rawptr,
  3201. }
  3202. PipelineRasterizationStateRasterizationOrderAMD :: struct {
  3203. sType: StructureType,
  3204. pNext: rawptr,
  3205. rasterizationOrder: RasterizationOrderAMD,
  3206. }
  3207. DebugMarkerObjectNameInfoEXT :: struct {
  3208. sType: StructureType,
  3209. pNext: rawptr,
  3210. objectType: DebugReportObjectTypeEXT,
  3211. object: u64,
  3212. pObjectName: cstring,
  3213. }
  3214. DebugMarkerObjectTagInfoEXT :: struct {
  3215. sType: StructureType,
  3216. pNext: rawptr,
  3217. objectType: DebugReportObjectTypeEXT,
  3218. object: u64,
  3219. tagName: u64,
  3220. tagSize: int,
  3221. pTag: rawptr,
  3222. }
  3223. DebugMarkerMarkerInfoEXT :: struct {
  3224. sType: StructureType,
  3225. pNext: rawptr,
  3226. pMarkerName: cstring,
  3227. color: [4]f32,
  3228. }
  3229. DedicatedAllocationImageCreateInfoNV :: struct {
  3230. sType: StructureType,
  3231. pNext: rawptr,
  3232. dedicatedAllocation: b32,
  3233. }
  3234. DedicatedAllocationBufferCreateInfoNV :: struct {
  3235. sType: StructureType,
  3236. pNext: rawptr,
  3237. dedicatedAllocation: b32,
  3238. }
  3239. DedicatedAllocationMemoryAllocateInfoNV :: struct {
  3240. sType: StructureType,
  3241. pNext: rawptr,
  3242. image: Image,
  3243. buffer: Buffer,
  3244. }
  3245. PhysicalDeviceTransformFeedbackFeaturesEXT :: struct {
  3246. sType: StructureType,
  3247. pNext: rawptr,
  3248. transformFeedback: b32,
  3249. geometryStreams: b32,
  3250. }
  3251. PhysicalDeviceTransformFeedbackPropertiesEXT :: struct {
  3252. sType: StructureType,
  3253. pNext: rawptr,
  3254. maxTransformFeedbackStreams: u32,
  3255. maxTransformFeedbackBuffers: u32,
  3256. maxTransformFeedbackBufferSize: DeviceSize,
  3257. maxTransformFeedbackStreamDataSize: u32,
  3258. maxTransformFeedbackBufferDataSize: u32,
  3259. maxTransformFeedbackBufferDataStride: u32,
  3260. transformFeedbackQueries: b32,
  3261. transformFeedbackStreamsLinesTriangles: b32,
  3262. transformFeedbackRasterizationStreamSelect: b32,
  3263. transformFeedbackDraw: b32,
  3264. }
  3265. PipelineRasterizationStateStreamCreateInfoEXT :: struct {
  3266. sType: StructureType,
  3267. pNext: rawptr,
  3268. flags: PipelineRasterizationStateStreamCreateFlagsEXT,
  3269. rasterizationStream: u32,
  3270. }
  3271. CuModuleCreateInfoNVX :: struct {
  3272. sType: StructureType,
  3273. pNext: rawptr,
  3274. dataSize: int,
  3275. pData: rawptr,
  3276. }
  3277. CuFunctionCreateInfoNVX :: struct {
  3278. sType: StructureType,
  3279. pNext: rawptr,
  3280. module: CuModuleNVX,
  3281. pName: cstring,
  3282. }
  3283. CuLaunchInfoNVX :: struct {
  3284. sType: StructureType,
  3285. pNext: rawptr,
  3286. function: CuFunctionNVX,
  3287. gridDimX: u32,
  3288. gridDimY: u32,
  3289. gridDimZ: u32,
  3290. blockDimX: u32,
  3291. blockDimY: u32,
  3292. blockDimZ: u32,
  3293. sharedMemBytes: u32,
  3294. paramCount: int,
  3295. pParams: [^]rawptr,
  3296. extraCount: int,
  3297. pExtras: [^]rawptr,
  3298. }
  3299. ImageViewHandleInfoNVX :: struct {
  3300. sType: StructureType,
  3301. pNext: rawptr,
  3302. imageView: ImageView,
  3303. descriptorType: DescriptorType,
  3304. sampler: Sampler,
  3305. }
  3306. ImageViewAddressPropertiesNVX :: struct {
  3307. sType: StructureType,
  3308. pNext: rawptr,
  3309. deviceAddress: DeviceAddress,
  3310. size: DeviceSize,
  3311. }
  3312. TextureLODGatherFormatPropertiesAMD :: struct {
  3313. sType: StructureType,
  3314. pNext: rawptr,
  3315. supportsTextureGatherLODBiasAMD: b32,
  3316. }
  3317. ShaderResourceUsageAMD :: struct {
  3318. numUsedVgprs: u32,
  3319. numUsedSgprs: u32,
  3320. ldsSizePerLocalWorkGroup: u32,
  3321. ldsUsageSizeInBytes: int,
  3322. scratchMemUsageInBytes: int,
  3323. }
  3324. ShaderStatisticsInfoAMD :: struct {
  3325. shaderStageMask: ShaderStageFlags,
  3326. resourceUsage: ShaderResourceUsageAMD,
  3327. numPhysicalVgprs: u32,
  3328. numPhysicalSgprs: u32,
  3329. numAvailableVgprs: u32,
  3330. numAvailableSgprs: u32,
  3331. computeWorkGroupSize: [3]u32,
  3332. }
  3333. PhysicalDeviceCornerSampledImageFeaturesNV :: struct {
  3334. sType: StructureType,
  3335. pNext: rawptr,
  3336. cornerSampledImage: b32,
  3337. }
  3338. ExternalImageFormatPropertiesNV :: struct {
  3339. imageFormatProperties: ImageFormatProperties,
  3340. externalMemoryFeatures: ExternalMemoryFeatureFlagsNV,
  3341. exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlagsNV,
  3342. compatibleHandleTypes: ExternalMemoryHandleTypeFlagsNV,
  3343. }
  3344. ExternalMemoryImageCreateInfoNV :: struct {
  3345. sType: StructureType,
  3346. pNext: rawptr,
  3347. handleTypes: ExternalMemoryHandleTypeFlagsNV,
  3348. }
  3349. ExportMemoryAllocateInfoNV :: struct {
  3350. sType: StructureType,
  3351. pNext: rawptr,
  3352. handleTypes: ExternalMemoryHandleTypeFlagsNV,
  3353. }
  3354. ValidationFlagsEXT :: struct {
  3355. sType: StructureType,
  3356. pNext: rawptr,
  3357. disabledValidationCheckCount: u32,
  3358. pDisabledValidationChecks: [^]ValidationCheckEXT,
  3359. }
  3360. ImageViewASTCDecodeModeEXT :: struct {
  3361. sType: StructureType,
  3362. pNext: rawptr,
  3363. decodeMode: Format,
  3364. }
  3365. PhysicalDeviceASTCDecodeFeaturesEXT :: struct {
  3366. sType: StructureType,
  3367. pNext: rawptr,
  3368. decodeModeSharedExponent: b32,
  3369. }
  3370. PhysicalDevicePipelineRobustnessFeaturesEXT :: struct {
  3371. sType: StructureType,
  3372. pNext: rawptr,
  3373. pipelineRobustness: b32,
  3374. }
  3375. PhysicalDevicePipelineRobustnessPropertiesEXT :: struct {
  3376. sType: StructureType,
  3377. pNext: rawptr,
  3378. defaultRobustnessStorageBuffers: PipelineRobustnessBufferBehaviorEXT,
  3379. defaultRobustnessUniformBuffers: PipelineRobustnessBufferBehaviorEXT,
  3380. defaultRobustnessVertexInputs: PipelineRobustnessBufferBehaviorEXT,
  3381. defaultRobustnessImages: PipelineRobustnessImageBehaviorEXT,
  3382. }
  3383. PipelineRobustnessCreateInfoEXT :: struct {
  3384. sType: StructureType,
  3385. pNext: rawptr,
  3386. storageBuffers: PipelineRobustnessBufferBehaviorEXT,
  3387. uniformBuffers: PipelineRobustnessBufferBehaviorEXT,
  3388. vertexInputs: PipelineRobustnessBufferBehaviorEXT,
  3389. images: PipelineRobustnessImageBehaviorEXT,
  3390. }
  3391. ConditionalRenderingBeginInfoEXT :: struct {
  3392. sType: StructureType,
  3393. pNext: rawptr,
  3394. buffer: Buffer,
  3395. offset: DeviceSize,
  3396. flags: ConditionalRenderingFlagsEXT,
  3397. }
  3398. PhysicalDeviceConditionalRenderingFeaturesEXT :: struct {
  3399. sType: StructureType,
  3400. pNext: rawptr,
  3401. conditionalRendering: b32,
  3402. inheritedConditionalRendering: b32,
  3403. }
  3404. CommandBufferInheritanceConditionalRenderingInfoEXT :: struct {
  3405. sType: StructureType,
  3406. pNext: rawptr,
  3407. conditionalRenderingEnable: b32,
  3408. }
  3409. ViewportWScalingNV :: struct {
  3410. xcoeff: f32,
  3411. ycoeff: f32,
  3412. }
  3413. PipelineViewportWScalingStateCreateInfoNV :: struct {
  3414. sType: StructureType,
  3415. pNext: rawptr,
  3416. viewportWScalingEnable: b32,
  3417. viewportCount: u32,
  3418. pViewportWScalings: [^]ViewportWScalingNV,
  3419. }
  3420. SurfaceCapabilities2EXT :: struct {
  3421. sType: StructureType,
  3422. pNext: rawptr,
  3423. minImageCount: u32,
  3424. maxImageCount: u32,
  3425. currentExtent: Extent2D,
  3426. minImageExtent: Extent2D,
  3427. maxImageExtent: Extent2D,
  3428. maxImageArrayLayers: u32,
  3429. supportedTransforms: SurfaceTransformFlagsKHR,
  3430. currentTransform: SurfaceTransformFlagsKHR,
  3431. supportedCompositeAlpha: CompositeAlphaFlagsKHR,
  3432. supportedUsageFlags: ImageUsageFlags,
  3433. supportedSurfaceCounters: SurfaceCounterFlagsEXT,
  3434. }
  3435. DisplayPowerInfoEXT :: struct {
  3436. sType: StructureType,
  3437. pNext: rawptr,
  3438. powerState: DisplayPowerStateEXT,
  3439. }
  3440. DeviceEventInfoEXT :: struct {
  3441. sType: StructureType,
  3442. pNext: rawptr,
  3443. deviceEvent: DeviceEventTypeEXT,
  3444. }
  3445. DisplayEventInfoEXT :: struct {
  3446. sType: StructureType,
  3447. pNext: rawptr,
  3448. displayEvent: DisplayEventTypeEXT,
  3449. }
  3450. SwapchainCounterCreateInfoEXT :: struct {
  3451. sType: StructureType,
  3452. pNext: rawptr,
  3453. surfaceCounters: SurfaceCounterFlagsEXT,
  3454. }
  3455. RefreshCycleDurationGOOGLE :: struct {
  3456. refreshDuration: u64,
  3457. }
  3458. PastPresentationTimingGOOGLE :: struct {
  3459. presentID: u32,
  3460. desiredPresentTime: u64,
  3461. actualPresentTime: u64,
  3462. earliestPresentTime: u64,
  3463. presentMargin: u64,
  3464. }
  3465. PresentTimeGOOGLE :: struct {
  3466. presentID: u32,
  3467. desiredPresentTime: u64,
  3468. }
  3469. PresentTimesInfoGOOGLE :: struct {
  3470. sType: StructureType,
  3471. pNext: rawptr,
  3472. swapchainCount: u32,
  3473. pTimes: [^]PresentTimeGOOGLE,
  3474. }
  3475. PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX :: struct {
  3476. sType: StructureType,
  3477. pNext: rawptr,
  3478. perViewPositionAllComponents: b32,
  3479. }
  3480. ViewportSwizzleNV :: struct {
  3481. x: ViewportCoordinateSwizzleNV,
  3482. y: ViewportCoordinateSwizzleNV,
  3483. z: ViewportCoordinateSwizzleNV,
  3484. w: ViewportCoordinateSwizzleNV,
  3485. }
  3486. PipelineViewportSwizzleStateCreateInfoNV :: struct {
  3487. sType: StructureType,
  3488. pNext: rawptr,
  3489. flags: PipelineViewportSwizzleStateCreateFlagsNV,
  3490. viewportCount: u32,
  3491. pViewportSwizzles: [^]ViewportSwizzleNV,
  3492. }
  3493. PhysicalDeviceDiscardRectanglePropertiesEXT :: struct {
  3494. sType: StructureType,
  3495. pNext: rawptr,
  3496. maxDiscardRectangles: u32,
  3497. }
  3498. PipelineDiscardRectangleStateCreateInfoEXT :: struct {
  3499. sType: StructureType,
  3500. pNext: rawptr,
  3501. flags: PipelineDiscardRectangleStateCreateFlagsEXT,
  3502. discardRectangleMode: DiscardRectangleModeEXT,
  3503. discardRectangleCount: u32,
  3504. pDiscardRectangles: [^]Rect2D,
  3505. }
  3506. PhysicalDeviceConservativeRasterizationPropertiesEXT :: struct {
  3507. sType: StructureType,
  3508. pNext: rawptr,
  3509. primitiveOverestimationSize: f32,
  3510. maxExtraPrimitiveOverestimationSize: f32,
  3511. extraPrimitiveOverestimationSizeGranularity: f32,
  3512. primitiveUnderestimation: b32,
  3513. conservativePointAndLineRasterization: b32,
  3514. degenerateTrianglesRasterized: b32,
  3515. degenerateLinesRasterized: b32,
  3516. fullyCoveredFragmentShaderInputVariable: b32,
  3517. conservativeRasterizationPostDepthCoverage: b32,
  3518. }
  3519. PipelineRasterizationConservativeStateCreateInfoEXT :: struct {
  3520. sType: StructureType,
  3521. pNext: rawptr,
  3522. flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
  3523. conservativeRasterizationMode: ConservativeRasterizationModeEXT,
  3524. extraPrimitiveOverestimationSize: f32,
  3525. }
  3526. PhysicalDeviceDepthClipEnableFeaturesEXT :: struct {
  3527. sType: StructureType,
  3528. pNext: rawptr,
  3529. depthClipEnable: b32,
  3530. }
  3531. PipelineRasterizationDepthClipStateCreateInfoEXT :: struct {
  3532. sType: StructureType,
  3533. pNext: rawptr,
  3534. flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
  3535. depthClipEnable: b32,
  3536. }
  3537. XYColorEXT :: struct {
  3538. x: f32,
  3539. y: f32,
  3540. }
  3541. HdrMetadataEXT :: struct {
  3542. sType: StructureType,
  3543. pNext: rawptr,
  3544. displayPrimaryRed: XYColorEXT,
  3545. displayPrimaryGreen: XYColorEXT,
  3546. displayPrimaryBlue: XYColorEXT,
  3547. whitePoint: XYColorEXT,
  3548. maxLuminance: f32,
  3549. minLuminance: f32,
  3550. maxContentLightLevel: f32,
  3551. maxFrameAverageLightLevel: f32,
  3552. }
  3553. DebugUtilsLabelEXT :: struct {
  3554. sType: StructureType,
  3555. pNext: rawptr,
  3556. pLabelName: cstring,
  3557. color: [4]f32,
  3558. }
  3559. DebugUtilsObjectNameInfoEXT :: struct {
  3560. sType: StructureType,
  3561. pNext: rawptr,
  3562. objectType: ObjectType,
  3563. objectHandle: u64,
  3564. pObjectName: cstring,
  3565. }
  3566. DebugUtilsMessengerCallbackDataEXT :: struct {
  3567. sType: StructureType,
  3568. pNext: rawptr,
  3569. flags: DebugUtilsMessengerCallbackDataFlagsEXT,
  3570. pMessageIdName: cstring,
  3571. messageIdNumber: i32,
  3572. pMessage: cstring,
  3573. queueLabelCount: u32,
  3574. pQueueLabels: [^]DebugUtilsLabelEXT,
  3575. cmdBufLabelCount: u32,
  3576. pCmdBufLabels: [^]DebugUtilsLabelEXT,
  3577. objectCount: u32,
  3578. pObjects: [^]DebugUtilsObjectNameInfoEXT,
  3579. }
  3580. DebugUtilsMessengerCreateInfoEXT :: struct {
  3581. sType: StructureType,
  3582. pNext: rawptr,
  3583. flags: DebugUtilsMessengerCreateFlagsEXT,
  3584. messageSeverity: DebugUtilsMessageSeverityFlagsEXT,
  3585. messageType: DebugUtilsMessageTypeFlagsEXT,
  3586. pfnUserCallback: ProcDebugUtilsMessengerCallbackEXT,
  3587. pUserData: rawptr,
  3588. }
  3589. DebugUtilsObjectTagInfoEXT :: struct {
  3590. sType: StructureType,
  3591. pNext: rawptr,
  3592. objectType: ObjectType,
  3593. objectHandle: u64,
  3594. tagName: u64,
  3595. tagSize: int,
  3596. pTag: rawptr,
  3597. }
  3598. SampleLocationEXT :: struct {
  3599. x: f32,
  3600. y: f32,
  3601. }
  3602. SampleLocationsInfoEXT :: struct {
  3603. sType: StructureType,
  3604. pNext: rawptr,
  3605. sampleLocationsPerPixel: SampleCountFlags,
  3606. sampleLocationGridSize: Extent2D,
  3607. sampleLocationsCount: u32,
  3608. pSampleLocations: [^]SampleLocationEXT,
  3609. }
  3610. AttachmentSampleLocationsEXT :: struct {
  3611. attachmentIndex: u32,
  3612. sampleLocationsInfo: SampleLocationsInfoEXT,
  3613. }
  3614. SubpassSampleLocationsEXT :: struct {
  3615. subpassIndex: u32,
  3616. sampleLocationsInfo: SampleLocationsInfoEXT,
  3617. }
  3618. RenderPassSampleLocationsBeginInfoEXT :: struct {
  3619. sType: StructureType,
  3620. pNext: rawptr,
  3621. attachmentInitialSampleLocationsCount: u32,
  3622. pAttachmentInitialSampleLocations: [^]AttachmentSampleLocationsEXT,
  3623. postSubpassSampleLocationsCount: u32,
  3624. pPostSubpassSampleLocations: [^]SubpassSampleLocationsEXT,
  3625. }
  3626. PipelineSampleLocationsStateCreateInfoEXT :: struct {
  3627. sType: StructureType,
  3628. pNext: rawptr,
  3629. sampleLocationsEnable: b32,
  3630. sampleLocationsInfo: SampleLocationsInfoEXT,
  3631. }
  3632. PhysicalDeviceSampleLocationsPropertiesEXT :: struct {
  3633. sType: StructureType,
  3634. pNext: rawptr,
  3635. sampleLocationSampleCounts: SampleCountFlags,
  3636. maxSampleLocationGridSize: Extent2D,
  3637. sampleLocationCoordinateRange: [2]f32,
  3638. sampleLocationSubPixelBits: u32,
  3639. variableSampleLocations: b32,
  3640. }
  3641. MultisamplePropertiesEXT :: struct {
  3642. sType: StructureType,
  3643. pNext: rawptr,
  3644. maxSampleLocationGridSize: Extent2D,
  3645. }
  3646. PhysicalDeviceBlendOperationAdvancedFeaturesEXT :: struct {
  3647. sType: StructureType,
  3648. pNext: rawptr,
  3649. advancedBlendCoherentOperations: b32,
  3650. }
  3651. PhysicalDeviceBlendOperationAdvancedPropertiesEXT :: struct {
  3652. sType: StructureType,
  3653. pNext: rawptr,
  3654. advancedBlendMaxColorAttachments: u32,
  3655. advancedBlendIndependentBlend: b32,
  3656. advancedBlendNonPremultipliedSrcColor: b32,
  3657. advancedBlendNonPremultipliedDstColor: b32,
  3658. advancedBlendCorrelatedOverlap: b32,
  3659. advancedBlendAllOperations: b32,
  3660. }
  3661. PipelineColorBlendAdvancedStateCreateInfoEXT :: struct {
  3662. sType: StructureType,
  3663. pNext: rawptr,
  3664. srcPremultiplied: b32,
  3665. dstPremultiplied: b32,
  3666. blendOverlap: BlendOverlapEXT,
  3667. }
  3668. PipelineCoverageToColorStateCreateInfoNV :: struct {
  3669. sType: StructureType,
  3670. pNext: rawptr,
  3671. flags: PipelineCoverageToColorStateCreateFlagsNV,
  3672. coverageToColorEnable: b32,
  3673. coverageToColorLocation: u32,
  3674. }
  3675. PipelineCoverageModulationStateCreateInfoNV :: struct {
  3676. sType: StructureType,
  3677. pNext: rawptr,
  3678. flags: PipelineCoverageModulationStateCreateFlagsNV,
  3679. coverageModulationMode: CoverageModulationModeNV,
  3680. coverageModulationTableEnable: b32,
  3681. coverageModulationTableCount: u32,
  3682. pCoverageModulationTable: [^]f32,
  3683. }
  3684. PhysicalDeviceShaderSMBuiltinsPropertiesNV :: struct {
  3685. sType: StructureType,
  3686. pNext: rawptr,
  3687. shaderSMCount: u32,
  3688. shaderWarpsPerSM: u32,
  3689. }
  3690. PhysicalDeviceShaderSMBuiltinsFeaturesNV :: struct {
  3691. sType: StructureType,
  3692. pNext: rawptr,
  3693. shaderSMBuiltins: b32,
  3694. }
  3695. DrmFormatModifierPropertiesEXT :: struct {
  3696. drmFormatModifier: u64,
  3697. drmFormatModifierPlaneCount: u32,
  3698. drmFormatModifierTilingFeatures: FormatFeatureFlags,
  3699. }
  3700. DrmFormatModifierPropertiesListEXT :: struct {
  3701. sType: StructureType,
  3702. pNext: rawptr,
  3703. drmFormatModifierCount: u32,
  3704. pDrmFormatModifierProperties: [^]DrmFormatModifierPropertiesEXT,
  3705. }
  3706. PhysicalDeviceImageDrmFormatModifierInfoEXT :: struct {
  3707. sType: StructureType,
  3708. pNext: rawptr,
  3709. drmFormatModifier: u64,
  3710. sharingMode: SharingMode,
  3711. queueFamilyIndexCount: u32,
  3712. pQueueFamilyIndices: [^]u32,
  3713. }
  3714. ImageDrmFormatModifierListCreateInfoEXT :: struct {
  3715. sType: StructureType,
  3716. pNext: rawptr,
  3717. drmFormatModifierCount: u32,
  3718. pDrmFormatModifiers: [^]u64,
  3719. }
  3720. ImageDrmFormatModifierExplicitCreateInfoEXT :: struct {
  3721. sType: StructureType,
  3722. pNext: rawptr,
  3723. drmFormatModifier: u64,
  3724. drmFormatModifierPlaneCount: u32,
  3725. pPlaneLayouts: [^]SubresourceLayout,
  3726. }
  3727. ImageDrmFormatModifierPropertiesEXT :: struct {
  3728. sType: StructureType,
  3729. pNext: rawptr,
  3730. drmFormatModifier: u64,
  3731. }
  3732. DrmFormatModifierProperties2EXT :: struct {
  3733. drmFormatModifier: u64,
  3734. drmFormatModifierPlaneCount: u32,
  3735. drmFormatModifierTilingFeatures: FormatFeatureFlags2,
  3736. }
  3737. DrmFormatModifierPropertiesList2EXT :: struct {
  3738. sType: StructureType,
  3739. pNext: rawptr,
  3740. drmFormatModifierCount: u32,
  3741. pDrmFormatModifierProperties: [^]DrmFormatModifierProperties2EXT,
  3742. }
  3743. ValidationCacheCreateInfoEXT :: struct {
  3744. sType: StructureType,
  3745. pNext: rawptr,
  3746. flags: ValidationCacheCreateFlagsEXT,
  3747. initialDataSize: int,
  3748. pInitialData: rawptr,
  3749. }
  3750. ShaderModuleValidationCacheCreateInfoEXT :: struct {
  3751. sType: StructureType,
  3752. pNext: rawptr,
  3753. validationCache: ValidationCacheEXT,
  3754. }
  3755. ShadingRatePaletteNV :: struct {
  3756. shadingRatePaletteEntryCount: u32,
  3757. pShadingRatePaletteEntries: [^]ShadingRatePaletteEntryNV,
  3758. }
  3759. PipelineViewportShadingRateImageStateCreateInfoNV :: struct {
  3760. sType: StructureType,
  3761. pNext: rawptr,
  3762. shadingRateImageEnable: b32,
  3763. viewportCount: u32,
  3764. pShadingRatePalettes: [^]ShadingRatePaletteNV,
  3765. }
  3766. PhysicalDeviceShadingRateImageFeaturesNV :: struct {
  3767. sType: StructureType,
  3768. pNext: rawptr,
  3769. shadingRateImage: b32,
  3770. shadingRateCoarseSampleOrder: b32,
  3771. }
  3772. PhysicalDeviceShadingRateImagePropertiesNV :: struct {
  3773. sType: StructureType,
  3774. pNext: rawptr,
  3775. shadingRateTexelSize: Extent2D,
  3776. shadingRatePaletteSize: u32,
  3777. shadingRateMaxCoarseSamples: u32,
  3778. }
  3779. CoarseSampleLocationNV :: struct {
  3780. pixelX: u32,
  3781. pixelY: u32,
  3782. sample: u32,
  3783. }
  3784. CoarseSampleOrderCustomNV :: struct {
  3785. shadingRate: ShadingRatePaletteEntryNV,
  3786. sampleCount: u32,
  3787. sampleLocationCount: u32,
  3788. pSampleLocations: [^]CoarseSampleLocationNV,
  3789. }
  3790. PipelineViewportCoarseSampleOrderStateCreateInfoNV :: struct {
  3791. sType: StructureType,
  3792. pNext: rawptr,
  3793. sampleOrderType: CoarseSampleOrderTypeNV,
  3794. customSampleOrderCount: u32,
  3795. pCustomSampleOrders: [^]CoarseSampleOrderCustomNV,
  3796. }
  3797. RayTracingShaderGroupCreateInfoNV :: struct {
  3798. sType: StructureType,
  3799. pNext: rawptr,
  3800. type: RayTracingShaderGroupTypeKHR,
  3801. generalShader: u32,
  3802. closestHitShader: u32,
  3803. anyHitShader: u32,
  3804. intersectionShader: u32,
  3805. }
  3806. RayTracingPipelineCreateInfoNV :: struct {
  3807. sType: StructureType,
  3808. pNext: rawptr,
  3809. flags: PipelineCreateFlags,
  3810. stageCount: u32,
  3811. pStages: [^]PipelineShaderStageCreateInfo,
  3812. groupCount: u32,
  3813. pGroups: [^]RayTracingShaderGroupCreateInfoNV,
  3814. maxRecursionDepth: u32,
  3815. layout: PipelineLayout,
  3816. basePipelineHandle: Pipeline,
  3817. basePipelineIndex: i32,
  3818. }
  3819. GeometryTrianglesNV :: struct {
  3820. sType: StructureType,
  3821. pNext: rawptr,
  3822. vertexData: Buffer,
  3823. vertexOffset: DeviceSize,
  3824. vertexCount: u32,
  3825. vertexStride: DeviceSize,
  3826. vertexFormat: Format,
  3827. indexData: Buffer,
  3828. indexOffset: DeviceSize,
  3829. indexCount: u32,
  3830. indexType: IndexType,
  3831. transformData: Buffer,
  3832. transformOffset: DeviceSize,
  3833. }
  3834. GeometryAABBNV :: struct {
  3835. sType: StructureType,
  3836. pNext: rawptr,
  3837. aabbData: Buffer,
  3838. numAABBs: u32,
  3839. stride: u32,
  3840. offset: DeviceSize,
  3841. }
  3842. GeometryDataNV :: struct {
  3843. triangles: GeometryTrianglesNV,
  3844. aabbs: GeometryAABBNV,
  3845. }
  3846. GeometryNV :: struct {
  3847. sType: StructureType,
  3848. pNext: rawptr,
  3849. geometryType: GeometryTypeKHR,
  3850. geometry: GeometryDataNV,
  3851. flags: GeometryFlagsKHR,
  3852. }
  3853. AccelerationStructureInfoNV :: struct {
  3854. sType: StructureType,
  3855. pNext: rawptr,
  3856. type: AccelerationStructureTypeNV,
  3857. flags: BuildAccelerationStructureFlagsNV,
  3858. instanceCount: u32,
  3859. geometryCount: u32,
  3860. pGeometries: [^]GeometryNV,
  3861. }
  3862. AccelerationStructureCreateInfoNV :: struct {
  3863. sType: StructureType,
  3864. pNext: rawptr,
  3865. compactedSize: DeviceSize,
  3866. info: AccelerationStructureInfoNV,
  3867. }
  3868. BindAccelerationStructureMemoryInfoNV :: struct {
  3869. sType: StructureType,
  3870. pNext: rawptr,
  3871. accelerationStructure: AccelerationStructureNV,
  3872. memory: DeviceMemory,
  3873. memoryOffset: DeviceSize,
  3874. deviceIndexCount: u32,
  3875. pDeviceIndices: [^]u32,
  3876. }
  3877. WriteDescriptorSetAccelerationStructureNV :: struct {
  3878. sType: StructureType,
  3879. pNext: rawptr,
  3880. accelerationStructureCount: u32,
  3881. pAccelerationStructures: [^]AccelerationStructureNV,
  3882. }
  3883. AccelerationStructureMemoryRequirementsInfoNV :: struct {
  3884. sType: StructureType,
  3885. pNext: rawptr,
  3886. type: AccelerationStructureMemoryRequirementsTypeNV,
  3887. accelerationStructure: AccelerationStructureNV,
  3888. }
  3889. PhysicalDeviceRayTracingPropertiesNV :: struct {
  3890. sType: StructureType,
  3891. pNext: rawptr,
  3892. shaderGroupHandleSize: u32,
  3893. maxRecursionDepth: u32,
  3894. maxShaderGroupStride: u32,
  3895. shaderGroupBaseAlignment: u32,
  3896. maxGeometryCount: u64,
  3897. maxInstanceCount: u64,
  3898. maxTriangleCount: u64,
  3899. maxDescriptorSetAccelerationStructures: u32,
  3900. }
  3901. TransformMatrixKHR :: struct {
  3902. mat: [3][4]f32,
  3903. }
  3904. AabbPositionsKHR :: struct {
  3905. minX: f32,
  3906. minY: f32,
  3907. minZ: f32,
  3908. maxX: f32,
  3909. maxY: f32,
  3910. maxZ: f32,
  3911. }
  3912. AccelerationStructureInstanceKHR :: struct {
  3913. transform: TransformMatrixKHR,
  3914. instanceCustomIndexAndMask: u32, // Most significant byte is mask
  3915. instanceShaderBindingTableRecordOffsetAndFlags: u32, // Most significant byte is flags
  3916. accelerationStructureReference: u64,
  3917. }
  3918. PhysicalDeviceRepresentativeFragmentTestFeaturesNV :: struct {
  3919. sType: StructureType,
  3920. pNext: rawptr,
  3921. representativeFragmentTest: b32,
  3922. }
  3923. PipelineRepresentativeFragmentTestStateCreateInfoNV :: struct {
  3924. sType: StructureType,
  3925. pNext: rawptr,
  3926. representativeFragmentTestEnable: b32,
  3927. }
  3928. PhysicalDeviceImageViewImageFormatInfoEXT :: struct {
  3929. sType: StructureType,
  3930. pNext: rawptr,
  3931. imageViewType: ImageViewType,
  3932. }
  3933. FilterCubicImageViewImageFormatPropertiesEXT :: struct {
  3934. sType: StructureType,
  3935. pNext: rawptr,
  3936. filterCubic: b32,
  3937. filterCubicMinmax: b32,
  3938. }
  3939. ImportMemoryHostPointerInfoEXT :: struct {
  3940. sType: StructureType,
  3941. pNext: rawptr,
  3942. handleType: ExternalMemoryHandleTypeFlags,
  3943. pHostPointer: rawptr,
  3944. }
  3945. MemoryHostPointerPropertiesEXT :: struct {
  3946. sType: StructureType,
  3947. pNext: rawptr,
  3948. memoryTypeBits: u32,
  3949. }
  3950. PhysicalDeviceExternalMemoryHostPropertiesEXT :: struct {
  3951. sType: StructureType,
  3952. pNext: rawptr,
  3953. minImportedHostPointerAlignment: DeviceSize,
  3954. }
  3955. PipelineCompilerControlCreateInfoAMD :: struct {
  3956. sType: StructureType,
  3957. pNext: rawptr,
  3958. compilerControlFlags: PipelineCompilerControlFlagsAMD,
  3959. }
  3960. CalibratedTimestampInfoEXT :: struct {
  3961. sType: StructureType,
  3962. pNext: rawptr,
  3963. timeDomain: TimeDomainEXT,
  3964. }
  3965. PhysicalDeviceShaderCorePropertiesAMD :: struct {
  3966. sType: StructureType,
  3967. pNext: rawptr,
  3968. shaderEngineCount: u32,
  3969. shaderArraysPerEngineCount: u32,
  3970. computeUnitsPerShaderArray: u32,
  3971. simdPerComputeUnit: u32,
  3972. wavefrontsPerSimd: u32,
  3973. wavefrontSize: u32,
  3974. sgprsPerSimd: u32,
  3975. minSgprAllocation: u32,
  3976. maxSgprAllocation: u32,
  3977. sgprAllocationGranularity: u32,
  3978. vgprsPerSimd: u32,
  3979. minVgprAllocation: u32,
  3980. maxVgprAllocation: u32,
  3981. vgprAllocationGranularity: u32,
  3982. }
  3983. DeviceMemoryOverallocationCreateInfoAMD :: struct {
  3984. sType: StructureType,
  3985. pNext: rawptr,
  3986. overallocationBehavior: MemoryOverallocationBehaviorAMD,
  3987. }
  3988. PhysicalDeviceVertexAttributeDivisorPropertiesEXT :: struct {
  3989. sType: StructureType,
  3990. pNext: rawptr,
  3991. maxVertexAttribDivisor: u32,
  3992. }
  3993. VertexInputBindingDivisorDescriptionEXT :: struct {
  3994. binding: u32,
  3995. divisor: u32,
  3996. }
  3997. PipelineVertexInputDivisorStateCreateInfoEXT :: struct {
  3998. sType: StructureType,
  3999. pNext: rawptr,
  4000. vertexBindingDivisorCount: u32,
  4001. pVertexBindingDivisors: [^]VertexInputBindingDivisorDescriptionEXT,
  4002. }
  4003. PhysicalDeviceVertexAttributeDivisorFeaturesEXT :: struct {
  4004. sType: StructureType,
  4005. pNext: rawptr,
  4006. vertexAttributeInstanceRateDivisor: b32,
  4007. vertexAttributeInstanceRateZeroDivisor: b32,
  4008. }
  4009. PhysicalDeviceComputeShaderDerivativesFeaturesNV :: struct {
  4010. sType: StructureType,
  4011. pNext: rawptr,
  4012. computeDerivativeGroupQuads: b32,
  4013. computeDerivativeGroupLinear: b32,
  4014. }
  4015. PhysicalDeviceMeshShaderFeaturesNV :: struct {
  4016. sType: StructureType,
  4017. pNext: rawptr,
  4018. taskShader: b32,
  4019. meshShader: b32,
  4020. }
  4021. PhysicalDeviceMeshShaderPropertiesNV :: struct {
  4022. sType: StructureType,
  4023. pNext: rawptr,
  4024. maxDrawMeshTasksCount: u32,
  4025. maxTaskWorkGroupInvocations: u32,
  4026. maxTaskWorkGroupSize: [3]u32,
  4027. maxTaskTotalMemorySize: u32,
  4028. maxTaskOutputCount: u32,
  4029. maxMeshWorkGroupInvocations: u32,
  4030. maxMeshWorkGroupSize: [3]u32,
  4031. maxMeshTotalMemorySize: u32,
  4032. maxMeshOutputVertices: u32,
  4033. maxMeshOutputPrimitives: u32,
  4034. maxMeshMultiviewViewCount: u32,
  4035. meshOutputPerVertexGranularity: u32,
  4036. meshOutputPerPrimitiveGranularity: u32,
  4037. }
  4038. DrawMeshTasksIndirectCommandNV :: struct {
  4039. taskCount: u32,
  4040. firstTask: u32,
  4041. }
  4042. PhysicalDeviceShaderImageFootprintFeaturesNV :: struct {
  4043. sType: StructureType,
  4044. pNext: rawptr,
  4045. imageFootprint: b32,
  4046. }
  4047. PipelineViewportExclusiveScissorStateCreateInfoNV :: struct {
  4048. sType: StructureType,
  4049. pNext: rawptr,
  4050. exclusiveScissorCount: u32,
  4051. pExclusiveScissors: [^]Rect2D,
  4052. }
  4053. PhysicalDeviceExclusiveScissorFeaturesNV :: struct {
  4054. sType: StructureType,
  4055. pNext: rawptr,
  4056. exclusiveScissor: b32,
  4057. }
  4058. QueueFamilyCheckpointPropertiesNV :: struct {
  4059. sType: StructureType,
  4060. pNext: rawptr,
  4061. checkpointExecutionStageMask: PipelineStageFlags,
  4062. }
  4063. CheckpointDataNV :: struct {
  4064. sType: StructureType,
  4065. pNext: rawptr,
  4066. stage: PipelineStageFlags,
  4067. pCheckpointMarker: rawptr,
  4068. }
  4069. PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL :: struct {
  4070. sType: StructureType,
  4071. pNext: rawptr,
  4072. shaderIntegerFunctions2: b32,
  4073. }
  4074. PerformanceValueDataINTEL :: struct #raw_union {
  4075. value32: u32,
  4076. value64: u64,
  4077. valueFloat: f32,
  4078. valueBool: b32,
  4079. valueString: cstring,
  4080. }
  4081. PerformanceValueINTEL :: struct {
  4082. type: PerformanceValueTypeINTEL,
  4083. data: PerformanceValueDataINTEL,
  4084. }
  4085. InitializePerformanceApiInfoINTEL :: struct {
  4086. sType: StructureType,
  4087. pNext: rawptr,
  4088. pUserData: rawptr,
  4089. }
  4090. QueryPoolPerformanceQueryCreateInfoINTEL :: struct {
  4091. sType: StructureType,
  4092. pNext: rawptr,
  4093. performanceCountersSampling: QueryPoolSamplingModeINTEL,
  4094. }
  4095. PerformanceMarkerInfoINTEL :: struct {
  4096. sType: StructureType,
  4097. pNext: rawptr,
  4098. marker: u64,
  4099. }
  4100. PerformanceStreamMarkerInfoINTEL :: struct {
  4101. sType: StructureType,
  4102. pNext: rawptr,
  4103. marker: u32,
  4104. }
  4105. PerformanceOverrideInfoINTEL :: struct {
  4106. sType: StructureType,
  4107. pNext: rawptr,
  4108. type: PerformanceOverrideTypeINTEL,
  4109. enable: b32,
  4110. parameter: u64,
  4111. }
  4112. PerformanceConfigurationAcquireInfoINTEL :: struct {
  4113. sType: StructureType,
  4114. pNext: rawptr,
  4115. type: PerformanceConfigurationTypeINTEL,
  4116. }
  4117. PhysicalDevicePCIBusInfoPropertiesEXT :: struct {
  4118. sType: StructureType,
  4119. pNext: rawptr,
  4120. pciDomain: u32,
  4121. pciBus: u32,
  4122. pciDevice: u32,
  4123. pciFunction: u32,
  4124. }
  4125. DisplayNativeHdrSurfaceCapabilitiesAMD :: struct {
  4126. sType: StructureType,
  4127. pNext: rawptr,
  4128. localDimmingSupport: b32,
  4129. }
  4130. SwapchainDisplayNativeHdrCreateInfoAMD :: struct {
  4131. sType: StructureType,
  4132. pNext: rawptr,
  4133. localDimmingEnable: b32,
  4134. }
  4135. PhysicalDeviceFragmentDensityMapFeaturesEXT :: struct {
  4136. sType: StructureType,
  4137. pNext: rawptr,
  4138. fragmentDensityMap: b32,
  4139. fragmentDensityMapDynamic: b32,
  4140. fragmentDensityMapNonSubsampledImages: b32,
  4141. }
  4142. PhysicalDeviceFragmentDensityMapPropertiesEXT :: struct {
  4143. sType: StructureType,
  4144. pNext: rawptr,
  4145. minFragmentDensityTexelSize: Extent2D,
  4146. maxFragmentDensityTexelSize: Extent2D,
  4147. fragmentDensityInvocations: b32,
  4148. }
  4149. RenderPassFragmentDensityMapCreateInfoEXT :: struct {
  4150. sType: StructureType,
  4151. pNext: rawptr,
  4152. fragmentDensityMapAttachment: AttachmentReference,
  4153. }
  4154. PhysicalDeviceShaderCoreProperties2AMD :: struct {
  4155. sType: StructureType,
  4156. pNext: rawptr,
  4157. shaderCoreFeatures: ShaderCorePropertiesFlagsAMD,
  4158. activeComputeUnitCount: u32,
  4159. }
  4160. PhysicalDeviceCoherentMemoryFeaturesAMD :: struct {
  4161. sType: StructureType,
  4162. pNext: rawptr,
  4163. deviceCoherentMemory: b32,
  4164. }
  4165. PhysicalDeviceShaderImageAtomicInt64FeaturesEXT :: struct {
  4166. sType: StructureType,
  4167. pNext: rawptr,
  4168. shaderImageInt64Atomics: b32,
  4169. sparseImageInt64Atomics: b32,
  4170. }
  4171. PhysicalDeviceMemoryBudgetPropertiesEXT :: struct {
  4172. sType: StructureType,
  4173. pNext: rawptr,
  4174. heapBudget: [MAX_MEMORY_HEAPS]DeviceSize,
  4175. heapUsage: [MAX_MEMORY_HEAPS]DeviceSize,
  4176. }
  4177. PhysicalDeviceMemoryPriorityFeaturesEXT :: struct {
  4178. sType: StructureType,
  4179. pNext: rawptr,
  4180. memoryPriority: b32,
  4181. }
  4182. MemoryPriorityAllocateInfoEXT :: struct {
  4183. sType: StructureType,
  4184. pNext: rawptr,
  4185. priority: f32,
  4186. }
  4187. PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV :: struct {
  4188. sType: StructureType,
  4189. pNext: rawptr,
  4190. dedicatedAllocationImageAliasing: b32,
  4191. }
  4192. PhysicalDeviceBufferDeviceAddressFeaturesEXT :: struct {
  4193. sType: StructureType,
  4194. pNext: rawptr,
  4195. bufferDeviceAddress: b32,
  4196. bufferDeviceAddressCaptureReplay: b32,
  4197. bufferDeviceAddressMultiDevice: b32,
  4198. }
  4199. BufferDeviceAddressCreateInfoEXT :: struct {
  4200. sType: StructureType,
  4201. pNext: rawptr,
  4202. deviceAddress: DeviceAddress,
  4203. }
  4204. ValidationFeaturesEXT :: struct {
  4205. sType: StructureType,
  4206. pNext: rawptr,
  4207. enabledValidationFeatureCount: u32,
  4208. pEnabledValidationFeatures: [^]ValidationFeatureEnableEXT,
  4209. disabledValidationFeatureCount: u32,
  4210. pDisabledValidationFeatures: [^]ValidationFeatureDisableEXT,
  4211. }
  4212. CooperativeMatrixPropertiesNV :: struct {
  4213. sType: StructureType,
  4214. pNext: rawptr,
  4215. MSize: u32,
  4216. NSize: u32,
  4217. KSize: u32,
  4218. AType: ComponentTypeNV,
  4219. BType: ComponentTypeNV,
  4220. CType: ComponentTypeNV,
  4221. DType: ComponentTypeNV,
  4222. scope: ScopeNV,
  4223. }
  4224. PhysicalDeviceCooperativeMatrixFeaturesNV :: struct {
  4225. sType: StructureType,
  4226. pNext: rawptr,
  4227. cooperativeMatrix: b32,
  4228. cooperativeMatrixRobustBufferAccess: b32,
  4229. }
  4230. PhysicalDeviceCooperativeMatrixPropertiesNV :: struct {
  4231. sType: StructureType,
  4232. pNext: rawptr,
  4233. cooperativeMatrixSupportedStages: ShaderStageFlags,
  4234. }
  4235. PhysicalDeviceCoverageReductionModeFeaturesNV :: struct {
  4236. sType: StructureType,
  4237. pNext: rawptr,
  4238. coverageReductionMode: b32,
  4239. }
  4240. PipelineCoverageReductionStateCreateInfoNV :: struct {
  4241. sType: StructureType,
  4242. pNext: rawptr,
  4243. flags: PipelineCoverageReductionStateCreateFlagsNV,
  4244. coverageReductionMode: CoverageReductionModeNV,
  4245. }
  4246. FramebufferMixedSamplesCombinationNV :: struct {
  4247. sType: StructureType,
  4248. pNext: rawptr,
  4249. coverageReductionMode: CoverageReductionModeNV,
  4250. rasterizationSamples: SampleCountFlags,
  4251. depthStencilSamples: SampleCountFlags,
  4252. colorSamples: SampleCountFlags,
  4253. }
  4254. PhysicalDeviceFragmentShaderInterlockFeaturesEXT :: struct {
  4255. sType: StructureType,
  4256. pNext: rawptr,
  4257. fragmentShaderSampleInterlock: b32,
  4258. fragmentShaderPixelInterlock: b32,
  4259. fragmentShaderShadingRateInterlock: b32,
  4260. }
  4261. PhysicalDeviceYcbcrImageArraysFeaturesEXT :: struct {
  4262. sType: StructureType,
  4263. pNext: rawptr,
  4264. ycbcrImageArrays: b32,
  4265. }
  4266. PhysicalDeviceProvokingVertexFeaturesEXT :: struct {
  4267. sType: StructureType,
  4268. pNext: rawptr,
  4269. provokingVertexLast: b32,
  4270. transformFeedbackPreservesProvokingVertex: b32,
  4271. }
  4272. PhysicalDeviceProvokingVertexPropertiesEXT :: struct {
  4273. sType: StructureType,
  4274. pNext: rawptr,
  4275. provokingVertexModePerPipeline: b32,
  4276. transformFeedbackPreservesTriangleFanProvokingVertex: b32,
  4277. }
  4278. PipelineRasterizationProvokingVertexStateCreateInfoEXT :: struct {
  4279. sType: StructureType,
  4280. pNext: rawptr,
  4281. provokingVertexMode: ProvokingVertexModeEXT,
  4282. }
  4283. HeadlessSurfaceCreateInfoEXT :: struct {
  4284. sType: StructureType,
  4285. pNext: rawptr,
  4286. flags: HeadlessSurfaceCreateFlagsEXT,
  4287. }
  4288. PhysicalDeviceLineRasterizationFeaturesEXT :: struct {
  4289. sType: StructureType,
  4290. pNext: rawptr,
  4291. rectangularLines: b32,
  4292. bresenhamLines: b32,
  4293. smoothLines: b32,
  4294. stippledRectangularLines: b32,
  4295. stippledBresenhamLines: b32,
  4296. stippledSmoothLines: b32,
  4297. }
  4298. PhysicalDeviceLineRasterizationPropertiesEXT :: struct {
  4299. sType: StructureType,
  4300. pNext: rawptr,
  4301. lineSubPixelPrecisionBits: u32,
  4302. }
  4303. PipelineRasterizationLineStateCreateInfoEXT :: struct {
  4304. sType: StructureType,
  4305. pNext: rawptr,
  4306. lineRasterizationMode: LineRasterizationModeEXT,
  4307. stippledLineEnable: b32,
  4308. lineStippleFactor: u32,
  4309. lineStipplePattern: u16,
  4310. }
  4311. PhysicalDeviceShaderAtomicFloatFeaturesEXT :: struct {
  4312. sType: StructureType,
  4313. pNext: rawptr,
  4314. shaderBufferFloat32Atomics: b32,
  4315. shaderBufferFloat32AtomicAdd: b32,
  4316. shaderBufferFloat64Atomics: b32,
  4317. shaderBufferFloat64AtomicAdd: b32,
  4318. shaderSharedFloat32Atomics: b32,
  4319. shaderSharedFloat32AtomicAdd: b32,
  4320. shaderSharedFloat64Atomics: b32,
  4321. shaderSharedFloat64AtomicAdd: b32,
  4322. shaderImageFloat32Atomics: b32,
  4323. shaderImageFloat32AtomicAdd: b32,
  4324. sparseImageFloat32Atomics: b32,
  4325. sparseImageFloat32AtomicAdd: b32,
  4326. }
  4327. PhysicalDeviceIndexTypeUint8FeaturesEXT :: struct {
  4328. sType: StructureType,
  4329. pNext: rawptr,
  4330. indexTypeUint8: b32,
  4331. }
  4332. PhysicalDeviceExtendedDynamicStateFeaturesEXT :: struct {
  4333. sType: StructureType,
  4334. pNext: rawptr,
  4335. extendedDynamicState: b32,
  4336. }
  4337. PhysicalDeviceShaderAtomicFloat2FeaturesEXT :: struct {
  4338. sType: StructureType,
  4339. pNext: rawptr,
  4340. shaderBufferFloat16Atomics: b32,
  4341. shaderBufferFloat16AtomicAdd: b32,
  4342. shaderBufferFloat16AtomicMinMax: b32,
  4343. shaderBufferFloat32AtomicMinMax: b32,
  4344. shaderBufferFloat64AtomicMinMax: b32,
  4345. shaderSharedFloat16Atomics: b32,
  4346. shaderSharedFloat16AtomicAdd: b32,
  4347. shaderSharedFloat16AtomicMinMax: b32,
  4348. shaderSharedFloat32AtomicMinMax: b32,
  4349. shaderSharedFloat64AtomicMinMax: b32,
  4350. shaderImageFloat32AtomicMinMax: b32,
  4351. sparseImageFloat32AtomicMinMax: b32,
  4352. }
  4353. SurfacePresentModeEXT :: struct {
  4354. sType: StructureType,
  4355. pNext: rawptr,
  4356. presentMode: PresentModeKHR,
  4357. }
  4358. SurfacePresentScalingCapabilitiesEXT :: struct {
  4359. sType: StructureType,
  4360. pNext: rawptr,
  4361. supportedPresentScaling: PresentScalingFlagsEXT,
  4362. supportedPresentGravityX: PresentGravityFlagsEXT,
  4363. supportedPresentGravityY: PresentGravityFlagsEXT,
  4364. minScaledImageExtent: Extent2D,
  4365. maxScaledImageExtent: Extent2D,
  4366. }
  4367. SurfacePresentModeCompatibilityEXT :: struct {
  4368. sType: StructureType,
  4369. pNext: rawptr,
  4370. presentModeCount: u32,
  4371. pPresentModes: [^]PresentModeKHR,
  4372. }
  4373. PhysicalDeviceSwapchainMaintenance1FeaturesEXT :: struct {
  4374. sType: StructureType,
  4375. pNext: rawptr,
  4376. swapchainMaintenance1: b32,
  4377. }
  4378. SwapchainPresentFenceInfoEXT :: struct {
  4379. sType: StructureType,
  4380. pNext: rawptr,
  4381. swapchainCount: u32,
  4382. pFences: [^]Fence,
  4383. }
  4384. SwapchainPresentModesCreateInfoEXT :: struct {
  4385. sType: StructureType,
  4386. pNext: rawptr,
  4387. presentModeCount: u32,
  4388. pPresentModes: [^]PresentModeKHR,
  4389. }
  4390. SwapchainPresentModeInfoEXT :: struct {
  4391. sType: StructureType,
  4392. pNext: rawptr,
  4393. swapchainCount: u32,
  4394. pPresentModes: [^]PresentModeKHR,
  4395. }
  4396. SwapchainPresentScalingCreateInfoEXT :: struct {
  4397. sType: StructureType,
  4398. pNext: rawptr,
  4399. scalingBehavior: PresentScalingFlagsEXT,
  4400. presentGravityX: PresentGravityFlagsEXT,
  4401. presentGravityY: PresentGravityFlagsEXT,
  4402. }
  4403. ReleaseSwapchainImagesInfoEXT :: struct {
  4404. sType: StructureType,
  4405. pNext: rawptr,
  4406. swapchain: SwapchainKHR,
  4407. imageIndexCount: u32,
  4408. pImageIndices: [^]u32,
  4409. }
  4410. PhysicalDeviceDeviceGeneratedCommandsPropertiesNV :: struct {
  4411. sType: StructureType,
  4412. pNext: rawptr,
  4413. maxGraphicsShaderGroupCount: u32,
  4414. maxIndirectSequenceCount: u32,
  4415. maxIndirectCommandsTokenCount: u32,
  4416. maxIndirectCommandsStreamCount: u32,
  4417. maxIndirectCommandsTokenOffset: u32,
  4418. maxIndirectCommandsStreamStride: u32,
  4419. minSequencesCountBufferOffsetAlignment: u32,
  4420. minSequencesIndexBufferOffsetAlignment: u32,
  4421. minIndirectCommandsBufferOffsetAlignment: u32,
  4422. }
  4423. PhysicalDeviceDeviceGeneratedCommandsFeaturesNV :: struct {
  4424. sType: StructureType,
  4425. pNext: rawptr,
  4426. deviceGeneratedCommands: b32,
  4427. }
  4428. GraphicsShaderGroupCreateInfoNV :: struct {
  4429. sType: StructureType,
  4430. pNext: rawptr,
  4431. stageCount: u32,
  4432. pStages: [^]PipelineShaderStageCreateInfo,
  4433. pVertexInputState: ^PipelineVertexInputStateCreateInfo,
  4434. pTessellationState: ^PipelineTessellationStateCreateInfo,
  4435. }
  4436. GraphicsPipelineShaderGroupsCreateInfoNV :: struct {
  4437. sType: StructureType,
  4438. pNext: rawptr,
  4439. groupCount: u32,
  4440. pGroups: [^]GraphicsShaderGroupCreateInfoNV,
  4441. pipelineCount: u32,
  4442. pPipelines: [^]Pipeline,
  4443. }
  4444. BindShaderGroupIndirectCommandNV :: struct {
  4445. groupIndex: u32,
  4446. }
  4447. BindIndexBufferIndirectCommandNV :: struct {
  4448. bufferAddress: DeviceAddress,
  4449. size: u32,
  4450. indexType: IndexType,
  4451. }
  4452. BindVertexBufferIndirectCommandNV :: struct {
  4453. bufferAddress: DeviceAddress,
  4454. size: u32,
  4455. stride: u32,
  4456. }
  4457. SetStateFlagsIndirectCommandNV :: struct {
  4458. data: u32,
  4459. }
  4460. IndirectCommandsStreamNV :: struct {
  4461. buffer: Buffer,
  4462. offset: DeviceSize,
  4463. }
  4464. IndirectCommandsLayoutTokenNV :: struct {
  4465. sType: StructureType,
  4466. pNext: rawptr,
  4467. tokenType: IndirectCommandsTokenTypeNV,
  4468. stream: u32,
  4469. offset: u32,
  4470. vertexBindingUnit: u32,
  4471. vertexDynamicStride: b32,
  4472. pushconstantPipelineLayout: PipelineLayout,
  4473. pushconstantShaderStageFlags: ShaderStageFlags,
  4474. pushconstantOffset: u32,
  4475. pushconstantSize: u32,
  4476. indirectStateFlags: IndirectStateFlagsNV,
  4477. indexTypeCount: u32,
  4478. pIndexTypes: [^]IndexType,
  4479. pIndexTypeValues: [^]u32,
  4480. }
  4481. IndirectCommandsLayoutCreateInfoNV :: struct {
  4482. sType: StructureType,
  4483. pNext: rawptr,
  4484. flags: IndirectCommandsLayoutUsageFlagsNV,
  4485. pipelineBindPoint: PipelineBindPoint,
  4486. tokenCount: u32,
  4487. pTokens: [^]IndirectCommandsLayoutTokenNV,
  4488. streamCount: u32,
  4489. pStreamStrides: [^]u32,
  4490. }
  4491. GeneratedCommandsInfoNV :: struct {
  4492. sType: StructureType,
  4493. pNext: rawptr,
  4494. pipelineBindPoint: PipelineBindPoint,
  4495. pipeline: Pipeline,
  4496. indirectCommandsLayout: IndirectCommandsLayoutNV,
  4497. streamCount: u32,
  4498. pStreams: [^]IndirectCommandsStreamNV,
  4499. sequencesCount: u32,
  4500. preprocessBuffer: Buffer,
  4501. preprocessOffset: DeviceSize,
  4502. preprocessSize: DeviceSize,
  4503. sequencesCountBuffer: Buffer,
  4504. sequencesCountOffset: DeviceSize,
  4505. sequencesIndexBuffer: Buffer,
  4506. sequencesIndexOffset: DeviceSize,
  4507. }
  4508. GeneratedCommandsMemoryRequirementsInfoNV :: struct {
  4509. sType: StructureType,
  4510. pNext: rawptr,
  4511. pipelineBindPoint: PipelineBindPoint,
  4512. pipeline: Pipeline,
  4513. indirectCommandsLayout: IndirectCommandsLayoutNV,
  4514. maxSequencesCount: u32,
  4515. }
  4516. PhysicalDeviceInheritedViewportScissorFeaturesNV :: struct {
  4517. sType: StructureType,
  4518. pNext: rawptr,
  4519. inheritedViewportScissor2D: b32,
  4520. }
  4521. CommandBufferInheritanceViewportScissorInfoNV :: struct {
  4522. sType: StructureType,
  4523. pNext: rawptr,
  4524. viewportScissor2D: b32,
  4525. viewportDepthCount: u32,
  4526. pViewportDepths: [^]Viewport,
  4527. }
  4528. PhysicalDeviceTexelBufferAlignmentFeaturesEXT :: struct {
  4529. sType: StructureType,
  4530. pNext: rawptr,
  4531. texelBufferAlignment: b32,
  4532. }
  4533. RenderPassTransformBeginInfoQCOM :: struct {
  4534. sType: StructureType,
  4535. pNext: rawptr,
  4536. transform: SurfaceTransformFlagsKHR,
  4537. }
  4538. CommandBufferInheritanceRenderPassTransformInfoQCOM :: struct {
  4539. sType: StructureType,
  4540. pNext: rawptr,
  4541. transform: SurfaceTransformFlagsKHR,
  4542. renderArea: Rect2D,
  4543. }
  4544. PhysicalDeviceDeviceMemoryReportFeaturesEXT :: struct {
  4545. sType: StructureType,
  4546. pNext: rawptr,
  4547. deviceMemoryReport: b32,
  4548. }
  4549. DeviceMemoryReportCallbackDataEXT :: struct {
  4550. sType: StructureType,
  4551. pNext: rawptr,
  4552. flags: DeviceMemoryReportFlagsEXT,
  4553. type: DeviceMemoryReportEventTypeEXT,
  4554. memoryObjectId: u64,
  4555. size: DeviceSize,
  4556. objectType: ObjectType,
  4557. objectHandle: u64,
  4558. heapIndex: u32,
  4559. }
  4560. DeviceDeviceMemoryReportCreateInfoEXT :: struct {
  4561. sType: StructureType,
  4562. pNext: rawptr,
  4563. flags: DeviceMemoryReportFlagsEXT,
  4564. pfnUserCallback: ProcDeviceMemoryReportCallbackEXT,
  4565. pUserData: rawptr,
  4566. }
  4567. PhysicalDeviceRobustness2FeaturesEXT :: struct {
  4568. sType: StructureType,
  4569. pNext: rawptr,
  4570. robustBufferAccess2: b32,
  4571. robustImageAccess2: b32,
  4572. nullDescriptor: b32,
  4573. }
  4574. PhysicalDeviceRobustness2PropertiesEXT :: struct {
  4575. sType: StructureType,
  4576. pNext: rawptr,
  4577. robustStorageBufferAccessSizeAlignment: DeviceSize,
  4578. robustUniformBufferAccessSizeAlignment: DeviceSize,
  4579. }
  4580. SamplerCustomBorderColorCreateInfoEXT :: struct {
  4581. sType: StructureType,
  4582. pNext: rawptr,
  4583. customBorderColor: ClearColorValue,
  4584. format: Format,
  4585. }
  4586. PhysicalDeviceCustomBorderColorPropertiesEXT :: struct {
  4587. sType: StructureType,
  4588. pNext: rawptr,
  4589. maxCustomBorderColorSamplers: u32,
  4590. }
  4591. PhysicalDeviceCustomBorderColorFeaturesEXT :: struct {
  4592. sType: StructureType,
  4593. pNext: rawptr,
  4594. customBorderColors: b32,
  4595. customBorderColorWithoutFormat: b32,
  4596. }
  4597. PhysicalDevicePresentBarrierFeaturesNV :: struct {
  4598. sType: StructureType,
  4599. pNext: rawptr,
  4600. presentBarrier: b32,
  4601. }
  4602. SurfaceCapabilitiesPresentBarrierNV :: struct {
  4603. sType: StructureType,
  4604. pNext: rawptr,
  4605. presentBarrierSupported: b32,
  4606. }
  4607. SwapchainPresentBarrierCreateInfoNV :: struct {
  4608. sType: StructureType,
  4609. pNext: rawptr,
  4610. presentBarrierEnable: b32,
  4611. }
  4612. PhysicalDeviceDiagnosticsConfigFeaturesNV :: struct {
  4613. sType: StructureType,
  4614. pNext: rawptr,
  4615. diagnosticsConfig: b32,
  4616. }
  4617. DeviceDiagnosticsConfigCreateInfoNV :: struct {
  4618. sType: StructureType,
  4619. pNext: rawptr,
  4620. flags: DeviceDiagnosticsConfigFlagsNV,
  4621. }
  4622. QueryLowLatencySupportNV :: struct {
  4623. sType: StructureType,
  4624. pNext: rawptr,
  4625. pQueriedLowLatencyData: rawptr,
  4626. }
  4627. PhysicalDeviceDescriptorBufferPropertiesEXT :: struct {
  4628. sType: StructureType,
  4629. pNext: rawptr,
  4630. combinedImageSamplerDescriptorSingleArray: b32,
  4631. bufferlessPushDescriptors: b32,
  4632. allowSamplerImageViewPostSubmitCreation: b32,
  4633. descriptorBufferOffsetAlignment: DeviceSize,
  4634. maxDescriptorBufferBindings: u32,
  4635. maxResourceDescriptorBufferBindings: u32,
  4636. maxSamplerDescriptorBufferBindings: u32,
  4637. maxEmbeddedImmutableSamplerBindings: u32,
  4638. maxEmbeddedImmutableSamplers: u32,
  4639. bufferCaptureReplayDescriptorDataSize: int,
  4640. imageCaptureReplayDescriptorDataSize: int,
  4641. imageViewCaptureReplayDescriptorDataSize: int,
  4642. samplerCaptureReplayDescriptorDataSize: int,
  4643. accelerationStructureCaptureReplayDescriptorDataSize: int,
  4644. samplerDescriptorSize: int,
  4645. combinedImageSamplerDescriptorSize: int,
  4646. sampledImageDescriptorSize: int,
  4647. storageImageDescriptorSize: int,
  4648. uniformTexelBufferDescriptorSize: int,
  4649. robustUniformTexelBufferDescriptorSize: int,
  4650. storageTexelBufferDescriptorSize: int,
  4651. robustStorageTexelBufferDescriptorSize: int,
  4652. uniformBufferDescriptorSize: int,
  4653. robustUniformBufferDescriptorSize: int,
  4654. storageBufferDescriptorSize: int,
  4655. robustStorageBufferDescriptorSize: int,
  4656. inputAttachmentDescriptorSize: int,
  4657. accelerationStructureDescriptorSize: int,
  4658. maxSamplerDescriptorBufferRange: DeviceSize,
  4659. maxResourceDescriptorBufferRange: DeviceSize,
  4660. samplerDescriptorBufferAddressSpaceSize: DeviceSize,
  4661. resourceDescriptorBufferAddressSpaceSize: DeviceSize,
  4662. descriptorBufferAddressSpaceSize: DeviceSize,
  4663. }
  4664. PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT :: struct {
  4665. sType: StructureType,
  4666. pNext: rawptr,
  4667. combinedImageSamplerDensityMapDescriptorSize: int,
  4668. }
  4669. PhysicalDeviceDescriptorBufferFeaturesEXT :: struct {
  4670. sType: StructureType,
  4671. pNext: rawptr,
  4672. descriptorBuffer: b32,
  4673. descriptorBufferCaptureReplay: b32,
  4674. descriptorBufferImageLayoutIgnored: b32,
  4675. descriptorBufferPushDescriptors: b32,
  4676. }
  4677. DescriptorAddressInfoEXT :: struct {
  4678. sType: StructureType,
  4679. pNext: rawptr,
  4680. address: DeviceAddress,
  4681. range: DeviceSize,
  4682. format: Format,
  4683. }
  4684. DescriptorBufferBindingInfoEXT :: struct {
  4685. sType: StructureType,
  4686. pNext: rawptr,
  4687. address: DeviceAddress,
  4688. usage: BufferUsageFlags,
  4689. }
  4690. DescriptorBufferBindingPushDescriptorBufferHandleEXT :: struct {
  4691. sType: StructureType,
  4692. pNext: rawptr,
  4693. buffer: Buffer,
  4694. }
  4695. DescriptorDataEXT :: struct #raw_union {
  4696. pSampler: ^Sampler,
  4697. pCombinedImageSampler: ^DescriptorImageInfo,
  4698. pInputAttachmentImage: ^DescriptorImageInfo,
  4699. pSampledImage: ^DescriptorImageInfo,
  4700. pStorageImage: ^DescriptorImageInfo,
  4701. pUniformTexelBuffer: ^DescriptorAddressInfoEXT,
  4702. pStorageTexelBuffer: ^DescriptorAddressInfoEXT,
  4703. pUniformBuffer: ^DescriptorAddressInfoEXT,
  4704. pStorageBuffer: ^DescriptorAddressInfoEXT,
  4705. accelerationStructure: DeviceAddress,
  4706. }
  4707. DescriptorGetInfoEXT :: struct {
  4708. sType: StructureType,
  4709. pNext: rawptr,
  4710. type: DescriptorType,
  4711. data: DescriptorDataEXT,
  4712. }
  4713. BufferCaptureDescriptorDataInfoEXT :: struct {
  4714. sType: StructureType,
  4715. pNext: rawptr,
  4716. buffer: Buffer,
  4717. }
  4718. ImageCaptureDescriptorDataInfoEXT :: struct {
  4719. sType: StructureType,
  4720. pNext: rawptr,
  4721. image: Image,
  4722. }
  4723. ImageViewCaptureDescriptorDataInfoEXT :: struct {
  4724. sType: StructureType,
  4725. pNext: rawptr,
  4726. imageView: ImageView,
  4727. }
  4728. SamplerCaptureDescriptorDataInfoEXT :: struct {
  4729. sType: StructureType,
  4730. pNext: rawptr,
  4731. sampler: Sampler,
  4732. }
  4733. OpaqueCaptureDescriptorDataCreateInfoEXT :: struct {
  4734. sType: StructureType,
  4735. pNext: rawptr,
  4736. opaqueCaptureDescriptorData: rawptr,
  4737. }
  4738. AccelerationStructureCaptureDescriptorDataInfoEXT :: struct {
  4739. sType: StructureType,
  4740. pNext: rawptr,
  4741. accelerationStructure: AccelerationStructureKHR,
  4742. accelerationStructureNV: AccelerationStructureNV,
  4743. }
  4744. PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT :: struct {
  4745. sType: StructureType,
  4746. pNext: rawptr,
  4747. graphicsPipelineLibrary: b32,
  4748. }
  4749. PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT :: struct {
  4750. sType: StructureType,
  4751. pNext: rawptr,
  4752. graphicsPipelineLibraryFastLinking: b32,
  4753. graphicsPipelineLibraryIndependentInterpolationDecoration: b32,
  4754. }
  4755. GraphicsPipelineLibraryCreateInfoEXT :: struct {
  4756. sType: StructureType,
  4757. pNext: rawptr,
  4758. flags: GraphicsPipelineLibraryFlagsEXT,
  4759. }
  4760. PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD :: struct {
  4761. sType: StructureType,
  4762. pNext: rawptr,
  4763. shaderEarlyAndLateFragmentTests: b32,
  4764. }
  4765. PhysicalDeviceFragmentShadingRateEnumsFeaturesNV :: struct {
  4766. sType: StructureType,
  4767. pNext: rawptr,
  4768. fragmentShadingRateEnums: b32,
  4769. supersampleFragmentShadingRates: b32,
  4770. noInvocationFragmentShadingRates: b32,
  4771. }
  4772. PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: struct {
  4773. sType: StructureType,
  4774. pNext: rawptr,
  4775. maxFragmentShadingRateInvocationCount: SampleCountFlags,
  4776. }
  4777. PipelineFragmentShadingRateEnumStateCreateInfoNV :: struct {
  4778. sType: StructureType,
  4779. pNext: rawptr,
  4780. shadingRateType: FragmentShadingRateTypeNV,
  4781. shadingRate: FragmentShadingRateNV,
  4782. combinerOps: [2]FragmentShadingRateCombinerOpKHR,
  4783. }
  4784. DeviceOrHostAddressConstKHR :: struct #raw_union {
  4785. deviceAddress: DeviceAddress,
  4786. hostAddress: rawptr,
  4787. }
  4788. AccelerationStructureGeometryMotionTrianglesDataNV :: struct {
  4789. sType: StructureType,
  4790. pNext: rawptr,
  4791. vertexData: DeviceOrHostAddressConstKHR,
  4792. }
  4793. AccelerationStructureMotionInfoNV :: struct {
  4794. sType: StructureType,
  4795. pNext: rawptr,
  4796. maxInstances: u32,
  4797. flags: AccelerationStructureMotionInfoFlagsNV,
  4798. }
  4799. AccelerationStructureMatrixMotionInstanceNV :: struct {
  4800. transformT0: TransformMatrixKHR,
  4801. transformT1: TransformMatrixKHR,
  4802. instanceCustomIndexAndMask: u32, // Most significant byte is mask
  4803. instanceShaderBindingTableRecordOffsetAndFlags: u32, // Most significant byte is flags
  4804. accelerationStructureReference: u64,
  4805. }
  4806. SRTDataNV :: struct {
  4807. sx: f32,
  4808. a: f32,
  4809. b: f32,
  4810. pvx: f32,
  4811. sy: f32,
  4812. c: f32,
  4813. pvy: f32,
  4814. sz: f32,
  4815. pvz: f32,
  4816. qx: f32,
  4817. qy: f32,
  4818. qz: f32,
  4819. qw: f32,
  4820. tx: f32,
  4821. ty: f32,
  4822. tz: f32,
  4823. }
  4824. AccelerationStructureSRTMotionInstanceNV :: struct {
  4825. transformT0: SRTDataNV,
  4826. transformT1: SRTDataNV,
  4827. instanceCustomIndexAndMask: u32, // Most significant byte is mask
  4828. instanceShaderBindingTableRecordOffsetAndFlags: u32, // Most significant byte is flags
  4829. accelerationStructureReference: u64,
  4830. }
  4831. AccelerationStructureMotionInstanceDataNV :: struct #raw_union {
  4832. staticInstance: AccelerationStructureInstanceKHR,
  4833. matrixMotionInstance: AccelerationStructureMatrixMotionInstanceNV,
  4834. srtMotionInstance: AccelerationStructureSRTMotionInstanceNV,
  4835. }
  4836. AccelerationStructureMotionInstanceNV :: struct {
  4837. type: AccelerationStructureMotionInstanceTypeNV,
  4838. flags: AccelerationStructureMotionInstanceFlagsNV,
  4839. data: AccelerationStructureMotionInstanceDataNV,
  4840. }
  4841. PhysicalDeviceRayTracingMotionBlurFeaturesNV :: struct {
  4842. sType: StructureType,
  4843. pNext: rawptr,
  4844. rayTracingMotionBlur: b32,
  4845. rayTracingMotionBlurPipelineTraceRaysIndirect: b32,
  4846. }
  4847. PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT :: struct {
  4848. sType: StructureType,
  4849. pNext: rawptr,
  4850. ycbcr2plane444Formats: b32,
  4851. }
  4852. PhysicalDeviceFragmentDensityMap2FeaturesEXT :: struct {
  4853. sType: StructureType,
  4854. pNext: rawptr,
  4855. fragmentDensityMapDeferred: b32,
  4856. }
  4857. PhysicalDeviceFragmentDensityMap2PropertiesEXT :: struct {
  4858. sType: StructureType,
  4859. pNext: rawptr,
  4860. subsampledLoads: b32,
  4861. subsampledCoarseReconstructionEarlyAccess: b32,
  4862. maxSubsampledArrayLayers: u32,
  4863. maxDescriptorSetSubsampledSamplers: u32,
  4864. }
  4865. CopyCommandTransformInfoQCOM :: struct {
  4866. sType: StructureType,
  4867. pNext: rawptr,
  4868. transform: SurfaceTransformFlagsKHR,
  4869. }
  4870. PhysicalDeviceImageCompressionControlFeaturesEXT :: struct {
  4871. sType: StructureType,
  4872. pNext: rawptr,
  4873. imageCompressionControl: b32,
  4874. }
  4875. ImageCompressionControlEXT :: struct {
  4876. sType: StructureType,
  4877. pNext: rawptr,
  4878. flags: ImageCompressionFlagsEXT,
  4879. compressionControlPlaneCount: u32,
  4880. pFixedRateFlags: [^]ImageCompressionFixedRateFlagsEXT,
  4881. }
  4882. SubresourceLayout2EXT :: struct {
  4883. sType: StructureType,
  4884. pNext: rawptr,
  4885. subresourceLayout: SubresourceLayout,
  4886. }
  4887. ImageSubresource2EXT :: struct {
  4888. sType: StructureType,
  4889. pNext: rawptr,
  4890. imageSubresource: ImageSubresource,
  4891. }
  4892. ImageCompressionPropertiesEXT :: struct {
  4893. sType: StructureType,
  4894. pNext: rawptr,
  4895. imageCompressionFlags: ImageCompressionFlagsEXT,
  4896. imageCompressionFixedRateFlags: ImageCompressionFixedRateFlagsEXT,
  4897. }
  4898. PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT :: struct {
  4899. sType: StructureType,
  4900. pNext: rawptr,
  4901. attachmentFeedbackLoopLayout: b32,
  4902. }
  4903. PhysicalDevice4444FormatsFeaturesEXT :: struct {
  4904. sType: StructureType,
  4905. pNext: rawptr,
  4906. formatA4R4G4B4: b32,
  4907. formatA4B4G4R4: b32,
  4908. }
  4909. PhysicalDeviceFaultFeaturesEXT :: struct {
  4910. sType: StructureType,
  4911. pNext: rawptr,
  4912. deviceFault: b32,
  4913. deviceFaultVendorBinary: b32,
  4914. }
  4915. DeviceFaultCountsEXT :: struct {
  4916. sType: StructureType,
  4917. pNext: rawptr,
  4918. addressInfoCount: u32,
  4919. vendorInfoCount: u32,
  4920. vendorBinarySize: DeviceSize,
  4921. }
  4922. DeviceFaultAddressInfoEXT :: struct {
  4923. addressType: DeviceFaultAddressTypeEXT,
  4924. reportedAddress: DeviceAddress,
  4925. addressPrecision: DeviceSize,
  4926. }
  4927. DeviceFaultVendorInfoEXT :: struct {
  4928. description: [MAX_DESCRIPTION_SIZE]byte,
  4929. vendorFaultCode: u64,
  4930. vendorFaultData: u64,
  4931. }
  4932. DeviceFaultInfoEXT :: struct {
  4933. sType: StructureType,
  4934. pNext: rawptr,
  4935. description: [MAX_DESCRIPTION_SIZE]byte,
  4936. pAddressInfos: [^]DeviceFaultAddressInfoEXT,
  4937. pVendorInfos: [^]DeviceFaultVendorInfoEXT,
  4938. pVendorBinaryData: rawptr,
  4939. }
  4940. DeviceFaultVendorBinaryHeaderVersionOneEXT :: struct {
  4941. headerSize: u32,
  4942. headerVersion: DeviceFaultVendorBinaryHeaderVersionEXT,
  4943. vendorID: u32,
  4944. deviceID: u32,
  4945. driverVersion: u32,
  4946. pipelineCacheUUID: [UUID_SIZE]u8,
  4947. applicationNameOffset: u32,
  4948. applicationVersion: u32,
  4949. engineNameOffset: u32,
  4950. engineVersion: u32,
  4951. apiVersion: u32,
  4952. }
  4953. PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT :: struct {
  4954. sType: StructureType,
  4955. pNext: rawptr,
  4956. rasterizationOrderColorAttachmentAccess: b32,
  4957. rasterizationOrderDepthAttachmentAccess: b32,
  4958. rasterizationOrderStencilAttachmentAccess: b32,
  4959. }
  4960. PhysicalDeviceRGBA10X6FormatsFeaturesEXT :: struct {
  4961. sType: StructureType,
  4962. pNext: rawptr,
  4963. formatRgba10x6WithoutYCbCrSampler: b32,
  4964. }
  4965. PhysicalDeviceMutableDescriptorTypeFeaturesEXT :: struct {
  4966. sType: StructureType,
  4967. pNext: rawptr,
  4968. mutableDescriptorType: b32,
  4969. }
  4970. MutableDescriptorTypeListEXT :: struct {
  4971. descriptorTypeCount: u32,
  4972. pDescriptorTypes: [^]DescriptorType,
  4973. }
  4974. MutableDescriptorTypeCreateInfoEXT :: struct {
  4975. sType: StructureType,
  4976. pNext: rawptr,
  4977. mutableDescriptorTypeListCount: u32,
  4978. pMutableDescriptorTypeLists: [^]MutableDescriptorTypeListEXT,
  4979. }
  4980. PhysicalDeviceVertexInputDynamicStateFeaturesEXT :: struct {
  4981. sType: StructureType,
  4982. pNext: rawptr,
  4983. vertexInputDynamicState: b32,
  4984. }
  4985. VertexInputBindingDescription2EXT :: struct {
  4986. sType: StructureType,
  4987. pNext: rawptr,
  4988. binding: u32,
  4989. stride: u32,
  4990. inputRate: VertexInputRate,
  4991. divisor: u32,
  4992. }
  4993. VertexInputAttributeDescription2EXT :: struct {
  4994. sType: StructureType,
  4995. pNext: rawptr,
  4996. location: u32,
  4997. binding: u32,
  4998. format: Format,
  4999. offset: u32,
  5000. }
  5001. PhysicalDeviceDrmPropertiesEXT :: struct {
  5002. sType: StructureType,
  5003. pNext: rawptr,
  5004. hasPrimary: b32,
  5005. hasRender: b32,
  5006. primaryMajor: i64,
  5007. primaryMinor: i64,
  5008. renderMajor: i64,
  5009. renderMinor: i64,
  5010. }
  5011. PhysicalDeviceAddressBindingReportFeaturesEXT :: struct {
  5012. sType: StructureType,
  5013. pNext: rawptr,
  5014. reportAddressBinding: b32,
  5015. }
  5016. DeviceAddressBindingCallbackDataEXT :: struct {
  5017. sType: StructureType,
  5018. pNext: rawptr,
  5019. flags: DeviceAddressBindingFlagsEXT,
  5020. baseAddress: DeviceAddress,
  5021. size: DeviceSize,
  5022. bindingType: DeviceAddressBindingTypeEXT,
  5023. }
  5024. PhysicalDeviceDepthClipControlFeaturesEXT :: struct {
  5025. sType: StructureType,
  5026. pNext: rawptr,
  5027. depthClipControl: b32,
  5028. }
  5029. PipelineViewportDepthClipControlCreateInfoEXT :: struct {
  5030. sType: StructureType,
  5031. pNext: rawptr,
  5032. negativeOneToOne: b32,
  5033. }
  5034. PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT :: struct {
  5035. sType: StructureType,
  5036. pNext: rawptr,
  5037. primitiveTopologyListRestart: b32,
  5038. primitiveTopologyPatchListRestart: b32,
  5039. }
  5040. SubpassShadingPipelineCreateInfoHUAWEI :: struct {
  5041. sType: StructureType,
  5042. pNext: rawptr,
  5043. renderPass: RenderPass,
  5044. subpass: u32,
  5045. }
  5046. PhysicalDeviceSubpassShadingFeaturesHUAWEI :: struct {
  5047. sType: StructureType,
  5048. pNext: rawptr,
  5049. subpassShading: b32,
  5050. }
  5051. PhysicalDeviceSubpassShadingPropertiesHUAWEI :: struct {
  5052. sType: StructureType,
  5053. pNext: rawptr,
  5054. maxSubpassShadingWorkgroupSizeAspectRatio: u32,
  5055. }
  5056. PhysicalDeviceInvocationMaskFeaturesHUAWEI :: struct {
  5057. sType: StructureType,
  5058. pNext: rawptr,
  5059. invocationMask: b32,
  5060. }
  5061. MemoryGetRemoteAddressInfoNV :: struct {
  5062. sType: StructureType,
  5063. pNext: rawptr,
  5064. memory: DeviceMemory,
  5065. handleType: ExternalMemoryHandleTypeFlags,
  5066. }
  5067. PhysicalDeviceExternalMemoryRDMAFeaturesNV :: struct {
  5068. sType: StructureType,
  5069. pNext: rawptr,
  5070. externalMemoryRDMA: b32,
  5071. }
  5072. PipelinePropertiesIdentifierEXT :: struct {
  5073. sType: StructureType,
  5074. pNext: rawptr,
  5075. pipelineIdentifier: [UUID_SIZE]u8,
  5076. }
  5077. PhysicalDevicePipelinePropertiesFeaturesEXT :: struct {
  5078. sType: StructureType,
  5079. pNext: rawptr,
  5080. pipelinePropertiesIdentifier: b32,
  5081. }
  5082. PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT :: struct {
  5083. sType: StructureType,
  5084. pNext: rawptr,
  5085. multisampledRenderToSingleSampled: b32,
  5086. }
  5087. SubpassResolvePerformanceQueryEXT :: struct {
  5088. sType: StructureType,
  5089. pNext: rawptr,
  5090. optimal: b32,
  5091. }
  5092. MultisampledRenderToSingleSampledInfoEXT :: struct {
  5093. sType: StructureType,
  5094. pNext: rawptr,
  5095. multisampledRenderToSingleSampledEnable: b32,
  5096. rasterizationSamples: SampleCountFlags,
  5097. }
  5098. PhysicalDeviceExtendedDynamicState2FeaturesEXT :: struct {
  5099. sType: StructureType,
  5100. pNext: rawptr,
  5101. extendedDynamicState2: b32,
  5102. extendedDynamicState2LogicOp: b32,
  5103. extendedDynamicState2PatchControlPoints: b32,
  5104. }
  5105. PhysicalDeviceColorWriteEnableFeaturesEXT :: struct {
  5106. sType: StructureType,
  5107. pNext: rawptr,
  5108. colorWriteEnable: b32,
  5109. }
  5110. PipelineColorWriteCreateInfoEXT :: struct {
  5111. sType: StructureType,
  5112. pNext: rawptr,
  5113. attachmentCount: u32,
  5114. pColorWriteEnables: [^]b32,
  5115. }
  5116. PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT :: struct {
  5117. sType: StructureType,
  5118. pNext: rawptr,
  5119. primitivesGeneratedQuery: b32,
  5120. primitivesGeneratedQueryWithRasterizerDiscard: b32,
  5121. primitivesGeneratedQueryWithNonZeroStreams: b32,
  5122. }
  5123. PhysicalDeviceImageViewMinLodFeaturesEXT :: struct {
  5124. sType: StructureType,
  5125. pNext: rawptr,
  5126. minLod: b32,
  5127. }
  5128. ImageViewMinLodCreateInfoEXT :: struct {
  5129. sType: StructureType,
  5130. pNext: rawptr,
  5131. minLod: f32,
  5132. }
  5133. PhysicalDeviceMultiDrawFeaturesEXT :: struct {
  5134. sType: StructureType,
  5135. pNext: rawptr,
  5136. multiDraw: b32,
  5137. }
  5138. PhysicalDeviceMultiDrawPropertiesEXT :: struct {
  5139. sType: StructureType,
  5140. pNext: rawptr,
  5141. maxMultiDrawCount: u32,
  5142. }
  5143. MultiDrawInfoEXT :: struct {
  5144. firstVertex: u32,
  5145. vertexCount: u32,
  5146. }
  5147. MultiDrawIndexedInfoEXT :: struct {
  5148. firstIndex: u32,
  5149. indexCount: u32,
  5150. vertexOffset: i32,
  5151. }
  5152. PhysicalDeviceImage2DViewOf3DFeaturesEXT :: struct {
  5153. sType: StructureType,
  5154. pNext: rawptr,
  5155. image2DViewOf3D: b32,
  5156. sampler2DViewOf3D: b32,
  5157. }
  5158. PhysicalDeviceShaderTileImageFeaturesEXT :: struct {
  5159. sType: StructureType,
  5160. pNext: rawptr,
  5161. shaderTileImageColorReadAccess: b32,
  5162. shaderTileImageDepthReadAccess: b32,
  5163. shaderTileImageStencilReadAccess: b32,
  5164. }
  5165. PhysicalDeviceShaderTileImagePropertiesEXT :: struct {
  5166. sType: StructureType,
  5167. pNext: rawptr,
  5168. shaderTileImageCoherentReadAccelerated: b32,
  5169. shaderTileImageReadSampleFromPixelRateInvocation: b32,
  5170. shaderTileImageReadFromHelperInvocation: b32,
  5171. }
  5172. MicromapUsageEXT :: struct {
  5173. count: u32,
  5174. subdivisionLevel: u32,
  5175. format: u32,
  5176. }
  5177. DeviceOrHostAddressKHR :: struct #raw_union {
  5178. deviceAddress: DeviceAddress,
  5179. hostAddress: rawptr,
  5180. }
  5181. MicromapBuildInfoEXT :: struct {
  5182. sType: StructureType,
  5183. pNext: rawptr,
  5184. type: MicromapTypeEXT,
  5185. flags: BuildMicromapFlagsEXT,
  5186. mode: BuildMicromapModeEXT,
  5187. dstMicromap: MicromapEXT,
  5188. usageCountsCount: u32,
  5189. pUsageCounts: [^]MicromapUsageEXT,
  5190. ppUsageCounts: ^[^]MicromapUsageEXT,
  5191. data: DeviceOrHostAddressConstKHR,
  5192. scratchData: DeviceOrHostAddressKHR,
  5193. triangleArray: DeviceOrHostAddressConstKHR,
  5194. triangleArrayStride: DeviceSize,
  5195. }
  5196. MicromapCreateInfoEXT :: struct {
  5197. sType: StructureType,
  5198. pNext: rawptr,
  5199. createFlags: MicromapCreateFlagsEXT,
  5200. buffer: Buffer,
  5201. offset: DeviceSize,
  5202. size: DeviceSize,
  5203. type: MicromapTypeEXT,
  5204. deviceAddress: DeviceAddress,
  5205. }
  5206. PhysicalDeviceOpacityMicromapFeaturesEXT :: struct {
  5207. sType: StructureType,
  5208. pNext: rawptr,
  5209. micromap: b32,
  5210. micromapCaptureReplay: b32,
  5211. micromapHostCommands: b32,
  5212. }
  5213. PhysicalDeviceOpacityMicromapPropertiesEXT :: struct {
  5214. sType: StructureType,
  5215. pNext: rawptr,
  5216. maxOpacity2StateSubdivisionLevel: u32,
  5217. maxOpacity4StateSubdivisionLevel: u32,
  5218. }
  5219. MicromapVersionInfoEXT :: struct {
  5220. sType: StructureType,
  5221. pNext: rawptr,
  5222. pVersionData: ^u8,
  5223. }
  5224. CopyMicromapToMemoryInfoEXT :: struct {
  5225. sType: StructureType,
  5226. pNext: rawptr,
  5227. src: MicromapEXT,
  5228. dst: DeviceOrHostAddressKHR,
  5229. mode: CopyMicromapModeEXT,
  5230. }
  5231. CopyMemoryToMicromapInfoEXT :: struct {
  5232. sType: StructureType,
  5233. pNext: rawptr,
  5234. src: DeviceOrHostAddressConstKHR,
  5235. dst: MicromapEXT,
  5236. mode: CopyMicromapModeEXT,
  5237. }
  5238. CopyMicromapInfoEXT :: struct {
  5239. sType: StructureType,
  5240. pNext: rawptr,
  5241. src: MicromapEXT,
  5242. dst: MicromapEXT,
  5243. mode: CopyMicromapModeEXT,
  5244. }
  5245. MicromapBuildSizesInfoEXT :: struct {
  5246. sType: StructureType,
  5247. pNext: rawptr,
  5248. micromapSize: DeviceSize,
  5249. buildScratchSize: DeviceSize,
  5250. discardable: b32,
  5251. }
  5252. AccelerationStructureTrianglesOpacityMicromapEXT :: struct {
  5253. sType: StructureType,
  5254. pNext: rawptr,
  5255. indexType: IndexType,
  5256. indexBuffer: DeviceOrHostAddressConstKHR,
  5257. indexStride: DeviceSize,
  5258. baseTriangle: u32,
  5259. usageCountsCount: u32,
  5260. pUsageCounts: [^]MicromapUsageEXT,
  5261. ppUsageCounts: ^[^]MicromapUsageEXT,
  5262. micromap: MicromapEXT,
  5263. }
  5264. MicromapTriangleEXT :: struct {
  5265. dataOffset: u32,
  5266. subdivisionLevel: u16,
  5267. format: u16,
  5268. }
  5269. PhysicalDeviceClusterCullingShaderFeaturesHUAWEI :: struct {
  5270. sType: StructureType,
  5271. pNext: rawptr,
  5272. clustercullingShader: b32,
  5273. multiviewClusterCullingShader: b32,
  5274. }
  5275. PhysicalDeviceClusterCullingShaderPropertiesHUAWEI :: struct {
  5276. sType: StructureType,
  5277. pNext: rawptr,
  5278. maxWorkGroupCount: [3]u32,
  5279. maxWorkGroupSize: [3]u32,
  5280. maxOutputClusterCount: u32,
  5281. indirectBufferOffsetAlignment: DeviceSize,
  5282. }
  5283. PhysicalDeviceBorderColorSwizzleFeaturesEXT :: struct {
  5284. sType: StructureType,
  5285. pNext: rawptr,
  5286. borderColorSwizzle: b32,
  5287. borderColorSwizzleFromImage: b32,
  5288. }
  5289. SamplerBorderColorComponentMappingCreateInfoEXT :: struct {
  5290. sType: StructureType,
  5291. pNext: rawptr,
  5292. components: ComponentMapping,
  5293. srgb: b32,
  5294. }
  5295. PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT :: struct {
  5296. sType: StructureType,
  5297. pNext: rawptr,
  5298. pageableDeviceLocalMemory: b32,
  5299. }
  5300. PhysicalDeviceShaderCorePropertiesARM :: struct {
  5301. sType: StructureType,
  5302. pNext: rawptr,
  5303. pixelRate: u32,
  5304. texelRate: u32,
  5305. fmaRate: u32,
  5306. }
  5307. PhysicalDeviceImageSlicedViewOf3DFeaturesEXT :: struct {
  5308. sType: StructureType,
  5309. pNext: rawptr,
  5310. imageSlicedViewOf3D: b32,
  5311. }
  5312. ImageViewSlicedCreateInfoEXT :: struct {
  5313. sType: StructureType,
  5314. pNext: rawptr,
  5315. sliceOffset: u32,
  5316. sliceCount: u32,
  5317. }
  5318. PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE :: struct {
  5319. sType: StructureType,
  5320. pNext: rawptr,
  5321. descriptorSetHostMapping: b32,
  5322. }
  5323. DescriptorSetBindingReferenceVALVE :: struct {
  5324. sType: StructureType,
  5325. pNext: rawptr,
  5326. descriptorSetLayout: DescriptorSetLayout,
  5327. binding: u32,
  5328. }
  5329. DescriptorSetLayoutHostMappingInfoVALVE :: struct {
  5330. sType: StructureType,
  5331. pNext: rawptr,
  5332. descriptorOffset: int,
  5333. descriptorSize: u32,
  5334. }
  5335. PhysicalDeviceDepthClampZeroOneFeaturesEXT :: struct {
  5336. sType: StructureType,
  5337. pNext: rawptr,
  5338. depthClampZeroOne: b32,
  5339. }
  5340. PhysicalDeviceNonSeamlessCubeMapFeaturesEXT :: struct {
  5341. sType: StructureType,
  5342. pNext: rawptr,
  5343. nonSeamlessCubeMap: b32,
  5344. }
  5345. PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM :: struct {
  5346. sType: StructureType,
  5347. pNext: rawptr,
  5348. fragmentDensityMapOffset: b32,
  5349. }
  5350. PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM :: struct {
  5351. sType: StructureType,
  5352. pNext: rawptr,
  5353. fragmentDensityOffsetGranularity: Extent2D,
  5354. }
  5355. SubpassFragmentDensityMapOffsetEndInfoQCOM :: struct {
  5356. sType: StructureType,
  5357. pNext: rawptr,
  5358. fragmentDensityOffsetCount: u32,
  5359. pFragmentDensityOffsets: [^]Offset2D,
  5360. }
  5361. CopyMemoryIndirectCommandNV :: struct {
  5362. srcAddress: DeviceAddress,
  5363. dstAddress: DeviceAddress,
  5364. size: DeviceSize,
  5365. }
  5366. CopyMemoryToImageIndirectCommandNV :: struct {
  5367. srcAddress: DeviceAddress,
  5368. bufferRowLength: u32,
  5369. bufferImageHeight: u32,
  5370. imageSubresource: ImageSubresourceLayers,
  5371. imageOffset: Offset3D,
  5372. imageExtent: Extent3D,
  5373. }
  5374. PhysicalDeviceCopyMemoryIndirectFeaturesNV :: struct {
  5375. sType: StructureType,
  5376. pNext: rawptr,
  5377. indirectCopy: b32,
  5378. }
  5379. PhysicalDeviceCopyMemoryIndirectPropertiesNV :: struct {
  5380. sType: StructureType,
  5381. pNext: rawptr,
  5382. supportedQueues: QueueFlags,
  5383. }
  5384. DecompressMemoryRegionNV :: struct {
  5385. srcAddress: DeviceAddress,
  5386. dstAddress: DeviceAddress,
  5387. compressedSize: DeviceSize,
  5388. decompressedSize: DeviceSize,
  5389. decompressionMethod: MemoryDecompressionMethodFlagsNV,
  5390. }
  5391. PhysicalDeviceMemoryDecompressionFeaturesNV :: struct {
  5392. sType: StructureType,
  5393. pNext: rawptr,
  5394. memoryDecompression: b32,
  5395. }
  5396. PhysicalDeviceMemoryDecompressionPropertiesNV :: struct {
  5397. sType: StructureType,
  5398. pNext: rawptr,
  5399. decompressionMethods: MemoryDecompressionMethodFlagsNV,
  5400. maxDecompressionIndirectCount: u64,
  5401. }
  5402. PhysicalDeviceLinearColorAttachmentFeaturesNV :: struct {
  5403. sType: StructureType,
  5404. pNext: rawptr,
  5405. linearColorAttachment: b32,
  5406. }
  5407. PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT :: struct {
  5408. sType: StructureType,
  5409. pNext: rawptr,
  5410. imageCompressionControlSwapchain: b32,
  5411. }
  5412. ImageViewSampleWeightCreateInfoQCOM :: struct {
  5413. sType: StructureType,
  5414. pNext: rawptr,
  5415. filterCenter: Offset2D,
  5416. filterSize: Extent2D,
  5417. numPhases: u32,
  5418. }
  5419. PhysicalDeviceImageProcessingFeaturesQCOM :: struct {
  5420. sType: StructureType,
  5421. pNext: rawptr,
  5422. textureSampleWeighted: b32,
  5423. textureBoxFilter: b32,
  5424. textureBlockMatch: b32,
  5425. }
  5426. PhysicalDeviceImageProcessingPropertiesQCOM :: struct {
  5427. sType: StructureType,
  5428. pNext: rawptr,
  5429. maxWeightFilterPhases: u32,
  5430. maxWeightFilterDimension: Extent2D,
  5431. maxBlockMatchRegion: Extent2D,
  5432. maxBoxFilterBlockSize: Extent2D,
  5433. }
  5434. PhysicalDeviceExtendedDynamicState3FeaturesEXT :: struct {
  5435. sType: StructureType,
  5436. pNext: rawptr,
  5437. extendedDynamicState3TessellationDomainOrigin: b32,
  5438. extendedDynamicState3DepthClampEnable: b32,
  5439. extendedDynamicState3PolygonMode: b32,
  5440. extendedDynamicState3RasterizationSamples: b32,
  5441. extendedDynamicState3SampleMask: b32,
  5442. extendedDynamicState3AlphaToCoverageEnable: b32,
  5443. extendedDynamicState3AlphaToOneEnable: b32,
  5444. extendedDynamicState3LogicOpEnable: b32,
  5445. extendedDynamicState3ColorBlendEnable: b32,
  5446. extendedDynamicState3ColorBlendEquation: b32,
  5447. extendedDynamicState3ColorWriteMask: b32,
  5448. extendedDynamicState3RasterizationStream: b32,
  5449. extendedDynamicState3ConservativeRasterizationMode: b32,
  5450. extendedDynamicState3ExtraPrimitiveOverestimationSize: b32,
  5451. extendedDynamicState3DepthClipEnable: b32,
  5452. extendedDynamicState3SampleLocationsEnable: b32,
  5453. extendedDynamicState3ColorBlendAdvanced: b32,
  5454. extendedDynamicState3ProvokingVertexMode: b32,
  5455. extendedDynamicState3LineRasterizationMode: b32,
  5456. extendedDynamicState3LineStippleEnable: b32,
  5457. extendedDynamicState3DepthClipNegativeOneToOne: b32,
  5458. extendedDynamicState3ViewportWScalingEnable: b32,
  5459. extendedDynamicState3ViewportSwizzle: b32,
  5460. extendedDynamicState3CoverageToColorEnable: b32,
  5461. extendedDynamicState3CoverageToColorLocation: b32,
  5462. extendedDynamicState3CoverageModulationMode: b32,
  5463. extendedDynamicState3CoverageModulationTableEnable: b32,
  5464. extendedDynamicState3CoverageModulationTable: b32,
  5465. extendedDynamicState3CoverageReductionMode: b32,
  5466. extendedDynamicState3RepresentativeFragmentTestEnable: b32,
  5467. extendedDynamicState3ShadingRateImageEnable: b32,
  5468. }
  5469. PhysicalDeviceExtendedDynamicState3PropertiesEXT :: struct {
  5470. sType: StructureType,
  5471. pNext: rawptr,
  5472. dynamicPrimitiveTopologyUnrestricted: b32,
  5473. }
  5474. ColorBlendEquationEXT :: struct {
  5475. srcColorBlendFactor: BlendFactor,
  5476. dstColorBlendFactor: BlendFactor,
  5477. colorBlendOp: BlendOp,
  5478. srcAlphaBlendFactor: BlendFactor,
  5479. dstAlphaBlendFactor: BlendFactor,
  5480. alphaBlendOp: BlendOp,
  5481. }
  5482. ColorBlendAdvancedEXT :: struct {
  5483. advancedBlendOp: BlendOp,
  5484. srcPremultiplied: b32,
  5485. dstPremultiplied: b32,
  5486. blendOverlap: BlendOverlapEXT,
  5487. clampResults: b32,
  5488. }
  5489. PhysicalDeviceSubpassMergeFeedbackFeaturesEXT :: struct {
  5490. sType: StructureType,
  5491. pNext: rawptr,
  5492. subpassMergeFeedback: b32,
  5493. }
  5494. RenderPassCreationControlEXT :: struct {
  5495. sType: StructureType,
  5496. pNext: rawptr,
  5497. disallowMerging: b32,
  5498. }
  5499. RenderPassCreationFeedbackInfoEXT :: struct {
  5500. postMergeSubpassCount: u32,
  5501. }
  5502. RenderPassCreationFeedbackCreateInfoEXT :: struct {
  5503. sType: StructureType,
  5504. pNext: rawptr,
  5505. pRenderPassFeedback: ^RenderPassCreationFeedbackInfoEXT,
  5506. }
  5507. RenderPassSubpassFeedbackInfoEXT :: struct {
  5508. subpassMergeStatus: SubpassMergeStatusEXT,
  5509. description: [MAX_DESCRIPTION_SIZE]byte,
  5510. postMergeIndex: u32,
  5511. }
  5512. RenderPassSubpassFeedbackCreateInfoEXT :: struct {
  5513. sType: StructureType,
  5514. pNext: rawptr,
  5515. pSubpassFeedback: ^RenderPassSubpassFeedbackInfoEXT,
  5516. }
  5517. DirectDriverLoadingInfoLUNARG :: struct {
  5518. sType: StructureType,
  5519. pNext: rawptr,
  5520. flags: DirectDriverLoadingFlagsLUNARG,
  5521. pfnGetInstanceProcAddr: ProcGetInstanceProcAddrLUNARG,
  5522. }
  5523. DirectDriverLoadingListLUNARG :: struct {
  5524. sType: StructureType,
  5525. pNext: rawptr,
  5526. mode: DirectDriverLoadingModeLUNARG,
  5527. driverCount: u32,
  5528. pDrivers: [^]DirectDriverLoadingInfoLUNARG,
  5529. }
  5530. PhysicalDeviceShaderModuleIdentifierFeaturesEXT :: struct {
  5531. sType: StructureType,
  5532. pNext: rawptr,
  5533. shaderModuleIdentifier: b32,
  5534. }
  5535. PhysicalDeviceShaderModuleIdentifierPropertiesEXT :: struct {
  5536. sType: StructureType,
  5537. pNext: rawptr,
  5538. shaderModuleIdentifierAlgorithmUUID: [UUID_SIZE]u8,
  5539. }
  5540. PipelineShaderStageModuleIdentifierCreateInfoEXT :: struct {
  5541. sType: StructureType,
  5542. pNext: rawptr,
  5543. identifierSize: u32,
  5544. pIdentifier: ^u8,
  5545. }
  5546. ShaderModuleIdentifierEXT :: struct {
  5547. sType: StructureType,
  5548. pNext: rawptr,
  5549. identifierSize: u32,
  5550. identifier: [MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]u8,
  5551. }
  5552. PhysicalDeviceOpticalFlowFeaturesNV :: struct {
  5553. sType: StructureType,
  5554. pNext: rawptr,
  5555. opticalFlow: b32,
  5556. }
  5557. PhysicalDeviceOpticalFlowPropertiesNV :: struct {
  5558. sType: StructureType,
  5559. pNext: rawptr,
  5560. supportedOutputGridSizes: OpticalFlowGridSizeFlagsNV,
  5561. supportedHintGridSizes: OpticalFlowGridSizeFlagsNV,
  5562. hintSupported: b32,
  5563. costSupported: b32,
  5564. bidirectionalFlowSupported: b32,
  5565. globalFlowSupported: b32,
  5566. minWidth: u32,
  5567. minHeight: u32,
  5568. maxWidth: u32,
  5569. maxHeight: u32,
  5570. maxNumRegionsOfInterest: u32,
  5571. }
  5572. OpticalFlowImageFormatInfoNV :: struct {
  5573. sType: StructureType,
  5574. pNext: rawptr,
  5575. usage: OpticalFlowUsageFlagsNV,
  5576. }
  5577. OpticalFlowImageFormatPropertiesNV :: struct {
  5578. sType: StructureType,
  5579. pNext: rawptr,
  5580. format: Format,
  5581. }
  5582. OpticalFlowSessionCreateInfoNV :: struct {
  5583. sType: StructureType,
  5584. pNext: rawptr,
  5585. width: u32,
  5586. height: u32,
  5587. imageFormat: Format,
  5588. flowVectorFormat: Format,
  5589. costFormat: Format,
  5590. outputGridSize: OpticalFlowGridSizeFlagsNV,
  5591. hintGridSize: OpticalFlowGridSizeFlagsNV,
  5592. performanceLevel: OpticalFlowPerformanceLevelNV,
  5593. flags: OpticalFlowSessionCreateFlagsNV,
  5594. }
  5595. OpticalFlowSessionCreatePrivateDataInfoNV :: struct {
  5596. sType: StructureType,
  5597. pNext: rawptr,
  5598. id: u32,
  5599. size: u32,
  5600. pPrivateData: rawptr,
  5601. }
  5602. OpticalFlowExecuteInfoNV :: struct {
  5603. sType: StructureType,
  5604. pNext: rawptr,
  5605. flags: OpticalFlowExecuteFlagsNV,
  5606. regionCount: u32,
  5607. pRegions: [^]Rect2D,
  5608. }
  5609. PhysicalDeviceLegacyDitheringFeaturesEXT :: struct {
  5610. sType: StructureType,
  5611. pNext: rawptr,
  5612. legacyDithering: b32,
  5613. }
  5614. PhysicalDevicePipelineProtectedAccessFeaturesEXT :: struct {
  5615. sType: StructureType,
  5616. pNext: rawptr,
  5617. pipelineProtectedAccess: b32,
  5618. }
  5619. PhysicalDeviceShaderObjectFeaturesEXT :: struct {
  5620. sType: StructureType,
  5621. pNext: rawptr,
  5622. shaderObject: b32,
  5623. }
  5624. PhysicalDeviceShaderObjectPropertiesEXT :: struct {
  5625. sType: StructureType,
  5626. pNext: rawptr,
  5627. shaderBinaryUUID: [UUID_SIZE]u8,
  5628. shaderBinaryVersion: u32,
  5629. }
  5630. ShaderCreateInfoEXT :: struct {
  5631. sType: StructureType,
  5632. pNext: rawptr,
  5633. flags: ShaderCreateFlagsEXT,
  5634. stage: ShaderStageFlags,
  5635. nextStage: ShaderStageFlags,
  5636. codeType: ShaderCodeTypeEXT,
  5637. codeSize: int,
  5638. pCode: rawptr,
  5639. pName: cstring,
  5640. setLayoutCount: u32,
  5641. pSetLayouts: [^]DescriptorSetLayout,
  5642. pushConstantRangeCount: u32,
  5643. pPushConstantRanges: [^]PushConstantRange,
  5644. pSpecializationInfo: ^SpecializationInfo,
  5645. }
  5646. PhysicalDeviceTilePropertiesFeaturesQCOM :: struct {
  5647. sType: StructureType,
  5648. pNext: rawptr,
  5649. tileProperties: b32,
  5650. }
  5651. TilePropertiesQCOM :: struct {
  5652. sType: StructureType,
  5653. pNext: rawptr,
  5654. tileSize: Extent3D,
  5655. apronSize: Extent2D,
  5656. origin: Offset2D,
  5657. }
  5658. PhysicalDeviceAmigoProfilingFeaturesSEC :: struct {
  5659. sType: StructureType,
  5660. pNext: rawptr,
  5661. amigoProfiling: b32,
  5662. }
  5663. AmigoProfilingSubmitInfoSEC :: struct {
  5664. sType: StructureType,
  5665. pNext: rawptr,
  5666. firstDrawTimestamp: u64,
  5667. swapBufferTimestamp: u64,
  5668. }
  5669. PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM :: struct {
  5670. sType: StructureType,
  5671. pNext: rawptr,
  5672. multiviewPerViewViewports: b32,
  5673. }
  5674. PhysicalDeviceRayTracingInvocationReorderPropertiesNV :: struct {
  5675. sType: StructureType,
  5676. pNext: rawptr,
  5677. rayTracingInvocationReorderReorderingHint: RayTracingInvocationReorderModeNV,
  5678. }
  5679. PhysicalDeviceRayTracingInvocationReorderFeaturesNV :: struct {
  5680. sType: StructureType,
  5681. pNext: rawptr,
  5682. rayTracingInvocationReorder: b32,
  5683. }
  5684. PhysicalDeviceShaderCoreBuiltinsFeaturesARM :: struct {
  5685. sType: StructureType,
  5686. pNext: rawptr,
  5687. shaderCoreBuiltins: b32,
  5688. }
  5689. PhysicalDeviceShaderCoreBuiltinsPropertiesARM :: struct {
  5690. sType: StructureType,
  5691. pNext: rawptr,
  5692. shaderCoreMask: u64,
  5693. shaderCoreCount: u32,
  5694. shaderWarpsPerCore: u32,
  5695. }
  5696. PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT :: struct {
  5697. sType: StructureType,
  5698. pNext: rawptr,
  5699. pipelineLibraryGroupHandles: b32,
  5700. }
  5701. PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM :: struct {
  5702. sType: StructureType,
  5703. pNext: rawptr,
  5704. multiviewPerViewRenderAreas: b32,
  5705. }
  5706. MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM :: struct {
  5707. sType: StructureType,
  5708. pNext: rawptr,
  5709. perViewRenderAreaCount: u32,
  5710. pPerViewRenderAreas: [^]Rect2D,
  5711. }
  5712. PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT :: struct {
  5713. sType: StructureType,
  5714. pNext: rawptr,
  5715. attachmentFeedbackLoopDynamicState: b32,
  5716. }
  5717. AccelerationStructureBuildRangeInfoKHR :: struct {
  5718. primitiveCount: u32,
  5719. primitiveOffset: u32,
  5720. firstVertex: u32,
  5721. transformOffset: u32,
  5722. }
  5723. AccelerationStructureGeometryTrianglesDataKHR :: struct {
  5724. sType: StructureType,
  5725. pNext: rawptr,
  5726. vertexFormat: Format,
  5727. vertexData: DeviceOrHostAddressConstKHR,
  5728. vertexStride: DeviceSize,
  5729. maxVertex: u32,
  5730. indexType: IndexType,
  5731. indexData: DeviceOrHostAddressConstKHR,
  5732. transformData: DeviceOrHostAddressConstKHR,
  5733. }
  5734. AccelerationStructureGeometryAabbsDataKHR :: struct {
  5735. sType: StructureType,
  5736. pNext: rawptr,
  5737. data: DeviceOrHostAddressConstKHR,
  5738. stride: DeviceSize,
  5739. }
  5740. AccelerationStructureGeometryInstancesDataKHR :: struct {
  5741. sType: StructureType,
  5742. pNext: rawptr,
  5743. arrayOfPointers: b32,
  5744. data: DeviceOrHostAddressConstKHR,
  5745. }
  5746. AccelerationStructureGeometryDataKHR :: struct #raw_union {
  5747. triangles: AccelerationStructureGeometryTrianglesDataKHR,
  5748. aabbs: AccelerationStructureGeometryAabbsDataKHR,
  5749. instances: AccelerationStructureGeometryInstancesDataKHR,
  5750. }
  5751. AccelerationStructureGeometryKHR :: struct {
  5752. sType: StructureType,
  5753. pNext: rawptr,
  5754. geometryType: GeometryTypeKHR,
  5755. geometry: AccelerationStructureGeometryDataKHR,
  5756. flags: GeometryFlagsKHR,
  5757. }
  5758. AccelerationStructureBuildGeometryInfoKHR :: struct {
  5759. sType: StructureType,
  5760. pNext: rawptr,
  5761. type: AccelerationStructureTypeKHR,
  5762. flags: BuildAccelerationStructureFlagsKHR,
  5763. mode: BuildAccelerationStructureModeKHR,
  5764. srcAccelerationStructure: AccelerationStructureKHR,
  5765. dstAccelerationStructure: AccelerationStructureKHR,
  5766. geometryCount: u32,
  5767. pGeometries: [^]AccelerationStructureGeometryKHR,
  5768. ppGeometries: ^[^]AccelerationStructureGeometryKHR,
  5769. scratchData: DeviceOrHostAddressKHR,
  5770. }
  5771. AccelerationStructureCreateInfoKHR :: struct {
  5772. sType: StructureType,
  5773. pNext: rawptr,
  5774. createFlags: AccelerationStructureCreateFlagsKHR,
  5775. buffer: Buffer,
  5776. offset: DeviceSize,
  5777. size: DeviceSize,
  5778. type: AccelerationStructureTypeKHR,
  5779. deviceAddress: DeviceAddress,
  5780. }
  5781. WriteDescriptorSetAccelerationStructureKHR :: struct {
  5782. sType: StructureType,
  5783. pNext: rawptr,
  5784. accelerationStructureCount: u32,
  5785. pAccelerationStructures: [^]AccelerationStructureKHR,
  5786. }
  5787. PhysicalDeviceAccelerationStructureFeaturesKHR :: struct {
  5788. sType: StructureType,
  5789. pNext: rawptr,
  5790. accelerationStructure: b32,
  5791. accelerationStructureCaptureReplay: b32,
  5792. accelerationStructureIndirectBuild: b32,
  5793. accelerationStructureHostCommands: b32,
  5794. descriptorBindingAccelerationStructureUpdateAfterBind: b32,
  5795. }
  5796. PhysicalDeviceAccelerationStructurePropertiesKHR :: struct {
  5797. sType: StructureType,
  5798. pNext: rawptr,
  5799. maxGeometryCount: u64,
  5800. maxInstanceCount: u64,
  5801. maxPrimitiveCount: u64,
  5802. maxPerStageDescriptorAccelerationStructures: u32,
  5803. maxPerStageDescriptorUpdateAfterBindAccelerationStructures: u32,
  5804. maxDescriptorSetAccelerationStructures: u32,
  5805. maxDescriptorSetUpdateAfterBindAccelerationStructures: u32,
  5806. minAccelerationStructureScratchOffsetAlignment: u32,
  5807. }
  5808. AccelerationStructureDeviceAddressInfoKHR :: struct {
  5809. sType: StructureType,
  5810. pNext: rawptr,
  5811. accelerationStructure: AccelerationStructureKHR,
  5812. }
  5813. AccelerationStructureVersionInfoKHR :: struct {
  5814. sType: StructureType,
  5815. pNext: rawptr,
  5816. pVersionData: ^u8,
  5817. }
  5818. CopyAccelerationStructureToMemoryInfoKHR :: struct {
  5819. sType: StructureType,
  5820. pNext: rawptr,
  5821. src: AccelerationStructureKHR,
  5822. dst: DeviceOrHostAddressKHR,
  5823. mode: CopyAccelerationStructureModeKHR,
  5824. }
  5825. CopyMemoryToAccelerationStructureInfoKHR :: struct {
  5826. sType: StructureType,
  5827. pNext: rawptr,
  5828. src: DeviceOrHostAddressConstKHR,
  5829. dst: AccelerationStructureKHR,
  5830. mode: CopyAccelerationStructureModeKHR,
  5831. }
  5832. CopyAccelerationStructureInfoKHR :: struct {
  5833. sType: StructureType,
  5834. pNext: rawptr,
  5835. src: AccelerationStructureKHR,
  5836. dst: AccelerationStructureKHR,
  5837. mode: CopyAccelerationStructureModeKHR,
  5838. }
  5839. AccelerationStructureBuildSizesInfoKHR :: struct {
  5840. sType: StructureType,
  5841. pNext: rawptr,
  5842. accelerationStructureSize: DeviceSize,
  5843. updateScratchSize: DeviceSize,
  5844. buildScratchSize: DeviceSize,
  5845. }
  5846. RayTracingShaderGroupCreateInfoKHR :: struct {
  5847. sType: StructureType,
  5848. pNext: rawptr,
  5849. type: RayTracingShaderGroupTypeKHR,
  5850. generalShader: u32,
  5851. closestHitShader: u32,
  5852. anyHitShader: u32,
  5853. intersectionShader: u32,
  5854. pShaderGroupCaptureReplayHandle: rawptr,
  5855. }
  5856. RayTracingPipelineInterfaceCreateInfoKHR :: struct {
  5857. sType: StructureType,
  5858. pNext: rawptr,
  5859. maxPipelineRayPayloadSize: u32,
  5860. maxPipelineRayHitAttributeSize: u32,
  5861. }
  5862. RayTracingPipelineCreateInfoKHR :: struct {
  5863. sType: StructureType,
  5864. pNext: rawptr,
  5865. flags: PipelineCreateFlags,
  5866. stageCount: u32,
  5867. pStages: [^]PipelineShaderStageCreateInfo,
  5868. groupCount: u32,
  5869. pGroups: [^]RayTracingShaderGroupCreateInfoKHR,
  5870. maxPipelineRayRecursionDepth: u32,
  5871. pLibraryInfo: ^PipelineLibraryCreateInfoKHR,
  5872. pLibraryInterface: ^RayTracingPipelineInterfaceCreateInfoKHR,
  5873. pDynamicState: ^PipelineDynamicStateCreateInfo,
  5874. layout: PipelineLayout,
  5875. basePipelineHandle: Pipeline,
  5876. basePipelineIndex: i32,
  5877. }
  5878. PhysicalDeviceRayTracingPipelineFeaturesKHR :: struct {
  5879. sType: StructureType,
  5880. pNext: rawptr,
  5881. rayTracingPipeline: b32,
  5882. rayTracingPipelineShaderGroupHandleCaptureReplay: b32,
  5883. rayTracingPipelineShaderGroupHandleCaptureReplayMixed: b32,
  5884. rayTracingPipelineTraceRaysIndirect: b32,
  5885. rayTraversalPrimitiveCulling: b32,
  5886. }
  5887. PhysicalDeviceRayTracingPipelinePropertiesKHR :: struct {
  5888. sType: StructureType,
  5889. pNext: rawptr,
  5890. shaderGroupHandleSize: u32,
  5891. maxRayRecursionDepth: u32,
  5892. maxShaderGroupStride: u32,
  5893. shaderGroupBaseAlignment: u32,
  5894. shaderGroupHandleCaptureReplaySize: u32,
  5895. maxRayDispatchInvocationCount: u32,
  5896. shaderGroupHandleAlignment: u32,
  5897. maxRayHitAttributeSize: u32,
  5898. }
  5899. StridedDeviceAddressRegionKHR :: struct {
  5900. deviceAddress: DeviceAddress,
  5901. stride: DeviceSize,
  5902. size: DeviceSize,
  5903. }
  5904. TraceRaysIndirectCommandKHR :: struct {
  5905. width: u32,
  5906. height: u32,
  5907. depth: u32,
  5908. }
  5909. PhysicalDeviceRayQueryFeaturesKHR :: struct {
  5910. sType: StructureType,
  5911. pNext: rawptr,
  5912. rayQuery: b32,
  5913. }
  5914. PhysicalDeviceMeshShaderFeaturesEXT :: struct {
  5915. sType: StructureType,
  5916. pNext: rawptr,
  5917. taskShader: b32,
  5918. meshShader: b32,
  5919. multiviewMeshShader: b32,
  5920. primitiveFragmentShadingRateMeshShader: b32,
  5921. meshShaderQueries: b32,
  5922. }
  5923. PhysicalDeviceMeshShaderPropertiesEXT :: struct {
  5924. sType: StructureType,
  5925. pNext: rawptr,
  5926. maxTaskWorkGroupTotalCount: u32,
  5927. maxTaskWorkGroupCount: [3]u32,
  5928. maxTaskWorkGroupInvocations: u32,
  5929. maxTaskWorkGroupSize: [3]u32,
  5930. maxTaskPayloadSize: u32,
  5931. maxTaskSharedMemorySize: u32,
  5932. maxTaskPayloadAndSharedMemorySize: u32,
  5933. maxMeshWorkGroupTotalCount: u32,
  5934. maxMeshWorkGroupCount: [3]u32,
  5935. maxMeshWorkGroupInvocations: u32,
  5936. maxMeshWorkGroupSize: [3]u32,
  5937. maxMeshSharedMemorySize: u32,
  5938. maxMeshPayloadAndSharedMemorySize: u32,
  5939. maxMeshOutputMemorySize: u32,
  5940. maxMeshPayloadAndOutputMemorySize: u32,
  5941. maxMeshOutputComponents: u32,
  5942. maxMeshOutputVertices: u32,
  5943. maxMeshOutputPrimitives: u32,
  5944. maxMeshOutputLayers: u32,
  5945. maxMeshMultiviewViewCount: u32,
  5946. meshOutputPerVertexGranularity: u32,
  5947. meshOutputPerPrimitiveGranularity: u32,
  5948. maxPreferredTaskWorkGroupInvocations: u32,
  5949. maxPreferredMeshWorkGroupInvocations: u32,
  5950. prefersLocalInvocationVertexOutput: b32,
  5951. prefersLocalInvocationPrimitiveOutput: b32,
  5952. prefersCompactVertexOutput: b32,
  5953. prefersCompactPrimitiveOutput: b32,
  5954. }
  5955. DrawMeshTasksIndirectCommandEXT :: struct {
  5956. groupCountX: u32,
  5957. groupCountY: u32,
  5958. groupCountZ: u32,
  5959. }
  5960. Win32SurfaceCreateInfoKHR :: struct {
  5961. sType: StructureType,
  5962. pNext: rawptr,
  5963. flags: Win32SurfaceCreateFlagsKHR,
  5964. hinstance: HINSTANCE,
  5965. hwnd: HWND,
  5966. }
  5967. ImportMemoryWin32HandleInfoKHR :: struct {
  5968. sType: StructureType,
  5969. pNext: rawptr,
  5970. handleType: ExternalMemoryHandleTypeFlags,
  5971. handle: HANDLE,
  5972. name: LPCWSTR,
  5973. }
  5974. ExportMemoryWin32HandleInfoKHR :: struct {
  5975. sType: StructureType,
  5976. pNext: rawptr,
  5977. pAttributes: [^]SECURITY_ATTRIBUTES,
  5978. dwAccess: DWORD,
  5979. name: LPCWSTR,
  5980. }
  5981. MemoryWin32HandlePropertiesKHR :: struct {
  5982. sType: StructureType,
  5983. pNext: rawptr,
  5984. memoryTypeBits: u32,
  5985. }
  5986. MemoryGetWin32HandleInfoKHR :: struct {
  5987. sType: StructureType,
  5988. pNext: rawptr,
  5989. memory: DeviceMemory,
  5990. handleType: ExternalMemoryHandleTypeFlags,
  5991. }
  5992. Win32KeyedMutexAcquireReleaseInfoKHR :: struct {
  5993. sType: StructureType,
  5994. pNext: rawptr,
  5995. acquireCount: u32,
  5996. pAcquireSyncs: [^]DeviceMemory,
  5997. pAcquireKeys: [^]u64,
  5998. pAcquireTimeouts: [^]u32,
  5999. releaseCount: u32,
  6000. pReleaseSyncs: [^]DeviceMemory,
  6001. pReleaseKeys: [^]u64,
  6002. }
  6003. ImportSemaphoreWin32HandleInfoKHR :: struct {
  6004. sType: StructureType,
  6005. pNext: rawptr,
  6006. semaphore: Semaphore,
  6007. flags: SemaphoreImportFlags,
  6008. handleType: ExternalSemaphoreHandleTypeFlags,
  6009. handle: HANDLE,
  6010. name: LPCWSTR,
  6011. }
  6012. ExportSemaphoreWin32HandleInfoKHR :: struct {
  6013. sType: StructureType,
  6014. pNext: rawptr,
  6015. pAttributes: [^]SECURITY_ATTRIBUTES,
  6016. dwAccess: DWORD,
  6017. name: LPCWSTR,
  6018. }
  6019. D3D12FenceSubmitInfoKHR :: struct {
  6020. sType: StructureType,
  6021. pNext: rawptr,
  6022. waitSemaphoreValuesCount: u32,
  6023. pWaitSemaphoreValues: [^]u64,
  6024. signalSemaphoreValuesCount: u32,
  6025. pSignalSemaphoreValues: [^]u64,
  6026. }
  6027. SemaphoreGetWin32HandleInfoKHR :: struct {
  6028. sType: StructureType,
  6029. pNext: rawptr,
  6030. semaphore: Semaphore,
  6031. handleType: ExternalSemaphoreHandleTypeFlags,
  6032. }
  6033. ImportFenceWin32HandleInfoKHR :: struct {
  6034. sType: StructureType,
  6035. pNext: rawptr,
  6036. fence: Fence,
  6037. flags: FenceImportFlags,
  6038. handleType: ExternalFenceHandleTypeFlags,
  6039. handle: HANDLE,
  6040. name: LPCWSTR,
  6041. }
  6042. ExportFenceWin32HandleInfoKHR :: struct {
  6043. sType: StructureType,
  6044. pNext: rawptr,
  6045. pAttributes: [^]SECURITY_ATTRIBUTES,
  6046. dwAccess: DWORD,
  6047. name: LPCWSTR,
  6048. }
  6049. FenceGetWin32HandleInfoKHR :: struct {
  6050. sType: StructureType,
  6051. pNext: rawptr,
  6052. fence: Fence,
  6053. handleType: ExternalFenceHandleTypeFlags,
  6054. }
  6055. ImportMemoryWin32HandleInfoNV :: struct {
  6056. sType: StructureType,
  6057. pNext: rawptr,
  6058. handleType: ExternalMemoryHandleTypeFlagsNV,
  6059. handle: HANDLE,
  6060. }
  6061. ExportMemoryWin32HandleInfoNV :: struct {
  6062. sType: StructureType,
  6063. pNext: rawptr,
  6064. pAttributes: [^]SECURITY_ATTRIBUTES,
  6065. dwAccess: DWORD,
  6066. }
  6067. Win32KeyedMutexAcquireReleaseInfoNV :: struct {
  6068. sType: StructureType,
  6069. pNext: rawptr,
  6070. acquireCount: u32,
  6071. pAcquireSyncs: [^]DeviceMemory,
  6072. pAcquireKeys: [^]u64,
  6073. pAcquireTimeoutMilliseconds: [^]u32,
  6074. releaseCount: u32,
  6075. pReleaseSyncs: [^]DeviceMemory,
  6076. pReleaseKeys: [^]u64,
  6077. }
  6078. SurfaceFullScreenExclusiveInfoEXT :: struct {
  6079. sType: StructureType,
  6080. pNext: rawptr,
  6081. fullScreenExclusive: FullScreenExclusiveEXT,
  6082. }
  6083. SurfaceCapabilitiesFullScreenExclusiveEXT :: struct {
  6084. sType: StructureType,
  6085. pNext: rawptr,
  6086. fullScreenExclusiveSupported: b32,
  6087. }
  6088. SurfaceFullScreenExclusiveWin32InfoEXT :: struct {
  6089. sType: StructureType,
  6090. pNext: rawptr,
  6091. hmonitor: HMONITOR,
  6092. }
  6093. MetalSurfaceCreateInfoEXT :: struct {
  6094. sType: StructureType,
  6095. pNext: rawptr,
  6096. flags: MetalSurfaceCreateFlagsEXT,
  6097. pLayer: ^CAMetalLayer,
  6098. }
  6099. ExportMetalObjectCreateInfoEXT :: struct {
  6100. sType: StructureType,
  6101. pNext: rawptr,
  6102. exportObjectType: ExportMetalObjectTypeFlagsEXT,
  6103. }
  6104. ExportMetalObjectsInfoEXT :: struct {
  6105. sType: StructureType,
  6106. pNext: rawptr,
  6107. }
  6108. ExportMetalDeviceInfoEXT :: struct {
  6109. sType: StructureType,
  6110. pNext: rawptr,
  6111. mtlDevice: MTLDevice_id,
  6112. }
  6113. ExportMetalCommandQueueInfoEXT :: struct {
  6114. sType: StructureType,
  6115. pNext: rawptr,
  6116. queue: Queue,
  6117. mtlCommandQueue: MTLCommandQueue_id,
  6118. }
  6119. ExportMetalBufferInfoEXT :: struct {
  6120. sType: StructureType,
  6121. pNext: rawptr,
  6122. memory: DeviceMemory,
  6123. mtlBuffer: MTLBuffer_id,
  6124. }
  6125. ImportMetalBufferInfoEXT :: struct {
  6126. sType: StructureType,
  6127. pNext: rawptr,
  6128. mtlBuffer: MTLBuffer_id,
  6129. }
  6130. ExportMetalTextureInfoEXT :: struct {
  6131. sType: StructureType,
  6132. pNext: rawptr,
  6133. image: Image,
  6134. imageView: ImageView,
  6135. bufferView: BufferView,
  6136. plane: ImageAspectFlags,
  6137. mtlTexture: MTLTexture_id,
  6138. }
  6139. ImportMetalTextureInfoEXT :: struct {
  6140. sType: StructureType,
  6141. pNext: rawptr,
  6142. plane: ImageAspectFlags,
  6143. mtlTexture: MTLTexture_id,
  6144. }
  6145. ExportMetalIOSurfaceInfoEXT :: struct {
  6146. sType: StructureType,
  6147. pNext: rawptr,
  6148. image: Image,
  6149. ioSurface: IOSurfaceRef,
  6150. }
  6151. ImportMetalIOSurfaceInfoEXT :: struct {
  6152. sType: StructureType,
  6153. pNext: rawptr,
  6154. ioSurface: IOSurfaceRef,
  6155. }
  6156. ExportMetalSharedEventInfoEXT :: struct {
  6157. sType: StructureType,
  6158. pNext: rawptr,
  6159. semaphore: Semaphore,
  6160. event: Event,
  6161. mtlSharedEvent: MTLSharedEvent_id,
  6162. }
  6163. ImportMetalSharedEventInfoEXT :: struct {
  6164. sType: StructureType,
  6165. pNext: rawptr,
  6166. mtlSharedEvent: MTLSharedEvent_id,
  6167. }
  6168. MacOSSurfaceCreateInfoMVK :: struct {
  6169. sType: StructureType,
  6170. pNext: rawptr,
  6171. flags: MacOSSurfaceCreateFlagsMVK,
  6172. pView: rawptr,
  6173. }
  6174. IOSSurfaceCreateInfoMVK :: struct {
  6175. sType: StructureType,
  6176. pNext: rawptr,
  6177. flags: IOSSurfaceCreateFlagsMVK,
  6178. pView: rawptr,
  6179. }
  6180. WaylandSurfaceCreateInfoKHR :: struct {
  6181. sType: StructureType,
  6182. pNext: rawptr,
  6183. flags: WaylandSurfaceCreateFlagsKHR,
  6184. display: ^wl_display,
  6185. surface: ^wl_surface,
  6186. }
  6187. VideoH264SpsVuiFlags :: struct {
  6188. bitfield: u32,
  6189. }
  6190. VideoH264HrdParameters :: struct {
  6191. cpb_cnt_minus1: u8,
  6192. bit_rate_scale: u8,
  6193. cpb_size_scale: u8,
  6194. reserved1: u8,
  6195. bit_rate_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32,
  6196. cpb_size_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32,
  6197. cbr_flag: [VIDEO_H264_CPB_CNT_LIST_SIZE]u8,
  6198. initial_cpb_removal_delay_length_minus1: u32,
  6199. cpb_removal_delay_length_minus1: u32,
  6200. dpb_output_delay_length_minus1: u32,
  6201. time_offset_length: u32,
  6202. }
  6203. VideoH264SequenceParameterSetVui :: struct {
  6204. flags: VideoH264SpsVuiFlags,
  6205. aspect_ratio_idc: VideoH264AspectRatioIdc,
  6206. sar_width: u16,
  6207. sar_height: u16,
  6208. video_format: u8,
  6209. colour_primaries: u8,
  6210. transfer_characteristics: u8,
  6211. matrix_coefficients: u8,
  6212. num_units_in_tick: u32,
  6213. time_scale: u32,
  6214. max_num_reorder_frames: u8,
  6215. max_dec_frame_buffering: u8,
  6216. chroma_sample_loc_type_top_field: u8,
  6217. chroma_sample_loc_type_bottom_field: u8,
  6218. reserved1: u32,
  6219. pHrdParameters: [^]VideoH264HrdParameters,
  6220. }
  6221. VideoH264SpsFlags :: struct {
  6222. bitfield: u32,
  6223. }
  6224. VideoH264ScalingLists :: struct {
  6225. scaling_list_present_mask: u16,
  6226. use_default_scaling_matrix_mask: u16,
  6227. ScalingList4x4: [VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]u8,
  6228. ScalingList8x8: [VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]u8,
  6229. }
  6230. VideoH264SequenceParameterSet :: struct {
  6231. flags: VideoH264SpsFlags,
  6232. profile_idc: VideoH264ProfileIdc,
  6233. level_idc: VideoH264LevelIdc,
  6234. chroma_format_idc: VideoH264ChromaFormatIdc,
  6235. seq_parameter_set_id: u8,
  6236. bit_depth_luma_minus8: u8,
  6237. bit_depth_chroma_minus8: u8,
  6238. log2_max_frame_num_minus4: u8,
  6239. pic_order_cnt_type: VideoH264PocType,
  6240. offset_for_non_ref_pic: i32,
  6241. offset_for_top_to_bottom_field: i32,
  6242. log2_max_pic_order_cnt_lsb_minus4: u8,
  6243. num_ref_frames_in_pic_order_cnt_cycle: u8,
  6244. max_num_ref_frames: u8,
  6245. reserved1: u8,
  6246. pic_width_in_mbs_minus1: u32,
  6247. pic_height_in_map_units_minus1: u32,
  6248. frame_crop_left_offset: u32,
  6249. frame_crop_right_offset: u32,
  6250. frame_crop_top_offset: u32,
  6251. frame_crop_bottom_offset: u32,
  6252. reserved2: u32,
  6253. pOffsetForRefFrame: ^i32,
  6254. pScalingLists: [^]VideoH264ScalingLists,
  6255. pSequenceParameterSetVui: ^VideoH264SequenceParameterSetVui,
  6256. }
  6257. VideoH264PpsFlags :: struct {
  6258. bitfield: u32,
  6259. }
  6260. VideoH264PictureParameterSet :: struct {
  6261. flags: VideoH264PpsFlags,
  6262. seq_parameter_set_id: u8,
  6263. pic_parameter_set_id: u8,
  6264. num_ref_idx_l0_default_active_minus1: u8,
  6265. num_ref_idx_l1_default_active_minus1: u8,
  6266. weighted_bipred_idc: VideoH264WeightedBipredIdc,
  6267. pic_init_qp_minus26: i8,
  6268. pic_init_qs_minus26: i8,
  6269. chroma_qp_index_offset: i8,
  6270. second_chroma_qp_index_offset: i8,
  6271. pScalingLists: [^]VideoH264ScalingLists,
  6272. }
  6273. VideoH265DecPicBufMgr :: struct {
  6274. max_latency_increase_plus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u32,
  6275. max_dec_pic_buffering_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
  6276. max_num_reorder_pics: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
  6277. }
  6278. VideoH265SubLayerHrdParameters :: struct {
  6279. bit_rate_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
  6280. cpb_size_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
  6281. cpb_size_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
  6282. bit_rate_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
  6283. cbr_flag: u32,
  6284. }
  6285. VideoH265HrdFlags :: struct {
  6286. bitfield: u32,
  6287. }
  6288. VideoH265HrdParameters :: struct {
  6289. flags: VideoH265HrdFlags,
  6290. tick_divisor_minus2: u8,
  6291. du_cpb_removal_delay_increment_length_minus1: u8,
  6292. dpb_output_delay_du_length_minus1: u8,
  6293. bit_rate_scale: u8,
  6294. cpb_size_scale: u8,
  6295. cpb_size_du_scale: u8,
  6296. initial_cpb_removal_delay_length_minus1: u8,
  6297. au_cpb_removal_delay_length_minus1: u8,
  6298. dpb_output_delay_length_minus1: u8,
  6299. cpb_cnt_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
  6300. elemental_duration_in_tc_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u16,
  6301. reserved: [3]u16,
  6302. pSubLayerHrdParametersNal: ^VideoH265SubLayerHrdParameters,
  6303. pSubLayerHrdParametersVcl: ^VideoH265SubLayerHrdParameters,
  6304. }
  6305. VideoH265VpsFlags :: struct {
  6306. bitfield: u32,
  6307. }
  6308. VideoH265ProfileTierLevelFlags :: struct {
  6309. bitfield: u32,
  6310. }
  6311. VideoH265ProfileTierLevel :: struct {
  6312. flags: VideoH265ProfileTierLevelFlags,
  6313. general_profile_idc: VideoH265ProfileIdc,
  6314. general_level_idc: VideoH265LevelIdc,
  6315. }
  6316. VideoH265VideoParameterSet :: struct {
  6317. flags: VideoH265VpsFlags,
  6318. vps_video_parameter_set_id: u8,
  6319. vps_max_sub_layers_minus1: u8,
  6320. reserved1: u8,
  6321. reserved2: u8,
  6322. vps_num_units_in_tick: u32,
  6323. vps_time_scale: u32,
  6324. vps_num_ticks_poc_diff_one_minus1: u32,
  6325. reserved3: u32,
  6326. pDecPicBufMgr: ^VideoH265DecPicBufMgr,
  6327. pHrdParameters: [^]VideoH265HrdParameters,
  6328. pProfileTierLevel: ^VideoH265ProfileTierLevel,
  6329. }
  6330. VideoH265ScalingLists :: struct {
  6331. ScalingList4x4: [VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]u8,
  6332. ScalingList8x8: [VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]u8,
  6333. ScalingList16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]u8,
  6334. ScalingList32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]u8,
  6335. ScalingListDCCoef16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]u8,
  6336. ScalingListDCCoef32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]u8,
  6337. }
  6338. VideoH265SpsVuiFlags :: struct {
  6339. bitfield: u32,
  6340. }
  6341. VideoH265SequenceParameterSetVui :: struct {
  6342. flags: VideoH265SpsVuiFlags,
  6343. aspect_ratio_idc: VideoH265AspectRatioIdc,
  6344. sar_width: u16,
  6345. sar_height: u16,
  6346. video_format: u8,
  6347. colour_primaries: u8,
  6348. transfer_characteristics: u8,
  6349. matrix_coeffs: u8,
  6350. chroma_sample_loc_type_top_field: u8,
  6351. chroma_sample_loc_type_bottom_field: u8,
  6352. reserved1: u8,
  6353. reserved2: u8,
  6354. def_disp_win_left_offset: u16,
  6355. def_disp_win_right_offset: u16,
  6356. def_disp_win_top_offset: u16,
  6357. def_disp_win_bottom_offset: u16,
  6358. vui_num_units_in_tick: u32,
  6359. vui_time_scale: u32,
  6360. vui_num_ticks_poc_diff_one_minus1: u32,
  6361. min_spatial_segmentation_idc: u16,
  6362. reserved3: u16,
  6363. max_bytes_per_pic_denom: u8,
  6364. max_bits_per_min_cu_denom: u8,
  6365. log2_max_mv_length_horizontal: u8,
  6366. log2_max_mv_length_vertical: u8,
  6367. pHrdParameters: [^]VideoH265HrdParameters,
  6368. }
  6369. VideoH265PredictorPaletteEntries :: struct {
  6370. PredictorPaletteEntries: [VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]u16,
  6371. }
  6372. VideoH265SpsFlags :: struct {
  6373. bitfield: u32,
  6374. }
  6375. VideoH265ShortTermRefPicSetFlags :: struct {
  6376. bitfield: u32,
  6377. }
  6378. VideoH265ShortTermRefPicSet :: struct {
  6379. flags: VideoH265ShortTermRefPicSetFlags,
  6380. delta_idx_minus1: u32,
  6381. use_delta_flag: u16,
  6382. abs_delta_rps_minus1: u16,
  6383. used_by_curr_pic_flag: u16,
  6384. used_by_curr_pic_s0_flag: u16,
  6385. used_by_curr_pic_s1_flag: u16,
  6386. reserved1: u16,
  6387. reserved2: u8,
  6388. reserved3: u8,
  6389. num_negative_pics: u8,
  6390. num_positive_pics: u8,
  6391. delta_poc_s0_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16,
  6392. delta_poc_s1_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16,
  6393. }
  6394. VideoH265LongTermRefPicsSps :: struct {
  6395. used_by_curr_pic_lt_sps_flag: u32,
  6396. lt_ref_pic_poc_lsb_sps: [VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]u32,
  6397. }
  6398. VideoH265SequenceParameterSet :: struct {
  6399. flags: VideoH265SpsFlags,
  6400. chroma_format_idc: VideoH265ChromaFormatIdc,
  6401. pic_width_in_luma_samples: u32,
  6402. pic_height_in_luma_samples: u32,
  6403. sps_video_parameter_set_id: u8,
  6404. sps_max_sub_layers_minus1: u8,
  6405. sps_seq_parameter_set_id: u8,
  6406. bit_depth_luma_minus8: u8,
  6407. bit_depth_chroma_minus8: u8,
  6408. log2_max_pic_order_cnt_lsb_minus4: u8,
  6409. log2_min_luma_coding_block_size_minus3: u8,
  6410. log2_diff_max_min_luma_coding_block_size: u8,
  6411. log2_min_luma_transform_block_size_minus2: u8,
  6412. log2_diff_max_min_luma_transform_block_size: u8,
  6413. max_transform_hierarchy_depth_inter: u8,
  6414. max_transform_hierarchy_depth_intra: u8,
  6415. num_short_term_ref_pic_sets: u8,
  6416. num_long_term_ref_pics_sps: u8,
  6417. pcm_sample_bit_depth_luma_minus1: u8,
  6418. pcm_sample_bit_depth_chroma_minus1: u8,
  6419. log2_min_pcm_luma_coding_block_size_minus3: u8,
  6420. log2_diff_max_min_pcm_luma_coding_block_size: u8,
  6421. reserved1: u8,
  6422. reserved2: u8,
  6423. palette_max_size: u8,
  6424. delta_palette_max_predictor_size: u8,
  6425. motion_vector_resolution_control_idc: u8,
  6426. sps_num_palette_predictor_initializers_minus1: u8,
  6427. conf_win_left_offset: u32,
  6428. conf_win_right_offset: u32,
  6429. conf_win_top_offset: u32,
  6430. conf_win_bottom_offset: u32,
  6431. pProfileTierLevel: ^VideoH265ProfileTierLevel,
  6432. pDecPicBufMgr: ^VideoH265DecPicBufMgr,
  6433. pScalingLists: [^]VideoH265ScalingLists,
  6434. pShortTermRefPicSet: ^VideoH265ShortTermRefPicSet,
  6435. pLongTermRefPicsSps: [^]VideoH265LongTermRefPicsSps,
  6436. pSequenceParameterSetVui: ^VideoH265SequenceParameterSetVui,
  6437. pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries,
  6438. }
  6439. VideoH265PpsFlags :: struct {
  6440. bitfield: u32,
  6441. }
  6442. VideoH265PictureParameterSet :: struct {
  6443. flags: VideoH265PpsFlags,
  6444. pps_pic_parameter_set_id: u8,
  6445. pps_seq_parameter_set_id: u8,
  6446. sps_video_parameter_set_id: u8,
  6447. num_extra_slice_header_bits: u8,
  6448. num_ref_idx_l0_default_active_minus1: u8,
  6449. num_ref_idx_l1_default_active_minus1: u8,
  6450. init_qp_minus26: i8,
  6451. diff_cu_qp_delta_depth: u8,
  6452. pps_cb_qp_offset: i8,
  6453. pps_cr_qp_offset: i8,
  6454. pps_beta_offset_div2: i8,
  6455. pps_tc_offset_div2: i8,
  6456. log2_parallel_merge_level_minus2: u8,
  6457. log2_max_transform_skip_block_size_minus2: u8,
  6458. diff_cu_chroma_qp_offset_depth: u8,
  6459. chroma_qp_offset_list_len_minus1: u8,
  6460. cb_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8,
  6461. cr_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8,
  6462. log2_sao_offset_scale_luma: u8,
  6463. log2_sao_offset_scale_chroma: u8,
  6464. pps_act_y_qp_offset_plus5: i8,
  6465. pps_act_cb_qp_offset_plus5: i8,
  6466. pps_act_cr_qp_offset_plus3: i8,
  6467. pps_num_palette_predictor_initializers: u8,
  6468. luma_bit_depth_entry_minus8: u8,
  6469. chroma_bit_depth_entry_minus8: u8,
  6470. num_tile_columns_minus1: u8,
  6471. num_tile_rows_minus1: u8,
  6472. reserved1: u8,
  6473. reserved2: u8,
  6474. column_width_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]u16,
  6475. row_height_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]u16,
  6476. reserved3: u32,
  6477. pScalingLists: [^]VideoH265ScalingLists,
  6478. pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries,
  6479. }
  6480. VideoDecodeH264PictureInfoFlags :: struct {
  6481. bitfield: u32,
  6482. }
  6483. VideoDecodeH264PictureInfo :: struct {
  6484. flags: VideoDecodeH264PictureInfoFlags,
  6485. seq_parameter_set_id: u8,
  6486. pic_parameter_set_id: u8,
  6487. reserved1: u8,
  6488. reserved2: u8,
  6489. frame_num: u16,
  6490. idr_pic_id: u16,
  6491. PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32,
  6492. }
  6493. VideoDecodeH264ReferenceInfoFlags :: struct {
  6494. bitfield: u32,
  6495. }
  6496. VideoDecodeH264ReferenceInfo :: struct {
  6497. flags: VideoDecodeH264ReferenceInfoFlags,
  6498. FrameNum: u16,
  6499. reserved: u16,
  6500. PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32,
  6501. }
  6502. VideoDecodeH265PictureInfoFlags :: struct {
  6503. bitfield: u32,
  6504. }
  6505. VideoDecodeH265PictureInfo :: struct {
  6506. flags: VideoDecodeH265PictureInfoFlags,
  6507. sps_video_parameter_set_id: u8,
  6508. pps_seq_parameter_set_id: u8,
  6509. pps_pic_parameter_set_id: u8,
  6510. NumDeltaPocsOfRefRpsIdx: u8,
  6511. PicOrderCntVal: i32,
  6512. NumBitsForSTRefPicSetInSlice: u16,
  6513. reserved: u16,
  6514. RefPicSetStCurrBefore: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
  6515. RefPicSetStCurrAfter: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
  6516. RefPicSetLtCurr: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
  6517. }
  6518. VideoDecodeH265ReferenceInfoFlags :: struct {
  6519. bitfield: u32,
  6520. }
  6521. VideoDecodeH265ReferenceInfo :: struct {
  6522. flags: VideoDecodeH265ReferenceInfoFlags,
  6523. PicOrderCntVal: i32,
  6524. }
  6525. // Opaque structs
  6526. wl_surface :: struct {} // Opaque struct defined by Wayland
  6527. wl_display :: struct {} // Opaque struct defined by Wayland
  6528. IOSurfaceRef :: struct {} // Opaque struct defined by Apple’s CoreGraphics framework
  6529. // Aliases
  6530. PhysicalDeviceVariablePointerFeatures :: PhysicalDeviceVariablePointersFeatures
  6531. PhysicalDeviceShaderDrawParameterFeatures :: PhysicalDeviceShaderDrawParametersFeatures
  6532. RenderingFlagsKHR :: RenderingFlags
  6533. RenderingFlagKHR :: RenderingFlag
  6534. RenderingInfoKHR :: RenderingInfo
  6535. RenderingAttachmentInfoKHR :: RenderingAttachmentInfo
  6536. PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfo
  6537. PhysicalDeviceDynamicRenderingFeaturesKHR :: PhysicalDeviceDynamicRenderingFeatures
  6538. CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfo
  6539. AttachmentSampleCountInfoNV :: AttachmentSampleCountInfoAMD
  6540. RenderPassMultiviewCreateInfoKHR :: RenderPassMultiviewCreateInfo
  6541. PhysicalDeviceMultiviewFeaturesKHR :: PhysicalDeviceMultiviewFeatures
  6542. PhysicalDeviceMultiviewPropertiesKHR :: PhysicalDeviceMultiviewProperties
  6543. PhysicalDeviceFeatures2KHR :: PhysicalDeviceFeatures2
  6544. PhysicalDeviceProperties2KHR :: PhysicalDeviceProperties2
  6545. FormatProperties2KHR :: FormatProperties2
  6546. ImageFormatProperties2KHR :: ImageFormatProperties2
  6547. PhysicalDeviceImageFormatInfo2KHR :: PhysicalDeviceImageFormatInfo2
  6548. QueueFamilyProperties2KHR :: QueueFamilyProperties2
  6549. PhysicalDeviceMemoryProperties2KHR :: PhysicalDeviceMemoryProperties2
  6550. SparseImageFormatProperties2KHR :: SparseImageFormatProperties2
  6551. PhysicalDeviceSparseImageFormatInfo2KHR :: PhysicalDeviceSparseImageFormatInfo2
  6552. PeerMemoryFeatureFlagsKHR :: PeerMemoryFeatureFlags
  6553. PeerMemoryFeatureFlagKHR :: PeerMemoryFeatureFlag
  6554. MemoryAllocateFlagsKHR :: MemoryAllocateFlags
  6555. MemoryAllocateFlagKHR :: MemoryAllocateFlag
  6556. MemoryAllocateFlagsInfoKHR :: MemoryAllocateFlagsInfo
  6557. DeviceGroupRenderPassBeginInfoKHR :: DeviceGroupRenderPassBeginInfo
  6558. DeviceGroupCommandBufferBeginInfoKHR :: DeviceGroupCommandBufferBeginInfo
  6559. DeviceGroupSubmitInfoKHR :: DeviceGroupSubmitInfo
  6560. DeviceGroupBindSparseInfoKHR :: DeviceGroupBindSparseInfo
  6561. BindBufferMemoryDeviceGroupInfoKHR :: BindBufferMemoryDeviceGroupInfo
  6562. BindImageMemoryDeviceGroupInfoKHR :: BindImageMemoryDeviceGroupInfo
  6563. CommandPoolTrimFlagsKHR :: CommandPoolTrimFlags
  6564. PhysicalDeviceGroupPropertiesKHR :: PhysicalDeviceGroupProperties
  6565. DeviceGroupDeviceCreateInfoKHR :: DeviceGroupDeviceCreateInfo
  6566. ExternalMemoryHandleTypeFlagsKHR :: ExternalMemoryHandleTypeFlags
  6567. ExternalMemoryHandleTypeFlagKHR :: ExternalMemoryHandleTypeFlag
  6568. ExternalMemoryFeatureFlagsKHR :: ExternalMemoryFeatureFlags
  6569. ExternalMemoryFeatureFlagKHR :: ExternalMemoryFeatureFlag
  6570. ExternalMemoryPropertiesKHR :: ExternalMemoryProperties
  6571. PhysicalDeviceExternalImageFormatInfoKHR :: PhysicalDeviceExternalImageFormatInfo
  6572. ExternalImageFormatPropertiesKHR :: ExternalImageFormatProperties
  6573. PhysicalDeviceExternalBufferInfoKHR :: PhysicalDeviceExternalBufferInfo
  6574. ExternalBufferPropertiesKHR :: ExternalBufferProperties
  6575. PhysicalDeviceIDPropertiesKHR :: PhysicalDeviceIDProperties
  6576. ExternalMemoryImageCreateInfoKHR :: ExternalMemoryImageCreateInfo
  6577. ExternalMemoryBufferCreateInfoKHR :: ExternalMemoryBufferCreateInfo
  6578. ExportMemoryAllocateInfoKHR :: ExportMemoryAllocateInfo
  6579. ExternalSemaphoreHandleTypeFlagsKHR :: ExternalSemaphoreHandleTypeFlags
  6580. ExternalSemaphoreHandleTypeFlagKHR :: ExternalSemaphoreHandleTypeFlag
  6581. ExternalSemaphoreFeatureFlagsKHR :: ExternalSemaphoreFeatureFlags
  6582. ExternalSemaphoreFeatureFlagKHR :: ExternalSemaphoreFeatureFlag
  6583. PhysicalDeviceExternalSemaphoreInfoKHR :: PhysicalDeviceExternalSemaphoreInfo
  6584. ExternalSemaphorePropertiesKHR :: ExternalSemaphoreProperties
  6585. SemaphoreImportFlagsKHR :: SemaphoreImportFlags
  6586. SemaphoreImportFlagKHR :: SemaphoreImportFlag
  6587. ExportSemaphoreCreateInfoKHR :: ExportSemaphoreCreateInfo
  6588. PhysicalDeviceShaderFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features
  6589. PhysicalDeviceFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features
  6590. PhysicalDevice16BitStorageFeaturesKHR :: PhysicalDevice16BitStorageFeatures
  6591. DescriptorUpdateTemplateKHR :: DescriptorUpdateTemplate
  6592. DescriptorUpdateTemplateTypeKHR :: DescriptorUpdateTemplateType
  6593. DescriptorUpdateTemplateCreateFlagsKHR :: DescriptorUpdateTemplateCreateFlags
  6594. DescriptorUpdateTemplateEntryKHR :: DescriptorUpdateTemplateEntry
  6595. DescriptorUpdateTemplateCreateInfoKHR :: DescriptorUpdateTemplateCreateInfo
  6596. PhysicalDeviceImagelessFramebufferFeaturesKHR :: PhysicalDeviceImagelessFramebufferFeatures
  6597. FramebufferAttachmentsCreateInfoKHR :: FramebufferAttachmentsCreateInfo
  6598. FramebufferAttachmentImageInfoKHR :: FramebufferAttachmentImageInfo
  6599. RenderPassAttachmentBeginInfoKHR :: RenderPassAttachmentBeginInfo
  6600. RenderPassCreateInfo2KHR :: RenderPassCreateInfo2
  6601. AttachmentDescription2KHR :: AttachmentDescription2
  6602. AttachmentReference2KHR :: AttachmentReference2
  6603. SubpassDescription2KHR :: SubpassDescription2
  6604. SubpassDependency2KHR :: SubpassDependency2
  6605. SubpassBeginInfoKHR :: SubpassBeginInfo
  6606. SubpassEndInfoKHR :: SubpassEndInfo
  6607. ExternalFenceHandleTypeFlagsKHR :: ExternalFenceHandleTypeFlags
  6608. ExternalFenceHandleTypeFlagKHR :: ExternalFenceHandleTypeFlag
  6609. ExternalFenceFeatureFlagsKHR :: ExternalFenceFeatureFlags
  6610. ExternalFenceFeatureFlagKHR :: ExternalFenceFeatureFlag
  6611. PhysicalDeviceExternalFenceInfoKHR :: PhysicalDeviceExternalFenceInfo
  6612. ExternalFencePropertiesKHR :: ExternalFenceProperties
  6613. FenceImportFlagsKHR :: FenceImportFlags
  6614. FenceImportFlagKHR :: FenceImportFlag
  6615. ExportFenceCreateInfoKHR :: ExportFenceCreateInfo
  6616. PointClippingBehaviorKHR :: PointClippingBehavior
  6617. TessellationDomainOriginKHR :: TessellationDomainOrigin
  6618. PhysicalDevicePointClippingPropertiesKHR :: PhysicalDevicePointClippingProperties
  6619. RenderPassInputAttachmentAspectCreateInfoKHR :: RenderPassInputAttachmentAspectCreateInfo
  6620. InputAttachmentAspectReferenceKHR :: InputAttachmentAspectReference
  6621. ImageViewUsageCreateInfoKHR :: ImageViewUsageCreateInfo
  6622. PipelineTessellationDomainOriginStateCreateInfoKHR :: PipelineTessellationDomainOriginStateCreateInfo
  6623. PhysicalDeviceVariablePointerFeaturesKHR :: PhysicalDeviceVariablePointersFeatures
  6624. PhysicalDeviceVariablePointersFeaturesKHR :: PhysicalDeviceVariablePointersFeatures
  6625. MemoryDedicatedRequirementsKHR :: MemoryDedicatedRequirements
  6626. MemoryDedicatedAllocateInfoKHR :: MemoryDedicatedAllocateInfo
  6627. BufferMemoryRequirementsInfo2KHR :: BufferMemoryRequirementsInfo2
  6628. ImageMemoryRequirementsInfo2KHR :: ImageMemoryRequirementsInfo2
  6629. ImageSparseMemoryRequirementsInfo2KHR :: ImageSparseMemoryRequirementsInfo2
  6630. MemoryRequirements2KHR :: MemoryRequirements2
  6631. SparseImageMemoryRequirements2KHR :: SparseImageMemoryRequirements2
  6632. ImageFormatListCreateInfoKHR :: ImageFormatListCreateInfo
  6633. SamplerYcbcrConversionKHR :: SamplerYcbcrConversion
  6634. SamplerYcbcrModelConversionKHR :: SamplerYcbcrModelConversion
  6635. SamplerYcbcrRangeKHR :: SamplerYcbcrRange
  6636. ChromaLocationKHR :: ChromaLocation
  6637. SamplerYcbcrConversionCreateInfoKHR :: SamplerYcbcrConversionCreateInfo
  6638. SamplerYcbcrConversionInfoKHR :: SamplerYcbcrConversionInfo
  6639. BindImagePlaneMemoryInfoKHR :: BindImagePlaneMemoryInfo
  6640. ImagePlaneMemoryRequirementsInfoKHR :: ImagePlaneMemoryRequirementsInfo
  6641. PhysicalDeviceSamplerYcbcrConversionFeaturesKHR :: PhysicalDeviceSamplerYcbcrConversionFeatures
  6642. SamplerYcbcrConversionImageFormatPropertiesKHR :: SamplerYcbcrConversionImageFormatProperties
  6643. BindBufferMemoryInfoKHR :: BindBufferMemoryInfo
  6644. BindImageMemoryInfoKHR :: BindImageMemoryInfo
  6645. PhysicalDeviceMaintenance3PropertiesKHR :: PhysicalDeviceMaintenance3Properties
  6646. DescriptorSetLayoutSupportKHR :: DescriptorSetLayoutSupport
  6647. PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures
  6648. PhysicalDevice8BitStorageFeaturesKHR :: PhysicalDevice8BitStorageFeatures
  6649. PhysicalDeviceShaderAtomicInt64FeaturesKHR :: PhysicalDeviceShaderAtomicInt64Features
  6650. DriverIdKHR :: DriverId
  6651. ConformanceVersionKHR :: ConformanceVersion
  6652. PhysicalDeviceDriverPropertiesKHR :: PhysicalDeviceDriverProperties
  6653. ShaderFloatControlsIndependenceKHR :: ShaderFloatControlsIndependence
  6654. PhysicalDeviceFloatControlsPropertiesKHR :: PhysicalDeviceFloatControlsProperties
  6655. ResolveModeFlagKHR :: ResolveModeFlag
  6656. ResolveModeFlagsKHR :: ResolveModeFlags
  6657. SubpassDescriptionDepthStencilResolveKHR :: SubpassDescriptionDepthStencilResolve
  6658. PhysicalDeviceDepthStencilResolvePropertiesKHR :: PhysicalDeviceDepthStencilResolveProperties
  6659. SemaphoreTypeKHR :: SemaphoreType
  6660. SemaphoreWaitFlagKHR :: SemaphoreWaitFlag
  6661. SemaphoreWaitFlagsKHR :: SemaphoreWaitFlags
  6662. PhysicalDeviceTimelineSemaphoreFeaturesKHR :: PhysicalDeviceTimelineSemaphoreFeatures
  6663. PhysicalDeviceTimelineSemaphorePropertiesKHR :: PhysicalDeviceTimelineSemaphoreProperties
  6664. SemaphoreTypeCreateInfoKHR :: SemaphoreTypeCreateInfo
  6665. TimelineSemaphoreSubmitInfoKHR :: TimelineSemaphoreSubmitInfo
  6666. SemaphoreWaitInfoKHR :: SemaphoreWaitInfo
  6667. SemaphoreSignalInfoKHR :: SemaphoreSignalInfo
  6668. PhysicalDeviceVulkanMemoryModelFeaturesKHR :: PhysicalDeviceVulkanMemoryModelFeatures
  6669. PhysicalDeviceShaderTerminateInvocationFeaturesKHR :: PhysicalDeviceShaderTerminateInvocationFeatures
  6670. PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures
  6671. AttachmentReferenceStencilLayoutKHR :: AttachmentReferenceStencilLayout
  6672. AttachmentDescriptionStencilLayoutKHR :: AttachmentDescriptionStencilLayout
  6673. PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR :: PhysicalDeviceUniformBufferStandardLayoutFeatures
  6674. PhysicalDeviceBufferDeviceAddressFeaturesKHR :: PhysicalDeviceBufferDeviceAddressFeatures
  6675. BufferDeviceAddressInfoKHR :: BufferDeviceAddressInfo
  6676. BufferOpaqueCaptureAddressCreateInfoKHR :: BufferOpaqueCaptureAddressCreateInfo
  6677. MemoryOpaqueCaptureAddressAllocateInfoKHR :: MemoryOpaqueCaptureAddressAllocateInfo
  6678. DeviceMemoryOpaqueCaptureAddressInfoKHR :: DeviceMemoryOpaqueCaptureAddressInfo
  6679. PhysicalDeviceShaderIntegerDotProductFeaturesKHR :: PhysicalDeviceShaderIntegerDotProductFeatures
  6680. PhysicalDeviceShaderIntegerDotProductPropertiesKHR :: PhysicalDeviceShaderIntegerDotProductProperties
  6681. PipelineStageFlags2KHR :: PipelineStageFlags2
  6682. PipelineStageFlag2KHR :: PipelineStageFlag2
  6683. AccessFlags2KHR :: AccessFlags2
  6684. AccessFlag2KHR :: AccessFlag2
  6685. SubmitFlagKHR :: SubmitFlag
  6686. SubmitFlagsKHR :: SubmitFlags
  6687. MemoryBarrier2KHR :: MemoryBarrier2
  6688. BufferMemoryBarrier2KHR :: BufferMemoryBarrier2
  6689. ImageMemoryBarrier2KHR :: ImageMemoryBarrier2
  6690. DependencyInfoKHR :: DependencyInfo
  6691. SubmitInfo2KHR :: SubmitInfo2
  6692. SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfo
  6693. CommandBufferSubmitInfoKHR :: CommandBufferSubmitInfo
  6694. PhysicalDeviceSynchronization2FeaturesKHR :: PhysicalDeviceSynchronization2Features
  6695. PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR :: PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
  6696. CopyBufferInfo2KHR :: CopyBufferInfo2
  6697. CopyImageInfo2KHR :: CopyImageInfo2
  6698. CopyBufferToImageInfo2KHR :: CopyBufferToImageInfo2
  6699. CopyImageToBufferInfo2KHR :: CopyImageToBufferInfo2
  6700. BlitImageInfo2KHR :: BlitImageInfo2
  6701. ResolveImageInfo2KHR :: ResolveImageInfo2
  6702. BufferCopy2KHR :: BufferCopy2
  6703. ImageCopy2KHR :: ImageCopy2
  6704. ImageBlit2KHR :: ImageBlit2
  6705. BufferImageCopy2KHR :: BufferImageCopy2
  6706. ImageResolve2KHR :: ImageResolve2
  6707. FormatFeatureFlags2KHR :: FormatFeatureFlags2
  6708. FormatFeatureFlag2KHR :: FormatFeatureFlag2
  6709. FormatProperties3KHR :: FormatProperties3
  6710. PhysicalDeviceMaintenance4FeaturesKHR :: PhysicalDeviceMaintenance4Features
  6711. PhysicalDeviceMaintenance4PropertiesKHR :: PhysicalDeviceMaintenance4Properties
  6712. DeviceBufferMemoryRequirementsKHR :: DeviceBufferMemoryRequirements
  6713. DeviceImageMemoryRequirementsKHR :: DeviceImageMemoryRequirements
  6714. PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT :: PhysicalDeviceTextureCompressionASTCHDRFeatures
  6715. SamplerReductionModeEXT :: SamplerReductionMode
  6716. SamplerReductionModeCreateInfoEXT :: SamplerReductionModeCreateInfo
  6717. PhysicalDeviceSamplerFilterMinmaxPropertiesEXT :: PhysicalDeviceSamplerFilterMinmaxProperties
  6718. PhysicalDeviceInlineUniformBlockFeaturesEXT :: PhysicalDeviceInlineUniformBlockFeatures
  6719. PhysicalDeviceInlineUniformBlockPropertiesEXT :: PhysicalDeviceInlineUniformBlockProperties
  6720. WriteDescriptorSetInlineUniformBlockEXT :: WriteDescriptorSetInlineUniformBlock
  6721. DescriptorPoolInlineUniformBlockCreateInfoEXT :: DescriptorPoolInlineUniformBlockCreateInfo
  6722. DescriptorBindingFlagEXT :: DescriptorBindingFlag
  6723. DescriptorBindingFlagsEXT :: DescriptorBindingFlags
  6724. DescriptorSetLayoutBindingFlagsCreateInfoEXT :: DescriptorSetLayoutBindingFlagsCreateInfo
  6725. PhysicalDeviceDescriptorIndexingFeaturesEXT :: PhysicalDeviceDescriptorIndexingFeatures
  6726. PhysicalDeviceDescriptorIndexingPropertiesEXT :: PhysicalDeviceDescriptorIndexingProperties
  6727. DescriptorSetVariableDescriptorCountAllocateInfoEXT :: DescriptorSetVariableDescriptorCountAllocateInfo
  6728. DescriptorSetVariableDescriptorCountLayoutSupportEXT :: DescriptorSetVariableDescriptorCountLayoutSupport
  6729. RayTracingShaderGroupTypeNV :: RayTracingShaderGroupTypeKHR
  6730. GeometryTypeNV :: GeometryTypeKHR
  6731. AccelerationStructureTypeNV :: AccelerationStructureTypeKHR
  6732. CopyAccelerationStructureModeNV :: CopyAccelerationStructureModeKHR
  6733. GeometryFlagsNV :: GeometryFlagsKHR
  6734. GeometryFlagNV :: GeometryFlagKHR
  6735. GeometryInstanceFlagsNV :: GeometryInstanceFlagsKHR
  6736. GeometryInstanceFlagNV :: GeometryInstanceFlagKHR
  6737. BuildAccelerationStructureFlagsNV :: BuildAccelerationStructureFlagsKHR
  6738. BuildAccelerationStructureFlagNV :: BuildAccelerationStructureFlagKHR
  6739. TransformMatrixNV :: TransformMatrixKHR
  6740. AabbPositionsNV :: AabbPositionsKHR
  6741. AccelerationStructureInstanceNV :: AccelerationStructureInstanceKHR
  6742. QueueGlobalPriorityEXT :: QueueGlobalPriorityKHR
  6743. DeviceQueueGlobalPriorityCreateInfoEXT :: DeviceQueueGlobalPriorityCreateInfoKHR
  6744. PipelineCreationFeedbackFlagEXT :: PipelineCreationFeedbackFlag
  6745. PipelineCreationFeedbackFlagsEXT :: PipelineCreationFeedbackFlags
  6746. PipelineCreationFeedbackCreateInfoEXT :: PipelineCreationFeedbackCreateInfo
  6747. PipelineCreationFeedbackEXT :: PipelineCreationFeedback
  6748. PhysicalDeviceFragmentShaderBarycentricFeaturesNV :: PhysicalDeviceFragmentShaderBarycentricFeaturesKHR
  6749. QueryPoolCreateInfoINTEL :: QueryPoolPerformanceQueryCreateInfoINTEL
  6750. PhysicalDeviceScalarBlockLayoutFeaturesEXT :: PhysicalDeviceScalarBlockLayoutFeatures
  6751. PhysicalDeviceSubgroupSizeControlFeaturesEXT :: PhysicalDeviceSubgroupSizeControlFeatures
  6752. PhysicalDeviceSubgroupSizeControlPropertiesEXT :: PhysicalDeviceSubgroupSizeControlProperties
  6753. PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo
  6754. PhysicalDeviceBufferAddressFeaturesEXT :: PhysicalDeviceBufferDeviceAddressFeaturesEXT
  6755. BufferDeviceAddressInfoEXT :: BufferDeviceAddressInfo
  6756. ToolPurposeFlagEXT :: ToolPurposeFlag
  6757. ToolPurposeFlagsEXT :: ToolPurposeFlags
  6758. PhysicalDeviceToolPropertiesEXT :: PhysicalDeviceToolProperties
  6759. ImageStencilUsageCreateInfoEXT :: ImageStencilUsageCreateInfo
  6760. PhysicalDeviceHostQueryResetFeaturesEXT :: PhysicalDeviceHostQueryResetFeatures
  6761. PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT :: PhysicalDeviceShaderDemoteToHelperInvocationFeatures
  6762. PhysicalDeviceTexelBufferAlignmentPropertiesEXT :: PhysicalDeviceTexelBufferAlignmentProperties
  6763. PrivateDataSlotEXT :: PrivateDataSlot
  6764. PrivateDataSlotCreateFlagsEXT :: PrivateDataSlotCreateFlags
  6765. PhysicalDevicePrivateDataFeaturesEXT :: PhysicalDevicePrivateDataFeatures
  6766. DevicePrivateDataCreateInfoEXT :: DevicePrivateDataCreateInfo
  6767. PrivateDataSlotCreateInfoEXT :: PrivateDataSlotCreateInfo
  6768. PhysicalDevicePipelineCreationCacheControlFeaturesEXT :: PhysicalDevicePipelineCreationCacheControlFeatures
  6769. PhysicalDeviceImageRobustnessFeaturesEXT :: PhysicalDeviceImageRobustnessFeatures
  6770. PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM :: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
  6771. PhysicalDeviceMutableDescriptorTypeFeaturesVALVE :: PhysicalDeviceMutableDescriptorTypeFeaturesEXT
  6772. MutableDescriptorTypeListVALVE :: MutableDescriptorTypeListEXT
  6773. MutableDescriptorTypeCreateInfoVALVE :: MutableDescriptorTypeCreateInfoEXT
  6774. PipelineInfoEXT :: PipelineInfoKHR
  6775. PhysicalDeviceGlobalPriorityQueryFeaturesEXT :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
  6776. QueueFamilyGlobalPriorityPropertiesEXT :: QueueFamilyGlobalPriorityPropertiesKHR
  6777. MemoryDecompressionMethodFlagNV :: Flags64
  6778. MemoryDecompressionMethodFlagsNV :: Flags64
  6779. ShaderRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo