zgl_gles.pas 415 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057
  1. (*
  2. * Copyright (c) 2023 Serge - SSW
  3. *
  4. * This software is provided 'as-is', without any express or
  5. * implied warranty. In no event will the authors be held
  6. * liable for any damages arising from the use of this software.
  7. *
  8. * Permission is granted to anyone to use this software for any purpose,
  9. * including commercial applications, and to alter it and redistribute
  10. * it freely, subject to the following restrictions:
  11. *
  12. * 1. The origin of this software must not be misrepresented;
  13. * you must not claim that you wrote the original software.
  14. * If you use this software in a product, an acknowledgment
  15. * in the product documentation would be appreciated but
  16. * is not required.
  17. *
  18. * 2. Altered source versions must be plainly marked as such,
  19. * and must not be misrepresented as being the original software.
  20. *
  21. * 3. This notice may not be removed or altered from any
  22. * source distribution.
  23. *)
  24. // Copyright 2013-2020 The Khronos Group Inc.
  25. // SPDX-License-Identifier: MIT
  26. //
  27. // This header is generated from the Khronos OpenGL / OpenGL ES XML
  28. // API Registry. The current version of the Registry, generator scripts
  29. // used to make the header, and the header can be found at
  30. // https://github.com/KhronosGroup/OpenGL-Registry
  31. unit zgl_gles;
  32. {$I zgl_config.cfg}
  33. {$mode delphi}
  34. interface
  35. {$IfNDef Windows}
  36. {$DEFINE stdcall := cdecl}
  37. {$ENDIF}
  38. uses
  39. zgl_utils;
  40. Type
  41. PPGLchar = ^PGLChar;
  42. PGLboolean = ^GLboolean;
  43. PGLchar = ^GLchar;
  44. PGLenum = ^GLenum;
  45. PGLfloat = ^GLfloat;
  46. PGLint = ^GLint;
  47. PGLsizei = ^GLsizei;
  48. PGLubyte = ^GLubyte;
  49. PGLuint = ^GLuint;
  50. PGLdouble = ^GLdouble;
  51. PGLint64 = ^GLint64;
  52. PGLint64EXT = ^GLint64EXT;
  53. PGLuint64 = ^GLuint64;
  54. PGLuint64EXT = ^GLuint64EXT;
  55. PGLfixed = ^GLfixed;
  56. PGLshort = ^GLshort;
  57. PGLvoid = Pointer;
  58. GLbyte = Byte; // khronos_int8_t; // число без знака, почему тут со знаком?
  59. GLclampf = Single; // khronos_float_t;
  60. GLfixed = LongInt; // khronos_int32_t;
  61. GLshort = SmallInt; // khronos_int16_t;
  62. GLushort = Word; // khronos_uint16_t;
  63. GLvoid = pointer;
  64. GLsync = Pointer; // ^__GLsync;
  65. // WARNING!!! Зависят от разрядности платформы!
  66. // khronos_intptr_t signed same number of bits as a pointer
  67. // khronos_uintptr_t unsigned same number of bits as a pointer
  68. // khronos_ssize_t signed size
  69. // khronos_usize_t unsigned size
  70. {$If not defined(CPU32) and not defined(CPUARM)}
  71. GLsizeiptr = Int64; // khronos_ssize_t;
  72. GLintptr = Int64; // khronos_intptr_t;
  73. GLuint64 = QWord; // khronos_uint64_t;
  74. GLint64 = Int64; // khronos_int64_t;
  75. GLuint64EXT = QWord; // khronos_uint64_t;
  76. GLint64EXT = Int64; // khronos_int64_t;
  77. GLsizeiptrARB = Int64; // khronos_ssize_t;
  78. GLintptrARB = Int64; // khronos_intptr_t;
  79. {$Else}
  80. GLsizeiptr = LongInt; // khronos_ssize_t;
  81. GLintptr = LongInt; // khronos_intptr_t;
  82. GLuint64 = Cardinal; // khronos_uint64_t;
  83. GLint64 = LongInt; // khronos_int64_t;
  84. GLuint64EXT = Cardinal; // khronos_uint64_t;
  85. GLint64EXT = LongInt;
  86. GLsizeiptrARB = LongInt; // khronos_ssize_t;
  87. GLintptrARB = LongInt; // khronos_intptr_t;
  88. {$IfEnd}
  89. GLenum = dword;
  90. GLuint = dword;
  91. GLchar = char;
  92. GLfloat = Single; // khronos_float_t;
  93. GLbitfield = dword;
  94. GLint = longint;
  95. GLboolean = byte;
  96. GLsizei = longint;
  97. GLubyte = Byte; // khronos_uint8_t;
  98. GLclampx = LongInt; // khronos_int32_t;
  99. GLdouble = double;
  100. GLhalf = Word; // khronos_uint16_t;
  101. GLeglImageOES = pointer;
  102. type
  103. TVector2d = array[0..1] of double;
  104. TVector2f = array[0..1] of single;
  105. TVector2i = array[0..1] of longint;
  106. TVector2s = array[0..1] of smallint;
  107. TVector2b = array[0..1] of byte;
  108. TVector3d = array[0..2] of double;
  109. TVector3f = array[0..2] of single;
  110. TVector3i = array[0..2] of longint;
  111. TVector3s = array[0..2] of smallint;
  112. TVector3b = array[0..2] of byte;
  113. TVector4d = array[0..3] of double;
  114. TVector4f = array[0..3] of single;
  115. TVector4i = array[0..3] of longint;
  116. TVector4s = array[0..3] of smallint;
  117. TVector4b = array[0..3] of byte;
  118. TMatrix3d = array[0..2] of TVector3d;
  119. TMatrix3f = array[0..2] of TVector3f;
  120. TMatrix3i = array[0..2] of TVector3i;
  121. TMatrix3s = array[0..2] of TVector3s;
  122. TMatrix3b = array[0..2] of TVector3b;
  123. TMatrix4d = array[0..3] of TVector4d;
  124. TMatrix4f = array[0..3] of TVector4f;
  125. TMatrix4i = array[0..3] of TVector4i;
  126. TMatrix4s = array[0..3] of TVector4s;
  127. TMatrix4b = array[0..3] of TVector4b;
  128. const
  129. (*******************************************************************************
  130. * GL_ES_VERSION_1_0, GL_ES_VERSION_1_1 *
  131. *******************************************************************************)
  132. // GL_VERSION_ES_CM_1_0
  133. // GL_DEPTH_BUFFER_BIT = $00000100;
  134. // GL_STENCIL_BUFFER_BIT = $00000400;
  135. // GL_COLOR_BUFFER_BIT = $00004000;
  136. // GL_FALSE = 0;
  137. // GL_TRUE = 1;
  138. // GL_POINTS = $0000;
  139. // GL_LINES = $0001;
  140. // GL_LINE_LOOP = $0002;
  141. // GL_LINE_STRIP = $0003;
  142. // GL_TRIANGLES = $0004;
  143. // GL_TRIANGLE_STRIP = $0005;
  144. // GL_TRIANGLE_FAN = $0006;
  145. // GL_NEVER = $0200;
  146. // GL_LESS = $0201;
  147. // GL_EQUAL = $0202;
  148. // GL_LEQUAL = $0203;
  149. // GL_GREATER = $0204;
  150. // GL_NOTEQUAL = $0205;
  151. // GL_GEQUAL = $0206;
  152. // GL_ALWAYS = $0207;
  153. // GL_ZERO = 0;
  154. // GL_ONE = 1;
  155. // GL_SRC_COLOR = $0300;
  156. // GL_ONE_MINUS_SRC_COLOR = $0301;
  157. // GL_SRC_ALPHA = $0302;
  158. // GL_ONE_MINUS_SRC_ALPHA = $0303;
  159. // GL_DST_ALPHA = $0304;
  160. // GL_ONE_MINUS_DST_ALPHA = $0305;
  161. // GL_DST_COLOR = $0306;
  162. // GL_ONE_MINUS_DST_COLOR = $0307;
  163. // GL_SRC_ALPHA_SATURATE = $0308;
  164. GL_CLIP_PLANE0 = $3000;
  165. GL_CLIP_PLANE1 = $3001;
  166. GL_CLIP_PLANE2 = $3002;
  167. GL_CLIP_PLANE3 = $3003;
  168. GL_CLIP_PLANE4 = $3004;
  169. GL_CLIP_PLANE5 = $3005;
  170. // GL_FRONT = $0404;
  171. // GL_BACK = $0405;
  172. // GL_FRONT_AND_BACK = $0408;
  173. GL_FOG = $0B60;
  174. GL_LIGHTING = $0B50;
  175. // GL_TEXTURE_2D = $0DE1;
  176. // GL_CULL_FACE = $0B44;
  177. GL_ALPHA_TEST = $0BC0;
  178. // GL_BLEND = $0BE2;
  179. GL_COLOR_LOGIC_OP = $0BF2;
  180. // GL_DITHER = $0BD0;
  181. // GL_STENCIL_TEST = $0B90;
  182. // GL_DEPTH_TEST = $0B71;
  183. GL_POINT_SMOOTH = $0B10;
  184. GL_LINE_SMOOTH = $0B20;
  185. // GL_SCISSOR_TEST = $0C11;
  186. GL_COLOR_MATERIAL = $0B57;
  187. GL_NORMALIZE = $0BA1;
  188. GL_RESCALE_NORMAL = $803A;
  189. // GL_VERTEX_ARRAY = $8074;
  190. GL_NORMAL_ARRAY = $8075;
  191. GL_COLOR_ARRAY = $8076;
  192. GL_TEXTURE_COORD_ARRAY = $8078;
  193. GL_MULTISAMPLE = $809D;
  194. // GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  195. GL_SAMPLE_ALPHA_TO_ONE = $809F;
  196. // GL_SAMPLE_COVERAGE = $80A0;
  197. // GL_NO_ERROR = 0;
  198. // GL_INVALID_ENUM = $0500;
  199. // GL_INVALID_VALUE = $0501;
  200. // GL_INVALID_OPERATION = $0502;
  201. // GL_STACK_OVERFLOW = $0503;
  202. // GL_STACK_UNDERFLOW = $0504;
  203. // GL_OUT_OF_MEMORY = $0505;
  204. GL_EXP = $0800;
  205. GL_EXP2 = $0801;
  206. GL_FOG_DENSITY = $0B62;
  207. GL_FOG_START = $0B63;
  208. GL_FOG_END = $0B64;
  209. GL_FOG_MODE = $0B65;
  210. GL_FOG_COLOR = $0B66;
  211. // GL_CW = $0900;
  212. // GL_CCW = $0901;
  213. GL_CURRENT_COLOR = $0B00;
  214. GL_CURRENT_NORMAL = $0B02;
  215. GL_CURRENT_TEXTURE_COORDS = $0B03;
  216. GL_POINT_SIZE = $0B11;
  217. GL_POINT_SIZE_MIN = $8126;
  218. GL_POINT_SIZE_MAX = $8127;
  219. GL_POINT_FADE_THRESHOLD_SIZE = $8128;
  220. GL_POINT_DISTANCE_ATTENUATION = $8129;
  221. GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
  222. // GL_LINE_WIDTH = $0B21;
  223. GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
  224. // GL_ALIASED_POINT_SIZE_RANGE = $846D;
  225. // GL_ALIASED_LINE_WIDTH_RANGE = $846E;
  226. // GL_CULL_FACE_MODE = $0B45;
  227. // GL_FRONT_FACE = $0B46;
  228. GL_SHADE_MODEL = $0B54;
  229. // GL_DEPTH_RANGE = $0B70;
  230. // GL_DEPTH_WRITEMASK = $0B72;
  231. // GL_DEPTH_CLEAR_VALUE = $0B73;
  232. // GL_DEPTH_FUNC = $0B74;
  233. // GL_STENCIL_CLEAR_VALUE = $0B91;
  234. // GL_STENCIL_FUNC = $0B92;
  235. // GL_STENCIL_VALUE_MASK = $0B93;
  236. // GL_STENCIL_FAIL = $0B94;
  237. // GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  238. // GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  239. // GL_STENCIL_REF = $0B97;
  240. // GL_STENCIL_WRITEMASK = $0B98;
  241. GL_MATRIX_MODE = $0BA0;
  242. // GL_VIEWPORT = $0BA2;
  243. GL_MODELVIEW_STACK_DEPTH = $0BA3;
  244. GL_PROJECTION_STACK_DEPTH = $0BA4;
  245. GL_TEXTURE_STACK_DEPTH = $0BA5;
  246. GL_MODELVIEW_MATRIX = $0BA6;
  247. GL_PROJECTION_MATRIX = $0BA7;
  248. GL_TEXTURE_MATRIX = $0BA8;
  249. GL_ALPHA_TEST_FUNC = $0BC1;
  250. GL_ALPHA_TEST_REF = $0BC2;
  251. GL_BLEND_DST = $0BE0;
  252. GL_BLEND_SRC = $0BE1;
  253. GL_LOGIC_OP_MODE = $0BF0;
  254. // GL_SCISSOR_BOX = $0C10;
  255. // GL_COLOR_CLEAR_VALUE = $0C22;
  256. // GL_COLOR_WRITEMASK = $0C23;
  257. GL_MAX_LIGHTS = $0D31;
  258. GL_MAX_CLIP_PLANES = $0D32;
  259. // GL_MAX_TEXTURE_SIZE = $0D33;
  260. GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
  261. GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
  262. GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
  263. // GL_MAX_VIEWPORT_DIMS = $0D3A;
  264. GL_MAX_TEXTURE_UNITS = $84E2;
  265. // GL_SUBPIXEL_BITS = $0D50;
  266. // GL_RED_BITS = $0D52;
  267. // GL_GREEN_BITS = $0D53;
  268. // GL_BLUE_BITS = $0D54;
  269. // GL_ALPHA_BITS = $0D55;
  270. // GL_DEPTH_BITS = $0D56;
  271. // GL_STENCIL_BITS = $0D57;
  272. // GL_POLYGON_OFFSET_UNITS = $2A00;
  273. // GL_POLYGON_OFFSET_FILL = $8037;
  274. // GL_POLYGON_OFFSET_FACTOR = $8038;
  275. // GL_TEXTURE_BINDING_2D = $8069;
  276. GL_VERTEX_ARRAY_SIZE = $807A;
  277. GL_VERTEX_ARRAY_TYPE = $807B;
  278. GL_VERTEX_ARRAY_STRIDE = $807C;
  279. GL_NORMAL_ARRAY_TYPE = $807E;
  280. GL_NORMAL_ARRAY_STRIDE = $807F;
  281. GL_COLOR_ARRAY_SIZE = $8081;
  282. GL_COLOR_ARRAY_TYPE = $8082;
  283. GL_COLOR_ARRAY_STRIDE = $8083;
  284. GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
  285. GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
  286. GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
  287. GL_VERTEX_ARRAY_POINTER = $808E;
  288. GL_NORMAL_ARRAY_POINTER = $808F;
  289. GL_COLOR_ARRAY_POINTER = $8090;
  290. GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
  291. // GL_SAMPLE_BUFFERS = $80A8;
  292. // GL_SAMPLES = $80A9;
  293. // GL_SAMPLE_COVERAGE_VALUE = $80AA;
  294. // GL_SAMPLE_COVERAGE_INVERT = $80AB;
  295. // GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  296. // GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  297. // GL_DONT_CARE = $1100;
  298. // GL_FASTEST = $1101;
  299. // GL_NICEST = $1102;
  300. GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
  301. GL_POINT_SMOOTH_HINT = $0C51;
  302. GL_LINE_SMOOTH_HINT = $0C52;
  303. GL_FOG_HINT = $0C54;
  304. // GL_GENERATE_MIPMAP_HINT = $8192;
  305. GL_LIGHT_MODEL_AMBIENT = $0B53;
  306. GL_LIGHT_MODEL_TWO_SIDE = $0B52;
  307. GL_AMBIENT = $1200;
  308. GL_DIFFUSE = $1201;
  309. GL_SPECULAR = $1202;
  310. GL_POSITION = $1203;
  311. GL_SPOT_DIRECTION = $1204;
  312. GL_SPOT_EXPONENT = $1205;
  313. GL_SPOT_CUTOFF = $1206;
  314. GL_CONSTANT_ATTENUATION = $1207;
  315. GL_LINEAR_ATTENUATION = $1208;
  316. GL_QUADRATIC_ATTENUATION = $1209;
  317. // GL_BYTE = $1400;
  318. // GL_UNSIGNED_BYTE = $1401;
  319. // GL_SHORT = $1402;
  320. // GL_UNSIGNED_SHORT = $1403;
  321. // GL_FLOAT = $1406;
  322. // GL_FIXED = $140C;
  323. GL_CLEAR = $1500;
  324. GL_AND = $1501;
  325. GL_AND_REVERSE = $1502;
  326. GL_COPY = $1503;
  327. GL_AND_INVERTED = $1504;
  328. GL_NOOP = $1505;
  329. GL_XOR = $1506;
  330. GL_OR = $1507;
  331. GL_NOR = $1508;
  332. GL_EQUIV = $1509;
  333. // GL_INVERT = $150A;
  334. GL_OR_REVERSE = $150B;
  335. GL_COPY_INVERTED = $150C;
  336. GL_OR_INVERTED = $150D;
  337. GL_NAND = $150E;
  338. GL_SET = $150F;
  339. GL_EMISSION = $1600;
  340. GL_SHININESS = $1601;
  341. GL_AMBIENT_AND_DIFFUSE = $1602;
  342. GL_MODELVIEW = $1700;
  343. GL_PROJECTION = $1701;
  344. // GL_TEXTURE = $1702;
  345. // GL_ALPHA = $1906;
  346. // GL_RGB = $1907;
  347. // GL_RGBA = $1908;
  348. // GL_LUMINANCE = $1909;
  349. // GL_LUMINANCE_ALPHA = $190A;
  350. // GL_UNPACK_ALIGNMENT = $0CF5;
  351. // GL_PACK_ALIGNMENT = $0D05;
  352. // GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  353. // GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  354. // GL_UNSIGNED_SHORT_5_6_5 = $8363;
  355. GL_FLAT = $1D00;
  356. GL_SMOOTH = $1D01;
  357. // GL_KEEP = $1E00;
  358. // GL_REPLACE = $1E01;
  359. // GL_INCR = $1E02;
  360. // GL_DECR = $1E03;
  361. // GL_VENDOR = $1F00;
  362. // GL_RENDERER = $1F01;
  363. // GL_VERSION = $1F02;
  364. // GL_EXTENSIONS = $1F03;
  365. GL_MODULATE = $2100;
  366. GL_DECAL = $2101;
  367. GL_ADD = $0104;
  368. GL_TEXTURE_ENV_MODE = $2200;
  369. GL_TEXTURE_ENV_COLOR = $2201;
  370. GL_TEXTURE_ENV = $2300;
  371. // GL_NEAREST = $2600;
  372. // GL_LINEAR = $2601;
  373. // GL_NEAREST_MIPMAP_NEAREST = $2700;
  374. // GL_LINEAR_MIPMAP_NEAREST = $2701;
  375. // GL_NEAREST_MIPMAP_LINEAR = $2702;
  376. // GL_LINEAR_MIPMAP_LINEAR = $2703;
  377. // GL_TEXTURE_MAG_FILTER = $2800;
  378. // GL_TEXTURE_MIN_FILTER = $2801;
  379. // GL_TEXTURE_WRAP_S = $2802;
  380. // GL_TEXTURE_WRAP_T = $2803;
  381. GL_GENERATE_MIPMAP = $8191;
  382. // GL_TEXTURE0 = $84C0;
  383. // GL_TEXTURE1 = $84C1;
  384. // GL_TEXTURE2 = $84C2;
  385. // GL_TEXTURE3 = $84C3;
  386. // GL_TEXTURE4 = $84C4;
  387. // GL_TEXTURE5 = $84C5;
  388. // GL_TEXTURE6 = $84C6;
  389. // GL_TEXTURE7 = $84C7;
  390. // GL_TEXTURE8 = $84C8;
  391. // GL_TEXTURE9 = $84C9;
  392. // GL_TEXTURE10 = $84CA;
  393. // GL_TEXTURE11 = $84CB;
  394. // GL_TEXTURE12 = $84CC;
  395. // GL_TEXTURE13 = $84CD;
  396. // GL_TEXTURE14 = $84CE;
  397. // GL_TEXTURE15 = $84CF;
  398. // GL_TEXTURE16 = $84D0;
  399. // GL_TEXTURE17 = $84D1;
  400. // GL_TEXTURE18 = $84D2;
  401. // GL_TEXTURE19 = $84D3;
  402. // GL_TEXTURE20 = $84D4;
  403. // GL_TEXTURE21 = $84D5;
  404. // GL_TEXTURE22 = $84D6;
  405. // GL_TEXTURE23 = $84D7;
  406. // GL_TEXTURE24 = $84D8;
  407. // GL_TEXTURE25 = $84D9;
  408. // GL_TEXTURE26 = $84DA;
  409. // GL_TEXTURE27 = $84DB;
  410. // GL_TEXTURE28 = $84DC;
  411. // GL_TEXTURE29 = $84DD;
  412. // GL_TEXTURE30 = $84DE;
  413. // GL_TEXTURE31 = $84DF;
  414. // GL_ACTIVE_TEXTURE = $84E0;
  415. GL_CLIENT_ACTIVE_TEXTURE = $84E1;
  416. // GL_REPEAT = $2901;
  417. // GL_CLAMP_TO_EDGE = $812F;
  418. GL_LIGHT0 = $4000;
  419. GL_LIGHT1 = $4001;
  420. GL_LIGHT2 = $4002;
  421. GL_LIGHT3 = $4003;
  422. GL_LIGHT4 = $4004;
  423. GL_LIGHT5 = $4005;
  424. GL_LIGHT6 = $4006;
  425. GL_LIGHT7 = $4007;
  426. // GL_ARRAY_BUFFER = $8892;
  427. // GL_ELEMENT_ARRAY_BUFFER = $8893;
  428. // GL_ARRAY_BUFFER_BINDING = $8894;
  429. // GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
  430. GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
  431. GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
  432. GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
  433. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
  434. // GL_STATIC_DRAW = $88E4;
  435. // GL_DYNAMIC_DRAW = $88E8;
  436. // GL_BUFFER_SIZE = $8764;
  437. // GL_BUFFER_USAGE = $8765;
  438. GL_SUBTRACT = $84E7;
  439. GL_COMBINE = $8570;
  440. GL_COMBINE_RGB = $8571;
  441. GL_COMBINE_ALPHA = $8572;
  442. GL_RGB_SCALE = $8573;
  443. GL_ADD_SIGNED = $8574;
  444. GL_INTERPOLATE = $8575;
  445. GL_CONSTANT = $8576;
  446. GL_PRIMARY_COLOR = $8577;
  447. GL_PREVIOUS = $8578;
  448. GL_OPERAND0_RGB = $8590;
  449. GL_OPERAND1_RGB = $8591;
  450. GL_OPERAND2_RGB = $8592;
  451. GL_OPERAND0_ALPHA = $8598;
  452. GL_OPERAND1_ALPHA = $8599;
  453. GL_OPERAND2_ALPHA = $859A;
  454. GL_ALPHA_SCALE = $0D1C;
  455. GL_SRC0_RGB = $8580;
  456. GL_SRC1_RGB = $8581;
  457. GL_SRC2_RGB = $8582;
  458. GL_SRC0_ALPHA = $8588;
  459. GL_SRC1_ALPHA = $8589;
  460. GL_SRC2_ALPHA = $858A;
  461. GL_DOT3_RGB = $86AE;
  462. GL_DOT3_RGBA = $86AF;
  463. // GL_OES_point_size_array
  464. GL_POINT_SIZE_ARRAY_OES = $8B9C;
  465. GL_POINT_SIZE_ARRAY_TYPE_OES = $898A;
  466. GL_POINT_SIZE_ARRAY_STRIDE_OES = $898B;
  467. GL_POINT_SIZE_ARRAY_POINTER_OES = $898C;
  468. GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = $8B9F;
  469. // GL_OES_point_sprite
  470. GL_POINT_SPRITE_OES = $8861;
  471. GL_COORD_REPLACE_OES = $8862;
  472. // GL_OES_blend_equation_separate
  473. GL_BLEND_EQUATION_RGB_OES = $8009;
  474. GL_BLEND_EQUATION_ALPHA_OES = $883D;
  475. // GL_OES_blend_func_separate
  476. GL_BLEND_DST_RGB_OES = $80C8;
  477. GL_BLEND_SRC_RGB_OES = $80C9;
  478. GL_BLEND_DST_ALPHA_OES = $80CA;
  479. GL_BLEND_SRC_ALPHA_OES = $80CB;
  480. // GL_OES_blend_subtract
  481. GL_BLEND_EQUATION_OES = $8009;
  482. GL_FUNC_ADD_OES = $8006;
  483. GL_FUNC_SUBTRACT_OES = $800A;
  484. GL_FUNC_REVERSE_SUBTRACT_OES = $800B;
  485. // GL_OES_draw_texture
  486. GL_TEXTURE_CROP_RECT_OES = $8B9D;
  487. // GL_OES_fixed_point
  488. GL_FIXED_OES = $140C;
  489. // GL_OES_framebuffer_object
  490. GL_NONE_OES = 0;
  491. GL_FRAMEBUFFER_OES = $8D40;
  492. GL_RENDERBUFFER_OES = $8D41;
  493. // GL_RGBA4_OES = $8056;
  494. // GL_RGB5_A1_OES = $8057;
  495. // GL_RGB565_OES = $8D62;
  496. // GL_DEPTH_COMPONENT16_OES = $81A5;
  497. GL_RENDERBUFFER_WIDTH_OES = $8D42;
  498. GL_RENDERBUFFER_HEIGHT_OES = $8D43;
  499. GL_RENDERBUFFER_INTERNAL_FORMAT_OES = $8D44;
  500. GL_RENDERBUFFER_RED_SIZE_OES = $8D50;
  501. GL_RENDERBUFFER_GREEN_SIZE_OES = $8D51;
  502. GL_RENDERBUFFER_BLUE_SIZE_OES = $8D52;
  503. GL_RENDERBUFFER_ALPHA_SIZE_OES = $8D53;
  504. GL_RENDERBUFFER_DEPTH_SIZE_OES = $8D54;
  505. GL_RENDERBUFFER_STENCIL_SIZE_OES = $8D55;
  506. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = $8CD0;
  507. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = $8CD1;
  508. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = $8CD2;
  509. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = $8CD3;
  510. GL_COLOR_ATTACHMENT0_OES = $8CE0;
  511. GL_DEPTH_ATTACHMENT_OES = $8D00;
  512. GL_STENCIL_ATTACHMENT_OES = $8D20;
  513. GL_FRAMEBUFFER_COMPLETE_OES = $8CD5;
  514. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = $8CD6;
  515. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = $8CD7;
  516. GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = $8CD9;
  517. GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = $8CDA;
  518. GL_FRAMEBUFFER_UNSUPPORTED_OES = $8CDD;
  519. GL_FRAMEBUFFER_BINDING_OES = $8CA6;
  520. GL_RENDERBUFFER_BINDING_OES = $8CA7;
  521. GL_MAX_RENDERBUFFER_SIZE_OES = $84E8;
  522. GL_INVALID_FRAMEBUFFER_OPERATION_OES = $0506;
  523. // GL_OES_matrix_get
  524. GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = $898D;
  525. GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = $898E;
  526. GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = $898F;
  527. // GL_OES_matrix_palette
  528. GL_MAX_VERTEX_UNITS_OES = $86A4;
  529. GL_MAX_PALETTE_MATRICES_OES = $8842;
  530. GL_MATRIX_PALETTE_OES = $8840;
  531. GL_MATRIX_INDEX_ARRAY_OES = $8844;
  532. GL_WEIGHT_ARRAY_OES = $86AD;
  533. GL_CURRENT_PALETTE_MATRIX_OES = $8843;
  534. GL_MATRIX_INDEX_ARRAY_SIZE_OES = $8846;
  535. GL_MATRIX_INDEX_ARRAY_TYPE_OES = $8847;
  536. GL_MATRIX_INDEX_ARRAY_STRIDE_OES = $8848;
  537. GL_MATRIX_INDEX_ARRAY_POINTER_OES = $8849;
  538. GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = $8B9E;
  539. GL_WEIGHT_ARRAY_SIZE_OES = $86AB;
  540. GL_WEIGHT_ARRAY_TYPE_OES = $86A9;
  541. GL_WEIGHT_ARRAY_STRIDE_OES = $86AA;
  542. GL_WEIGHT_ARRAY_POINTER_OES = $86AC;
  543. GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = $889E;
  544. // GL_OES_stencil_wrap
  545. GL_INCR_WRAP_OES = $8507;
  546. GL_DECR_WRAP_OES = $8508;
  547. // GL_OES_texture_cube_map
  548. GL_NORMAL_MAP_OES = $8511;
  549. GL_REFLECTION_MAP_OES = $8512;
  550. GL_TEXTURE_CUBE_MAP_OES = $8513;
  551. GL_TEXTURE_BINDING_CUBE_MAP_OES = $8514;
  552. GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = $8515;
  553. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = $8516;
  554. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = $8517;
  555. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = $8518;
  556. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = $8519;
  557. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = $851A;
  558. GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = $851C;
  559. GL_TEXTURE_GEN_MODE_OES = $2500;
  560. GL_TEXTURE_GEN_STR_OES = $8D60;
  561. // GL_OES_texture_mirrored_repeat
  562. GL_MIRRORED_REPEAT_OES = $8370;
  563. // GL_AMD_compressed_ATC_texture
  564. GL_ATC_RGB_AMD = $8C92;
  565. // GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = $8C93;
  566. // GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = $87EE;
  567. // GL_EXT_texture_lod_bias
  568. GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
  569. GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
  570. GL_TEXTURE_LOD_BIAS_EXT = $8501;
  571. // GL_IMG_texture_env_enhanced_fixed_function
  572. GL_MODULATE_COLOR_IMG = $8C04;
  573. GL_RECIP_ADD_SIGNED_ALPHA_IMG = $8C05;
  574. GL_TEXTURE_ALPHA_MODULATE_IMG = $8C06;
  575. GL_FACTOR_ALPHA_MODULATE_IMG = $8C07;
  576. GL_FRAGMENT_ALPHA_MODULATE_IMG = $8C08;
  577. GL_ADD_BLEND_IMG = $8C09;
  578. GL_DOT3_RGBA_IMG = $86AF;
  579. // GL_IMG_user_clip_plane
  580. GL_CLIP_PLANE0_IMG = $3000;
  581. GL_CLIP_PLANE1_IMG = $3001;
  582. GL_CLIP_PLANE2_IMG = $3002;
  583. GL_CLIP_PLANE3_IMG = $3003;
  584. GL_CLIP_PLANE4_IMG = $3004;
  585. GL_CLIP_PLANE5_IMG = $3005;
  586. GL_MAX_CLIP_PLANES_IMG = $0D32;
  587. (*******************************************************************************
  588. * END GLES 1.0/1.1 *
  589. *******************************************************************************)
  590. (*******************************************************************************
  591. * GL_ES_VERSION_2_0 *
  592. *******************************************************************************)
  593. GL_DEPTH_BUFFER_BIT = $00000100;
  594. GL_STENCIL_BUFFER_BIT = $00000400;
  595. GL_COLOR_BUFFER_BIT = $00004000;
  596. GL_FALSE = 0;
  597. GL_TRUE = 1;
  598. GL_POINTS = $0000;
  599. GL_LINES = $0001;
  600. GL_LINE_LOOP = $0002;
  601. GL_LINE_STRIP = $0003;
  602. GL_TRIANGLES = $0004;
  603. GL_TRIANGLE_STRIP = $0005;
  604. GL_TRIANGLE_FAN = $0006;
  605. GL_ZERO = 0;
  606. GL_ONE = 1;
  607. GL_SRC_COLOR = $0300;
  608. GL_ONE_MINUS_SRC_COLOR = $0301;
  609. GL_SRC_ALPHA = $0302;
  610. GL_ONE_MINUS_SRC_ALPHA = $0303;
  611. GL_DST_ALPHA = $0304;
  612. GL_ONE_MINUS_DST_ALPHA = $0305;
  613. GL_DST_COLOR = $0306;
  614. GL_ONE_MINUS_DST_COLOR = $0307;
  615. GL_SRC_ALPHA_SATURATE = $0308;
  616. GL_FUNC_ADD = $8006;
  617. GL_BLEND_EQUATION = $8009;
  618. GL_BLEND_EQUATION_RGB = $8009;
  619. GL_BLEND_EQUATION_ALPHA = $883D;
  620. GL_FUNC_SUBTRACT = $800A;
  621. GL_FUNC_REVERSE_SUBTRACT = $800B;
  622. GL_BLEND_DST_RGB = $80C8;
  623. GL_BLEND_SRC_RGB = $80C9;
  624. GL_BLEND_DST_ALPHA = $80CA;
  625. GL_BLEND_SRC_ALPHA = $80CB;
  626. GL_CONSTANT_COLOR = $8001;
  627. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  628. GL_CONSTANT_ALPHA = $8003;
  629. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  630. GL_BLEND_COLOR = $8005;
  631. GL_ARRAY_BUFFER = $8892;
  632. GL_ELEMENT_ARRAY_BUFFER = $8893;
  633. GL_ARRAY_BUFFER_BINDING = $8894;
  634. GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
  635. GL_STREAM_DRAW = $88E0;
  636. GL_STATIC_DRAW = $88E4;
  637. GL_DYNAMIC_DRAW = $88E8;
  638. GL_BUFFER_SIZE = $8764;
  639. GL_BUFFER_USAGE = $8765;
  640. GL_CURRENT_VERTEX_ATTRIB = $8626;
  641. GL_FRONT = $0404;
  642. GL_BACK = $0405;
  643. GL_FRONT_AND_BACK = $0408;
  644. GL_TEXTURE_2D = $0DE1;
  645. GL_CULL_FACE = $0B44;
  646. GL_BLEND = $0BE2;
  647. GL_DITHER = $0BD0;
  648. GL_STENCIL_TEST = $0B90;
  649. GL_DEPTH_TEST = $0B71;
  650. GL_SCISSOR_TEST = $0C11;
  651. GL_POLYGON_OFFSET_FILL = $8037;
  652. GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  653. GL_SAMPLE_COVERAGE = $80A0;
  654. GL_NO_ERROR = 0;
  655. GL_INVALID_ENUM = $0500;
  656. GL_INVALID_VALUE = $0501;
  657. GL_INVALID_OPERATION = $0502;
  658. GL_OUT_OF_MEMORY = $0505;
  659. GL_CW = $0900;
  660. GL_CCW = $0901;
  661. GL_LINE_WIDTH = $0B21;
  662. GL_ALIASED_POINT_SIZE_RANGE = $846D;
  663. GL_ALIASED_LINE_WIDTH_RANGE = $846E;
  664. GL_CULL_FACE_MODE = $0B45;
  665. GL_FRONT_FACE = $0B46;
  666. GL_DEPTH_RANGE = $0B70;
  667. GL_DEPTH_WRITEMASK = $0B72;
  668. GL_DEPTH_CLEAR_VALUE = $0B73;
  669. GL_DEPTH_FUNC = $0B74;
  670. GL_STENCIL_CLEAR_VALUE = $0B91;
  671. GL_STENCIL_FUNC = $0B92;
  672. GL_STENCIL_FAIL = $0B94;
  673. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  674. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  675. GL_STENCIL_REF = $0B97;
  676. GL_STENCIL_VALUE_MASK = $0B93;
  677. GL_STENCIL_WRITEMASK = $0B98;
  678. GL_STENCIL_BACK_FUNC = $8800;
  679. GL_STENCIL_BACK_FAIL = $8801;
  680. GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
  681. GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
  682. GL_STENCIL_BACK_REF = $8CA3;
  683. GL_STENCIL_BACK_VALUE_MASK = $8CA4;
  684. GL_STENCIL_BACK_WRITEMASK = $8CA5;
  685. GL_VIEWPORT = $0BA2;
  686. GL_SCISSOR_BOX = $0C10;
  687. GL_COLOR_CLEAR_VALUE = $0C22;
  688. GL_COLOR_WRITEMASK = $0C23;
  689. GL_UNPACK_ALIGNMENT = $0CF5;
  690. GL_PACK_ALIGNMENT = $0D05;
  691. GL_MAX_TEXTURE_SIZE = $0D33;
  692. GL_MAX_VIEWPORT_DIMS = $0D3A;
  693. GL_SUBPIXEL_BITS = $0D50;
  694. GL_RED_BITS = $0D52;
  695. GL_GREEN_BITS = $0D53;
  696. GL_BLUE_BITS = $0D54;
  697. GL_ALPHA_BITS = $0D55;
  698. GL_DEPTH_BITS = $0D56;
  699. GL_STENCIL_BITS = $0D57;
  700. GL_POLYGON_OFFSET_UNITS = $2A00;
  701. GL_POLYGON_OFFSET_FACTOR = $8038;
  702. GL_TEXTURE_BINDING_2D = $8069;
  703. GL_SAMPLE_BUFFERS = $80A8;
  704. GL_SAMPLES = $80A9;
  705. GL_SAMPLE_COVERAGE_VALUE = $80AA;
  706. GL_SAMPLE_COVERAGE_INVERT = $80AB;
  707. GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  708. GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  709. GL_DONT_CARE = $1100;
  710. GL_FASTEST = $1101;
  711. GL_NICEST = $1102;
  712. GL_GENERATE_MIPMAP_HINT = $8192;
  713. GL_BYTE = $1400;
  714. GL_UNSIGNED_BYTE = $1401;
  715. GL_SHORT = $1402;
  716. GL_UNSIGNED_SHORT = $1403;
  717. GL_INT = $1404;
  718. GL_UNSIGNED_INT = $1405;
  719. GL_FLOAT = $1406;
  720. GL_FIXED = $140C;
  721. GL_DEPTH_COMPONENT = $1902;
  722. GL_ALPHA = $1906;
  723. GL_RGB = $1907;
  724. GL_RGBA = $1908;
  725. GL_LUMINANCE = $1909;
  726. GL_LUMINANCE_ALPHA = $190A;
  727. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  728. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  729. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  730. GL_FRAGMENT_SHADER = $8B30;
  731. GL_VERTEX_SHADER = $8B31;
  732. GL_MAX_VERTEX_ATTRIBS = $8869;
  733. GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
  734. GL_MAX_VARYING_VECTORS = $8DFC;
  735. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
  736. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
  737. GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
  738. GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
  739. GL_SHADER_TYPE = $8B4F;
  740. GL_DELETE_STATUS = $8B80;
  741. GL_LINK_STATUS = $8B82;
  742. GL_VALIDATE_STATUS = $8B83;
  743. GL_ATTACHED_SHADERS = $8B85;
  744. GL_ACTIVE_UNIFORMS = $8B86;
  745. GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
  746. GL_ACTIVE_ATTRIBUTES = $8B89;
  747. GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
  748. GL_SHADING_LANGUAGE_VERSION = $8B8C;
  749. GL_CURRENT_PROGRAM = $8B8D;
  750. GL_NEVER = $0200;
  751. GL_LESS = $0201;
  752. GL_EQUAL = $0202;
  753. GL_LEQUAL = $0203;
  754. GL_GREATER = $0204;
  755. GL_NOTEQUAL = $0205;
  756. GL_GEQUAL = $0206;
  757. GL_ALWAYS = $0207;
  758. GL_KEEP = $1E00;
  759. GL_REPLACE = $1E01;
  760. GL_INCR = $1E02;
  761. GL_DECR = $1E03;
  762. GL_INVERT = $150A;
  763. GL_INCR_WRAP = $8507;
  764. GL_DECR_WRAP = $8508;
  765. GL_VENDOR = $1F00;
  766. GL_RENDERER = $1F01;
  767. GL_VERSION = $1F02;
  768. GL_EXTENSIONS = $1F03;
  769. GL_NEAREST = $2600;
  770. GL_LINEAR = $2601;
  771. GL_NEAREST_MIPMAP_NEAREST = $2700;
  772. GL_LINEAR_MIPMAP_NEAREST = $2701;
  773. GL_NEAREST_MIPMAP_LINEAR = $2702;
  774. GL_LINEAR_MIPMAP_LINEAR = $2703;
  775. GL_TEXTURE_MAG_FILTER = $2800;
  776. GL_TEXTURE_MIN_FILTER = $2801;
  777. GL_TEXTURE_WRAP_S = $2802;
  778. GL_TEXTURE_WRAP_T = $2803;
  779. GL_TEXTURE = $1702;
  780. GL_TEXTURE_CUBE_MAP = $8513;
  781. GL_TEXTURE_BINDING_CUBE_MAP = $8514;
  782. GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
  783. GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
  784. GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
  785. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
  786. GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
  787. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
  788. GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
  789. GL_TEXTURE0 = $84C0;
  790. GL_TEXTURE1 = $84C1;
  791. GL_TEXTURE2 = $84C2;
  792. GL_TEXTURE3 = $84C3;
  793. GL_TEXTURE4 = $84C4;
  794. GL_TEXTURE5 = $84C5;
  795. GL_TEXTURE6 = $84C6;
  796. GL_TEXTURE7 = $84C7;
  797. GL_TEXTURE8 = $84C8;
  798. GL_TEXTURE9 = $84C9;
  799. GL_TEXTURE10 = $84CA;
  800. GL_TEXTURE11 = $84CB;
  801. GL_TEXTURE12 = $84CC;
  802. GL_TEXTURE13 = $84CD;
  803. GL_TEXTURE14 = $84CE;
  804. GL_TEXTURE15 = $84CF;
  805. GL_TEXTURE16 = $84D0;
  806. GL_TEXTURE17 = $84D1;
  807. GL_TEXTURE18 = $84D2;
  808. GL_TEXTURE19 = $84D3;
  809. GL_TEXTURE20 = $84D4;
  810. GL_TEXTURE21 = $84D5;
  811. GL_TEXTURE22 = $84D6;
  812. GL_TEXTURE23 = $84D7;
  813. GL_TEXTURE24 = $84D8;
  814. GL_TEXTURE25 = $84D9;
  815. GL_TEXTURE26 = $84DA;
  816. GL_TEXTURE27 = $84DB;
  817. GL_TEXTURE28 = $84DC;
  818. GL_TEXTURE29 = $84DD;
  819. GL_TEXTURE30 = $84DE;
  820. GL_TEXTURE31 = $84DF;
  821. GL_ACTIVE_TEXTURE = $84E0;
  822. GL_REPEAT = $2901;
  823. GL_CLAMP_TO_EDGE = $812F;
  824. GL_MIRRORED_REPEAT = $8370;
  825. GL_FLOAT_VEC2 = $8B50;
  826. GL_FLOAT_VEC3 = $8B51;
  827. GL_FLOAT_VEC4 = $8B52;
  828. GL_INT_VEC2 = $8B53;
  829. GL_INT_VEC3 = $8B54;
  830. GL_INT_VEC4 = $8B55;
  831. GL_BOOL = $8B56;
  832. GL_BOOL_VEC2 = $8B57;
  833. GL_BOOL_VEC3 = $8B58;
  834. GL_BOOL_VEC4 = $8B59;
  835. GL_FLOAT_MAT2 = $8B5A;
  836. GL_FLOAT_MAT3 = $8B5B;
  837. GL_FLOAT_MAT4 = $8B5C;
  838. GL_SAMPLER_2D = $8B5E;
  839. GL_SAMPLER_CUBE = $8B60;
  840. GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
  841. GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
  842. GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
  843. GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
  844. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
  845. GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
  846. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
  847. GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
  848. GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
  849. GL_COMPILE_STATUS = $8B81;
  850. GL_INFO_LOG_LENGTH = $8B84;
  851. GL_SHADER_SOURCE_LENGTH = $8B88;
  852. GL_SHADER_COMPILER = $8DFA;
  853. GL_SHADER_BINARY_FORMATS = $8DF8;
  854. GL_NUM_SHADER_BINARY_FORMATS = $8DF9;
  855. GL_LOW_FLOAT = $8DF0;
  856. GL_MEDIUM_FLOAT = $8DF1;
  857. GL_HIGH_FLOAT = $8DF2;
  858. GL_LOW_INT = $8DF3;
  859. GL_MEDIUM_INT = $8DF4;
  860. GL_HIGH_INT = $8DF5;
  861. GL_FRAMEBUFFER = $8D40;
  862. GL_RENDERBUFFER = $8D41;
  863. GL_RGBA4 = $8056;
  864. GL_RGB5_A1 = $8057;
  865. GL_RGB565 = $8D62;
  866. GL_DEPTH_COMPONENT16 = $81A5;
  867. GL_STENCIL_INDEX8 = $8D48;
  868. GL_RENDERBUFFER_WIDTH = $8D42;
  869. GL_RENDERBUFFER_HEIGHT = $8D43;
  870. GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44;
  871. GL_RENDERBUFFER_RED_SIZE = $8D50;
  872. GL_RENDERBUFFER_GREEN_SIZE = $8D51;
  873. GL_RENDERBUFFER_BLUE_SIZE = $8D52;
  874. GL_RENDERBUFFER_ALPHA_SIZE = $8D53;
  875. GL_RENDERBUFFER_DEPTH_SIZE = $8D54;
  876. GL_RENDERBUFFER_STENCIL_SIZE = $8D55;
  877. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
  878. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
  879. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
  880. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
  881. GL_COLOR_ATTACHMENT0 = $8CE0;
  882. GL_DEPTH_ATTACHMENT = $8D00;
  883. GL_STENCIL_ATTACHMENT = $8D20;
  884. GL_NONE = 0;
  885. GL_FRAMEBUFFER_COMPLETE = $8CD5;
  886. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
  887. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
  888. GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = $8CD9;
  889. GL_FRAMEBUFFER_UNSUPPORTED = $8CDD;
  890. GL_FRAMEBUFFER_BINDING = $8CA6;
  891. GL_RENDERBUFFER_BINDING = $8CA7;
  892. GL_MAX_RENDERBUFFER_SIZE = $84E8;
  893. GL_INVALID_FRAMEBUFFER_OPERATION = $0506;
  894. // GL_KHR_blend_equation_advanced
  895. GL_MULTIPLY_KHR = $9294;
  896. GL_SCREEN_KHR = $9295;
  897. GL_OVERLAY_KHR = $9296;
  898. GL_DARKEN_KHR = $9297;
  899. GL_LIGHTEN_KHR = $9298;
  900. GL_COLORDODGE_KHR = $9299;
  901. GL_COLORBURN_KHR = $929A;
  902. GL_HARDLIGHT_KHR = $929B;
  903. GL_SOFTLIGHT_KHR = $929C;
  904. GL_DIFFERENCE_KHR = $929E;
  905. GL_EXCLUSION_KHR = $92A0;
  906. GL_HSL_HUE_KHR = $92AD;
  907. GL_HSL_SATURATION_KHR = $92AE;
  908. GL_HSL_COLOR_KHR = $92AF;
  909. GL_HSL_LUMINOSITY_KHR = $92B0;
  910. // GL_KHR_blend_equation_advanced_coherent
  911. GL_BLEND_ADVANCED_COHERENT_KHR = $9285;
  912. // GL_KHR_context_flush_control
  913. GL_CONTEXT_RELEASE_BEHAVIOR_KHR = $82FB;
  914. GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = $82FC;
  915. // GL_KHR_debug
  916. GL_SAMPLER = $82E6;
  917. GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = $8242;
  918. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = $8243;
  919. GL_DEBUG_CALLBACK_FUNCTION_KHR = $8244;
  920. GL_DEBUG_CALLBACK_USER_PARAM_KHR = $8245;
  921. GL_DEBUG_SOURCE_API_KHR = $8246;
  922. GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = $8247;
  923. GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = $8248;
  924. GL_DEBUG_SOURCE_THIRD_PARTY_KHR = $8249;
  925. GL_DEBUG_SOURCE_APPLICATION_KHR = $824A;
  926. GL_DEBUG_SOURCE_OTHER_KHR = $824B;
  927. GL_DEBUG_TYPE_ERROR_KHR = $824C;
  928. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = $824D;
  929. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = $824E;
  930. GL_DEBUG_TYPE_PORTABILITY_KHR = $824F;
  931. GL_DEBUG_TYPE_PERFORMANCE_KHR = $8250;
  932. GL_DEBUG_TYPE_OTHER_KHR = $8251;
  933. GL_DEBUG_TYPE_MARKER_KHR = $8268;
  934. GL_DEBUG_TYPE_PUSH_GROUP_KHR = $8269;
  935. GL_DEBUG_TYPE_POP_GROUP_KHR = $826A;
  936. GL_DEBUG_SEVERITY_NOTIFICATION_KHR = $826B;
  937. GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = $826C;
  938. GL_DEBUG_GROUP_STACK_DEPTH_KHR = $826D;
  939. GL_BUFFER_KHR = $82E0;
  940. GL_SHADER_KHR = $82E1;
  941. GL_PROGRAM_KHR = $82E2;
  942. GL_VERTEX_ARRAY_KHR = $8074;
  943. GL_QUERY_KHR = $82E3;
  944. GL_PROGRAM_PIPELINE_KHR = $82E4;
  945. GL_SAMPLER_KHR = $82E6;
  946. GL_MAX_LABEL_LENGTH_KHR = $82E8;
  947. GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = $9143;
  948. GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = $9144;
  949. GL_DEBUG_LOGGED_MESSAGES_KHR = $9145;
  950. GL_DEBUG_SEVERITY_HIGH_KHR = $9146;
  951. GL_DEBUG_SEVERITY_MEDIUM_KHR = $9147;
  952. GL_DEBUG_SEVERITY_LOW_KHR = $9148;
  953. GL_DEBUG_OUTPUT_KHR = $92E0;
  954. GL_CONTEXT_FLAG_DEBUG_BIT_KHR = $00000002;
  955. GL_STACK_OVERFLOW_KHR = $0503;
  956. GL_STACK_UNDERFLOW_KHR = $0504;
  957. {$IfDef GL_KHR_debug}
  958. type
  959. GLDEBUGPROCKHR = procedure(source:GLenum; _type:GLenum; id:GLuint; severity:GLenum; length:GLsizei;
  960. message:PGLchar; userParam:pointer);cdecl;
  961. {$EndIf}
  962. const
  963. // GL_KHR_no_error
  964. GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = $00000008;
  965. // GL_KHR_parallel_shader_compile
  966. GL_MAX_SHADER_COMPILER_THREADS_KHR = $91B0;
  967. GL_COMPLETION_STATUS_KHR = $91B1;
  968. // GL_KHR_robustness
  969. GL_CONTEXT_ROBUST_ACCESS_KHR = $90F3;
  970. GL_LOSE_CONTEXT_ON_RESET_KHR = $8252;
  971. GL_GUILTY_CONTEXT_RESET_KHR = $8253;
  972. GL_INNOCENT_CONTEXT_RESET_KHR = $8254;
  973. GL_UNKNOWN_CONTEXT_RESET_KHR = $8255;
  974. GL_RESET_NOTIFICATION_STRATEGY_KHR = $8256;
  975. GL_NO_RESET_NOTIFICATION_KHR = $8261;
  976. GL_CONTEXT_LOST_KHR = $0507;
  977. // GL_KHR_shader_subgroup
  978. GL_SUBGROUP_SIZE_KHR = $9532;
  979. GL_SUBGROUP_SUPPORTED_STAGES_KHR = $9533;
  980. GL_SUBGROUP_SUPPORTED_FEATURES_KHR = $9534;
  981. GL_SUBGROUP_QUAD_ALL_STAGES_KHR = $9535;
  982. GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = $00000001;
  983. GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = $00000002;
  984. GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = $00000004;
  985. GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = $00000008;
  986. GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = $00000010;
  987. GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = $00000020;
  988. GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = $00000040;
  989. GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = $00000080;
  990. // GL_KHR_texture_compression_astc_hdr
  991. GL_COMPRESSED_RGBA_ASTC_4x4_KHR = $93B0;
  992. GL_COMPRESSED_RGBA_ASTC_5x4_KHR = $93B1;
  993. GL_COMPRESSED_RGBA_ASTC_5x5_KHR = $93B2;
  994. GL_COMPRESSED_RGBA_ASTC_6x5_KHR = $93B3;
  995. GL_COMPRESSED_RGBA_ASTC_6x6_KHR = $93B4;
  996. GL_COMPRESSED_RGBA_ASTC_8x5_KHR = $93B5;
  997. GL_COMPRESSED_RGBA_ASTC_8x6_KHR = $93B6;
  998. GL_COMPRESSED_RGBA_ASTC_8x8_KHR = $93B7;
  999. GL_COMPRESSED_RGBA_ASTC_10x5_KHR = $93B8;
  1000. GL_COMPRESSED_RGBA_ASTC_10x6_KHR = $93B9;
  1001. GL_COMPRESSED_RGBA_ASTC_10x8_KHR = $93BA;
  1002. GL_COMPRESSED_RGBA_ASTC_10x10_KHR = $93BB;
  1003. GL_COMPRESSED_RGBA_ASTC_12x10_KHR = $93BC;
  1004. GL_COMPRESSED_RGBA_ASTC_12x12_KHR = $93BD;
  1005. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = $93D0;
  1006. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = $93D1;
  1007. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = $93D2;
  1008. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = $93D3;
  1009. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = $93D4;
  1010. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = $93D5;
  1011. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = $93D6;
  1012. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = $93D7;
  1013. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = $93D8;
  1014. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = $93D9;
  1015. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = $93DA;
  1016. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = $93DB;
  1017. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = $93DC;
  1018. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = $93DD;
  1019. // GL_OES_EGL_image_external
  1020. GL_TEXTURE_EXTERNAL_OES = $8D65;
  1021. GL_TEXTURE_BINDING_EXTERNAL_OES = $8D67;
  1022. GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = $8D68;
  1023. GL_SAMPLER_EXTERNAL_OES = $8D66;
  1024. // GL_OES_compressed_ETC1_RGB8_texture
  1025. GL_ETC1_RGB8_OES = $8D64;
  1026. // GL_OES_compressed_paletted_texture
  1027. GL_PALETTE4_RGB8_OES = $8B90;
  1028. GL_PALETTE4_RGBA8_OES = $8B91;
  1029. GL_PALETTE4_R5_G6_B5_OES = $8B92;
  1030. GL_PALETTE4_RGBA4_OES = $8B93;
  1031. GL_PALETTE4_RGB5_A1_OES = $8B94;
  1032. GL_PALETTE8_RGB8_OES = $8B95;
  1033. GL_PALETTE8_RGBA8_OES = $8B96;
  1034. GL_PALETTE8_R5_G6_B5_OES = $8B97;
  1035. GL_PALETTE8_RGBA4_OES = $8B98;
  1036. GL_PALETTE8_RGB5_A1_OES = $8B99;
  1037. // GL_OES_depth24
  1038. GL_DEPTH_COMPONENT24_OES = $81A6;
  1039. // GL_OES_depth32
  1040. GL_DEPTH_COMPONENT32_OES = $81A7;
  1041. // GL_OES_draw_buffers_indexed
  1042. GL_MIN = $8007;
  1043. GL_MAX = $8008;
  1044. // GL_OES_geometry_shader
  1045. GL_GEOMETRY_SHADER_OES = $8DD9;
  1046. GL_GEOMETRY_SHADER_BIT_OES = $00000004;
  1047. GL_GEOMETRY_LINKED_VERTICES_OUT_OES = $8916;
  1048. GL_GEOMETRY_LINKED_INPUT_TYPE_OES = $8917;
  1049. GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES = $8918;
  1050. GL_GEOMETRY_SHADER_INVOCATIONS_OES = $887F;
  1051. GL_LAYER_PROVOKING_VERTEX_OES = $825E;
  1052. GL_LINES_ADJACENCY_OES = $000A;
  1053. GL_LINE_STRIP_ADJACENCY_OES = $000B;
  1054. GL_TRIANGLES_ADJACENCY_OES = $000C;
  1055. GL_TRIANGLE_STRIP_ADJACENCY_OES = $000D;
  1056. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES = $8DDF;
  1057. GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES = $8A2C;
  1058. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES = $8A32;
  1059. GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES = $9123;
  1060. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES = $9124;
  1061. GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES = $8DE0;
  1062. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES = $8DE1;
  1063. GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES = $8E5A;
  1064. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES = $8C29;
  1065. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES = $92CF;
  1066. GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES = $92D5;
  1067. GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES = $90CD;
  1068. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES = $90D7;
  1069. GL_FIRST_VERTEX_CONVENTION_OES = $8E4D;
  1070. GL_LAST_VERTEX_CONVENTION_OES = $8E4E;
  1071. GL_UNDEFINED_VERTEX_OES = $8260;
  1072. GL_PRIMITIVES_GENERATED_OES = $8C87;
  1073. GL_FRAMEBUFFER_DEFAULT_LAYERS_OES = $9312;
  1074. GL_MAX_FRAMEBUFFER_LAYERS_OES = $9317;
  1075. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES = $8DA8;
  1076. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES = $8DA7;
  1077. GL_REFERENCED_BY_GEOMETRY_SHADER_OES = $9309;
  1078. // GL_OES_get_program_binary
  1079. GL_PROGRAM_BINARY_LENGTH_OES = $8741;
  1080. GL_NUM_PROGRAM_BINARY_FORMATS_OES = $87FE;
  1081. GL_PROGRAM_BINARY_FORMATS_OES = $87FF;
  1082. // GL_OES_mapbuffer
  1083. GL_WRITE_ONLY_OES = $88B9;
  1084. GL_BUFFER_ACCESS_OES = $88BB;
  1085. GL_BUFFER_MAPPED_OES = $88BC;
  1086. GL_BUFFER_MAP_POINTER_OES = $88BD;
  1087. // GL_OES_packed_depth_stencil
  1088. GL_DEPTH_STENCIL_OES = $84F9;
  1089. GL_UNSIGNED_INT_24_8_OES = $84FA;
  1090. GL_DEPTH24_STENCIL8_OES = $88F0;
  1091. // GL_OES_primitive_bounding_box
  1092. GL_PRIMITIVE_BOUNDING_BOX_OES = $92BE;
  1093. // GL_OES_required_internalformat
  1094. GL_ALPHA8_OES = $803C;
  1095. GL_DEPTH_COMPONENT16_OES = $81A5;
  1096. GL_LUMINANCE4_ALPHA4_OES = $8043;
  1097. GL_LUMINANCE8_ALPHA8_OES = $8045;
  1098. GL_LUMINANCE8_OES = $8040;
  1099. GL_RGBA4_OES = $8056;
  1100. GL_RGB5_A1_OES = $8057;
  1101. GL_RGB565_OES = $8D62;
  1102. GL_RGB8_OES = $8051;
  1103. GL_RGBA8_OES = $8058;
  1104. GL_RGB10_EXT = $8052;
  1105. GL_RGB10_A2_EXT = $8059;
  1106. // GL_OES_sample_shading
  1107. GL_SAMPLE_SHADING_OES = $8C36;
  1108. GL_MIN_SAMPLE_SHADING_VALUE_OES = $8C37;
  1109. // GL_OES_shader_multisample_interpolation
  1110. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = $8E5B;
  1111. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = $8E5C;
  1112. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = $8E5D;
  1113. // GL_OES_standard_derivatives
  1114. GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = $8B8B;
  1115. // GL_OES_stencil1
  1116. GL_STENCIL_INDEX1_OES = $8D46;
  1117. // GL_OES_stencil4
  1118. GL_STENCIL_INDEX4_OES = $8D47;
  1119. // GL_OES_surfaceless_context
  1120. GL_FRAMEBUFFER_UNDEFINED_OES = $8219;
  1121. // GL_OES_tessellation_shader
  1122. GL_PATCHES_OES = $000E;
  1123. GL_PATCH_VERTICES_OES = $8E72;
  1124. GL_TESS_CONTROL_OUTPUT_VERTICES_OES = $8E75;
  1125. GL_TESS_GEN_MODE_OES = $8E76;
  1126. GL_TESS_GEN_SPACING_OES = $8E77;
  1127. GL_TESS_GEN_VERTEX_ORDER_OES = $8E78;
  1128. GL_TESS_GEN_POINT_MODE_OES = $8E79;
  1129. GL_ISOLINES_OES = $8E7A;
  1130. GL_QUADS_OES = $0007;
  1131. GL_FRACTIONAL_ODD_OES = $8E7B;
  1132. GL_FRACTIONAL_EVEN_OES = $8E7C;
  1133. GL_MAX_PATCH_VERTICES_OES = $8E7D;
  1134. GL_MAX_TESS_GEN_LEVEL_OES = $8E7E;
  1135. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES = $8E7F;
  1136. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = $8E80;
  1137. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES = $8E81;
  1138. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES = $8E82;
  1139. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES = $8E83;
  1140. GL_MAX_TESS_PATCH_COMPONENTS_OES = $8E84;
  1141. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES = $8E85;
  1142. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES = $8E86;
  1143. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES = $8E89;
  1144. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES = $8E8A;
  1145. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES = $886C;
  1146. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES = $886D;
  1147. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES = $8E1E;
  1148. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = $8E1F;
  1149. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES = $92CD;
  1150. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES = $92CE;
  1151. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES = $92D3;
  1152. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES = $92D4;
  1153. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES = $90CB;
  1154. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES = $90CC;
  1155. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES = $90D8;
  1156. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES = $90D9;
  1157. GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES = $8221;
  1158. GL_IS_PER_PATCH_OES = $92E7;
  1159. GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES = $9307;
  1160. GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES = $9308;
  1161. GL_TESS_CONTROL_SHADER_OES = $8E88;
  1162. GL_TESS_EVALUATION_SHADER_OES = $8E87;
  1163. GL_TESS_CONTROL_SHADER_BIT_OES = $00000008;
  1164. GL_TESS_EVALUATION_SHADER_BIT_OES = $00000010;
  1165. // GL_OES_texture_3D
  1166. GL_TEXTURE_WRAP_R_OES = $8072;
  1167. GL_TEXTURE_3D_OES = $806F;
  1168. GL_TEXTURE_BINDING_3D_OES = $806A;
  1169. GL_MAX_3D_TEXTURE_SIZE_OES = $8073;
  1170. GL_SAMPLER_3D_OES = $8B5F;
  1171. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = $8CD4;
  1172. // GL_OES_texture_border_clamp
  1173. GL_TEXTURE_BORDER_COLOR_OES = $1004;
  1174. GL_CLAMP_TO_BORDER_OES = $812D;
  1175. // GL_OES_texture_buffer
  1176. GL_TEXTURE_BUFFER_OES = $8C2A;
  1177. GL_TEXTURE_BUFFER_BINDING_OES = $8C2A;
  1178. GL_MAX_TEXTURE_BUFFER_SIZE_OES = $8C2B;
  1179. GL_TEXTURE_BINDING_BUFFER_OES = $8C2C;
  1180. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES = $8C2D;
  1181. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES = $919F;
  1182. GL_SAMPLER_BUFFER_OES = $8DC2;
  1183. GL_INT_SAMPLER_BUFFER_OES = $8DD0;
  1184. GL_UNSIGNED_INT_SAMPLER_BUFFER_OES = $8DD8;
  1185. GL_IMAGE_BUFFER_OES = $9051;
  1186. GL_INT_IMAGE_BUFFER_OES = $905C;
  1187. GL_UNSIGNED_INT_IMAGE_BUFFER_OES = $9067;
  1188. GL_TEXTURE_BUFFER_OFFSET_OES = $919D;
  1189. GL_TEXTURE_BUFFER_SIZE_OES = $919E;
  1190. // GL_OES_texture_compression_astc
  1191. GL_COMPRESSED_RGBA_ASTC_3x3x3_OES = $93C0;
  1192. GL_COMPRESSED_RGBA_ASTC_4x3x3_OES = $93C1;
  1193. GL_COMPRESSED_RGBA_ASTC_4x4x3_OES = $93C2;
  1194. GL_COMPRESSED_RGBA_ASTC_4x4x4_OES = $93C3;
  1195. GL_COMPRESSED_RGBA_ASTC_5x4x4_OES = $93C4;
  1196. GL_COMPRESSED_RGBA_ASTC_5x5x4_OES = $93C5;
  1197. GL_COMPRESSED_RGBA_ASTC_5x5x5_OES = $93C6;
  1198. GL_COMPRESSED_RGBA_ASTC_6x5x5_OES = $93C7;
  1199. GL_COMPRESSED_RGBA_ASTC_6x6x5_OES = $93C8;
  1200. GL_COMPRESSED_RGBA_ASTC_6x6x6_OES = $93C9;
  1201. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = $93E0;
  1202. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = $93E1;
  1203. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = $93E2;
  1204. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = $93E3;
  1205. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = $93E4;
  1206. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = $93E5;
  1207. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = $93E6;
  1208. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = $93E7;
  1209. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = $93E8;
  1210. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = $93E9;
  1211. // GL_OES_texture_cube_map_array
  1212. GL_TEXTURE_CUBE_MAP_ARRAY_OES = $9009;
  1213. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = $900A;
  1214. GL_SAMPLER_CUBE_MAP_ARRAY_OES = $900C;
  1215. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = $900D;
  1216. GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES = $900E;
  1217. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES = $900F;
  1218. GL_IMAGE_CUBE_MAP_ARRAY_OES = $9054;
  1219. GL_INT_IMAGE_CUBE_MAP_ARRAY_OES = $905F;
  1220. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = $906A;
  1221. // GL_OES_texture_half_float
  1222. GL_HALF_FLOAT_OES = $8D61;
  1223. // GL_OES_texture_stencil8
  1224. GL_STENCIL_INDEX_OES = $1901;
  1225. GL_STENCIL_INDEX8_OES = $8D48;
  1226. // GL_OES_texture_storage_multisample_2d_array
  1227. GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = $9102;
  1228. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = $9105;
  1229. GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = $910B;
  1230. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = $910C;
  1231. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = $910D;
  1232. // GL_OES_texture_view
  1233. GL_TEXTURE_VIEW_MIN_LEVEL_OES = $82DB;
  1234. GL_TEXTURE_VIEW_NUM_LEVELS_OES = $82DC;
  1235. GL_TEXTURE_VIEW_MIN_LAYER_OES = $82DD;
  1236. GL_TEXTURE_VIEW_NUM_LAYERS_OES = $82DE;
  1237. GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
  1238. // GL_OES_vertex_array_object
  1239. GL_VERTEX_ARRAY_BINDING_OES = $85B5;
  1240. // GL_OES_vertex_type_10_10_10_2
  1241. GL_UNSIGNED_INT_10_10_10_2_OES = $8DF6;
  1242. GL_INT_10_10_10_2_OES = $8DF7;
  1243. // GL_OES_viewport_array
  1244. GL_MAX_VIEWPORTS_OES = $825B;
  1245. GL_VIEWPORT_SUBPIXEL_BITS_OES = $825C;
  1246. GL_VIEWPORT_BOUNDS_RANGE_OES = $825D;
  1247. GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES = $825F;
  1248. // GL_AMD_compressed_3DC_texture
  1249. GL_3DC_X_AMD = $87F9;
  1250. GL_3DC_XY_AMD = $87FA;
  1251. // GL_AMD_compressed_ATC_texture
  1252. GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = $8C93;
  1253. GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = $87EE;
  1254. // GL_AMD_framebuffer_multisample_advanced
  1255. GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = $91B2;
  1256. GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = $91B3;
  1257. GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = $91B4;
  1258. GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = $91B5;
  1259. GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = $91B6;
  1260. GL_SUPPORTED_MULTISAMPLE_MODES_AMD = $91B7;
  1261. // GL_AMD_performance_monitor
  1262. GL_COUNTER_TYPE_AMD = $8BC0;
  1263. GL_COUNTER_RANGE_AMD = $8BC1;
  1264. GL_UNSIGNED_INT64_AMD = $8BC2;
  1265. GL_PERCENTAGE_AMD = $8BC3;
  1266. GL_PERFMON_RESULT_AVAILABLE_AMD = $8BC4;
  1267. GL_PERFMON_RESULT_SIZE_AMD = $8BC5;
  1268. GL_PERFMON_RESULT_AMD = $8BC6;
  1269. // GL_AMD_program_binary_Z400
  1270. GL_Z400_BINARY_AMD = $8740;
  1271. // GL_ANGLE_framebuffer_blit
  1272. GL_READ_FRAMEBUFFER_ANGLE = $8CA8;
  1273. GL_DRAW_FRAMEBUFFER_ANGLE = $8CA9;
  1274. GL_DRAW_FRAMEBUFFER_BINDING_ANGLE = $8CA6;
  1275. GL_READ_FRAMEBUFFER_BINDING_ANGLE = $8CAA;
  1276. // GL_ANGLE_framebuffer_multisample
  1277. GL_RENDERBUFFER_SAMPLES_ANGLE = $8CAB;
  1278. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = $8D56;
  1279. GL_MAX_SAMPLES_ANGLE = $8D57;
  1280. // GL_ANGLE_instanced_arrays
  1281. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = $88FE;
  1282. // GL_ANGLE_pack_reverse_row_order
  1283. GL_PACK_REVERSE_ROW_ORDER_ANGLE = $93A4;
  1284. // GL_ANGLE_program_binary
  1285. GL_PROGRAM_BINARY_ANGLE = $93A6;
  1286. // GL_ANGLE_texture_compression_dxt3
  1287. GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = $83F2;
  1288. // GL_ANGLE_texture_compression_dxt5
  1289. GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = $83F3;
  1290. // GL_ANGLE_texture_usage
  1291. GL_FRAMEBUFFER_ATTACHMENT_ANGLE = $93A3;
  1292. // GL_ANGLE_translated_shader_source
  1293. GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = $93A0;
  1294. // GL_APPLE_clip_distance
  1295. GL_MAX_CLIP_DISTANCES_APPLE = $0D32;
  1296. GL_CLIP_DISTANCE0_APPLE = $3000;
  1297. GL_CLIP_DISTANCE1_APPLE = $3001;
  1298. GL_CLIP_DISTANCE2_APPLE = $3002;
  1299. GL_CLIP_DISTANCE3_APPLE = $3003;
  1300. GL_CLIP_DISTANCE4_APPLE = $3004;
  1301. GL_CLIP_DISTANCE5_APPLE = $3005;
  1302. GL_CLIP_DISTANCE6_APPLE = $3006;
  1303. GL_CLIP_DISTANCE7_APPLE = $3007;
  1304. // GL_APPLE_framebuffer_multisample
  1305. GL_RENDERBUFFER_SAMPLES_APPLE = $8CAB;
  1306. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = $8D56;
  1307. GL_MAX_SAMPLES_APPLE = $8D57;
  1308. GL_READ_FRAMEBUFFER_APPLE = $8CA8;
  1309. GL_DRAW_FRAMEBUFFER_APPLE = $8CA9;
  1310. GL_DRAW_FRAMEBUFFER_BINDING_APPLE = $8CA6;
  1311. GL_READ_FRAMEBUFFER_BINDING_APPLE = $8CAA;
  1312. // GL_APPLE_rgb_422
  1313. GL_RGB_422_APPLE = $8A1F;
  1314. GL_UNSIGNED_SHORT_8_8_APPLE = $85BA;
  1315. GL_UNSIGNED_SHORT_8_8_REV_APPLE = $85BB;
  1316. GL_RGB_RAW_422_APPLE = $8A51;
  1317. // GL_APPLE_sync
  1318. GL_SYNC_OBJECT_APPLE = $8A53;
  1319. GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = $9111;
  1320. GL_OBJECT_TYPE_APPLE = $9112;
  1321. GL_SYNC_CONDITION_APPLE = $9113;
  1322. GL_SYNC_STATUS_APPLE = $9114;
  1323. GL_SYNC_FLAGS_APPLE = $9115;
  1324. GL_SYNC_FENCE_APPLE = $9116;
  1325. GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = $9117;
  1326. GL_UNSIGNALED_APPLE = $9118;
  1327. GL_SIGNALED_APPLE = $9119;
  1328. GL_ALREADY_SIGNALED_APPLE = $911A;
  1329. GL_TIMEOUT_EXPIRED_APPLE = $911B;
  1330. GL_CONDITION_SATISFIED_APPLE = $911C;
  1331. GL_WAIT_FAILED_APPLE = $911D;
  1332. GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = $00000001;
  1333. GL_TIMEOUT_IGNORED_APPLE = $FFFFFFFFFFFFFFFF;
  1334. // GL_APPLE_texture_format_BGRA8888
  1335. GL_BGRA_EXT = $80E1;
  1336. GL_BGRA8_EXT = $93A1;
  1337. // GL_APPLE_texture_max_level
  1338. GL_TEXTURE_MAX_LEVEL_APPLE = $813D;
  1339. // GL_APPLE_texture_packed_float
  1340. GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE = $8C3B;
  1341. GL_UNSIGNED_INT_5_9_9_9_REV_APPLE = $8C3E;
  1342. GL_R11F_G11F_B10F_APPLE = $8C3A;
  1343. GL_RGB9_E5_APPLE = $8C3D;
  1344. // GL_ARM_mali_program_binary
  1345. GL_MALI_PROGRAM_BINARY_ARM = $8F61;
  1346. // GL_ARM_mali_shader_binary
  1347. GL_MALI_SHADER_BINARY_ARM = $8F60;
  1348. // GL_ARM_shader_framebuffer_fetch
  1349. GL_FETCH_PER_SAMPLE_ARM = $8F65;
  1350. GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = $8F66;
  1351. // GL_DMP_program_binary
  1352. GL_SMAPHS30_PROGRAM_BINARY_DMP = $9251;
  1353. GL_SMAPHS_PROGRAM_BINARY_DMP = $9252;
  1354. GL_DMP_PROGRAM_BINARY_DMP = $9253;
  1355. // GL_DMP_shader_binary
  1356. GL_SHADER_BINARY_DMP = $9250;
  1357. // GL_EXT_EGL_image_storage_compression
  1358. GL_SURFACE_COMPRESSION_EXT = $96C0;
  1359. GL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT = $96C1;
  1360. GL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = $96C2;
  1361. // GL_EXT_YUV_target
  1362. GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT = $8BE7;
  1363. // GL_EXT_blend_func_extended
  1364. GL_SRC1_COLOR_EXT = $88F9;
  1365. GL_SRC1_ALPHA_EXT = $8589;
  1366. GL_ONE_MINUS_SRC1_COLOR_EXT = $88FA;
  1367. GL_ONE_MINUS_SRC1_ALPHA_EXT = $88FB;
  1368. GL_SRC_ALPHA_SATURATE_EXT = $0308;
  1369. GL_LOCATION_INDEX_EXT = $930F;
  1370. GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = $88FC;
  1371. // GL_EXT_blend_minmax
  1372. GL_MIN_EXT = $8007;
  1373. GL_MAX_EXT = $8008;
  1374. // GL_EXT_buffer_storage
  1375. GL_MAP_READ_BIT = $0001;
  1376. GL_MAP_WRITE_BIT = $0002;
  1377. GL_MAP_PERSISTENT_BIT_EXT = $0040;
  1378. GL_MAP_COHERENT_BIT_EXT = $0080;
  1379. GL_DYNAMIC_STORAGE_BIT_EXT = $0100;
  1380. GL_CLIENT_STORAGE_BIT_EXT = $0200;
  1381. GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT = $00004000;
  1382. GL_BUFFER_IMMUTABLE_STORAGE_EXT = $821F;
  1383. GL_BUFFER_STORAGE_FLAGS_EXT = $8220;
  1384. // GL_EXT_clip_control
  1385. GL_LOWER_LEFT_EXT = $8CA1;
  1386. GL_UPPER_LEFT_EXT = $8CA2;
  1387. GL_NEGATIVE_ONE_TO_ONE_EXT = $935E;
  1388. GL_ZERO_TO_ONE_EXT = $935F;
  1389. GL_CLIP_ORIGIN_EXT = $935C;
  1390. GL_CLIP_DEPTH_MODE_EXT = $935D;
  1391. // GL_EXT_clip_cull_distance
  1392. GL_MAX_CLIP_DISTANCES_EXT = $0D32;
  1393. GL_MAX_CULL_DISTANCES_EXT = $82F9;
  1394. GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT = $82FA;
  1395. GL_CLIP_DISTANCE0_EXT = $3000;
  1396. GL_CLIP_DISTANCE1_EXT = $3001;
  1397. GL_CLIP_DISTANCE2_EXT = $3002;
  1398. GL_CLIP_DISTANCE3_EXT = $3003;
  1399. GL_CLIP_DISTANCE4_EXT = $3004;
  1400. GL_CLIP_DISTANCE5_EXT = $3005;
  1401. GL_CLIP_DISTANCE6_EXT = $3006;
  1402. GL_CLIP_DISTANCE7_EXT = $3007;
  1403. // GL_EXT_color_buffer_half_float
  1404. GL_RGBA16F_EXT = $881A;
  1405. GL_RGB16F_EXT = $881B;
  1406. GL_RG16F_EXT = $822F;
  1407. GL_R16F_EXT = $822D;
  1408. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = $8211;
  1409. GL_UNSIGNED_NORMALIZED_EXT = $8C17;
  1410. // GL_EXT_debug_label
  1411. GL_PROGRAM_PIPELINE_OBJECT_EXT = $8A4F;
  1412. GL_PROGRAM_OBJECT_EXT = $8B40;
  1413. GL_SHADER_OBJECT_EXT = $8B48;
  1414. GL_BUFFER_OBJECT_EXT = $9151;
  1415. GL_QUERY_OBJECT_EXT = $9153;
  1416. GL_VERTEX_ARRAY_OBJECT_EXT = $9154;
  1417. GL_TRANSFORM_FEEDBACK = $8E22;
  1418. // GL_EXT_depth_clamp
  1419. GL_DEPTH_CLAMP_EXT = $864F;
  1420. // GL_EXT_discard_framebuffer
  1421. GL_COLOR_EXT = $1800;
  1422. GL_DEPTH_EXT = $1801;
  1423. GL_STENCIL_EXT = $1802;
  1424. // GL_EXT_disjoint_timer_query
  1425. GL_QUERY_COUNTER_BITS_EXT = $8864;
  1426. GL_CURRENT_QUERY_EXT = $8865;
  1427. GL_QUERY_RESULT_EXT = $8866;
  1428. GL_QUERY_RESULT_AVAILABLE_EXT = $8867;
  1429. GL_TIME_ELAPSED_EXT = $88BF;
  1430. GL_TIMESTAMP_EXT = $8E28;
  1431. GL_GPU_DISJOINT_EXT = $8FBB;
  1432. // GL_EXT_draw_buffers
  1433. GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF;
  1434. GL_MAX_DRAW_BUFFERS_EXT = $8824;
  1435. GL_DRAW_BUFFER0_EXT = $8825;
  1436. GL_DRAW_BUFFER1_EXT = $8826;
  1437. GL_DRAW_BUFFER2_EXT = $8827;
  1438. GL_DRAW_BUFFER3_EXT = $8828;
  1439. GL_DRAW_BUFFER4_EXT = $8829;
  1440. GL_DRAW_BUFFER5_EXT = $882A;
  1441. GL_DRAW_BUFFER6_EXT = $882B;
  1442. GL_DRAW_BUFFER7_EXT = $882C;
  1443. GL_DRAW_BUFFER8_EXT = $882D;
  1444. GL_DRAW_BUFFER9_EXT = $882E;
  1445. GL_DRAW_BUFFER10_EXT = $882F;
  1446. GL_DRAW_BUFFER11_EXT = $8830;
  1447. GL_DRAW_BUFFER12_EXT = $8831;
  1448. GL_DRAW_BUFFER13_EXT = $8832;
  1449. GL_DRAW_BUFFER14_EXT = $8833;
  1450. GL_DRAW_BUFFER15_EXT = $8834;
  1451. GL_COLOR_ATTACHMENT0_EXT = $8CE0;
  1452. GL_COLOR_ATTACHMENT1_EXT = $8CE1;
  1453. GL_COLOR_ATTACHMENT2_EXT = $8CE2;
  1454. GL_COLOR_ATTACHMENT3_EXT = $8CE3;
  1455. GL_COLOR_ATTACHMENT4_EXT = $8CE4;
  1456. GL_COLOR_ATTACHMENT5_EXT = $8CE5;
  1457. GL_COLOR_ATTACHMENT6_EXT = $8CE6;
  1458. GL_COLOR_ATTACHMENT7_EXT = $8CE7;
  1459. GL_COLOR_ATTACHMENT8_EXT = $8CE8;
  1460. GL_COLOR_ATTACHMENT9_EXT = $8CE9;
  1461. GL_COLOR_ATTACHMENT10_EXT = $8CEA;
  1462. GL_COLOR_ATTACHMENT11_EXT = $8CEB;
  1463. GL_COLOR_ATTACHMENT12_EXT = $8CEC;
  1464. GL_COLOR_ATTACHMENT13_EXT = $8CED;
  1465. GL_COLOR_ATTACHMENT14_EXT = $8CEE;
  1466. GL_COLOR_ATTACHMENT15_EXT = $8CEF;
  1467. {$IfDef GL_EXT_external_buffer}
  1468. type
  1469. GLeglClientBufferEXT = pointer;
  1470. {$EndIf}
  1471. const
  1472. // GL_EXT_fragment_shading_rate
  1473. GL_SHADING_RATE_1X1_PIXELS_EXT = $96A6;
  1474. GL_SHADING_RATE_1X2_PIXELS_EXT = $96A7;
  1475. GL_SHADING_RATE_2X1_PIXELS_EXT = $96A8;
  1476. GL_SHADING_RATE_2X2_PIXELS_EXT = $96A9;
  1477. GL_SHADING_RATE_1X4_PIXELS_EXT = $96AA;
  1478. GL_SHADING_RATE_4X1_PIXELS_EXT = $96AB;
  1479. GL_SHADING_RATE_4X2_PIXELS_EXT = $96AC;
  1480. GL_SHADING_RATE_2X4_PIXELS_EXT = $96AD;
  1481. GL_SHADING_RATE_4X4_PIXELS_EXT = $96AE;
  1482. GL_SHADING_RATE_EXT = $96D0;
  1483. GL_SHADING_RATE_ATTACHMENT_EXT = $96D1;
  1484. GL_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_EXT = $96D2;
  1485. GL_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_EXT = $96D3;
  1486. GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_EXT = $96D4;
  1487. GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_EXT = $96D5;
  1488. GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_EXT = $96D6;
  1489. GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT = $96D7;
  1490. GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT = $96D8;
  1491. GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT = $96D9;
  1492. GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT = $96DA;
  1493. GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_ASPECT_RATIO_EXT = $96DB;
  1494. GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_LAYERS_EXT = $96DC;
  1495. GL_FRAGMENT_SHADING_RATE_WITH_SHADER_DEPTH_STENCIL_WRITES_SUPPORTED_EXT = $96DD;
  1496. GL_FRAGMENT_SHADING_RATE_WITH_SAMPLE_MASK_SUPPORTED_EXT = $96DE;
  1497. GL_FRAGMENT_SHADING_RATE_ATTACHMENT_WITH_DEFAULT_FRAMEBUFFER_SUPPORTED_EXT = $96DF;
  1498. GL_FRAGMENT_SHADING_RATE_NON_TRIVIAL_COMBINERS_SUPPORTED_EXT = $8F6F;
  1499. // GL_EXT_geometry_shader
  1500. GL_GEOMETRY_SHADER_EXT = $8DD9;
  1501. GL_GEOMETRY_SHADER_BIT_EXT = $00000004;
  1502. GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = $8916;
  1503. GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = $8917;
  1504. GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = $8918;
  1505. GL_GEOMETRY_SHADER_INVOCATIONS_EXT = $887F;
  1506. GL_LAYER_PROVOKING_VERTEX_EXT = $825E;
  1507. GL_LINES_ADJACENCY_EXT = $000A;
  1508. GL_LINE_STRIP_ADJACENCY_EXT = $000B;
  1509. GL_TRIANGLES_ADJACENCY_EXT = $000C;
  1510. GL_TRIANGLE_STRIP_ADJACENCY_EXT = $000D;
  1511. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = $8DDF;
  1512. GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = $8A2C;
  1513. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = $8A32;
  1514. GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = $9123;
  1515. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = $9124;
  1516. GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = $8DE0;
  1517. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = $8DE1;
  1518. GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = $8E5A;
  1519. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = $8C29;
  1520. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = $92CF;
  1521. GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = $92D5;
  1522. GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = $90CD;
  1523. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = $90D7;
  1524. GL_FIRST_VERTEX_CONVENTION_EXT = $8E4D;
  1525. GL_LAST_VERTEX_CONVENTION_EXT = $8E4E;
  1526. GL_UNDEFINED_VERTEX_EXT = $8260;
  1527. GL_PRIMITIVES_GENERATED_EXT = $8C87;
  1528. GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = $9312;
  1529. GL_MAX_FRAMEBUFFER_LAYERS_EXT = $9317;
  1530. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = $8DA8;
  1531. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = $8DA7;
  1532. GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = $9309;
  1533. // GL_EXT_instanced_arrays
  1534. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = $88FE;
  1535. // GL_EXT_map_buffer_range
  1536. GL_MAP_READ_BIT_EXT = $0001;
  1537. GL_MAP_WRITE_BIT_EXT = $0002;
  1538. GL_MAP_INVALIDATE_RANGE_BIT_EXT = $0004;
  1539. GL_MAP_INVALIDATE_BUFFER_BIT_EXT = $0008;
  1540. GL_MAP_FLUSH_EXPLICIT_BIT_EXT = $0010;
  1541. GL_MAP_UNSYNCHRONIZED_BIT_EXT = $0020;
  1542. // GL_EXT_memory_object
  1543. GL_TEXTURE_TILING_EXT = $9580;
  1544. GL_DEDICATED_MEMORY_OBJECT_EXT = $9581;
  1545. GL_PROTECTED_MEMORY_OBJECT_EXT = $959B;
  1546. GL_NUM_TILING_TYPES_EXT = $9582;
  1547. GL_TILING_TYPES_EXT = $9583;
  1548. GL_OPTIMAL_TILING_EXT = $9584;
  1549. GL_LINEAR_TILING_EXT = $9585;
  1550. GL_NUM_DEVICE_UUIDS_EXT = $9596;
  1551. GL_DEVICE_UUID_EXT = $9597;
  1552. GL_DRIVER_UUID_EXT = $9598;
  1553. GL_UUID_SIZE_EXT = 16;
  1554. // GL_EXT_memory_object_fd
  1555. GL_HANDLE_TYPE_OPAQUE_FD_EXT = $9586;
  1556. // GL_EXT_memory_object_win32
  1557. GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = $9587;
  1558. GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = $9588;
  1559. GL_DEVICE_LUID_EXT = $9599;
  1560. GL_DEVICE_NODE_MASK_EXT = $959A;
  1561. GL_LUID_SIZE_EXT = 8;
  1562. GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT = $9589;
  1563. GL_HANDLE_TYPE_D3D12_RESOURCE_EXT = $958A;
  1564. GL_HANDLE_TYPE_D3D11_IMAGE_EXT = $958B;
  1565. GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = $958C;
  1566. // GL_EXT_multisampled_compatibility
  1567. GL_MULTISAMPLE_EXT = $809D;
  1568. GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F;
  1569. // GL_EXT_multisampled_render_to_texture
  1570. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = $8D6C;
  1571. GL_RENDERBUFFER_SAMPLES_EXT = $8CAB;
  1572. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = $8D56;
  1573. GL_MAX_SAMPLES_EXT = $8D57;
  1574. // GL_EXT_multiview_draw_buffers
  1575. GL_COLOR_ATTACHMENT_EXT = $90F0;
  1576. GL_MULTIVIEW_EXT = $90F1;
  1577. GL_DRAW_BUFFER_EXT = $0C01;
  1578. GL_READ_BUFFER_EXT = $0C02;
  1579. GL_MAX_MULTIVIEW_BUFFERS_EXT = $90F2;
  1580. // GL_EXT_occlusion_query_boolean
  1581. GL_ANY_SAMPLES_PASSED_EXT = $8C2F;
  1582. GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = $8D6A;
  1583. // GL_EXT_polygon_offset_clamp
  1584. GL_POLYGON_OFFSET_CLAMP_EXT = $8E1B;
  1585. // GL_EXT_primitive_bounding_box
  1586. GL_PRIMITIVE_BOUNDING_BOX_EXT = $92BE;
  1587. // GL_EXT_protected_textures
  1588. GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT = $00000010;
  1589. GL_TEXTURE_PROTECTED_EXT = $8BFA;
  1590. // GL_EXT_pvrtc_sRGB
  1591. GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = $8A54;
  1592. GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = $8A55;
  1593. GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = $8A56;
  1594. GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = $8A57;
  1595. GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = $93F0;
  1596. GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = $93F1;
  1597. // GL_EXT_raster_multisample
  1598. GL_RASTER_MULTISAMPLE_EXT = $9327;
  1599. GL_RASTER_SAMPLES_EXT = $9328;
  1600. GL_MAX_RASTER_SAMPLES_EXT = $9329;
  1601. GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = $932A;
  1602. GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = $932B;
  1603. GL_EFFECTIVE_RASTER_SAMPLES_EXT = $932C;
  1604. // GL_EXT_read_format_bgra
  1605. GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = $8365;
  1606. GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = $8366;
  1607. // GL_EXT_render_snorm
  1608. GL_R8_SNORM = $8F94;
  1609. GL_RG8_SNORM = $8F95;
  1610. GL_RGBA8_SNORM = $8F97;
  1611. GL_R16_SNORM_EXT = $8F98;
  1612. GL_RG16_SNORM_EXT = $8F99;
  1613. GL_RGBA16_SNORM_EXT = $8F9B;
  1614. // GL_EXT_robustness
  1615. GL_GUILTY_CONTEXT_RESET_EXT = $8253;
  1616. GL_INNOCENT_CONTEXT_RESET_EXT = $8254;
  1617. GL_UNKNOWN_CONTEXT_RESET_EXT = $8255;
  1618. GL_CONTEXT_ROBUST_ACCESS_EXT = $90F3;
  1619. GL_RESET_NOTIFICATION_STRATEGY_EXT = $8256;
  1620. GL_LOSE_CONTEXT_ON_RESET_EXT = $8252;
  1621. GL_NO_RESET_NOTIFICATION_EXT = $8261;
  1622. // GL_EXT_sRGB
  1623. GL_SRGB_EXT = $8C40;
  1624. GL_SRGB_ALPHA_EXT = $8C42;
  1625. GL_SRGB8_ALPHA8_EXT = $8C43;
  1626. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = $8210;
  1627. // GL_EXT_sRGB_write_control
  1628. GL_FRAMEBUFFER_SRGB_EXT = $8DB9;
  1629. // GL_EXT_semaphore
  1630. GL_LAYOUT_GENERAL_EXT = $958D;
  1631. GL_LAYOUT_COLOR_ATTACHMENT_EXT = $958E;
  1632. GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = $958F;
  1633. GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = $9590;
  1634. GL_LAYOUT_SHADER_READ_ONLY_EXT = $9591;
  1635. GL_LAYOUT_TRANSFER_SRC_EXT = $9592;
  1636. GL_LAYOUT_TRANSFER_DST_EXT = $9593;
  1637. GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = $9530;
  1638. GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = $9531;
  1639. // GL_EXT_semaphore_win32
  1640. GL_HANDLE_TYPE_D3D12_FENCE_EXT = $9594;
  1641. GL_D3D12_FENCE_VALUE_EXT = $9595;
  1642. // GL_EXT_separate_shader_objects
  1643. GL_ACTIVE_PROGRAM_EXT = $8259;
  1644. GL_VERTEX_SHADER_BIT_EXT = $00000001;
  1645. GL_FRAGMENT_SHADER_BIT_EXT = $00000002;
  1646. GL_ALL_SHADER_BITS_EXT = $FFFFFFFF;
  1647. GL_PROGRAM_SEPARABLE_EXT = $8258;
  1648. GL_PROGRAM_PIPELINE_BINDING_EXT = $825A;
  1649. // GL_EXT_shader_framebuffer_fetch
  1650. GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = $8A52;
  1651. // GL_EXT_shader_pixel_local_storage
  1652. GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = $8F63;
  1653. GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = $8F67;
  1654. GL_SHADER_PIXEL_LOCAL_STORAGE_EXT = $8F64;
  1655. // GL_EXT_shader_pixel_local_storage2
  1656. GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT = $9650;
  1657. GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT = $9651;
  1658. GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT = $9652;
  1659. // GL_EXT_shadow_samplers
  1660. GL_TEXTURE_COMPARE_MODE_EXT = $884C;
  1661. GL_TEXTURE_COMPARE_FUNC_EXT = $884D;
  1662. GL_COMPARE_REF_TO_TEXTURE_EXT = $884E;
  1663. GL_SAMPLER_2D_SHADOW_EXT = $8B62;
  1664. // GL_EXT_sparse_texture
  1665. GL_TEXTURE_SPARSE_EXT = $91A6;
  1666. GL_VIRTUAL_PAGE_SIZE_INDEX_EXT = $91A7;
  1667. GL_NUM_SPARSE_LEVELS_EXT = $91AA;
  1668. GL_NUM_VIRTUAL_PAGE_SIZES_EXT = $91A8;
  1669. GL_VIRTUAL_PAGE_SIZE_X_EXT = $9195;
  1670. GL_VIRTUAL_PAGE_SIZE_Y_EXT = $9196;
  1671. GL_VIRTUAL_PAGE_SIZE_Z_EXT = $9197;
  1672. GL_TEXTURE_2D_ARRAY = $8C1A;
  1673. GL_TEXTURE_3D = $806F;
  1674. GL_MAX_SPARSE_TEXTURE_SIZE_EXT = $9198;
  1675. GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT = $9199;
  1676. GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT = $919A;
  1677. GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT = $91A9;
  1678. // GL_EXT_tessellation_shader
  1679. GL_PATCHES_EXT = $000E;
  1680. GL_PATCH_VERTICES_EXT = $8E72;
  1681. GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = $8E75;
  1682. GL_TESS_GEN_MODE_EXT = $8E76;
  1683. GL_TESS_GEN_SPACING_EXT = $8E77;
  1684. GL_TESS_GEN_VERTEX_ORDER_EXT = $8E78;
  1685. GL_TESS_GEN_POINT_MODE_EXT = $8E79;
  1686. GL_ISOLINES_EXT = $8E7A;
  1687. GL_QUADS_EXT = $0007;
  1688. GL_FRACTIONAL_ODD_EXT = $8E7B;
  1689. GL_FRACTIONAL_EVEN_EXT = $8E7C;
  1690. GL_MAX_PATCH_VERTICES_EXT = $8E7D;
  1691. GL_MAX_TESS_GEN_LEVEL_EXT = $8E7E;
  1692. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = $8E7F;
  1693. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = $8E80;
  1694. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = $8E81;
  1695. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = $8E82;
  1696. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = $8E83;
  1697. GL_MAX_TESS_PATCH_COMPONENTS_EXT = $8E84;
  1698. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = $8E85;
  1699. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = $8E86;
  1700. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = $8E89;
  1701. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = $8E8A;
  1702. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = $886C;
  1703. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = $886D;
  1704. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = $8E1E;
  1705. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = $8E1F;
  1706. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = $92CD;
  1707. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = $92CE;
  1708. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = $92D3;
  1709. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = $92D4;
  1710. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = $90CB;
  1711. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = $90CC;
  1712. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = $90D8;
  1713. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = $90D9;
  1714. GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = $8221;
  1715. GL_IS_PER_PATCH_EXT = $92E7;
  1716. GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = $9307;
  1717. GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = $9308;
  1718. GL_TESS_CONTROL_SHADER_EXT = $8E88;
  1719. GL_TESS_EVALUATION_SHADER_EXT = $8E87;
  1720. GL_TESS_CONTROL_SHADER_BIT_EXT = $00000008;
  1721. GL_TESS_EVALUATION_SHADER_BIT_EXT = $00000010;
  1722. // GL_EXT_texture_border_clamp
  1723. GL_TEXTURE_BORDER_COLOR_EXT = $1004;
  1724. GL_CLAMP_TO_BORDER_EXT = $812D;
  1725. // GL_EXT_texture_buffer
  1726. GL_TEXTURE_BUFFER_EXT = $8C2A;
  1727. GL_TEXTURE_BUFFER_BINDING_EXT = $8C2A;
  1728. GL_MAX_TEXTURE_BUFFER_SIZE_EXT = $8C2B;
  1729. GL_TEXTURE_BINDING_BUFFER_EXT = $8C2C;
  1730. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = $8C2D;
  1731. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = $919F;
  1732. GL_SAMPLER_BUFFER_EXT = $8DC2;
  1733. GL_INT_SAMPLER_BUFFER_EXT = $8DD0;
  1734. GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = $8DD8;
  1735. GL_IMAGE_BUFFER_EXT = $9051;
  1736. GL_INT_IMAGE_BUFFER_EXT = $905C;
  1737. GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = $9067;
  1738. GL_TEXTURE_BUFFER_OFFSET_EXT = $919D;
  1739. GL_TEXTURE_BUFFER_SIZE_EXT = $919E;
  1740. // GL_EXT_texture_compression_astc_decode_mode
  1741. GL_TEXTURE_ASTC_DECODE_PRECISION_EXT = $8F69;
  1742. // GL_EXT_texture_compression_bptc
  1743. GL_COMPRESSED_RGBA_BPTC_UNORM_EXT = $8E8C;
  1744. GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT = $8E8D;
  1745. GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT = $8E8E;
  1746. GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT = $8E8F;
  1747. // GL_EXT_texture_compression_dxt1
  1748. GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
  1749. GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
  1750. // GL_EXT_texture_compression_rgtc
  1751. GL_COMPRESSED_RED_RGTC1_EXT = $8DBB;
  1752. GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = $8DBC;
  1753. GL_COMPRESSED_RED_GREEN_RGTC2_EXT = $8DBD;
  1754. GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = $8DBE;
  1755. // GL_EXT_texture_compression_s3tc
  1756. GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
  1757. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
  1758. // GL_EXT_texture_compression_s3tc_srgb
  1759. GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = $8C4C;
  1760. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = $8C4D;
  1761. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = $8C4E;
  1762. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = $8C4F;
  1763. // GL_EXT_texture_cube_map_array
  1764. GL_TEXTURE_CUBE_MAP_ARRAY_EXT = $9009;
  1765. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = $900A;
  1766. GL_SAMPLER_CUBE_MAP_ARRAY_EXT = $900C;
  1767. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = $900D;
  1768. GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = $900E;
  1769. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = $900F;
  1770. GL_IMAGE_CUBE_MAP_ARRAY_EXT = $9054;
  1771. GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $905F;
  1772. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $906A;
  1773. // GL_EXT_texture_filter_anisotropic
  1774. GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
  1775. GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
  1776. // GL_EXT_texture_filter_minmax
  1777. GL_TEXTURE_REDUCTION_MODE_EXT = $9366;
  1778. GL_WEIGHTED_AVERAGE_EXT = $9367;
  1779. // GL_EXT_texture_format_sRGB_override
  1780. GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT = $8FBF;
  1781. // GL_EXT_texture_mirror_clamp_to_edge
  1782. GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743;
  1783. // GL_EXT_texture_norm16
  1784. GL_R16_EXT = $822A;
  1785. GL_RG16_EXT = $822C;
  1786. GL_RGBA16_EXT = $805B;
  1787. GL_RGB16_EXT = $8054;
  1788. GL_RGB16_SNORM_EXT = $8F9A;
  1789. // GL_EXT_texture_rg
  1790. GL_RED_EXT = $1903;
  1791. GL_RG_EXT = $8227;
  1792. GL_R8_EXT = $8229;
  1793. GL_RG8_EXT = $822B;
  1794. // GL_EXT_texture_sRGB_R8
  1795. GL_SR8_EXT = $8FBD;
  1796. // GL_EXT_texture_sRGB_RG8
  1797. GL_SRG8_EXT = $8FBE;
  1798. // GL_EXT_texture_sRGB_decode
  1799. GL_TEXTURE_SRGB_DECODE_EXT = $8A48;
  1800. GL_DECODE_EXT = $8A49;
  1801. GL_SKIP_DECODE_EXT = $8A4A;
  1802. // GL_EXT_texture_storage
  1803. GL_TEXTURE_IMMUTABLE_FORMAT_EXT = $912F;
  1804. GL_ALPHA8_EXT = $803C;
  1805. GL_LUMINANCE8_EXT = $8040;
  1806. GL_LUMINANCE8_ALPHA8_EXT = $8045;
  1807. GL_RGBA32F_EXT = $8814;
  1808. GL_RGB32F_EXT = $8815;
  1809. GL_ALPHA32F_EXT = $8816;
  1810. GL_LUMINANCE32F_EXT = $8818;
  1811. GL_LUMINANCE_ALPHA32F_EXT = $8819;
  1812. GL_ALPHA16F_EXT = $881C;
  1813. GL_LUMINANCE16F_EXT = $881E;
  1814. GL_LUMINANCE_ALPHA16F_EXT = $881F;
  1815. GL_R32F_EXT = $822E;
  1816. GL_RG32F_EXT = $8230;
  1817. // GL_EXT_texture_storage_compression
  1818. GL_NUM_SURFACE_COMPRESSION_FIXED_RATES_EXT = $8F6E;
  1819. GL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT = $96C4;
  1820. GL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT = $96C5;
  1821. GL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT = $96C6;
  1822. GL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT = $96C7;
  1823. GL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT = $96C8;
  1824. GL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT = $96C9;
  1825. GL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT = $96CA;
  1826. GL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT = $96CB;
  1827. GL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT = $96CC;
  1828. GL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT = $96CD;
  1829. GL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT = $96CE;
  1830. GL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT = $96CF;
  1831. // GL_EXT_texture_type_2_10_10_10_REV
  1832. GL_UNSIGNED_INT_2_10_10_10_REV_EXT = $8368;
  1833. // GL_EXT_texture_view
  1834. GL_TEXTURE_VIEW_MIN_LEVEL_EXT = $82DB;
  1835. GL_TEXTURE_VIEW_NUM_LEVELS_EXT = $82DC;
  1836. GL_TEXTURE_VIEW_MIN_LAYER_EXT = $82DD;
  1837. GL_TEXTURE_VIEW_NUM_LAYERS_EXT = $82DE;
  1838. // GL_EXT_unpack_subimage
  1839. GL_UNPACK_ROW_LENGTH_EXT = $0CF2;
  1840. GL_UNPACK_SKIP_ROWS_EXT = $0CF3;
  1841. GL_UNPACK_SKIP_PIXELS_EXT = $0CF4;
  1842. // GL_EXT_window_rectangles
  1843. GL_INCLUSIVE_EXT = $8F10;
  1844. GL_EXCLUSIVE_EXT = $8F11;
  1845. GL_WINDOW_RECTANGLE_EXT = $8F12;
  1846. GL_WINDOW_RECTANGLE_MODE_EXT = $8F13;
  1847. GL_MAX_WINDOW_RECTANGLES_EXT = $8F14;
  1848. GL_NUM_WINDOW_RECTANGLES_EXT = $8F15;
  1849. // GL_FJ_shader_binary_GCCSO
  1850. GL_GCCSO_SHADER_BINARY_FJ = $9260;
  1851. // GL_IMG_framebuffer_downsample
  1852. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG = $913C;
  1853. GL_NUM_DOWNSAMPLE_SCALES_IMG = $913D;
  1854. GL_DOWNSAMPLE_SCALES_IMG = $913E;
  1855. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG = $913F;
  1856. // GL_IMG_multisampled_render_to_texture
  1857. GL_RENDERBUFFER_SAMPLES_IMG = $9133;
  1858. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = $9134;
  1859. GL_MAX_SAMPLES_IMG = $9135;
  1860. GL_TEXTURE_SAMPLES_IMG = $9136;
  1861. // GL_IMG_program_binary
  1862. GL_SGX_PROGRAM_BINARY_IMG = $9130;
  1863. // GL_IMG_read_format
  1864. GL_BGRA_IMG = $80E1;
  1865. GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG = $8365;
  1866. // GL_IMG_shader_binary
  1867. GL_SGX_BINARY_IMG = $8C0A;
  1868. // GL_IMG_texture_compression_pvrtc
  1869. GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = $8C00;
  1870. GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = $8C01;
  1871. GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = $8C02;
  1872. GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = $8C03;
  1873. // GL_IMG_texture_compression_pvrtc2
  1874. GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = $9137;
  1875. GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = $9138;
  1876. // GL_IMG_texture_filter_cubic
  1877. GL_CUBIC_IMG = $9139;
  1878. GL_CUBIC_MIPMAP_NEAREST_IMG = $913A;
  1879. GL_CUBIC_MIPMAP_LINEAR_IMG = $913B;
  1880. // GL_INTEL_blackhole_render
  1881. GL_BLACKHOLE_RENDER_INTEL = $83FC;
  1882. // GL_INTEL_conservative_rasterization
  1883. GL_CONSERVATIVE_RASTERIZATION_INTEL = $83FE;
  1884. // GL_INTEL_performance_query
  1885. GL_PERFQUERY_SINGLE_CONTEXT_INTEL = $00000000;
  1886. GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = $00000001;
  1887. GL_PERFQUERY_WAIT_INTEL = $83FB;
  1888. GL_PERFQUERY_FLUSH_INTEL = $83FA;
  1889. GL_PERFQUERY_DONOT_FLUSH_INTEL = $83F9;
  1890. GL_PERFQUERY_COUNTER_EVENT_INTEL = $94F0;
  1891. GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = $94F1;
  1892. GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = $94F2;
  1893. GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = $94F3;
  1894. GL_PERFQUERY_COUNTER_RAW_INTEL = $94F4;
  1895. GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = $94F5;
  1896. GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = $94F8;
  1897. GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = $94F9;
  1898. GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = $94FA;
  1899. GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = $94FB;
  1900. GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = $94FC;
  1901. GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = $94FD;
  1902. GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = $94FE;
  1903. GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = $94FF;
  1904. GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = $9500;
  1905. // GL_MESA_bgra
  1906. GL_BGR_EXT = $80E0;
  1907. // GL_MESA_framebuffer_flip_x
  1908. GL_FRAMEBUFFER_FLIP_X_MESA = $8BBC;
  1909. // GL_MESA_framebuffer_flip_y
  1910. GL_FRAMEBUFFER_FLIP_Y_MESA = $8BBB;
  1911. // GL_MESA_framebuffer_swap_xy
  1912. GL_FRAMEBUFFER_SWAP_XY_MESA = $8BBD;
  1913. // GL_MESA_program_binary_formats
  1914. GL_PROGRAM_BINARY_FORMAT_MESA = $875F;
  1915. // GL_NV_blend_equation_advanced
  1916. GL_BLEND_OVERLAP_NV = $9281;
  1917. GL_BLEND_PREMULTIPLIED_SRC_NV = $9280;
  1918. GL_BLUE_NV = $1905;
  1919. GL_COLORBURN_NV = $929A;
  1920. GL_COLORDODGE_NV = $9299;
  1921. GL_CONJOINT_NV = $9284;
  1922. GL_CONTRAST_NV = $92A1;
  1923. GL_DARKEN_NV = $9297;
  1924. GL_DIFFERENCE_NV = $929E;
  1925. GL_DISJOINT_NV = $9283;
  1926. GL_DST_ATOP_NV = $928F;
  1927. GL_DST_IN_NV = $928B;
  1928. GL_DST_NV = $9287;
  1929. GL_DST_OUT_NV = $928D;
  1930. GL_DST_OVER_NV = $9289;
  1931. GL_EXCLUSION_NV = $92A0;
  1932. GL_GREEN_NV = $1904;
  1933. GL_HARDLIGHT_NV = $929B;
  1934. GL_HARDMIX_NV = $92A9;
  1935. GL_HSL_COLOR_NV = $92AF;
  1936. GL_HSL_HUE_NV = $92AD;
  1937. GL_HSL_LUMINOSITY_NV = $92B0;
  1938. GL_HSL_SATURATION_NV = $92AE;
  1939. GL_INVERT_OVG_NV = $92B4;
  1940. GL_INVERT_RGB_NV = $92A3;
  1941. GL_LIGHTEN_NV = $9298;
  1942. GL_LINEARBURN_NV = $92A5;
  1943. GL_LINEARDODGE_NV = $92A4;
  1944. GL_LINEARLIGHT_NV = $92A7;
  1945. GL_MINUS_CLAMPED_NV = $92B3;
  1946. GL_MINUS_NV = $929F;
  1947. GL_MULTIPLY_NV = $9294;
  1948. GL_OVERLAY_NV = $9296;
  1949. GL_PINLIGHT_NV = $92A8;
  1950. GL_PLUS_CLAMPED_ALPHA_NV = $92B2;
  1951. GL_PLUS_CLAMPED_NV = $92B1;
  1952. GL_PLUS_DARKER_NV = $9292;
  1953. GL_PLUS_NV = $9291;
  1954. GL_RED_NV = $1903;
  1955. GL_SCREEN_NV = $9295;
  1956. GL_SOFTLIGHT_NV = $929C;
  1957. GL_SRC_ATOP_NV = $928E;
  1958. GL_SRC_IN_NV = $928A;
  1959. GL_SRC_NV = $9286;
  1960. GL_SRC_OUT_NV = $928C;
  1961. GL_SRC_OVER_NV = $9288;
  1962. GL_UNCORRELATED_NV = $9282;
  1963. GL_VIVIDLIGHT_NV = $92A6;
  1964. GL_XOR_NV = $1506;
  1965. // GL_NV_blend_equation_advanced_coherent
  1966. GL_BLEND_ADVANCED_COHERENT_NV = $9285;
  1967. // GL_NV_blend_minmax_factor
  1968. GL_FACTOR_MIN_AMD = $901C;
  1969. GL_FACTOR_MAX_AMD = $901D;
  1970. // GL_NV_clip_space_w_scaling
  1971. GL_VIEWPORT_POSITION_W_SCALE_NV = $937C;
  1972. GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = $937D;
  1973. GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = $937E;
  1974. // GL_NV_conditional_render
  1975. GL_QUERY_WAIT_NV = $8E13;
  1976. GL_QUERY_NO_WAIT_NV = $8E14;
  1977. GL_QUERY_BY_REGION_WAIT_NV = $8E15;
  1978. GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16;
  1979. // GL_NV_conservative_raster
  1980. GL_CONSERVATIVE_RASTERIZATION_NV = $9346;
  1981. GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = $9347;
  1982. GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = $9348;
  1983. GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = $9349;
  1984. // GL_NV_conservative_raster_pre_snap
  1985. GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = $9550;
  1986. // GL_NV_conservative_raster_pre_snap_triangles
  1987. GL_CONSERVATIVE_RASTER_MODE_NV = $954D;
  1988. GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = $954E;
  1989. GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = $954F;
  1990. // GL_NV_copy_buffer
  1991. GL_COPY_READ_BUFFER_NV = $8F36;
  1992. GL_COPY_WRITE_BUFFER_NV = $8F37;
  1993. // GL_NV_coverage_sample
  1994. GL_COVERAGE_COMPONENT_NV = $8ED0;
  1995. GL_COVERAGE_COMPONENT4_NV = $8ED1;
  1996. GL_COVERAGE_ATTACHMENT_NV = $8ED2;
  1997. GL_COVERAGE_BUFFERS_NV = $8ED3;
  1998. GL_COVERAGE_SAMPLES_NV = $8ED4;
  1999. GL_COVERAGE_ALL_FRAGMENTS_NV = $8ED5;
  2000. GL_COVERAGE_EDGE_FRAGMENTS_NV = $8ED6;
  2001. GL_COVERAGE_AUTOMATIC_NV = $8ED7;
  2002. GL_COVERAGE_BUFFER_BIT_NV = $00008000;
  2003. // GL_NV_depth_nonlinear
  2004. GL_DEPTH_COMPONENT16_NONLINEAR_NV = $8E2C;
  2005. // GL_NV_draw_buffers
  2006. GL_MAX_DRAW_BUFFERS_NV = $8824;
  2007. GL_DRAW_BUFFER0_NV = $8825;
  2008. GL_DRAW_BUFFER1_NV = $8826;
  2009. GL_DRAW_BUFFER2_NV = $8827;
  2010. GL_DRAW_BUFFER3_NV = $8828;
  2011. GL_DRAW_BUFFER4_NV = $8829;
  2012. GL_DRAW_BUFFER5_NV = $882A;
  2013. GL_DRAW_BUFFER6_NV = $882B;
  2014. GL_DRAW_BUFFER7_NV = $882C;
  2015. GL_DRAW_BUFFER8_NV = $882D;
  2016. GL_DRAW_BUFFER9_NV = $882E;
  2017. GL_DRAW_BUFFER10_NV = $882F;
  2018. GL_DRAW_BUFFER11_NV = $8830;
  2019. GL_DRAW_BUFFER12_NV = $8831;
  2020. GL_DRAW_BUFFER13_NV = $8832;
  2021. GL_DRAW_BUFFER14_NV = $8833;
  2022. GL_DRAW_BUFFER15_NV = $8834;
  2023. GL_COLOR_ATTACHMENT0_NV = $8CE0;
  2024. GL_COLOR_ATTACHMENT1_NV = $8CE1;
  2025. GL_COLOR_ATTACHMENT2_NV = $8CE2;
  2026. GL_COLOR_ATTACHMENT3_NV = $8CE3;
  2027. GL_COLOR_ATTACHMENT4_NV = $8CE4;
  2028. GL_COLOR_ATTACHMENT5_NV = $8CE5;
  2029. GL_COLOR_ATTACHMENT6_NV = $8CE6;
  2030. GL_COLOR_ATTACHMENT7_NV = $8CE7;
  2031. GL_COLOR_ATTACHMENT8_NV = $8CE8;
  2032. GL_COLOR_ATTACHMENT9_NV = $8CE9;
  2033. GL_COLOR_ATTACHMENT10_NV = $8CEA;
  2034. GL_COLOR_ATTACHMENT11_NV = $8CEB;
  2035. GL_COLOR_ATTACHMENT12_NV = $8CEC;
  2036. GL_COLOR_ATTACHMENT13_NV = $8CED;
  2037. GL_COLOR_ATTACHMENT14_NV = $8CEE;
  2038. GL_COLOR_ATTACHMENT15_NV = $8CEF;
  2039. {$IfDef GL_NV_draw_vulkan_image}
  2040. type
  2041. GLVULKANPROCNV = procedure(_para1:pointer);cdecl;
  2042. {$EndIf}
  2043. const
  2044. // GL_NV_fbo_color_attachments
  2045. GL_MAX_COLOR_ATTACHMENTS_NV = $8CDF;
  2046. // GL_NV_fence
  2047. GL_ALL_COMPLETED_NV = $84F2;
  2048. GL_FENCE_STATUS_NV = $84F3;
  2049. GL_FENCE_CONDITION_NV = $84F4;
  2050. // GL_NV_fill_rectangle
  2051. GL_FILL_RECTANGLE_NV = $933C;
  2052. // GL_NV_fragment_coverage_to_color
  2053. GL_FRAGMENT_COVERAGE_TO_COLOR_NV = $92DD;
  2054. GL_FRAGMENT_COVERAGE_COLOR_NV = $92DE;
  2055. // GL_NV_framebuffer_blit
  2056. GL_READ_FRAMEBUFFER_NV = $8CA8;
  2057. GL_DRAW_FRAMEBUFFER_NV = $8CA9;
  2058. GL_DRAW_FRAMEBUFFER_BINDING_NV = $8CA6;
  2059. GL_READ_FRAMEBUFFER_BINDING_NV = $8CAA;
  2060. // GL_NV_framebuffer_mixed_samples
  2061. GL_COVERAGE_MODULATION_TABLE_NV = $9331;
  2062. GL_COLOR_SAMPLES_NV = $8E20;
  2063. GL_DEPTH_SAMPLES_NV = $932D;
  2064. GL_STENCIL_SAMPLES_NV = $932E;
  2065. GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = $932F;
  2066. GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = $9330;
  2067. GL_COVERAGE_MODULATION_NV = $9332;
  2068. GL_COVERAGE_MODULATION_TABLE_SIZE_NV = $9333;
  2069. // GL_NV_framebuffer_multisample
  2070. GL_RENDERBUFFER_SAMPLES_NV = $8CAB;
  2071. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = $8D56;
  2072. GL_MAX_SAMPLES_NV = $8D57;
  2073. // GL_NV_gpu_shader5
  2074. GL_INT64_NV = $140E;
  2075. GL_UNSIGNED_INT64_NV = $140F;
  2076. GL_INT8_NV = $8FE0;
  2077. GL_INT8_VEC2_NV = $8FE1;
  2078. GL_INT8_VEC3_NV = $8FE2;
  2079. GL_INT8_VEC4_NV = $8FE3;
  2080. GL_INT16_NV = $8FE4;
  2081. GL_INT16_VEC2_NV = $8FE5;
  2082. GL_INT16_VEC3_NV = $8FE6;
  2083. GL_INT16_VEC4_NV = $8FE7;
  2084. GL_INT64_VEC2_NV = $8FE9;
  2085. GL_INT64_VEC3_NV = $8FEA;
  2086. GL_INT64_VEC4_NV = $8FEB;
  2087. GL_UNSIGNED_INT8_NV = $8FEC;
  2088. GL_UNSIGNED_INT8_VEC2_NV = $8FED;
  2089. GL_UNSIGNED_INT8_VEC3_NV = $8FEE;
  2090. GL_UNSIGNED_INT8_VEC4_NV = $8FEF;
  2091. GL_UNSIGNED_INT16_NV = $8FF0;
  2092. GL_UNSIGNED_INT16_VEC2_NV = $8FF1;
  2093. GL_UNSIGNED_INT16_VEC3_NV = $8FF2;
  2094. GL_UNSIGNED_INT16_VEC4_NV = $8FF3;
  2095. GL_UNSIGNED_INT64_VEC2_NV = $8FF5;
  2096. GL_UNSIGNED_INT64_VEC3_NV = $8FF6;
  2097. GL_UNSIGNED_INT64_VEC4_NV = $8FF7;
  2098. GL_FLOAT16_NV = $8FF8;
  2099. GL_FLOAT16_VEC2_NV = $8FF9;
  2100. GL_FLOAT16_VEC3_NV = $8FFA;
  2101. GL_FLOAT16_VEC4_NV = $8FFB;
  2102. GL_PATCHES = $000E;
  2103. // GL_NV_instanced_arrays
  2104. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = $88FE;
  2105. // GL_NV_internalformat_sample_query
  2106. GL_TEXTURE_2D_MULTISAMPLE = $9100;
  2107. GL_TEXTURE_2D_MULTISAMPLE_ARRAY = $9102;
  2108. GL_MULTISAMPLES_NV = $9371;
  2109. GL_SUPERSAMPLE_SCALE_X_NV = $9372;
  2110. GL_SUPERSAMPLE_SCALE_Y_NV = $9373;
  2111. GL_CONFORMANT_NV = $9374;
  2112. // GL_NV_memory_attachment
  2113. GL_ATTACHED_MEMORY_OBJECT_NV = $95A4;
  2114. GL_ATTACHED_MEMORY_OFFSET_NV = $95A5;
  2115. GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = $95A6;
  2116. GL_MEMORY_ATTACHABLE_SIZE_NV = $95A7;
  2117. GL_MEMORY_ATTACHABLE_NV = $95A8;
  2118. GL_DETACHED_MEMORY_INCARNATION_NV = $95A9;
  2119. GL_DETACHED_TEXTURES_NV = $95AA;
  2120. GL_DETACHED_BUFFERS_NV = $95AB;
  2121. GL_MAX_DETACHED_TEXTURES_NV = $95AC;
  2122. GL_MAX_DETACHED_BUFFERS_NV = $95AD;
  2123. // GL_NV_mesh_shader
  2124. GL_MESH_SHADER_NV = $9559;
  2125. GL_TASK_SHADER_NV = $955A;
  2126. GL_MAX_MESH_UNIFORM_BLOCKS_NV = $8E60;
  2127. GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = $8E61;
  2128. GL_MAX_MESH_IMAGE_UNIFORMS_NV = $8E62;
  2129. GL_MAX_MESH_UNIFORM_COMPONENTS_NV = $8E63;
  2130. GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = $8E64;
  2131. GL_MAX_MESH_ATOMIC_COUNTERS_NV = $8E65;
  2132. GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = $8E66;
  2133. GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = $8E67;
  2134. GL_MAX_TASK_UNIFORM_BLOCKS_NV = $8E68;
  2135. GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = $8E69;
  2136. GL_MAX_TASK_IMAGE_UNIFORMS_NV = $8E6A;
  2137. GL_MAX_TASK_UNIFORM_COMPONENTS_NV = $8E6B;
  2138. GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = $8E6C;
  2139. GL_MAX_TASK_ATOMIC_COUNTERS_NV = $8E6D;
  2140. GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = $8E6E;
  2141. GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = $8E6F;
  2142. GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = $95A2;
  2143. GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = $95A3;
  2144. GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = $9536;
  2145. GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = $9537;
  2146. GL_MAX_MESH_OUTPUT_VERTICES_NV = $9538;
  2147. GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = $9539;
  2148. GL_MAX_TASK_OUTPUT_COUNT_NV = $953A;
  2149. GL_MAX_DRAW_MESH_TASKS_COUNT_NV = $953D;
  2150. GL_MAX_MESH_VIEWS_NV = $9557;
  2151. GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = $92DF;
  2152. GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = $9543;
  2153. GL_MAX_MESH_WORK_GROUP_SIZE_NV = $953B;
  2154. GL_MAX_TASK_WORK_GROUP_SIZE_NV = $953C;
  2155. GL_MESH_WORK_GROUP_SIZE_NV = $953E;
  2156. GL_TASK_WORK_GROUP_SIZE_NV = $953F;
  2157. GL_MESH_VERTICES_OUT_NV = $9579;
  2158. GL_MESH_PRIMITIVES_OUT_NV = $957A;
  2159. GL_MESH_OUTPUT_TYPE_NV = $957B;
  2160. GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = $959C;
  2161. GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = $959D;
  2162. GL_REFERENCED_BY_MESH_SHADER_NV = $95A0;
  2163. GL_REFERENCED_BY_TASK_SHADER_NV = $95A1;
  2164. GL_MESH_SHADER_BIT_NV = $00000040;
  2165. GL_TASK_SHADER_BIT_NV = $00000080;
  2166. GL_MESH_SUBROUTINE_NV = $957C;
  2167. GL_TASK_SUBROUTINE_NV = $957D;
  2168. GL_MESH_SUBROUTINE_UNIFORM_NV = $957E;
  2169. GL_TASK_SUBROUTINE_UNIFORM_NV = $957F;
  2170. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = $959E;
  2171. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = $959F;
  2172. // GL_NV_non_square_matrices
  2173. GL_FLOAT_MAT2x3_NV = $8B65;
  2174. GL_FLOAT_MAT2x4_NV = $8B66;
  2175. GL_FLOAT_MAT3x2_NV = $8B67;
  2176. GL_FLOAT_MAT3x4_NV = $8B68;
  2177. GL_FLOAT_MAT4x2_NV = $8B69;
  2178. GL_FLOAT_MAT4x3_NV = $8B6A;
  2179. // GL_NV_pack_subimage
  2180. GL_PACK_ROW_LENGTH_NV = $0D02;
  2181. GL_PACK_SKIP_ROWS_NV = $0D03;
  2182. GL_PACK_SKIP_PIXELS_NV = $0D04;
  2183. // GL_NV_path_rendering
  2184. GL_PATH_FORMAT_SVG_NV = $9070;
  2185. GL_PATH_FORMAT_PS_NV = $9071;
  2186. GL_STANDARD_FONT_NAME_NV = $9072;
  2187. GL_SYSTEM_FONT_NAME_NV = $9073;
  2188. GL_FILE_NAME_NV = $9074;
  2189. GL_PATH_STROKE_WIDTH_NV = $9075;
  2190. GL_PATH_END_CAPS_NV = $9076;
  2191. GL_PATH_INITIAL_END_CAP_NV = $9077;
  2192. GL_PATH_TERMINAL_END_CAP_NV = $9078;
  2193. GL_PATH_JOIN_STYLE_NV = $9079;
  2194. GL_PATH_MITER_LIMIT_NV = $907A;
  2195. GL_PATH_DASH_CAPS_NV = $907B;
  2196. GL_PATH_INITIAL_DASH_CAP_NV = $907C;
  2197. GL_PATH_TERMINAL_DASH_CAP_NV = $907D;
  2198. GL_PATH_DASH_OFFSET_NV = $907E;
  2199. GL_PATH_CLIENT_LENGTH_NV = $907F;
  2200. GL_PATH_FILL_MODE_NV = $9080;
  2201. GL_PATH_FILL_MASK_NV = $9081;
  2202. GL_PATH_FILL_COVER_MODE_NV = $9082;
  2203. GL_PATH_STROKE_COVER_MODE_NV = $9083;
  2204. GL_PATH_STROKE_MASK_NV = $9084;
  2205. GL_COUNT_UP_NV = $9088;
  2206. GL_COUNT_DOWN_NV = $9089;
  2207. GL_PATH_OBJECT_BOUNDING_BOX_NV = $908A;
  2208. GL_CONVEX_HULL_NV = $908B;
  2209. GL_BOUNDING_BOX_NV = $908D;
  2210. GL_TRANSLATE_X_NV = $908E;
  2211. GL_TRANSLATE_Y_NV = $908F;
  2212. GL_TRANSLATE_2D_NV = $9090;
  2213. GL_TRANSLATE_3D_NV = $9091;
  2214. GL_AFFINE_2D_NV = $9092;
  2215. GL_AFFINE_3D_NV = $9094;
  2216. GL_TRANSPOSE_AFFINE_2D_NV = $9096;
  2217. GL_TRANSPOSE_AFFINE_3D_NV = $9098;
  2218. GL_UTF8_NV = $909A;
  2219. GL_UTF16_NV = $909B;
  2220. GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = $909C;
  2221. GL_PATH_COMMAND_COUNT_NV = $909D;
  2222. GL_PATH_COORD_COUNT_NV = $909E;
  2223. GL_PATH_DASH_ARRAY_COUNT_NV = $909F;
  2224. GL_PATH_COMPUTED_LENGTH_NV = $90A0;
  2225. GL_PATH_FILL_BOUNDING_BOX_NV = $90A1;
  2226. GL_PATH_STROKE_BOUNDING_BOX_NV = $90A2;
  2227. GL_SQUARE_NV = $90A3;
  2228. GL_ROUND_NV = $90A4;
  2229. GL_TRIANGULAR_NV = $90A5;
  2230. GL_BEVEL_NV = $90A6;
  2231. GL_MITER_REVERT_NV = $90A7;
  2232. GL_MITER_TRUNCATE_NV = $90A8;
  2233. GL_SKIP_MISSING_GLYPH_NV = $90A9;
  2234. GL_USE_MISSING_GLYPH_NV = $90AA;
  2235. GL_PATH_ERROR_POSITION_NV = $90AB;
  2236. GL_ACCUM_ADJACENT_PAIRS_NV = $90AD;
  2237. GL_ADJACENT_PAIRS_NV = $90AE;
  2238. GL_FIRST_TO_REST_NV = $90AF;
  2239. GL_PATH_GEN_MODE_NV = $90B0;
  2240. GL_PATH_GEN_COEFF_NV = $90B1;
  2241. GL_PATH_GEN_COMPONENTS_NV = $90B3;
  2242. GL_PATH_STENCIL_FUNC_NV = $90B7;
  2243. GL_PATH_STENCIL_REF_NV = $90B8;
  2244. GL_PATH_STENCIL_VALUE_MASK_NV = $90B9;
  2245. GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = $90BD;
  2246. GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = $90BE;
  2247. GL_PATH_COVER_DEPTH_FUNC_NV = $90BF;
  2248. GL_PATH_DASH_OFFSET_RESET_NV = $90B4;
  2249. GL_MOVE_TO_RESETS_NV = $90B5;
  2250. GL_MOVE_TO_CONTINUES_NV = $90B6;
  2251. GL_CLOSE_PATH_NV = $00;
  2252. GL_MOVE_TO_NV = $02;
  2253. GL_RELATIVE_MOVE_TO_NV = $03;
  2254. GL_LINE_TO_NV = $04;
  2255. GL_RELATIVE_LINE_TO_NV = $05;
  2256. GL_HORIZONTAL_LINE_TO_NV = $06;
  2257. GL_RELATIVE_HORIZONTAL_LINE_TO_NV = $07;
  2258. GL_VERTICAL_LINE_TO_NV = $08;
  2259. GL_RELATIVE_VERTICAL_LINE_TO_NV = $09;
  2260. GL_QUADRATIC_CURVE_TO_NV = $0A;
  2261. GL_RELATIVE_QUADRATIC_CURVE_TO_NV = $0B;
  2262. GL_CUBIC_CURVE_TO_NV = $0C;
  2263. GL_RELATIVE_CUBIC_CURVE_TO_NV = $0D;
  2264. GL_SMOOTH_QUADRATIC_CURVE_TO_NV = $0E;
  2265. GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = $0F;
  2266. GL_SMOOTH_CUBIC_CURVE_TO_NV = $10;
  2267. GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = $11;
  2268. GL_SMALL_CCW_ARC_TO_NV = $12;
  2269. GL_RELATIVE_SMALL_CCW_ARC_TO_NV = $13;
  2270. GL_SMALL_CW_ARC_TO_NV = $14;
  2271. GL_RELATIVE_SMALL_CW_ARC_TO_NV = $15;
  2272. GL_LARGE_CCW_ARC_TO_NV = $16;
  2273. GL_RELATIVE_LARGE_CCW_ARC_TO_NV = $17;
  2274. GL_LARGE_CW_ARC_TO_NV = $18;
  2275. GL_RELATIVE_LARGE_CW_ARC_TO_NV = $19;
  2276. GL_RESTART_PATH_NV = $F0;
  2277. GL_DUP_FIRST_CUBIC_CURVE_TO_NV = $F2;
  2278. GL_DUP_LAST_CUBIC_CURVE_TO_NV = $F4;
  2279. GL_RECT_NV = $F6;
  2280. GL_CIRCULAR_CCW_ARC_TO_NV = $F8;
  2281. GL_CIRCULAR_CW_ARC_TO_NV = $FA;
  2282. GL_CIRCULAR_TANGENT_ARC_TO_NV = $FC;
  2283. GL_ARC_TO_NV = $FE;
  2284. GL_RELATIVE_ARC_TO_NV = $FF;
  2285. GL_BOLD_BIT_NV = $01;
  2286. GL_ITALIC_BIT_NV = $02;
  2287. GL_GLYPH_WIDTH_BIT_NV = $01;
  2288. GL_GLYPH_HEIGHT_BIT_NV = $02;
  2289. GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = $04;
  2290. GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = $08;
  2291. GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = $10;
  2292. GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = $20;
  2293. GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = $40;
  2294. GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = $80;
  2295. GL_GLYPH_HAS_KERNING_BIT_NV = $100;
  2296. GL_FONT_X_MIN_BOUNDS_BIT_NV = $00010000;
  2297. GL_FONT_Y_MIN_BOUNDS_BIT_NV = $00020000;
  2298. GL_FONT_X_MAX_BOUNDS_BIT_NV = $00040000;
  2299. GL_FONT_Y_MAX_BOUNDS_BIT_NV = $00080000;
  2300. GL_FONT_UNITS_PER_EM_BIT_NV = $00100000;
  2301. GL_FONT_ASCENDER_BIT_NV = $00200000;
  2302. GL_FONT_DESCENDER_BIT_NV = $00400000;
  2303. GL_FONT_HEIGHT_BIT_NV = $00800000;
  2304. GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = $01000000;
  2305. GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = $02000000;
  2306. GL_FONT_UNDERLINE_POSITION_BIT_NV = $04000000;
  2307. GL_FONT_UNDERLINE_THICKNESS_BIT_NV = $08000000;
  2308. GL_FONT_HAS_KERNING_BIT_NV = $10000000;
  2309. GL_ROUNDED_RECT_NV = $E8;
  2310. GL_RELATIVE_ROUNDED_RECT_NV = $E9;
  2311. GL_ROUNDED_RECT2_NV = $EA;
  2312. GL_RELATIVE_ROUNDED_RECT2_NV = $EB;
  2313. GL_ROUNDED_RECT4_NV = $EC;
  2314. GL_RELATIVE_ROUNDED_RECT4_NV = $ED;
  2315. GL_ROUNDED_RECT8_NV = $EE;
  2316. GL_RELATIVE_ROUNDED_RECT8_NV = $EF;
  2317. GL_RELATIVE_RECT_NV = $F7;
  2318. GL_FONT_GLYPHS_AVAILABLE_NV = $9368;
  2319. GL_FONT_TARGET_UNAVAILABLE_NV = $9369;
  2320. GL_FONT_UNAVAILABLE_NV = $936A;
  2321. GL_FONT_UNINTELLIGIBLE_NV = $936B;
  2322. GL_CONIC_CURVE_TO_NV = $1A;
  2323. GL_RELATIVE_CONIC_CURVE_TO_NV = $1B;
  2324. GL_FONT_NUM_GLYPH_INDICES_BIT_NV = $20000000;
  2325. GL_STANDARD_FONT_FORMAT_NV = $936C;
  2326. GL_PATH_PROJECTION_NV = $1701;
  2327. GL_PATH_MODELVIEW_NV = $1700;
  2328. GL_PATH_MODELVIEW_STACK_DEPTH_NV = $0BA3;
  2329. GL_PATH_MODELVIEW_MATRIX_NV = $0BA6;
  2330. GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = $0D36;
  2331. GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = $84E3;
  2332. GL_PATH_PROJECTION_STACK_DEPTH_NV = $0BA4;
  2333. GL_PATH_PROJECTION_MATRIX_NV = $0BA7;
  2334. GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = $0D38;
  2335. GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = $84E4;
  2336. GL_FRAGMENT_INPUT_NV = $936D;
  2337. // GL_NV_path_rendering_shared_edge
  2338. GL_SHARED_EDGE_NV = $C0;
  2339. // GL_NV_pixel_buffer_object
  2340. GL_PIXEL_PACK_BUFFER_NV = $88EB;
  2341. GL_PIXEL_UNPACK_BUFFER_NV = $88EC;
  2342. GL_PIXEL_PACK_BUFFER_BINDING_NV = $88ED;
  2343. GL_PIXEL_UNPACK_BUFFER_BINDING_NV = $88EF;
  2344. // GL_NV_polygon_mode
  2345. GL_POLYGON_MODE_NV = $0B40;
  2346. GL_POLYGON_OFFSET_POINT_NV = $2A01;
  2347. GL_POLYGON_OFFSET_LINE_NV = $2A02;
  2348. GL_POINT_NV = $1B00;
  2349. GL_LINE_NV = $1B01;
  2350. GL_FILL_NV = $1B02;
  2351. // GL_NV_primitive_shading_rate
  2352. GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = $95B1;
  2353. GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV = $95B2;
  2354. // GL_NV_read_buffer
  2355. GL_READ_BUFFER_NV = $0C02;
  2356. // GL_NV_representative_fragment_test
  2357. GL_REPRESENTATIVE_FRAGMENT_TEST_NV = $937F;
  2358. // GL_NV_sRGB_formats
  2359. GL_SLUMINANCE_NV = $8C46;
  2360. GL_SLUMINANCE_ALPHA_NV = $8C44;
  2361. GL_SRGB8_NV = $8C41;
  2362. GL_SLUMINANCE8_NV = $8C47;
  2363. GL_SLUMINANCE8_ALPHA8_NV = $8C45;
  2364. GL_COMPRESSED_SRGB_S3TC_DXT1_NV = $8C4C;
  2365. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = $8C4D;
  2366. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = $8C4E;
  2367. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = $8C4F;
  2368. GL_ETC1_SRGB8_NV = $88EE;
  2369. // GL_NV_sample_locations
  2370. GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = $933D;
  2371. GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = $933E;
  2372. GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = $933F;
  2373. GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = $9340;
  2374. GL_SAMPLE_LOCATION_NV = $8E50;
  2375. GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = $9341;
  2376. GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = $9342;
  2377. GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = $9343;
  2378. // GL_NV_scissor_exclusive
  2379. GL_SCISSOR_TEST_EXCLUSIVE_NV = $9555;
  2380. GL_SCISSOR_BOX_EXCLUSIVE_NV = $9556;
  2381. // GL_NV_shader_subgroup_partitioned
  2382. GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = $00000100;
  2383. // GL_NV_shading_rate_image
  2384. GL_SHADING_RATE_IMAGE_NV = $9563;
  2385. GL_SHADING_RATE_NO_INVOCATIONS_NV = $9564;
  2386. GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = $9565;
  2387. GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = $9566;
  2388. GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = $9567;
  2389. GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = $9568;
  2390. GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = $9569;
  2391. GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = $956A;
  2392. GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = $956B;
  2393. GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = $956C;
  2394. GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = $956D;
  2395. GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = $956E;
  2396. GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = $956F;
  2397. GL_SHADING_RATE_IMAGE_BINDING_NV = $955B;
  2398. GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = $955C;
  2399. GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = $955D;
  2400. GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = $955E;
  2401. GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = $955F;
  2402. GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = $95AE;
  2403. GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = $95AF;
  2404. GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = $95B0;
  2405. // GL_NV_shadow_samplers_array
  2406. GL_SAMPLER_2D_ARRAY_SHADOW_NV = $8DC4;
  2407. // GL_NV_shadow_samplers_cube
  2408. GL_SAMPLER_CUBE_SHADOW_NV = $8DC5;
  2409. // GL_NV_texture_border_clamp
  2410. GL_TEXTURE_BORDER_COLOR_NV = $1004;
  2411. GL_CLAMP_TO_BORDER_NV = $812D;
  2412. // GL_NV_timeline_semaphore
  2413. GL_TIMELINE_SEMAPHORE_VALUE_NV = $9595;
  2414. GL_SEMAPHORE_TYPE_NV = $95B3;
  2415. GL_SEMAPHORE_TYPE_BINARY_NV = $95B4;
  2416. GL_SEMAPHORE_TYPE_TIMELINE_NV = $95B5;
  2417. GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = $95B6;
  2418. // GL_NV_viewport_array
  2419. GL_MAX_VIEWPORTS_NV = $825B;
  2420. GL_VIEWPORT_SUBPIXEL_BITS_NV = $825C;
  2421. GL_VIEWPORT_BOUNDS_RANGE_NV = $825D;
  2422. GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = $825F;
  2423. // GL_NV_viewport_swizzle
  2424. GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = $9350;
  2425. GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = $9351;
  2426. GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = $9352;
  2427. GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = $9353;
  2428. GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = $9354;
  2429. GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = $9355;
  2430. GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = $9356;
  2431. GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = $9357;
  2432. GL_VIEWPORT_SWIZZLE_X_NV = $9358;
  2433. GL_VIEWPORT_SWIZZLE_Y_NV = $9359;
  2434. GL_VIEWPORT_SWIZZLE_Z_NV = $935A;
  2435. GL_VIEWPORT_SWIZZLE_W_NV = $935B;
  2436. // GL_OVR_multiview
  2437. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = $9630;
  2438. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = $9632;
  2439. GL_MAX_VIEWS_OVR = $9631;
  2440. GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = $9633;
  2441. // GL_QCOM_alpha_test
  2442. GL_ALPHA_TEST_QCOM = $0BC0;
  2443. GL_ALPHA_TEST_FUNC_QCOM = $0BC1;
  2444. GL_ALPHA_TEST_REF_QCOM = $0BC2;
  2445. // GL_QCOM_binning_control
  2446. GL_BINNING_CONTROL_HINT_QCOM = $8FB0;
  2447. GL_CPU_OPTIMIZED_QCOM = $8FB1;
  2448. GL_GPU_OPTIMIZED_QCOM = $8FB2;
  2449. GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = $8FB3;
  2450. // GL_QCOM_extended_get
  2451. GL_TEXTURE_WIDTH_QCOM = $8BD2;
  2452. GL_TEXTURE_HEIGHT_QCOM = $8BD3;
  2453. GL_TEXTURE_DEPTH_QCOM = $8BD4;
  2454. GL_TEXTURE_INTERNAL_FORMAT_QCOM = $8BD5;
  2455. GL_TEXTURE_FORMAT_QCOM = $8BD6;
  2456. GL_TEXTURE_TYPE_QCOM = $8BD7;
  2457. GL_TEXTURE_IMAGE_VALID_QCOM = $8BD8;
  2458. GL_TEXTURE_NUM_LEVELS_QCOM = $8BD9;
  2459. GL_TEXTURE_TARGET_QCOM = $8BDA;
  2460. GL_TEXTURE_OBJECT_VALID_QCOM = $8BDB;
  2461. GL_STATE_RESTORE = $8BDC;
  2462. // GL_QCOM_framebuffer_foveated
  2463. GL_FOVEATION_ENABLE_BIT_QCOM = $00000001;
  2464. GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM = $00000002;
  2465. // GL_QCOM_motion_estimation
  2466. GL_MOTION_ESTIMATION_SEARCH_BLOCK_X_QCOM = $8C90;
  2467. GL_MOTION_ESTIMATION_SEARCH_BLOCK_Y_QCOM = $8C91;
  2468. // GL_QCOM_perfmon_global_mode
  2469. GL_PERFMON_GLOBAL_MODE_QCOM = $8FA0;
  2470. // GL_QCOM_shader_framebuffer_fetch_noncoherent
  2471. GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM = $96A2;
  2472. // GL_QCOM_shading_rate
  2473. GL_SHADING_RATE_QCOM = $96A4;
  2474. GL_SHADING_RATE_PRESERVE_ASPECT_RATIO_QCOM = $96A5;
  2475. GL_SHADING_RATE_1X1_PIXELS_QCOM = $96A6;
  2476. GL_SHADING_RATE_1X2_PIXELS_QCOM = $96A7;
  2477. GL_SHADING_RATE_2X1_PIXELS_QCOM = $96A8;
  2478. GL_SHADING_RATE_2X2_PIXELS_QCOM = $96A9;
  2479. GL_SHADING_RATE_4X2_PIXELS_QCOM = $96AC;
  2480. GL_SHADING_RATE_4X4_PIXELS_QCOM = $96AE;
  2481. // GL_QCOM_texture_foveated
  2482. GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM = $8BFB;
  2483. GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM = $8BFC;
  2484. GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM = $8BFD;
  2485. GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM = $8BFE;
  2486. GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM = $8BFF;
  2487. // GL_QCOM_texture_foveated2
  2488. GL_TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM = $96A0;
  2489. // GL_QCOM_texture_foveated_subsampled_layout
  2490. GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM = $00000004;
  2491. GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM = $8FA1;
  2492. // GL_QCOM_tiled_rendering
  2493. GL_COLOR_BUFFER_BIT0_QCOM = $00000001;
  2494. GL_COLOR_BUFFER_BIT1_QCOM = $00000002;
  2495. GL_COLOR_BUFFER_BIT2_QCOM = $00000004;
  2496. GL_COLOR_BUFFER_BIT3_QCOM = $00000008;
  2497. GL_COLOR_BUFFER_BIT4_QCOM = $00000010;
  2498. GL_COLOR_BUFFER_BIT5_QCOM = $00000020;
  2499. GL_COLOR_BUFFER_BIT6_QCOM = $00000040;
  2500. GL_COLOR_BUFFER_BIT7_QCOM = $00000080;
  2501. GL_DEPTH_BUFFER_BIT0_QCOM = $00000100;
  2502. GL_DEPTH_BUFFER_BIT1_QCOM = $00000200;
  2503. GL_DEPTH_BUFFER_BIT2_QCOM = $00000400;
  2504. GL_DEPTH_BUFFER_BIT3_QCOM = $00000800;
  2505. GL_DEPTH_BUFFER_BIT4_QCOM = $00001000;
  2506. GL_DEPTH_BUFFER_BIT5_QCOM = $00002000;
  2507. GL_DEPTH_BUFFER_BIT6_QCOM = $00004000;
  2508. GL_DEPTH_BUFFER_BIT7_QCOM = $00008000;
  2509. GL_STENCIL_BUFFER_BIT0_QCOM = $00010000;
  2510. GL_STENCIL_BUFFER_BIT1_QCOM = $00020000;
  2511. GL_STENCIL_BUFFER_BIT2_QCOM = $00040000;
  2512. GL_STENCIL_BUFFER_BIT3_QCOM = $00080000;
  2513. GL_STENCIL_BUFFER_BIT4_QCOM = $00100000;
  2514. GL_STENCIL_BUFFER_BIT5_QCOM = $00200000;
  2515. GL_STENCIL_BUFFER_BIT6_QCOM = $00400000;
  2516. GL_STENCIL_BUFFER_BIT7_QCOM = $00800000;
  2517. GL_MULTISAMPLE_BUFFER_BIT0_QCOM = $01000000;
  2518. GL_MULTISAMPLE_BUFFER_BIT1_QCOM = $02000000;
  2519. GL_MULTISAMPLE_BUFFER_BIT2_QCOM = $04000000;
  2520. GL_MULTISAMPLE_BUFFER_BIT3_QCOM = $08000000;
  2521. GL_MULTISAMPLE_BUFFER_BIT4_QCOM = $10000000;
  2522. GL_MULTISAMPLE_BUFFER_BIT5_QCOM = $20000000;
  2523. GL_MULTISAMPLE_BUFFER_BIT6_QCOM = $40000000;
  2524. GL_MULTISAMPLE_BUFFER_BIT7_QCOM = $80000000;
  2525. // GL_QCOM_writeonly_rendering
  2526. GL_WRITEONLY_RENDERING_QCOM = $8823;
  2527. // GL_VIV_shader_binary
  2528. GL_SHADER_BINARY_VIV = $8FC4;
  2529. (*******************************************************************************
  2530. * GL_ES_VERSION_2_0 *
  2531. *******************************************************************************)
  2532. (*******************************************************************************
  2533. * GL_ES_VERSION_3_0 *
  2534. *******************************************************************************)
  2535. GL_READ_BUFFER = $0C02;
  2536. GL_UNPACK_ROW_LENGTH = $0CF2;
  2537. GL_UNPACK_SKIP_ROWS = $0CF3;
  2538. GL_UNPACK_SKIP_PIXELS = $0CF4;
  2539. GL_PACK_ROW_LENGTH = $0D02;
  2540. GL_PACK_SKIP_ROWS = $0D03;
  2541. GL_PACK_SKIP_PIXELS = $0D04;
  2542. GL_COLOR = $1800;
  2543. GL_DEPTH = $1801;
  2544. GL_STENCIL = $1802;
  2545. GL_RED = $1903;
  2546. GL_RGB8 = $8051;
  2547. GL_RGBA8 = $8058;
  2548. GL_RGB10_A2 = $8059;
  2549. GL_TEXTURE_BINDING_3D = $806A;
  2550. GL_UNPACK_SKIP_IMAGES = $806D;
  2551. GL_UNPACK_IMAGE_HEIGHT = $806E;
  2552. // GL_TEXTURE_3D = $806F;
  2553. GL_TEXTURE_WRAP_R = $8072;
  2554. GL_MAX_3D_TEXTURE_SIZE = $8073;
  2555. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  2556. GL_MAX_ELEMENTS_VERTICES = $80E8;
  2557. GL_MAX_ELEMENTS_INDICES = $80E9;
  2558. GL_TEXTURE_MIN_LOD = $813A;
  2559. GL_TEXTURE_MAX_LOD = $813B;
  2560. GL_TEXTURE_BASE_LEVEL = $813C;
  2561. GL_TEXTURE_MAX_LEVEL = $813D;
  2562. // GL_MIN = $8007;
  2563. // GL_MAX = $8008;
  2564. GL_DEPTH_COMPONENT24 = $81A6;
  2565. GL_MAX_TEXTURE_LOD_BIAS = $84FD;
  2566. GL_TEXTURE_COMPARE_MODE = $884C;
  2567. GL_TEXTURE_COMPARE_FUNC = $884D;
  2568. GL_CURRENT_QUERY = $8865;
  2569. GL_QUERY_RESULT = $8866;
  2570. GL_QUERY_RESULT_AVAILABLE = $8867;
  2571. GL_BUFFER_MAPPED = $88BC;
  2572. GL_BUFFER_MAP_POINTER = $88BD;
  2573. GL_STREAM_READ = $88E1;
  2574. GL_STREAM_COPY = $88E2;
  2575. GL_STATIC_READ = $88E5;
  2576. GL_STATIC_COPY = $88E6;
  2577. GL_DYNAMIC_READ = $88E9;
  2578. GL_DYNAMIC_COPY = $88EA;
  2579. GL_MAX_DRAW_BUFFERS = $8824;
  2580. GL_DRAW_BUFFER0 = $8825;
  2581. GL_DRAW_BUFFER1 = $8826;
  2582. GL_DRAW_BUFFER2 = $8827;
  2583. GL_DRAW_BUFFER3 = $8828;
  2584. GL_DRAW_BUFFER4 = $8829;
  2585. GL_DRAW_BUFFER5 = $882A;
  2586. GL_DRAW_BUFFER6 = $882B;
  2587. GL_DRAW_BUFFER7 = $882C;
  2588. GL_DRAW_BUFFER8 = $882D;
  2589. GL_DRAW_BUFFER9 = $882E;
  2590. GL_DRAW_BUFFER10 = $882F;
  2591. GL_DRAW_BUFFER11 = $8830;
  2592. GL_DRAW_BUFFER12 = $8831;
  2593. GL_DRAW_BUFFER13 = $8832;
  2594. GL_DRAW_BUFFER14 = $8833;
  2595. GL_DRAW_BUFFER15 = $8834;
  2596. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
  2597. GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
  2598. GL_SAMPLER_3D = $8B5F;
  2599. GL_SAMPLER_2D_SHADOW = $8B62;
  2600. GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
  2601. GL_PIXEL_PACK_BUFFER = $88EB;
  2602. GL_PIXEL_UNPACK_BUFFER = $88EC;
  2603. GL_PIXEL_PACK_BUFFER_BINDING = $88ED;
  2604. GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF;
  2605. GL_FLOAT_MAT2x3 = $8B65;
  2606. GL_FLOAT_MAT2x4 = $8B66;
  2607. GL_FLOAT_MAT3x2 = $8B67;
  2608. GL_FLOAT_MAT3x4 = $8B68;
  2609. GL_FLOAT_MAT4x2 = $8B69;
  2610. GL_FLOAT_MAT4x3 = $8B6A;
  2611. GL_SRGB = $8C40;
  2612. GL_SRGB8 = $8C41;
  2613. GL_SRGB8_ALPHA8 = $8C43;
  2614. GL_COMPARE_REF_TO_TEXTURE = $884E;
  2615. GL_MAJOR_VERSION = $821B;
  2616. GL_MINOR_VERSION = $821C;
  2617. GL_NUM_EXTENSIONS = $821D;
  2618. GL_RGBA32F = $8814;
  2619. GL_RGB32F = $8815;
  2620. GL_RGBA16F = $881A;
  2621. GL_RGB16F = $881B;
  2622. GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD;
  2623. GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF;
  2624. GL_MIN_PROGRAM_TEXEL_OFFSET = $8904;
  2625. GL_MAX_PROGRAM_TEXEL_OFFSET = $8905;
  2626. GL_MAX_VARYING_COMPONENTS = $8B4B;
  2627. // GL_TEXTURE_2D_ARRAY = $8C1A;
  2628. GL_TEXTURE_BINDING_2D_ARRAY = $8C1D;
  2629. GL_R11F_G11F_B10F = $8C3A;
  2630. GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B;
  2631. GL_RGB9_E5 = $8C3D;
  2632. GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E;
  2633. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76;
  2634. GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F;
  2635. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80;
  2636. GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83;
  2637. GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84;
  2638. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85;
  2639. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88;
  2640. GL_RASTERIZER_DISCARD = $8C89;
  2641. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A;
  2642. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B;
  2643. GL_INTERLEAVED_ATTRIBS = $8C8C;
  2644. GL_SEPARATE_ATTRIBS = $8C8D;
  2645. GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E;
  2646. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F;
  2647. GL_RGBA32UI = $8D70;
  2648. GL_RGB32UI = $8D71;
  2649. GL_RGBA16UI = $8D76;
  2650. GL_RGB16UI = $8D77;
  2651. GL_RGBA8UI = $8D7C;
  2652. GL_RGB8UI = $8D7D;
  2653. GL_RGBA32I = $8D82;
  2654. GL_RGB32I = $8D83;
  2655. GL_RGBA16I = $8D88;
  2656. GL_RGB16I = $8D89;
  2657. GL_RGBA8I = $8D8E;
  2658. GL_RGB8I = $8D8F;
  2659. GL_RED_INTEGER = $8D94;
  2660. GL_RGB_INTEGER = $8D98;
  2661. GL_RGBA_INTEGER = $8D99;
  2662. GL_SAMPLER_2D_ARRAY = $8DC1;
  2663. GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4;
  2664. GL_SAMPLER_CUBE_SHADOW = $8DC5;
  2665. GL_UNSIGNED_INT_VEC2 = $8DC6;
  2666. GL_UNSIGNED_INT_VEC3 = $8DC7;
  2667. GL_UNSIGNED_INT_VEC4 = $8DC8;
  2668. GL_INT_SAMPLER_2D = $8DCA;
  2669. GL_INT_SAMPLER_3D = $8DCB;
  2670. GL_INT_SAMPLER_CUBE = $8DCC;
  2671. GL_INT_SAMPLER_2D_ARRAY = $8DCF;
  2672. GL_UNSIGNED_INT_SAMPLER_2D = $8DD2;
  2673. GL_UNSIGNED_INT_SAMPLER_3D = $8DD3;
  2674. GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4;
  2675. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7;
  2676. GL_BUFFER_ACCESS_FLAGS = $911F;
  2677. GL_BUFFER_MAP_LENGTH = $9120;
  2678. GL_BUFFER_MAP_OFFSET = $9121;
  2679. GL_DEPTH_COMPONENT32F = $8CAC;
  2680. GL_DEPTH32F_STENCIL8 = $8CAD;
  2681. GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD;
  2682. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210;
  2683. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211;
  2684. GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212;
  2685. GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213;
  2686. GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214;
  2687. GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215;
  2688. GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216;
  2689. GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217;
  2690. GL_FRAMEBUFFER_DEFAULT = $8218;
  2691. GL_FRAMEBUFFER_UNDEFINED = $8219;
  2692. GL_DEPTH_STENCIL_ATTACHMENT = $821A;
  2693. GL_DEPTH_STENCIL = $84F9;
  2694. GL_UNSIGNED_INT_24_8 = $84FA;
  2695. GL_DEPTH24_STENCIL8 = $88F0;
  2696. GL_UNSIGNED_NORMALIZED = $8C17;
  2697. GL_DRAW_FRAMEBUFFER_BINDING = $8CA6;
  2698. GL_READ_FRAMEBUFFER = $8CA8;
  2699. GL_DRAW_FRAMEBUFFER = $8CA9;
  2700. GL_READ_FRAMEBUFFER_BINDING = $8CAA;
  2701. GL_RENDERBUFFER_SAMPLES = $8CAB;
  2702. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4;
  2703. GL_MAX_COLOR_ATTACHMENTS = $8CDF;
  2704. GL_COLOR_ATTACHMENT1 = $8CE1;
  2705. GL_COLOR_ATTACHMENT2 = $8CE2;
  2706. GL_COLOR_ATTACHMENT3 = $8CE3;
  2707. GL_COLOR_ATTACHMENT4 = $8CE4;
  2708. GL_COLOR_ATTACHMENT5 = $8CE5;
  2709. GL_COLOR_ATTACHMENT6 = $8CE6;
  2710. GL_COLOR_ATTACHMENT7 = $8CE7;
  2711. GL_COLOR_ATTACHMENT8 = $8CE8;
  2712. GL_COLOR_ATTACHMENT9 = $8CE9;
  2713. GL_COLOR_ATTACHMENT10 = $8CEA;
  2714. GL_COLOR_ATTACHMENT11 = $8CEB;
  2715. GL_COLOR_ATTACHMENT12 = $8CEC;
  2716. GL_COLOR_ATTACHMENT13 = $8CED;
  2717. GL_COLOR_ATTACHMENT14 = $8CEE;
  2718. GL_COLOR_ATTACHMENT15 = $8CEF;
  2719. GL_COLOR_ATTACHMENT16 = $8CF0;
  2720. GL_COLOR_ATTACHMENT17 = $8CF1;
  2721. GL_COLOR_ATTACHMENT18 = $8CF2;
  2722. GL_COLOR_ATTACHMENT19 = $8CF3;
  2723. GL_COLOR_ATTACHMENT20 = $8CF4;
  2724. GL_COLOR_ATTACHMENT21 = $8CF5;
  2725. GL_COLOR_ATTACHMENT22 = $8CF6;
  2726. GL_COLOR_ATTACHMENT23 = $8CF7;
  2727. GL_COLOR_ATTACHMENT24 = $8CF8;
  2728. GL_COLOR_ATTACHMENT25 = $8CF9;
  2729. GL_COLOR_ATTACHMENT26 = $8CFA;
  2730. GL_COLOR_ATTACHMENT27 = $8CFB;
  2731. GL_COLOR_ATTACHMENT28 = $8CFC;
  2732. GL_COLOR_ATTACHMENT29 = $8CFD;
  2733. GL_COLOR_ATTACHMENT30 = $8CFE;
  2734. GL_COLOR_ATTACHMENT31 = $8CFF;
  2735. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56;
  2736. GL_MAX_SAMPLES = $8D57;
  2737. GL_HALF_FLOAT = $140B;
  2738. // GL_MAP_READ_BIT = $0001;
  2739. // GL_MAP_WRITE_BIT = $0002;
  2740. GL_MAP_INVALIDATE_RANGE_BIT = $0004;
  2741. GL_MAP_INVALIDATE_BUFFER_BIT = $0008;
  2742. GL_MAP_FLUSH_EXPLICIT_BIT = $0010;
  2743. GL_MAP_UNSYNCHRONIZED_BIT = $0020;
  2744. GL_RG = $8227;
  2745. GL_RG_INTEGER = $8228;
  2746. GL_R8 = $8229;
  2747. GL_RG8 = $822B;
  2748. GL_R16F = $822D;
  2749. GL_R32F = $822E;
  2750. GL_RG16F = $822F;
  2751. GL_RG32F = $8230;
  2752. GL_R8I = $8231;
  2753. GL_R8UI = $8232;
  2754. GL_R16I = $8233;
  2755. GL_R16UI = $8234;
  2756. GL_R32I = $8235;
  2757. GL_R32UI = $8236;
  2758. GL_RG8I = $8237;
  2759. GL_RG8UI = $8238;
  2760. GL_RG16I = $8239;
  2761. GL_RG16UI = $823A;
  2762. GL_RG32I = $823B;
  2763. GL_RG32UI = $823C;
  2764. GL_VERTEX_ARRAY_BINDING = $85B5;
  2765. // GL_R8_SNORM = $8F94;
  2766. // GL_RG8_SNORM = $8F95;
  2767. GL_RGB8_SNORM = $8F96;
  2768. // GL_RGBA8_SNORM = $8F97;
  2769. GL_SIGNED_NORMALIZED = $8F9C;
  2770. GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69;
  2771. GL_COPY_READ_BUFFER = $8F36;
  2772. GL_COPY_WRITE_BUFFER = $8F37;
  2773. GL_COPY_READ_BUFFER_BINDING = $8F36;
  2774. GL_COPY_WRITE_BUFFER_BINDING = $8F37;
  2775. GL_UNIFORM_BUFFER = $8A11;
  2776. GL_UNIFORM_BUFFER_BINDING = $8A28;
  2777. GL_UNIFORM_BUFFER_START = $8A29;
  2778. GL_UNIFORM_BUFFER_SIZE = $8A2A;
  2779. GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B;
  2780. GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D;
  2781. GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E;
  2782. GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F;
  2783. GL_MAX_UNIFORM_BLOCK_SIZE = $8A30;
  2784. GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31;
  2785. GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33;
  2786. GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34;
  2787. GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35;
  2788. GL_ACTIVE_UNIFORM_BLOCKS = $8A36;
  2789. GL_UNIFORM_TYPE = $8A37;
  2790. GL_UNIFORM_SIZE = $8A38;
  2791. GL_UNIFORM_NAME_LENGTH = $8A39;
  2792. GL_UNIFORM_BLOCK_INDEX = $8A3A;
  2793. GL_UNIFORM_OFFSET = $8A3B;
  2794. GL_UNIFORM_ARRAY_STRIDE = $8A3C;
  2795. GL_UNIFORM_MATRIX_STRIDE = $8A3D;
  2796. GL_UNIFORM_IS_ROW_MAJOR = $8A3E;
  2797. GL_UNIFORM_BLOCK_BINDING = $8A3F;
  2798. GL_UNIFORM_BLOCK_DATA_SIZE = $8A40;
  2799. GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41;
  2800. GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42;
  2801. GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43;
  2802. GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44;
  2803. GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46;
  2804. GL_INVALID_INDEX = $FFFFFFFF;
  2805. GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122;
  2806. GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125;
  2807. GL_MAX_SERVER_WAIT_TIMEOUT = $9111;
  2808. GL_OBJECT_TYPE = $9112;
  2809. GL_SYNC_CONDITION = $9113;
  2810. GL_SYNC_STATUS = $9114;
  2811. GL_SYNC_FLAGS = $9115;
  2812. GL_SYNC_FENCE = $9116;
  2813. GL_SYNC_GPU_COMMANDS_COMPLETE = $9117;
  2814. GL_UNSIGNALED = $9118;
  2815. GL_SIGNALED = $9119;
  2816. GL_ALREADY_SIGNALED = $911A;
  2817. GL_TIMEOUT_EXPIRED = $911B;
  2818. GL_CONDITION_SATISFIED = $911C;
  2819. GL_WAIT_FAILED = $911D;
  2820. GL_SYNC_FLUSH_COMMANDS_BIT = $00000001;
  2821. GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF;
  2822. GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE;
  2823. GL_ANY_SAMPLES_PASSED = $8C2F;
  2824. GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A;
  2825. GL_SAMPLER_BINDING = $8919;
  2826. GL_RGB10_A2UI = $906F;
  2827. GL_TEXTURE_SWIZZLE_R = $8E42;
  2828. GL_TEXTURE_SWIZZLE_G = $8E43;
  2829. GL_TEXTURE_SWIZZLE_B = $8E44;
  2830. GL_TEXTURE_SWIZZLE_A = $8E45;
  2831. GL_GREEN = $1904;
  2832. GL_BLUE = $1905;
  2833. GL_INT_2_10_10_10_REV = $8D9F;
  2834. // GL_TRANSFORM_FEEDBACK = $8E22;
  2835. GL_TRANSFORM_FEEDBACK_PAUSED = $8E23;
  2836. GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24;
  2837. GL_TRANSFORM_FEEDBACK_BINDING = $8E25;
  2838. GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
  2839. GL_PROGRAM_BINARY_LENGTH = $8741;
  2840. GL_NUM_PROGRAM_BINARY_FORMATS = $87FE;
  2841. GL_PROGRAM_BINARY_FORMATS = $87FF;
  2842. GL_COMPRESSED_R11_EAC = $9270;
  2843. GL_COMPRESSED_SIGNED_R11_EAC = $9271;
  2844. GL_COMPRESSED_RG11_EAC = $9272;
  2845. GL_COMPRESSED_SIGNED_RG11_EAC = $9273;
  2846. GL_COMPRESSED_RGB8_ETC2 = $9274;
  2847. GL_COMPRESSED_SRGB8_ETC2 = $9275;
  2848. GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276;
  2849. GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277;
  2850. GL_COMPRESSED_RGBA8_ETC2_EAC = $9278;
  2851. GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279;
  2852. GL_TEXTURE_IMMUTABLE_FORMAT = $912F;
  2853. GL_MAX_ELEMENT_INDEX = $8D6B;
  2854. GL_NUM_SAMPLE_COUNTS = $9380;
  2855. // GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
  2856. (*******************************************************************************
  2857. * GL_ES_VERSION_3_0 *
  2858. *******************************************************************************)
  2859. (*******************************************************************************
  2860. * GL_ES_VERSION_3_1 *
  2861. *******************************************************************************)
  2862. GL_COMPUTE_SHADER = $91B9;
  2863. GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB;
  2864. GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC;
  2865. GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD;
  2866. GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262;
  2867. GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263;
  2868. GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264;
  2869. GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265;
  2870. GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266;
  2871. GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = $90EB;
  2872. GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE;
  2873. GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF;
  2874. GL_COMPUTE_WORK_GROUP_SIZE = $8267;
  2875. GL_DISPATCH_INDIRECT_BUFFER = $90EE;
  2876. GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF;
  2877. GL_COMPUTE_SHADER_BIT = $00000020;
  2878. GL_DRAW_INDIRECT_BUFFER = $8F3F;
  2879. GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43;
  2880. GL_MAX_UNIFORM_LOCATIONS = $826E;
  2881. GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310;
  2882. GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311;
  2883. GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313;
  2884. GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314;
  2885. GL_MAX_FRAMEBUFFER_WIDTH = $9315;
  2886. GL_MAX_FRAMEBUFFER_HEIGHT = $9316;
  2887. GL_MAX_FRAMEBUFFER_SAMPLES = $9318;
  2888. GL_UNIFORM = $92E1;
  2889. GL_UNIFORM_BLOCK = $92E2;
  2890. GL_PROGRAM_INPUT = $92E3;
  2891. GL_PROGRAM_OUTPUT = $92E4;
  2892. GL_BUFFER_VARIABLE = $92E5;
  2893. GL_SHADER_STORAGE_BLOCK = $92E6;
  2894. GL_ATOMIC_COUNTER_BUFFER = $92C0;
  2895. GL_TRANSFORM_FEEDBACK_VARYING = $92F4;
  2896. GL_ACTIVE_RESOURCES = $92F5;
  2897. GL_MAX_NAME_LENGTH = $92F6;
  2898. GL_MAX_NUM_ACTIVE_VARIABLES = $92F7;
  2899. GL_NAME_LENGTH = $92F9;
  2900. GL_TYPE = $92FA;
  2901. GL_ARRAY_SIZE = $92FB;
  2902. GL_OFFSET = $92FC;
  2903. GL_BLOCK_INDEX = $92FD;
  2904. GL_ARRAY_STRIDE = $92FE;
  2905. GL_MATRIX_STRIDE = $92FF;
  2906. GL_IS_ROW_MAJOR = $9300;
  2907. GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301;
  2908. GL_BUFFER_BINDING = $9302;
  2909. GL_BUFFER_DATA_SIZE = $9303;
  2910. GL_NUM_ACTIVE_VARIABLES = $9304;
  2911. GL_ACTIVE_VARIABLES = $9305;
  2912. GL_REFERENCED_BY_VERTEX_SHADER = $9306;
  2913. GL_REFERENCED_BY_FRAGMENT_SHADER = $930A;
  2914. GL_REFERENCED_BY_COMPUTE_SHADER = $930B;
  2915. GL_TOP_LEVEL_ARRAY_SIZE = $930C;
  2916. GL_TOP_LEVEL_ARRAY_STRIDE = $930D;
  2917. GL_LOCATION = $930E;
  2918. GL_VERTEX_SHADER_BIT = $00000001;
  2919. GL_FRAGMENT_SHADER_BIT = $00000002;
  2920. GL_ALL_SHADER_BITS = $FFFFFFFF;
  2921. GL_PROGRAM_SEPARABLE = $8258;
  2922. GL_ACTIVE_PROGRAM = $8259;
  2923. GL_PROGRAM_PIPELINE_BINDING = $825A;
  2924. GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1;
  2925. GL_ATOMIC_COUNTER_BUFFER_START = $92C2;
  2926. GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3;
  2927. GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC;
  2928. GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0;
  2929. GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1;
  2930. GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2;
  2931. GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6;
  2932. GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7;
  2933. GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8;
  2934. GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC;
  2935. GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9;
  2936. GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB;
  2937. GL_MAX_IMAGE_UNITS = $8F38;
  2938. GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA;
  2939. GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE;
  2940. GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF;
  2941. GL_IMAGE_BINDING_NAME = $8F3A;
  2942. GL_IMAGE_BINDING_LEVEL = $8F3B;
  2943. GL_IMAGE_BINDING_LAYERED = $8F3C;
  2944. GL_IMAGE_BINDING_LAYER = $8F3D;
  2945. GL_IMAGE_BINDING_ACCESS = $8F3E;
  2946. GL_IMAGE_BINDING_FORMAT = $906E;
  2947. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001;
  2948. GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002;
  2949. GL_UNIFORM_BARRIER_BIT = $00000004;
  2950. GL_TEXTURE_FETCH_BARRIER_BIT = $00000008;
  2951. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020;
  2952. GL_COMMAND_BARRIER_BIT = $00000040;
  2953. GL_PIXEL_BUFFER_BARRIER_BIT = $00000080;
  2954. GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100;
  2955. GL_BUFFER_UPDATE_BARRIER_BIT = $00000200;
  2956. GL_FRAMEBUFFER_BARRIER_BIT = $00000400;
  2957. GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800;
  2958. GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000;
  2959. GL_ALL_BARRIER_BITS = $FFFFFFFF;
  2960. GL_IMAGE_2D = $904D;
  2961. GL_IMAGE_3D = $904E;
  2962. GL_IMAGE_CUBE = $9050;
  2963. GL_IMAGE_2D_ARRAY = $9053;
  2964. GL_INT_IMAGE_2D = $9058;
  2965. GL_INT_IMAGE_3D = $9059;
  2966. GL_INT_IMAGE_CUBE = $905B;
  2967. GL_INT_IMAGE_2D_ARRAY = $905E;
  2968. GL_UNSIGNED_INT_IMAGE_2D = $9063;
  2969. GL_UNSIGNED_INT_IMAGE_3D = $9064;
  2970. GL_UNSIGNED_INT_IMAGE_CUBE = $9066;
  2971. GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069;
  2972. GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7;
  2973. GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8;
  2974. GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9;
  2975. GL_READ_ONLY = $88B8;
  2976. GL_WRITE_ONLY = $88B9;
  2977. GL_READ_WRITE = $88BA;
  2978. GL_SHADER_STORAGE_BUFFER = $90D2;
  2979. GL_SHADER_STORAGE_BUFFER_BINDING = $90D3;
  2980. GL_SHADER_STORAGE_BUFFER_START = $90D4;
  2981. GL_SHADER_STORAGE_BUFFER_SIZE = $90D5;
  2982. GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6;
  2983. GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA;
  2984. GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB;
  2985. GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC;
  2986. GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD;
  2987. GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE;
  2988. GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF;
  2989. GL_SHADER_STORAGE_BARRIER_BIT = $00002000;
  2990. GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = $8F39;
  2991. GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA;
  2992. GL_STENCIL_INDEX = $1901;
  2993. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E;
  2994. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F;
  2995. GL_SAMPLE_POSITION = $8E50;
  2996. GL_SAMPLE_MASK = $8E51;
  2997. GL_SAMPLE_MASK_VALUE = $8E52;
  2998. // GL_TEXTURE_2D_MULTISAMPLE = $9100;
  2999. GL_MAX_SAMPLE_MASK_WORDS = $8E59;
  3000. GL_MAX_COLOR_TEXTURE_SAMPLES = $910E;
  3001. GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F;
  3002. GL_MAX_INTEGER_SAMPLES = $9110;
  3003. GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104;
  3004. GL_TEXTURE_SAMPLES = $9106;
  3005. GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107;
  3006. GL_TEXTURE_WIDTH = $1000;
  3007. GL_TEXTURE_HEIGHT = $1001;
  3008. GL_TEXTURE_DEPTH = $8071;
  3009. GL_TEXTURE_INTERNAL_FORMAT = $1003;
  3010. GL_TEXTURE_RED_SIZE = $805C;
  3011. GL_TEXTURE_GREEN_SIZE = $805D;
  3012. GL_TEXTURE_BLUE_SIZE = $805E;
  3013. GL_TEXTURE_ALPHA_SIZE = $805F;
  3014. GL_TEXTURE_DEPTH_SIZE = $884A;
  3015. GL_TEXTURE_STENCIL_SIZE = $88F1;
  3016. GL_TEXTURE_SHARED_SIZE = $8C3F;
  3017. GL_TEXTURE_RED_TYPE = $8C10;
  3018. GL_TEXTURE_GREEN_TYPE = $8C11;
  3019. GL_TEXTURE_BLUE_TYPE = $8C12;
  3020. GL_TEXTURE_ALPHA_TYPE = $8C13;
  3021. GL_TEXTURE_DEPTH_TYPE = $8C16;
  3022. GL_TEXTURE_COMPRESSED = $86A1;
  3023. GL_SAMPLER_2D_MULTISAMPLE = $9108;
  3024. GL_INT_SAMPLER_2D_MULTISAMPLE = $9109;
  3025. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A;
  3026. GL_VERTEX_ATTRIB_BINDING = $82D4;
  3027. GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5;
  3028. GL_VERTEX_BINDING_DIVISOR = $82D6;
  3029. GL_VERTEX_BINDING_OFFSET = $82D7;
  3030. GL_VERTEX_BINDING_STRIDE = $82D8;
  3031. GL_VERTEX_BINDING_BUFFER = $8F4F;
  3032. GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9;
  3033. GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA;
  3034. GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5;
  3035. (*******************************************************************************
  3036. * GL_ES_VERSION_3_1 *
  3037. *******************************************************************************)
  3038. (*******************************************************************************
  3039. * GL_ES_VERSION_3_2 *
  3040. *******************************************************************************)
  3041. type
  3042. GLDEBUGPROC = procedure(source:GLenum; _type:GLenum; id:GLuint; severity:GLenum; length:GLsizei;
  3043. message:PGLchar; userParam:pointer); stdcall;
  3044. const
  3045. GL_MULTISAMPLE_LINE_WIDTH_RANGE = $9381;
  3046. GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = $9382;
  3047. GL_MULTIPLY = $9294;
  3048. GL_SCREEN = $9295;
  3049. GL_OVERLAY = $9296;
  3050. GL_DARKEN = $9297;
  3051. GL_LIGHTEN = $9298;
  3052. GL_COLORDODGE = $9299;
  3053. GL_COLORBURN = $929A;
  3054. GL_HARDLIGHT = $929B;
  3055. GL_SOFTLIGHT = $929C;
  3056. GL_DIFFERENCE = $929E;
  3057. GL_EXCLUSION = $92A0;
  3058. GL_HSL_HUE = $92AD;
  3059. GL_HSL_SATURATION = $92AE;
  3060. GL_HSL_COLOR = $92AF;
  3061. GL_HSL_LUMINOSITY = $92B0;
  3062. GL_DEBUG_OUTPUT_SYNCHRONOUS = $8242;
  3063. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = $8243;
  3064. GL_DEBUG_CALLBACK_FUNCTION = $8244;
  3065. GL_DEBUG_CALLBACK_USER_PARAM = $8245;
  3066. GL_DEBUG_SOURCE_API = $8246;
  3067. GL_DEBUG_SOURCE_WINDOW_SYSTEM = $8247;
  3068. GL_DEBUG_SOURCE_SHADER_COMPILER = $8248;
  3069. GL_DEBUG_SOURCE_THIRD_PARTY = $8249;
  3070. GL_DEBUG_SOURCE_APPLICATION = $824A;
  3071. GL_DEBUG_SOURCE_OTHER = $824B;
  3072. GL_DEBUG_TYPE_ERROR = $824C;
  3073. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = $824D;
  3074. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = $824E;
  3075. GL_DEBUG_TYPE_PORTABILITY = $824F;
  3076. GL_DEBUG_TYPE_PERFORMANCE = $8250;
  3077. GL_DEBUG_TYPE_OTHER = $8251;
  3078. GL_DEBUG_TYPE_MARKER = $8268;
  3079. GL_DEBUG_TYPE_PUSH_GROUP = $8269;
  3080. GL_DEBUG_TYPE_POP_GROUP = $826A;
  3081. GL_DEBUG_SEVERITY_NOTIFICATION = $826B;
  3082. GL_MAX_DEBUG_GROUP_STACK_DEPTH = $826C;
  3083. GL_DEBUG_GROUP_STACK_DEPTH = $826D;
  3084. GL_BUFFER = $82E0;
  3085. GL_SHADER = $82E1;
  3086. GL_PROGRAM = $82E2;
  3087. GL_VERTEX_ARRAY = $8074;
  3088. GL_QUERY = $82E3;
  3089. GL_PROGRAM_PIPELINE = $82E4;
  3090. // GL_SAMPLER = $82E6;
  3091. GL_MAX_LABEL_LENGTH = $82E8;
  3092. GL_MAX_DEBUG_MESSAGE_LENGTH = $9143;
  3093. GL_MAX_DEBUG_LOGGED_MESSAGES = $9144;
  3094. GL_DEBUG_LOGGED_MESSAGES = $9145;
  3095. GL_DEBUG_SEVERITY_HIGH = $9146;
  3096. GL_DEBUG_SEVERITY_MEDIUM = $9147;
  3097. GL_DEBUG_SEVERITY_LOW = $9148;
  3098. GL_DEBUG_OUTPUT = $92E0;
  3099. GL_CONTEXT_FLAG_DEBUG_BIT = $00000002;
  3100. GL_STACK_OVERFLOW = $0503;
  3101. GL_STACK_UNDERFLOW = $0504;
  3102. GL_GEOMETRY_SHADER = $8DD9;
  3103. GL_GEOMETRY_SHADER_BIT = $00000004;
  3104. GL_GEOMETRY_VERTICES_OUT = $8916;
  3105. GL_GEOMETRY_INPUT_TYPE = $8917;
  3106. GL_GEOMETRY_OUTPUT_TYPE = $8918;
  3107. GL_GEOMETRY_SHADER_INVOCATIONS = $887F;
  3108. GL_LAYER_PROVOKING_VERTEX = $825E;
  3109. GL_LINES_ADJACENCY = $000A;
  3110. GL_LINE_STRIP_ADJACENCY = $000B;
  3111. GL_TRIANGLES_ADJACENCY = $000C;
  3112. GL_TRIANGLE_STRIP_ADJACENCY = $000D;
  3113. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = $8DDF;
  3114. GL_MAX_GEOMETRY_UNIFORM_BLOCKS = $8A2C;
  3115. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = $8A32;
  3116. GL_MAX_GEOMETRY_INPUT_COMPONENTS = $9123;
  3117. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = $9124;
  3118. GL_MAX_GEOMETRY_OUTPUT_VERTICES = $8DE0;
  3119. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = $8DE1;
  3120. GL_MAX_GEOMETRY_SHADER_INVOCATIONS = $8E5A;
  3121. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = $8C29;
  3122. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = $92CF;
  3123. GL_MAX_GEOMETRY_ATOMIC_COUNTERS = $92D5;
  3124. GL_MAX_GEOMETRY_IMAGE_UNIFORMS = $90CD;
  3125. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = $90D7;
  3126. GL_FIRST_VERTEX_CONVENTION = $8E4D;
  3127. GL_LAST_VERTEX_CONVENTION = $8E4E;
  3128. GL_UNDEFINED_VERTEX = $8260;
  3129. GL_PRIMITIVES_GENERATED = $8C87;
  3130. GL_FRAMEBUFFER_DEFAULT_LAYERS = $9312;
  3131. GL_MAX_FRAMEBUFFER_LAYERS = $9317;
  3132. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = $8DA8;
  3133. GL_FRAMEBUFFER_ATTACHMENT_LAYERED = $8DA7;
  3134. GL_REFERENCED_BY_GEOMETRY_SHADER = $9309;
  3135. GL_PRIMITIVE_BOUNDING_BOX = $92BE;
  3136. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = $00000004;
  3137. GL_CONTEXT_FLAGS = $821E;
  3138. GL_LOSE_CONTEXT_ON_RESET = $8252;
  3139. GL_GUILTY_CONTEXT_RESET = $8253;
  3140. GL_INNOCENT_CONTEXT_RESET = $8254;
  3141. GL_UNKNOWN_CONTEXT_RESET = $8255;
  3142. GL_RESET_NOTIFICATION_STRATEGY = $8256;
  3143. GL_NO_RESET_NOTIFICATION = $8261;
  3144. GL_CONTEXT_LOST = $0507;
  3145. GL_SAMPLE_SHADING = $8C36;
  3146. GL_MIN_SAMPLE_SHADING_VALUE = $8C37;
  3147. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = $8E5B;
  3148. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = $8E5C;
  3149. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = $8E5D;
  3150. // GL_PATCHES = $000E;
  3151. GL_PATCH_VERTICES = $8E72;
  3152. GL_TESS_CONTROL_OUTPUT_VERTICES = $8E75;
  3153. GL_TESS_GEN_MODE = $8E76;
  3154. GL_TESS_GEN_SPACING = $8E77;
  3155. GL_TESS_GEN_VERTEX_ORDER = $8E78;
  3156. GL_TESS_GEN_POINT_MODE = $8E79;
  3157. GL_ISOLINES = $8E7A;
  3158. GL_QUADS = $0007;
  3159. GL_FRACTIONAL_ODD = $8E7B;
  3160. GL_FRACTIONAL_EVEN = $8E7C;
  3161. GL_MAX_PATCH_VERTICES = $8E7D;
  3162. GL_MAX_TESS_GEN_LEVEL = $8E7E;
  3163. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = $8E7F;
  3164. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E80;
  3165. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = $8E81;
  3166. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = $8E82;
  3167. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = $8E83;
  3168. GL_MAX_TESS_PATCH_COMPONENTS = $8E84;
  3169. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = $8E85;
  3170. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = $8E86;
  3171. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = $8E89;
  3172. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = $8E8A;
  3173. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = $886C;
  3174. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = $886D;
  3175. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = $8E1E;
  3176. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E1F;
  3177. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = $92CD;
  3178. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = $92CE;
  3179. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = $92D3;
  3180. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = $92D4;
  3181. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = $90CB;
  3182. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = $90CC;
  3183. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = $90D8;
  3184. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = $90D9;
  3185. // GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = $8221;
  3186. GL_IS_PER_PATCH = $92E7;
  3187. GL_REFERENCED_BY_TESS_CONTROL_SHADER = $9307;
  3188. GL_REFERENCED_BY_TESS_EVALUATION_SHADER = $9308;
  3189. GL_TESS_CONTROL_SHADER = $8E88;
  3190. GL_TESS_EVALUATION_SHADER = $8E87;
  3191. GL_TESS_CONTROL_SHADER_BIT = $00000008;
  3192. GL_TESS_EVALUATION_SHADER_BIT = $00000010;
  3193. GL_TEXTURE_BORDER_COLOR = $1004;
  3194. GL_CLAMP_TO_BORDER = $812D;
  3195. GL_TEXTURE_BUFFER = $8C2A;
  3196. GL_TEXTURE_BUFFER_BINDING = $8C2A;
  3197. GL_MAX_TEXTURE_BUFFER_SIZE = $8C2B;
  3198. GL_TEXTURE_BINDING_BUFFER = $8C2C;
  3199. GL_TEXTURE_BUFFER_DATA_STORE_BINDING = $8C2D;
  3200. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = $919F;
  3201. GL_SAMPLER_BUFFER = $8DC2;
  3202. GL_INT_SAMPLER_BUFFER = $8DD0;
  3203. GL_UNSIGNED_INT_SAMPLER_BUFFER = $8DD8;
  3204. GL_IMAGE_BUFFER = $9051;
  3205. GL_INT_IMAGE_BUFFER = $905C;
  3206. GL_UNSIGNED_INT_IMAGE_BUFFER = $9067;
  3207. GL_TEXTURE_BUFFER_OFFSET = $919D;
  3208. GL_TEXTURE_BUFFER_SIZE = $919E;
  3209. GL_COMPRESSED_RGBA_ASTC_4x4 = $93B0;
  3210. GL_COMPRESSED_RGBA_ASTC_5x4 = $93B1;
  3211. GL_COMPRESSED_RGBA_ASTC_5x5 = $93B2;
  3212. GL_COMPRESSED_RGBA_ASTC_6x5 = $93B3;
  3213. GL_COMPRESSED_RGBA_ASTC_6x6 = $93B4;
  3214. GL_COMPRESSED_RGBA_ASTC_8x5 = $93B5;
  3215. GL_COMPRESSED_RGBA_ASTC_8x6 = $93B6;
  3216. GL_COMPRESSED_RGBA_ASTC_8x8 = $93B7;
  3217. GL_COMPRESSED_RGBA_ASTC_10x5 = $93B8;
  3218. GL_COMPRESSED_RGBA_ASTC_10x6 = $93B9;
  3219. GL_COMPRESSED_RGBA_ASTC_10x8 = $93BA;
  3220. GL_COMPRESSED_RGBA_ASTC_10x10 = $93BB;
  3221. GL_COMPRESSED_RGBA_ASTC_12x10 = $93BC;
  3222. GL_COMPRESSED_RGBA_ASTC_12x12 = $93BD;
  3223. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = $93D0;
  3224. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = $93D1;
  3225. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = $93D2;
  3226. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = $93D3;
  3227. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = $93D4;
  3228. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = $93D5;
  3229. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = $93D6;
  3230. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = $93D7;
  3231. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = $93D8;
  3232. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = $93D9;
  3233. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = $93DA;
  3234. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = $93DB;
  3235. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = $93DC;
  3236. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = $93DD;
  3237. GL_TEXTURE_CUBE_MAP_ARRAY = $9009;
  3238. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = $900A;
  3239. GL_SAMPLER_CUBE_MAP_ARRAY = $900C;
  3240. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = $900D;
  3241. GL_INT_SAMPLER_CUBE_MAP_ARRAY = $900E;
  3242. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = $900F;
  3243. GL_IMAGE_CUBE_MAP_ARRAY = $9054;
  3244. GL_INT_IMAGE_CUBE_MAP_ARRAY = $905F;
  3245. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = $906A;
  3246. // GL_TEXTURE_2D_MULTISAMPLE_ARRAY = $9102;
  3247. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = $9105;
  3248. GL_SAMPLER_2D_MULTISAMPLE_ARRAY = $910B;
  3249. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910C;
  3250. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910D;
  3251. (*******************************************************************************
  3252. * GL_ES_VERSION_3_2 *
  3253. *******************************************************************************)
  3254. var
  3255. GL_VERSION_ES_CM_1_0: Boolean;
  3256. GL_ES_VERSION_2_0: Boolean;
  3257. GL_ES_VERSION_3_0: Boolean;
  3258. GL_ES_VERSION_3_1: Boolean;
  3259. GL_ES_VERSION_3_2: Boolean;
  3260. GL_OES_framebuffer_object: Boolean; // "подмена понятий"
  3261. GL_OES_blend_func_separate: Boolean; // "подмена понятий"
  3262. GL_IMG_texture_compression_pvrtc: Boolean;
  3263. GL_EXT_texture_filter_anisotropic: Boolean;
  3264. GL_OES_depth24: Boolean;
  3265. GL_OES_depth32: Boolean;
  3266. {$IfDef GL_VERSION_ES_CM_1_0}
  3267. GL_OES_compressed_paletted_texture: Boolean;
  3268. GL_OES_point_size_array: Boolean;
  3269. GL_OES_point_sprite: Boolean;
  3270. GL_KHR_debug: Boolean;
  3271. GL_OES_EGL_image: Boolean;
  3272. GL_OES_EGL_image_external: Boolean;
  3273. GL_OES_blend_equation_separate: Boolean;
  3274. GL_OES_blend_subtract: Boolean;
  3275. GL_OES_byte_coordinates: Boolean;
  3276. GL_OES_compressed_ETC1_RGB8_sub_texture: Boolean;
  3277. GL_OES_compressed_ETC1_RGB8_texture: Boolean;
  3278. // GL_OES_depth24: Boolean;
  3279. // GL_OES_depth32: Boolean;
  3280. GL_OES_draw_texture: Boolean;
  3281. GL_OES_element_index_uint: Boolean;
  3282. GL_OES_extended_matrix_palette: Boolean;
  3283. GL_OES_fbo_render_mipmap: Boolean;
  3284. GL_OES_fixed_point: Boolean;
  3285. // GL_OES_framebuffer_object: Boolean;
  3286. GL_OES_mapbuffer: Boolean;
  3287. GL_OES_matrix_get: Boolean;
  3288. GL_OES_matrix_palette: Boolean;
  3289. GL_OES_packed_depth_stencil: Boolean;
  3290. GL_OES_query_matrix: Boolean;
  3291. GL_OES_required_internalformat: Boolean;
  3292. GL_OES_rgb8_rgba8: Boolean;
  3293. GL_OES_single_precision: Boolean;
  3294. GL_OES_stencil1: Boolean;
  3295. GL_OES_stencil4: Boolean;
  3296. GL_OES_stencil8: Boolean;
  3297. GL_OES_stencil_wrap: Boolean;
  3298. GL_OES_surfaceless_context: Boolean;
  3299. GL_OES_texture_cube_map: Boolean;
  3300. GL_OES_texture_env_crossbar: Boolean;
  3301. GL_OES_texture_mirrored_repeat: Boolean;
  3302. GL_OES_texture_npot: Boolean;
  3303. GL_OES_vertex_array_object: Boolean;
  3304. GL_AMD_compressed_3DC_texture: Boolean;
  3305. GL_AMD_compressed_ATC_texture: Boolean;
  3306. GL_APPLE_copy_texture_levels: Boolean;
  3307. GL_APPLE_framebuffer_multisample: Boolean;
  3308. GL_APPLE_sync: Boolean;
  3309. GL_APPLE_texture_2D_limited_npot: Boolean;
  3310. GL_APPLE_texture_format_BGRA8888: Boolean;
  3311. GL_APPLE_texture_max_level: Boolean;
  3312. GL_ARM_rgba8: Boolean;
  3313. GL_EXT_blend_minmax: Boolean;
  3314. GL_EXT_debug_marker: Boolean;
  3315. GL_EXT_discard_framebuffer: Boolean;
  3316. GL_EXT_map_buffer_range: Boolean;
  3317. GL_EXT_multi_draw_arrays: Boolean;
  3318. GL_EXT_multisampled_render_to_texture: Boolean;
  3319. GL_EXT_read_format_bgra: Boolean;
  3320. GL_EXT_robustness: Boolean;
  3321. GL_EXT_sRGB: Boolean;
  3322. GL_EXT_texture_compression_dxt1: Boolean;
  3323. // GL_EXT_texture_filter_anisotropic: Boolean;
  3324. GL_EXT_texture_format_BGRA8888: Boolean;
  3325. GL_EXT_texture_lod_bias: Boolean;
  3326. GL_EXT_texture_storage: Boolean;
  3327. GL_IMG_multisampled_render_to_texture: Boolean;
  3328. GL_IMG_read_format: Boolean;
  3329. // GL_IMG_texture_compression_pvrtc: Boolean;
  3330. GL_IMG_texture_env_enhanced_fixed_function: Boolean;
  3331. GL_IMG_user_clip_plane: Boolean;
  3332. GL_NV_fence: Boolean;
  3333. GL_QCOM_driver_control: Boolean;
  3334. GL_QCOM_extended_get: Boolean;
  3335. GL_QCOM_extended_get2: Boolean;
  3336. GL_QCOM_perfmon_global_mode: Boolean;
  3337. GL_QCOM_tiled_rendering: Boolean;
  3338. GL_QCOM_writeonly_rendering: Boolean;
  3339. {$EndIf}
  3340. {$IFDEF GL_ES_EXT_VERSION_2_0}
  3341. GL_KHR_blend_equation_advanced: Boolean;
  3342. GL_KHR_blend_equation_advanced_coherent: Boolean;
  3343. GL_KHR_context_flush_control: Boolean;
  3344. GL_KHR_debug: Boolean;
  3345. GL_KHR_no_error: Boolean;
  3346. GL_KHR_parallel_shader_compile: Boolean;
  3347. GL_KHR_robust_buffer_access_behavior: Boolean;
  3348. GL_KHR_robustness: Boolean;
  3349. GL_KHR_shader_subgroup: Boolean;
  3350. GL_KHR_texture_compression_astc_hdr: Boolean;
  3351. GL_KHR_texture_compression_astc_ldr: Boolean;
  3352. GL_KHR_texture_compression_astc_sliced_3d: Boolean;
  3353. GL_OES_EGL_image: Boolean;
  3354. GL_OES_EGL_image_external: Boolean;
  3355. GL_OES_EGL_image_external_essl3: Boolean;
  3356. GL_OES_compressed_ETC1_RGB8_sub_texture: Boolean;
  3357. GL_OES_compressed_ETC1_RGB8_texture: Boolean;
  3358. GL_OES_compressed_paletted_texture: Boolean;
  3359. GL_OES_copy_image: Boolean;
  3360. // GL_OES_depth24: Boolean;
  3361. // GL_OES_depth32: Boolean;
  3362. GL_OES_depth_texture: Boolean;
  3363. GL_OES_draw_buffers_indexed: Boolean;
  3364. GL_OES_draw_elements_base_vertex: Boolean;
  3365. GL_OES_element_index_uint: Boolean;
  3366. GL_OES_fbo_render_mipmap: Boolean;
  3367. GL_OES_fragment_precision_high: Boolean;
  3368. GL_OES_geometry_point_size: Boolean;
  3369. GL_OES_geometry_shader: Boolean;
  3370. GL_OES_get_program_binary: Boolean;
  3371. GL_OES_gpu_shader5: Boolean;
  3372. GL_OES_mapbuffer: Boolean;
  3373. GL_OES_packed_depth_stencil: Boolean;
  3374. GL_OES_primitive_bounding_box: Boolean;
  3375. GL_OES_required_internalformat: Boolean;
  3376. GL_OES_rgb8_rgba8: Boolean;
  3377. GL_OES_sample_shading: Boolean;
  3378. GL_OES_sample_variables: Boolean;
  3379. GL_OES_shader_image_atomic: Boolean;
  3380. GL_OES_shader_io_blocks: Boolean;
  3381. GL_OES_shader_multisample_interpolation: Boolean;
  3382. GL_OES_standard_derivatives: Boolean;
  3383. GL_OES_stencil1: Boolean;
  3384. GL_OES_stencil4: Boolean;
  3385. GL_OES_surfaceless_context: Boolean;
  3386. GL_OES_tessellation_point_size: Boolean;
  3387. GL_OES_tessellation_shader: Boolean;
  3388. GL_OES_texture_3D: Boolean;
  3389. GL_OES_texture_border_clamp: Boolean;
  3390. GL_OES_texture_buffer: Boolean;
  3391. GL_OES_texture_compression_astc: Boolean;
  3392. GL_OES_texture_cube_map_array: Boolean;
  3393. GL_OES_texture_float: Boolean;
  3394. GL_OES_texture_float_linear: Boolean;
  3395. GL_OES_texture_half_float: Boolean;
  3396. GL_OES_texture_half_float_linear: Boolean;
  3397. GL_OES_texture_npot: Boolean;
  3398. GL_OES_texture_stencil8: Boolean;
  3399. GL_OES_texture_storage_multisample_2d_array: Boolean;
  3400. GL_OES_texture_view: Boolean;
  3401. GL_OES_vertex_array_object: Boolean;
  3402. GL_OES_vertex_half_float: Boolean;
  3403. GL_OES_vertex_type_10_10_10_2: Boolean;
  3404. GL_OES_viewport_array: Boolean;
  3405. GL_AMD_compressed_3DC_texture: Boolean;
  3406. GL_AMD_compressed_ATC_texture: Boolean;
  3407. GL_AMD_framebuffer_multisample_advanced: Boolean;
  3408. GL_AMD_performance_monitor: Boolean;
  3409. GL_AMD_program_binary_Z400: Boolean;
  3410. GL_ANDROID_extension_pack_es31a: Boolean;
  3411. GL_ANGLE_depth_texture: Boolean;
  3412. GL_ANGLE_framebuffer_blit: Boolean;
  3413. GL_ANGLE_framebuffer_multisample: Boolean;
  3414. GL_ANGLE_instanced_arrays: Boolean;
  3415. GL_ANGLE_pack_reverse_row_order: Boolean;
  3416. GL_ANGLE_program_binary: Boolean;
  3417. GL_ANGLE_texture_compression_dxt3: Boolean;
  3418. GL_ANGLE_texture_compression_dxt5: Boolean;
  3419. GL_ANGLE_texture_usage: Boolean;
  3420. GL_ANGLE_translated_shader_source: Boolean;
  3421. GL_APPLE_clip_distance: Boolean;
  3422. GL_APPLE_color_buffer_packed_float: Boolean;
  3423. GL_APPLE_copy_texture_levels: Boolean;
  3424. GL_APPLE_framebuffer_multisample: Boolean;
  3425. GL_APPLE_rgb_422: Boolean;
  3426. GL_APPLE_sync: Boolean;
  3427. GL_APPLE_texture_format_BGRA8888: Boolean;
  3428. GL_APPLE_texture_max_level: Boolean;
  3429. GL_APPLE_texture_packed_float: Boolean;
  3430. GL_ARM_mali_program_binary: Boolean;
  3431. GL_ARM_mali_shader_binary: Boolean;
  3432. GL_ARM_rgba8: Boolean;
  3433. GL_ARM_shader_framebuffer_fetch: Boolean;
  3434. GL_ARM_shader_framebuffer_fetch_depth_stencil: Boolean;
  3435. GL_ARM_texture_unnormalized_coordinates: Boolean;
  3436. GL_DMP_program_binary: Boolean;
  3437. GL_DMP_shader_binary: Boolean;
  3438. GL_EXT_EGL_image_array: Boolean;
  3439. GL_EXT_EGL_image_storage: Boolean;
  3440. GL_EXT_EGL_image_storage_compression: Boolean;
  3441. GL_EXT_YUV_target: Boolean;
  3442. GL_EXT_base_instance: Boolean;
  3443. GL_EXT_blend_func_extended: Boolean;
  3444. GL_EXT_blend_minmax: Boolean;
  3445. GL_EXT_buffer_storage: Boolean;
  3446. GL_EXT_clear_texture: Boolean;
  3447. GL_EXT_clip_control: Boolean;
  3448. GL_EXT_clip_cull_distance: Boolean;
  3449. GL_EXT_color_buffer_float: Boolean;
  3450. GL_EXT_color_buffer_half_float: Boolean;
  3451. GL_EXT_conservative_depth: Boolean;
  3452. GL_EXT_copy_image: Boolean;
  3453. GL_EXT_debug_label: Boolean;
  3454. GL_EXT_debug_marker: Boolean;
  3455. GL_EXT_depth_clamp: Boolean;
  3456. GL_EXT_discard_framebuffer: Boolean;
  3457. GL_EXT_disjoint_timer_query: Boolean;
  3458. GL_EXT_draw_buffers: Boolean;
  3459. GL_EXT_draw_elements_base_vertex: Boolean;
  3460. GL_EXT_draw_instanced: Boolean;
  3461. GL_EXT_draw_transform_feedback: Boolean;
  3462. GL_EXT_external_buffer: Boolean;
  3463. GL_EXT_float_blend: Boolean;
  3464. GL_EXT_fragment_shading_rate: Boolean;
  3465. GL_EXT_framebuffer_blit_layers: Boolean;
  3466. GL_EXT_geometry_point_size: Boolean;
  3467. GL_EXT_geometry_shader: Boolean;
  3468. GL_EXT_gpu_shader5: Boolean;
  3469. GL_EXT_instanced_arrays: Boolean;
  3470. GL_EXT_map_buffer_range: Boolean;
  3471. GL_EXT_memory_object: Boolean;
  3472. GL_EXT_memory_object_fd: Boolean;
  3473. GL_EXT_memory_object_win32: Boolean;
  3474. GL_EXT_multi_draw_arrays: Boolean;
  3475. GL_EXT_multi_draw_indirect: Boolean;
  3476. GL_EXT_multisampled_compatibility: Boolean;
  3477. GL_EXT_multisampled_render_to_texture: Boolean;
  3478. GL_EXT_multisampled_render_to_texture2: Boolean;
  3479. GL_EXT_multiview_draw_buffers: Boolean;
  3480. GL_EXT_multiview_tessellation_geometry_shader: Boolean;
  3481. GL_EXT_multiview_texture_multisample: Boolean;
  3482. GL_EXT_multiview_timer_query: Boolean;
  3483. GL_EXT_occlusion_query_boolean: Boolean;
  3484. GL_EXT_polygon_offset_clamp: Boolean;
  3485. GL_EXT_post_depth_coverage: Boolean;
  3486. GL_EXT_primitive_bounding_box: Boolean;
  3487. GL_EXT_protected_textures: Boolean;
  3488. GL_EXT_pvrtc_sRGB: Boolean;
  3489. GL_EXT_raster_multisample: Boolean;
  3490. GL_EXT_read_format_bgra: Boolean;
  3491. GL_EXT_render_snorm: Boolean;
  3492. GL_EXT_robustness: Boolean;
  3493. GL_EXT_sRGB: Boolean;
  3494. GL_EXT_sRGB_write_control: Boolean;
  3495. GL_EXT_semaphore: Boolean;
  3496. GL_EXT_semaphore_fd: Boolean;
  3497. GL_EXT_semaphore_win32: Boolean;
  3498. GL_EXT_separate_depth_stencil: Boolean;
  3499. GL_EXT_separate_shader_objects: Boolean;
  3500. GL_EXT_shader_framebuffer_fetch: Boolean;
  3501. GL_EXT_shader_framebuffer_fetch_non_coherent: Boolean;
  3502. GL_EXT_shader_group_vote: Boolean;
  3503. GL_EXT_shader_implicit_conversions: Boolean;
  3504. GL_EXT_shader_integer_mix: Boolean;
  3505. GL_EXT_shader_io_blocks: Boolean;
  3506. GL_EXT_shader_non_constant_global_initializers: Boolean;
  3507. GL_EXT_shader_pixel_local_storage: Boolean;
  3508. GL_EXT_shader_pixel_local_storage2: Boolean;
  3509. GL_EXT_shader_samples_identical: Boolean;
  3510. GL_EXT_shader_texture_lod: Boolean;
  3511. GL_EXT_shadow_samplers: Boolean;
  3512. GL_EXT_sparse_texture: Boolean;
  3513. GL_EXT_sparse_texture2: Boolean;
  3514. GL_EXT_tessellation_point_size: Boolean;
  3515. GL_EXT_tessellation_shader: Boolean;
  3516. GL_EXT_texture_border_clamp: Boolean;
  3517. GL_EXT_texture_buffer: Boolean;
  3518. GL_EXT_texture_compression_astc_decode_mode: Boolean;
  3519. GL_EXT_texture_compression_bptc: Boolean;
  3520. GL_EXT_texture_compression_dxt1: Boolean;
  3521. GL_EXT_texture_compression_rgtc: Boolean;
  3522. GL_EXT_texture_compression_s3tc: Boolean;
  3523. GL_EXT_texture_compression_s3tc_srgb: Boolean;
  3524. GL_EXT_texture_cube_map_array: Boolean;
  3525. // GL_EXT_texture_filter_anisotropic: Boolean;
  3526. GL_EXT_texture_filter_minmax: Boolean;
  3527. GL_EXT_texture_format_BGRA8888: Boolean;
  3528. GL_EXT_texture_format_sRGB_override: Boolean;
  3529. GL_EXT_texture_mirror_clamp_to_edge: Boolean;
  3530. GL_EXT_texture_norm16: Boolean;
  3531. GL_EXT_texture_query_lod: Boolean;
  3532. GL_EXT_texture_rg: Boolean;
  3533. GL_EXT_texture_sRGB_R8: Boolean;
  3534. GL_EXT_texture_sRGB_RG8: Boolean;
  3535. GL_EXT_texture_sRGB_decode: Boolean;
  3536. GL_EXT_texture_shadow_lod: Boolean;
  3537. GL_EXT_texture_storage: Boolean;
  3538. GL_EXT_texture_storage_compression: Boolean;
  3539. GL_EXT_texture_type_2_10_10_10_REV: Boolean;
  3540. GL_EXT_texture_view: Boolean;
  3541. GL_EXT_unpack_subimage: Boolean;
  3542. GL_EXT_win32_keyed_mutex: Boolean;
  3543. GL_EXT_window_rectangles: Boolean;
  3544. GL_FJ_shader_binary_GCCSO: Boolean;
  3545. GL_IMG_bindless_texture: Boolean;
  3546. GL_IMG_framebuffer_downsample: Boolean;
  3547. GL_IMG_multisampled_render_to_texture: Boolean;
  3548. GL_IMG_program_binary: Boolean;
  3549. GL_IMG_read_format: Boolean;
  3550. GL_IMG_shader_binary: Boolean;
  3551. // GL_IMG_texture_compression_pvrtc: Boolean;
  3552. GL_IMG_texture_compression_pvrtc2: Boolean;
  3553. GL_IMG_texture_filter_cubic: Boolean;
  3554. GL_INTEL_blackhole_render: Boolean;
  3555. GL_INTEL_conservative_rasterization: Boolean;
  3556. GL_INTEL_framebuffer_CMAA: Boolean;
  3557. GL_INTEL_performance_query: Boolean;
  3558. GL_MESA_bgra: Boolean;
  3559. GL_MESA_framebuffer_flip_x: Boolean;
  3560. GL_MESA_framebuffer_flip_y: Boolean;
  3561. GL_MESA_framebuffer_swap_xy: Boolean;
  3562. GL_MESA_program_binary_formats: Boolean;
  3563. GL_MESA_shader_integer_functions: Boolean;
  3564. GL_NVX_blend_equation_advanced_multi_draw_buffers: Boolean;
  3565. GL_NV_bindless_texture: Boolean;
  3566. GL_NV_blend_equation_advanced: Boolean;
  3567. GL_NV_blend_equation_advanced_coherent: Boolean;
  3568. GL_NV_blend_minmax_factor: Boolean;
  3569. GL_NV_clip_space_w_scaling: Boolean;
  3570. GL_NV_compute_shader_derivatives: Boolean;
  3571. GL_NV_conditional_render: Boolean;
  3572. GL_NV_conservative_raster: Boolean;
  3573. GL_NV_conservative_raster_pre_snap: Boolean;
  3574. GL_NV_conservative_raster_pre_snap_triangles: Boolean;
  3575. GL_NV_copy_buffer: Boolean;
  3576. GL_NV_coverage_sample: Boolean;
  3577. GL_NV_depth_nonlinear: Boolean;
  3578. GL_NV_draw_buffers: Boolean;
  3579. GL_NV_draw_instanced: Boolean;
  3580. GL_NV_draw_vulkan_image: Boolean;
  3581. GL_NV_explicit_attrib_location: Boolean;
  3582. GL_NV_fbo_color_attachments: Boolean;
  3583. GL_NV_fence: Boolean;
  3584. GL_NV_fill_rectangle: Boolean;
  3585. GL_NV_fragment_coverage_to_color: Boolean;
  3586. GL_NV_fragment_shader_barycentric: Boolean;
  3587. GL_NV_fragment_shader_interlock: Boolean;
  3588. GL_NV_framebuffer_blit: Boolean;
  3589. GL_NV_framebuffer_mixed_samples: Boolean;
  3590. GL_NV_framebuffer_multisample: Boolean;
  3591. GL_NV_generate_mipmap_sRGB: Boolean;
  3592. GL_NV_geometry_shader_passthrough: Boolean;
  3593. GL_NV_gpu_shader5: Boolean;
  3594. GL_NV_image_formats: Boolean;
  3595. GL_NV_instanced_arrays: Boolean;
  3596. GL_NV_internalformat_sample_query: Boolean;
  3597. GL_NV_memory_attachment: Boolean;
  3598. GL_NV_memory_object_sparse: Boolean;
  3599. GL_NV_mesh_shader: Boolean;
  3600. GL_NV_non_square_matrices: Boolean;
  3601. GL_NV_pack_subimage: Boolean;
  3602. GL_NV_path_rendering: Boolean;
  3603. GL_NV_path_rendering_shared_edge: Boolean;
  3604. GL_NV_pixel_buffer_object: Boolean;
  3605. GL_NV_polygon_mode: Boolean;
  3606. GL_NV_primitive_shading_rate: Boolean;
  3607. GL_NV_read_buffer: Boolean;
  3608. GL_NV_read_buffer_front: Boolean;
  3609. GL_NV_read_depth: Boolean;
  3610. GL_NV_read_depth_stencil: Boolean;
  3611. GL_NV_read_stencil: Boolean;
  3612. GL_NV_representative_fragment_test: Boolean;
  3613. GL_NV_sRGB_formats: Boolean;
  3614. GL_NV_sample_locations: Boolean;
  3615. GL_NV_sample_mask_override_coverage: Boolean;
  3616. GL_NV_scissor_exclusive: Boolean;
  3617. GL_NV_shader_atomic_fp16_vector: Boolean;
  3618. GL_NV_shader_noperspective_interpolation: Boolean;
  3619. GL_NV_shader_subgroup_partitioned: Boolean;
  3620. GL_NV_shader_texture_footprint: Boolean;
  3621. GL_NV_shading_rate_image: Boolean;
  3622. GL_NV_shadow_samplers_array: Boolean;
  3623. GL_NV_shadow_samplers_cube: Boolean;
  3624. GL_NV_stereo_view_rendering: Boolean;
  3625. GL_NV_texture_border_clamp: Boolean;
  3626. GL_NV_texture_compression_s3tc_update: Boolean;
  3627. GL_NV_texture_npot_2D_mipmap: Boolean;
  3628. GL_NV_timeline_semaphore: Boolean;
  3629. GL_NV_viewport_array: Boolean;
  3630. GL_NV_viewport_array2: Boolean;
  3631. GL_NV_viewport_swizzle: Boolean;
  3632. GL_OVR_multiview: Boolean;
  3633. GL_OVR_multiview2: Boolean;
  3634. GL_OVR_multiview_multisampled_render_to_texture: Boolean;
  3635. GL_QCOM_YUV_texture_gather: Boolean;
  3636. GL_QCOM_alpha_test: Boolean;
  3637. GL_QCOM_binning_control: Boolean;
  3638. GL_QCOM_driver_control: Boolean;
  3639. GL_QCOM_extended_get: Boolean;
  3640. GL_QCOM_extended_get2: Boolean;
  3641. GL_QCOM_frame_extrapolation: Boolean;
  3642. GL_QCOM_framebuffer_foveated: Boolean;
  3643. GL_QCOM_motion_estimation: Boolean;
  3644. GL_QCOM_perfmon_global_mode: Boolean;
  3645. GL_QCOM_render_shared_exponent: Boolean;
  3646. GL_QCOM_shader_framebuffer_fetch_noncoherent: Boolean;
  3647. GL_QCOM_shader_framebuffer_fetch_rate: Boolean;
  3648. GL_QCOM_shading_rate: Boolean;
  3649. GL_QCOM_texture_foveated: Boolean;
  3650. GL_QCOM_texture_foveated2: Boolean;
  3651. GL_QCOM_texture_foveated_subsampled_layout: Boolean;
  3652. GL_QCOM_tiled_rendering: Boolean;
  3653. GL_QCOM_writeonly_rendering: Boolean;
  3654. GL_VIV_shader_binary: Boolean;
  3655. {$EndIf}
  3656. {$IfDef GL_VERSION_ES_CM_1_0}
  3657. var
  3658. // min GLES function - glAlphaFunc: procedure(func:GLenum; ref:GLfloat); stdcall;
  3659. // min GLES function - glClearColor: procedure(red, green, blue, alpha:GLfloat); stdcall;
  3660. // min GLES function - glClearDepthf: procedure(d:GLfloat); stdcall;
  3661. glClipPlanef: procedure(p:GLenum; eqn:PGLfloat); stdcall;
  3662. // min GLES function - glColor4f: procedure(red, green, blue, alpha:GLfloat); stdcall;
  3663. glDepthRangef: procedure(n:GLfloat; f:GLfloat); stdcall;
  3664. glFogf: procedure(pname:GLenum; param:GLfloat); stdcall;
  3665. glFogfv: procedure(pname:GLenum; params:PGLfloat); stdcall;
  3666. glFrustumf: procedure(l:GLfloat; r:GLfloat; b:GLfloat; t:GLfloat; n:GLfloat; f:GLfloat); stdcall;
  3667. glGetClipPlanef: procedure(plane:GLenum; equation:PGLfloat); stdcall;
  3668. // min GLES function - glGetFloatv: procedure(pname:GLenum; data:PGLfloat); stdcall;
  3669. glGetLightfv: procedure(light:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3670. glGetMaterialfv: procedure(face:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3671. glGetTexEnvfv: procedure(target:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3672. glGetTexParameterfv: procedure(target:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3673. glLightModelf: procedure(pname:GLenum; param:GLfloat); stdcall;
  3674. glLightModelfv: procedure(pname:GLenum; params:PGLfloat); stdcall;
  3675. glLightf: procedure(light:GLenum; pname:GLenum; param:GLfloat); stdcall;
  3676. glLightfv: procedure(light:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3677. glLineWidth: procedure(width:GLfloat); stdcall;
  3678. // min GLES function - glLoadMatrixf: procedure(m:PGLfloat); stdcall;
  3679. glMaterialf: procedure(face:GLenum; pname:GLenum; param:GLfloat); stdcall;
  3680. glMaterialfv: procedure(face:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3681. glMultMatrixf: procedure(m:PGLfloat); stdcall;
  3682. glMultiTexCoord4f: procedure(target:GLenum; s:GLfloat; t:GLfloat; r:GLfloat; q:GLfloat); stdcall;
  3683. glNormal3f: procedure(nx:GLfloat; ny:GLfloat; nz:GLfloat); stdcall;
  3684. // min GLES function - glOrthof: procedure(l, r, b, t, n, f:GLfloat); stdcall;
  3685. glPointParameterf: procedure(pname:GLenum; param:GLfloat); stdcall;
  3686. glPointParameterfv: procedure(pname:GLenum; params:PGLfloat); stdcall;
  3687. glPointSize: procedure(size:GLfloat); stdcall;
  3688. glPolygonOffset: procedure(factor:GLfloat; units:GLfloat); stdcall;
  3689. // min GLES function - glRotatef: procedure(angle:GLfloat; x:GLfloat; y:GLfloat; z:GLfloat); stdcall;
  3690. // min GLES function - glScalef: procedure(x:GLfloat; y:GLfloat; z:GLfloat); stdcall;
  3691. glTexEnvf: procedure(target:GLenum; pname:GLenum; param:GLfloat); stdcall;
  3692. glTexEnvfv: procedure(target:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3693. // min GLES function - glTexParameterf: procedure(target:GLenum; pname:GLenum; param:GLfloat); stdcall;
  3694. glTexParameterfv: procedure(target:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3695. // min GLES function - glTranslatef: procedure(x:GLfloat; y:GLfloat; z:GLfloat); stdcall;
  3696. glActiveTexture: procedure(texture:GLenum); stdcall;
  3697. glAlphaFuncx: procedure(func:GLenum; ref:GLfixed); stdcall;
  3698. glBindBuffer: procedure(target:GLenum; buffer:GLuint); stdcall;
  3699. // min GLES function - glBindTexture: procedure(target:GLenum; texture:GLuint); stdcall;
  3700. // min GLES function - glBlendFunc: procedure(sfactor, dfactor:GLenum); stdcall;
  3701. glBufferData: procedure(target:GLenum; size:GLsizeiptr; data:pointer; usage:GLenum); stdcall;
  3702. glBufferSubData: procedure(target:GLenum; offset:GLintptr; size:GLsizeiptr; data:pointer); stdcall;
  3703. // min GLES function - glClear: procedure(mask:GLbitfield); stdcall;
  3704. glClearColorx: procedure(red:GLfixed; green:GLfixed; blue:GLfixed; alpha:GLfixed); stdcall;
  3705. glClearDepthx: procedure(depth:GLfixed); stdcall;
  3706. glClearStencil: procedure(s:GLint); stdcall;
  3707. glClientActiveTexture: procedure(texture:GLenum); stdcall;
  3708. glClipPlanex: procedure(plane:GLenum; equation:PGLfixed); stdcall;
  3709. glColor4ub: procedure(red:GLubyte; green:GLubyte; blue:GLubyte; alpha:GLubyte); stdcall;
  3710. glColor4x: procedure(red:GLfixed; green:GLfixed; blue:GLfixed; alpha:GLfixed); stdcall;
  3711. // min GLES function - glColorMask: procedure(red, green, blue, alpha:GLboolean); stdcall;
  3712. // min GLES function - glColorPointer: procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  3713. // min GLES function - glCompressedTexImage2D: procedure(target:GLenum; level:GLint; internalformat:GLenum; width, height:GLsizei; border:GLint; imageSize:GLsizei; data:pointer); stdcall;
  3714. // min GLES function - glCompressedTexSubImage2D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei; height:GLsizei; format:GLenum; imageSize:GLsizei; data:pointer); stdcall;
  3715. glCopyTexImage2D: procedure(target:GLenum; level:GLint; internalformat:GLenum; x:GLint; y:GLint;
  3716. width:GLsizei; height:GLsizei; border:GLint); stdcall;
  3717. // min GLES function - glCopyTexSubImage2D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; x:GLint; y:GLint; width:GLsizei; height:GLsizei); stdcall;
  3718. glCullFace: procedure(mode:GLenum); stdcall;
  3719. glDeleteBuffers: procedure(n:GLsizei; buffers:PGLuint); stdcall;
  3720. // min GLES function - glDeleteTextures: procedure(n:GLsizei; textures:PGLuint); stdcall;
  3721. // min GLES function - glDepthFunc: procedure(func:GLenum); stdcall;
  3722. // min GLES function - glDepthMask: procedure(flag:GLboolean); stdcall;
  3723. glDepthRangex: procedure(n:GLfixed; f:GLfixed); stdcall;
  3724. // min GLES function - glDisable: procedure(cap:GLenum); stdcall;
  3725. // min GLES function - glDisableClientState: procedure(_array:GLenum); stdcall;
  3726. // min GLES function - glDrawArrays: procedure(mode:GLenum; first:GLint; count:GLsizei); stdcall;
  3727. // min GLES function - glDrawElements: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer); stdcall;
  3728. // min GLES function - glEnable: procedure(cap:GLenum); stdcall;
  3729. // min GLES function - glEnableClientState: procedure(_array:GLenum); stdcall;
  3730. glFinish: procedure; stdcall;
  3731. glFlush: procedure; stdcall;
  3732. glFogx: procedure(pname:GLenum; param:GLfixed); stdcall;
  3733. glFogxv: procedure(pname:GLenum; param:PGLfixed); stdcall;
  3734. glFrontFace: procedure(mode:GLenum); stdcall;
  3735. glFrustumx: procedure(l:GLfixed; r:GLfixed; b:GLfixed; t:GLfixed; n:GLfixed; f:GLfixed); stdcall;
  3736. glGetBooleanv: procedure(pname:GLenum; data:PGLboolean); stdcall;
  3737. glGetBufferParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3738. glGetClipPlanex: procedure(plane:GLenum; equation:PGLfixed); stdcall;
  3739. glGenBuffers: procedure(n:GLsizei; buffers:PGLuint); stdcall;
  3740. // min GLES function - glGenTextures: procedure(n:GLsizei; textures:PGLuint); stdcall;
  3741. glGetError: function: GLenum; stdcall;
  3742. glGetFixedv: procedure(pname:GLenum; params:PGLfixed); stdcall;
  3743. // min GLES function - glGetIntegerv: procedure(pname:GLenum; data:PGLint); stdcall;
  3744. glGetLightxv: procedure(light:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3745. glGetMaterialxv: procedure(face:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3746. glGetPointerv: procedure(pname:GLenum; params:Ppointer); stdcall;
  3747. // min GLES function - glGetString: function(name:GLenum):PGLubyte; stdcall;
  3748. glGetTexEnviv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3749. glGetTexEnvxv: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3750. glGetTexParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3751. glGetTexParameterxv: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3752. // min GLES function - glHint: procedure(target:GLenum; mode:GLenum); stdcall;
  3753. glIsBuffer: function(buffer:GLuint):GLboolean; stdcall;
  3754. glIsEnabled: function(cap:GLenum):GLboolean; stdcall;
  3755. glIsTexture: function(texture:GLuint):GLboolean; stdcall;
  3756. glLightModelx: procedure(pname:GLenum; param:GLfixed); stdcall;
  3757. glLightModelxv: procedure(pname:GLenum; param:PGLfixed); stdcall;
  3758. glLightx: procedure(light:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3759. glLightxv: procedure(light:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3760. glLineWidthx: procedure(width:GLfixed); stdcall;
  3761. // min GLES function - glLoadIdentity: procedure; stdcall;
  3762. glLoadMatrixx: procedure(m:PGLfixed); stdcall;
  3763. glLogicOp: procedure(opcode:GLenum); stdcall;
  3764. glMaterialx: procedure(face:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3765. glMaterialxv: procedure(face:GLenum; pname:GLenum; param:PGLfixed); stdcall;
  3766. // min GLES function - glMatrixMode: procedure(mode:GLenum); stdcall;
  3767. glMultMatrixx: procedure(m:PGLfixed); stdcall;
  3768. glMultiTexCoord4x: procedure(texture:GLenum; s:GLfixed; t:GLfixed; r:GLfixed; q:GLfixed); stdcall;
  3769. glNormal3x: procedure(nx:GLfixed; ny:GLfixed; nz:GLfixed); stdcall;
  3770. glNormalPointer: procedure(_type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  3771. glOrthox: procedure(l:GLfixed; r:GLfixed; b:GLfixed; t:GLfixed; n:GLfixed; f:GLfixed); stdcall;
  3772. // min GLES function - glPixelStorei: procedure(pname:GLenum; param:GLint); stdcall;
  3773. glPointParameterx: procedure(pname:GLenum; param:GLfixed); stdcall;
  3774. glPointParameterxv: procedure(pname:GLenum; params:PGLfixed); stdcall;
  3775. glPointSizex: procedure(size:GLfixed); stdcall;
  3776. glPolygonOffsetx: procedure(factor:GLfixed; units:GLfixed); stdcall;
  3777. // min GLES function - glPopMatrix: procedure; stdcall;
  3778. // min GLES function - glPushMatrix: procedure; stdcall;
  3779. // min GLES function - glReadPixels: procedure(x, y:GLint; width, height:GLsizei; format, _type:GLenum; pixels:pointer); stdcall;
  3780. glRotatex: procedure(angle:GLfixed; x:GLfixed; y:GLfixed; z:GLfixed); stdcall;
  3781. glSampleCoverage: procedure(value:GLfloat; invert:GLboolean); stdcall;
  3782. glSampleCoveragex: procedure(value:GLclampx; invert:GLboolean); stdcall;
  3783. glScalex: procedure(x:GLfixed; y:GLfixed; z:GLfixed); stdcall;
  3784. // min GLES function - glScissor: procedure(x, y:GLint; width, height:GLsizei); stdcall;
  3785. // min GLES function - glShadeModel: procedure(mode:GLenum); stdcall;
  3786. glStencilFunc: procedure(func:GLenum; ref:GLint; mask:GLuint); stdcall;
  3787. glStencilMask: procedure(mask:GLuint); stdcall;
  3788. glStencilOp: procedure(fail:GLenum; zfail:GLenum; zpass:GLenum); stdcall;
  3789. // min GLES function - glTexCoordPointer: procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  3790. // min GLES function - glTexEnvi: procedure(target:GLenum; pname:GLenum; param:GLint); stdcall;
  3791. // min GLES function - glTexEnvx: procedure(target:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3792. // min GLES function - glTexEnviv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3793. // min GLES function - glTexEnvxv: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3794. // min GLES function - glTexImage2D: procedure(target:GLenum; level, internalformat:GLint; width, height:GLsizei; border:GLint; format, _type:GLenum; pixels:pointer); stdcall;
  3795. // min GLES function - glTexParameteri: procedure(target:GLenum; pname:GLenum; param:GLint); stdcall;
  3796. // min GLES function - glTexParameterx: procedure(target:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3797. // min GLES function - glTexParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3798. // min GLES function - glTexParameterxv: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3799. // min GLES function - glTexSubImage2D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei; height:GLsizei; format:GLenum; _type:GLenum; pixels:pointer); stdcall;
  3800. glTranslatex: procedure(x:GLfixed; y:GLfixed; z:GLfixed); stdcall;
  3801. // min GLES function - glVertexPointer: procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  3802. // min GLES function - glViewport: procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei); stdcall;
  3803. {$IfDef GL_OES_point_size_array}
  3804. glPointSizePointerOES: procedure(_type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  3805. {$EndIf}
  3806. {$IfDef GL_OES_blend_equation_separate}
  3807. glBlendEquationSeparateOES: procedure(modeRGB:GLenum; modeAlpha:GLenum); stdcall;
  3808. {$EndIf}
  3809. {$IfDef GL_OES_blend_func_separate}
  3810. // min GLES function - glBlendFuncSeparateOES: procedure(srcRGB:GLenum; dstRGB:GLenum; srcAlpha:GLenum; dstAlpha:GLenum); stdcall;
  3811. {$EndIf}
  3812. {$IfDef GL_OES_blend_subtract}
  3813. glBlendEquationOES: procedure(mode:GLenum); stdcall;
  3814. {$EndIf}
  3815. {$IfDef GL_OES_draw_texture}
  3816. glDrawTexsOES: procedure(x:GLshort; y:GLshort; z:GLshort; width:GLshort; height:GLshort); stdcall;
  3817. glDrawTexiOES: procedure(x:GLint; y:GLint; z:GLint; width:GLint; height:GLint); stdcall;
  3818. glDrawTexxOES: procedure(x:GLfixed; y:GLfixed; z:GLfixed; width:GLfixed; height:GLfixed); stdcall;
  3819. glDrawTexsvOES: procedure(coords:PGLshort); stdcall;
  3820. glDrawTexivOES: procedure(coords:PGLint); stdcall;
  3821. glDrawTexxvOES: procedure(coords:PGLfixed); stdcall;
  3822. glDrawTexfOES: procedure(x:GLfloat; y:GLfloat; z:GLfloat; width:GLfloat; height:GLfloat); stdcall;
  3823. glDrawTexfvOES: procedure(coords:PGLfloat); stdcall;
  3824. {$EndIf}
  3825. {$IfDef GL_OES_fixed_point}
  3826. glAlphaFuncxOES: procedure(func:GLenum; ref:GLfixed); stdcall;
  3827. glClearColorxOES: procedure(red:GLfixed; green:GLfixed; blue:GLfixed; alpha:GLfixed); stdcall;
  3828. glClearDepthxOES: procedure(depth:GLfixed); stdcall;
  3829. glClipPlanexOES: procedure(plane:GLenum; equation:PGLfixed); stdcall;
  3830. glColor4xOES: procedure(red:GLfixed; green:GLfixed; blue:GLfixed; alpha:GLfixed); stdcall;
  3831. glDepthRangexOES: procedure(n:GLfixed; f:GLfixed); stdcall;
  3832. glFogxOES: procedure(pname:GLenum; param:GLfixed); stdcall;
  3833. glFogxvOES: procedure(pname:GLenum; param:PGLfixed); stdcall;
  3834. glFrustumxOES: procedure(l:GLfixed; r:GLfixed; b:GLfixed; t:GLfixed; n:GLfixed; f:GLfixed); stdcall;
  3835. glGetClipPlanexOES: procedure(plane:GLenum; equation:PGLfixed); stdcall;
  3836. glGetFixedvOES: procedure(pname:GLenum; params:PGLfixed); stdcall;
  3837. glGetTexEnvxvOES: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3838. glGetTexParameterxvOES: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3839. glLightModelxOES: procedure(pname:GLenum; param:GLfixed); stdcall;
  3840. glLightModelxvOES: procedure(pname:GLenum; param:PGLfixed); stdcall;
  3841. glLightxOES: procedure(light:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3842. glLightxvOES: procedure(light:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3843. glLineWidthxOES: procedure(width:GLfixed); stdcall;
  3844. glLoadMatrixxOES: procedure(m:PGLfixed); stdcall;
  3845. glMaterialxOES: procedure(face:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3846. glMaterialxvOES: procedure(face:GLenum; pname:GLenum; param:PGLfixed); stdcall;
  3847. glMultMatrixxOES: procedure(m:PGLfixed); stdcall;
  3848. glMultiTexCoord4xOES: procedure(texture:GLenum; s:GLfixed; t:GLfixed; r:GLfixed; q:GLfixed); stdcall;
  3849. glNormal3xOES: procedure(nx:GLfixed; ny:GLfixed; nz:GLfixed); stdcall;
  3850. glOrthoxOES: procedure(l:GLfixed; r:GLfixed; b:GLfixed; t:GLfixed; n:GLfixed; f:GLfixed); stdcall;
  3851. glPointParameterxvOES: procedure(pname:GLenum; params:PGLfixed); stdcall;
  3852. glPointSizexOES: procedure(size:GLfixed); stdcall;
  3853. glPolygonOffsetxOES: procedure(factor:GLfixed; units:GLfixed); stdcall;
  3854. glRotatexOES: procedure(angle:GLfixed; x:GLfixed; y:GLfixed; z:GLfixed); stdcall;
  3855. glScalexOES: procedure(x:GLfixed; y:GLfixed; z:GLfixed); stdcall;
  3856. glTexEnvxOES: procedure(target:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3857. glTexEnvxvOES: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3858. glTexParameterxOES: procedure(target:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3859. glTexParameterxvOES: procedure(target:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3860. glTranslatexOES: procedure(x:GLfixed; y:GLfixed; z:GLfixed); stdcall;
  3861. glGetLightxvOES: procedure(light:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3862. glGetMaterialxvOES: procedure(face:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3863. glPointParameterxOES: procedure(pname:GLenum; param:GLfixed); stdcall;
  3864. glSampleCoveragexOES: procedure(value:GLclampx; invert:GLboolean); stdcall;
  3865. glGetTexGenxvOES: procedure(coord:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3866. glTexGenxOES: procedure(coord:GLenum; pname:GLenum; param:GLfixed); stdcall;
  3867. glTexGenxvOES: procedure(coord:GLenum; pname:GLenum; params:PGLfixed); stdcall;
  3868. {$EndIf}
  3869. {$IfDef GL_OES_framebuffer_object}
  3870. // min GLES function - glIsRenderbufferOES: function(renderbuffer:GLuint):GLboolean; stdcall;
  3871. // min GLES function - glBindRenderbufferOES: procedure(target:GLenum; renderbuffer:GLuint); stdcall;
  3872. // min GLES function - glDeleteRenderbuffersOES: procedure(n:GLsizei; renderbuffers:PGLuint); stdcall;
  3873. // min GLES function - glGenRenderbuffersOES: procedure(n:GLsizei; renderbuffers:PGLuint); stdcall;
  3874. // min GLES function - glRenderbufferStorageOES: procedure(target:GLenum; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  3875. // min GLES function - glGetRenderbufferParameterivOES: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3876. // min GLES function - glIsFramebufferOES: function(framebuffer:GLuint):GLboolean; stdcall;
  3877. // min GLES function - glBindFramebufferOES: procedure(target:GLenum; framebuffer:GLuint); stdcall;
  3878. // min GLES function - glDeleteFramebuffersOES: procedure(n:GLsizei; framebuffers:PGLuint); stdcall;
  3879. // min GLES function - glGenFramebuffersOES: procedure(n:GLsizei; framebuffers:PGLuint); stdcall;
  3880. // min GLES function - glCheckFramebufferStatusOES: function(target:GLenum):GLenum; stdcall;
  3881. // min GLES function - glFramebufferRenderbufferOES: procedure(target:GLenum; attachment:GLenum; renderbuffertarget:GLenum; renderbuffer:GLuint); stdcall;
  3882. // min GLES function - glFramebufferTexture2DOES: procedure(target:GLenum; attachment:GLenum; textarget:GLenum; texture:GLuint; level:GLint); stdcall;
  3883. // min GLES function - glGetFramebufferAttachmentParameterivOES: procedure(target:GLenum; attachment:GLenum; pname:GLenum; params:PGLint); stdcall;
  3884. // min GLES function - glGenerateMipmapOES: procedure(target:GLenum); stdcall;
  3885. {$EndIf}
  3886. {$IfDef GL_OES_matrix_palette}
  3887. glCurrentPaletteMatrixOES: procedure(matrixpaletteindex:GLuint); stdcall;
  3888. glLoadPaletteFromModelViewMatrixOES: procedure; stdcall;
  3889. glMatrixIndexPointerOES: procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  3890. glWeightPointerOES: procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  3891. {$EndIf}
  3892. {$IfDef GL_OES_query_matrix}
  3893. glQueryMatrixxOES: function(mantissa:PGLfixed; exponent:PGLint):GLbitfield; stdcall;
  3894. {$EndIf}
  3895. {$IfDef GL_OES_single_precision}
  3896. glClearDepthfOES: procedure(depth:GLclampf); stdcall;
  3897. glClipPlanefOES: procedure(plane:GLenum; equation:PGLfloat); stdcall;
  3898. glDepthRangefOES: procedure(n:GLclampf; f:GLclampf); stdcall;
  3899. glFrustumfOES: procedure(l:GLfloat; r:GLfloat; b:GLfloat; t:GLfloat; n:GLfloat; f:GLfloat); stdcall;
  3900. glGetClipPlanefOES: procedure(plane:GLenum; equation:PGLfloat); stdcall;
  3901. glOrthofOES: procedure(l, r, b, t, n, f:GLfloat); stdcall;
  3902. {$EndIf}
  3903. {$IfDef GL_OES_texture_cube_map}
  3904. glTexGenfOES: procedure(coord:GLenum; pname:GLenum; param:GLfloat); stdcall;
  3905. glTexGenfvOES: procedure(coord:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3906. glTexGeniOES: procedure(coord:GLenum; pname:GLenum; param:GLint); stdcall;
  3907. glTexGenivOES: procedure(coord:GLenum; pname:GLenum; params:PGLint); stdcall;
  3908. glGetTexGenfvOES: procedure(coord:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3909. glGetTexGenivOES: procedure(coord:GLenum; pname:GLenum; params:PGLint); stdcall;
  3910. {$EndIf}
  3911. {$IfDef GL_IMG_user_clip_plane}
  3912. glClipPlanefIMG: procedure(p:GLenum; eqn:PGLfloat); stdcall;
  3913. glClipPlanexIMG: procedure(p:GLenum; eqn:PGLfixed); stdcall;
  3914. {$EndIf}
  3915. {$EndIf}
  3916. {$IfDef GL_ES_VERSION_2_0}
  3917. var
  3918. glActiveTexture: procedure(texture:GLenum); stdcall;
  3919. glAttachShader: procedure(_program:GLuint; shader:GLuint); stdcall;
  3920. glBindAttribLocation: procedure(_program:GLuint; index:GLuint; name:PGLchar); stdcall;
  3921. glBindBuffer: procedure(target:GLenum; buffer:GLuint); stdcall;
  3922. // min GLES function - glBindFramebuffer: procedure(target:GLenum; framebuffer:GLuint); stdcall;
  3923. // min GLES function - glBindRenderbuffer: procedure(target:GLenum; renderbuffer:GLuint); stdcall;
  3924. // min GLES function - glBindTexture: procedure(target:GLenum; texture:GLuint); stdcall;
  3925. glBlendColor: procedure(red:GLfloat; green:GLfloat; blue:GLfloat; alpha:GLfloat); stdcall;
  3926. // min GLES function - glBlendEquation: procedure(mode:GLenum); stdcall;
  3927. glBlendEquationSeparate: procedure(modeRGB:GLenum; modeAlpha:GLenum); stdcall;
  3928. // min GLES function - glBlendFunc: procedure(sfactor, dfactor:GLenum); stdcall;
  3929. // min GLES function - glBlendFuncSeparate: procedure(sfactorRGB:GLenum; dfactorRGB:GLenum; sfactorAlpha:GLenum; dfactorAlpha:GLenum); stdcall;
  3930. glBufferData: procedure(target:GLenum; size:GLsizeiptr; data:pointer; usage:GLenum); stdcall;
  3931. glBufferSubData: procedure(target:GLenum; offset:GLintptr; size:GLsizeiptr; data:pointer); stdcall;
  3932. // min GLES function - glCheckFramebufferStatus: function(target:GLenum):GLenum; stdcall;
  3933. // min GLES function - glClear: procedure(mask:GLbitfield); stdcall;
  3934. // min GLES function - glClearColor: procedure(red, green, blue, alpha:GLfloat); stdcall;
  3935. // min GLES function - glClearDepthf: procedure(d:GLfloat); stdcall;
  3936. glClearStencil: procedure(s:GLint); stdcall;
  3937. // min GLES function - glColorMask: procedure(red, green, blue, alpha:GLboolean); stdcall;
  3938. glCompileShader: procedure(shader:GLuint); stdcall;
  3939. // min GLES function - glCompressedTexImage2D: procedure(target:GLenum; level:GLint; internalformat:GLenum; width:GLsizei; height:GLsizei; border:GLint; imageSize:GLsizei; data:pointer); stdcall;
  3940. // min GLES function - glCompressedTexSubImage2D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei; height:GLsizei; format:GLenum; imageSize:GLsizei; data:pointer); stdcall;
  3941. glCopyTexImage2D: procedure(target:GLenum; level:GLint; internalformat:GLenum; x:GLint; y:GLint;
  3942. width:GLsizei; height:GLsizei; border:GLint); stdcall;
  3943. // min GLES function - glCopyTexSubImage2D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; x:GLint; y:GLint; width:GLsizei; height:GLsizei); stdcall;
  3944. glCreateProgram: function: GLuint; stdcall;
  3945. glCreateShader: function(_type:GLenum):GLuint; stdcall;
  3946. glCullFace: procedure(mode:GLenum); stdcall;
  3947. glDeleteBuffers: procedure(n:GLsizei; buffers:PGLuint); stdcall;
  3948. // min GLES function - glDeleteFramebuffers: procedure(n:GLsizei; framebuffers:PGLuint); stdcall;
  3949. glDeleteProgram: procedure(_program:GLuint); stdcall;
  3950. // min GLES function - glDeleteRenderbuffers: procedure(n:GLsizei; renderbuffers:PGLuint); stdcall;
  3951. glDeleteShader: procedure(shader:GLuint); stdcall;
  3952. // min GLES function - glDeleteTextures: procedure(n:GLsizei; textures:PGLuint); stdcall;
  3953. // min GLES function - glDepthFunc: procedure(func:GLenum); stdcall;
  3954. // min GLES function - glDepthMask: procedure(flag:GLboolean); stdcall;
  3955. glDepthRangef: procedure(n:GLfloat; f:GLfloat); stdcall;
  3956. glDetachShader: procedure(_program:GLuint; shader:GLuint); stdcall;
  3957. // min GLES function - glDisable: procedure(cap:GLenum); stdcall;
  3958. glDisableVertexAttribArray: procedure(index:GLuint); stdcall;
  3959. // min GLES function - glDrawArrays: procedure(mode:GLenum; first:GLint; count:GLsizei); stdcall;
  3960. // min GLES function - glDrawElements: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer); stdcall;
  3961. // min GLES function - glEnable: procedure(cap:GLenum); stdcall;
  3962. glEnableVertexAttribArray: procedure(index:GLuint); stdcall;
  3963. glFinish: procedure; stdcall;
  3964. glFlush: procedure; stdcall;
  3965. // min GLES function - glFramebufferRenderbuffer: procedure(target:GLenum; attachment:GLenum; renderbuffertarget:GLenum; renderbuffer:GLuint); stdcall;
  3966. // min GLES function - glFramebufferTexture2D: procedure(target:GLenum; attachment:GLenum; textarget:GLenum; texture:GLuint; level:GLint); stdcall;
  3967. glFrontFace: procedure(mode:GLenum); stdcall;
  3968. glGenBuffers: procedure(n:GLsizei; buffers:PGLuint); stdcall;
  3969. // min GLES function - glGenerateMipmap: procedure(target:GLenum); stdcall;
  3970. // min GLES function - glGenFramebuffers: procedure(n:GLsizei; framebuffers:PGLuint); stdcall;
  3971. // min GLES function - glGenRenderbuffers: procedure(n:GLsizei; renderbuffers:PGLuint); stdcall;
  3972. // min GLES function - glGenTextures: procedure(n:GLsizei; textures:PGLuint); stdcall;
  3973. glGetActiveAttrib: procedure(_program:GLuint; index:GLuint; bufSize:GLsizei; length:PGLsizei; size:PGLint;
  3974. _type:PGLenum; name:PGLchar); stdcall;
  3975. glGetActiveUniform: procedure(_program:GLuint; index:GLuint; bufSize:GLsizei; length:PGLsizei; size:PGLint;
  3976. _type:PGLenum; name:PGLchar); stdcall;
  3977. glGetAttachedShaders: procedure(_program:GLuint; maxCount:GLsizei; count:PGLsizei; shaders:PGLuint); stdcall;
  3978. glGetAttribLocation: function(_program:GLuint; name:PGLchar):GLint; stdcall;
  3979. glGetBooleanv: procedure(pname:GLenum; data:PGLboolean); stdcall;
  3980. glGetBufferParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3981. glGetError: function: GLenum; stdcall;
  3982. // min GLES function - glGetFloatv: procedure(pname:GLenum; data:PGLfloat); stdcall;
  3983. // min GLES function - glGetFramebufferAttachmentParameteriv: procedure(target:GLenum; attachment:GLenum; pname:GLenum; params:PGLint); stdcall;
  3984. // min GLES function - glGetIntegerv: procedure(pname:GLenum; data:PGLint); stdcall;
  3985. glGetProgramiv: procedure(_program:GLuint; pname:GLenum; params:PGLint); stdcall;
  3986. glGetProgramInfoLog: procedure(_program:GLuint; bufSize:GLsizei; length:PGLsizei; infoLog:PGLchar); stdcall;
  3987. // min GLES function - glGetRenderbufferParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3988. glGetShaderiv: procedure(shader:GLuint; pname:GLenum; params:PGLint); stdcall;
  3989. glGetShaderInfoLog: procedure(shader:GLuint; bufSize:GLsizei; length:PGLsizei; infoLog:PGLchar); stdcall;
  3990. glGetShaderPrecisionFormat: procedure(shadertype:GLenum; precisiontype:GLenum; range:PGLint; precision:PGLint); stdcall;
  3991. glGetShaderSource: procedure(shader:GLuint; bufSize:GLsizei; length:PGLsizei; source:PGLchar); stdcall;
  3992. // min GLES function - glGetString: function(name:GLenum):PGLubyte; stdcall;
  3993. glGetTexParameterfv: procedure(target:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  3994. glGetTexParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  3995. glGetUniformfv: procedure(_program:GLuint; location:GLint; params:PGLfloat); stdcall;
  3996. glGetUniformiv: procedure(_program:GLuint; location:GLint; params:PGLint); stdcall;
  3997. glGetUniformLocation: function(_program:GLuint; name:PGLchar):GLint; stdcall;
  3998. glGetVertexAttribfv: procedure(index:GLuint; pname:GLenum; params:PGLfloat); stdcall;
  3999. glGetVertexAttribiv: procedure(index:GLuint; pname:GLenum; params:PGLint); stdcall;
  4000. glGetVertexAttribPointerv: procedure(index:GLuint; pname:GLenum; pointer:Ppointer); stdcall;
  4001. // min GLES function - glHint: procedure(target:GLenum; mode:GLenum); stdcall;
  4002. glIsBuffer: function(buffer:GLuint):GLboolean; stdcall;
  4003. glIsEnabled: function(cap:GLenum):GLboolean; stdcall;
  4004. // min GLES function - glIsFramebuffer: function(framebuffer:GLuint):GLboolean; stdcall;
  4005. glIsProgram: function(_program:GLuint):GLboolean; stdcall;
  4006. // min GLES function - glIsRenderbuffer: function(renderbuffer:GLuint):GLboolean; stdcall;
  4007. glIsShader: function(shader:GLuint):GLboolean; stdcall;
  4008. glIsTexture: function(texture:GLuint):GLboolean; stdcall;
  4009. glLineWidth: procedure(width:GLfloat); stdcall;
  4010. glLinkProgram: procedure(_program:GLuint); stdcall;
  4011. // min GLES function - glPixelStorei: procedure(pname:GLenum; param:GLint); stdcall;
  4012. glPolygonOffset: procedure(factor:GLfloat; units:GLfloat); stdcall;
  4013. // // min GLES function - glReadPixels: procedure(x, y:GLint; width, height:GLsizei; format, _type:GLenum; pixels:pointer); stdcall;
  4014. glReleaseShaderCompiler: procedure; stdcall;
  4015. // min GLES function - glRenderbufferStorage: procedure(target:GLenum; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4016. glSampleCoverage: procedure(value:GLfloat; invert:GLboolean); stdcall;
  4017. // min GLES function - glScissor: procedure(x, y:GLint; width, height:GLsizei); stdcall;
  4018. glShaderBinary: procedure(count:GLsizei; shaders:PGLuint; binaryFormat:GLenum; binary:pointer; length:GLsizei); stdcall;
  4019. glShaderSource: procedure(shader:GLuint; count:GLsizei; _string:PPGLchar; length:PGLint); stdcall;
  4020. glStencilFunc: procedure(func:GLenum; ref:GLint; mask:GLuint); stdcall;
  4021. glStencilFuncSeparate: procedure(face:GLenum; func:GLenum; ref:GLint; mask:GLuint); stdcall;
  4022. glStencilMask: procedure(mask:GLuint); stdcall;
  4023. glStencilMaskSeparate: procedure(face:GLenum; mask:GLuint); stdcall;
  4024. glStencilOp: procedure(fail:GLenum; zfail:GLenum; zpass:GLenum); stdcall;
  4025. glStencilOpSeparate: procedure(face:GLenum; sfail:GLenum; dpfail:GLenum; dppass:GLenum); stdcall;
  4026. // min GLES function - glTexImage2D: procedure(target:GLenum; level, internalformat:GLint; width, height:GLsizei; border:GLint; format, _type:GLenum; pixels:pointer); stdcall;
  4027. // min GLES function - glTexParameterf: procedure(target:GLenum; pname:GLenum; param:GLfloat); stdcall;
  4028. glTexParameterfv: procedure(target:GLenum; pname:GLenum; params:PGLfloat); stdcall;
  4029. // min GLES function - glTexParameteri: procedure(target:GLenum; pname:GLenum; param:GLint); stdcall;
  4030. // min GLES function - glTexParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4031. // min GLES function - glTexSubImage2D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei; height:GLsizei; format:GLenum; _type:GLenum; pixels:pointer); stdcall;
  4032. glUniform1f: procedure(location:GLint; v0:GLfloat); stdcall;
  4033. glUniform1fv: procedure(location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4034. glUniform1i: procedure(location:GLint; v0:GLint); stdcall;
  4035. glUniform1iv: procedure(location:GLint; count:GLsizei; value:PGLint); stdcall;
  4036. glUniform2f: procedure(location:GLint; v0:GLfloat; v1:GLfloat); stdcall;
  4037. glUniform2fv: procedure(location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4038. glUniform2i: procedure(location:GLint; v0:GLint; v1:GLint); stdcall;
  4039. glUniform2iv: procedure(location:GLint; count:GLsizei; value:PGLint); stdcall;
  4040. glUniform3f: procedure(location:GLint; v0:GLfloat; v1:GLfloat; v2:GLfloat); stdcall;
  4041. glUniform3fv: procedure(location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4042. glUniform3i: procedure(location:GLint; v0:GLint; v1:GLint; v2:GLint); stdcall;
  4043. glUniform3iv: procedure(location:GLint; count:GLsizei; value:PGLint); stdcall;
  4044. glUniform4f: procedure(location:GLint; v0:GLfloat; v1:GLfloat; v2:GLfloat; v3:GLfloat); stdcall;
  4045. glUniform4fv: procedure(location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4046. glUniform4i: procedure(location:GLint; v0:GLint; v1:GLint; v2:GLint; v3:GLint); stdcall;
  4047. glUniform4iv: procedure(location:GLint; count:GLsizei; value:PGLint); stdcall;
  4048. glUniformMatrix2fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4049. glUniformMatrix3fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4050. glUniformMatrix4fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4051. glUseProgram: procedure(_program:GLuint); stdcall;
  4052. glValidateProgram: procedure(_program:GLuint); stdcall;
  4053. glVertexAttrib1f: procedure(index:GLuint; x:GLfloat); stdcall;
  4054. glVertexAttrib1fv: procedure(index:GLuint; v:PGLfloat); stdcall;
  4055. glVertexAttrib2f: procedure(index:GLuint; x:GLfloat; y:GLfloat); stdcall;
  4056. glVertexAttrib2fv: procedure(index:GLuint; v:PGLfloat); stdcall;
  4057. glVertexAttrib3f: procedure(index:GLuint; x:GLfloat; y:GLfloat; z:GLfloat); stdcall;
  4058. glVertexAttrib3fv: procedure(index:GLuint; v:PGLfloat); stdcall;
  4059. glVertexAttrib4f: procedure(index:GLuint; x:GLfloat; y:GLfloat; z:GLfloat; w:GLfloat); stdcall;
  4060. glVertexAttrib4fv: procedure(index:GLuint; v:PGLfloat); stdcall;
  4061. glVertexAttribPointer: procedure(index:GLuint; size:GLint; _type:GLenum; normalized:GLboolean; stride:GLsizei; pointer:pointer); stdcall;
  4062. // min GLES function - glViewport: procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei); stdcall;
  4063. {$EndIf}
  4064. {$IfDef GL_KHR_blend_equation_advanced}
  4065. glBlendBarrierKHR: procedure; stdcall;
  4066. {$EndIf}
  4067. {$IfDef GL_KHR_debug}
  4068. glDebugMessageControlKHR: procedure(source:GLenum; _type:GLenum; severity:GLenum; count:GLsizei; ids:PGLuint; enabled:GLboolean); stdcall;
  4069. glDebugMessageInsertKHR: procedure(source:GLenum; _type:GLenum; id:GLuint; severity:GLenum; length:GLsizei; buf:PGLchar); stdcall;
  4070. glDebugMessageCallbackKHR: procedure(callback:GLDEBUGPROCKHR; userParam:pointer); stdcall;
  4071. glGetDebugMessageLogKHR: function(count:GLuint; bufSize:GLsizei; sources:PGLenum; types:PGLenum; ids:PGLuint;
  4072. severities:PGLenum; lengths:PGLsizei; messageLog:PGLchar):GLuint; stdcall;
  4073. glPushDebugGroupKHR: procedure(source:GLenum; id:GLuint; length:GLsizei; message:PGLchar); stdcall;
  4074. glPopDebugGroupKHR: procedure; stdcall;
  4075. glObjectLabelKHR: procedure(identifier:GLenum; name:GLuint; length:GLsizei; _label:PGLchar); stdcall;
  4076. glGetObjectLabelKHR: procedure(identifier:GLenum; name:GLuint; bufSize:GLsizei; length:PGLsizei; _label:PGLchar); stdcall;
  4077. glObjectPtrLabelKHR: procedure(ptr:pointer; length:GLsizei; _label:PGLchar); stdcall;
  4078. glGetObjectPtrLabelKHR: procedure(ptr:pointer; bufSize:GLsizei; length:PGLsizei; _label:PGLchar); stdcall;
  4079. glGetPointervKHR: procedure(pname:GLenum; params:Ppointer); stdcall;
  4080. {$EndIf}
  4081. {$IfDef GL_KHR_parallel_shader_compile}
  4082. glMaxShaderCompilerThreadsKHR: procedure(count:GLuint); stdcall;
  4083. {$EndIf}
  4084. {$IfDef GL_KHR_robustness}
  4085. glGetGraphicsResetStatusKHR: function: GLenum; stdcall;
  4086. glReadnPixelsKHR: procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei; format:GLenum;
  4087. _type:GLenum; bufSize:GLsizei; data:pointer); stdcall;
  4088. glGetnUniformfvKHR: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLfloat); stdcall;
  4089. glGetnUniformivKHR: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLint); stdcall;
  4090. glGetnUniformuivKHR: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLuint); stdcall;
  4091. {$EndIf}
  4092. {$IfDef GL_OES_EGL_image}
  4093. var
  4094. glEGLImageTargetTexture2DOES: procedure(target:GLenum; image:GLeglImageOES); stdcall;
  4095. glEGLImageTargetRenderbufferStorageOES: procedure(target:GLenum; image:GLeglImageOES); stdcall;
  4096. {$EndIf}
  4097. {$IfDef GL_OES_copy_image}
  4098. glCopyImageSubDataOES: procedure(srcName:GLuint; srcTarget:GLenum; srcLevel:GLint; srcX:GLint; srcY:GLint;
  4099. srcZ:GLint; dstName:GLuint; dstTarget:GLenum; dstLevel:GLint; dstX:GLint;
  4100. dstY:GLint; dstZ:GLint; srcWidth:GLsizei; srcHeight:GLsizei; srcDepth:GLsizei); stdcall;
  4101. {$EndIf}
  4102. {$IfDef GL_OES_draw_buffers_indexed}
  4103. glEnableiOES: procedure(target:GLenum; index:GLuint); stdcall;
  4104. glDisableiOES: procedure(target:GLenum; index:GLuint); stdcall;
  4105. glBlendEquationiOES: procedure(buf:GLuint; mode:GLenum); stdcall;
  4106. glBlendEquationSeparateiOES: procedure(buf:GLuint; modeRGB:GLenum; modeAlpha:GLenum); stdcall;
  4107. glBlendFunciOES: procedure(buf:GLuint; src:GLenum; dst:GLenum); stdcall;
  4108. glBlendFuncSeparateiOES: procedure(buf:GLuint; srcRGB:GLenum; dstRGB:GLenum; srcAlpha:GLenum; dstAlpha:GLenum); stdcall;
  4109. glColorMaskiOES: procedure(index:GLuint; r:GLboolean; g:GLboolean; b:GLboolean; a:GLboolean); stdcall;
  4110. glIsEnablediOES: function(target:GLenum; index:GLuint):GLboolean; stdcall;
  4111. {$EndIf}
  4112. {$IfDef GL_OES_draw_elements_base_vertex}
  4113. glDrawElementsBaseVertexOES: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; basevertex:GLint); stdcall;
  4114. glDrawRangeElementsBaseVertexOES: procedure(mode:GLenum; start:GLuint; _end:GLuint; count:GLsizei; _type:GLenum;
  4115. indices:pointer; basevertex:GLint); stdcall;
  4116. glDrawElementsInstancedBaseVertexOES: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; instancecount:GLsizei;
  4117. basevertex:GLint); stdcall;
  4118. glMultiDrawElementsBaseVertexEXT: procedure(mode:GLenum; count:PGLsizei; _type:GLenum; indices:Ppointer; drawcount:GLsizei;
  4119. basevertex:PGLint); stdcall;
  4120. {$EndIf}
  4121. {$IfDef GL_OES_geometry_shader}
  4122. glFramebufferTextureOES: procedure(target:GLenum; attachment:GLenum; texture:GLuint; level:GLint); stdcall;
  4123. {$EndIf}
  4124. {$IfDef GL_OES_get_program_binary}
  4125. glGetProgramBinaryOES: procedure(_program:GLuint; bufSize:GLsizei; length:PGLsizei; binaryFormat:PGLenum; binary:pointer); stdcall;
  4126. glProgramBinaryOES: procedure(_program:GLuint; binaryFormat:GLenum; binary:pointer; length:GLint); stdcall;
  4127. {$EndIf}
  4128. {$IfDef GL_OES_mapbuffer}
  4129. glMapBufferOES: function(target:GLenum; access:GLenum):pointer; stdcall;
  4130. glUnmapBufferOES: function(target:GLenum):GLboolean; stdcall;
  4131. glGetBufferPointervOES: procedure(target:GLenum; pname:GLenum; params:Ppointer); stdcall;
  4132. {$EndIf}
  4133. {$IfDef GL_OES_primitive_bounding_box}
  4134. glPrimitiveBoundingBoxOES: procedure(minX:GLfloat; minY:GLfloat; minZ:GLfloat; minW:GLfloat; maxX:GLfloat;
  4135. maxY:GLfloat; maxZ:GLfloat; maxW:GLfloat); stdcall;
  4136. {$EndIf}
  4137. {$IfDef GL_OES_sample_shading}
  4138. glMinSampleShadingOES: procedure(value:GLfloat); stdcall;
  4139. {$EndIf}
  4140. {$IfDef GL_OES_tessellation_shader}
  4141. glPatchParameteriOES: procedure(pname:GLenum; value:GLint); stdcall;
  4142. {$EndIf}
  4143. {$IfDef GL_OES_texture_3D}
  4144. glTexImage3DOES: procedure(target:GLenum; level:GLint; internalformat:GLenum; width:GLsizei; height:GLsizei;
  4145. depth:GLsizei; border:GLint; format:GLenum; _type:GLenum; pixels:pointer); stdcall;
  4146. glTexSubImage3DOES: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4147. width:GLsizei; height:GLsizei; depth:GLsizei; format:GLenum; _type:GLenum; pixels:pointer); stdcall;
  4148. glCopyTexSubImage3DOES: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4149. x:GLint; y:GLint; width:GLsizei; height:GLsizei); stdcall;
  4150. glCompressedTexImage3DOES: procedure(target:GLenum; level:GLint; internalformat:GLenum; width:GLsizei; height:GLsizei;
  4151. depth:GLsizei; border:GLint; imageSize:GLsizei; data:pointer); stdcall;
  4152. glCompressedTexSubImage3DOES: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4153. width:GLsizei; height:GLsizei; depth:GLsizei; format:GLenum; imageSize:GLsizei; data:pointer); stdcall;
  4154. glFramebufferTexture3DOES: procedure(target:GLenum; attachment:GLenum; textarget:GLenum; texture:GLuint; level:GLint; zoffset:GLint); stdcall;
  4155. {$EndIf}
  4156. {$IfDef GL_OES_texture_border_clamp}
  4157. glTexParameterIivOES: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4158. glTexParameterIuivOES: procedure(target:GLenum; pname:GLenum; params:PGLuint); stdcall;
  4159. glGetTexParameterIivOES: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4160. glGetTexParameterIuivOES: procedure(target:GLenum; pname:GLenum; params:PGLuint); stdcall;
  4161. glSamplerParameterIivOES: procedure(sampler:GLuint; pname:GLenum; param:PGLint); stdcall;
  4162. glSamplerParameterIuivOES: procedure(sampler:GLuint; pname:GLenum; param:PGLuint); stdcall;
  4163. glGetSamplerParameterIivOES: procedure(sampler:GLuint; pname:GLenum; params:PGLint); stdcall;
  4164. glGetSamplerParameterIuivOES: procedure(sampler:GLuint; pname:GLenum; params:PGLuint); stdcall;
  4165. {$EndIf}
  4166. {$IfDef GL_OES_texture_buffer}
  4167. glTexBufferOES: procedure(target:GLenum; internalformat:GLenum; buffer:GLuint); stdcall;
  4168. glTexBufferRangeOES: procedure(target:GLenum; internalformat:GLenum; buffer:GLuint; offset:GLintptr; size:GLsizeiptr); stdcall;
  4169. {$EndIf}
  4170. {$IfDef GL_OES_texture_storage_multisample_2d_array}
  4171. glTexStorage3DMultisampleOES: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei;
  4172. depth:GLsizei; fixedsamplelocations:GLboolean); stdcall;
  4173. {$EndIf}
  4174. {$IfDef GL_OES_texture_view}
  4175. glTextureViewOES: procedure(texture:GLuint; target:GLenum; origtexture:GLuint; internalformat:GLenum; minlevel:GLuint;
  4176. numlevels:GLuint; minlayer:GLuint; numlayers:GLuint); stdcall;
  4177. {$EndIf}
  4178. {$IfDef GL_OES_vertex_array_object}
  4179. glBindVertexArrayOES: procedure(_array:GLuint); stdcall;
  4180. glDeleteVertexArraysOES: procedure(n:GLsizei; arrays:PGLuint); stdcall;
  4181. glGenVertexArraysOES: procedure(n:GLsizei; arrays:PGLuint); stdcall;
  4182. glIsVertexArrayOES: function(_array:GLuint):GLboolean; stdcall;
  4183. {$EndIf}
  4184. {$IfDef GL_OES_viewport_array}
  4185. glViewportArrayvOES: procedure(first:GLuint; count:GLsizei; v:PGLfloat); stdcall;
  4186. glViewportIndexedfOES: procedure(index:GLuint; x:GLfloat; y:GLfloat; w:GLfloat; h:GLfloat); stdcall;
  4187. glViewportIndexedfvOES: procedure(index:GLuint; v:PGLfloat); stdcall;
  4188. glScissorArrayvOES: procedure(first:GLuint; count:GLsizei; v:PGLint); stdcall;
  4189. glScissorIndexedOES: procedure(index:GLuint; left:GLint; bottom:GLint; width:GLsizei; height:GLsizei); stdcall;
  4190. glScissorIndexedvOES: procedure(index:GLuint; v:PGLint); stdcall;
  4191. glDepthRangeArrayfvOES: procedure(first:GLuint; count:GLsizei; v:PGLfloat); stdcall;
  4192. glDepthRangeIndexedfOES: procedure(index:GLuint; n:GLfloat; f:GLfloat); stdcall;
  4193. glGetFloati_vOES: procedure(target:GLenum; index:GLuint; data:PGLfloat); stdcall;
  4194. {$EndIf}
  4195. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  4196. glRenderbufferStorageMultisampleAdvancedAMD: procedure(target:GLenum; samples:GLsizei; storageSamples:GLsizei; internalformat:GLenum; width:GLsizei;
  4197. height:GLsizei); stdcall;
  4198. glNamedRenderbufferStorageMultisampleAdvancedAMD: procedure(renderbuffer:GLuint; samples:GLsizei; storageSamples:GLsizei; internalformat:GLenum; width:GLsizei;
  4199. height:GLsizei); stdcall;
  4200. {$EndIf}
  4201. {$IfDef GL_AMD_performance_monitor}
  4202. glGetPerfMonitorGroupsAMD: procedure(numGroups:PGLint; groupsSize:GLsizei; groups:PGLuint); stdcall;
  4203. glGetPerfMonitorCountersAMD: procedure(group:GLuint; numCounters:PGLint; maxActiveCounters:PGLint; counterSize:GLsizei; counters:PGLuint); stdcall;
  4204. glGetPerfMonitorGroupStringAMD: procedure(group:GLuint; bufSize:GLsizei; length:PGLsizei; groupString:PGLchar); stdcall;
  4205. glGetPerfMonitorCounterStringAMD: procedure(group:GLuint; counter:GLuint; bufSize:GLsizei; length:PGLsizei; counterString:PGLchar); stdcall;
  4206. glGetPerfMonitorCounterInfoAMD: procedure(group:GLuint; counter:GLuint; pname:GLenum; data:pointer); stdcall;
  4207. glGenPerfMonitorsAMD: procedure(n:GLsizei; monitors:PGLuint); stdcall;
  4208. glDeletePerfMonitorsAMD: procedure(n:GLsizei; monitors:PGLuint); stdcall;
  4209. glSelectPerfMonitorCountersAMD: procedure(monitor:GLuint; enable:GLboolean; group:GLuint; numCounters:GLint; counterList:PGLuint); stdcall;
  4210. glBeginPerfMonitorAMD: procedure(monitor:GLuint); stdcall;
  4211. glEndPerfMonitorAMD: procedure(monitor:GLuint); stdcall;
  4212. glGetPerfMonitorCounterDataAMD: procedure(monitor:GLuint; pname:GLenum; dataSize:GLsizei; data:PGLuint; bytesWritten:PGLint); stdcall;
  4213. {$EndIf}
  4214. {$IfDef GL_ANGLE_framebuffer_blit}
  4215. glBlitFramebufferANGLE: procedure(srcX0:GLint; srcY0:GLint; srcX1:GLint; srcY1:GLint; dstX0:GLint;
  4216. dstY0:GLint; dstX1:GLint; dstY1:GLint; mask:GLbitfield; filter:GLenum); stdcall;
  4217. {$EndIf}
  4218. {$IfDef GL_ANGLE_framebuffer_multisample}
  4219. glRenderbufferStorageMultisampleANGLE: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4220. {$EndIf}
  4221. {$IfDef GL_ANGLE_instanced_arrays}
  4222. glDrawArraysInstancedANGLE: procedure(mode:GLenum; first:GLint; count:GLsizei; primcount:GLsizei); stdcall;
  4223. glDrawElementsInstancedANGLE: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; primcount:GLsizei); stdcall;
  4224. glVertexAttribDivisorANGLE: procedure(index:GLuint; divisor:GLuint); stdcall;
  4225. {$EndIf}
  4226. {$IfDef GL_ANGLE_translated_shader_source}
  4227. glGetTranslatedShaderSourceANGLE: procedure(shader:GLuint; bufSize:GLsizei; length:PGLsizei; source:PGLchar); stdcall;
  4228. {$EndIf}
  4229. {$IfDef GL_APPLE_copy_texture_levels}
  4230. glCopyTextureLevelsAPPLE: procedure(destinationTexture:GLuint; sourceTexture:GLuint; sourceBaseLevel:GLint; sourceLevelCount:GLsizei); stdcall;
  4231. {$EndIf}
  4232. {$IfDef GL_APPLE_framebuffer_multisample}
  4233. glRenderbufferStorageMultisampleAPPLE: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4234. glResolveMultisampleFramebufferAPPLE: procedure; stdcall;
  4235. {$EndIf}
  4236. {$IfDef GL_APPLE_sync}
  4237. glFenceSyncAPPLE: function(condition:GLenum; flags:GLbitfield):GLsync; stdcall;
  4238. glIsSyncAPPLE: function(sync:GLsync):GLboolean; stdcall;
  4239. glDeleteSyncAPPLE: procedure(sync:GLsync); stdcall;
  4240. glClientWaitSyncAPPLE: function(sync:GLsync; flags:GLbitfield; timeout:GLuint64):GLenum; stdcall;
  4241. glWaitSyncAPPLE: procedure(sync:GLsync; flags:GLbitfield; timeout:GLuint64); stdcall;
  4242. glGetInteger64vAPPLE: procedure(pname:GLenum; params:PGLint64); stdcall;
  4243. glGetSyncivAPPLE: procedure(sync:GLsync; pname:GLenum; count:GLsizei; length:PGLsizei; values:PGLint); stdcall;
  4244. {$EndIf}
  4245. {$IfDef GL_EXT_EGL_image_storage}
  4246. glEGLImageTargetTexStorageEXT: procedure(target:GLenum; image:GLeglImageOES; attrib_list:PGLint); stdcall;
  4247. glEGLImageTargetTextureStorageEXT: procedure(texture:GLuint; image:GLeglImageOES; attrib_list:PGLint); stdcall;
  4248. {$EndIf}
  4249. {$IfDef GL_EXT_base_instance}
  4250. glDrawArraysInstancedBaseInstanceEXT: procedure(mode:GLenum; first:GLint; count:GLsizei; instancecount:GLsizei; baseinstance:GLuint); stdcall;
  4251. glDrawElementsInstancedBaseInstanceEXT: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; instancecount:GLsizei; baseinstance:GLuint); stdcall;
  4252. glDrawElementsInstancedBaseVertexBaseInstanceEXT: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; instancecount:GLsizei;
  4253. basevertex:GLint; baseinstance:GLuint); stdcall;
  4254. {$EndIf}
  4255. {$IfDef GL_EXT_blend_func_extended}
  4256. glBindFragDataLocationIndexedEXT: procedure(_program:GLuint; colorNumber:GLuint; index:GLuint; name:PGLchar); stdcall;
  4257. glBindFragDataLocationEXT: procedure(_program:GLuint; color:GLuint; name:PGLchar); stdcall;
  4258. glGetProgramResourceLocationIndexEXT: function(_program:GLuint; programInterface:GLenum; name:PGLchar):GLint; stdcall;
  4259. glGetFragDataIndexEXT: function(_program:GLuint; name:PGLchar):GLint; stdcall;
  4260. {$EndIf}
  4261. {$IfDef GL_EXT_buffer_storage}
  4262. glBufferStorageEXT: procedure(target:GLenum; size:GLsizeiptr; data:pointer; flags:GLbitfield); stdcall;
  4263. {$EndIf}
  4264. {$IfDef GL_EXT_clear_texture}
  4265. glClearTexImageEXT: procedure(texture:GLuint; level:GLint; format:GLenum; _type:GLenum; data:pointer); stdcall;
  4266. glClearTexSubImageEXT: procedure(texture:GLuint; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4267. width:GLsizei; height:GLsizei; depth:GLsizei; format:GLenum; _type:GLenum; data:pointer); stdcall;
  4268. {$EndIf}
  4269. {$IfDef GL_EXT_clip_control}
  4270. glClipControlEXT: procedure(origin:GLenum; depth:GLenum); stdcall;
  4271. {$EndIf}
  4272. {$IfDef GL_EXT_copy_image}
  4273. glCopyImageSubDataEXT: procedure(srcName:GLuint; srcTarget:GLenum; srcLevel:GLint; srcX:GLint; srcY:GLint;
  4274. srcZ:GLint; dstName:GLuint; dstTarget:GLenum; dstLevel:GLint; dstX:GLint;
  4275. dstY:GLint; dstZ:GLint; srcWidth:GLsizei; srcHeight:GLsizei; srcDepth:GLsizei); stdcall;
  4276. {$EndIf}
  4277. {$IfDef GL_EXT_debug_label}
  4278. glLabelObjectEXT: procedure(_type:GLenum; _object:GLuint; length:GLsizei; _label:PGLchar); stdcall;
  4279. glGetObjectLabelEXT: procedure(_type:GLenum; _object:GLuint; bufSize:GLsizei; length:PGLsizei; _label:PGLchar); stdcall;
  4280. {$EndIf}
  4281. {$IfDef GL_EXT_debug_marker}
  4282. glInsertEventMarkerEXT: procedure(length:GLsizei; marker:PGLchar); stdcall;
  4283. glPushGroupMarkerEXT: procedure(length:GLsizei; marker:PGLchar); stdcall;
  4284. glPopGroupMarkerEXT: procedure; stdcall;
  4285. {$EndIf}
  4286. {$IfDef GL_EXT_discard_framebuffer}
  4287. glDiscardFramebufferEXT: procedure(target:GLenum; numAttachments:GLsizei; attachments:PGLenum); stdcall;
  4288. {$EndIf}
  4289. {$IfDef GL_EXT_disjoint_timer_query}
  4290. glGenQueriesEXT: procedure(n:GLsizei; ids:PGLuint); stdcall;
  4291. glDeleteQueriesEXT: procedure(n:GLsizei; ids:PGLuint); stdcall;
  4292. glIsQueryEXT: function(id:GLuint):GLboolean; stdcall;
  4293. glBeginQueryEXT: procedure(target:GLenum; id:GLuint); stdcall;
  4294. glEndQueryEXT: procedure(target:GLenum); stdcall;
  4295. glQueryCounterEXT: procedure(id:GLuint; target:GLenum); stdcall;
  4296. glGetQueryivEXT: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4297. glGetQueryObjectivEXT: procedure(id:GLuint; pname:GLenum; params:PGLint); stdcall;
  4298. glGetQueryObjectuivEXT: procedure(id:GLuint; pname:GLenum; params:PGLuint); stdcall;
  4299. glGetQueryObjecti64vEXT: procedure(id:GLuint; pname:GLenum; params:PGLint64); stdcall;
  4300. glGetQueryObjectui64vEXT: procedure(id:GLuint; pname:GLenum; params:PGLuint64); stdcall;
  4301. glGetInteger64vEXT: procedure(pname:GLenum; data:PGLint64); stdcall;
  4302. {$EndIf}
  4303. {$IfDef GL_EXT_draw_buffers}
  4304. glDrawBuffersEXT: procedure(n:GLsizei; bufs:PGLenum); stdcall;
  4305. {$EndIf}
  4306. {$IfDef GL_EXT_draw_elements_base_vertex}
  4307. glDrawElementsBaseVertexEXT: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; basevertex:GLint); stdcall;
  4308. glDrawRangeElementsBaseVertexEXT: procedure(mode:GLenum; start:GLuint; _end:GLuint; count:GLsizei; _type:GLenum;
  4309. indices:pointer; basevertex:GLint); stdcall;
  4310. glDrawElementsInstancedBaseVertexEXT: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; instancecount:GLsizei;
  4311. basevertex:GLint); stdcall;
  4312. {$EndIf}
  4313. {$IfDef GL_EXT_draw_instanced}
  4314. glDrawArraysInstancedEXT: procedure(mode:GLenum; start:GLint; count:GLsizei; primcount:GLsizei); stdcall;
  4315. glDrawElementsInstancedEXT: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; primcount:GLsizei); stdcall;
  4316. {$EndIf}
  4317. {$IfDef GL_EXT_draw_transform_feedback}
  4318. glDrawTransformFeedbackEXT: procedure(mode:GLenum; id:GLuint); stdcall;
  4319. glDrawTransformFeedbackInstancedEXT: procedure(mode:GLenum; id:GLuint; instancecount:GLsizei); stdcall;
  4320. {$EndIf}
  4321. {$IfDef GL_EXT_external_buffer}
  4322. glBufferStorageExternalEXT: procedure(target:GLenum; offset:GLintptr; size:GLsizeiptr; clientBuffer:GLeglClientBufferEXT; flags:GLbitfield); stdcall;
  4323. glNamedBufferStorageExternalEXT: procedure(buffer:GLuint; offset:GLintptr; size:GLsizeiptr; clientBuffer:GLeglClientBufferEXT; flags:GLbitfield); stdcall;
  4324. {$EndIf}
  4325. {$IfDef GL_EXT_fragment_shading_rate}
  4326. glGetFragmentShadingRatesEXT: procedure(samples:GLsizei; maxCount:GLsizei; count:PGLsizei; shadingRates:PGLenum); stdcall;
  4327. glShadingRateEXT: procedure(rate:GLenum); stdcall;
  4328. glShadingRateCombinerOpsEXT: procedure(combinerOp0:GLenum; combinerOp1:GLenum); stdcall;
  4329. glFramebufferShadingRateEXT: procedure(target:GLenum; attachment:GLenum; texture:GLuint; baseLayer:GLint; numLayers:GLsizei;
  4330. texelWidth:GLsizei; texelHeight:GLsizei); stdcall;
  4331. {$EndIf}
  4332. {$IfDef GL_EXT_framebuffer_blit_layers}
  4333. glBlitFramebufferLayersEXT: procedure(srcX0:GLint; srcY0:GLint; srcX1:GLint; srcY1:GLint; dstX0:GLint;
  4334. dstY0:GLint; dstX1:GLint; dstY1:GLint; mask:GLbitfield; filter:GLenum); stdcall;
  4335. glBlitFramebufferLayerEXT: procedure(srcX0:GLint; srcY0:GLint; srcX1:GLint; srcY1:GLint; srcLayer:GLint;
  4336. dstX0:GLint; dstY0:GLint; dstX1:GLint; dstY1:GLint; dstLayer:GLint;
  4337. mask:GLbitfield; filter:GLenum); stdcall;
  4338. {$EndIf}
  4339. {$IfDef GL_EXT_geometry_shader}
  4340. glFramebufferTextureEXT: procedure(target:GLenum; attachment:GLenum; texture:GLuint; level:GLint); stdcall;
  4341. {$EndIf}
  4342. {$IfDef GL_EXT_instanced_arrays}
  4343. glVertexAttribDivisorEXT: procedure(index:GLuint; divisor:GLuint); stdcall;
  4344. {$EndIf}
  4345. {$IfDef GL_EXT_map_buffer_range}
  4346. glMapBufferRangeEXT: function(target:GLenum; offset:GLintptr; length:GLsizeiptr; access:GLbitfield):pointer; stdcall;
  4347. glFlushMappedBufferRangeEXT: procedure(target:GLenum; offset:GLintptr; length:GLsizeiptr); stdcall;
  4348. {$EndIf}
  4349. {$IfDef GL_EXT_memory_object}
  4350. glGetUnsignedBytevEXT: procedure(pname:GLenum; data:PGLubyte); stdcall;
  4351. glGetUnsignedBytei_vEXT: procedure(target:GLenum; index:GLuint; data:PGLubyte); stdcall;
  4352. glDeleteMemoryObjectsEXT: procedure(n:GLsizei; memoryObjects:PGLuint); stdcall;
  4353. glIsMemoryObjectEXT: function(memoryObject:GLuint):GLboolean; stdcall;
  4354. glCreateMemoryObjectsEXT: procedure(n:GLsizei; memoryObjects:PGLuint); stdcall;
  4355. glMemoryObjectParameterivEXT: procedure(memoryObject:GLuint; pname:GLenum; params:PGLint); stdcall;
  4356. glGetMemoryObjectParameterivEXT: procedure(memoryObject:GLuint; pname:GLenum; params:PGLint); stdcall;
  4357. glTexStorageMem2DEXT: procedure(target:GLenum; levels:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4358. memory:GLuint; offset:GLuint64); stdcall;
  4359. glTexStorageMem2DMultisampleEXT: procedure(target:GLenum; samples:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4360. fixedSampleLocations:GLboolean; memory:GLuint; offset:GLuint64); stdcall;
  4361. glTexStorageMem3DEXT: procedure(target:GLenum; levels:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4362. depth:GLsizei; memory:GLuint; offset:GLuint64); stdcall;
  4363. glTexStorageMem3DMultisampleEXT: procedure(target:GLenum; samples:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4364. depth:GLsizei; fixedSampleLocations:GLboolean; memory:GLuint; offset:GLuint64); stdcall;
  4365. glBufferStorageMemEXT: procedure(target:GLenum; size:GLsizeiptr; memory:GLuint; offset:GLuint64); stdcall;
  4366. glTextureStorageMem2DEXT: procedure(texture:GLuint; levels:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4367. memory:GLuint; offset:GLuint64); stdcall;
  4368. glTextureStorageMem2DMultisampleEXT: procedure(texture:GLuint; samples:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4369. fixedSampleLocations:GLboolean; memory:GLuint; offset:GLuint64); stdcall;
  4370. glTextureStorageMem3DEXT: procedure(texture:GLuint; levels:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4371. depth:GLsizei; memory:GLuint; offset:GLuint64); stdcall;
  4372. glTextureStorageMem3DMultisampleEXT: procedure(texture:GLuint; samples:GLsizei; internalFormat:GLenum; width:GLsizei; height:GLsizei;
  4373. depth:GLsizei; fixedSampleLocations:GLboolean; memory:GLuint; offset:GLuint64); stdcall;
  4374. glNamedBufferStorageMemEXT: procedure(buffer:GLuint; size:GLsizeiptr; memory:GLuint; offset:GLuint64); stdcall;
  4375. {$EndIf}
  4376. {$IfDef GL_EXT_memory_object_fd}
  4377. glImportMemoryFdEXT: procedure(memory:GLuint; size:GLuint64; handleType:GLenum; fd:GLint); stdcall;
  4378. {$EndIf}
  4379. {$IfDef GL_EXT_memory_object_win32}
  4380. glImportMemoryWin32HandleEXT: procedure(memory:GLuint; size:GLuint64; handleType:GLenum; handle:pointer); stdcall;
  4381. glImportMemoryWin32NameEXT: procedure(memory:GLuint; size:GLuint64; handleType:GLenum; name:pointer); stdcall;
  4382. {$EndIf}
  4383. {$IfDef GL_EXT_multi_draw_arrays}
  4384. glMultiDrawArraysEXT: procedure(mode:GLenum; first:PGLint; count:PGLsizei; primcount:GLsizei); stdcall;
  4385. glMultiDrawElementsEXT: procedure(mode:GLenum; count:PGLsizei; _type:GLenum; indices:Ppointer; primcount:GLsizei); stdcall;
  4386. {$EndIf}
  4387. {$IfDef GL_EXT_multi_draw_indirect}
  4388. glMultiDrawArraysIndirectEXT: procedure(mode:GLenum; indirect:pointer; drawcount:GLsizei; stride:GLsizei); stdcall;
  4389. glMultiDrawElementsIndirectEXT: procedure(mode:GLenum; _type:GLenum; indirect:pointer; drawcount:GLsizei; stride:GLsizei); stdcall;
  4390. {$EndIf}
  4391. {$IfDef GL_EXT_multisampled_render_to_texture}
  4392. glRenderbufferStorageMultisampleEXT: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4393. glFramebufferTexture2DMultisampleEXT: procedure(target:GLenum; attachment:GLenum; textarget:GLenum; texture:GLuint; level:GLint; samples:GLsizei); stdcall;
  4394. {$EndIf}
  4395. {$IfDef GL_EXT_multiview_draw_buffers}
  4396. glReadBufferIndexedEXT: procedure(src:GLenum; index:GLint); stdcall;
  4397. glDrawBuffersIndexedEXT: procedure(n:GLint; location:PGLenum; indices:PGLint); stdcall;
  4398. glGetIntegeri_vEXT: procedure(target:GLenum; index:GLuint; data:PGLint); stdcall;
  4399. {$EndIf}
  4400. {$IfDef GL_EXT_polygon_offset_clamp}
  4401. glPolygonOffsetClampEXT: procedure(factor:GLfloat; units:GLfloat; clamp:GLfloat); stdcall;
  4402. {$EndIf}
  4403. {$IfDef GL_EXT_primitive_bounding_box}
  4404. glPrimitiveBoundingBoxEXT: procedure(minX:GLfloat; minY:GLfloat; minZ:GLfloat; minW:GLfloat; maxX:GLfloat;
  4405. maxY:GLfloat; maxZ:GLfloat; maxW:GLfloat); stdcall;
  4406. {$EndIf}
  4407. {$IfDef GL_EXT_raster_multisample}
  4408. glRasterSamplesEXT: procedure(samples:GLuint; fixedsamplelocations:GLboolean); stdcall;
  4409. {$EndIf}
  4410. {$IfDef GL_EXT_robustness}
  4411. glGetGraphicsResetStatusEXT: function: GLenum; stdcall;
  4412. glReadnPixelsEXT: procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei; format:GLenum; _type:GLenum; bufSize:GLsizei; data:pointer); stdcall;
  4413. glGetnUniformfvEXT: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLfloat); stdcall;
  4414. glGetnUniformivEXT: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLint); stdcall;
  4415. {$EndIf}
  4416. {$IfDef GL_EXT_semaphore}
  4417. glGenSemaphoresEXT: procedure(n:GLsizei; semaphores:PGLuint); stdcall;
  4418. glDeleteSemaphoresEXT: procedure(n:GLsizei; semaphores:PGLuint); stdcall;
  4419. glIsSemaphoreEXT: function(semaphore:GLuint):GLboolean; stdcall;
  4420. glSemaphoreParameterui64vEXT: procedure(semaphore:GLuint; pname:GLenum; params:PGLuint64); stdcall;
  4421. glGetSemaphoreParameterui64vEXT: procedure(semaphore:GLuint; pname:GLenum; params:PGLuint64); stdcall;
  4422. glWaitSemaphoreEXT: procedure(semaphore:GLuint; numBufferBarriers:GLuint; buffers:PGLuint; numTextureBarriers:GLuint; textures:PGLuint;
  4423. srcLayouts:PGLenum); stdcall;
  4424. glSignalSemaphoreEXT: procedure(semaphore:GLuint; numBufferBarriers:GLuint; buffers:PGLuint; numTextureBarriers:GLuint; textures:PGLuint;
  4425. dstLayouts:PGLenum); stdcall;
  4426. {$EndIf}
  4427. {$IfDef GL_EXT_semaphore_fd}
  4428. glImportSemaphoreFdEXT: procedure(semaphore:GLuint; handleType:GLenum; fd:GLint); stdcall;
  4429. {$EndIf}
  4430. {$IfDef GL_EXT_semaphore_win32}
  4431. glImportSemaphoreWin32HandleEXT: procedure(semaphore:GLuint; handleType:GLenum; handle:pointer); stdcall;
  4432. glImportSemaphoreWin32NameEXT: procedure(semaphore:GLuint; handleType:GLenum; name:pointer); stdcall;
  4433. {$EndIf}
  4434. {$IfDef GL_EXT_separate_shader_objects}
  4435. glActiveShaderProgramEXT: procedure(pipeline:GLuint; _program:GLuint); stdcall;
  4436. glBindProgramPipelineEXT: procedure(pipeline:GLuint); stdcall;
  4437. glCreateShaderProgramvEXT: function(_type:GLenum; count:GLsizei; strings:PPGLchar):GLuint; stdcall;
  4438. glDeleteProgramPipelinesEXT: procedure(n:GLsizei; pipelines:PGLuint); stdcall;
  4439. glGenProgramPipelinesEXT: procedure(n:GLsizei; pipelines:PGLuint); stdcall;
  4440. glGetProgramPipelineInfoLogEXT: procedure(pipeline:GLuint; bufSize:GLsizei; length:PGLsizei; infoLog:PGLchar); stdcall;
  4441. glGetProgramPipelineivEXT: procedure(pipeline:GLuint; pname:GLenum; params:PGLint); stdcall;
  4442. glIsProgramPipelineEXT: function(pipeline:GLuint):GLboolean; stdcall;
  4443. glProgramParameteriEXT: procedure(_program:GLuint; pname:GLenum; value:GLint); stdcall;
  4444. glProgramUniform1fEXT: procedure(_program:GLuint; location:GLint; v0:GLfloat); stdcall;
  4445. glProgramUniform1fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4446. glProgramUniform1iEXT: procedure(_program:GLuint; location:GLint; v0:GLint); stdcall;
  4447. glProgramUniform1ivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  4448. glProgramUniform2fEXT: procedure(_program:GLuint; location:GLint; v0:GLfloat; v1:GLfloat); stdcall;
  4449. glProgramUniform2fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4450. glProgramUniform2iEXT: procedure(_program:GLuint; location:GLint; v0:GLint; v1:GLint); stdcall;
  4451. glProgramUniform2ivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  4452. glProgramUniform3fEXT: procedure(_program:GLuint; location:GLint; v0:GLfloat; v1:GLfloat; v2:GLfloat); stdcall;
  4453. glProgramUniform3fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4454. glProgramUniform3iEXT: procedure(_program:GLuint; location:GLint; v0:GLint; v1:GLint; v2:GLint); stdcall;
  4455. glProgramUniform3ivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  4456. glProgramUniform4fEXT: procedure(_program:GLuint; location:GLint; v0:GLfloat; v1:GLfloat; v2:GLfloat; v3:GLfloat); stdcall;
  4457. glProgramUniform4fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  4458. glProgramUniform4iEXT: procedure(_program:GLuint; location:GLint; v0:GLint; v1:GLint; v2:GLint; v3:GLint); stdcall;
  4459. glProgramUniform4ivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  4460. glProgramUniformMatrix2fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4461. glProgramUniformMatrix3fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4462. glProgramUniformMatrix4fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4463. glUseProgramStagesEXT: procedure(pipeline:GLuint; stages:GLbitfield; _program:GLuint); stdcall;
  4464. glValidateProgramPipelineEXT: procedure(pipeline:GLuint); stdcall;
  4465. glProgramUniform1uiEXT: procedure(_program:GLuint; location:GLint; v0:GLuint); stdcall;
  4466. glProgramUniform2uiEXT: procedure(_program:GLuint; location:GLint; v0:GLuint; v1:GLuint); stdcall;
  4467. glProgramUniform3uiEXT: procedure(_program:GLuint; location:GLint; v0:GLuint; v1:GLuint; v2:GLuint); stdcall;
  4468. glProgramUniform4uiEXT: procedure(_program:GLuint; location:GLint; v0:GLuint; v1:GLuint; v2:GLuint; v3:GLuint); stdcall;
  4469. glProgramUniform1uivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  4470. glProgramUniform2uivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  4471. glProgramUniform3uivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  4472. glProgramUniform4uivEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  4473. glProgramUniformMatrix2x3fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4474. glProgramUniformMatrix3x2fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4475. glProgramUniformMatrix2x4fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4476. glProgramUniformMatrix4x2fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4477. glProgramUniformMatrix3x4fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4478. glProgramUniformMatrix4x3fvEXT: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4479. {$EndIf}
  4480. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  4481. glFramebufferFetchBarrierEXT: procedure; stdcall;
  4482. {$EndIf}
  4483. {$IfDef GL_EXT_shader_pixel_local_storage2}
  4484. glFramebufferPixelLocalStorageSizeEXT: procedure(target:GLuint; size:GLsizei); stdcall;
  4485. glGetFramebufferPixelLocalStorageSizeEXT: function(target:GLuint):GLsizei; stdcall;
  4486. glClearPixelLocalStorageuiEXT: procedure(offset:GLsizei; n:GLsizei; values:PGLuint); stdcall;
  4487. {$EndIf}
  4488. {$IfDef GL_EXT_sparse_texture}
  4489. glTexPageCommitmentEXT: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4490. width:GLsizei; height:GLsizei; depth:GLsizei; commit:GLboolean); stdcall;
  4491. {$EndIf}
  4492. {$IfDef GL_EXT_tessellation_shader}
  4493. glPatchParameteriEXT: procedure(pname:GLenum; value:GLint); stdcall;
  4494. {$EndIf}
  4495. {$IfDef GL_EXT_texture_border_clamp}
  4496. glTexParameterIivEXT: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4497. glTexParameterIuivEXT: procedure(target:GLenum; pname:GLenum; params:PGLuint); stdcall;
  4498. glGetTexParameterIivEXT: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4499. glGetTexParameterIuivEXT: procedure(target:GLenum; pname:GLenum; params:PGLuint); stdcall;
  4500. glSamplerParameterIivEXT: procedure(sampler:GLuint; pname:GLenum; param:PGLint); stdcall;
  4501. glSamplerParameterIuivEXT: procedure(sampler:GLuint; pname:GLenum; param:PGLuint); stdcall;
  4502. glGetSamplerParameterIivEXT: procedure(sampler:GLuint; pname:GLenum; params:PGLint); stdcall;
  4503. glGetSamplerParameterIuivEXT: procedure(sampler:GLuint; pname:GLenum; params:PGLuint); stdcall;
  4504. {$EndIf}
  4505. {$IfDef GL_EXT_texture_buffer}
  4506. glTexBufferEXT: procedure(target:GLenum; internalformat:GLenum; buffer:GLuint); stdcall;
  4507. glTexBufferRangeEXT: procedure(target:GLenum; internalformat:GLenum; buffer:GLuint; offset:GLintptr; size:GLsizeiptr); stdcall;
  4508. {$EndIf}
  4509. {$IfDef GL_EXT_texture_storage}
  4510. glTexStorage1DEXT: procedure(target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei); stdcall;
  4511. glTexStorage2DEXT: procedure(target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4512. glTexStorage3DEXT: procedure(target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei; depth:GLsizei); stdcall;
  4513. glTextureStorage1DEXT: procedure(texture:GLuint; target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei); stdcall;
  4514. glTextureStorage2DEXT: procedure(texture:GLuint; target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4515. glTextureStorage3DEXT: procedure(texture:GLuint; target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei; depth:GLsizei); stdcall;
  4516. {$EndIf}
  4517. {$IfDef GL_EXT_texture_storage_compression}
  4518. glTexStorageAttribs2DEXT: procedure(target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei;
  4519. attrib_list:PGLint); stdcall;
  4520. glTexStorageAttribs3DEXT: procedure(target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei;
  4521. depth:GLsizei; attrib_list:PGLint); stdcall;
  4522. {$EndIf}
  4523. {$IfDef GL_EXT_texture_view}
  4524. glTextureViewEXT: procedure(texture:GLuint; target:GLenum; origtexture:GLuint; internalformat:GLenum; minlevel:GLuint;
  4525. numlevels:GLuint; minlayer:GLuint; numlayers:GLuint); stdcall;
  4526. {$EndIf}
  4527. {$IfDef GL_EXT_win32_keyed_mutex}
  4528. glAcquireKeyedMutexWin32EXT: function(memory:GLuint; key:GLuint64; timeout:GLuint):GLboolean; stdcall;
  4529. glReleaseKeyedMutexWin32EXT: function(memory:GLuint; key:GLuint64):GLboolean; stdcall;
  4530. {$EndIf}
  4531. {$IfDef GL_EXT_window_rectangles}
  4532. glWindowRectanglesEXT: procedure(mode:GLenum; count:GLsizei; box:PGLint); stdcall;
  4533. {$EndIf}
  4534. {$IfDef GL_IMG_bindless_texture}
  4535. glGetTextureHandleIMG: function(texture:GLuint):GLuint64; stdcall;
  4536. glGetTextureSamplerHandleIMG: function(texture:GLuint; sampler:GLuint):GLuint64; stdcall;
  4537. glUniformHandleui64IMG: procedure(location:GLint; value:GLuint64); stdcall;
  4538. glUniformHandleui64vIMG: procedure(location:GLint; count:GLsizei; value:PGLuint64); stdcall;
  4539. glProgramUniformHandleui64IMG: procedure(_program:GLuint; location:GLint; value:GLuint64); stdcall;
  4540. glProgramUniformHandleui64vIMG: procedure(_program:GLuint; location:GLint; count:GLsizei; values:PGLuint64); stdcall;
  4541. {$EndIf}
  4542. {$IfDef GL_IMG_framebuffer_downsample}
  4543. glFramebufferTexture2DDownsampleIMG: procedure(target:GLenum; attachment:GLenum; textarget:GLenum; texture:GLuint; level:GLint;
  4544. xscale:GLint; yscale:GLint); stdcall;
  4545. glFramebufferTextureLayerDownsampleIMG: procedure(target:GLenum; attachment:GLenum; texture:GLuint; level:GLint; layer:GLint;
  4546. xscale:GLint; yscale:GLint); stdcall;
  4547. {$EndIf}
  4548. {$IfDef GL_IMG_multisampled_render_to_texture}
  4549. glRenderbufferStorageMultisampleIMG: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4550. glFramebufferTexture2DMultisampleIMG: procedure(target:GLenum; attachment:GLenum; textarget:GLenum; texture:GLuint; level:GLint; samples:GLsizei); stdcall;
  4551. {$EndIf}
  4552. {$IfDef GL_INTEL_framebuffer_CMAA}
  4553. glApplyFramebufferAttachmentCMAAINTEL: procedure; stdcall;
  4554. {$EndIf}
  4555. {$IfDef GL_INTEL_performance_query}
  4556. glBeginPerfQueryINTEL: procedure(queryHandle:GLuint); stdcall;
  4557. glCreatePerfQueryINTEL: procedure(queryId:GLuint; queryHandle:PGLuint); stdcall;
  4558. glDeletePerfQueryINTEL: procedure(queryHandle:GLuint); stdcall;
  4559. glEndPerfQueryINTEL: procedure(queryHandle:GLuint); stdcall;
  4560. glGetFirstPerfQueryIdINTEL: procedure(queryId:PGLuint); stdcall;
  4561. glGetNextPerfQueryIdINTEL: procedure(queryId:GLuint; nextQueryId:PGLuint); stdcall;
  4562. glGetPerfCounterInfoINTEL: procedure(queryId:GLuint; counterId:GLuint; counterNameLength:GLuint; counterName:PGLchar; counterDescLength:GLuint;
  4563. counterDesc:PGLchar; counterOffset:PGLuint; counterDataSize:PGLuint; counterTypeEnum:PGLuint; counterDataTypeEnum:PGLuint;
  4564. rawCounterMaxValue:PGLuint64); stdcall;
  4565. glGetPerfQueryDataINTEL: procedure(queryHandle:GLuint; flags:GLuint; dataSize:GLsizei; data:pointer; bytesWritten:PGLuint); stdcall;
  4566. glGetPerfQueryIdByNameINTEL: procedure(queryName:PGLchar; queryId:PGLuint); stdcall;
  4567. glGetPerfQueryInfoINTEL: procedure(queryId:GLuint; queryNameLength:GLuint; queryName:PGLchar; dataSize:PGLuint; noCounters:PGLuint;
  4568. noInstances:PGLuint; capsMask:PGLuint); stdcall;
  4569. {$EndIf}
  4570. {$IfDef GL_MESA_framebuffer_flip_y}
  4571. glFramebufferParameteriMESA: procedure(target:GLenum; pname:GLenum; param:GLint); stdcall;
  4572. glGetFramebufferParameterivMESA: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4573. {$EndIf}
  4574. {$IfDef GL_NV_bindless_texture}
  4575. glGetTextureHandleNV: function(texture:GLuint):GLuint64; stdcall;
  4576. glGetTextureSamplerHandleNV: function(texture:GLuint; sampler:GLuint):GLuint64; stdcall;
  4577. glMakeTextureHandleResidentNV: procedure(handle:GLuint64); stdcall;
  4578. glMakeTextureHandleNonResidentNV: procedure(handle:GLuint64); stdcall;
  4579. glGetImageHandleNV: function(texture:GLuint; level:GLint; layered:GLboolean; layer:GLint; format:GLenum):GLuint64; stdcall;
  4580. glMakeImageHandleResidentNV: procedure(handle:GLuint64; access:GLenum); stdcall;
  4581. glMakeImageHandleNonResidentNV: procedure(handle:GLuint64); stdcall;
  4582. glUniformHandleui64NV: procedure(location:GLint; value:GLuint64); stdcall;
  4583. glUniformHandleui64vNV: procedure(location:GLint; count:GLsizei; value:PGLuint64); stdcall;
  4584. glProgramUniformHandleui64NV: procedure(_program:GLuint; location:GLint; value:GLuint64); stdcall;
  4585. glProgramUniformHandleui64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; values:PGLuint64); stdcall;
  4586. glIsTextureHandleResidentNV: function(handle:GLuint64):GLboolean; stdcall;
  4587. glIsImageHandleResidentNV: function(handle:GLuint64):GLboolean; stdcall;
  4588. {$EndIf}
  4589. {$IfDef GL_NV_blend_equation_advanced}
  4590. glBlendParameteriNV: procedure(pname:GLenum; value:GLint); stdcall;
  4591. glBlendBarrierNV: procedure; stdcall;
  4592. {$EndIf}
  4593. {$IfDef GL_NV_clip_space_w_scaling}
  4594. glViewportPositionWScaleNV: procedure(index:GLuint; xcoeff:GLfloat; ycoeff:GLfloat); stdcall;
  4595. {$EndIf}
  4596. {$IfDef GL_NV_conditional_render}
  4597. glBeginConditionalRenderNV: procedure(id:GLuint; mode:GLenum); stdcall;
  4598. glEndConditionalRenderNV: procedure; stdcall;
  4599. {$EndIf}
  4600. {$IfDef GL_NV_conservative_raster}
  4601. glSubpixelPrecisionBiasNV: procedure(xbits:GLuint; ybits:GLuint); stdcall;
  4602. {$EndIf}
  4603. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  4604. glConservativeRasterParameteriNV: procedure(pname:GLenum; param:GLint); stdcall;
  4605. {$EndIf}
  4606. {$IfDef GL_NV_copy_buffer}
  4607. glCopyBufferSubDataNV: procedure(readTarget:GLenum; writeTarget:GLenum; readOffset:GLintptr; writeOffset:GLintptr; size:GLsizeiptr); stdcall;
  4608. {$EndIf}
  4609. {$IfDef GL_NV_coverage_sample}
  4610. glCoverageMaskNV: procedure(mask:GLboolean); stdcall;
  4611. glCoverageOperationNV: procedure(operation:GLenum); stdcall;
  4612. {$EndIf}
  4613. {$IfDef GL_NV_draw_buffers}
  4614. glDrawBuffersNV: procedure(n:GLsizei; bufs:PGLenum); stdcall;
  4615. {$EndIf}
  4616. {$IfDef GL_NV_draw_instanced}
  4617. glDrawArraysInstancedNV: procedure(mode:GLenum; first:GLint; count:GLsizei; primcount:GLsizei); stdcall;
  4618. glDrawElementsInstancedNV: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; primcount:GLsizei); stdcall;
  4619. {$EndIf}
  4620. {$IfDef GL_NV_draw_vulkan_image}
  4621. glDrawVkImageNV: procedure(vkImage:GLuint64; sampler:GLuint; x0:GLfloat; y0:GLfloat; x1:GLfloat;
  4622. y1:GLfloat; z:GLfloat; s0:GLfloat; t0:GLfloat; s1:GLfloat; t1:GLfloat); stdcall;
  4623. glGetVkProcAddrNV: function(name:PGLchar):GLVULKANPROCNV; stdcall;
  4624. glWaitVkSemaphoreNV: procedure(vkSemaphore:GLuint64); stdcall;
  4625. glSignalVkSemaphoreNV: procedure(vkSemaphore:GLuint64); stdcall;
  4626. glSignalVkFenceNV: procedure(vkFence:GLuint64); stdcall;
  4627. {$EndIf}
  4628. {$IfDef GL_NV_fence}
  4629. glDeleteFencesNV: procedure(n:GLsizei; fences:PGLuint); stdcall;
  4630. glGenFencesNV: procedure(n:GLsizei; fences:PGLuint); stdcall;
  4631. glIsFenceNV: function(fence:GLuint):GLboolean; stdcall;
  4632. glTestFenceNV: function(fence:GLuint):GLboolean; stdcall;
  4633. glGetFenceivNV: procedure(fence:GLuint; pname:GLenum; params:PGLint); stdcall;
  4634. glFinishFenceNV: procedure(fence:GLuint); stdcall;
  4635. glSetFenceNV: procedure(fence:GLuint; condition:GLenum); stdcall;
  4636. {$EndIf}
  4637. {$IfDef GL_NV_fragment_coverage_to_color}
  4638. glFragmentCoverageColorNV: procedure(color:GLuint); stdcall;
  4639. {$EndIf}
  4640. {$IfDef GL_NV_framebuffer_blit}
  4641. glBlitFramebufferNV: procedure(srcX0:GLint; srcY0:GLint; srcX1:GLint; srcY1:GLint; dstX0:GLint;
  4642. dstY0:GLint; dstX1:GLint; dstY1:GLint; mask:GLbitfield; filter:GLenum); stdcall;
  4643. {$EndIf}
  4644. {$IfDef GL_NV_framebuffer_mixed_samples}
  4645. glCoverageModulationTableNV: procedure(n:GLsizei; v:PGLfloat); stdcall;
  4646. glGetCoverageModulationTableNV: procedure(bufSize:GLsizei; v:PGLfloat); stdcall;
  4647. glCoverageModulationNV: procedure(components:GLenum); stdcall;
  4648. {$EndIf}
  4649. {$IfDef GL_NV_framebuffer_multisample}
  4650. glRenderbufferStorageMultisampleNV: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4651. {$EndIf}
  4652. {$IfDef GL_NV_gpu_shader5}
  4653. glUniform1i64NV: procedure(location:GLint; x:GLint64EXT); stdcall;
  4654. glUniform2i64NV: procedure(location:GLint; x:GLint64EXT; y:GLint64EXT); stdcall;
  4655. glUniform3i64NV: procedure(location:GLint; x:GLint64EXT; y:GLint64EXT; z:GLint64EXT); stdcall;
  4656. glUniform4i64NV: procedure(location:GLint; x:GLint64EXT; y:GLint64EXT; z:GLint64EXT; w:GLint64EXT); stdcall;
  4657. glUniform1i64vNV: procedure(location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4658. glUniform2i64vNV: procedure(location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4659. glUniform3i64vNV: procedure(location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4660. glUniform4i64vNV: procedure(location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4661. glUniform1ui64NV: procedure(location:GLint; x:GLuint64EXT); stdcall;
  4662. glUniform2ui64NV: procedure(location:GLint; x:GLuint64EXT; y:GLuint64EXT); stdcall;
  4663. glUniform3ui64NV: procedure(location:GLint; x:GLuint64EXT; y:GLuint64EXT; z:GLuint64EXT); stdcall;
  4664. glUniform4ui64NV: procedure(location:GLint; x:GLuint64EXT; y:GLuint64EXT; z:GLuint64EXT; w:GLuint64EXT); stdcall;
  4665. glUniform1ui64vNV: procedure(location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4666. glUniform2ui64vNV: procedure(location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4667. glUniform3ui64vNV: procedure(location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4668. glUniform4ui64vNV: procedure(location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4669. glGetUniformi64vNV: procedure(_program:GLuint; location:GLint; params:PGLint64EXT); stdcall;
  4670. glProgramUniform1i64NV: procedure(_program:GLuint; location:GLint; x:GLint64EXT); stdcall;
  4671. glProgramUniform2i64NV: procedure(_program:GLuint; location:GLint; x:GLint64EXT; y:GLint64EXT); stdcall;
  4672. glProgramUniform3i64NV: procedure(_program:GLuint; location:GLint; x:GLint64EXT; y:GLint64EXT; z:GLint64EXT); stdcall;
  4673. glProgramUniform4i64NV: procedure(_program:GLuint; location:GLint; x:GLint64EXT; y:GLint64EXT; z:GLint64EXT; w:GLint64EXT); stdcall;
  4674. glProgramUniform1i64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4675. glProgramUniform2i64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4676. glProgramUniform3i64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4677. glProgramUniform4i64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint64EXT); stdcall;
  4678. glProgramUniform1ui64NV: procedure(_program:GLuint; location:GLint; x:GLuint64EXT); stdcall;
  4679. glProgramUniform2ui64NV: procedure(_program:GLuint; location:GLint; x:GLuint64EXT; y:GLuint64EXT); stdcall;
  4680. glProgramUniform3ui64NV: procedure(_program:GLuint; location:GLint; x:GLuint64EXT; y:GLuint64EXT; z:GLuint64EXT); stdcall;
  4681. glProgramUniform4ui64NV: procedure(_program:GLuint; location:GLint; x:GLuint64EXT; y:GLuint64EXT; z:GLuint64EXT; w:GLuint64EXT); stdcall;
  4682. glProgramUniform1ui64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4683. glProgramUniform2ui64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4684. glProgramUniform3ui64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4685. glProgramUniform4ui64vNV: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint64EXT); stdcall;
  4686. {$EndIf}
  4687. {$IfDef GL_NV_instanced_arrays}
  4688. glVertexAttribDivisorNV: procedure(index:GLuint; divisor:GLuint); stdcall;
  4689. {$EndIf}
  4690. {$IfDef GL_NV_internalformat_sample_query}
  4691. glGetInternalformatSampleivNV: procedure(target:GLenum; internalformat:GLenum; samples:GLsizei; pname:GLenum; count:GLsizei;
  4692. params:PGLint); stdcall;
  4693. {$EndIf}
  4694. {$IfDef GL_NV_memory_attachment}
  4695. glGetMemoryObjectDetachedResourcesuivNV: procedure(memory:GLuint; pname:GLenum; first:GLint; count:GLsizei; params:PGLuint); stdcall;
  4696. glResetMemoryObjectParameterNV: procedure(memory:GLuint; pname:GLenum); stdcall;
  4697. glTexAttachMemoryNV: procedure(target:GLenum; memory:GLuint; offset:GLuint64); stdcall;
  4698. glBufferAttachMemoryNV: procedure(target:GLenum; memory:GLuint; offset:GLuint64); stdcall;
  4699. glTextureAttachMemoryNV: procedure(texture:GLuint; memory:GLuint; offset:GLuint64); stdcall;
  4700. glNamedBufferAttachMemoryNV: procedure(buffer:GLuint; memory:GLuint; offset:GLuint64); stdcall;
  4701. {$EndIf}
  4702. {$IfDef GL_NV_memory_object_sparse}
  4703. glBufferPageCommitmentMemNV: procedure(target:GLenum; offset:GLintptr; size:GLsizeiptr; memory:GLuint; memOffset:GLuint64;
  4704. commit:GLboolean); stdcall;
  4705. glTexPageCommitmentMemNV: procedure(target:GLenum; layer:GLint; level:GLint; xoffset:GLint; yoffset:GLint;
  4706. zoffset:GLint; width:GLsizei; height:GLsizei; depth:GLsizei; memory:GLuint;
  4707. offset:GLuint64; commit:GLboolean); stdcall;
  4708. glNamedBufferPageCommitmentMemNV: procedure(buffer:GLuint; offset:GLintptr; size:GLsizeiptr; memory:GLuint; memOffset:GLuint64;
  4709. commit:GLboolean); stdcall;
  4710. glTexturePageCommitmentMemNV: procedure(texture:GLuint; layer:GLint; level:GLint; xoffset:GLint; yoffset:GLint;
  4711. zoffset:GLint; width:GLsizei; height:GLsizei; depth:GLsizei; memory:GLuint;
  4712. offset:GLuint64; commit:GLboolean); stdcall;
  4713. {$EndIf}
  4714. {$IfDef GL_NV_mesh_shader}
  4715. glDrawMeshTasksNV: procedure(first:GLuint; count:GLuint); stdcall;
  4716. glDrawMeshTasksIndirectNV: procedure(indirect:GLintptr); stdcall;
  4717. glMultiDrawMeshTasksIndirectNV: procedure(indirect:GLintptr; drawcount:GLsizei; stride:GLsizei); stdcall;
  4718. glMultiDrawMeshTasksIndirectCountNV: procedure(indirect:GLintptr; drawcount:GLintptr; maxdrawcount:GLsizei; stride:GLsizei); stdcall;
  4719. {$EndIf}
  4720. {$IfDef GL_NV_non_square_matrices}
  4721. glUniformMatrix2x3fvNV: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4722. glUniformMatrix3x2fvNV: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4723. glUniformMatrix2x4fvNV: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4724. glUniformMatrix4x2fvNV: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4725. glUniformMatrix3x4fvNV: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4726. glUniformMatrix4x3fvNV: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4727. {$EndIf}
  4728. {$IfDef GL_NV_path_rendering}
  4729. glGenPathsNV: function(range:GLsizei):GLuint; stdcall;
  4730. glDeletePathsNV: procedure(path:GLuint; range:GLsizei); stdcall;
  4731. glIsPathNV: function(path:GLuint):GLboolean; stdcall;
  4732. glPathCommandsNV: procedure(path:GLuint; numCommands:GLsizei; commands:PGLubyte; numCoords:GLsizei; coordType:GLenum;
  4733. coords:pointer); stdcall;
  4734. glPathCoordsNV: procedure(path:GLuint; numCoords:GLsizei; coordType:GLenum; coords:pointer); stdcall;
  4735. glPathSubCommandsNV: procedure(path:GLuint; commandStart:GLsizei; commandsToDelete:GLsizei; numCommands:GLsizei; commands:PGLubyte;
  4736. numCoords:GLsizei; coordType:GLenum; coords:pointer); stdcall;
  4737. glPathSubCoordsNV: procedure(path:GLuint; coordStart:GLsizei; numCoords:GLsizei; coordType:GLenum; coords:pointer); stdcall;
  4738. glPathStringNV: procedure(path:GLuint; format:GLenum; length:GLsizei; pathString:pointer); stdcall;
  4739. glPathGlyphsNV: procedure(firstPathName:GLuint; fontTarget:GLenum; fontName:pointer; fontStyle:GLbitfield; numGlyphs:GLsizei;
  4740. _type:GLenum; charcodes:pointer; handleMissingGlyphs:GLenum; pathParameterTemplate:GLuint; emScale:GLfloat); stdcall;
  4741. glPathGlyphRangeNV: procedure(firstPathName:GLuint; fontTarget:GLenum; fontName:pointer; fontStyle:GLbitfield; firstGlyph:GLuint;
  4742. numGlyphs:GLsizei; handleMissingGlyphs:GLenum; pathParameterTemplate:GLuint; emScale:GLfloat); stdcall;
  4743. glWeightPathsNV: procedure(resultPath:GLuint; numPaths:GLsizei; paths:PGLuint; weights:PGLfloat); stdcall;
  4744. glCopyPathNV: procedure(resultPath:GLuint; srcPath:GLuint); stdcall;
  4745. glInterpolatePathsNV: procedure(resultPath:GLuint; pathA:GLuint; pathB:GLuint; weight:GLfloat); stdcall;
  4746. glTransformPathNV: procedure(resultPath:GLuint; srcPath:GLuint; transformType:GLenum; transformValues:PGLfloat); stdcall;
  4747. glPathParameterivNV: procedure(path:GLuint; pname:GLenum; value:PGLint); stdcall;
  4748. glPathParameteriNV: procedure(path:GLuint; pname:GLenum; value:GLint); stdcall;
  4749. glPathParameterfvNV: procedure(path:GLuint; pname:GLenum; value:PGLfloat); stdcall;
  4750. glPathParameterfNV: procedure(path:GLuint; pname:GLenum; value:GLfloat); stdcall;
  4751. glPathDashArrayNV: procedure(path:GLuint; dashCount:GLsizei; dashArray:PGLfloat); stdcall;
  4752. glPathStencilFuncNV: procedure(func:GLenum; ref:GLint; mask:GLuint); stdcall;
  4753. glPathStencilDepthOffsetNV: procedure(factor:GLfloat; units:GLfloat); stdcall;
  4754. glStencilFillPathNV: procedure(path:GLuint; fillMode:GLenum; mask:GLuint); stdcall;
  4755. glStencilStrokePathNV: procedure(path:GLuint; reference:GLint; mask:GLuint); stdcall;
  4756. glStencilFillPathInstancedNV: procedure(numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint; fillMode:GLenum;
  4757. mask:GLuint; transformType:GLenum; transformValues:PGLfloat); stdcall;
  4758. glStencilStrokePathInstancedNV: procedure(numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint; reference:GLint;
  4759. mask:GLuint; transformType:GLenum; transformValues:PGLfloat); stdcall;
  4760. glPathCoverDepthFuncNV: procedure(func:GLenum); stdcall;
  4761. glCoverFillPathNV: procedure(path:GLuint; coverMode:GLenum); stdcall;
  4762. glCoverStrokePathNV: procedure(path:GLuint; coverMode:GLenum); stdcall;
  4763. glCoverFillPathInstancedNV: procedure(numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint; coverMode:GLenum;
  4764. transformType:GLenum; transformValues:PGLfloat); stdcall;
  4765. glCoverStrokePathInstancedNV: procedure(numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint; coverMode:GLenum;
  4766. transformType:GLenum; transformValues:PGLfloat); stdcall;
  4767. glGetPathParameterivNV: procedure(path:GLuint; pname:GLenum; value:PGLint); stdcall;
  4768. glGetPathParameterfvNV: procedure(path:GLuint; pname:GLenum; value:PGLfloat); stdcall;
  4769. glGetPathCommandsNV: procedure(path:GLuint; commands:PGLubyte); stdcall;
  4770. glGetPathCoordsNV: procedure(path:GLuint; coords:PGLfloat); stdcall;
  4771. glGetPathDashArrayNV: procedure(path:GLuint; dashArray:PGLfloat); stdcall;
  4772. glGetPathMetricsNV: procedure(metricQueryMask:GLbitfield; numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint;
  4773. stride:GLsizei; metrics:PGLfloat); stdcall;
  4774. glGetPathMetricRangeNV: procedure(metricQueryMask:GLbitfield; firstPathName:GLuint; numPaths:GLsizei; stride:GLsizei; metrics:PGLfloat); stdcall;
  4775. glGetPathSpacingNV: procedure(pathListMode:GLenum; numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint;
  4776. advanceScale:GLfloat; kerningScale:GLfloat; transformType:GLenum; returnedSpacing:PGLfloat); stdcall;
  4777. glIsPointInFillPathNV: function(path:GLuint; mask:GLuint; x:GLfloat; y:GLfloat):GLboolean; stdcall;
  4778. glIsPointInStrokePathNV: function(path:GLuint; x:GLfloat; y:GLfloat):GLboolean; stdcall;
  4779. glGetPathLengthNV: function(path:GLuint; startSegment:GLsizei; numSegments:GLsizei):GLfloat; stdcall;
  4780. glPointAlongPathNV: function(path:GLuint; startSegment:GLsizei; numSegments:GLsizei; distance:GLfloat; x:PGLfloat;
  4781. y:PGLfloat; tangentX:PGLfloat; tangentY:PGLfloat):GLboolean; stdcall;
  4782. glMatrixLoad3x2fNV: procedure(matrixMode:GLenum; m:PGLfloat); stdcall;
  4783. glMatrixLoad3x3fNV: procedure(matrixMode:GLenum; m:PGLfloat); stdcall;
  4784. glMatrixLoadTranspose3x3fNV: procedure(matrixMode:GLenum; m:PGLfloat); stdcall;
  4785. glMatrixMult3x2fNV: procedure(matrixMode:GLenum; m:PGLfloat); stdcall;
  4786. glMatrixMult3x3fNV: procedure(matrixMode:GLenum; m:PGLfloat); stdcall;
  4787. glMatrixMultTranspose3x3fNV: procedure(matrixMode:GLenum; m:PGLfloat); stdcall;
  4788. glStencilThenCoverFillPathNV: procedure(path:GLuint; fillMode:GLenum; mask:GLuint; coverMode:GLenum); stdcall;
  4789. glStencilThenCoverStrokePathNV: procedure(path:GLuint; reference:GLint; mask:GLuint; coverMode:GLenum); stdcall;
  4790. glStencilThenCoverFillPathInstancedNV: procedure(numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint; fillMode:GLenum;
  4791. mask:GLuint; coverMode:GLenum; transformType:GLenum; transformValues:PGLfloat); stdcall;
  4792. glStencilThenCoverStrokePathInstancedNV: procedure(numPaths:GLsizei; pathNameType:GLenum; paths:pointer; pathBase:GLuint; reference:GLint;
  4793. mask:GLuint; coverMode:GLenum; transformType:GLenum; transformValues:PGLfloat); stdcall;
  4794. glPathGlyphIndexRangeNV: function(fontTarget:GLenum; fontName:pointer; fontStyle:GLbitfield; pathParameterTemplate:GLuint; emScale:GLfloat;
  4795. baseAndCount:PGLuint):GLenum; stdcall;
  4796. glPathGlyphIndexArrayNV: function(firstPathName:GLuint; fontTarget:GLenum; fontName:pointer; fontStyle:GLbitfield; firstGlyphIndex:GLuint;
  4797. numGlyphs:GLsizei; pathParameterTemplate:GLuint; emScale:GLfloat):GLenum; stdcall;
  4798. glPathMemoryGlyphIndexArrayNV: function(firstPathName:GLuint; fontTarget:GLenum; fontSize:GLsizeiptr; fontData:pointer; faceIndex:GLsizei;
  4799. firstGlyphIndex:GLuint; numGlyphs:GLsizei; pathParameterTemplate:GLuint; emScale:GLfloat):GLenum; stdcall;
  4800. glProgramPathFragmentInputGenNV: procedure(_program:GLuint; location:GLint; genMode:GLenum; components:GLint; coeffs:PGLfloat); stdcall;
  4801. glGetProgramResourcefvNV: procedure(_program:GLuint; programInterface:GLenum; index:GLuint; propCount:GLsizei; props:PGLenum;
  4802. count:GLsizei; length:PGLsizei; params:PGLfloat); stdcall;
  4803. glMatrixFrustumEXT: procedure(mode:GLenum; left:GLdouble; right:GLdouble; bottom:GLdouble; top:GLdouble;
  4804. zNear:GLdouble; zFar:GLdouble); stdcall;
  4805. glMatrixLoadIdentityEXT: procedure(mode:GLenum); stdcall;
  4806. glMatrixLoadTransposefEXT: procedure(mode:GLenum; m:PGLfloat); stdcall;
  4807. glMatrixLoadTransposedEXT: procedure(mode:GLenum; m:PGLdouble); stdcall;
  4808. glMatrixLoadfEXT: procedure(mode:GLenum; m:PGLfloat); stdcall;
  4809. glMatrixLoaddEXT: procedure(mode:GLenum; m:PGLdouble); stdcall;
  4810. glMatrixMultTransposefEXT: procedure(mode:GLenum; m:PGLfloat); stdcall;
  4811. glMatrixMultTransposedEXT: procedure(mode:GLenum; m:PGLdouble); stdcall;
  4812. glMatrixMultfEXT: procedure(mode:GLenum; m:PGLfloat); stdcall;
  4813. glMatrixMultdEXT: procedure(mode:GLenum; m:PGLdouble); stdcall;
  4814. glMatrixOrthoEXT: procedure(mode:GLenum; left:GLdouble; right:GLdouble; bottom:GLdouble; top:GLdouble;
  4815. zNear:GLdouble; zFar:GLdouble); stdcall;
  4816. glMatrixPopEXT: procedure(mode:GLenum); stdcall;
  4817. glMatrixPushEXT: procedure(mode:GLenum); stdcall;
  4818. glMatrixRotatefEXT: procedure(mode:GLenum; angle:GLfloat; x:GLfloat; y:GLfloat; z:GLfloat); stdcall;
  4819. glMatrixRotatedEXT: procedure(mode:GLenum; angle:GLdouble; x:GLdouble; y:GLdouble; z:GLdouble); stdcall;
  4820. glMatrixScalefEXT: procedure(mode:GLenum; x:GLfloat; y:GLfloat; z:GLfloat); stdcall;
  4821. glMatrixScaledEXT: procedure(mode:GLenum; x:GLdouble; y:GLdouble; z:GLdouble); stdcall;
  4822. glMatrixTranslatefEXT: procedure(mode:GLenum; x:GLfloat; y:GLfloat; z:GLfloat); stdcall;
  4823. glMatrixTranslatedEXT: procedure(mode:GLenum; x:GLdouble; y:GLdouble; z:GLdouble); stdcall;
  4824. {$EndIf}
  4825. {$IfDef GL_NV_polygon_mode}
  4826. glPolygonModeNV: procedure(face:GLenum; mode:GLenum); stdcall;
  4827. {$EndIf}
  4828. {$IfDef GL_NV_read_buffer}
  4829. glReadBufferNV: procedure(mode:GLenum); stdcall;
  4830. {$EndIf}
  4831. {$IfDef GL_NV_sample_locations}
  4832. glFramebufferSampleLocationsfvNV: procedure(target:GLenum; start:GLuint; count:GLsizei; v:PGLfloat); stdcall;
  4833. glNamedFramebufferSampleLocationsfvNV: procedure(framebuffer:GLuint; start:GLuint; count:GLsizei; v:PGLfloat); stdcall;
  4834. glResolveDepthValuesNV: procedure; stdcall;
  4835. {$EndIf}
  4836. {$IfDef GL_NV_scissor_exclusive}
  4837. glScissorExclusiveNV: procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei); stdcall;
  4838. glScissorExclusiveArrayvNV: procedure(first:GLuint; count:GLsizei; v:PGLint); stdcall;
  4839. {$EndIf}
  4840. {$IfDef GL_NV_shading_rate_image}
  4841. glBindShadingRateImageNV: procedure(texture:GLuint); stdcall;
  4842. glGetShadingRateImagePaletteNV: procedure(viewport:GLuint; entry:GLuint; rate:PGLenum); stdcall;
  4843. glGetShadingRateSampleLocationivNV: procedure(rate:GLenum; samples:GLuint; index:GLuint; location:PGLint); stdcall;
  4844. glShadingRateImageBarrierNV: procedure(synchronize:GLboolean); stdcall;
  4845. glShadingRateImagePaletteNV: procedure(viewport:GLuint; first:GLuint; count:GLsizei; rates:PGLenum); stdcall;
  4846. glShadingRateSampleOrderNV: procedure(order:GLenum); stdcall;
  4847. glShadingRateSampleOrderCustomNV: procedure(rate:GLenum; samples:GLuint; locations:PGLint); stdcall;
  4848. {$EndIf}
  4849. {$IfDef GL_NV_timeline_semaphore}
  4850. glCreateSemaphoresNV: procedure(n:GLsizei; semaphores:PGLuint); stdcall;
  4851. glSemaphoreParameterivNV: procedure(semaphore:GLuint; pname:GLenum; params:PGLint); stdcall;
  4852. glGetSemaphoreParameterivNV: procedure(semaphore:GLuint; pname:GLenum; params:PGLint); stdcall;
  4853. {$EndIf}
  4854. {$IfDef GL_NV_viewport_array}
  4855. glViewportArrayvNV: procedure(first:GLuint; count:GLsizei; v:PGLfloat); stdcall;
  4856. glViewportIndexedfNV: procedure(index:GLuint; x:GLfloat; y:GLfloat; w:GLfloat; h:GLfloat); stdcall;
  4857. glViewportIndexedfvNV: procedure(index:GLuint; v:PGLfloat); stdcall;
  4858. glScissorArrayvNV: procedure(first:GLuint; count:GLsizei; v:PGLint); stdcall;
  4859. glScissorIndexedNV: procedure(index:GLuint; left:GLint; bottom:GLint; width:GLsizei; height:GLsizei); stdcall;
  4860. glScissorIndexedvNV: procedure(index:GLuint; v:PGLint); stdcall;
  4861. glDepthRangeArrayfvNV: procedure(first:GLuint; count:GLsizei; v:PGLfloat); stdcall;
  4862. glDepthRangeIndexedfNV: procedure(index:GLuint; n:GLfloat; f:GLfloat); stdcall;
  4863. glGetFloati_vNV: procedure(target:GLenum; index:GLuint; data:PGLfloat); stdcall;
  4864. glEnableiNV: procedure(target:GLenum; index:GLuint); stdcall;
  4865. glDisableiNV: procedure(target:GLenum; index:GLuint); stdcall;
  4866. glIsEnablediNV: function(target:GLenum; index:GLuint):GLboolean; stdcall;
  4867. {$EndIf}
  4868. {$IfDef GL_NV_viewport_swizzle}
  4869. glViewportSwizzleNV: procedure(index:GLuint; swizzlex:GLenum; swizzley:GLenum; swizzlez:GLenum; swizzlew:GLenum); stdcall;
  4870. {$EndIf}
  4871. {$IfDef GL_OVR_multiview}
  4872. glFramebufferTextureMultiviewOVR: procedure(target:GLenum; attachment:GLenum; texture:GLuint; level:GLint; baseViewIndex:GLint;
  4873. numViews:GLsizei); stdcall;
  4874. {$EndIf}
  4875. {$IfDef GL_OVR_multiview_multisampled_render_to_texture}
  4876. glFramebufferTextureMultisampleMultiviewOVR: procedure(target:GLenum; attachment:GLenum; texture:GLuint; level:GLint; samples:GLsizei;
  4877. baseViewIndex:GLint; numViews:GLsizei); stdcall;
  4878. {$EndIf}
  4879. {$IfDef GL_QCOM_alpha_test}
  4880. glAlphaFuncQCOM: procedure(func:GLenum; ref:GLclampf); stdcall;
  4881. {$EndIf}
  4882. {$IfDef GL_QCOM_driver_control}
  4883. glGetDriverControlsQCOM: procedure(num:PGLint; size:GLsizei; driverControls:PGLuint); stdcall;
  4884. glGetDriverControlStringQCOM: procedure(driverControl:GLuint; bufSize:GLsizei; length:PGLsizei; driverControlString:PGLchar); stdcall;
  4885. glEnableDriverControlQCOM: procedure(driverControl:GLuint); stdcall;
  4886. glDisableDriverControlQCOM: procedure(driverControl:GLuint); stdcall;
  4887. {$EndIf}
  4888. {$IfDef GL_QCOM_extended_get}
  4889. glExtGetTexturesQCOM: procedure(textures:PGLuint; maxTextures:GLint; numTextures:PGLint); stdcall;
  4890. glExtGetBuffersQCOM: procedure(buffers:PGLuint; maxBuffers:GLint; numBuffers:PGLint); stdcall;
  4891. glExtGetRenderbuffersQCOM: procedure(renderbuffers:PGLuint; maxRenderbuffers:GLint; numRenderbuffers:PGLint); stdcall;
  4892. glExtGetFramebuffersQCOM: procedure(framebuffers:PGLuint; maxFramebuffers:GLint; numFramebuffers:PGLint); stdcall;
  4893. glExtGetTexLevelParameterivQCOM: procedure(texture:GLuint; face:GLenum; level:GLint; pname:GLenum; params:PGLint); stdcall;
  4894. glExtTexObjectStateOverrideiQCOM: procedure(target:GLenum; pname:GLenum; param:GLint); stdcall;
  4895. glExtGetTexSubImageQCOM: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4896. width:GLsizei; height:GLsizei; depth:GLsizei; format:GLenum; _type:GLenum; texels:pointer); stdcall;
  4897. glExtGetBufferPointervQCOM: procedure(target:GLenum; params:Ppointer); stdcall;
  4898. {$EndIf}
  4899. {$IfDef GL_QCOM_extended_get2}
  4900. glExtGetShadersQCOM: procedure(shaders:PGLuint; maxShaders:GLint; numShaders:PGLint); stdcall;
  4901. glExtGetProgramsQCOM: procedure(programs:PGLuint; maxPrograms:GLint; numPrograms:PGLint); stdcall;
  4902. glExtIsProgramBinaryQCOM: function(_program:GLuint):GLboolean; stdcall;
  4903. glExtGetProgramBinarySourceQCOM: procedure(_program:GLuint; shadertype:GLenum; source:PGLchar; length:PGLint); stdcall;
  4904. {$EndIf}
  4905. {$IfDef GL_QCOM_frame_extrapolation}
  4906. glExtrapolateTex2DQCOM: procedure(src1:GLuint; src2:GLuint; output:GLuint; scaleFactor:GLfloat); stdcall;
  4907. {$EndIf}
  4908. {$IfDef GL_QCOM_framebuffer_foveated}
  4909. glFramebufferFoveationConfigQCOM: procedure(framebuffer:GLuint; numLayers:GLuint; focalPointsPerLayer:GLuint; requestedFeatures:GLuint; providedFeatures:PGLuint); stdcall;
  4910. glFramebufferFoveationParametersQCOM: procedure(framebuffer:GLuint; layer:GLuint; focalPoint:GLuint; focalX:GLfloat; focalY:GLfloat;
  4911. gainX:GLfloat; gainY:GLfloat; foveaArea:GLfloat); stdcall;
  4912. {$EndIf}
  4913. {$IfDef GL_QCOM_motion_estimation}
  4914. glTexEstimateMotionQCOM: procedure(ref:GLuint; target:GLuint; output:GLuint); stdcall;
  4915. glTexEstimateMotionRegionsQCOM: procedure(ref:GLuint; target:GLuint; output:GLuint; mask:GLuint); stdcall;
  4916. {$EndIf}
  4917. {$IfDef GL_QCOM_shader_framebuffer_fetch_noncoherent}
  4918. glFramebufferFetchBarrierQCOM: procedure; stdcall;
  4919. {$EndIf}
  4920. {$IfDef GL_QCOM_shading_rate}
  4921. glShadingRateQCOM: procedure(rate:GLenum); stdcall;
  4922. {$EndIf}
  4923. {$IfDef GL_QCOM_texture_foveated}
  4924. glTextureFoveationParametersQCOM: procedure(texture:GLuint; layer:GLuint; focalPoint:GLuint; focalX:GLfloat; focalY:GLfloat;
  4925. gainX:GLfloat; gainY:GLfloat; foveaArea:GLfloat); stdcall;
  4926. {$EndIf}
  4927. {$IfDef GL_QCOM_tiled_rendering}
  4928. glStartTilingQCOM: procedure(x:GLuint; y:GLuint; width:GLuint; height:GLuint; preserveMask:GLbitfield); stdcall;
  4929. glEndTilingQCOM: procedure(preserveMask:GLbitfield); stdcall;
  4930. {$EndIf}
  4931. {$IfDef GL_ES_VERSION_3_0}
  4932. // GL_NV_read_buffer
  4933. glReadBuffer: procedure(src:GLenum); stdcall;
  4934. // none
  4935. glDrawRangeElements: procedure(mode:GLenum; start:GLuint; _end:GLuint; count:GLsizei; _type:GLenum; indices:pointer); stdcall;
  4936. // GL_OES_texture_3D
  4937. glTexImage3D: procedure(target:GLenum; level:GLint; internalformat:GLint; width:GLsizei; height:GLsizei;
  4938. depth:GLsizei; border:GLint; format:GLenum; _type:GLenum; pixels:pointer); stdcall;
  4939. glTexSubImage3D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4940. width:GLsizei; height:GLsizei; depth:GLsizei; format:GLenum; _type:GLenum; pixels:pointer); stdcall;
  4941. glCopyTexSubImage3D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4942. x:GLint; y:GLint; width:GLsizei; height:GLsizei); stdcall;
  4943. glCompressedTexImage3D: procedure(target:GLenum; level:GLint; internalformat:GLenum; width:GLsizei; height:GLsizei;
  4944. depth:GLsizei; border:GLint; imageSize:GLsizei; data:pointer); stdcall;
  4945. glCompressedTexSubImage3D: procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; zoffset:GLint;
  4946. width:GLsizei; height:GLsizei; depth:GLsizei; format:GLenum; imageSize:GLsizei; data:pointer); stdcall;
  4947. // GL_EXT_disjoint_timer_query
  4948. glGenQueries: procedure(n:GLsizei; ids:PGLuint); stdcall;
  4949. glDeleteQueries: procedure(n:GLsizei; ids:PGLuint); stdcall;
  4950. glIsQuery: function(id:GLuint):GLboolean; stdcall;
  4951. glBeginQuery: procedure(target:GLenum; id:GLuint); stdcall;
  4952. glEndQuery: procedure(target:GLenum); stdcall;
  4953. glGetQueryiv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  4954. glGetQueryObjectuiv: procedure(id:GLuint; pname:GLenum; params:PGLuint); stdcall;
  4955. // GL_OES_mapbuffer
  4956. glUnmapBuffer: function(target:GLenum):GLboolean; stdcall;
  4957. glGetBufferPointerv: procedure(target:GLenum; pname:GLenum; params:Ppointer); stdcall;
  4958. // GL_EXT_draw_buffers + GL_NV_draw_buffers
  4959. glDrawBuffers: procedure(n:GLsizei; bufs:PGLenum); stdcall;
  4960. // GL_NV_non_square_matrices
  4961. glUniformMatrix2x3fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4962. glUniformMatrix3x2fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4963. glUniformMatrix2x4fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4964. glUniformMatrix4x2fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4965. glUniformMatrix3x4fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4966. glUniformMatrix4x3fv: procedure(location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  4967. // GL_ANGLE_framebuffer_blit + GL_NV_framebuffer_blit
  4968. glBlitFramebuffer: procedure(srcX0:GLint; srcY0:GLint; srcX1:GLint; srcY1:GLint; dstX0:GLint;
  4969. dstY0:GLint; dstX1:GLint; dstY1:GLint; mask:GLbitfield; filter:GLenum); stdcall;
  4970. // GL_ANGLE_framebuffer_multisample + GL_APPLE_framebuffer_multisample + GL_EXT_multisampled_render_to_texture +
  4971. // GL_IMG_multisampled_render_to_texture + GL_NV_framebuffer_multisample
  4972. glRenderbufferStorageMultisample: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  4973. // none
  4974. glFramebufferTextureLayer: procedure(target:GLenum; attachment:GLenum; texture:GLuint; level:GLint; layer:GLint); stdcall;
  4975. // GL_EXT_map_buffer_range
  4976. glMapBufferRange: function(target:GLenum; offset:GLintptr; length:GLsizeiptr; access:GLbitfield):pointer; stdcall;
  4977. glFlushMappedBufferRange: procedure(target:GLenum; offset:GLintptr; length:GLsizeiptr); stdcall;
  4978. // GL_OES_vertex_array_object
  4979. glBindVertexArray: procedure(_array:GLuint); stdcall;
  4980. glDeleteVertexArrays: procedure(n:GLsizei; arrays:PGLuint); stdcall;
  4981. glGenVertexArrays: procedure(n:GLsizei; arrays:PGLuint); stdcall;
  4982. glIsVertexArray: function(_array:GLuint):GLboolean; stdcall;
  4983. // GL_EXT_multiview_draw_buffers
  4984. glGetIntegeri_v: procedure(target:GLenum; index:GLuint; data:PGLint); stdcall;
  4985. // none
  4986. glBeginTransformFeedback: procedure(primitiveMode:GLenum); stdcall;
  4987. glEndTransformFeedback: procedure; stdcall;
  4988. glBindBufferRange: procedure(target:GLenum; index:GLuint; buffer:GLuint; offset:GLintptr; size:GLsizeiptr); stdcall;
  4989. glBindBufferBase: procedure(target:GLenum; index:GLuint; buffer:GLuint); stdcall;
  4990. glTransformFeedbackVaryings: procedure(_program:GLuint; count:GLsizei; varyings:PPGLchar; bufferMode:GLenum); stdcall;
  4991. glGetTransformFeedbackVarying: procedure(_program:GLuint; index:GLuint; bufSize:GLsizei; length:PGLsizei; size:PGLsizei;
  4992. _type:PGLenum; name:PGLchar); stdcall;
  4993. glVertexAttribIPointer: procedure(index:GLuint; size:GLint; _type:GLenum; stride:GLsizei; pointer:pointer); stdcall;
  4994. glGetVertexAttribIiv: procedure(index:GLuint; pname:GLenum; params:PGLint); stdcall;
  4995. glGetVertexAttribIuiv: procedure(index:GLuint; pname:GLenum; params:PGLuint); stdcall;
  4996. glVertexAttribI4i: procedure(index:GLuint; x:GLint; y:GLint; z:GLint; w:GLint); stdcall;
  4997. glVertexAttribI4ui: procedure(index:GLuint; x:GLuint; y:GLuint; z:GLuint; w:GLuint); stdcall;
  4998. glVertexAttribI4iv: procedure(index:GLuint; v:PGLint); stdcall;
  4999. glVertexAttribI4uiv: procedure(index:GLuint; v:PGLuint); stdcall;
  5000. glGetUniformuiv: procedure(_program:GLuint; location:GLint; params:PGLuint); stdcall;
  5001. glGetFragDataLocation: function(_program:GLuint; name:PGLchar):GLint; stdcall;
  5002. glUniform1ui: procedure(location:GLint; v0:GLuint); stdcall;
  5003. glUniform2ui: procedure(location:GLint; v0:GLuint; v1:GLuint); stdcall;
  5004. glUniform3ui: procedure(location:GLint; v0:GLuint; v1:GLuint; v2:GLuint); stdcall;
  5005. glUniform4ui: procedure(location:GLint; v0:GLuint; v1:GLuint; v2:GLuint; v3:GLuint); stdcall;
  5006. glUniform1uiv: procedure(location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5007. glUniform2uiv: procedure(location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5008. glUniform3uiv: procedure(location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5009. glUniform4uiv: procedure(location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5010. glClearBufferiv: procedure(buffer:GLenum; drawbuffer:GLint; value:PGLint); stdcall;
  5011. glClearBufferuiv: procedure(buffer:GLenum; drawbuffer:GLint; value:PGLuint); stdcall;
  5012. glClearBufferfv: procedure(buffer:GLenum; drawbuffer:GLint; value:PGLfloat); stdcall;
  5013. glClearBufferfi: procedure(buffer:GLenum; drawbuffer:GLint; depth:GLfloat; stencil:GLint); stdcall;
  5014. glGetStringi: function(name:GLenum; index:GLuint):PGLubyte; stdcall;
  5015. // GL_NV_copy_buffer
  5016. glCopyBufferSubData: procedure(readTarget:GLenum; writeTarget:GLenum; readOffset:GLintptr; writeOffset:GLintptr; size:GLsizeiptr); stdcall;
  5017. // none
  5018. glGetUniformIndices: procedure(_program:GLuint; uniformCount:GLsizei; uniformNames:PPGLchar; uniformIndices:PGLuint); stdcall;
  5019. glGetActiveUniformsiv: procedure(_program:GLuint; uniformCount:GLsizei; uniformIndices:PGLuint; pname:GLenum; params:PGLint); stdcall;
  5020. glGetUniformBlockIndex: function(_program:GLuint; uniformBlockName:PGLchar):GLuint; stdcall;
  5021. glGetActiveUniformBlockiv: procedure(_program:GLuint; uniformBlockIndex:GLuint; pname:GLenum; params:PGLint); stdcall;
  5022. glGetActiveUniformBlockName: procedure(_program:GLuint; uniformBlockIndex:GLuint; bufSize:GLsizei; length:PGLsizei; uniformBlockName:PGLchar); stdcall;
  5023. glUniformBlockBinding: procedure(_program:GLuint; uniformBlockIndex:GLuint; uniformBlockBinding:GLuint); stdcall;
  5024. // GL_ANGLE_instanced_arrays GL_EXT_draw_instanced GL_NV_draw_instanced
  5025. glDrawArraysInstanced: procedure(mode:GLenum; first:GLint; count:GLsizei; instancecount:GLsizei); stdcall;
  5026. glDrawElementsInstanced: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; instancecount:GLsizei); stdcall;
  5027. // GL_APPLE_sync
  5028. glFenceSync: function(condition:GLenum; flags:GLbitfield):GLsync; stdcall;
  5029. glIsSync: function(sync:GLsync):GLboolean; stdcall;
  5030. glDeleteSync: procedure(sync:GLsync); stdcall;
  5031. glClientWaitSync: function(sync:GLsync; flags:GLbitfield; timeout:GLuint64):GLenum; stdcall;
  5032. glWaitSync: procedure(sync:GLsync; flags:GLbitfield; timeout:GLuint64); stdcall;
  5033. // GL_APPLE_sync GL_EXT_disjoint_timer_query
  5034. glGetInteger64v: procedure(pname:GLenum; data:PGLint64); stdcall;
  5035. // GL_APPLE_sync
  5036. glGetSynciv: procedure(sync:GLsync; pname:GLenum; bufSize:GLsizei; length:PGLsizei; values:PGLint); stdcall;
  5037. // none
  5038. glGetInteger64i_v: procedure(target:GLenum; index:GLuint; data:PGLint64); stdcall;
  5039. glGetBufferParameteri64v: procedure(target:GLenum; pname:GLenum; params:PGLint64); stdcall;
  5040. glGenSamplers: procedure(count:GLsizei; samplers:PGLuint); stdcall;
  5041. glDeleteSamplers: procedure(count:GLsizei; samplers:PGLuint); stdcall;
  5042. glIsSampler: function(sampler:GLuint):GLboolean; stdcall;
  5043. glBindSampler: procedure(_unit:GLuint; sampler:GLuint); stdcall;
  5044. glSamplerParameteri: procedure(sampler:GLuint; pname:GLenum; param:GLint); stdcall;
  5045. glSamplerParameteriv: procedure(sampler:GLuint; pname:GLenum; param:PGLint); stdcall;
  5046. glSamplerParameterf: procedure(sampler:GLuint; pname:GLenum; param:GLfloat); stdcall;
  5047. glSamplerParameterfv: procedure(sampler:GLuint; pname:GLenum; param:PGLfloat); stdcall;
  5048. glGetSamplerParameteriv: procedure(sampler:GLuint; pname:GLenum; params:PGLint); stdcall;
  5049. glGetSamplerParameterfv: procedure(sampler:GLuint; pname:GLenum; params:PGLfloat); stdcall;
  5050. // GL_ANGLE_instanced_arrays GL_EXT_instanced_arrays GL_NV_instanced_arrays
  5051. glVertexAttribDivisor: procedure(index:GLuint; divisor:GLuint); stdcall;
  5052. // none
  5053. glBindTransformFeedback: procedure(target:GLenum; id:GLuint); stdcall;
  5054. glDeleteTransformFeedbacks: procedure(n:GLsizei; ids:PGLuint); stdcall;
  5055. glGenTransformFeedbacks: procedure(n:GLsizei; ids:PGLuint); stdcall;
  5056. glIsTransformFeedback: function(id:GLuint):GLboolean; stdcall;
  5057. glPauseTransformFeedback: procedure; stdcall;
  5058. glResumeTransformFeedback: procedure; stdcall;
  5059. // GL_OES_get_program_binary
  5060. glGetProgramBinary: procedure(_program:GLuint; bufSize:GLsizei; length:PGLsizei; binaryFormat:PGLenum; binary:pointer); stdcall;
  5061. glProgramBinary: procedure(_program:GLuint; binaryFormat:GLenum; binary:pointer; length:GLsizei); stdcall;
  5062. // GL_EXT_separate_shader_objects
  5063. glProgramParameteri: procedure(_program:GLuint; pname:GLenum; value:GLint); stdcall;
  5064. // none
  5065. glInvalidateFramebuffer: procedure(target:GLenum; numAttachments:GLsizei; attachments:PGLenum); stdcall;
  5066. glInvalidateSubFramebuffer: procedure(target:GLenum; numAttachments:GLsizei; attachments:PGLenum; x:GLint; y:GLint;
  5067. width:GLsizei; height:GLsizei); stdcall;
  5068. // GL_EXT_texture_storage
  5069. glTexStorage2D: procedure(target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei); stdcall;
  5070. glTexStorage3D: procedure(target:GLenum; levels:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei; depth:GLsizei); stdcall;
  5071. // none
  5072. glGetInternalformativ: procedure(target:GLenum; internalformat:GLenum; pname:GLenum; bufSize:GLsizei; params:PGLint); stdcall;
  5073. {$EndIf}
  5074. {$IfDef GL_ES_VERSION_3_1}
  5075. // none
  5076. glDispatchCompute: procedure(num_groups_x:GLuint; num_groups_y:GLuint; num_groups_z:GLuint); stdcall;
  5077. glDispatchComputeIndirect: procedure(indirect:GLintptr); stdcall;
  5078. glDrawArraysIndirect: procedure(mode:GLenum; indirect:pointer); stdcall;
  5079. glDrawElementsIndirect: procedure(mode:GLenum; _type:GLenum; indirect:pointer); stdcall;
  5080. // GL_MESA_framebuffer_flip_y
  5081. glFramebufferParameteri: procedure(target:GLenum; pname:GLenum; param:GLint); stdcall;
  5082. glGetFramebufferParameteriv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  5083. // none
  5084. glGetProgramInterfaceiv: procedure(_program:GLuint; programInterface:GLenum; pname:GLenum; params:PGLint); stdcall;
  5085. glGetProgramResourceIndex: function(_program:GLuint; programInterface:GLenum; name:PGLchar):GLuint; stdcall;
  5086. glGetProgramResourceName: procedure(_program:GLuint; programInterface:GLenum; index:GLuint; bufSize:GLsizei; length:PGLsizei; name:PGLchar); stdcall;
  5087. glGetProgramResourceiv: procedure(_program:GLuint; programInterface:GLenum; index:GLuint; propCount:GLsizei; props:PGLenum;
  5088. bufSize:GLsizei; length:PGLsizei; params:PGLint); stdcall;
  5089. glGetProgramResourceLocation: function(_program:GLuint; programInterface:GLenum; name:PGLchar):GLint; stdcall;
  5090. // GL_EXT_separate_shader_objects
  5091. glUseProgramStages: procedure(pipeline:GLuint; stages:GLbitfield; _program:GLuint); stdcall;
  5092. glActiveShaderProgram: procedure(pipeline:GLuint; _program:GLuint); stdcall;
  5093. glCreateShaderProgramv: function(_type:GLenum; count:GLsizei; strings:PPGLchar):GLuint; stdcall;
  5094. glBindProgramPipeline: procedure(pipeline:GLuint); stdcall;
  5095. glDeleteProgramPipelines: procedure(n:GLsizei; pipelines:PGLuint); stdcall;
  5096. glGenProgramPipelines: procedure(n:GLsizei; pipelines:PGLuint); stdcall;
  5097. glIsProgramPipeline: function(pipeline:GLuint):GLboolean; stdcall;
  5098. glGetProgramPipelineiv: procedure(pipeline:GLuint; pname:GLenum; params:PGLint); stdcall;
  5099. glProgramUniform1i: procedure(_program:GLuint; location:GLint; v0:GLint); stdcall;
  5100. glProgramUniform2i: procedure(_program:GLuint; location:GLint; v0:GLint; v1:GLint); stdcall;
  5101. glProgramUniform3i: procedure(_program:GLuint; location:GLint; v0:GLint; v1:GLint; v2:GLint); stdcall;
  5102. glProgramUniform4i: procedure(_program:GLuint; location:GLint; v0:GLint; v1:GLint; v2:GLint; v3:GLint); stdcall;
  5103. glProgramUniform1ui: procedure(_program:GLuint; location:GLint; v0:GLuint); stdcall;
  5104. glProgramUniform2ui: procedure(_program:GLuint; location:GLint; v0:GLuint; v1:GLuint); stdcall;
  5105. glProgramUniform3ui: procedure(_program:GLuint; location:GLint; v0:GLuint; v1:GLuint; v2:GLuint); stdcall;
  5106. glProgramUniform4ui: procedure(_program:GLuint; location:GLint; v0:GLuint; v1:GLuint; v2:GLuint; v3:GLuint); stdcall;
  5107. glProgramUniform1f: procedure(_program:GLuint; location:GLint; v0:GLfloat); stdcall;
  5108. glProgramUniform2f: procedure(_program:GLuint; location:GLint; v0:GLfloat; v1:GLfloat); stdcall;
  5109. glProgramUniform3f: procedure(_program:GLuint; location:GLint; v0:GLfloat; v1:GLfloat; v2:GLfloat); stdcall;
  5110. glProgramUniform4f: procedure(_program:GLuint; location:GLint; v0:GLfloat; v1:GLfloat; v2:GLfloat; v3:GLfloat); stdcall;
  5111. glProgramUniform1iv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  5112. glProgramUniform2iv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  5113. glProgramUniform3iv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  5114. glProgramUniform4iv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLint); stdcall;
  5115. glProgramUniform1uiv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5116. glProgramUniform2uiv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5117. glProgramUniform3uiv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5118. glProgramUniform4uiv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLuint); stdcall;
  5119. glProgramUniform1fv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  5120. glProgramUniform2fv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  5121. glProgramUniform3fv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  5122. glProgramUniform4fv: procedure(_program:GLuint; location:GLint; count:GLsizei; value:PGLfloat); stdcall;
  5123. glProgramUniformMatrix2fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5124. glProgramUniformMatrix3fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5125. glProgramUniformMatrix4fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5126. glProgramUniformMatrix2x3fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5127. glProgramUniformMatrix3x2fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5128. glProgramUniformMatrix2x4fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5129. glProgramUniformMatrix4x2fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5130. glProgramUniformMatrix3x4fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5131. glProgramUniformMatrix4x3fv: procedure(_program:GLuint; location:GLint; count:GLsizei; transpose:GLboolean; value:PGLfloat); stdcall;
  5132. glValidateProgramPipeline: procedure(pipeline:GLuint); stdcall;
  5133. glGetProgramPipelineInfoLog: procedure(pipeline:GLuint; bufSize:GLsizei; length:PGLsizei; infoLog:PGLchar); stdcall;
  5134. // none
  5135. glBindImageTexture: procedure(_unit:GLuint; texture:GLuint; level:GLint; layered:GLboolean; layer:GLint;
  5136. access:GLenum; format:GLenum); stdcall;
  5137. glGetBooleani_v: procedure(target:GLenum; index:GLuint; data:PGLboolean); stdcall;
  5138. glMemoryBarrier: procedure(barriers:GLbitfield); stdcall;
  5139. glMemoryBarrierByRegion: procedure(barriers:GLbitfield); stdcall;
  5140. glTexStorage2DMultisample: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei;
  5141. fixedsamplelocations:GLboolean); stdcall;
  5142. glGetMultisamplefv: procedure(pname:GLenum; index:GLuint; val:PGLfloat); stdcall;
  5143. glSampleMaski: procedure(maskNumber:GLuint; mask:GLbitfield); stdcall;
  5144. glGetTexLevelParameteriv: procedure(target:GLenum; level:GLint; pname:GLenum; params:PGLint); stdcall;
  5145. glGetTexLevelParameterfv: procedure(target:GLenum; level:GLint; pname:GLenum; params:PGLfloat); stdcall;
  5146. glBindVertexBuffer: procedure(bindingindex:GLuint; buffer:GLuint; offset:GLintptr; stride:GLsizei); stdcall;
  5147. glVertexAttribFormat: procedure(attribindex:GLuint; size:GLint; _type:GLenum; normalized:GLboolean; relativeoffset:GLuint); stdcall;
  5148. glVertexAttribIFormat: procedure(attribindex:GLuint; size:GLint; _type:GLenum; relativeoffset:GLuint); stdcall;
  5149. glVertexAttribBinding: procedure(attribindex:GLuint; bindingindex:GLuint); stdcall;
  5150. glVertexBindingDivisor: procedure(bindingindex:GLuint; divisor:GLuint); stdcall;
  5151. {$EndIf}
  5152. {$IfDef GL_ES_VERSION_3_2}
  5153. // GL_KHR_blend_equation_advanced GL_NV_blend_equation_advanced
  5154. glBlendBarrier: procedure; stdcall;
  5155. // GL_OES_copy_image GL_EXT_copy_image
  5156. glCopyImageSubData: procedure(srcName:GLuint; srcTarget:GLenum; srcLevel:GLint; srcX:GLint; srcY:GLint;
  5157. srcZ:GLint; dstName:GLuint; dstTarget:GLenum; dstLevel:GLint; dstX:GLint;
  5158. dstY:GLint; dstZ:GLint; srcWidth:GLsizei; srcHeight:GLsizei; srcDepth:GLsizei); stdcall;
  5159. // GL_KHR_debug
  5160. glDebugMessageControl: procedure(source:GLenum; _type:GLenum; severity:GLenum; count:GLsizei; ids:PGLuint; enabled:GLboolean); stdcall;
  5161. glDebugMessageInsert: procedure(source:GLenum; _type:GLenum; id:GLuint; severity:GLenum; length:GLsizei; buf:PGLchar); stdcall;
  5162. glDebugMessageCallback: procedure(callback:GLDEBUGPROC; userParam:pointer); stdcall;
  5163. glGetDebugMessageLog: function(count:GLuint; bufSize:GLsizei; sources:PGLenum; types:PGLenum; ids:PGLuint;
  5164. severities:PGLenum; lengths:PGLsizei; messageLog:PGLchar):GLuint; stdcall;
  5165. glPushDebugGroup: procedure(source:GLenum; id:GLuint; length:GLsizei; message:PGLchar); stdcall;
  5166. glPopDebugGroup: procedure; stdcall;
  5167. glObjectLabel: procedure(identifier:GLenum; name:GLuint; length:GLsizei; _label:PGLchar); stdcall;
  5168. // GL_KHR_debug GL_EXT_debug_label
  5169. glGetObjectLabel: procedure(identifier:GLenum; name:GLuint; bufSize:GLsizei; length:PGLsizei; _label:PGLchar); stdcall;
  5170. // GL_KHR_debug
  5171. glObjectPtrLabel: procedure(ptr:pointer; length:GLsizei; _label:PGLchar); stdcall;
  5172. glGetObjectPtrLabel: procedure(ptr:pointer; bufSize:GLsizei; length:PGLsizei; _label:PGLchar); stdcall;
  5173. glGetPointerv: procedure(pname:GLenum; params:Ppointer); stdcall;
  5174. // GL_OES_draw_buffers_indexed GL_NV_viewport_array
  5175. glEnablei: procedure(target:GLenum; index:GLuint); stdcall;
  5176. glDisablei: procedure(target:GLenum; index:GLuint); stdcall;
  5177. // GL_OES_draw_buffers_indexed
  5178. glBlendEquationi: procedure(buf:GLuint; mode:GLenum); stdcall;
  5179. glBlendEquationSeparatei: procedure(buf:GLuint; modeRGB:GLenum; modeAlpha:GLenum); stdcall;
  5180. glBlendFunci: procedure(buf:GLuint; src:GLenum; dst:GLenum); stdcall;
  5181. glBlendFuncSeparatei: procedure(buf:GLuint; srcRGB:GLenum; dstRGB:GLenum; srcAlpha:GLenum; dstAlpha:GLenum); stdcall;
  5182. glColorMaski: procedure(index:GLuint; r:GLboolean; g:GLboolean; b:GLboolean; a:GLboolean); stdcall;
  5183. // GL_OES_draw_buffers_indexed GL_NV_viewport_array
  5184. glIsEnabledi: function(target:GLenum; index:GLuint):GLboolean; stdcall;
  5185. // GL_OES_draw_elements_base_vertex GL_EXT_draw_elements_base_vertex
  5186. glDrawElementsBaseVertex: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; basevertex:GLint); stdcall;
  5187. glDrawRangeElementsBaseVertex: procedure(mode:GLenum; start:GLuint; _end:GLuint; count:GLsizei; _type:GLenum;
  5188. indices:pointer; basevertex:GLint); stdcall;
  5189. glDrawElementsInstancedBaseVertex: procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pointer; instancecount:GLsizei;
  5190. basevertex:GLint); stdcall;
  5191. // GL_OES_geometry_shader GL_EXT_geometry_shader
  5192. glFramebufferTexture: procedure(target:GLenum; attachment:GLenum; texture:GLuint; level:GLint); stdcall;
  5193. // GL_OES_primitive_bounding_box GL_EXT_primitive_bounding_box
  5194. glPrimitiveBoundingBox: procedure(minX:GLfloat; minY:GLfloat; minZ:GLfloat; minW:GLfloat; maxX:GLfloat;
  5195. maxY:GLfloat; maxZ:GLfloat; maxW:GLfloat); stdcall;
  5196. // GL_KHR_robustness GL_EXT_robustness
  5197. glGetGraphicsResetStatus: function: GLenum; stdcall;
  5198. glReadnPixels: procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei; format:GLenum;
  5199. _type:GLenum; bufSize:GLsizei; data:pointer); stdcall;
  5200. glGetnUniformfv: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLfloat); stdcall;
  5201. glGetnUniformiv: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLint); stdcall;
  5202. // GL_KHR_robustness
  5203. glGetnUniformuiv: procedure(_program:GLuint; location:GLint; bufSize:GLsizei; params:PGLuint); stdcall;
  5204. // GL_OES_sample_shading
  5205. glMinSampleShading: procedure(value:GLfloat); stdcall;
  5206. // GL_OES_tessellation_shader GL_EXT_tessellation_shader
  5207. glPatchParameteri: procedure(pname:GLenum; value:GLint); stdcall;
  5208. // GL_OES_texture_border_clamp GL_EXT_texture_border_clamp
  5209. glTexParameterIiv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  5210. glTexParameterIuiv: procedure(target:GLenum; pname:GLenum; params:PGLuint); stdcall;
  5211. glGetTexParameterIiv: procedure(target:GLenum; pname:GLenum; params:PGLint); stdcall;
  5212. glGetTexParameterIuiv: procedure(target:GLenum; pname:GLenum; params:PGLuint); stdcall;
  5213. glSamplerParameterIiv: procedure(sampler:GLuint; pname:GLenum; param:PGLint); stdcall;
  5214. glSamplerParameterIuiv: procedure(sampler:GLuint; pname:GLenum; param:PGLuint); stdcall;
  5215. glGetSamplerParameterIiv: procedure(sampler:GLuint; pname:GLenum; params:PGLint); stdcall;
  5216. glGetSamplerParameterIuiv: procedure(sampler:GLuint; pname:GLenum; params:PGLuint); stdcall;
  5217. // GL_OES_texture_buffer GL_EXT_texture_buffer
  5218. glTexBuffer: procedure(target:GLenum; internalformat:GLenum; buffer:GLuint); stdcall;
  5219. glTexBufferRange: procedure(target:GLenum; internalformat:GLenum; buffer:GLuint; offset:GLintptr; size:GLsizeiptr); stdcall;
  5220. // GL_OES_texture_storage_multisample_2d_array
  5221. glTexStorage3DMultisample: procedure(target:GLenum; samples:GLsizei; internalformat:GLenum; width:GLsizei; height:GLsizei;
  5222. depth:GLsizei; fixedsamplelocations:GLboolean); stdcall;
  5223. {$EndIf}
  5224. procedure AllCheckGLExtension;
  5225. function LoadOpenGLES: Boolean;
  5226. procedure FreeOpenGLES;
  5227. implementation
  5228. uses
  5229. zgl_opengles,
  5230. zgl_opengles_all;
  5231. procedure AllCheckGLExtension;
  5232. begin
  5233. GL_VERSION_ES_CM_1_0 := gl_IsSupported('GL_VERSION_ES_CM_1_0', oglExtensions);
  5234. GL_ES_VERSION_2_0 := gl_IsSupported('GL_ES_VERSION_2_0', oglExtensions);
  5235. GL_ES_VERSION_3_0 := gl_IsSupported('GL_ES_VERSION_3_0', oglExtensions);
  5236. GL_ES_VERSION_3_1 := gl_IsSupported('GL_ES_VERSION_3_1', oglExtensions);
  5237. GL_ES_VERSION_3_2 := gl_IsSupported('GL_ES_VERSION_3_2', oglExtensions);
  5238. {$IfDef GL_VERSION_ES_CM_1_0}
  5239. GL_OES_compressed_paletted_texture := gl_IsSupported('GL_OES_compressed_paletted_texture', oglExtensions);
  5240. GL_OES_point_size_array := gl_IsSupported('GL_OES_point_size_array', oglExtensions);
  5241. GL_OES_point_sprite := gl_IsSupported('GL_OES_point_sprite', oglExtensions);
  5242. GL_KHR_debug := gl_IsSupported('GL_KHR_debug', oglExtensions);
  5243. GL_OES_EGL_image := gl_IsSupported('GL_OES_EGL_image', oglExtensions);
  5244. GL_OES_EGL_image_external := gl_IsSupported('GL_OES_EGL_image_external', oglExtensions);
  5245. GL_OES_blend_equation_separate := gl_IsSupported('GL_OES_blend_equation_separate', oglExtensions);
  5246. // GL_OES_blend_func_separate := gl_IsSupported('GL_OES_blend_func_separate', oglExtensions);
  5247. GL_OES_blend_subtract := gl_IsSupported('GL_OES_blend_subtract', oglExtensions);
  5248. GL_OES_byte_coordinates := gl_IsSupported('GL_OES_byte_coordinates', oglExtensions);
  5249. GL_OES_compressed_ETC1_RGB8_sub_texture := gl_IsSupported('GL_OES_compressed_ETC1_RGB8_sub_texture', oglExtensions);
  5250. GL_OES_compressed_ETC1_RGB8_texture := gl_IsSupported('GL_OES_compressed_ETC1_RGB8_texture', oglExtensions);
  5251. // GL_OES_depth24 := gl_IsSupported('GL_OES_depth24', oglExtensions);
  5252. // GL_OES_depth32 := gl_IsSupported('GL_OES_depth32', oglExtensions);
  5253. GL_OES_draw_texture := gl_IsSupported('GL_OES_draw_texture', oglExtensions);
  5254. GL_OES_element_index_uint := gl_IsSupported('GL_OES_element_index_uint', oglExtensions);
  5255. GL_OES_extended_matrix_palette := gl_IsSupported('GL_OES_extended_matrix_palette', oglExtensions);
  5256. GL_OES_fbo_render_mipmap := gl_IsSupported('GL_OES_fbo_render_mipmap', oglExtensions);
  5257. GL_OES_fixed_point := gl_IsSupported('GL_OES_fixed_point', oglExtensions);
  5258. // GL_OES_framebuffer_object := gl_IsSupported('GL_OES_framebuffer_object', oglExtensions);
  5259. GL_OES_mapbuffer := gl_IsSupported('GL_OES_mapbuffer', oglExtensions);
  5260. GL_OES_matrix_get := gl_IsSupported('GL_OES_matrix_get', oglExtensions);
  5261. GL_OES_matrix_palette := gl_IsSupported('GL_OES_matrix_palette', oglExtensions);
  5262. GL_OES_packed_depth_stencil := gl_IsSupported('GL_OES_packed_depth_stencil', oglExtensions);
  5263. GL_OES_query_matrix := gl_IsSupported('GL_OES_query_matrix', oglExtensions);
  5264. GL_OES_required_internalformat := gl_IsSupported('GL_OES_required_internalformat', oglExtensions);
  5265. GL_OES_rgb8_rgba8 := gl_IsSupported('GL_OES_rgb8_rgba8', oglExtensions);
  5266. GL_OES_single_precision := gl_IsSupported('GL_OES_single_precision', oglExtensions);
  5267. GL_OES_stencil1 := gl_IsSupported('GL_OES_stencil1', oglExtensions);
  5268. GL_OES_stencil4 := gl_IsSupported('GL_OES_stencil4', oglExtensions);
  5269. GL_OES_stencil8 := gl_IsSupported('GL_OES_stencil8', oglExtensions);
  5270. GL_OES_stencil_wrap := gl_IsSupported('GL_OES_stencil_wrap', oglExtensions);
  5271. GL_OES_surfaceless_context := gl_IsSupported('GL_OES_surfaceless_context', oglExtensions);
  5272. GL_OES_texture_cube_map := gl_IsSupported('GL_OES_texture_cube_map', oglExtensions);
  5273. GL_OES_texture_env_crossbar := gl_IsSupported('GL_OES_texture_env_crossbar', oglExtensions);
  5274. GL_OES_texture_mirrored_repeat := gl_IsSupported('GL_OES_texture_mirrored_repeat', oglExtensions);
  5275. GL_OES_texture_npot := gl_IsSupported('GL_OES_texture_npot', oglExtensions);
  5276. GL_OES_vertex_array_object := gl_IsSupported('GL_OES_vertex_array_object', oglExtensions);
  5277. GL_AMD_compressed_3DC_texture := gl_IsSupported('GL_AMD_compressed_3DC_texture', oglExtensions);
  5278. GL_AMD_compressed_ATC_texture := gl_IsSupported('GL_AMD_compressed_ATC_texture', oglExtensions);
  5279. GL_APPLE_copy_texture_levels := gl_IsSupported('GL_APPLE_copy_texture_levels', oglExtensions);
  5280. GL_APPLE_framebuffer_multisample := gl_IsSupported('GL_APPLE_framebuffer_multisample', oglExtensions);
  5281. GL_APPLE_sync := gl_IsSupported('GL_APPLE_sync', oglExtensions);
  5282. GL_APPLE_texture_2D_limited_npot := gl_IsSupported('GL_APPLE_texture_2D_limited_npot', oglExtensions);
  5283. GL_APPLE_texture_format_BGRA8888 := gl_IsSupported('GL_APPLE_texture_format_BGRA8888', oglExtensions);
  5284. GL_APPLE_texture_max_level := gl_IsSupported('GL_APPLE_texture_max_level', oglExtensions);
  5285. GL_ARM_rgba8 := gl_IsSupported('GL_ARM_rgba8', oglExtensions);
  5286. GL_EXT_blend_minmax := gl_IsSupported('GL_EXT_blend_minmax', oglExtensions);
  5287. GL_EXT_debug_marker := gl_IsSupported('GL_EXT_debug_marker', oglExtensions);
  5288. GL_EXT_discard_framebuffer := gl_IsSupported('GL_EXT_discard_framebuffer', oglExtensions);
  5289. GL_EXT_map_buffer_range := gl_IsSupported('GL_EXT_map_buffer_range', oglExtensions);
  5290. GL_EXT_multi_draw_arrays := gl_IsSupported('GL_EXT_multi_draw_arrays', oglExtensions);
  5291. GL_EXT_multisampled_render_to_texture := gl_IsSupported('GL_EXT_multisampled_render_to_texture', oglExtensions);
  5292. GL_EXT_read_format_bgra := gl_IsSupported('GL_EXT_read_format_bgra', oglExtensions);
  5293. GL_EXT_robustness := gl_IsSupported('GL_EXT_robustness', oglExtensions);
  5294. GL_EXT_sRGB := gl_IsSupported('GL_EXT_sRGB', oglExtensions);
  5295. GL_EXT_texture_compression_dxt1 := gl_IsSupported('GL_EXT_texture_compression_dxt1', oglExtensions);
  5296. // GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  5297. GL_EXT_texture_format_BGRA8888 := gl_IsSupported('GL_EXT_texture_format_BGRA8888', oglExtensions);
  5298. GL_EXT_texture_lod_bias := gl_IsSupported('GL_EXT_texture_lod_bias', oglExtensions);
  5299. GL_EXT_texture_storage := gl_IsSupported('GL_EXT_texture_storage', oglExtensions);
  5300. GL_IMG_multisampled_render_to_texture := gl_IsSupported('GL_IMG_multisampled_render_to_texture', oglExtensions);
  5301. GL_IMG_read_format := gl_IsSupported('GL_IMG_read_format', oglExtensions);
  5302. // GL_IMG_texture_compression_pvrtc := gl_IsSupported('GL_IMG_texture_compression_pvrtc', oglExtensions);
  5303. GL_IMG_texture_env_enhanced_fixed_function := gl_IsSupported('GL_IMG_texture_env_enhanced_fixed_function', oglExtensions);
  5304. GL_IMG_user_clip_plane := gl_IsSupported('GL_IMG_user_clip_plane', oglExtensions);
  5305. GL_NV_fence := gl_IsSupported('GL_NV_fence', oglExtensions);
  5306. GL_QCOM_driver_control := gl_IsSupported('GL_QCOM_driver_control', oglExtensions);
  5307. GL_QCOM_extended_get := gl_IsSupported('GL_QCOM_extended_get', oglExtensions);
  5308. GL_QCOM_extended_get2 := gl_IsSupported('GL_QCOM_extended_get2', oglExtensions);
  5309. GL_QCOM_perfmon_global_mode := gl_IsSupported('GL_QCOM_perfmon_global_mode', oglExtensions);
  5310. GL_QCOM_tiled_rendering := gl_IsSupported('GL_QCOM_tiled_rendering', oglExtensions);
  5311. GL_QCOM_writeonly_rendering := gl_IsSupported('GL_QCOM_writeonly_rendering', oglExtensions);
  5312. {$EndIf}
  5313. {$IFDEF GL_ES_EXT_VERSION_2_0}
  5314. GL_KHR_blend_equation_advanced := gl_IsSupported('GL_KHR_blend_equation_advanced', oglExtensions);
  5315. GL_KHR_blend_equation_advanced_coherent := gl_IsSupported('GL_KHR_blend_equation_advanced_coherent', oglExtensions);
  5316. GL_KHR_context_flush_control := gl_IsSupported('GL_KHR_context_flush_control', oglExtensions);
  5317. GL_KHR_debug := gl_IsSupported('GL_KHR_debug', oglExtensions);
  5318. GL_KHR_no_error := gl_IsSupported('GL_KHR_no_error', oglExtensions);
  5319. GL_KHR_parallel_shader_compile := gl_IsSupported('GL_KHR_parallel_shader_compile', oglExtensions);
  5320. GL_KHR_robust_buffer_access_behavior := gl_IsSupported('GL_KHR_robust_buffer_access_behavior', oglExtensions);
  5321. GL_KHR_robustness := gl_IsSupported('GL_KHR_robustness', oglExtensions);
  5322. GL_KHR_shader_subgroup := gl_IsSupported('GL_KHR_shader_subgroup', oglExtensions);
  5323. GL_KHR_texture_compression_astc_hdr := gl_IsSupported('GL_KHR_texture_compression_astc_hdr', oglExtensions);
  5324. GL_KHR_texture_compression_astc_ldr := gl_IsSupported('GL_KHR_texture_compression_astc_ldr', oglExtensions);
  5325. GL_KHR_texture_compression_astc_sliced_3d := gl_IsSupported('GL_KHR_texture_compression_astc_sliced_3d', oglExtensions);
  5326. GL_OES_EGL_image := gl_IsSupported('GL_OES_EGL_image', oglExtensions);
  5327. GL_OES_EGL_image_external := gl_IsSupported('GL_OES_EGL_image_external', oglExtensions);
  5328. GL_OES_EGL_image_external_essl3 := gl_IsSupported('GL_OES_EGL_image_external_essl3', oglExtensions);
  5329. GL_OES_compressed_ETC1_RGB8_sub_texture := gl_IsSupported('GL_OES_compressed_ETC1_RGB8_sub_texture', oglExtensions);
  5330. GL_OES_compressed_ETC1_RGB8_texture := gl_IsSupported('GL_OES_compressed_ETC1_RGB8_texture', oglExtensions);
  5331. GL_OES_compressed_paletted_texture := gl_IsSupported('GL_OES_compressed_paletted_texture', oglExtensions);
  5332. GL_OES_copy_image := gl_IsSupported('GL_OES_copy_image', oglExtensions);
  5333. // GL_OES_depth24 := gl_IsSupported('GL_OES_depth24', oglExtensions);
  5334. // GL_OES_depth32 := gl_IsSupported('GL_OES_depth32', oglExtensions);
  5335. GL_OES_depth_texture := gl_IsSupported('GL_OES_depth_texture', oglExtensions);
  5336. GL_OES_draw_buffers_indexed := gl_IsSupported('GL_OES_draw_buffers_indexed', oglExtensions);
  5337. GL_OES_draw_elements_base_vertex := gl_IsSupported('GL_OES_draw_elements_base_vertex', oglExtensions);
  5338. GL_OES_element_index_uint := gl_IsSupported('GL_OES_element_index_uint', oglExtensions);
  5339. GL_OES_fbo_render_mipmap := gl_IsSupported('GL_OES_fbo_render_mipmap', oglExtensions);
  5340. GL_OES_fragment_precision_high := gl_IsSupported('GL_OES_fragment_precision_high', oglExtensions);
  5341. GL_OES_geometry_point_size := gl_IsSupported('GL_OES_geometry_point_size', oglExtensions);
  5342. GL_OES_geometry_shader := gl_IsSupported('GL_OES_geometry_shader', oglExtensions);
  5343. GL_OES_get_program_binary := gl_IsSupported('GL_OES_get_program_binary', oglExtensions);
  5344. GL_OES_gpu_shader5 := gl_IsSupported('GL_OES_gpu_shader5', oglExtensions);
  5345. GL_OES_mapbuffer := gl_IsSupported('GL_OES_mapbuffer', oglExtensions);
  5346. GL_OES_packed_depth_stencil := gl_IsSupported('GL_OES_packed_depth_stencil', oglExtensions);
  5347. GL_OES_primitive_bounding_box := gl_IsSupported('GL_OES_primitive_bounding_box', oglExtensions);
  5348. GL_OES_required_internalformat := gl_IsSupported('GL_OES_required_internalformat', oglExtensions);
  5349. GL_OES_rgb8_rgba8 := gl_IsSupported('GL_OES_rgb8_rgba8', oglExtensions);
  5350. GL_OES_sample_shading := gl_IsSupported('GL_OES_sample_shading', oglExtensions);
  5351. GL_OES_sample_variables := gl_IsSupported('GL_OES_sample_variables', oglExtensions);
  5352. GL_OES_shader_image_atomic := gl_IsSupported('GL_OES_shader_image_atomic', oglExtensions);
  5353. GL_OES_shader_io_blocks := gl_IsSupported('GL_OES_shader_io_blocks', oglExtensions);
  5354. GL_OES_shader_multisample_interpolation := gl_IsSupported('GL_OES_shader_multisample_interpolation', oglExtensions);
  5355. GL_OES_standard_derivatives := gl_IsSupported('GL_OES_standard_derivatives', oglExtensions);
  5356. GL_OES_stencil1 := gl_IsSupported('GL_OES_stencil1', oglExtensions);
  5357. GL_OES_stencil4 := gl_IsSupported('GL_OES_stencil4', oglExtensions);
  5358. GL_OES_surfaceless_context := gl_IsSupported('GL_OES_surfaceless_context', oglExtensions);
  5359. GL_OES_tessellation_point_size := gl_IsSupported('GL_OES_tessellation_point_size', oglExtensions);
  5360. GL_OES_tessellation_shader := gl_IsSupported('GL_OES_tessellation_shader', oglExtensions);
  5361. GL_OES_texture_3D := gl_IsSupported('GL_OES_texture_3D', oglExtensions);
  5362. GL_OES_texture_border_clamp := gl_IsSupported('GL_OES_texture_border_clamp', oglExtensions);
  5363. GL_OES_texture_buffer := gl_IsSupported('GL_OES_texture_buffer', oglExtensions);
  5364. GL_OES_texture_compression_astc := gl_IsSupported('GL_OES_texture_compression_astc', oglExtensions);
  5365. GL_OES_texture_cube_map_array := gl_IsSupported('GL_OES_texture_cube_map_array', oglExtensions);
  5366. GL_OES_texture_float := gl_IsSupported('GL_OES_texture_float', oglExtensions);
  5367. GL_OES_texture_float_linear := gl_IsSupported('GL_OES_texture_float_linear', oglExtensions);
  5368. GL_OES_texture_half_float := gl_IsSupported('GL_OES_texture_half_float', oglExtensions);
  5369. GL_OES_texture_half_float_linear := gl_IsSupported('GL_OES_texture_half_float_linear', oglExtensions);
  5370. GL_OES_texture_npot := gl_IsSupported('GL_OES_texture_npot', oglExtensions);
  5371. GL_OES_texture_stencil8 := gl_IsSupported('GL_OES_texture_stencil8', oglExtensions);
  5372. GL_OES_texture_storage_multisample_2d_array := gl_IsSupported('GL_OES_texture_storage_multisample_2d_array', oglExtensions);
  5373. GL_OES_texture_view := gl_IsSupported('GL_OES_texture_view', oglExtensions);
  5374. GL_OES_vertex_array_object := gl_IsSupported('GL_OES_vertex_array_object', oglExtensions);
  5375. GL_OES_vertex_half_float := gl_IsSupported('GL_OES_vertex_half_float', oglExtensions);
  5376. GL_OES_vertex_type_10_10_10_2 := gl_IsSupported('GL_OES_vertex_type_10_10_10_2', oglExtensions);
  5377. GL_OES_viewport_array := gl_IsSupported('GL_OES_viewport_array', oglExtensions);
  5378. GL_AMD_compressed_3DC_texture := gl_IsSupported('GL_AMD_compressed_3DC_texture', oglExtensions);
  5379. GL_AMD_compressed_ATC_texture := gl_IsSupported('GL_AMD_compressed_ATC_texture', oglExtensions);
  5380. GL_AMD_framebuffer_multisample_advanced := gl_IsSupported('GL_AMD_framebuffer_multisample_advanced', oglExtensions);
  5381. GL_AMD_performance_monitor := gl_IsSupported('GL_AMD_performance_monitor', oglExtensions);
  5382. GL_AMD_program_binary_Z400 := gl_IsSupported('GL_AMD_program_binary_Z400', oglExtensions);
  5383. GL_ANDROID_extension_pack_es31a := gl_IsSupported('GL_ANDROID_extension_pack_es31a', oglExtensions);
  5384. GL_ANGLE_depth_texture := gl_IsSupported('GL_ANGLE_depth_texture', oglExtensions);
  5385. GL_ANGLE_framebuffer_blit := gl_IsSupported('GL_ANGLE_framebuffer_blit', oglExtensions);
  5386. GL_ANGLE_framebuffer_multisample := gl_IsSupported('GL_ANGLE_framebuffer_multisample', oglExtensions);
  5387. GL_ANGLE_instanced_arrays := gl_IsSupported('GL_ANGLE_instanced_arrays', oglExtensions);
  5388. GL_ANGLE_pack_reverse_row_order := gl_IsSupported('GL_ANGLE_pack_reverse_row_order', oglExtensions);
  5389. GL_ANGLE_program_binary := gl_IsSupported('GL_ANGLE_program_binary', oglExtensions);
  5390. GL_ANGLE_texture_compression_dxt3 := gl_IsSupported('GL_ANGLE_texture_compression_dxt3', oglExtensions);
  5391. GL_ANGLE_texture_compression_dxt5 := gl_IsSupported('GL_ANGLE_texture_compression_dxt5', oglExtensions);
  5392. GL_ANGLE_texture_usage := gl_IsSupported('GL_ANGLE_texture_usage', oglExtensions);
  5393. GL_ANGLE_translated_shader_source := gl_IsSupported('GL_ANGLE_translated_shader_source', oglExtensions);
  5394. GL_APPLE_clip_distance := gl_IsSupported('GL_APPLE_clip_distance', oglExtensions);
  5395. GL_APPLE_color_buffer_packed_float := gl_IsSupported('GL_APPLE_color_buffer_packed_float', oglExtensions);
  5396. GL_APPLE_copy_texture_levels := gl_IsSupported('GL_APPLE_copy_texture_levels', oglExtensions);
  5397. GL_APPLE_framebuffer_multisample := gl_IsSupported('GL_APPLE_framebuffer_multisample', oglExtensions);
  5398. GL_APPLE_rgb_422 := gl_IsSupported('GL_APPLE_rgb_422', oglExtensions);
  5399. GL_APPLE_sync := gl_IsSupported('GL_APPLE_sync', oglExtensions);
  5400. GL_APPLE_texture_format_BGRA8888 := gl_IsSupported('GL_APPLE_texture_format_BGRA8888', oglExtensions);
  5401. GL_APPLE_texture_max_level := gl_IsSupported('GL_APPLE_texture_max_level', oglExtensions);
  5402. GL_APPLE_texture_packed_float := gl_IsSupported('GL_APPLE_texture_packed_float', oglExtensions);
  5403. GL_ARM_mali_program_binary := gl_IsSupported('GL_ARM_mali_program_binary', oglExtensions);
  5404. GL_ARM_mali_shader_binary := gl_IsSupported('GL_ARM_mali_shader_binary', oglExtensions);
  5405. GL_ARM_rgba8 := gl_IsSupported('GL_ARM_rgba8', oglExtensions);
  5406. GL_ARM_shader_framebuffer_fetch := gl_IsSupported('GL_ARM_shader_framebuffer_fetch', oglExtensions);
  5407. GL_ARM_shader_framebuffer_fetch_depth_stencil := gl_IsSupported('GL_ARM_shader_framebuffer_fetch_depth_stencil', oglExtensions);
  5408. GL_ARM_texture_unnormalized_coordinates := gl_IsSupported('GL_ARM_texture_unnormalized_coordinates', oglExtensions);
  5409. GL_DMP_program_binary := gl_IsSupported('GL_DMP_program_binary', oglExtensions);
  5410. GL_DMP_shader_binary := gl_IsSupported('GL_DMP_shader_binary', oglExtensions);
  5411. GL_EXT_EGL_image_array := gl_IsSupported('GL_EXT_EGL_image_array', oglExtensions);
  5412. GL_EXT_EGL_image_storage := gl_IsSupported('GL_EXT_EGL_image_storage', oglExtensions);
  5413. GL_EXT_EGL_image_storage_compression := gl_IsSupported('GL_EXT_EGL_image_storage_compression', oglExtensions);
  5414. GL_EXT_YUV_target := gl_IsSupported('GL_EXT_YUV_target', oglExtensions);
  5415. GL_EXT_base_instance := gl_IsSupported('GL_EXT_base_instance', oglExtensions);
  5416. GL_EXT_blend_func_extended := gl_IsSupported('GL_EXT_blend_func_extended', oglExtensions);
  5417. GL_EXT_blend_minmax := gl_IsSupported('GL_EXT_blend_minmax', oglExtensions);
  5418. GL_EXT_buffer_storage := gl_IsSupported('GL_EXT_buffer_storage', oglExtensions);
  5419. GL_EXT_clear_texture := gl_IsSupported('GL_EXT_clear_texture', oglExtensions);
  5420. GL_EXT_clip_control := gl_IsSupported('GL_EXT_clip_control', oglExtensions);
  5421. GL_EXT_clip_cull_distance := gl_IsSupported('GL_EXT_clip_cull_distance', oglExtensions);
  5422. GL_EXT_color_buffer_float := gl_IsSupported('GL_EXT_color_buffer_float', oglExtensions);
  5423. GL_EXT_color_buffer_half_float := gl_IsSupported('GL_EXT_color_buffer_half_float', oglExtensions);
  5424. GL_EXT_conservative_depth := gl_IsSupported('GL_EXT_conservative_depth', oglExtensions);
  5425. GL_EXT_copy_image := gl_IsSupported('GL_EXT_copy_image', oglExtensions);
  5426. GL_EXT_debug_label := gl_IsSupported('GL_EXT_debug_label', oglExtensions);
  5427. GL_EXT_debug_marker := gl_IsSupported('GL_EXT_debug_marker', oglExtensions);
  5428. GL_EXT_depth_clamp := gl_IsSupported('GL_EXT_depth_clamp', oglExtensions);
  5429. GL_EXT_discard_framebuffer := gl_IsSupported('GL_EXT_discard_framebuffer', oglExtensions);
  5430. GL_EXT_disjoint_timer_query := gl_IsSupported('GL_EXT_disjoint_timer_query', oglExtensions);
  5431. GL_EXT_draw_buffers := gl_IsSupported('GL_EXT_draw_buffers', oglExtensions);
  5432. GL_EXT_draw_elements_base_vertex := gl_IsSupported('GL_EXT_draw_elements_base_vertex', oglExtensions);
  5433. GL_EXT_draw_instanced := gl_IsSupported('GL_EXT_draw_instanced', oglExtensions);
  5434. GL_EXT_draw_transform_feedback := gl_IsSupported('GL_EXT_draw_transform_feedback', oglExtensions);
  5435. GL_EXT_external_buffer := gl_IsSupported('GL_EXT_external_buffer', oglExtensions);
  5436. GL_EXT_float_blend := gl_IsSupported('v', oglExtensions);
  5437. GL_EXT_fragment_shading_rate := gl_IsSupported('GL_EXT_fragment_shading_rate', oglExtensions);
  5438. GL_EXT_framebuffer_blit_layers := gl_IsSupported('GL_EXT_framebuffer_blit_layers', oglExtensions);
  5439. GL_EXT_geometry_point_size := gl_IsSupported('GL_EXT_geometry_point_size', oglExtensions);
  5440. GL_EXT_geometry_shader := gl_IsSupported('GL_EXT_geometry_shader', oglExtensions);
  5441. GL_EXT_gpu_shader5 := gl_IsSupported('GL_EXT_gpu_shader5', oglExtensions);
  5442. GL_EXT_instanced_arrays := gl_IsSupported('GL_EXT_instanced_arrays', oglExtensions);
  5443. GL_EXT_map_buffer_range := gl_IsSupported('GL_EXT_map_buffer_range', oglExtensions);
  5444. GL_EXT_memory_object := gl_IsSupported('GL_EXT_memory_object', oglExtensions);
  5445. GL_EXT_memory_object_fd := gl_IsSupported('GL_EXT_memory_object_fd', oglExtensions);
  5446. GL_EXT_memory_object_win32 := gl_IsSupported('GL_EXT_memory_object_win32', oglExtensions);
  5447. GL_EXT_multi_draw_arrays := gl_IsSupported('GL_EXT_multi_draw_arrays', oglExtensions);
  5448. GL_EXT_multi_draw_indirect := gl_IsSupported('GL_EXT_multi_draw_indirect', oglExtensions);
  5449. GL_EXT_multisampled_compatibility := gl_IsSupported('GL_EXT_multisampled_compatibility', oglExtensions);
  5450. GL_EXT_multisampled_render_to_texture := gl_IsSupported('GL_EXT_multisampled_render_to_texture', oglExtensions);
  5451. GL_EXT_multisampled_render_to_texture2 := gl_IsSupported('GL_EXT_multisampled_render_to_texture2', oglExtensions);
  5452. GL_EXT_multiview_draw_buffers := gl_IsSupported('GL_EXT_multiview_draw_buffers', oglExtensions);
  5453. GL_EXT_multiview_tessellation_geometry_shader := gl_IsSupported('GL_EXT_multiview_tessellation_geometry_shader', oglExtensions);
  5454. GL_EXT_multiview_texture_multisample := gl_IsSupported('GL_EXT_multiview_texture_multisample', oglExtensions);
  5455. GL_EXT_multiview_timer_query := gl_IsSupported('GL_EXT_multiview_timer_query', oglExtensions);
  5456. GL_EXT_occlusion_query_boolean := gl_IsSupported('GL_EXT_occlusion_query_boolean', oglExtensions);
  5457. GL_EXT_polygon_offset_clamp := gl_IsSupported('GL_EXT_polygon_offset_clamp', oglExtensions);
  5458. GL_EXT_post_depth_coverage := gl_IsSupported('GL_EXT_post_depth_coverage', oglExtensions);
  5459. GL_EXT_primitive_bounding_box := gl_IsSupported('GL_EXT_primitive_bounding_box', oglExtensions);
  5460. GL_EXT_protected_textures := gl_IsSupported('v', oglExtensions);
  5461. GL_EXT_pvrtc_sRGB := gl_IsSupported('GL_EXT_pvrtc_sRGB', oglExtensions);
  5462. GL_EXT_raster_multisample := gl_IsSupported('GL_EXT_raster_multisample', oglExtensions);
  5463. GL_EXT_read_format_bgra := gl_IsSupported('GL_EXT_read_format_bgra', oglExtensions);
  5464. GL_EXT_render_snorm := gl_IsSupported('GL_EXT_render_snorm', oglExtensions);
  5465. GL_EXT_robustness := gl_IsSupported('GL_EXT_robustness', oglExtensions);
  5466. GL_EXT_sRGB := gl_IsSupported('GL_EXT_sRGB', oglExtensions);
  5467. GL_EXT_sRGB_write_control := gl_IsSupported('GL_EXT_sRGB_write_control', oglExtensions);
  5468. GL_EXT_semaphore := gl_IsSupported('GL_EXT_semaphore', oglExtensions);
  5469. GL_EXT_semaphore_fd := gl_IsSupported('GL_EXT_semaphore_fd', oglExtensions);
  5470. GL_EXT_semaphore_win32 := gl_IsSupported('GL_EXT_semaphore_win32', oglExtensions);
  5471. GL_EXT_separate_depth_stencil := gl_IsSupported('GL_EXT_separate_depth_stencil', oglExtensions);
  5472. GL_EXT_separate_shader_objects := gl_IsSupported('GL_EXT_separate_shader_objects', oglExtensions);
  5473. GL_EXT_shader_framebuffer_fetch := gl_IsSupported('GL_EXT_shader_framebuffer_fetch', oglExtensions);
  5474. GL_EXT_shader_framebuffer_fetch_non_coherent := gl_IsSupported('GL_EXT_shader_framebuffer_fetch_non_coherent', oglExtensions);
  5475. GL_EXT_shader_group_vote := gl_IsSupported('GL_EXT_shader_group_vote', oglExtensions);
  5476. GL_EXT_shader_implicit_conversions := gl_IsSupported('GL_EXT_shader_implicit_conversions', oglExtensions);
  5477. GL_EXT_shader_integer_mix := gl_IsSupported('GL_EXT_shader_integer_mix', oglExtensions);
  5478. GL_EXT_shader_io_blocks := gl_IsSupported('GL_EXT_shader_io_blocks', oglExtensions);
  5479. GL_EXT_shader_non_constant_global_initializers := gl_IsSupported('GL_EXT_shader_non_constant_global_initializers', oglExtensions);
  5480. GL_EXT_shader_pixel_local_storage := gl_IsSupported('GL_EXT_shader_pixel_local_storage', oglExtensions);
  5481. GL_EXT_shader_pixel_local_storage2 := gl_IsSupported('GL_EXT_shader_pixel_local_storage2', oglExtensions);
  5482. GL_EXT_shader_samples_identical := gl_IsSupported('GL_EXT_shader_samples_identical', oglExtensions);
  5483. GL_EXT_shader_texture_lod := gl_IsSupported('GL_EXT_shader_texture_lod', oglExtensions);
  5484. GL_EXT_shadow_samplers := gl_IsSupported('GL_EXT_shadow_samplers', oglExtensions);
  5485. GL_EXT_sparse_texture := gl_IsSupported('GL_EXT_sparse_texture', oglExtensions);
  5486. GL_EXT_sparse_texture2 := gl_IsSupported('GL_EXT_sparse_texture2', oglExtensions);
  5487. GL_EXT_tessellation_point_size := gl_IsSupported('GL_EXT_tessellation_point_size', oglExtensions);
  5488. GL_EXT_tessellation_shader := gl_IsSupported('GL_EXT_tessellation_shader', oglExtensions);
  5489. GL_EXT_texture_border_clamp := gl_IsSupported('GL_EXT_texture_border_clamp', oglExtensions);
  5490. GL_EXT_texture_buffer := gl_IsSupported('GL_EXT_texture_buffer', oglExtensions);
  5491. GL_EXT_texture_compression_astc_decode_mode := gl_IsSupported('GL_EXT_texture_compression_astc_decode_mode', oglExtensions);
  5492. GL_EXT_texture_compression_bptc := gl_IsSupported('GL_EXT_texture_compression_bptc', oglExtensions);
  5493. GL_EXT_texture_compression_dxt1 := gl_IsSupported('GL_EXT_texture_compression_dxt1', oglExtensions);
  5494. GL_EXT_texture_compression_rgtc := gl_IsSupported('GL_EXT_texture_compression_rgtc', oglExtensions);
  5495. GL_EXT_texture_compression_s3tc := gl_IsSupported('GL_EXT_texture_compression_s3tc', oglExtensions);
  5496. GL_EXT_texture_compression_s3tc_srgb := gl_IsSupported('GL_EXT_texture_compression_s3tc_srgb', oglExtensions);
  5497. GL_EXT_texture_cube_map_array := gl_IsSupported('GL_EXT_texture_cube_map_array', oglExtensions);
  5498. // GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  5499. GL_EXT_texture_filter_minmax := gl_IsSupported('GL_EXT_texture_filter_minmax', oglExtensions);
  5500. GL_EXT_texture_format_BGRA8888 := gl_IsSupported('GL_EXT_texture_format_BGRA8888', oglExtensions);
  5501. GL_EXT_texture_format_sRGB_override := gl_IsSupported('GL_EXT_texture_format_sRGB_override', oglExtensions);
  5502. GL_EXT_texture_mirror_clamp_to_edge := gl_IsSupported('GL_EXT_texture_mirror_clamp_to_edge', oglExtensions);
  5503. GL_EXT_texture_norm16 := gl_IsSupported('GL_EXT_texture_norm16', oglExtensions);
  5504. GL_EXT_texture_query_lod := gl_IsSupported('GL_EXT_texture_query_lod', oglExtensions);
  5505. GL_EXT_texture_rg := gl_IsSupported('GL_EXT_texture_rg', oglExtensions);
  5506. GL_EXT_texture_sRGB_R8 := gl_IsSupported('GL_EXT_texture_sRGB_R8', oglExtensions);
  5507. GL_EXT_texture_sRGB_RG8 := gl_IsSupported('GL_EXT_texture_sRGB_RG8', oglExtensions);
  5508. GL_EXT_texture_sRGB_decode := gl_IsSupported('GL_EXT_texture_sRGB_decode', oglExtensions);
  5509. GL_EXT_texture_shadow_lod := gl_IsSupported('GL_EXT_texture_shadow_lod', oglExtensions);
  5510. GL_EXT_texture_storage := gl_IsSupported('GL_EXT_texture_storage', oglExtensions);
  5511. GL_EXT_texture_storage_compression := gl_IsSupported('GL_EXT_texture_storage_compression', oglExtensions);
  5512. GL_EXT_texture_type_2_10_10_10_REV := gl_IsSupported('GL_EXT_texture_type_2_10_10_10_REV', oglExtensions);
  5513. GL_EXT_texture_view := gl_IsSupported('GL_EXT_texture_view', oglExtensions);
  5514. GL_EXT_unpack_subimage := gl_IsSupported('GL_EXT_unpack_subimage', oglExtensions);
  5515. GL_EXT_win32_keyed_mutex := gl_IsSupported('GL_EXT_win32_keyed_mutex', oglExtensions);
  5516. GL_EXT_window_rectangles := gl_IsSupported('GL_EXT_window_rectangles', oglExtensions);
  5517. GL_FJ_shader_binary_GCCSO := gl_IsSupported('GL_FJ_shader_binary_GCCSO', oglExtensions);
  5518. GL_IMG_bindless_texture := gl_IsSupported('GL_IMG_bindless_texture', oglExtensions);
  5519. GL_IMG_framebuffer_downsample := gl_IsSupported('GL_IMG_framebuffer_downsample', oglExtensions);
  5520. GL_IMG_multisampled_render_to_texture := gl_IsSupported('GL_IMG_multisampled_render_to_texture', oglExtensions);
  5521. GL_IMG_program_binary := gl_IsSupported('GL_IMG_program_binary', oglExtensions);
  5522. GL_IMG_read_format := gl_IsSupported('GL_IMG_read_format', oglExtensions);
  5523. GL_IMG_shader_binary := gl_IsSupported('GL_IMG_shader_binary', oglExtensions);
  5524. // GL_IMG_texture_compression_pvrtc := gl_IsSupported('GL_IMG_texture_compression_pvrtc', oglExtensions);
  5525. GL_IMG_texture_compression_pvrtc2 := gl_IsSupported('GL_IMG_texture_compression_pvrtc2', oglExtensions);
  5526. GL_IMG_texture_filter_cubic := gl_IsSupported('GL_IMG_texture_filter_cubic', oglExtensions);
  5527. GL_INTEL_blackhole_render := gl_IsSupported('GL_INTEL_blackhole_render', oglExtensions);
  5528. GL_INTEL_conservative_rasterization := gl_IsSupported('GL_INTEL_conservative_rasterization', oglExtensions);
  5529. GL_INTEL_framebuffer_CMAA := gl_IsSupported('GL_INTEL_framebuffer_CMAA', oglExtensions);
  5530. GL_INTEL_performance_query := gl_IsSupported('GL_INTEL_performance_query', oglExtensions);
  5531. GL_MESA_bgra := gl_IsSupported('GL_MESA_bgra', oglExtensions);
  5532. GL_MESA_framebuffer_flip_x := gl_IsSupported('GL_MESA_framebuffer_flip_x', oglExtensions);
  5533. GL_MESA_framebuffer_flip_y := gl_IsSupported('GL_MESA_framebuffer_flip_y', oglExtensions);
  5534. GL_MESA_framebuffer_swap_xy := gl_IsSupported('GL_MESA_framebuffer_swap_xy', oglExtensions);
  5535. GL_MESA_program_binary_formats := gl_IsSupported('GL_MESA_program_binary_formats', oglExtensions);
  5536. GL_MESA_shader_integer_functions := gl_IsSupported('GL_MESA_shader_integer_functions', oglExtensions);
  5537. GL_NVX_blend_equation_advanced_multi_draw_buffers := gl_IsSupported('GL_NVX_blend_equation_advanced_multi_draw_buffers', oglExtensions);
  5538. GL_NV_bindless_texture := gl_IsSupported('GL_NV_bindless_texture', oglExtensions);
  5539. GL_NV_blend_equation_advanced := gl_IsSupported('GL_NV_blend_equation_advanced', oglExtensions);
  5540. GL_NV_blend_equation_advanced_coherent := gl_IsSupported('GL_NV_blend_equation_advanced_coherent', oglExtensions);
  5541. GL_NV_blend_minmax_factor := gl_IsSupported('GL_NV_blend_minmax_factor', oglExtensions);
  5542. GL_NV_clip_space_w_scaling := gl_IsSupported('GL_NV_clip_space_w_scaling', oglExtensions);
  5543. GL_NV_compute_shader_derivatives := gl_IsSupported('GL_NV_compute_shader_derivatives', oglExtensions);
  5544. GL_NV_conditional_render := gl_IsSupported('GL_NV_conditional_render', oglExtensions);
  5545. GL_NV_conservative_raster := gl_IsSupported('GL_NV_conservative_raster', oglExtensions);
  5546. GL_NV_conservative_raster_pre_snap := gl_IsSupported('GL_NV_conservative_raster_pre_snap', oglExtensions);
  5547. GL_NV_conservative_raster_pre_snap_triangles := gl_IsSupported('GL_NV_conservative_raster_pre_snap_triangles', oglExtensions);
  5548. GL_NV_copy_buffer := gl_IsSupported('GL_NV_copy_buffer', oglExtensions);
  5549. GL_NV_coverage_sample := gl_IsSupported('GL_NV_coverage_sample', oglExtensions);
  5550. GL_NV_depth_nonlinear := gl_IsSupported('GL_NV_depth_nonlinear', oglExtensions);
  5551. GL_NV_draw_buffers := gl_IsSupported('GL_NV_draw_buffers', oglExtensions);
  5552. GL_NV_draw_instanced := gl_IsSupported('GL_NV_draw_instanced', oglExtensions);
  5553. GL_NV_draw_vulkan_image := gl_IsSupported('GL_NV_draw_vulkan_image', oglExtensions);
  5554. GL_NV_explicit_attrib_location := gl_IsSupported('GL_NV_explicit_attrib_location', oglExtensions);
  5555. GL_NV_fbo_color_attachments := gl_IsSupported('GL_NV_fbo_color_attachments', oglExtensions);
  5556. GL_NV_fence := gl_IsSupported('GL_NV_fence', oglExtensions);
  5557. GL_NV_fill_rectangle := gl_IsSupported('GL_NV_fill_rectangle', oglExtensions);
  5558. GL_NV_fragment_coverage_to_color := gl_IsSupported('GL_NV_fragment_coverage_to_color', oglExtensions);
  5559. GL_NV_fragment_shader_barycentric := gl_IsSupported('GL_NV_fragment_shader_barycentric', oglExtensions);
  5560. GL_NV_fragment_shader_interlock := gl_IsSupported('GL_NV_fragment_shader_interlock', oglExtensions);
  5561. GL_NV_framebuffer_blit := gl_IsSupported('GL_NV_framebuffer_blit', oglExtensions);
  5562. GL_NV_framebuffer_mixed_samples := gl_IsSupported('GL_NV_framebuffer_mixed_samples', oglExtensions);
  5563. GL_NV_framebuffer_multisample := gl_IsSupported('GL_NV_framebuffer_multisample', oglExtensions);
  5564. GL_NV_generate_mipmap_sRGB := gl_IsSupported('GL_NV_generate_mipmap_sRGB', oglExtensions);
  5565. GL_NV_geometry_shader_passthrough := gl_IsSupported('GL_NV_geometry_shader_passthrough', oglExtensions);
  5566. GL_NV_gpu_shader5 := gl_IsSupported('GL_NV_gpu_shader5', oglExtensions);
  5567. GL_NV_image_formats := gl_IsSupported('GL_NV_image_formats', oglExtensions);
  5568. GL_NV_instanced_arrays := gl_IsSupported('GL_NV_instanced_arrays', oglExtensions);
  5569. GL_NV_internalformat_sample_query := gl_IsSupported('GL_NV_internalformat_sample_query', oglExtensions);
  5570. GL_NV_memory_attachment := gl_IsSupported('GL_NV_memory_attachment', oglExtensions);
  5571. GL_NV_memory_object_sparse := gl_IsSupported('GL_NV_memory_object_sparse', oglExtensions);
  5572. GL_NV_mesh_shader := gl_IsSupported('GL_NV_mesh_shader', oglExtensions);
  5573. GL_NV_non_square_matrices := gl_IsSupported('GL_NV_non_square_matrices', oglExtensions);
  5574. GL_NV_pack_subimage := gl_IsSupported('GL_NV_pack_subimage', oglExtensions);
  5575. GL_NV_path_rendering := gl_IsSupported('GL_NV_path_rendering', oglExtensions);
  5576. GL_NV_path_rendering_shared_edge := gl_IsSupported('GL_NV_path_rendering_shared_edge', oglExtensions);
  5577. GL_NV_pixel_buffer_object := gl_IsSupported('GL_NV_pixel_buffer_object', oglExtensions);
  5578. GL_NV_polygon_mode := gl_IsSupported('GL_NV_polygon_mode', oglExtensions);
  5579. GL_NV_primitive_shading_rate := gl_IsSupported('GL_NV_primitive_shading_rate', oglExtensions);
  5580. GL_NV_read_buffer := gl_IsSupported('GL_NV_read_buffer', oglExtensions);
  5581. GL_NV_read_buffer_front := gl_IsSupported('GL_NV_read_buffer_front', oglExtensions);
  5582. GL_NV_read_depth := gl_IsSupported('GL_NV_read_depth', oglExtensions);
  5583. GL_NV_read_depth_stencil := gl_IsSupported('GL_NV_read_depth_stencil', oglExtensions);
  5584. GL_NV_read_stencil := gl_IsSupported('GL_NV_read_stencil', oglExtensions);
  5585. GL_NV_representative_fragment_test := gl_IsSupported('GL_NV_representative_fragment_test', oglExtensions);
  5586. GL_NV_sRGB_formats := gl_IsSupported('GL_NV_sRGB_formats', oglExtensions);
  5587. GL_NV_sample_locations := gl_IsSupported('GL_NV_sample_locations', oglExtensions);
  5588. GL_NV_sample_mask_override_coverage := gl_IsSupported('GL_NV_sample_mask_override_coverage', oglExtensions);
  5589. GL_NV_scissor_exclusive := gl_IsSupported('GL_NV_scissor_exclusive', oglExtensions);
  5590. GL_NV_shader_atomic_fp16_vector := gl_IsSupported('GL_NV_shader_atomic_fp16_vector', oglExtensions);
  5591. GL_NV_shader_noperspective_interpolation := gl_IsSupported('GL_NV_shader_noperspective_interpolation', oglExtensions);
  5592. GL_NV_shader_subgroup_partitioned := gl_IsSupported('GL_NV_shader_subgroup_partitioned', oglExtensions);
  5593. GL_NV_shader_texture_footprint := gl_IsSupported('GL_NV_shader_texture_footprint', oglExtensions);
  5594. GL_NV_shading_rate_image := gl_IsSupported('GL_NV_shading_rate_image', oglExtensions);
  5595. GL_NV_shadow_samplers_array := gl_IsSupported('GL_NV_shadow_samplers_array', oglExtensions);
  5596. GL_NV_shadow_samplers_cube := gl_IsSupported('GL_NV_shadow_samplers_cube', oglExtensions);
  5597. GL_NV_stereo_view_rendering := gl_IsSupported('GL_NV_stereo_view_rendering', oglExtensions);
  5598. GL_NV_texture_border_clamp := gl_IsSupported('GL_NV_texture_border_clamp', oglExtensions);
  5599. GL_NV_texture_compression_s3tc_update := gl_IsSupported('GL_NV_texture_compression_s3tc_update', oglExtensions);
  5600. GL_NV_texture_npot_2D_mipmap := gl_IsSupported('GL_NV_texture_npot_2D_mipmap', oglExtensions);
  5601. GL_NV_timeline_semaphore := gl_IsSupported('GL_NV_timeline_semaphore', oglExtensions);
  5602. GL_NV_viewport_array := gl_IsSupported('GL_NV_viewport_array', oglExtensions);
  5603. GL_NV_viewport_array2 := gl_IsSupported('GL_NV_viewport_array2', oglExtensions);
  5604. GL_NV_viewport_swizzle := gl_IsSupported('GL_NV_viewport_swizzle', oglExtensions);
  5605. GL_OVR_multiview := gl_IsSupported('GL_OVR_multiview', oglExtensions);
  5606. GL_OVR_multiview2 := gl_IsSupported('GL_OVR_multiview2', oglExtensions);
  5607. GL_OVR_multiview_multisampled_render_to_texture := gl_IsSupported('GL_OVR_multiview_multisampled_render_to_texture', oglExtensions);
  5608. GL_QCOM_YUV_texture_gather := gl_IsSupported('GL_QCOM_YUV_texture_gather', oglExtensions);
  5609. GL_QCOM_alpha_test := gl_IsSupported('GL_QCOM_alpha_test', oglExtensions);
  5610. GL_QCOM_binning_control := gl_IsSupported('GL_QCOM_binning_control', oglExtensions);
  5611. GL_QCOM_driver_control := gl_IsSupported('GL_QCOM_driver_control', oglExtensions);
  5612. GL_QCOM_extended_get := gl_IsSupported('GL_QCOM_extended_get', oglExtensions);
  5613. GL_QCOM_extended_get2 := gl_IsSupported('GL_QCOM_extended_get2', oglExtensions);
  5614. GL_QCOM_frame_extrapolation := gl_IsSupported('GL_QCOM_frame_extrapolation', oglExtensions);
  5615. GL_QCOM_framebuffer_foveated := gl_IsSupported('GL_QCOM_framebuffer_foveated', oglExtensions);
  5616. GL_QCOM_motion_estimation := gl_IsSupported('GL_QCOM_motion_estimation', oglExtensions);
  5617. GL_QCOM_perfmon_global_mode := gl_IsSupported('GL_QCOM_perfmon_global_mode', oglExtensions);
  5618. GL_QCOM_render_shared_exponent := gl_IsSupported('GL_QCOM_render_shared_exponent', oglExtensions);
  5619. GL_QCOM_shader_framebuffer_fetch_noncoherent := gl_IsSupported('GL_QCOM_shader_framebuffer_fetch_noncoherent', oglExtensions);
  5620. GL_QCOM_shader_framebuffer_fetch_rate := gl_IsSupported('GL_QCOM_shader_framebuffer_fetch_rate', oglExtensions);
  5621. GL_QCOM_shading_rate := gl_IsSupported('GL_QCOM_shading_rate', oglExtensions);
  5622. GL_QCOM_texture_foveated := gl_IsSupported('GL_QCOM_texture_foveated', oglExtensions);
  5623. GL_QCOM_texture_foveated2 := gl_IsSupported('GL_QCOM_texture_foveated2', oglExtensions);
  5624. GL_QCOM_texture_foveated_subsampled_layout := gl_IsSupported('GL_QCOM_texture_foveated_subsampled_layout', oglExtensions);
  5625. GL_QCOM_tiled_rendering := gl_IsSupported('GL_QCOM_tiled_rendering', oglExtensions);
  5626. GL_QCOM_writeonly_rendering := gl_IsSupported('GL_QCOM_writeonly_rendering', oglExtensions);
  5627. GL_VIV_shader_binary := gl_IsSupported('GL_VIV_shader_binary', oglExtensions);
  5628. {$EndIf}
  5629. end;
  5630. function LoadOpenGLES: Boolean;
  5631. {$IfDef LINUX}
  5632. {$IfDef GL_ES_VERSION_3_0}
  5633. var
  5634. i, j: Integer;
  5635. {$EndIf}{$EndIf}
  5636. begin
  5637. Result := True;
  5638. {$IfDef LINUX}
  5639. oglExtensions := '';
  5640. {$IfDef GL_ES_VERSION_3_0}
  5641. (* if use_glMajorVer >= 3 then // этот код выдаёт очень "весёлое" зависание при использованиее GLES...
  5642. begin
  5643. if not Assigned(glGetStringi) then
  5644. glGetStringi := gl_GetProc('glGetStringi');
  5645. if Assigned(glGetStringi) then
  5646. begin
  5647. glGetIntegerv(GL_NUM_EXTENSIONS, @j);
  5648. for i := 0 to j - 1 do
  5649. oglExtensions := oglExtensions + PAnsiChar(glGetStringi(GL_EXTENSIONS, i)) + #32;
  5650. end;
  5651. end; *)
  5652. if oglExtensions = '' then
  5653. {$EndIf}
  5654. oglExtensions := glGetString(GL_EXTENSIONS);
  5655. {$EndIf}
  5656. AllCheckGLExtension;
  5657. {$IfDef GL_VERSION_ES_CM_1_0}
  5658. // min GLES function - glAlphaFunc := dlsym(glesLibrary, 'glAlphaFunc');
  5659. // min GLES function - glClearColor := dlsym(glesLibrary, 'glClearColor');
  5660. // min GLES function - glClearDepthf := dlsym(glesLibrary, 'glClearDepthf');
  5661. glClipPlanef := dlsym(glesLibrary, 'glClipPlanef');
  5662. // min GLES function - glColor4f := dlsym(glesLibrary, 'glColor4f');
  5663. glDepthRangef := dlsym(glesLibrary, 'glDepthRangef');
  5664. glFogf := dlsym(glesLibrary, 'glFogf');
  5665. glFogfv := dlsym(glesLibrary, 'glFogfv');
  5666. glFrustumf := dlsym(glesLibrary, 'glFrustumf');
  5667. glGetClipPlanef := dlsym(glesLibrary, 'glGetClipPlanef');
  5668. // min GLES function - glGetFloatv := dlsym(glesLibrary, 'glGetFloatv');
  5669. glGetLightfv := dlsym(glesLibrary, 'glGetLightfv');
  5670. glGetMaterialfv := dlsym(glesLibrary, 'glGetMaterialfv');
  5671. glGetTexEnvfv := dlsym(glesLibrary, 'glGetTexEnvfv');
  5672. glGetTexParameterfv := dlsym(glesLibrary, 'glGetTexParameterfv');
  5673. glLightModelf := dlsym(glesLibrary, 'glLightModelf');
  5674. glLightModelfv := dlsym(glesLibrary, 'glLightModelfv');
  5675. glLightf := dlsym(glesLibrary, 'glLightf');
  5676. glLightfv := dlsym(glesLibrary, 'glLightfv');
  5677. glLineWidth := dlsym(glesLibrary, 'glLineWidth');
  5678. // min GLES function - glLoadMatrixf := dlsym(glesLibrary, 'glLoadMatrixf');
  5679. glMaterialf := dlsym(glesLibrary, 'glMaterialf');
  5680. glMaterialfv := dlsym(glesLibrary, 'glMaterialfv');
  5681. glMultMatrixf := dlsym(glesLibrary, 'glMultMatrixf');
  5682. glMultiTexCoord4f := dlsym(glesLibrary, 'glMultiTexCoord4f');
  5683. glNormal3f := dlsym(glesLibrary, 'glNormal3f');
  5684. // min GLES function - glOrthof := dlsym(glesLibrary, 'glOrthof');
  5685. glPointParameterf := dlsym(glesLibrary, 'glPointParameterf');
  5686. glPointParameterfv := dlsym(glesLibrary, 'glPointParameterfv');
  5687. glPointSize := dlsym(glesLibrary, 'glPointSize');
  5688. glPolygonOffset := dlsym(glesLibrary, 'glPolygonOffset');
  5689. // min GLES function - glRotatef := dlsym(glesLibrary, 'glRotatef');
  5690. // min GLES function - glScalef := dlsym(glesLibrary, 'glScalef');
  5691. glTexEnvf := dlsym(glesLibrary, 'glTexEnvf');
  5692. glTexEnvfv := dlsym(glesLibrary, 'glTexEnvfv');
  5693. // min GLES function - glTexParameterf := dlsym(glesLibrary, 'glTexParameterf');
  5694. glTexParameterfv := dlsym(glesLibrary, 'glTexParameterfv');
  5695. // min GLES function - glTranslatef := dlsym(glesLibrary, 'glTranslatef');
  5696. glActiveTexture := dlsym(glesLibrary, 'glActiveTexture');
  5697. glAlphaFuncx := dlsym(glesLibrary, 'glAlphaFuncx');
  5698. glBindBuffer := dlsym(glesLibrary, 'glBindBuffer');
  5699. // min GLES function - glBindTexture := dlsym(glesLibrary, 'glBindTexture');
  5700. // min GLES function - glBlendFunc := dlsym(glesLibrary, 'glBlendFunc');
  5701. glBufferData := dlsym(glesLibrary, 'glBufferData');
  5702. glBufferSubData := dlsym(glesLibrary, 'glBufferSubData');
  5703. // min GLES function - glClear := dlsym(glesLibrary, 'glClear');
  5704. glClearColorx := dlsym(glesLibrary, 'glClearColorx');
  5705. glClearDepthx := dlsym(glesLibrary, 'glClearDepthx');
  5706. glClearStencil := dlsym(glesLibrary, 'glClearStencil');
  5707. glClientActiveTexture := dlsym(glesLibrary, 'glClientActiveTexture');
  5708. glClipPlanex := dlsym(glesLibrary, 'glClipPlanex');
  5709. glColor4ub := dlsym(glesLibrary, 'glColor4ub');
  5710. glColor4x := dlsym(glesLibrary, 'glColor4x');
  5711. // min GLES function - glColorMask := dlsym(glesLibrary, 'glColorMask');
  5712. // min GLES function - glColorPointer := dlsym(glesLibrary, 'glColorPointer');
  5713. // min GLES function - glCompressedTexImage2D := dlsym(glesLibrary, 'glCompressedTexImage2D');
  5714. // min GLES function - glCompressedTexSubImage2D := dlsym(glesLibrary, 'glCompressedTexSubImage2D');
  5715. glCopyTexImage2D := dlsym(glesLibrary, 'glCopyTexImage2D');
  5716. // min GLES function - glCopyTexSubImage2D := dlsym(glesLibrary, 'glCopyTexSubImage2D');
  5717. glCullFace := dlsym(glesLibrary, 'glCullFace');
  5718. glDeleteBuffers := dlsym(glesLibrary, 'glDeleteBuffers');
  5719. // min GLES function - glDeleteTextures := dlsym(glesLibrary, 'glDeleteTextures');
  5720. // min GLES function - glDepthFunc := dlsym(glesLibrary, 'glDepthFunc');
  5721. // min GLES function - glDepthMask := dlsym(glesLibrary, 'glDepthMask');
  5722. glDepthRangex := dlsym(glesLibrary, 'glDepthRangex');
  5723. // min GLES function - glDisable := dlsym(glesLibrary, 'glDisable');
  5724. // min GLES function - glDisableClientState := dlsym(glesLibrary, 'glDisableClientState');
  5725. // min GLES function - glDrawArrays := dlsym(glesLibrary, 'glDrawArrays');
  5726. // min GLES function - glDrawElements := dlsym(glesLibrary, 'glDrawElements');
  5727. // min GLES function - glEnable := dlsym(glesLibrary, 'glEnable');
  5728. // min GLES function - glEnableClientState := dlsym(glesLibrary, 'glEnableClientState');
  5729. glFinish := dlsym(glesLibrary, 'glFinish');
  5730. glFlush := dlsym(glesLibrary, 'glFlush');
  5731. glFogx := dlsym(glesLibrary, 'glFogx');
  5732. glFogxv := dlsym(glesLibrary, 'glFogxv');
  5733. glFrontFace := dlsym(glesLibrary, 'glFrontFace');
  5734. glFrustumx := dlsym(glesLibrary, 'glFrustumx');
  5735. glGetBooleanv := dlsym(glesLibrary, 'glGetBooleanv');
  5736. glGetBufferParameteriv := dlsym(glesLibrary, 'glGetBufferParameteriv');
  5737. glGetClipPlanex := dlsym(glesLibrary, 'glGetClipPlanex');
  5738. glGenBuffers := dlsym(glesLibrary, 'glGenBuffers');
  5739. // min GLES function - glGenTextures := dlsym(glesLibrary, 'glGenTextures');
  5740. glGetError := dlsym(glesLibrary, 'glGetError');
  5741. glGetFixedv := dlsym(glesLibrary, 'glGetFixedv');
  5742. // min GLES function - glGetIntegerv := dlsym(glesLibrary, 'glGetIntegerv');
  5743. glGetLightxv := dlsym(glesLibrary, 'glGetLightxv');
  5744. glGetMaterialxv := dlsym(glesLibrary, 'glGetMaterialxv');
  5745. glGetPointerv := dlsym(glesLibrary, 'glGetPointerv');
  5746. // min GLES function - glGetString := dlsym(glesLibrary, 'glGetString');
  5747. glGetTexEnviv := dlsym(glesLibrary, 'glGetTexEnviv');
  5748. glGetTexEnvxv := dlsym(glesLibrary, 'glGetTexEnvxv');
  5749. glGetTexParameteriv := dlsym(glesLibrary, 'glGetTexParameteriv');
  5750. glGetTexParameterxv := dlsym(glesLibrary, 'glGetTexParameterxv');
  5751. // min GLES function - glHint := dlsym(glesLibrary, 'glHint');
  5752. glIsBuffer := dlsym(glesLibrary, 'glIsBuffer');
  5753. glIsEnabled := dlsym(glesLibrary, 'glIsEnabled');
  5754. glIsTexture := dlsym(glesLibrary, 'glIsTexture');
  5755. glLightModelx := dlsym(glesLibrary, 'glLightModelx');
  5756. glLightModelxv := dlsym(glesLibrary, 'glLightModelxv');
  5757. glLightx := dlsym(glesLibrary, 'glLightx');
  5758. glLightxv := dlsym(glesLibrary, 'glLightxv');
  5759. glLineWidthx := dlsym(glesLibrary, 'glLineWidthx');
  5760. // min GLES function - glLoadIdentity := dlsym(glesLibrary, 'glLoadIdentity');
  5761. glLoadMatrixx := dlsym(glesLibrary, 'glLoadMatrixx');
  5762. glLogicOp := dlsym(glesLibrary, 'glLogicOp');
  5763. glMaterialx := dlsym(glesLibrary, 'glMaterialx');
  5764. glMaterialxv := dlsym(glesLibrary, 'glMaterialxv');
  5765. // min GLES function - glMatrixMode := dlsym(glesLibrary, 'glMatrixMode');
  5766. glMultMatrixx := dlsym(glesLibrary, 'glMultMatrixx');
  5767. glMultiTexCoord4x := dlsym(glesLibrary, 'glMultiTexCoord4x');
  5768. glNormal3x := dlsym(glesLibrary, 'glNormal3x');
  5769. glNormalPointer := dlsym(glesLibrary, 'glNormalPointer');
  5770. glOrthox := dlsym(glesLibrary, 'glOrthox');
  5771. // min GLES function - glPixelStorei := dlsym(glesLibrary, 'glPixelStorei');
  5772. glPointParameterx := dlsym(glesLibrary, 'glPointParameterx');
  5773. glPointParameterxv := dlsym(glesLibrary, 'glPointParameterxv');
  5774. glPointSizex := dlsym(glesLibrary, 'glPointSizex');
  5775. glPolygonOffsetx := dlsym(glesLibrary, 'glPolygonOffsetx');
  5776. // min GLES function - glPopMatrix := dlsym(glesLibrary, 'glPopMatrix');
  5777. // min GLES function - glPushMatrix := dlsym(glesLibrary, 'glPushMatrix');
  5778. // min GLES function - glReadPixels := dlsym(glesLibrary, 'glReadPixels');
  5779. glRotatex := dlsym(glesLibrary, 'glRotatex');
  5780. glSampleCoverage := dlsym(glesLibrary, 'glSampleCoverage');
  5781. glSampleCoveragex := dlsym(glesLibrary, 'glSampleCoveragex');
  5782. glScalex := dlsym(glesLibrary, 'glScalex');
  5783. // min GLES function - glScissor := dlsym(glesLibrary, 'glScissor');
  5784. // min GLES function - glShadeModel := dlsym(glesLibrary, 'glShadeModel');
  5785. glStencilFunc := dlsym(glesLibrary, 'glStencilFunc');
  5786. glStencilMask := dlsym(glesLibrary, 'glStencilMask');
  5787. glStencilOp := dlsym(glesLibrary, 'glStencilOp');
  5788. // min GLES function - glTexCoordPointer := dlsym(glesLibrary, 'glTexCoordPointer');
  5789. // min GLES function - glTexEnvi := dlsym(glesLibrary, 'glTexEnvi');
  5790. // min GLES function - glTexEnvx := dlsym(glesLibrary, 'glTexEnvx');
  5791. // min GLES function - glTexEnviv := dlsym(glesLibrary, 'glTexEnviv');
  5792. // min GLES function - glTexEnvxv := dlsym(glesLibrary, 'glTexEnvxv');
  5793. // min GLES function - glTexImage2D := dlsym(glesLibrary, 'glTexImage2D');
  5794. // min GLES function - glTexParameteri := dlsym(glesLibrary, 'glTexParameteri');
  5795. // min GLES function - glTexParameterx := dlsym(glesLibrary, 'glTexParameterx');
  5796. // min GLES function - glTexParameteriv := dlsym(glesLibrary, 'glTexParameteriv');
  5797. // min GLES function - glTexParameterxv := dlsym(glesLibrary, 'glTexParameterxv');
  5798. // min GLES function - glTexSubImage2D := dlsym(glesLibrary, 'glTexSubImage2D');
  5799. glTranslatex := dlsym(glesLibrary, 'glTranslatex');
  5800. // min GLES function - glVertexPointer := dlsym(glesLibrary, 'glVertexPointer');
  5801. // min GLES function - glViewport := dlsym(glesLibrary, 'glViewport');
  5802. {$IfDef GL_OES_point_size_array}
  5803. glPointSizePointerOES := dlsym(glesLibrary, 'glPointSizePointerOES');
  5804. {$EndIf}
  5805. {$IfDef GL_OES_blend_equation_separate}
  5806. glBlendEquationSeparateOES := dlsym(glesLibrary, 'glBlendEquationSeparateOES');
  5807. {$EndIf}
  5808. {$IfDef GL_OES_blend_func_separate}
  5809. // min GLES function - glBlendFuncSeparateOES := dlsym(glesLibrary, 'glBlendFuncSeparateOES');
  5810. {$EndIf}
  5811. {$IfDef GL_OES_blend_subtract}
  5812. glBlendEquationOES := dlsym(glesLibrary, 'glBlendEquationOES');
  5813. {$EndIf}
  5814. {$IfDef GL_OES_draw_texture}
  5815. glDrawTexsOES := dlsym(glesLibrary, 'glDrawTexsOES');
  5816. glDrawTexiOES := dlsym(glesLibrary, 'glDrawTexiOES');
  5817. glDrawTexxOES := dlsym(glesLibrary, 'glDrawTexxOES');
  5818. glDrawTexsvOES := dlsym(glesLibrary, 'glDrawTexsvOES');
  5819. glDrawTexivOES := dlsym(glesLibrary, 'glDrawTexivOES');
  5820. glDrawTexxvOES := dlsym(glesLibrary, 'glDrawTexxvOES');
  5821. glDrawTexfOES := dlsym(glesLibrary, 'glDrawTexfOES');
  5822. glDrawTexfvOES := dlsym(glesLibrary, 'glDrawTexfvOES');
  5823. {$EndIf}
  5824. {$IfDef GL_OES_fixed_point}
  5825. glAlphaFuncxOES := dlsym(glesLibrary, 'glAlphaFuncxOES');
  5826. glClearColorxOES := dlsym(glesLibrary, 'glClearColorxOES');
  5827. glClearDepthxOES := dlsym(glesLibrary, 'glClearDepthxOES');
  5828. glClipPlanexOES := dlsym(glesLibrary, 'glClipPlanexOES');
  5829. glColor4xOES := dlsym(glesLibrary, 'glColor4xOES');
  5830. glDepthRangexOES := dlsym(glesLibrary, 'glDepthRangexOES');
  5831. glFogxOES := dlsym(glesLibrary, 'glFogxOES');
  5832. glFogxvOES := dlsym(glesLibrary, 'glFogxvOES');
  5833. glFrustumxOES := dlsym(glesLibrary, 'glFrustumxOES');
  5834. glGetClipPlanexOES := dlsym(glesLibrary, 'glGetClipPlanexOES');
  5835. glGetFixedvOES := dlsym(glesLibrary, 'glGetFixedvOES');
  5836. glGetTexEnvxvOES := dlsym(glesLibrary, 'glGetTexEnvxvOES');
  5837. glGetTexParameterxvOES := dlsym(glesLibrary, 'glGetTexParameterxvOES');
  5838. glLightModelxOES := dlsym(glesLibrary, 'glLightModelxOES');
  5839. glLightModelxvOES := dlsym(glesLibrary, 'glLightModelxvOES');
  5840. glLightxOES := dlsym(glesLibrary, 'glLightxOES');
  5841. glLightxvOES := dlsym(glesLibrary, 'glLightxvOES');
  5842. glLineWidthxOES := dlsym(glesLibrary, 'glLineWidthxOES');
  5843. glLoadMatrixxOES := dlsym(glesLibrary, 'glLoadMatrixxOES');
  5844. glMaterialxOES := dlsym(glesLibrary, 'glMaterialxOES');
  5845. glMaterialxvOES := dlsym(glesLibrary, 'glMaterialxvOES');
  5846. glMultMatrixxOES := dlsym(glesLibrary, 'glMultMatrixxOES');
  5847. glMultiTexCoord4xOES := dlsym(glesLibrary, 'glMultiTexCoord4xOES');
  5848. glNormal3xOES := dlsym(glesLibrary, 'glNormal3xOES');
  5849. glOrthoxOES := dlsym(glesLibrary, 'glOrthoxOES');
  5850. glPointParameterxvOES := dlsym(glesLibrary, 'glPointParameterxvOES');
  5851. glPointSizexOES := dlsym(glesLibrary, 'glPointSizexOES');
  5852. glPolygonOffsetxOES := dlsym(glesLibrary, 'glPolygonOffsetxOES');
  5853. glRotatexOES := dlsym(glesLibrary, 'glRotatexOES');
  5854. glScalexOES := dlsym(glesLibrary, 'glScalexOES');
  5855. glTexEnvxOES := dlsym(glesLibrary, 'glTexEnvxOES');
  5856. glTexEnvxvOES := dlsym(glesLibrary, 'glTexEnvxvOES');
  5857. glTexParameterxOES := dlsym(glesLibrary, 'glTexParameterxOES');
  5858. glTexParameterxvOES := dlsym(glesLibrary, 'glTexParameterxvOES');
  5859. glTranslatexOES := dlsym(glesLibrary, 'glTranslatexOES');
  5860. glGetLightxvOES := dlsym(glesLibrary, 'glGetLightxvOES');
  5861. glGetMaterialxvOES := dlsym(glesLibrary, 'glGetMaterialxvOES');
  5862. glPointParameterxOES := dlsym(glesLibrary, 'glPointParameterxOES');
  5863. glSampleCoveragexOES := dlsym(glesLibrary, 'glSampleCoveragexOES');
  5864. glGetTexGenxvOES := dlsym(glesLibrary, 'glGetTexGenxvOES');
  5865. glTexGenxOES := dlsym(glesLibrary, 'glTexGenxOES');
  5866. glTexGenxvOES := dlsym(glesLibrary, 'glTexGenxvOES');
  5867. {$EndIf}
  5868. {$IfDef GL_OES_framebuffer_object}
  5869. // min GLES function - glIsRenderbufferOES := dlsym(glesLibrary, 'glIsRenderbufferOES');
  5870. // min GLES function - glBindRenderbufferOES := dlsym(glesLibrary, 'glBindRenderbufferOES');
  5871. // min GLES function - glDeleteRenderbuffersOES := dlsym(glesLibrary, 'glDeleteRenderbuffersOES');
  5872. // min GLES function - glGenRenderbuffersOES := dlsym(glesLibrary, 'glGenRenderbuffersOES');
  5873. // min GLES function - glRenderbufferStorageOES := dlsym(glesLibrary, 'glRenderbufferStorageOES');
  5874. // min GLES function - glGetRenderbufferParameterivOES := dlsym(glesLibrary, 'glGetRenderbufferParameterivOES');
  5875. // min GLES function - glIsFramebufferOES := dlsym(glesLibrary, 'glIsFramebufferOES');
  5876. // min GLES function - glBindFramebufferOES := dlsym(glesLibrary, 'glBindFramebufferOES');
  5877. // min GLES function - glDeleteFramebuffersOES := dlsym(glesLibrary, 'glDeleteFramebuffersOES');
  5878. // min GLES function - glGenFramebuffersOES := dlsym(glesLibrary, 'glGenFramebuffersOES');
  5879. // min GLES function - glCheckFramebufferStatusOES := dlsym(glesLibrary, 'glCheckFramebufferStatusOES');
  5880. // min GLES function - glFramebufferRenderbufferOES := dlsym(glesLibrary, 'glFramebufferRenderbufferOES');
  5881. // min GLES function - glFramebufferTexture2DOES := dlsym(glesLibrary, 'glFramebufferTexture2DOES');
  5882. // min GLES function - glGetFramebufferAttachmentParameterivOES := dlsym(glesLibrary, 'glGetFramebufferAttachmentParameterivOES');
  5883. // min GLES function - glGenerateMipmapOES := dlsym(glesLibrary, 'glGenerateMipmapOES');
  5884. {$EndIf}
  5885. {$IfDef GL_OES_matrix_palette}
  5886. glCurrentPaletteMatrixOES := dlsym(glesLibrary, 'glCurrentPaletteMatrixOES');
  5887. glLoadPaletteFromModelViewMatrixOES := dlsym(glesLibrary, 'glLoadPaletteFromModelViewMatrixOES');
  5888. glMatrixIndexPointerOES := dlsym(glesLibrary, 'glMatrixIndexPointerOES');
  5889. glWeightPointerOES := dlsym(glesLibrary, 'glWeightPointerOES');
  5890. {$EndIf}
  5891. {$IfDef GL_OES_query_matrix}
  5892. glQueryMatrixxOES := dlsym(glesLibrary, 'glQueryMatrixxOES');
  5893. {$EndIf}
  5894. {$IfDef GL_OES_single_precision}
  5895. glClearDepthfOES := dlsym(glesLibrary, 'glClearDepthfOES');
  5896. glClipPlanefOES := dlsym(glesLibrary, 'glClipPlanefOES');
  5897. glDepthRangefOES := dlsym(glesLibrary, 'glDepthRangefOES');
  5898. glFrustumfOES := dlsym(glesLibrary, 'glFrustumfOES');
  5899. glGetClipPlanefOES := dlsym(glesLibrary, 'glGetClipPlanefOES');
  5900. glOrthofOES := dlsym(glesLibrary, 'glOrthofOES');
  5901. {$EndIf}
  5902. {$IfDef GL_OES_texture_cube_map}
  5903. glTexGenfOES := dlsym(glesLibrary, 'glTexGenfOES');
  5904. glTexGenfvOES := dlsym(glesLibrary, 'glTexGenfvOES');
  5905. glTexGeniOES := dlsym(glesLibrary, 'glTexGeniOES');
  5906. glTexGenivOES := dlsym(glesLibrary, 'glTexGenivOES');
  5907. glGetTexGenfvOES := dlsym(glesLibrary, 'glGetTexGenfvOES');
  5908. glGetTexGenivOES := dlsym(glesLibrary, 'glGetTexGenivOES');
  5909. {$EndIf}
  5910. {$IfDef GL_IMG_user_clip_plane}
  5911. glClipPlanefIMG := dlsym(glesLibrary, 'glClipPlanefIMG');
  5912. glClipPlanexIMG := dlsym(glesLibrary, 'glClipPlanexIMG');
  5913. {$EndIf}
  5914. {$EndIf}
  5915. {$IfDef GL_ES_VERSION_2_0}
  5916. glActiveTexture := dlsym(glesLibrary, 'glActiveTexture');
  5917. glAttachShader := dlsym(glesLibrary, 'glAttachShader');
  5918. glBindAttribLocation := dlsym(glesLibrary, 'glBindAttribLocation');
  5919. glBindBuffer := dlsym(glesLibrary, 'glBindBuffer');
  5920. // min GLES function - glBindFramebuffer := dlsym(glesLibrary, 'glBindFramebuffer');
  5921. // min GLES function - glBindRenderbuffer := dlsym(glesLibrary, 'glBindRenderbuffer');
  5922. // min GLES function - glBindTexture := dlsym(glesLibrary, 'glBindTexture');
  5923. glBlendColor := dlsym(glesLibrary, 'glBlendColor');
  5924. // min GLES function - glBlendEquation := dlsym(glesLibrary, 'glBlendEquation');
  5925. glBlendEquationSeparate := dlsym(glesLibrary, 'glBlendEquationSeparate');
  5926. // min GLES function - glBlendFunc := dlsym(glesLibrary, 'glBlendFunc');
  5927. // min GLES function - glBlendFuncSeparate := dlsym(glesLibrary, 'glBlendFuncSeparate');
  5928. glBufferData := dlsym(glesLibrary, 'glBufferData');
  5929. glBufferSubData := dlsym(glesLibrary, 'glBufferSubData');
  5930. // min GLES function - glCheckFramebufferStatus := dlsym(glesLibrary, 'glCheckFramebufferStatus');
  5931. // min GLES function - glClear := dlsym(glesLibrary, 'glClear');
  5932. // min GLES function - glClearColor := dlsym(glesLibrary, 'glClearColor');
  5933. // min GLES function - glClearDepthf := dlsym(glesLibrary, 'glClearDepthf');
  5934. glClearStencil := dlsym(glesLibrary, 'glClearStencil');
  5935. // min GLES function - glColorMask := dlsym(glesLibrary, 'glColorMask');
  5936. glCompileShader := dlsym(glesLibrary, 'glCompileShader');
  5937. // min GLES function - glCompressedTexImage2D := dlsym(glesLibrary, 'glCompressedTexImage2D');
  5938. // min GLES function - glCompressedTexSubImage2D := dlsym(glesLibrary, 'glCompressedTexSubImage2D');
  5939. glCopyTexImage2D := dlsym(glesLibrary, 'glCopyTexImage2D');
  5940. // min GLES function - glCopyTexSubImage2D := dlsym(glesLibrary, 'glCopyTexSubImage2D');
  5941. glCreateProgram := dlsym(glesLibrary, 'glCreateProgram');
  5942. glCreateShader := dlsym(glesLibrary, 'glCreateShader');
  5943. glCullFace := dlsym(glesLibrary, 'glCullFace');
  5944. glDeleteBuffers := dlsym(glesLibrary, 'glDeleteBuffers');
  5945. // min GLES function - glDeleteFramebuffers := dlsym(glesLibrary, 'glDeleteFramebuffers');
  5946. glDeleteProgram := dlsym(glesLibrary, 'glDeleteProgram');
  5947. // min GLES function - glDeleteRenderbuffers := dlsym(glesLibrary, 'glDeleteRenderbuffers');
  5948. glDeleteShader := dlsym(glesLibrary, 'glDeleteShader');
  5949. // min GLES function - glDeleteTextures := dlsym(glesLibrary, 'glDeleteTextures');
  5950. // min GLES function - glDepthFunc := dlsym(glesLibrary, 'glDepthFunc');
  5951. // min GLES function - glDepthMask := dlsym(glesLibrary, 'glDepthMask');
  5952. glDepthRangef := dlsym(glesLibrary, 'glDepthRangef');
  5953. glDetachShader := dlsym(glesLibrary, 'glDetachShader');
  5954. // min GLES function - glDisable := dlsym(glesLibrary, 'glDisable');
  5955. glDisableVertexAttribArray := dlsym(glesLibrary, 'glDisableVertexAttribArray');
  5956. // min GLES function - glDrawArrays := dlsym(glesLibrary, 'glDrawArrays');
  5957. // min GLES function - glDrawElements := dlsym(glesLibrary, 'glDrawElements');
  5958. // min GLES function - glEnable := dlsym(glesLibrary, 'glEnable');
  5959. glEnableVertexAttribArray := dlsym(glesLibrary, 'glEnableVertexAttribArray');
  5960. glFinish := dlsym(glesLibrary, 'glFinish');
  5961. glFlush := dlsym(glesLibrary, 'glFlush');
  5962. // min GLES function - glFramebufferRenderbuffer := dlsym(glesLibrary, 'glFramebufferRenderbuffer');
  5963. // min GLES function - glFramebufferTexture2D := dlsym(glesLibrary, 'glFramebufferTexture2D');
  5964. glFrontFace := dlsym(glesLibrary, 'glFrontFace');
  5965. glGenBuffers := dlsym(glesLibrary, 'glGenBuffers');
  5966. // min GLES function - glGenerateMipmap := dlsym(glesLibrary, 'glGenerateMipmap');
  5967. // min GLES function - glGenFramebuffers := dlsym(glesLibrary, 'glGenFramebuffers');
  5968. // min GLES function - glGenRenderbuffers := dlsym(glesLibrary, 'glGenRenderbuffers');
  5969. // min GLES function - glGenTextures := dlsym(glesLibrary, 'glGenTextures');
  5970. glGetActiveAttrib := dlsym(glesLibrary, 'glGetActiveAttrib');
  5971. glGetActiveUniform := dlsym(glesLibrary, 'glGetActiveUniform');
  5972. glGetAttachedShaders := dlsym(glesLibrary, 'glGetAttachedShaders');
  5973. glGetAttribLocation := dlsym(glesLibrary, 'glGetAttribLocation');
  5974. glGetBooleanv := dlsym(glesLibrary, 'glGetBooleanv');
  5975. glGetBufferParameteriv := dlsym(glesLibrary, 'glGetBufferParameteriv');
  5976. glGetError := dlsym(glesLibrary, 'glGetError');
  5977. // min GLES function - glGetFloatv := dlsym(glesLibrary, 'glGetFloatv');
  5978. // min GLES function - glGetFramebufferAttachmentParameteriv := dlsym(glesLibrary, 'glGetFramebufferAttachmentParameteriv');
  5979. // min GLES function - glGetIntegerv := dlsym(glesLibrary, 'glGetIntegerv');
  5980. glGetProgramiv := dlsym(glesLibrary, 'glGetProgramiv');
  5981. glGetProgramInfoLog := dlsym(glesLibrary, 'glGetProgramInfoLog');
  5982. // min GLES function - glGetRenderbufferParameteriv := dlsym(glesLibrary, 'glGetRenderbufferParameteriv');
  5983. glGetShaderiv := dlsym(glesLibrary, 'glGetShaderiv');
  5984. glGetShaderInfoLog := dlsym(glesLibrary, 'glGetShaderInfoLog');
  5985. glGetShaderPrecisionFormat := dlsym(glesLibrary, 'glGetShaderPrecisionFormat');
  5986. glGetShaderSource := dlsym(glesLibrary, 'glGetShaderSource');
  5987. // min GLES function - glGetString := dlsym(glesLibrary, 'glGetString');
  5988. glGetTexParameterfv := dlsym(glesLibrary, 'glGetTexParameterfv');
  5989. glGetTexParameteriv := dlsym(glesLibrary, 'glGetTexParameteriv');
  5990. glGetUniformfv := dlsym(glesLibrary, 'glGetUniformfv');
  5991. glGetUniformiv := dlsym(glesLibrary, 'glGetUniformiv');
  5992. glGetUniformLocation := dlsym(glesLibrary, 'glGetUniformLocation');
  5993. glGetVertexAttribfv := dlsym(glesLibrary, 'glGetVertexAttribfv');
  5994. glGetVertexAttribiv := dlsym(glesLibrary, 'glGetVertexAttribiv');
  5995. glGetVertexAttribPointerv := dlsym(glesLibrary, 'glGetVertexAttribPointerv');
  5996. // min GLES function - glHint := dlsym(glesLibrary, 'glHint');
  5997. glIsBuffer := dlsym(glesLibrary, 'glIsBuffer');
  5998. glIsEnabled := dlsym(glesLibrary, 'glIsEnabled');
  5999. // min GLES function - glIsFramebuffer := dlsym(glesLibrary, 'glIsFramebuffer');
  6000. glIsProgram := dlsym(glesLibrary, 'glIsProgram');
  6001. // min GLES function - glIsRenderbuffer := dlsym(glesLibrary, 'glIsRenderbuffer');
  6002. glIsShader := dlsym(glesLibrary, 'glIsShader');
  6003. glIsTexture := dlsym(glesLibrary, 'glIsTexture');
  6004. glLineWidth := dlsym(glesLibrary, 'glLineWidth');
  6005. glLinkProgram := dlsym(glesLibrary, 'glLinkProgram');
  6006. // min GLES function - glPixelStorei := dlsym(glesLibrary, 'glPixelStorei');
  6007. glPolygonOffset := dlsym(glesLibrary, 'glPolygonOffset');
  6008. // // min GLES function - glReadPixels := dlsym(glesLibrary, 'glReadPixels');
  6009. glReleaseShaderCompiler := dlsym(glesLibrary, 'glReleaseShaderCompiler');
  6010. // min GLES function - glRenderbufferStorage := dlsym(glesLibrary, 'glRenderbufferStorage');
  6011. glSampleCoverage := dlsym(glesLibrary, 'glSampleCoverage');
  6012. // min GLES function - glScissor := dlsym(glesLibrary, 'glScissor');
  6013. glShaderBinary := dlsym(glesLibrary, 'glShaderBinary');
  6014. glShaderSource := dlsym(glesLibrary, 'glShaderSource');
  6015. glStencilFunc := dlsym(glesLibrary, 'glStencilFunc');
  6016. glStencilFuncSeparate := dlsym(glesLibrary, 'glStencilFuncSeparate');
  6017. glStencilMask := dlsym(glesLibrary, 'glStencilMask');
  6018. glStencilMaskSeparate := dlsym(glesLibrary, 'glStencilMaskSeparate');
  6019. glStencilOp := dlsym(glesLibrary, 'glStencilOp');
  6020. glStencilOpSeparate := dlsym(glesLibrary, 'glStencilOpSeparate');
  6021. // min GLES function - glTexImage2D := dlsym(glesLibrary, 'glTexImage2D');
  6022. // min GLES function - glTexParameterf := dlsym(glesLibrary, 'glTexParameterf');
  6023. glTexParameterfv := dlsym(glesLibrary, 'glTexParameterfv');
  6024. // min GLES function - glTexParameteri := dlsym(glesLibrary, 'glTexParameteri');
  6025. // min GLES function - glTexParameteriv := dlsym(glesLibrary, 'glTexParameteriv');
  6026. // min GLES function - glTexSubImage2D := dlsym(glesLibrary, 'glTexSubImage2D');
  6027. glUniform1f := dlsym(glesLibrary, 'glUniform1f');
  6028. glUniform1fv := dlsym(glesLibrary, 'glUniform1fv');
  6029. glUniform1i := dlsym(glesLibrary, 'glUniform1i');
  6030. glUniform1iv := dlsym(glesLibrary, 'glUniform1iv');
  6031. glUniform2f := dlsym(glesLibrary, 'glUniform2f');
  6032. glUniform2fv := dlsym(glesLibrary, 'glUniform2fv');
  6033. glUniform2i := dlsym(glesLibrary, 'glUniform2i');
  6034. glUniform2iv := dlsym(glesLibrary, 'glUniform2iv');
  6035. glUniform3f := dlsym(glesLibrary, 'glUniform3f');
  6036. glUniform3fv := dlsym(glesLibrary, 'glUniform3fv');
  6037. glUniform3i := dlsym(glesLibrary, 'glUniform3i');
  6038. glUniform3iv := dlsym(glesLibrary, 'glUniform3iv');
  6039. glUniform4f := dlsym(glesLibrary, 'glUniform4f');
  6040. glUniform4fv := dlsym(glesLibrary, 'glUniform4fv');
  6041. glUniform4i := dlsym(glesLibrary, 'glUniform4i');
  6042. glUniform4iv := dlsym(glesLibrary, 'glUniform4iv');
  6043. glUniformMatrix2fv := dlsym(glesLibrary, 'glUniformMatrix2fv');
  6044. glUniformMatrix3fv := dlsym(glesLibrary, 'glUniformMatrix3fv');
  6045. glUniformMatrix4fv := dlsym(glesLibrary, 'glUniformMatrix4fv');
  6046. glUseProgram := dlsym(glesLibrary, 'glUseProgram');
  6047. glValidateProgram := dlsym(glesLibrary, 'glValidateProgram');
  6048. glVertexAttrib1f := dlsym(glesLibrary, 'glVertexAttrib1f');
  6049. glVertexAttrib1fv := dlsym(glesLibrary, 'glVertexAttrib1fv');
  6050. glVertexAttrib2f := dlsym(glesLibrary, 'glVertexAttrib2f');
  6051. glVertexAttrib2fv := dlsym(glesLibrary, 'glVertexAttrib2fv');
  6052. glVertexAttrib3f := dlsym(glesLibrary, 'glVertexAttrib3f');
  6053. glVertexAttrib3fv := dlsym(glesLibrary, 'glVertexAttrib3fv');
  6054. glVertexAttrib4f := dlsym(glesLibrary, 'glVertexAttrib4f');
  6055. glVertexAttrib4fv := dlsym(glesLibrary, 'glVertexAttrib4fv');
  6056. glVertexAttribPointer := dlsym(glesLibrary, 'glVertexAttribPointer');
  6057. // min GLES function - glViewport := dlsym(glesLibrary, 'glViewport');
  6058. {$EndIf}
  6059. {$IfDef GL_KHR_blend_equation_advanced}
  6060. glBlendBarrierKHR := dlsym(glesLibrary, 'glBlendBarrierKHR');
  6061. {$EndIf}
  6062. {$IfDef GL_KHR_debug}
  6063. glDebugMessageControlKHR := dlsym(glesLibrary, 'glDebugMessageControlKHR');
  6064. glDebugMessageInsertKHR := dlsym(glesLibrary, 'glDebugMessageInsertKHR');
  6065. glDebugMessageCallbackKHR := dlsym(glesLibrary, 'glDebugMessageCallbackKHR');
  6066. glGetDebugMessageLogKHR := dlsym(glesLibrary, 'glGetDebugMessageLogKHR');
  6067. glPushDebugGroupKHR := dlsym(glesLibrary, 'glPushDebugGroupKHR');
  6068. glPopDebugGroupKHR := dlsym(glesLibrary, 'glPopDebugGroupKHR');
  6069. glObjectLabelKHR := dlsym(glesLibrary, 'glObjectLabelKHR');
  6070. glGetObjectLabelKHR := dlsym(glesLibrary, 'glGetObjectLabelKHR');
  6071. glObjectPtrLabelKHR := dlsym(glesLibrary, 'glObjectPtrLabelKHR');
  6072. glGetObjectPtrLabelKHR := dlsym(glesLibrary, 'glGetObjectPtrLabelKHR');
  6073. glGetPointervKHR := dlsym(glesLibrary, 'glGetPointervKHR');
  6074. {$EndIf}
  6075. {$IfDef GL_KHR_parallel_shader_compile}
  6076. glMaxShaderCompilerThreadsKHR := dlsym(glesLibrary, 'glMaxShaderCompilerThreadsKHR');
  6077. {$EndIf}
  6078. {$IfDef GL_KHR_robustness}
  6079. glGetGraphicsResetStatusKHR := dlsym(glesLibrary, 'glGetGraphicsResetStatusKHR');
  6080. glReadnPixelsKHR := dlsym(glesLibrary, 'glReadnPixelsKHR');
  6081. glGetnUniformfvKHR := dlsym(glesLibrary, 'glGetnUniformfvKHR');
  6082. glGetnUniformivKHR := dlsym(glesLibrary, 'glGetnUniformivKHR');
  6083. glGetnUniformuivKHR := dlsym(glesLibrary, 'glGetnUniformuivKHR');
  6084. {$EndIf}
  6085. {$IfDef GL_OES_EGL_image}
  6086. glEGLImageTargetTexture2DOES := dlsym(glesLibrary, 'glEGLImageTargetTexture2DOES');
  6087. glEGLImageTargetRenderbufferStorageOES := dlsym(glesLibrary, 'glEGLImageTargetRenderbufferStorageOES');
  6088. {$EndIf}
  6089. {$IfDef GL_OES_copy_image}
  6090. glCopyImageSubDataOES := dlsym(glesLibrary, 'glCopyImageSubDataOES');
  6091. {$EndIf}
  6092. {$IfDef GL_OES_draw_buffers_indexed}
  6093. glEnableiOES := dlsym(glesLibrary, 'glEnableiOES');
  6094. glDisableiOES := dlsym(glesLibrary, 'glDisableiOES');
  6095. glBlendEquationiOES := dlsym(glesLibrary, 'glBlendEquationiOES');
  6096. glBlendEquationSeparateiOES := dlsym(glesLibrary, 'glBlendEquationSeparateiOES');
  6097. glBlendFunciOES := dlsym(glesLibrary, 'glBlendFunciOES');
  6098. glBlendFuncSeparateiOES := dlsym(glesLibrary, 'glBlendFuncSeparateiOES');
  6099. glColorMaskiOES := dlsym(glesLibrary, 'glColorMaskiOES');
  6100. glIsEnablediOES := dlsym(glesLibrary, 'glIsEnablediOES');
  6101. {$EndIf}
  6102. {$IfDef GL_OES_draw_elements_base_vertex}
  6103. glDrawElementsBaseVertexOES := dlsym(glesLibrary, 'glDrawElementsBaseVertexOES');
  6104. glDrawRangeElementsBaseVertexOES := dlsym(glesLibrary, 'glDrawRangeElementsBaseVertexOES');
  6105. glDrawElementsInstancedBaseVertexOES := dlsym(glesLibrary, 'glDrawElementsInstancedBaseVertexOES');
  6106. glMultiDrawElementsBaseVertexEXT := dlsym(glesLibrary, 'glMultiDrawElementsBaseVertexEXT');
  6107. {$EndIf}
  6108. {$IfDef GL_OES_geometry_shader}
  6109. glFramebufferTextureOES := dlsym(glesLibrary, 'glFramebufferTextureOES');
  6110. {$EndIf}
  6111. {$IfDef GL_OES_get_program_binary}
  6112. glGetProgramBinaryOES := dlsym(glesLibrary, 'glGetProgramBinaryOES');
  6113. glProgramBinaryOES := dlsym(glesLibrary, 'glProgramBinaryOES');
  6114. {$EndIf}
  6115. {$IfDef GL_OES_mapbuffer}
  6116. glMapBufferOES := dlsym(glesLibrary, 'glMapBufferOES');
  6117. glUnmapBufferOES := dlsym(glesLibrary, 'glUnmapBufferOES');
  6118. glGetBufferPointervOES := dlsym(glesLibrary, 'glGetBufferPointervOES');
  6119. {$EndIf}
  6120. {$IfDef GL_OES_primitive_bounding_box}
  6121. glPrimitiveBoundingBoxOES := dlsym(glesLibrary, 'glPrimitiveBoundingBoxOES');
  6122. {$EndIf}
  6123. {$IfDef GL_OES_sample_shading}
  6124. glMinSampleShadingOES := dlsym(glesLibrary, 'glMinSampleShadingOES');
  6125. {$EndIf}
  6126. {$IfDef GL_OES_tessellation_shader}
  6127. glPatchParameteriOES := dlsym(glesLibrary, 'glPatchParameteriOES');
  6128. {$EndIf}
  6129. {$IfDef GL_OES_texture_3D}
  6130. glTexImage3DOES := dlsym(glesLibrary, 'glTexImage3DOES');
  6131. glTexSubImage3DOES := dlsym(glesLibrary, 'glTexSubImage3DOES');
  6132. glCopyTexSubImage3DOES := dlsym(glesLibrary, 'glCopyTexSubImage3DOES');
  6133. glCompressedTexImage3DOES := dlsym(glesLibrary, 'glCompressedTexImage3DOES');
  6134. glCompressedTexSubImage3DOES := dlsym(glesLibrary, 'glCompressedTexSubImage3DOES');
  6135. glFramebufferTexture3DOES := dlsym(glesLibrary, 'glFramebufferTexture3DOES');
  6136. {$EndIf}
  6137. {$IfDef GL_OES_texture_border_clamp}
  6138. glTexParameterIivOES := dlsym(glesLibrary, 'glTexParameterIivOES');
  6139. glTexParameterIuivOES := dlsym(glesLibrary, 'glTexParameterIuivOES');
  6140. glGetTexParameterIivOES := dlsym(glesLibrary, 'glGetTexParameterIivOES');
  6141. glGetTexParameterIuivOES := dlsym(glesLibrary, 'glGetTexParameterIuivOES');
  6142. glSamplerParameterIivOES := dlsym(glesLibrary, 'glSamplerParameterIivOES');
  6143. glSamplerParameterIuivOES := dlsym(glesLibrary, 'glSamplerParameterIuivOES');
  6144. glGetSamplerParameterIivOES := dlsym(glesLibrary, 'glGetSamplerParameterIivOES');
  6145. glGetSamplerParameterIuivOES := dlsym(glesLibrary, 'glGetSamplerParameterIuivOES');
  6146. {$EndIf}
  6147. {$IfDef GL_OES_texture_buffer}
  6148. glTexBufferOES := dlsym(glesLibrary, 'glTexBufferOES');
  6149. glTexBufferRangeOES := dlsym(glesLibrary, 'glTexBufferRangeOES');
  6150. {$EndIf}
  6151. {$IfDef GL_OES_texture_storage_multisample_2d_array}
  6152. glTexStorage3DMultisampleOES := dlsym(glesLibrary, 'glTexStorage3DMultisampleOES');
  6153. {$EndIf}
  6154. {$IfDef GL_OES_texture_view}
  6155. glTextureViewOES := dlsym(glesLibrary, 'glTextureViewOES');
  6156. {$EndIf}
  6157. {$IfDef GL_OES_vertex_array_object}
  6158. glBindVertexArrayOES := dlsym(glesLibrary, 'glBindVertexArrayOES');
  6159. glDeleteVertexArraysOES := dlsym(glesLibrary, 'glDeleteVertexArraysOES');
  6160. glGenVertexArraysOES := dlsym(glesLibrary, 'glGenVertexArraysOES');
  6161. glIsVertexArrayOES := dlsym(glesLibrary, 'glIsVertexArrayOES');
  6162. {$EndIf}
  6163. {$IfDef GL_OES_viewport_array}
  6164. glViewportArrayvOES := dlsym(glesLibrary, 'glViewportArrayvOES');
  6165. glViewportIndexedfOES := dlsym(glesLibrary, 'glViewportIndexedfOES');
  6166. glViewportIndexedfvOES := dlsym(glesLibrary, 'glViewportIndexedfvOES');
  6167. glScissorArrayvOES := dlsym(glesLibrary, 'glScissorArrayvOES');
  6168. glScissorIndexedOES := dlsym(glesLibrary, 'glScissorIndexedOES');
  6169. glScissorIndexedvOES := dlsym(glesLibrary, 'glScissorIndexedvOES');
  6170. glDepthRangeArrayfvOES := dlsym(glesLibrary, 'glDepthRangeArrayfvOES');
  6171. glDepthRangeIndexedfOES := dlsym(glesLibrary, 'glDepthRangeIndexedfOES');
  6172. glGetFloati_vOES := dlsym(glesLibrary, 'glGetFloati_vOES');
  6173. {$EndIf}
  6174. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  6175. glRenderbufferStorageMultisampleAdvancedAMD := dlsym(glesLibrary, 'glRenderbufferStorageMultisampleAdvancedAMD');
  6176. glNamedRenderbufferStorageMultisampleAdvancedAMD := dlsym(glesLibrary, 'glNamedRenderbufferStorageMultisampleAdvancedAMD');
  6177. {$EndIf}
  6178. {$IfDef GL_AMD_performance_monitor}
  6179. glGetPerfMonitorGroupsAMD := dlsym(glesLibrary, 'glGetPerfMonitorGroupsAMD');
  6180. glGetPerfMonitorCountersAMD := dlsym(glesLibrary, 'glGetPerfMonitorCountersAMD');
  6181. glGetPerfMonitorGroupStringAMD := dlsym(glesLibrary, 'glGetPerfMonitorGroupStringAMD');
  6182. glGetPerfMonitorCounterStringAMD := dlsym(glesLibrary, 'glGetPerfMonitorCounterStringAMD');
  6183. glGetPerfMonitorCounterInfoAMD := dlsym(glesLibrary, 'glGetPerfMonitorCounterInfoAMD');
  6184. glGenPerfMonitorsAMD := dlsym(glesLibrary, 'glGenPerfMonitorsAMD');
  6185. glDeletePerfMonitorsAMD := dlsym(glesLibrary, 'glDeletePerfMonitorsAMD');
  6186. glSelectPerfMonitorCountersAMD := dlsym(glesLibrary, 'glSelectPerfMonitorCountersAMD');
  6187. glBeginPerfMonitorAMD := dlsym(glesLibrary, 'glBeginPerfMonitorAMD');
  6188. glEndPerfMonitorAMD := dlsym(glesLibrary, 'glEndPerfMonitorAMD');
  6189. glGetPerfMonitorCounterDataAMD := dlsym(glesLibrary, 'glGetPerfMonitorCounterDataAMD');
  6190. {$EndIf}
  6191. {$IfDef GL_ANGLE_framebuffer_blit}
  6192. glBlitFramebufferANGLE := dlsym(glesLibrary, 'glBlitFramebufferANGLE');
  6193. {$EndIf}
  6194. {$IfDef GL_ANGLE_framebuffer_multisample}
  6195. glRenderbufferStorageMultisampleANGLE := dlsym(glesLibrary, 'glRenderbufferStorageMultisampleANGLE');
  6196. {$EndIf}
  6197. {$IfDef GL_ANGLE_instanced_arrays}
  6198. glDrawArraysInstancedANGLE := dlsym(glesLibrary, 'glDrawArraysInstancedANGLE');
  6199. glDrawElementsInstancedANGLE := dlsym(glesLibrary, 'glDrawElementsInstancedANGLE');
  6200. glVertexAttribDivisorANGLE := dlsym(glesLibrary, 'glVertexAttribDivisorANGLE');
  6201. {$EndIf}
  6202. {$IfDef GL_ANGLE_translated_shader_source}
  6203. glGetTranslatedShaderSourceANGLE := dlsym(glesLibrary, 'glGetTranslatedShaderSourceANGLE');
  6204. {$EndIf}
  6205. {$IfDef GL_APPLE_copy_texture_levels}
  6206. glCopyTextureLevelsAPPLE := dlsym(glesLibrary, 'glCopyTextureLevelsAPPLE');
  6207. {$EndIf}
  6208. {$IfDef GL_APPLE_framebuffer_multisample}
  6209. glRenderbufferStorageMultisampleAPPLE := dlsym(glesLibrary, 'glRenderbufferStorageMultisampleAPPLE');
  6210. glResolveMultisampleFramebufferAPPLE := dlsym(glesLibrary, 'glResolveMultisampleFramebufferAPPLE');
  6211. {$EndIf}
  6212. {$IfDef GL_APPLE_sync}
  6213. glFenceSyncAPPLE := dlsym(glesLibrary, 'glFenceSyncAPPLE');
  6214. glIsSyncAPPLE := dlsym(glesLibrary, 'glIsSyncAPPLE');
  6215. glDeleteSyncAPPLE := dlsym(glesLibrary, 'glDeleteSyncAPPLE');
  6216. glClientWaitSyncAPPLE := dlsym(glesLibrary, 'glClientWaitSyncAPPLE');
  6217. glWaitSyncAPPLE := dlsym(glesLibrary, 'glWaitSyncAPPLE');
  6218. glGetInteger64vAPPLE := dlsym(glesLibrary, 'glGetInteger64vAPPLE');
  6219. glGetSyncivAPPLE := dlsym(glesLibrary, 'glGetSyncivAPPLE');
  6220. {$EndIf}
  6221. {$IfDef GL_EXT_EGL_image_storage}
  6222. glEGLImageTargetTexStorageEXT := dlsym(glesLibrary, 'glEGLImageTargetTexStorageEXT');
  6223. glEGLImageTargetTextureStorageEXT := dlsym(glesLibrary, 'glEGLImageTargetTextureStorageEXT');
  6224. {$EndIf}
  6225. {$IfDef GL_EXT_base_instance}
  6226. glDrawArraysInstancedBaseInstanceEXT := dlsym(glesLibrary, 'glDrawArraysInstancedBaseInstanceEXT');
  6227. glDrawElementsInstancedBaseInstanceEXT := dlsym(glesLibrary, 'glDrawElementsInstancedBaseInstanceEXT');
  6228. glDrawElementsInstancedBaseVertexBaseInstanceEXT := dlsym(glesLibrary, 'glDrawElementsInstancedBaseVertexBaseInstanceEXT');
  6229. {$EndIf}
  6230. {$IfDef GL_EXT_blend_func_extended}
  6231. glBindFragDataLocationIndexedEXT := dlsym(glesLibrary, 'glBindFragDataLocationIndexedEXT');
  6232. glBindFragDataLocationEXT := dlsym(glesLibrary, 'glBindFragDataLocationEXT');
  6233. glGetProgramResourceLocationIndexEXT := dlsym(glesLibrary, 'glGetProgramResourceLocationIndexEXT');
  6234. glGetFragDataIndexEXT := dlsym(glesLibrary, 'glGetFragDataIndexEXT');
  6235. {$EndIf}
  6236. {$IfDef GL_EXT_buffer_storage}
  6237. glBufferStorageEXT := dlsym(glesLibrary, 'glBufferStorageEXT');
  6238. {$EndIf}
  6239. {$IfDef GL_EXT_clear_texture}
  6240. glClearTexImageEXT := dlsym(glesLibrary, 'glClearTexImageEXT');
  6241. glClearTexSubImageEXT := dlsym(glesLibrary, 'glClearTexSubImageEXT');
  6242. {$EndIf}
  6243. {$IfDef GL_EXT_clip_control}
  6244. glClipControlEXT := dlsym(glesLibrary, 'glClipControlEXT');
  6245. {$EndIf}
  6246. {$IfDef GL_EXT_copy_image}
  6247. glCopyImageSubDataEXT := dlsym(glesLibrary, 'glCopyImageSubDataEXT');
  6248. {$EndIf}
  6249. {$IfDef GL_EXT_debug_label}
  6250. glLabelObjectEXT := dlsym(glesLibrary, 'glLabelObjectEXT');
  6251. glGetObjectLabelEXT := dlsym(glesLibrary, 'glGetObjectLabelEXT');
  6252. {$EndIf}
  6253. {$IfDef GL_EXT_debug_marker}
  6254. glInsertEventMarkerEXT := dlsym(glesLibrary, 'glInsertEventMarkerEXT');
  6255. glPushGroupMarkerEXT := dlsym(glesLibrary, 'glPushGroupMarkerEXT');
  6256. glPopGroupMarkerEXT := dlsym(glesLibrary, 'glPopGroupMarkerEXT');
  6257. {$EndIf}
  6258. {$IfDef GL_EXT_discard_framebuffer}
  6259. glDiscardFramebufferEXT := dlsym(glesLibrary, 'glDiscardFramebufferEXT');
  6260. {$EndIf}
  6261. {$IfDef GL_EXT_disjoint_timer_query}
  6262. glGenQueriesEXT := dlsym(glesLibrary, 'glGenQueriesEXT');
  6263. glDeleteQueriesEXT := dlsym(glesLibrary, 'glDeleteQueriesEXT');
  6264. glIsQueryEXT := dlsym(glesLibrary, 'glIsQueryEXT');
  6265. glBeginQueryEXT := dlsym(glesLibrary, 'glBeginQueryEXT');
  6266. glEndQueryEXT := dlsym(glesLibrary, 'glEndQueryEXT');
  6267. glQueryCounterEXT := dlsym(glesLibrary, 'glQueryCounterEXT');
  6268. glGetQueryivEXT := dlsym(glesLibrary, 'glGetQueryivEXT');
  6269. glGetQueryObjectivEXT := dlsym(glesLibrary, 'glGetQueryObjectivEXT');
  6270. glGetQueryObjectuivEXT := dlsym(glesLibrary, 'glGetQueryObjectuivEXT');
  6271. glGetQueryObjecti64vEXT := dlsym(glesLibrary, 'glGetQueryObjecti64vEXT');
  6272. glGetQueryObjectui64vEXT := dlsym(glesLibrary, 'glGetQueryObjectui64vEXT');
  6273. glGetInteger64vEXT := dlsym(glesLibrary, 'glGetInteger64vEXT');
  6274. {$EndIf}
  6275. {$IfDef GL_EXT_draw_buffers}
  6276. glDrawBuffersEXT := dlsym(glesLibrary, 'glDrawBuffersEXT');
  6277. {$EndIf}
  6278. {$IfDef GL_EXT_draw_elements_base_vertex}
  6279. glDrawElementsBaseVertexEXT := dlsym(glesLibrary, 'glDrawElementsBaseVertexEXT');
  6280. glDrawRangeElementsBaseVertexEXT := dlsym(glesLibrary, 'glDrawRangeElementsBaseVertexEXT');
  6281. glDrawElementsInstancedBaseVertexEXT := dlsym(glesLibrary, 'glDrawElementsInstancedBaseVertexEXT');
  6282. {$EndIf}
  6283. {$IfDef GL_EXT_draw_instanced}
  6284. glDrawArraysInstancedEXT := dlsym(glesLibrary, 'glDrawArraysInstancedEXT');
  6285. glDrawElementsInstancedEXT := dlsym(glesLibrary, 'glDrawElementsInstancedEXT');
  6286. {$EndIf}
  6287. {$IfDef GL_EXT_draw_transform_feedback}
  6288. glDrawTransformFeedbackEXT := dlsym(glesLibrary, 'glDrawTransformFeedbackEXT');
  6289. glDrawTransformFeedbackInstancedEXT := dlsym(glesLibrary, 'glDrawTransformFeedbackInstancedEXT');
  6290. {$EndIf}
  6291. {$IfDef GL_EXT_external_buffer}
  6292. glBufferStorageExternalEXT := dlsym(glesLibrary, 'glBufferStorageExternalEXT');
  6293. glNamedBufferStorageExternalEXT := dlsym(glesLibrary, 'glNamedBufferStorageExternalEXT');
  6294. {$EndIf}
  6295. {$IfDef GL_EXT_fragment_shading_rate}
  6296. glGetFragmentShadingRatesEXT := dlsym(glesLibrary, 'glGetFragmentShadingRatesEXT');
  6297. glShadingRateEXT := dlsym(glesLibrary, 'glShadingRateEXT');
  6298. glShadingRateCombinerOpsEXT := dlsym(glesLibrary, 'glShadingRateCombinerOpsEXT');
  6299. glFramebufferShadingRateEXT := dlsym(glesLibrary, 'glFramebufferShadingRateEXT');
  6300. {$EndIf}
  6301. {$IfDef GL_EXT_framebuffer_blit_layers}
  6302. glBlitFramebufferLayersEXT := dlsym(glesLibrary, 'glBlitFramebufferLayersEXT');
  6303. glBlitFramebufferLayerEXT := dlsym(glesLibrary, 'glBlitFramebufferLayerEXT');
  6304. {$EndIf}
  6305. {$IfDef GL_EXT_geometry_shader}
  6306. glFramebufferTextureEXT := dlsym(glesLibrary, 'glFramebufferTextureEXT');
  6307. {$EndIf}
  6308. {$IfDef GL_EXT_instanced_arrays}
  6309. glVertexAttribDivisorEXT := dlsym(glesLibrary, 'glVertexAttribDivisorEXT');
  6310. {$EndIf}
  6311. {$IfDef GL_EXT_map_buffer_range}
  6312. glMapBufferRangeEXT := dlsym(glesLibrary, 'glMapBufferRangeEXT');
  6313. glFlushMappedBufferRangeEXT := dlsym(glesLibrary, 'glFlushMappedBufferRangeEXT');
  6314. {$EndIf}
  6315. {$IfDef GL_EXT_memory_object}
  6316. glGetUnsignedBytevEXT := dlsym(glesLibrary, 'glGetUnsignedBytevEXT');
  6317. glGetUnsignedBytei_vEXT := dlsym(glesLibrary, 'glGetUnsignedBytei_vEXT');
  6318. glDeleteMemoryObjectsEXT := dlsym(glesLibrary, 'glDeleteMemoryObjectsEXT');
  6319. glIsMemoryObjectEXT := dlsym(glesLibrary, 'glIsMemoryObjectEXT');
  6320. glCreateMemoryObjectsEXT := dlsym(glesLibrary, 'glCreateMemoryObjectsEXT');
  6321. glMemoryObjectParameterivEXT := dlsym(glesLibrary, 'glMemoryObjectParameterivEXT');
  6322. glGetMemoryObjectParameterivEXT := dlsym(glesLibrary, 'glGetMemoryObjectParameterivEXT');
  6323. glTexStorageMem2DEXT := dlsym(glesLibrary, 'glTexStorageMem2DEXT');
  6324. glTexStorageMem2DMultisampleEXT := dlsym(glesLibrary, 'glTexStorageMem2DMultisampleEXT');
  6325. glTexStorageMem3DEXT := dlsym(glesLibrary, 'glTexStorageMem3DEXT');
  6326. glTexStorageMem3DMultisampleEXT := dlsym(glesLibrary, 'glTexStorageMem3DMultisampleEXT');
  6327. glBufferStorageMemEXT := dlsym(glesLibrary, 'glBufferStorageMemEXT');
  6328. glTextureStorageMem2DEXT := dlsym(glesLibrary, 'glTextureStorageMem2DEXT');
  6329. glTextureStorageMem2DMultisampleEXT := dlsym(glesLibrary, 'glTextureStorageMem2DMultisampleEXT');
  6330. glTextureStorageMem3DEXT := dlsym(glesLibrary, 'glTextureStorageMem3DEXT');
  6331. glTextureStorageMem3DMultisampleEXT := dlsym(glesLibrary, 'glTextureStorageMem3DMultisampleEXT');
  6332. glNamedBufferStorageMemEXT := dlsym(glesLibrary, 'glNamedBufferStorageMemEXT');
  6333. {$EndIf}
  6334. {$IfDef GL_EXT_memory_object_fd}
  6335. glImportMemoryFdEXT := dlsym(glesLibrary, 'glImportMemoryFdEXT');
  6336. {$EndIf}
  6337. {$IfDef GL_EXT_memory_object_win32}
  6338. glImportMemoryWin32HandleEXT := dlsym(glesLibrary, 'glImportMemoryWin32HandleEXT');
  6339. glImportMemoryWin32NameEXT := dlsym(glesLibrary, 'glImportMemoryWin32NameEXT');
  6340. {$EndIf}
  6341. {$IfDef GL_EXT_multi_draw_arrays}
  6342. glMultiDrawArraysEXT := dlsym(glesLibrary, 'glMultiDrawArraysEXT');
  6343. glMultiDrawElementsEXT := dlsym(glesLibrary, 'glMultiDrawElementsEXT');
  6344. {$EndIf}
  6345. {$IfDef GL_EXT_multi_draw_indirect}
  6346. glMultiDrawArraysIndirectEXT := dlsym(glesLibrary, 'glMultiDrawArraysIndirectEXT');
  6347. glMultiDrawElementsIndirectEXT := dlsym(glesLibrary, 'glMultiDrawElementsIndirectEXT');
  6348. {$EndIf}
  6349. {$IfDef GL_EXT_multisampled_render_to_texture}
  6350. glRenderbufferStorageMultisampleEXT := dlsym(glesLibrary, 'glRenderbufferStorageMultisampleEXT');
  6351. glFramebufferTexture2DMultisampleEXT := dlsym(glesLibrary, 'glFramebufferTexture2DMultisampleEXT');
  6352. {$EndIf}
  6353. {$IfDef GL_EXT_multiview_draw_buffers}
  6354. glReadBufferIndexedEXT := dlsym(glesLibrary, 'glReadBufferIndexedEXT');
  6355. glDrawBuffersIndexedEXT := dlsym(glesLibrary, 'glDrawBuffersIndexedEXT');
  6356. glGetIntegeri_vEXT := dlsym(glesLibrary, 'glGetIntegeri_vEXT');
  6357. {$EndIf}
  6358. {$IfDef GL_EXT_polygon_offset_clamp}
  6359. glPolygonOffsetClampEXT := dlsym(glesLibrary, 'glPolygonOffsetClampEXT');
  6360. {$EndIf}
  6361. {$IfDef GL_EXT_primitive_bounding_box}
  6362. glPrimitiveBoundingBoxEXT := dlsym(glesLibrary, 'glPrimitiveBoundingBoxEXT');
  6363. {$EndIf}
  6364. {$IfDef GL_EXT_raster_multisample}
  6365. glRasterSamplesEXT := dlsym(glesLibrary, 'glRasterSamplesEXT');
  6366. {$EndIf}
  6367. {$IfDef GL_EXT_robustness}
  6368. glGetGraphicsResetStatusEXT := dlsym(glesLibrary, 'glGetGraphicsResetStatusEXT');
  6369. glReadnPixelsEXT := dlsym(glesLibrary, 'glReadnPixelsEXT');
  6370. glGetnUniformfvEXT := dlsym(glesLibrary, 'glGetnUniformfvEXT');
  6371. glGetnUniformivEXT := dlsym(glesLibrary, 'glGetnUniformivEXT');
  6372. {$EndIf}
  6373. {$IfDef GL_EXT_semaphore}
  6374. glGenSemaphoresEXT := dlsym(glesLibrary, 'glGenSemaphoresEXT');
  6375. glDeleteSemaphoresEXT := dlsym(glesLibrary, 'glDeleteSemaphoresEXT');
  6376. glIsSemaphoreEXT := dlsym(glesLibrary, 'glIsSemaphoreEXT');
  6377. glSemaphoreParameterui64vEXT := dlsym(glesLibrary, 'glSemaphoreParameterui64vEXT');
  6378. glGetSemaphoreParameterui64vEXT := dlsym(glesLibrary, 'glGetSemaphoreParameterui64vEXT');
  6379. glWaitSemaphoreEXT := dlsym(glesLibrary, 'glWaitSemaphoreEXT');
  6380. glSignalSemaphoreEXT := dlsym(glesLibrary, 'glSignalSemaphoreEXT');
  6381. {$EndIf}
  6382. {$IfDef GL_EXT_semaphore_fd}
  6383. glImportSemaphoreFdEXT := dlsym(glesLibrary, 'glImportSemaphoreFdEXT');
  6384. {$EndIf}
  6385. {$IfDef GL_EXT_semaphore_win32}
  6386. glImportSemaphoreWin32HandleEXT := dlsym(glesLibrary, 'glImportSemaphoreWin32HandleEXT');
  6387. glImportSemaphoreWin32NameEXT := dlsym(glesLibrary, 'glImportSemaphoreWin32NameEXT');
  6388. {$EndIf}
  6389. {$IfDef GL_EXT_separate_shader_objects}
  6390. glActiveShaderProgramEXT := dlsym(glesLibrary, 'glActiveShaderProgramEXT');
  6391. glBindProgramPipelineEXT := dlsym(glesLibrary, 'glBindProgramPipelineEXT');
  6392. glCreateShaderProgramvEXT := dlsym(glesLibrary, 'glCreateShaderProgramvEXT');
  6393. glDeleteProgramPipelinesEXT := dlsym(glesLibrary, 'glDeleteProgramPipelinesEXT');
  6394. glGenProgramPipelinesEXT := dlsym(glesLibrary, 'glGenProgramPipelinesEXT');
  6395. glGetProgramPipelineInfoLogEXT := dlsym(glesLibrary, 'glGetProgramPipelineInfoLogEXT');
  6396. glGetProgramPipelineivEXT := dlsym(glesLibrary, 'glGetProgramPipelineivEXT');
  6397. glIsProgramPipelineEXT := dlsym(glesLibrary, 'glIsProgramPipelineEXT');
  6398. glProgramParameteriEXT := dlsym(glesLibrary, 'glProgramParameteriEXT');
  6399. glProgramUniform1fEXT := dlsym(glesLibrary, 'glProgramUniform1fEXT');
  6400. glProgramUniform1fvEXT := dlsym(glesLibrary, 'glProgramUniform1fvEXT');
  6401. glProgramUniform1iEXT := dlsym(glesLibrary, 'glProgramUniform1iEXT');
  6402. glProgramUniform1ivEXT := dlsym(glesLibrary, 'glProgramUniform1ivEXT');
  6403. glProgramUniform2fEXT := dlsym(glesLibrary, 'glProgramUniform2fEXT');
  6404. glProgramUniform2fvEXT := dlsym(glesLibrary, 'glProgramUniform2fvEXT');
  6405. glProgramUniform2iEXT := dlsym(glesLibrary, 'glProgramUniform2iEXT');
  6406. glProgramUniform2ivEXT := dlsym(glesLibrary, 'glProgramUniform2ivEXT');
  6407. glProgramUniform3fEXT := dlsym(glesLibrary, 'glProgramUniform3fEXT');
  6408. glProgramUniform3fvEXT := dlsym(glesLibrary, 'glProgramUniform3fvEXT');
  6409. glProgramUniform3iEXT := dlsym(glesLibrary, 'glProgramUniform3iEXT');
  6410. glProgramUniform3ivEXT := dlsym(glesLibrary, 'glProgramUniform3ivEXT');
  6411. glProgramUniform4fEXT := dlsym(glesLibrary, 'glProgramUniform4fEXT');
  6412. glProgramUniform4fvEXT := dlsym(glesLibrary, 'glProgramUniform4fvEXT');
  6413. glProgramUniform4iEXT := dlsym(glesLibrary, 'glProgramUniform4iEXT');
  6414. glProgramUniform4ivEXT := dlsym(glesLibrary, 'glProgramUniform4ivEXT');
  6415. glProgramUniformMatrix2fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix2fvEXT');
  6416. glProgramUniformMatrix3fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix3fvEXT');
  6417. glProgramUniformMatrix4fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix4fvEXT');
  6418. glUseProgramStagesEXT := dlsym(glesLibrary, 'glUseProgramStagesEXT');
  6419. glValidateProgramPipelineEXT := dlsym(glesLibrary, 'glValidateProgramPipelineEXT');
  6420. glProgramUniform1uiEXT := dlsym(glesLibrary, 'glProgramUniform1uiEXT');
  6421. glProgramUniform2uiEXT := dlsym(glesLibrary, 'glProgramUniform2uiEXT');
  6422. glProgramUniform3uiEXT := dlsym(glesLibrary, 'glProgramUniform3uiEXT');
  6423. glProgramUniform4uiEXT := dlsym(glesLibrary, 'glProgramUniform4uiEXT');
  6424. glProgramUniform1uivEXT := dlsym(glesLibrary, 'glProgramUniform1uivEXT');
  6425. glProgramUniform2uivEXT := dlsym(glesLibrary, 'glProgramUniform2uivEXT');
  6426. glProgramUniform3uivEXT := dlsym(glesLibrary, 'glProgramUniform3uivEXT');
  6427. glProgramUniform4uivEXT := dlsym(glesLibrary, 'glProgramUniform4uivEXT');
  6428. glProgramUniformMatrix2x3fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix2x3fvEXT');
  6429. glProgramUniformMatrix3x2fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix3x2fvEXT');
  6430. glProgramUniformMatrix2x4fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix2x4fvEXT');
  6431. glProgramUniformMatrix4x2fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix4x2fvEXT');
  6432. glProgramUniformMatrix3x4fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix3x4fvEXT');
  6433. glProgramUniformMatrix4x3fvEXT := dlsym(glesLibrary, 'glProgramUniformMatrix4x3fvEXT');
  6434. {$EndIf}
  6435. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  6436. glFramebufferFetchBarrierEXT := dlsym(glesLibrary, 'glFramebufferFetchBarrierEXT');
  6437. {$EndIf}
  6438. {$IfDef GL_EXT_shader_pixel_local_storage2}
  6439. glFramebufferPixelLocalStorageSizeEXT := dlsym(glesLibrary, 'glFramebufferPixelLocalStorageSizeEXT');
  6440. glGetFramebufferPixelLocalStorageSizeEXT := dlsym(glesLibrary, 'glGetFramebufferPixelLocalStorageSizeEXT');
  6441. glClearPixelLocalStorageuiEXT := dlsym(glesLibrary, 'glClearPixelLocalStorageuiEXT');
  6442. {$EndIf}
  6443. {$IfDef GL_EXT_sparse_texture}
  6444. glTexPageCommitmentEXT := dlsym(glesLibrary, 'glTexPageCommitmentEXT');
  6445. {$EndIf}
  6446. {$IfDef GL_EXT_tessellation_shader}
  6447. glPatchParameteriEXT := dlsym(glesLibrary, 'glPatchParameteriEXT');
  6448. {$EndIf}
  6449. {$IfDef GL_EXT_texture_border_clamp}
  6450. glTexParameterIivEXT := dlsym(glesLibrary, 'glTexParameterIivEXT');
  6451. glTexParameterIuivEXT := dlsym(glesLibrary, 'glTexParameterIuivEXT');
  6452. glGetTexParameterIivEXT := dlsym(glesLibrary, 'glGetTexParameterIivEXT');
  6453. glGetTexParameterIuivEXT := dlsym(glesLibrary, 'glGetTexParameterIuivEXT');
  6454. glSamplerParameterIivEXT := dlsym(glesLibrary, 'glSamplerParameterIivEXT');
  6455. glSamplerParameterIuivEXT := dlsym(glesLibrary, 'glSamplerParameterIuivEXT');
  6456. glGetSamplerParameterIivEXT := dlsym(glesLibrary, 'glGetSamplerParameterIivEXT');
  6457. glGetSamplerParameterIuivEXT := dlsym(glesLibrary, 'glGetSamplerParameterIuivEXT');
  6458. {$EndIf}
  6459. {$IfDef GL_EXT_texture_buffer}
  6460. glTexBufferEXT := dlsym(glesLibrary, 'glTexBufferEXT');
  6461. glTexBufferRangeEXT := dlsym(glesLibrary, 'glTexBufferRangeEXT');
  6462. {$EndIf}
  6463. {$IfDef GL_EXT_texture_storage}
  6464. glTexStorage1DEXT := dlsym(glesLibrary, 'glTexStorage1DEXT');
  6465. glTexStorage2DEXT := dlsym(glesLibrary, 'glTexStorage2DEXT');
  6466. glTexStorage3DEXT := dlsym(glesLibrary, 'glTexStorage3DEXT');
  6467. glTextureStorage1DEXT := dlsym(glesLibrary, 'glTextureStorage1DEXT');
  6468. glTextureStorage2DEXT := dlsym(glesLibrary, 'glTextureStorage2DEXT');
  6469. glTextureStorage3DEXT := dlsym(glesLibrary, 'glTextureStorage3DEXT');
  6470. {$EndIf}
  6471. {$IfDef GL_EXT_texture_storage_compression}
  6472. glTexStorageAttribs2DEXT := dlsym(glesLibrary, 'glTexStorageAttribs2DEXT');
  6473. glTexStorageAttribs3DEXT := dlsym(glesLibrary, 'glTexStorageAttribs3DEXT');
  6474. {$EndIf}
  6475. {$IfDef GL_EXT_texture_view}
  6476. glTextureViewEXT := dlsym(glesLibrary, 'glTextureViewEXT');
  6477. {$EndIf}
  6478. {$IfDef GL_EXT_win32_keyed_mutex}
  6479. glAcquireKeyedMutexWin32EXT := dlsym(glesLibrary, 'glAcquireKeyedMutexWin32EXT');
  6480. glReleaseKeyedMutexWin32EXT := dlsym(glesLibrary, 'glReleaseKeyedMutexWin32EXT');
  6481. {$EndIf}
  6482. {$IfDef GL_EXT_window_rectangles}
  6483. glWindowRectanglesEXT := dlsym(glesLibrary, 'glWindowRectanglesEXT');
  6484. {$EndIf}
  6485. {$IfDef GL_IMG_bindless_texture}
  6486. glGetTextureHandleIMG := dlsym(glesLibrary, 'glGetTextureHandleIMG');
  6487. glGetTextureSamplerHandleIMG := dlsym(glesLibrary, 'glGetTextureSamplerHandleIMG');
  6488. glUniformHandleui64IMG := dlsym(glesLibrary, 'glUniformHandleui64IMG');
  6489. glUniformHandleui64vIMG := dlsym(glesLibrary, 'glUniformHandleui64vIMG');
  6490. glProgramUniformHandleui64IMG := dlsym(glesLibrary, 'glProgramUniformHandleui64IMG');
  6491. glProgramUniformHandleui64vIMG := dlsym(glesLibrary, 'glProgramUniformHandleui64vIMG');
  6492. {$EndIf}
  6493. {$IfDef GL_IMG_framebuffer_downsample}
  6494. glFramebufferTexture2DDownsampleIMG := dlsym(glesLibrary, 'glFramebufferTexture2DDownsampleIMG');
  6495. glFramebufferTextureLayerDownsampleIMG := dlsym(glesLibrary, 'glFramebufferTextureLayerDownsampleIMG');
  6496. {$EndIf}
  6497. {$IfDef GL_IMG_multisampled_render_to_texture}
  6498. glRenderbufferStorageMultisampleIMG := dlsym(glesLibrary, 'glRenderbufferStorageMultisampleIMG');
  6499. glFramebufferTexture2DMultisampleIMG := dlsym(glesLibrary, 'glFramebufferTexture2DMultisampleIMG');
  6500. {$EndIf}
  6501. {$IfDef GL_INTEL_framebuffer_CMAA}
  6502. glApplyFramebufferAttachmentCMAAINTEL := dlsym(glesLibrary, 'glApplyFramebufferAttachmentCMAAINTEL');
  6503. {$EndIf}
  6504. {$IfDef GL_INTEL_performance_query}
  6505. glBeginPerfQueryINTEL := dlsym(glesLibrary, 'glBeginPerfQueryINTEL');
  6506. glCreatePerfQueryINTEL := dlsym(glesLibrary, 'glCreatePerfQueryINTEL');
  6507. glDeletePerfQueryINTEL := dlsym(glesLibrary, 'glDeletePerfQueryINTEL');
  6508. glEndPerfQueryINTEL := dlsym(glesLibrary, 'glEndPerfQueryINTEL');
  6509. glGetFirstPerfQueryIdINTEL := dlsym(glesLibrary, 'glGetFirstPerfQueryIdINTEL');
  6510. glGetNextPerfQueryIdINTEL := dlsym(glesLibrary, 'glGetNextPerfQueryIdINTEL');
  6511. glGetPerfCounterInfoINTEL := dlsym(glesLibrary, 'glGetPerfCounterInfoINTEL');
  6512. glGetPerfQueryDataINTEL := dlsym(glesLibrary, 'glGetPerfQueryDataINTEL');
  6513. glGetPerfQueryIdByNameINTEL := dlsym(glesLibrary, 'glGetPerfQueryIdByNameINTEL');
  6514. glGetPerfQueryInfoINTEL := dlsym(glesLibrary, 'glGetPerfQueryInfoINTEL');
  6515. {$EndIf}
  6516. {$IfDef GL_MESA_framebuffer_flip_y}
  6517. glFramebufferParameteriMESA := dlsym(glesLibrary, 'glFramebufferParameteriMESA');
  6518. glGetFramebufferParameterivMESA := dlsym(glesLibrary, 'glGetFramebufferParameterivMESA');
  6519. {$EndIf}
  6520. {$IfDef GL_NV_bindless_texture}
  6521. glGetTextureHandleNV := dlsym(glesLibrary, 'glGetTextureHandleNV');
  6522. glGetTextureSamplerHandleNV := dlsym(glesLibrary, 'glGetTextureSamplerHandleNV');
  6523. glMakeTextureHandleResidentNV := dlsym(glesLibrary, 'glMakeTextureHandleResidentNV');
  6524. glMakeTextureHandleNonResidentNV := dlsym(glesLibrary, 'glMakeTextureHandleNonResidentNV');
  6525. glGetImageHandleNV := dlsym(glesLibrary, 'glGetImageHandleNV');
  6526. glMakeImageHandleResidentNV := dlsym(glesLibrary, 'glMakeImageHandleResidentNV');
  6527. glMakeImageHandleNonResidentNV := dlsym(glesLibrary, 'glMakeImageHandleNonResidentNV');
  6528. glUniformHandleui64NV := dlsym(glesLibrary, 'glUniformHandleui64NV');
  6529. glUniformHandleui64vNV := dlsym(glesLibrary, 'glUniformHandleui64vNV');
  6530. glProgramUniformHandleui64NV := dlsym(glesLibrary, 'glProgramUniformHandleui64NV');
  6531. glProgramUniformHandleui64vNV := dlsym(glesLibrary, 'glProgramUniformHandleui64vNV');
  6532. glIsTextureHandleResidentNV := dlsym(glesLibrary, 'glIsTextureHandleResidentNV');
  6533. glIsImageHandleResidentNV := dlsym(glesLibrary, 'glIsImageHandleResidentNV');
  6534. {$EndIf}
  6535. {$IfDef GL_NV_blend_equation_advanced}
  6536. glBlendParameteriNV := dlsym(glesLibrary, 'glBlendParameteriNV');
  6537. glBlendBarrierNV := dlsym(glesLibrary, 'glBlendBarrierNV');
  6538. {$EndIf}
  6539. {$IfDef GL_NV_clip_space_w_scaling}
  6540. glViewportPositionWScaleNV := dlsym(glesLibrary, 'glViewportPositionWScaleNV');
  6541. {$EndIf}
  6542. {$IfDef GL_NV_conditional_render}
  6543. glBeginConditionalRenderNV := dlsym(glesLibrary, 'glBeginConditionalRenderNV');
  6544. glEndConditionalRenderNV := dlsym(glesLibrary, 'glEndConditionalRenderNV');
  6545. {$EndIf}
  6546. {$IfDef GL_NV_conservative_raster}
  6547. glSubpixelPrecisionBiasNV := dlsym(glesLibrary, 'glSubpixelPrecisionBiasNV');
  6548. {$EndIf}
  6549. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  6550. glConservativeRasterParameteriNV := dlsym(glesLibrary, 'glConservativeRasterParameteriNV');
  6551. {$EndIf}
  6552. {$IfDef GL_NV_copy_buffer}
  6553. glCopyBufferSubDataNV := dlsym(glesLibrary, 'glCopyBufferSubDataNV');
  6554. {$EndIf}
  6555. {$IfDef GL_NV_coverage_sample}
  6556. glCoverageMaskNV := dlsym(glesLibrary, 'glCoverageMaskNV');
  6557. glCoverageOperationNV := dlsym(glesLibrary, 'glCoverageOperationNV');
  6558. {$EndIf}
  6559. {$IfDef GL_NV_draw_buffers}
  6560. glDrawBuffersNV := dlsym(glesLibrary, 'glDrawBuffersNV');
  6561. {$EndIf}
  6562. {$IfDef GL_NV_draw_instanced}
  6563. glDrawArraysInstancedNV := dlsym(glesLibrary, 'glDrawArraysInstancedNV');
  6564. glDrawElementsInstancedNV := dlsym(glesLibrary, 'glDrawElementsInstancedNV');
  6565. {$EndIf}
  6566. {$IfDef GL_NV_draw_vulkan_image}
  6567. glDrawVkImageNV := dlsym(glesLibrary, 'glDrawVkImageNV');
  6568. glGetVkProcAddrNV := dlsym(glesLibrary, 'glGetVkProcAddrNV');
  6569. glWaitVkSemaphoreNV := dlsym(glesLibrary, 'glWaitVkSemaphoreNV');
  6570. glSignalVkSemaphoreNV := dlsym(glesLibrary, 'glSignalVkSemaphoreNV');
  6571. glSignalVkFenceNV := dlsym(glesLibrary, 'glSignalVkFenceNV');
  6572. {$EndIf}
  6573. {$IfDef GL_NV_fence}
  6574. glDeleteFencesNV := dlsym(glesLibrary, 'glDeleteFencesNV');
  6575. glGenFencesNV := dlsym(glesLibrary, 'glGenFencesNV');
  6576. glIsFenceNV := dlsym(glesLibrary, 'glIsFenceNV');
  6577. glTestFenceNV := dlsym(glesLibrary, 'glTestFenceNV');
  6578. glGetFenceivNV := dlsym(glesLibrary, 'glGetFenceivNV');
  6579. glFinishFenceNV := dlsym(glesLibrary, 'glFinishFenceNV');
  6580. glSetFenceNV := dlsym(glesLibrary, 'glSetFenceNV');
  6581. {$EndIf}
  6582. {$IfDef GL_NV_fragment_coverage_to_color}
  6583. glFragmentCoverageColorNV := dlsym(glesLibrary, 'glFragmentCoverageColorNV');
  6584. {$EndIf}
  6585. {$IfDef GL_NV_framebuffer_blit}
  6586. glBlitFramebufferNV := dlsym(glesLibrary, 'glBlitFramebufferNV');
  6587. {$EndIf}
  6588. {$IfDef GL_NV_framebuffer_mixed_samples}
  6589. glCoverageModulationTableNV := dlsym(glesLibrary, 'glCoverageModulationTableNV');
  6590. glGetCoverageModulationTableNV := dlsym(glesLibrary, 'glGetCoverageModulationTableNV');
  6591. glCoverageModulationNV := dlsym(glesLibrary, 'glCoverageModulationNV');
  6592. {$EndIf}
  6593. {$IfDef GL_NV_framebuffer_multisample}
  6594. glRenderbufferStorageMultisampleNV := dlsym(glesLibrary, 'glRenderbufferStorageMultisampleNV');
  6595. {$EndIf}
  6596. {$IfDef GL_NV_gpu_shader5}
  6597. glUniform1i64NV := dlsym(glesLibrary, 'glUniform1i64NV');
  6598. glUniform2i64NV := dlsym(glesLibrary, 'glUniform2i64NV');
  6599. glUniform3i64NV := dlsym(glesLibrary, 'glUniform3i64NV');
  6600. glUniform4i64NV := dlsym(glesLibrary, 'glUniform4i64NV');
  6601. glUniform1i64vNV := dlsym(glesLibrary, 'glUniform1i64vNV');
  6602. glUniform2i64vNV := dlsym(glesLibrary, 'glUniform2i64vNV');
  6603. glUniform3i64vNV := dlsym(glesLibrary, 'glUniform3i64vNV');
  6604. glUniform4i64vNV := dlsym(glesLibrary, 'glUniform4i64vNV');
  6605. glUniform1ui64NV := dlsym(glesLibrary, 'glUniform1ui64NV');
  6606. glUniform2ui64NV := dlsym(glesLibrary, 'glUniform2ui64NV');
  6607. glUniform3ui64NV := dlsym(glesLibrary, 'glUniform3ui64NV');
  6608. glUniform4ui64NV := dlsym(glesLibrary, 'glUniform4ui64NV');
  6609. glUniform1ui64vNV := dlsym(glesLibrary, 'glUniform1ui64vNV');
  6610. glUniform2ui64vNV := dlsym(glesLibrary, 'glUniform2ui64vNV');
  6611. glUniform3ui64vNV := dlsym(glesLibrary, 'glUniform3ui64vNV');
  6612. glUniform4ui64vNV := dlsym(glesLibrary, 'glUniform4ui64vNV');
  6613. glGetUniformi64vNV := dlsym(glesLibrary, 'glGetUniformi64vNV');
  6614. glProgramUniform1i64NV := dlsym(glesLibrary, 'glProgramUniform1i64NV');
  6615. glProgramUniform2i64NV := dlsym(glesLibrary, 'glProgramUniform2i64NV');
  6616. glProgramUniform3i64NV := dlsym(glesLibrary, 'glProgramUniform3i64NV');
  6617. glProgramUniform4i64NV := dlsym(glesLibrary, 'glProgramUniform4i64NV');
  6618. glProgramUniform1i64vNV := dlsym(glesLibrary, 'glProgramUniform1i64vNV');
  6619. glProgramUniform2i64vNV := dlsym(glesLibrary, 'glProgramUniform2i64vNV');
  6620. glProgramUniform3i64vNV := dlsym(glesLibrary, 'glProgramUniform3i64vNV');
  6621. glProgramUniform4i64vNV := dlsym(glesLibrary, 'glProgramUniform4i64vNV');
  6622. glProgramUniform1ui64NV := dlsym(glesLibrary, 'glProgramUniform1ui64NV');
  6623. glProgramUniform2ui64NV := dlsym(glesLibrary, 'glProgramUniform2ui64NV');
  6624. glProgramUniform3ui64NV := dlsym(glesLibrary, 'glProgramUniform3ui64NV');
  6625. glProgramUniform4ui64NV := dlsym(glesLibrary, 'glProgramUniform4ui64NV');
  6626. glProgramUniform1ui64vNV := dlsym(glesLibrary, 'glProgramUniform1ui64vNV');
  6627. glProgramUniform2ui64vNV := dlsym(glesLibrary, 'glProgramUniform2ui64vNV');
  6628. glProgramUniform3ui64vNV := dlsym(glesLibrary, 'glProgramUniform3ui64vNV');
  6629. glProgramUniform4ui64vNV := dlsym(glesLibrary, 'glProgramUniform4ui64vNV');
  6630. {$EndIf}
  6631. {$IfDef GL_NV_instanced_arrays}
  6632. glVertexAttribDivisorNV := dlsym(glesLibrary, 'glVertexAttribDivisorNV');
  6633. {$EndIf}
  6634. {$IfDef GL_NV_internalformat_sample_query}
  6635. glGetInternalformatSampleivNV := dlsym(glesLibrary, 'glGetInternalformatSampleivNV');
  6636. {$EndIf}
  6637. {$IfDef GL_NV_memory_attachment}
  6638. glGetMemoryObjectDetachedResourcesuivNV := dlsym(glesLibrary, 'glGetMemoryObjectDetachedResourcesuivNV');
  6639. glResetMemoryObjectParameterNV := dlsym(glesLibrary, 'glResetMemoryObjectParameterNV');
  6640. glTexAttachMemoryNV := dlsym(glesLibrary, 'glTexAttachMemoryNV');
  6641. glBufferAttachMemoryNV := dlsym(glesLibrary, 'glBufferAttachMemoryNV');
  6642. glTextureAttachMemoryNV := dlsym(glesLibrary, 'glTextureAttachMemoryNV');
  6643. glNamedBufferAttachMemoryNV := dlsym(glesLibrary, 'glNamedBufferAttachMemoryNV');
  6644. {$EndIf}
  6645. {$IfDef GL_NV_memory_object_sparse}
  6646. glBufferPageCommitmentMemNV := dlsym(glesLibrary, 'glBufferPageCommitmentMemNV');
  6647. glTexPageCommitmentMemNV := dlsym(glesLibrary, 'glTexPageCommitmentMemNV');
  6648. glNamedBufferPageCommitmentMemNV := dlsym(glesLibrary, 'glNamedBufferPageCommitmentMemNV');
  6649. glTexturePageCommitmentMemNV := dlsym(glesLibrary, 'glTexturePageCommitmentMemNV');
  6650. {$EndIf}
  6651. {$IfDef GL_NV_mesh_shader}
  6652. glDrawMeshTasksNV := dlsym(glesLibrary, 'glDrawMeshTasksNV');
  6653. glDrawMeshTasksIndirectNV := dlsym(glesLibrary, 'glDrawMeshTasksIndirectNV');
  6654. glMultiDrawMeshTasksIndirectNV := dlsym(glesLibrary, 'glMultiDrawMeshTasksIndirectNV');
  6655. glMultiDrawMeshTasksIndirectCountNV := dlsym(glesLibrary, 'glMultiDrawMeshTasksIndirectCountNV');
  6656. {$EndIf}
  6657. {$IfDef GL_NV_non_square_matrices}
  6658. glUniformMatrix2x3fvNV := dlsym(glesLibrary, 'glUniformMatrix2x3fvNV');
  6659. glUniformMatrix3x2fvNV := dlsym(glesLibrary, 'glUniformMatrix3x2fvNV');
  6660. glUniformMatrix2x4fvNV := dlsym(glesLibrary, 'glUniformMatrix2x4fvNV');
  6661. glUniformMatrix4x2fvNV := dlsym(glesLibrary, 'glUniformMatrix4x2fvNV');
  6662. glUniformMatrix3x4fvNV := dlsym(glesLibrary, 'glUniformMatrix3x4fvNV');
  6663. glUniformMatrix4x3fvNV := dlsym(glesLibrary, 'glUniformMatrix4x3fvNV');
  6664. {$EndIf}
  6665. {$IfDef GL_NV_path_rendering}
  6666. glGenPathsNV := dlsym(glesLibrary, 'glGenPathsNV');
  6667. glDeletePathsNV := dlsym(glesLibrary, 'glDeletePathsNV');
  6668. glIsPathNV := dlsym(glesLibrary, 'glIsPathNV');
  6669. glPathCommandsNV := dlsym(glesLibrary, 'glPathCommandsNV');
  6670. glPathCoordsNV := dlsym(glesLibrary, 'glPathCoordsNV');
  6671. glPathSubCommandsNV := dlsym(glesLibrary, 'glPathSubCommandsNV');
  6672. glPathSubCoordsNV := dlsym(glesLibrary, 'glPathSubCoordsNV');
  6673. glPathStringNV := dlsym(glesLibrary, 'glPathStringNV');
  6674. glPathGlyphsNV := dlsym(glesLibrary, 'glPathGlyphsNV');
  6675. glPathGlyphRangeNV := dlsym(glesLibrary, 'glPathGlyphRangeNV');
  6676. glWeightPathsNV := dlsym(glesLibrary, 'glWeightPathsNV');
  6677. glCopyPathNV := dlsym(glesLibrary, 'glCopyPathNV');
  6678. glInterpolatePathsNV := dlsym(glesLibrary, 'glInterpolatePathsNV');
  6679. glTransformPathNV := dlsym(glesLibrary, 'glTransformPathNV');
  6680. glPathParameterivNV := dlsym(glesLibrary, 'glPathParameterivNV');
  6681. glPathParameteriNV := dlsym(glesLibrary, 'glPathParameteriNV');
  6682. glPathParameterfvNV := dlsym(glesLibrary, 'glPathParameterfvNV');
  6683. glPathParameterfNV := dlsym(glesLibrary, 'glPathParameterfNV');
  6684. glPathDashArrayNV := dlsym(glesLibrary, 'glPathDashArrayNV');
  6685. glPathStencilFuncNV := dlsym(glesLibrary, 'glPathStencilFuncNV');
  6686. glPathStencilDepthOffsetNV := dlsym(glesLibrary, 'glPathStencilDepthOffsetNV');
  6687. glStencilFillPathNV := dlsym(glesLibrary, 'glStencilFillPathNV');
  6688. glStencilStrokePathNV := dlsym(glesLibrary, 'glStencilStrokePathNV');
  6689. glStencilFillPathInstancedNV := dlsym(glesLibrary, 'glStencilFillPathInstancedNV');
  6690. glStencilStrokePathInstancedNV := dlsym(glesLibrary, 'glStencilStrokePathInstancedNV');
  6691. glPathCoverDepthFuncNV := dlsym(glesLibrary, 'glPathCoverDepthFuncNV');
  6692. glCoverFillPathNV := dlsym(glesLibrary, 'glCoverFillPathNV');
  6693. glCoverStrokePathNV := dlsym(glesLibrary, 'glCoverStrokePathNV');
  6694. glCoverFillPathInstancedNV := dlsym(glesLibrary, 'glCoverFillPathInstancedNV');
  6695. glCoverStrokePathInstancedNV := dlsym(glesLibrary, 'glCoverStrokePathInstancedNV');
  6696. glGetPathParameterivNV := dlsym(glesLibrary, 'glGetPathParameterivNV');
  6697. glGetPathParameterfvNV := dlsym(glesLibrary, 'glGetPathParameterfvNV');
  6698. glGetPathCommandsNV := dlsym(glesLibrary, 'glGetPathCommandsNV');
  6699. glGetPathCoordsNV := dlsym(glesLibrary, 'glGetPathCoordsNV');
  6700. glGetPathDashArrayNV := dlsym(glesLibrary, 'glGetPathDashArrayNV');
  6701. glGetPathMetricsNV := dlsym(glesLibrary, 'glGetPathMetricsNV');
  6702. glGetPathMetricRangeNV := dlsym(glesLibrary, 'glGetPathMetricRangeNV');
  6703. glGetPathSpacingNV := dlsym(glesLibrary, 'glGetPathSpacingNV');
  6704. glIsPointInFillPathNV := dlsym(glesLibrary, 'glIsPointInFillPathNV');
  6705. glIsPointInStrokePathNV := dlsym(glesLibrary, 'glIsPointInStrokePathNV');
  6706. glGetPathLengthNV := dlsym(glesLibrary, 'glGetPathLengthNV');
  6707. glPointAlongPathNV := dlsym(glesLibrary, 'glPointAlongPathNV');
  6708. glMatrixLoad3x2fNV := dlsym(glesLibrary, 'glMatrixLoad3x2fNV');
  6709. glMatrixLoad3x3fNV := dlsym(glesLibrary, 'glMatrixLoad3x3fNV');
  6710. glMatrixLoadTranspose3x3fNV := dlsym(glesLibrary, 'glMatrixLoadTranspose3x3fNV');
  6711. glMatrixMult3x2fNV := dlsym(glesLibrary, 'glMatrixMult3x2fNV');
  6712. glMatrixMult3x3fNV := dlsym(glesLibrary, 'glMatrixMult3x3fNV');
  6713. glMatrixMultTranspose3x3fNV := dlsym(glesLibrary, 'glMatrixMultTranspose3x3fNV');
  6714. glStencilThenCoverFillPathNV := dlsym(glesLibrary, 'glStencilThenCoverFillPathNV');
  6715. glStencilThenCoverStrokePathNV := dlsym(glesLibrary, 'glStencilThenCoverStrokePathNV');
  6716. glStencilThenCoverFillPathInstancedNV := dlsym(glesLibrary, 'glStencilThenCoverFillPathInstancedNV');
  6717. glStencilThenCoverStrokePathInstancedNV := dlsym(glesLibrary, 'glStencilThenCoverStrokePathInstancedNV');
  6718. glPathGlyphIndexRangeNV := dlsym(glesLibrary, 'glPathGlyphIndexRangeNV');
  6719. glPathGlyphIndexArrayNV := dlsym(glesLibrary, 'glPathGlyphIndexArrayNV');
  6720. glPathMemoryGlyphIndexArrayNV := dlsym(glesLibrary, 'glPathMemoryGlyphIndexArrayNV');
  6721. glProgramPathFragmentInputGenNV := dlsym(glesLibrary, 'glProgramPathFragmentInputGenNV');
  6722. glGetProgramResourcefvNV := dlsym(glesLibrary, 'glGetProgramResourcefvNV');
  6723. glMatrixFrustumEXT := dlsym(glesLibrary, 'glMatrixFrustumEXT');
  6724. glMatrixLoadIdentityEXT := dlsym(glesLibrary, 'glMatrixLoadIdentityEXT');
  6725. glMatrixLoadTransposefEXT := dlsym(glesLibrary, 'glMatrixLoadTransposefEXT');
  6726. glMatrixLoadTransposedEXT := dlsym(glesLibrary, 'glMatrixLoadTransposedEXT');
  6727. glMatrixLoadfEXT := dlsym(glesLibrary, 'glMatrixLoadfEXT');
  6728. glMatrixLoaddEXT := dlsym(glesLibrary, 'glMatrixLoaddEXT');
  6729. glMatrixMultTransposefEXT := dlsym(glesLibrary, 'glMatrixMultTransposefEXT');
  6730. glMatrixMultTransposedEXT := dlsym(glesLibrary, 'glMatrixMultTransposedEXT');
  6731. glMatrixMultfEXT := dlsym(glesLibrary, 'glMatrixMultfEXT');
  6732. glMatrixMultdEXT := dlsym(glesLibrary, 'glMatrixMultdEXT');
  6733. glMatrixOrthoEXT := dlsym(glesLibrary, 'glMatrixOrthoEXT');
  6734. glMatrixPopEXT := dlsym(glesLibrary, 'glMatrixPopEXT');
  6735. glMatrixPushEXT := dlsym(glesLibrary, 'glMatrixPushEXT');
  6736. glMatrixRotatefEXT := dlsym(glesLibrary, 'glMatrixRotatefEXT');
  6737. glMatrixRotatedEXT := dlsym(glesLibrary, 'glMatrixRotatedEXT');
  6738. glMatrixScalefEXT := dlsym(glesLibrary, 'glMatrixScalefEXT');
  6739. glMatrixScaledEXT := dlsym(glesLibrary, 'glMatrixScaledEXT');
  6740. glMatrixTranslatefEXT := dlsym(glesLibrary, 'glMatrixTranslatefEXT');
  6741. glMatrixTranslatedEXT := dlsym(glesLibrary, 'glMatrixTranslatedEXT');
  6742. {$EndIf}
  6743. {$IfDef GL_NV_polygon_mode}
  6744. glPolygonModeNV := dlsym(glesLibrary, 'glPolygonModeNV');
  6745. {$EndIf}
  6746. {$IfDef GL_NV_read_buffer}
  6747. glReadBufferNV := dlsym(glesLibrary, 'glReadBufferNV');
  6748. {$EndIf}
  6749. {$IfDef GL_NV_sample_locations}
  6750. glFramebufferSampleLocationsfvNV := dlsym(glesLibrary, 'glFramebufferSampleLocationsfvNV');
  6751. glNamedFramebufferSampleLocationsfvNV := dlsym(glesLibrary, 'glNamedFramebufferSampleLocationsfvNV');
  6752. glResolveDepthValuesNV := dlsym(glesLibrary, 'glResolveDepthValuesNV');
  6753. {$EndIf}
  6754. {$IfDef GL_NV_scissor_exclusive}
  6755. glScissorExclusiveNV := dlsym(glesLibrary, 'glScissorExclusiveNV');
  6756. glScissorExclusiveArrayvNV := dlsym(glesLibrary, 'glScissorExclusiveArrayvNV');
  6757. {$EndIf}
  6758. {$IfDef GL_NV_shading_rate_image}
  6759. glBindShadingRateImageNV := dlsym(glesLibrary, 'glBindShadingRateImageNV');
  6760. glGetShadingRateImagePaletteNV := dlsym(glesLibrary, 'glGetShadingRateImagePaletteNV');
  6761. glGetShadingRateSampleLocationivNV := dlsym(glesLibrary, 'glGetShadingRateSampleLocationivNV');
  6762. glShadingRateImageBarrierNV := dlsym(glesLibrary, 'glShadingRateImageBarrierNV');
  6763. glShadingRateImagePaletteNV := dlsym(glesLibrary, 'glShadingRateImagePaletteNV');
  6764. glShadingRateSampleOrderNV := dlsym(glesLibrary, 'glShadingRateSampleOrderNV');
  6765. glShadingRateSampleOrderCustomNV := dlsym(glesLibrary, 'glShadingRateSampleOrderCustomNV');
  6766. {$EndIf}
  6767. {$IfDef GL_NV_timeline_semaphore}
  6768. glCreateSemaphoresNV := dlsym(glesLibrary, 'glCreateSemaphoresNV');
  6769. glSemaphoreParameterivNV := dlsym(glesLibrary, 'glSemaphoreParameterivNV');
  6770. glGetSemaphoreParameterivNV := dlsym(glesLibrary, 'glGetSemaphoreParameterivNV');
  6771. {$EndIf}
  6772. {$IfDef GL_NV_viewport_array}
  6773. glViewportArrayvNV := dlsym(glesLibrary, 'glViewportArrayvNV');
  6774. glViewportIndexedfNV := dlsym(glesLibrary, 'glViewportIndexedfNV');
  6775. glViewportIndexedfvNV := dlsym(glesLibrary, 'glViewportIndexedfvNV');
  6776. glScissorArrayvNV := dlsym(glesLibrary, 'glScissorArrayvNV');
  6777. glScissorIndexedNV := dlsym(glesLibrary, 'glScissorIndexedNV');
  6778. glScissorIndexedvNV := dlsym(glesLibrary, 'glScissorIndexedvNV');
  6779. glDepthRangeArrayfvNV := dlsym(glesLibrary, 'glDepthRangeArrayfvNV');
  6780. glDepthRangeIndexedfNV := dlsym(glesLibrary, 'glDepthRangeIndexedfNV');
  6781. glGetFloati_vNV := dlsym(glesLibrary, 'glGetFloati_vNV');
  6782. glEnableiNV := dlsym(glesLibrary, 'glEnableiNV');
  6783. glDisableiNV := dlsym(glesLibrary, 'glDisableiNV');
  6784. glIsEnablediNV := dlsym(glesLibrary, 'glIsEnablediNV');
  6785. {$EndIf}
  6786. {$IfDef GL_NV_viewport_swizzle}
  6787. glViewportSwizzleNV := dlsym(glesLibrary, 'glViewportSwizzleNV');
  6788. {$EndIf}
  6789. {$IfDef GL_OVR_multiview}
  6790. glFramebufferTextureMultiviewOVR := dlsym(glesLibrary, 'glFramebufferTextureMultiviewOVR');
  6791. {$EndIf}
  6792. {$IfDef GL_OVR_multiview_multisampled_render_to_texture}
  6793. glFramebufferTextureMultisampleMultiviewOVR := dlsym(glesLibrary, 'glFramebufferTextureMultisampleMultiviewOVR');
  6794. {$EndIf}
  6795. {$IfDef GL_QCOM_alpha_test}
  6796. glAlphaFuncQCOM := dlsym(glesLibrary, 'glAlphaFuncQCOM');
  6797. {$EndIf}
  6798. {$IfDef GL_QCOM_driver_control}
  6799. glGetDriverControlsQCOM := dlsym(glesLibrary, 'glGetDriverControlsQCOM');
  6800. glGetDriverControlStringQCOM := dlsym(glesLibrary, 'glGetDriverControlStringQCOM');
  6801. glEnableDriverControlQCOM := dlsym(glesLibrary, 'glEnableDriverControlQCOM');
  6802. glDisableDriverControlQCOM := dlsym(glesLibrary, 'glDisableDriverControlQCOM');
  6803. {$EndIf}
  6804. {$IfDef GL_QCOM_extended_get}
  6805. glExtGetTexturesQCOM := dlsym(glesLibrary, 'glExtGetTexturesQCOM');
  6806. glExtGetBuffersQCOM := dlsym(glesLibrary, 'glExtGetBuffersQCOM');
  6807. glExtGetRenderbuffersQCOM := dlsym(glesLibrary, 'glExtGetRenderbuffersQCOM');
  6808. glExtGetFramebuffersQCOM := dlsym(glesLibrary, 'glExtGetFramebuffersQCOM');
  6809. glExtGetTexLevelParameterivQCOM := dlsym(glesLibrary, 'glExtGetTexLevelParameterivQCOM');
  6810. glExtTexObjectStateOverrideiQCOM := dlsym(glesLibrary, 'glExtTexObjectStateOverrideiQCOM');
  6811. glExtGetTexSubImageQCOM := dlsym(glesLibrary, 'glExtGetTexSubImageQCOM');
  6812. glExtGetBufferPointervQCOM := dlsym(glesLibrary, 'glExtGetBufferPointervQCOM');
  6813. {$EndIf}
  6814. {$IfDef GL_QCOM_extended_get2}
  6815. glExtGetShadersQCOM := dlsym(glesLibrary, 'glExtGetShadersQCOM');
  6816. glExtGetProgramsQCOM := dlsym(glesLibrary, 'glExtGetProgramsQCOM');
  6817. glExtIsProgramBinaryQCOM := dlsym(glesLibrary, 'glExtIsProgramBinaryQCOM');
  6818. glExtGetProgramBinarySourceQCOM := dlsym(glesLibrary, 'glExtGetProgramBinarySourceQCOM');
  6819. {$EndIf}
  6820. {$IfDef GL_QCOM_frame_extrapolation}
  6821. glExtrapolateTex2DQCOM := dlsym(glesLibrary, 'glExtrapolateTex2DQCOM');
  6822. {$EndIf}
  6823. {$IfDef GL_QCOM_framebuffer_foveated}
  6824. glFramebufferFoveationConfigQCOM := dlsym(glesLibrary, 'glFramebufferFoveationConfigQCOM');
  6825. glFramebufferFoveationParametersQCOM := dlsym(glesLibrary, 'glFramebufferFoveationParametersQCOM');
  6826. {$EndIf}
  6827. {$IfDef GL_QCOM_motion_estimation}
  6828. glTexEstimateMotionQCOM := dlsym(glesLibrary, 'glTexEstimateMotionQCOM');
  6829. glTexEstimateMotionRegionsQCOM := dlsym(glesLibrary, 'glTexEstimateMotionRegionsQCOM');
  6830. {$EndIf}
  6831. {$IfDef GL_QCOM_shader_framebuffer_fetch_noncoherent}
  6832. glFramebufferFetchBarrierQCOM := dlsym(glesLibrary, 'glFramebufferFetchBarrierQCOM');
  6833. {$EndIf}
  6834. {$IfDef GL_QCOM_shading_rate}
  6835. glShadingRateQCOM := dlsym(glesLibrary, 'glShadingRateQCOM');
  6836. {$EndIf}
  6837. {$IfDef GL_QCOM_texture_foveated}
  6838. glTextureFoveationParametersQCOM := dlsym(glesLibrary, 'glTextureFoveationParametersQCOM');
  6839. {$EndIf}
  6840. {$IfDef GL_QCOM_tiled_rendering}
  6841. glStartTilingQCOM := dlsym(glesLibrary, 'glStartTilingQCOM');
  6842. glEndTilingQCOM := dlsym(glesLibrary, 'glEndTilingQCOM');
  6843. {$EndIf}
  6844. {$IfDef GL_ES_VERSION_3_0}
  6845. // GL_NV_read_buffer
  6846. glReadBuffer := dlsym(glesLibrary, 'glReadBuffer');
  6847. // none
  6848. glDrawRangeElements := dlsym(glesLibrary, 'glDrawRangeElements');
  6849. // GL_OES_texture_3D
  6850. glTexImage3D := dlsym(glesLibrary, 'glTexImage3D');
  6851. glTexSubImage3D := dlsym(glesLibrary, 'glTexSubImage3D');
  6852. glCopyTexSubImage3D := dlsym(glesLibrary, 'glCopyTexSubImage3D');
  6853. glCompressedTexImage3D := dlsym(glesLibrary, 'glCompressedTexImage3D');
  6854. glCompressedTexSubImage3D := dlsym(glesLibrary, 'glCompressedTexSubImage3D');
  6855. // GL_EXT_disjoint_timer_query
  6856. glGenQueries := dlsym(glesLibrary, 'glGenQueries');
  6857. glDeleteQueries := dlsym(glesLibrary, 'glDeleteQueries');
  6858. glIsQuery := dlsym(glesLibrary, 'glIsQuery');
  6859. glBeginQuery := dlsym(glesLibrary, 'glBeginQuery');
  6860. glEndQuery := dlsym(glesLibrary, 'glEndQuery');
  6861. glGetQueryiv := dlsym(glesLibrary, 'glGetQueryiv');
  6862. glGetQueryObjectuiv := dlsym(glesLibrary, 'glGetQueryObjectuiv');
  6863. // GL_OES_mapbuffer
  6864. glUnmapBuffer := dlsym(glesLibrary, 'glUnmapBuffer');
  6865. glGetBufferPointerv := dlsym(glesLibrary, 'glGetBufferPointerv');
  6866. // GL_EXT_draw_buffers + GL_NV_draw_buffers
  6867. glDrawBuffers := dlsym(glesLibrary, 'glDrawBuffers');
  6868. // GL_NV_non_square_matrices
  6869. glUniformMatrix2x3fv := dlsym(glesLibrary, 'glUniformMatrix2x3fv');
  6870. glUniformMatrix3x2fv := dlsym(glesLibrary, 'glUniformMatrix3x2fv');
  6871. glUniformMatrix2x4fv := dlsym(glesLibrary, 'glUniformMatrix2x4fv');
  6872. glUniformMatrix4x2fv := dlsym(glesLibrary, 'glUniformMatrix4x2fv');
  6873. glUniformMatrix3x4fv := dlsym(glesLibrary, 'glUniformMatrix3x4fv');
  6874. glUniformMatrix4x3fv := dlsym(glesLibrary, 'glUniformMatrix4x3fv');
  6875. // GL_ANGLE_framebuffer_blit + GL_NV_framebuffer_blit
  6876. glBlitFramebuffer := dlsym(glesLibrary, 'glBlitFramebuffer');
  6877. // GL_ANGLE_framebuffer_multisample + GL_APPLE_framebuffer_multisample + GL_EXT_multisampled_render_to_texture +
  6878. // GL_IMG_multisampled_render_to_texture + GL_NV_framebuffer_multisample
  6879. glRenderbufferStorageMultisample := dlsym(glesLibrary, 'glRenderbufferStorageMultisample');
  6880. // none
  6881. glFramebufferTextureLayer := dlsym(glesLibrary, 'glFramebufferTextureLayer');
  6882. // GL_EXT_map_buffer_range
  6883. glMapBufferRange := dlsym(glesLibrary, 'glMapBufferRange');
  6884. glFlushMappedBufferRange := dlsym(glesLibrary, 'glFlushMappedBufferRange');
  6885. // GL_OES_vertex_array_object
  6886. glBindVertexArray := dlsym(glesLibrary, 'glBindVertexArray');
  6887. glDeleteVertexArrays := dlsym(glesLibrary, 'glDeleteVertexArrays');
  6888. glGenVertexArrays := dlsym(glesLibrary, 'glGenVertexArrays');
  6889. glIsVertexArray := dlsym(glesLibrary, 'glIsVertexArray');
  6890. // GL_EXT_multiview_draw_buffers
  6891. glGetIntegeri_v := dlsym(glesLibrary, 'glGetIntegeri_v');
  6892. // none
  6893. glBeginTransformFeedback := dlsym(glesLibrary, 'glBeginTransformFeedback');
  6894. glEndTransformFeedback := dlsym(glesLibrary, 'glEndTransformFeedback');
  6895. glBindBufferRange := dlsym(glesLibrary, 'glBindBufferRange');
  6896. glBindBufferBase := dlsym(glesLibrary, 'glBindBufferBase');
  6897. glTransformFeedbackVaryings := dlsym(glesLibrary, 'glTransformFeedbackVaryings');
  6898. glGetTransformFeedbackVarying := dlsym(glesLibrary, 'glGetTransformFeedbackVarying');
  6899. glVertexAttribIPointer := dlsym(glesLibrary, 'glVertexAttribIPointer');
  6900. glGetVertexAttribIiv := dlsym(glesLibrary, 'glGetVertexAttribIiv');
  6901. glGetVertexAttribIuiv := dlsym(glesLibrary, 'glGetVertexAttribIuiv');
  6902. glVertexAttribI4i := dlsym(glesLibrary, 'glVertexAttribI4i');
  6903. glVertexAttribI4ui := dlsym(glesLibrary, 'glVertexAttribI4ui');
  6904. glVertexAttribI4iv := dlsym(glesLibrary, 'glVertexAttribI4iv');
  6905. glVertexAttribI4uiv := dlsym(glesLibrary, 'glVertexAttribI4uiv');
  6906. glGetUniformuiv := dlsym(glesLibrary, 'glGetUniformuiv');
  6907. glGetFragDataLocation := dlsym(glesLibrary, 'glGetFragDataLocation');
  6908. glUniform1ui := dlsym(glesLibrary, 'glUniform1ui');
  6909. glUniform2ui := dlsym(glesLibrary, 'glUniform2ui');
  6910. glUniform3ui := dlsym(glesLibrary, 'glUniform3ui');
  6911. glUniform4ui := dlsym(glesLibrary, 'glUniform4ui');
  6912. glUniform1uiv := dlsym(glesLibrary, 'glUniform1uiv');
  6913. glUniform2uiv := dlsym(glesLibrary, 'glUniform2uiv');
  6914. glUniform3uiv := dlsym(glesLibrary, 'glUniform3uiv');
  6915. glUniform4uiv := dlsym(glesLibrary, 'glUniform4uiv');
  6916. glClearBufferiv := dlsym(glesLibrary, 'glClearBufferiv');
  6917. glClearBufferuiv := dlsym(glesLibrary, 'glClearBufferuiv');
  6918. glClearBufferfv := dlsym(glesLibrary, 'glClearBufferfv');
  6919. glClearBufferfi := dlsym(glesLibrary, 'glClearBufferfi');
  6920. glGetStringi := dlsym(glesLibrary, 'glGetStringi');
  6921. // GL_NV_copy_buffer
  6922. glCopyBufferSubData := dlsym(glesLibrary, 'glCopyBufferSubData');
  6923. // none
  6924. glGetUniformIndices := dlsym(glesLibrary, 'glGetUniformIndices');
  6925. glGetActiveUniformsiv := dlsym(glesLibrary, 'glGetActiveUniformsiv');
  6926. glGetUniformBlockIndex := dlsym(glesLibrary, 'glGetUniformBlockIndex');
  6927. glGetActiveUniformBlockiv := dlsym(glesLibrary, 'glGetActiveUniformBlockiv');
  6928. glGetActiveUniformBlockName := dlsym(glesLibrary, 'glGetActiveUniformBlockName');
  6929. glUniformBlockBinding := dlsym(glesLibrary, 'glUniformBlockBinding');
  6930. // GL_ANGLE_instanced_arrays GL_EXT_draw_instanced GL_NV_draw_instanced
  6931. glDrawArraysInstanced := dlsym(glesLibrary, 'glDrawArraysInstanced');
  6932. glDrawElementsInstanced := dlsym(glesLibrary, 'glDrawElementsInstanced');
  6933. // GL_APPLE_sync
  6934. glFenceSync := dlsym(glesLibrary, 'glFenceSync');
  6935. glIsSync := dlsym(glesLibrary, 'glIsSync');
  6936. glDeleteSync := dlsym(glesLibrary, 'glDeleteSync');
  6937. glClientWaitSync := dlsym(glesLibrary, 'glClientWaitSync');
  6938. glWaitSync := dlsym(glesLibrary, 'glWaitSync');
  6939. // GL_APPLE_sync GL_EXT_disjoint_timer_query
  6940. glGetInteger64v := dlsym(glesLibrary, 'glGetInteger64v');
  6941. // GL_APPLE_sync
  6942. glGetSynciv := dlsym(glesLibrary, 'glGetSynciv');
  6943. // none
  6944. glGetInteger64i_v := dlsym(glesLibrary, 'glGetInteger64i_v');
  6945. glGetBufferParameteri64v := dlsym(glesLibrary, 'glGetBufferParameteri64v');
  6946. glGenSamplers := dlsym(glesLibrary, 'glGenSamplers');
  6947. glDeleteSamplers := dlsym(glesLibrary, 'glDeleteSamplers');
  6948. glIsSampler := dlsym(glesLibrary, 'glIsSampler');
  6949. glBindSampler := dlsym(glesLibrary, 'glBindSampler');
  6950. glSamplerParameteri := dlsym(glesLibrary, 'glSamplerParameteri');
  6951. glSamplerParameteriv := dlsym(glesLibrary, 'glSamplerParameteriv');
  6952. glSamplerParameterf := dlsym(glesLibrary, 'glSamplerParameterf');
  6953. glSamplerParameterfv := dlsym(glesLibrary, 'glSamplerParameterfv');
  6954. glGetSamplerParameteriv := dlsym(glesLibrary, 'glGetSamplerParameteriv');
  6955. glGetSamplerParameterfv := dlsym(glesLibrary, 'glGetSamplerParameterfv');
  6956. // GL_ANGLE_instanced_arrays GL_EXT_instanced_arrays GL_NV_instanced_arrays
  6957. glVertexAttribDivisor := dlsym(glesLibrary, 'glVertexAttribDivisor');
  6958. // none
  6959. glBindTransformFeedback := dlsym(glesLibrary, 'glBindTransformFeedback');
  6960. glDeleteTransformFeedbacks := dlsym(glesLibrary, 'glDeleteTransformFeedbacks');
  6961. glGenTransformFeedbacks := dlsym(glesLibrary, 'glGenTransformFeedbacks');
  6962. glIsTransformFeedback := dlsym(glesLibrary, 'glIsTransformFeedback');
  6963. glPauseTransformFeedback := dlsym(glesLibrary, 'glPauseTransformFeedback');
  6964. glResumeTransformFeedback := dlsym(glesLibrary, 'glResumeTransformFeedback');
  6965. // GL_OES_get_program_binary
  6966. glGetProgramBinary := dlsym(glesLibrary, 'glGetProgramBinary');
  6967. glProgramBinary := dlsym(glesLibrary, 'glProgramBinary');
  6968. // GL_EXT_separate_shader_objects
  6969. glProgramParameteri := dlsym(glesLibrary, 'glProgramParameteri');
  6970. // none
  6971. glInvalidateFramebuffer := dlsym(glesLibrary, 'glInvalidateFramebuffer');
  6972. glInvalidateSubFramebuffer := dlsym(glesLibrary, 'glInvalidateSubFramebuffer');
  6973. // GL_EXT_texture_storage
  6974. glTexStorage2D := dlsym(glesLibrary, 'glTexStorage2D');
  6975. glTexStorage3D := dlsym(glesLibrary, 'glTexStorage3D');
  6976. // none
  6977. glGetInternalformativ := dlsym(glesLibrary, 'glGetInternalformativ');
  6978. {$EndIf}
  6979. {$IfDef GL_ES_VERSION_3_1}
  6980. // none
  6981. glDispatchCompute := dlsym(glesLibrary, 'glDispatchCompute');
  6982. glDispatchComputeIndirect := dlsym(glesLibrary, 'glDispatchComputeIndirect');
  6983. glDrawArraysIndirect := dlsym(glesLibrary, 'glDrawArraysIndirect');
  6984. glDrawElementsIndirect := dlsym(glesLibrary, 'glDrawElementsIndirect');
  6985. // GL_MESA_framebuffer_flip_y
  6986. glFramebufferParameteri := dlsym(glesLibrary, 'glFramebufferParameteri');
  6987. glGetFramebufferParameteriv := dlsym(glesLibrary, 'glGetFramebufferParameteriv');
  6988. // none
  6989. glGetProgramInterfaceiv := dlsym(glesLibrary, 'glGetProgramInterfaceiv');
  6990. glGetProgramResourceIndex := dlsym(glesLibrary, 'glGetProgramResourceIndex');
  6991. glGetProgramResourceName := dlsym(glesLibrary, 'glGetProgramResourceName');
  6992. glGetProgramResourceiv := dlsym(glesLibrary, 'glGetProgramResourceiv');
  6993. glGetProgramResourceLocation := dlsym(glesLibrary, 'glGetProgramResourceLocation');
  6994. // GL_EXT_separate_shader_objects
  6995. glUseProgramStages := dlsym(glesLibrary, 'glUseProgramStages');
  6996. glActiveShaderProgram := dlsym(glesLibrary, 'glActiveShaderProgram');
  6997. glCreateShaderProgramv := dlsym(glesLibrary, 'glCreateShaderProgramv');
  6998. glBindProgramPipeline := dlsym(glesLibrary, 'glBindProgramPipeline');
  6999. glDeleteProgramPipelines := dlsym(glesLibrary, 'glDeleteProgramPipelines');
  7000. glGenProgramPipelines := dlsym(glesLibrary, 'glGenProgramPipelines');
  7001. glIsProgramPipeline := dlsym(glesLibrary, 'glIsProgramPipeline');
  7002. glGetProgramPipelineiv := dlsym(glesLibrary, 'glGetProgramPipelineiv');
  7003. glProgramUniform1i := dlsym(glesLibrary, 'glProgramUniform1i');
  7004. glProgramUniform2i := dlsym(glesLibrary, 'glProgramUniform2i');
  7005. glProgramUniform3i := dlsym(glesLibrary, 'glProgramUniform3i');
  7006. glProgramUniform4i := dlsym(glesLibrary, 'glProgramUniform4i');
  7007. glProgramUniform1ui := dlsym(glesLibrary, 'glProgramUniform1ui');
  7008. glProgramUniform2ui := dlsym(glesLibrary, 'glProgramUniform2ui');
  7009. glProgramUniform3ui := dlsym(glesLibrary, 'glProgramUniform3ui');
  7010. glProgramUniform4ui := dlsym(glesLibrary, 'glProgramUniform4ui');
  7011. glProgramUniform1f := dlsym(glesLibrary, 'glProgramUniform1f');
  7012. glProgramUniform2f := dlsym(glesLibrary, 'glProgramUniform2f');
  7013. glProgramUniform3f := dlsym(glesLibrary, 'glProgramUniform3f');
  7014. glProgramUniform4f := dlsym(glesLibrary, 'glProgramUniform4f');
  7015. glProgramUniform1iv := dlsym(glesLibrary, 'glProgramUniform1iv');
  7016. glProgramUniform2iv := dlsym(glesLibrary, 'glProgramUniform2iv');
  7017. glProgramUniform3iv := dlsym(glesLibrary, 'glProgramUniform3iv');
  7018. glProgramUniform4iv := dlsym(glesLibrary, 'glProgramUniform4iv');
  7019. glProgramUniform1uiv := dlsym(glesLibrary, 'glProgramUniform1uiv');
  7020. glProgramUniform2uiv := dlsym(glesLibrary, 'glProgramUniform2uiv');
  7021. glProgramUniform3uiv := dlsym(glesLibrary, 'glProgramUniform3uiv');
  7022. glProgramUniform4uiv := dlsym(glesLibrary, 'glProgramUniform4uiv');
  7023. glProgramUniform1fv := dlsym(glesLibrary, 'glProgramUniform1fv');
  7024. glProgramUniform2fv := dlsym(glesLibrary, 'glProgramUniform2fv');
  7025. glProgramUniform3fv := dlsym(glesLibrary, 'glProgramUniform3fv');
  7026. glProgramUniform4fv := dlsym(glesLibrary, 'glProgramUniform4fv');
  7027. glProgramUniformMatrix2fv := dlsym(glesLibrary, 'glProgramUniformMatrix2fv');
  7028. glProgramUniformMatrix3fv := dlsym(glesLibrary, 'glProgramUniformMatrix3fv');
  7029. glProgramUniformMatrix4fv := dlsym(glesLibrary, 'glProgramUniformMatrix4fv');
  7030. glProgramUniformMatrix2x3fv := dlsym(glesLibrary, 'glProgramUniformMatrix2x3fv');
  7031. glProgramUniformMatrix3x2fv := dlsym(glesLibrary, 'glProgramUniformMatrix3x2fv');
  7032. glProgramUniformMatrix2x4fv := dlsym(glesLibrary, 'glProgramUniformMatrix2x4fv');
  7033. glProgramUniformMatrix4x2fv := dlsym(glesLibrary, 'glProgramUniformMatrix4x2fv');
  7034. glProgramUniformMatrix3x4fv := dlsym(glesLibrary, 'glProgramUniformMatrix3x4fv');
  7035. glProgramUniformMatrix4x3fv := dlsym(glesLibrary, 'glProgramUniformMatrix4x3fv');
  7036. glValidateProgramPipeline := dlsym(glesLibrary, 'glValidateProgramPipeline');
  7037. glGetProgramPipelineInfoLog := dlsym(glesLibrary, 'glGetProgramPipelineInfoLog');
  7038. // none
  7039. glBindImageTexture := dlsym(glesLibrary, 'glBindImageTexture');
  7040. glGetBooleani_v := dlsym(glesLibrary, 'glGetBooleani_v');
  7041. glMemoryBarrier := dlsym(glesLibrary, 'glMemoryBarrier');
  7042. glMemoryBarrierByRegion := dlsym(glesLibrary, 'glMemoryBarrierByRegion');
  7043. glTexStorage2DMultisample := dlsym(glesLibrary, 'glTexStorage2DMultisample');
  7044. glGetMultisamplefv := dlsym(glesLibrary, 'glGetMultisamplefv');
  7045. glSampleMaski := dlsym(glesLibrary, 'glSampleMaski');
  7046. glGetTexLevelParameteriv := dlsym(glesLibrary, 'glGetTexLevelParameteriv');
  7047. glGetTexLevelParameterfv := dlsym(glesLibrary, 'glGetTexLevelParameterfv');
  7048. glBindVertexBuffer := dlsym(glesLibrary, 'glBindVertexBuffer');
  7049. glVertexAttribFormat := dlsym(glesLibrary, 'glVertexAttribFormat');
  7050. glVertexAttribIFormat := dlsym(glesLibrary, 'glVertexAttribIFormat');
  7051. glVertexAttribBinding := dlsym(glesLibrary, 'glVertexAttribBinding');
  7052. glVertexBindingDivisor := dlsym(glesLibrary, 'glVertexBindingDivisor');
  7053. {$EndIf}
  7054. {$IfDef GL_ES_VERSION_3_2}
  7055. // GL_KHR_blend_equation_advanced GL_NV_blend_equation_advanced
  7056. glBlendBarrier := dlsym(glesLibrary, 'glBlendBarrier');
  7057. // GL_OES_copy_image GL_EXT_copy_image
  7058. glCopyImageSubData := dlsym(glesLibrary, 'glCopyImageSubData');
  7059. // GL_KHR_debug
  7060. glDebugMessageControl := dlsym(glesLibrary, 'glDebugMessageControl');
  7061. glDebugMessageInsert := dlsym(glesLibrary, 'glDebugMessageInsert');
  7062. glDebugMessageCallback := dlsym(glesLibrary, 'glDebugMessageCallback');
  7063. glGetDebugMessageLog := dlsym(glesLibrary, 'glGetDebugMessageLog');
  7064. glPushDebugGroup := dlsym(glesLibrary, 'glPushDebugGroup');
  7065. glPopDebugGroup := dlsym(glesLibrary, 'glPopDebugGroup');
  7066. glObjectLabel := dlsym(glesLibrary, 'glObjectLabel');
  7067. // GL_KHR_debug GL_EXT_debug_label
  7068. glGetObjectLabel := dlsym(glesLibrary, 'glGetObjectLabel');
  7069. // GL_KHR_debug
  7070. glObjectPtrLabel := dlsym(glesLibrary, 'glObjectPtrLabel');
  7071. glGetObjectPtrLabel := dlsym(glesLibrary, 'glGetObjectPtrLabel');
  7072. glGetPointerv := dlsym(glesLibrary, 'glGetPointerv');
  7073. // GL_OES_draw_buffers_indexed GL_NV_viewport_array
  7074. glEnablei := dlsym(glesLibrary, 'glEnablei');
  7075. glDisablei := dlsym(glesLibrary, 'glDisablei');
  7076. // GL_OES_draw_buffers_indexed
  7077. glBlendEquationi := dlsym(glesLibrary, 'glBlendEquationi');
  7078. glBlendEquationSeparatei := dlsym(glesLibrary, 'glBlendEquationSeparatei');
  7079. glBlendFunci := dlsym(glesLibrary, 'glBlendFunci');
  7080. glBlendFuncSeparatei := dlsym(glesLibrary, 'glBlendFuncSeparatei');
  7081. glColorMaski := dlsym(glesLibrary, 'glColorMaski');
  7082. // GL_OES_draw_buffers_indexed GL_NV_viewport_array
  7083. glIsEnabledi := dlsym(glesLibrary, 'glIsEnabledi');
  7084. // GL_OES_draw_elements_base_vertex GL_EXT_draw_elements_base_vertex
  7085. glDrawElementsBaseVertex := dlsym(glesLibrary, 'glDrawElementsBaseVertex');
  7086. glDrawRangeElementsBaseVertex := dlsym(glesLibrary, 'glDrawRangeElementsBaseVertex');
  7087. glDrawElementsInstancedBaseVertex := dlsym(glesLibrary, 'glDrawElementsInstancedBaseVertex');
  7088. // GL_OES_geometry_shader GL_EXT_geometry_shader
  7089. glFramebufferTexture := dlsym(glesLibrary, 'glFramebufferTexture');
  7090. // GL_OES_primitive_bounding_box GL_EXT_primitive_bounding_box
  7091. glPrimitiveBoundingBox := dlsym(glesLibrary, 'glPrimitiveBoundingBox');
  7092. // GL_KHR_robustness GL_EXT_robustness
  7093. glGetGraphicsResetStatus := dlsym(glesLibrary, 'glGetGraphicsResetStatus');
  7094. glReadnPixels := dlsym(glesLibrary, 'glReadnPixels');
  7095. glGetnUniformfv := dlsym(glesLibrary, 'glGetnUniformfv');
  7096. glGetnUniformiv := dlsym(glesLibrary, 'glGetnUniformiv');
  7097. // GL_KHR_robustness
  7098. glGetnUniformuiv := dlsym(glesLibrary, 'glGetnUniformuiv');
  7099. // GL_OES_sample_shading
  7100. glMinSampleShading := dlsym(glesLibrary, 'glMinSampleShading');
  7101. // GL_OES_tessellation_shader GL_EXT_tessellation_shader
  7102. glPatchParameteri := dlsym(glesLibrary, 'glPatchParameteri');
  7103. // GL_OES_texture_border_clamp GL_EXT_texture_border_clamp
  7104. glTexParameterIiv := dlsym(glesLibrary, 'glTexParameterIiv');
  7105. glTexParameterIuiv := dlsym(glesLibrary, 'glTexParameterIuiv');
  7106. glGetTexParameterIiv := dlsym(glesLibrary, 'glGetTexParameterIiv');
  7107. glGetTexParameterIuiv := dlsym(glesLibrary, 'glGetTexParameterIuiv');
  7108. glSamplerParameterIiv := dlsym(glesLibrary, 'glSamplerParameterIiv');
  7109. glSamplerParameterIuiv := dlsym(glesLibrary, 'glSamplerParameterIuiv');
  7110. glGetSamplerParameterIiv := dlsym(glesLibrary, 'glGetSamplerParameterIiv');
  7111. glGetSamplerParameterIuiv := dlsym(glesLibrary, 'glGetSamplerParameterIuiv');
  7112. // GL_OES_texture_buffer GL_EXT_texture_buffer
  7113. glTexBuffer := dlsym(glesLibrary, 'glTexBuffer');
  7114. glTexBufferRange := dlsym(glesLibrary, 'glTexBufferRange');
  7115. // GL_OES_texture_storage_multisample_2d_array
  7116. glTexStorage3DMultisample := dlsym(glesLibrary, 'glTexStorage3DMultisample');
  7117. {$EndIf}
  7118. end;
  7119. procedure FreeOpenGLES;
  7120. begin
  7121. {$IfDef GL_VERSION_ES_CM_1_0}
  7122. // min GLES function - glAlphaFunc := nil;
  7123. // min GLES function - glClearColor := nil;
  7124. // min GLES function - glClearDepthf := nil;
  7125. glClipPlanef := nil;
  7126. // min GLES function - glColor4f := nil;
  7127. glDepthRangef := nil;
  7128. glFogf := nil;
  7129. glFogfv := nil;
  7130. glFrustumf := nil;
  7131. glGetClipPlanef := nil;
  7132. // min GLES function - glGetFloatv := nil;
  7133. glGetLightfv := nil;
  7134. glGetMaterialfv := nil;
  7135. glGetTexEnvfv := nil;
  7136. glGetTexParameterfv := nil;
  7137. glLightModelf := nil;
  7138. glLightModelfv := nil;
  7139. glLightf := nil;
  7140. glLightfv := nil;
  7141. glLineWidth := nil;
  7142. // min GLES function - glLoadMatrixf := nil;
  7143. glMaterialf := nil;
  7144. glMaterialfv := nil;
  7145. glMultMatrixf := nil;
  7146. glMultiTexCoord4f := nil;
  7147. glNormal3f := nil;
  7148. // min GLES function - glOrthof := nil;
  7149. glPointParameterf := nil;
  7150. glPointParameterfv := nil;
  7151. glPointSize := nil;
  7152. glPolygonOffset := nil;
  7153. // min GLES function - glRotatef := nil;
  7154. // min GLES function - glScalef := nil;
  7155. glTexEnvf := nil;
  7156. glTexEnvfv := nil;
  7157. // min GLES function - glTexParameterf := nil;
  7158. glTexParameterfv := nil;
  7159. // min GLES function - glTranslatef := nil;
  7160. glActiveTexture := nil;
  7161. glAlphaFuncx := nil;
  7162. glBindBuffer := nil;
  7163. // min GLES function - glBindTexture := nil;
  7164. // min GLES function - glBlendFunc := nil;
  7165. glBufferData := nil;
  7166. glBufferSubData := nil;
  7167. // min GLES function - glClear := nil;
  7168. glClearColorx := nil;
  7169. glClearDepthx := nil;
  7170. glClearStencil := nil;
  7171. glClientActiveTexture := nil;
  7172. glClipPlanex := nil;
  7173. glColor4ub := nil;
  7174. glColor4x := nil;
  7175. // min GLES function - glColorMask := nil;
  7176. // min GLES function - glColorPointer := nil;
  7177. // min GLES function - glCompressedTexImage2D := nil;
  7178. // min GLES function - glCompressedTexSubImage2D := nil;
  7179. glCopyTexImage2D := nil;
  7180. // min GLES function - glCopyTexSubImage2D := nil;
  7181. glCullFace := nil;
  7182. glDeleteBuffers := nil;
  7183. // min GLES function - glDeleteTextures := nil;
  7184. // min GLES function - glDepthFunc := nil;
  7185. // min GLES function - glDepthMask := nil;
  7186. glDepthRangex := nil;
  7187. // min GLES function - glDisable := nil;
  7188. // min GLES function - glDisableClientState := nil;
  7189. // min GLES function - glDrawArrays := nil;
  7190. // min GLES function - glDrawElements := nil;
  7191. // min GLES function - glEnable := nil;
  7192. // min GLES function - glEnableClientState := nil;
  7193. glFinish := nil;
  7194. glFlush := nil;
  7195. glFogx := nil;
  7196. glFogxv := nil;
  7197. glFrontFace := nil;
  7198. glFrustumx := nil;
  7199. glGetBooleanv := nil;
  7200. glGetBufferParameteriv := nil;
  7201. glGetClipPlanex := nil;
  7202. glGenBuffers := nil;
  7203. // min GLES function - glGenTextures := nil;
  7204. glGetError := nil;
  7205. glGetFixedv := nil;
  7206. // min GLES function - nil;
  7207. glGetLightxv := nil;
  7208. glGetMaterialxv := nil;
  7209. glGetPointerv := nil;
  7210. // min GLES function - glGetString := nil;
  7211. glGetTexEnviv := nil;
  7212. glGetTexEnvxv := nil;
  7213. glGetTexParameteriv := nil;
  7214. glGetTexParameterxv := nil;
  7215. // min GLES function - glHint := nil;
  7216. glIsBuffer := nil;
  7217. glIsEnabled := nil;
  7218. glIsTexture := nil;
  7219. glLightModelx := nil;
  7220. glLightModelxv := nil;
  7221. glLightx := nil;
  7222. glLightxv := nil;
  7223. glLineWidthx := nil;
  7224. // min GLES function - glLoadIdentity := nil;
  7225. glLoadMatrixx := nil;
  7226. glLogicOp := nil;
  7227. glMaterialx := nil;
  7228. glMaterialxv := nil;
  7229. // min GLES function - glMatrixMode := nil;
  7230. glMultMatrixx := nil;
  7231. glMultiTexCoord4x := nil;
  7232. glNormal3x := nil;
  7233. glNormalPointer := nil;
  7234. glOrthox := nil;
  7235. // min GLES function - glPixelStorei := nil;
  7236. glPointParameterx := nil;
  7237. glPointParameterxv := nil;
  7238. glPointSizex := nil;
  7239. glPolygonOffsetx := nil;
  7240. // min GLES function - glPopMatrix := nil;
  7241. // min GLES function - glPushMatrix := nil;
  7242. // min GLES function - glReadPixels := nil;
  7243. glRotatex := nil;
  7244. glSampleCoverage := nil;
  7245. glSampleCoveragex := nil;
  7246. glScalex := nil;
  7247. // min GLES function - glScissor := nil;
  7248. // min GLES function - glShadeModel := nil;
  7249. glStencilFunc := nil;
  7250. glStencilMask := nil;
  7251. glStencilOp := nil;
  7252. // min GLES function - glTexCoordPointer := nil;
  7253. // min GLES function - glTexEnvi := nil;
  7254. // min GLES function - glTexEnvx := nil;
  7255. // min GLES function - glTexEnviv := nil;
  7256. // min GLES function - glTexEnvxv := nil;
  7257. // min GLES function - glTexImage2D := nil;
  7258. // min GLES function - glTexParameteri := nil;
  7259. // min GLES function - glTexParameterx := nil;
  7260. // min GLES function - glTexParameteriv := nil;
  7261. // min GLES function - glTexParameterxv := nil;
  7262. // min GLES function - glTexSubImage2D := nil;
  7263. glTranslatex := nil;
  7264. // min GLES function - glVertexPointer := nil;
  7265. // min GLES function - glViewport := nil;
  7266. {$IfDef GL_OES_point_size_array}
  7267. glPointSizePointerOES := nil;
  7268. {$EndIf}
  7269. {$IfDef GL_OES_blend_equation_separate}
  7270. glBlendEquationSeparateOES := nil;
  7271. {$EndIf}
  7272. {$IfDef GL_OES_blend_func_separate}
  7273. // min GLES function - glBlendFuncSeparateOES := nil;
  7274. {$EndIf}
  7275. {$IfDef GL_OES_blend_subtract}
  7276. glBlendEquationOES := nil;
  7277. {$EndIf}
  7278. {$IfDef GL_OES_draw_texture}
  7279. glDrawTexsOES := nil;
  7280. glDrawTexiOES := nil;
  7281. glDrawTexxOES := nil;
  7282. glDrawTexsvOES := nil;
  7283. glDrawTexivOES := nil;
  7284. glDrawTexxvOES := nil;
  7285. glDrawTexfOES := nil;
  7286. glDrawTexfvOES := nil;
  7287. {$EndIf}
  7288. {$IfDef GL_OES_fixed_point}
  7289. glAlphaFuncxOES := nil;
  7290. glClearColorxOES := nil;
  7291. glClearDepthxOES := nil;
  7292. glClipPlanexOES := nil;
  7293. glColor4xOES := nil;
  7294. glDepthRangexOES := nil;
  7295. glFogxOES := nil;
  7296. glFogxvOES := nil;
  7297. glFrustumxOES := nil;
  7298. glGetClipPlanexOES := nil;
  7299. glGetFixedvOES := nil;
  7300. glGetTexEnvxvOES := nil;
  7301. glGetTexParameterxvOES := nil;
  7302. glLightModelxOES := nil;
  7303. glLightModelxvOES := nil;
  7304. glLightxOES := nil;
  7305. glLightxvOES := nil;
  7306. glLineWidthxOES := nil;
  7307. glLoadMatrixxOES := nil;
  7308. glMaterialxOES := nil;
  7309. glMaterialxvOES := nil;
  7310. glMultMatrixxOES := nil;
  7311. glMultiTexCoord4xOES := nil;
  7312. glNormal3xOES := nil;
  7313. glOrthoxOES := nil;
  7314. glPointParameterxvOES := nil;
  7315. glPointSizexOES := nil;
  7316. glPolygonOffsetxOES := nil;
  7317. glRotatexOES := nil;
  7318. glScalexOES := nil;
  7319. glTexEnvxOES := nil;
  7320. glTexEnvxvOES := nil;
  7321. glTexParameterxOES := nil;
  7322. glTexParameterxvOES := nil;
  7323. glTranslatexOES := nil;
  7324. glGetLightxvOES := nil;
  7325. glGetMaterialxvOES := nil;
  7326. glPointParameterxOES := nil;
  7327. glSampleCoveragexOES := nil;
  7328. glGetTexGenxvOES := nil;
  7329. glTexGenxOES := nil;
  7330. glTexGenxvOES := nil;
  7331. {$EndIf}
  7332. {$IfDef GL_OES_framebuffer_object}
  7333. // min GLES function - glIsRenderbufferOES := nil;
  7334. // min GLES function - glBindRenderbufferOES := nil;
  7335. // min GLES function - glDeleteRenderbuffersOES := nil;
  7336. // min GLES function - glGenRenderbuffersOES := nil;
  7337. // min GLES function - glRenderbufferStorageOES := nil;
  7338. // min GLES function - glGetRenderbufferParameterivOES := nil;
  7339. // min GLES function - glIsFramebufferOES := nil;
  7340. // min GLES function - glBindFramebufferOES := nil;
  7341. // min GLES function - glDeleteFramebuffersOES := nil;
  7342. // min GLES function - glGenFramebuffersOES := nil;
  7343. // min GLES function - glCheckFramebufferStatusOES := nil;
  7344. // min GLES function - glFramebufferRenderbufferOES := nil;
  7345. // min GLES function - glFramebufferTexture2DOES := nil;
  7346. // min GLES function - glGetFramebufferAttachmentParameterivOES := nil;
  7347. // min GLES function - glGenerateMipmapOES := nil;
  7348. {$EndIf}
  7349. {$IfDef GL_OES_matrix_palette}
  7350. glCurrentPaletteMatrixOES := nil;
  7351. glLoadPaletteFromModelViewMatrixOES := nil;
  7352. glMatrixIndexPointerOES := nil;
  7353. glWeightPointerOES := nil;
  7354. {$EndIf}
  7355. {$IfDef GL_OES_query_matrix}
  7356. glQueryMatrixxOES := nil;
  7357. {$EndIf}
  7358. {$IfDef GL_OES_single_precision}
  7359. glClearDepthfOES := nil;
  7360. glClipPlanefOES := nil;
  7361. glDepthRangefOES := nil;
  7362. glFrustumfOES := nil;
  7363. glGetClipPlanefOES := nil;
  7364. glOrthofOES := nil;
  7365. {$EndIf}
  7366. {$IfDef GL_OES_texture_cube_map}
  7367. glTexGenfOES := nil;
  7368. glTexGenfvOES := nil;
  7369. glTexGeniOES := nil;
  7370. glTexGenivOES := nil;
  7371. glGetTexGenfvOES := nil;
  7372. glGetTexGenivOES := nil;
  7373. {$EndIf}
  7374. {$IfDef GL_IMG_user_clip_plane}
  7375. glClipPlanefIMG := nil;
  7376. glClipPlanexIMG := nil;
  7377. {$EndIf}
  7378. {$EndIf}
  7379. {$IfDef GL_ES_VERSION_2_0}
  7380. glActiveTexture := nil;
  7381. glAttachShader := nil;
  7382. glBindAttribLocation := nil;
  7383. glBindBuffer := nil;
  7384. // min GLES function - glBindFramebuffer := nil;
  7385. // min GLES function - glBindRenderbuffer := nil;
  7386. // min GLES function - glBindTexture := nil;
  7387. glBlendColor := nil;
  7388. // min GLES function - glBlendEquation := nil;
  7389. glBlendEquationSeparate := nil;
  7390. // min GLES function - glBlendFunc := nil;
  7391. // min GLES function - glBlendFuncSeparate := nil;
  7392. glBufferData := nil;
  7393. glBufferSubData := nil;
  7394. // min GLES function - glCheckFramebufferStatus := nil;
  7395. // min GLES function - glClear := nil;
  7396. // min GLES function - glClearColor := nil;
  7397. // min GLES function - glClearDepthf := nil;
  7398. glClearStencil := nil;
  7399. // min GLES function - glColorMask := nil;
  7400. glCompileShader := nil;
  7401. // min GLES function - glCompressedTexImage2D := nil;
  7402. // min GLES function - glCompressedTexSubImage2D := nil;
  7403. glCopyTexImage2D := nil;
  7404. // min GLES function - glCopyTexSubImage2D := nil;
  7405. glCreateProgram := nil;
  7406. glCreateShader := nil;
  7407. glCullFace := nil;
  7408. glDeleteBuffers := nil;
  7409. // min GLES function - glDeleteFramebuffers := nil;
  7410. glDeleteProgram := nil;
  7411. // min GLES function - glDeleteRenderbuffers := nil;
  7412. glDeleteShader := nil;
  7413. // min GLES function - glDeleteTextures := nil;
  7414. // min GLES function - glDepthFunc := nil;
  7415. // min GLES function - glDepthMask := nil;
  7416. glDepthRangef := nil;
  7417. glDetachShader := nil;
  7418. // min GLES function - glDisable := nil;
  7419. glDisableVertexAttribArray := nil;
  7420. // min GLES function - glDrawArrays := nil;
  7421. // min GLES function - glDrawElements := nil;
  7422. // min GLES function - glEnable := nil;
  7423. glEnableVertexAttribArray := nil;
  7424. glFinish := nil;
  7425. glFlush := nil;
  7426. // min GLES function - glFramebufferRenderbuffer := nil;
  7427. // min GLES function - glFramebufferTexture2D := nil;
  7428. glFrontFace := nil;
  7429. glGenBuffers := nil;
  7430. // min GLES function - glGenerateMipmap := nil;
  7431. // min GLES function - glGenFramebuffers := nil;
  7432. // min GLES function - glGenRenderbuffers := nil;
  7433. // min GLES function - glGenTextures := nil;
  7434. glGetActiveAttrib := nil;
  7435. glGetActiveUniform := nil;
  7436. glGetAttachedShaders := nil;
  7437. glGetAttribLocation := nil;
  7438. glGetBooleanv := nil;
  7439. glGetBufferParameteriv := nil;
  7440. glGetError := nil;
  7441. // min GLES function - glGetFloatv := nil;
  7442. // min GLES function - glGetFramebufferAttachmentParameteriv := nil;
  7443. // min GLES function - glGetIntegerv := nil;
  7444. glGetProgramiv := nil;
  7445. glGetProgramInfoLog := nil;
  7446. // min GLES function - glGetRenderbufferParameteriv := nil;
  7447. glGetShaderiv := nil;
  7448. glGetShaderInfoLog := nil;
  7449. glGetShaderPrecisionFormat := nil;
  7450. glGetShaderSource := nil;
  7451. // min GLES function - glGetString := nil;
  7452. glGetTexParameterfv := nil;
  7453. glGetTexParameteriv := nil;
  7454. glGetUniformfv := nil;
  7455. glGetUniformiv := nil;
  7456. glGetUniformLocation := nil;
  7457. glGetVertexAttribfv := nil;
  7458. glGetVertexAttribiv := nil;
  7459. glGetVertexAttribPointerv := nil;
  7460. // min GLES function - glHint := nil;
  7461. glIsBuffer := nil;
  7462. glIsEnabled := nil;
  7463. // min GLES function - glIsFramebuffer := nil;
  7464. glIsProgram := nil;
  7465. // min GLES function - glIsRenderbuffer := nil;
  7466. glIsShader := nil;
  7467. glIsTexture := nil;
  7468. glLineWidth := nil;
  7469. glLinkProgram := nil;
  7470. // min GLES function - glPixelStorei := nil;
  7471. glPolygonOffset := nil;
  7472. // // min GLES function - glReadPixels := nil;
  7473. glReleaseShaderCompiler := nil;
  7474. // min GLES function - glRenderbufferStorage := nil;
  7475. glSampleCoverage := nil;
  7476. // min GLES function - glScissor := nil;
  7477. glShaderBinary := nil;
  7478. glShaderSource := nil;
  7479. glStencilFunc := nil;
  7480. glStencilFuncSeparate := nil;
  7481. glStencilMask := nil;
  7482. glStencilMaskSeparate := nil;
  7483. glStencilOp := nil;
  7484. glStencilOpSeparate := nil;
  7485. // min GLES function - glTexImage2D := dlsym(glesLibrary, 'glTexImage2D');
  7486. // min GLES function - glTexParameterf := dlsym(glesLibrary, 'glTexParameterf');
  7487. glTexParameterfv := nil;
  7488. // min GLES function - glTexParameteri := dlsym(glesLibrary, 'glTexParameteri');
  7489. // min GLES function - glTexParameteriv := dlsym(glesLibrary, 'glTexParameteriv');
  7490. // min GLES function - glTexSubImage2D := dlsym(glesLibrary, 'glTexSubImage2D');
  7491. glUniform1f := nil;
  7492. glUniform1fv := nil;
  7493. glUniform1i := nil;
  7494. glUniform1iv := nil;
  7495. glUniform2f := nil;
  7496. glUniform2fv := nil;
  7497. glUniform2i := nil;
  7498. glUniform2iv := nil;
  7499. glUniform3f := nil;
  7500. glUniform3fv := nil;
  7501. glUniform3i := nil;
  7502. glUniform3iv := nil;
  7503. glUniform4f := nil;
  7504. glUniform4fv := nil;
  7505. glUniform4i := nil;
  7506. glUniform4iv := nil;
  7507. glUniformMatrix2fv := nil;
  7508. glUniformMatrix3fv := nil;
  7509. glUniformMatrix4fv := nil;
  7510. glUseProgram := nil;
  7511. glValidateProgram := nil;
  7512. glVertexAttrib1f := nil;
  7513. glVertexAttrib1fv := nil;
  7514. glVertexAttrib2f := nil;
  7515. glVertexAttrib2fv := nil;
  7516. glVertexAttrib3f := nil;
  7517. glVertexAttrib3fv := nil;
  7518. glVertexAttrib4f := nil;
  7519. glVertexAttrib4fv := nil;
  7520. glVertexAttribPointer := nil;
  7521. // min GLES function - glViewport := dlsym(glesLibrary, 'glViewport');
  7522. {$EndIf}
  7523. {$IfDef GL_KHR_blend_equation_advanced}
  7524. glBlendBarrierKHR := nil;
  7525. {$EndIf}
  7526. {$IfDef GL_KHR_debug}
  7527. glDebugMessageControlKHR := nil;
  7528. glDebugMessageInsertKHR := nil;
  7529. glDebugMessageCallbackKHR := nil;
  7530. glGetDebugMessageLogKHR := nil;
  7531. glPushDebugGroupKHR := nil;
  7532. glPopDebugGroupKHR := nil;
  7533. glObjectLabelKHR := nil;
  7534. glGetObjectLabelKHR := nil;
  7535. glObjectPtrLabelKHR := nil;
  7536. glGetObjectPtrLabelKHR := nil;
  7537. glGetPointervKHR := nil;
  7538. {$EndIf}
  7539. {$IfDef GL_KHR_parallel_shader_compile}
  7540. glMaxShaderCompilerThreadsKHR := nil;
  7541. {$EndIf}
  7542. {$IfDef GL_KHR_robustness}
  7543. glGetGraphicsResetStatusKHR := nil;
  7544. glReadnPixelsKHR := nil;
  7545. glGetnUniformfvKHR := nil;
  7546. glGetnUniformivKHR := nil;
  7547. glGetnUniformuivKHR := nil;
  7548. {$EndIf}
  7549. {$IfDef GL_OES_EGL_image}
  7550. glEGLImageTargetTexture2DOES := nil;
  7551. glEGLImageTargetRenderbufferStorageOES := nil;
  7552. {$EndIf}
  7553. {$IfDef GL_OES_copy_image}
  7554. glCopyImageSubDataOES := nil;
  7555. {$EndIf}
  7556. {$IfDef GL_OES_draw_buffers_indexed}
  7557. glEnableiOES := nil;
  7558. glDisableiOES := nil;
  7559. glBlendEquationiOES := nil;
  7560. glBlendEquationSeparateiOES := nil;
  7561. glBlendFunciOES := nil;
  7562. glBlendFuncSeparateiOES := nil;
  7563. glColorMaskiOES := nil;
  7564. glIsEnablediOES := nil;
  7565. {$EndIf}
  7566. {$IfDef GL_OES_draw_elements_base_vertex}
  7567. glDrawElementsBaseVertexOES := nil;
  7568. glDrawRangeElementsBaseVertexOES := nil;
  7569. glDrawElementsInstancedBaseVertexOES := nil;
  7570. glMultiDrawElementsBaseVertexEXT := nil;
  7571. {$EndIf}
  7572. {$IfDef GL_OES_geometry_shader}
  7573. glFramebufferTextureOES := nil;
  7574. {$EndIf}
  7575. {$IfDef GL_OES_get_program_binary}
  7576. glGetProgramBinaryOES := nil;
  7577. glProgramBinaryOES := nil;
  7578. {$EndIf}
  7579. {$IfDef GL_OES_mapbuffer}
  7580. glMapBufferOES := nil;
  7581. glUnmapBufferOES := nil;
  7582. glGetBufferPointervOES := nil;
  7583. {$EndIf}
  7584. {$IfDef GL_OES_primitive_bounding_box}
  7585. glPrimitiveBoundingBoxOES := nil;
  7586. {$EndIf}
  7587. {$IfDef GL_OES_sample_shading}
  7588. glMinSampleShadingOES := nil;
  7589. {$EndIf}
  7590. {$IfDef GL_OES_tessellation_shader}
  7591. glPatchParameteriOES := nil;
  7592. {$EndIf}
  7593. {$IfDef GL_OES_texture_3D}
  7594. glTexImage3DOES := nil;
  7595. glTexSubImage3DOES := nil;
  7596. glCopyTexSubImage3DOES := nil;
  7597. glCompressedTexImage3DOES := nil;
  7598. glCompressedTexSubImage3DOES := nil;
  7599. glFramebufferTexture3DOES := nil;
  7600. {$EndIf}
  7601. {$IfDef GL_OES_texture_border_clamp}
  7602. glTexParameterIivOES := nil;
  7603. glTexParameterIuivOES := nil;
  7604. glGetTexParameterIivOES := nil;
  7605. glGetTexParameterIuivOES := nil;
  7606. glSamplerParameterIivOES := nil;
  7607. glSamplerParameterIuivOES := nil;
  7608. glGetSamplerParameterIivOES := nil;
  7609. glGetSamplerParameterIuivOES := nil;
  7610. {$EndIf}
  7611. {$IfDef GL_OES_texture_buffer}
  7612. glTexBufferOES := nil;
  7613. glTexBufferRangeOES := nil;
  7614. {$EndIf}
  7615. {$IfDef GL_OES_texture_storage_multisample_2d_array}
  7616. glTexStorage3DMultisampleOES := nil;
  7617. {$EndIf}
  7618. {$IfDef GL_OES_texture_view}
  7619. glTextureViewOES := nil;
  7620. {$EndIf}
  7621. {$IfDef GL_OES_vertex_array_object}
  7622. glBindVertexArrayOES := nil;
  7623. glDeleteVertexArraysOES := nil;
  7624. glGenVertexArraysOES := nil;
  7625. glIsVertexArrayOES := nil;
  7626. {$EndIf}
  7627. {$IfDef GL_OES_viewport_array}
  7628. glViewportArrayvOES := nil;
  7629. glViewportIndexedfOES := nil;
  7630. glViewportIndexedfvOES := nil;
  7631. glScissorArrayvOES := nil;
  7632. glScissorIndexedOES := nil;
  7633. glScissorIndexedvOES := nil;
  7634. glDepthRangeArrayfvOES := nil;
  7635. glDepthRangeIndexedfOES := nil;
  7636. glGetFloati_vOES := nil;
  7637. {$EndIf}
  7638. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  7639. glRenderbufferStorageMultisampleAdvancedAMD := nil;
  7640. glNamedRenderbufferStorageMultisampleAdvancedAMD := nil;
  7641. {$EndIf}
  7642. {$IfDef GL_AMD_performance_monitor}
  7643. glGetPerfMonitorGroupsAMD := nil;
  7644. glGetPerfMonitorCountersAMD := nil;
  7645. glGetPerfMonitorGroupStringAMD := nil;
  7646. glGetPerfMonitorCounterStringAMD := nil;
  7647. glGetPerfMonitorCounterInfoAMD := nil;
  7648. glGenPerfMonitorsAMD := nil;
  7649. glDeletePerfMonitorsAMD := nil;
  7650. glSelectPerfMonitorCountersAMD := nil;
  7651. glBeginPerfMonitorAMD := nil;
  7652. glEndPerfMonitorAMD := nil;
  7653. glGetPerfMonitorCounterDataAMD := nil;
  7654. {$EndIf}
  7655. {$IfDef GL_ANGLE_framebuffer_blit}
  7656. glBlitFramebufferANGLE := nil;
  7657. {$EndIf}
  7658. {$IfDef GL_ANGLE_framebuffer_multisample}
  7659. glRenderbufferStorageMultisampleANGLE := nil;
  7660. {$EndIf}
  7661. {$IfDef GL_ANGLE_instanced_arrays}
  7662. glDrawArraysInstancedANGLE := nil;
  7663. glDrawElementsInstancedANGLE := nil;
  7664. glVertexAttribDivisorANGLE := nil;
  7665. {$EndIf}
  7666. {$IfDef GL_ANGLE_translated_shader_source}
  7667. glGetTranslatedShaderSourceANGLE := nil;
  7668. {$EndIf}
  7669. {$IfDef GL_APPLE_copy_texture_levels}
  7670. glCopyTextureLevelsAPPLE := nil;
  7671. {$EndIf}
  7672. {$IfDef GL_APPLE_framebuffer_multisample}
  7673. glRenderbufferStorageMultisampleAPPLE := nil;
  7674. glResolveMultisampleFramebufferAPPLE := nil;
  7675. {$EndIf}
  7676. {$IfDef GL_APPLE_sync}
  7677. glFenceSyncAPPLE := nil;
  7678. glIsSyncAPPLE := nil;
  7679. glDeleteSyncAPPLE := nil;
  7680. glClientWaitSyncAPPLE := nil;
  7681. glWaitSyncAPPLE := nil;
  7682. glGetInteger64vAPPLE := nil;
  7683. glGetSyncivAPPLE := nil;
  7684. {$EndIf}
  7685. {$IfDef GL_EXT_EGL_image_storage}
  7686. glEGLImageTargetTexStorageEXT := nil;
  7687. glEGLImageTargetTextureStorageEXT := nil;
  7688. {$EndIf}
  7689. {$IfDef GL_EXT_base_instance}
  7690. glDrawArraysInstancedBaseInstanceEXT := nil;
  7691. glDrawElementsInstancedBaseInstanceEXT := nil;
  7692. glDrawElementsInstancedBaseVertexBaseInstanceEXT := nil;
  7693. {$EndIf}
  7694. {$IfDef GL_EXT_blend_func_extended}
  7695. glBindFragDataLocationIndexedEXT := nil;
  7696. glBindFragDataLocationEXT := nil;
  7697. glGetProgramResourceLocationIndexEXT := nil;
  7698. glGetFragDataIndexEXT := nil;
  7699. {$EndIf}
  7700. {$IfDef GL_EXT_buffer_storage}
  7701. glBufferStorageEXT := nil;
  7702. {$EndIf}
  7703. {$IfDef GL_EXT_clear_texture}
  7704. glClearTexImageEXT := nil;
  7705. glClearTexSubImageEXT := nil;
  7706. {$EndIf}
  7707. {$IfDef GL_EXT_clip_control}
  7708. glClipControlEXT := nil;
  7709. {$EndIf}
  7710. {$IfDef GL_EXT_copy_image}
  7711. glCopyImageSubDataEXT := nil;
  7712. {$EndIf}
  7713. {$IfDef GL_EXT_debug_label}
  7714. glLabelObjectEXT := nil;
  7715. glGetObjectLabelEXT := nil;
  7716. {$EndIf}
  7717. {$IfDef GL_EXT_debug_marker}
  7718. glInsertEventMarkerEXT := nil;
  7719. glPushGroupMarkerEXT := nil;
  7720. glPopGroupMarkerEXT := nil;
  7721. {$EndIf}
  7722. {$IfDef GL_EXT_discard_framebuffer}
  7723. glDiscardFramebufferEXT := nil;
  7724. {$EndIf}
  7725. {$IfDef GL_EXT_disjoint_timer_query}
  7726. glGenQueriesEXT := nil;
  7727. glDeleteQueriesEXT := nil;
  7728. glIsQueryEXT := nil;
  7729. glBeginQueryEXT := nil;
  7730. glEndQueryEXT := nil;
  7731. glQueryCounterEXT := nil;
  7732. glGetQueryivEXT := nil;
  7733. glGetQueryObjectivEXT := nil;
  7734. glGetQueryObjectuivEXT := nil;
  7735. glGetQueryObjecti64vEXT := nil;
  7736. glGetQueryObjectui64vEXT := nil;
  7737. glGetInteger64vEXT := nil;
  7738. {$EndIf}
  7739. {$IfDef GL_EXT_draw_buffers}
  7740. glDrawBuffersEXT := nil;
  7741. {$EndIf}
  7742. {$IfDef GL_EXT_draw_elements_base_vertex}
  7743. glDrawElementsBaseVertexEXT := nil;
  7744. glDrawRangeElementsBaseVertexEXT := nil;
  7745. glDrawElementsInstancedBaseVertexEXT := nil;
  7746. {$EndIf}
  7747. {$IfDef GL_EXT_draw_instanced}
  7748. glDrawArraysInstancedEXT := nil;
  7749. glDrawElementsInstancedEXT := nil;
  7750. {$EndIf}
  7751. {$IfDef GL_EXT_draw_transform_feedback}
  7752. glDrawTransformFeedbackEXT := nil;
  7753. glDrawTransformFeedbackInstancedEXT := nil;
  7754. {$EndIf}
  7755. {$IfDef GL_EXT_external_buffer}
  7756. glBufferStorageExternalEXT := nil;
  7757. glNamedBufferStorageExternalEXT := nil;
  7758. {$EndIf}
  7759. {$IfDef GL_EXT_fragment_shading_rate}
  7760. glGetFragmentShadingRatesEXT := nil;
  7761. glShadingRateEXT := nil;
  7762. glShadingRateCombinerOpsEXT := nil;
  7763. glFramebufferShadingRateEXT := nil;
  7764. {$EndIf}
  7765. {$IfDef GL_EXT_framebuffer_blit_layers}
  7766. glBlitFramebufferLayersEXT := nil;
  7767. glBlitFramebufferLayerEXT := nil;
  7768. {$EndIf}
  7769. {$IfDef GL_EXT_geometry_shader}
  7770. glFramebufferTextureEXT := nil;
  7771. {$EndIf}
  7772. {$IfDef GL_EXT_instanced_arrays}
  7773. glVertexAttribDivisorEXT := nil;
  7774. {$EndIf}
  7775. {$IfDef GL_EXT_map_buffer_range}
  7776. glMapBufferRangeEXT := nil;
  7777. glFlushMappedBufferRangeEXT := nil;
  7778. {$EndIf}
  7779. {$IfDef GL_EXT_memory_object}
  7780. glGetUnsignedBytevEXT := nil;
  7781. glGetUnsignedBytei_vEXT := nil;
  7782. glDeleteMemoryObjectsEXT := nil;
  7783. glIsMemoryObjectEXT := nil;
  7784. glCreateMemoryObjectsEXT := nil;
  7785. glMemoryObjectParameterivEXT := nil;
  7786. glGetMemoryObjectParameterivEXT := nil;
  7787. glTexStorageMem2DEXT := nil;
  7788. glTexStorageMem2DMultisampleEXT := nil;
  7789. glTexStorageMem3DEXT := nil;
  7790. glTexStorageMem3DMultisampleEXT := nil;
  7791. glBufferStorageMemEXT := nil;
  7792. glTextureStorageMem2DEXT := nil;
  7793. glTextureStorageMem2DMultisampleEXT := nil;
  7794. glTextureStorageMem3DEXT := nil;
  7795. glTextureStorageMem3DMultisampleEXT := nil;
  7796. glNamedBufferStorageMemEXT := nil;
  7797. {$EndIf}
  7798. {$IfDef GL_EXT_memory_object_fd}
  7799. glImportMemoryFdEXT := nil;
  7800. {$EndIf}
  7801. {$IfDef GL_EXT_memory_object_win32}
  7802. glImportMemoryWin32HandleEXT := nil;
  7803. glImportMemoryWin32NameEXT := nil;
  7804. {$EndIf}
  7805. {$IfDef GL_EXT_multi_draw_arrays}
  7806. glMultiDrawArraysEXT := nil;
  7807. glMultiDrawElementsEXT := nil;
  7808. {$EndIf}
  7809. {$IfDef GL_EXT_multi_draw_indirect}
  7810. glMultiDrawArraysIndirectEXT := nil;
  7811. glMultiDrawElementsIndirectEXT := nil;
  7812. {$EndIf}
  7813. {$IfDef GL_EXT_multisampled_render_to_texture}
  7814. glRenderbufferStorageMultisampleEXT := nil;
  7815. glFramebufferTexture2DMultisampleEXT := nil;
  7816. {$EndIf}
  7817. {$IfDef GL_EXT_multiview_draw_buffers}
  7818. glReadBufferIndexedEXT := nil;
  7819. glDrawBuffersIndexedEXT := nil;
  7820. glGetIntegeri_vEXT := nil;
  7821. {$EndIf}
  7822. {$IfDef GL_EXT_polygon_offset_clamp}
  7823. glPolygonOffsetClampEXT := nil;
  7824. {$EndIf}
  7825. {$IfDef GL_EXT_primitive_bounding_box}
  7826. glPrimitiveBoundingBoxEXT := nil;
  7827. {$EndIf}
  7828. {$IfDef GL_EXT_raster_multisample}
  7829. glRasterSamplesEXT := nil;
  7830. {$EndIf}
  7831. {$IfDef GL_EXT_robustness}
  7832. glGetGraphicsResetStatusEXT := nil;
  7833. glReadnPixelsEXT := nil;
  7834. glGetnUniformfvEXT := nil;
  7835. glGetnUniformivEXT := nil;
  7836. {$EndIf}
  7837. {$IfDef GL_EXT_semaphore}
  7838. glGenSemaphoresEXT := nil;
  7839. glDeleteSemaphoresEXT := nil;
  7840. glIsSemaphoreEXT := nil;
  7841. glSemaphoreParameterui64vEXT := nil;
  7842. glGetSemaphoreParameterui64vEXT := nil;
  7843. glWaitSemaphoreEXT := nil;
  7844. glSignalSemaphoreEXT := nil;
  7845. {$EndIf}
  7846. {$IfDef GL_EXT_semaphore_fd}
  7847. glImportSemaphoreFdEXT := nil;
  7848. {$EndIf}
  7849. {$IfDef GL_EXT_semaphore_win32}
  7850. glImportSemaphoreWin32HandleEXT := nil;
  7851. glImportSemaphoreWin32NameEXT := nil;
  7852. {$EndIf}
  7853. {$IfDef GL_EXT_separate_shader_objects}
  7854. glActiveShaderProgramEXT := nil;
  7855. glBindProgramPipelineEXT := nil;
  7856. glCreateShaderProgramvEXT := nil;
  7857. glDeleteProgramPipelinesEXT := nil;
  7858. glGenProgramPipelinesEXT := nil;
  7859. glGetProgramPipelineInfoLogEXT := nil;
  7860. glGetProgramPipelineivEXT := nil;
  7861. glIsProgramPipelineEXT := nil;
  7862. glProgramParameteriEXT := nil;
  7863. glProgramUniform1fEXT := nil;
  7864. glProgramUniform1fvEXT := nil;
  7865. glProgramUniform1iEXT := nil;
  7866. glProgramUniform1ivEXT := nil;
  7867. glProgramUniform2fEXT := nil;
  7868. glProgramUniform2fvEXT := nil;
  7869. glProgramUniform2iEXT := nil;
  7870. glProgramUniform2ivEXT := nil;
  7871. glProgramUniform3fEXT := nil;
  7872. glProgramUniform3fvEXT := nil;
  7873. glProgramUniform3iEXT := nil;
  7874. glProgramUniform3ivEXT := nil;
  7875. glProgramUniform4fEXT := nil;
  7876. glProgramUniform4fvEXT := nil;
  7877. glProgramUniform4iEXT := nil;
  7878. glProgramUniform4ivEXT := nil;
  7879. glProgramUniformMatrix2fvEXT := nil;
  7880. glProgramUniformMatrix3fvEXT := nil;
  7881. glProgramUniformMatrix4fvEXT := nil;
  7882. glUseProgramStagesEXT := nil;
  7883. glValidateProgramPipelineEXT := nil;
  7884. glProgramUniform1uiEXT := nil;
  7885. glProgramUniform2uiEXT := nil;
  7886. glProgramUniform3uiEXT := nil;
  7887. glProgramUniform4uiEXT := nil;
  7888. glProgramUniform1uivEXT := nil;
  7889. glProgramUniform2uivEXT := nil;
  7890. glProgramUniform3uivEXT := nil;
  7891. glProgramUniform4uivEXT := nil;
  7892. glProgramUniformMatrix2x3fvEXT := nil;
  7893. glProgramUniformMatrix3x2fvEXT := nil;
  7894. glProgramUniformMatrix2x4fvEXT := nil;
  7895. glProgramUniformMatrix4x2fvEXT := nil;
  7896. glProgramUniformMatrix3x4fvEXT := nil;
  7897. glProgramUniformMatrix4x3fvEXT := nil;
  7898. {$EndIf}
  7899. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  7900. glFramebufferFetchBarrierEXT := nil;
  7901. {$EndIf}
  7902. {$IfDef GL_EXT_shader_pixel_local_storage2}
  7903. glFramebufferPixelLocalStorageSizeEXT := nil;
  7904. glGetFramebufferPixelLocalStorageSizeEXT := nil;
  7905. glClearPixelLocalStorageuiEXT := nil;
  7906. {$EndIf}
  7907. {$IfDef GL_EXT_sparse_texture}
  7908. glTexPageCommitmentEXT := nil;
  7909. {$EndIf}
  7910. {$IfDef GL_EXT_tessellation_shader}
  7911. glPatchParameteriEXT := nil;
  7912. {$EndIf}
  7913. {$IfDef GL_EXT_texture_border_clamp}
  7914. glTexParameterIivEXT := nil;
  7915. glTexParameterIuivEXT := nil;
  7916. glGetTexParameterIivEXT := nil;
  7917. glGetTexParameterIuivEXT := nil;
  7918. glSamplerParameterIivEXT := nil;
  7919. glSamplerParameterIuivEXT := nil;
  7920. glGetSamplerParameterIivEXT := nil;
  7921. glGetSamplerParameterIuivEXT := nil;
  7922. {$EndIf}
  7923. {$IfDef GL_EXT_texture_buffer}
  7924. glTexBufferEXT := nil;
  7925. glTexBufferRangeEXT := nil;
  7926. {$EndIf}
  7927. {$IfDef GL_EXT_texture_storage}
  7928. glTexStorage1DEXT := nil;
  7929. glTexStorage2DEXT := nil;
  7930. glTexStorage3DEXT := nil;
  7931. glTextureStorage1DEXT := nil;
  7932. glTextureStorage2DEXT := nil;
  7933. glTextureStorage3DEXT := nil;
  7934. {$EndIf}
  7935. {$IfDef GL_EXT_texture_storage_compression}
  7936. glTexStorageAttribs2DEXT := nil;
  7937. glTexStorageAttribs3DEXT := nil;
  7938. {$EndIf}
  7939. {$IfDef GL_EXT_texture_view}
  7940. glTextureViewEXT := nil;
  7941. {$EndIf}
  7942. {$IfDef GL_EXT_win32_keyed_mutex}
  7943. glAcquireKeyedMutexWin32EXT := nil;
  7944. glReleaseKeyedMutexWin32EXT := nil;
  7945. {$EndIf}
  7946. {$IfDef GL_EXT_window_rectangles}
  7947. glWindowRectanglesEXT := nil;
  7948. {$EndIf}
  7949. {$IfDef GL_IMG_bindless_texture}
  7950. glGetTextureHandleIMG := nil;
  7951. glGetTextureSamplerHandleIMG := nil;
  7952. glUniformHandleui64IMG := nil;
  7953. glUniformHandleui64vIMG := nil;
  7954. glProgramUniformHandleui64IMG := nil;
  7955. glProgramUniformHandleui64vIMG := nil;
  7956. {$EndIf}
  7957. {$IfDef GL_IMG_framebuffer_downsample}
  7958. glFramebufferTexture2DDownsampleIMG := nil;
  7959. glFramebufferTextureLayerDownsampleIMG := nil;
  7960. {$EndIf}
  7961. {$IfDef GL_IMG_multisampled_render_to_texture}
  7962. glRenderbufferStorageMultisampleIMG := nil;
  7963. glFramebufferTexture2DMultisampleIMG := nil;
  7964. {$EndIf}
  7965. {$IfDef GL_INTEL_framebuffer_CMAA}
  7966. glApplyFramebufferAttachmentCMAAINTEL := nil;
  7967. {$EndIf}
  7968. {$IfDef GL_INTEL_performance_query}
  7969. glBeginPerfQueryINTEL := nil;
  7970. glCreatePerfQueryINTEL := nil;
  7971. glDeletePerfQueryINTEL := nil;
  7972. glEndPerfQueryINTEL := nil;
  7973. glGetFirstPerfQueryIdINTEL := nil;
  7974. glGetNextPerfQueryIdINTEL := nil;
  7975. glGetPerfCounterInfoINTEL := nil;
  7976. glGetPerfQueryDataINTEL := nil;
  7977. glGetPerfQueryIdByNameINTEL := nil;
  7978. glGetPerfQueryInfoINTEL := nil;
  7979. {$EndIf}
  7980. {$IfDef GL_MESA_framebuffer_flip_y}
  7981. glFramebufferParameteriMESA := nil;
  7982. glGetFramebufferParameterivMESA := nil;
  7983. {$EndIf}
  7984. {$IfDef GL_NV_bindless_texture}
  7985. glGetTextureHandleNV := nil;
  7986. glGetTextureSamplerHandleNV := nil;
  7987. glMakeTextureHandleResidentNV := nil;
  7988. glMakeTextureHandleNonResidentNV := nil;
  7989. glGetImageHandleNV := nil;
  7990. glMakeImageHandleResidentNV := nil;
  7991. glMakeImageHandleNonResidentNV := nil;
  7992. glUniformHandleui64NV := nil;
  7993. glUniformHandleui64vNV := nil;
  7994. glProgramUniformHandleui64NV := nil;
  7995. glProgramUniformHandleui64vNV := nil;
  7996. glIsTextureHandleResidentNV := nil;
  7997. glIsImageHandleResidentNV := nil;
  7998. {$EndIf}
  7999. {$IfDef GL_NV_blend_equation_advanced}
  8000. glBlendParameteriNV := nil;
  8001. glBlendBarrierNV := nil;
  8002. {$EndIf}
  8003. {$IfDef GL_NV_clip_space_w_scaling}
  8004. glViewportPositionWScaleNV := nil;
  8005. {$EndIf}
  8006. {$IfDef GL_NV_conditional_render}
  8007. glBeginConditionalRenderNV := nil;
  8008. glEndConditionalRenderNV := nil;
  8009. {$EndIf}
  8010. {$IfDef GL_NV_conservative_raster}
  8011. glSubpixelPrecisionBiasNV := nil;
  8012. {$EndIf}
  8013. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  8014. glConservativeRasterParameteriNV := nil;
  8015. {$EndIf}
  8016. {$IfDef GL_NV_copy_buffer}
  8017. glCopyBufferSubDataNV := nil;
  8018. {$EndIf}
  8019. {$IfDef GL_NV_coverage_sample}
  8020. glCoverageMaskNV := nil;
  8021. glCoverageOperationNV := nil;
  8022. {$EndIf}
  8023. {$IfDef GL_NV_draw_buffers}
  8024. glDrawBuffersNV := nil;
  8025. {$EndIf}
  8026. {$IfDef GL_NV_draw_instanced}
  8027. glDrawArraysInstancedNV := nil;
  8028. glDrawElementsInstancedNV := nil;
  8029. {$EndIf}
  8030. {$IfDef GL_NV_draw_vulkan_image}
  8031. glDrawVkImageNV := nil;
  8032. glGetVkProcAddrNV := nil;
  8033. glWaitVkSemaphoreNV := nil;
  8034. glSignalVkSemaphoreNV := nil;
  8035. glSignalVkFenceNV := nil;
  8036. {$EndIf}
  8037. {$IfDef GL_NV_fence}
  8038. glDeleteFencesNV := nil;
  8039. glGenFencesNV := nil;
  8040. glIsFenceNV := nil;
  8041. glTestFenceNV := nil;
  8042. glGetFenceivNV := nil;
  8043. glFinishFenceNV := nil;
  8044. glSetFenceNV := nil;
  8045. {$EndIf}
  8046. {$IfDef GL_NV_fragment_coverage_to_color}
  8047. glFragmentCoverageColorNV := nil;
  8048. {$EndIf}
  8049. {$IfDef GL_NV_framebuffer_blit}
  8050. glBlitFramebufferNV := nil;
  8051. {$EndIf}
  8052. {$IfDef GL_NV_framebuffer_mixed_samples}
  8053. glCoverageModulationTableNV := nil;
  8054. glGetCoverageModulationTableNV := nil;
  8055. glCoverageModulationNV := nil;
  8056. {$EndIf}
  8057. {$IfDef GL_NV_framebuffer_multisample}
  8058. glRenderbufferStorageMultisampleNV := nil;
  8059. {$EndIf}
  8060. {$IfDef GL_NV_gpu_shader5}
  8061. glUniform1i64NV := nil;
  8062. glUniform2i64NV := nil;
  8063. glUniform3i64NV := nil;
  8064. glUniform4i64NV := nil;
  8065. glUniform1i64vNV := nil;
  8066. glUniform2i64vNV := nil;
  8067. glUniform3i64vNV := nil;
  8068. glUniform4i64vNV := nil;
  8069. glUniform1ui64NV := nil;
  8070. glUniform2ui64NV := nil;
  8071. glUniform3ui64NV := nil;
  8072. glUniform4ui64NV := nil;
  8073. glUniform1ui64vNV := nil;
  8074. glUniform2ui64vNV := nil;
  8075. glUniform3ui64vNV := nil;
  8076. glUniform4ui64vNV := nil;
  8077. glGetUniformi64vNV := nil;
  8078. glProgramUniform1i64NV := nil;
  8079. glProgramUniform2i64NV := nil;
  8080. glProgramUniform3i64NV := nil;
  8081. glProgramUniform4i64NV := nil;
  8082. glProgramUniform1i64vNV := nil;
  8083. glProgramUniform2i64vNV := nil;
  8084. glProgramUniform3i64vNV := nil;
  8085. glProgramUniform4i64vNV := nil;
  8086. glProgramUniform1ui64NV := nil;
  8087. glProgramUniform2ui64NV := nil;
  8088. glProgramUniform3ui64NV := nil;
  8089. glProgramUniform4ui64NV := nil;
  8090. glProgramUniform1ui64vNV := nil;
  8091. glProgramUniform2ui64vNV := nil;
  8092. glProgramUniform3ui64vNV := nil;
  8093. glProgramUniform4ui64vNV := nil;
  8094. {$EndIf}
  8095. {$IfDef GL_NV_instanced_arrays}
  8096. glVertexAttribDivisorNV := nil;
  8097. {$EndIf}
  8098. {$IfDef GL_NV_internalformat_sample_query}
  8099. glGetInternalformatSampleivNV := nil;
  8100. {$EndIf}
  8101. {$IfDef GL_NV_memory_attachment}
  8102. glGetMemoryObjectDetachedResourcesuivNV := nil;
  8103. glResetMemoryObjectParameterNV := nil;
  8104. glTexAttachMemoryNV := nil;
  8105. glBufferAttachMemoryNV := nil;
  8106. glTextureAttachMemoryNV := nil;
  8107. glNamedBufferAttachMemoryNV := nil;
  8108. {$EndIf}
  8109. {$IfDef GL_NV_memory_object_sparse}
  8110. glBufferPageCommitmentMemNV := nil;
  8111. glTexPageCommitmentMemNV := nil;
  8112. glNamedBufferPageCommitmentMemNV := nil;
  8113. glTexturePageCommitmentMemNV := nil;
  8114. {$EndIf}
  8115. {$IfDef GL_NV_mesh_shader}
  8116. glDrawMeshTasksNV := nil;
  8117. glDrawMeshTasksIndirectNV := nil;
  8118. glMultiDrawMeshTasksIndirectNV := nil;
  8119. glMultiDrawMeshTasksIndirectCountNV := nil;
  8120. {$EndIf}
  8121. {$IfDef GL_NV_non_square_matrices}
  8122. glUniformMatrix2x3fvNV := nil;
  8123. glUniformMatrix3x2fvNV := nil;
  8124. glUniformMatrix2x4fvNV := nil;
  8125. glUniformMatrix4x2fvNV := nil;
  8126. glUniformMatrix3x4fvNV := nil;
  8127. glUniformMatrix4x3fvNV := nil;
  8128. {$EndIf}
  8129. {$IfDef GL_NV_path_rendering}
  8130. glGenPathsNV := nil;
  8131. glDeletePathsNV := nil;
  8132. glIsPathNV := nil;
  8133. glPathCommandsNV := nil;
  8134. glPathCoordsNV := nil;
  8135. glPathSubCommandsNV := nil;
  8136. glPathSubCoordsNV := nil;
  8137. glPathStringNV := nil;
  8138. glPathGlyphsNV := nil;
  8139. glPathGlyphRangeNV := nil;
  8140. glWeightPathsNV := nil;
  8141. glCopyPathNV := nil;
  8142. glInterpolatePathsNV := nil;
  8143. glTransformPathNV := nil;
  8144. glPathParameterivNV := nil;
  8145. glPathParameteriNV := nil;
  8146. glPathParameterfvNV := nil;
  8147. glPathParameterfNV := nil;
  8148. glPathDashArrayNV := nil;
  8149. glPathStencilFuncNV := nil;
  8150. glPathStencilDepthOffsetNV := nil;
  8151. glStencilFillPathNV := nil;
  8152. glStencilStrokePathNV := nil;
  8153. glStencilFillPathInstancedNV := nil;
  8154. glStencilStrokePathInstancedNV := nil;
  8155. glPathCoverDepthFuncNV := nil;
  8156. glCoverFillPathNV := nil;
  8157. glCoverStrokePathNV := nil;
  8158. glCoverFillPathInstancedNV := nil;
  8159. glCoverStrokePathInstancedNV := nil;
  8160. glGetPathParameterivNV := nil;
  8161. glGetPathParameterfvNV := nil;
  8162. glGetPathCommandsNV := nil;
  8163. glGetPathCoordsNV := nil;
  8164. glGetPathDashArrayNV := nil;
  8165. glGetPathMetricsNV := nil;
  8166. glGetPathMetricRangeNV := nil;
  8167. glGetPathSpacingNV := nil;
  8168. glIsPointInFillPathNV := nil;
  8169. glIsPointInStrokePathNV := nil;
  8170. glGetPathLengthNV := nil;
  8171. glPointAlongPathNV := nil;
  8172. glMatrixLoad3x2fNV := nil;
  8173. glMatrixLoad3x3fNV := nil;
  8174. glMatrixLoadTranspose3x3fNV := nil;
  8175. glMatrixMult3x2fNV := nil;
  8176. glMatrixMult3x3fNV := nil;
  8177. glMatrixMultTranspose3x3fNV := nil;
  8178. glStencilThenCoverFillPathNV := nil;
  8179. glStencilThenCoverStrokePathNV := nil;
  8180. glStencilThenCoverFillPathInstancedNV := nil;
  8181. glStencilThenCoverStrokePathInstancedNV := nil;
  8182. glPathGlyphIndexRangeNV := nil;
  8183. glPathGlyphIndexArrayNV := nil;
  8184. glPathMemoryGlyphIndexArrayNV := nil;
  8185. glProgramPathFragmentInputGenNV := nil;
  8186. glGetProgramResourcefvNV := nil;
  8187. glMatrixFrustumEXT := nil;
  8188. glMatrixLoadIdentityEXT := nil;
  8189. glMatrixLoadTransposefEXT := nil;
  8190. glMatrixLoadTransposedEXT := nil;
  8191. glMatrixLoadfEXT := nil;
  8192. glMatrixLoaddEXT := nil;
  8193. glMatrixMultTransposefEXT := nil;
  8194. glMatrixMultTransposedEXT := nil;
  8195. glMatrixMultfEXT := nil;
  8196. glMatrixMultdEXT := nil;
  8197. glMatrixOrthoEXT := nil;
  8198. glMatrixPopEXT := nil;
  8199. glMatrixPushEXT := nil;
  8200. glMatrixRotatefEXT := nil;
  8201. glMatrixRotatedEXT := nil;
  8202. glMatrixScalefEXT := nil;
  8203. glMatrixScaledEXT := nil;
  8204. glMatrixTranslatefEXT := nil;
  8205. glMatrixTranslatedEXT := nil;
  8206. {$EndIf}
  8207. {$IfDef GL_NV_polygon_mode}
  8208. glPolygonModeNV := nil;
  8209. {$EndIf}
  8210. {$IfDef GL_NV_read_buffer}
  8211. glReadBufferNV := nil;
  8212. {$EndIf}
  8213. {$IfDef GL_NV_sample_locations}
  8214. glFramebufferSampleLocationsfvNV := nil;
  8215. glNamedFramebufferSampleLocationsfvNV := nil;
  8216. glResolveDepthValuesNV := nil;
  8217. {$EndIf}
  8218. {$IfDef GL_NV_scissor_exclusive}
  8219. glScissorExclusiveNV := nil;
  8220. glScissorExclusiveArrayvNV := nil;
  8221. {$EndIf}
  8222. {$IfDef GL_NV_shading_rate_image}
  8223. glBindShadingRateImageNV := nil;
  8224. glGetShadingRateImagePaletteNV := nil;
  8225. glGetShadingRateSampleLocationivNV := nil;
  8226. glShadingRateImageBarrierNV := nil;
  8227. glShadingRateImagePaletteNV := nil;
  8228. glShadingRateSampleOrderNV := nil;
  8229. glShadingRateSampleOrderCustomNV := nil;
  8230. {$EndIf}
  8231. {$IfDef GL_NV_timeline_semaphore}
  8232. glCreateSemaphoresNV := nil;
  8233. glSemaphoreParameterivNV := nil;
  8234. glGetSemaphoreParameterivNV := nil;
  8235. {$EndIf}
  8236. {$IfDef GL_NV_viewport_array}
  8237. glViewportArrayvNV := nil;
  8238. glViewportIndexedfNV := nil;
  8239. glViewportIndexedfvNV := nil;
  8240. glScissorArrayvNV := nil;
  8241. glScissorIndexedNV := nil;
  8242. glScissorIndexedvNV := nil;
  8243. glDepthRangeArrayfvNV := nil;
  8244. glDepthRangeIndexedfNV := nil;
  8245. glGetFloati_vNV := nil;
  8246. glEnableiNV := nil;
  8247. glDisableiNV := nil;
  8248. glIsEnablediNV := nil;
  8249. {$EndIf}
  8250. {$IfDef GL_NV_viewport_swizzle}
  8251. glViewportSwizzleNV := nil;
  8252. {$EndIf}
  8253. {$IfDef GL_OVR_multiview}
  8254. glFramebufferTextureMultiviewOVR := nil;
  8255. {$EndIf}
  8256. {$IfDef GL_OVR_multiview_multisampled_render_to_texture}
  8257. glFramebufferTextureMultisampleMultiviewOVR := nil;
  8258. {$EndIf}
  8259. {$IfDef GL_QCOM_alpha_test}
  8260. glAlphaFuncQCOM := nil;
  8261. {$EndIf}
  8262. {$IfDef GL_QCOM_driver_control}
  8263. glGetDriverControlsQCOM := nil;
  8264. glGetDriverControlStringQCOM := nil;
  8265. glEnableDriverControlQCOM := nil;
  8266. glDisableDriverControlQCOM := nil;
  8267. {$EndIf}
  8268. {$IfDef GL_QCOM_extended_get}
  8269. glExtGetTexturesQCOM := nil;
  8270. glExtGetBuffersQCOM := nil;
  8271. glExtGetRenderbuffersQCOM := nil;
  8272. glExtGetFramebuffersQCOM := nil;
  8273. glExtGetTexLevelParameterivQCOM := nil;
  8274. glExtTexObjectStateOverrideiQCOM := nil;
  8275. glExtGetTexSubImageQCOM := nil;
  8276. glExtGetBufferPointervQCOM := nil;
  8277. {$EndIf}
  8278. {$IfDef GL_QCOM_extended_get2}
  8279. glExtGetShadersQCOM := nil;
  8280. glExtGetProgramsQCOM := nil;
  8281. glExtIsProgramBinaryQCOM := nil;
  8282. glExtGetProgramBinarySourceQCOM := nil;
  8283. {$EndIf}
  8284. {$IfDef GL_QCOM_frame_extrapolation}
  8285. glExtrapolateTex2DQCOM := nil;
  8286. {$EndIf}
  8287. {$IfDef GL_QCOM_framebuffer_foveated}
  8288. glFramebufferFoveationConfigQCOM := nil;
  8289. glFramebufferFoveationParametersQCOM := nil;
  8290. {$EndIf}
  8291. {$IfDef GL_QCOM_motion_estimation}
  8292. glTexEstimateMotionQCOM := nil;
  8293. glTexEstimateMotionRegionsQCOM := nil;
  8294. {$EndIf}
  8295. {$IfDef GL_QCOM_shader_framebuffer_fetch_noncoherent}
  8296. glFramebufferFetchBarrierQCOM := nil;
  8297. {$EndIf}
  8298. {$IfDef GL_QCOM_shading_rate}
  8299. glShadingRateQCOM := nil;
  8300. {$EndIf}
  8301. {$IfDef GL_QCOM_texture_foveated}
  8302. glTextureFoveationParametersQCOM := nil;
  8303. {$EndIf}
  8304. {$IfDef GL_QCOM_tiled_rendering}
  8305. glStartTilingQCOM := nil;
  8306. glEndTilingQCOM := nil;
  8307. {$EndIf}
  8308. {$IfDef GL_ES_VERSION_3_0}
  8309. // GL_NV_read_buffer
  8310. glReadBuffer := nil;
  8311. // none
  8312. glDrawRangeElements := nil;
  8313. // GL_OES_texture_3D
  8314. glTexImage3D := nil;
  8315. glTexSubImage3D := nil;
  8316. glCopyTexSubImage3D := nil;
  8317. glCompressedTexImage3D := nil;
  8318. glCompressedTexSubImage3D := nil;
  8319. // GL_EXT_disjoint_timer_query
  8320. glGenQueries := nil;
  8321. glDeleteQueries := nil;
  8322. glIsQuery := nil;
  8323. glBeginQuery := nil;
  8324. glEndQuery := nil;
  8325. glGetQueryiv := nil;
  8326. glGetQueryObjectuiv := nil;
  8327. // GL_OES_mapbuffer
  8328. glUnmapBuffer := nil;
  8329. glGetBufferPointerv := nil;
  8330. // GL_EXT_draw_buffers + GL_NV_draw_buffers
  8331. glDrawBuffers := nil;
  8332. // GL_NV_non_square_matrices
  8333. glUniformMatrix2x3fv := nil;
  8334. glUniformMatrix3x2fv := nil;
  8335. glUniformMatrix2x4fv := nil;
  8336. glUniformMatrix4x2fv := nil;
  8337. glUniformMatrix3x4fv := nil;
  8338. glUniformMatrix4x3fv := nil;
  8339. // GL_ANGLE_framebuffer_blit + GL_NV_framebuffer_blit
  8340. glBlitFramebuffer := nil;
  8341. // GL_ANGLE_framebuffer_multisample + GL_APPLE_framebuffer_multisample + GL_EXT_multisampled_render_to_texture +
  8342. // GL_IMG_multisampled_render_to_texture + GL_NV_framebuffer_multisample
  8343. glRenderbufferStorageMultisample := nil;
  8344. // none
  8345. glFramebufferTextureLayer := nil;
  8346. // GL_EXT_map_buffer_range
  8347. glMapBufferRange := nil;
  8348. glFlushMappedBufferRange := nil;
  8349. // GL_OES_vertex_array_object
  8350. glBindVertexArray := nil;
  8351. glDeleteVertexArrays := nil;
  8352. glGenVertexArrays := nil;
  8353. glIsVertexArray := nil;
  8354. // GL_EXT_multiview_draw_buffers
  8355. glGetIntegeri_v := nil;
  8356. // none
  8357. glBeginTransformFeedback := nil;
  8358. glEndTransformFeedback := nil;
  8359. glBindBufferRange := nil;
  8360. glBindBufferBase := nil;
  8361. glTransformFeedbackVaryings := nil;
  8362. glGetTransformFeedbackVarying := nil;
  8363. glVertexAttribIPointer := nil;
  8364. glGetVertexAttribIiv := nil;
  8365. glGetVertexAttribIuiv := nil;
  8366. glVertexAttribI4i := nil;
  8367. glVertexAttribI4ui := nil;
  8368. glVertexAttribI4iv := nil;
  8369. glVertexAttribI4uiv := nil;
  8370. glGetUniformuiv := nil;
  8371. glGetFragDataLocation := nil;
  8372. glUniform1ui := nil;
  8373. glUniform2ui := nil;
  8374. glUniform3ui := nil;
  8375. glUniform4ui := nil;
  8376. glUniform1uiv := nil;
  8377. glUniform2uiv := nil;
  8378. glUniform3uiv := nil;
  8379. glUniform4uiv := nil;
  8380. glClearBufferiv := nil;
  8381. glClearBufferuiv := nil;
  8382. glClearBufferfv := nil;
  8383. glClearBufferfi := nil;
  8384. glGetStringi := nil;
  8385. // GL_NV_copy_buffer
  8386. glCopyBufferSubData := nil;
  8387. // none
  8388. glGetUniformIndices := nil;
  8389. glGetActiveUniformsiv := nil;
  8390. glGetUniformBlockIndex := nil;
  8391. glGetActiveUniformBlockiv := nil;
  8392. glGetActiveUniformBlockName := nil;
  8393. glUniformBlockBinding := nil;
  8394. // GL_ANGLE_instanced_arrays GL_EXT_draw_instanced GL_NV_draw_instanced
  8395. glDrawArraysInstanced := nil;
  8396. glDrawElementsInstanced := nil;
  8397. // GL_APPLE_sync
  8398. glFenceSync := nil;
  8399. glIsSync := nil;
  8400. glDeleteSync := nil;
  8401. glClientWaitSync := nil;
  8402. glWaitSync := nil;
  8403. // GL_APPLE_sync GL_EXT_disjoint_timer_query
  8404. glGetInteger64v := nil;
  8405. // GL_APPLE_sync
  8406. glGetSynciv := nil;
  8407. // none
  8408. glGetInteger64i_v := nil;
  8409. glGetBufferParameteri64v := nil;
  8410. glGenSamplers := nil;
  8411. glDeleteSamplers := nil;
  8412. glIsSampler := nil;
  8413. glBindSampler := nil;
  8414. glSamplerParameteri := nil;
  8415. glSamplerParameteriv := nil;
  8416. glSamplerParameterf := nil;
  8417. glSamplerParameterfv := nil;
  8418. glGetSamplerParameteriv := nil;
  8419. glGetSamplerParameterfv := nil;
  8420. // GL_ANGLE_instanced_arrays GL_EXT_instanced_arrays GL_NV_instanced_arrays
  8421. glVertexAttribDivisor := nil;
  8422. // none
  8423. glBindTransformFeedback := nil;
  8424. glDeleteTransformFeedbacks := nil;
  8425. glGenTransformFeedbacks := nil;
  8426. glIsTransformFeedback := nil;
  8427. glPauseTransformFeedback := nil;
  8428. glResumeTransformFeedback := nil;
  8429. // GL_OES_get_program_binary
  8430. glGetProgramBinary := nil;
  8431. glProgramBinary := nil;
  8432. // GL_EXT_separate_shader_objects
  8433. glProgramParameteri := nil;
  8434. // none
  8435. glInvalidateFramebuffer := nil;
  8436. glInvalidateSubFramebuffer := nil;
  8437. // GL_EXT_texture_storage
  8438. glTexStorage2D := nil;
  8439. glTexStorage3D := nil;
  8440. // none
  8441. glGetInternalformativ := nil;
  8442. {$EndIf}
  8443. {$IfDef GL_ES_VERSION_3_1}
  8444. // none
  8445. glDispatchCompute := nil;
  8446. glDispatchComputeIndirect := nil;
  8447. glDrawArraysIndirect := nil;
  8448. glDrawElementsIndirect := nil;
  8449. // GL_MESA_framebuffer_flip_y
  8450. glFramebufferParameteri := nil;
  8451. glGetFramebufferParameteriv := nil;
  8452. // none
  8453. glGetProgramInterfaceiv := nil;
  8454. glGetProgramResourceIndex := nil;
  8455. glGetProgramResourceName := nil;
  8456. glGetProgramResourceiv := nil;
  8457. glGetProgramResourceLocation := nil;
  8458. // GL_EXT_separate_shader_objects
  8459. glUseProgramStages := nil;
  8460. glActiveShaderProgram := nil;
  8461. glCreateShaderProgramv := nil;
  8462. glBindProgramPipeline := nil;
  8463. glDeleteProgramPipelines := nil;
  8464. glGenProgramPipelines := nil;
  8465. glIsProgramPipeline := nil;
  8466. glGetProgramPipelineiv := nil;
  8467. glProgramUniform1i := nil;
  8468. glProgramUniform2i := nil;
  8469. glProgramUniform3i := nil;
  8470. glProgramUniform4i := nil;
  8471. glProgramUniform1ui := nil;
  8472. glProgramUniform2ui := nil;
  8473. glProgramUniform3ui := nil;
  8474. glProgramUniform4ui := nil;
  8475. glProgramUniform1f := nil;
  8476. glProgramUniform2f := nil;
  8477. glProgramUniform3f := nil;
  8478. glProgramUniform4f := nil;
  8479. glProgramUniform1iv := nil;
  8480. glProgramUniform2iv := nil;
  8481. glProgramUniform3iv := nil;
  8482. glProgramUniform4iv := nil;
  8483. glProgramUniform1uiv := nil;
  8484. glProgramUniform2uiv := nil;
  8485. glProgramUniform3uiv := nil;
  8486. glProgramUniform4uiv := nil;
  8487. glProgramUniform1fv := nil;
  8488. glProgramUniform2fv := nil;
  8489. glProgramUniform3fv := nil;
  8490. glProgramUniform4fv := nil;
  8491. glProgramUniformMatrix2fv := nil;
  8492. glProgramUniformMatrix3fv := nil;
  8493. glProgramUniformMatrix4fv := nil;
  8494. glProgramUniformMatrix2x3fv := nil;
  8495. glProgramUniformMatrix3x2fv := nil;
  8496. glProgramUniformMatrix2x4fv := nil;
  8497. glProgramUniformMatrix4x2fv := nil;
  8498. glProgramUniformMatrix3x4fv := nil;
  8499. glProgramUniformMatrix4x3fv := nil;
  8500. glValidateProgramPipeline := nil;
  8501. glGetProgramPipelineInfoLog := nil;
  8502. // none
  8503. glBindImageTexture := nil;
  8504. glGetBooleani_v := nil;
  8505. glMemoryBarrier := nil;
  8506. glMemoryBarrierByRegion := nil;
  8507. glTexStorage2DMultisample := nil;
  8508. glGetMultisamplefv := nil;
  8509. glSampleMaski := nil;
  8510. glGetTexLevelParameteriv := nil;
  8511. glGetTexLevelParameterfv := nil;
  8512. glBindVertexBuffer := nil;
  8513. glVertexAttribFormat := nil;
  8514. glVertexAttribIFormat := nil;
  8515. glVertexAttribBinding := nil;
  8516. glVertexBindingDivisor := nil;
  8517. {$EndIf}
  8518. {$IfDef GL_ES_VERSION_3_2}
  8519. // GL_KHR_blend_equation_advanced GL_NV_blend_equation_advanced
  8520. glBlendBarrier := nil;
  8521. // GL_OES_copy_image GL_EXT_copy_image
  8522. glCopyImageSubData := nil;
  8523. // GL_KHR_debug
  8524. glDebugMessageControl := nil;
  8525. glDebugMessageInsert := nil;
  8526. glDebugMessageCallback := nil;
  8527. glGetDebugMessageLog := nil;
  8528. glPushDebugGroup := nil;
  8529. glPopDebugGroup := nil;
  8530. glObjectLabel := nil;
  8531. // GL_KHR_debug GL_EXT_debug_label
  8532. glGetObjectLabel := nil;
  8533. // GL_KHR_debug
  8534. glObjectPtrLabel := nil;
  8535. glGetObjectPtrLabel := nil;
  8536. glGetPointerv := nil;
  8537. // GL_OES_draw_buffers_indexed GL_NV_viewport_array
  8538. glEnablei := nil;
  8539. glDisablei := nil;
  8540. // GL_OES_draw_buffers_indexed
  8541. glBlendEquationi := nil;
  8542. glBlendEquationSeparatei := nil;
  8543. glBlendFunci := nil;
  8544. glBlendFuncSeparatei := nil;
  8545. glColorMaski := nil;
  8546. // GL_OES_draw_buffers_indexed GL_NV_viewport_array
  8547. glIsEnabledi := nil;
  8548. // GL_OES_draw_elements_base_vertex GL_EXT_draw_elements_base_vertex
  8549. glDrawElementsBaseVertex := nil;
  8550. glDrawRangeElementsBaseVertex := nil;
  8551. glDrawElementsInstancedBaseVertex := nil;
  8552. // GL_OES_geometry_shader GL_EXT_geometry_shader
  8553. glFramebufferTexture := nil;
  8554. // GL_OES_primitive_bounding_box GL_EXT_primitive_bounding_box
  8555. glPrimitiveBoundingBox := nil;
  8556. // GL_KHR_robustness GL_EXT_robustness
  8557. glGetGraphicsResetStatus := nil;
  8558. glReadnPixels := nil;
  8559. glGetnUniformfv := nil;
  8560. glGetnUniformiv := nil;
  8561. // GL_KHR_robustness
  8562. glGetnUniformuiv := nil;
  8563. // GL_OES_sample_shading
  8564. glMinSampleShading := nil;
  8565. // GL_OES_tessellation_shader GL_EXT_tessellation_shader
  8566. glPatchParameteri := nil;
  8567. // GL_OES_texture_border_clamp GL_EXT_texture_border_clamp
  8568. glTexParameterIiv := nil;
  8569. glTexParameterIuiv := nil;
  8570. glGetTexParameterIiv := nil;
  8571. glGetTexParameterIuiv := nil;
  8572. glSamplerParameterIiv := nil;
  8573. glSamplerParameterIuiv := nil;
  8574. glGetSamplerParameterIiv := nil;
  8575. glGetSamplerParameterIuiv := nil;
  8576. // GL_OES_texture_buffer GL_EXT_texture_buffer
  8577. glTexBuffer := nil;
  8578. glTexBufferRange := nil;
  8579. // GL_OES_texture_storage_multisample_2d_array
  8580. glTexStorage3DMultisample := nil;
  8581. {$EndIf}
  8582. end;
  8583. end.