dglOpenGL.pas 958 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527
  1. { ============================================================================
  2. OpenGL 4.5 - Headertranslation (Personal Fork)
  3. Version 4.5a (Personal Fork)
  4. Supported environments and targets :
  5. - (Win32) Delphi 7 and up
  6. - (Win32, Win64) Delphi XE2
  7. - (Win32, Win64, Linux, MacOSX) FreePascal (1.9.3 and up)
  8. ==============================================================================
  9. Copyright (C) DGL-OpenGL-Portteam
  10. All Rights Reserved
  11. Obtained through:
  12. GitHub fork - https://github.com/CWBudde/dglOpenGL
  13. Bitbucket source repository - https://bitbucket.org/saschawillems/dglopengl
  14. Delphi OpenGL Community(DGL) - www.delphigl.com
  15. Converted and maintained by DGL's OpenGL-Portteam :
  16. - Sascha Willems - http://www.saschawillems.de
  17. - Steffen Xonna (Lossy eX) - http://www.dev-center.de
  18. Additional input :
  19. - Andrey Gruzdev (Mac OS X patch for XE2 / FPC)
  20. - Lars Middendorf
  21. - Martin Waldegger (Mars)
  22. - Benjamin Rosseaux (BeRo) - http://www.0ok.de
  23. Additional thanks:
  24. sigsegv (libdl.so)
  25. ==============================================================================
  26. You may retrieve the latest version of this file at the Delphi OpenGL
  27. Community home page, located at http://www.delphigl.com/
  28. The contents of this file are used with permission, subject to
  29. the Mozilla Public License Version 1.1 (the "License"); you may
  30. not use this file except in compliance with the License. You may
  31. obtain a copy of the License at
  32. http://www.mozilla.org/MPL/MPL-1.1.html
  33. Software distributed under the License is distributed on an
  34. "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  35. implied. See the License for the specific language governing
  36. rights and limitations under the License.
  37. ==============================================================================
  38. History: see readme.md
  39. ============================================================================== }
  40. {.$define DGL_TINY_HEADER}
  41. {
  42. If you enable the define DGL_TINY_HEADER no function automatically will be loaded if you
  43. call ActivateRenderingContext. This may some bit faster and the smart linker can delete
  44. all non used functions. This will reduce the filesize of your binary file. But in this
  45. case you have to load the functions by yourself. There are two ways to do this.
  46. 1. You can load whole extension by calling the func Read_Extensionname. But if you do
  47. this it's possible to load functions you dont use. So you have the same "problem"
  48. like before. But it's only an bit smaler.
  49. > Read_GL_ARB_multitexture;
  50. 2. You are able to load only the functions you exactly need. In this case you are able
  51. to use the variables of the dglOpenGL.pas. So you only need to load the functions
  52. and you can use the header like before.
  53. To do this you have to created and activated an opengl context and than you can load
  54. the needed functions.
  55. > ActivateRenderingContext(fDC, fRC);
  56. > glActiveTextureARB := dglGetProcAddress('glActiveTextureARB');
  57. > glMultiTexCoord2fARB := dglGetProcAddress('glMultiTexCoord2fARB');
  58. So only the function "glActiveTextureARB" and "glMultiTexCoord2fARB" will be loaded.
  59. Please notice that the extension variables won't be loaded if this define is active. But
  60. you can call dglCheckExtension to check if any extension exists. You can assign them to
  61. the variables of the dglOpenGL.pas so all code they use this will find them.
  62. > GL_ARB_shading_language_100 := dglCheckExtension('GL_ARB_shading_language_100');
  63. }
  64. unit dglOpenGL;
  65. interface
  66. {$I dglOpenGL.inc}
  67. uses
  68. {$IFDEF FPC}{$IFDEF DARWIN}dynlibs,{$ENDIF}{$ENDIF} // LoadLibrary functions
  69. SysUtils {$IFDEF DGL_WIN}, Windows{$ENDIF} {$IFDEF DGL_64BIT}, Math {$ENDIF}
  70. {$IFDEF DGL_LINUX}, X, XLib, XUtil{$ENDIF};
  71. type
  72. GLenum = Cardinal;
  73. GLboolean = BYTEBOOL;
  74. GLbitfield = Cardinal;
  75. GLbyte = Shortint;
  76. GLshort = SmallInt;
  77. GLint = Integer;
  78. GLsizei = Integer;
  79. GLubyte = Byte;
  80. GLushort = Word;
  81. GLuint = Cardinal;
  82. GLfloat = Single;
  83. GLclampf = Single;
  84. GLdouble = Double;
  85. GLclampd = Double;
  86. GLvoid = Pointer;
  87. GLint64 = Int64;
  88. GLuint64 = UInt64;
  89. TGLenum = GLenum;
  90. TGLboolean = GLboolean;
  91. TGLbitfield = GLbitfield;
  92. TGLbyte = GLbyte;
  93. TGLshort = GLshort;
  94. TGLint = GLint;
  95. TGLsizei = GLsizei;
  96. TGLubyte = GLubyte;
  97. TGLushort = GLushort;
  98. TGLuint = GLuint;
  99. TGLfloat = GLfloat;
  100. TGLclampf = GLclampf;
  101. TGLdouble = GLdouble;
  102. TGLclampd = GLclampd;
  103. TGLvoid = GLvoid;
  104. TGLint64 = GLint64;
  105. TGLuint64 = GLuint64;
  106. PGLboolean = ^GLboolean;
  107. PGLbyte = ^GLbyte;
  108. PGLshort = ^GLshort;
  109. PGLint = ^GLint;
  110. PGLsizei = ^GLsizei;
  111. PGLubyte = ^GLubyte;
  112. PGLushort = ^GLushort;
  113. PGLuint = ^GLuint;
  114. PGLclampf = ^GLclampf;
  115. PGLfloat = ^GLfloat;
  116. PGLdouble = ^GLdouble;
  117. PGLclampd = ^GLclampd;
  118. PGLenum = ^GLenum;
  119. PGLvoid = Pointer;
  120. PPGLvoid = ^PGLvoid;
  121. PGLint64 = ^GLint64;
  122. PGLuint64 = ^GLuint64;
  123. // GL_NV_half_float
  124. GLhalfNV = WORD;
  125. TGLhalfNV = GLhalfNV;
  126. PGLhalfNV = ^GLhalfNV;
  127. // GL_ARB_shader_objects
  128. PGLHandleARB = ^GLHandleARB;
  129. GLHandleARB = Integer;
  130. GLcharARB = AnsiChar;
  131. PGLcharARB = PAnsiChar;
  132. PPGLcharARB = ^PGLcharARB;
  133. // GL_VERSION_1_5
  134. GLintptr = GLint;
  135. PGLintptr = ^GLintptr;
  136. GLsizeiptr = GLsizei;
  137. // GL_ARB_vertex_buffer_object
  138. GLintptrARB = GLint;
  139. GLsizeiptrARB = GLsizei;
  140. // GL_VERSION_2_0
  141. GLHandle = Integer;
  142. PGLchar = PAnsiChar;
  143. PPGLchar = ^PGLChar;
  144. // GL_EXT_timer_query
  145. GLint64EXT = Int64;
  146. TGLint64EXT = GLint64EXT;
  147. PGLint64EXT = ^GLint64EXT;
  148. GLuint64EXT = GLuint64;
  149. TGLuint64EXT = GLuint64EXT;
  150. PGLuint64EXT = ^GLuint64EXT;
  151. // WGL_ARB_pbuffer
  152. HPBUFFERARB = THandle;
  153. // WGL_EXT_pbuffer
  154. HPBUFFEREXT = THandle;
  155. // WGL_NV_present_video
  156. PHVIDEOOUTPUTDEVICENV = ^HVIDEOOUTPUTDEVICENV;
  157. HVIDEOOUTPUTDEVICENV = THandle;
  158. // WGL_NV_video_output
  159. PHPVIDEODEV = ^HPVIDEODEV;
  160. HPVIDEODEV = THandle;
  161. // WGL_NV_gpu_affinity
  162. PHPGPUNV = ^HPGPUNV;
  163. PHGPUNV = ^HGPUNV;
  164. // WGL_NV_video_capture
  165. HVIDEOINPUTDEVICENV = THandle;
  166. PHVIDEOINPUTDEVICENV = ^HVIDEOINPUTDEVICENV;
  167. HPGPUNV = THandle;
  168. HGPUNV = THandle;
  169. // GL_ARB_sync
  170. GLsync = Pointer;
  171. // GL_ARB_cl_event
  172. { These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event }
  173. _cl_context = record end;
  174. _cl_event = record end;
  175. p_cl_context = ^_cl_context;
  176. p_cl_event = ^_cl_event;
  177. // GL_ARB_compute_variable_group_size
  178. TglDispatchComputeGroupSizeARB = procedure (num_groups_x: GLuint;
  179. num_groups_y: GLuint; num_groups_z: GLuint; group_size_x: GLuint;
  180. group_size_y: GLuint; group_size_z: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  181. // GL_ARB_debug_output
  182. TglDebugProcARB = procedure (source: GLenum; type_: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const message_: PGLchar; userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  183. // GL_AMD_debug_output
  184. TglDebugProcAMD = procedure (id: GLuint; category: GLenum; severity: GLenum; length: GLsizei; const message_: PGLchar; userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  185. // GL_KHR_debug (4.3)
  186. TglDebugProc = procedure(source: GLEnum; type_: GLEnum; id: GLUInt; severity: GLUInt; length: GLsizei; const message_: PGLCHar; userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  187. // GL_NV_vdpau_interop
  188. GLvdpauSurfaceNV = GLintptr;
  189. PGLvdpauSurfaceNV = ^GLvdpauSurfaceNV;
  190. // GLX
  191. {$IFDEF DGL_LINUX}
  192. GLXContext = Pointer;
  193. GLXContextID = TXID;
  194. GLXDrawable = TXID;
  195. GLXFBConfig = Pointer;
  196. GLXPbuffer = TXID;
  197. GLXPixmap = TXID;
  198. GLXWindow = TXID;
  199. Window = TXID;
  200. Colormap = TXID;
  201. Pixmap = TXID;
  202. Font = TXID;
  203. {$ENDIF}
  204. // Datatypes corresponding to GL's types TGL(name)(type)(count)
  205. TGLVectorub2 = array[0..1] of GLubyte;
  206. TGLVectori2 = array[0..1] of GLint;
  207. TGLVectorf2 = array[0..1] of GLfloat;
  208. TGLVectord2 = array[0..1] of GLdouble;
  209. TGLVectorp2 = array[0..1] of Pointer;
  210. TGLVectorub3 = array[0..2] of GLubyte;
  211. TGLVectori3 = array[0..2] of GLint;
  212. TGLVectorf3 = array[0..2] of GLfloat;
  213. TGLVectord3 = array[0..2] of GLdouble;
  214. TGLVectorp3 = array[0..2] of Pointer;
  215. TGLVectorub4 = array[0..3] of GLubyte;
  216. TGLVectori4 = array[0..3] of GLint;
  217. TGLVectorf4 = array[0..3] of GLfloat;
  218. TGLVectord4 = array[0..3] of GLdouble;
  219. TGLVectorp4 = array[0..3] of Pointer;
  220. TGLArrayf4 = TGLVectorf4;
  221. TGLArrayf3 = TGLVectorf3;
  222. TGLArrayd3 = TGLVectord3;
  223. TGLArrayi4 = TGLVectori4;
  224. TGLArrayp4 = TGLVectorp4;
  225. TGlMatrixub3 = array[0..2, 0..2] of GLubyte;
  226. TGlMatrixi3 = array[0..2, 0..2] of GLint;
  227. TGLMatrixf3 = array[0..2, 0..2] of GLfloat;
  228. TGLMatrixd3 = array[0..2, 0..2] of GLdouble;
  229. TGlMatrixub4 = array[0..3, 0..3] of GLubyte;
  230. TGlMatrixi4 = array[0..3, 0..3] of GLint;
  231. TGLMatrixf4 = array[0..3, 0..3] of GLfloat;
  232. TGLMatrixd4 = array[0..3, 0..3] of GLdouble;
  233. TGLVector3f = TGLVectorf3;
  234. // Datatypes corresponding to OpenGL12.pas for easy porting
  235. TVector3f = TGLVectorf3;
  236. TVector3d = TGLVectord3;
  237. TVector4i = TGLVectori4;
  238. TVector4f = TGLVectorf4;
  239. TVector4p = TGLVectorp4;
  240. TMatrix4f = TGLMatrixf4;
  241. TMatrix4d = TGLMatrixd4;
  242. PGLMatrixd4 = ^TGLMatrixd4;
  243. PVector4i = ^TVector4i;
  244. {$IFDEF FPC}
  245. TRect = packed record
  246. Left, Top, Right, Bottom: Longint;
  247. end;
  248. {$ENDIF}
  249. PGPU_DEVICE = ^GPU_DEVICE;
  250. GPU_DEVICE = record
  251. cb: DWORD;
  252. DeviceName: array [0..31] of AnsiChar;
  253. DeviceString: array [0..127] of AnsiChar;
  254. Flags: DWORD;
  255. rcVirtualScreen: TRect;
  256. end;
  257. type
  258. {$IFDEF FPC}
  259. {$IFDEF DGL_WIN}
  260. PWGLSwap = ^TWGLSwap;
  261. {$EXTERNALSYM _WGLSWAP}
  262. _WGLSWAP = packed record
  263. hdc: HDC;
  264. uiFlags: UINT;
  265. end;
  266. TWGLSwap = _WGLSWAP;
  267. {$EXTERNALSYM WGLSWAP}
  268. WGLSWAP = _WGLSWAP;
  269. {$ENDIF}
  270. {$ENDIF}
  271. // GLU types
  272. TGLUNurbs = record
  273. end;
  274. TGLUQuadric = record
  275. end;
  276. TGLUTesselator = record
  277. end;
  278. PGLUNurbs = ^TGLUNurbs;
  279. PGLUQuadric = ^TGLUQuadric;
  280. PGLUTesselator = ^TGLUTesselator;
  281. // backwards compatibility
  282. TGLUNurbsObj = TGLUNurbs;
  283. TGLUQuadricObj = TGLUQuadric;
  284. TGLUTesselatorObj = TGLUTesselator;
  285. TGLUTriangulatorObj = TGLUTesselator;
  286. PGLUNurbsObj = PGLUNurbs;
  287. PGLUQuadricObj = PGLUQuadric;
  288. PGLUTesselatorObj = PGLUTesselator;
  289. PGLUTriangulatorObj = PGLUTesselator;
  290. // GLUQuadricCallback
  291. TGLUQuadricErrorProc = procedure(errorCode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  292. // GLUTessCallback
  293. TGLUTessBeginProc = procedure(AType: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  294. TGLUTessEdgeFlagProc = procedure(Flag: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  295. TGLUTessVertexProc = procedure(VertexData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  296. TGLUTessEndProc = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  297. TGLUTessErrorProc = procedure(ErrNo: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  298. TGLUTessCombineProc = procedure(Coords: TGLArrayd3; VertexData: TGLArrayp4; Weight: TGLArrayf4; OutData: PPointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  299. TGLUTessBeginDataProc = procedure(AType: GLenum; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  300. TGLUTessEdgeFlagDataProc = procedure(Flag: GLboolean; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  301. TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  302. TGLUTessEndDataProc = procedure(UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  303. TGLUTessErrorDataProc = procedure(ErrNo: GLenum; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  304. TGLUTessCombineDataProc = procedure(Coords: TGLArrayd3; VertexData: TGLArrayp4; Weight: TGLArrayf4; OutData: PPointer; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  305. // GLUNurbsCallback
  306. TGLUNurbsErrorProc = procedure(ErrorCode: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  307. var
  308. GL_VERSION_1_0,
  309. GL_VERSION_1_1,
  310. GL_VERSION_1_2,
  311. GL_VERSION_1_3,
  312. GL_VERSION_1_4,
  313. GL_VERSION_1_5,
  314. GL_VERSION_2_0,
  315. GL_VERSION_2_1,
  316. GL_VERSION_3_0,
  317. GL_VERSION_3_1,
  318. GL_VERSION_3_2,
  319. GL_VERSION_3_3,
  320. GL_VERSION_4_0,
  321. GL_VERSION_4_1,
  322. GL_VERSION_4_2,
  323. GL_VERSION_4_3,
  324. GL_VERSION_4_4,
  325. GL_VERSION_4_5,
  326. GLU_VERSION_1_1,
  327. GLU_VERSION_1_2,
  328. GLU_VERSION_1_3,
  329. GL_3DFX_multisample,
  330. GL_3DFX_tbuffer,
  331. GL_3DFX_texture_compression_FXT1,
  332. GL_APPLE_client_storage,
  333. GL_APPLE_element_array,
  334. GL_APPLE_fence,
  335. GL_APPLE_specular_vector,
  336. GL_APPLE_transform_hint,
  337. GL_APPLE_vertex_array_object,
  338. GL_APPLE_vertex_array_range,
  339. GL_APPLE_ycbcr_422,
  340. GL_APPLE_texture_range,
  341. GL_APPLE_float_pixels,
  342. GL_APPLE_vertex_program_evaluators,
  343. GL_APPLE_aux_depth_stencil,
  344. GL_APPLE_object_purgeable,
  345. GL_APPLE_row_bytes,
  346. GL_APPLE_rgb_422,
  347. GL_ARB_depth_texture,
  348. GL_ARB_fragment_program,
  349. GL_ARB_imaging,
  350. GL_ARB_matrix_palette,
  351. GL_ARB_multisample,
  352. GL_ARB_multitexture,
  353. GL_ARB_point_parameters,
  354. GL_ARB_shadow,
  355. GL_ARB_shadow_ambient,
  356. GL_ARB_texture_border_clamp,
  357. GL_ARB_texture_compression,
  358. GL_ARB_texture_cube_map,
  359. GL_ARB_texture_env_add,
  360. GL_ARB_texture_env_combine,
  361. GL_ARB_texture_env_crossbar,
  362. GL_ARB_texture_env_dot3,
  363. GL_ARB_texture_mirrored_repeat,
  364. GL_ARB_transpose_matrix,
  365. GL_ARB_vertex_blend,
  366. GL_ARB_vertex_buffer_object,
  367. GL_ARB_vertex_program,
  368. GL_ARB_window_pos,
  369. GL_ARB_shader_objects,
  370. GL_ARB_vertex_shader,
  371. GL_ARB_fragment_shader,
  372. GL_ARB_shading_language_100,
  373. GL_ARB_occlusion_query,
  374. GL_ARB_texture_non_power_of_two,
  375. GL_ARB_point_sprite,
  376. GL_ARB_fragment_program_shadow,
  377. GL_ARB_draw_buffers,
  378. GL_ARB_texture_rectangle,
  379. GL_ARB_color_buffer_float,
  380. GL_ARB_half_float_pixel,
  381. GL_ARB_texture_float,
  382. GL_ARB_pixel_buffer_object,
  383. GL_ARB_depth_buffer_float,
  384. GL_ARB_draw_instanced,
  385. GL_ARB_framebuffer_object,
  386. GL_ARB_framebuffer_sRGB,
  387. GL_ARB_geometry_shader4,
  388. GL_ARB_half_float_vertex,
  389. GL_ARB_instanced_arrays,
  390. GL_ARB_map_buffer_range,
  391. GL_ARB_texture_buffer_object,
  392. GL_ARB_texture_compression_rgtc,
  393. GL_ARB_texture_rg,
  394. GL_ARB_vertex_array_object,
  395. GL_ARB_uniform_buffer_object,
  396. GL_ARB_compatibility,
  397. GL_ARB_copy_buffer,
  398. GL_ARB_shader_texture_lod,
  399. GL_ARB_depth_clamp,
  400. GL_ARB_draw_elements_base_vertex,
  401. GL_ARB_fragment_coord_conventions,
  402. GL_ARB_provoking_vertex,
  403. GL_ARB_seamless_cube_map,
  404. GL_ARB_sync,
  405. GL_ARB_texture_multisample,
  406. GL_ARB_vertex_array_bgra,
  407. GL_ARB_draw_buffers_blend,
  408. GL_ARB_sample_shading,
  409. GL_ARB_texture_cube_map_array,
  410. GL_ARB_texture_gather,
  411. GL_ARB_texture_query_lod,
  412. GL_ARB_shading_language_include,
  413. GL_ARB_texture_compression_bptc,
  414. GL_ARB_blend_func_extended,
  415. GL_ARB_explicit_attrib_location,
  416. GL_ARB_occlusion_query2,
  417. GL_ARB_sampler_objects,
  418. GL_ARB_shader_bit_encoding,
  419. GL_ARB_texture_rgb10_a2ui,
  420. GL_ARB_texture_swizzle,
  421. GL_ARB_timer_query,
  422. GL_ARB_vertex_type_2_10_10_10_rev,
  423. GL_ARB_draw_indirect,
  424. GL_ARB_gpu_shader5,
  425. GL_ARB_gpu_shader_fp64,
  426. GL_ARB_shader_subroutine,
  427. GL_ARB_tessellation_shader,
  428. GL_ARB_texture_buffer_object_rgb32,
  429. GL_ARB_transform_feedback2,
  430. GL_ARB_transform_feedback3,
  431. GL_ARB_ES2_compatibility,
  432. GL_ARB_get_program_binary,
  433. GL_ARB_separate_shader_objects,
  434. GL_ARB_shader_precision,
  435. GL_ARB_vertex_attrib_64bit,
  436. GL_ARB_viewport_array,
  437. // GL 4.2
  438. GL_ARB_base_instance,
  439. GL_ARB_shading_language_420pack,
  440. GL_ARB_transform_feedback_instanced,
  441. GL_ARB_compressed_texture_pixel_storage,
  442. GL_ARB_conservative_depth,
  443. GL_ARB_internalformat_query,
  444. GL_ARB_map_buffer_alignment,
  445. GL_ARB_shader_atomic_counters,
  446. GL_ARB_shader_image_load_store,
  447. GL_ARB_shading_language_packing,
  448. GL_ARB_texture_storage,
  449. // GL 4.3
  450. GL_ARB_arrays_of_arrays,
  451. GL_ARB_fragment_layer_viewport,
  452. GL_ARB_shader_image_size,
  453. GL_ARB_ES3_compatibility,
  454. GL_ARB_clear_buffer_object,
  455. GL_ARB_compute_shader,
  456. GL_ARB_copy_image,
  457. GL_KHR_debug,
  458. GL_ARB_explicit_uniform_location,
  459. GL_ARB_framebuffer_no_attachments,
  460. GL_ARB_internalformat_query2,
  461. GL_ARB_invalidate_subdata,
  462. GL_ARB_multi_draw_indirect,
  463. GL_ARB_program_interface_query,
  464. GL_ARB_robust_buffer_access_behavior,
  465. GL_ARB_shader_storage_buffer_object,
  466. GL_ARB_stencil_texturing,
  467. GL_ARB_texture_buffer_range,
  468. GL_ARB_texture_query_levels,
  469. GL_ARB_texture_storage_multisample,
  470. GL_ARB_texture_view,
  471. GL_ARB_vertex_attrib_binding,
  472. GL_NV_path_rendering,
  473. GL_AMD_pinned_memory,
  474. GL_AMD_stencil_operation_extended,
  475. GL_AMD_vertex_shader_viewport_index,
  476. GL_AMD_vertex_shader_layer,
  477. GL_NV_bindless_texture,
  478. GL_NV_shader_atomic_float,
  479. GL_AMD_query_buffer_object,
  480. // GL 4.4
  481. GL_ARB_buffer_storage,
  482. GL_ARB_clear_texture,
  483. GL_ARB_enhanced_layouts,
  484. GL_ARB_multi_bind,
  485. GL_ARB_query_buffer_object,
  486. GL_ARB_texture_mirror_clamp_to_edge,
  487. GL_ARB_texture_stencil8,
  488. GL_ARB_vertex_type_10f_11f_11f_rev,
  489. GL_ARB_bindless_texture,
  490. GL_ARB_sparse_texture,
  491. // GL 4.5
  492. GL_ARB_clip_control,
  493. GL_ARB_cull_distance,
  494. GL_ARB_ES3_1_compatibility,
  495. GL_ARB_conditional_render_inverted,
  496. GL_KHR_context_flush_control,
  497. GL_ARB_derivative_control,
  498. GL_ARB_direct_state_access,
  499. GL_ARB_get_texture_sub_image,
  500. GL_KHR_robustness,
  501. GL_KHR_blend_equation_advanced,
  502. GL_KHR_blend_equation_advanced_coherent,
  503. GL_KHR_robust_buffer_access_behavior,
  504. GL_ARB_shader_texture_image_samples,
  505. GL_ARB_texture_barrier,
  506. GL_ARB_cl_event,
  507. GL_ARB_compute_variable_group_size,
  508. GL_ARB_debug_output,
  509. GL_ARB_robustness,
  510. GL_ARB_shader_stencil_export,
  511. GL_ATI_draw_buffers,
  512. GL_ATI_element_array,
  513. GL_ATI_envmap_bumpmap,
  514. GL_ATI_fragment_shader,
  515. GL_ATI_map_object_buffer,
  516. GL_ATI_pn_triangles,
  517. GL_ATI_separate_stencil,
  518. GL_ATI_text_fragment_shader,
  519. GL_ATI_texture_env_combine3,
  520. GL_ATI_texture_float,
  521. GL_ATI_texture_mirror_once,
  522. GL_ATI_vertex_array_object,
  523. GL_ATI_vertex_attrib_array_object,
  524. GL_ATI_vertex_streams,
  525. GL_ATI_meminfo,
  526. GL_AMD_performance_monitor,
  527. GL_AMD_texture_texture4,
  528. GL_AMD_vertex_shader_tesselator,
  529. GL_AMD_draw_buffers_blend,
  530. GL_AMD_shader_stencil_export,
  531. GL_AMD_seamless_cubemap_per_texture,
  532. GL_AMD_conservative_depth,
  533. GL_AMD_name_gen_delete,
  534. GL_AMD_debug_output,
  535. GL_AMD_transform_feedback3_lines_triangles,
  536. GL_AMD_depth_clamp_separate,
  537. GL_EXT_422_pixels,
  538. GL_EXT_abgr,
  539. GL_EXT_bgra,
  540. GL_EXT_blend_color,
  541. GL_EXT_blend_func_separate,
  542. GL_EXT_blend_logic_op,
  543. GL_EXT_blend_minmax,
  544. GL_EXT_blend_subtract,
  545. GL_EXT_clip_volume_hint,
  546. GL_EXT_cmyka,
  547. GL_EXT_color_matrix,
  548. GL_EXT_color_subtable,
  549. GL_EXT_compiled_vertex_array,
  550. GL_EXT_convolution,
  551. GL_EXT_coordinate_frame,
  552. GL_EXT_copy_texture,
  553. GL_EXT_cull_vertex,
  554. GL_EXT_draw_range_elements,
  555. GL_EXT_fog_coord,
  556. GL_EXT_framebuffer_object,
  557. GL_EXT_histogram,
  558. GL_EXT_index_array_formats,
  559. GL_EXT_index_func,
  560. GL_EXT_index_material,
  561. GL_EXT_index_texture,
  562. GL_EXT_light_texture,
  563. GL_EXT_misc_attribute,
  564. GL_EXT_multi_draw_arrays,
  565. GL_EXT_multisample,
  566. GL_EXT_packed_pixels,
  567. GL_EXT_paletted_texture,
  568. GL_EXT_pixel_transform,
  569. GL_EXT_pixel_transform_color_table,
  570. GL_EXT_point_parameters,
  571. GL_EXT_polygon_offset,
  572. GL_EXT_rescale_normal,
  573. GL_EXT_secondary_color,
  574. GL_EXT_separate_specular_color,
  575. GL_EXT_shadow_funcs,
  576. GL_EXT_shared_texture_palette,
  577. GL_EXT_stencil_two_side,
  578. GL_EXT_stencil_wrap,
  579. GL_EXT_subtexture,
  580. GL_EXT_texture,
  581. GL_EXT_texture3D,
  582. GL_EXT_texture_compression_s3tc,
  583. GL_EXT_texture_cube_map,
  584. GL_EXT_texture_edge_clamp,
  585. GL_EXT_texture_env_add,
  586. GL_EXT_texture_env_combine,
  587. GL_EXT_texture_env_dot3,
  588. GL_EXT_texture_filter_anisotropic,
  589. GL_EXT_texture_lod_bias,
  590. GL_EXT_texture_object,
  591. GL_EXT_texture_perturb_normal,
  592. GL_EXT_texture_rectangle,
  593. GL_EXT_vertex_array,
  594. GL_EXT_vertex_shader,
  595. GL_EXT_vertex_weighting,
  596. GL_EXT_depth_bounds_test,
  597. GL_EXT_texture_mirror_clamp,
  598. GL_EXT_blend_equation_separate,
  599. GL_EXT_pixel_buffer_object,
  600. GL_EXT_texture_compression_dxt1,
  601. GL_EXT_stencil_clear_tag,
  602. GL_EXT_packed_depth_stencil,
  603. GL_EXT_texture_sRGB,
  604. GL_EXT_framebuffer_blit,
  605. GL_EXT_framebuffer_multisample,
  606. GL_EXT_timer_query,
  607. GL_EXT_gpu_program_parameters,
  608. GL_EXT_bindable_uniform,
  609. GL_EXT_draw_buffers2,
  610. GL_EXT_draw_instanced,
  611. GL_EXT_framebuffer_sRGB,
  612. GL_EXT_geometry_shader4,
  613. GL_EXT_gpu_shader4,
  614. GL_EXT_packed_float,
  615. GL_EXT_texture_array,
  616. GL_EXT_texture_buffer_object,
  617. GL_EXT_texture_compression_latc,
  618. GL_EXT_texture_compression_rgtc,
  619. GL_EXT_texture_integer,
  620. GL_EXT_texture_shared_exponent,
  621. GL_EXT_transform_feedback,
  622. GL_EXT_direct_state_access,
  623. GL_EXT_vertex_array_bgra,
  624. GL_EXT_texture_swizzle,
  625. GL_EXT_provoking_vertex,
  626. GL_EXT_texture_snorm,
  627. GL_EXT_separate_shader_objects,
  628. GL_EXT_shader_image_load_store,
  629. GL_EXT_vertex_attrib_64bit,
  630. GL_EXT_texture_sRGB_decode,
  631. GL_FfdMaskSGIX,
  632. GL_HP_convolution_border_modes,
  633. GL_HP_image_transform,
  634. GL_HP_occlusion_test,
  635. GL_HP_texture_lighting,
  636. GL_IBM_cull_vertex,
  637. GL_IBM_multimode_draw_arrays,
  638. GL_IBM_rasterpos_clip,
  639. GL_IBM_texture_mirrored_repeat,
  640. GL_IBM_vertex_array_lists,
  641. GL_INGR_blend_func_separate,
  642. GL_INGR_color_clamp,
  643. GL_INGR_interlace_read,
  644. GL_INGR_palette_buffer,
  645. GL_INTEL_parallel_arrays,
  646. GL_INTEL_texture_scissor,
  647. GL_MESA_resize_buffers,
  648. GL_MESA_window_pos,
  649. GL_NV_blend_square,
  650. GL_NV_copy_depth_to_color,
  651. GL_NV_depth_clamp,
  652. GL_NV_evaluators,
  653. GL_NV_fence,
  654. GL_NV_float_buffer,
  655. GL_NV_fog_distance,
  656. GL_NV_fragment_program,
  657. GL_NV_half_float,
  658. GL_NV_light_max_exponent,
  659. GL_NV_multisample_filter_hint,
  660. GL_NV_occlusion_query,
  661. GL_NV_packed_depth_stencil,
  662. GL_NV_pixel_data_range,
  663. GL_NV_point_sprite,
  664. GL_NV_primitive_restart,
  665. GL_NV_register_combiners,
  666. GL_NV_register_combiners2,
  667. GL_NV_texgen_emboss,
  668. GL_NV_texgen_reflection,
  669. GL_NV_texture_compression_vtc,
  670. GL_NV_texture_env_combine4,
  671. GL_NV_texture_expand_normal,
  672. GL_NV_texture_rectangle,
  673. GL_NV_texture_shader,
  674. GL_NV_texture_shader2,
  675. GL_NV_texture_shader3,
  676. GL_NV_vertex_array_range,
  677. GL_NV_vertex_array_range2,
  678. GL_NV_vertex_program,
  679. GL_NV_vertex_program1_1,
  680. GL_NV_vertex_program2,
  681. GL_NV_fragment_program_option,
  682. GL_NV_fragment_program2,
  683. GL_NV_vertex_program2_option,
  684. GL_NV_vertex_program3,
  685. GL_NV_depth_buffer_float,
  686. GL_NV_fragment_program4,
  687. GL_NV_framebuffer_multisample_coverage,
  688. GL_NV_geometry_program4,
  689. GL_NV_gpu_program4,
  690. GL_NV_parameter_buffer_object,
  691. GL_NV_transform_feedback,
  692. GL_NV_vertex_program4,
  693. GL_NV_conditional_render,
  694. GL_NV_present_video,
  695. GL_NV_explicit_multisample,
  696. GL_NV_transform_feedback2,
  697. GL_NV_video_capture,
  698. GL_NV_copy_image,
  699. GL_NV_parameter_buffer_object2,
  700. GL_NV_shader_buffer_load,
  701. GL_NV_vertex_buffer_unified_memory,
  702. GL_NV_gpu_program5,
  703. GL_NV_gpu_shader5,
  704. GL_NV_shader_buffer_store,
  705. GL_NV_tessellation_program5,
  706. GL_NV_vertex_attrib_integer_64bit,
  707. GL_NV_multisample_coverage,
  708. GL_NV_vdpau_interop,
  709. GL_NV_texture_barrier,
  710. GL_OML_interlace,
  711. GL_OML_resample,
  712. GL_OML_subsample,
  713. GL_PGI_misc_hints,
  714. GL_PGI_vertex_hints,
  715. GL_REND_screen_coordinates,
  716. GL_S3_s3tc,
  717. GL_SGIS_detail_texture,
  718. GL_SGIS_fog_function,
  719. GL_SGIS_generate_mipmap,
  720. GL_SGIS_multisample,
  721. GL_SGIS_pixel_texture,
  722. GL_SGIS_point_line_texgen,
  723. GL_SGIS_point_parameters,
  724. GL_SGIS_sharpen_texture,
  725. GL_SGIS_texture4D,
  726. GL_SGIS_texture_border_clamp,
  727. GL_SGIS_texture_color_mask,
  728. GL_SGIS_texture_edge_clamp,
  729. GL_SGIS_texture_filter4,
  730. GL_SGIS_texture_lod,
  731. GL_SGIS_texture_select,
  732. GL_SGIX_async,
  733. GL_SGIX_async_histogram,
  734. GL_SGIX_async_pixel,
  735. GL_SGIX_blend_alpha_minmax,
  736. GL_SGIX_calligraphic_fragment,
  737. GL_SGIX_clipmap,
  738. GL_SGIX_convolution_accuracy,
  739. GL_SGIX_depth_pass_instrument,
  740. GL_SGIX_depth_texture,
  741. GL_SGIX_flush_raster,
  742. GL_SGIX_fog_offset,
  743. GL_SGIX_fog_scale,
  744. GL_SGIX_fragment_lighting,
  745. GL_SGIX_framezoom,
  746. GL_SGIX_igloo_interface,
  747. GL_SGIX_impact_pixel_texture,
  748. GL_SGIX_instruments,
  749. GL_SGIX_interlace,
  750. GL_SGIX_ir_instrument1,
  751. GL_SGIX_list_priority,
  752. GL_SGIX_pixel_texture,
  753. GL_SGIX_pixel_tiles,
  754. GL_SGIX_polynomial_ffd,
  755. GL_SGIX_reference_plane,
  756. GL_SGIX_resample,
  757. GL_SGIX_scalebias_hint,
  758. GL_SGIX_shadow,
  759. GL_SGIX_shadow_ambient,
  760. GL_SGIX_sprite,
  761. GL_SGIX_subsample,
  762. GL_SGIX_tag_sample_buffer,
  763. GL_SGIX_texture_add_env,
  764. GL_SGIX_texture_coordinate_clamp,
  765. GL_SGIX_texture_lod_bias,
  766. GL_SGIX_texture_multi_buffer,
  767. GL_SGIX_texture_scale_bias,
  768. GL_SGIX_texture_select,
  769. GL_SGIX_vertex_preclip,
  770. GL_SGIX_ycrcb,
  771. GL_SGIX_ycrcb_subsample,
  772. GL_SGIX_ycrcba,
  773. GL_SGI_color_matrix,
  774. GL_SGI_color_table,
  775. GL_SGI_depth_pass_instrument,
  776. GL_SGI_texture_color_table,
  777. GL_SUNX_constant_data,
  778. GL_SUN_convolution_border_modes,
  779. GL_SUN_global_alpha,
  780. GL_SUN_mesh_array,
  781. GL_SUN_slice_accum,
  782. GL_SUN_triangle_list,
  783. GL_SUN_vertex,
  784. // WGL
  785. GL_WIN_phong_shading,
  786. GL_WIN_specular_fog,
  787. WGL_3DFX_multisample,
  788. WGL_ARB_buffer_region,
  789. WGL_ARB_extensions_string,
  790. WGL_ARB_make_current_read,
  791. WGL_ARB_multisample,
  792. WGL_ARB_pbuffer,
  793. WGL_ARB_pixel_format,
  794. WGL_ARB_pixel_format_float,
  795. WGL_ARB_render_texture,
  796. WGL_ARB_create_context,
  797. WGL_ARB_create_context_profile,
  798. WGL_ARB_framebuffer_sRGB,
  799. WGL_ARB_create_context_robustness,
  800. WGL_ATI_pixel_format_float,
  801. WGL_AMD_gpu_association,
  802. WGL_EXT_depth_float,
  803. WGL_EXT_display_color_table,
  804. WGL_EXT_extensions_string,
  805. WGL_EXT_make_current_read,
  806. WGL_EXT_multisample,
  807. WGL_EXT_pbuffer,
  808. WGL_EXT_pixel_format,
  809. WGL_EXT_swap_control,
  810. WGL_EXT_create_context_es2_profile,
  811. WGL_I3D_digital_video_control,
  812. WGL_I3D_gamma,
  813. WGL_I3D_genlock,
  814. WGL_I3D_image_buffer,
  815. WGL_I3D_swap_frame_lock,
  816. WGL_I3D_swap_frame_usage,
  817. WGL_NV_float_buffer,
  818. WGL_NV_render_depth_texture,
  819. WGL_NV_render_texture_rectangle,
  820. WGL_NV_vertex_array_range,
  821. WGL_NV_present_video,
  822. WGL_NV_video_output,
  823. WGL_NV_swap_group,
  824. WGL_NV_gpu_affinity,
  825. WGL_NV_video_capture,
  826. WGL_NV_copy_image,
  827. WGL_NV_multisample_coverage,
  828. WGL_NV_DX_interop,
  829. WGL_OML_sync_control,
  830. WGL_3DL_stereo_control,
  831. WGL_ARB_context_flush_control,
  832. WIN_draw_range_elements,
  833. WIN_swap_hint,
  834. // GLX
  835. GLX_VERSION_1_3,
  836. GLX_VERSION_1_4,
  837. GLX_ARB_multisample,
  838. GLX_ARB_fbconfig_float,
  839. GLX_ARB_get_proc_address,
  840. GLX_ARB_create_context,
  841. GLX_ARB_create_context_profile,
  842. GLX_ARB_vertex_buffer_object,
  843. GLX_ARB_framebuffer_sRGB,
  844. GLX_ARB_create_context_robustness,
  845. GLX_EXT_visual_info,
  846. GLX_EXT_visual_rating,
  847. GLX_EXT_import_context,
  848. GLX_EXT_fbconfig_packed_float,
  849. GLX_EXT_framebuffer_sRGB,
  850. GLX_EXT_texture_from_pixmap,
  851. GLX_EXT_swap_control,
  852. GLX_ARB_context_flush_control,
  853. GLX_EXT_create_context_es2_profile: Boolean;
  854. const
  855. // GL_VERSION_1_1
  856. { AttribMask }
  857. GL_DEPTH_BUFFER_BIT = $00000100;
  858. GL_STENCIL_BUFFER_BIT = $00000400;
  859. GL_COLOR_BUFFER_BIT = $00004000;
  860. { Boolean }
  861. GL_TRUE: ByteBool = True;
  862. GL_FALSE: ByteBool = False;
  863. { BeginMode }
  864. GL_POINTS = $0000;
  865. GL_LINES = $0001;
  866. GL_LINE_LOOP = $0002;
  867. GL_LINE_STRIP = $0003;
  868. GL_TRIANGLES = $0004;
  869. GL_TRIANGLE_STRIP = $0005;
  870. GL_TRIANGLE_FAN = $0006;
  871. { AlphaFunction }
  872. GL_NEVER = $0200;
  873. GL_LESS = $0201;
  874. GL_EQUAL = $0202;
  875. GL_LEQUAL = $0203;
  876. GL_GREATER = $0204;
  877. GL_NOTEQUAL = $0205;
  878. GL_GEQUAL = $0206;
  879. GL_ALWAYS = $0207;
  880. { BlendingFactorDest }
  881. GL_ZERO = 0;
  882. GL_ONE = 1;
  883. GL_SRC_COLOR = $0300;
  884. GL_ONE_MINUS_SRC_COLOR = $0301;
  885. GL_SRC_ALPHA = $0302;
  886. GL_ONE_MINUS_SRC_ALPHA = $0303;
  887. GL_DST_ALPHA = $0304;
  888. GL_ONE_MINUS_DST_ALPHA = $0305;
  889. { BlendingFactorSrc }
  890. GL_DST_COLOR = $0306;
  891. GL_ONE_MINUS_DST_COLOR = $0307;
  892. GL_SRC_ALPHA_SATURATE = $0308;
  893. { DrawBufferMode }
  894. GL_NONE = 0;
  895. GL_FRONT_LEFT = $0400;
  896. GL_FRONT_RIGHT = $0401;
  897. GL_BACK_LEFT = $0402;
  898. GL_BACK_RIGHT = $0403;
  899. GL_FRONT = $0404;
  900. GL_BACK = $0405;
  901. GL_LEFT = $0406;
  902. GL_RIGHT = $0407;
  903. GL_FRONT_AND_BACK = $0408;
  904. { ErrorCode }
  905. GL_NO_ERROR = 0;
  906. GL_INVALID_ENUM = $0500;
  907. GL_INVALID_VALUE = $0501;
  908. GL_INVALID_OPERATION = $0502;
  909. GL_OUT_OF_MEMORY = $0505;
  910. { FrontFaceDirection }
  911. GL_CW = $0900;
  912. GL_CCW = $0901;
  913. { GetPName }
  914. GL_POINT_SIZE = $0B11;
  915. GL_POINT_SIZE_RANGE = $0B12;
  916. GL_POINT_SIZE_GRANULARITY = $0B13;
  917. GL_LINE_SMOOTH = $0B20;
  918. GL_LINE_WIDTH = $0B21;
  919. GL_LINE_WIDTH_RANGE = $0B22;
  920. GL_LINE_WIDTH_GRANULARITY = $0B23;
  921. GL_POLYGON_SMOOTH = $0B41;
  922. GL_CULL_FACE = $0B44;
  923. GL_CULL_FACE_MODE = $0B45;
  924. GL_FRONT_FACE = $0B46;
  925. GL_DEPTH_RANGE = $0B70;
  926. GL_DEPTH_TEST = $0B71;
  927. GL_DEPTH_WRITEMASK = $0B72;
  928. GL_DEPTH_CLEAR_VALUE = $0B73;
  929. GL_DEPTH_FUNC = $0B74;
  930. GL_STENCIL_TEST = $0B90;
  931. GL_STENCIL_CLEAR_VALUE = $0B91;
  932. GL_STENCIL_FUNC = $0B92;
  933. GL_STENCIL_VALUE_MASK = $0B93;
  934. GL_STENCIL_FAIL = $0B94;
  935. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  936. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  937. GL_STENCIL_REF = $0B97;
  938. GL_STENCIL_WRITEMASK = $0B98;
  939. GL_VIEWPORT = $0BA2;
  940. GL_DITHER = $0BD0;
  941. GL_BLEND_DST = $0BE0;
  942. GL_BLEND_SRC = $0BE1;
  943. GL_BLEND = $0BE2;
  944. GL_LOGIC_OP_MODE = $0BF0;
  945. GL_COLOR_LOGIC_OP = $0BF2;
  946. GL_DRAW_BUFFER = $0C01;
  947. GL_READ_BUFFER = $0C02;
  948. GL_SCISSOR_BOX = $0C10;
  949. GL_SCISSOR_TEST = $0C11;
  950. GL_COLOR_CLEAR_VALUE = $0C22;
  951. GL_COLOR_WRITEMASK = $0C23;
  952. GL_DOUBLEBUFFER = $0C32;
  953. GL_STEREO = $0C33;
  954. GL_LINE_SMOOTH_HINT = $0C52;
  955. GL_POLYGON_SMOOTH_HINT = $0C53;
  956. GL_UNPACK_SWAP_BYTES = $0CF0;
  957. GL_UNPACK_LSB_FIRST = $0CF1;
  958. GL_UNPACK_ROW_LENGTH = $0CF2;
  959. GL_UNPACK_SKIP_ROWS = $0CF3;
  960. GL_UNPACK_SKIP_PIXELS = $0CF4;
  961. GL_UNPACK_ALIGNMENT = $0CF5;
  962. GL_PACK_SWAP_BYTES = $0D00;
  963. GL_PACK_LSB_FIRST = $0D01;
  964. GL_PACK_ROW_LENGTH = $0D02;
  965. GL_PACK_SKIP_ROWS = $0D03;
  966. GL_PACK_SKIP_PIXELS = $0D04;
  967. GL_PACK_ALIGNMENT = $0D05;
  968. GL_MAX_TEXTURE_SIZE = $0D33;
  969. GL_MAX_VIEWPORT_DIMS = $0D3A;
  970. GL_SUBPIXEL_BITS = $0D50;
  971. GL_TEXTURE_1D = $0DE0;
  972. GL_TEXTURE_2D = $0DE1;
  973. GL_POLYGON_OFFSET_UNITS = $2A00;
  974. GL_POLYGON_OFFSET_POINT = $2A01;
  975. GL_POLYGON_OFFSET_LINE = $2A02;
  976. GL_POLYGON_OFFSET_FILL = $8037;
  977. GL_POLYGON_OFFSET_FACTOR = $8038;
  978. GL_TEXTURE_BINDING_1D = $8068;
  979. GL_TEXTURE_BINDING_2D = $8069;
  980. { GetTextureParameter }
  981. GL_TEXTURE_WIDTH = $1000;
  982. GL_TEXTURE_HEIGHT = $1001;
  983. GL_TEXTURE_INTERNAL_FORMAT = $1003;
  984. GL_TEXTURE_BORDER_COLOR = $1004;
  985. GL_TEXTURE_BORDER = $1005;
  986. GL_TEXTURE_RED_SIZE = $805C;
  987. GL_TEXTURE_GREEN_SIZE = $805D;
  988. GL_TEXTURE_BLUE_SIZE = $805E;
  989. GL_TEXTURE_ALPHA_SIZE = $805F;
  990. { HintMode }
  991. GL_DONT_CARE = $1100;
  992. GL_FASTEST = $1101;
  993. GL_NICEST = $1102;
  994. { DataType }
  995. GL_BYTE = $1400;
  996. GL_UNSIGNED_BYTE = $1401;
  997. GL_SHORT = $1402;
  998. GL_UNSIGNED_SHORT = $1403;
  999. GL_INT = $1404;
  1000. GL_UNSIGNED_INT = $1405;
  1001. GL_FLOAT = $1406;
  1002. GL_DOUBLE = $140A;
  1003. { LogicOp }
  1004. GL_CLEAR = $1500;
  1005. GL_AND = $1501;
  1006. GL_AND_REVERSE = $1502;
  1007. GL_COPY = $1503;
  1008. GL_AND_INVERTED = $1504;
  1009. GL_NOOP = $1505;
  1010. GL_XOR = $1506;
  1011. GL_OR = $1507;
  1012. GL_NOR = $1508;
  1013. GL_EQUIV = $1509;
  1014. GL_INVERT = $150A;
  1015. GL_OR_REVERSE = $150B;
  1016. GL_COPY_INVERTED = $150C;
  1017. GL_OR_INVERTED = $150D;
  1018. GL_NAND = $150E;
  1019. GL_SET = $150F;
  1020. { MatrixMode (for gl3.h, FBO attachment type) }
  1021. GL_TEXTURE = $1702;
  1022. { PixelCopyType }
  1023. GL_COLOR = $1800;
  1024. GL_DEPTH = $1801;
  1025. GL_STENCIL = $1802;
  1026. { PixelFormat }
  1027. GL_STENCIL_INDEX = $1901;
  1028. GL_DEPTH_COMPONENT = $1902;
  1029. GL_RED = $1903;
  1030. GL_GREEN = $1904;
  1031. GL_BLUE = $1905;
  1032. GL_ALPHA = $1906;
  1033. GL_RGB = $1907;
  1034. GL_RGBA = $1908;
  1035. { PolygonMode }
  1036. GL_POINT = $1B00;
  1037. GL_LINE = $1B01;
  1038. GL_FILL = $1B02;
  1039. { StencilOp }
  1040. GL_KEEP = $1E00;
  1041. GL_REPLACE = $1E01;
  1042. GL_INCR = $1E02;
  1043. GL_DECR = $1E03;
  1044. { stringName }
  1045. GL_VENDOR = $1F00;
  1046. GL_RENDERER = $1F01;
  1047. GL_VERSION = $1F02;
  1048. GL_EXTENSIONS = $1F03;
  1049. { TextureMagFilter }
  1050. GL_NEAREST = $2600;
  1051. GL_LINEAR = $2601;
  1052. { TextureMinFilter }
  1053. GL_NEAREST_MIPMAP_NEAREST = $2700;
  1054. GL_LINEAR_MIPMAP_NEAREST = $2701;
  1055. GL_NEAREST_MIPMAP_LINEAR = $2702;
  1056. GL_LINEAR_MIPMAP_LINEAR = $2703;
  1057. { TextureParameterName }
  1058. GL_TEXTURE_MAG_FILTER = $2800;
  1059. GL_TEXTURE_MIN_FILTER = $2801;
  1060. GL_TEXTURE_WRAP_S = $2802;
  1061. GL_TEXTURE_WRAP_T = $2803;
  1062. { TextureTarget }
  1063. GL_PROXY_TEXTURE_1D = $8063;
  1064. GL_PROXY_TEXTURE_2D = $8064;
  1065. { TextureWrapMode }
  1066. GL_REPEAT = $2901;
  1067. { PixelInternalFormat }
  1068. GL_R3_G3_B2 = $2A10;
  1069. GL_RGB4 = $804F;
  1070. GL_RGB5 = $8050;
  1071. GL_RGB8 = $8051;
  1072. GL_RGB10 = $8052;
  1073. GL_RGB12 = $8053;
  1074. GL_RGB16 = $8054;
  1075. GL_RGBA2 = $8055;
  1076. GL_RGBA4 = $8056;
  1077. GL_RGB5_A1 = $8057;
  1078. GL_RGBA8 = $8058;
  1079. GL_RGB10_A2 = $8059;
  1080. GL_RGBA12 = $805A;
  1081. GL_RGBA16 = $805B;
  1082. // GL_VERSION_1_2
  1083. GL_UNSIGNED_BYTE_3_3_2 = $8032;
  1084. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  1085. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  1086. GL_UNSIGNED_INT_8_8_8_8 = $8035;
  1087. GL_UNSIGNED_INT_10_10_10_2 = $8036;
  1088. GL_TEXTURE_BINDING_3D = $806A;
  1089. GL_PACK_SKIP_IMAGES = $806B;
  1090. GL_PACK_IMAGE_HEIGHT = $806C;
  1091. GL_UNPACK_SKIP_IMAGES = $806D;
  1092. GL_UNPACK_IMAGE_HEIGHT = $806E;
  1093. GL_TEXTURE_3D = $806F;
  1094. GL_PROXY_TEXTURE_3D = $8070;
  1095. GL_TEXTURE_DEPTH = $8071;
  1096. GL_TEXTURE_WRAP_R = $8072;
  1097. GL_MAX_3D_TEXTURE_SIZE = $8073;
  1098. GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
  1099. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  1100. GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
  1101. GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
  1102. GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
  1103. GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
  1104. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  1105. GL_BGR = $80E0;
  1106. GL_BGRA = $80E1;
  1107. GL_MAX_ELEMENTS_VERTICES = $80E8;
  1108. GL_MAX_ELEMENTS_INDICES = $80E9;
  1109. GL_CLAMP_TO_EDGE = $812F;
  1110. GL_TEXTURE_MIN_LOD = $813A;
  1111. GL_TEXTURE_MAX_LOD = $813B;
  1112. GL_TEXTURE_BASE_LEVEL = $813C;
  1113. GL_TEXTURE_MAX_LEVEL = $813D;
  1114. GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
  1115. GL_SMOOTH_POINT_SIZE_GRANULARITY = $0B13;
  1116. GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
  1117. GL_SMOOTH_LINE_WIDTH_GRANULARITY = $0B23;
  1118. GL_ALIASED_LINE_WIDTH_RANGE = $846E;
  1119. // GL_VERSION_1_3
  1120. GL_TEXTURE0 = $84C0;
  1121. GL_TEXTURE1 = $84C1;
  1122. GL_TEXTURE2 = $84C2;
  1123. GL_TEXTURE3 = $84C3;
  1124. GL_TEXTURE4 = $84C4;
  1125. GL_TEXTURE5 = $84C5;
  1126. GL_TEXTURE6 = $84C6;
  1127. GL_TEXTURE7 = $84C7;
  1128. GL_TEXTURE8 = $84C8;
  1129. GL_TEXTURE9 = $84C9;
  1130. GL_TEXTURE10 = $84CA;
  1131. GL_TEXTURE11 = $84CB;
  1132. GL_TEXTURE12 = $84CC;
  1133. GL_TEXTURE13 = $84CD;
  1134. GL_TEXTURE14 = $84CE;
  1135. GL_TEXTURE15 = $84CF;
  1136. GL_TEXTURE16 = $84D0;
  1137. GL_TEXTURE17 = $84D1;
  1138. GL_TEXTURE18 = $84D2;
  1139. GL_TEXTURE19 = $84D3;
  1140. GL_TEXTURE20 = $84D4;
  1141. GL_TEXTURE21 = $84D5;
  1142. GL_TEXTURE22 = $84D6;
  1143. GL_TEXTURE23 = $84D7;
  1144. GL_TEXTURE24 = $84D8;
  1145. GL_TEXTURE25 = $84D9;
  1146. GL_TEXTURE26 = $84DA;
  1147. GL_TEXTURE27 = $84DB;
  1148. GL_TEXTURE28 = $84DC;
  1149. GL_TEXTURE29 = $84DD;
  1150. GL_TEXTURE30 = $84DE;
  1151. GL_TEXTURE31 = $84DF;
  1152. GL_ACTIVE_TEXTURE = $84E0;
  1153. GL_MULTISAMPLE = $809D;
  1154. GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  1155. GL_SAMPLE_ALPHA_TO_ONE = $809F;
  1156. GL_SAMPLE_COVERAGE = $80A0;
  1157. GL_SAMPLE_BUFFERS = $80A8;
  1158. GL_SAMPLES = $80A9;
  1159. GL_SAMPLE_COVERAGE_VALUE = $80AA;
  1160. GL_SAMPLE_COVERAGE_INVERT = $80AB;
  1161. GL_TEXTURE_CUBE_MAP = $8513;
  1162. GL_TEXTURE_BINDING_CUBE_MAP = $8514;
  1163. GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
  1164. GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
  1165. GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
  1166. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
  1167. GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
  1168. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
  1169. GL_PROXY_TEXTURE_CUBE_MAP = $851B;
  1170. GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
  1171. GL_COMPRESSED_RGB = $84ED;
  1172. GL_COMPRESSED_RGBA = $84EE;
  1173. GL_TEXTURE_COMPRESSION_HINT = $84EF;
  1174. GL_TEXTURE_COMPRESSED_IMAGE_SIZE = $86A0;
  1175. GL_TEXTURE_COMPRESSED = $86A1;
  1176. GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  1177. GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  1178. GL_CLAMP_TO_BORDER = $812D;
  1179. // GL_VERSION_1_4
  1180. GL_BLEND_DST_RGB = $80C8;
  1181. GL_BLEND_SRC_RGB = $80C9;
  1182. GL_BLEND_DST_ALPHA = $80CA;
  1183. GL_BLEND_SRC_ALPHA = $80CB;
  1184. GL_POINT_FADE_THRESHOLD_SIZE = $8128;
  1185. GL_DEPTH_COMPONENT16 = $81A5;
  1186. GL_DEPTH_COMPONENT24 = $81A6;
  1187. GL_DEPTH_COMPONENT32 = $81A7;
  1188. GL_MIRRORED_REPEAT = $8370;
  1189. GL_MAX_TEXTURE_LOD_BIAS = $84FD;
  1190. GL_TEXTURE_LOD_BIAS = $8501;
  1191. GL_INCR_WRAP = $8507;
  1192. GL_DECR_WRAP = $8508;
  1193. GL_TEXTURE_DEPTH_SIZE = $884A;
  1194. GL_TEXTURE_COMPARE_MODE = $884C;
  1195. GL_TEXTURE_COMPARE_FUNC = $884D;
  1196. // GL_VERSION_1_5
  1197. GL_BUFFER_SIZE = $8764;
  1198. GL_BUFFER_USAGE = $8765;
  1199. GL_QUERY_COUNTER_BITS = $8864;
  1200. GL_CURRENT_QUERY = $8865;
  1201. GL_QUERY_RESULT = $8866;
  1202. GL_QUERY_RESULT_AVAILABLE = $8867;
  1203. GL_ARRAY_BUFFER = $8892;
  1204. GL_ELEMENT_ARRAY_BUFFER = $8893;
  1205. GL_ARRAY_BUFFER_BINDING = $8894;
  1206. GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
  1207. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
  1208. GL_READ_ONLY = $88B8;
  1209. GL_WRITE_ONLY = $88B9;
  1210. GL_READ_WRITE = $88BA;
  1211. GL_BUFFER_ACCESS = $88BB;
  1212. GL_BUFFER_MAPPED = $88BC;
  1213. GL_BUFFER_MAP_POINTER = $88BD;
  1214. GL_STREAM_DRAW = $88E0;
  1215. GL_STREAM_READ = $88E1;
  1216. GL_STREAM_COPY = $88E2;
  1217. GL_STATIC_DRAW = $88E4;
  1218. GL_STATIC_READ = $88E5;
  1219. GL_STATIC_COPY = $88E6;
  1220. GL_DYNAMIC_DRAW = $88E8;
  1221. GL_DYNAMIC_READ = $88E9;
  1222. GL_DYNAMIC_COPY = $88EA;
  1223. GL_SAMPLES_PASSED = $8914;
  1224. // GL_VERSION_2_0
  1225. GL_BLEND_EQUATION_RGB = $8009;
  1226. GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
  1227. GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
  1228. GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
  1229. GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
  1230. GL_CURRENT_VERTEX_ATTRIB = $8626;
  1231. GL_VERTEX_PROGRAM_POINT_SIZE = $8642;
  1232. GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
  1233. GL_STENCIL_BACK_FUNC = $8800;
  1234. GL_STENCIL_BACK_FAIL = $8801;
  1235. GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
  1236. GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
  1237. GL_MAX_DRAW_BUFFERS = $8824;
  1238. GL_DRAW_BUFFER0 = $8825;
  1239. GL_DRAW_BUFFER1 = $8826;
  1240. GL_DRAW_BUFFER2 = $8827;
  1241. GL_DRAW_BUFFER3 = $8828;
  1242. GL_DRAW_BUFFER4 = $8829;
  1243. GL_DRAW_BUFFER5 = $882A;
  1244. GL_DRAW_BUFFER6 = $882B;
  1245. GL_DRAW_BUFFER7 = $882C;
  1246. GL_DRAW_BUFFER8 = $882D;
  1247. GL_DRAW_BUFFER9 = $882E;
  1248. GL_DRAW_BUFFER10 = $882F;
  1249. GL_DRAW_BUFFER11 = $8830;
  1250. GL_DRAW_BUFFER12 = $8831;
  1251. GL_DRAW_BUFFER13 = $8832;
  1252. GL_DRAW_BUFFER14 = $8833;
  1253. GL_DRAW_BUFFER15 = $8834;
  1254. GL_BLEND_EQUATION_ALPHA = $883D;
  1255. GL_MAX_VERTEX_ATTRIBS = $8869;
  1256. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
  1257. GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
  1258. GL_FRAGMENT_SHADER = $8B30;
  1259. GL_VERTEX_SHADER = $8B31;
  1260. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
  1261. GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
  1262. GL_MAX_VARYING_FLOATS = $8B4B;
  1263. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
  1264. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
  1265. GL_SHADER_TYPE = $8B4F;
  1266. GL_FLOAT_VEC2 = $8B50;
  1267. GL_FLOAT_VEC3 = $8B51;
  1268. GL_FLOAT_VEC4 = $8B52;
  1269. GL_INT_VEC2 = $8B53;
  1270. GL_INT_VEC3 = $8B54;
  1271. GL_INT_VEC4 = $8B55;
  1272. GL_BOOL = $8B56;
  1273. GL_BOOL_VEC2 = $8B57;
  1274. GL_BOOL_VEC3 = $8B58;
  1275. GL_BOOL_VEC4 = $8B59;
  1276. GL_FLOAT_MAT2 = $8B5A;
  1277. GL_FLOAT_MAT3 = $8B5B;
  1278. GL_FLOAT_MAT4 = $8B5C;
  1279. GL_SAMPLER_1D = $8B5D;
  1280. GL_SAMPLER_2D = $8B5E;
  1281. GL_SAMPLER_3D = $8B5F;
  1282. GL_SAMPLER_CUBE = $8B60;
  1283. GL_SAMPLER_1D_SHADOW = $8B61;
  1284. GL_SAMPLER_2D_SHADOW = $8B62;
  1285. GL_DELETE_STATUS = $8B80;
  1286. GL_COMPILE_STATUS = $8B81;
  1287. GL_LINK_STATUS = $8B82;
  1288. GL_VALIDATE_STATUS = $8B83;
  1289. GL_INFO_LOG_LENGTH = $8B84;
  1290. GL_ATTACHED_SHADERS = $8B85;
  1291. GL_ACTIVE_UNIFORMS = $8B86;
  1292. GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
  1293. GL_SHADER_SOURCE_LENGTH = $8B88;
  1294. GL_ACTIVE_ATTRIBUTES = $8B89;
  1295. GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
  1296. GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
  1297. GL_SHADING_LANGUAGE_VERSION = $8B8C;
  1298. GL_CURRENT_PROGRAM = $8B8D;
  1299. GL_POINT_SPRITE_COORD_ORIGIN = $8CA0;
  1300. GL_LOWER_LEFT = $8CA1;
  1301. GL_UPPER_LEFT = $8CA2;
  1302. GL_STENCIL_BACK_REF = $8CA3;
  1303. GL_STENCIL_BACK_VALUE_MASK = $8CA4;
  1304. GL_STENCIL_BACK_WRITEMASK = $8CA5;
  1305. // GL_VERSION_2_1
  1306. GL_PIXEL_PACK_BUFFER = $88EB;
  1307. GL_PIXEL_UNPACK_BUFFER = $88EC;
  1308. GL_PIXEL_PACK_BUFFER_BINDING = $88ED;
  1309. GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF;
  1310. GL_FLOAT_MAT2x3 = $8B65;
  1311. GL_FLOAT_MAT2x4 = $8B66;
  1312. GL_FLOAT_MAT3x2 = $8B67;
  1313. GL_FLOAT_MAT3x4 = $8B68;
  1314. GL_FLOAT_MAT4x2 = $8B69;
  1315. GL_FLOAT_MAT4x3 = $8B6A;
  1316. GL_SRGB = $8C40;
  1317. GL_SRGB8 = $8C41;
  1318. GL_SRGB_ALPHA = $8C42;
  1319. GL_SRGB8_ALPHA8 = $8C43;
  1320. GL_COMPRESSED_SRGB = $8C48;
  1321. GL_COMPRESSED_SRGB_ALPHA = $8C49;
  1322. // GL_VERSION_3_0
  1323. GL_COMPARE_REF_TO_TEXTURE = $884E;
  1324. GL_CLIP_DISTANCE0 = $3000;
  1325. GL_CLIP_DISTANCE1 = $3001;
  1326. GL_CLIP_DISTANCE2 = $3002;
  1327. GL_CLIP_DISTANCE3 = $3003;
  1328. GL_CLIP_DISTANCE4 = $3004;
  1329. GL_CLIP_DISTANCE5 = $3005;
  1330. GL_CLIP_DISTANCE6 = $3006;
  1331. GL_CLIP_DISTANCE7 = $3007;
  1332. GL_MAX_CLIP_DISTANCES = $0D32;
  1333. GL_MAJOR_VERSION = $821B;
  1334. GL_MINOR_VERSION = $821C;
  1335. GL_NUM_EXTENSIONS = $821D;
  1336. GL_CONTEXT_FLAGS = $821E;
  1337. GL_DEPTH_BUFFER = $8223;
  1338. GL_STENCIL_BUFFER = $8224;
  1339. GL_COMPRESSED_RED = $8225;
  1340. GL_COMPRESSED_RG = $8226;
  1341. GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = $0001;
  1342. GL_RGBA32F = $8814;
  1343. GL_RGB32F = $8815;
  1344. GL_RGBA16F = $881A;
  1345. GL_RGB16F = $881B;
  1346. GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD;
  1347. GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF;
  1348. GL_MIN_PROGRAM_TEXEL_OFFSET = $8904;
  1349. GL_MAX_PROGRAM_TEXEL_OFFSET = $8905;
  1350. GL_CLAMP_READ_COLOR = $891C;
  1351. GL_FIXED_ONLY = $891D;
  1352. GL_MAX_VARYING_COMPONENTS = $8B4B;
  1353. GL_TEXTURE_1D_ARRAY = $8C18;
  1354. GL_PROXY_TEXTURE_1D_ARRAY = $8C19;
  1355. GL_TEXTURE_2D_ARRAY = $8C1A;
  1356. GL_PROXY_TEXTURE_2D_ARRAY = $8C1B;
  1357. GL_TEXTURE_BINDING_1D_ARRAY = $8C1C;
  1358. GL_TEXTURE_BINDING_2D_ARRAY = $8C1D;
  1359. GL_R11F_G11F_B10F = $8C3A;
  1360. GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B;
  1361. GL_RGB9_E5 = $8C3D;
  1362. GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E;
  1363. GL_TEXTURE_SHARED_SIZE = $8C3F;
  1364. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76;
  1365. GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F;
  1366. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80;
  1367. GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83;
  1368. GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84;
  1369. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85;
  1370. GL_PRIMITIVES_GENERATED = $8C87;
  1371. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88;
  1372. GL_RASTERIZER_DISCARD = $8C89;
  1373. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A;
  1374. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B;
  1375. GL_INTERLEAVED_ATTRIBS = $8C8C;
  1376. GL_SEPARATE_ATTRIBS = $8C8D;
  1377. GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E;
  1378. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F;
  1379. GL_RGBA32UI = $8D70;
  1380. GL_RGB32UI = $8D71;
  1381. GL_RGBA16UI = $8D76;
  1382. GL_RGB16UI = $8D77;
  1383. GL_RGBA8UI = $8D7C;
  1384. GL_RGB8UI = $8D7D;
  1385. GL_RGBA32I = $8D82;
  1386. GL_RGB32I = $8D83;
  1387. GL_RGBA16I = $8D88;
  1388. GL_RGB16I = $8D89;
  1389. GL_RGBA8I = $8D8E;
  1390. GL_RGB8I = $8D8F;
  1391. GL_RED_INTEGER = $8D94;
  1392. GL_GREEN_INTEGER = $8D95;
  1393. GL_BLUE_INTEGER = $8D96;
  1394. GL_RGB_INTEGER = $8D98;
  1395. GL_RGBA_INTEGER = $8D99;
  1396. GL_BGR_INTEGER = $8D9A;
  1397. GL_BGRA_INTEGER = $8D9B;
  1398. GL_SAMPLER_1D_ARRAY = $8DC0;
  1399. GL_SAMPLER_2D_ARRAY = $8DC1;
  1400. GL_SAMPLER_1D_ARRAY_SHADOW = $8DC3;
  1401. GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4;
  1402. GL_SAMPLER_CUBE_SHADOW = $8DC5;
  1403. GL_UNSIGNED_INT_VEC2 = $8DC6;
  1404. GL_UNSIGNED_INT_VEC3 = $8DC7;
  1405. GL_UNSIGNED_INT_VEC4 = $8DC8;
  1406. GL_INT_SAMPLER_1D = $8DC9;
  1407. GL_INT_SAMPLER_2D = $8DCA;
  1408. GL_INT_SAMPLER_3D = $8DCB;
  1409. GL_INT_SAMPLER_CUBE = $8DCC;
  1410. GL_INT_SAMPLER_1D_ARRAY = $8DCE;
  1411. GL_INT_SAMPLER_2D_ARRAY = $8DCF;
  1412. GL_UNSIGNED_INT_SAMPLER_1D = $8DD1;
  1413. GL_UNSIGNED_INT_SAMPLER_2D = $8DD2;
  1414. GL_UNSIGNED_INT_SAMPLER_3D = $8DD3;
  1415. GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4;
  1416. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = $8DD6;
  1417. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7;
  1418. GL_QUERY_WAIT = $8E13;
  1419. GL_QUERY_NO_WAIT = $8E14;
  1420. GL_QUERY_BY_REGION_WAIT = $8E15;
  1421. GL_QUERY_BY_REGION_NO_WAIT = $8E16;
  1422. GL_BUFFER_ACCESS_FLAGS = $911F;
  1423. GL_BUFFER_MAP_LENGTH = $9120;
  1424. GL_BUFFER_MAP_OFFSET = $9121;
  1425. { Reuse tokens from ARB_depth_buffer_float }
  1426. { reuse GL_DEPTH_COMPONENT32F }
  1427. { reuse GL_DEPTH32F_STENCIL8 }
  1428. { reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV }
  1429. { Reuse tokens from ARB_framebuffer_object }
  1430. { reuse GL_INVALID_FRAMEBUFFER_OPERATION }
  1431. { reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING }
  1432. { reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE }
  1433. { reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE }
  1434. { reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE }
  1435. { reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE }
  1436. { reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE }
  1437. { reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE }
  1438. { reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE }
  1439. { reuse GL_FRAMEBUFFER_DEFAULT }
  1440. { reuse GL_FRAMEBUFFER_UNDEFINED }
  1441. { reuse GL_DEPTH_STENCIL_ATTACHMENT }
  1442. { reuse GL_INDEX }
  1443. { reuse GL_MAX_RENDERBUFFER_SIZE }
  1444. { reuse GL_DEPTH_STENCIL }
  1445. { reuse GL_UNSIGNED_INT_24_8 }
  1446. { reuse GL_DEPTH24_STENCIL8 }
  1447. { reuse GL_TEXTURE_STENCIL_SIZE }
  1448. { reuse GL_TEXTURE_RED_TYPE }
  1449. { reuse GL_TEXTURE_GREEN_TYPE }
  1450. { reuse GL_TEXTURE_BLUE_TYPE }
  1451. { reuse GL_TEXTURE_ALPHA_TYPE }
  1452. { reuse GL_TEXTURE_DEPTH_TYPE }
  1453. { reuse GL_UNSIGNED_NORMALIZED }
  1454. { reuse GL_FRAMEBUFFER_BINDING }
  1455. { reuse GL_DRAW_FRAMEBUFFER_BINDING }
  1456. { reuse GL_RENDERBUFFER_BINDING }
  1457. { reuse GL_READ_FRAMEBUFFER }
  1458. { reuse GL_DRAW_FRAMEBUFFER }
  1459. { reuse GL_READ_FRAMEBUFFER_BINDING }
  1460. { reuse GL_RENDERBUFFER_SAMPLES }
  1461. { reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE }
  1462. { reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME }
  1463. { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL }
  1464. { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE }
  1465. { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER }
  1466. { reuse GL_FRAMEBUFFER_COMPLETE }
  1467. { reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT }
  1468. { reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT }
  1469. { reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER }
  1470. { reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER }
  1471. { reuse GL_FRAMEBUFFER_UNSUPPORTED }
  1472. { reuse GL_MAX_COLOR_ATTACHMENTS }
  1473. { reuse GL_COLOR_ATTACHMENT0 }
  1474. { reuse GL_COLOR_ATTACHMENT1 }
  1475. { reuse GL_COLOR_ATTACHMENT2 }
  1476. { reuse GL_COLOR_ATTACHMENT3 }
  1477. { reuse GL_COLOR_ATTACHMENT4 }
  1478. { reuse GL_COLOR_ATTACHMENT5 }
  1479. { reuse GL_COLOR_ATTACHMENT6 }
  1480. { reuse GL_COLOR_ATTACHMENT7 }
  1481. { reuse GL_COLOR_ATTACHMENT8 }
  1482. { reuse GL_COLOR_ATTACHMENT9 }
  1483. { reuse GL_COLOR_ATTACHMENT10 }
  1484. { reuse GL_COLOR_ATTACHMENT11 }
  1485. { reuse GL_COLOR_ATTACHMENT12 }
  1486. { reuse GL_COLOR_ATTACHMENT13 }
  1487. { reuse GL_COLOR_ATTACHMENT14 }
  1488. { reuse GL_COLOR_ATTACHMENT15 }
  1489. { reuse GL_DEPTH_ATTACHMENT }
  1490. { reuse GL_STENCIL_ATTACHMENT }
  1491. { reuse GL_FRAMEBUFFER }
  1492. { reuse GL_RENDERBUFFER }
  1493. { reuse GL_RENDERBUFFER_WIDTH }
  1494. { reuse GL_RENDERBUFFER_HEIGHT }
  1495. { reuse GL_RENDERBUFFER_INTERNAL_FORMAT }
  1496. { reuse GL_STENCIL_INDEX1 }
  1497. { reuse GL_STENCIL_INDEX4 }
  1498. { reuse GL_STENCIL_INDEX8 }
  1499. { reuse GL_STENCIL_INDEX16 }
  1500. { reuse GL_RENDERBUFFER_RED_SIZE }
  1501. { reuse GL_RENDERBUFFER_GREEN_SIZE }
  1502. { reuse GL_RENDERBUFFER_BLUE_SIZE }
  1503. { reuse GL_RENDERBUFFER_ALPHA_SIZE }
  1504. { reuse GL_RENDERBUFFER_DEPTH_SIZE }
  1505. { reuse GL_RENDERBUFFER_STENCIL_SIZE }
  1506. { reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE }
  1507. { reuse GL_MAX_SAMPLES }
  1508. { Reuse tokens from ARB_framebuffer_sRGB }
  1509. { reuse GL_FRAMEBUFFER_SRGB }
  1510. { Reuse tokens from ARB_half_float_vertex }
  1511. { reuse GL_HALF_FLOAT }
  1512. { Reuse tokens from ARB_map_buffer_range }
  1513. { reuse GL_MAP_READ_BIT }
  1514. { reuse GL_MAP_WRITE_BIT }
  1515. { reuse GL_MAP_INVALIDATE_RANGE_BIT }
  1516. { reuse GL_MAP_INVALIDATE_BUFFER_BIT }
  1517. { reuse GL_MAP_FLUSH_EXPLICIT_BIT }
  1518. { reuse GL_MAP_UNSYNCHRONIZED_BIT }
  1519. { Reuse tokens from ARB_texture_compression_rgtc }
  1520. { reuse GL_COMPRESSED_RED_RGTC1 }
  1521. { reuse GL_COMPRESSED_SIGNED_RED_RGTC1 }
  1522. { reuse GL_COMPRESSED_RG_RGTC2 }
  1523. { reuse GL_COMPRESSED_SIGNED_RG_RGTC2 }
  1524. { Reuse tokens from ARB_texture_rg }
  1525. { reuse GL_RG }
  1526. { reuse GL_RG_INTEGER }
  1527. { reuse GL_R8 }
  1528. { reuse GL_R16 }
  1529. { reuse GL_RG8 }
  1530. { reuse GL_RG16 }
  1531. { reuse GL_R16F }
  1532. { reuse GL_R32F }
  1533. { reuse GL_RG16F }
  1534. { reuse GL_RG32F }
  1535. { reuse GL_R8I }
  1536. { reuse GL_R8UI }
  1537. { reuse GL_R16I }
  1538. { reuse GL_R16UI }
  1539. { reuse GL_R32I }
  1540. { reuse GL_R32UI }
  1541. { reuse GL_RG8I }
  1542. { reuse GL_RG8UI }
  1543. { reuse GL_RG16I }
  1544. { reuse GL_RG16UI }
  1545. { reuse GL_RG32I }
  1546. { reuse GL_RG32UI }
  1547. { Reuse tokens from ARB_vertex_array_object }
  1548. { reuse GL_VERTEX_ARRAY_BINDING }
  1549. // GL_VERSION_3_1
  1550. GL_SAMPLER_2D_RECT = $8B63;
  1551. GL_SAMPLER_2D_RECT_SHADOW = $8B64;
  1552. GL_SAMPLER_BUFFER = $8DC2;
  1553. GL_INT_SAMPLER_2D_RECT = $8DCD;
  1554. GL_INT_SAMPLER_BUFFER = $8DD0;
  1555. GL_UNSIGNED_INT_SAMPLER_2D_RECT = $8DD5;
  1556. GL_UNSIGNED_INT_SAMPLER_BUFFER = $8DD8;
  1557. GL_TEXTURE_BUFFER = $8C2A;
  1558. GL_MAX_TEXTURE_BUFFER_SIZE = $8C2B;
  1559. GL_TEXTURE_BINDING_BUFFER = $8C2C;
  1560. GL_TEXTURE_BUFFER_DATA_STORE_BINDING = $8C2D;
  1561. GL_TEXTURE_BUFFER_FORMAT = $8C2E;
  1562. GL_TEXTURE_RECTANGLE = $84F5;
  1563. GL_TEXTURE_BINDING_RECTANGLE = $84F6;
  1564. GL_PROXY_TEXTURE_RECTANGLE = $84F7;
  1565. GL_MAX_RECTANGLE_TEXTURE_SIZE = $84F8;
  1566. GL_RED_SNORM = $8F90;
  1567. GL_RG_SNORM = $8F91;
  1568. GL_RGB_SNORM = $8F92;
  1569. GL_RGBA_SNORM = $8F93;
  1570. GL_R8_SNORM = $8F94;
  1571. GL_RG8_SNORM = $8F95;
  1572. GL_RGB8_SNORM = $8F96;
  1573. GL_RGBA8_SNORM = $8F97;
  1574. GL_R16_SNORM = $8F98;
  1575. GL_RG16_SNORM = $8F99;
  1576. GL_RGB16_SNORM = $8F9A;
  1577. GL_RGBA16_SNORM = $8F9B;
  1578. GL_SIGNED_NORMALIZED = $8F9C;
  1579. GL_PRIMITIVE_RESTART = $8F9D;
  1580. GL_PRIMITIVE_RESTART_INDEX = $8F9E;
  1581. { Reuse tokens from ARB_copy_buffer }
  1582. { reuse GL_COPY_READ_BUFFER }
  1583. { reuse GL_COPY_WRITE_BUFFER }
  1584. { Reuse tokens from ARB_draw_instanced (none) }
  1585. { Reuse tokens from ARB_uniform_buffer_object }
  1586. { reuse GL_UNIFORM_BUFFER }
  1587. { reuse GL_UNIFORM_BUFFER_BINDING }
  1588. { reuse GL_UNIFORM_BUFFER_START }
  1589. { reuse GL_UNIFORM_BUFFER_SIZE }
  1590. { reuse GL_MAX_VERTEX_UNIFORM_BLOCKS }
  1591. { reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS }
  1592. { reuse GL_MAX_COMBINED_UNIFORM_BLOCKS }
  1593. { reuse GL_MAX_UNIFORM_BUFFER_BINDINGS }
  1594. { reuse GL_MAX_UNIFORM_BLOCK_SIZE }
  1595. { reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS }
  1596. { reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS }
  1597. { reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT }
  1598. { reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH }
  1599. { reuse GL_ACTIVE_UNIFORM_BLOCKS }
  1600. { reuse GL_UNIFORM_TYPE }
  1601. { reuse GL_UNIFORM_SIZE }
  1602. { reuse GL_UNIFORM_NAME_LENGTH }
  1603. { reuse GL_UNIFORM_BLOCK_INDEX }
  1604. { reuse GL_UNIFORM_OFFSET }
  1605. { reuse GL_UNIFORM_ARRAY_STRIDE }
  1606. { reuse GL_UNIFORM_MATRIX_STRIDE }
  1607. { reuse GL_UNIFORM_IS_ROW_MAJOR }
  1608. { reuse GL_UNIFORM_BLOCK_BINDING }
  1609. { reuse GL_UNIFORM_BLOCK_DATA_SIZE }
  1610. { reuse GL_UNIFORM_BLOCK_NAME_LENGTH }
  1611. { reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS }
  1612. { reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES }
  1613. { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER }
  1614. { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER }
  1615. { reuse GL_INVALID_INDEX }
  1616. // GL_VERSION_3_2
  1617. GL_CONTEXT_CORE_PROFILE_BIT = $00000001;
  1618. GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = $00000002;
  1619. GL_LINES_ADJACENCY = $000A;
  1620. GL_LINE_STRIP_ADJACENCY = $000B;
  1621. GL_TRIANGLES_ADJACENCY = $000C;
  1622. GL_TRIANGLE_STRIP_ADJACENCY = $000D;
  1623. GL_PROGRAM_POINT_SIZE = $8642;
  1624. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = $8C29;
  1625. GL_FRAMEBUFFER_ATTACHMENT_LAYERED = $8DA7;
  1626. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = $8DA8;
  1627. GL_GEOMETRY_SHADER = $8DD9;
  1628. GL_GEOMETRY_VERTICES_OUT = $8916;
  1629. GL_GEOMETRY_INPUT_TYPE = $8917;
  1630. GL_GEOMETRY_OUTPUT_TYPE = $8918;
  1631. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = $8DDF;
  1632. GL_MAX_GEOMETRY_OUTPUT_VERTICES = $8DE0;
  1633. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = $8DE1;
  1634. GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122;
  1635. GL_MAX_GEOMETRY_INPUT_COMPONENTS = $9123;
  1636. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = $9124;
  1637. GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125;
  1638. GL_CONTEXT_PROFILE_MASK = $9126;
  1639. { reuse GL_MAX_VARYING_COMPONENTS }
  1640. { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER }
  1641. { Reuse tokens from ARB_depth_clamp }
  1642. { reuse GL_DEPTH_CLAMP }
  1643. { Reuse tokens from ARB_draw_elements_base_vertex (none) }
  1644. { Reuse tokens from ARB_fragment_coord_conventions (none) }
  1645. { Reuse tokens from ARB_provoking_vertex }
  1646. { reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION }
  1647. { reuse GL_FIRST_VERTEX_CONVENTION }
  1648. { reuse GL_LAST_VERTEX_CONVENTION }
  1649. { reuse GL_PROVOKING_VERTEX }
  1650. { Reuse tokens from ARB_seamless_cube_map }
  1651. { reuse GL_TEXTURE_CUBE_MAP_SEAMLESS }
  1652. { Reuse tokens from ARB_sync }
  1653. { reuse GL_MAX_SERVER_WAIT_TIMEOUT }
  1654. { reuse GL_OBJECT_TYPE }
  1655. { reuse GL_SYNC_CONDITION }
  1656. { reuse GL_SYNC_STATUS }
  1657. { reuse GL_SYNC_FLAGS }
  1658. { reuse GL_SYNC_FENCE }
  1659. { reuse GL_SYNC_GPU_COMMANDS_COMPLETE }
  1660. { reuse GL_UNSIGNALED }
  1661. { reuse GL_SIGNALED }
  1662. { reuse GL_ALREADY_SIGNALED }
  1663. { reuse GL_TIMEOUT_EXPIRED }
  1664. { reuse GL_CONDITION_SATISFIED }
  1665. { reuse GL_WAIT_FAILED }
  1666. { reuse GL_TIMEOUT_IGNORED }
  1667. { reuse GL_SYNC_FLUSH_COMMANDS_BIT }
  1668. { reuse GL_TIMEOUT_IGNORED }
  1669. { Reuse tokens from ARB_texture_multisample }
  1670. { reuse GL_SAMPLE_POSITION }
  1671. { reuse GL_SAMPLE_MASK }
  1672. { reuse GL_SAMPLE_MASK_VALUE }
  1673. { reuse GL_MAX_SAMPLE_MASK_WORDS }
  1674. { reuse GL_TEXTURE_2D_MULTISAMPLE }
  1675. { reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE }
  1676. { reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY }
  1677. { reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY }
  1678. { reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE }
  1679. { reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY }
  1680. { reuse GL_TEXTURE_SAMPLES }
  1681. { reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS }
  1682. { reuse GL_SAMPLER_2D_MULTISAMPLE }
  1683. { reuse GL_INT_SAMPLER_2D_MULTISAMPLE }
  1684. { reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE }
  1685. { reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY }
  1686. { reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY }
  1687. { reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY }
  1688. { reuse GL_MAX_COLOR_TEXTURE_SAMPLES }
  1689. { reuse GL_MAX_DEPTH_TEXTURE_SAMPLES }
  1690. { reuse GL_MAX_INTEGER_SAMPLES }
  1691. { Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core }
  1692. // GL_VERSION_3_3
  1693. GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE;
  1694. { Reuse tokens from ARB_blend_func_extended }
  1695. { reuse GL_SRC1_COLOR }
  1696. { reuse GL_ONE_MINUS_SRC1_COLOR }
  1697. { reuse GL_ONE_MINUS_SRC1_ALPHA }
  1698. { reuse GL_MAX_DUAL_SOURCE_DRAW_BUFFERS }
  1699. { Reuse tokens from ARB_explicit_attrib_location (none) }
  1700. { Reuse tokens from ARB_occlusion_query2 }
  1701. { reuse GL_ANY_SAMPLES_PASSED }
  1702. { Reuse tokens from ARB_sampler_objects }
  1703. { reuse GL_SAMPLER_BINDING }
  1704. { Reuse tokens from ARB_shader_bit_encoding (none) }
  1705. { Reuse tokens from ARB_texture_rgb10_a2ui }
  1706. { reuse GL_RGB10_A2UI }
  1707. { Reuse tokens from ARB_texture_swizzle }
  1708. { reuse GL_TEXTURE_SWIZZLE_R }
  1709. { reuse GL_TEXTURE_SWIZZLE_G }
  1710. { reuse GL_TEXTURE_SWIZZLE_B }
  1711. { reuse GL_TEXTURE_SWIZZLE_A }
  1712. { reuse GL_TEXTURE_SWIZZLE_RGBA }
  1713. { Reuse tokens from ARB_timer_query }
  1714. { reuse GL_TIME_ELAPSED }
  1715. { reuse GL_TIMESTAMP }
  1716. { Reuse tokens from ARB_vertex_type_2_10_10_10_rev }
  1717. { reuse GL_INT_2_10_10_10_REV }
  1718. // GL_VERSION_4_0
  1719. GL_SAMPLE_SHADING = $8C36;
  1720. GL_MIN_SAMPLE_SHADING_VALUE = $8C37;
  1721. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E;
  1722. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F;
  1723. GL_TEXTURE_CUBE_MAP_ARRAY = $9009;
  1724. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = $900A;
  1725. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = $900B;
  1726. GL_SAMPLER_CUBE_MAP_ARRAY = $900C;
  1727. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = $900D;
  1728. GL_INT_SAMPLER_CUBE_MAP_ARRAY = $900E;
  1729. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = $900F;
  1730. { Reuse tokens from ARB_texture_query_lod (none) }
  1731. { Reuse tokens from ARB_draw_buffers_blend (none) }
  1732. { Reuse tokens from ARB_draw_indirect }
  1733. { reuse GL_DRAW_INDIRECT_BUFFER }
  1734. { reuse GL_DRAW_INDIRECT_BUFFER_BINDING }
  1735. { Reuse tokens from ARB_gpu_shader5 }
  1736. { reuse GL_GEOMETRY_SHADER_INVOCATIONS }
  1737. { reuse GL_MAX_GEOMETRY_SHADER_INVOCATIONS }
  1738. { reuse GL_MIN_FRAGMENT_INTERPOLATION_OFFSET }
  1739. { reuse GL_MAX_FRAGMENT_INTERPOLATION_OFFSET }
  1740. { reuse GL_FRAGMENT_INTERPOLATION_OFFSET_BITS }
  1741. { reuse GL_MAX_VERTEX_STREAMS }
  1742. { Reuse tokens from ARB_gpu_shader_fp64 }
  1743. { reuse GL_DOUBLE_VEC2 }
  1744. { reuse GL_DOUBLE_VEC3 }
  1745. { reuse GL_DOUBLE_VEC4 }
  1746. { reuse GL_DOUBLE_MAT2 }
  1747. { reuse GL_DOUBLE_MAT3 }
  1748. { reuse GL_DOUBLE_MAT4 }
  1749. { reuse GL_DOUBLE_MAT2x3 }
  1750. { reuse GL_DOUBLE_MAT2x4 }
  1751. { reuse GL_DOUBLE_MAT3x2 }
  1752. { reuse GL_DOUBLE_MAT3x4 }
  1753. { reuse GL_DOUBLE_MAT4x2 }
  1754. { reuse GL_DOUBLE_MAT4x3 }
  1755. { Reuse tokens from ARB_shader_subroutine }
  1756. { reuse GL_ACTIVE_SUBROUTINES }
  1757. { reuse GL_ACTIVE_SUBROUTINE_UNIFORMS }
  1758. { reuse GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS }
  1759. { reuse GL_ACTIVE_SUBROUTINE_MAX_LENGTH }
  1760. { reuse GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH }
  1761. { reuse GL_MAX_SUBROUTINES }
  1762. { reuse GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS }
  1763. { reuse GL_NUM_COMPATIBLE_SUBROUTINES }
  1764. { reuse GL_COMPATIBLE_SUBROUTINES }
  1765. { Reuse tokens from ARB_tessellation_shader }
  1766. { reuse GL_PATCHES }
  1767. { reuse GL_PATCH_VERTICES }
  1768. { reuse GL_PATCH_DEFAULT_INNER_LEVEL }
  1769. { reuse GL_PATCH_DEFAULT_OUTER_LEVEL }
  1770. { reuse GL_TESS_CONTROL_OUTPUT_VERTICES }
  1771. { reuse GL_TESS_GEN_MODE }
  1772. { reuse GL_TESS_GEN_SPACING }
  1773. { reuse GL_TESS_GEN_VERTEX_ORDER }
  1774. { reuse GL_TESS_GEN_POINT_MODE }
  1775. { reuse GL_ISOLINES }
  1776. { reuse GL_FRACTIONAL_ODD }
  1777. { reuse GL_FRACTIONAL_EVEN }
  1778. { reuse GL_MAX_PATCH_VERTICES }
  1779. { reuse GL_MAX_TESS_GEN_LEVEL }
  1780. { reuse GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS }
  1781. { reuse GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS }
  1782. { reuse GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS }
  1783. { reuse GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS }
  1784. { reuse GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS }
  1785. { reuse GL_MAX_TESS_PATCH_COMPONENTS }
  1786. { reuse GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS }
  1787. { reuse GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS }
  1788. { reuse GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS }
  1789. { reuse GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS }
  1790. { reuse GL_MAX_TESS_CONTROL_INPUT_COMPONENTS }
  1791. { reuse GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS }
  1792. { reuse GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS }
  1793. { reuse GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS }
  1794. { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER }
  1795. { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER }
  1796. { reuse GL_TESS_EVALUATION_SHADER }
  1797. { reuse GL_TESS_CONTROL_SHADER }
  1798. { Reuse tokens from ARB_texture_buffer_object_rgb32 (none) }
  1799. { Reuse tokens from ARB_transform_feedback2 }
  1800. { reuse GL_TRANSFORM_FEEDBACK }
  1801. { reuse GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED }
  1802. { reuse GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE }
  1803. { reuse GL_TRANSFORM_FEEDBACK_BINDING }
  1804. { Reuse tokens from ARB_transform_feedback3 }
  1805. { reuse GL_MAX_TRANSFORM_FEEDBACK_BUFFERS }
  1806. { reuse GL_MAX_VERTEX_STREAMS }
  1807. // GL_VERSION_4_1
  1808. { Reuse tokens from ARB_ES2_compatibility }
  1809. { reuse GL_FIXED }
  1810. { reuse GL_IMPLEMENTATION_COLOR_READ_TYPE }
  1811. { reuse GL_IMPLEMENTATION_COLOR_READ_FORMAT }
  1812. { reuse GL_LOW_FLOAT }
  1813. { reuse GL_MEDIUM_FLOAT }
  1814. { reuse GL_HIGH_FLOAT }
  1815. { reuse GL_LOW_INT }
  1816. { reuse GL_MEDIUM_INT }
  1817. { reuse GL_HIGH_INT }
  1818. { reuse GL_SHADER_COMPILER }
  1819. { reuse GL_NUM_SHADER_BINARY_FORMATS }
  1820. { reuse GL_MAX_VERTEX_UNIFORM_VECTORS }
  1821. { reuse GL_MAX_VARYING_VECTORS }
  1822. { reuse GL_MAX_FRAGMENT_UNIFORM_VECTORS }
  1823. { reuse GL_RGB565 }
  1824. { Reuse tokens from ARB_get_program_binary }
  1825. { reuse GL_PROGRAM_BINARY_RETRIEVABLE_HINT }
  1826. { reuse GL_PROGRAM_BINARY_LENGTH }
  1827. { reuse GL_NUM_PROGRAM_BINARY_FORMATS }
  1828. { reuse GL_PROGRAM_BINARY_FORMATS }
  1829. { Reuse tokens from ARB_separate_shader_objects }
  1830. { reuse GL_VERTEX_SHADER_BIT }
  1831. { reuse GL_FRAGMENT_SHADER_BIT }
  1832. { reuse GL_GEOMETRY_SHADER_BIT }
  1833. { reuse GL_TESS_CONTROL_SHADER_BIT }
  1834. { reuse GL_TESS_EVALUATION_SHADER_BIT }
  1835. { reuse GL_ALL_SHADER_BITS }
  1836. { reuse GL_PROGRAM_SEPARABLE }
  1837. { reuse GL_ACTIVE_PROGRAM }
  1838. { reuse GL_PROGRAM_PIPELINE_BINDING }
  1839. { Reuse tokens from ARB_shader_precision (none) }
  1840. { Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already }
  1841. { Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already }
  1842. { reuse GL_MAX_VIEWPORTS }
  1843. { reuse GL_VIEWPORT_SUBPIXEL_BITS }
  1844. { reuse GL_VIEWPORT_BOUNDS_RANGE }
  1845. { reuse GL_LAYER_PROVOKING_VERTEX }
  1846. { reuse GL_VIEWPORT_INDEX_PROVOKING_VERTEX }
  1847. { reuse GL_UNDEFINED_VERTEX }
  1848. // GL_VERSION_4_2
  1849. { Reuse tokens from ARB_base_instance (none) }
  1850. { Reuse tokens from ARB_shading_language_420pack (none) }
  1851. { Reuse tokens from ARB_transform_feedback_instanced (none) }
  1852. { Reuse tokens from ARB_compressed_texture_pixel_storage }
  1853. { reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH }
  1854. { reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT }
  1855. { reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH }
  1856. { reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE }
  1857. { reuse GL_PACK_COMPRESSED_BLOCK_WIDTH }
  1858. { reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT }
  1859. { reuse GL_PACK_COMPRESSED_BLOCK_DEPTH }
  1860. { reuse GL_PACK_COMPRESSED_BLOCK_SIZE }
  1861. { Reuse tokens from ARB_conservative_depth (none) }
  1862. { Reuse tokens from ARB_internalformat_query }
  1863. { reuse GL_NUM_SAMPLE_COUNTS }
  1864. { Reuse tokens from ARB_map_buffer_alignment }
  1865. { reuse GL_MIN_MAP_BUFFER_ALIGNMENT }
  1866. { Reuse tokens from ARB_shader_atomic_counters }
  1867. { reuse GL_ATOMIC_COUNTER_BUFFER }
  1868. { reuse GL_ATOMIC_COUNTER_BUFFER_BINDING }
  1869. { reuse GL_ATOMIC_COUNTER_BUFFER_START }
  1870. { reuse GL_ATOMIC_COUNTER_BUFFER_SIZE }
  1871. { reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE }
  1872. { reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS }
  1873. { reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES }
  1874. { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER }
  1875. { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER }
  1876. { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER }
  1877. { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER }
  1878. { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER }
  1879. { reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS }
  1880. { reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS }
  1881. { reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS }
  1882. { reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS }
  1883. { reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS }
  1884. { reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS }
  1885. { reuse GL_MAX_VERTEX_ATOMIC_COUNTERS }
  1886. { reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS }
  1887. { reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS }
  1888. { reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS }
  1889. { reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS }
  1890. { reuse GL_MAX_COMBINED_ATOMIC_COUNTERS }
  1891. { reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE }
  1892. { reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS }
  1893. { reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS }
  1894. { reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX }
  1895. { reuse GL_UNSIGNED_INT_ATOMIC_COUNTER }
  1896. { Reuse tokens from ARB_shader_image_load_store }
  1897. { reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT }
  1898. { reuse GL_ELEMENT_ARRAY_BARRIER_BIT }
  1899. { reuse GL_UNIFORM_BARRIER_BIT }
  1900. { reuse GL_TEXTURE_FETCH_BARRIER_BIT }
  1901. { reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT }
  1902. { reuse GL_COMMAND_BARRIER_BIT }
  1903. { reuse GL_PIXEL_BUFFER_BARRIER_BIT }
  1904. { reuse GL_TEXTURE_UPDATE_BARRIER_BIT }
  1905. { reuse GL_BUFFER_UPDATE_BARRIER_BIT }
  1906. { reuse GL_FRAMEBUFFER_BARRIER_BIT }
  1907. { reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT }
  1908. { reuse GL_ATOMIC_COUNTER_BARRIER_BIT }
  1909. { reuse GL_ALL_BARRIER_BITS }
  1910. { reuse GL_MAX_IMAGE_UNITS }
  1911. { reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS }
  1912. { reuse GL_IMAGE_BINDING_NAME }
  1913. { reuse GL_IMAGE_BINDING_LEVEL }
  1914. { reuse GL_IMAGE_BINDING_LAYERED }
  1915. { reuse GL_IMAGE_BINDING_LAYER }
  1916. { reuse GL_IMAGE_BINDING_ACCESS }
  1917. { reuse GL_IMAGE_1D }
  1918. { reuse GL_IMAGE_2D }
  1919. { reuse GL_IMAGE_3D }
  1920. { reuse GL_IMAGE_2D_RECT }
  1921. { reuse GL_IMAGE_CUBE }
  1922. { reuse GL_IMAGE_BUFFER }
  1923. { reuse GL_IMAGE_1D_ARRAY }
  1924. { reuse GL_IMAGE_2D_ARRAY }
  1925. { reuse GL_IMAGE_CUBE_MAP_ARRAY }
  1926. { reuse GL_IMAGE_2D_MULTISAMPLE }
  1927. { reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY }
  1928. { reuse GL_INT_IMAGE_1D }
  1929. { reuse GL_INT_IMAGE_2D }
  1930. { reuse GL_INT_IMAGE_3D }
  1931. { reuse GL_INT_IMAGE_2D_RECT }
  1932. { reuse GL_INT_IMAGE_CUBE }
  1933. { reuse GL_INT_IMAGE_BUFFER }
  1934. { reuse GL_INT_IMAGE_1D_ARRAY }
  1935. { reuse GL_INT_IMAGE_2D_ARRAY }
  1936. { reuse GL_INT_IMAGE_CUBE_MAP_ARRAY }
  1937. { reuse GL_INT_IMAGE_2D_MULTISAMPLE }
  1938. { reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY }
  1939. { reuse GL_UNSIGNED_INT_IMAGE_1D }
  1940. { reuse GL_UNSIGNED_INT_IMAGE_2D }
  1941. { reuse GL_UNSIGNED_INT_IMAGE_3D }
  1942. { reuse GL_UNSIGNED_INT_IMAGE_2D_RECT }
  1943. { reuse GL_UNSIGNED_INT_IMAGE_CUBE }
  1944. { reuse GL_UNSIGNED_INT_IMAGE_BUFFER }
  1945. { reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY }
  1946. { reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY }
  1947. { reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY }
  1948. { reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE }
  1949. { reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY }
  1950. { reuse GL_MAX_IMAGE_SAMPLES }
  1951. { reuse GL_IMAGE_BINDING_FORMAT }
  1952. { reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE }
  1953. { reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE }
  1954. { reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS }
  1955. { reuse GL_MAX_VERTEX_IMAGE_UNIFORMS }
  1956. { reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS }
  1957. { reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS }
  1958. { reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS }
  1959. { reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS }
  1960. { reuse GL_MAX_COMBINED_IMAGE_UNIFORMS }
  1961. { Reuse tokens from ARB_shading_language_packing (none) }
  1962. { Reuse tokens from ARB_texture_storage }
  1963. { reuse GL_TEXTURE_IMMUTABLE_FORMAT }
  1964. // GL_VERSION_4_3
  1965. GL_NUM_SHADING_LANGUAGE_VERSIONS = $82E9;
  1966. GL_VERTEX_ATTRIB_ARRAY_LONG = $874E;
  1967. { Reuse tokens from ARB_arrays_of_arrays (none, GLSL only) }
  1968. { Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only) }
  1969. { Reuse tokens from ARB_shader_image_size (none, GLSL only) }
  1970. { Reuse tokens from ARB_ES3_compatibility }
  1971. { reuse GL_COMPRESSED_RGB8_ETC2 }
  1972. { reuse GL_COMPRESSED_SRGB8_ETC2 }
  1973. { reuse GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 }
  1974. { reuse GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 }
  1975. { reuse GL_COMPRESSED_RGBA8_ETC2_EAC }
  1976. { reuse GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC }
  1977. { reuse GL_COMPRESSED_R11_EAC }
  1978. { reuse GL_COMPRESSED_SIGNED_R11_EAC }
  1979. { reuse GL_COMPRESSED_RG11_EAC }
  1980. { reuse GL_COMPRESSED_SIGNED_RG11_EAC }
  1981. { reuse GL_PRIMITIVE_RESTART_FIXED_INDEX }
  1982. { reuse GL_ANY_SAMPLES_PASSED_CONSERVATIVE }
  1983. { reuse GL_MAX_ELEMENT_INDEX }
  1984. { Reuse tokens from ARB_clear_buffer_object (none) }
  1985. { Reuse tokens from ARB_compute_shader }
  1986. { reuse GL_COMPUTE_SHADER }
  1987. { reuse GL_MAX_COMPUTE_UNIFORM_BLOCKS }
  1988. { reuse GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS }
  1989. { reuse GL_MAX_COMPUTE_IMAGE_UNIFORMS }
  1990. { reuse GL_MAX_COMPUTE_SHARED_MEMORY_SIZE }
  1991. { reuse GL_MAX_COMPUTE_UNIFORM_COMPONENTS }
  1992. { reuse GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS }
  1993. { reuse GL_MAX_COMPUTE_ATOMIC_COUNTERS }
  1994. { reuse GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS }
  1995. { reuse GL_MAX_COMPUTE_LOCAL_INVOCATIONS }
  1996. { reuse GL_MAX_COMPUTE_WORK_GROUP_COUNT }
  1997. { reuse GL_MAX_COMPUTE_WORK_GROUP_SIZE }
  1998. { reuse GL_COMPUTE_LOCAL_WORK_SIZE }
  1999. { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER }
  2000. { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER }
  2001. { reuse GL_DISPATCH_INDIRECT_BUFFER }
  2002. { reuse GL_DISPATCH_INDIRECT_BUFFER_BINDING }
  2003. { Reuse tokens from ARB_copy_image (none) }
  2004. { Reuse tokens from KHR_debug }
  2005. { reuse GL_DEBUG_OUTPUT_SYNCHRONOUS }
  2006. { reuse GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH }
  2007. { reuse GL_DEBUG_CALLBACK_FUNCTION }
  2008. { reuse GL_DEBUG_CALLBACK_USER_PARAM }
  2009. { reuse GL_DEBUG_SOURCE_API }
  2010. { reuse GL_DEBUG_SOURCE_WINDOW_SYSTEM }
  2011. { reuse GL_DEBUG_SOURCE_SHADER_COMPILER }
  2012. { reuse GL_DEBUG_SOURCE_THIRD_PARTY }
  2013. { reuse GL_DEBUG_SOURCE_APPLICATION }
  2014. { reuse GL_DEBUG_SOURCE_OTHER }
  2015. { reuse GL_DEBUG_TYPE_ERROR }
  2016. { reuse GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR }
  2017. { reuse GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR }
  2018. { reuse GL_DEBUG_TYPE_PORTABILITY }
  2019. { reuse GL_DEBUG_TYPE_PERFORMANCE }
  2020. { reuse GL_DEBUG_TYPE_OTHER }
  2021. { reuse GL_MAX_DEBUG_MESSAGE_LENGTH }
  2022. { reuse GL_MAX_DEBUG_LOGGED_MESSAGES }
  2023. { reuse GL_DEBUG_LOGGED_MESSAGES }
  2024. { reuse GL_DEBUG_SEVERITY_HIGH }
  2025. { reuse GL_DEBUG_SEVERITY_MEDIUM }
  2026. { reuse GL_DEBUG_SEVERITY_LOW }
  2027. { reuse GL_DEBUG_TYPE_MARKER }
  2028. { reuse GL_DEBUG_TYPE_PUSH_GROUP }
  2029. { reuse GL_DEBUG_TYPE_POP_GROUP }
  2030. { reuse GL_DEBUG_SEVERITY_NOTIFICATION }
  2031. { reuse GL_MAX_DEBUG_GROUP_STACK_DEPTH }
  2032. { reuse GL_DEBUG_GROUP_STACK_DEPTH }
  2033. { reuse GL_BUFFER }
  2034. { reuse GL_SHADER }
  2035. { reuse GL_PROGRAM }
  2036. { reuse GL_QUERY }
  2037. { reuse GL_PROGRAM_PIPELINE }
  2038. { reuse GL_SAMPLER }
  2039. { reuse GL_DISPLAY_LIST }
  2040. { reuse GL_MAX_LABEL_LENGTH }
  2041. { reuse GL_DEBUG_OUTPUT }
  2042. { reuse GL_CONTEXT_FLAG_DEBUG_BIT }
  2043. { reuse GL_STACK_UNDERFLOW }
  2044. { reuse GL_STACK_OVERFLOW }
  2045. { Reuse tokens from ARB_explicit_uniform_location }
  2046. { reuse GL_MAX_UNIFORM_LOCATIONS }
  2047. { Reuse tokens from ARB_framebuffer_no_attachments }
  2048. { reuse GL_FRAMEBUFFER_DEFAULT_WIDTH }
  2049. { reuse GL_FRAMEBUFFER_DEFAULT_HEIGHT }
  2050. { reuse GL_FRAMEBUFFER_DEFAULT_LAYERS }
  2051. { reuse GL_FRAMEBUFFER_DEFAULT_SAMPLES }
  2052. { reuse GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS }
  2053. { reuse GL_MAX_FRAMEBUFFER_WIDTH }
  2054. { reuse GL_MAX_FRAMEBUFFER_HEIGHT }
  2055. { reuse GL_MAX_FRAMEBUFFER_LAYERS }
  2056. { reuse GL_MAX_FRAMEBUFFER_SAMPLES }
  2057. { Reuse tokens from ARB_internalformat_query2 }
  2058. { reuse GL_INTERNALFORMAT_SUPPORTED }
  2059. { reuse GL_INTERNALFORMAT_PREFERRED }
  2060. { reuse GL_INTERNALFORMAT_RED_SIZE }
  2061. { reuse GL_INTERNALFORMAT_GREEN_SIZE }
  2062. { reuse GL_INTERNALFORMAT_BLUE_SIZE }
  2063. { reuse GL_INTERNALFORMAT_ALPHA_SIZE }
  2064. { reuse GL_INTERNALFORMAT_DEPTH_SIZE }
  2065. { reuse GL_INTERNALFORMAT_STENCIL_SIZE }
  2066. { reuse GL_INTERNALFORMAT_SHARED_SIZE }
  2067. { reuse GL_INTERNALFORMAT_RED_TYPE }
  2068. { reuse GL_INTERNALFORMAT_GREEN_TYPE }
  2069. { reuse GL_INTERNALFORMAT_BLUE_TYPE }
  2070. { reuse GL_INTERNALFORMAT_ALPHA_TYPE }
  2071. { reuse GL_INTERNALFORMAT_DEPTH_TYPE }
  2072. { reuse GL_INTERNALFORMAT_STENCIL_TYPE }
  2073. { reuse GL_MAX_WIDTH }
  2074. { reuse GL_MAX_HEIGHT }
  2075. { reuse GL_MAX_DEPTH }
  2076. { reuse GL_MAX_LAYERS }
  2077. { reuse GL_MAX_COMBINED_DIMENSIONS }
  2078. { reuse GL_COLOR_COMPONENTS }
  2079. { reuse GL_DEPTH_COMPONENTS }
  2080. { reuse GL_STENCIL_COMPONENTS }
  2081. { reuse GL_COLOR_RENDERABLE }
  2082. { reuse GL_DEPTH_RENDERABLE }
  2083. { reuse GL_STENCIL_RENDERABLE }
  2084. { reuse GL_FRAMEBUFFER_RENDERABLE }
  2085. { reuse GL_FRAMEBUFFER_RENDERABLE_LAYERED }
  2086. { reuse GL_FRAMEBUFFER_BLEND }
  2087. { reuse GL_READ_PIXELS }
  2088. { reuse GL_READ_PIXELS_FORMAT }
  2089. { reuse GL_READ_PIXELS_TYPE }
  2090. { reuse GL_TEXTURE_IMAGE_FORMAT }
  2091. { reuse GL_TEXTURE_IMAGE_TYPE }
  2092. { reuse GL_GET_TEXTURE_IMAGE_FORMAT }
  2093. { reuse GL_GET_TEXTURE_IMAGE_TYPE }
  2094. { reuse GL_MIPMAP }
  2095. { reuse GL_MANUAL_GENERATE_MIPMAP }
  2096. { reuse GL_AUTO_GENERATE_MIPMAP }
  2097. { reuse GL_COLOR_ENCODING }
  2098. { reuse GL_SRGB_READ }
  2099. { reuse GL_SRGB_WRITE }
  2100. { reuse GL_FILTER }
  2101. { reuse GL_VERTEX_TEXTURE }
  2102. { reuse GL_TESS_CONTROL_TEXTURE }
  2103. { reuse GL_TESS_EVALUATION_TEXTURE }
  2104. { reuse GL_GEOMETRY_TEXTURE }
  2105. { reuse GL_FRAGMENT_TEXTURE }
  2106. { reuse GL_COMPUTE_TEXTURE }
  2107. { reuse GL_TEXTURE_SHADOW }
  2108. { reuse GL_TEXTURE_GATHER }
  2109. { reuse GL_TEXTURE_GATHER_SHADOW }
  2110. { reuse GL_SHADER_IMAGE_LOAD }
  2111. { reuse GL_SHADER_IMAGE_STORE }
  2112. { reuse GL_SHADER_IMAGE_ATOMIC }
  2113. { reuse GL_IMAGE_TEXEL_SIZE }
  2114. { reuse GL_IMAGE_COMPATIBILITY_CLASS }
  2115. { reuse GL_IMAGE_PIXEL_FORMAT }
  2116. { reuse GL_IMAGE_PIXEL_TYPE }
  2117. { reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST }
  2118. { reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST }
  2119. { reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE }
  2120. { reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE }
  2121. { reuse GL_TEXTURE_COMPRESSED_BLOCK_WIDTH }
  2122. { reuse GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT }
  2123. { reuse GL_TEXTURE_COMPRESSED_BLOCK_SIZE }
  2124. { reuse GL_CLEAR_BUFFER }
  2125. { reuse GL_TEXTURE_VIEW }
  2126. { reuse GL_VIEW_COMPATIBILITY_CLASS }
  2127. { reuse GL_FULL_SUPPORT }
  2128. { reuse GL_CAVEAT_SUPPORT }
  2129. { reuse GL_IMAGE_CLASS_4_X_32 }
  2130. { reuse GL_IMAGE_CLASS_2_X_32 }
  2131. { reuse GL_IMAGE_CLASS_1_X_32 }
  2132. { reuse GL_IMAGE_CLASS_4_X_16 }
  2133. { reuse GL_IMAGE_CLASS_2_X_16 }
  2134. { reuse GL_IMAGE_CLASS_1_X_16 }
  2135. { reuse GL_IMAGE_CLASS_4_X_8 }
  2136. { reuse GL_IMAGE_CLASS_2_X_8 }
  2137. { reuse GL_IMAGE_CLASS_1_X_8 }
  2138. { reuse GL_IMAGE_CLASS_11_11_10 }
  2139. { reuse GL_IMAGE_CLASS_10_10_10_2 }
  2140. { reuse GL_VIEW_CLASS_128_BITS }
  2141. { reuse GL_VIEW_CLASS_96_BITS }
  2142. { reuse GL_VIEW_CLASS_64_BITS }
  2143. { reuse GL_VIEW_CLASS_48_BITS }
  2144. { reuse GL_VIEW_CLASS_32_BITS }
  2145. { reuse GL_VIEW_CLASS_24_BITS }
  2146. { reuse GL_VIEW_CLASS_16_BITS }
  2147. { reuse GL_VIEW_CLASS_8_BITS }
  2148. { reuse GL_VIEW_CLASS_S3TC_DXT1_RGB }
  2149. { reuse GL_VIEW_CLASS_S3TC_DXT1_RGBA }
  2150. { reuse GL_VIEW_CLASS_S3TC_DXT3_RGBA }
  2151. { reuse GL_VIEW_CLASS_S3TC_DXT5_RGBA }
  2152. { reuse GL_VIEW_CLASS_RGTC1_RED }
  2153. { reuse GL_VIEW_CLASS_RGTC2_RG }
  2154. { reuse GL_VIEW_CLASS_BPTC_UNORM }
  2155. { reuse GL_VIEW_CLASS_BPTC_FLOAT }
  2156. { Reuse tokens from ARB_invalidate_subdata (none) }
  2157. { Reuse tokens from ARB_multi_draw_indirect (none) }
  2158. { Reuse tokens from ARB_program_interface_query }
  2159. { reuse GL_UNIFORM }
  2160. { reuse GL_UNIFORM_BLOCK }
  2161. { reuse GL_PROGRAM_INPUT }
  2162. { reuse GL_PROGRAM_OUTPUT }
  2163. { reuse GL_BUFFER_VARIABLE }
  2164. { reuse GL_SHADER_STORAGE_BLOCK }
  2165. { reuse GL_VERTEX_SUBROUTINE }
  2166. { reuse GL_TESS_CONTROL_SUBROUTINE }
  2167. { reuse GL_TESS_EVALUATION_SUBROUTINE }
  2168. { reuse GL_GEOMETRY_SUBROUTINE }
  2169. { reuse GL_FRAGMENT_SUBROUTINE }
  2170. { reuse GL_COMPUTE_SUBROUTINE }
  2171. { reuse GL_VERTEX_SUBROUTINE_UNIFORM }
  2172. { reuse GL_TESS_CONTROL_SUBROUTINE_UNIFORM }
  2173. { reuse GL_TESS_EVALUATION_SUBROUTINE_UNIFORM }
  2174. { reuse GL_GEOMETRY_SUBROUTINE_UNIFORM }
  2175. { reuse GL_FRAGMENT_SUBROUTINE_UNIFORM }
  2176. { reuse GL_COMPUTE_SUBROUTINE_UNIFORM }
  2177. { reuse GL_TRANSFORM_FEEDBACK_VARYING }
  2178. { reuse GL_ACTIVE_RESOURCES }
  2179. { reuse GL_MAX_NAME_LENGTH }
  2180. { reuse GL_MAX_NUM_ACTIVE_VARIABLES }
  2181. { reuse GL_MAX_NUM_COMPATIBLE_SUBROUTINES }
  2182. { reuse GL_NAME_LENGTH }
  2183. { reuse GL_TYPE }
  2184. { reuse GL_ARRAY_SIZE }
  2185. { reuse GL_OFFSET }
  2186. { reuse GL_BLOCK_INDEX }
  2187. { reuse GL_ARRAY_STRIDE }
  2188. { reuse GL_MATRIX_STRIDE }
  2189. { reuse GL_IS_ROW_MAJOR }
  2190. { reuse GL_ATOMIC_COUNTER_BUFFER_INDEX }
  2191. { reuse GL_BUFFER_BINDING }
  2192. { reuse GL_BUFFER_DATA_SIZE }
  2193. { reuse GL_NUM_ACTIVE_VARIABLES }
  2194. { reuse GL_ACTIVE_VARIABLES }
  2195. { reuse GL_REFERENCED_BY_VERTEX_SHADER }
  2196. { reuse GL_REFERENCED_BY_TESS_CONTROL_SHADER }
  2197. { reuse GL_REFERENCED_BY_TESS_EVALUATION_SHADER }
  2198. { reuse GL_REFERENCED_BY_GEOMETRY_SHADER }
  2199. { reuse GL_REFERENCED_BY_FRAGMENT_SHADER }
  2200. { reuse GL_REFERENCED_BY_COMPUTE_SHADER }
  2201. { reuse GL_TOP_LEVEL_ARRAY_SIZE }
  2202. { reuse GL_TOP_LEVEL_ARRAY_STRIDE }
  2203. { reuse GL_LOCATION }
  2204. { reuse GL_LOCATION_INDEX }
  2205. { reuse GL_IS_PER_PATCH }
  2206. { Reuse tokens from ARB_robust_buffer_access_behavior (none) }
  2207. { Reuse tokens from ARB_shader_storage_buffer_object }
  2208. { reuse GL_SHADER_STORAGE_BUFFER }
  2209. { reuse GL_SHADER_STORAGE_BUFFER_BINDING }
  2210. { reuse GL_SHADER_STORAGE_BUFFER_START }
  2211. { reuse GL_SHADER_STORAGE_BUFFER_SIZE }
  2212. { reuse GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS }
  2213. { reuse GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS }
  2214. { reuse GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS }
  2215. { reuse GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS }
  2216. { reuse GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS }
  2217. { reuse GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS }
  2218. { reuse GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS }
  2219. { reuse GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS }
  2220. { reuse GL_MAX_SHADER_STORAGE_BLOCK_SIZE }
  2221. { reuse GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT }
  2222. { reuse GL_SHADER_STORAGE_BARRIER_BIT }
  2223. { reuse GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES }
  2224. { Reuse tokens from ARB_stencil_texturing }
  2225. { reuse GL_DEPTH_STENCIL_TEXTURE_MODE }
  2226. { Reuse tokens from ARB_texture_buffer_range }
  2227. { reuse GL_TEXTURE_BUFFER_OFFSET }
  2228. { reuse GL_TEXTURE_BUFFER_SIZE }
  2229. { reuse GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT }
  2230. { Reuse tokens from ARB_texture_query_levels (none) }
  2231. { Reuse tokens from ARB_texture_storage_multisample (none) }
  2232. { Reuse tokens from ARB_texture_view }
  2233. { reuse GL_TEXTURE_VIEW_MIN_LEVEL }
  2234. { reuse GL_TEXTURE_VIEW_NUM_LEVELS }
  2235. { reuse GL_TEXTURE_VIEW_MIN_LAYER }
  2236. { reuse GL_TEXTURE_VIEW_NUM_LAYERS }
  2237. { reuse GL_TEXTURE_IMMUTABLE_LEVELS }
  2238. { Reuse tokens from ARB_vertex_attrib_binding }
  2239. { reuse GL_VERTEX_ATTRIB_BINDING }
  2240. { reuse GL_VERTEX_ATTRIB_RELATIVE_OFFSET }
  2241. { reuse GL_VERTEX_BINDING_DIVISOR }
  2242. { reuse GL_VERTEX_BINDING_OFFSET }
  2243. { reuse GL_VERTEX_BINDING_STRIDE }
  2244. { reuse GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET }
  2245. { reuse GL_MAX_VERTEX_ATTRIB_BINDINGS }
  2246. // GL_3DFX_multisample
  2247. GL_MULTISAMPLE_3DFX = $86B2;
  2248. GL_SAMPLE_BUFFERS_3DFX = $86B3;
  2249. GL_SAMPLES_3DFX = $86B4;
  2250. GL_MULTISAMPLE_BIT_3DFX = $20000000;
  2251. // GL_3DFX_texture_compression_FXT1
  2252. GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
  2253. GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
  2254. // GL_APPLE_client_storage
  2255. GL_UNPACK_CLIENT_STORAGE_APPLE = $85B2;
  2256. // GL_APPLE_element_array
  2257. GL_ELEMENT_ARRAY_APPLE = $8A0C;
  2258. GL_ELEMENT_ARRAY_TYPE_APPLE = $8A0D;
  2259. GL_ELEMENT_ARRAY_POINTER_APPLE = $8A0E;
  2260. // GL_APPLE_fence
  2261. GL_DRAW_PIXELS_APPLE = $8A0A;
  2262. GL_FENCE_APPLE = $8A0B;
  2263. // GL_APPLE_specular_vector
  2264. GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = $85B0;
  2265. // GL_APPLE_transform_hint
  2266. GL_TRANSFORM_HINT_APPLE = $85B1;
  2267. // GL_APPLE_vertex_array_object
  2268. GL_VERTEX_ARRAY_BINDING_APPLE = $85B5;
  2269. // GL_APPLE_vertex_array_range
  2270. GL_VERTEX_ARRAY_RANGE_APPLE = $851D;
  2271. GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = $851E;
  2272. GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = $851F;
  2273. GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = $8521;
  2274. GL_STORAGE_CLIENT_APPLE = $85B4;
  2275. GL_STORAGE_CACHED_APPLE = $85BE;
  2276. GL_STORAGE_SHARED_APPLE = $85BF;
  2277. // GL_APPLE_ycbcr_422
  2278. GL_YCBCR_422_APPLE = $85B9;
  2279. GL_UNSIGNED_SHORT_8_8_APPLE = $85BA;
  2280. GL_UNSIGNED_SHORT_8_8_REV_APPLE = $85BB;
  2281. GL_RGB_RAW_422_APPLE = $8A51;
  2282. // GL_APPLE_texture_range
  2283. GL_TEXTURE_RANGE_LENGTH_APPLE = $85B7;
  2284. GL_TEXTURE_RANGE_POINTER_APPLE = $85B8;
  2285. GL_TEXTURE_STORAGE_HINT_APPLE = $85BC;
  2286. GL_STORAGE_PRIVATE_APPLE = $85BD;
  2287. { reuse GL_STORAGE_CACHED_APPLE }
  2288. { reuse GL_STORAGE_SHARED_APPLE }
  2289. // GL_APPLE_float_pixels
  2290. GL_HALF_APPLE = $140B;
  2291. GL_RGBA_FLOAT32_APPLE = $8814;
  2292. GL_RGB_FLOAT32_APPLE = $8815;
  2293. GL_ALPHA_FLOAT32_APPLE = $8816;
  2294. GL_INTENSITY_FLOAT32_APPLE = $8817;
  2295. GL_LUMINANCE_FLOAT32_APPLE = $8818;
  2296. GL_LUMINANCE_ALPHA_FLOAT32_APPLE = $8819;
  2297. GL_RGBA_FLOAT16_APPLE = $881A;
  2298. GL_RGB_FLOAT16_APPLE = $881B;
  2299. GL_ALPHA_FLOAT16_APPLE = $881C;
  2300. GL_INTENSITY_FLOAT16_APPLE = $881D;
  2301. GL_LUMINANCE_FLOAT16_APPLE = $881E;
  2302. GL_LUMINANCE_ALPHA_FLOAT16_APPLE = $881F;
  2303. GL_COLOR_FLOAT_APPLE = $8A0F;
  2304. // GL_APPLE_vertex_program_evaluators
  2305. GL_VERTEX_ATTRIB_MAP1_APPLE = $8A00;
  2306. GL_VERTEX_ATTRIB_MAP2_APPLE = $8A01;
  2307. GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = $8A02;
  2308. GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = $8A03;
  2309. GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = $8A04;
  2310. GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = $8A05;
  2311. GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = $8A06;
  2312. GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = $8A07;
  2313. GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = $8A08;
  2314. GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = $8A09;
  2315. // GL_APPLE_aux_depth_stencil
  2316. GL_AUX_DEPTH_STENCIL_APPLE = $8A14;
  2317. // GL_APPLE_object_purgeable
  2318. GL_BUFFER_OBJECT_APPLE = $85B3;
  2319. GL_RELEASED_APPLE = $8A19;
  2320. GL_VOLATILE_APPLE = $8A1A;
  2321. GL_RETAINED_APPLE = $8A1B;
  2322. GL_UNDEFINED_APPLE = $8A1C;
  2323. GL_PURGEABLE_APPLE = $8A1D;
  2324. // GL_APPLE_row_bytes
  2325. GL_PACK_ROW_BYTES_APPLE = $8A15;
  2326. GL_UNPACK_ROW_BYTES_APPLE = $8A16;
  2327. // GL_APPLE_rgb_422
  2328. { reuse GL_UNSIGNED_SHORT_8_8_APPLE }
  2329. { reuse GL_UNSIGNED_SHORT_8_8_REV_APPLE }
  2330. // GL_ARB_depth_texture
  2331. GL_DEPTH_COMPONENT16_ARB = $81A5;
  2332. GL_DEPTH_COMPONENT24_ARB = $81A6;
  2333. GL_DEPTH_COMPONENT32_ARB = $81A7;
  2334. GL_TEXTURE_DEPTH_SIZE_ARB = $884A;
  2335. GL_DEPTH_TEXTURE_MODE_ARB = $884B;
  2336. // GL_ARB_fragment_program
  2337. GL_FRAGMENT_PROGRAM_ARB = $8804;
  2338. GL_PROGRAM_ALU_INSTRUCTIONS_ARB = $8805;
  2339. GL_PROGRAM_TEX_INSTRUCTIONS_ARB = $8806;
  2340. GL_PROGRAM_TEX_INDIRECTIONS_ARB = $8807;
  2341. GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $8808;
  2342. GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $8809;
  2343. GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $880A;
  2344. GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = $880B;
  2345. GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = $880C;
  2346. GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = $880D;
  2347. GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $880E;
  2348. GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $880F;
  2349. GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $8810;
  2350. GL_MAX_TEXTURE_COORDS_ARB = $8871;
  2351. GL_MAX_TEXTURE_IMAGE_UNITS_ARB = $8872;
  2352. // GL_ARB_imaging
  2353. GL_CONSTANT_COLOR_ARB = $8001;
  2354. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  2355. GL_CONSTANT_ALPHA = $8003;
  2356. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  2357. GL_BLEND_COLOR = $8005;
  2358. GL_FUNC_ADD = $8006;
  2359. GL_MIN = $8007;
  2360. GL_MAX = $8008;
  2361. GL_BLEND_EQUATION = $8009;
  2362. GL_FUNC_SUBTRACT = $800A;
  2363. GL_FUNC_REVERSE_SUBTRACT = $800B;
  2364. // GL_ARB_matrix_palette
  2365. GL_MATRIX_PALETTE_ARB = $8840;
  2366. GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841;
  2367. GL_MAX_PALETTE_MATRICES_ARB = $8842;
  2368. GL_CURRENT_PALETTE_MATRIX_ARB = $8843;
  2369. GL_MATRIX_INDEX_ARRAY_ARB = $8844;
  2370. GL_CURRENT_MATRIX_INDEX_ARB = $8845;
  2371. GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846;
  2372. GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847;
  2373. GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848;
  2374. GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849;
  2375. // GL_ARB_multisample
  2376. GL_MULTISAMPLE_ARB = $809D;
  2377. GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
  2378. GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
  2379. GL_SAMPLE_COVERAGE_ARB = $80A0;
  2380. GL_SAMPLE_BUFFERS_ARB = $80A8;
  2381. GL_SAMPLES_ARB = $80A9;
  2382. GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
  2383. GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
  2384. GL_MULTISAMPLE_BIT_ARB = $20000000;
  2385. // GL_ARB_multitexture
  2386. GL_TEXTURE0_ARB = $84C0;
  2387. GL_TEXTURE1_ARB = $84C1;
  2388. GL_TEXTURE2_ARB = $84C2;
  2389. GL_TEXTURE3_ARB = $84C3;
  2390. GL_TEXTURE4_ARB = $84C4;
  2391. GL_TEXTURE5_ARB = $84C5;
  2392. GL_TEXTURE6_ARB = $84C6;
  2393. GL_TEXTURE7_ARB = $84C7;
  2394. GL_TEXTURE8_ARB = $84C8;
  2395. GL_TEXTURE9_ARB = $84C9;
  2396. GL_TEXTURE10_ARB = $84CA;
  2397. GL_TEXTURE11_ARB = $84CB;
  2398. GL_TEXTURE12_ARB = $84CC;
  2399. GL_TEXTURE13_ARB = $84CD;
  2400. GL_TEXTURE14_ARB = $84CE;
  2401. GL_TEXTURE15_ARB = $84CF;
  2402. GL_TEXTURE16_ARB = $84D0;
  2403. GL_TEXTURE17_ARB = $84D1;
  2404. GL_TEXTURE18_ARB = $84D2;
  2405. GL_TEXTURE19_ARB = $84D3;
  2406. GL_TEXTURE20_ARB = $84D4;
  2407. GL_TEXTURE21_ARB = $84D5;
  2408. GL_TEXTURE22_ARB = $84D6;
  2409. GL_TEXTURE23_ARB = $84D7;
  2410. GL_TEXTURE24_ARB = $84D8;
  2411. GL_TEXTURE25_ARB = $84D9;
  2412. GL_TEXTURE26_ARB = $84DA;
  2413. GL_TEXTURE27_ARB = $84DB;
  2414. GL_TEXTURE28_ARB = $84DC;
  2415. GL_TEXTURE29_ARB = $84DD;
  2416. GL_TEXTURE30_ARB = $84DE;
  2417. GL_TEXTURE31_ARB = $84DF;
  2418. GL_ACTIVE_TEXTURE_ARB = $84E0;
  2419. GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
  2420. GL_MAX_TEXTURE_UNITS_ARB = $84E2;
  2421. // GL_ARB_point_parameters
  2422. GL_POINT_SIZE_MIN_ARB = $8126;
  2423. GL_POINT_SIZE_MAX_ARB = $8127;
  2424. GL_POINT_FADE_THRESHOLD_SIZE_ARB = $8128;
  2425. GL_POINT_DISTANCE_ATTENUATION_ARB = $8129;
  2426. // GL_ARB_shadow
  2427. GL_TEXTURE_COMPARE_MODE_ARB = $884C;
  2428. GL_TEXTURE_COMPARE_FUNC_ARB = $884D;
  2429. GL_COMPARE_R_TO_TEXTURE_ARB = $884E;
  2430. // GL_ARB_shadow_ambient
  2431. GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF;
  2432. // GL_ARB_sparse_buffer
  2433. GL_SPARSE_STORAGE_BIT_ARB = $0400;
  2434. GL_SPARSE_BUFFER_PAGE_SIZE_ARB = $82F8;
  2435. // GL_ARB_texture_border_clamp
  2436. GL_CLAMP_TO_BORDER_ARB = $812D;
  2437. // GL_ARB_texture_compression
  2438. GL_COMPRESSED_ALPHA_ARB = $84E9;
  2439. GL_COMPRESSED_LUMINANCE_ARB = $84EA;
  2440. GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
  2441. GL_COMPRESSED_INTENSITY_ARB = $84EC;
  2442. GL_COMPRESSED_RGB_ARB = $84ED;
  2443. GL_COMPRESSED_RGBA_ARB = $84EE;
  2444. GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
  2445. GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0;
  2446. GL_TEXTURE_COMPRESSED_ARB = $86A1;
  2447. GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
  2448. GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
  2449. // GL_ARB_texture_cube_map
  2450. GL_NORMAL_MAP_ARB = $8511;
  2451. GL_REFLECTION_MAP_ARB = $8512;
  2452. GL_TEXTURE_CUBE_MAP_ARB = $8513;
  2453. GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
  2454. GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
  2455. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
  2456. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
  2457. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
  2458. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
  2459. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
  2460. GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
  2461. GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
  2462. // GL_ARB_texture_env_combine
  2463. GL_COMBINE_ARB = $8570;
  2464. GL_COMBINE_RGB_ARB = $8571;
  2465. GL_COMBINE_ALPHA_ARB = $8572;
  2466. GL_SOURCE0_RGB_ARB = $8580;
  2467. GL_SOURCE1_RGB_ARB = $8581;
  2468. GL_SOURCE2_RGB_ARB = $8582;
  2469. GL_SOURCE0_ALPHA_ARB = $8588;
  2470. GL_SOURCE1_ALPHA_ARB = $8589;
  2471. GL_SOURCE2_ALPHA_ARB = $858A;
  2472. GL_OPERAND0_RGB_ARB = $8590;
  2473. GL_OPERAND1_RGB_ARB = $8591;
  2474. GL_OPERAND2_RGB_ARB = $8592;
  2475. GL_OPERAND0_ALPHA_ARB = $8598;
  2476. GL_OPERAND1_ALPHA_ARB = $8599;
  2477. GL_OPERAND2_ALPHA_ARB = $859A;
  2478. GL_RGB_SCALE_ARB = $8573;
  2479. GL_ADD_SIGNED_ARB = $8574;
  2480. GL_INTERPOLATE_ARB = $8575;
  2481. GL_SUBTRACT_ARB = $84E7;
  2482. GL_CONSTANT_ARB = $8576;
  2483. GL_PRIMARY_COLOR_ARB = $8577;
  2484. GL_PREVIOUS_ARB = $8578;
  2485. // GL_ARB_texture_env_dot3
  2486. GL_DOT3_RGB_ARB = $86AE;
  2487. GL_DOT3_RGBA_ARB = $86AF;
  2488. // GL_ARB_texture_mirrored_repeat
  2489. GL_MIRRORED_REPEAT_ARB = $8370;
  2490. // GL_ARB_transpose_matrix
  2491. GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
  2492. GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
  2493. GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
  2494. GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
  2495. // GL_ARB_vertex_blend
  2496. GL_MAX_VERTEX_UNITS_ARB = $86A4;
  2497. GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
  2498. GL_WEIGHT_SUM_UNITY_ARB = $86A6;
  2499. GL_VERTEX_BLEND_ARB = $86A7;
  2500. GL_CURRENT_WEIGHT_ARB = $86A8;
  2501. GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
  2502. GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
  2503. GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
  2504. GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
  2505. GL_WEIGHT_ARRAY_ARB = $86AD;
  2506. GL_MODELVIEW0_ARB = $1700;
  2507. GL_MODELVIEW1_ARB = $850A;
  2508. GL_MODELVIEW2_ARB = $8722;
  2509. GL_MODELVIEW3_ARB = $8723;
  2510. GL_MODELVIEW4_ARB = $8724;
  2511. GL_MODELVIEW5_ARB = $8725;
  2512. GL_MODELVIEW6_ARB = $8726;
  2513. GL_MODELVIEW7_ARB = $8727;
  2514. GL_MODELVIEW8_ARB = $8728;
  2515. GL_MODELVIEW9_ARB = $8729;
  2516. GL_MODELVIEW10_ARB = $872A;
  2517. GL_MODELVIEW11_ARB = $872B;
  2518. GL_MODELVIEW12_ARB = $872C;
  2519. GL_MODELVIEW13_ARB = $872D;
  2520. GL_MODELVIEW14_ARB = $872E;
  2521. GL_MODELVIEW15_ARB = $872F;
  2522. GL_MODELVIEW16_ARB = $8730;
  2523. GL_MODELVIEW17_ARB = $8731;
  2524. GL_MODELVIEW18_ARB = $8732;
  2525. GL_MODELVIEW19_ARB = $8733;
  2526. GL_MODELVIEW20_ARB = $8734;
  2527. GL_MODELVIEW21_ARB = $8735;
  2528. GL_MODELVIEW22_ARB = $8736;
  2529. GL_MODELVIEW23_ARB = $8737;
  2530. GL_MODELVIEW24_ARB = $8738;
  2531. GL_MODELVIEW25_ARB = $8739;
  2532. GL_MODELVIEW26_ARB = $873A;
  2533. GL_MODELVIEW27_ARB = $873B;
  2534. GL_MODELVIEW28_ARB = $873C;
  2535. GL_MODELVIEW29_ARB = $873D;
  2536. GL_MODELVIEW30_ARB = $873E;
  2537. GL_MODELVIEW31_ARB = $873F;
  2538. // GL_ARB_vertex_buffer_object
  2539. GL_BUFFER_SIZE_ARB = $8764;
  2540. GL_BUFFER_USAGE_ARB = $8765;
  2541. GL_ARRAY_BUFFER_ARB = $8892;
  2542. GL_ELEMENT_ARRAY_BUFFER_ARB = $8893;
  2543. GL_ARRAY_BUFFER_BINDING_ARB = $8894;
  2544. GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = $8895;
  2545. GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = $8896;
  2546. GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = $8897;
  2547. GL_COLOR_ARRAY_BUFFER_BINDING_ARB = $8898;
  2548. GL_INDEX_ARRAY_BUFFER_BINDING_ARB = $8899;
  2549. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = $889A;
  2550. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = $889B;
  2551. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = $889C;
  2552. GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = $889D;
  2553. GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = $889E;
  2554. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = $889F;
  2555. GL_READ_ONLY_ARB = $88B8;
  2556. GL_WRITE_ONLY_ARB = $88B9;
  2557. GL_READ_WRITE_ARB = $88BA;
  2558. GL_BUFFER_ACCESS_ARB = $88BB;
  2559. GL_BUFFER_MAPPED_ARB = $88BC;
  2560. GL_BUFFER_MAP_POINTER_ARB = $88BD;
  2561. GL_STREAM_DRAW_ARB = $88E0;
  2562. GL_STREAM_READ_ARB = $88E1;
  2563. GL_STREAM_COPY_ARB = $88E2;
  2564. GL_STATIC_DRAW_ARB = $88E4;
  2565. GL_STATIC_READ_ARB = $88E5;
  2566. GL_STATIC_COPY_ARB = $88E6;
  2567. GL_DYNAMIC_DRAW_ARB = $88E8;
  2568. GL_DYNAMIC_READ_ARB = $88E9;
  2569. GL_DYNAMIC_COPY_ARB = $88EA;
  2570. // GL_ARB_vertex_program
  2571. GL_COLOR_SUM_ARB = $8458;
  2572. GL_VERTEX_PROGRAM_ARB = $8620;
  2573. GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622;
  2574. GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623;
  2575. GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624;
  2576. GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625;
  2577. GL_CURRENT_VERTEX_ATTRIB_ARB = $8626;
  2578. GL_PROGRAM_LENGTH_ARB = $8627;
  2579. GL_PROGRAM_STRING_ARB = $8628;
  2580. GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E;
  2581. GL_MAX_PROGRAM_MATRICES_ARB = $862F;
  2582. GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640;
  2583. GL_CURRENT_MATRIX_ARB = $8641;
  2584. GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642;
  2585. GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643;
  2586. GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645;
  2587. GL_PROGRAM_ERROR_POSITION_ARB = $864B;
  2588. GL_PROGRAM_BINDING_ARB = $8677;
  2589. GL_MAX_VERTEX_ATTRIBS_ARB = $8869;
  2590. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A;
  2591. GL_PROGRAM_ERROR_STRING_ARB = $8874;
  2592. GL_PROGRAM_FORMAT_ASCII_ARB = $8875;
  2593. GL_PROGRAM_FORMAT_ARB = $8876;
  2594. GL_PROGRAM_INSTRUCTIONS_ARB = $88A0;
  2595. GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1;
  2596. GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2;
  2597. GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3;
  2598. GL_PROGRAM_TEMPORARIES_ARB = $88A4;
  2599. GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5;
  2600. GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6;
  2601. GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7;
  2602. GL_PROGRAM_PARAMETERS_ARB = $88A8;
  2603. GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9;
  2604. GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA;
  2605. GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB;
  2606. GL_PROGRAM_ATTRIBS_ARB = $88AC;
  2607. GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD;
  2608. GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE;
  2609. GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF;
  2610. GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0;
  2611. GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1;
  2612. GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2;
  2613. GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3;
  2614. GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4;
  2615. GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5;
  2616. GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6;
  2617. GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7;
  2618. GL_MATRIX0_ARB = $88C0;
  2619. GL_MATRIX1_ARB = $88C1;
  2620. GL_MATRIX2_ARB = $88C2;
  2621. GL_MATRIX3_ARB = $88C3;
  2622. GL_MATRIX4_ARB = $88C4;
  2623. GL_MATRIX5_ARB = $88C5;
  2624. GL_MATRIX6_ARB = $88C6;
  2625. GL_MATRIX7_ARB = $88C7;
  2626. GL_MATRIX8_ARB = $88C8;
  2627. GL_MATRIX9_ARB = $88C9;
  2628. GL_MATRIX10_ARB = $88CA;
  2629. GL_MATRIX11_ARB = $88CB;
  2630. GL_MATRIX12_ARB = $88CC;
  2631. GL_MATRIX13_ARB = $88CD;
  2632. GL_MATRIX14_ARB = $88CE;
  2633. GL_MATRIX15_ARB = $88CF;
  2634. GL_MATRIX16_ARB = $88D0;
  2635. GL_MATRIX17_ARB = $88D1;
  2636. GL_MATRIX18_ARB = $88D2;
  2637. GL_MATRIX19_ARB = $88D3;
  2638. GL_MATRIX20_ARB = $88D4;
  2639. GL_MATRIX21_ARB = $88D5;
  2640. GL_MATRIX22_ARB = $88D6;
  2641. GL_MATRIX23_ARB = $88D7;
  2642. GL_MATRIX24_ARB = $88D8;
  2643. GL_MATRIX25_ARB = $88D9;
  2644. GL_MATRIX26_ARB = $88DA;
  2645. GL_MATRIX27_ARB = $88DB;
  2646. GL_MATRIX28_ARB = $88DC;
  2647. GL_MATRIX29_ARB = $88DD;
  2648. GL_MATRIX30_ARB = $88DE;
  2649. GL_MATRIX31_ARB = $88DF;
  2650. // GL_ARB_draw_buffers
  2651. GL_MAX_DRAW_BUFFERS_ARB = $8824;
  2652. GL_DRAW_BUFFER0_ARB = $8825;
  2653. GL_DRAW_BUFFER1_ARB = $8826;
  2654. GL_DRAW_BUFFER2_ARB = $8827;
  2655. GL_DRAW_BUFFER3_ARB = $8828;
  2656. GL_DRAW_BUFFER4_ARB = $8829;
  2657. GL_DRAW_BUFFER5_ARB = $882A;
  2658. GL_DRAW_BUFFER6_ARB = $882B;
  2659. GL_DRAW_BUFFER7_ARB = $882C;
  2660. GL_DRAW_BUFFER8_ARB = $882D;
  2661. GL_DRAW_BUFFER9_ARB = $882E;
  2662. GL_DRAW_BUFFER10_ARB = $882F;
  2663. GL_DRAW_BUFFER11_ARB = $8830;
  2664. GL_DRAW_BUFFER12_ARB = $8831;
  2665. GL_DRAW_BUFFER13_ARB = $8832;
  2666. GL_DRAW_BUFFER14_ARB = $8833;
  2667. GL_DRAW_BUFFER15_ARB = $8834;
  2668. // GL_ARB_texture_rectangle
  2669. GL_TEXTURE_RECTANGLE_ARB = $84F5;
  2670. GL_TEXTURE_BINDING_RECTANGLE_ARB = $84F6;
  2671. GL_PROXY_TEXTURE_RECTANGLE_ARB = $84F7;
  2672. GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = $84F8;
  2673. // GL_ARB_color_buffer_float
  2674. GL_RGBA_FLOAT_MODE_ARB = $8820;
  2675. GL_CLAMP_VERTEX_COLOR_ARB = $891A;
  2676. GL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  2677. GL_CLAMP_READ_COLOR_ARB = $891C;
  2678. GL_FIXED_ONLY_ARB = $891D;
  2679. WGL_TYPE_RGBA_FLOAT_ARB = $21A0;
  2680. GLX_RGBA_FLOAT_TYPE = $20B9;
  2681. GLX_RGBA_FLOAT_BIT = $00000004;
  2682. // GL_ARB_compute_variable_group_size
  2683. GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = $9344;
  2684. GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = $90EB;
  2685. GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = $9345;
  2686. GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = $91BF;
  2687. // GL_ARB_half_float_pixel
  2688. GL_HALF_FLOAT_ARB = $140B;
  2689. // GL_ARB_texture_float
  2690. GL_TEXTURE_RED_TYPE_ARB = $8C10;
  2691. GL_TEXTURE_GREEN_TYPE_ARB = $8C11;
  2692. GL_TEXTURE_BLUE_TYPE_ARB = $8C12;
  2693. GL_TEXTURE_ALPHA_TYPE_ARB = $8C13;
  2694. GL_TEXTURE_LUMINANCE_TYPE_ARB = $8C14;
  2695. GL_TEXTURE_INTENSITY_TYPE_ARB = $8C15;
  2696. GL_TEXTURE_DEPTH_TYPE_ARB = $8C16;
  2697. GL_UNSIGNED_NORMALIZED_ARB = $8C17;
  2698. GL_RGBA32F_ARB = $8814;
  2699. GL_RGB32F_ARB = $8815;
  2700. GL_ALPHA32F_ARB = $8816;
  2701. GL_INTENSITY32F_ARB = $8817;
  2702. GL_LUMINANCE32F_ARB = $8818;
  2703. GL_LUMINANCE_ALPHA32F_ARB = $8819;
  2704. GL_RGBA16F_ARB = $881A;
  2705. GL_RGB16F_ARB = $881B;
  2706. GL_ALPHA16F_ARB = $881C;
  2707. GL_INTENSITY16F_ARB = $881D;
  2708. GL_LUMINANCE16F_ARB = $881E;
  2709. GL_LUMINANCE_ALPHA16F_ARB = $881F;
  2710. // GL_ARB_pixel_buffer_object
  2711. GL_PIXEL_PACK_BUFFER_ARB = $88EB;
  2712. GL_PIXEL_UNPACK_BUFFER_ARB = $88EC;
  2713. GL_PIXEL_PACK_BUFFER_BINDING_ARB = $88ED;
  2714. GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = $88EF;
  2715. // GL_ARB_depth_buffer_float
  2716. GL_DEPTH_COMPONENT32F = $8CAC;
  2717. GL_DEPTH32F_STENCIL8 = $8CAD;
  2718. GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD;
  2719. // GL_ARB_framebuffer_object
  2720. GL_INVALID_FRAMEBUFFER_OPERATION = $0506;
  2721. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210;
  2722. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211;
  2723. GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212;
  2724. GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213;
  2725. GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214;
  2726. GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215;
  2727. GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216;
  2728. GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217;
  2729. GL_FRAMEBUFFER_DEFAULT = $8218;
  2730. GL_FRAMEBUFFER_UNDEFINED = $8219;
  2731. GL_DEPTH_STENCIL_ATTACHMENT = $821A;
  2732. GL_MAX_RENDERBUFFER_SIZE = $84E8;
  2733. GL_DEPTH_STENCIL = $84F9;
  2734. GL_UNSIGNED_INT_24_8 = $84FA;
  2735. GL_DEPTH24_STENCIL8 = $88F0;
  2736. GL_TEXTURE_STENCIL_SIZE = $88F1;
  2737. GL_TEXTURE_RED_TYPE = $8C10;
  2738. GL_TEXTURE_GREEN_TYPE = $8C11;
  2739. GL_TEXTURE_BLUE_TYPE = $8C12;
  2740. GL_TEXTURE_ALPHA_TYPE = $8C13;
  2741. GL_TEXTURE_DEPTH_TYPE = $8C16;
  2742. GL_UNSIGNED_NORMALIZED = $8C17;
  2743. GL_FRAMEBUFFER_BINDING = $8CA6;
  2744. GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING;
  2745. GL_RENDERBUFFER_BINDING = $8CA7;
  2746. GL_READ_FRAMEBUFFER = $8CA8;
  2747. GL_DRAW_FRAMEBUFFER = $8CA9;
  2748. GL_READ_FRAMEBUFFER_BINDING = $8CAA;
  2749. GL_RENDERBUFFER_SAMPLES = $8CAB;
  2750. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
  2751. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
  2752. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
  2753. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
  2754. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4;
  2755. GL_FRAMEBUFFER_COMPLETE = $8CD5;
  2756. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
  2757. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
  2758. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = $8CDB;
  2759. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = $8CDC;
  2760. GL_FRAMEBUFFER_UNSUPPORTED = $8CDD;
  2761. GL_MAX_COLOR_ATTACHMENTS = $8CDF;
  2762. GL_COLOR_ATTACHMENT0 = $8CE0;
  2763. GL_COLOR_ATTACHMENT1 = $8CE1;
  2764. GL_COLOR_ATTACHMENT2 = $8CE2;
  2765. GL_COLOR_ATTACHMENT3 = $8CE3;
  2766. GL_COLOR_ATTACHMENT4 = $8CE4;
  2767. GL_COLOR_ATTACHMENT5 = $8CE5;
  2768. GL_COLOR_ATTACHMENT6 = $8CE6;
  2769. GL_COLOR_ATTACHMENT7 = $8CE7;
  2770. GL_COLOR_ATTACHMENT8 = $8CE8;
  2771. GL_COLOR_ATTACHMENT9 = $8CE9;
  2772. GL_COLOR_ATTACHMENT10 = $8CEA;
  2773. GL_COLOR_ATTACHMENT11 = $8CEB;
  2774. GL_COLOR_ATTACHMENT12 = $8CEC;
  2775. GL_COLOR_ATTACHMENT13 = $8CED;
  2776. GL_COLOR_ATTACHMENT14 = $8CEE;
  2777. GL_COLOR_ATTACHMENT15 = $8CEF;
  2778. GL_DEPTH_ATTACHMENT = $8D00;
  2779. GL_STENCIL_ATTACHMENT = $8D20;
  2780. GL_FRAMEBUFFER = $8D40;
  2781. GL_RENDERBUFFER = $8D41;
  2782. GL_RENDERBUFFER_WIDTH = $8D42;
  2783. GL_RENDERBUFFER_HEIGHT = $8D43;
  2784. GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44;
  2785. GL_STENCIL_INDEX1 = $8D46;
  2786. GL_STENCIL_INDEX4 = $8D47;
  2787. GL_STENCIL_INDEX8 = $8D48;
  2788. GL_STENCIL_INDEX16 = $8D49;
  2789. GL_RENDERBUFFER_RED_SIZE = $8D50;
  2790. GL_RENDERBUFFER_GREEN_SIZE = $8D51;
  2791. GL_RENDERBUFFER_BLUE_SIZE = $8D52;
  2792. GL_RENDERBUFFER_ALPHA_SIZE = $8D53;
  2793. GL_RENDERBUFFER_DEPTH_SIZE = $8D54;
  2794. GL_RENDERBUFFER_STENCIL_SIZE = $8D55;
  2795. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56;
  2796. GL_MAX_SAMPLES = $8D57;
  2797. // GL_ARB_framebuffer_sRGB
  2798. GL_FRAMEBUFFER_SRGB = $8DB9;
  2799. // GL_ARB_geometry_shader4
  2800. GL_LINES_ADJACENCY_ARB = $000A;
  2801. GL_LINE_STRIP_ADJACENCY_ARB = $000B;
  2802. GL_TRIANGLES_ADJACENCY_ARB = $000C;
  2803. GL_TRIANGLE_STRIP_ADJACENCY_ARB = $000D;
  2804. GL_PROGRAM_POINT_SIZE_ARB = $8642;
  2805. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = $8C29;
  2806. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = $8DA7;
  2807. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = $8DA8;
  2808. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = $8DA9;
  2809. GL_GEOMETRY_SHADER_ARB = $8DD9;
  2810. GL_GEOMETRY_VERTICES_OUT_ARB = $8DDA;
  2811. GL_GEOMETRY_INPUT_TYPE_ARB = $8DDB;
  2812. GL_GEOMETRY_OUTPUT_TYPE_ARB = $8DDC;
  2813. GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = $8DDD;
  2814. GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = $8DDE;
  2815. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = $8DDF;
  2816. GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = $8DE0;
  2817. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = $8DE1;
  2818. { reuse GL_MAX_VARYING_COMPONENTS }
  2819. { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER }
  2820. // GL_ARB_half_float_vertex
  2821. GL_HALF_FLOAT = $140B;
  2822. // GL_ARB_instanced_arrays
  2823. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = $88FE;
  2824. // GL_ARB_map_buffer_range
  2825. GL_MAP_READ_BIT = $0001;
  2826. GL_MAP_WRITE_BIT = $0002;
  2827. GL_MAP_INVALIDATE_RANGE_BIT = $0004;
  2828. GL_MAP_INVALIDATE_BUFFER_BIT = $0008;
  2829. GL_MAP_FLUSH_EXPLICIT_BIT = $0010;
  2830. GL_MAP_UNSYNCHRONIZED_BIT = $0020;
  2831. // GL_ARB_texture_buffer_object
  2832. GL_TEXTURE_BUFFER_ARB = $8C2A;
  2833. GL_MAX_TEXTURE_BUFFER_SIZE_ARB = $8C2B;
  2834. GL_TEXTURE_BINDING_BUFFER_ARB = $8C2C;
  2835. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = $8C2D;
  2836. GL_TEXTURE_BUFFER_FORMAT_ARB = $8C2E;
  2837. // GL_ARB_texture_compression_rgtc
  2838. GL_COMPRESSED_RED_RGTC1 = $8DBB;
  2839. GL_COMPRESSED_SIGNED_RED_RGTC1 = $8DBC;
  2840. GL_COMPRESSED_RG_RGTC2 = $8DBD;
  2841. GL_COMPRESSED_SIGNED_RG_RGTC2 = $8DBE;
  2842. // GL_ARB_texture_rg
  2843. GL_RG = $8227;
  2844. GL_RG_INTEGER = $8228;
  2845. GL_R8 = $8229;
  2846. GL_R16 = $822A;
  2847. GL_RG8 = $822B;
  2848. GL_RG16 = $822C;
  2849. GL_R16F = $822D;
  2850. GL_R32F = $822E;
  2851. GL_RG16F = $822F;
  2852. GL_RG32F = $8230;
  2853. GL_R8I = $8231;
  2854. GL_R8UI = $8232;
  2855. GL_R16I = $8233;
  2856. GL_R16UI = $8234;
  2857. GL_R32I = $8235;
  2858. GL_R32UI = $8236;
  2859. GL_RG8I = $8237;
  2860. GL_RG8UI = $8238;
  2861. GL_RG16I = $8239;
  2862. GL_RG16UI = $823A;
  2863. GL_RG32I = $823B;
  2864. GL_RG32UI = $823C;
  2865. // GL_ARB_vertex_array_object
  2866. GL_VERTEX_ARRAY_BINDING = $85B5;
  2867. // GL_ARB_uniform_buffer_object
  2868. GL_UNIFORM_BUFFER = $8A11;
  2869. GL_UNIFORM_BUFFER_BINDING = $8A28;
  2870. GL_UNIFORM_BUFFER_START = $8A29;
  2871. GL_UNIFORM_BUFFER_SIZE = $8A2A;
  2872. GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B;
  2873. GL_MAX_GEOMETRY_UNIFORM_BLOCKS = $8A2C;
  2874. GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D;
  2875. GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E;
  2876. GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F;
  2877. GL_MAX_UNIFORM_BLOCK_SIZE = $8A30;
  2878. GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31;
  2879. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = $8A32;
  2880. GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33;
  2881. GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34;
  2882. GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35;
  2883. GL_ACTIVE_UNIFORM_BLOCKS = $8A36;
  2884. GL_UNIFORM_TYPE = $8A37;
  2885. GL_UNIFORM_SIZE = $8A38;
  2886. GL_UNIFORM_NAME_LENGTH = $8A39;
  2887. GL_UNIFORM_BLOCK_INDEX = $8A3A;
  2888. GL_UNIFORM_OFFSET = $8A3B;
  2889. GL_UNIFORM_ARRAY_STRIDE = $8A3C;
  2890. GL_UNIFORM_MATRIX_STRIDE = $8A3D;
  2891. GL_UNIFORM_IS_ROW_MAJOR = $8A3E;
  2892. GL_UNIFORM_BLOCK_BINDING = $8A3F;
  2893. GL_UNIFORM_BLOCK_DATA_SIZE = $8A40;
  2894. GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41;
  2895. GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42;
  2896. GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43;
  2897. GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44;
  2898. GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = $8A45;
  2899. GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46;
  2900. GL_INVALID_INDEX = $FFFFFFFF;
  2901. // GL_ARB_compatibility
  2902. { ARB_compatibility just defines tokens from core 3.0 }
  2903. // GL_ARB_copy_buffer
  2904. GL_COPY_READ_BUFFER_BINDING = $8F36;
  2905. GL_COPY_READ_BUFFER = GL_COPY_READ_BUFFER_BINDING;
  2906. GL_COPY_WRITE_BUFFER_BINDING = $8F37;
  2907. GL_COPY_WRITE_BUFFER = GL_COPY_WRITE_BUFFER_BINDING;
  2908. // GL_ARB_depth_clamp
  2909. GL_DEPTH_CLAMP = $864F;
  2910. // GL_ARB_provoking_vertex
  2911. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = $8E4C;
  2912. GL_FIRST_VERTEX_CONVENTION = $8E4D;
  2913. GL_LAST_VERTEX_CONVENTION = $8E4E;
  2914. GL_PROVOKING_VERTEX = $8E4F;
  2915. // GL_ARB_seamless_cube_map
  2916. GL_TEXTURE_CUBE_MAP_SEAMLESS = $884F;
  2917. // GL_ARB_sync
  2918. GL_MAX_SERVER_WAIT_TIMEOUT = $9111;
  2919. GL_OBJECT_TYPE = $9112;
  2920. GL_SYNC_CONDITION = $9113;
  2921. GL_SYNC_STATUS = $9114;
  2922. GL_SYNC_FLAGS = $9115;
  2923. GL_SYNC_FENCE = $9116;
  2924. GL_SYNC_GPU_COMMANDS_COMPLETE = $9117;
  2925. GL_UNSIGNALED = $9118;
  2926. GL_SIGNALED = $9119;
  2927. GL_ALREADY_SIGNALED = $911A;
  2928. GL_TIMEOUT_EXPIRED = $911B;
  2929. GL_CONDITION_SATISFIED = $911C;
  2930. GL_WAIT_FAILED = $911D;
  2931. GL_SYNC_FLUSH_COMMANDS_BIT = $00000001;
  2932. GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF;
  2933. // GL_ARB_texture_multisample
  2934. GL_SAMPLE_POSITION = $8E50;
  2935. GL_SAMPLE_MASK = $8E51;
  2936. GL_SAMPLE_MASK_VALUE = $8E52;
  2937. GL_MAX_SAMPLE_MASK_WORDS = $8E59;
  2938. GL_TEXTURE_2D_MULTISAMPLE = $9100;
  2939. GL_PROXY_TEXTURE_2D_MULTISAMPLE = $9101;
  2940. GL_TEXTURE_2D_MULTISAMPLE_ARRAY = $9102;
  2941. GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = $9103;
  2942. GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104;
  2943. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = $9105;
  2944. GL_TEXTURE_SAMPLES = $9106;
  2945. GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107;
  2946. GL_SAMPLER_2D_MULTISAMPLE = $9108;
  2947. GL_INT_SAMPLER_2D_MULTISAMPLE = $9109;
  2948. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A;
  2949. GL_SAMPLER_2D_MULTISAMPLE_ARRAY = $910B;
  2950. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910C;
  2951. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910D;
  2952. GL_MAX_COLOR_TEXTURE_SAMPLES = $910E;
  2953. GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F;
  2954. GL_MAX_INTEGER_SAMPLES = $9110;
  2955. // GL_ARB_vertex_array_bgra
  2956. { reuse GL_BGRA }
  2957. // GL_ARB_sample_shading
  2958. GL_SAMPLE_SHADING_ARB = $8C36;
  2959. GL_MIN_SAMPLE_SHADING_VALUE_ARB = $8C37;
  2960. // GL_ARB_texture_cube_map_array
  2961. GL_TEXTURE_CUBE_MAP_ARRAY_ARB = $9009;
  2962. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = $900A;
  2963. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = $900B;
  2964. GL_SAMPLER_CUBE_MAP_ARRAY_ARB = $900C;
  2965. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = $900D;
  2966. GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900E;
  2967. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900F;
  2968. // GL_ARB_texture_gather
  2969. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5E;
  2970. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5F;
  2971. // GL_ARB_shading_language_include
  2972. GL_SHADER_INCLUDE_ARB = $8DAE;
  2973. GL_NAMED_STRING_LENGTH_ARB = $8DE9;
  2974. GL_NAMED_STRING_TYPE_ARB = $8DEA;
  2975. // GL_ARB_texture_compression_bptc
  2976. GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = $8E8C;
  2977. GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = $8E8D;
  2978. GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = $8E8E;
  2979. GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = $8E8F;
  2980. // GL_ARB_blend_func_extended
  2981. GL_SRC1_COLOR = $88F9;
  2982. { reuse GL_SRC1_ALPHA }
  2983. GL_ONE_MINUS_SRC1_COLOR = $88FA;
  2984. GL_ONE_MINUS_SRC1_ALPHA = $88FB;
  2985. GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = $88FC;
  2986. // GL_ARB_occlusion_query2
  2987. GL_ANY_SAMPLES_PASSED = $8C2F;
  2988. // GL_ARB_sampler_objects
  2989. GL_SAMPLER_BINDING = $8919;
  2990. // GL_ARB_texture_rgb10_a2ui
  2991. GL_RGB10_A2UI = $906F;
  2992. // GL_ARB_texture_swizzle
  2993. GL_TEXTURE_SWIZZLE_R = $8E42;
  2994. GL_TEXTURE_SWIZZLE_G = $8E43;
  2995. GL_TEXTURE_SWIZZLE_B = $8E44;
  2996. GL_TEXTURE_SWIZZLE_A = $8E45;
  2997. GL_TEXTURE_SWIZZLE_RGBA = $8E46;
  2998. // GL_ARB_SPARSE_TEXTURE
  2999. GL_TEXTURE_SPARSE_ARB = $91A6;
  3000. GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = $91A7;
  3001. GL_NUM_VIRTUAL_PAGE_SIZES_ARB = $91A8;
  3002. GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = $91A9;
  3003. GL_NUM_SPARSE_LEVELS_ARB = $91AA;
  3004. GL_VIRTUAL_PAGE_SIZE_X_ARB = $9195;
  3005. GL_VIRTUAL_PAGE_SIZE_Y_ARB = $9196;
  3006. GL_VIRTUAL_PAGE_SIZE_Z_ARB = $9197;
  3007. GL_MAX_SPARSE_TEXTURE_SIZE_ARB = $9198;
  3008. GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = $9199;
  3009. GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = $919A;
  3010. GL_MIN_SPARSE_LEVEL_ARB = $919B;
  3011. // GL_ARB_timer_query
  3012. GL_TIME_ELAPSED = $88BF;
  3013. GL_TIMESTAMP = $8E28;
  3014. // GL_ARB_vertex_type_2_10_10_10_rev
  3015. { reuse GL_UNSIGNED_INT_2_10_10_10_REV }
  3016. GL_INT_2_10_10_10_REV = $8D9F;
  3017. // GL_ARB_draw_indirect
  3018. GL_DRAW_INDIRECT_BUFFER = $8F3F;
  3019. GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43;
  3020. // GL_ARB_gpu_shader5
  3021. GL_GEOMETRY_SHADER_INVOCATIONS = $887F;
  3022. GL_MAX_GEOMETRY_SHADER_INVOCATIONS = $8E5A;
  3023. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = $8E5B;
  3024. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = $8E5C;
  3025. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = $8E5D;
  3026. { reuse GL_MAX_VERTEX_STREAMS }
  3027. // GL_ARB_gpu_shader_fp64
  3028. { reuse GL_DOUBLE }
  3029. GL_DOUBLE_VEC2 = $8FFC;
  3030. GL_DOUBLE_VEC3 = $8FFD;
  3031. GL_DOUBLE_VEC4 = $8FFE;
  3032. GL_DOUBLE_MAT2 = $8F46;
  3033. GL_DOUBLE_MAT3 = $8F47;
  3034. GL_DOUBLE_MAT4 = $8F48;
  3035. GL_DOUBLE_MAT2x3 = $8F49;
  3036. GL_DOUBLE_MAT2x4 = $8F4A;
  3037. GL_DOUBLE_MAT3x2 = $8F4B;
  3038. GL_DOUBLE_MAT3x4 = $8F4C;
  3039. GL_DOUBLE_MAT4x2 = $8F4D;
  3040. GL_DOUBLE_MAT4x3 = $8F4E;
  3041. // GL_ARB_shader_subroutine
  3042. GL_ACTIVE_SUBROUTINES = $8DE5;
  3043. GL_ACTIVE_SUBROUTINE_UNIFORMS = $8DE6;
  3044. GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = $8E47;
  3045. GL_ACTIVE_SUBROUTINE_MAX_LENGTH = $8E48;
  3046. GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = $8E49;
  3047. GL_MAX_SUBROUTINES = $8DE7;
  3048. GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = $8DE8;
  3049. GL_NUM_COMPATIBLE_SUBROUTINES = $8E4A;
  3050. GL_COMPATIBLE_SUBROUTINES = $8E4B;
  3051. { reuse GL_UNIFORM_SIZE }
  3052. { reuse GL_UNIFORM_NAME_LENGTH }
  3053. // GL_ARB_tessellation_shader
  3054. GL_PATCHES = $000E;
  3055. GL_PATCH_VERTICES = $8E72;
  3056. GL_PATCH_DEFAULT_INNER_LEVEL = $8E73;
  3057. GL_PATCH_DEFAULT_OUTER_LEVEL = $8E74;
  3058. GL_TESS_CONTROL_OUTPUT_VERTICES = $8E75;
  3059. GL_TESS_GEN_MODE = $8E76;
  3060. GL_TESS_GEN_SPACING = $8E77;
  3061. GL_TESS_GEN_VERTEX_ORDER = $8E78;
  3062. GL_TESS_GEN_POINT_MODE = $8E79;
  3063. { reuse GL_TRIANGLES }
  3064. { reuse GL_QUADS }
  3065. GL_ISOLINES = $8E7A;
  3066. { reuse GL_EQUAL }
  3067. GL_FRACTIONAL_ODD = $8E7B;
  3068. GL_FRACTIONAL_EVEN = $8E7C;
  3069. { reuse GL_CCW }
  3070. { reuse GL_CW }
  3071. GL_MAX_PATCH_VERTICES = $8E7D;
  3072. GL_MAX_TESS_GEN_LEVEL = $8E7E;
  3073. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = $8E7F;
  3074. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E80;
  3075. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = $8E81;
  3076. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = $8E82;
  3077. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = $8E83;
  3078. GL_MAX_TESS_PATCH_COMPONENTS = $8E84;
  3079. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = $8E85;
  3080. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = $8E86;
  3081. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = $8E89;
  3082. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = $8E8A;
  3083. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = $886C;
  3084. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = $886D;
  3085. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = $8E1E;
  3086. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E1F;
  3087. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = $84F0;
  3088. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = $84F1;
  3089. GL_TESS_EVALUATION_SHADER = $8E87;
  3090. GL_TESS_CONTROL_SHADER = $8E88;
  3091. // GL_ARB_texture_buffer_object_rgb32
  3092. { reuse GL_RGB32F }
  3093. { reuse GL_RGB32UI }
  3094. { reuse GL_RGB32I }
  3095. // GL_ARB_transform_feedback2
  3096. GL_TRANSFORM_FEEDBACK = $8E22;
  3097. GL_TRANSFORM_FEEDBACK_PAUSED = $8E23;
  3098. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = GL_TRANSFORM_FEEDBACK_PAUSED;
  3099. GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24;
  3100. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = GL_TRANSFORM_FEEDBACK_ACTIVE;
  3101. GL_TRANSFORM_FEEDBACK_BINDING = $8E25;
  3102. // GL_ARB_transform_feedback_overflow_query
  3103. GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = $82EC;
  3104. GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = $82ED;
  3105. // GL_ARB_transform_feedback3
  3106. GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = $8E70;
  3107. GL_MAX_VERTEX_STREAMS = $8E71;
  3108. // GL_ARB_ES2_compatibility
  3109. GL_FIXED = $140C;
  3110. GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
  3111. GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
  3112. GL_LOW_FLOAT = $8DF0;
  3113. GL_MEDIUM_FLOAT = $8DF1;
  3114. GL_HIGH_FLOAT = $8DF2;
  3115. GL_LOW_INT = $8DF3;
  3116. GL_MEDIUM_INT = $8DF4;
  3117. GL_HIGH_INT = $8DF5;
  3118. GL_SHADER_COMPILER = $8DFA;
  3119. GL_NUM_SHADER_BINARY_FORMATS = $8DF9;
  3120. GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
  3121. GL_MAX_VARYING_VECTORS = $8DFC;
  3122. GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
  3123. GL_RGB565 = $8D62;
  3124. // GL_ARB_get_program_binary
  3125. GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
  3126. GL_PROGRAM_BINARY_LENGTH = $8741;
  3127. GL_NUM_PROGRAM_BINARY_FORMATS = $87FE;
  3128. GL_PROGRAM_BINARY_FORMATS = $87FF;
  3129. // GL_ARB_separate_shader_objects
  3130. GL_VERTEX_SHADER_BIT = $00000001;
  3131. GL_FRAGMENT_SHADER_BIT = $00000002;
  3132. GL_GEOMETRY_SHADER_BIT = $00000004;
  3133. GL_TESS_CONTROL_SHADER_BIT = $00000008;
  3134. GL_TESS_EVALUATION_SHADER_BIT = $00000010;
  3135. GL_ALL_SHADER_BITS = $FFFFFFFF;
  3136. GL_PROGRAM_SEPARABLE = $8258;
  3137. GL_ACTIVE_PROGRAM = $8259;
  3138. GL_PROGRAM_PIPELINE_BINDING = $825A;
  3139. // GL_ARB_vertex_attrib_64bit
  3140. { reuse GL_RGB32I }
  3141. { reuse GL_DOUBLE_VEC2 }
  3142. { reuse GL_DOUBLE_VEC3 }
  3143. { reuse GL_DOUBLE_VEC4 }
  3144. { reuse GL_DOUBLE_MAT2 }
  3145. { reuse GL_DOUBLE_MAT3 }
  3146. { reuse GL_DOUBLE_MAT4 }
  3147. { reuse GL_DOUBLE_MAT2x3 }
  3148. { reuse GL_DOUBLE_MAT2x4 }
  3149. { reuse GL_DOUBLE_MAT3x2 }
  3150. { reuse GL_DOUBLE_MAT3x4 }
  3151. { reuse GL_DOUBLE_MAT4x2 }
  3152. { reuse GL_DOUBLE_MAT4x3 }
  3153. // GL_ARB_viewport_array
  3154. { reuse GL_SCISSOR_BOX }
  3155. { reuse GL_VIEWPORT }
  3156. { reuse GL_DEPTH_RANGE }
  3157. { reuse GL_SCISSOR_TEST }
  3158. GL_MAX_VIEWPORTS = $825B;
  3159. GL_VIEWPORT_SUBPIXEL_BITS = $825C;
  3160. GL_VIEWPORT_BOUNDS_RANGE = $825D;
  3161. GL_LAYER_PROVOKING_VERTEX = $825E;
  3162. GL_VIEWPORT_INDEX_PROVOKING_VERTEX = $825F;
  3163. GL_UNDEFINED_VERTEX = $8260;
  3164. { reuse GL_FIRST_VERTEX_CONVENTION }
  3165. { reuse GL_LAST_VERTEX_CONVENTION }
  3166. { reuse GL_PROVOKING_VERTEX }
  3167. // GL_ARB_cl_event
  3168. GL_SYNC_CL_EVENT_ARB = $8240;
  3169. GL_SYNC_CL_EVENT_COMPLETE_ARB = $8241;
  3170. // GL_ARB_debug_output
  3171. GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = $8242;
  3172. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = $8243;
  3173. GL_DEBUG_CALLBACK_FUNCTION_ARB = $8244;
  3174. GL_DEBUG_CALLBACK_USER_PARAM_ARB = $8245;
  3175. GL_DEBUG_SOURCE_API_ARB = $8246;
  3176. GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = $8247;
  3177. GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = $8248;
  3178. GL_DEBUG_SOURCE_THIRD_PARTY_ARB = $8249;
  3179. GL_DEBUG_SOURCE_APPLICATION_ARB = $824A;
  3180. GL_DEBUG_SOURCE_OTHER_ARB = $824B;
  3181. GL_DEBUG_TYPE_ERROR_ARB = $824C;
  3182. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = $824D;
  3183. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = $824E;
  3184. GL_DEBUG_TYPE_PORTABILITY_ARB = $824F;
  3185. GL_DEBUG_TYPE_PERFORMANCE_ARB = $8250;
  3186. GL_DEBUG_TYPE_OTHER_ARB = $8251;
  3187. GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = $9143;
  3188. GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = $9144;
  3189. GL_DEBUG_LOGGED_MESSAGES_ARB = $9145;
  3190. GL_DEBUG_SEVERITY_HIGH_ARB = $9146;
  3191. GL_DEBUG_SEVERITY_MEDIUM_ARB = $9147;
  3192. GL_DEBUG_SEVERITY_LOW_ARB = $9148;
  3193. // GL_ARB_robustness
  3194. { reuse GL_NO_ERROR }
  3195. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = $00000004;
  3196. GL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  3197. GL_GUILTY_CONTEXT_RESET_ARB = $8253;
  3198. GL_INNOCENT_CONTEXT_RESET_ARB = $8254;
  3199. GL_UNKNOWN_CONTEXT_RESET_ARB = $8255;
  3200. GL_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  3201. GL_NO_RESET_NOTIFICATION_ARB = $8261;
  3202. // GL_ARB_compressed_texture_pixel_storage
  3203. GL_UNPACK_COMPRESSED_BLOCK_WIDTH = $09127;
  3204. GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = $09128;
  3205. GL_UNPACK_COMPRESSED_BLOCK_DEPTH = $09129;
  3206. GL_UNPACK_COMPRESSED_BLOCK_SIZE = $0912A;
  3207. GL_PACK_COMPRESSED_BLOCK_WIDTH = $0912B;
  3208. GL_PACK_COMPRESSED_BLOCK_HEIGHT = $0912C;
  3209. GL_PACK_COMPRESSED_BLOCK_DEPTH = $0912D;
  3210. GL_PACK_COMPRESSED_BLOCK_SIZE = $0912E;
  3211. // GL_ARB_internalformat_query
  3212. GL_NUM_SAMPLE_COUNTS = $09380;
  3213. // GL_ARB_map_buffer_alignment
  3214. GL_MIN_MAP_BUFFER_ALIGNMENT = $090BC;
  3215. // GL_ARB_shader_atomic_counters
  3216. GL_ATOMIC_COUNTER_BUFFER = $92C0;
  3217. GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1;
  3218. GL_ATOMIC_COUNTER_BUFFER_START = $92C2;
  3219. GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3;
  3220. GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = $92C4;
  3221. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = $92C5;
  3222. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = $92C6;
  3223. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = $92C7;
  3224. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = $92C8;
  3225. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = $92C9;
  3226. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = $92CA;
  3227. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = $92CB;
  3228. GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC;
  3229. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = $92CD;
  3230. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = $92CE;
  3231. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = $92CF;
  3232. GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0;
  3233. GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1;
  3234. GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2;
  3235. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = $92D3;
  3236. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = $92D4;
  3237. GL_MAX_GEOMETRY_ATOMIC_COUNTERS = $92D5;
  3238. GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6;
  3239. GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7;
  3240. GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8;
  3241. GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC;
  3242. GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9;
  3243. GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = $92DA;
  3244. GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB;
  3245. // GL_ARB_shader_image_load_store
  3246. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001;
  3247. GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002;
  3248. GL_UNIFORM_BARRIER_BIT = $00000004;
  3249. GL_TEXTURE_FETCH_BARRIER_BIT = $00000008;
  3250. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020;
  3251. GL_COMMAND_BARRIER_BIT = $00000040;
  3252. GL_PIXEL_BUFFER_BARRIER_BIT = $00000080;
  3253. GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100;
  3254. GL_BUFFER_UPDATE_BARRIER_BIT = $00000200;
  3255. GL_FRAMEBUFFER_BARRIER_BIT = $00000400;
  3256. GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800;
  3257. GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000;
  3258. GL_ALL_BARRIER_BITS = $FFFFFFFF;
  3259. GL_MAX_IMAGE_UNITS = $8F38;
  3260. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = $8F39;
  3261. GL_IMAGE_BINDING_NAME = $8F3A;
  3262. GL_IMAGE_BINDING_LEVEL = $8F3B;
  3263. GL_IMAGE_BINDING_LAYERED = $8F3C;
  3264. GL_IMAGE_BINDING_LAYER = $8F3D;
  3265. GL_IMAGE_BINDING_ACCESS = $8F3E;
  3266. GL_IMAGE_1D = $904C;
  3267. GL_IMAGE_2D = $904D;
  3268. GL_IMAGE_3D = $904E;
  3269. GL_IMAGE_2D_RECT = $904F;
  3270. GL_IMAGE_CUBE = $9050;
  3271. GL_IMAGE_BUFFER = $9051;
  3272. GL_IMAGE_1D_ARRAY = $9052;
  3273. GL_IMAGE_2D_ARRAY = $9053;
  3274. GL_IMAGE_CUBE_MAP_ARRAY = $9054;
  3275. GL_IMAGE_2D_MULTISAMPLE = $9055;
  3276. GL_IMAGE_2D_MULTISAMPLE_ARRAY = $9056;
  3277. GL_INT_IMAGE_1D = $9057;
  3278. GL_INT_IMAGE_2D = $9058;
  3279. GL_INT_IMAGE_3D = $9059;
  3280. GL_INT_IMAGE_2D_RECT = $905A;
  3281. GL_INT_IMAGE_CUBE = $905B;
  3282. GL_INT_IMAGE_BUFFER = $905C;
  3283. GL_INT_IMAGE_1D_ARRAY = $905D;
  3284. GL_INT_IMAGE_2D_ARRAY = $905E;
  3285. GL_INT_IMAGE_CUBE_MAP_ARRAY = $905F;
  3286. GL_INT_IMAGE_2D_MULTISAMPLE = $9060;
  3287. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $9061;
  3288. GL_UNSIGNED_INT_IMAGE_1D = $9062;
  3289. GL_UNSIGNED_INT_IMAGE_2D = $9063;
  3290. GL_UNSIGNED_INT_IMAGE_3D = $9064;
  3291. GL_UNSIGNED_INT_IMAGE_2D_RECT = $9065;
  3292. GL_UNSIGNED_INT_IMAGE_CUBE = $9066;
  3293. GL_UNSIGNED_INT_IMAGE_BUFFER = $9067;
  3294. GL_UNSIGNED_INT_IMAGE_1D_ARRAY = $9068;
  3295. GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069;
  3296. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = $906A;
  3297. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = $906B;
  3298. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $906C;
  3299. GL_MAX_IMAGE_SAMPLES = $906D;
  3300. GL_IMAGE_BINDING_FORMAT = $906E;
  3301. GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7;
  3302. GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8;
  3303. GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9;
  3304. GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA;
  3305. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = $90CB;
  3306. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = $90CC;
  3307. GL_MAX_GEOMETRY_IMAGE_UNIFORMS = $90CD;
  3308. GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE;
  3309. GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF;
  3310. // GL_ARB_texture_storage
  3311. GL_TEXTURE_IMMUTABLE_FORMAT = $912F;
  3312. // 4.3
  3313. // GL_KHR_texture_compression_astc_hdr
  3314. GL_COMPRESSED_RGBA_ASTC_4x4_KHR = $93B0;
  3315. GL_COMPRESSED_RGBA_ASTC_5x4_KHR = $93B1;
  3316. GL_COMPRESSED_RGBA_ASTC_5x5_KHR = $93B2;
  3317. GL_COMPRESSED_RGBA_ASTC_6x5_KHR = $93B3;
  3318. GL_COMPRESSED_RGBA_ASTC_6x6_KHR = $93B4;
  3319. GL_COMPRESSED_RGBA_ASTC_8x5_KHR = $93B5;
  3320. GL_COMPRESSED_RGBA_ASTC_8x6_KHR = $93B6;
  3321. GL_COMPRESSED_RGBA_ASTC_8x8_KHR = $93B7;
  3322. GL_COMPRESSED_RGBA_ASTC_105_KHR = $93B8;
  3323. GL_COMPRESSED_RGBA_ASTC_106_KHR = $93B9;
  3324. GL_COMPRESSED_RGBA_ASTC_108_KHR = $93BA;
  3325. GL_COMPRESSED_RGBA_ASTC_110_KHR = $93BB;
  3326. GL_COMPRESSED_RGBA_ASTC_12x10_KHR = $93BC;
  3327. GL_COMPRESSED_RGBA_ASTC_12x12_KHR = $93BD;
  3328. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = $93D0;
  3329. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = $93D1;
  3330. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = $93D2;
  3331. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = $93D3;
  3332. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = $93D4;
  3333. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = $93D5;
  3334. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = $93D6;
  3335. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = $93D7;
  3336. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = $93D8;
  3337. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = $93D9;
  3338. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = $93DA;
  3339. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = $93DB;
  3340. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = $93DC;
  3341. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = $93DD;
  3342. // (4.3) GL_KHR_debug
  3343. GL_DEBUG_OUTPUT_SYNCHRONOUS = $8242;
  3344. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = $8243;
  3345. GL_DEBUG_CALLBACK_FUNCTION = $8244;
  3346. GL_DEBUG_CALLBACK_USER_PARAM = $8245;
  3347. GL_DEBUG_SOURCE_API = $8246;
  3348. GL_DEBUG_SOURCE_WINDOW_SYSTEM = $8247;
  3349. GL_DEBUG_SOURCE_SHADER_COMPILER = $8248;
  3350. GL_DEBUG_SOURCE_THIRD_PARTY = $8249;
  3351. GL_DEBUG_SOURCE_APPLICATION = $824A;
  3352. GL_DEBUG_SOURCE_OTHER = $824B;
  3353. GL_DEBUG_TYPE_ERROR = $824C;
  3354. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = $824D;
  3355. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = $824E;
  3356. GL_DEBUG_TYPE_PORTABILITY = $824F;
  3357. GL_DEBUG_TYPE_PERFORMANCE = $8250;
  3358. GL_DEBUG_TYPE_OTHER = $8251;
  3359. GL_DEBUG_TYPE_MARKER = $8268;
  3360. GL_DEBUG_TYPE_PUSH_GROUP = $8269;
  3361. GL_DEBUG_TYPE_POP_GROUP = $826A;
  3362. GL_DEBUG_SEVERITY_NOTIFICATION = $826B;
  3363. GL_MAX_DEBUG_GROUP_STACK_DEPTH = $826C;
  3364. GL_DEBUG_GROUP_STACK_DEPTH = $826D;
  3365. GL_BUFFER = $82E0;
  3366. GL_SHADER = $82E1;
  3367. GL_PROGRAM = $82E2;
  3368. GL_QUERY = $82E3;
  3369. GL_PROGRAM_PIPELINE = $82E4;
  3370. GL_SAMPLER = $82E6;
  3371. GL_DISPLAY_LIST = $82E7;
  3372. GL_MAX_LABEL_LENGTH = $82E8;
  3373. GL_MAX_DEBUG_MESSAGE_LENGTH = $9143;
  3374. GL_MAX_DEBUG_LOGGED_MESSAGES = $9144;
  3375. GL_DEBUG_LOGGED_MESSAGES = $9145;
  3376. GL_DEBUG_SEVERITY_HIGH = $9146;
  3377. GL_DEBUG_SEVERITY_MEDIUM = $9147;
  3378. GL_DEBUG_SEVERITY_LOW = $9148;
  3379. GL_DEBUG_OUTPUT = $92E0;
  3380. GL_CONTEXT_FLAG_DEBUG_BIT = $00000002;
  3381. GL_COMPUTE_SHADER = $91B9;
  3382. GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB;
  3383. GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC;
  3384. GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD;
  3385. GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262;
  3386. GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263;
  3387. GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264;
  3388. GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265;
  3389. GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266;
  3390. GL_MAX_COMPUTE_LOCAL_INVOCATIONS = $90EB;
  3391. GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE;
  3392. GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF;
  3393. GL_COMPUTE_LOCAL_WORK_SIZE = $8267;
  3394. GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = $90EC;
  3395. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = $90ED;
  3396. GL_DISPATCH_INDIRECT_BUFFER = $90EE;
  3397. GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF;
  3398. GL_COMPUTE_SHADER_BIT = $00000020;
  3399. GL_COMPRESSED_RGB8_ETC2 = $9274;
  3400. GL_COMPRESSED_SRGB8_ETC2 = $9275;
  3401. GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276;
  3402. GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277;
  3403. GL_COMPRESSED_RGBA8_ETC2_EAC = $9278;
  3404. GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279;
  3405. GL_COMPRESSED_R11_EAC = $9270;
  3406. GL_COMPRESSED_SIGNED_R11_EAC = $9271;
  3407. GL_COMPRESSED_RG11_EAC = $9272;
  3408. GL_COMPRESSED_SIGNED_RG11_EAC = $9273;
  3409. GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69;
  3410. GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A;
  3411. GL_MAX_ELEMENT_INDEX = $8D6B;
  3412. GL_MAX_UNIFORM_LOCATIONS = $826E;
  3413. GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310;
  3414. GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311;
  3415. GL_FRAMEBUFFER_DEFAULT_LAYERS = $9312;
  3416. GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313;
  3417. GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314;
  3418. GL_MAX_FRAMEBUFFER_WIDTH = $9315;
  3419. GL_MAX_FRAMEBUFFER_HEIGHT = $9316;
  3420. GL_MAX_FRAMEBUFFER_LAYERS = $9317;
  3421. GL_MAX_FRAMEBUFFER_SAMPLES = $9318;
  3422. GL_INTERNALFORMAT_SUPPORTED = $826F;
  3423. GL_INTERNALFORMAT_PREFERRED = $8270;
  3424. GL_INTERNALFORMAT_RED_SIZE = $8271;
  3425. GL_INTERNALFORMAT_GREEN_SIZE = $8272;
  3426. GL_INTERNALFORMAT_BLUE_SIZE = $8273;
  3427. GL_INTERNALFORMAT_ALPHA_SIZE = $8274;
  3428. GL_INTERNALFORMAT_DEPTH_SIZE = $8275;
  3429. GL_INTERNALFORMAT_STENCIL_SIZE = $8276;
  3430. GL_INTERNALFORMAT_SHARED_SIZE = $8277;
  3431. GL_INTERNALFORMAT_RED_TYPE = $8278;
  3432. GL_INTERNALFORMAT_GREEN_TYPE = $8279;
  3433. GL_INTERNALFORMAT_BLUE_TYPE = $827A;
  3434. GL_INTERNALFORMAT_ALPHA_TYPE = $827B;
  3435. GL_INTERNALFORMAT_DEPTH_TYPE = $827C;
  3436. GL_INTERNALFORMAT_STENCIL_TYPE = $827D;
  3437. GL_MAX_WIDTH = $827E;
  3438. GL_MAX_HEIGHT = $827F;
  3439. GL_MAX_DEPTH = $8280;
  3440. GL_MAX_LAYERS = $8281;
  3441. GL_MAX_COMBINED_DIMENSIONS = $8282;
  3442. GL_COLOR_COMPONENTS = $8283;
  3443. GL_DEPTH_COMPONENTS = $8284;
  3444. GL_STENCIL_COMPONENTS = $8285;
  3445. GL_COLOR_RENDERABLE = $8286;
  3446. GL_DEPTH_RENDERABLE = $8287;
  3447. GL_STENCIL_RENDERABLE = $8288;
  3448. GL_FRAMEBUFFER_RENDERABLE = $8289;
  3449. GL_FRAMEBUFFER_RENDERABLE_LAYERED = $828A;
  3450. GL_FRAMEBUFFER_BLEND = $828B;
  3451. GL_READ_PIXELS = $828C;
  3452. GL_READ_PIXELS_FORMAT = $828D;
  3453. GL_READ_PIXELS_TYPE = $828E;
  3454. GL_TEXTURE_IMAGE_FORMAT = $828F;
  3455. GL_TEXTURE_IMAGE_TYPE = $8290;
  3456. GL_GET_TEXTURE_IMAGE_FORMAT = $8291;
  3457. GL_GET_TEXTURE_IMAGE_TYPE = $8292;
  3458. GL_MIPMAP = $8293;
  3459. GL_MANUAL_GENERATE_MIPMAP = $8294;
  3460. GL_AUTO_GENERATE_MIPMAP = $8295;
  3461. GL_COLOR_ENCODING = $8296;
  3462. GL_SRGB_READ = $8297;
  3463. GL_SRGB_WRITE = $8298;
  3464. GL_SRGB_DECODE_ARB = $8299;
  3465. GL_FILTER = $829A;
  3466. GL_VERTEX_TEXTURE = $829B;
  3467. GL_TESS_CONTROL_TEXTURE = $829C;
  3468. GL_TESS_EVALUATION_TEXTURE = $829D;
  3469. GL_GEOMETRY_TEXTURE = $829E;
  3470. GL_FRAGMENT_TEXTURE = $829F;
  3471. GL_COMPUTE_TEXTURE = $82A0;
  3472. GL_TEXTURE_SHADOW = $82A1;
  3473. GL_TEXTURE_GATHER = $82A2;
  3474. GL_TEXTURE_GATHER_SHADOW = $82A3;
  3475. GL_SHADER_IMAGE_LOAD = $82A4;
  3476. GL_SHADER_IMAGE_STORE = $82A5;
  3477. GL_SHADER_IMAGE_ATOMIC = $82A6;
  3478. GL_IMAGE_TEXEL_SIZE = $82A7;
  3479. GL_IMAGE_COMPATIBILITY_CLASS = $82A8;
  3480. GL_IMAGE_PIXEL_FORMAT = $82A9;
  3481. GL_IMAGE_PIXEL_TYPE = $82AA;
  3482. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = $82AC;
  3483. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = $82AD;
  3484. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = $82AE;
  3485. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = $82AF;
  3486. GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = $82B1;
  3487. GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = $82B2;
  3488. GL_TEXTURE_COMPRESSED_BLOCK_SIZE = $82B3;
  3489. GL_CLEAR_BUFFER = $82B4;
  3490. GL_TEXTURE_VIEW = $82B5;
  3491. GL_VIEW_COMPATIBILITY_CLASS = $82B6;
  3492. GL_FULL_SUPPORT = $82B7;
  3493. GL_CAVEAT_SUPPORT = $82B8;
  3494. GL_IMAGE_CLASS_4_X_32 = $82B9;
  3495. GL_IMAGE_CLASS_2_X_32 = $82BA;
  3496. GL_IMAGE_CLASS_1_X_32 = $82BB;
  3497. GL_IMAGE_CLASS_4_X_16 = $82BC;
  3498. GL_IMAGE_CLASS_2_X_16 = $82BD;
  3499. GL_IMAGE_CLASS_1_X_16 = $82BE;
  3500. GL_IMAGE_CLASS_4_X_8 = $82BF;
  3501. GL_IMAGE_CLASS_2_X_8 = $82C0;
  3502. GL_IMAGE_CLASS_1_X_8 = $82C1;
  3503. GL_IMAGE_CLASS_11_11_10 = $82C2;
  3504. GL_IMAGE_CLASS_10_10_10_2 = $82C3;
  3505. GL_VIEW_CLASS_128_BITS = $82C4;
  3506. GL_VIEW_CLASS_96_BITS = $82C5;
  3507. GL_VIEW_CLASS_64_BITS = $82C6;
  3508. GL_VIEW_CLASS_48_BITS = $82C7;
  3509. GL_VIEW_CLASS_32_BITS = $82C8;
  3510. GL_VIEW_CLASS_24_BITS = $82C9;
  3511. GL_VIEW_CLASS_16_BITS = $82CA;
  3512. GL_VIEW_CLASS_8_BITS = $82CB;
  3513. GL_VIEW_CLASS_S3TC_DXT1_RGB = $82CC;
  3514. GL_VIEW_CLASS_S3TC_DXT1_RGBA = $82CD;
  3515. GL_VIEW_CLASS_S3TC_DXT3_RGBA = $82CE;
  3516. GL_VIEW_CLASS_S3TC_DXT5_RGBA = $82CF;
  3517. GL_VIEW_CLASS_RGTC1_RED = $82D0;
  3518. GL_VIEW_CLASS_RGTC2_RG = $82D1;
  3519. GL_VIEW_CLASS_BPTC_UNORM = $82D2;
  3520. GL_VIEW_CLASS_BPTC_FLOAT = $82D3;
  3521. GL_UNIFORM = $92E1;
  3522. GL_UNIFORM_BLOCK = $92E2;
  3523. GL_PROGRAM_INPUT = $92E3;
  3524. GL_PROGRAM_OUTPUT = $92E4;
  3525. GL_BUFFER_VARIABLE = $92E5;
  3526. GL_SHADER_STORAGE_BLOCK = $92E6;
  3527. GL_VERTEX_SUBROUTINE = $92E8;
  3528. GL_TESS_CONTROL_SUBROUTINE = $92E9;
  3529. GL_TESS_EVALUATION_SUBROUTINE = $92EA;
  3530. GL_GEOMETRY_SUBROUTINE = $92EB;
  3531. GL_FRAGMENT_SUBROUTINE = $92EC;
  3532. GL_COMPUTE_SUBROUTINE = $92ED;
  3533. GL_VERTEX_SUBROUTINE_UNIFORM = $92EE;
  3534. GL_TESS_CONTROL_SUBROUTINE_UNIFORM = $92EF;
  3535. GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = $92F0;
  3536. GL_GEOMETRY_SUBROUTINE_UNIFORM = $92F1;
  3537. GL_FRAGMENT_SUBROUTINE_UNIFORM = $92F2;
  3538. GL_COMPUTE_SUBROUTINE_UNIFORM = $92F3;
  3539. GL_TRANSFORM_FEEDBACK_VARYING = $92F4;
  3540. GL_ACTIVE_RESOURCES = $92F5;
  3541. GL_MAX_NAME_LENGTH = $92F6;
  3542. GL_MAX_NUM_ACTIVE_VARIABLES = $92F7;
  3543. GL_MAX_NUM_COMPATIBLE_SUBROUTINES = $92F8;
  3544. GL_NAME_LENGTH = $92F9;
  3545. GL_TYPE = $92FA;
  3546. GL_ARRAY_SIZE = $92FB;
  3547. GL_OFFSET = $92FC;
  3548. GL_BLOCK_INDEX = $92FD;
  3549. GL_ARRAY_STRIDE = $92FE;
  3550. GL_MATRIX_STRIDE = $92FF;
  3551. GL_IS_ROW_MAJOR = $9300;
  3552. GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301;
  3553. GL_BUFFER_BINDING = $9302;
  3554. GL_BUFFER_DATA_SIZE = $9303;
  3555. GL_NUM_ACTIVE_VARIABLES = $9304;
  3556. GL_ACTIVE_VARIABLES = $9305;
  3557. GL_REFERENCED_BY_VERTEX_SHADER = $9306;
  3558. GL_REFERENCED_BY_TESS_CONTROL_SHADER = $9307;
  3559. GL_REFERENCED_BY_TESS_EVALUATION_SHADER = $9308;
  3560. GL_REFERENCED_BY_GEOMETRY_SHADER = $9309;
  3561. GL_REFERENCED_BY_FRAGMENT_SHADER = $930A;
  3562. GL_REFERENCED_BY_COMPUTE_SHADER = $930B;
  3563. GL_TOP_LEVEL_ARRAY_SIZE = $930C;
  3564. GL_TOP_LEVEL_ARRAY_STRIDE = $930D;
  3565. GL_LOCATION = $930E;
  3566. GL_LOCATION_INDEX = $930F;
  3567. GL_IS_PER_PATCH = $92E7;
  3568. GL_SHADER_STORAGE_BUFFER = $90D2;
  3569. GL_SHADER_STORAGE_BUFFER_BINDING = $90D3;
  3570. GL_SHADER_STORAGE_BUFFER_START = $90D4;
  3571. GL_SHADER_STORAGE_BUFFER_SIZE = $90D5;
  3572. GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6;
  3573. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = $90D7;
  3574. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = $90D8;
  3575. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = $90D9;
  3576. GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA;
  3577. GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB;
  3578. GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC;
  3579. GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD;
  3580. GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE;
  3581. GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF;
  3582. GL_SHADER_STORAGE_BARRIER_BIT = $2000;
  3583. GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS;
  3584. GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA;
  3585. GL_TEXTURE_BUFFER_OFFSET = $919D;
  3586. GL_TEXTURE_BUFFER_SIZE = $919E;
  3587. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = $919F;
  3588. GL_TEXTURE_VIEW_MIN_LEVEL = $82DB;
  3589. GL_TEXTURE_VIEW_NUM_LEVELS = $82DC;
  3590. GL_TEXTURE_VIEW_MIN_LAYER = $82DD;
  3591. GL_TEXTURE_VIEW_NUM_LAYERS = $82DE;
  3592. GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
  3593. GL_VERTEX_ATTRIB_BINDING = $82D4;
  3594. GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5;
  3595. GL_VERTEX_BINDING_DIVISOR = $82D6;
  3596. GL_VERTEX_BINDING_OFFSET = $82D7;
  3597. GL_VERTEX_BINDING_STRIDE = $82D8;
  3598. GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9;
  3599. GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA;
  3600. // GL 4.4
  3601. GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5;
  3602. GL_MAP_PERSISTENT_BIT = $0040;
  3603. GL_MAP_COHERENT_BIT = $0080;
  3604. GL_DYNAMIC_STORAGE_BIT = $0100;
  3605. GL_CLIENT_STORAGE_BIT = $0200;
  3606. GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = $00004000;
  3607. GL_BUFFER_IMMUTABLE_STORAGE = $821F;
  3608. GL_BUFFER_STORAGE_FLAGS = $8220;
  3609. GL_CLEAR_TEXTURE = $9365;
  3610. GL_LOCATION_COMPONENT = $934A;
  3611. GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = $934B;
  3612. GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = $934C;
  3613. GL_QUERY_BUFFER = $9192;
  3614. GL_QUERY_BUFFER_BARRIER_BIT = $00008000;
  3615. GL_QUERY_BUFFER_BINDING = $9193;
  3616. GL_QUERY_RESULT_NO_WAIT = $9194;
  3617. GL_MIRROR_CLAMP_TO_EDGE = $8743;
  3618. // GL 4.5
  3619. GL_CONTEXT_LOST = $0507;
  3620. GL_NEGATIVE_ONE_TO_ONE = $935E;
  3621. GL_ZERO_TO_ONE = $935F;
  3622. GL_CLIP_ORIGIN = $935C;
  3623. GL_CLIP_DEPTH_MODE = $935D;
  3624. GL_QUERY_WAIT_INVERTED = $8E17;
  3625. GL_QUERY_NO_WAIT_INVERTED = $8E18;
  3626. GL_QUERY_BY_REGION_WAIT_INVERTED = $8E19;
  3627. GL_QUERY_BY_REGION_NO_WAIT_INVERTED = $8E1A;
  3628. GL_MAX_CULL_DISTANCES = $82F9;
  3629. GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = $82FA;
  3630. GL_TEXTURE_TARGET = $1006;
  3631. GL_QUERY_TARGET = $82EA;
  3632. GL_TEXTURE_BINDING = $82EB;
  3633. GL_GUILTY_CONTEXT_RESET = $8253;
  3634. GL_INNOCENT_CONTEXT_RESET = $8254;
  3635. GL_UNKNOWN_CONTEXT_RESET = $8255;
  3636. GL_RESET_NOTIFICATION_STRATEGY = $8256;
  3637. GL_LOSE_CONTEXT_ON_RESET = $8252;
  3638. GL_NO_RESET_NOTIFICATION = $8261;
  3639. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = $00000004;
  3640. GL_CONTEXT_RELEASE_BEHAVIOR = $82FB;
  3641. GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = $82FC;
  3642. // GL_ATI_draw_buffers
  3643. GL_MAX_DRAW_BUFFERS_ATI = $8824;
  3644. GL_DRAW_BUFFER0_ATI = $8825;
  3645. GL_DRAW_BUFFER1_ATI = $8826;
  3646. GL_DRAW_BUFFER2_ATI = $8827;
  3647. GL_DRAW_BUFFER3_ATI = $8828;
  3648. GL_DRAW_BUFFER4_ATI = $8829;
  3649. GL_DRAW_BUFFER5_ATI = $882A;
  3650. GL_DRAW_BUFFER6_ATI = $882B;
  3651. GL_DRAW_BUFFER7_ATI = $882C;
  3652. GL_DRAW_BUFFER8_ATI = $882D;
  3653. GL_DRAW_BUFFER9_ATI = $882E;
  3654. GL_DRAW_BUFFER10_ATI = $882F;
  3655. GL_DRAW_BUFFER11_ATI = $8830;
  3656. GL_DRAW_BUFFER12_ATI = $8831;
  3657. GL_DRAW_BUFFER13_ATI = $8832;
  3658. GL_DRAW_BUFFER14_ATI = $8833;
  3659. GL_DRAW_BUFFER15_ATI = $8834;
  3660. // GL_ATI_element_array
  3661. GL_ELEMENT_ARRAY_ATI = $8768;
  3662. GL_ELEMENT_ARRAY_TYPE_ATI = $8769;
  3663. GL_ELEMENT_ARRAY_POINTER_ATI = $876A;
  3664. // GL_ATI_envmap_bumpmap
  3665. GL_BUMP_ROT_MATRIX_ATI = $8775;
  3666. GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776;
  3667. GL_BUMP_NUM_TEX_UNITS_ATI = $8777;
  3668. GL_BUMP_TEX_UNITS_ATI = $8778;
  3669. GL_DUDV_ATI = $8779;
  3670. GL_DU8DV8_ATI = $877A;
  3671. GL_BUMP_ENVMAP_ATI = $877B;
  3672. GL_BUMP_TARGET_ATI = $877C;
  3673. // GL_ATI_fragment_shader
  3674. GL_FRAGMENT_SHADER_ATI = $8920;
  3675. GL_REG_0_ATI = $8921;
  3676. GL_REG_1_ATI = $8922;
  3677. GL_REG_2_ATI = $8923;
  3678. GL_REG_3_ATI = $8924;
  3679. GL_REG_4_ATI = $8925;
  3680. GL_REG_5_ATI = $8926;
  3681. GL_REG_6_ATI = $8927;
  3682. GL_REG_7_ATI = $8928;
  3683. GL_REG_8_ATI = $8929;
  3684. GL_REG_9_ATI = $892A;
  3685. GL_REG_10_ATI = $892B;
  3686. GL_REG_11_ATI = $892C;
  3687. GL_REG_12_ATI = $892D;
  3688. GL_REG_13_ATI = $892E;
  3689. GL_REG_14_ATI = $892F;
  3690. GL_REG_15_ATI = $8930;
  3691. GL_REG_16_ATI = $8931;
  3692. GL_REG_17_ATI = $8932;
  3693. GL_REG_18_ATI = $8933;
  3694. GL_REG_19_ATI = $8934;
  3695. GL_REG_20_ATI = $8935;
  3696. GL_REG_21_ATI = $8936;
  3697. GL_REG_22_ATI = $8937;
  3698. GL_REG_23_ATI = $8938;
  3699. GL_REG_24_ATI = $8939;
  3700. GL_REG_25_ATI = $893A;
  3701. GL_REG_26_ATI = $893B;
  3702. GL_REG_27_ATI = $893C;
  3703. GL_REG_28_ATI = $893D;
  3704. GL_REG_29_ATI = $893E;
  3705. GL_REG_30_ATI = $893F;
  3706. GL_REG_31_ATI = $8940;
  3707. GL_CON_0_ATI = $8941;
  3708. GL_CON_1_ATI = $8942;
  3709. GL_CON_2_ATI = $8943;
  3710. GL_CON_3_ATI = $8944;
  3711. GL_CON_4_ATI = $8945;
  3712. GL_CON_5_ATI = $8946;
  3713. GL_CON_6_ATI = $8947;
  3714. GL_CON_7_ATI = $8948;
  3715. GL_CON_8_ATI = $8949;
  3716. GL_CON_9_ATI = $894A;
  3717. GL_CON_10_ATI = $894B;
  3718. GL_CON_11_ATI = $894C;
  3719. GL_CON_12_ATI = $894D;
  3720. GL_CON_13_ATI = $894E;
  3721. GL_CON_14_ATI = $894F;
  3722. GL_CON_15_ATI = $8950;
  3723. GL_CON_16_ATI = $8951;
  3724. GL_CON_17_ATI = $8952;
  3725. GL_CON_18_ATI = $8953;
  3726. GL_CON_19_ATI = $8954;
  3727. GL_CON_20_ATI = $8955;
  3728. GL_CON_21_ATI = $8956;
  3729. GL_CON_22_ATI = $8957;
  3730. GL_CON_23_ATI = $8958;
  3731. GL_CON_24_ATI = $8959;
  3732. GL_CON_25_ATI = $895A;
  3733. GL_CON_26_ATI = $895B;
  3734. GL_CON_27_ATI = $895C;
  3735. GL_CON_28_ATI = $895D;
  3736. GL_CON_29_ATI = $895E;
  3737. GL_CON_30_ATI = $895F;
  3738. GL_CON_31_ATI = $8960;
  3739. GL_MOV_ATI = $8961;
  3740. GL_ADD_ATI = $8963;
  3741. GL_MUL_ATI = $8964;
  3742. GL_SUB_ATI = $8965;
  3743. GL_DOT3_ATI = $8966;
  3744. GL_DOT4_ATI = $8967;
  3745. GL_MAD_ATI = $8968;
  3746. GL_LERP_ATI = $8969;
  3747. GL_CND_ATI = $896A;
  3748. GL_CND0_ATI = $896B;
  3749. GL_DOT2_ADD_ATI = $896C;
  3750. GL_SECONDARY_INTERPOLATOR_ATI = $896D;
  3751. GL_NUM_FRAGMENT_REGISTERS_ATI = $896E;
  3752. GL_NUM_FRAGMENT_CONSTANTS_ATI = $896F;
  3753. GL_NUM_PASSES_ATI = $8970;
  3754. GL_NUM_INSTRUCTIONS_PER_PASS_ATI = $8971;
  3755. GL_NUM_INSTRUCTIONS_TOTAL_ATI = $8972;
  3756. GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = $8973;
  3757. GL_NUM_LOOPBACK_COMPONENTS_ATI = $8974;
  3758. GL_COLOR_ALPHA_PAIRING_ATI = $8975;
  3759. GL_SWIZZLE_STR_ATI = $8976;
  3760. GL_SWIZZLE_STQ_ATI = $8977;
  3761. GL_SWIZZLE_STR_DR_ATI = $8978;
  3762. GL_SWIZZLE_STQ_DQ_ATI = $8979;
  3763. GL_SWIZZLE_STRQ_ATI = $897A;
  3764. GL_SWIZZLE_STRQ_DQ_ATI = $897B;
  3765. GL_RED_BIT_ATI = $00000001;
  3766. GL_GREEN_BIT_ATI = $00000002;
  3767. GL_BLUE_BIT_ATI = $00000004;
  3768. GL_2X_BIT_ATI = $00000001;
  3769. GL_4X_BIT_ATI = $00000002;
  3770. GL_8X_BIT_ATI = $00000004;
  3771. GL_HALF_BIT_ATI = $00000008;
  3772. GL_QUARTER_BIT_ATI = $00000010;
  3773. GL_EIGHTH_BIT_ATI = $00000020;
  3774. GL_SATURATE_BIT_ATI = $00000040;
  3775. GL_COMP_BIT_ATI = $00000002;
  3776. GL_NEGATE_BIT_ATI = $00000004;
  3777. GL_BIAS_BIT_ATI = $00000008;
  3778. // GL_ATI_pn_triangles
  3779. GL_PN_TRIANGLES_ATI = $87F0;
  3780. GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1;
  3781. GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2;
  3782. GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3;
  3783. GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4;
  3784. GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5;
  3785. GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6;
  3786. GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7;
  3787. GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8;
  3788. // GL_ATI_separate_stencil
  3789. GL_STENCIL_BACK_FUNC_ATI = $8800;
  3790. GL_STENCIL_BACK_FAIL_ATI = $8801;
  3791. GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = $8802;
  3792. GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = $8803;
  3793. // GL_ATI_text_fragment_shader
  3794. GL_TEXT_FRAGMENT_SHADER_ATI = $8200;
  3795. // GL_ATI_texture_env_combine3
  3796. GL_MODULATE_ADD_ATI = $8744;
  3797. GL_MODULATE_SIGNED_ADD_ATI = $8745;
  3798. GL_MODULATE_SUBTRACT_ATI = $8746;
  3799. // GL_ATI_texture_float
  3800. GL_RGBA_FLOAT32_ATI = $8814;
  3801. GL_RGB_FLOAT32_ATI = $8815;
  3802. GL_ALPHA_FLOAT32_ATI = $8816;
  3803. GL_INTENSITY_FLOAT32_ATI = $8817;
  3804. GL_LUMINANCE_FLOAT32_ATI = $8818;
  3805. GL_LUMINANCE_ALPHA_FLOAT32_ATI = $8819;
  3806. GL_RGBA_FLOAT16_ATI = $881A;
  3807. GL_RGB_FLOAT16_ATI = $881B;
  3808. GL_ALPHA_FLOAT16_ATI = $881C;
  3809. GL_INTENSITY_FLOAT16_ATI = $881D;
  3810. GL_LUMINANCE_FLOAT16_ATI = $881E;
  3811. GL_LUMINANCE_ALPHA_FLOAT16_ATI = $881F;
  3812. // GL_ATI_texture_mirror_once
  3813. GL_MIRROR_CLAMP_ATI = $8742;
  3814. GL_MIRROR_CLAMP_TO_EDGE_ATI = $8743;
  3815. // GL_ATI_vertex_array_object
  3816. GL_STATIC_ATI = $8760;
  3817. GL_DYNAMIC_ATI = $8761;
  3818. GL_PRESERVE_ATI = $8762;
  3819. GL_DISCARD_ATI = $8763;
  3820. GL_OBJECT_BUFFER_SIZE_ATI = $8764;
  3821. GL_OBJECT_BUFFER_USAGE_ATI = $8765;
  3822. GL_ARRAY_OBJECT_BUFFER_ATI = $8766;
  3823. GL_ARRAY_OBJECT_OFFSET_ATI = $8767;
  3824. // GL_ATI_vertex_streams
  3825. GL_MAX_VERTEX_STREAMS_ATI = $876B;
  3826. GL_VERTEX_STREAM0_ATI = $876C;
  3827. GL_VERTEX_STREAM1_ATI = $876D;
  3828. GL_VERTEX_STREAM2_ATI = $876E;
  3829. GL_VERTEX_STREAM3_ATI = $876F;
  3830. GL_VERTEX_STREAM4_ATI = $8770;
  3831. GL_VERTEX_STREAM5_ATI = $8771;
  3832. GL_VERTEX_STREAM6_ATI = $8772;
  3833. GL_VERTEX_STREAM7_ATI = $8773;
  3834. GL_VERTEX_SOURCE_ATI = $8774;
  3835. // GL_ATI_meminfo
  3836. GL_VBO_FREE_MEMORY_ATI = $87FB;
  3837. GL_TEXTURE_FREE_MEMORY_ATI = $87FC;
  3838. GL_RENDERBUFFER_FREE_MEMORY_ATI = $87FD;
  3839. // GL_AMD_performance_monitor
  3840. GL_COUNTER_TYPE_AMD = $8BC0;
  3841. GL_COUNTER_RANGE_AMD = $8BC1;
  3842. GL_UNSIGNED_INT64_AMD = $8BC2;
  3843. GL_PERCENTAGE_AMD = $8BC3;
  3844. GL_PERFMON_RESULT_AVAILABLE_AMD = $8BC4;
  3845. GL_PERFMON_RESULT_SIZE_AMD = $8BC5;
  3846. GL_PERFMON_RESULT_AMD = $8BC6;
  3847. // GL_AMD_vertex_shader_tesselator
  3848. GL_SAMPLER_BUFFER_AMD = $9001;
  3849. GL_INT_SAMPLER_BUFFER_AMD = $9002;
  3850. GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = $9003;
  3851. GL_TESSELLATION_MODE_AMD = $9004;
  3852. GL_TESSELLATION_FACTOR_AMD = $9005;
  3853. GL_DISCRETE_AMD = $9006;
  3854. GL_CONTINUOUS_AMD = $9007;
  3855. // GL_AMD_seamless_cubemap_per_texture
  3856. { reuse GL_TEXTURE_CUBE_MAP_SEAMLESS }
  3857. // GL_AMD_name_gen_delete
  3858. GL_DATA_BUFFER_AMD = $9151;
  3859. GL_PERFORMANCE_MONITOR_AMD = $9152;
  3860. GL_QUERY_OBJECT_AMD = $9153;
  3861. GL_VERTEX_ARRAY_OBJECT_AMD = $9154;
  3862. GL_SAMPLER_OBJECT_AMD = $9155;
  3863. // GL_AMD_debug_output
  3864. GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = $9144;
  3865. GL_DEBUG_LOGGED_MESSAGES_AMD = $9145;
  3866. GL_DEBUG_SEVERITY_HIGH_AMD = $9146;
  3867. GL_DEBUG_SEVERITY_MEDIUM_AMD = $9147;
  3868. GL_DEBUG_SEVERITY_LOW_AMD = $9148;
  3869. GL_DEBUG_CATEGORY_API_ERROR_AMD = $9149;
  3870. GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = $914A;
  3871. GL_DEBUG_CATEGORY_DEPRECATION_AMD = $914B;
  3872. GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = $914C;
  3873. GL_DEBUG_CATEGORY_PERFORMANCE_AMD = $914D;
  3874. GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = $914E;
  3875. GL_DEBUG_CATEGORY_APPLICATION_AMD = $914F;
  3876. GL_DEBUG_CATEGORY_OTHER_AMD = $9150;
  3877. // GL_AMD_depth_clamp_separate
  3878. GL_DEPTH_CLAMP_NEAR_AMD = $901E;
  3879. GL_DEPTH_CLAMP_FAR_AMD = $901F;
  3880. // GL_EXT_422_pixels
  3881. GL_422_EXT = $80CC;
  3882. GL_422_REV_EXT = $80CD;
  3883. GL_422_AVERAGE_EXT = $80CE;
  3884. GL_422_REV_AVERAGE_EXT = $80CF;
  3885. // GL_EXT_abgr
  3886. GL_ABGR_EXT = $8000;
  3887. // GL_EXT_bgra
  3888. GL_BGR_EXT = $80E0;
  3889. GL_BGRA_EXT = $80E1;
  3890. // GL_EXT_blend_color
  3891. GL_CONSTANT_COLOR_EXT = $8001;
  3892. GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
  3893. GL_CONSTANT_ALPHA_EXT = $8003;
  3894. GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
  3895. GL_BLEND_COLOR_EXT = $8005;
  3896. // GL_EXT_blend_func_separate
  3897. GL_BLEND_DST_RGB_EXT = $80C8;
  3898. GL_BLEND_SRC_RGB_EXT = $80C9;
  3899. GL_BLEND_DST_ALPHA_EXT = $80CA;
  3900. GL_BLEND_SRC_ALPHA_EXT = $80CB;
  3901. // GL_EXT_blend_minmax
  3902. GL_FUNC_ADD_EXT = $8006;
  3903. GL_MIN_EXT = $8007;
  3904. GL_MAX_EXT = $8008;
  3905. GL_BLEND_EQUATION_EXT = $8009;
  3906. // GL_EXT_blend_subtract
  3907. GL_FUNC_SUBTRACT_EXT = $800A;
  3908. GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
  3909. // GL_EXT_clip_volume_hint
  3910. GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
  3911. // GL_EXT_cmyka
  3912. GL_CMYK_EXT = $800C;
  3913. GL_CMYKA_EXT = $800D;
  3914. GL_PACK_CMYK_HINT_EXT = $800E;
  3915. GL_UNPACK_CMYK_HINT_EXT = $800F;
  3916. // GL_EXT_compiled_vertex_array
  3917. GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
  3918. GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
  3919. // GL_EXT_convolution
  3920. GL_CONVOLUTION_1D_EXT = $8010;
  3921. GL_CONVOLUTION_2D_EXT = $8011;
  3922. GL_SEPARABLE_2D_EXT = $8012;
  3923. GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
  3924. GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
  3925. GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
  3926. GL_REDUCE_EXT = $8016;
  3927. GL_CONVOLUTION_FORMAT_EXT = $8017;
  3928. GL_CONVOLUTION_WIDTH_EXT = $8018;
  3929. GL_CONVOLUTION_HEIGHT_EXT = $8019;
  3930. GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
  3931. GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
  3932. GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
  3933. GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
  3934. GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
  3935. GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
  3936. GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
  3937. GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
  3938. GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
  3939. GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
  3940. // GL_EXT_coordinate_frame
  3941. GL_TANGENT_ARRAY_EXT = $8439;
  3942. GL_BINORMAL_ARRAY_EXT = $843A;
  3943. GL_CURRENT_TANGENT_EXT = $843B;
  3944. GL_CURRENT_BINORMAL_EXT = $843C;
  3945. GL_TANGENT_ARRAY_TYPE_EXT = $843E;
  3946. GL_TANGENT_ARRAY_STRIDE_EXT = $843F;
  3947. GL_BINORMAL_ARRAY_TYPE_EXT = $8440;
  3948. GL_BINORMAL_ARRAY_STRIDE_EXT = $8441;
  3949. GL_TANGENT_ARRAY_POINTER_EXT = $8442;
  3950. GL_BINORMAL_ARRAY_POINTER_EXT = $8443;
  3951. GL_MAP1_TANGENT_EXT = $8444;
  3952. GL_MAP2_TANGENT_EXT = $8445;
  3953. GL_MAP1_BINORMAL_EXT = $8446;
  3954. GL_MAP2_BINORMAL_EXT = $8447;
  3955. // GL_EXT_cull_vertex
  3956. GL_CULL_VERTEX_EXT = $81AA;
  3957. GL_CULL_VERTEX_EYE_POSITION_EXT = $81AB;
  3958. GL_CULL_VERTEX_OBJECT_POSITION_EXT = $81AC;
  3959. // GL_EXT_draw_range_elements
  3960. GL_MAX_ELEMENTS_VERTICES_EXT = $80E8;
  3961. GL_MAX_ELEMENTS_INDICES_EXT = $80E9;
  3962. // GL_EXT_fog_coord
  3963. GL_FOG_COORDINATE_SOURCE_EXT = $8450;
  3964. GL_FOG_COORDINATE_EXT = $8451;
  3965. GL_FRAGMENT_DEPTH_EXT = $8452;
  3966. GL_CURRENT_FOG_COORDINATE_EXT = $8453;
  3967. GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
  3968. GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
  3969. GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
  3970. GL_FOG_COORDINATE_ARRAY_EXT = $8457;
  3971. // GL_EXT_framebuffer_object
  3972. GL_FRAMEBUFFER_EXT = $8D40;
  3973. GL_RENDERBUFFER_EXT = $8D41;
  3974. GL_STENCIL_INDEX_EXT = $8D45;
  3975. GL_STENCIL_INDEX1_EXT = $8D46;
  3976. GL_STENCIL_INDEX4_EXT = $8D47;
  3977. GL_STENCIL_INDEX8_EXT = $8D48;
  3978. GL_STENCIL_INDEX16_EXT = $8D49;
  3979. GL_RENDERBUFFER_WIDTH_EXT = $8D42;
  3980. GL_RENDERBUFFER_HEIGHT_EXT = $8D43;
  3981. GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = $8D44;
  3982. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = $8CD0;
  3983. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = $8CD1;
  3984. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = $8CD2;
  3985. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = $8CD3;
  3986. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = $8CD4;
  3987. GL_COLOR_ATTACHMENT0_EXT = $8CE0;
  3988. GL_COLOR_ATTACHMENT1_EXT = $8CE1;
  3989. GL_COLOR_ATTACHMENT2_EXT = $8CE2;
  3990. GL_COLOR_ATTACHMENT3_EXT = $8CE3;
  3991. GL_COLOR_ATTACHMENT4_EXT = $8CE4;
  3992. GL_COLOR_ATTACHMENT5_EXT = $8CE5;
  3993. GL_COLOR_ATTACHMENT6_EXT = $8CE6;
  3994. GL_COLOR_ATTACHMENT7_EXT = $8CE7;
  3995. GL_COLOR_ATTACHMENT8_EXT = $8CE8;
  3996. GL_COLOR_ATTACHMENT9_EXT = $8CE9;
  3997. GL_COLOR_ATTACHMENT10_EXT = $8CEA;
  3998. GL_COLOR_ATTACHMENT11_EXT = $8CEB;
  3999. GL_COLOR_ATTACHMENT12_EXT = $8CEC;
  4000. GL_COLOR_ATTACHMENT13_EXT = $8CED;
  4001. GL_COLOR_ATTACHMENT14_EXT = $8CEE;
  4002. GL_COLOR_ATTACHMENT15_EXT = $8CEF;
  4003. GL_DEPTH_ATTACHMENT_EXT = $8D00;
  4004. GL_STENCIL_ATTACHMENT_EXT = $8D20;
  4005. GL_FRAMEBUFFER_COMPLETE_EXT = $8CD5;
  4006. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = $8CD6;
  4007. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = $8CD7;
  4008. GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
  4009. GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = $8CD9;
  4010. GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = $8CDA;
  4011. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = $8CDB;
  4012. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = $8CDC;
  4013. GL_FRAMEBUFFER_UNSUPPORTED_EXT = $8CDD;
  4014. GL_FRAMEBUFFER_STATUS_ERROR_EXT = $8CDE;
  4015. GL_FRAMEBUFFER_BINDING_EXT = $8CA6;
  4016. GL_RENDERBUFFER_BINDING_EXT = $8CA7;
  4017. GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF;
  4018. GL_MAX_RENDERBUFFER_SIZE_EXT = $84E8;
  4019. GL_INVALID_FRAMEBUFFER_OPERATION_EXT = $0506;
  4020. // GL_EXT_histogram
  4021. GL_HISTOGRAM_EXT = $8024;
  4022. GL_PROXY_HISTOGRAM_EXT = $8025;
  4023. GL_HISTOGRAM_WIDTH_EXT = $8026;
  4024. GL_HISTOGRAM_FORMAT_EXT = $8027;
  4025. GL_HISTOGRAM_RED_SIZE_EXT = $8028;
  4026. GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
  4027. GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
  4028. GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
  4029. GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
  4030. GL_HISTOGRAM_SINK_EXT = $802D;
  4031. GL_MINMAX_EXT = $802E;
  4032. GL_MINMAX_FORMAT_EXT = $802F;
  4033. GL_MINMAX_SINK_EXT = $8030;
  4034. GL_TABLE_TOO_LARGE_EXT = $8031;
  4035. // GL_EXT_index_array_formats
  4036. GL_IUI_V2F_EXT = $81AD;
  4037. GL_IUI_V3F_EXT = $81AE;
  4038. GL_IUI_N3F_V2F_EXT = $81AF;
  4039. GL_IUI_N3F_V3F_EXT = $81B0;
  4040. GL_T2F_IUI_V2F_EXT = $81B1;
  4041. GL_T2F_IUI_V3F_EXT = $81B2;
  4042. GL_T2F_IUI_N3F_V2F_EXT = $81B3;
  4043. GL_T2F_IUI_N3F_V3F_EXT = $81B4;
  4044. // GL_EXT_index_func
  4045. GL_INDEX_TEST_EXT = $81B5;
  4046. GL_INDEX_TEST_FUNC_EXT = $81B6;
  4047. GL_INDEX_TEST_REF_EXT = $81B7;
  4048. // GL_EXT_index_material
  4049. GL_INDEX_MATERIAL_EXT = $81B8;
  4050. GL_INDEX_MATERIAL_PARAMETER_EXT = $81B9;
  4051. GL_INDEX_MATERIAL_FACE_EXT = $81BA;
  4052. // GL_EXT_light_texture
  4053. GL_FRAGMENT_MATERIAL_EXT = $8349;
  4054. GL_FRAGMENT_NORMAL_EXT = $834A;
  4055. GL_FRAGMENT_COLOR_EXT = $834C;
  4056. GL_ATTENUATION_EXT = $834D;
  4057. GL_SHADOW_ATTENUATION_EXT = $834E;
  4058. GL_TEXTURE_APPLICATION_MODE_EXT = $834F;
  4059. GL_TEXTURE_LIGHT_EXT = $8350;
  4060. GL_TEXTURE_MATERIAL_FACE_EXT = $8351;
  4061. GL_TEXTURE_MATERIAL_PARAMETER_EXT = $8352;
  4062. // GL_EXT_multisample
  4063. GL_MULTISAMPLE_EXT = $809D;
  4064. GL_SAMPLE_ALPHA_TO_MASK_EXT = $809E;
  4065. GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F;
  4066. GL_SAMPLE_MASK_EXT = $80A0;
  4067. GL_1PASS_EXT = $80A1;
  4068. GL_2PASS_0_EXT = $80A2;
  4069. GL_2PASS_1_EXT = $80A3;
  4070. GL_4PASS_0_EXT = $80A4;
  4071. GL_4PASS_1_EXT = $80A5;
  4072. GL_4PASS_2_EXT = $80A6;
  4073. GL_4PASS_3_EXT = $80A7;
  4074. GL_SAMPLE_BUFFERS_EXT = $80A8;
  4075. GL_SAMPLES_EXT = $80A9;
  4076. GL_SAMPLE_MASK_VALUE_EXT = $80AA;
  4077. GL_SAMPLE_MASK_INVERT_EXT = $80AB;
  4078. GL_SAMPLE_PATTERN_EXT = $80AC;
  4079. GL_MULTISAMPLE_BIT_EXT = $20000000;
  4080. // GL_EXT_packed_pixels
  4081. GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
  4082. GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
  4083. GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
  4084. GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
  4085. GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
  4086. // GL_EXT_paletted_texture
  4087. GL_COLOR_INDEX1_EXT = $80E2;
  4088. GL_COLOR_INDEX2_EXT = $80E3;
  4089. GL_COLOR_INDEX4_EXT = $80E4;
  4090. GL_COLOR_INDEX8_EXT = $80E5;
  4091. GL_COLOR_INDEX12_EXT = $80E6;
  4092. GL_COLOR_INDEX16_EXT = $80E7;
  4093. GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
  4094. // GL_EXT_pixel_transform
  4095. GL_PIXEL_TRANSFORM_2D_EXT = $8330;
  4096. GL_PIXEL_MAG_FILTER_EXT = $8331;
  4097. GL_PIXEL_MIN_FILTER_EXT = $8332;
  4098. GL_PIXEL_CUBIC_WEIGHT_EXT = $8333;
  4099. GL_CUBIC_EXT = $8334;
  4100. GL_AVERAGE_EXT = $8335;
  4101. GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8336;
  4102. GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8337;
  4103. GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = $8338;
  4104. // GL_EXT_point_parameters
  4105. GL_POINT_SIZE_MIN_EXT = $8126;
  4106. GL_POINT_SIZE_MAX_EXT = $8127;
  4107. GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
  4108. GL_DISTANCE_ATTENUATION_EXT = $8129;
  4109. // GL_EXT_polygon_offset
  4110. GL_POLYGON_OFFSET_EXT = $8037;
  4111. GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
  4112. GL_POLYGON_OFFSET_BIAS_EXT = $8039;
  4113. // GL_EXT_rescale_normal
  4114. GL_RESCALE_NORMAL_EXT = $803A;
  4115. // GL_EXT_secondary_color
  4116. GL_COLOR_SUM_EXT = $8458;
  4117. GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
  4118. GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
  4119. GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
  4120. GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
  4121. GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
  4122. GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
  4123. // GL_EXT_separate_specular_color
  4124. GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
  4125. GL_SINGLE_COLOR_EXT = $81F9;
  4126. GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
  4127. // GL_EXT_shared_texture_palette
  4128. GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
  4129. // GL_EXT_stencil_two_side
  4130. GL_STENCIL_TEST_TWO_SIDE_EXT = $8910;
  4131. GL_ACTIVE_STENCIL_FACE_EXT = $8911;
  4132. // GL_EXT_stencil_wrap
  4133. GL_INCR_WRAP_EXT = $8507;
  4134. GL_DECR_WRAP_EXT = $8508;
  4135. // GL_EXT_texture
  4136. GL_ALPHA4_EXT = $803B;
  4137. GL_ALPHA8_EXT = $803C;
  4138. GL_ALPHA12_EXT = $803D;
  4139. GL_ALPHA16_EXT = $803E;
  4140. GL_LUMINANCE4_EXT = $803F;
  4141. GL_LUMINANCE8_EXT = $8040;
  4142. GL_LUMINANCE12_EXT = $8041;
  4143. GL_LUMINANCE16_EXT = $8042;
  4144. GL_LUMINANCE4_ALPHA4_EXT = $8043;
  4145. GL_LUMINANCE6_ALPHA2_EXT = $8044;
  4146. GL_LUMINANCE8_ALPHA8_EXT = $8045;
  4147. GL_LUMINANCE12_ALPHA4_EXT = $8046;
  4148. GL_LUMINANCE12_ALPHA12_EXT = $8047;
  4149. GL_LUMINANCE16_ALPHA16_EXT = $8048;
  4150. GL_INTENSITY_EXT = $8049;
  4151. GL_INTENSITY4_EXT = $804A;
  4152. GL_INTENSITY8_EXT = $804B;
  4153. GL_INTENSITY12_EXT = $804C;
  4154. GL_INTENSITY16_EXT = $804D;
  4155. GL_RGB2_EXT = $804E;
  4156. GL_RGB4_EXT = $804F;
  4157. GL_RGB5_EXT = $8050;
  4158. GL_RGB8_EXT = $8051;
  4159. GL_RGB10_EXT = $8052;
  4160. GL_RGB12_EXT = $8053;
  4161. GL_RGB16_EXT = $8054;
  4162. GL_RGBA2_EXT = $8055;
  4163. GL_RGBA4_EXT = $8056;
  4164. GL_RGB5_A1_EXT = $8057;
  4165. GL_RGBA8_EXT = $8058;
  4166. GL_RGB10_A2_EXT = $8059;
  4167. GL_RGBA12_EXT = $805A;
  4168. GL_RGBA16_EXT = $805B;
  4169. GL_TEXTURE_RED_SIZE_EXT = $805C;
  4170. GL_TEXTURE_GREEN_SIZE_EXT = $805D;
  4171. GL_TEXTURE_BLUE_SIZE_EXT = $805E;
  4172. GL_TEXTURE_ALPHA_SIZE_EXT = $805F;
  4173. GL_TEXTURE_LUMINANCE_SIZE_EXT = $8060;
  4174. GL_TEXTURE_INTENSITY_SIZE_EXT = $8061;
  4175. GL_REPLACE_EXT = $8062;
  4176. GL_PROXY_TEXTURE_1D_EXT = $8063;
  4177. GL_PROXY_TEXTURE_2D_EXT = $8064;
  4178. GL_TEXTURE_TOO_LARGE_EXT = $8065;
  4179. // GL_EXT_texture3D
  4180. GL_PACK_SKIP_IMAGES_EXT = $806B;
  4181. GL_PACK_IMAGE_HEIGHT_EXT = $806C;
  4182. GL_UNPACK_SKIP_IMAGES_EXT = $806D;
  4183. GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
  4184. GL_TEXTURE_3D_EXT = $806F;
  4185. GL_PROXY_TEXTURE_3D_EXT = $8070;
  4186. GL_TEXTURE_DEPTH_EXT = $8071;
  4187. GL_TEXTURE_WRAP_R_EXT = $8072;
  4188. GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
  4189. // GL_EXT_texture_compression_s3tc
  4190. GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
  4191. GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
  4192. GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
  4193. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
  4194. // GL_EXT_texture_cube_map
  4195. GL_NORMAL_MAP_EXT = $8511;
  4196. GL_REFLECTION_MAP_EXT = $8512;
  4197. GL_TEXTURE_CUBE_MAP_EXT = $8513;
  4198. GL_TEXTURE_BINDING_CUBE_MAP_EXT = $8514;
  4199. GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = $8515;
  4200. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = $8516;
  4201. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = $8517;
  4202. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = $8518;
  4203. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = $8519;
  4204. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = $851A;
  4205. GL_PROXY_TEXTURE_CUBE_MAP_EXT = $851B;
  4206. GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = $851C;
  4207. // GL_EXT_texture_edge_clamp
  4208. GL_CLAMP_TO_EDGE_EXT = $812F;
  4209. // GL_EXT_texture_env_combine
  4210. GL_COMBINE_EXT = $8570;
  4211. GL_COMBINE_RGB_EXT = $8571;
  4212. GL_COMBINE_ALPHA_EXT = $8572;
  4213. GL_RGB_SCALE_EXT = $8573;
  4214. GL_ADD_SIGNED_EXT = $8574;
  4215. GL_INTERPOLATE_EXT = $8575;
  4216. GL_CONSTANT_EXT = $8576;
  4217. GL_PRIMARY_COLOR_EXT = $8577;
  4218. GL_PREVIOUS_EXT = $8578;
  4219. GL_SOURCE0_RGB_EXT = $8580;
  4220. GL_SOURCE1_RGB_EXT = $8581;
  4221. GL_SOURCE2_RGB_EXT = $8582;
  4222. GL_SOURCE0_ALPHA_EXT = $8588;
  4223. GL_SOURCE1_ALPHA_EXT = $8589;
  4224. GL_SOURCE2_ALPHA_EXT = $858A;
  4225. GL_OPERAND0_RGB_EXT = $8590;
  4226. GL_OPERAND1_RGB_EXT = $8591;
  4227. GL_OPERAND2_RGB_EXT = $8592;
  4228. GL_OPERAND0_ALPHA_EXT = $8598;
  4229. GL_OPERAND1_ALPHA_EXT = $8599;
  4230. GL_OPERAND2_ALPHA_EXT = $859A;
  4231. // GL_EXT_texture_env_dot3
  4232. GL_DOT3_RGB_EXT = $8740;
  4233. GL_DOT3_RGBA_EXT = $8741;
  4234. // GL_EXT_texture_filter_anisotropic
  4235. GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
  4236. GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
  4237. // GL_EXT_texture_lod_bias
  4238. GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
  4239. GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
  4240. GL_TEXTURE_LOD_BIAS_EXT = $8501;
  4241. // GL_EXT_texture_object
  4242. GL_TEXTURE_PRIORITY_EXT = $8066;
  4243. GL_TEXTURE_RESIDENT_EXT = $8067;
  4244. GL_TEXTURE_1D_BINDING_EXT = $8068;
  4245. GL_TEXTURE_2D_BINDING_EXT = $8069;
  4246. GL_TEXTURE_3D_BINDING_EXT = $806A;
  4247. // GL_EXT_texture_perturb_normal
  4248. GL_PERTURB_EXT = $85AE;
  4249. GL_TEXTURE_NORMAL_EXT = $85AF;
  4250. // GL_EXT_texture_rectangle
  4251. GL_TEXTURE_RECTANGLE_EXT = $84F5;
  4252. GL_TEXTURE_BINDING_RECTANGLE_EXT = $84F6;
  4253. GL_PROXY_TEXTURE_RECTANGLE_EXT = $84F7;
  4254. GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT = $84F8;
  4255. // GL_EXT_vertex_array
  4256. GL_VERTEX_ARRAY_EXT = $8074;
  4257. GL_NORMAL_ARRAY_EXT = $8075;
  4258. GL_COLOR_ARRAY_EXT = $8076;
  4259. GL_INDEX_ARRAY_EXT = $8077;
  4260. GL_TEXTURE_COORD_ARRAY_EXT = $8078;
  4261. GL_EDGE_FLAG_ARRAY_EXT = $8079;
  4262. GL_VERTEX_ARRAY_SIZE_EXT = $807A;
  4263. GL_VERTEX_ARRAY_TYPE_EXT = $807B;
  4264. GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
  4265. GL_VERTEX_ARRAY_COUNT_EXT = $807D;
  4266. GL_NORMAL_ARRAY_TYPE_EXT = $807E;
  4267. GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
  4268. GL_NORMAL_ARRAY_COUNT_EXT = $8080;
  4269. GL_COLOR_ARRAY_SIZE_EXT = $8081;
  4270. GL_COLOR_ARRAY_TYPE_EXT = $8082;
  4271. GL_COLOR_ARRAY_STRIDE_EXT = $8083;
  4272. GL_COLOR_ARRAY_COUNT_EXT = $8084;
  4273. GL_INDEX_ARRAY_TYPE_EXT = $8085;
  4274. GL_INDEX_ARRAY_STRIDE_EXT = $8086;
  4275. GL_INDEX_ARRAY_COUNT_EXT = $8087;
  4276. GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
  4277. GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
  4278. GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
  4279. GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
  4280. GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
  4281. GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
  4282. GL_VERTEX_ARRAY_POINTER_EXT = $808E;
  4283. GL_NORMAL_ARRAY_POINTER_EXT = $808F;
  4284. GL_COLOR_ARRAY_POINTER_EXT = $8090;
  4285. GL_INDEX_ARRAY_POINTER_EXT = $8091;
  4286. GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
  4287. GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
  4288. // GL_EXT_vertex_shader
  4289. GL_VERTEX_SHADER_EXT = $8780;
  4290. GL_VERTEX_SHADER_BINDING_EXT = $8781;
  4291. GL_OP_INDEX_EXT = $8782;
  4292. GL_OP_NEGATE_EXT = $8783;
  4293. GL_OP_DOT3_EXT = $8784;
  4294. GL_OP_DOT4_EXT = $8785;
  4295. GL_OP_MUL_EXT = $8786;
  4296. GL_OP_ADD_EXT = $8787;
  4297. GL_OP_MADD_EXT = $8788;
  4298. GL_OP_FRAC_EXT = $8789;
  4299. GL_OP_MAX_EXT = $878A;
  4300. GL_OP_MIN_EXT = $878B;
  4301. GL_OP_SET_GE_EXT = $878C;
  4302. GL_OP_SET_LT_EXT = $878D;
  4303. GL_OP_CLAMP_EXT = $878E;
  4304. GL_OP_FLOOR_EXT = $878F;
  4305. GL_OP_ROUND_EXT = $8790;
  4306. GL_OP_EXP_BASE_2_EXT = $8791;
  4307. GL_OP_LOG_BASE_2_EXT = $8792;
  4308. GL_OP_POWER_EXT = $8793;
  4309. GL_OP_RECIP_EXT = $8794;
  4310. GL_OP_RECIP_SQRT_EXT = $8795;
  4311. GL_OP_SUB_EXT = $8796;
  4312. GL_OP_CROSS_PRODUCT_EXT = $8797;
  4313. GL_OP_MULTIPLY_MATRIX_EXT = $8798;
  4314. GL_OP_MOV_EXT = $8799;
  4315. GL_OUTPUT_VERTEX_EXT = $879A;
  4316. GL_OUTPUT_COLOR0_EXT = $879B;
  4317. GL_OUTPUT_COLOR1_EXT = $879C;
  4318. GL_OUTPUT_TEXTURE_COORD0_EXT = $879D;
  4319. GL_OUTPUT_TEXTURE_COORD1_EXT = $879E;
  4320. GL_OUTPUT_TEXTURE_COORD2_EXT = $879F;
  4321. GL_OUTPUT_TEXTURE_COORD3_EXT = $87A0;
  4322. GL_OUTPUT_TEXTURE_COORD4_EXT = $87A1;
  4323. GL_OUTPUT_TEXTURE_COORD5_EXT = $87A2;
  4324. GL_OUTPUT_TEXTURE_COORD6_EXT = $87A3;
  4325. GL_OUTPUT_TEXTURE_COORD7_EXT = $87A4;
  4326. GL_OUTPUT_TEXTURE_COORD8_EXT = $87A5;
  4327. GL_OUTPUT_TEXTURE_COORD9_EXT = $87A6;
  4328. GL_OUTPUT_TEXTURE_COORD10_EXT = $87A7;
  4329. GL_OUTPUT_TEXTURE_COORD11_EXT = $87A8;
  4330. GL_OUTPUT_TEXTURE_COORD12_EXT = $87A9;
  4331. GL_OUTPUT_TEXTURE_COORD13_EXT = $87AA;
  4332. GL_OUTPUT_TEXTURE_COORD14_EXT = $87AB;
  4333. GL_OUTPUT_TEXTURE_COORD15_EXT = $87AC;
  4334. GL_OUTPUT_TEXTURE_COORD16_EXT = $87AD;
  4335. GL_OUTPUT_TEXTURE_COORD17_EXT = $87AE;
  4336. GL_OUTPUT_TEXTURE_COORD18_EXT = $87AF;
  4337. GL_OUTPUT_TEXTURE_COORD19_EXT = $87B0;
  4338. GL_OUTPUT_TEXTURE_COORD20_EXT = $87B1;
  4339. GL_OUTPUT_TEXTURE_COORD21_EXT = $87B2;
  4340. GL_OUTPUT_TEXTURE_COORD22_EXT = $87B3;
  4341. GL_OUTPUT_TEXTURE_COORD23_EXT = $87B4;
  4342. GL_OUTPUT_TEXTURE_COORD24_EXT = $87B5;
  4343. GL_OUTPUT_TEXTURE_COORD25_EXT = $87B6;
  4344. GL_OUTPUT_TEXTURE_COORD26_EXT = $87B7;
  4345. GL_OUTPUT_TEXTURE_COORD27_EXT = $87B8;
  4346. GL_OUTPUT_TEXTURE_COORD28_EXT = $87B9;
  4347. GL_OUTPUT_TEXTURE_COORD29_EXT = $87BA;
  4348. GL_OUTPUT_TEXTURE_COORD30_EXT = $87BB;
  4349. GL_OUTPUT_TEXTURE_COORD31_EXT = $87BC;
  4350. GL_OUTPUT_FOG_EXT = $87BD;
  4351. GL_SCALAR_EXT = $87BE;
  4352. GL_VECTOR_EXT = $87BF;
  4353. GL_MATRIX_EXT = $87C0;
  4354. GL_VARIANT_EXT = $87C1;
  4355. GL_INVARIANT_EXT = $87C2;
  4356. GL_LOCAL_CONSTANT_EXT = $87C3;
  4357. GL_LOCAL_EXT = $87C4;
  4358. GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87C5;
  4359. GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87C6;
  4360. GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87C7;
  4361. GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87C8;
  4362. GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87C9;
  4363. GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CA;
  4364. GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87CB;
  4365. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87CC;
  4366. GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87CD;
  4367. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87CE;
  4368. GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CF;
  4369. GL_VERTEX_SHADER_VARIANTS_EXT = $87D0;
  4370. GL_VERTEX_SHADER_INVARIANTS_EXT = $87D1;
  4371. GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87D2;
  4372. GL_VERTEX_SHADER_LOCALS_EXT = $87D3;
  4373. GL_VERTEX_SHADER_OPTIMIZED_EXT = $87D4;
  4374. GL_X_EXT = $87D5;
  4375. GL_Y_EXT = $87D6;
  4376. GL_Z_EXT = $87D7;
  4377. GL_W_EXT = $87D8;
  4378. GL_NEGATIVE_X_EXT = $87D9;
  4379. GL_NEGATIVE_Y_EXT = $87DA;
  4380. GL_NEGATIVE_Z_EXT = $87DB;
  4381. GL_NEGATIVE_W_EXT = $87DC;
  4382. GL_ZERO_EXT = $87DD;
  4383. GL_ONE_EXT = $87DE;
  4384. GL_NEGATIVE_ONE_EXT = $87DF;
  4385. GL_NORMALIZED_RANGE_EXT = $87E0;
  4386. GL_FULL_RANGE_EXT = $87E1;
  4387. GL_CURRENT_VERTEX_EXT = $87E2;
  4388. GL_MVP_MATRIX_EXT = $87E3;
  4389. GL_VARIANT_VALUE_EXT = $87E4;
  4390. GL_VARIANT_DATATYPE_EXT = $87E5;
  4391. GL_VARIANT_ARRAY_STRIDE_EXT = $87E6;
  4392. GL_VARIANT_ARRAY_TYPE_EXT = $87E7;
  4393. GL_VARIANT_ARRAY_EXT = $87E8;
  4394. GL_VARIANT_ARRAY_POINTER_EXT = $87E9;
  4395. GL_INVARIANT_VALUE_EXT = $87EA;
  4396. GL_INVARIANT_DATATYPE_EXT = $87EB;
  4397. GL_LOCAL_CONSTANT_VALUE_EXT = $87EC;
  4398. GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ED;
  4399. // GL_EXT_vertex_weighting
  4400. GL_MODELVIEW0_STACK_DEPTH_EXT = $0BA3;
  4401. GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
  4402. GL_MODELVIEW0_MATRIX_EXT = $0BA6;
  4403. GL_MODELVIEW1_MATRIX_EXT = $8506;
  4404. GL_VERTEX_WEIGHTING_EXT = $8509;
  4405. GL_MODELVIEW0_EXT = $1700;
  4406. GL_MODELVIEW1_EXT = $850A;
  4407. GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
  4408. GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
  4409. GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
  4410. GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
  4411. GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
  4412. GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
  4413. // GL_EXT_depth_bounds_test
  4414. GL_DEPTH_BOUNDS_TEST_EXT = $8890;
  4415. GL_DEPTH_BOUNDS_EXT = $8891;
  4416. // GL_EXT_texture_mirror_clamp
  4417. GL_MIRROR_CLAMP_EXT = $8742;
  4418. GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743;
  4419. GL_MIRROR_CLAMP_TO_BORDER_EXT = $8912;
  4420. // GL_EXT_blend_equation_separate
  4421. GL_BLEND_EQUATION_RGB_EXT = $8009;
  4422. GL_BLEND_EQUATION_ALPHA_EXT = $883D;
  4423. // GL_EXT_pixel_buffer_object
  4424. GL_PIXEL_PACK_BUFFER_EXT = $88EB;
  4425. GL_PIXEL_UNPACK_BUFFER_EXT = $88EC;
  4426. GL_PIXEL_PACK_BUFFER_BINDING_EXT = $88ED;
  4427. GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = $88EF;
  4428. // GL_EXT_stencil_clear_tag
  4429. GL_STENCIL_TAG_BITS_EXT = $88F2;
  4430. GL_STENCIL_CLEAR_TAG_VALUE_EXT = $88F3;
  4431. // GL_EXT_packed_depth_stencil
  4432. GL_DEPTH_STENCIL_EXT = $84F9;
  4433. GL_UNSIGNED_INT_24_8_EXT = $84FA;
  4434. GL_DEPTH24_STENCIL8_EXT = $88F0;
  4435. GL_TEXTURE_STENCIL_SIZE_EXT = $88F1;
  4436. // GL_EXT_texture_sRGB
  4437. GL_SRGB_EXT = $8C40;
  4438. GL_SRGB8_EXT = $8C41;
  4439. GL_SRGB_ALPHA_EXT = $8C42;
  4440. GL_SRGB8_ALPHA8_EXT = $8C43;
  4441. GL_SLUMINANCE_ALPHA_EXT = $8C44;
  4442. GL_SLUMINANCE8_ALPHA8_EXT = $8C45;
  4443. GL_SLUMINANCE_EXT = $8C46;
  4444. GL_SLUMINANCE8_EXT = $8C47;
  4445. GL_COMPRESSED_SRGB_EXT = $8C48;
  4446. GL_COMPRESSED_SRGB_ALPHA_EXT = $8C49;
  4447. GL_COMPRESSED_SLUMINANCE_EXT = $8C4A;
  4448. GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = $8C4B;
  4449. GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = $8C4C;
  4450. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = $8C4D;
  4451. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = $8C4E;
  4452. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = $8C4F;
  4453. // GL_EXT_framebuffer_blit
  4454. GL_READ_FRAMEBUFFER_EXT = $8CA8;
  4455. GL_DRAW_FRAMEBUFFER_EXT = $8CA9;
  4456. GL_READ_FRAMEBUFFER_BINDING_EXT = GL_FRAMEBUFFER_BINDING_EXT;
  4457. GL_DRAW_FRAMEBUFFER_BINDING_EXT = $8CAA;
  4458. // GL_EXT_framebuffer_multisample
  4459. GL_RENDERBUFFER_SAMPLES_EXT = $8CAB;
  4460. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = $8D56;
  4461. GL_MAX_SAMPLES_EXT = $8D57;
  4462. // GL_EXT_timer_query
  4463. GL_TIME_ELAPSED_EXT = $88BF;
  4464. // GL_EXT_bindable_uniform
  4465. GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = $8DE2;
  4466. GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = $8DE3;
  4467. GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = $8DE4;
  4468. GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = $8DED;
  4469. GL_UNIFORM_BUFFER_EXT = $8DEE;
  4470. GL_UNIFORM_BUFFER_BINDING_EXT = $8DEF;
  4471. // GL_EXT_framebuffer_sRGB
  4472. GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  4473. WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20A9;
  4474. GL_FRAMEBUFFER_SRGB_EXT = $8DB9;
  4475. GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $8DBA;
  4476. // GL_EXT_geometry_shader4
  4477. GL_GEOMETRY_SHADER_EXT = $8DD9;
  4478. GL_GEOMETRY_VERTICES_OUT_EXT = $8DDA;
  4479. GL_GEOMETRY_INPUT_TYPE_EXT = $8DDB;
  4480. GL_GEOMETRY_OUTPUT_TYPE_EXT = $8DDC;
  4481. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = $8C29;
  4482. GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = $8DDD;
  4483. GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = $8DDE;
  4484. GL_MAX_VARYING_COMPONENTS_EXT = $8B4B;
  4485. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = $8DDF;
  4486. GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = $8DE0;
  4487. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = $8DE1;
  4488. GL_LINES_ADJACENCY_EXT = $A;
  4489. GL_LINE_STRIP_ADJACENCY_EXT = $B;
  4490. GL_TRIANGLES_ADJACENCY_EXT = $C;
  4491. GL_TRIANGLE_STRIP_ADJACENCY_EXT = $D;
  4492. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = $8DA8;
  4493. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = $8DA9;
  4494. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = $8DA7;
  4495. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = $8CD4;
  4496. GL_PROGRAM_POINT_SIZE_EXT = $8642;
  4497. // GL_EXT_gpu_shader4
  4498. GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = $88FD;
  4499. GL_SAMPLER_1D_ARRAY_EXT = $8DC0;
  4500. GL_SAMPLER_2D_ARRAY_EXT = $8DC1;
  4501. GL_SAMPLER_BUFFER_EXT = $8DC2;
  4502. GL_SAMPLER_1D_ARRAY_SHADOW_EXT = $8DC3;
  4503. GL_SAMPLER_2D_ARRAY_SHADOW_EXT = $8DC4;
  4504. GL_SAMPLER_CUBE_SHADOW_EXT = $8DC5;
  4505. GL_UNSIGNED_INT_VEC2_EXT = $8DC6;
  4506. GL_UNSIGNED_INT_VEC3_EXT = $8DC7;
  4507. GL_UNSIGNED_INT_VEC4_EXT = $8DC8;
  4508. GL_INT_SAMPLER_1D_EXT = $8DC9;
  4509. GL_INT_SAMPLER_2D_EXT = $8DCA;
  4510. GL_INT_SAMPLER_3D_EXT = $8DCB;
  4511. GL_INT_SAMPLER_CUBE_EXT = $8DCC;
  4512. GL_INT_SAMPLER_2D_RECT_EXT = $8DCD;
  4513. GL_INT_SAMPLER_1D_ARRAY_EXT = $8DCE;
  4514. GL_INT_SAMPLER_2D_ARRAY_EXT = $8DCF;
  4515. GL_INT_SAMPLER_BUFFER_EXT = $8DD0;
  4516. GL_UNSIGNED_INT_SAMPLER_1D_EXT = $8DD1;
  4517. GL_UNSIGNED_INT_SAMPLER_2D_EXT = $8DD2;
  4518. GL_UNSIGNED_INT_SAMPLER_3D_EXT = $8DD3;
  4519. GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = $8DD4;
  4520. GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = $8DD5;
  4521. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = $8DD6;
  4522. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = $8DD7;
  4523. GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = $8DD8;
  4524. GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = $8904;
  4525. GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = $8905;
  4526. // GL_EXT_packed_float
  4527. GL_R11F_G11F_B10F_EXT = $8C3A;
  4528. GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = $8C3B;
  4529. RGBA_SIGNED_COMPONENTS_EXT = $8C3C;
  4530. WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8;
  4531. GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  4532. GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  4533. // GL_EXT_texture_array
  4534. GL_TEXTURE_1D_ARRAY_EXT = $8C18;
  4535. GL_TEXTURE_2D_ARRAY_EXT = $8C1A;
  4536. GL_PROXY_TEXTURE_2D_ARRAY_EXT = $8C1B;
  4537. GL_PROXY_TEXTURE_1D_ARRAY_EXT = $8C19;
  4538. GL_TEXTURE_BINDING_1D_ARRAY_EXT = $8C1C;
  4539. GL_TEXTURE_BINDING_2D_ARRAY_EXT = $8C1D;
  4540. GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = $88FF;
  4541. GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = $884E;
  4542. // GL_EXT_texture_buffer_object
  4543. GL_TEXTURE_BUFFER_EXT = $8C2A;
  4544. GL_MAX_TEXTURE_BUFFER_SIZE_EXT = $8C2B;
  4545. GL_TEXTURE_BINDING_BUFFER_EXT = $8C2C;
  4546. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = $8C2D;
  4547. GL_TEXTURE_BUFFER_FORMAT_EXT = $8C2E;
  4548. // GL_EXT_texture_compression_latc
  4549. GL_COMPRESSED_LUMINANCE_LATC1_EXT = $8C70;
  4550. GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = $8C71;
  4551. GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = $8C72;
  4552. GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = $8C73;
  4553. // GL_EXT_texture_compression_rgtc
  4554. GL_COMPRESSED_RED_RGTC1_EXT = $8DBB;
  4555. GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = $8DBC;
  4556. GL_COMPRESSED_RED_GREEN_RGTC2_EXT = $8DBD;
  4557. GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = $8DBE;
  4558. // GL_EXT_texture_integer
  4559. GL_RGBA_INTEGER_MODE_EXT = $8D9E;
  4560. GL_RGBA32UI_EXT = $8D70;
  4561. GL_RGB32UI_EXT = $8D71;
  4562. GL_ALPHA32UI_EXT = $8D72;
  4563. GL_INTENSITY32UI_EXT = $8D73;
  4564. GL_LUMINANCE32UI_EXT = $8D74;
  4565. GL_LUMINANCE_ALPHA32UI_EXT = $8D75;
  4566. GL_RGBA16UI_EXT = $8D76;
  4567. GL_RGB16UI_EXT = $8D77;
  4568. GL_ALPHA16UI_EXT = $8D78;
  4569. GL_INTENSITY16UI_EXT = $8D79;
  4570. GL_LUMINANCE16UI_EXT = $8D7A;
  4571. GL_LUMINANCE_ALPHA16UI_EXT = $8D7B;
  4572. GL_RGBA8UI_EXT = $8D7C;
  4573. GL_RGB8UI_EXT = $8D7D;
  4574. GL_ALPHA8UI_EXT = $8D7E;
  4575. GL_INTENSITY8UI_EXT = $8D7F;
  4576. GL_LUMINANCE8UI_EXT = $8D80;
  4577. GL_LUMINANCE_ALPHA8UI_EXT = $8D81;
  4578. GL_RGBA32I_EXT = $8D82;
  4579. GL_RGB32I_EXT = $8D83;
  4580. GL_ALPHA32I_EXT = $8D84;
  4581. GL_INTENSITY32I_EXT = $8D85;
  4582. GL_LUMINANCE32I_EXT = $8D86;
  4583. GL_LUMINANCE_ALPHA32I_EXT = $8D87;
  4584. GL_RGBA16I_EXT = $8D88;
  4585. GL_RGB16I_EXT = $8D89;
  4586. GL_ALPHA16I_EXT = $8D8A;
  4587. GL_INTENSITY16I_EXT = $8D8B;
  4588. GL_LUMINANCE16I_EXT = $8D8C;
  4589. GL_LUMINANCE_ALPHA16I_EXT = $8D8D;
  4590. GL_RGBA8I_EXT = $8D8E;
  4591. GL_RGB8I_EXT = $8D8F;
  4592. GL_ALPHA8I_EXT = $8D90;
  4593. GL_INTENSITY8I_EXT = $8D91;
  4594. GL_LUMINANCE8I_EXT = $8D92;
  4595. GL_LUMINANCE_ALPHA8I_EXT = $8D93;
  4596. GL_RED_INTEGER_EXT = $8D94;
  4597. GL_GREEN_INTEGER_EXT = $8D95;
  4598. GL_BLUE_INTEGER_EXT = $8D96;
  4599. GL_ALPHA_INTEGER_EXT = $8D97;
  4600. GL_RGB_INTEGER_EXT = $8D98;
  4601. GL_RGBA_INTEGER_EXT = $8D99;
  4602. GL_BGR_INTEGER_EXT = $8D9A;
  4603. GL_BGRA_INTEGER_EXT = $8D9B;
  4604. GL_LUMINANCE_INTEGER_EXT = $8D9C;
  4605. GL_LUMINANCE_ALPHA_INTEGER_EXT = $8D9D;
  4606. // GL_EXT_texture_shared_exponent
  4607. GL_RGB9_E5_EXT = $8C3D;
  4608. GL_UNSIGNED_INT_5_9_9_9_REV_EXT = $8C3E;
  4609. GL_TEXTURE_SHARED_SIZE_EXT = $8C3F;
  4610. // GL_EXT_transform_feedback
  4611. GL_TRANSFORM_FEEDBACK_BUFFER_EXT = $8C8E;
  4612. GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = $8C84;
  4613. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = $8C85;
  4614. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = $8C8F;
  4615. GL_INTERLEAVED_ATTRIBS_EXT = $8C8C;
  4616. GL_SEPARATE_ATTRIBS_EXT = $8C8D;
  4617. GL_PRIMITIVES_GENERATED_EXT = $8C87;
  4618. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = $8C88;
  4619. GL_RASTERIZER_DISCARD_EXT = $8C89;
  4620. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = $8C8A;
  4621. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = $8C8B;
  4622. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = $8C80;
  4623. GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = $8C83;
  4624. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = $8C7F;
  4625. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = $8C76;
  4626. // GL_EXT_direct_state_access
  4627. GL_PROGRAM_MATRIX_EXT = $8E2D;
  4628. GL_TRANSPOSE_PROGRAM_MATRIX_EXT = $8E2E;
  4629. GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = $8E2F;
  4630. // GL_EXT_texture_swizzle
  4631. GL_TEXTURE_SWIZZLE_R_EXT = $8E42;
  4632. GL_TEXTURE_SWIZZLE_G_EXT = $8E43;
  4633. GL_TEXTURE_SWIZZLE_B_EXT = $8E44;
  4634. GL_TEXTURE_SWIZZLE_A_EXT = $8E45;
  4635. GL_TEXTURE_SWIZZLE_RGBA_EXT = $8E46;
  4636. // GL_EXT_provoking_vertex
  4637. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = $8E4C;
  4638. GL_FIRST_VERTEX_CONVENTION_EXT = $8E4D;
  4639. GL_LAST_VERTEX_CONVENTION_EXT = $8E4E;
  4640. GL_PROVOKING_VERTEX_EXT = $8E4F;
  4641. // GL_EXT_texture_snorm
  4642. GL_ALPHA_SNORM = $9010;
  4643. GL_LUMINANCE_SNORM = $9011;
  4644. GL_LUMINANCE_ALPHA_SNORM = $9012;
  4645. GL_INTENSITY_SNORM = $9013;
  4646. GL_ALPHA8_SNORM = $9014;
  4647. GL_LUMINANCE8_SNORM = $9015;
  4648. GL_LUMINANCE8_ALPHA8_SNORM = $9016;
  4649. GL_INTENSITY8_SNORM = $9017;
  4650. GL_ALPHA16_SNORM = $9018;
  4651. GL_LUMINANCE16_SNORM = $9019;
  4652. GL_LUMINANCE16_ALPHA16_SNORM = $901A;
  4653. GL_INTENSITY16_SNORM = $901B;
  4654. { reuse GL_RED_SNORM }
  4655. { reuse GL_RG_SNORM }
  4656. { reuse GL_RGB_SNORM }
  4657. { reuse GL_RGBA_SNORM }
  4658. { reuse GL_R8_SNORM }
  4659. { reuse GL_RG8_SNORM }
  4660. { reuse GL_RGB8_SNORM }
  4661. { reuse GL_RGBA8_SNORM }
  4662. { reuse GL_R16_SNORM }
  4663. { reuse GL_RG16_SNORM }
  4664. { reuse GL_RGB16_SNORM }
  4665. { reuse GL_RGBA16_SNORM }
  4666. { reuse GL_SIGNED_NORMALIZED }
  4667. // GL_EXT_separate_shader_objects
  4668. GL_ACTIVE_PROGRAM_EXT = $8B8D;
  4669. // GL_EXT_shader_image_load_store
  4670. GL_MAX_IMAGE_UNITS_EXT = $8F38;
  4671. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = $8F39;
  4672. GL_IMAGE_BINDING_NAME_EXT = $8F3A;
  4673. GL_IMAGE_BINDING_LEVEL_EXT = $8F3B;
  4674. GL_IMAGE_BINDING_LAYERED_EXT = $8F3C;
  4675. GL_IMAGE_BINDING_LAYER_EXT = $8F3D;
  4676. GL_IMAGE_BINDING_ACCESS_EXT = $8F3E;
  4677. GL_IMAGE_1D_EXT = $904C;
  4678. GL_IMAGE_2D_EXT = $904D;
  4679. GL_IMAGE_3D_EXT = $904E;
  4680. GL_IMAGE_2D_RECT_EXT = $904F;
  4681. GL_IMAGE_CUBE_EXT = $9050;
  4682. GL_IMAGE_BUFFER_EXT = $9051;
  4683. GL_IMAGE_1D_ARRAY_EXT = $9052;
  4684. GL_IMAGE_2D_ARRAY_EXT = $9053;
  4685. GL_IMAGE_CUBE_MAP_ARRAY_EXT = $9054;
  4686. GL_IMAGE_2D_MULTISAMPLE_EXT = $9055;
  4687. GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9056;
  4688. GL_INT_IMAGE_1D_EXT = $9057;
  4689. GL_INT_IMAGE_2D_EXT = $9058;
  4690. GL_INT_IMAGE_3D_EXT = $9059;
  4691. GL_INT_IMAGE_2D_RECT_EXT = $905A;
  4692. GL_INT_IMAGE_CUBE_EXT = $905B;
  4693. GL_INT_IMAGE_BUFFER_EXT = $905C;
  4694. GL_INT_IMAGE_1D_ARRAY_EXT = $905D;
  4695. GL_INT_IMAGE_2D_ARRAY_EXT = $905E;
  4696. GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $905F;
  4697. GL_INT_IMAGE_2D_MULTISAMPLE_EXT = $9060;
  4698. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9061;
  4699. GL_UNSIGNED_INT_IMAGE_1D_EXT = $9062;
  4700. GL_UNSIGNED_INT_IMAGE_2D_EXT = $9063;
  4701. GL_UNSIGNED_INT_IMAGE_3D_EXT = $9064;
  4702. GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = $9065;
  4703. GL_UNSIGNED_INT_IMAGE_CUBE_EXT = $9066;
  4704. GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = $9067;
  4705. GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = $9068;
  4706. GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = $9069;
  4707. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $906A;
  4708. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = $906B;
  4709. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $906C;
  4710. GL_MAX_IMAGE_SAMPLES_EXT = $906D;
  4711. GL_IMAGE_BINDING_FORMAT_EXT = $906E;
  4712. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = $00000001;
  4713. GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = $00000002;
  4714. GL_UNIFORM_BARRIER_BIT_EXT = $00000004;
  4715. GL_TEXTURE_FETCH_BARRIER_BIT_EXT = $00000008;
  4716. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = $00000020;
  4717. GL_COMMAND_BARRIER_BIT_EXT = $00000040;
  4718. GL_PIXEL_BUFFER_BARRIER_BIT_EXT = $00000080;
  4719. GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = $00000100;
  4720. GL_BUFFER_UPDATE_BARRIER_BIT_EXT = $00000200;
  4721. GL_FRAMEBUFFER_BARRIER_BIT_EXT = $00000400;
  4722. GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = $00000800;
  4723. GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = $00001000;
  4724. GL_ALL_BARRIER_BITS_EXT = $FFFFFFFF;
  4725. // GL_EXT_vertex_attrib_64bit
  4726. { reuse GL_DOUBLE }
  4727. GL_DOUBLE_VEC2_EXT = $8FFC;
  4728. GL_DOUBLE_VEC3_EXT = $8FFD;
  4729. GL_DOUBLE_VEC4_EXT = $8FFE;
  4730. GL_DOUBLE_MAT2_EXT = $8F46;
  4731. GL_DOUBLE_MAT3_EXT = $8F47;
  4732. GL_DOUBLE_MAT4_EXT = $8F48;
  4733. GL_DOUBLE_MAT2x3_EXT = $8F49;
  4734. GL_DOUBLE_MAT2x4_EXT = $8F4A;
  4735. GL_DOUBLE_MAT3x2_EXT = $8F4B;
  4736. GL_DOUBLE_MAT3x4_EXT = $8F4C;
  4737. GL_DOUBLE_MAT4x2_EXT = $8F4D;
  4738. GL_DOUBLE_MAT4x3_EXT = $8F4E;
  4739. // GL_EXT_texture_sRGB_decode
  4740. GL_TEXTURE_SRGB_DECODE_EXT = $8A48;
  4741. GL_DECODE_EXT = $8A49;
  4742. GL_SKIP_DECODE_EXT = $8A4A;
  4743. // GL_NV_texture_multisample
  4744. GL_TEXTURE_COVERAGE_SAMPLES_NV = $9045;
  4745. GL_TEXTURE_COLOR_SAMPLES_NV = $9046;
  4746. // GL_AMD_blend_minmax_factor
  4747. GL_FACTOR_MIN_AMD = $901C;
  4748. GL_FACTOR_MAX_AMD = $901D;
  4749. // GL_AMD_sample_positions
  4750. GL_SUBSAMPLE_DISTANCE_AMD = $883F;
  4751. // GL_EXT_x11_sync_object
  4752. GL_SYNC_X11_FENCE_EXT = $90E1;
  4753. // GL_EXT_framebuffer_multisample_blit_scaled
  4754. GL_SCALED_RESOLVE_FASTEST_EXT = $90BA;
  4755. GL_SCALED_RESOLVE_NICEST_EXT = $90BB;
  4756. // (4.3) GL_NV_path_rendering
  4757. GL_PATH_FORMAT_SVG_NV = $9070;
  4758. GL_PATH_FORMAT_PS_NV = $9071;
  4759. GL_STANDARD_FONT_NAME_NV = $9072;
  4760. GL_SYSTEM_FONT_NAME_NV = $9073;
  4761. GL_FILE_NAME_NV = $9074;
  4762. GL_PATH_STROKE_WIDTH_NV = $9075;
  4763. GL_PATH_END_CAPS_NV = $9076;
  4764. GL_PATH_INITIAL_END_CAP_NV = $9077;
  4765. GL_PATH_TERMINAL_END_CAP_NV = $9078;
  4766. GL_PATH_JOIN_STYLE_NV = $9079;
  4767. GL_PATH_MITER_LIMIT_NV = $907A;
  4768. GL_PATH_DASH_CAPS_NV = $907B;
  4769. GL_PATH_INITIAL_DASH_CAP_NV = $907C;
  4770. GL_PATH_TERMINAL_DASH_CAP_NV = $907D;
  4771. GL_PATH_DASH_OFFSET_NV = $907E;
  4772. GL_PATH_CLIENT_LENGTH_NV = $907F;
  4773. GL_PATH_FILL_MODE_NV = $9080;
  4774. GL_PATH_FILL_MASK_NV = $9081;
  4775. GL_PATH_FILL_COVER_MODE_NV = $9082;
  4776. GL_PATH_STROKE_COVER_MODE_NV = $9083;
  4777. GL_PATH_STROKE_MASK_NV = $9084;
  4778. GL_PATH_SAMPLE_QUALITY_NV = $9085;
  4779. GL_PATH_STROKE_BOUND_NV = $9086;
  4780. GL_PATH_STROKE_OVERSAMPLE_COUNT_NV= $9087;
  4781. GL_COUNT_UP_NV = $9088;
  4782. GL_COUNT_DOWN_NV = $9089;
  4783. GL_PATH_OBJECT_BOUNDING_BOX_NV = $908A;
  4784. GL_CONVEX_HULL_NV = $908B;
  4785. GL_MULTI_HULLS_NV = $908C;
  4786. GL_BOUNDING_BOX_NV = $908D;
  4787. GL_TRANSLATE_X_NV = $908E;
  4788. GL_TRANSLATE_Y_NV = $908F;
  4789. GL_TRANSLATE_2D_NV = $9090;
  4790. GL_TRANSLATE_3D_NV = $9091;
  4791. GL_AFFINE_2D_NV = $9092;
  4792. GL_PROJECTIVE_2D_NV = $9093;
  4793. GL_AFFINE_3D_NV = $9094;
  4794. GL_PROJECTIVE_3D_NV = $9095;
  4795. GL_TRANSPOSE_AFFINE_2D_NV = $9096;
  4796. GL_TRANSPOSE_PROJECTIVE_2D_NV = $9097;
  4797. GL_TRANSPOSE_AFFINE_3D_NV = $9098;
  4798. GL_TRANSPOSE_PROJECTIVE_3D_NV = $9099;
  4799. GL_UTF8_NV = $909A;
  4800. GL_UTF16_NV = $909B;
  4801. GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV= $909C;
  4802. GL_PATH_COMMAND_COUNT_NV = $909D;
  4803. GL_PATH_COORD_COUNT_NV = $909E;
  4804. GL_PATH_DASH_ARRAY_COUNT_NV = $909F;
  4805. GL_PATH_COMPUTED_LENGTH_NV = $90A0;
  4806. GL_PATH_FILL_BOUNDING_BOX_NV = $90A1;
  4807. GL_PATH_STROKE_BOUNDING_BOX_NV = $90A2;
  4808. GL_SQUARE_NV = $90A3;
  4809. GL_ROUND_NV = $90A4;
  4810. GL_TRIANGULAR_NV = $90A5;
  4811. GL_BEVEL_NV = $90A6;
  4812. GL_MITER_REVERT_NV = $90A7;
  4813. GL_MITER_TRUNCATE_NV = $90A8;
  4814. GL_SKIP_MISSING_GLYPH_NV = $90A9;
  4815. GL_USE_MISSING_GLYPH_NV = $90AA;
  4816. GL_PATH_ERROR_POSITION_NV = $90AB;
  4817. GL_PATH_FOG_GEN_MODE_NV = $90AC;
  4818. GL_ACCUM_ADJACENT_PAIRS_NV = $90AD;
  4819. GL_ADJACENT_PAIRS_NV = $90AE;
  4820. GL_FIRST_TO_REST_NV = $90AF;
  4821. GL_PATH_GEN_MODE_NV = $90B0;
  4822. GL_PATH_GEN_COEFF_NV = $90B1;
  4823. GL_PATH_GEN_COLOR_FORMAT_NV = $90B2;
  4824. GL_PATH_GEN_COMPONENTS_NV = $90B3;
  4825. GL_PATH_STENCIL_FUNC_NV = $90B7;
  4826. GL_PATH_STENCIL_REF_NV = $90B8;
  4827. GL_PATH_STENCIL_VALUE_MASK_NV = $90B9;
  4828. GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV= $90BD;
  4829. GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV= $90BE;
  4830. GL_PATH_COVER_DEPTH_FUNC_NV = $90BF;
  4831. GL_PATH_DASH_OFFSET_RESET_NV = $90B4;
  4832. GL_MOVE_TO_RESETS_NV = $90B5;
  4833. GL_MOVE_TO_CONTINUES_NV = $90B6;
  4834. GL_CLOSE_PATH_NV = $00;
  4835. GL_MOVE_TO_NV = $02;
  4836. GL_RELATIVE_MOVE_TO_NV = $03;
  4837. GL_LINE_TO_NV = $04;
  4838. GL_RELATIVE_LINE_TO_NV = $05;
  4839. GL_HORIZONTAL_LINE_TO_NV = $06;
  4840. GL_RELATIVE_HORIZONTAL_LINE_TO_NV= $07;
  4841. GL_VERTICAL_LINE_TO_NV = $08;
  4842. GL_RELATIVE_VERTICAL_LINE_TO_NV = $09;
  4843. GL_QUADRATIC_CURVE_TO_NV = $0A;
  4844. GL_RELATIVE_QUADRATIC_CURVE_TO_NV= $0B;
  4845. GL_CUBIC_CURVE_TO_NV = $0C;
  4846. GL_RELATIVE_CUBIC_CURVE_TO_NV = $0D;
  4847. GL_SMOOTH_QUADRATIC_CURVE_TO_NV = $0E;
  4848. GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV= $0F;
  4849. GL_SMOOTH_CUBIC_CURVE_TO_NV = $10;
  4850. GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV= $11;
  4851. GL_SMALL_CCW_ARC_TO_NV = $12;
  4852. GL_RELATIVE_SMALL_CCW_ARC_TO_NV = $13;
  4853. GL_SMALL_CW_ARC_TO_NV = $14;
  4854. GL_RELATIVE_SMALL_CW_ARC_TO_NV = $15;
  4855. GL_LARGE_CCW_ARC_TO_NV = $16;
  4856. GL_RELATIVE_LARGE_CCW_ARC_TO_NV = $17;
  4857. GL_LARGE_CW_ARC_TO_NV = $18;
  4858. GL_RELATIVE_LARGE_CW_ARC_TO_NV = $19;
  4859. GL_RESTART_PATH_NV = $F0;
  4860. GL_DUP_FIRST_CUBIC_CURVE_TO_NV = $F2;
  4861. GL_DUP_LAST_CUBIC_CURVE_TO_NV = $F4;
  4862. GL_RECT_NV = $F6;
  4863. GL_CIRCULAR_CCW_ARC_TO_NV = $F8;
  4864. GL_CIRCULAR_CW_ARC_TO_NV = $FA;
  4865. GL_CIRCULAR_TANGENT_ARC_TO_NV = $FC;
  4866. GL_ARC_TO_NV = $FE;
  4867. GL_RELATIVE_ARC_TO_NV = $FF;
  4868. GL_BOLD_BIT_NV = $01;
  4869. GL_ITALIC_BIT_NV = $02;
  4870. GL_GLYPH_WIDTH_BIT_NV = $01;
  4871. GL_GLYPH_HEIGHT_BIT_NV = $02;
  4872. GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV= $04;
  4873. GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV= $08;
  4874. GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV= $10;
  4875. GL_GLYPH_VERTICAL_BEARING_X_BIT_NV= $20;
  4876. GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV= $40;
  4877. GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV= $80;
  4878. GL_GLYPH_HAS_KERNING_NV = $100;
  4879. GL_FONT_X_MIN_BOUNDS_NV = $00010000;
  4880. GL_FONT_Y_MIN_BOUNDS_NV = $00020000;
  4881. GL_FONT_X_MAX_BOUNDS_NV = $00040000;
  4882. GL_FONT_Y_MAX_BOUNDS_NV = $00080000;
  4883. GL_FONT_UNITS_PER_EM_NV = $00100000;
  4884. GL_FONT_ASCENDER_NV = $00200000;
  4885. GL_FONT_DESCENDER_NV = $00400000;
  4886. GL_FONT_HEIGHT_NV = $00800000;
  4887. GL_FONT_MAX_ADVANCE_WIDTH_NV = $01000000;
  4888. GL_FONT_MAX_ADVANCE_HEIGHT_NV = $02000000;
  4889. GL_FONT_UNDERLINE_POSITION_NV = $04000000;
  4890. GL_FONT_UNDERLINE_THICKNESS_NV = $08000000;
  4891. GL_FONT_HAS_KERNING_NV = $10000000;
  4892. // (4.3) GL_AMD_pinned_memory
  4893. GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD= $9160;
  4894. // (4.3) GL_AMD_stencil_operation_extended
  4895. GL_SET_AMD = $874A;
  4896. GL_REPLACE_VALUE_AMD = $874B;
  4897. GL_STENCIL_OP_VALUE_AMD = $874C;
  4898. GL_STENCIL_BACK_OP_VALUE_AMD = $874D;
  4899. // (4.3) GL_AMD_vertex_shader_viewport_index
  4900. // (4.3) GL_AMD_vertex_shader_layer
  4901. // (4.3) GL_NV_bindless_texture
  4902. // (4.3) GL_NV_shader_atomic_float
  4903. // (4.3) GL_AMD_query_buffer_object
  4904. GL_QUERY_BUFFER_AMD = $9192;
  4905. GL_QUERY_BUFFER_BINDING_AMD = $9193;
  4906. GL_QUERY_RESULT_NO_WAIT_AMD = $9194;
  4907. // GL_FfdMaskSGIX
  4908. GL_TEXTURE_DEFORMATION_BIT_SGIX = $00000001;
  4909. GL_GEOMETRY_DEFORMATION_BIT_SGIX = $00000002;
  4910. // GL_HP_convolution_border_modes
  4911. GL_IGNORE_BORDER_HP = $8150;
  4912. GL_CONSTANT_BORDER_HP = $8151;
  4913. GL_REPLICATE_BORDER_HP = $8153;
  4914. GL_CONVOLUTION_BORDER_COLOR_HP = $8154;
  4915. // GL_HP_image_transform
  4916. GL_IMAGE_SCALE_X_HP = $8155;
  4917. GL_IMAGE_SCALE_Y_HP = $8156;
  4918. GL_IMAGE_TRANSLATE_X_HP = $8157;
  4919. GL_IMAGE_TRANSLATE_Y_HP = $8158;
  4920. GL_IMAGE_ROTATE_ANGLE_HP = $8159;
  4921. GL_IMAGE_ROTATE_ORIGIN_X_HP = $815A;
  4922. GL_IMAGE_ROTATE_ORIGIN_Y_HP = $815B;
  4923. GL_IMAGE_MAG_FILTER_HP = $815C;
  4924. GL_IMAGE_MIN_FILTER_HP = $815D;
  4925. GL_IMAGE_CUBIC_WEIGHT_HP = $815E;
  4926. GL_CUBIC_HP = $815F;
  4927. GL_AVERAGE_HP = $8160;
  4928. GL_IMAGE_TRANSFORM_2D_HP = $8161;
  4929. GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8162;
  4930. GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8163;
  4931. // GL_HP_occlusion_test
  4932. GL_OCCLUSION_TEST_HP = $8165;
  4933. GL_OCCLUSION_TEST_RESULT_HP = $8166;
  4934. // GL_HP_texture_lighting
  4935. GL_TEXTURE_LIGHTING_MODE_HP = $8167;
  4936. GL_TEXTURE_POST_SPECULAR_HP = $8168;
  4937. GL_TEXTURE_PRE_SPECULAR_HP = $8169;
  4938. // GL_IBM_cull_vertex
  4939. GL_CULL_VERTEX_IBM = 103050;
  4940. // GL_IBM_rasterpos_clip
  4941. GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
  4942. // GL_IBM_texture_mirrored_repeat
  4943. GL_MIRRORED_REPEAT_IBM = $8370;
  4944. // GL_IBM_vertex_array_lists
  4945. GL_VERTEX_ARRAY_LIST_IBM = 103070;
  4946. GL_NORMAL_ARRAY_LIST_IBM = 103071;
  4947. GL_COLOR_ARRAY_LIST_IBM = 103072;
  4948. GL_INDEX_ARRAY_LIST_IBM = 103073;
  4949. GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074;
  4950. GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075;
  4951. GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076;
  4952. GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077;
  4953. GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080;
  4954. GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081;
  4955. GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082;
  4956. GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083;
  4957. GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084;
  4958. GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085;
  4959. GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086;
  4960. GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087;
  4961. // GL_INGR_color_clamp
  4962. GL_RED_MIN_CLAMP_INGR = $8560;
  4963. GL_GREEN_MIN_CLAMP_INGR = $8561;
  4964. GL_BLUE_MIN_CLAMP_INGR = $8562;
  4965. GL_ALPHA_MIN_CLAMP_INGR = $8563;
  4966. GL_RED_MAX_CLAMP_INGR = $8564;
  4967. GL_GREEN_MAX_CLAMP_INGR = $8565;
  4968. GL_BLUE_MAX_CLAMP_INGR = $8566;
  4969. GL_ALPHA_MAX_CLAMP_INGR = $8567;
  4970. // GL_INGR_interlace_read
  4971. GL_INTERLACE_READ_INGR = $8568;
  4972. // GL_INTEL_parallel_arrays
  4973. GL_PARALLEL_ARRAYS_INTEL = $83F4;
  4974. GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = $83F5;
  4975. GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = $83F6;
  4976. GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = $83F7;
  4977. GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = $83F8;
  4978. // GL_NV_copy_depth_to_color
  4979. GL_DEPTH_STENCIL_TO_RGBA_NV = $886E;
  4980. GL_DEPTH_STENCIL_TO_BGRA_NV = $886F;
  4981. // GL_NV_depth_clamp
  4982. GL_DEPTH_CLAMP_NV = $864F;
  4983. // GL_NV_evaluators
  4984. GL_EVAL_2D_NV = $86C0;
  4985. GL_EVAL_TRIANGULAR_2D_NV = $86C1;
  4986. GL_MAP_TESSELLATION_NV = $86C2;
  4987. GL_MAP_ATTRIB_U_ORDER_NV = $86C3;
  4988. GL_MAP_ATTRIB_V_ORDER_NV = $86C4;
  4989. GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5;
  4990. GL_EVAL_VERTEX_ATTRIB0_NV = $86C6;
  4991. GL_EVAL_VERTEX_ATTRIB1_NV = $86C7;
  4992. GL_EVAL_VERTEX_ATTRIB2_NV = $86C8;
  4993. GL_EVAL_VERTEX_ATTRIB3_NV = $86C9;
  4994. GL_EVAL_VERTEX_ATTRIB4_NV = $86CA;
  4995. GL_EVAL_VERTEX_ATTRIB5_NV = $86CB;
  4996. GL_EVAL_VERTEX_ATTRIB6_NV = $86CC;
  4997. GL_EVAL_VERTEX_ATTRIB7_NV = $86CD;
  4998. GL_EVAL_VERTEX_ATTRIB8_NV = $86CE;
  4999. GL_EVAL_VERTEX_ATTRIB9_NV = $86CF;
  5000. GL_EVAL_VERTEX_ATTRIB10_NV = $86D0;
  5001. GL_EVAL_VERTEX_ATTRIB11_NV = $86D1;
  5002. GL_EVAL_VERTEX_ATTRIB12_NV = $86D2;
  5003. GL_EVAL_VERTEX_ATTRIB13_NV = $86D3;
  5004. GL_EVAL_VERTEX_ATTRIB14_NV = $86D4;
  5005. GL_EVAL_VERTEX_ATTRIB15_NV = $86D5;
  5006. GL_MAX_MAP_TESSELLATION_NV = $86D6;
  5007. GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7;
  5008. // GL_NV_fence
  5009. GL_ALL_COMPLETED_NV = $84F2;
  5010. GL_FENCE_STATUS_NV = $84F3;
  5011. GL_FENCE_CONDITION_NV = $84F4;
  5012. // GL_NV_float_buffer
  5013. GL_FLOAT_R_NV = $8880;
  5014. GL_FLOAT_RG_NV = $8881;
  5015. GL_FLOAT_RGB_NV = $8882;
  5016. GL_FLOAT_RGBA_NV = $8883;
  5017. GL_FLOAT_R16_NV = $8884;
  5018. GL_FLOAT_R32_NV = $8885;
  5019. GL_FLOAT_RG16_NV = $8886;
  5020. GL_FLOAT_RG32_NV = $8887;
  5021. GL_FLOAT_RGB16_NV = $8888;
  5022. GL_FLOAT_RGB32_NV = $8889;
  5023. GL_FLOAT_RGBA16_NV = $888A;
  5024. GL_FLOAT_RGBA32_NV = $888B;
  5025. GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C;
  5026. GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D;
  5027. GL_FLOAT_RGBA_MODE_NV = $888E;
  5028. // GL_NV_fog_distance
  5029. GL_FOG_DISTANCE_MODE_NV = $855A;
  5030. GL_EYE_RADIAL_NV = $855B;
  5031. GL_EYE_PLANE_ABSOLUTE_NV = $855C;
  5032. // GL_NV_fragment_program
  5033. GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868;
  5034. GL_FRAGMENT_PROGRAM_NV = $8870;
  5035. GL_MAX_TEXTURE_COORDS_NV = $8871;
  5036. GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872;
  5037. GL_FRAGMENT_PROGRAM_BINDING_NV = $8873;
  5038. GL_PROGRAM_ERROR_STRING_NV = $8874;
  5039. // GL_NV_half_float
  5040. GL_HALF_FLOAT_NV = $140B;
  5041. // GL_NV_light_max_exponent
  5042. GL_MAX_SHININESS_NV = $8504;
  5043. GL_MAX_SPOT_EXPONENT_NV = $8505;
  5044. // GL_NV_multisample_filter_hint
  5045. GL_MULTISAMPLE_FILTER_HINT_NV = $8534;
  5046. // GL_NV_occlusion_query
  5047. GL_PIXEL_COUNTER_BITS_NV = $8864;
  5048. GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865;
  5049. GL_PIXEL_COUNT_NV = $8866;
  5050. GL_PIXEL_COUNT_AVAILABLE_NV = $8867;
  5051. // GL_NV_packed_depth_stencil
  5052. GL_DEPTH_STENCIL_NV = $84F9;
  5053. GL_UNSIGNED_INT_24_8_NV = $84FA;
  5054. // GL_NV_pixel_data_range
  5055. GL_WRITE_PIXEL_DATA_RANGE_NV = $8878;
  5056. GL_READ_PIXEL_DATA_RANGE_NV = $8879;
  5057. GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = $887A;
  5058. GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = $887B;
  5059. GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = $887C;
  5060. GL_READ_PIXEL_DATA_RANGE_POINTER_NV = $887D;
  5061. // GL_NV_point_sprite
  5062. GL_POINT_SPRITE_NV = $8861;
  5063. GL_COORD_REPLACE_NV = $8862;
  5064. GL_POINT_SPRITE_R_MODE_NV = $8863;
  5065. // GL_NV_primitive_restart
  5066. GL_PRIMITIVE_RESTART_NV = $8558;
  5067. GL_PRIMITIVE_RESTART_INDEX_NV = $8559;
  5068. // GL_NV_register_combiners
  5069. GL_REGISTER_COMBINERS_NV = $8522;
  5070. GL_VARIABLE_A_NV = $8523;
  5071. GL_VARIABLE_B_NV = $8524;
  5072. GL_VARIABLE_C_NV = $8525;
  5073. GL_VARIABLE_D_NV = $8526;
  5074. GL_VARIABLE_E_NV = $8527;
  5075. GL_VARIABLE_F_NV = $8528;
  5076. GL_VARIABLE_G_NV = $8529;
  5077. GL_CONSTANT_COLOR0_NV = $852A;
  5078. GL_CONSTANT_COLOR1_NV = $852B;
  5079. GL_PRIMARY_COLOR_NV = $852C;
  5080. GL_SECONDARY_COLOR_NV = $852D;
  5081. GL_SPARE0_NV = $852E;
  5082. GL_SPARE1_NV = $852F;
  5083. GL_DISCARD_NV = $8530;
  5084. GL_E_TIMES_F_NV = $8531;
  5085. GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
  5086. GL_UNSIGNED_IDENTITY_NV = $8536;
  5087. GL_UNSIGNED_INVERT_NV = $8537;
  5088. GL_EXPAND_NORMAL_NV = $8538;
  5089. GL_EXPAND_NEGATE_NV = $8539;
  5090. GL_HALF_BIAS_NORMAL_NV = $853A;
  5091. GL_HALF_BIAS_NEGATE_NV = $853B;
  5092. GL_SIGNED_IDENTITY_NV = $853C;
  5093. GL_SIGNED_NEGATE_NV = $853D;
  5094. GL_SCALE_BY_TWO_NV = $853E;
  5095. GL_SCALE_BY_FOUR_NV = $853F;
  5096. GL_SCALE_BY_ONE_HALF_NV = $8540;
  5097. GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
  5098. GL_COMBINER_INPUT_NV = $8542;
  5099. GL_COMBINER_MAPPING_NV = $8543;
  5100. GL_COMBINER_COMPONENT_USAGE_NV = $8544;
  5101. GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
  5102. GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
  5103. GL_COMBINER_MUX_SUM_NV = $8547;
  5104. GL_COMBINER_SCALE_NV = $8548;
  5105. GL_COMBINER_BIAS_NV = $8549;
  5106. GL_COMBINER_AB_OUTPUT_NV = $854A;
  5107. GL_COMBINER_CD_OUTPUT_NV = $854B;
  5108. GL_COMBINER_SUM_OUTPUT_NV = $854C;
  5109. GL_MAX_GENERAL_COMBINERS_NV = $854D;
  5110. GL_NUM_GENERAL_COMBINERS_NV = $854E;
  5111. GL_COLOR_SUM_CLAMP_NV = $854F;
  5112. GL_COMBINER0_NV = $8550;
  5113. GL_COMBINER1_NV = $8551;
  5114. GL_COMBINER2_NV = $8552;
  5115. GL_COMBINER3_NV = $8553;
  5116. GL_COMBINER4_NV = $8554;
  5117. GL_COMBINER5_NV = $8555;
  5118. GL_COMBINER6_NV = $8556;
  5119. GL_COMBINER7_NV = $8557;
  5120. // GL_NV_register_combiners2
  5121. GL_PER_STAGE_CONSTANTS_NV = $8535;
  5122. // GL_NV_texgen_emboss
  5123. GL_EMBOSS_LIGHT_NV = $855D;
  5124. GL_EMBOSS_CONSTANT_NV = $855E;
  5125. GL_EMBOSS_MAP_NV = $855F;
  5126. // GL_NV_texgen_reflection
  5127. GL_NORMAL_MAP_NV = $8511;
  5128. GL_REFLECTION_MAP_NV = $8512;
  5129. // GL_NV_texture_env_combine4
  5130. GL_COMBINE4_NV = $8503;
  5131. GL_SOURCE3_RGB_NV = $8583;
  5132. GL_SOURCE3_ALPHA_NV = $858B;
  5133. GL_OPERAND3_RGB_NV = $8593;
  5134. GL_OPERAND3_ALPHA_NV = $859B;
  5135. // GL_NV_texture_expand_normal
  5136. GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = $888F;
  5137. // GL_NV_texture_rectangle
  5138. GL_TEXTURE_RECTANGLE_NV = $84F5;
  5139. GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6;
  5140. GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7;
  5141. GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8;
  5142. // GL_NV_texture_shader
  5143. GL_OFFSET_TEXTURE_RECTANGLE_NV = $864C;
  5144. GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = $864D;
  5145. GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = $864E;
  5146. GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9;
  5147. GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA;
  5148. GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = $86DB;
  5149. GL_DSDT_MAG_INTENSITY_NV = $86DC;
  5150. GL_SHADER_CONSISTENT_NV = $86DD;
  5151. GL_TEXTURE_SHADER_NV = $86DE;
  5152. GL_SHADER_OPERATION_NV = $86DF;
  5153. GL_CULL_MODES_NV = $86E0;
  5154. GL_OFFSET_TEXTURE_MATRIX_NV = $86E1;
  5155. GL_OFFSET_TEXTURE_SCALE_NV = $86E2;
  5156. GL_OFFSET_TEXTURE_BIAS_NV = $86E3;
  5157. GL_OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV;
  5158. GL_OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV;
  5159. GL_OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV;
  5160. GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4;
  5161. GL_CONST_EYE_NV = $86E5;
  5162. GL_PASS_THROUGH_NV = $86E6;
  5163. GL_CULL_FRAGMENT_NV = $86E7;
  5164. GL_OFFSET_TEXTURE_2D_NV = $86E8;
  5165. GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9;
  5166. GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA;
  5167. GL_DOT_PRODUCT_NV = $86EC;
  5168. GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED;
  5169. GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE;
  5170. GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0;
  5171. GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1;
  5172. GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2;
  5173. GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3;
  5174. GL_HILO_NV = $86F4;
  5175. GL_DSDT_NV = $86F5;
  5176. GL_DSDT_MAG_NV = $86F6;
  5177. GL_DSDT_MAG_VIB_NV = $86F7;
  5178. GL_HILO16_NV = $86F8;
  5179. GL_SIGNED_HILO_NV = $86F9;
  5180. GL_SIGNED_HILO16_NV = $86FA;
  5181. GL_SIGNED_RGBA_NV = $86FB;
  5182. GL_SIGNED_RGBA8_NV = $86FC;
  5183. GL_SIGNED_RGB_NV = $86FE;
  5184. GL_SIGNED_RGB8_NV = $86FF;
  5185. GL_SIGNED_LUMINANCE_NV = $8701;
  5186. GL_SIGNED_LUMINANCE8_NV = $8702;
  5187. GL_SIGNED_LUMINANCE_ALPHA_NV = $8703;
  5188. GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704;
  5189. GL_SIGNED_ALPHA_NV = $8705;
  5190. GL_SIGNED_ALPHA8_NV = $8706;
  5191. GL_SIGNED_INTENSITY_NV = $8707;
  5192. GL_SIGNED_INTENSITY8_NV = $8708;
  5193. GL_DSDT8_NV = $8709;
  5194. GL_DSDT8_MAG8_NV = $870A;
  5195. GL_DSDT8_MAG8_INTENSITY8_NV = $870B;
  5196. GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C;
  5197. GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D;
  5198. GL_HI_SCALE_NV = $870E;
  5199. GL_LO_SCALE_NV = $870F;
  5200. GL_DS_SCALE_NV = $8710;
  5201. GL_DT_SCALE_NV = $8711;
  5202. GL_MAGNITUDE_SCALE_NV = $8712;
  5203. GL_VIBRANCE_SCALE_NV = $8713;
  5204. GL_HI_BIAS_NV = $8714;
  5205. GL_LO_BIAS_NV = $8715;
  5206. GL_DS_BIAS_NV = $8716;
  5207. GL_DT_BIAS_NV = $8717;
  5208. GL_MAGNITUDE_BIAS_NV = $8718;
  5209. GL_VIBRANCE_BIAS_NV = $8719;
  5210. GL_TEXTURE_BORDER_VALUES_NV = $871A;
  5211. GL_TEXTURE_HI_SIZE_NV = $871B;
  5212. GL_TEXTURE_LO_SIZE_NV = $871C;
  5213. GL_TEXTURE_DS_SIZE_NV = $871D;
  5214. GL_TEXTURE_DT_SIZE_NV = $871E;
  5215. GL_TEXTURE_MAG_SIZE_NV = $871F;
  5216. // GL_NV_texture_shader2
  5217. GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF;
  5218. // GL_NV_texture_shader3
  5219. GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850;
  5220. GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851;
  5221. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852;
  5222. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853;
  5223. GL_OFFSET_HILO_TEXTURE_2D_NV = $8854;
  5224. GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855;
  5225. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856;
  5226. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857;
  5227. GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858;
  5228. GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859;
  5229. GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A;
  5230. GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B;
  5231. GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C;
  5232. GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D;
  5233. GL_HILO8_NV = $885E;
  5234. GL_SIGNED_HILO8_NV = $885F;
  5235. GL_FORCE_BLUE_TO_ONE_NV = $8860;
  5236. // GL_NV_vertex_array_range
  5237. GL_VERTEX_ARRAY_RANGE_NV = $851D;
  5238. GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
  5239. GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
  5240. GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
  5241. GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
  5242. // GL_NV_vertex_array_range2
  5243. GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = $8533;
  5244. // GL_NV_vertex_program
  5245. GL_VERTEX_PROGRAM_NV = $8620;
  5246. GL_VERTEX_STATE_PROGRAM_NV = $8621;
  5247. GL_ATTRIB_ARRAY_SIZE_NV = $8623;
  5248. GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
  5249. GL_ATTRIB_ARRAY_TYPE_NV = $8625;
  5250. GL_CURRENT_ATTRIB_NV = $8626;
  5251. GL_PROGRAM_LENGTH_NV = $8627;
  5252. GL_PROGRAM_STRING_NV = $8628;
  5253. GL_MODELVIEW_PROJECTION_NV = $8629;
  5254. GL_IDENTITY_NV = $862A;
  5255. GL_INVERSE_NV = $862B;
  5256. GL_TRANSPOSE_NV = $862C;
  5257. GL_INVERSE_TRANSPOSE_NV = $862D;
  5258. GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
  5259. GL_MAX_TRACK_MATRICES_NV = $862F;
  5260. GL_MATRIX0_NV = $8630;
  5261. GL_MATRIX1_NV = $8631;
  5262. GL_MATRIX2_NV = $8632;
  5263. GL_MATRIX3_NV = $8633;
  5264. GL_MATRIX4_NV = $8634;
  5265. GL_MATRIX5_NV = $8635;
  5266. GL_MATRIX6_NV = $8636;
  5267. GL_MATRIX7_NV = $8637;
  5268. GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
  5269. GL_CURRENT_MATRIX_NV = $8641;
  5270. GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
  5271. GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
  5272. GL_PROGRAM_PARAMETER_NV = $8644;
  5273. GL_ATTRIB_ARRAY_POINTER_NV = $8645;
  5274. GL_PROGRAM_TARGET_NV = $8646;
  5275. GL_PROGRAM_RESIDENT_NV = $8647;
  5276. GL_TRACK_MATRIX_NV = $8648;
  5277. GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
  5278. GL_VERTEX_PROGRAM_BINDING_NV = $864A;
  5279. GL_PROGRAM_ERROR_POSITION_NV = $864B;
  5280. GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
  5281. GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
  5282. GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
  5283. GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
  5284. GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
  5285. GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
  5286. GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
  5287. GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
  5288. GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
  5289. GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
  5290. GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
  5291. GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
  5292. GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
  5293. GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
  5294. GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
  5295. GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
  5296. GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
  5297. GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
  5298. GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
  5299. GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
  5300. GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
  5301. GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
  5302. GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
  5303. GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
  5304. GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
  5305. GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
  5306. GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
  5307. GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
  5308. GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
  5309. GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
  5310. GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
  5311. GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
  5312. GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
  5313. GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
  5314. GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
  5315. GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
  5316. GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
  5317. GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
  5318. GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
  5319. GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
  5320. GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
  5321. GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
  5322. GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
  5323. GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
  5324. GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
  5325. GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
  5326. GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
  5327. GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
  5328. // GL_NV_fragment_program2 and GL_NV_vertex_program2_option
  5329. GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = $88F4;
  5330. GL_MAX_PROGRAM_CALL_DEPTH_NV = $88F5;
  5331. // GL_NV_fragment_program2
  5332. GL_MAX_PROGRAM_IF_DEPTH_NV = $88F6;
  5333. GL_MAX_PROGRAM_LOOP_DEPTH_NV = $88F7;
  5334. GL_MAX_PROGRAM_LOOP_COUNT_NV = $88F8;
  5335. // GL_NV_vertex_program3
  5336. MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5337. // GL_NV_depth_buffer_float
  5338. GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = $8DAD;
  5339. GL_DEPTH_BUFFER_FLOAT_MODE_NV = $8DAF;
  5340. // GL_NV_framebuffer_multisample_coverage
  5341. GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = $8CAB;
  5342. GL_RENDERBUFFER_COLOR_SAMPLES_NV = $8E10;
  5343. // GL_NV_geometry_program4
  5344. GL_GEOMETRY_PROGRAM_NV = $8C26;
  5345. GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = $8C27;
  5346. GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = $8C28;
  5347. // GL_NV_gpu_program4
  5348. GL_PROGRAM_ATTRIB_COMPONENTS_NV = $8906;
  5349. GL_PROGRAM_RESULT_COMPONENTS_NV = $8907;
  5350. GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = $8908;
  5351. GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = $8909;
  5352. GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = $8DA5;
  5353. GL_MAX_PROGRAM_GENERIC_RESULTS_NV = $8DA6;
  5354. // GL_NV_parameter_buffer_object
  5355. GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = $8DA0;
  5356. GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = $8DA1;
  5357. GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = $8DA2;
  5358. GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = $8DA3;
  5359. GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = $8DA4;
  5360. // GL_NV_transform_feedback
  5361. GL_TRANSFORM_FEEDBACK_BUFFER_NV = $8C8E;
  5362. GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = $8C84;
  5363. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = $8C85;
  5364. GL_TRANSFORM_FEEDBACK_RECORD_NV = $8C86;
  5365. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = $8C8F;
  5366. GL_INTERLEAVED_ATTRIBS_NV = $8C8C;
  5367. GL_SEPARATE_ATTRIBS_NV = $8C8D;
  5368. GL_PRIMITIVES_GENERATED_NV = $8C87;
  5369. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = $8C88;
  5370. GL_RASTERIZER_DISCARD_NV = $8C89;
  5371. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = $8C8A;
  5372. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = $8C8B;
  5373. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = $8C80;
  5374. GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = $8C7E;
  5375. GL_ACTIVE_VARYINGS_NV = $8C81;
  5376. GL_ACTIVE_VARYING_MAX_LENGTH_NV = $8C82;
  5377. GL_TRANSFORM_FEEDBACK_VARYINGS_NV = $8C83;
  5378. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = $8C7F;
  5379. GL_BACK_PRIMARY_COLOR_NV = $8C77;
  5380. GL_BACK_SECONDARY_COLOR_NV = $8C78;
  5381. GL_TEXTURE_COORD_NV = $8C79;
  5382. GL_CLIP_DISTANCE_NV = $8C7A;
  5383. GL_VERTEX_ID_NV = $8C7B;
  5384. GL_PRIMITIVE_ID_NV = $8C7C;
  5385. GL_GENERIC_ATTRIB_NV = $8C7D;
  5386. GL_LAYER_NV = $8DAA;
  5387. GL_NEXT_BUFFER_NV = -2;
  5388. GL_SKIP_COMPONENTS4_NV = -3;
  5389. GL_SKIP_COMPONENTS3_NV = -4;
  5390. GL_SKIP_COMPONENTS2_NV = -5;
  5391. GL_SKIP_COMPONENTS1_NV = -6;
  5392. // GL_NV_conditional_render
  5393. GL_QUERY_WAIT_NV = $8E13;
  5394. GL_QUERY_NO_WAIT_NV = $8E14;
  5395. GL_QUERY_BY_REGION_WAIT_NV = $8E15;
  5396. GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16;
  5397. // GL_NV_present_video
  5398. GL_FRAME_NV = $8E26;
  5399. GL_FIELDS_NV = $8E27;
  5400. GL_CURRENT_TIME_NV = $8E28;
  5401. GL_NUM_FILL_STREAMS_NV = $8E29;
  5402. GL_PRESENT_TIME_NV = $8E2A;
  5403. GL_PRESENT_DURATION_NV = $8E2B;
  5404. // GL_NV_explicit_multisample
  5405. GL_SAMPLE_POSITION_NV = $8E50;
  5406. GL_SAMPLE_MASK_NV = $8E51;
  5407. GL_SAMPLE_MASK_VALUE_NV = $8E52;
  5408. GL_TEXTURE_BINDING_RENDERBUFFER_NV = $8E53;
  5409. GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = $8E54;
  5410. GL_TEXTURE_RENDERBUFFER_NV = $8E55;
  5411. GL_SAMPLER_RENDERBUFFER_NV = $8E56;
  5412. GL_INT_SAMPLER_RENDERBUFFER_NV = $8E57;
  5413. GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = $8E58;
  5414. GL_MAX_SAMPLE_MASK_WORDS_NV = $8E59;
  5415. // GL_NV_transform_feedback2
  5416. GL_TRANSFORM_FEEDBACK_NV = $8E22;
  5417. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = $8E23;
  5418. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = $8E24;
  5419. GL_TRANSFORM_FEEDBACK_BINDING_NV = $8E25;
  5420. // GL_NV_video_capture
  5421. GL_VIDEO_BUFFER_NV = $9020;
  5422. GL_VIDEO_BUFFER_BINDING_NV = $9021;
  5423. GL_FIELD_UPPER_NV = $9022;
  5424. GL_FIELD_LOWER_NV = $9023;
  5425. GL_NUM_VIDEO_CAPTURE_STREAMS_NV = $9024;
  5426. GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = $9025;
  5427. GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = $9026;
  5428. GL_LAST_VIDEO_CAPTURE_STATUS_NV = $9027;
  5429. GL_VIDEO_BUFFER_PITCH_NV = $9028;
  5430. GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = $9029;
  5431. GL_VIDEO_COLOR_CONVERSION_MAX_NV = $902A;
  5432. GL_VIDEO_COLOR_CONVERSION_MIN_NV = $902B;
  5433. GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = $902C;
  5434. GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = $902D;
  5435. GL_PARTIAL_SUCCESS_NV = $902E;
  5436. GL_SUCCESS_NV = $902F;
  5437. GL_FAILURE_NV = $9030;
  5438. GL_YCBYCR8_422_NV = $9031;
  5439. GL_YCBAYCR8A_4224_NV = $9032;
  5440. GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = $9033;
  5441. GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = $9034;
  5442. GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = $9035;
  5443. GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = $9036;
  5444. GL_Z4Y12Z4CB12Z4CR12_444_NV = $9037;
  5445. GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = $9038;
  5446. GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = $9039;
  5447. GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = $903A;
  5448. GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = $903B;
  5449. GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = $903C;
  5450. // GL_NV_shader_buffer_load
  5451. GL_BUFFER_GPU_ADDRESS_NV = $8F1D;
  5452. GL_GPU_ADDRESS_NV = $8F34;
  5453. GL_MAX_SHADER_BUFFER_ADDRESS_NV = $8F35;
  5454. // GL_NV_vertex_buffer_unified_memory
  5455. GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = $8F1E;
  5456. GL_ELEMENT_ARRAY_UNIFIED_NV = $8F1F;
  5457. GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = $8F20;
  5458. GL_VERTEX_ARRAY_ADDRESS_NV = $8F21;
  5459. GL_NORMAL_ARRAY_ADDRESS_NV = $8F22;
  5460. GL_COLOR_ARRAY_ADDRESS_NV = $8F23;
  5461. GL_INDEX_ARRAY_ADDRESS_NV = $8F24;
  5462. GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = $8F25;
  5463. GL_EDGE_FLAG_ARRAY_ADDRESS_NV = $8F26;
  5464. GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = $8F27;
  5465. GL_FOG_COORD_ARRAY_ADDRESS_NV = $8F28;
  5466. GL_ELEMENT_ARRAY_ADDRESS_NV = $8F29;
  5467. GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = $8F2A;
  5468. GL_VERTEX_ARRAY_LENGTH_NV = $8F2B;
  5469. GL_NORMAL_ARRAY_LENGTH_NV = $8F2C;
  5470. GL_COLOR_ARRAY_LENGTH_NV = $8F2D;
  5471. GL_INDEX_ARRAY_LENGTH_NV = $8F2E;
  5472. GL_TEXTURE_COORD_ARRAY_LENGTH_NV = $8F2F;
  5473. GL_EDGE_FLAG_ARRAY_LENGTH_NV = $8F30;
  5474. GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = $8F31;
  5475. GL_FOG_COORD_ARRAY_LENGTH_NV = $8F32;
  5476. GL_ELEMENT_ARRAY_LENGTH_NV = $8F33;
  5477. GL_DRAW_INDIRECT_UNIFIED_NV = $8F40;
  5478. GL_DRAW_INDIRECT_ADDRESS_NV = $8F41;
  5479. GL_DRAW_INDIRECT_LENGTH_NV = $8F42;
  5480. // GL_NV_gpu_program5
  5481. GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = $8E5A;
  5482. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5B;
  5483. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5C;
  5484. GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = $8E5D;
  5485. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5E;
  5486. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5F;
  5487. GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = $8F44;
  5488. GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = $8F45;
  5489. // GL_NV_gpu_shader5
  5490. GL_INT64_NV = $140E;
  5491. GL_UNSIGNED_INT64_NV = $140F;
  5492. GL_INT8_NV = $8FE0;
  5493. GL_INT8_VEC2_NV = $8FE1;
  5494. GL_INT8_VEC3_NV = $8FE2;
  5495. GL_INT8_VEC4_NV = $8FE3;
  5496. GL_INT16_NV = $8FE4;
  5497. GL_INT16_VEC2_NV = $8FE5;
  5498. GL_INT16_VEC3_NV = $8FE6;
  5499. GL_INT16_VEC4_NV = $8FE7;
  5500. GL_INT64_VEC2_NV = $8FE9;
  5501. GL_INT64_VEC3_NV = $8FEA;
  5502. GL_INT64_VEC4_NV = $8FEB;
  5503. GL_UNSIGNED_INT8_NV = $8FEC;
  5504. GL_UNSIGNED_INT8_VEC2_NV = $8FED;
  5505. GL_UNSIGNED_INT8_VEC3_NV = $8FEE;
  5506. GL_UNSIGNED_INT8_VEC4_NV = $8FEF;
  5507. GL_UNSIGNED_INT16_NV = $8FF0;
  5508. GL_UNSIGNED_INT16_VEC2_NV = $8FF1;
  5509. GL_UNSIGNED_INT16_VEC3_NV = $8FF2;
  5510. GL_UNSIGNED_INT16_VEC4_NV = $8FF3;
  5511. GL_UNSIGNED_INT64_VEC2_NV = $8FF5;
  5512. GL_UNSIGNED_INT64_VEC3_NV = $8FF6;
  5513. GL_UNSIGNED_INT64_VEC4_NV = $8FF7;
  5514. GL_FLOAT16_NV = $8FF8;
  5515. GL_FLOAT16_VEC2_NV = $8FF9;
  5516. GL_FLOAT16_VEC3_NV = $8FFA;
  5517. GL_FLOAT16_VEC4_NV = $8FFB;
  5518. { reuse GL_PATCHES }
  5519. // GL_NV_shader_buffer_store
  5520. GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = $00000010;
  5521. { reuse GL_READ_WRITE }
  5522. { reuse GL_WRITE_ONLY }
  5523. // GL_NV_tessellation_program5
  5524. GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = $86D8;
  5525. GL_TESS_CONTROL_PROGRAM_NV = $891E;
  5526. GL_TESS_EVALUATION_PROGRAM_NV = $891F;
  5527. GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = $8C74;
  5528. GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = $8C75;
  5529. // GL_NV_vertex_attrib_integer_64bit
  5530. { reuse GL_INT64_NV }
  5531. { reuse GL_UNSIGNED_INT64_NV }
  5532. // GL_NV_multisample_coverage
  5533. GL_COVERAGE_SAMPLES_NV = $80A9;
  5534. GL_COLOR_SAMPLES_NV = $8E20;
  5535. // GL_NV_vdpau_interop
  5536. GL_SURFACE_STATE_NV = $86EB;
  5537. GL_SURFACE_REGISTERED_NV = $86FD;
  5538. GL_SURFACE_MAPPED_NV = $8700;
  5539. GL_WRITE_DISCARD_NV = $88BE;
  5540. // GL_OML_interlace
  5541. GL_INTERLACE_OML = $8980;
  5542. GL_INTERLACE_READ_OML = $8981;
  5543. // GL_OML_resample
  5544. GL_PACK_RESAMPLE_OML = $8984;
  5545. GL_UNPACK_RESAMPLE_OML = $8985;
  5546. GL_RESAMPLE_REPLICATE_OML = $8986;
  5547. GL_RESAMPLE_ZERO_FILL_OML = $8987;
  5548. GL_RESAMPLE_AVERAGE_OML = $8988;
  5549. GL_RESAMPLE_DECIMATE_OML = $8989;
  5550. // GL_OML_subsample
  5551. GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
  5552. GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;
  5553. // GL_PGI_misc_hints
  5554. GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8;
  5555. GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD;
  5556. GL_RECLAIM_MEMORY_HINT_PGI = $1A1FE;
  5557. GL_NATIVE_GRAPHICS_HANDLE_PGI = $1A202;
  5558. GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = $1A203;
  5559. GL_NATIVE_GRAPHICS_END_HINT_PGI = $1A204;
  5560. GL_ALWAYS_FAST_HINT_PGI = $1A20C;
  5561. GL_ALWAYS_SOFT_HINT_PGI = $1A20D;
  5562. GL_ALLOW_DRAW_OBJ_HINT_PGI = $1A20E;
  5563. GL_ALLOW_DRAW_WIN_HINT_PGI = $1A20F;
  5564. GL_ALLOW_DRAW_FRG_HINT_PGI = $1A210;
  5565. GL_ALLOW_DRAW_MEM_HINT_PGI = $1A211;
  5566. GL_STRICT_DEPTHFUNC_HINT_PGI = $1A216;
  5567. GL_STRICT_LIGHTING_HINT_PGI = $1A217;
  5568. GL_STRICT_SCISSOR_HINT_PGI = $1A218;
  5569. GL_FULL_STIPPLE_HINT_PGI = $1A219;
  5570. GL_CLIP_NEAR_HINT_PGI = $1A220;
  5571. GL_CLIP_FAR_HINT_PGI = $1A221;
  5572. GL_WIDE_LINE_HINT_PGI = $1A222;
  5573. GL_BACK_NORMALS_HINT_PGI = $1A223;
  5574. // GL_PGI_vertex_hints
  5575. GL_VERTEX_DATA_HINT_PGI = $1A22A;
  5576. GL_VERTEX_CONSISTENT_HINT_PGI = $1A22B;
  5577. GL_MATERIAL_SIDE_HINT_PGI = $1A22C;
  5578. GL_MAX_VERTEX_HINT_PGI = $1A22D;
  5579. GL_COLOR3_BIT_PGI = $00010000;
  5580. GL_COLOR4_BIT_PGI = $00020000;
  5581. GL_EDGEFLAG_BIT_PGI = $00040000;
  5582. GL_INDEX_BIT_PGI = $00080000;
  5583. GL_MAT_AMBIENT_BIT_PGI = $00100000;
  5584. GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = $00200000;
  5585. GL_MAT_DIFFUSE_BIT_PGI = $00400000;
  5586. GL_MAT_EMISSION_BIT_PGI = $00800000;
  5587. GL_MAT_COLOR_INDEXES_BIT_PGI = $01000000;
  5588. GL_MAT_SHININESS_BIT_PGI = $02000000;
  5589. GL_MAT_SPECULAR_BIT_PGI = $04000000;
  5590. GL_NORMAL_BIT_PGI = $08000000;
  5591. GL_TEXCOORD1_BIT_PGI = $10000000;
  5592. GL_TEXCOORD2_BIT_PGI = $20000000;
  5593. GL_TEXCOORD3_BIT_PGI = $40000000;
  5594. GL_TEXCOORD4_BIT_PGI = $80000000;
  5595. GL_VERTEX23_BIT_PGI = $00000004;
  5596. GL_VERTEX4_BIT_PGI = $00000008;
  5597. // GL_REND_screen_coordinates
  5598. GL_SCREEN_COORDINATES_REND = $8490;
  5599. GL_INVERTED_SCREEN_W_REND = $8491;
  5600. // GL_S3_s3tc
  5601. GL_RGB_S3TC = $83A0;
  5602. GL_RGB4_S3TC = $83A1;
  5603. GL_RGBA_S3TC = $83A2;
  5604. GL_RGBA4_S3TC = $83A3;
  5605. // GL_SGIS_detail_texture
  5606. GL_DETAIL_TEXTURE_2D_SGIS = $8095;
  5607. GL_DETAIL_TEXTURE_2D_BINDING_SGIS = $8096;
  5608. GL_LINEAR_DETAIL_SGIS = $8097;
  5609. GL_LINEAR_DETAIL_ALPHA_SGIS = $8098;
  5610. GL_LINEAR_DETAIL_COLOR_SGIS = $8099;
  5611. GL_DETAIL_TEXTURE_LEVEL_SGIS = $809A;
  5612. GL_DETAIL_TEXTURE_MODE_SGIS = $809B;
  5613. GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = $809C;
  5614. // GL_SGIS_fog_function
  5615. GL_FOG_FUNC_SGIS = $812A;
  5616. GL_FOG_FUNC_POINTS_SGIS = $812B;
  5617. GL_MAX_FOG_FUNC_POINTS_SGIS = $812C;
  5618. // GL_SGIS_generate_mipmap
  5619. GL_GENERATE_MIPMAP_SGIS = $8191;
  5620. GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
  5621. // GL_SGIS_multisample
  5622. GL_MULTISAMPLE_SGIS = $809D;
  5623. GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
  5624. GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
  5625. GL_SAMPLE_MASK_SGIS = $80A0;
  5626. GL_1PASS_SGIS = $80A1;
  5627. GL_2PASS_0_SGIS = $80A2;
  5628. GL_2PASS_1_SGIS = $80A3;
  5629. GL_4PASS_0_SGIS = $80A4;
  5630. GL_4PASS_1_SGIS = $80A5;
  5631. GL_4PASS_2_SGIS = $80A6;
  5632. GL_4PASS_3_SGIS = $80A7;
  5633. GL_SAMPLE_BUFFERS_SGIS = $80A8;
  5634. GL_SAMPLES_SGIS = $80A9;
  5635. GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
  5636. GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
  5637. GL_SAMPLE_PATTERN_SGIS = $80AC;
  5638. // GL_SGIS_pixel_texture
  5639. GL_PIXEL_TEXTURE_SGIS = $8353;
  5640. GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
  5641. GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
  5642. GL_PIXEL_GROUP_COLOR_SGIS = $8356;
  5643. // GL_SGIS_point_line_texgen
  5644. GL_EYE_DISTANCE_TO_POINT_SGIS = $81F0;
  5645. GL_OBJECT_DISTANCE_TO_POINT_SGIS = $81F1;
  5646. GL_EYE_DISTANCE_TO_LINE_SGIS = $81F2;
  5647. GL_OBJECT_DISTANCE_TO_LINE_SGIS = $81F3;
  5648. GL_EYE_POINT_SGIS = $81F4;
  5649. GL_OBJECT_POINT_SGIS = $81F5;
  5650. GL_EYE_LINE_SGIS = $81F6;
  5651. GL_OBJECT_LINE_SGIS = $81F7;
  5652. // GL_SGIS_point_parameters
  5653. GL_POINT_SIZE_MIN_SGIS = $8126;
  5654. GL_POINT_SIZE_MAX_SGIS = $8127;
  5655. GL_POINT_FADE_THRESHOLD_SIZE_SGIS = $8128;
  5656. GL_DISTANCE_ATTENUATION_SGIS = $8129;
  5657. // GL_SGIS_sharpen_texture
  5658. GL_LINEAR_SHARPEN_SGIS = $80AD;
  5659. GL_LINEAR_SHARPEN_ALPHA_SGIS = $80AE;
  5660. GL_LINEAR_SHARPEN_COLOR_SGIS = $80AF;
  5661. GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = $80B0;
  5662. // GL_SGIS_texture4D
  5663. GL_PACK_SKIP_VOLUMES_SGIS = $8130;
  5664. GL_PACK_IMAGE_DEPTH_SGIS = $8131;
  5665. GL_UNPACK_SKIP_VOLUMES_SGIS = $8132;
  5666. GL_UNPACK_IMAGE_DEPTH_SGIS = $8133;
  5667. GL_TEXTURE_4D_SGIS = $8134;
  5668. GL_PROXY_TEXTURE_4D_SGIS = $8135;
  5669. GL_TEXTURE_4DSIZE_SGIS = $8136;
  5670. GL_TEXTURE_WRAP_Q_SGIS = $8137;
  5671. GL_MAX_4D_TEXTURE_SIZE_SGIS = $8138;
  5672. GL_TEXTURE_4D_BINDING_SGIS = $814F;
  5673. // GL_SGIS_texture_color_mask
  5674. GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
  5675. // GL_SGIS_texture_edge_clamp
  5676. GL_CLAMP_TO_EDGE_SGIS = $812F;
  5677. // GL_SGIS_texture_filter4
  5678. GL_FILTER4_SGIS = $8146;
  5679. GL_TEXTURE_FILTER4_SIZE_SGIS = $8147;
  5680. // GL_SGIS_texture_lod
  5681. GL_TEXTURE_MIN_LOD_SGIS = $813A;
  5682. GL_TEXTURE_MAX_LOD_SGIS = $813B;
  5683. GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
  5684. GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
  5685. // GL_SGIS_texture_select
  5686. GL_DUAL_ALPHA4_SGIS = $8110;
  5687. GL_DUAL_ALPHA8_SGIS = $8111;
  5688. GL_DUAL_ALPHA12_SGIS = $8112;
  5689. GL_DUAL_ALPHA16_SGIS = $8113;
  5690. GL_DUAL_LUMINANCE4_SGIS = $8114;
  5691. GL_DUAL_LUMINANCE8_SGIS = $8115;
  5692. GL_DUAL_LUMINANCE12_SGIS = $8116;
  5693. GL_DUAL_LUMINANCE16_SGIS = $8117;
  5694. GL_DUAL_INTENSITY4_SGIS = $8118;
  5695. GL_DUAL_INTENSITY8_SGIS = $8119;
  5696. GL_DUAL_INTENSITY12_SGIS = $811A;
  5697. GL_DUAL_INTENSITY16_SGIS = $811B;
  5698. GL_DUAL_LUMINANCE_ALPHA4_SGIS = $811C;
  5699. GL_DUAL_LUMINANCE_ALPHA8_SGIS = $811D;
  5700. GL_QUAD_ALPHA4_SGIS = $811E;
  5701. GL_QUAD_ALPHA8_SGIS = $811F;
  5702. GL_QUAD_LUMINANCE4_SGIS = $8120;
  5703. GL_QUAD_LUMINANCE8_SGIS = $8121;
  5704. GL_QUAD_INTENSITY4_SGIS = $8122;
  5705. GL_QUAD_INTENSITY8_SGIS = $8123;
  5706. GL_DUAL_TEXTURE_SELECT_SGIS = $8124;
  5707. GL_QUAD_TEXTURE_SELECT_SGIS = $8125;
  5708. // GL_SGIX_async
  5709. GL_ASYNC_MARKER_SGIX = $8329;
  5710. // GL_SGIX_async_histogram
  5711. GL_ASYNC_HISTOGRAM_SGIX = $832C;
  5712. GL_MAX_ASYNC_HISTOGRAM_SGIX = $832D;
  5713. // GL_SGIX_async_pixel
  5714. GL_ASYNC_TEX_IMAGE_SGIX = $835C;
  5715. GL_ASYNC_DRAW_PIXELS_SGIX = $835D;
  5716. GL_ASYNC_READ_PIXELS_SGIX = $835E;
  5717. GL_MAX_ASYNC_TEX_IMAGE_SGIX = $835F;
  5718. GL_MAX_ASYNC_DRAW_PIXELS_SGIX = $8360;
  5719. GL_MAX_ASYNC_READ_PIXELS_SGIX = $8361;
  5720. // GL_SGIX_blend_alpha_minmax
  5721. GL_ALPHA_MIN_SGIX = $8320;
  5722. GL_ALPHA_MAX_SGIX = $8321;
  5723. // GL_SGIX_calligraphic_fragment
  5724. GL_CALLIGRAPHIC_FRAGMENT_SGIX = $8183;
  5725. // GL_SGIX_clipmap
  5726. GL_LINEAR_CLIPMAP_LINEAR_SGIX = $8170;
  5727. GL_TEXTURE_CLIPMAP_CENTER_SGIX = $8171;
  5728. GL_TEXTURE_CLIPMAP_FRAME_SGIX = $8172;
  5729. GL_TEXTURE_CLIPMAP_OFFSET_SGIX = $8173;
  5730. GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8174;
  5731. GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = $8175;
  5732. GL_TEXTURE_CLIPMAP_DEPTH_SGIX = $8176;
  5733. GL_MAX_CLIPMAP_DEPTH_SGIX = $8177;
  5734. GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8178;
  5735. GL_NEAREST_CLIPMAP_NEAREST_SGIX = $844D;
  5736. GL_NEAREST_CLIPMAP_LINEAR_SGIX = $844E;
  5737. GL_LINEAR_CLIPMAP_NEAREST_SGIX = $844F;
  5738. // GL_SGIX_convolution_accuracy
  5739. GL_CONVOLUTION_HINT_SGIX = $8316;
  5740. // GL_SGIX_depth_texture
  5741. GL_DEPTH_COMPONENT16_SGIX = $81A5;
  5742. GL_DEPTH_COMPONENT24_SGIX = $81A6;
  5743. GL_DEPTH_COMPONENT32_SGIX = $81A7;
  5744. // GL_SGIX_fog_offset
  5745. GL_FOG_OFFSET_SGIX = $8198;
  5746. GL_FOG_OFFSET_VALUE_SGIX = $8199;
  5747. // GL_SGIX_fog_scale
  5748. GL_FOG_SCALE_SGIX = $81FC;
  5749. GL_FOG_SCALE_VALUE_SGIX = $81FD;
  5750. // GL_SGIX_fragment_lighting
  5751. GL_FRAGMENT_LIGHTING_SGIX = $8400;
  5752. GL_FRAGMENT_COLOR_MATERIAL_SGIX = $8401;
  5753. GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = $8402;
  5754. GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = $8403;
  5755. GL_MAX_FRAGMENT_LIGHTS_SGIX = $8404;
  5756. GL_MAX_ACTIVE_LIGHTS_SGIX = $8405;
  5757. GL_CURRENT_RASTER_NORMAL_SGIX = $8406;
  5758. GL_LIGHT_ENV_MODE_SGIX = $8407;
  5759. GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = $8408;
  5760. GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = $8409;
  5761. GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = $840A;
  5762. GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = $840B;
  5763. GL_FRAGMENT_LIGHT0_SGIX = $840C;
  5764. GL_FRAGMENT_LIGHT1_SGIX = $840D;
  5765. GL_FRAGMENT_LIGHT2_SGIX = $840E;
  5766. GL_FRAGMENT_LIGHT3_SGIX = $840F;
  5767. GL_FRAGMENT_LIGHT4_SGIX = $8410;
  5768. GL_FRAGMENT_LIGHT5_SGIX = $8411;
  5769. GL_FRAGMENT_LIGHT6_SGIX = $8412;
  5770. GL_FRAGMENT_LIGHT7_SGIX = $8413;
  5771. // GL_SGIX_framezoom
  5772. GL_FRAMEZOOM_SGIX = $818B;
  5773. GL_FRAMEZOOM_FACTOR_SGIX = $818C;
  5774. GL_MAX_FRAMEZOOM_FACTOR_SGIX = $818D;
  5775. // GL_SGIX_impact_pixel_texture
  5776. GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = $8184;
  5777. GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = $8185;
  5778. GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = $8186;
  5779. GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = $8187;
  5780. GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = $8188;
  5781. GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = $8189;
  5782. GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = $818A;
  5783. // GL_SGIX_instruments
  5784. GL_INSTRUMENT_BUFFER_POINTER_SGIX = $8180;
  5785. GL_INSTRUMENT_MEASUREMENTS_SGIX = $8181;
  5786. // GL_SGIX_interlace
  5787. GL_INTERLACE_SGIX = $8094;
  5788. // GL_SGIX_ir_instrument1
  5789. GL_IR_INSTRUMENT1_SGIX = $817F;
  5790. // GL_SGIX_list_priority
  5791. GL_LIST_PRIORITY_SGIX = $8182;
  5792. // GL_SGIX_pixel_texture
  5793. GL_PIXEL_TEX_GEN_SGIX = $8139;
  5794. GL_PIXEL_TEX_GEN_MODE_SGIX = $832B;
  5795. // GL_SGIX_pixel_tiles
  5796. GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = $813E;
  5797. GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = $813F;
  5798. GL_PIXEL_TILE_WIDTH_SGIX = $8140;
  5799. GL_PIXEL_TILE_HEIGHT_SGIX = $8141;
  5800. GL_PIXEL_TILE_GRID_WIDTH_SGIX = $8142;
  5801. GL_PIXEL_TILE_GRID_HEIGHT_SGIX = $8143;
  5802. GL_PIXEL_TILE_GRID_DEPTH_SGIX = $8144;
  5803. GL_PIXEL_TILE_CACHE_SIZE_SGIX = $8145;
  5804. // GL_SGIX_polynomial_ffd
  5805. GL_GEOMETRY_DEFORMATION_SGIX = $8194;
  5806. GL_TEXTURE_DEFORMATION_SGIX = $8195;
  5807. GL_DEFORMATIONS_MASK_SGIX = $8196;
  5808. GL_MAX_DEFORMATION_ORDER_SGIX = $8197;
  5809. // GL_SGIX_reference_plane
  5810. GL_REFERENCE_PLANE_SGIX = $817D;
  5811. GL_REFERENCE_PLANE_EQUATION_SGIX = $817E;
  5812. // GL_SGIX_resample
  5813. GL_PACK_RESAMPLE_SGIX = $842C;
  5814. GL_UNPACK_RESAMPLE_SGIX = $842D;
  5815. GL_RESAMPLE_REPLICATE_SGIX = $842E;
  5816. GL_RESAMPLE_ZERO_FILL_SGIX = $842F;
  5817. GL_RESAMPLE_DECIMATE_SGIX = $8430;
  5818. // GL_SGIX_scalebias_hint
  5819. GL_SCALEBIAS_HINT_SGIX = $8322;
  5820. // GL_SGIX_shadow
  5821. GL_TEXTURE_COMPARE_SGIX = $819A;
  5822. GL_TEXTURE_COMPARE_OPERATOR_SGIX = $819B;
  5823. GL_TEXTURE_LEQUAL_R_SGIX = $819C;
  5824. GL_TEXTURE_GEQUAL_R_SGIX = $819D;
  5825. // GL_SGIX_shadow_ambient
  5826. GL_SHADOW_AMBIENT_SGIX = $80BF;
  5827. // GL_SGIX_sprite
  5828. GL_SPRITE_SGIX = $8148;
  5829. GL_SPRITE_MODE_SGIX = $8149;
  5830. GL_SPRITE_AXIS_SGIX = $814A;
  5831. GL_SPRITE_TRANSLATION_SGIX = $814B;
  5832. GL_SPRITE_AXIAL_SGIX = $814C;
  5833. GL_SPRITE_OBJECT_ALIGNED_SGIX = $814D;
  5834. GL_SPRITE_EYE_ALIGNED_SGIX = $814E;
  5835. // GL_SGIX_subsample
  5836. GL_PACK_SUBSAMPLE_RATE_SGIX = $85A0;
  5837. GL_UNPACK_SUBSAMPLE_RATE_SGIX = $85A1;
  5838. GL_PIXEL_SUBSAMPLE_4444_SGIX = $85A2;
  5839. GL_PIXEL_SUBSAMPLE_2424_SGIX = $85A3;
  5840. GL_PIXEL_SUBSAMPLE_4242_SGIX = $85A4;
  5841. // GL_SGIX_texture_add_env
  5842. GL_TEXTURE_ENV_BIAS_SGIX = $80BE;
  5843. // GL_SGIX_texture_coordinate_clamp
  5844. GL_TEXTURE_MAX_CLAMP_S_SGIX = $8369;
  5845. GL_TEXTURE_MAX_CLAMP_T_SGIX = $836A;
  5846. GL_TEXTURE_MAX_CLAMP_R_SGIX = $836B;
  5847. // GL_SGIX_texture_lod_bias
  5848. GL_TEXTURE_LOD_BIAS_S_SGIX = $818E;
  5849. GL_TEXTURE_LOD_BIAS_T_SGIX = $818F;
  5850. GL_TEXTURE_LOD_BIAS_R_SGIX = $8190;
  5851. // GL_SGIX_texture_multi_buffer
  5852. GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = $812E;
  5853. // GL_SGIX_texture_scale_bias
  5854. GL_POST_TEXTURE_FILTER_BIAS_SGIX = $8179;
  5855. GL_POST_TEXTURE_FILTER_SCALE_SGIX = $817A;
  5856. GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = $817B;
  5857. GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = $817C;
  5858. // GL_SGIX_vertex_preclip
  5859. GL_VERTEX_PRECLIP_SGIX = $83EE;
  5860. GL_VERTEX_PRECLIP_HINT_SGIX = $83EF;
  5861. // GL_SGIX_ycrcb
  5862. GL_YCRCB_422_SGIX = $81BB;
  5863. GL_YCRCB_444_SGIX = $81BC;
  5864. // GL_SGIX_ycrcba
  5865. GL_YCRCB_SGIX = $8318;
  5866. GL_YCRCBA_SGIX = $8319;
  5867. // GL_SGI_color_matrix
  5868. GL_COLOR_MATRIX_SGI = $80B1;
  5869. GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
  5870. GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
  5871. GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
  5872. GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
  5873. GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
  5874. GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
  5875. GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
  5876. GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
  5877. GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
  5878. GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
  5879. // GL_SGI_color_table
  5880. GL_COLOR_TABLE_SGI = $80D0;
  5881. GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
  5882. GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
  5883. GL_PROXY_COLOR_TABLE_SGI = $80D3;
  5884. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
  5885. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
  5886. GL_COLOR_TABLE_SCALE_SGI = $80D6;
  5887. GL_COLOR_TABLE_BIAS_SGI = $80D7;
  5888. GL_COLOR_TABLE_FORMAT_SGI = $80D8;
  5889. GL_COLOR_TABLE_WIDTH_SGI = $80D9;
  5890. GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
  5891. GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
  5892. GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
  5893. GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
  5894. GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
  5895. GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
  5896. // GL_SGI_depth_pass_instrument
  5897. GL_DEPTH_PASS_INSTRUMENT_SGIX = $8310;
  5898. GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = $8311;
  5899. GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = $8312;
  5900. // GL_SGI_texture_color_table
  5901. GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
  5902. GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
  5903. // GL_SUNX_constant_data
  5904. GL_UNPACK_CONSTANT_DATA_SUNX = $81D5;
  5905. GL_TEXTURE_CONSTANT_DATA_SUNX = $81D6;
  5906. // GL_SUN_convolution_border_modes
  5907. GL_WRAP_BORDER_SUN = $81D4;
  5908. // GL_SUN_global_alpha
  5909. GL_GLOBAL_ALPHA_SUN = $81D9;
  5910. GL_GLOBAL_ALPHA_FACTOR_SUN = $81DA;
  5911. // GL_SUN_mesh_array
  5912. GL_QUAD_MESH_SUN = $8614;
  5913. GL_TRIANGLE_MESH_SUN = $8615;
  5914. // GL_SUN_slice_accum
  5915. GL_SLICE_ACCUM_SUN = $85CC;
  5916. // GL_SUN_triangle_list
  5917. GL_RESTART_SUN = $0001;
  5918. GL_REPLACE_MIDDLE_SUN = $0002;
  5919. GL_REPLACE_OLDEST_SUN = $0003;
  5920. GL_TRIANGLE_LIST_SUN = $81D7;
  5921. GL_REPLACEMENT_CODE_SUN = $81D8;
  5922. GL_REPLACEMENT_CODE_ARRAY_SUN = $85C0;
  5923. GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = $85C1;
  5924. GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = $85C2;
  5925. GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = $85C3;
  5926. GL_R1UI_V3F_SUN = $85C4;
  5927. GL_R1UI_C4UB_V3F_SUN = $85C5;
  5928. GL_R1UI_C3F_V3F_SUN = $85C6;
  5929. GL_R1UI_N3F_V3F_SUN = $85C7;
  5930. GL_R1UI_C4F_N3F_V3F_SUN = $85C8;
  5931. GL_R1UI_T2F_V3F_SUN = $85C9;
  5932. GL_R1UI_T2F_N3F_V3F_SUN = $85CA;
  5933. GL_R1UI_T2F_C4F_N3F_V3F_SUN = $85CB;
  5934. // GL_WIN_phong_shading
  5935. GL_PHONG_WIN = $80EA;
  5936. GL_PHONG_HINT_WIN = $80EB;
  5937. // GL_WIN_specular_fog
  5938. GL_FOG_SPECULAR_TEXTURE_WIN = $80EC;
  5939. // GL_ARB_vertex_shader
  5940. GL_VERTEX_SHADER_ARB = $8B31;
  5941. GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = $8B4A;
  5942. GL_MAX_VARYING_FLOATS_ARB = $8B4B;
  5943. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5944. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = $8B4D;
  5945. GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = $8B89;
  5946. GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = $8B8A;
  5947. // GL_KHR_blend_equation_advanced
  5948. GL_MULTIPLY_KHR = $9294;
  5949. GL_SCREEN_KHR = $9295;
  5950. GL_OVERLAY_KHR = $9296;
  5951. GL_DARKEN_KHR = $9297;
  5952. GL_LIGHTEN_KHR = $9298;
  5953. GL_COLORDODGE_KHR = $9299;
  5954. GL_COLORBURN_KHR = $929A;
  5955. GL_HARDLIGHT_KHR = $929B;
  5956. GL_SOFTLIGHT_KHR = $929C;
  5957. GL_DIFFERENCE_KHR = $929E;
  5958. GL_EXCLUSION_KHR = $92A0;
  5959. GL_HSL_HUE_KHR = $92AD;
  5960. GL_HSL_SATURATION_KHR = $92AE;
  5961. GL_HSL_COLOR_KHR = $92AF;
  5962. GL_HSL_LUMINOSITY_KHR = $92B0;
  5963. // GL_KHR_blend_equation_advanced_coherent
  5964. GL_BLEND_ADVANCED_COHERENT_KHR = $9285;
  5965. // GL_KHR_robustness
  5966. GL_CONTEXT_ROBUST_ACCESS = $90F3;
  5967. // GL_ARB_fragment_shader
  5968. GL_FRAGMENT_SHADER_ARB = $8B30;
  5969. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49; // 1.4
  5970. GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = $8B8B; // 1.4
  5971. // GL_ARB_occlusion_query
  5972. GL_SAMPLES_PASSED_ARB = $8914;
  5973. GL_QUERY_COUNTER_BITS_ARB = $8864;
  5974. GL_CURRENT_QUERY_ARB = $8865;
  5975. GL_QUERY_RESULT_ARB = $8866;
  5976. GL_QUERY_RESULT_AVAILABLE_ARB = $8867;
  5977. // GL_ARB_pipeline_statistics_query
  5978. GL_VERTICES_SUBMITTED_ARB = $82EE;
  5979. GL_PRIMITIVES_SUBMITTED_ARB = $82EF;
  5980. GL_VERTEX_SHADER_INVOCATIONS_ARB = $82F0;
  5981. GL_TESS_CONTROL_SHADER_PATCHES_ARB = $82F1;
  5982. GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = $82F2;
  5983. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = $82F3;
  5984. GL_FRAGMENT_SHADER_INVOCATIONS_ARB = $82F4;
  5985. GL_COMPUTE_SHADER_INVOCATIONS_ARB = $82F5;
  5986. GL_CLIPPING_INPUT_PRIMITIVES_ARB = $82F6;
  5987. GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = $82F7;
  5988. // GL_ARB_point_sprite
  5989. GL_POINT_SPRITE_ARB = $8861;
  5990. GL_COORD_REPLACE_ARB = $8862;
  5991. // GL_ARB_shading_language_100
  5992. GL_SHADING_LANGUAGE_VERSION_ARB = $8B8C; // 1.4
  5993. // GL_ARB_shader_objects
  5994. GL_PROGRAM_OBJECT_ARB = $8B40;
  5995. GL_OBJECT_TYPE_ARB = $8B4E;
  5996. GL_OBJECT_SUBTYPE_ARB = $8B4F;
  5997. GL_OBJECT_DELETE_STATUS_ARB = $8B80;
  5998. GL_OBJECT_COMPILE_STATUS_ARB = $8B81;
  5999. GL_OBJECT_LINK_STATUS_ARB = $8B82;
  6000. GL_OBJECT_VALIDATE_STATUS_ARB = $8B83;
  6001. GL_OBJECT_INFO_LOG_LENGTH_ARB = $8B84;
  6002. GL_OBJECT_ATTACHED_OBJECTS_ARB = $8B85;
  6003. GL_OBJECT_ACTIVE_UNIFORMS_ARB = $8B86;
  6004. GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = $8B87;
  6005. GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = $8B88;
  6006. GL_SHADER_OBJECT_ARB = $8B48;
  6007. GL_FLOAT_VEC2_ARB = $8B50;
  6008. GL_FLOAT_VEC3_ARB = $8B51;
  6009. GL_FLOAT_VEC4_ARB = $8B52;
  6010. GL_INT_VEC2_ARB = $8B53;
  6011. GL_INT_VEC3_ARB = $8B54;
  6012. GL_INT_VEC4_ARB = $8B55;
  6013. GL_BOOL_ARB = $8B56;
  6014. GL_BOOL_VEC2_ARB = $8B57;
  6015. GL_BOOL_VEC3_ARB = $8B58;
  6016. GL_BOOL_VEC4_ARB = $8B59;
  6017. GL_FLOAT_MAT2_ARB = $8B5A;
  6018. GL_FLOAT_MAT3_ARB = $8B5B;
  6019. GL_FLOAT_MAT4_ARB = $8B5C;
  6020. GL_SAMPLER_1D_ARB = $8B5D;
  6021. GL_SAMPLER_2D_ARB = $8B5E;
  6022. GL_SAMPLER_3D_ARB = $8B5F;
  6023. GL_SAMPLER_CUBE_ARB = $8B60;
  6024. GL_SAMPLER_1D_SHADOW_ARB = $8B61;
  6025. GL_SAMPLER_2D_SHADOW_ARB = $8B62;
  6026. GL_SAMPLER_2D_RECT_ARB = $8B63;
  6027. GL_SAMPLER_2D_RECT_SHADOW_ARB = $8B64;
  6028. // WGL_3DFX_multisample
  6029. WGL_SAMPLE_BUFFERS_3DFX = $2060;
  6030. WGL_SAMPLES_3DFX = $2061;
  6031. // WGL_ARB_buffer_region
  6032. WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;
  6033. WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
  6034. WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
  6035. WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
  6036. // WGL_ARB_context_flush_control
  6037. WGL_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  6038. WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  6039. WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  6040. // WGL_ARB_make_current_read
  6041. ERROR_INVALID_PIXEL_TYPE_ARB = $2043;
  6042. ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054;
  6043. // WGL_ARB_multisample
  6044. WGL_SAMPLE_BUFFERS_ARB = $2041;
  6045. WGL_SAMPLES_ARB = $2042;
  6046. // WGL_ARB_pbuffer
  6047. WGL_DRAW_TO_PBUFFER_ARB = $202D;
  6048. WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
  6049. WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
  6050. WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
  6051. WGL_PBUFFER_LARGEST_ARB = $2033;
  6052. WGL_PBUFFER_WIDTH_ARB = $2034;
  6053. WGL_PBUFFER_HEIGHT_ARB = $2035;
  6054. WGL_PBUFFER_LOST_ARB = $2036;
  6055. // WGL_ARB_pixel_format
  6056. WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
  6057. WGL_DRAW_TO_WINDOW_ARB = $2001;
  6058. WGL_DRAW_TO_BITMAP_ARB = $2002;
  6059. WGL_ACCELERATION_ARB = $2003;
  6060. WGL_NEED_PALETTE_ARB = $2004;
  6061. WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
  6062. WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
  6063. WGL_SWAP_METHOD_ARB = $2007;
  6064. WGL_NUMBER_OVERLAYS_ARB = $2008;
  6065. WGL_NUMBER_UNDERLAYS_ARB = $2009;
  6066. WGL_TRANSPARENT_ARB = $200A;
  6067. WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
  6068. WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
  6069. WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
  6070. WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
  6071. WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
  6072. WGL_SHARE_DEPTH_ARB = $200C;
  6073. WGL_SHARE_STENCIL_ARB = $200D;
  6074. WGL_SHARE_ACCUM_ARB = $200E;
  6075. WGL_SUPPORT_GDI_ARB = $200F;
  6076. WGL_SUPPORT_OPENGL_ARB = $2010;
  6077. WGL_DOUBLE_BUFFER_ARB = $2011;
  6078. WGL_STEREO_ARB = $2012;
  6079. WGL_PIXEL_TYPE_ARB = $2013;
  6080. WGL_COLOR_BITS_ARB = $2014;
  6081. WGL_RED_BITS_ARB = $2015;
  6082. WGL_RED_SHIFT_ARB = $2016;
  6083. WGL_GREEN_BITS_ARB = $2017;
  6084. WGL_GREEN_SHIFT_ARB = $2018;
  6085. WGL_BLUE_BITS_ARB = $2019;
  6086. WGL_BLUE_SHIFT_ARB = $201A;
  6087. WGL_ALPHA_BITS_ARB = $201B;
  6088. WGL_ALPHA_SHIFT_ARB = $201C;
  6089. WGL_ACCUM_BITS_ARB = $201D;
  6090. WGL_ACCUM_RED_BITS_ARB = $201E;
  6091. WGL_ACCUM_GREEN_BITS_ARB = $201F;
  6092. WGL_ACCUM_BLUE_BITS_ARB = $2020;
  6093. WGL_ACCUM_ALPHA_BITS_ARB = $2021;
  6094. WGL_DEPTH_BITS_ARB = $2022;
  6095. WGL_STENCIL_BITS_ARB = $2023;
  6096. WGL_AUX_BUFFERS_ARB = $2024;
  6097. WGL_NO_ACCELERATION_ARB = $2025;
  6098. WGL_GENERIC_ACCELERATION_ARB = $2026;
  6099. WGL_FULL_ACCELERATION_ARB = $2027;
  6100. WGL_SWAP_EXCHANGE_ARB = $2028;
  6101. WGL_SWAP_COPY_ARB = $2029;
  6102. WGL_SWAP_UNDEFINED_ARB = $202A;
  6103. WGL_TYPE_RGBA_ARB = $202B;
  6104. WGL_TYPE_COLORINDEX_ARB = $202C;
  6105. // WGL_ARB_pixel_format_float
  6106. WGL_RGBA_FLOAT_MODE_ARB = $8820;
  6107. WGL_CLAMP_VERTEX_COLOR_ARB = $891A;
  6108. WGL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  6109. WGL_CLAMP_READ_COLOR_ARB = $891C;
  6110. WGL_FIXED_ONLY_ARB = $891D;
  6111. // WGL_ARB_render_texture
  6112. WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
  6113. WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
  6114. WGL_TEXTURE_FORMAT_ARB = $2072;
  6115. WGL_TEXTURE_TARGET_ARB = $2073;
  6116. WGL_MIPMAP_TEXTURE_ARB = $2074;
  6117. WGL_TEXTURE_RGB_ARB = $2075;
  6118. WGL_TEXTURE_RGBA_ARB = $2076;
  6119. WGL_NO_TEXTURE_ARB = $2077;
  6120. WGL_TEXTURE_CUBE_MAP_ARB = $2078;
  6121. WGL_TEXTURE_1D_ARB = $2079;
  6122. WGL_TEXTURE_2D_ARB = $207A;
  6123. WGL_MIPMAP_LEVEL_ARB = $207B;
  6124. WGL_CUBE_MAP_FACE_ARB = $207C;
  6125. WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
  6126. WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
  6127. WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
  6128. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
  6129. WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
  6130. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
  6131. WGL_FRONT_LEFT_ARB = $2083;
  6132. WGL_FRONT_RIGHT_ARB = $2084;
  6133. WGL_BACK_LEFT_ARB = $2085;
  6134. WGL_BACK_RIGHT_ARB = $2086;
  6135. WGL_AUX0_ARB = $2087;
  6136. WGL_AUX1_ARB = $2088;
  6137. WGL_AUX2_ARB = $2089;
  6138. WGL_AUX3_ARB = $208A;
  6139. WGL_AUX4_ARB = $208B;
  6140. WGL_AUX5_ARB = $208C;
  6141. WGL_AUX6_ARB = $208D;
  6142. WGL_AUX7_ARB = $208E;
  6143. WGL_AUX8_ARB = $208F;
  6144. WGL_AUX9_ARB = $2090;
  6145. // WGL_ARB_robustness_application_isolation
  6146. WGL_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  6147. // WGL_ARB_create_context
  6148. WGL_CONTEXT_DEBUG_BIT_ARB = $00000001;
  6149. WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  6150. WGL_CONTEXT_MAJOR_VERSION_ARB = $2091;
  6151. WGL_CONTEXT_MINOR_VERSION_ARB = $2092;
  6152. WGL_CONTEXT_LAYER_PLANE_ARB = $2093;
  6153. WGL_CONTEXT_FLAGS_ARB = $2094;
  6154. ERROR_INVALID_VERSION_ARB = $2095;
  6155. // WGL_ARB_create_context_profile
  6156. WGL_CONTEXT_PROFILE_MASK_ARB = $9126;
  6157. WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  6158. WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  6159. ERROR_INVALID_PROFILE_ARB = $2096;
  6160. // WGL_ARB_framebuffer_sRGB
  6161. WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9;
  6162. // WGL_ARB_create_context_robustness
  6163. WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  6164. WGL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  6165. WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  6166. WGL_NO_RESET_NOTIFICATION_ARB = $8261;
  6167. // WGL_ATI_pixel_format_float
  6168. WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
  6169. GL_TYPE_RGBA_FLOAT_ATI = $8820;
  6170. GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = $8835;
  6171. // WGL_AMD_gpu_association
  6172. WGL_GPU_VENDOR_AMD = $1F00;
  6173. WGL_GPU_RENDERER_STRING_AMD = $1F01;
  6174. WGL_GPU_OPENGL_VERSION_STRING_AMD = $1F02;
  6175. WGL_GPU_FASTEST_TARGET_GPUS_AMD = $21A2;
  6176. WGL_GPU_RAM_AMD = $21A3;
  6177. WGL_GPU_CLOCK_AMD = $21A4;
  6178. WGL_GPU_NUM_PIPES_AMD = $21A5;
  6179. WGL_GPU_NUM_SIMD_AMD = $21A6;
  6180. WGL_GPU_NUM_RB_AMD = $21A7;
  6181. WGL_GPU_NUM_SPI_AMD = $21A8;
  6182. // WGL_EXT_depth_float
  6183. WGL_DEPTH_FLOAT_EXT = $2040;
  6184. // WGL_EXT_make_current_read
  6185. ERROR_INVALID_PIXEL_TYPE_EXT = $2043;
  6186. // WGL_EXT_multisample
  6187. WGL_SAMPLE_BUFFERS_EXT = $2041;
  6188. WGL_SAMPLES_EXT = $2042;
  6189. // WGL_EXT_pbuffer
  6190. WGL_DRAW_TO_PBUFFER_EXT = $202D;
  6191. WGL_MAX_PBUFFER_PIXELS_EXT = $202E;
  6192. WGL_MAX_PBUFFER_WIDTH_EXT = $202F;
  6193. WGL_MAX_PBUFFER_HEIGHT_EXT = $2030;
  6194. WGL_OPTIMAL_PBUFFER_WIDTH_EXT = $2031;
  6195. WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = $2032;
  6196. WGL_PBUFFER_LARGEST_EXT = $2033;
  6197. WGL_PBUFFER_WIDTH_EXT = $2034;
  6198. WGL_PBUFFER_HEIGHT_EXT = $2035;
  6199. // WGL_EXT_pixel_format
  6200. WGL_NUMBER_PIXEL_FORMATS_EXT = $2000;
  6201. WGL_DRAW_TO_WINDOW_EXT = $2001;
  6202. WGL_DRAW_TO_BITMAP_EXT = $2002;
  6203. WGL_ACCELERATION_EXT = $2003;
  6204. WGL_NEED_PALETTE_EXT = $2004;
  6205. WGL_NEED_SYSTEM_PALETTE_EXT = $2005;
  6206. WGL_SWAP_LAYER_BUFFERS_EXT = $2006;
  6207. WGL_SWAP_METHOD_EXT = $2007;
  6208. WGL_NUMBER_OVERLAYS_EXT = $2008;
  6209. WGL_NUMBER_UNDERLAYS_EXT = $2009;
  6210. WGL_TRANSPARENT_EXT = $200A;
  6211. WGL_TRANSPARENT_VALUE_EXT = $200B;
  6212. WGL_SHARE_DEPTH_EXT = $200C;
  6213. WGL_SHARE_STENCIL_EXT = $200D;
  6214. WGL_SHARE_ACCUM_EXT = $200E;
  6215. WGL_SUPPORT_GDI_EXT = $200F;
  6216. WGL_SUPPORT_OPENGL_EXT = $2010;
  6217. WGL_DOUBLE_BUFFER_EXT = $2011;
  6218. WGL_STEREO_EXT = $2012;
  6219. WGL_PIXEL_TYPE_EXT = $2013;
  6220. WGL_COLOR_BITS_EXT = $2014;
  6221. WGL_RED_BITS_EXT = $2015;
  6222. WGL_RED_SHIFT_EXT = $2016;
  6223. WGL_GREEN_BITS_EXT = $2017;
  6224. WGL_GREEN_SHIFT_EXT = $2018;
  6225. WGL_BLUE_BITS_EXT = $2019;
  6226. WGL_BLUE_SHIFT_EXT = $201A;
  6227. WGL_ALPHA_BITS_EXT = $201B;
  6228. WGL_ALPHA_SHIFT_EXT = $201C;
  6229. WGL_ACCUM_BITS_EXT = $201D;
  6230. WGL_ACCUM_RED_BITS_EXT = $201E;
  6231. WGL_ACCUM_GREEN_BITS_EXT = $201F;
  6232. WGL_ACCUM_BLUE_BITS_EXT = $2020;
  6233. WGL_ACCUM_ALPHA_BITS_EXT = $2021;
  6234. WGL_DEPTH_BITS_EXT = $2022;
  6235. WGL_STENCIL_BITS_EXT = $2023;
  6236. WGL_AUX_BUFFERS_EXT = $2024;
  6237. WGL_NO_ACCELERATION_EXT = $2025;
  6238. WGL_GENERIC_ACCELERATION_EXT = $2026;
  6239. WGL_FULL_ACCELERATION_EXT = $2027;
  6240. WGL_SWAP_EXCHANGE_EXT = $2028;
  6241. WGL_SWAP_COPY_EXT = $2029;
  6242. WGL_SWAP_UNDEFINED_EXT = $202A;
  6243. WGL_TYPE_RGBA_EXT = $202B;
  6244. WGL_TYPE_COLORINDEX_EXT = $202C;
  6245. // WGL_I3D_digital_video_control
  6246. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = $2050;
  6247. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = $2051;
  6248. WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = $2052;
  6249. WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = $2053;
  6250. // WGL_I3D_gamma
  6251. WGL_GAMMA_TABLE_SIZE_I3D = $204E;
  6252. WGL_GAMMA_EXCLUDE_DESKTOP_I3D = $204F;
  6253. // WGL_I3D_genlock
  6254. WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = $2044;
  6255. WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D = $2045;
  6256. WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D = $2046;
  6257. WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D = $2047;
  6258. WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = $2048;
  6259. WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = $2049;
  6260. WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = $204A;
  6261. WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = $204B;
  6262. WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = $204C;
  6263. // WGL_I3D_image_buffer
  6264. WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = $00000001;
  6265. WGL_IMAGE_BUFFER_LOCK_I3D = $00000002;
  6266. // WGL_NV_float_buffer
  6267. WGL_FLOAT_COMPONENTS_NV = $20B0;
  6268. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
  6269. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
  6270. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
  6271. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
  6272. WGL_TEXTURE_FLOAT_R_NV = $20B5;
  6273. WGL_TEXTURE_FLOAT_RG_NV = $20B6;
  6274. WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
  6275. WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
  6276. // WGL_NV_render_depth_texture
  6277. WGL_BIND_TO_TEXTURE_DEPTH_NV = $20A3;
  6278. WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = $20A4;
  6279. WGL_DEPTH_TEXTURE_FORMAT_NV = $20A5;
  6280. WGL_TEXTURE_DEPTH_COMPONENT_NV = $20A6;
  6281. WGL_DEPTH_COMPONENT_NV = $20A7;
  6282. // WGL_NV_render_texture_rectangle
  6283. WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0;
  6284. WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1;
  6285. WGL_TEXTURE_RECTANGLE_NV = $20A2;
  6286. // WGL_NV_present_video
  6287. WGL_NUM_VIDEO_SLOTS_NV = $20F0;
  6288. // WGL_NV_video_output
  6289. WGL_BIND_TO_VIDEO_RGB_NV = $20C0;
  6290. WGL_BIND_TO_VIDEO_RGBA_NV = $20C1;
  6291. WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV = $20C2;
  6292. WGL_VIDEO_OUT_COLOR_NV = $20C3;
  6293. WGL_VIDEO_OUT_ALPHA_NV = $20C4;
  6294. WGL_VIDEO_OUT_DEPTH_NV = $20C5;
  6295. WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV = $20C6;
  6296. WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV = $20C7;
  6297. WGL_VIDEO_OUT_FRAME = $20C8;
  6298. WGL_VIDEO_OUT_FIELD_1 = $20C9;
  6299. WGL_VIDEO_OUT_FIELD_2 = $20CA;
  6300. WGL_VIDEO_OUT_STACKED_FIELDS_1_2 = $20CB;
  6301. WGL_VIDEO_OUT_STACKED_FIELDS_2_1 = $20CC;
  6302. // WGL_NV_gpu_affinity
  6303. WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = $20D0;
  6304. WGL_ERROR_MISSING_AFFINITY_MASK_NV = $20D1;
  6305. // WGL_NV_video_capture
  6306. WGL_UNIQUE_ID_NV = $20CE;
  6307. WGL_NUM_VIDEO_CAPTURE_SLOTS_NV = $20CF;
  6308. // WGL_NV_multisample_coverage
  6309. WGL_COVERAGE_SAMPLES_NV = $2042;
  6310. WGL_COLOR_SAMPLES_NV = $20B9;
  6311. // WGL_EXT_create_context_es2_profile
  6312. WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6313. // WGL_NV_DX_interop
  6314. WGL_ACCESS_READ_ONLY_NV = $00000000;
  6315. WGL_ACCESS_READ_WRITE_NV = $00000001;
  6316. WGL_ACCESS_WRITE_DISCARD_NV = $00000002;
  6317. // WIN_draw_range_elements
  6318. GL_MAX_ELEMENTS_VERTICES_WIN = $80E8;
  6319. GL_MAX_ELEMENTS_INDICES_WIN = $80E9;
  6320. // GLX 1.1 and later:
  6321. GLX_VENDOR = 1;
  6322. GLX_VERSION = 2;
  6323. GLX_EXTENSIONS = 3;
  6324. GLX_USE_GL = 1;
  6325. GLX_BUFFER_SIZE = 2;
  6326. GLX_LEVEL = 3;
  6327. GLX_RGBA = 4;
  6328. GLX_DOUBLEBUFFER = 5;
  6329. GLX_STEREO = 6;
  6330. GLX_AUX_BUFFERS = 7;
  6331. GLX_RED_SIZE = 8;
  6332. GLX_GREEN_SIZE = 9;
  6333. GLX_BLUE_SIZE = 10;
  6334. GLX_ALPHA_SIZE = 11;
  6335. GLX_DEPTH_SIZE = 12;
  6336. GLX_STENCIL_SIZE = 13;
  6337. GLX_ACCUM_RED_SIZE = 14;
  6338. GLX_ACCUM_GREEN_SIZE = 15;
  6339. GLX_ACCUM_BLUE_SIZE = 16;
  6340. GLX_ACCUM_ALPHA_SIZE = 17;
  6341. // GLX_VERSION_1_3
  6342. GLX_WINDOW_BIT = $00000001;
  6343. GLX_PIXMAP_BIT = $00000002;
  6344. GLX_PBUFFER_BIT = $00000004;
  6345. GLX_RGBA_BIT = $00000001;
  6346. GLX_COLOR_INDEX_BIT = $00000002;
  6347. GLX_PBUFFER_CLOBBER_MASK = $08000000;
  6348. GLX_FRONT_LEFT_BUFFER_BIT = $00000001;
  6349. GLX_FRONT_RIGHT_BUFFER_BIT = $00000002;
  6350. GLX_BACK_LEFT_BUFFER_BIT = $00000004;
  6351. GLX_BACK_RIGHT_BUFFER_BIT = $00000008;
  6352. GLX_AUX_BUFFERS_BIT = $00000010;
  6353. GLX_DEPTH_BUFFER_BIT = $00000020;
  6354. GLX_STENCIL_BUFFER_BIT = $00000040;
  6355. GLX_ACCUM_BUFFER_BIT = $00000080;
  6356. GLX_CONFIG_CAVEAT = $20;
  6357. GLX_X_VISUAL_TYPE = $22;
  6358. GLX_TRANSPARENT_TYPE = $23;
  6359. GLX_TRANSPARENT_INDEX_VALUE = $24;
  6360. GLX_TRANSPARENT_RED_VALUE = $25;
  6361. GLX_TRANSPARENT_GREEN_VALUE = $26;
  6362. GLX_TRANSPARENT_BLUE_VALUE = $27;
  6363. GLX_TRANSPARENT_ALPHA_VALUE = $28;
  6364. GLX_DONT_CARE = $FFFFFFFF;
  6365. GLX_NONE = $8000;
  6366. GLX_SLOW_CONFIG = $8001;
  6367. GLX_TRUE_COLOR = $8002;
  6368. GLX_DIRECT_COLOR = $8003;
  6369. GLX_PSEUDO_COLOR = $8004;
  6370. GLX_STATIC_COLOR = $8005;
  6371. GLX_GRAY_SCALE = $8006;
  6372. GLX_STATIC_GRAY = $8007;
  6373. GLX_TRANSPARENT_RGB = $8008;
  6374. GLX_TRANSPARENT_INDEX = $8009;
  6375. GLX_VISUAL_ID = $800B;
  6376. GLX_SCREEN = $800C;
  6377. GLX_NON_CONFORMANT_CONFIG = $800D;
  6378. GLX_DRAWABLE_TYPE = $8010;
  6379. GLX_RENDER_TYPE = $8011;
  6380. GLX_X_RENDERABLE = $8012;
  6381. GLX_FBCONFIG_ID = $8013;
  6382. GLX_RGBA_TYPE = $8014;
  6383. GLX_COLOR_INDEX_TYPE = $8015;
  6384. GLX_MAX_PBUFFER_WIDTH = $8016;
  6385. GLX_MAX_PBUFFER_HEIGHT = $8017;
  6386. GLX_MAX_PBUFFER_PIXELS = $8018;
  6387. GLX_PRESERVED_CONTENTS = $801B;
  6388. GLX_LARGEST_PBUFFER = $801C;
  6389. GLX_WIDTH = $801D;
  6390. GLX_HEIGHT = $801E;
  6391. GLX_EVENT_MASK = $801F;
  6392. GLX_DAMAGED = $8020;
  6393. GLX_SAVED = $8021;
  6394. GLX_WINDOW = $8022;
  6395. GLX_PBUFFER = $8023;
  6396. GLX_PBUFFER_HEIGHT = $8040;
  6397. GLX_PBUFFER_WIDTH = $8041;
  6398. // GLX_VERSION_1_4
  6399. GLX_SAMPLE_BUFFERS = 100000;
  6400. GLX_SAMPLES = 100001;
  6401. // GLX_ARB_multisample
  6402. GLX_SAMPLE_BUFFERS_ARB = 100000;
  6403. GLX_SAMPLES_ARB = 100001;
  6404. // GLX_ARB_robustness_application_isolation
  6405. GLX_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  6406. // GLX_ARB_fbconfig_float
  6407. GLX_RGBA_FLOAT_TYPE_ARB = $20B9;
  6408. GLX_RGBA_FLOAT_BIT_ARB = $00000004;
  6409. // GLX_ARB_context_flush_control
  6410. GLX_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  6411. GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  6412. GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  6413. // GLX_ARB_create_context
  6414. GLX_CONTEXT_DEBUG_BIT_ARB = $00000001;
  6415. GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  6416. GLX_CONTEXT_MAJOR_VERSION_ARB = $2091;
  6417. GLX_CONTEXT_MINOR_VERSION_ARB = $2092;
  6418. GLX_CONTEXT_FLAGS_ARB = $2094;
  6419. // GLX_ARB_create_context_profile
  6420. GLX_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  6421. GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  6422. GLX_CONTEXT_PROFILE_MASK_ARB = $9126;
  6423. // GLX_ARB_vertex_buffer_object
  6424. GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = $2095;
  6425. // GLX_ARB_framebuffer_sRGB
  6426. GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20B2;
  6427. // GLX_ARB_create_context_robustness
  6428. GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  6429. GLX_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  6430. GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  6431. GLX_NO_RESET_NOTIFICATION_ARB = $8261;
  6432. // GLX_EXT_visual_info
  6433. GLX_X_VISUAL_TYPE_EXT = $22;
  6434. GLX_TRANSPARENT_TYPE_EXT = $23;
  6435. GLX_TRANSPARENT_INDEX_VALUE_EXT = $24;
  6436. GLX_TRANSPARENT_RED_VALUE_EXT = $25;
  6437. GLX_TRANSPARENT_GREEN_VALUE_EXT = $26;
  6438. GLX_TRANSPARENT_BLUE_VALUE_EXT = $27;
  6439. GLX_TRANSPARENT_ALPHA_VALUE_EXT = $28;
  6440. GLX_NONE_EXT = $8000;
  6441. GLX_TRUE_COLOR_EXT = $8002;
  6442. GLX_DIRECT_COLOR_EXT = $8003;
  6443. GLX_PSEUDO_COLOR_EXT = $8004;
  6444. GLX_STATIC_COLOR_EXT = $8005;
  6445. GLX_GRAY_SCALE_EXT = $8006;
  6446. GLX_STATIC_GRAY_EXT = $8007;
  6447. GLX_TRANSPARENT_RGB_EXT = $8008;
  6448. GLX_TRANSPARENT_INDEX_EXT = $8009;
  6449. // GLX_EXT_visual_rating
  6450. GLX_VISUAL_CAVEAT_EXT = $20;
  6451. GLX_SLOW_VISUAL_EXT = $8001;
  6452. GLX_NON_CONFORMANT_VISUAL_EXT = $800D;
  6453. (* reuse GLX_NONE_EXT *)
  6454. // GLX_EXT_import_context
  6455. GLX_SHARE_CONTEXT_EXT = $800A;
  6456. GLX_VISUAL_ID_EXT = $800B;
  6457. GLX_SCREEN_EXT = $800C;
  6458. // GLX_EXT_fbconfig_packed_float
  6459. // GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  6460. // GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  6461. // GLX_EXT_framebuffer_sRGB
  6462. // GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  6463. // GLX_EXT_texture_from_pixmap
  6464. GLX_TEXTURE_1D_BIT_EXT = $00000001;
  6465. GLX_TEXTURE_2D_BIT_EXT = $00000002;
  6466. GLX_TEXTURE_RECTANGLE_BIT_EXT = $00000004;
  6467. GLX_BIND_TO_TEXTURE_RGB_EXT = $20D0;
  6468. GLX_BIND_TO_TEXTURE_RGBA_EXT = $20D1;
  6469. GLX_BIND_TO_MIPMAP_TEXTURE_EXT = $20D2;
  6470. GLX_BIND_TO_TEXTURE_TARGETS_EXT = $20D3;
  6471. GLX_Y_INVERTED_EXT = $20D4;
  6472. GLX_TEXTURE_FORMAT_EXT = $20D5;
  6473. GLX_TEXTURE_TARGET_EXT = $20D6;
  6474. GLX_MIPMAP_TEXTURE_EXT = $20D7;
  6475. GLX_TEXTURE_FORMAT_NONE_EXT = $20D8;
  6476. GLX_TEXTURE_FORMAT_RGB_EXT = $20D9;
  6477. GLX_TEXTURE_FORMAT_RGBA_EXT = $20DA;
  6478. GLX_TEXTURE_1D_EXT = $20DB;
  6479. GLX_TEXTURE_2D_EXT = $20DC;
  6480. GLX_TEXTURE_RECTANGLE_EXT = $20DD;
  6481. GLX_FRONT_LEFT_EXT = $20DE;
  6482. GLX_FRONT_RIGHT_EXT = $20DF;
  6483. GLX_BACK_LEFT_EXT = $20E0;
  6484. GLX_BACK_RIGHT_EXT = $20E1;
  6485. GLX_FRONT_EXT = GLX_FRONT_LEFT_EXT;
  6486. GLX_BACK_EXT = GLX_BACK_LEFT_EXT;
  6487. GLX_AUX0_EXT = $20E2;
  6488. GLX_AUX1_EXT = $20E3;
  6489. GLX_AUX2_EXT = $20E4;
  6490. GLX_AUX3_EXT = $20E5;
  6491. GLX_AUX4_EXT = $20E6;
  6492. GLX_AUX5_EXT = $20E7;
  6493. GLX_AUX6_EXT = $20E8;
  6494. GLX_AUX7_EXT = $20E9;
  6495. GLX_AUX8_EXT = $20EA;
  6496. GLX_AUX9_EXT = $20EB;
  6497. // GLX_EXT_swap_control
  6498. GLX_SWAP_INTERVAL_EXT = $20F1;
  6499. GLX_MAX_SWAP_INTERVAL_EXT = $20F2;
  6500. // GLX_EXT_create_context_es2_profile
  6501. GLX_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6502. // GL_EXT_Late_Swaps
  6503. GLX_LATE_SWAPS_TEAR_EXT = $20F3;
  6504. // GLU
  6505. GLU_INVALID_ENUM = 100900;
  6506. GLU_INVALID_VALUE = 100901;
  6507. GLU_OUT_OF_MEMORY = 100902;
  6508. GLU_INCOMPATIBLE_GL_VERSION = 100903;
  6509. GLU_VERSION = 100800;
  6510. GLU_EXTENSIONS = 100801;
  6511. GLU_TRUE: ByteBool = True;
  6512. GLU_FALSE: ByteBool = False;
  6513. GLU_SMOOTH = 100000;
  6514. GLU_FLAT = 100001;
  6515. GLU_NONE = 100002;
  6516. GLU_POINT = 100010;
  6517. GLU_LINE = 100011;
  6518. GLU_FILL = 100012;
  6519. GLU_SILHOUETTE = 100013;
  6520. GLU_OUTSIDE = 100020;
  6521. GLU_INSIDE = 100021;
  6522. GLU_TESS_MAX_COORD = 1.0E150;
  6523. GLU_TESS_WINDING_RULE = 100140;
  6524. GLU_TESS_BOUNDARY_ONLY = 100141;
  6525. GLU_TESS_TOLERANCE = 100142;
  6526. GLU_TESS_WINDING_ODD = 100130;
  6527. GLU_TESS_WINDING_NONZERO = 100131;
  6528. GLU_TESS_WINDING_POSITIVE = 100132;
  6529. GLU_TESS_WINDING_NEGATIVE = 100133;
  6530. GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
  6531. GLU_TESS_BEGIN = 100100; // TGLUTessBeginProc
  6532. GLU_TESS_VERTEX = 100101; // TGLUTessVertexProc
  6533. GLU_TESS_END = 100102; // TGLUTessEndProc
  6534. GLU_TESS_ERROR = 100103; // TGLUTessErrorProc
  6535. GLU_TESS_EDGE_FLAG = 100104; // TGLUTessEdgeFlagProc
  6536. GLU_TESS_COMBINE = 100105; // TGLUTessCombineProc
  6537. GLU_TESS_BEGIN_DATA = 100106; // TGLUTessBeginDataProc
  6538. GLU_TESS_VERTEX_DATA = 100107; // TGLUTessVertexDataProc
  6539. GLU_TESS_END_DATA = 100108; // TGLUTessEndDataProc
  6540. GLU_TESS_ERROR_DATA = 100109; // TGLUTessErrorDataProc
  6541. GLU_TESS_EDGE_FLAG_DATA = 100110; // TGLUTessEdgeFlagDataProc
  6542. GLU_TESS_COMBINE_DATA = 100111; // TGLUTessCombineDataProc
  6543. GLU_TESS_ERROR1 = 100151;
  6544. GLU_TESS_ERROR2 = 100152;
  6545. GLU_TESS_ERROR3 = 100153;
  6546. GLU_TESS_ERROR4 = 100154;
  6547. GLU_TESS_ERROR5 = 100155;
  6548. GLU_TESS_ERROR6 = 100156;
  6549. GLU_TESS_ERROR7 = 100157;
  6550. GLU_TESS_ERROR8 = 100158;
  6551. GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
  6552. GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
  6553. GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
  6554. GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
  6555. GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
  6556. GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
  6557. GLU_AUTO_LOAD_MATRIX = 100200;
  6558. GLU_CULLING = 100201;
  6559. GLU_SAMPLING_TOLERANCE = 100203;
  6560. GLU_DISPLAY_MODE = 100204;
  6561. GLU_PARAMETRIC_TOLERANCE = 100202;
  6562. GLU_SAMPLING_METHOD = 100205;
  6563. GLU_U_STEP = 100206;
  6564. GLU_V_STEP = 100207;
  6565. GLU_PATH_LENGTH = 100215;
  6566. GLU_PARAMETRIC_ERROR = 100216;
  6567. GLU_DOMAIN_DISTANCE = 100217;
  6568. GLU_MAP1_TRIM_2 = 100210;
  6569. GLU_MAP1_TRIM_3 = 100211;
  6570. GLU_OUTLINE_POLYGON = 100240;
  6571. GLU_OUTLINE_PATCH = 100241;
  6572. GLU_NURBS_ERROR1 = 100251;
  6573. GLU_NURBS_ERROR2 = 100252;
  6574. GLU_NURBS_ERROR3 = 100253;
  6575. GLU_NURBS_ERROR4 = 100254;
  6576. GLU_NURBS_ERROR5 = 100255;
  6577. GLU_NURBS_ERROR6 = 100256;
  6578. GLU_NURBS_ERROR7 = 100257;
  6579. GLU_NURBS_ERROR8 = 100258;
  6580. GLU_NURBS_ERROR9 = 100259;
  6581. GLU_NURBS_ERROR10 = 100260;
  6582. GLU_NURBS_ERROR11 = 100261;
  6583. GLU_NURBS_ERROR12 = 100262;
  6584. GLU_NURBS_ERROR13 = 100263;
  6585. GLU_NURBS_ERROR14 = 100264;
  6586. GLU_NURBS_ERROR15 = 100265;
  6587. GLU_NURBS_ERROR16 = 100266;
  6588. GLU_NURBS_ERROR17 = 100267;
  6589. GLU_NURBS_ERROR18 = 100268;
  6590. GLU_NURBS_ERROR19 = 100269;
  6591. GLU_NURBS_ERROR20 = 100270;
  6592. GLU_NURBS_ERROR21 = 100271;
  6593. GLU_NURBS_ERROR22 = 100272;
  6594. GLU_NURBS_ERROR23 = 100273;
  6595. GLU_NURBS_ERROR24 = 100274;
  6596. GLU_NURBS_ERROR25 = 100275;
  6597. GLU_NURBS_ERROR26 = 100276;
  6598. GLU_NURBS_ERROR27 = 100277;
  6599. GLU_NURBS_ERROR28 = 100278;
  6600. GLU_NURBS_ERROR29 = 100279;
  6601. GLU_NURBS_ERROR30 = 100280;
  6602. GLU_NURBS_ERROR31 = 100281;
  6603. GLU_NURBS_ERROR32 = 100282;
  6604. GLU_NURBS_ERROR33 = 100283;
  6605. GLU_NURBS_ERROR34 = 100284;
  6606. GLU_NURBS_ERROR35 = 100285;
  6607. GLU_NURBS_ERROR36 = 100286;
  6608. GLU_NURBS_ERROR37 = 100287;
  6609. GLU_CW = 100120;
  6610. GLU_CCW = 100121;
  6611. GLU_INTERIOR = 100122;
  6612. GLU_EXTERIOR = 100123;
  6613. GLU_UNKNOWN = 100124;
  6614. GLU_BEGIN = GLU_TESS_BEGIN;
  6615. GLU_VERTEX = GLU_TESS_VERTEX;
  6616. GLU_END = GLU_TESS_END;
  6617. GLU_ERROR = GLU_TESS_ERROR;
  6618. GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
  6619. type
  6620. // GL_VERSION_1_0
  6621. TglCullFace = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6622. TglFrontFace = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6623. TglHint = procedure(target: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6624. TglLineWidth = procedure(width: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6625. TglPointSize = procedure(size: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6626. TglPolygonMode = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6627. TglScissor = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6628. TglTexParameterf = procedure(target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6629. TglTexParameterfv = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6630. TglTexParameteri = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6631. TglTexParameteriv = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6632. TglTexImage1D = procedure(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6633. TglTexImage2D = procedure(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6634. TglDrawBuffer = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6635. TglClear = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6636. TglClearColor = procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6637. TglClearStencil = procedure(s: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6638. TglClearDepth = procedure(depth: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6639. TglStencilMask = procedure(mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6640. TglColorMask = procedure(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6641. TglDepthMask = procedure(flag: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6642. TglDisable = procedure(cap: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6643. TglEnable = procedure(cap: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6644. TglFinish = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6645. TglFlush = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6646. TglBlendFunc = procedure(sfactor: GLenum; dfactor: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6647. TglLogicOp = procedure(opcode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6648. TglStencilFunc = procedure(func: GLenum; ref: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6649. TglStencilOp = procedure(fail: GLenum; zfail: GLenum; zpass: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6650. TglDepthFunc = procedure(func: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6651. TglPixelStoref = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6652. TglPixelStorei = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6653. TglReadBuffer = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6654. TglReadPixels = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6655. TglGetBooleanv = procedure(pname: GLenum; params: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6656. TglGetDoublev = procedure(pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6657. TglGetError = function(): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6658. TglGetFloatv = procedure(pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6659. TglGetIntegerv = procedure(pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6660. TglGetString = function(name: GLenum): PAnsiChar; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6661. TglGetTexImage = procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6662. TglGetTexParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6663. TglGetTexParameterfv = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6664. TglGetTexLevelParameterfv = procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6665. TglGetTexLevelParameteriv = procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6666. TglIsEnabled = function(cap: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6667. TglDepthRange = procedure(zNear: GLclampd; zFar: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6668. TglViewport = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6669. // GL_VERSION_1_1
  6670. TglDrawArrays = procedure(mode: GLenum; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6671. TglDrawElements = procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6672. TglGetPointerv = procedure(pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6673. TglPolygonOffset = procedure(factor: GLfloat; units: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6674. TglCopyTexImage1D = procedure(target: GLenum; level: GLint; internalFormat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6675. TglCopyTexImage2D = procedure(target: GLenum; level: GLint; internalFormat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6676. TglCopyTexSubImage1D = procedure(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6677. TglCopyTexSubImage2D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6678. TglTexSubImage1D = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6679. TglTexSubImage2D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6680. TglBindTexture = procedure(target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6681. TglDeleteTextures = procedure(n: GLsizei; const textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6682. TglGenTextures = procedure(n: GLsizei; textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6683. // GL_VERSION_1_2
  6684. TglBlendColor = procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6685. TglBlendEquation = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6686. TglDrawRangeElements = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6687. TglTexImage3D = procedure(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6688. TglTexSubImage3D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6689. TglCopyTexSubImage3D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6690. // GL_VERSION_1_3
  6691. TglActiveTexture = procedure(texture: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6692. TglSampleCoverage = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6693. TglCompressedTexImage3D = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6694. TglCompressedTexImage2D = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6695. TglCompressedTexImage1D = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6696. TglCompressedTexSubImage3D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6697. TglCompressedTexSubImage2D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6698. TglCompressedTexSubImage1D = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6699. TglGetCompressedTexImage = procedure(target: GLenum; level: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6700. // GL_VERSION_1_4
  6701. TglBlendFuncSeparate = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6702. TglMultiDrawArrays = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6703. TglMultiDrawElements = procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6704. TglPointParameterf = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6705. TglPointParameterfv = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6706. TglPointParameteri = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6707. TglPointParameteriv = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6708. // GL_VERSION_1_5
  6709. TglGenQueries = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6710. TglDeleteQueries = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6711. TglIsQuery = function(id: GLuint): boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6712. TglBeginQuery = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6713. TglEndQuery = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6714. TglGetQueryiv = procedure(target, pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6715. TglGetQueryObjectiv = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6716. TglGetQueryObjectuiv = procedure(id: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6717. TglBindBuffer = procedure(target: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6718. TglDeleteBuffers = procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6719. TglGenBuffers = procedure(n: GLsizei; buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6720. TglIsBuffer = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6721. TglBufferData = procedure(target: GLenum; size: GLsizeiptr; const data: PGLvoid; usage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6722. TglBufferSubData = procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6723. TglGetBufferSubData = procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6724. TglMapBuffer = function(target: GLenum; access: GLenum): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6725. TglUnmapBuffer = function(target: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6726. TglGetBufferParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6727. TglGetBufferPointerv = procedure(target: GLenum; pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6728. // GL_VERSION_2_0
  6729. TglBlendEquationSeparate = procedure(modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6730. TglDrawBuffers = procedure(n: GLsizei; const bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6731. TglStencilOpSeparate = procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6732. TglStencilFuncSeparate = procedure(face: GLenum; func: GLenum; ref: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6733. TglStencilMaskSeparate = procedure(face: GLenum; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6734. TglAttachShader = procedure(programObj, shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6735. TglBindAttribLocation = procedure(programObj: GLhandle; index: GLuint; name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6736. TglCompileShader = procedure(shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6737. TglCreateProgram = function: GLhandle; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6738. TglCreateShader = function(shaderType: GLenum): GLhandle; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6739. TglDeleteProgram = procedure(programObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6740. TglDeleteShader = procedure(shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6741. TglDetachShader = procedure(programObj, shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6742. TglDisableVertexAttribArray = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6743. TglEnableVertexAttribArray = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6744. TglGetActiveAttrib = procedure(programObj: GLhandle; index: GLuint; maxlength: GLsizei; var length: GLint; var size: GLint; var _type: GLenum; name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6745. TglGetActiveUniform = procedure(programObj: GLhandle; index: GLuint; maxLength: GLsizei; var length: GLsizei; var size: GLint; var _type: GLenum; name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6746. TglGetAttachedShaders = procedure(programObj: GLhandle; MaxCount: GLsizei; var Count: GLint; shaders: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6747. TglGetAttribLocation = function(programObj: GLhandle; char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6748. TglGetProgramiv = procedure(programObj: GLhandle; pname: GLenum; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6749. TglGetProgramInfoLog = procedure(programObj: GLHandle; maxLength: glsizei; length: PGLSizei; infoLog: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6750. TglGetShaderiv = procedure(shaderObj: GLhandle; pname: GLenum; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6751. TglGetShaderInfoLog = procedure(shaderObj: GLHandle; maxLength: glsizei; length: PGLSizei; infoLog: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6752. TglGetShaderSource = procedure(shaderObj: GLhandle; maxlength: GLsizei; var length: GLsizei; source: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6753. TglGetUniformLocation = function(programObj: GLhandle; const char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6754. TglGetUniformfv = procedure(programObj: GLhandle; location: GLint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6755. TglGetUniformiv = procedure(programObj: GLhandle; location: GLint; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6756. TglGetVertexAttribfv = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6757. TglGetVertexAttribiv = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6758. TglGetVertexAttribPointerv = procedure(index: GLuint; pname: GLenum; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6759. TglIsProgram = function(programObj: GLhandle): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6760. TglIsShader = function(shaderObj: GLhandle): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6761. TglLinkProgram = procedure(programObj: GLHandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6762. TglShaderSource = procedure(shaderObj: GLHandle; count: glsizei; const _string: PPGLChar; lengths: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6763. TglUseProgram = procedure(programObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6764. TglUniform1f = procedure(location: GLint; v0: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6765. TglUniform2f = procedure(location: GLint; v0, v1: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6766. TglUniform3f = procedure(location: GLint; v0, v1, v2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6767. TglUniform4f = procedure(location: GLint; v0, v1, v2, v3: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6768. TglUniform1i = procedure(location: GLint; v0: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6769. TglUniform2i = procedure(location: GLint; v0, v1: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6770. TglUniform3i = procedure(location: GLint; v0, v1, v2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6771. TglUniform4i = procedure(location: GLint; v0, v1, v2, v3: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6772. TglUniform1fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6773. TglUniform2fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6774. TglUniform3fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6775. TglUniform4fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6776. TglUniform1iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6777. TglUniform2iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6778. TglUniform3iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6779. TglUniform4iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6780. TglUniformMatrix2fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6781. TglUniformMatrix3fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6782. TglUniformMatrix4fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6783. TglValidateProgram = procedure(programObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6784. TglVertexAttrib1d = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6785. TglVertexAttrib1dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6786. TglVertexAttrib1f = procedure(index: GLuint; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6787. TglVertexAttrib1fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6788. TglVertexAttrib1s = procedure(index: GLuint; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6789. TglVertexAttrib1sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6790. TglVertexAttrib2d = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6791. TglVertexAttrib2dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6792. TglVertexAttrib2f = procedure(index: GLuint; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6793. TglVertexAttrib2fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6794. TglVertexAttrib2s = procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6795. TglVertexAttrib2sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6796. TglVertexAttrib3d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6797. TglVertexAttrib3dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6798. TglVertexAttrib3f = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6799. TglVertexAttrib3fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6800. TglVertexAttrib3s = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6801. TglVertexAttrib3sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6802. TglVertexAttrib4Nbv = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6803. TglVertexAttrib4Niv = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6804. TglVertexAttrib4Nsv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6805. TglVertexAttrib4Nub = procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6806. TglVertexAttrib4Nubv = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6807. TglVertexAttrib4Nuiv = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6808. TglVertexAttrib4Nusv = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6809. TglVertexAttrib4bv = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6810. TglVertexAttrib4d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6811. TglVertexAttrib4dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6812. TglVertexAttrib4f = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6813. TglVertexAttrib4fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6814. TglVertexAttrib4iv = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6815. TglVertexAttrib4s = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6816. TglVertexAttrib4sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6817. TglVertexAttrib4ubv = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6818. TglVertexAttrib4uiv = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6819. TglVertexAttrib4usv = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6820. TglVertexAttribPointer = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6821. // GL_VERSION_2_1
  6822. TglUniformMatrix2x3fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6823. TglUniformMatrix3x2fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6824. TglUniformMatrix2x4fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6825. TglUniformMatrix4x2fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6826. TglUniformMatrix3x4fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6827. TglUniformMatrix4x3fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6828. // GL_VERSION_3_0
  6829. { OpenGL 3.0 also reuses entry points from these extensions: }
  6830. { ARB_framebuffer_object }
  6831. { ARB_map_buffer_range }
  6832. { ARB_vertex_array_object }
  6833. TglColorMaski = procedure(index_: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6834. TglGetBooleani_v = procedure(target: GLenum; index_: GLuint; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6835. TglGetIntegeri_v = procedure(target: GLenum; index_: GLuint; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6836. TglEnablei = procedure(target: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6837. TglDisablei = procedure(target: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6838. TglIsEnabledi = function(target: GLenum; index_: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6839. TglBeginTransformFeedback = procedure(primitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6840. TglEndTransformFeedback = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6841. TglBindBufferRange = procedure(target: GLenum; index_: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6842. TglBindBufferBase = procedure(target: GLenum; index_: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6843. TglTransformFeedbackVaryings = procedure(program_: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6844. TglGetTransformFeedbackVarying = procedure(program_: GLuint; index_: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; type_: PGLsizei; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6845. TglClampColor = procedure(targe: GLenum; clamp: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6846. TglBeginConditionalRender = procedure(id: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6847. TglEndConditionalRender = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6848. TglVertexAttribIPointer = procedure(index_: GLuint; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6849. TglGetVertexAttribIiv = procedure(index_: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6850. TglGetVertexAttribIuiv = procedure(index_: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6851. TglVertexAttribI1i = procedure(index_: GLuint; x: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6852. TglVertexAttribI2i = procedure(index_: GLuint; x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6853. TglVertexAttribI3i = procedure(index_: GLuint; x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6854. TglVertexAttribI4i = procedure(index_: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6855. TglVertexAttribI1ui = procedure(index_: GLuint; x: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6856. TglVertexAttribI2ui = procedure(index_: GLuint; x: GLuint; y: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6857. TglVertexAttribI3ui = procedure(index_: GLuint; x: GLuint; y: GLuint; z: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6858. TglVertexAttribI4ui = procedure(index_: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6859. TglVertexAttribI1iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6860. TglVertexAttribI2iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6861. TglVertexAttribI3iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6862. TglVertexAttribI4iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6863. TglVertexAttribI1uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6864. TglVertexAttribI2uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6865. TglVertexAttribI3uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6866. TglVertexAttribI4uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6867. TglVertexAttribI4bv = procedure(index_: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6868. TglVertexAttribI4sv = procedure(index_: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6869. TglVertexAttribI4ubv = procedure(index_: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6870. TglVertexAttribI4usv = procedure(index_: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6871. TglGetUniformuiv = procedure(program_: GLuint; location: GLint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6872. TglBindFragDataLocation = procedure(program_: GLuint; color: GLuint; const name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6873. TglGetFragDataLocation = function(program_: GLuint; const name: PGLChar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6874. TglUniform1ui = procedure(location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6875. TglUniform2ui = procedure(location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6876. TglUniform3ui = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6877. TglUniform4ui = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6878. TglUniform1uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6879. TglUniform2uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6880. TglUniform3uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6881. TglUniform4uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6882. TglTexParameterIiv = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6883. TglTexParameterIuiv = procedure(target: GLenum; pname: GLenum; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6884. TglGetTexParameterIiv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6885. TglGetTexParameterIuiv = procedure(target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6886. TglClearBufferiv = procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6887. TglClearBufferuiv = procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6888. TglClearBufferfv = procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6889. TglClearBufferfi = procedure(buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6890. TglGetStringi = function(name: GLenum; index: GLuint): PGLubyte; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6891. // GL_VERSION_2_1
  6892. TglEnableVertexArrayEXT = procedure(vaobj: GLuint; array_: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6893. TglEnableVertexArrayAttribEXT = procedure(vaobj: GLuint; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6894. TglVertexArrayVertexAttribOffsetEXT = procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; type_: GLenum; normalized: GLboolean; stride: GLsizei; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6895. // GL_VERSION_3_1
  6896. { OpenGL 3.1 also reuses entry points from these extensions: }
  6897. { ARB_copy_buffer }
  6898. { ARB_uniform_buffer_object }
  6899. TglDrawArraysInstanced = procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6900. TglDrawElementsInstanced = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6901. TglTexBuffer = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6902. TglPrimitiveRestartIndex = procedure(index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6903. // GL_VERSION_3_2
  6904. { OpenGL 3.2 also reuses entry points from these extensions: }
  6905. { ARB_draw_elements_base_vertex }
  6906. { ARB_provoking_vertex }
  6907. { ARB_sync }
  6908. { ARB_texture_multisample }
  6909. TglGetInteger64i_v = procedure(target: GLenum; index_: GLuint; data: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6910. TglGetBufferParameteri64v = procedure(target: GLenum; pname: GLenum; params: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6911. TglFramebufferTexture = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6912. // TglFramebufferTextureFace = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6913. // GL_VERSION_3_3
  6914. { OpenGL 3.3 also reuses entry points from these extensions: }
  6915. { ARB_blend_func_extended }
  6916. { ARB_sampler_objects }
  6917. { ARB_explicit_attrib_location, but it has none }
  6918. { ARB_occlusion_query2 (no entry points) }
  6919. { ARB_shader_bit_encoding (no entry points) }
  6920. { ARB_texture_rgb10_a2ui (no entry points) }
  6921. { ARB_texture_swizzle (no entry points) }
  6922. { ARB_timer_query }
  6923. { ARB_vertex_type_2_10_10_10_rev }
  6924. TglVertexAttribDivisor = procedure(index: GLuint; divisor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6925. // GL_VERSION_4_0
  6926. { OpenGL 4.0 also reuses entry points from these extensions: }
  6927. { ARB_texture_query_lod (no entry points) }
  6928. { ARB_draw_indirect }
  6929. { ARB_gpu_shader5 (no entry points) }
  6930. { ARB_gpu_shader_fp64 }
  6931. { ARB_shader_subroutine }
  6932. { ARB_tessellation_shader }
  6933. { ARB_texture_buffer_object_rgb32 (no entry points) }
  6934. { ARB_texture_cube_map_array (no entry points) }
  6935. { ARB_texture_gather (no entry points) }
  6936. { ARB_transform_feedback2 }
  6937. { ARB_transform_feedback3 }
  6938. TglMinSampleShading = procedure(value: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6939. TglBlendEquationi = procedure(buf: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6940. TglBlendEquationSeparatei = procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6941. TglBlendFunci = procedure(buf: GLuint; src: GLenum; dst: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6942. TglBlendFuncSeparatei = procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6943. // GL_VERSION_4_1
  6944. { OpenGL 4.1 also reuses entry points from these extensions: }
  6945. { ARB_ES2_compatibility }
  6946. { ARB_get_program_binary }
  6947. { ARB_separate_shader_objects }
  6948. { ARB_shader_precision (no entry points) }
  6949. { ARB_vertex_attrib_64bit }
  6950. { ARB_viewport_array }
  6951. // GL_3DFX_tbuffer
  6952. TglTbufferMask3DFX = procedure(mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6953. // GL_APPLE_element_array
  6954. TglElementPointerAPPLE = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6955. TglDrawElementArrayAPPLE = procedure(mode: GLenum; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6956. TglDrawRangeElementArrayAPPLE = procedure(mode: GLenum; start: GLuint; _end: GLuint; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6957. TglMultiDrawElementArrayAPPLE = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6958. TglMultiDrawRangeElementArrayAPPLE = procedure(mode: GLenum; start: GLuint; _end: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6959. // GL_APPLE_fence
  6960. TglGenFencesAPPLE = procedure(n: GLsizei; fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6961. TglDeleteFencesAPPLE = procedure(n: GLsizei; const fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6962. TglSetFenceAPPLE = procedure(fence: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6963. TglIsFenceAPPLE = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6964. TglTestFenceAPPLE = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6965. TglFinishFenceAPPLE = procedure(fence: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6966. TglTestObjectAPPLE = function(_object: GLenum; name: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6967. TglFinishObjectAPPLE = procedure(_object: GLenum; name: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6968. // GL_APPLE_vertex_array_object
  6969. TglBindVertexArrayAPPLE = procedure(_array: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6970. TglDeleteVertexArraysAPPLE = procedure(n: GLsizei; const arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6971. TglGenVertexArraysAPPLE = procedure(n: GLsizei; const arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6972. TglIsVertexArrayAPPLE = function(_array: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6973. // GL_APPLE_vertex_array_range
  6974. TglVertexArrayRangeAPPLE = procedure(length: GLsizei; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6975. TglFlushVertexArrayRangeAPPLE = procedure(length: GLsizei; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6976. TglVertexArrayParameteriAPPLE = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6977. // GL_APPLE_texture_range
  6978. TglTextureRangeAPPLE = procedure(target: GLenum; length: GLsizei; const Pointer_: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6979. TglGetTexParameterPointervAPPLE = procedure(target: GLenum; pname: GLenum; params: PPGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6980. // GL_APPLE_vertex_program_evaluators
  6981. TglEnableVertexAttribAPPLE = procedure(index_: GLuint; pname: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6982. TglDisableVertexAttribAPPLE = procedure(index_: GLuint; pname: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6983. TglIsVertexAttribEnabledAPPLE = function(index_: GLuint; pname: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6984. TglMapVertexAttrib1dAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; stride: GLint; order: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6985. TglMapVertexAttrib1fAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; stride: GLint; order: GLint; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6986. TglMapVertexAttrib2dAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; ustride: GLint; uorder: GLint; v1: GLdouble; v2: GLdouble; vstride: GLint; vorder: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6987. TglMapVertexAttrib2fAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; ustride: GLint; order: GLint; v1: GLfloat; v2: GLfloat; vstride: GLint; vorder: GLint; const points: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6988. // GL_APPLE_object_purgeable
  6989. TglObjectPurgeableAPPLE = function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6990. TglObjectUnpurgeableAPPLE = function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6991. TglGetObjectParameterivAPPLE = procedure(objectType: GLenum; name: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6992. // GL_ARB_matrix_palette
  6993. TglCurrentPaletteMatrixARB = procedure(index: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6994. TglMatrixIndexubvARB = procedure(size: GLint; const indices: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6995. TglMatrixIndexusvARB = procedure(size: GLint; const indices: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6996. TglMatrixIndexuivARB = procedure(size: GLint; const indices: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6997. TglMatrixIndexPointerARB = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  6998. // GL_ARB_multisample
  6999. TglSampleCoverageARB = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7000. // GL_ARB_multitexture
  7001. TglActiveTextureARB = procedure(texture: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7002. TglClientActiveTextureARB = procedure(texture: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7003. TglMultiTexCoord1dARB = procedure(target: GLenum; s: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7004. TglMultiTexCoord1dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7005. TglMultiTexCoord1fARB = procedure(target: GLenum; s: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7006. TglMultiTexCoord1fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7007. TglMultiTexCoord1iARB = procedure(target: GLenum; s: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7008. TglMultiTexCoord1ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7009. TglMultiTexCoord1sARB = procedure(target: GLenum; s: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7010. TglMultiTexCoord1svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7011. TglMultiTexCoord2dARB = procedure(target: GLenum; s: GLdouble; t: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7012. TglMultiTexCoord2dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7013. TglMultiTexCoord2fARB = procedure(target: GLenum; s: GLfloat; t: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7014. TglMultiTexCoord2fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7015. TglMultiTexCoord2iARB = procedure(target: GLenum; s: GLint; t: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7016. TglMultiTexCoord2ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7017. TglMultiTexCoord2sARB = procedure(target: GLenum; s: GLshort; t: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7018. TglMultiTexCoord2svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7019. TglMultiTexCoord3dARB = procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7020. TglMultiTexCoord3dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7021. TglMultiTexCoord3fARB = procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7022. TglMultiTexCoord3fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7023. TglMultiTexCoord3iARB = procedure(target: GLenum; s: GLint; t: GLint; r: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7024. TglMultiTexCoord3ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7025. TglMultiTexCoord3sARB = procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7026. TglMultiTexCoord3svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7027. TglMultiTexCoord4dARB = procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7028. TglMultiTexCoord4dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7029. TglMultiTexCoord4fARB = procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7030. TglMultiTexCoord4fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7031. TglMultiTexCoord4iARB = procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7032. TglMultiTexCoord4ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7033. TglMultiTexCoord4sARB = procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7034. TglMultiTexCoord4svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7035. // GL_ARB_point_parameters
  7036. TglPointParameterfARB = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7037. TglPointParameterfvARB = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7038. // GL_ARB_texture_compression
  7039. TglCompressedTexImage3DARB = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7040. TglCompressedTexImage2DARB = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7041. TglCompressedTexImage1DARB = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7042. TglCompressedTexSubImage3DARB = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7043. TglCompressedTexSubImage2DARB = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7044. TglCompressedTexSubImage1DARB = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7045. TglGetCompressedTexImageARB = procedure(target: GLenum; level: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7046. // GL_ARB_transpose_matrix
  7047. TglLoadTransposeMatrixfARB = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7048. TglLoadTransposeMatrixdARB = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7049. TglMultTransposeMatrixfARB = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7050. TglMultTransposeMatrixdARB = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7051. // GL_ARB_vertex_blend
  7052. TglWeightbvARB = procedure(size: GLint; const weights: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7053. TglWeightsvARB = procedure(size: GLint; const weights: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7054. TglWeightivARB = procedure(size: GLint; const weights: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7055. TglWeightfvARB = procedure(size: GLint; const weights: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7056. TglWeightdvARB = procedure(size: GLint; const weights: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7057. TglWeightubvARB = procedure(size: GLint; const weights: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7058. TglWeightusvARB = procedure(size: GLint; const weights: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7059. TglWeightuivARB = procedure(size: GLint; const weights: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7060. TglWeightPointerARB = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7061. TglVertexBlendARB = procedure(count: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7062. // GL_ARB_vertex_buffer_object
  7063. TglBindBufferARB = procedure(target: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7064. TglDeleteBuffersARB = procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7065. TglGenBuffersARB = procedure(n: GLsizei; buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7066. TglIsBufferARB = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7067. TglBufferDataARB = procedure(target: GLenum; size: GLsizeiptrARB; const data: PGLvoid; usage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7068. TglBufferSubDataARB = procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7069. TglGetBufferSubDataARB = procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7070. TglMapBufferARB = function(target: GLenum; access: GLenum): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7071. TglUnmapBufferARB = function(target: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7072. TglGetBufferParameterivARB = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7073. TglGetBufferPointervARB = procedure(target: GLenum; pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7074. // GL_ARB_vertex_program
  7075. TglVertexAttrib1dARB = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7076. TglVertexAttrib1dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7077. TglVertexAttrib1fARB = procedure(index: GLuint; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7078. TglVertexAttrib1fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7079. TglVertexAttrib1sARB = procedure(index: GLuint; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7080. TglVertexAttrib1svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7081. TglVertexAttrib2dARB = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7082. TglVertexAttrib2dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7083. TglVertexAttrib2fARB = procedure(index: GLuint; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7084. TglVertexAttrib2fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7085. TglVertexAttrib2sARB = procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7086. TglVertexAttrib2svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7087. TglVertexAttrib3dARB = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7088. TglVertexAttrib3dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7089. TglVertexAttrib3fARB = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7090. TglVertexAttrib3fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7091. TglVertexAttrib3sARB = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7092. TglVertexAttrib3svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7093. TglVertexAttrib4NbvARB = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7094. TglVertexAttrib4NivARB = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7095. TglVertexAttrib4NsvARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7096. TglVertexAttrib4NubARB = procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7097. TglVertexAttrib4NubvARB = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7098. TglVertexAttrib4NuivARB = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7099. TglVertexAttrib4NusvARB = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7100. TglVertexAttrib4bvARB = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7101. TglVertexAttrib4dARB = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7102. TglVertexAttrib4dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7103. TglVertexAttrib4fARB = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7104. TglVertexAttrib4fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7105. TglVertexAttrib4ivARB = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7106. TglVertexAttrib4sARB = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7107. TglVertexAttrib4svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7108. TglVertexAttrib4ubvARB = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7109. TglVertexAttrib4uivARB = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7110. TglVertexAttrib4usvARB = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7111. TglVertexAttribPointerARB = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7112. TglEnableVertexAttribArrayARB = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7113. TglDisableVertexAttribArrayARB = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7114. TglProgramStringARB = procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7115. TglBindProgramARB = procedure(target: GLenum; _program: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7116. TglDeleteProgramsARB = procedure(n: GLsizei; const programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7117. TglGenProgramsARB = procedure(n: GLsizei; programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7118. TglProgramEnvParameter4dARB = procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7119. TglProgramEnvParameter4dvARB = procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7120. TglProgramEnvParameter4fARB = procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7121. TglProgramEnvParameter4fvARB = procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7122. TglProgramLocalParameter4dARB = procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7123. TglProgramLocalParameter4dvARB = procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7124. TglProgramLocalParameter4fARB = procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7125. TglProgramLocalParameter4fvARB = procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7126. TglGetProgramEnvParameterdvARB = procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7127. TglGetProgramEnvParameterfvARB = procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7128. TglGetProgramLocalParameterdvARB = procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7129. TglGetProgramLocalParameterfvARB = procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7130. TglGetProgramivARB = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7131. TglGetProgramStringARB = procedure(target: GLenum; pname: GLenum; _string: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7132. TglGetVertexAttribdvARB = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7133. TglGetVertexAttribfvARB = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7134. TglGetVertexAttribivARB = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7135. TglGetVertexAttribPointervARB = procedure(index: GLuint; pname: GLenum; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7136. TglIsProgramARB = function(_program: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7137. // GL_ARB_window_pos
  7138. TglWindowPos2dARB = procedure(x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7139. TglWindowPos2dvARB = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7140. TglWindowPos2fARB = procedure(x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7141. TglWindowPos2fvARB = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7142. TglWindowPos2iARB = procedure(x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7143. TglWindowPos2ivARB = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7144. TglWindowPos2sARB = procedure(x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7145. TglWindowPos2svARB = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7146. TglWindowPos3dARB = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7147. TglWindowPos3dvARB = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7148. TglWindowPos3fARB = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7149. TglWindowPos3fvARB = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7150. TglWindowPos3iARB = procedure(x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7151. TglWindowPos3ivARB = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7152. TglWindowPos3sARB = procedure(x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7153. TglWindowPos3svARB = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7154. // GL_ARB_draw_buffers
  7155. TglDrawBuffersARB = procedure(n: GLsizei; bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7156. // GL_ARB_color_buffer_float
  7157. TglClampColorARB = procedure(target: GLenum; clamp: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7158. // GL_ARB_vertex_shader
  7159. TglGetActiveAttribARB = procedure(programobj: GLhandleARB; index: GLuint; maxLength: GLsizei; var length: GLsizei; var size: GLint; var _type: GLenum; name: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7160. TglGetAttribLocationARB = function(programObj: GLhandleARB; const char: PGLcharARB): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7161. TglBindAttribLocationARB = procedure(programObj: GLhandleARB; index: GLuint; const name: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7162. // GL_ARB_shader_objects
  7163. TglDeleteObjectARB = procedure(Obj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7164. TglGetHandleARB = function(pname: GlEnum): GLHandleARB; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7165. TglDetachObjectARB = procedure(container, attached: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7166. TglCreateShaderObjectARB = function(shaderType: glenum): GLHandleARB; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7167. TglShaderSourceARB = procedure(shaderObj: GLHandleARB; count: glsizei; const _string: PPGLCharARB; lengths: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7168. TglCompileShaderARB = procedure(shaderObj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7169. TglCreateProgramObjectARB = function: GLHandleARB; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7170. TglAttachObjectARB = procedure(programObj, shaderObj: GLhandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7171. TglLinkProgramARB = procedure(programObj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7172. TglUseProgramObjectARB = procedure(programObj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7173. TglValidateProgramARB = procedure(programObj: GLhandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7174. TglUniform1fARB = procedure(location: glint; v0: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7175. TglUniform2fARB = procedure(location: glint; v0, v1: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7176. TglUniform3fARB = procedure(location: glint; v0, v1, v2: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7177. TglUniform4fARB = procedure(location: glint; v0, v1, v2, v3: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7178. TglUniform1iARB = procedure(location: glint; v0: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7179. TglUniform2iARB = procedure(location: glint; v0, v1: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7180. TglUniform3iARB = procedure(location: glint; v0, v1, v2: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7181. TglUniform4iARB = procedure(location: glint; v0, v1, v2, v3: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7182. TglUniform1fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7183. TglUniform2fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7184. TglUniform3fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7185. TglUniform4fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7186. TglUniform1ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7187. TglUniform2ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7188. TglUniform3ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7189. TglUniform4ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7190. TglUniformMatrix2fvARB = procedure(location: glint; count: glsizei; transpose: glboolean; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7191. TglUniformMatrix3fvARB = procedure(location: glint; count: glsizei; transpose: glboolean; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7192. TglUniformMatrix4fvARB = procedure(location: glint; count: glsizei; transpose: glboolean; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7193. TglGetObjectParameterfvARB = procedure(Obj: GLHandleARB; pname: GLEnum; params: PGLFloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7194. TglGetObjectParameterivARB = procedure(Obj: GLHandleARB; pname: GLEnum; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7195. TglGetInfoLogARB = procedure(shaderObj: GLHandleARB; maxLength: glsizei; var length: glint; infoLog: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7196. TglGetAttachedObjectsARB = procedure(programobj: GLhandleARB; maxCount: GLsizei; var count: GLsizei; objects: PGLhandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7197. TglGetUniformLocationARB = function(programObj: GLhandleARB; const char: PGLcharARB): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7198. TglGetActiveUniformARB = procedure(programobj: GLhandleARB; index: GLuint; maxLength: GLsizei; var length: GLsizei; var size: GLint; var _type: GLenum; name: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7199. TglGetUniformfvARB = procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7200. TglGetUniformivARB = procedure(programObj: GLhandleARB; location: GLint; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7201. TglGetShaderSourceARB = procedure(shader: GLhandleARB; maxLength: GLsizei; var length: GLsizei; source: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7202. // GL_ARB_Occlusion_Query
  7203. TglGenQueriesARB = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7204. TglDeleteQueriesARB = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7205. TglIsQueryARB = function(id: GLuint): boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7206. TglBeginQueryARB = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7207. TglEndQueryARB = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7208. TglGetQueryivARB = procedure(target, pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7209. TglGetQueryObjectivARB = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7210. TglGetQueryObjectuivARB = procedure(id: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7211. // GL_ARB_draw_instanced
  7212. TglDrawArraysInstancedARB = procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7213. TglDrawElementsInstancedARB = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7214. // GL_ARB_framebuffer_object
  7215. TglIsRenderbuffer = function(renderbuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7216. TglBindRenderbuffer = procedure(target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7217. TglDeleteRenderbuffers = procedure(n: GLsizei; const renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7218. TglGenRenderbuffers = procedure(n: GLsizei; renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7219. TglRenderbufferStorage = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7220. TglGetRenderbufferParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7221. TglIsFramebuffer = function(framebuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7222. TglBindFramebuffer = procedure(target: GLenum; framebuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7223. TglDeleteFramebuffers = procedure(n: GLsizei; const framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7224. TglGenFramebuffers = procedure(n: GLsizei; framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7225. TglCheckFramebufferStatus = function(target: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7226. TglFramebufferTexture1D = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7227. TglFramebufferTexture2D = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7228. TglFramebufferTexture3D = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7229. TglFramebufferRenderbuffer = procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7230. TglGetFramebufferAttachmentParameteriv = procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7231. TglGenerateMipmap = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7232. TglBlitFramebuffer = procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7233. TglRenderbufferStorageMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7234. TglFramebufferTextureLayer = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7235. // GL_ARB_geometry_shader4
  7236. TglProgramParameteriARB = procedure(program_: GLuint; pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7237. TglFramebufferTextureARB = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7238. TglFramebufferTextureLayerARB = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7239. TglFramebufferTextureFaceARB = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7240. // GL_ARB_instanced_arrays
  7241. TglVertexAttribDivisorARB = procedure(index_: GLuint; divisor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7242. // GL_ARB_map_buffer_range
  7243. TglMapBufferRange = function(target: GLenum; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7244. TglFlushMappedBufferRange = procedure(target: GLenum; offset: GLintptr; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7245. // GL_ARB_texture_buffer_object
  7246. TglTexBufferARB = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7247. // GL_ARB_vertex_array_object
  7248. TglBindVertexArray = procedure(array_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7249. TglDeleteVertexArrays = procedure(n: GLsizei; const arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7250. TglGenVertexArrays = procedure(n: GLsizei; arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7251. TglIsVertexArray = function(array_: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7252. // GL_ARB_uniform_buffer_object
  7253. TglGetUniformIndices = procedure(program_: GLuint; uniformCount: GLsizei; const uniformNames: PPGLchar; uniformIndices: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7254. TglGetActiveUniformsiv = procedure(program_: GLuint; uniformCount: GLsizei; const uniformIndices: PGLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7255. TglGetActiveUniformName = procedure(program_: GLuint; uniformIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformName: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7256. TglGetUniformBlockIndex = function(program_: GLuint; const uniformBlockName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7257. TglGetActiveUniformBlockiv = procedure(program_: GLuint; uniformBlockIndex: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7258. TglGetActiveUniformBlockName = procedure(program_: GLuint; uniformBlockIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformBlockName: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7259. TglUniformBlockBinding = procedure(program_: GLuint; uniformBlockIndex: GLuint; uniformBlockBinding: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7260. // GL_ARB_copy_buffer
  7261. TglCopyBufferSubData = procedure(readTarget: GLenum; writeTarget: GLenum; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7262. // GL_ARB_draw_elements_base_vertex
  7263. TglDrawElementsBaseVertex = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; basevertex: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7264. TglDrawRangeElementsBaseVertex = procedure(mode: GLenum; start: GLuint; end_: GLuint; count: GLsizei; type_: GLenum; const indices: PGLvoid; basevertex: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7265. TglDrawElementsInstancedBaseVertex = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; primcount: GLsizei; basevertex: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7266. TglMultiDrawElementsBaseVertex = procedure(mode: GLenum; const count: PGLsizei; type_: GLenum; const indices: PPGLvoid; primcount: GLsizei; const basevertex: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7267. // GL_ARB_provoking_vertex
  7268. TglProvokingVertex = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7269. // GL_ARB_sync
  7270. TglFenceSync = function(condition: GLenum; flags: GLbitfield): GLsync; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7271. TglIsSync = function(sync: GLsync): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7272. TglDeleteSync = procedure(sync: GLsync); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7273. TglClientWaitSync = function(sync: GLsync; flags: GLbitfield; timeout: GLuint64): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7274. TglWaitSync = procedure(sync: GLsync; flags: GLbitfield; timeout: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7275. TglGetInteger64v = procedure(pname: GLenum; params: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7276. TglGetSynciv = procedure(sync: GLsync; pname: GLenum; butSize: GLsizei; length: PGLsizei; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7277. // GL_ARB_texture_multisample
  7278. TglTexImage2DMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLint; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7279. TglTexImage3DMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7280. TglGetMultisamplefv = procedure(pname: GLenum; index_: GLuint; val: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7281. TglSampleMaski = procedure(index_: GLuint; mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7282. // GL_ARB_draw_buffers_blend
  7283. TglBlendEquationiARB = procedure(buf: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7284. TglBlendEquationSeparateiARB = procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7285. TglBlendFunciARB = procedure(buf: GLuint; src: GLenum; dst: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7286. TglBlendFuncSeparateiARB = procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7287. // GL_ARB_sample_shading
  7288. TglMinSampleShadingARB = procedure(value: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7289. // GL_ARB_shading_language_include
  7290. TglNamedStringARB = procedure(type_: GLenum; namelen: GLint; const name: PGLchar; stringlen: GLint; const string_: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7291. TglDeleteNamedStringARB = procedure(namelen: GLint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7292. TglCompileShaderIncludeARB = procedure (shader: GLuint; count: GLsizei; const path: PPGLchar; const length: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7293. TglIsNamedStringARB = function(namelen: GLint; const name: PGLchar): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7294. TglGetNamedStringARB = procedure(namelen: GLint; const name: PGLchar; bufSize: GLsizei; stringlen: GLint; string_: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7295. TglGetNamedStringivARB = procedure(namelen: GLint; const name: PGLchar; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7296. // GL_ARB_blend_func_extended
  7297. TglBindFragDataLocationIndexed = procedure(program_: GLuint; colorNumber: GLuint; index: GLuint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7298. TglGetFragDataIndex = function(program_: GLuint; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7299. // GL_ARB_sampler_objects
  7300. TglGenSamplers = procedure(count: GLsizei; samplers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7301. TglDeleteSamplers = procedure(count: GLsizei; const samplers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7302. TglIsSampler = function(sampler: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7303. TglBindSampler = procedure(unit_: GLuint; sampler: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7304. TglSamplerParameteri = procedure(sampler: GLuint; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7305. TglSamplerParameteriv = procedure(sampler: GLuint; pname: GLenum; const param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7306. TglSamplerParameterf = procedure(sampler: GLuint; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7307. TglSamplerParameterfv = procedure(sampler: GLuint; pname: GLenum; const param: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7308. TglSamplerParameterIiv = procedure(sampler: GLuint; pname: GLenum; const param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7309. TglSamplerParameterIuiv = procedure(sampler: GLuint; pname: GLenum; const param: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7310. TglGetSamplerParameteriv = procedure(sampler: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7311. TglGetSamplerParameterIiv = procedure(sampler: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7312. TglGetSamplerParameterfv = procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7313. TglGetSamplerParameterIuiv = procedure(sampler: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7314. // GL_ARB_timer_query
  7315. TglQueryCounter = procedure(id: GLuint; target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7316. TglGetQueryObjecti64v = procedure(id: GLuint; pname: GLenum; params: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7317. TglGetQueryObjectui64v = procedure(id: GLuint; pname: GLenum; params: PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7318. // GL_ARB_vertex_type_2_10_10_10_rev
  7319. TglVertexP2ui = procedure(type_: GLenum; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7320. TglVertexP2uiv = procedure(type_: GLenum; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7321. TglVertexP3ui = procedure(type_: GLenum; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7322. TglVertexP3uiv = procedure(type_: GLenum; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7323. TglVertexP4ui = procedure(type_: GLenum; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7324. TglVertexP4uiv = procedure(type_: GLenum; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7325. TglTexCoordP1ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7326. TglTexCoordP1uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7327. TglTexCoordP2ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7328. TglTexCoordP2uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7329. TglTexCoordP3ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7330. TglTexCoordP3uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7331. TglTexCoordP4ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7332. TglTexCoordP4uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7333. TglMultiTexCoordP1ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7334. TglMultiTexCoordP1uiv = procedure(texture: GLenum; type_: GLenum; const coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7335. TglMultiTexCoordP2ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7336. TglMultiTexCoordP2uiv = procedure(texture: GLenum; type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7337. TglMultiTexCoordP3ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7338. TglMultiTexCoordP3uiv = procedure(texture: GLenum; type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7339. TglMultiTexCoordP4ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7340. TglMultiTexCoordP4uiv = procedure(texture: GLenum; type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7341. TglNormalP3ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7342. TglNormalP3uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7343. TglColorP3ui = procedure(type_: GLenum; color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7344. TglColorP3uiv = procedure(type_: GLenum; const color: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7345. TglColorP4ui = procedure(type_: GLenum; color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7346. TglColorP4uiv = procedure(type_: GLenum; const color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7347. TglSecondaryColorP3ui = procedure(type_: GLenum; color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7348. TglSecondaryColorP3uiv = procedure(type_: GLenum; const color: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7349. TglVertexAttribP1ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7350. TglVertexAttribP1uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7351. TglVertexAttribP2ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7352. TglVertexAttribP2uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7353. TglVertexAttribP3ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7354. TglVertexAttribP3uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7355. TglVertexAttribP4ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7356. TglVertexAttribP4uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7357. // GL_ARB_draw_indirect
  7358. TglDrawArraysIndirect = procedure(mode: GLenum; const indirect: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7359. TglDrawElementsIndirect = procedure(mode: GLenum; type_: GLenum; const indirect: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7360. // GL_ARB_gpu_shader_fp64
  7361. TglUniform1d = procedure(location: GLint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7362. TglUniform2d = procedure(location: GLint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7363. TglUniform3d = procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7364. TglUniform4d = procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7365. TglUniform1dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7366. TglUniform2dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7367. TglUniform3dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7368. TglUniform4dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7369. TglUniformMatrix2dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7370. TglUniformMatrix3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7371. TglUniformMatrix4dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7372. TglUniformMatrix2x3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7373. TglUniformMatrix2x4dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7374. TglUniformMatrix3x2dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7375. TglUniformMatrix3x4dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7376. TglUniformMatrix4x2dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7377. TglUniformMatrix4x3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7378. TglGetUniformdv = procedure(program_: GLuint; location: GLint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7379. // GL_ARB_shader_subroutine
  7380. TglGetSubroutineUniformLocation = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7381. TglGetSubroutineIndex = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7382. TglGetActiveSubroutineUniformiv = procedure(program_: GLuint; shadertype: GLenum; index: GLuint; pname: GLenum; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7383. TglGetActiveSubroutineUniformName = procedure(program_: GLuint; shadertype: GLenum; index: GLuint; bufsize: GLsizei; length: PGLsizei; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7384. TglGetActiveSubroutineName = procedure(program_: GLuint; shadertype: GLenum; index: GLuint; bufsize: GLsizei; length: PGLsizei; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7385. TglUniformSubroutinesuiv = procedure(shadertype: GLenum; count: GLsizei; const indices: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7386. TglGetUniformSubroutineuiv = procedure(shadertype: GLenum; location: GLint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7387. TglGetProgramStageiv = procedure(program_: GLuint; shadertype: GLenum; pname: GLenum; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7388. // GL_ARB_tessellation_shader
  7389. TglPatchParameteri = procedure(pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7390. TglPatchParameterfv = procedure(pname: GLenum; const values: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7391. // GL_ARB_transform_feedback2
  7392. TglBindTransformFeedback = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7393. TglDeleteTransformFeedbacks = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7394. TglGenTransformFeedbacks = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7395. TglIsTransformFeedback = function(id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7396. TglPauseTransformFeedback = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7397. TglResumeTransformFeedback = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7398. TglDrawTransformFeedback = procedure(mode: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7399. // GL_ARB_transform_feedback3
  7400. TglDrawTransformFeedbackStream = procedure(mode: GLenum; id: GLuint; stream: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7401. TglBeginQueryIndexed = procedure(target: GLenum; index: GLuint; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7402. TglEndQueryIndexed = procedure(target: GLenum; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7403. TglGetQueryIndexediv = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7404. // GL_ARB_ES2_compatibility
  7405. TglReleaseShaderCompiler = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7406. TglShaderBinary = procedure(count: GLsizei; const shaders: PGLuint; binaryformat: GLenum; const binary: PGLvoid; length: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7407. TglGetShaderPrecisionFormat = procedure(shadertype: GLenum; precisiontype: GLenum; range: PGLint; precision: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7408. TglDepthRangef = procedure(n: GLclampf; f: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7409. TglClearDepthf = procedure(d: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7410. // GL_ARB_get_program_binary
  7411. TglGetProgramBinary = procedure(program_: GLuint; bufSize: GLsizei; length: PGLsizei; binaryFormat: PGLenum; binary: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7412. TglProgramBinary = procedure(program_: GLuint; binaryFormat: GLenum; const binary: PGLvoid; length: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7413. TglProgramParameteri = procedure(program_: GLuint; pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7414. // GL_ARB_separate_shader_objects
  7415. TglUseProgramStages = procedure(pipeline: GLuint; stages: GLbitfield; program_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7416. TglActiveShaderProgram = procedure(pipeline: GLuint; program_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7417. TglCreateShaderProgramv = function(type_: GLenum; count: GLsizei; const strings: PPGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7418. TglBindProgramPipeline = procedure(pipeline: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7419. TglDeleteProgramPipelines = procedure(n: GLsizei; const pipelines: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7420. TglGenProgramPipelines = procedure(n: GLsizei; pipelines: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7421. TglIsProgramPipeline = function(pipeline: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7422. TglGetProgramPipelineiv = procedure(pipeline: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7423. TglProgramUniform1i = procedure(program_: GLuint; location: GLint; v0: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7424. TglProgramUniform1iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7425. TglProgramUniform1f = procedure(program_: GLuint; location: GLint; v0: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7426. TglProgramUniform1fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7427. TglProgramUniform1d = procedure(program_: GLuint; location: GLint; v0: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7428. TglProgramUniform1dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7429. TglProgramUniform1ui = procedure(program_: GLuint; location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7430. TglProgramUniform1uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7431. TglProgramUniform2i = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7432. TglProgramUniform2iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7433. TglProgramUniform2f = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7434. TglProgramUniform2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7435. TglProgramUniform2d = procedure(program_: GLuint; location: GLint; v0: GLdouble; v1: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7436. TglProgramUniform2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7437. TglProgramUniform2ui = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7438. TglProgramUniform2uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7439. TglProgramUniform3i = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7440. TglProgramUniform3iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7441. TglProgramUniform3f = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7442. TglProgramUniform3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7443. TglProgramUniform3d = procedure(program_: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7444. TglProgramUniform3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7445. TglProgramUniform3ui = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7446. TglProgramUniform3uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7447. TglProgramUniform4i = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7448. TglProgramUniform4iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7449. TglProgramUniform4f = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7450. TglProgramUniform4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7451. TglProgramUniform4d = procedure(program_: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble; v3: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7452. TglProgramUniform4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7453. TglProgramUniform4ui = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7454. TglProgramUniform4uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7455. TglProgramUniformMatrix2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7456. TglProgramUniformMatrix3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7457. TglProgramUniformMatrix4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7458. TglProgramUniformMatrix2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7459. TglProgramUniformMatrix3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7460. TglProgramUniformMatrix4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7461. TglProgramUniformMatrix2x3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7462. TglProgramUniformMatrix3x2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7463. TglProgramUniformMatrix2x4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7464. TglProgramUniformMatrix4x2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7465. TglProgramUniformMatrix3x4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7466. TglProgramUniformMatrix4x3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7467. TglProgramUniformMatrix2x3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7468. TglProgramUniformMatrix3x2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7469. TglProgramUniformMatrix2x4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7470. TglProgramUniformMatrix4x2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7471. TglProgramUniformMatrix3x4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7472. TglProgramUniformMatrix4x3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7473. TglValidateProgramPipeline = procedure(pipeline: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7474. TglGetProgramPipelineInfoLog = procedure(pipeline: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7475. // GL_ARB_vertex_attrib_64bit
  7476. TglVertexAttribL1d = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7477. TglVertexAttribL2d = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7478. TglVertexAttribL3d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7479. TglVertexAttribL4d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7480. TglVertexAttribL1dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7481. TglVertexAttribL2dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7482. TglVertexAttribL3dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7483. TglVertexAttribL4dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7484. TglVertexAttribLPointer = procedure(index: GLuint; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7485. TglGetVertexAttribLdv = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7486. // GL_ARB_viewport_array
  7487. TglViewportArrayv = procedure(first: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7488. TglViewportIndexedf = procedure(index: GLuint; x: GLfloat; y: GLfloat; w: GLfloat; h: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7489. TglViewportIndexedfv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7490. TglScissorArrayv = procedure(first: GLuint; count: GLsizei; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7491. TglScissorIndexed = procedure(index: GLuint; left: GLint; bottom: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7492. TglScissorIndexedv = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7493. TglDepthRangeArrayv = procedure(first: GLuint; count: GLsizei; const v: PGLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7494. TglDepthRangeIndexed = procedure(index: GLuint; n: GLclampd; f: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7495. TglGetFloati_v = procedure(target: GLenum; index: GLuint; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7496. TglGetDoublei_v = procedure(target: GLenum; index: GLuint; data: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7497. // GL 4.2
  7498. // GL_ARB_base_instance
  7499. TglDrawArraysInstancedBaseInstance = procedure(mode: GLenum; first: GLint; count :GLsizei; primcount: GLsizei; baseinstance: GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7500. TglDrawElementsInstancedBaseInstance = procedure(mode: GLEnum; count: GLsizei; _type: GLenum; const indices: PGLVoid; primcount: GLsizei; baseinstance: GLUInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7501. TglDrawElementsInstancedBaseVertexBaseInstance = procedure(mode: GLEnum; count: GLsizei; _type: GLenum; const indices: PGLVoid; primcount :GLsizei; basevertex: GLint; baseinstance: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7502. // GL_ARB_transform_feedback_instanced
  7503. TglDrawTransformFeedbackInstanced = procedure(mode: GLenum; id: GLuint; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7504. TglDrawTransformFeedbackStreamInstanced = procedure(mode: GLenum; id: GLUInt; stream: GLUint; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7505. // GL_ARB_internalformat_query
  7506. TglGetInternalformativ = procedure(target: GLenum; internalformat: GLenum; pname: GLenum; bufSize: GLsizei; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7507. // GL_ARB_shader_atomic_counters
  7508. TglGetActiveAtomicCounterBufferiv = procedure(_program: GLuint; bufferIndex: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7509. /// GL_ARB_shader_image_load_store
  7510. TglBindImageTexture = procedure(_unit: GLuint; texture: GLuint; level :GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7511. TglMemoryBarrier = procedure(barriers: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7512. // GL_ARB_texture_storage
  7513. TglTexStorage1D = procedure(target: GLenum; levels :GLsizei; internalformat: GLenum; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7514. TglTexStorage2D = procedure(target: GLenum; levels :GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7515. TglTexStorage3D = procedure(target: GLenum; levels :GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7516. TglTextureStorage1DEXT = procedure(texture: GLuint; target: GLenum; levels :GLsizei; internalformat: GLenum; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7517. TglTextureStorage2DEXT = procedure(texture: GLuint; target: GLenum; levels :GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7518. TglTextureStorage3DEXT = procedure(texture: GLuint; target: GLenum; levels :GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7519. // GL 4.3
  7520. // GL_KHR_debug
  7521. TglDebugMessageControl = procedure(source: GLenum; type_: GLenum; severity: TGLenum; count: GLsizei; const ids: PGLUInt; enabled: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7522. TglDebugMessageInsert = procedure(source: GLenum; type_: GLenum; id: GLuint; sverity: GLenum; length: GLsizei; const buf: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7523. TglDebugMessageCallback = procedure(callback: TGLDEBUGPROC; const userParam: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7524. TglGetDebugMessageLog = function(count: GLuint; bufsize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; sverities: PGLenum; lengths: PGLSizei; messagelog: PGLchar): GLUInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7525. TglPushDebugGroup = procedure(source: GLenum; id: GLuint; length: GLsizei; const message_: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7526. TglPopDebugGroup = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7527. TglObjectLabel = procedure(identifier: GLenum; name: GLuint; length: GLsizei; const label_: PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7528. TglGetObjectLabel = procedure(identifier: GLenum; name: GLuint; bufsize: GLsizei; length: PGLsizei; label_: PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7529. TglObjectPtrLabel = procedure(const ptr: Pointer; length: GLsizei; const label_: PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7530. TglGetObjectPtrLabel = procedure(const ptr: Pointer; bufSize: GLsizei; length: PGLsizei; label_: PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7531. // GL_ARB_clear_buffer_object
  7532. TglClearBufferData = procedure(target: GLenum; internalformat: GLenum; format: GLEnum; type_: GLEnum; const data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7533. TglClearBufferSubData = procedure(target: GLenum; internalformat: GLenum; offset: GLintptr; size: GLsizeiptr; format: GLenum; type_: GLenum; const data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7534. TglClearNamedBufferDataEXT = procedure(buffer: GLuint; internalformat: GLenum; format: GLEnum; type_: GLEnum; const data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7535. TglClearNamedBufferSubDataEXT = procedure(buffer: GLuint; internalformat: GLenum; format: GLenum; type_: GLenum; offset: GLsizeiptr; size: GLsizeiptr; const data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7536. // GL_ARB_compute_shader
  7537. TglDispatchCompute = procedure(num_groups_x: GLuint; num_groups_y: GLuint; num_groups_z: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7538. TglDispatchComputeIndirect = procedure(indirect: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7539. // GL_ARB_copy_image
  7540. TglCopyImageSubData = procedure(srcName: GLUInt; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; dstName: GLUInt; dstTarget: GLEnum; dstLevel: GLInt; dstX: GLInt; dstY: GLint; dstZ: GLint; srcWidth: GLsizei; srcHeight: GLsizei; srcDepth: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7541. // GL_ARB_debug_group
  7542. // ARB_debug_group reuses entry points from KHR_debug
  7543. // GL_ARB_debug_label
  7544. // ARB_debug_label reuses entry points from KHR_debug
  7545. // GL_ARB_debug_output2
  7546. // GL_ARB_ES3_compatibility
  7547. // GL_ARB_explicit_uniform_location
  7548. // GL_ARB_fragment_layer_viewport
  7549. // GL_ARB_framebuffer_no_attachments
  7550. TglFramebufferParameteri = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7551. TglGetFramebufferParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7552. TglNamedFramebufferParameteriEXT = procedure(framebuffer: GLUInt; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7553. TglGetNamedFramebufferParameterivEXT = procedure(framebuffer: GLUInt; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7554. // GL_ARB_internalformat_query2
  7555. TglGetInternalformati64v = procedure(target: GLenum; internalformat: GLenum; pname: GLenum; bufSize: GLsizei; params: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7556. // GL_ARB_invalidate_subdata
  7557. TglInvalidateTexSubImage = procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7558. TglInvalidateTexImage = procedure(texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7559. TglInvalidateBufferSubData = procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7560. TglInvalidateBufferData = procedure(buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7561. TglInvalidateFramebuffer = procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7562. TglInvalidateSubFramebuffer = procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7563. // GL_ARB_multi_draw_indirect
  7564. TglMultiDrawArraysIndirect = procedure(mode: GLenum; const indirect: Pointer; drawcount: GLsizei; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7565. TglMultiDrawElementsIndirect = procedure(mode: GLenum; type_: GLenum; const indirect: Pointer; drawcount: GLsizei; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7566. // GL_ARB_program_interface_query
  7567. TglGetProgramInterfaceiv = procedure(program_: GLUInt;programInterface: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7568. TglGetProgramResourceIndex = function(program_: GLUInt;programInterface: GLenum; const name: PGLchar): GLUInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7569. TglGetProgramResourceName = procedure(program_: GLUInt;programInterface: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7570. TglGetProgramResourceiv = procedure(program_: GLUInt;programInterface: GLenum; index: GLuint; propCount: GLsizei; const props: PGLenum; bufSize: GLsizei; length: PGLsizei; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7571. TglGetProgramResourceLocation = function(program_: GLUInt;programInterface: GLenum; const name: PGLchar): GLInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7572. TglGetProgramResourceLocationIndex = function(program_: GLUInt;programInterface: GLenum; const name: PGLchar): GLInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7573. // GL_ARB_robust_buffer_access_behavior
  7574. // GL_ARB_shader_image_size
  7575. // GL_ARB_shader_storage_buffer_object
  7576. TglShaderStorageBlockBinding = procedure(program_: GLuint; storageBlockIndex: GLuint; storageBlockBinding: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7577. // GL_ARB_stencil_texturing
  7578. // GL_ARB_texture_buffer_range
  7579. TglTexBufferRange = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint; offset :GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7580. TglTextureBufferRangeEXT = procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7581. // GL_ARB_texture_query_levels
  7582. // GL_ARB_texture_storage_multisample
  7583. TglTexStorage2DMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7584. TglTexStorage3DMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7585. TglTextureStorage2DMultisampleEXT = procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7586. TglTextureStorage3DMultisampleEXT = procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7587. // GL 4.4
  7588. TglBufferStorage = procedure(target: GLenum; size: GLsizeiptr; const data: pointer; flags: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7589. TglClearTexImage = procedure(texture: GLuint; level: GLint; format: GLenum; _type: GLenum; const data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7590. TglClearTexSubImage = procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const Data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7591. TglBindBuffersBase = procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7592. TglBindBuffersRange = procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: GLintptr; const sizes: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7593. TglBindTextures = procedure(first: GLuint; count: GLsizei; const textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7594. TglBindSamplers = procedure(first: GLuint; count: GLsizei; const samplers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7595. TglBindImageTextures = procedure(first: GLuint; count: GLsizei; const textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7596. TglBindVertexBuffers = procedure(first: GLuint; count: GLsizei; const buffers: GLuint; const offsets: GLintptr; const strides: PGLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7597. TglTexPageCommitmentARB = procedure(target: glenum; level: glint; xoffset: glint; yoffset: glint; zoffset: glint; width: glsizei; height: glsizei; depth: glsizei; resident: glboolean); {$IFDEF DGL_WIN} stdcall; {$ELSE}cdecl; {$ENDIF}
  7598. // GL 4.5
  7599. TglClipControl = procedure(origin: GLenum; depth: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7600. TglCreateTransformFeedbacks = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7601. TglTransformFeedbackBufferBase = procedure (xfb: GLuint; index: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7602. TglTransformFeedbackBufferRange = procedure (xfb: GLuint; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7603. TglGetTransformFeedbackiv = procedure (xfb: GLuint; pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7604. TglGetTransformFeedbacki_v = procedure (xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7605. TglGetTransformFeedbacki64_v = procedure (xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7606. TglCreateBuffers = procedure (n: GLsizei; buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7607. TglNamedBufferStorage = procedure (buffer: GLuint; size: GLsizei; const data: PGLVoid; flags: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7608. TglNamedBufferData = procedure (buffer: GLuint; size: GLsizei; const data: PGLVoid; usage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7609. TglNamedBufferSubData = procedure (buffer: GLuint; offset: GLintptr; size: GLsizei; data: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7610. TglCopyNamedBufferSubData = procedure (readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7611. TglClearNamedBufferData = procedure (buffer: GLuint; internalformat: GLenum; format: GLenum; _type: GLenum; data: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7612. TglClearNamedBufferSubData = procedure (buffer: GLuint; internalformat: GLenum; offset: GLintptr; size: GLsizei; format: GLenum; _type: GLenum; data: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7613. TglMapNamedBuffer = function(buffer: GLuint; access: GLenum): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7614. TglMapNamedBufferRange = function(buffer: GLuint; offset: GLintptr; length: GLsizei; access: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7615. TglUnmapNamedBuffer = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7616. TglFlushMappedNamedBufferRange = procedure (buffer: GLuint; offset: GLintptr; length: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7617. TglGetNamedBufferParameteriv = procedure (buffer: GLuint; pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7618. TglGetNamedBufferParameteri64v = procedure (buffer: GLuint; pname: GLenum; param: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7619. TglGetNamedBufferPointerv = procedure (buffer: GLuint; pname: GLenum; params: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7620. TglGetNamedBufferSubData = procedure (buffer: GLuint; offset: GLintptr; size: GLsizei; data: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7621. TglCreateFramebuffers = procedure (n: GLsizei; framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7622. TglNamedFramebufferRenderbuffer = procedure (framebuffer: GLuint; attachment: GLenum ; renderbuffertarget: GLEnum; renderbuffer: GLUInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7623. TglNamedFramebufferParameteri = procedure (framebuffer: GLuint; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7624. TglNamedFramebufferTexture = procedure (framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7625. TglNamedFramebufferTextureLayer = procedure (framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7626. TglNamedFramebufferDrawBuffer = procedure (framebuffer: GLuint; buf: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7627. TglNamedFramebufferDrawBuffers = procedure (framebuffer: GLuint; n: GLsizei; bufs: PGLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7628. TglNamedFramebufferReadBuffer = procedure (framebuffer: GLuint; src: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7629. TglInvalidateNamedFramebufferData = procedure (framebuffer: GLuint; numAttachments: GLSizei; attachments: PGLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7630. TglInvalidateNamedFramebufferSubData = procedure (framebuffer: GLuint; numAttachments: GLSizei; attachments: PGLEnum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7631. TglClearNamedFramebufferiv = procedure (framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; value: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7632. TglClearNamedFramebufferuiv = procedure (framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; value: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7633. TglClearNamedFramebufferfv = procedure (framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; value: PGLFloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7634. TglClearNamedFramebufferfi = procedure (framebuffer: GLuint; buffer: GLenum; const depth: GLfloat; stencil: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7635. TglBlitNamedFramebuffer = procedure (readFramebuffer: GLuint; drawFramebuffer: GLuint; srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint ; mask: GLbitfield; filter: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7636. TglCheckNamedFramebufferStatus = function(framebuffer: GLuint; target: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7637. TglGetNamedFramebufferParameteriv = procedure (framebuffer: GLuint; pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7638. TglGetNamedFramebufferAttachmentParameteriv = procedure (framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7639. TglCreateRenderbuffers = procedure (n: GLsizei; renderbuffers: PGLUInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7640. TglNamedRenderbufferStorage = procedure (renderbuffer: GLUInt; internalformat: GLenum ; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7641. TglNamedRenderbufferStorageMultisample = procedure (renderbuffer: GLUInt; samples: GLSizei; internalformat: GLenum ; width: GLSizei; height: GLSizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7642. TglGetNamedRenderbufferParameteriv = procedure (renderbuffer: GLUInt; pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7643. TglCreateTextures = procedure (target: GLenum ; n: GLsizei; textures: PGLUInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7644. TglTextureBuffer = procedure (texture: GLuint; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7645. TglTextureBufferRange = procedure (texture: GLuint; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7646. TglTextureStorage1D = procedure (texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7647. TglTextureStorage2D = procedure (texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7648. TglTextureStorage3D = procedure (texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7649. TglTextureStorage2DMultisample = procedure (texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7650. TglTextureStorage3DMultisample = procedure (texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7651. TglTextureSubImage1D = procedure (texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7652. TglTextureSubImage2D = procedure (texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7653. TglTextureSubImage3D = procedure (texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7654. TglCompressedTextureSubImage1D = procedure (texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7655. TglCompressedTextureSubImage2D = procedure (texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; mageSize: GLsizei; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7656. TglCompressedTextureSubImage3D = procedure (texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7657. TglCopyTextureSubImage1D = procedure (texture: GLuint; level: GLint ; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7658. TglCopyTextureSubImage2D = procedure (texture: GLuint; level: GLint ; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7659. TglCopyTextureSubImage3D = procedure (texture: GLuint; level: GLint ; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7660. TglTextureParameterf = procedure (texture: GLuint; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7661. TglTextureParameterfv = procedure (texture: GLuint; pname: GLenum; const param: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7662. TglTextureParameteri = procedure (texture: GLuint; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7663. TglTextureParameterIiv = procedure (texture: GLuint; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7664. TglTextureParameterIuiv = procedure (texture: GLuint; pname: GLenum; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7665. TglTextureParameteriv = procedure (texture: GLuint; pname: GLenum; const param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7666. TglGenerateTextureMipmap = procedure(texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7667. TglBindTextureUnit = procedure (_unit: GLuint; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7668. TglGetTextureImage = procedure (texture: GLuint; level: GLint ; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7669. TglGetCompressedTextureImage = procedure (texture: GLuint; level: GLint; bufSize: GLSizei; pixels: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7670. TglGetTextureLevelParameterfv = procedure (texture: GLuint; level: GLint; pname: GLenum; params: PGLFloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7671. TglGetTextureLevelParameteriv = procedure (texture: GLuint; level: GLint; pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7672. TglGetTextureParameterfv = procedure (texture: GLuint; pname: GLenum; params: PGLFloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7673. TglGetTextureParameterIiv = procedure (texture: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7674. TglGetTextureParameterIuiv = procedure (texture: GLuint; pname: GLenum; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7675. TglGetTextureParameteriv = procedure (texture: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7676. TglCreateVertexArrays = procedure (n: GLsizei; arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7677. TglDisableVertexArrayAttrib = procedure (vaobj: GLuint; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7678. TglEnableVertexArrayAttrib = procedure (vaobj: GLuint; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7679. TglVertexArrayElementBuffer = procedure (vaobj: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7680. TglVertexArrayVertexBuffer = procedure (vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7681. TglVertexArrayVertexBuffers = procedure (vaobj: GLuint; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const strides: PGLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7682. TglVertexArrayAttribBinding = procedure (vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7683. TglVertexArrayAttribFormat = procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7684. TglVertexArrayAttribIFormat = procedure (vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7685. TglVertexArrayAttribLFormat = procedure (vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7686. TglVertexArrayBindingDivisor = procedure (vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7687. TglGetVertexArrayiv = procedure (vaobj: GLuint; pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7688. TglGetVertexArrayIndexediv = procedure (vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7689. TglGetVertexArrayIndexed64iv = procedure (vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7690. TglCreateSamplers = procedure (n: GLsizei; samplers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7691. TglCreateProgramPipelines = procedure (n: GLsizei; pipelines: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7692. TglCreateQueries = procedure (target: GLenum; n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7693. TglMemoryBarrierByRegion = procedure (barriers: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7694. TglGetTextureSubImage = procedure (texture: GLuint; level: GLint ; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7695. TglGetCompressedTextureSubImage = procedure (texture: GLuint; level: GLint ; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; bufSize: GLsizei; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7696. TglGetGraphicsResetStatus = function: GLEnum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7697. TglGetnCompressedTexImage = procedure (target: GLenum; lod: GLint; bufSize: GLsizei; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7698. TglGetnTexImage = procedure (target: GLenum; level: GLint; format: GLenum; _type: GLenum; bufSize: GLSizei; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7699. TglGetnUniformdv = procedure (_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7700. TglGetnUniformfv = procedure (_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7701. TglGetnUniformiv = procedure (_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7702. TglGetnUniformuiv = procedure (_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7703. TglReadnPixels = procedure (x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7704. TglGetnMapdv = procedure (target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7705. TglGetnMapfv = procedure (target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7706. TglGetnMapiv = procedure (target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7707. TglGetnPixelMapfv = procedure (map: GLenum; bufSize: GLsizei; values: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7708. TglGetnPixelMapuiv = procedure (map: GLenum; bufSize: GLsizei; values: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7709. TglGetnPixelMapusv = procedure (map: GLenum; bufSize: GLsizei; values: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7710. TglGetnPolygonStipple = procedure (bufSize: GLsizei; pattern: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7711. TglGetnColorTable = procedure (target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7712. TglGetnConvolutionFilter = procedure (target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7713. TglGetnSeparableFilter = procedure (target: GLenum; format: GLenum; _type: GLenum; rowBufSize: GLsizei; row: PGLvoid; columnBufSize: GLsizei; column: PGLvoid; span: PGLVoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7714. TglGetnHistogram = procedure (target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7715. TglGetnMinmax = procedure (target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7716. TglTextureBarrier = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7717. // GL_ARB_sparse_buffer
  7718. TglBufferPageCommitmentARB = procedure (target: GLenum; offset: GLintptr; size: GLsizei; commit: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7719. TglNamedBufferPageCommitmentEXT = procedure (buffer: GLuint; offset: GLintptr; size: GLsizei; commit: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7720. TglNamedBufferPageCommitmentARB = procedure (buffer: GLuint; offset: GLintptr; size: GLsizei; commit: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7721. // GL_KHR_blend_equation_advanced
  7722. TglBlendBarrierKHR = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7723. // GL_ARB_texture_view
  7724. TglTextureView = procedure(texture: GLuint; target: GLenum; origtexture: GLuint; internalformat: GLenum; minlevel: GLuint; numlevels: GLuint; minlayer: GLuint; numlayers: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7725. // GL_ARB_vertex_attrib_binding
  7726. TglBindVertexBuffer = procedure(bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7727. TglVertexAttribFormat = procedure(attribindex: GLuint; size: GLInt; type_: GLEnum; normalized: GLboolean; relativeoffset: GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7728. TglVertexAttribIFormat = procedure(attribindex: GLuint; size: GLInt; type_: GLEnum; relativeoffset: GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7729. TglVertexAttribLFormat = procedure(attribindex: GLuint; size: GLInt; type_: GLEnum; relativeoffset: GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7730. TglVertexAttribBinding = procedure(attribindex: GLuint; bindingindex: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7731. TglVertexBindingDivisor = procedure(bindingindex: GLuint; divisor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7732. TglVertexArrayBindVertexBufferEXT = procedure(vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7733. TglVertexArrayVertexAttribFormatEXT = procedure(vaobj: GLuint; attribindex: GLuint; size: GLInt; type_: GLEnum; normalized: GLboolean; relativeoffset: GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7734. TglVertexArrayVertexAttribIFormatEXT = procedure(vaobj: GLuint; attribindex: GLuint; size: GLInt; type_: GLEnum; relativeoffset: GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7735. TglVertexArrayVertexAttribLFormatEXT = procedure(vaobj: GLuint; attribindex: GLuint; size: GLInt; type_: GLEnum; relativeoffset: GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7736. TglVertexArrayVertexAttribBindingEXT = procedure(vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7737. TglVertexArrayVertexBindingDivisorEXT = procedure(vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7738. // GL_ARB_robustness_isolation
  7739. //
  7740. // GL_ARB_cl_event
  7741. TglCreateSyncFromCLeventARB = function(context: p_cl_context; event: p_cl_event; flags: GLbitfield): GLsync; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7742. // GL_ARB_debug_output
  7743. TglDebugMessageControlARB = procedure(source: GLenum; type_: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7744. TglDebugMessageInsertARB = procedure(source: GLenum; type_: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7745. TglDebugMessageCallbackARB = procedure(callback: TglDebugProcARB; const userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7746. TglGetDebugMessageLogARB = function(count: GLuint; bufsize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7747. // GL_ARB_robustness
  7748. TglGetGraphicsResetStatusARB = function(): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7749. TglGetnMapdvARB = procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7750. TglGetnMapfvARB = procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7751. TglGetnMapivARB = procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7752. TglGetnPixelMapfvARB = procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7753. TglGetnPixelMapuivARB = procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7754. TglGetnPixelMapusvARB = procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7755. TglGetnPolygonStippleARB = procedure(bufSize: GLsizei; pattern: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7756. TglGetnColorTableARB = procedure(target: GLenum; format: GLenum; type_: GLenum; bufSize: GLsizei; table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7757. TglGetnConvolutionFilterARB = procedure(target: GLenum; format: GLenum; type_: GLenum; bufSize: GLsizei; image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7758. TglGetnSeparableFilterARB = procedure(target: GLenum; format: GLenum; type_: GLenum; rowBufSize: GLsizei; row: PGLvoid; columnBufSize: GLsizei; column: PGLvoid; span: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7759. TglGetnHistogramARB = procedure(target: GLenum; reset: GLboolean; format: GLenum; type_: GLenum; bufSize: GLsizei; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7760. TglGetnMinmaxARB = procedure(target: GLenum; reset: GLboolean; format: GLenum; type_: GLenum; bufSize: GLsizei; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7761. TglGetnTexImageARB = procedure(target: GLenum; level: GLint; format: GLenum; type_: GLenum; bufSize: GLsizei; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7762. TglReadnPixelsARB = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; type_: GLenum; bufSize: GLsizei; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7763. TglGetnCompressedTexImageARB = procedure(target: GLenum; lod: GLint; bufSize: GLsizei; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7764. TglGetnUniformfvARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7765. TglGetnUniformivARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7766. TglGetnUniformuivARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7767. TglGetnUniformdvARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7768. // GL_ATI_draw_buffers
  7769. TglDrawBuffersATI = procedure(n: GLsizei; const bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7770. // GL_ATI_element_array
  7771. TglElementPointerATI = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7772. TglDrawElementArrayATI = procedure(mode: GLenum; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7773. TglDrawRangeElementArrayATI = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7774. // GL_ATI_envmap_bumpmap
  7775. TglTexBumpParameterivATI = procedure(pname: GLenum; const param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7776. TglTexBumpParameterfvATI = procedure(pname: GLenum; const param: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7777. TglGetTexBumpParameterivATI = procedure(pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7778. TglGetTexBumpParameterfvATI = procedure(pname: GLenum; param: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7779. // GL_ATI_fragment_shader
  7780. TglGenFragmentShadersATI = function(range: GLuint): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7781. TglBindFragmentShaderATI = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7782. TglDeleteFragmentShaderATI = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7783. TglBeginFragmentShaderATI = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7784. TglEndFragmentShaderATI = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7785. TglPassTexCoordATI = procedure(dst: GLuint; coord: GLuint; swizzle: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7786. TglSampleMapATI = procedure(dst: GLuint; interp: GLuint; swizzle: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7787. TglColorFragmentOp1ATI = procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7788. TglColorFragmentOp2ATI = procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7789. TglColorFragmentOp3ATI = procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7790. TglAlphaFragmentOp1ATI = procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7791. TglAlphaFragmentOp2ATI = procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7792. TglAlphaFragmentOp3ATI = procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7793. TglSetFragmentShaderConstantATI = procedure(dst: GLuint; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7794. // GL_ATI_map_object_buffer
  7795. TglMapObjectBufferATI = function(buffer: GLuint): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7796. TglUnmapObjectBufferATI = procedure(buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7797. // GL_ATI_pn_triangles
  7798. TglPNTrianglesiATI = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7799. TglPNTrianglesfATI = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7800. // GL_ATI_separate_stencil
  7801. TglStencilOpSeparateATI = procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7802. TglStencilFuncSeparateATI = procedure(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7803. // GL_ATI_vertex_array_object
  7804. TglNewObjectBufferATI = function(size: GLsizei; const _pointer: PGLvoid; usage: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7805. TglIsObjectBufferATI = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7806. TglUpdateObjectBufferATI = procedure(buffer: GLuint; offset: GLuint; size: GLsizei; const _pointer: PGLvoid; preserve: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7807. TglGetObjectBufferfvATI = procedure(buffer: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7808. TglGetObjectBufferivATI = procedure(buffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7809. TglFreeObjectBufferATI = procedure(buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7810. TglArrayObjectATI = procedure(_array: GLenum; size: GLint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7811. TglGetArrayObjectfvATI = procedure(_array: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7812. TglGetArrayObjectivATI = procedure(_array: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7813. TglVariantArrayObjectATI = procedure(id: GLuint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7814. TglGetVariantArrayObjectfvATI = procedure(id: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7815. TglGetVariantArrayObjectivATI = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7816. // GL_ATI_vertex_attrib_array_object
  7817. TglVertexAttribArrayObjectATI = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; buffer: GLuint; offset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7818. TglGetVertexAttribArrayObjectfvATI = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7819. TglGetVertexAttribArrayObjectivATI = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7820. // GL_ATI_vertex_streams
  7821. TglVertexStream1sATI = procedure(stream: GLenum; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7822. TglVertexStream1svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7823. TglVertexStream1iATI = procedure(stream: GLenum; x: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7824. TglVertexStream1ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7825. TglVertexStream1fATI = procedure(stream: GLenum; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7826. TglVertexStream1fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7827. TglVertexStream1dATI = procedure(stream: GLenum; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7828. TglVertexStream1dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7829. TglVertexStream2sATI = procedure(stream: GLenum; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7830. TglVertexStream2svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7831. TglVertexStream2iATI = procedure(stream: GLenum; x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7832. TglVertexStream2ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7833. TglVertexStream2fATI = procedure(stream: GLenum; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7834. TglVertexStream2fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7835. TglVertexStream2dATI = procedure(stream: GLenum; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7836. TglVertexStream2dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7837. TglVertexStream3sATI = procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7838. TglVertexStream3svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7839. TglVertexStream3iATI = procedure(stream: GLenum; x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7840. TglVertexStream3ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7841. TglVertexStream3fATI = procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7842. TglVertexStream3fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7843. TglVertexStream3dATI = procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7844. TglVertexStream3dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7845. TglVertexStream4sATI = procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7846. TglVertexStream4svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7847. TglVertexStream4iATI = procedure(stream: GLenum; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7848. TglVertexStream4ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7849. TglVertexStream4fATI = procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7850. TglVertexStream4fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7851. TglVertexStream4dATI = procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7852. TglVertexStream4dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7853. TglNormalStream3bATI = procedure(stream: GLenum; nx: GLbyte; ny: GLbyte; nz: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7854. TglNormalStream3bvATI = procedure(stream: GLenum; const coords: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7855. TglNormalStream3sATI = procedure(stream: GLenum; nx: GLshort; ny: GLshort; nz: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7856. TglNormalStream3svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7857. TglNormalStream3iATI = procedure(stream: GLenum; nx: GLint; ny: GLint; nz: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7858. TglNormalStream3ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7859. TglNormalStream3fATI = procedure(stream: GLenum; nx: GLfloat; ny: GLfloat; nz: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7860. TglNormalStream3fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7861. TglNormalStream3dATI = procedure(stream: GLenum; nx: GLdouble; ny: GLdouble; nz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7862. TglNormalStream3dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7863. TglClientActiveVertexStreamATI = procedure(stream: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7864. TglVertexBlendEnviATI = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7865. TglVertexBlendEnvfATI = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7866. // GL_AMD_performance_monitor
  7867. TglGetPerfMonitorGroupsAMD = procedure(numGroups: PGLint; groupsSize: GLsizei; groups: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7868. TglGetPerfMonitorCountersAMD = procedure(group: GLuint; numCounters: PGLint; maxActiveCouters: PGLint; counterSize: GLsizei; counters: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7869. TglGetPerfMonitorGroupStringAMD = procedure(group: GLuint; bufSize: GLsizei; length: PGLsizei; groupString: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7870. TglGetPerfMonitorCounterStringAMD = procedure(group: GLuint; counter: GLuint; bufSize: GLsizei; length: PGLsizei; counterString: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7871. TglGetPerfMonitorCounterInfoAMD = procedure(group: GLuint; counter: GLuint; pname: GLenum; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7872. TglGenPerfMonitorsAMD = procedure(n: GLsizei; monitors: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7873. TglDeletePerfMonitorsAMD = procedure(n: GLsizei; monitors: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7874. TglSelectPerfMonitorCountersAMD = procedure(monitor: GLuint; enable: GLboolean; group: GLuint; numCounters: GLint; counterList: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7875. TglBeginPerfMonitorAMD = procedure(monitor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7876. TglEndPerfMonitorAMD = procedure(monitor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7877. TglGetPerfMonitorCounterDataAMD = procedure(monitor: GLuint; pname: GLenum; dataSize: GLsizei; data: PGLuint; bytesWritten: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7878. // GL_AMD_vertex_shader_tesselator
  7879. TglTessellationFactorAMD = procedure(factor: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7880. TglTessellationModeAMD = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7881. // GL_AMD_draw_buffers_blend
  7882. TglBlendFuncIndexedAMD = procedure(buf: GLuint; src: GLenum; dst: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7883. TglBlendFuncSeparateIndexedAMD = procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7884. TglBlendEquationIndexedAMD = procedure(buf: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7885. TglBlendEquationSeparateIndexedAMD = procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7886. // GL_AMD_name_gen_delete
  7887. TglGenNamesAMD = procedure(identifier: GLenum; num: GLuint; names: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7888. TglDeleteNamesAMD = procedure(identifier: GLenum; num: GLuint; const names: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7889. TglIsNameAMD = function(identifier: GLenum; name: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7890. // GL_AMD_debug_output
  7891. TglDebugMessageEnableAMD = procedure(category: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7892. TglDebugMessageInsertAMD = procedure(category: GLenum; severity: GLenum; id: GLuint; length: GLsizei; const buf: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7893. TglDebugMessageCallbackAMD = procedure(callback: TGLDebugProcAMD; userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7894. TglGetDebugMessageLogAMD = function(count: GLuint; bufsize: GLsizei; categories: PGLenum; severities: PGLuint; ids: PGLuint; lengths: PGLsizei; message: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7895. // GL_EXT_blend_color
  7896. TglBlendColorEXT = procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7897. // GL_EXT_blend_func_separate
  7898. TglBlendFuncSeparateEXT = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7899. // GL_EXT_blend_minmax
  7900. TglBlendEquationEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7901. // GL_EXT_color_subtable
  7902. TglColorSubTableEXT = procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7903. TglCopyColorSubTableEXT = procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7904. // GL_EXT_compiled_vertex_array
  7905. TglLockArraysEXT = procedure(first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7906. TglUnlockArraysEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7907. // GL_EXT_convolution
  7908. TglConvolutionFilter1DEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7909. TglConvolutionFilter2DEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7910. TglConvolutionParameterfEXT = procedure(target: GLenum; pname: GLenum; params: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7911. TglConvolutionParameterfvEXT = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7912. TglConvolutionParameteriEXT = procedure(target: GLenum; pname: GLenum; params: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7913. TglConvolutionParameterivEXT = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7914. TglCopyConvolutionFilter1DEXT = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7915. TglCopyConvolutionFilter2DEXT = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7916. TglGetConvolutionFilterEXT = procedure(target: GLenum; format: GLenum; _type: GLenum; image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7917. TglGetConvolutionParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7918. TglGetConvolutionParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7919. TglGetSeparableFilterEXT = procedure(target: GLenum; format: GLenum; _type: GLenum; row: PGLvoid; column: PGLvoid; span: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7920. TglSeparableFilter2DEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: PGLvoid; const column: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7921. // GL_EXT_coordinate_frame
  7922. TglTangent3bEXT = procedure(tx: GLbyte; ty: GLbyte; tz: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7923. TglTangent3bvEXT = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7924. TglTangent3dEXT = procedure(tx: GLdouble; ty: GLdouble; tz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7925. TglTangent3dvEXT = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7926. TglTangent3fEXT = procedure(tx: GLfloat; ty: GLfloat; tz: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7927. TglTangent3fvEXT = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7928. TglTangent3iEXT = procedure(tx: GLint; ty: GLint; tz: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7929. TglTangent3ivEXT = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7930. TglTangent3sEXT = procedure(tx: GLshort; ty: GLshort; tz: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7931. TglTangent3svEXT = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7932. TglBinormal3bEXT = procedure(bx: GLbyte; by: GLbyte; bz: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7933. TglBinormal3bvEXT = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7934. TglBinormal3dEXT = procedure(bx: GLdouble; by: GLdouble; bz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7935. TglBinormal3dvEXT = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7936. TglBinormal3fEXT = procedure(bx: GLfloat; by: GLfloat; bz: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7937. TglBinormal3fvEXT = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7938. TglBinormal3iEXT = procedure(bx: GLint; by: GLint; bz: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7939. TglBinormal3ivEXT = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7940. TglBinormal3sEXT = procedure(bx: GLshort; by: GLshort; bz: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7941. TglBinormal3svEXT = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7942. TglTangentPointerEXT = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7943. TglBinormalPointerEXT = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7944. // GL_EXT_copy_texture
  7945. TglCopyTexImage1DEXT = procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7946. TglCopyTexImage2DEXT = procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7947. TglCopyTexSubImage1DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7948. TglCopyTexSubImage2DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7949. TglCopyTexSubImage3DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7950. // GL_EXT_cull_vertex
  7951. TglCullParameterdvEXT = procedure(pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7952. TglCullParameterfvEXT = procedure(pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7953. // GL_EXT_draw_range_elements
  7954. TglDrawRangeElementsEXT = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7955. // GL_EXT_fog_coord
  7956. TglFogCoordfEXT = procedure(coord: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7957. TglFogCoordfvEXT = procedure(const coord: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7958. TglFogCoorddEXT = procedure(coord: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7959. TglFogCoorddvEXT = procedure(const coord: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7960. TglFogCoordPointerEXT = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7961. // GL_EXT_framebuffer_object
  7962. TglIsRenderbufferEXT = function(renderbuffer: GLuint): Boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7963. TglBindRenderbufferEXT = procedure(target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7964. TglDeleteRenderbuffersEXT = procedure(n: GLsizei; const renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7965. TglGenRenderbuffersEXT = procedure(n: GLsizei; renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7966. TglRenderbufferStorageEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7967. TglGetRenderbufferParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7968. TglIsFramebufferEXT = function(framebuffer: GLuint): Boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7969. TglBindFramebufferEXT = procedure(target: GLenum; framebuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7970. TglDeleteFramebuffersEXT = procedure(n: GLsizei; const framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7971. TglGenFramebuffersEXT = procedure(n: GLsizei; framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7972. TglCheckFramebufferStatusEXT = function(target: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7973. TglFramebufferTexture1DEXT = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7974. TglFramebufferTexture2DEXT = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7975. TglFramebufferTexture3DEXT = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7976. TglFramebufferRenderbufferEXT = procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7977. TglGetFramebufferAttachmentParameterivEXT = procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7978. TglGenerateMipmapEXT = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7979. // GL_EXT_histogram
  7980. TglGetHistogramEXT = procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7981. TglGetHistogramParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7982. TglGetHistogramParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7983. TglGetMinmaxEXT = procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7984. TglGetMinmaxParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7985. TglGetMinmaxParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7986. TglHistogramEXT = procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7987. TglMinmaxEXT = procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7988. TglResetHistogramEXT = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7989. TglResetMinmaxEXT = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7990. // GL_EXT_index_func
  7991. TglIndexFuncEXT = procedure(func: GLenum; ref: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7992. // GL_EXT_index_material
  7993. TglIndexMaterialEXT = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7994. // GL_EXT_light_texture
  7995. TglApplyTextureEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7996. TglTextureLightEXT = procedure(pname: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7997. TglTextureMaterialEXT = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  7998. // GL_EXT_multi_draw_arrays
  7999. TglMultiDrawArraysEXT = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8000. TglMultiDrawElementsEXT = procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8001. // GL_EXT_multisample
  8002. TglSampleMaskEXT = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8003. TglSamplePatternEXT = procedure(pattern: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8004. // GL_EXT_paletted_texture
  8005. TglColorTableEXT = procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8006. TglGetColorTableEXT = procedure(target: GLenum; format: GLenum; _type: GLenum; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8007. TglGetColorTableParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8008. TglGetColorTableParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8009. // GL_EXT_pixel_transform
  8010. TglPixelTransformParameteriEXT = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8011. TglPixelTransformParameterfEXT = procedure(target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8012. TglPixelTransformParameterivEXT = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8013. TglPixelTransformParameterfvEXT = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8014. // GL_EXT_point_parameters
  8015. TglPointParameterfEXT = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8016. TglPointParameterfvEXT = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8017. // GL_EXT_polygon_offset
  8018. TglPolygonOffsetEXT = procedure(factor: GLfloat; bias: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8019. // GL_EXT_secondary_color
  8020. TglSecondaryColor3bEXT = procedure(red: GLbyte; green: GLbyte; blue: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8021. TglSecondaryColor3bvEXT = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8022. TglSecondaryColor3dEXT = procedure(red: GLdouble; green: GLdouble; blue: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8023. TglSecondaryColor3dvEXT = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8024. TglSecondaryColor3fEXT = procedure(red: GLfloat; green: GLfloat; blue: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8025. TglSecondaryColor3fvEXT = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8026. TglSecondaryColor3iEXT = procedure(red: GLint; green: GLint; blue: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8027. TglSecondaryColor3ivEXT = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8028. TglSecondaryColor3sEXT = procedure(red: GLshort; green: GLshort; blue: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8029. TglSecondaryColor3svEXT = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8030. TglSecondaryColor3ubEXT = procedure(red: GLubyte; green: GLubyte; blue: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8031. TglSecondaryColor3ubvEXT = procedure(const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8032. TglSecondaryColor3uiEXT = procedure(red: GLuint; green: GLuint; blue: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8033. TglSecondaryColor3uivEXT = procedure(const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8034. TglSecondaryColor3usEXT = procedure(red: GLushort; green: GLushort; blue: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8035. TglSecondaryColor3usvEXT = procedure(const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8036. TglSecondaryColorPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8037. // GL_EXT_stencil_two_side
  8038. TglActiveStencilFaceEXT = procedure(face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8039. // GL_EXT_subtexture
  8040. TglTexSubImage1DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8041. TglTexSubImage2DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8042. // GL_EXT_texture3D
  8043. TglTexImage3DEXT = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8044. TglTexSubImage3DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8045. // GL_EXT_texture_object
  8046. TglAreTexturesResidentEXT = function(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8047. TglBindTextureEXT = procedure(target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8048. TglDeleteTexturesEXT = procedure(n: GLsizei; const textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8049. TglGenTexturesEXT = procedure(n: GLsizei; textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8050. TglIsTextureEXT = function(texture: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8051. TglPrioritizeTexturesEXT = procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8052. // GL_EXT_texture_perturb_normal
  8053. TglTextureNormalEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8054. // GL_EXT_vertex_array
  8055. TglArrayElementEXT = procedure(i: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8056. TglColorPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8057. TglDrawArraysEXT = procedure(mode: GLenum; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8058. TglEdgeFlagPointerEXT = procedure(stride: GLsizei; count: GLsizei; const _pointer: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8059. TglGetPointervEXT = procedure(pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8060. TglIndexPointerEXT = procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8061. TglNormalPointerEXT = procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8062. TglTexCoordPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8063. TglVertexPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8064. // GL_EXT_vertex_shader
  8065. TglBeginVertexShaderEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8066. TglEndVertexShaderEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8067. TglBindVertexShaderEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8068. TglGenVertexShadersEXT = function(range: GLuint): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8069. TglDeleteVertexShaderEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8070. TglShaderOp1EXT = procedure(op: GLenum; res: GLuint; arg1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8071. TglShaderOp2EXT = procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8072. TglShaderOp3EXT = procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint; arg3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8073. TglSwizzleEXT = procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8074. TglWriteMaskEXT = procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8075. TglInsertComponentEXT = procedure(res: GLuint; src: GLuint; num: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8076. TglExtractComponentEXT = procedure(res: GLuint; src: GLuint; num: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8077. TglGenSymbolsEXT = function(datatype: GLenum; storagetype: GLenum; range: GLenum; components: GLuint): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8078. TglSetInvariantEXT = procedure(id: GLuint; _type: GLenum; const addr: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8079. TglSetLocalConstantEXT = procedure(id: GLuint; _type: GLenum; const addr: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8080. TglVariantbvEXT = procedure(id: GLuint; const addr: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8081. TglVariantsvEXT = procedure(id: GLuint; const addr: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8082. TglVariantivEXT = procedure(id: GLuint; const addr: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8083. TglVariantfvEXT = procedure(id: GLuint; const addr: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8084. TglVariantdvEXT = procedure(id: GLuint; const addr: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8085. TglVariantubvEXT = procedure(id: GLuint; const addr: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8086. TglVariantusvEXT = procedure(id: GLuint; const addr: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8087. TglVariantuivEXT = procedure(id: GLuint; const addr: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8088. TglVariantPointerEXT = procedure(id: GLuint; _type: GLenum; stride: GLuint; const addr: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8089. TglEnableVariantClientStateEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8090. TglDisableVariantClientStateEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8091. TglBindLightParameterEXT = function(light: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8092. TglBindMaterialParameterEXT = function(face: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8093. TglBindTexGenParameterEXT = function(_unit: GLenum; coord: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8094. TglBindTextureUnitParameterEXT = function(_unit: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8095. TglBindParameterEXT = function(value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8096. TglIsVariantEnabledEXT = function(id: GLuint; cap: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8097. TglGetVariantBooleanvEXT = procedure(id: GLuint; value: GLenum; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8098. TglGetVariantIntegervEXT = procedure(id: GLuint; value: GLenum; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8099. TglGetVariantFloatvEXT = procedure(id: GLuint; value: GLenum; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8100. TglGetVariantPointervEXT = procedure(id: GLuint; value: GLenum; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8101. TglGetInvariantBooleanvEXT = procedure(id: GLuint; value: GLenum; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8102. TglGetInvariantIntegervEXT = procedure(id: GLuint; value: GLenum; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8103. TglGetInvariantFloatvEXT = procedure(id: GLuint; value: GLenum; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8104. TglGetLocalConstantBooleanvEXT = procedure(id: GLuint; value: GLenum; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8105. TglGetLocalConstantIntegervEXT = procedure(id: GLuint; value: GLenum; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8106. TglGetLocalConstantFloatvEXT = procedure(id: GLuint; value: GLenum; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8107. // GL_EXT_vertex_weighting
  8108. TglVertexWeightfEXT = procedure(weight: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8109. TglVertexWeightfvEXT = procedure(const weight: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8110. TglVertexWeightPointerEXT = procedure(size: GLsizei; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8111. // GL_EXT_stencil_clear_tag
  8112. TglStencilClearTagEXT = procedure(stencilTagBits: GLsizei; stencilClearTag: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8113. // GL_EXT_framebuffer_blit
  8114. TglBlitFramebufferEXT = procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8115. // GL_EXT_framebuffer_multisample
  8116. TglRenderbufferStorageMultisampleEXT = procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8117. // GL_EXT_timer_query
  8118. TglGetQueryObjecti64vEXT = procedure(id: GLuint; pname: GLenum; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8119. TglGetQueryObjectui64vEXT = procedure(id: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8120. // GL_EXT_gpu_program_parameters
  8121. TglProgramEnvParameters4fvEXT = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8122. TglProgramLocalParameters4fvEXT = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8123. // GL_EXT_bindable_uniform
  8124. TglUniformBufferEXT = procedure(_program: GLuint; location: GLint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8125. TglGetUniformBufferSizeEXT = function(_program: GLuint; location: GLint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8126. TglGetUniformOffsetEXT = function(_program: GLuint; location: GLint): GLintptr; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8127. // GL_EXT_draw_buffers2
  8128. TglColorMaskIndexedEXT = procedure(buf: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8129. TglGetBooleanIndexedvEXT = procedure(value: GLenum; index: GLuint; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8130. TglGetIntegerIndexedvEXT = procedure(value: GLenum; index: GLuint; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8131. TglEnableIndexedEXT = procedure(target: GLenum; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8132. TglDisableIndexedEXT = procedure(target: GLenum; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8133. TglIsEnabledIndexedEXT = function(target: GLenum; index: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8134. // GL_EXT_draw_instanced
  8135. TglDrawArraysInstancedEXT = procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8136. TglDrawElementsInstancedEXT = procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: Pointer; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8137. // GL_EXT_geometry_shader4
  8138. TglProgramParameteriEXT = procedure (_program: GLuint; pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8139. TglFramebufferTextureEXT = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8140. TglFramebufferTextureFaceEXT = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8141. // GL_EXT_gpu_shader4
  8142. TglVertexAttribI1iEXT = procedure(index: GLuint; x: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8143. TglVertexAttribI2iEXT = procedure(index: GLuint; x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8144. TglVertexAttribI3iEXT = procedure(index: GLuint; x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8145. TglVertexAttribI4iEXT = procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8146. TglVertexAttribI1uiEXT = procedure(index: GLuint; x: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8147. TglVertexAttribI2uiEXT = procedure(index: GLuint; x: GLuint; y: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8148. TglVertexAttribI3uiEXT = procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8149. TglVertexAttribI4uiEXT = procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8150. TglVertexAttribI1ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8151. TglVertexAttribI2ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8152. TglVertexAttribI3ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8153. TglVertexAttribI4ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8154. TglVertexAttribI1uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8155. TglVertexAttribI2uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8156. TglVertexAttribI3uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8157. TglVertexAttribI4uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8158. TglVertexAttribI4bvEXT = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8159. TglVertexAttribI4svEXT = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8160. TglVertexAttribI4ubvEXT = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8161. TglVertexAttribI4usvEXT = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8162. TglVertexAttribIPointerEXT = procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8163. TglGetVertexAttribIivEXT = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8164. TglGetVertexAttribIuivEXT = procedure(index: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8165. TglUniform1uiEXT = procedure(location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8166. TglUniform2uiEXT = procedure(location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8167. TglUniform3uiEXT = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8168. TglUniform4uiEXT = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8169. TglUniform1uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8170. TglUniform2uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8171. TglUniform3uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8172. TglUniform4uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8173. TglGetUniformuivEXT = procedure(_program: GLuint; location: GLint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8174. TglBindFragDataLocationEXT = procedure(_program: GLuint; colorNumber: GLuint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8175. TglGetFragDataLocationEXT = function(_program: GLuint; const name: PGLchar): GLint;
  8176. // GL_EXT_texture_array
  8177. TglFramebufferTextureLayerEXT = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8178. // GL_EXT_texture_buffer_object
  8179. TglTexBufferEXT = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8180. // GL_EXT_texture_integer
  8181. TglClearColorIiEXT = procedure(r: GLint; g: GLint; b: GLint; a: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8182. TglClearColorIuiEXT = procedure(r: GLuint; g: GLuint; b: GLuint; a: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8183. TglTexParameterIivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8184. TglTexParameterIuivEXT = procedure(target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8185. TglGetTexParameterIivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8186. TglGetTexParameterIiuvEXT = procedure(target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8187. // GL_HP_image_transform
  8188. TglImageTransformParameteriHP = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8189. TglImageTransformParameterfHP = procedure(target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8190. TglImageTransformParameterivHP = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8191. TglImageTransformParameterfvHP = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8192. TglGetImageTransformParameterivHP = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8193. TglGetImageTransformParameterfvHP = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8194. // GL_EXT_depth_bounds_test
  8195. TglDepthBoundsEXT = procedure(zmin: GLclampd; zmax: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8196. // GL_EXT_blend_equation_separate
  8197. TglBlendEquationSeparateEXT = procedure(modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8198. // GL_EXT_transform_feedback
  8199. TglBeginTransformFeedbackEXT = procedure(primitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8200. TglEndTransformFeedbackEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8201. TglBindBufferRangeEXT = procedure(target: GLenum; index_: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8202. TglBindBufferOffsetEXT = procedure(target: GLenum; index_: GLuint; buffer: GLuint; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8203. TglBindBufferBaseEXT = procedure(target: GLenum; index_: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8204. TglTransformFeedbackVaryingsEXT = procedure(program_: GLuint; count: GLsizei; const locations: PGLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8205. TglGetTransformFeedbackVaryingEXT = procedure(program_: GLuint; index_: GLuint; location: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8206. // GL_EXT_direct_state_access
  8207. TglClientAttribDefaultEXT = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8208. TglPushClientAttribDefaultEXT = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8209. TglMatrixLoadfEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8210. TglMatrixLoaddEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8211. TglMatrixMultfEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8212. TglMatrixMultdEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8213. TglMatrixLoadIdentityEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8214. TglMatrixRotatefEXT = procedure(mode: GLenum; angle: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8215. TglMatrixRotatedEXT = procedure(mode: GLenum; angle: GLdouble; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8216. TglMatrixScalefEXT = procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8217. TglMatrixScaledEXT = procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8218. TglMatrixTranslatefEXT = procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8219. TglMatrixTranslatedEXT = procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8220. TglMatrixFrustumEXT = procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8221. TglMatrixOrthoEXT = procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8222. TglMatrixPopEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8223. TglMatrixPushEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8224. TglMatrixLoadTransposefEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8225. TglMatrixLoadTransposedEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8226. TglMatrixMultTransposefEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8227. TglMatrixMultTransposedEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8228. TglTextureParameterfEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8229. TglTextureParameterfvEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8230. TglTextureParameteriEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8231. TglTextureParameterivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8232. TglTextureImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8233. TglTextureImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8234. TglTextureSubImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8235. TglTextureSubImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8236. TglCopyTextureImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8237. TglCopyTextureImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8238. TglCopyTextureSubImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8239. TglCopyTextureSubImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8240. TglGetTextureImageEXT = procedure(texture: GLuint; target: GLenum; level: GLint; format: GLenum; type_: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8241. TglGetTextureParameterfvEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8242. TglGetTextureParameterivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8243. TglGetTextureLevelParameterfvEXT = procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8244. TglGetTextureLevelParameterivEXT = procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8245. TglTextureImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8246. TglTextureSubImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8247. TglCopyTextureSubImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8248. TglMultiTexParameterfEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8249. TglMultiTexParameterfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8250. TglMultiTexParameteriEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8251. TglMultiTexParameterivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8252. TglMultiTexImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8253. TglMultiTexImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8254. TglMultiTexSubImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8255. TglMultiTexSubImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8256. TglCopyMultiTexImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8257. TglCopyMultiTexImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8258. TglCopyMultiTexSubImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8259. TglCopyMultiTexSubImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8260. TglGetMultiTexImageEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; format: GLenum; type_: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8261. TglGetMultiTexParameterfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8262. TglGetMultiTexParameterivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8263. TglGetMultiTexLevelParameterfvEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8264. TglGetMultiTexLevelParameterivEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8265. TglMultiTexImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8266. TglMultiTexSubImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; type_: GLenum; const pixels:PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8267. TglCopyMultiTexSubImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8268. TglBindMultiTextureEXT = procedure(texunit: GLenum; target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8269. TglEnableClientStateIndexedEXT = procedure(array_: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8270. TglDisableClientStateIndexedEXT = procedure(array_: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8271. TglMultiTexCoordPointerEXT = procedure(texunit: GLenum; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8272. TglMultiTexEnvfEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8273. TglMultiTexEnvfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8274. TglMultiTexEnviEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8275. TglMultiTexEnvivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8276. TglMultiTexGendEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8277. TglMultiTexGendvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8278. TglMultiTexGenfEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8279. TglMultiTexGenfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8280. TglMultiTexGeniEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8281. TglMultiTexGenivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8282. TglGetMultiTexEnvfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8283. TglGetMultiTexEnvivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8284. TglGetMultiTexGendvEXT = procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8285. TglGetMultiTexGenfvEXT = procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8286. TglGetMultiTexGenivEXT = procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8287. TglGetFloatIndexedvEXT = procedure(target: GLenum; index_: GLuint; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8288. TglGetDoubleIndexedvEXT = procedure(target: GLenum; index_: GLuint; data: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8289. TglGetPointerIndexedvEXT = procedure(target: GLenum; index_: GLuint; data: PPGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8290. TglCompressedTextureImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8291. TglCompressedTextureImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8292. TglCompressedTextureImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8293. TglCompressedTextureSubImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8294. TglCompressedTextureSubImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8295. TglCompressedTextureSubImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8296. TglGetCompressedTextureImageEXT = procedure(texture: GLuint; target: GLenum; lod: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8297. TglCompressedMultiTexImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8298. TglCompressedMultiTexImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8299. TglCompressedMultiTexImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8300. TglCompressedMultiTexSubImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8301. TglCompressedMultiTexSubImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8302. TglCompressedMultiTexSubImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8303. TglGetCompressedMultiTexImageEXT = procedure(texunit: GLenum; target: GLenum; lod: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8304. TglNamedProgramStringEXT = procedure(program_: GLuint; target: GLenum; format: GLenum; len: GLsizei; const string_: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8305. TglNamedProgramLocalParameter4dEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8306. TglNamedProgramLocalParameter4dvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8307. TglNamedProgramLocalParameter4fEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8308. TglNamedProgramLocalParameter4fvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8309. TglGetNamedProgramLocalParameterdvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8310. TglGetNamedProgramLocalParameterfvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8311. TglGetNamedProgramivEXT = procedure(program_: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8312. TglGetNamedProgramStringEXT = procedure(program_: GLuint; target: GLenum; pname: GLenum; string_: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8313. TglNamedProgramLocalParameters4fvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8314. TglNamedProgramLocalParameterI4iEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8315. TglNamedProgramLocalParameterI4ivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8316. TglNamedProgramLocalParametersI4ivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; count: GLsizei; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8317. TglNamedProgramLocalParameterI4uiEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8318. TglNamedProgramLocalParameterI4uivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8319. TglNamedProgramLocalParametersI4uivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8320. TglGetNamedProgramLocalParameterIivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8321. TglGetNamedProgramLocalParameterIuivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8322. TglTextureParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8323. TglTextureParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8324. TglGetTextureParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8325. TglGetTextureParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8326. TglMultiTexParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8327. TglMultiTexParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8328. TglGetMultiTexParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8329. TglGetMultiTexParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8330. TglProgramUniform1fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8331. TglProgramUniform2fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8332. TglProgramUniform3fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8333. TglProgramUniform4fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8334. TglProgramUniform1iEXT = procedure(program_: GLuint; location: GLint; v0: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8335. TglProgramUniform2iEXT = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8336. TglProgramUniform3iEXT = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8337. TglProgramUniform4iEXT = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8338. TglProgramUniform1fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8339. TglProgramUniform2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8340. TglProgramUniform3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8341. TglProgramUniform4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8342. TglProgramUniform1ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8343. TglProgramUniform2ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8344. TglProgramUniform3ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8345. TglProgramUniform4ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8346. TglProgramUniformMatrix2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8347. TglProgramUniformMatrix3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8348. TglProgramUniformMatrix4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8349. TglProgramUniformMatrix2x3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8350. TglProgramUniformMatrix3x2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8351. TglProgramUniformMatrix2x4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8352. TglProgramUniformMatrix4x2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8353. TglProgramUniformMatrix3x4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8354. TglProgramUniformMatrix4x3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8355. TglProgramUniform1uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8356. TglProgramUniform2uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8357. TglProgramUniform3uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8358. TglProgramUniform4uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8359. TglProgramUniform1uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8360. TglProgramUniform2uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8361. TglProgramUniform3uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8362. TglProgramUniform4uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8363. TglNamedBufferDataEXT = procedure(buffer: GLuint; size: GLsizei; const data: PGLvoid; usage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8364. TglNamedBufferSubDataEXT = procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8365. TglMapNamedBufferEXT = function(buffer: GLuint; access: GLenum): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8366. TglUnmapNamedBufferEXT = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8367. TglMapNamedBufferRangeEXT = function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8368. TglFlushMappedNamedBufferRangeEXT = procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8369. TglNamedCopyBufferSubDataEXT = procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8370. TglGetNamedBufferParameterivEXT = procedure(buffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8371. TglGetNamedBufferPointervEXT = procedure(buffer: GLuint; pname: GLenum; params: PPGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8372. TglGetNamedBufferSubDataEXT = procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8373. TglTextureBufferEXT = procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8374. TglMultiTexBufferEXT = procedure(texunit: GLenum; target: GLenum; interformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8375. TglNamedRenderbufferStorageEXT = procedure(renderbuffer: GLuint; interformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8376. TglGetNamedRenderbufferParameterivEXT = procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8377. TglCheckNamedFramebufferStatusEXT = function(framebuffer: GLuint; target: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8378. TglNamedFramebufferTexture1DEXT = procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8379. TglNamedFramebufferTexture2DEXT = procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8380. TglNamedFramebufferTexture3DEXT = procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8381. TglNamedFramebufferRenderbufferEXT = procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8382. TglGetNamedFramebufferAttachmentParameterivEXT = procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8383. TglGenerateTextureMipmapEXT = procedure(texture: GLuint; target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8384. TglGenerateMultiTexMipmapEXT = procedure(texunit: GLenum; target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8385. TglFramebufferDrawBufferEXT = procedure(framebuffer: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8386. TglFramebufferDrawBuffersEXT = procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8387. TglFramebufferReadBufferEXT = procedure(framebuffer: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8388. TglGetFramebufferParameterivEXT = procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8389. TglNamedRenderbufferStorageMultisampleEXT = procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8390. TglNamedRenderbufferStorageMultisampleCoverageEXT = procedure(renderbuffer: GLuint; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8391. TglNamedFramebufferTextureEXT = procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8392. TglNamedFramebufferTextureLayerEXT = procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8393. TglNamedFramebufferTextureFaceEXT = procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8394. TglTextureRenderbufferEXT = procedure(texture: GLuint; target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8395. TglMultiTexRenderbufferEXT = procedure(texunit: GLenum; target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8396. TglProgramUniform1dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8397. TglProgramUniform2dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8398. TglProgramUniform3dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8399. TglProgramUniform4dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8400. TglProgramUniform1dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8401. TglProgramUniform2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8402. TglProgramUniform3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8403. TglProgramUniform4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8404. TglProgramUniformMatrix2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8405. TglProgramUniformMatrix3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8406. TglProgramUniformMatrix4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8407. TglProgramUniformMatrix2x3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8408. TglProgramUniformMatrix2x4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8409. TglProgramUniformMatrix3x2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8410. TglProgramUniformMatrix3x4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8411. TglProgramUniformMatrix4x2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8412. TglProgramUniformMatrix4x3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8413. // GL_EXT_separate_shader_objects
  8414. TglUseShaderProgramEXT = procedure(_type: GLenum; _program: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8415. TglActiveProgramEXT = procedure(_program: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8416. TglCreateShaderProgramEXT = function(_type: GLenum; const _string: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8417. // GL_EXT_shader_image_load_store
  8418. TglBindImageTextureEXT = procedure(index: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8419. TglMemoryBarrierEXT = procedure(barriers: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8420. // GL_EXT_vertex_attrib_64bit
  8421. TglVertexAttribL1dEXT = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8422. TglVertexAttribL2dEXT = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8423. TglVertexAttribL3dEXT = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8424. TglVertexAttribL4dEXT = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8425. TglVertexAttribL1dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8426. TglVertexAttribL2dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8427. TglVertexAttribL3dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8428. TglVertexAttribL4dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8429. TglVertexAttribLPointerEXT = procedure(index: GLuint; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8430. TglGetVertexAttribLdvEXT = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8431. TglVertexArrayVertexAttribLOffsetEXT = procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; type_: GLenum; stride: GLsizei; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8432. // GL_IBM_multimode_draw_arrays
  8433. TglMultiModeDrawArraysIBM = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei; modestride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8434. TglMultiModeDrawElementsIBM = procedure(const mode: PGLenum; const count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei; modestride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8435. // GL_IBM_vertex_array_lists
  8436. TglColorPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8437. TglSecondaryColorPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8438. TglEdgeFlagPointerListIBM = procedure(stride: GLint; const _pointer: PGLboolean; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8439. TglFogCoordPointerListIBM = procedure(_type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8440. TglIndexPointerListIBM = procedure(_type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8441. TglNormalPointerListIBM = procedure(_type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8442. TglTexCoordPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8443. TglVertexPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8444. // GL_INGR_blend_func_separate
  8445. TglBlendFuncSeparateINGR = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8446. // GL_INTEL_parallel_arrays
  8447. TglVertexPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8448. TglNormalPointervINTEL = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8449. TglColorPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8450. TglTexCoordPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8451. // GL_MESA_resize_buffers
  8452. TglResizeBuffersMESA = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8453. // GL_MESA_window_pos
  8454. TglWindowPos2dMESA = procedure(x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8455. TglWindowPos2dvMESA = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8456. TglWindowPos2fMESA = procedure(x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8457. TglWindowPos2fvMESA = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8458. TglWindowPos2iMESA = procedure(x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8459. TglWindowPos2ivMESA = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8460. TglWindowPos2sMESA = procedure(x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8461. TglWindowPos2svMESA = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8462. TglWindowPos3dMESA = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8463. TglWindowPos3dvMESA = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8464. TglWindowPos3fMESA = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8465. TglWindowPos3fvMESA = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8466. TglWindowPos3iMESA = procedure(x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8467. TglWindowPos3ivMESA = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8468. TglWindowPos3sMESA = procedure(x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8469. TglWindowPos3svMESA = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8470. TglWindowPos4dMESA = procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8471. TglWindowPos4dvMESA = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8472. TglWindowPos4fMESA = procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8473. TglWindowPos4fvMESA = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8474. TglWindowPos4iMESA = procedure(x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8475. TglWindowPos4ivMESA = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8476. TglWindowPos4sMESA = procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8477. TglWindowPos4svMESA = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8478. // GL_NV_evaluators
  8479. TglMapControlPointsNV = procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; uorder: GLint; vorder: GLint; _packed: GLboolean; const points: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8480. TglMapParameterivNV = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8481. TglMapParameterfvNV = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8482. TglGetMapControlPointsNV = procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; _packed: GLboolean; points: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8483. TglGetMapParameterivNV = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8484. TglGetMapParameterfvNV = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8485. TglGetMapAttribParameterivNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8486. TglGetMapAttribParameterfvNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8487. TglEvalMapsNV = procedure(target: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8488. // GL_NV_fence
  8489. TglDeleteFencesNV = procedure(n: GLsizei; const fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8490. TglGenFencesNV = procedure(n: GLsizei; fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8491. TglIsFenceNV = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8492. TglTestFenceNV = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8493. TglGetFenceivNV = procedure(fence: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8494. TglFinishFenceNV = procedure(fence: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8495. TglSetFenceNV = procedure(fence: GLuint; condition: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8496. // GL_NV_fragment_program
  8497. TglProgramNamedParameter4fNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8498. TglProgramNamedParameter4dNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8499. TglProgramNamedParameter4fvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8500. TglProgramNamedParameter4dvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8501. TglGetProgramNamedParameterfvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8502. TglGetProgramNamedParameterdvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8503. // GL_NV_half_float
  8504. TglVertex2hNV = procedure(x: GLhalfNV; y: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8505. TglVertex2hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8506. TglVertex3hNV = procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8507. TglVertex3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8508. TglVertex4hNV = procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8509. TglVertex4hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8510. TglNormal3hNV = procedure(nx: GLhalfNV; ny: GLhalfNV; nz: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8511. TglNormal3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8512. TglColor3hNV = procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8513. TglColor3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8514. TglColor4hNV = procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV; alpha: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8515. TglColor4hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8516. TglTexCoord1hNV = procedure(s: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8517. TglTexCoord1hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8518. TglTexCoord2hNV = procedure(s: GLhalfNV; t: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8519. TglTexCoord2hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8520. TglTexCoord3hNV = procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8521. TglTexCoord3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8522. TglTexCoord4hNV = procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8523. TglTexCoord4hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8524. TglMultiTexCoord1hNV = procedure(target: GLenum; s: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8525. TglMultiTexCoord1hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8526. TglMultiTexCoord2hNV = procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8527. TglMultiTexCoord2hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8528. TglMultiTexCoord3hNV = procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8529. TglMultiTexCoord3hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8530. TglMultiTexCoord4hNV = procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8531. TglMultiTexCoord4hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8532. TglFogCoordhNV = procedure(fog: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8533. TglFogCoordhvNV = procedure(const fog: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8534. TglSecondaryColor3hNV = procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8535. TglSecondaryColor3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8536. TglVertexWeighthNV = procedure(weight: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8537. TglVertexWeighthvNV = procedure(const weight: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8538. TglVertexAttrib1hNV = procedure(index: GLuint; x: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8539. TglVertexAttrib1hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8540. TglVertexAttrib2hNV = procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8541. TglVertexAttrib2hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8542. TglVertexAttrib3hNV = procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8543. TglVertexAttrib3hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8544. TglVertexAttrib4hNV = procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8545. TglVertexAttrib4hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8546. TglVertexAttribs1hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8547. TglVertexAttribs2hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8548. TglVertexAttribs3hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8549. TglVertexAttribs4hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8550. // GL_NV_occlusion_query
  8551. TglGenOcclusionQueriesNV = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8552. TglDeleteOcclusionQueriesNV = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8553. TglIsOcclusionQueryNV = function(id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8554. TglBeginOcclusionQueryNV = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8555. TglEndOcclusionQueryNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8556. TglGetOcclusionQueryivNV = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8557. TglGetOcclusionQueryuivNV = procedure(id: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8558. // GL_NV_pixel_data_range
  8559. TglPixelDataRangeNV = procedure(target: GLenum; length: GLsizei; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8560. TglFlushPixelDataRangeNV = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8561. // GL_NV_point_sprite
  8562. TglPointParameteriNV = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8563. TglPointParameterivNV = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8564. // GL_NV_primitive_restart
  8565. TglPrimitiveRestartNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8566. TglPrimitiveRestartIndexNV = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8567. // GL_NV_register_combiners
  8568. TglCombinerParameterfvNV = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8569. TglCombinerParameterfNV = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8570. TglCombinerParameterivNV = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8571. TglCombinerParameteriNV = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8572. TglCombinerInputNV = procedure(stage: GLenum; portion: GLenum; variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8573. TglCombinerOutputNV = procedure(stage: GLenum; portion: GLenum; abOutput: GLenum; cdOutput: GLenum; sumOutput: GLenum; scale: GLenum; bias: GLenum; abDotProduct: GLboolean; cdDotProduct: GLboolean; muxSum: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8574. TglFinalCombinerInputNV = procedure(variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8575. TglGetCombinerInputParameterfvNV = procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8576. TglGetCombinerInputParameterivNV = procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8577. TglGetCombinerOutputParameterfvNV = procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8578. TglGetCombinerOutputParameterivNV = procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8579. TglGetFinalCombinerInputParameterfvNV = procedure(variable: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8580. TglGetFinalCombinerInputParameterivNV = procedure(variable: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8581. // GL_NV_register_combiners2
  8582. TglCombinerStageParameterfvNV = procedure(stage: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8583. TglGetCombinerStageParameterfvNV = procedure(stage: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8584. // GL_NV_vertex_array_range
  8585. TglFlushVertexArrayRangeNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8586. TglVertexArrayRangeNV = procedure(length: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8587. // GL_NV_vertex_program
  8588. TglAreProgramsResidentNV = function(n: GLsizei; const programs: PGLuint; residences: PGLboolean): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8589. TglBindProgramNV = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8590. TglDeleteProgramsNV = procedure(n: GLsizei; const programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8591. TglExecuteProgramNV = procedure(target: GLenum; id: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8592. TglGenProgramsNV = procedure(n: GLsizei; programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8593. TglGetProgramParameterdvNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8594. TglGetProgramParameterfvNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8595. TglGetProgramivNV = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8596. TglGetProgramStringNV = procedure(id: GLuint; pname: GLenum; _program: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8597. TglGetTrackMatrixivNV = procedure(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8598. TglGetVertexAttribdvNV = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8599. TglGetVertexAttribfvNV = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8600. TglGetVertexAttribivNV = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8601. TglGetVertexAttribPointervNV = procedure(index: GLuint; pname: GLenum; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8602. TglIsProgramNV = function(id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8603. TglLoadProgramNV = procedure(target: GLenum; id: GLuint; len: GLsizei; const _program: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8604. TglProgramParameter4dNV = procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8605. TglProgramParameter4dvNV = procedure(target: GLenum; index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8606. TglProgramParameter4fNV = procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8607. TglProgramParameter4fvNV = procedure(target: GLenum; index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8608. TglProgramParameters4dvNV = procedure(target: GLenum; index: GLuint; count: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8609. TglProgramParameters4fvNV = procedure(target: GLenum; index: GLuint; count: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8610. TglRequestResidentProgramsNV = procedure(n: GLsizei; const programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8611. TglTrackMatrixNV = procedure(target: GLenum; address: GLuint; matrix: GLenum; transform: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8612. TglVertexAttribPointerNV = procedure(index: GLuint; fsize: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8613. TglVertexAttrib1dNV = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8614. TglVertexAttrib1dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8615. TglVertexAttrib1fNV = procedure(index: GLuint; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8616. TglVertexAttrib1fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8617. TglVertexAttrib1sNV = procedure(index: GLuint; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8618. TglVertexAttrib1svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8619. TglVertexAttrib2dNV = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8620. TglVertexAttrib2dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8621. TglVertexAttrib2fNV = procedure(index: GLuint; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8622. TglVertexAttrib2fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8623. TglVertexAttrib2sNV = procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8624. TglVertexAttrib2svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8625. TglVertexAttrib3dNV = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8626. TglVertexAttrib3dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8627. TglVertexAttrib3fNV = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8628. TglVertexAttrib3fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8629. TglVertexAttrib3sNV = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8630. TglVertexAttrib3svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8631. TglVertexAttrib4dNV = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8632. TglVertexAttrib4dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8633. TglVertexAttrib4fNV = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8634. TglVertexAttrib4fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8635. TglVertexAttrib4sNV = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8636. TglVertexAttrib4svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8637. TglVertexAttrib4ubNV = procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8638. TglVertexAttrib4ubvNV = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8639. TglVertexAttribs1dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8640. TglVertexAttribs1fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8641. TglVertexAttribs1svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8642. TglVertexAttribs2dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8643. TglVertexAttribs2fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8644. TglVertexAttribs2svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8645. TglVertexAttribs3dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8646. TglVertexAttribs3fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8647. TglVertexAttribs3svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8648. TglVertexAttribs4dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8649. TglVertexAttribs4fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8650. TglVertexAttribs4svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8651. TglVertexAttribs4ubvNV = procedure(index: GLuint; count: GLsizei; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8652. // GL_NV_depth_buffer_float
  8653. TglDepthRangedNV = procedure(n: GLdouble; f: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8654. TglClearDepthdNV = procedure(d: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8655. TglDepthBoundsdNV = procedure(zmin: GLdouble; zmax: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8656. // GL_NV_framebuffer_multisample_coverage
  8657. TglRenderbufferStorageMultsampleCoverageNV = procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8658. // GL_NV_geometry_program4
  8659. TglProgramVertexLimitNV = procedure(target: GLenum; limit: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8660. // GL_NV_gpu_program4
  8661. TglProgramLocalParameterI4iNV = procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8662. TglProgramLocalParameterI4ivNV = procedure(target: GLenum; index: GLuint; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8663. TglProgramLocalParametersI4ivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8664. TglProgramLocalParameterI4uiNV = procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8665. TglProgramLocalParameterI4uivNV = procedure(target: GLenum; index: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8666. TglProgramLocalParametersI4uivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8667. TglProgramEnvParameterI4iNV = procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8668. TglProgramEnvParameterI4ivNV = procedure(target: GLenum; index: GLuint; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8669. TglProgramEnvParametersI4ivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8670. TglProgramEnvParameterI4uiNV = procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8671. TglProgramEnvParameterI4uivNV = procedure(target: GLenum; index: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8672. TglProgramEnvParametersI4uivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8673. TglGetProgramLocalParameterIivNV = procedure(target: GLenum; index: GLuint; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8674. TglGetProgramLocalParameterIuivNV = procedure(target: GLenum; index: GLuint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8675. TglGetProgramEnvParameterIivNV = procedure(target: GLenum; index: GLuint; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8676. TglGetProgramEnvParameterIuivNV = procedure(target: GLenum; index: GLuint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8677. // GL_NV_parameter_buffer_object
  8678. TglProgramBufferParametersfvNV = procedure(target: GLenum; buffer: GLuint; index: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8679. TglProgramBufferParametersIivNV = procedure(target: GLenum; buffer: GLuint; index: GLuint; count: GLsizei; const params: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8680. TglProgramBufferParametersIuivNV = procedure(target: GLenum; buffer: GLuint; index: GLuint; count: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8681. // GL_NV_transform_feedback
  8682. TglBeginTransformFeedbackNV = procedure(primitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8683. TglEndTransformFeedbackNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8684. TglTransformFeedbackAttribsNV = procedure(count: GLsizei; const attribs: GLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8685. TglBindBufferRangeNV = procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8686. TglBindBufferOffsetNV = procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8687. TglBindBufferBaseNV = procedure(target: GLenum; index: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8688. TglTransformFeedbackVaryingsNV = procedure(program_: GLuint; count: GLsizei; const locations: PGLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8689. TglActiveVaryingNV = procedure(program_: GLuint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8690. TglGetVaryingLocationNV = function(program_: GLuint; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8691. TglGetActiveVaryingNV = procedure(program_: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8692. TglGetTransformFeedbackVaryingNV = procedure(program_: GLuint; index: GLuint; location: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8693. TglTransformFeedbackStreamAttribsNV = procedure(count: GLsizei; const attribs: PGLint; nbuffers: GLsizei; const bufstreams: PGLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8694. // GL_NV_conditional_render
  8695. TglBeginConditionalRenderNV = procedure(id: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8696. TglEndConditionalRenderNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8697. // GL_NV_present_video
  8698. TglPresentFrameKeyedNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDuratioId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; key0: GLuint; target1: GLenum; fill1: GLuint; key1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8699. TglPresentFrameDualFillNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDurationId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; target1: GLenum; fill1: GLuint; target2: GLenum; fill2: GLuint; target3: GLenum; fill3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8700. TglGetVideoivNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8701. TglGetVideouivNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8702. TglGetVideoi64vNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8703. TglGetVideoui64vNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8704. // TglVideoParameterivNV = procedure(video_slot: GLuint; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8705. // GL_NV_explicit_multisample
  8706. TglGetMultisamplefvNV = procedure (pname: GLenum; index: GLuint; val: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8707. TglSampleMaskIndexedNV = procedure (index: GLuint; mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8708. TglTexRenderbufferNV = procedure (target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8709. // GL_NV_transform_feedback2
  8710. TglBindTransformFeedbackNV = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8711. TglDeleteTransformFeedbacksNV = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8712. TglGenTransformFeedbacksNV = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8713. TglIsTransformFeedbackNV = function (id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8714. TglPauseTransformFeedbackNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8715. TglResumeTransformFeedbackNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8716. TglDrawTransformFeedbackNV = procedure(mode: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8717. // GL_NV_video_capture
  8718. TglBeginVideoCaptureNV = procedure(video_capture_slot: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8719. TglBindVideoCaptureStreamBufferNV = procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; offset: GLintptrARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8720. TglBindVideoCaptureStreamTextureNV = procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8721. TglEndVideoCaptureNV = procedure(video_capture_slot: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8722. TglGetVideoCaptureivNV = procedure(video_capture_slot: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8723. TglGetVideoCaptureStreamivNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8724. TglGetVideoCaptureStreamfvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8725. TglGetVideoCaptureStreamdvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8726. TglVideoCaptureNV = function(video_capture_slot: GLuint; sequence_num: PGLuint; capture_time: PGLuint64EXT): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8727. TglVideoCaptureStreamParameterivNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8728. TglVideoCaptureStreamParameterfvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8729. TglVideoCaptureStreamParameterdvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8730. // GL_NV_copy_image
  8731. TglCopyImageSubDataNV = procedure(srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8732. // GL_NV_shader_buffer_load
  8733. TglMakeBufferResidentNV = procedure(target: GLenum; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8734. TglMakeBufferNonResidentNV = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8735. TglIsBufferResidentNV = function(target: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8736. TglMakeNamedBufferResidentNV = procedure(buffer: GLuint; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8737. TglMakeNamedBufferNonResidentNV = procedure(buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8738. TglIsNamedBufferResidentNV = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8739. TglGetBufferParameterui64vNV = procedure(target: GLenum; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8740. TglGetNamedBufferParameterui64vNV = procedure(buffer: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8741. TglGetIntegerui64vNV = procedure(value: GLenum; result: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8742. TglUniformui64NV = procedure(location: GLint; value: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8743. TglUniformui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8744. TglGetUniformui64vNV = procedure(_program: GLuint; location: GLint; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8745. TglProgramUniformui64NV = procedure(_program: GLuint; location: GLint; value: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8746. TglProgramUniformui64vNV = procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8747. // GL_NV_vertex_buffer_unified_memory
  8748. TglBufferAddressRangeNV = procedure(pname: GLenum; index: GLuint; adress: GLuint64EXT; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8749. TglVertexFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8750. TglNormalFormatNV = procedure(_type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8751. TglColorFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8752. TglIndexFormatNV = procedure(_type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8753. TglTexCoordFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8754. TglEdgeFlagFormatNV = procedure(stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8755. TglSecondaryColorFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8756. TglFogCoordFormatNV = procedure(_type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8757. TglVertexAttribFormatNV = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8758. TglVertexAttribIFormatNV = procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8759. TglGetIntegerui64i_vNV = procedure(value: GLenum; index: GLuint; Result: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8760. // GL_NV_gpu_program5
  8761. TglProgramSubroutineParametersuivNV = procedure(target: GLenum; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8762. TglGetProgramSubroutineParameteruivNV = procedure(target: GLenum; index: GLuint; param: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8763. // GL_NV_gpu_shader5
  8764. TglUniform1i64NV = procedure(location: GLint; x: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8765. TglUniform2i64NV = procedure(location: GLint; x: GLint64EXT; y: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8766. TglUniform3i64NV = procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8767. TglUniform4i64NV = procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8768. TglUniform1i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8769. TglUniform2i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8770. TglUniform3i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8771. TglUniform4i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8772. TglUniform1ui64NV = procedure(location: GLint; x: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8773. TglUniform2ui64NV = procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8774. TglUniform3ui64NV = procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8775. TglUniform4ui64NV = procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8776. TglUniform1ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8777. TglUniform2ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8778. TglUniform3ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8779. TglUniform4ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8780. TglGetUniformi64vNV = procedure(program_: GLuint; location: GLint; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8781. TglProgramUniform1i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8782. TglProgramUniform2i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8783. TglProgramUniform3i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8784. TglProgramUniform4i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8785. TglProgramUniform1i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8786. TglProgramUniform2i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8787. TglProgramUniform3i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8788. TglProgramUniform4i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8789. TglProgramUniform1ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8790. TglProgramUniform2ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8791. TglProgramUniform3ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8792. TglProgramUniform4ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8793. TglProgramUniform1ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8794. TglProgramUniform2ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8795. TglProgramUniform3ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8796. TglProgramUniform4ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8797. // GL_NV_vertex_attrib_integer_64bit
  8798. TglVertexAttribL1i64NV = procedure(index: GLuint; x: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8799. TglVertexAttribL2i64NV = procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8800. TglVertexAttribL3i64NV = procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8801. TglVertexAttribL4i64NV = procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8802. TglVertexAttribL1i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8803. TglVertexAttribL2i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8804. TglVertexAttribL3i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8805. TglVertexAttribL4i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8806. TglVertexAttribL1ui64NV = procedure(index: GLuint; x: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8807. TglVertexAttribL2ui64NV = procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8808. TglVertexAttribL3ui64NV = procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8809. TglVertexAttribL4ui64NV = procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8810. TglVertexAttribL1ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8811. TglVertexAttribL2ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8812. TglVertexAttribL3ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8813. TglVertexAttribL4ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8814. TglGetVertexAttribLi64vNV = procedure(index: GLuint; pname: GLenum; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8815. TglGetVertexAttribLui64vNV = procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8816. TglVertexAttribLFormatNV = procedure(index: GLuint; size: GLint; type_: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8817. // GL_NV_vdpau_interop
  8818. TglVDPAUInitNV = procedure(const vdpDevice: PGLvoid; const getProcAddress: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8819. TglVDPAUFiniNV = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8820. TglVDPAURegisterVideoSurfaceNV = function(vdpSurface: PGLvoid; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8821. TglVDPAURegisterOutputSurfaceNV = function(vdpSurface: PGLvoid; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8822. TglVDPAUIsSurfaceNV = procedure(surface: GLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8823. TglVDPAUUnregisterSurfaceNV = procedure(surface: GLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8824. TglVDPAUGetSurfaceivNV = procedure(surface: GLvdpauSurfaceNV; pname: GLenum; bufSize: GLsizei; length: PGLsizei; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8825. TglVDPAUSurfaceAccessNV = procedure(surface: GLvdpauSurfaceNV; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8826. TglVDPAUMapSurfacesNV = procedure(numSurfaces: GLsizei; const surfaces: PGLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8827. TglVDPAUUnmapSurfacesNV = procedure(numSurface: GLsizei; const surfaces: PGLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8828. // GL_NV_texture_barrier
  8829. TglTextureBarrierNV = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8830. // (4.3)
  8831. // GL_NV_path_rendering
  8832. TglGenPathsNV = function(range: GLsizei): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8833. TglDeletePathsNV = procedure(path: GLUInt; range: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8834. TglIsPathNV = function(path: GLUInt): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8835. TglPathCommandsNV = procedure(path: GLUInt; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLsizei; coordType: GLenum; const coords: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8836. TglPathCoordsNV = procedure(path: GLUInt; numCoords: GLSizei; coordType: GLenum; const coords: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8837. TglPathSubCommandsNV = procedure(path: GLUInt; commandStart: GLsizei; commandsToDelete: GLsizei; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLSizei; coordType: GLenum; const coords: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8838. TglPathSubCoordsNV = procedure(path: GLUInt; coordStart: GLsizei; numCoords: GLSizei; coordType: GLenum; const coords: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8839. TglPathStringNV = procedure(path: GLUInt; format: GLenum; length: GLsizei; const pathString: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8840. TglPathGlyphsNV = procedure(firstPathName: GLuint; fontTarget: GLenum; const fontName: PGLvoid; fontStyle: GLbitfield; numGlyphs: GLsizei; type_: GLenum; const charcodes: PGLvoid; handleMissingGlyphs: GLenum; pathParameterTemplate: GLUInt; emScale: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8841. TglPathGlyphRangeNV = procedure(firstPathName: GLuint; fontTarget: GLenum; const fontName: PGLvoid; fontStyle: GLbitfield; firstGlyph: GLuint; numGlyphs: GLsizei; handleMissingGlyphs: GLenum; pathParameterTemplate: GLUInt; emScale: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8842. TglWeightPathsNV = procedure(resultPath: GLUInt; numPaths: GLSizei; const paths: PGLuint; const weights: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8843. TglCopyPathNV = procedure(resultPath: GLUInt; srcPath: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8844. TglInterpolatePathsNV = procedure(resultPath: GLUInt; pathA: GLUInt; pathB: GLUInt; weight: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8845. TglTransformPathNV = procedure(resultPath: GLUInt; srcPath: GLuint; transformType: GLenum; const transformValues: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8846. TglPathParameterivNV = procedure(path: GLUInt; pname: GLEnum; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8847. TglPathParameteriNV = procedure(path: GLUInt; pname: GLEnum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8848. TglPathParameterfvNV = procedure(path: GLUInt; pname: GLEnum; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8849. TglPathParameterfNV = procedure(path: GLUInt; pname: GLEnum; value: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8850. TglPathDashArrayNV = procedure(path: GLUInt; dashCount: GLsizei; const dashArray: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8851. TglPathStencilFuncNV = procedure(func: GLenum; ref: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8852. TglPathStencilDepthOffsetNV = procedure(factor: GLfloat; units: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8853. TglStencilFillPathNV = procedure(path: GLUInt; fillMode: GLenum; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8854. TglStencilStrokePathNV = procedure(path: GLUInt; reference: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8855. TglStencilFillPathInstancedNV = procedure(numPaths: GLSizei; pathNameType: GLenum; const paths: PGLvoid; pathBase: GLUInt; fillMode: GLenum; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8856. TglStencilStrokePathInstancedNV = procedure(numPaths: GLSizei; pathNameType: GLenum; const paths: PGLvoid; pathBase: GLUInt; reference: GLint; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8857. TglPathCoverDepthFuncNV = procedure(func: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8858. TglPathColorGenNV = procedure(color: GLenum; genMode: GLenum; colorFormat: GLenum; const coeffs: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8859. TglPathTexGenNV = procedure(texCoordSet: GLenum; genMode: GLenum; components: GLint; const coeffs: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8860. TglPathFogGenNV = procedure(genMode: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8861. TglCoverFillPathNV = procedure(path: GLUInt; coverMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8862. TglCoverStrokePathNV = procedure(path: GLUInt; coverMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8863. TglCoverFillPathInstancedNV = procedure(numPaths: GLSizei; pathNameType: GLenum; const paths: PGLvoid; pathBase: GLUInt; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8864. TglCoverStrokePathInstancedNV = procedure(numPaths: GLSizei; pathNameType: GLenum; const paths: PGLvoid; pathBase: GLUInt; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8865. TglGetPathParameterivNV = procedure(path: GLUInt; pname: GLEnum; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8866. TglGetPathParameterfvNV = procedure(path: GLUInt; pname: GLEnum; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8867. TglGetPathCommandsNV = procedure(path: GLUInt; commands: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8868. TglGetPathCoordsNV = procedure(path: GLUInt; coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8869. TglGetPathDashArrayNV = procedure(path: GLUInt; dashArray: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8870. TglGetPathMetricsNV = procedure(metricQueryMask: GLbitfield; numPaths: GLSizei; pathNameType: GLenum; const paths: PGLvoid; pathBase: GLUInt; stride: GLsizei; metrics: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8871. TglGetPathMetricRangeNV = procedure(metricQueryMask: GLbitfield; firstPathName: GLuint; numPaths: GLSizei; stride: GLsizei; metrics: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8872. TglGetPathSpacingNV = procedure(pathListMode: GLenum; numPaths: GLSizei; pathNameType: GLenum; const paths: PGLvoid; pathBase: GLUInt; advanceScale: GLfloat; kerningScale: GLfloat; transformType: GLenum; returnedSpacing: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8873. TglGetPathColorGenivNV = procedure(color: GLenum; pname: GLEnum; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8874. TglGetPathColorGenfvNV = procedure(color: GLenum; pname: GLEnum; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8875. TglGetPathTexGenivNV = procedure(texCoordSet: GLenum; pname: GLEnum; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8876. TglGetPathTexGenfvNV = procedure(texCoordSet: GLenum; pname: GLEnum; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8877. TglIsPointInFillPathNV = function(path: GLUInt; mask: GLuint; x: GLfloat; y: GLfloat): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8878. TglIsPointInStrokePathNV = function (path: GLUInt; x: GLfloat; y: GLfloat): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8879. TglGetPathLengthNV = function(path: GLUInt; startSegment: GLsizei; numSegments: GLsizei): GLfloat; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8880. TglPointAlongPathNV = function(path: GLUInt; startSegment: GLsizei; numSegments: GLsizei; distance: GLfloat; x: PGLfloat; y: PGLfloat; tangentX: PGLfloat; tangentY: PGLfloat): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8881. // GL_AMD_pinned_memory
  8882. // GL_AMD_stencil_operation_extended
  8883. TglStencilOpValueAMD = procedure(face: GLEnum; value: GLUInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8884. // GL_AMD_vertex_shader_viewport_index
  8885. // GL_AMD_vertex_shader_layer
  8886. // GL_NV_bindless_texture
  8887. TglGetTextureHandleNV = function(texture: GLuint ): GLuint64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8888. TglGetTextureSamplerHandleNV = function(texture: GLuint; sampler: GLuint): GLuint64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8889. TglMakeTextureHandleResidentNV = procedure(handle: GLUint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8890. TglMakeTextureHandleNonResidentNV = procedure(handle: GLUint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8891. TglGetImageHandleNV = function(texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLUInt64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8892. TglMakeImageHandleResidentNV = procedure(handle: GLUint64; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8893. TglMakeImageHandleNonResidentNV = procedure(handle: GLUint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8894. TglUniformHandleui64NV = procedure(location: GLint; value: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8895. TglUniformHandleui64vNV = procedure(location: GLint; cowunt: GLsizei; const value: PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8896. TglProgramUniformHandleui64NV = procedure(program_: GLuint; location: GLint; value: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8897. TglProgramUniformHandleui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8898. TglIsTextureHandleResidentNV = function(handle: GLUint64): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8899. TglIsImageHandleResidentNV = function(handle: GLUint64): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8900. // GL_ARB_bindless_texture
  8901. TglGetTextureHandleARB = function (texture: GLuint): GLUInt64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8902. TglGetTextureSamplerHandleARB = function (texture: GLuint; sampler: GLuint): GLUInt64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8903. TglMakeTextureHandleResidentARB = procedure (handle: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8904. TglMakeTextureHandleNonResidentARB = procedure (handle: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8905. TglGetImageHandleARB = function (texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLuint64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8906. TglMakeImageHandleResidentARB = procedure (handle: GLuint64; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8907. TglMakeImageHandleNonResidentARB = procedure (handle: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8908. TglUniformHandleui64ARB = procedure (location: GLint; value: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8909. TglUniformHandleui64vARB = procedure (location: GLint; count: GLsizei; const value: PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8910. TglProgramUniformHandleui64ARB = procedure (program_: GLuint; location: GLint; value: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8911. TglProgramUniformHandleui64vARB = procedure (program_: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8912. TglIsTextureHandleResidentARB = function (handle: GLuint64): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8913. TglIsImageHandleResidentARB = function (handle: GLuint64): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8914. TglVertexAttribL1ui64ARB = procedure (index: GLuint; x: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8915. TglVertexAttribL1ui64vARB = procedure (index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8916. TglGetVertexAttribLui64vARB = procedure (index: GLuint; pname: GLenum; params: PGLuint64EXT ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8917. // GL_NV_shader_atomic_float
  8918. // GL_AMD_query_buffer_object
  8919. //
  8920. // GL_PGI_misc_hints
  8921. TglHintPGI = procedure(target: GLenum; mode: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8922. // GL_SGIS_detail_texture
  8923. TglDetailTexFuncSGIS = procedure(target: GLenum; n: GLsizei; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8924. TglGetDetailTexFuncSGIS = procedure(target: GLenum; points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8925. // GL_SGIS_fog_function
  8926. TglFogFuncSGIS = procedure(n: GLsizei; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8927. TglGetFogFuncSGIS = procedure(points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8928. // GL_SGIS_multisample
  8929. TglSampleMaskSGIS = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8930. TglSamplePatternSGIS = procedure(pattern: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8931. // GL_SGIS_pixel_texture
  8932. TglPixelTexGenParameteriSGIS = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8933. TglPixelTexGenParameterivSGIS = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8934. TglPixelTexGenParameterfSGIS = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8935. TglPixelTexGenParameterfvSGIS = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8936. TglGetPixelTexGenParameterivSGIS = procedure(pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8937. TglGetPixelTexGenParameterfvSGIS = procedure(pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8938. // GL_SGIS_point_parameters
  8939. TglPointParameterfSGIS = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8940. TglPointParameterfvSGIS = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8941. // GL_SGIS_sharpen_texture
  8942. TglSharpenTexFuncSGIS = procedure(target: GLenum; n: GLsizei; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8943. TglGetSharpenTexFuncSGIS = procedure(target: GLenum; points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8944. // GL_SGIS_texture4D
  8945. TglTexImage4DSGIS = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; size4d: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8946. TglTexSubImage4DSGIS = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; woffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; size4d: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8947. // GL_SGIS_texture_color_mask
  8948. TglTextureColorMaskSGIS = procedure(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8949. // GL_SGIS_texture_filter4
  8950. TglGetTexFilterFuncSGIS = procedure(target: GLenum; filter: GLenum; weights: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8951. TglTexFilterFuncSGIS = procedure(target: GLenum; filter: GLenum; n: GLsizei; const weights: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8952. // GL_SGIX_async
  8953. TglAsyncMarkerSGIX = procedure(marker: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8954. TglFinishAsyncSGIX = function(markerp: PGLuint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8955. TglPollAsyncSGIX = function(markerp: PGLuint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8956. TglGenAsyncMarkersSGIX = function(range: GLsizei): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8957. TglDeleteAsyncMarkersSGIX = procedure(marker: GLuint; range: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8958. TglIsAsyncMarkerSGIX = function(marker: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8959. // GL_SGIX_flush_raster
  8960. TglFlushRasterSGIX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8961. // GL_SGIX_fragment_lighting
  8962. TglFragmentColorMaterialSGIX = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8963. TglFragmentLightfSGIX = procedure(light: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8964. TglFragmentLightfvSGIX = procedure(light: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8965. TglFragmentLightiSGIX = procedure(light: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8966. TglFragmentLightivSGIX = procedure(light: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8967. TglFragmentLightModelfSGIX = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8968. TglFragmentLightModelfvSGIX = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8969. TglFragmentLightModeliSGIX = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8970. TglFragmentLightModelivSGIX = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8971. TglFragmentMaterialfSGIX = procedure(face: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8972. TglFragmentMaterialfvSGIX = procedure(face: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8973. TglFragmentMaterialiSGIX = procedure(face: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8974. TglFragmentMaterialivSGIX = procedure(face: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8975. TglGetFragmentLightfvSGIX = procedure(light: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8976. TglGetFragmentLightivSGIX = procedure(light: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8977. TglGetFragmentMaterialfvSGIX = procedure(face: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8978. TglGetFragmentMaterialivSGIX = procedure(face: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8979. TglLightEnviSGIX = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8980. // GL_SGIX_framezoom
  8981. TglFrameZoomSGIX = procedure(factor: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8982. // GL_SGIX_igloo_interface
  8983. TglIglooInterfaceSGIX = procedure(pname: GLenum; const params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8984. // GL_SGIX_instruments
  8985. TglGetInstrumentsSGIX = function(): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8986. TglInstrumentsBufferSGIX = procedure(size: GLsizei; buffer: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8987. TglPollInstrumentsSGIX = function(marker_p: PGLint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8988. TglReadInstrumentsSGIX = procedure(marker: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8989. TglStartInstrumentsSGIX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8990. TglStopInstrumentsSGIX = procedure(marker: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8991. // GL_SGIX_list_priority
  8992. TglGetListParameterfvSGIX = procedure(list: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8993. TglGetListParameterivSGIX = procedure(list: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8994. TglListParameterfSGIX = procedure(list: GLuint; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8995. TglListParameterfvSGIX = procedure(list: GLuint; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8996. TglListParameteriSGIX = procedure(list: GLuint; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8997. TglListParameterivSGIX = procedure(list: GLuint; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  8998. // GL_SGIX_pixel_texture
  8999. TglPixelTexGenSGIX = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9000. // GL_SGIX_polynomial_ffd
  9001. TglDeformationMap3dSGIX = procedure(target: GLenum; u1: GLdouble; u2: GLdouble; ustride: GLint; uorder: GLint; v1: GLdouble; v2: GLdouble; vstride: GLint; vorder: GLint; w1: GLdouble; w2: GLdouble; wstride: GLint; worder: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9002. TglDeformationMap3fSGIX = procedure(target: GLenum; u1: GLfloat; u2: GLfloat; ustride: GLint; uorder: GLint; v1: GLfloat; v2: GLfloat; vstride: GLint; vorder: GLint; w1: GLfloat; w2: GLfloat; wstride: GLint; worder: GLint; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9003. TglDeformSGIX = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9004. TglLoadIdentityDeformationMapSGIX = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9005. // GL_SGIX_reference_plane
  9006. TglReferencePlaneSGIX = procedure(const equation: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9007. // GL_SGIX_sprite
  9008. TglSpriteParameterfSGIX = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9009. TglSpriteParameterfvSGIX = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9010. TglSpriteParameteriSGIX = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9011. TglSpriteParameterivSGIX = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9012. // GL_SGIX_tag_sample_buffer
  9013. TglTagSampleBufferSGIX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9014. // GL_SGI_color_table
  9015. TglColorTableSGI = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9016. TglColorTableParameterfvSGI = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9017. TglColorTableParameterivSGI = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9018. TglCopyColorTableSGI = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9019. TglGetColorTableSGI = procedure(target: GLenum; format: GLenum; _type: GLenum; table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9020. TglGetColorTableParameterfvSGI = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9021. TglGetColorTableParameterivSGI = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9022. // GL_SUNX_constant_data
  9023. TglFinishTextureSUNX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9024. // GL_SUN_global_alpha
  9025. TglGlobalAlphaFactorbSUN = procedure(factor: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9026. TglGlobalAlphaFactorsSUN = procedure(factor: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9027. TglGlobalAlphaFactoriSUN = procedure(factor: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9028. TglGlobalAlphaFactorfSUN = procedure(factor: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9029. TglGlobalAlphaFactordSUN = procedure(factor: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9030. TglGlobalAlphaFactorubSUN = procedure(factor: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9031. TglGlobalAlphaFactorusSUN = procedure(factor: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9032. TglGlobalAlphaFactoruiSUN = procedure(factor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9033. // GL_SUN_mesh_array
  9034. TglDrawMeshArraysSUN = procedure(mode: GLenum; first: GLint; count: GLsizei; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9035. // GL_SUN_triangle_list
  9036. TglReplacementCodeuiSUN = procedure(code: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9037. TglReplacementCodeusSUN = procedure(code: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9038. TglReplacementCodeubSUN = procedure(code: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9039. TglReplacementCodeuivSUN = procedure(const code: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9040. TglReplacementCodeusvSUN = procedure(const code: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9041. TglReplacementCodeubvSUN = procedure(const code: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9042. TglReplacementCodePointerSUN = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9043. // GL_SUN_vertex
  9044. TglColor4ubVertex2fSUN = procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9045. TglColor4ubVertex2fvSUN = procedure(const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9046. TglColor4ubVertex3fSUN = procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9047. TglColor4ubVertex3fvSUN = procedure(const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9048. TglColor3fVertex3fSUN = procedure(r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9049. TglColor3fVertex3fvSUN = procedure(const c: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9050. TglNormal3fVertex3fSUN = procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9051. TglNormal3fVertex3fvSUN = procedure(const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9052. TglColor4fNormal3fVertex3fSUN = procedure(r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9053. TglColor4fNormal3fVertex3fvSUN = procedure(const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9054. TglTexCoord2fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9055. TglTexCoord2fVertex3fvSUN = procedure(const tc: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9056. TglTexCoord4fVertex4fSUN = procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9057. TglTexCoord4fVertex4fvSUN = procedure(const tc: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9058. TglTexCoord2fColor4ubVertex3fSUN = procedure(s: GLfloat; t: GLfloat; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9059. TglTexCoord2fColor4ubVertex3fvSUN = procedure(const tc: PGLfloat; const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9060. TglTexCoord2fColor3fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9061. TglTexCoord2fColor3fVertex3fvSUN = procedure(const tc: PGLfloat; const c: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9062. TglTexCoord2fNormal3fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9063. TglTexCoord2fNormal3fVertex3fvSUN = procedure(const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9064. TglTexCoord2fColor4fNormal3fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9065. TglTexCoord2fColor4fNormal3fVertex3fvSUN = procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9066. TglTexCoord4fColor4fNormal3fVertex4fSUN = procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9067. TglTexCoord4fColor4fNormal3fVertex4fvSUN = procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9068. TglReplacementCodeuiVertex3fSUN = procedure(rc: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9069. TglReplacementCodeuiVertex3fvSUN = procedure(const rc: PGLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9070. TglReplacementCodeuiColor4ubVertex3fSUN = procedure(rc: GLuint; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9071. TglReplacementCodeuiColor4ubVertex3fvSUN = procedure(const rc: PGLuint; const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9072. TglReplacementCodeuiColor3fVertex3fSUN = procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9073. TglReplacementCodeuiColor3fVertex3fvSUN = procedure(const rc: PGLuint; const c: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9074. TglReplacementCodeuiNormal3fVertex3fSUN = procedure(rc: GLuint; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9075. TglReplacementCodeuiNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9076. TglReplacementCodeuiColor4fNormal3fVertex3fSUN = procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9077. TglReplacementCodeuiColor4fNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9078. TglReplacementCodeuiTexCoord2fVertex3fSUN = procedure(rc: GLuint; s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9079. TglReplacementCodeuiTexCoord2fVertex3fvSUN = procedure(const rc: PGLuint; const tc: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9080. TglReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = procedure(rc: GLuint; s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9081. TglReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9082. TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = procedure(rc: GLuint; s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9083. TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9084. // window support functions
  9085. {$IFDEF DGL_WIN}
  9086. TwglGetProcAddress = function(ProcName: PAnsiChar): Pointer; stdcall;
  9087. TwglCopyContext = function(p1: HGLRC; p2: HGLRC; p3: Cardinal): BOOL; stdcall;
  9088. TwglCreateContext = function(DC: HDC): HGLRC; stdcall;
  9089. TwglCreateLayerContext = function(p1: HDC; p2: Integer): HGLRC; stdcall;
  9090. TwglDeleteContext = function(p1: HGLRC): BOOL; stdcall;
  9091. TwglDescribeLayerPlane = function(p1: HDC; p2, p3: Integer; p4: Cardinal; p5: PLayerPlaneDescriptor): BOOL; stdcall;
  9092. TwglGetCurrentContext = function: HGLRC; stdcall;
  9093. TwglGetCurrentDC = function: HDC; stdcall;
  9094. TwglGetLayerPaletteEntries = function(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall;
  9095. TwglMakeCurrent = function(DC: HDC; p2: HGLRC): BOOL; stdcall;
  9096. TwglRealizeLayerPalette = function(p1: HDC; p2: Integer; p3: BOOL): BOOL; stdcall;
  9097. TwglSetLayerPaletteEntries = function(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall;
  9098. TwglShareLists = function(p1, p2: HGLRC): BOOL; stdcall;
  9099. TwglSwapLayerBuffers = function(p1: HDC; p2: Cardinal): BOOL; stdcall;
  9100. TwglSwapMultipleBuffers = function(p1: UINT; const p2: PWGLSWAP): DWORD; stdcall;
  9101. TwglUseFontBitmapsA = function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall;
  9102. TwglUseFontBitmapsW = function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall;
  9103. TwglUseFontBitmaps = function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall;
  9104. TwglUseFontOutlinesA = function(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall;
  9105. TwglUseFontOutlinesW = function(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall;
  9106. TwglUseFontOutlines = function(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall;
  9107. // WGL_ARB_buffer_region
  9108. TwglCreateBufferRegionARB = function(hDC: HDC; iLayerPlane: GLint; uType: GLuint): THandle; stdcall;
  9109. TwglDeleteBufferRegionARB = procedure(hRegion: THandle); stdcall;
  9110. TwglSaveBufferRegionARB = function(hRegion: THandle; x: GLint; y: GLint; width: GLint; height: GLint): Boolean; stdcall;
  9111. TwglRestoreBufferRegionARB = function(hRegion: THandle; x: GLint; y: GLint; width: GLint; height: GLint; xSrc: GLint; ySrc: GLint): Boolean; stdcall;
  9112. // WGL_ARB_extensions_string
  9113. TwglGetExtensionsStringARB = function(hdc: HDC): PAnsiChar; stdcall;
  9114. // WGL_ARB_make_current_read
  9115. TwglMakeContextCurrentARB = function(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): Boolean; stdcall;
  9116. TwglGetCurrentReadDCARB = function(): HDC; stdcall;
  9117. // WGL_ARB_pbuffer
  9118. TwglCreatePbufferARB = function(hDC: HDC; iPixelFormat: GLint; iWidth: GLint; iHeight: GLint; const piAttribList: PGLint): HPBUFFERARB; stdcall;
  9119. TwglGetPbufferDCARB = function(hPbuffer: HPBUFFERARB): HDC; stdcall;
  9120. TwglReleasePbufferDCARB = function(hPbuffer: HPBUFFERARB; hDC: HDC): GLint; stdcall;
  9121. TwglDestroyPbufferARB = function(hPbuffer: HPBUFFERARB): Boolean; stdcall;
  9122. TwglQueryPbufferARB = function(hPbuffer: HPBUFFERARB; iAttribute: GLint; piValue: PGLint): Boolean; stdcall;
  9123. // WGL_ARB_pixel_format
  9124. TwglGetPixelFormatAttribivARB = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; const piAttributes: PGLint; piValues: PGLint): Boolean; stdcall;
  9125. TwglGetPixelFormatAttribfvARB = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; const piAttributes: PGLint; pfValues: PGLfloat): Boolean; stdcall;
  9126. TwglChoosePixelFormatARB = function(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLuint): BOOL; stdcall;
  9127. // WGL_ARB_color_buffer_float
  9128. TwglClampColorARB = procedure(target: GLenum; clamp: GLenum); stdcall;
  9129. // WGL_ARB_render_texture
  9130. TwglBindTexImageARB = function(hPbuffer: HPBUFFERARB; iBuffer: GLint): Boolean; stdcall;
  9131. TwglReleaseTexImageARB = function(hPbuffer: HPBUFFERARB; iBuffer: GLint): Boolean; stdcall;
  9132. TwglSetPbufferAttribARB = function(hPbuffer: HPBUFFERARB; const piAttribList: PGLint): Boolean; stdcall;
  9133. // WGL_ARB_create_context
  9134. TwglCreateContextAttribsARB = function(hDC: HDC; hShareContext: HGLRC; const attribList: PGLint): HGLRC; stdcall;
  9135. // WGL_AMD_gpu_association
  9136. TwglGetGPUIDsAMD = function(maxCount: Cardinal; ids: PCardinal): Cardinal; stdcall;
  9137. TwglGetGPUInfoAMD = function(id: Cardinal; property_: Integer; dataType: GLenum; size: Cardinal; data: Pointer): Integer; stdcall;
  9138. TwglGetContextGPUIDAMD = function(hglrc: HGLRC): Cardinal; stdcall;
  9139. TwglCreateAssociatedContextAMD = function(id: Cardinal): HGLRC; stdcall;
  9140. TwglCreateAssociatedContextAttribsAMD = function(id: Cardinal; hShareContext: HGLRC; const attribList: PInteger): HGLRC; stdcall;
  9141. TwglDeleteAssociatedContextAMD = function(hglrc: HGLRC): Boolean; stdcall;
  9142. TwglMakeAssociatedContextCurrentAMD = function(hglrc: HGLRC): Boolean; stdcall;
  9143. TwglGetCurrentAssociatedContextAMD = function(): HGLRC; stdcall;
  9144. TwglBlitContextFramebufferAMD = procedure(dstCtx: HGLRC; srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  9145. // WGL_EXT_display_color_table
  9146. TwglCreateDisplayColorTableEXT = function(id: GLushort): GLboolean; stdcall;
  9147. TwglLoadDisplayColorTableEXT = function(const table: PGLushort; length: GLuint): GLboolean; stdcall;
  9148. TwglBindDisplayColorTableEXT = function(id: GLushort): GLboolean; stdcall;
  9149. TwglDestroyDisplayColorTableEXT = procedure(id: GLushort); stdcall;
  9150. // WGL_EXT_extensions_string
  9151. TwglGetExtensionsStringEXT = function(): PAnsiChar; stdcall;
  9152. // WGL_EXT_make_current_read
  9153. TwglMakeContextCurrentEXT = function(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): Boolean; stdcall;
  9154. TwglGetCurrentReadDCEXT = function(): HDC; stdcall;
  9155. // WGL_EXT_pbuffer
  9156. TwglCreatePbufferEXT = function(hDC: HDC; iPixelFormat: GLint; iWidth: GLint; iHeight: GLint; const piAttribList: PGLint): HPBUFFEREXT; stdcall;
  9157. TwglGetPbufferDCEXT = function(hPbuffer: HPBUFFEREXT): HDC; stdcall;
  9158. TwglReleasePbufferDCEXT = function(hPbuffer: HPBUFFEREXT; hDC: HDC): GLint; stdcall;
  9159. TwglDestroyPbufferEXT = function(hPbuffer: HPBUFFEREXT): Boolean; stdcall;
  9160. TwglQueryPbufferEXT = function(hPbuffer: HPBUFFEREXT; iAttribute: GLint; piValue: PGLint): Boolean; stdcall;
  9161. // WGL_EXT_pixel_format
  9162. TwglGetPixelFormatAttribivEXT = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; piAttributes: PGLint; piValues: PGLint): Boolean; stdcall;
  9163. TwglGetPixelFormatAttribfvEXT = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; piAttributes: PGLint; pfValues: PGLfloat): Boolean; stdcall;
  9164. TwglChoosePixelFormatEXT = function(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLuint): Boolean; stdcall;
  9165. // WGL_EXT_swap_control
  9166. TwglSwapIntervalEXT = function(interval: GLint): Boolean; stdcall;
  9167. TwglGetSwapIntervalEXT = function(): GLint; stdcall;
  9168. // WGL_I3D_digital_video_control
  9169. TwglGetDigitalVideoParametersI3D = function(hDC: HDC; iAttribute: GLint; piValue: PGLint): Boolean; stdcall;
  9170. TwglSetDigitalVideoParametersI3D = function(hDC: HDC; iAttribute: GLint; const piValue: PGLint): Boolean; stdcall;
  9171. // WGL_I3D_gamma
  9172. TwglGetGammaTableParametersI3D = function(hDC: HDC; iAttribute: GLint; piValue: PGLint): Boolean; stdcall;
  9173. TwglSetGammaTableParametersI3D = function(hDC: HDC; iAttribute: GLint; const piValue: PGLint): Boolean; stdcall;
  9174. TwglGetGammaTableI3D = function(hDC: HDC; iEntries: GLint; puRed: PGLushort; puGreen: PGLushort; puBlue: PGLushort): Boolean; stdcall;
  9175. TwglSetGammaTableI3D = function(hDC: HDC; iEntries: GLint; const puRed: PGLushort; const puGreen: PGLushort; const puBlue: PGLushort): Boolean; stdcall;
  9176. // WGL_I3D_genlock
  9177. TwglEnableGenlockI3D = function(hDC: HDC): Boolean; stdcall;
  9178. TwglDisableGenlockI3D = function(hDC: HDC): Boolean; stdcall;
  9179. TwglIsEnabledGenlockI3D = function(hDC: HDC; pFlag: Boolean): Boolean; stdcall;
  9180. TwglGenlockSourceI3D = function(hDC: HDC; uSource: GLuint): Boolean; stdcall;
  9181. TwglGetGenlockSourceI3D = function(hDC: HDC; uSource: PGLuint): Boolean; stdcall;
  9182. TwglGenlockSourceEdgeI3D = function(hDC: HDC; uEdge: GLuint): Boolean; stdcall;
  9183. TwglGetGenlockSourceEdgeI3D = function(hDC: HDC; uEdge: PGLuint): Boolean; stdcall;
  9184. TwglGenlockSampleRateI3D = function(hDC: HDC; uRate: GLuint): Boolean; stdcall;
  9185. TwglGetGenlockSampleRateI3D = function(hDC: HDC; uRate: PGLuint): Boolean; stdcall;
  9186. TwglGenlockSourceDelayI3D = function(hDC: HDC; uDelay: GLuint): Boolean; stdcall;
  9187. TwglGetGenlockSourceDelayI3D = function(hDC: HDC; uDelay: PGLuint): Boolean; stdcall;
  9188. TwglQueryGenlockMaxSourceDelayI3D = function(hDC: HDC; uMaxLineDelay: PGLuint; uMaxPixelDelay: PGLuint): Boolean; stdcall;
  9189. // WGL_I3D_image_buffer
  9190. TwglCreateImageBufferI3D = function(hDC: HDC; dwSize: GLuint; uFlags: GLuint): GLvoid; stdcall;
  9191. TwglDestroyImageBufferI3D = function(hDC: HDC; pAddress: GLvoid): Boolean; stdcall;
  9192. TwglAssociateImageBufferEventsI3D = function(hDC: HDC; const pEvent: THandle; const pAddress: PGLvoid; const pSize: PGLuint; count: GLuint): Boolean; stdcall;
  9193. TwglReleaseImageBufferEventsI3D = function(hDC: HDC; const pAddress: PGLvoid; count: GLuint): Boolean; stdcall;
  9194. // WGL_I3D_swap_frame_lock
  9195. TwglEnableFrameLockI3D = function(): Boolean; stdcall;
  9196. TwglDisableFrameLockI3D = function(): Boolean; stdcall;
  9197. TwglIsEnabledFrameLockI3D = function(pFlag: Boolean): Boolean; stdcall;
  9198. TwglQueryFrameLockMasterI3D = function(pFlag: Boolean): Boolean; stdcall;
  9199. // WGL_I3D_swap_frame_usage
  9200. TwglGetFrameUsageI3D = function(pUsage: PGLfloat): Boolean; stdcall;
  9201. TwglBeginFrameTrackingI3D = function(): Boolean; stdcall;
  9202. TwglEndFrameTrackingI3D = function(): Boolean; stdcall;
  9203. TwglQueryFrameTrackingI3D = function(pFrameCount: PGLuint; pMissedFrames: PGLuint; pLastMissedUsage: PGLfloat): Boolean; stdcall;
  9204. // WGL_NV_vertex_array_range
  9205. TwglAllocateMemoryNV = procedure(size: GLsizei; readfreq: GLfloat; writefreq: GLfloat; priority: GLfloat); stdcall;
  9206. TwglFreeMemoryNV = procedure(_pointer: Pointer); stdcall;
  9207. // WGL_NV_present_video
  9208. TwglEnumerateVideoDevicesNV = function(hdc: HDC; phDeviceList: PHVIDEOOUTPUTDEVICENV): Integer; stdcall;
  9209. TwglBindVideoDeviceNV = function(hd: HDC; uVideoSlot: Cardinal; hVideoDevice: HVIDEOOUTPUTDEVICENV; piAttribList: PInteger): Boolean; stdcall;
  9210. TwglQueryCurrentContextNV = function(iAttribute: Integer; piValue: PInteger): Boolean; stdcall;
  9211. // WGL_NV_video_output
  9212. TwglGetVideoDeviceNV = function(hDC: HDC; numDevices: Integer; hVideoDevice: PHPVIDEODEV): Boolean; stdcall;
  9213. TwglReleaseVideoDeviceNV = function(hVideoDevice: HPVIDEODEV): Boolean; stdcall;
  9214. TwglBindVideoImageNV = function(hVideoDevice: HPVIDEODEV; hPbuffer: HPBUFFERARB; iVideoBuffer: Integer): Boolean; stdcall;
  9215. TwglReleaseVideoImageNV = function(hPbuffer: HPBUFFERARB; iVideoBuffer: Integer): Boolean; stdcall;
  9216. TwglSendPbufferToVideoNV = function(hPbuffer: HPBUFFERARB; iBufferType: Integer; pulCounterPbuffer: PCardinal; bBlock: Boolean): Boolean; stdcall;
  9217. TwglGetVideoInfoNV = function(hpVideoDevice: HPVIDEODEV; pulCounterOutputPbuffer: PCardinal; pulCounterOutputVideo: PCardinal): Boolean; stdcall;
  9218. // WGL_NV_swap_group
  9219. TwglJoinSwapGroupNV = function(hDC: HDC; group: GLuint): Boolean; stdcall;
  9220. TwglBindSwapBarrierNV = function(group: GLuint; barrier: GLuint): Boolean; stdcall;
  9221. TwglQuerySwapGroupNV = function(hDC: HDC; group: PGLuint; barrier: PGLuint): Boolean; stdcall;
  9222. TwglQueryMaxSwapGroupsNV = function(hDC: HDC; mxGroups: PGLuint; maxBarriers: PGLuint): Boolean; stdcall;
  9223. TwglQueryFrameCountNV = function(hDC: HDC; count: PGLuint): Boolean; stdcall;
  9224. TwglResetFrameCountNV = function(hDC: HDC): Boolean; stdcall;
  9225. // WGL_NV_gpu_affinity
  9226. TwglEnumGpusNV = function(iGpuIndex: Cardinal; phGpu: PHGPUNV): Boolean; stdcall;
  9227. TwglEnumGpuDevicesNV = function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPU_DEVICE): Boolean; stdcall;
  9228. TwglCreateAffinityDCNV = function(const phGpuList: PHGPUNV): HDC; stdcall;
  9229. TwglEnumGpusFromAffinityDCNV = function(hAffinityDC: HDC; iGpuIndex: Cardinal; hGpu: PHGPUNV): Boolean; stdcall;
  9230. TwglDeleteDCNV = function(hDC: HDC): Boolean; stdcall;
  9231. // WGL_NV_video_capture
  9232. TwglBindVideoCaptureDeviceNV = function(uVideoSlot: Cardinal; hDevice: HVIDEOINPUTDEVICENV): Boolean; stdcall;
  9233. TwglEnumerateVideoCaptureDevicesNV = function(hDc: HDC; phDeviceList: PHVIDEOINPUTDEVICENV): Cardinal; stdcall;
  9234. TwglLockVideoCaptureDeviceNV = function(hDc: HDC; hDevice: HVIDEOINPUTDEVICENV): Boolean; stdcall;
  9235. TwglQueryVideoCaptureDeviceNV = function(hDc: HDC; hDevice: HVIDEOINPUTDEVICENV; iAttribute: Integer; piValue: PInteger): Boolean; stdcall;
  9236. TwglReleaseVideoCaptureDeviceNV = function(hDc: HDC; hDevice: HVIDEOINPUTDEVICENV): Boolean; stdcall;
  9237. // WGL_NV_copy_image
  9238. TwglCopyImageSubDataNV = function(hSrcRc: HGLRC; srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; hDstRC: HGLRC; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; width: GLsizei; height: GLsizei; depth: GLsizei): Boolean; stdcall;
  9239. // WGL_NV_DX_interop
  9240. TwglDXSetResourceShareHandleNV = function(dxObject: PGLVoid; hareHandle: Cardinal): Boolean; stdcall;
  9241. TwglDXOpenDeviceNV = function(dxDevice: PGLVoid): Cardinal; stdcall;
  9242. TwglDXCloseDeviceNV = function(hDevice: Cardinal): Boolean; stdcall;
  9243. TwglDXRegisterObjectNV = function(hDevice: Cardinal; dxObject: PGLVoid; name: GLUInt; _type: TGLEnum; access: TGLenum): Cardinal; stdcall;
  9244. TwglDXUnregisterObjectNV = function(hDevice: Cardinal; hObject: Cardinal): Boolean; stdcall;
  9245. TwglDXObjectAccessNV = function(hObject: Cardinal; access: GLenum): Boolean; stdcall;
  9246. TwglDXLockObjectsNV = function(hDevice: Cardinal; count: GLint; hObjects: PCardinal): Boolean; stdcall;
  9247. TwglDXUnlockObjectsNV = function (hDevice: Cardinal; count: GLint; hObjects: PCardinal): Boolean; stdcall;
  9248. // WGL_OML_sync_control
  9249. TwglGetSyncValuesOML = function(hdc: HDC; ust: PGLint64; msc: PGLint64; sbc: PGLint64): Boolean; stdcall;
  9250. TwglGetMscRateOML = function(hdc: HDC; numerator: PGLint; denominator: PGLint): Boolean; stdcall;
  9251. TwglSwapBuffersMscOML = function(hdc: HDC; target_msc: GLint64; divisor: GLint64; remainder: GLint64): GLint64; stdcall;
  9252. TwglSwapLayerBuffersMscOML = function(hdc: HDC; fuPlanes: GLint; target_msc: GLint64; divisor: GLint64; remainder: GLint64): GLint64; stdcall;
  9253. TwglWaitForMscOML = function(hdc: HDC; target_msc: GLint64; divisor: GLint64; remainder: GLint64; ust: PGLint64; msc: PGLint64; sbc: PGLint64): Boolean; stdcall;
  9254. TwglWaitForSbcOML = function(hdc: HDC; target_sbc: GLint64; ust: PGLint64; msc: PGLint64; sbc: PGLint64): Boolean; stdcall;
  9255. // WGL_3DL_stereo_control
  9256. TwglSetStereoEmitterState3DL = function(hDC: HDC; uState: UINT): Boolean; stdcall;
  9257. // WIN_draw_range_elements
  9258. TglDrawRangeElementsWIN = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: PGLvoid); stdcall;
  9259. // WIN_swap_hint
  9260. TglAddSwapHintRectWIN = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  9261. {$ENDIF}
  9262. {$IFDEF DGL_LINUX}
  9263. TglXChooseVisual = function(dpy: PDisplay; screen: GLint; attribList: PGLint): PXVisualInfo; cdecl;
  9264. TglXCopyContext = procedure(dpy: PDisplay; src: GLXContext; dst: GLXContext; mask: GLuint); cdecl;
  9265. TglXCreateContext = function(dpy: PDisplay; vis: PXVisualInfo; shareList: GLXContext; direct: GLboolean): GLXContext; cdecl;
  9266. TglXCreateGLXPixmap = function(dpy: PDisplay; vis: PXVisualInfo; pixmap: Pixmap): GLXPixmap cdecl;
  9267. TglXDestroyContext = procedure(dpy: PDisplay; ctx: GLXContext); cdecl;
  9268. TglXDestroyGLXPixmap = procedure(dpy: PDisplay; pix: GLXPixmap); cdecl;
  9269. TglXGetConfig = function(dpy: PDisplay; vis: PXVisualInfo; attrib: GLint; value: PGLint): GLint; cdecl;
  9270. TglXGetCurrentContext = function: GLXContext cdecl;
  9271. TglXGetCurrentDrawable = function: GLXDrawable cdecl;
  9272. TglXIsDirect = function(dpy: PDisplay; ctx: GLXContext): glboolean; cdecl;
  9273. TglXMakeCurrent = function(dpy: PDisplay; drawable: GLXDrawable; ctx: GLXContext): GLboolean cdecl;
  9274. TglXQueryExtension = function(dpy: PDisplay; errorBase: PGLint; eventBase: PGLint): GLboolean; cdecl;
  9275. TglXQueryVersion = function(dpy: PDisplay; major: PGLint; minor: PGLint): GLboolean cdecl;
  9276. TglXSwapBuffers = procedure(dpy: PDisplay; drawable: GLXDrawable); cdecl;
  9277. TglXUseXFont = procedure(font: Font; first: GLint; count: GLint; listBase: GLint); cdecl;
  9278. TglXWaitGL = procedure; cdecl;
  9279. TglXWaitX = procedure; cdecl;
  9280. TglXGetClientString = function(dpy: PDisplay; name: GLint): PGLchar; cdecl;
  9281. TglXQueryServerString = function(dpy: PDisplay; screen: GLint; name: GLint): PGLchar; cdecl;
  9282. TglXQueryExtensionsString = function(dpy: PDisplay; screen: GLint): PGLchar; cdecl;
  9283. // GLX_VERSION_1_3
  9284. TglXGetFBConfigs = function(dpy: PDisplay; screen: GLint; nelements: PGLint): GLXFBConfig; cdecl;
  9285. TglXChooseFBConfig = function(dpy: PDisplay; screen: GLint; attrib_list: PGLint; nelements: PGLint): GLXFBConfig; cdecl;
  9286. TglXGetFBConfigAttrib = function(dpy: PDisplay; config: GLXFBConfig; attribute: GLint; value: PGLint): glint; cdecl;
  9287. TglXGetVisualFromFBConfig = function(dpy: PDisplay; config: GLXFBConfig): PXVisualInfo; cdecl;
  9288. TglXCreateWindow = function(dpy: PDisplay; config: GLXFBConfig; win: Window; attrib_list: PGLint): GLXWindow; cdecl;
  9289. TglXDestroyWindow = procedure(dpy: PDisplay; win: GLXWindow); cdecl;
  9290. TglXCreatePixmap = function(dpy: PDisplay; config: GLXFBConfig; pixmap: Pixmap; attrib_list: PGLint): GLXPixmap; cdecl;
  9291. TglXDestroyPixmap = procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl;
  9292. TglXCreatePbuffer = function(dpy: PDisplay; config: GLXFBConfig; attrib_list: PGLint): GLXPbuffer; cdecl;
  9293. TglXDestroyPbuffer = procedure(dpy: PDisplay; pbuf: GLXPbuffer); cdecl;
  9294. TglXQueryDrawable = procedure(dpy: PDisplay; draw: GLXDrawable; attribute: GLint; value: PGLuint); cdecl;
  9295. TglXCreateNewContext = function(dpy: PDisplay; config: GLXFBConfig; render_type: GLint; share_list: GLXContext; direct: GLboolean): GLXContext cdecl;
  9296. TglXMakeContextCurrent = function(display: PDisplay; draw: GLXDrawable; read_: GLXDrawable; ctx: GLXContext): GLboolean; cdecl;
  9297. TglXGetCurrentReadDrawable = function: GLXDrawable; cdecl;
  9298. TglXGetCurreentDisplay = function: PDisplay;
  9299. TglXQueryContext = function(dpy: PDisplay; ctx: GLXContext; attribute: GLint; value: PGLint): GLint; cdecl;
  9300. TglXSelectEvent = procedure(dpy: PDisplay; draw: GLXDrawable; event_mask: GLuint); cdecl;
  9301. TglXGetSelectedEvent = procedure(dpy: PDisplay; draw: GLXDrawable; event_mask: PGLuint); cdecl;
  9302. // GLX_VERSION_1_4
  9303. TglXGetProcAddress = function(const name: PAnsiChar): pointer; cdecl;
  9304. // GLX_ARB_get_proc_address
  9305. TglXGetProcAddressARB = function(const name: PAnsiChar): pointer; cdecl;
  9306. // GLX_ARB_create_context
  9307. TglXCreateContextAttribsARB = function(dpy: PDisplay; config: GLXFBConfig; share_context: GLXContext; direct: GLboolean; const attrib_list: PGLint): GLXContext; cdecl;
  9308. // GLX_EXT_import_context
  9309. TglXGetCurrentDisplayEXT = function: PDisplay; cdecl;
  9310. TglXQueryContextInfoEXT = function(dpy: PDisplay; context: GLXContext; attribute: GLint; value: PGLint): GLint; cdecl;
  9311. TglXGetContextIDEXT = function(const context: GLXContext): GLXContextID; cdecl;
  9312. TglXImportContextEXT = function(dpy: PDisplay; contextID: GLXContextID): GLXContext; cdecl;
  9313. TglXFreeContextEXT = procedure(dpy: PDisplay; context: GLXContext); cdecl;
  9314. // GLX_EXT_texture_from_pixmap
  9315. TglXBindTexImageEXT = procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint; const attrib_list: PGLint); cdecl;
  9316. TglXReleaseTexImageEXT = procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint); cdecl;
  9317. TglXSwapIntervalEXT = procedure (dpy: PDisplay; drawable: GLXDrawable; interval: GLint); cdecl;
  9318. {$ENDIF}
  9319. // GL utility functions and procedures
  9320. TgluErrorString = function(errCode: GLEnum): PAnsiChar; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9321. TgluGetString = function(name: GLEnum): PAnsiChar; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9322. TgluOrtho2D = procedure(left, right, bottom, top: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9323. TgluPerspective = procedure(fovy, aspect, zNear, zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9324. TgluPickMatrix = procedure(x, y, width, height: GLdouble; const viewport: TVector4i); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9325. TgluLookAt = procedure(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9326. TgluProject = function(objx, objy, objz: GLdouble; const modelMatrix: TGLMatrixd4; const projMatrix: TGLMatrixd4; const viewport: TVector4i; winx, winy, winz: PGLdouble): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9327. TgluUnProject = function(winx, winy, winz: GLdouble; const modelMatrix: TGLMatrixd4; const projMatrix: TGLMatrixd4; const viewport: TVector4i; objx, objy, objz: PGLdouble): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9328. TgluScaleImage = function(format: GLEnum; widthin, heightin: GLint; typein: GLEnum; datain: Pointer; widthout, heightout: GLint; typeout: GLEnum; const dataout: Pointer): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9329. TgluBuild1DMipmaps = function(target: GLEnum; components, width: GLint; format, atype: GLEnum; const data: Pointer): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9330. TgluBuild2DMipmaps = function(target: GLEnum; components, width, height: GLint; format, atype: GLEnum; const Data: Pointer): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9331. TgluNewQuadric = function: PGLUquadric; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9332. TgluDeleteQuadric = procedure(state: PGLUquadric); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9333. TgluQuadricNormals = procedure(quadObject: PGLUquadric; normals: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9334. TgluQuadricTexture = procedure(quadObject: PGLUquadric; textureCoords: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9335. TgluQuadricOrientation = procedure(quadObject: PGLUquadric; orientation: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9336. TgluQuadricDrawStyle = procedure(quadObject: PGLUquadric; drawStyle: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9337. TgluCylinder = procedure(quadObject: PGLUquadric; baseRadius, topRadius, height: GLdouble; slices, stacks: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9338. TgluDisk = procedure(quadObject: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9339. TgluPartialDisk = procedure(quadObject: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint; startAngle, sweepAngle: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9340. TgluSphere = procedure(quadObject: PGLUquadric; radius: GLdouble; slices, stacks: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9341. TgluQuadricCallback = procedure(quadObject: PGLUquadric; which: GLEnum; fn: TGLUQuadricErrorProc); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9342. TgluNewTess = function: PGLUtesselator; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9343. TgluDeleteTess = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9344. TgluTessBeginPolygon = procedure(tess: PGLUtesselator; polygon_data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9345. TgluTessBeginContour = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9346. TgluTessVertex = procedure(tess: PGLUtesselator; const coords: TGLArrayd3; data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9347. TgluTessEndContour = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9348. TgluTessEndPolygon = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9349. TgluTessProperty = procedure(tess: PGLUtesselator; which: GLEnum; value: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9350. TgluTessNormal = procedure(tess: PGLUtesselator; x, y, z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9351. TgluTessCallback = procedure(tess: PGLUtesselator; which: GLEnum; fn: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9352. TgluGetTessProperty = procedure(tess: PGLUtesselator; which: GLEnum; value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9353. TgluNewNurbsRenderer = function: PGLUnurbs; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9354. TgluDeleteNurbsRenderer = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9355. TgluBeginSurface = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9356. TgluBeginCurve = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9357. TgluEndCurve = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9358. TgluEndSurface = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9359. TgluBeginTrim = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9360. TgluEndTrim = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9361. TgluPwlCurve = procedure(nobj: PGLUnurbs; count: GLint; points: PGLfloat; stride: GLint; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9362. TgluNurbsCurve = procedure(nobj: PGLUnurbs; nknots: GLint; knot: PGLfloat; stride: GLint; ctlarray: PGLfloat; order: GLint; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9363. TgluNurbsSurface = procedure(nobj: PGLUnurbs; sknot_count: GLint; sknot: PGLfloat; tknot_count: GLint; tknot: PGLfloat; s_stride, t_stride: GLint; ctlarray: PGLfloat; sorder, torder: GLint; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9364. TgluLoadSamplingMatrices = procedure(nobj: PGLUnurbs; const modelMatrix, projMatrix: TGLMatrixf4; const viewport: TVector4i); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9365. TgluNurbsProperty = procedure(nobj: PGLUnurbs; aproperty: GLEnum; value: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9366. TgluGetNurbsProperty = procedure(nobj: PGLUnurbs; aproperty: GLEnum; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9367. TgluNurbsCallback = procedure(nobj: PGLUnurbs; which: GLEnum; fn: TGLUNurbsErrorProc); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9368. TgluBeginPolygon = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9369. TgluNextContour = procedure(tess: PGLUtesselator; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9370. TgluEndPolygon = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  9371. var
  9372. // GL_VERSION_1_0
  9373. glCullFace: TglCullFace;
  9374. glFrontFace: TglFrontFace;
  9375. glHint: TglHint;
  9376. glLineWidth: TglLineWidth;
  9377. glPointSize: TglPointSize;
  9378. glPolygonMode: TglPolygonMode;
  9379. glScissor: TglScissor;
  9380. glTexParameterf: TglTexParameterf;
  9381. glTexParameterfv: TglTexParameterfv;
  9382. glTexParameteri: TglTexParameteri;
  9383. glTexParameteriv: TglTexParameteriv;
  9384. glTexImage1D: TglTexImage1D;
  9385. glTexImage2D: TglTexImage2D;
  9386. glDrawBuffer: TglDrawBuffer;
  9387. glClear: TglClear;
  9388. glClearColor: TglClearColor;
  9389. glClearStencil: TglClearStencil;
  9390. glClearDepth: TglClearDepth;
  9391. glStencilMask: TglStencilMask;
  9392. glColorMask: TglColorMask;
  9393. glDepthMask: TglDepthMask;
  9394. glDisable: TglDisable;
  9395. glEnable: TglEnable;
  9396. glFinish: TglFinish;
  9397. glFlush: TglFlush;
  9398. glBlendFunc: TglBlendFunc;
  9399. glLogicOp: TglLogicOp;
  9400. glStencilFunc: TglStencilFunc;
  9401. glStencilOp: TglStencilOp;
  9402. glDepthFunc: TglDepthFunc;
  9403. glPixelStoref: TglPixelStoref;
  9404. glPixelStorei: TglPixelStorei;
  9405. glReadBuffer: TglReadBuffer;
  9406. glReadPixels: TglReadPixels;
  9407. glGetBooleanv: TglGetBooleanv;
  9408. glGetDoublev: TglGetDoublev;
  9409. glGetError: TglGetError;
  9410. glGetFloatv: TglGetFloatv;
  9411. glGetIntegerv: TglGetIntegerv;
  9412. glGetString: TglGetString;
  9413. glGetTexImage: TglGetTexImage;
  9414. glGetTexParameteriv: TglGetTexParameteriv;
  9415. glGetTexParameterfv: TglGetTexParameterfv;
  9416. glGetTexLevelParameterfv: TglGetTexLevelParameterfv;
  9417. glGetTexLevelParameteriv: TglGetTexLevelParameteriv;
  9418. glIsEnabled: TglIsEnabled;
  9419. glDepthRange: TglDepthRange;
  9420. glViewport: TglViewport;
  9421. // GL_VERSION_1_1
  9422. glDrawArrays: TglDrawArrays;
  9423. glDrawElements: TglDrawElements;
  9424. glGetPointerv: TglGetPointerv;
  9425. glPolygonOffset: TglPolygonOffset;
  9426. glCopyTexImage1D: TglCopyTexImage1D;
  9427. glCopyTexImage2D: TglCopyTexImage2D;
  9428. glCopyTexSubImage1D: TglCopyTexSubImage1D;
  9429. glCopyTexSubImage2D: TglCopyTexSubImage2D;
  9430. glTexSubImage1D: TglTexSubImage1D;
  9431. glTexSubImage2D: TglTexSubImage2D;
  9432. glBindTexture: TglBindTexture;
  9433. glDeleteTextures: TglDeleteTextures;
  9434. glGenTextures: TglGenTextures;
  9435. // GL_VERSION_1_2
  9436. glBlendColor: TglBlendColor;
  9437. glBlendEquation: TglBlendEquation;
  9438. glDrawRangeElements: TglDrawRangeElements;
  9439. glTexImage3D: TglTexImage3D;
  9440. glTexSubImage3D: TglTexSubImage3D;
  9441. glCopyTexSubImage3D: TglCopyTexSubImage3D;
  9442. // GL_VERSION_1_3
  9443. glActiveTexture: TglActiveTexture;
  9444. glSampleCoverage: TglSampleCoverage;
  9445. glCompressedTexImage3D: TglCompressedTexImage3D;
  9446. glCompressedTexImage2D: TglCompressedTexImage2D;
  9447. glCompressedTexImage1D: TglCompressedTexImage1D;
  9448. glCompressedTexSubImage3D: TglCompressedTexSubImage3D;
  9449. glCompressedTexSubImage2D: TglCompressedTexSubImage2D;
  9450. glCompressedTexSubImage1D: TglCompressedTexSubImage1D;
  9451. glGetCompressedTexImage: TglGetCompressedTexImage;
  9452. // GL_VERSION_1_4
  9453. glBlendFuncSeparate: TglBlendFuncSeparate;
  9454. glMultiDrawArrays: TglMultiDrawArrays;
  9455. glMultiDrawElements: TglMultiDrawElements;
  9456. glPointParameterf: TglPointParameterf;
  9457. glPointParameterfv: TglPointParameterfv;
  9458. glPointParameteri: TglPointParameteri;
  9459. glPointParameteriv: TglPointParameteriv;
  9460. // GL_VERSION_1_5
  9461. glGenQueries: TglGenQueries;
  9462. glDeleteQueries: TglDeleteQueries;
  9463. glIsQuery: TglIsQuery;
  9464. glBeginQuery: TglBeginQuery;
  9465. glEndQuery: TglEndQuery;
  9466. glGetQueryiv: TglGetQueryiv;
  9467. glGetQueryObjectiv: TglGetQueryObjectiv;
  9468. glGetQueryObjectuiv: TglGetQueryObjectuiv;
  9469. glBindBuffer: TglBindBuffer;
  9470. glDeleteBuffers: TglDeleteBuffers;
  9471. glGenBuffers: TglGenBuffers;
  9472. glIsBuffer: TglIsBuffer;
  9473. glBufferData: TglBufferData;
  9474. glBufferSubData: TglBufferSubData;
  9475. glGetBufferSubData: TglGetBufferSubData;
  9476. glMapBuffer: TglMapBuffer;
  9477. glUnmapBuffer: TglUnmapBuffer;
  9478. glGetBufferParameteriv: TglGetBufferParameteriv;
  9479. glGetBufferPointerv: TglGetBufferPointerv;
  9480. // GL_VERSION_2_0
  9481. glBlendEquationSeparate: TglBlendEquationSeparate;
  9482. glDrawBuffers: TglDrawBuffers;
  9483. glStencilOpSeparate: TglStencilOpSeparate;
  9484. glStencilFuncSeparate: TglStencilFuncSeparate;
  9485. glStencilMaskSeparate: TglStencilMaskSeparate;
  9486. glAttachShader: TglAttachShader;
  9487. glBindAttribLocation: TglBindAttribLocation;
  9488. glCompileShader: TglCompileShader;
  9489. glCreateProgram: TglCreateProgram;
  9490. glCreateShader: TglCreateShader;
  9491. glDeleteProgram: TglDeleteProgram;
  9492. glDeleteShader: TglDeleteShader;
  9493. glDetachShader: TglDetachShader;
  9494. glDisableVertexAttribArray: TglDisableVertexAttribArray;
  9495. glEnableVertexAttribArray: TglEnableVertexAttribArray;
  9496. glGetActiveAttrib: TglGetActiveAttrib;
  9497. glGetActiveUniform: TglGetActiveUniform;
  9498. glGetAttachedShaders: TglGetAttachedShaders;
  9499. glGetAttribLocation: TglGetAttribLocation;
  9500. glGetProgramiv: TglGetProgramiv;
  9501. glGetProgramInfoLog: TglGetProgramInfoLog;
  9502. glGetShaderiv: TglGetShaderiv;
  9503. glGetShaderInfoLog: TglGetShaderInfoLog;
  9504. glGetShaderSource: TglGetShaderSource;
  9505. glGetUniformLocation: TglGetUniformLocation;
  9506. glGetUniformfv: TglGetUniformfv;
  9507. glGetUniformiv: TglGetUniformiv;
  9508. glGetVertexAttribfv: TglGetVertexAttribfv;
  9509. glGetVertexAttribiv: TglGetVertexAttribiv;
  9510. glGetVertexAttribPointerv: TglGetVertexAttribPointerv;
  9511. glIsProgram: TglIsProgram;
  9512. glIsShader: TglIsShader;
  9513. glLinkProgram: TglLinkProgram;
  9514. glShaderSource: TglShaderSource;
  9515. glUseProgram: TglUseProgram;
  9516. glUniform1f: TglUniform1f;
  9517. glUniform2f: TglUniform2f;
  9518. glUniform3f: TglUniform3f;
  9519. glUniform4f: TglUniform4f;
  9520. glUniform1i: TglUniform1i;
  9521. glUniform2i: TglUniform2i;
  9522. glUniform3i: TglUniform3i;
  9523. glUniform4i: TglUniform4i;
  9524. glUniform1fv: TglUniform1fv;
  9525. glUniform2fv: TglUniform2fv;
  9526. glUniform3fv: TglUniform3fv;
  9527. glUniform4fv: TglUniform4fv;
  9528. glUniform1iv: TglUniform1iv;
  9529. glUniform2iv: TglUniform2iv;
  9530. glUniform3iv: TglUniform3iv;
  9531. glUniform4iv: TglUniform4iv;
  9532. glUniformMatrix2fv: TglUniformMatrix2fv;
  9533. glUniformMatrix3fv: TglUniformMatrix3fv;
  9534. glUniformMatrix4fv: TglUniformMatrix4fv;
  9535. glValidateProgram: TglValidateProgram;
  9536. glVertexAttrib1d: TglVertexAttrib1d;
  9537. glVertexAttrib1dv: TglVertexAttrib1dv;
  9538. glVertexAttrib1f: TglVertexAttrib1f;
  9539. glVertexAttrib1fv: TglVertexAttrib1fv;
  9540. glVertexAttrib1s: TglVertexAttrib1s;
  9541. glVertexAttrib1sv: TglVertexAttrib1sv;
  9542. glVertexAttrib2d: TglVertexAttrib2d;
  9543. glVertexAttrib2dv: TglVertexAttrib2dv;
  9544. glVertexAttrib2f: TglVertexAttrib2f;
  9545. glVertexAttrib2fv: TglVertexAttrib2fv;
  9546. glVertexAttrib2s: TglVertexAttrib2s;
  9547. glVertexAttrib2sv: TglVertexAttrib2sv;
  9548. glVertexAttrib3d: TglVertexAttrib3d;
  9549. glVertexAttrib3dv: TglVertexAttrib3dv;
  9550. glVertexAttrib3f: TglVertexAttrib3f;
  9551. glVertexAttrib3fv: TglVertexAttrib3fv;
  9552. glVertexAttrib3s: TglVertexAttrib3s;
  9553. glVertexAttrib3sv: TglVertexAttrib3sv;
  9554. glVertexAttrib4Nbv: TglVertexAttrib4Nbv;
  9555. glVertexAttrib4Niv: TglVertexAttrib4Niv;
  9556. glVertexAttrib4Nsv: TglVertexAttrib4Nsv;
  9557. glVertexAttrib4Nub: TglVertexAttrib4Nub;
  9558. glVertexAttrib4Nubv: TglVertexAttrib4Nubv;
  9559. glVertexAttrib4Nuiv: TglVertexAttrib4Nuiv;
  9560. glVertexAttrib4Nusv: TglVertexAttrib4Nusv;
  9561. glVertexAttrib4bv: TglVertexAttrib4bv;
  9562. glVertexAttrib4d: TglVertexAttrib4d;
  9563. glVertexAttrib4dv: TglVertexAttrib4dv;
  9564. glVertexAttrib4f: TglVertexAttrib4f;
  9565. glVertexAttrib4fv: TglVertexAttrib4fv;
  9566. glVertexAttrib4iv: TglVertexAttrib4iv;
  9567. glVertexAttrib4s: TglVertexAttrib4s;
  9568. glVertexAttrib4sv: TglVertexAttrib4sv;
  9569. glVertexAttrib4ubv: TglVertexAttrib4ubv;
  9570. glVertexAttrib4uiv: TglVertexAttrib4uiv;
  9571. glVertexAttrib4usv: TglVertexAttrib4usv;
  9572. glVertexAttribPointer: TglVertexAttribPointer;
  9573. // GL_VERSION_2_1
  9574. glUniformMatrix2x3fv: TglUniformMatrix2x3fv;
  9575. glUniformMatrix3x2fv: TglUniformMatrix3x2fv;
  9576. glUniformMatrix2x4fv: TglUniformMatrix2x4fv;
  9577. glUniformMatrix4x2fv: TglUniformMatrix4x2fv;
  9578. glUniformMatrix3x4fv: TglUniformMatrix3x4fv;
  9579. glUniformMatrix4x3fv: TglUniformMatrix4x3fv;
  9580. // GL_VERSION_3_0
  9581. glColorMaski: TglColorMaski;
  9582. glGetBooleani_v: TglGetBooleani_v;
  9583. glGetIntegeri_v: TglGetIntegeri_v;
  9584. glEnablei: TglEnablei;
  9585. glDisablei: TglDisablei;
  9586. glIsEnabledi: TglIsEnabledi;
  9587. glBeginTransformFeedback: TglBeginTransformFeedback;
  9588. glEndTransformFeedback: TglEndTransformFeedback;
  9589. glBindBufferRange: TglBindBufferRange;
  9590. glBindBufferBase: TglBindBufferBase;
  9591. glTransformFeedbackVaryings: TglTransformFeedbackVaryings;
  9592. glGetTransformFeedbackVarying: TglGetTransformFeedbackVarying;
  9593. glClampColor: TglClampColor;
  9594. glBeginConditionalRender: TglBeginConditionalRender;
  9595. glEndConditionalRender: TglEndConditionalRender;
  9596. glVertexAttribI1i: TglVertexAttribI1i;
  9597. glVertexAttribI2i: TglVertexAttribI2i;
  9598. glVertexAttribI3i: TglVertexAttribI3i;
  9599. glVertexAttribI4i: TglVertexAttribI4i;
  9600. glVertexAttribI1ui: TglVertexAttribI1ui;
  9601. glVertexAttribI2ui: TglVertexAttribI2ui;
  9602. glVertexAttribI3ui: TglVertexAttribI3ui;
  9603. glVertexAttribI4ui: TglVertexAttribI4ui;
  9604. glVertexAttribI1iv: TglVertexAttribI1iv;
  9605. glVertexAttribI2iv: TglVertexAttribI2iv;
  9606. glVertexAttribI3iv: TglVertexAttribI3iv;
  9607. glVertexAttribI4iv: TglVertexAttribI4iv;
  9608. glVertexAttribI1uiv: TglVertexAttribI1uiv;
  9609. glVertexAttribI2uiv: TglVertexAttribI2uiv;
  9610. glVertexAttribI3uiv: TglVertexAttribI3uiv;
  9611. glVertexAttribI4uiv: TglVertexAttribI4uiv;
  9612. glVertexAttribI4bv: TglVertexAttribI4bv;
  9613. glVertexAttribI4sv: TglVertexAttribI4sv;
  9614. glVertexAttribI4ubv: TglVertexAttribI4ubv;
  9615. glVertexAttribI4usv: TglVertexAttribI4usv;
  9616. glVertexAttribIPointer: TglVertexAttribIPointer;
  9617. glGetVertexAttribIiv: TglGetVertexAttribIiv;
  9618. glGetVertexAttribIuiv: TglGetVertexAttribIuiv;
  9619. glGetUniformuiv: TglGetUniformuiv;
  9620. glBindFragDataLocation: TglBindFragDataLocation;
  9621. glGetFragDataLocation: TglGetFragDataLocation;
  9622. glUniform1ui: TglUniform1ui;
  9623. glUniform2ui: TglUniform2ui;
  9624. glUniform3ui: TglUniform3ui;
  9625. glUniform4ui: TglUniform4ui;
  9626. glUniform1uiv: TglUniform1uiv;
  9627. glUniform2uiv: TglUniform2uiv;
  9628. glUniform3uiv: TglUniform3uiv;
  9629. glUniform4uiv: TglUniform4uiv;
  9630. glTexParameterIiv: TglTexParameterIiv;
  9631. glTexParameterIuiv: TglTexParameterIuiv;
  9632. glGetTexParameterIiv: TglGetTexParameterIiv;
  9633. glGetTexParameterIuiv: TglGetTexParameterIuiv;
  9634. glClearBufferiv: TglClearBufferiv;
  9635. glClearBufferuiv: TglClearBufferuiv;
  9636. glClearBufferfv: TglClearBufferfv;
  9637. glClearBufferfi: TglClearBufferfi;
  9638. glGetStringi: TglGetStringi;
  9639. // GL_VERSION_2_1
  9640. glEnableVertexArrayEXT: TglEnableVertexArrayEXT;
  9641. glEnableVertexArrayAttribEXT: TglEnableVertexArrayAttribEXT;
  9642. glVertexArrayVertexAttribOffsetEXT: TglVertexArrayVertexAttribOffsetEXT;
  9643. // GL_VERSION_3_1
  9644. glDrawArraysInstanced: TglDrawArraysInstanced;
  9645. glDrawElementsInstanced: TglDrawElementsInstanced;
  9646. glTexBuffer: TglTexBuffer;
  9647. glPrimitiveRestartIndex: TglPrimitiveRestartIndex;
  9648. // GL_VERSION_3_2
  9649. glGetInteger64i_v: TglGetInteger64i_v;
  9650. glGetBufferParameteri64v: TglGetBufferParameteri64v;
  9651. glFramebufferTexture: TglFramebufferTexture;
  9652. // GL_VERSION_3_3
  9653. glVertexAttribDivisor: TglVertexAttribDivisor;
  9654. // GL_VERSION_4_0
  9655. { OpenGL 4.0 also reuses entry points from these extensions: }
  9656. { ARB_texture_query_lod (no entry points) }
  9657. { ARB_draw_indirect }
  9658. { ARB_gpu_shader5 (no entry points) }
  9659. { ARB_gpu_shader_fp64 }
  9660. { ARB_shader_subroutine }
  9661. { ARB_tessellation_shader }
  9662. { ARB_texture_buffer_object_rgb32 (no entry points) }
  9663. { ARB_texture_cube_map_array (no entry points) }
  9664. { ARB_texture_gather (no entry points) }
  9665. { ARB_transform_feedback2 }
  9666. { ARB_transform_feedback3 }
  9667. glMinSampleShading: TglMinSampleShading;
  9668. glBlendEquationi: TglBlendEquationi;
  9669. glBlendEquationSeparatei: TglBlendEquationSeparatei;
  9670. glBlendFunci: TglBlendFunci;
  9671. glBlendFuncSeparatei: TglBlendFuncSeparatei;
  9672. // GL_3DFX_tbuffer
  9673. glTbufferMask3DFX: TglTbufferMask3DFX;
  9674. // GL_APPLE_element_array
  9675. glElementPointerAPPLE: TglElementPointerAPPLE;
  9676. glDrawElementArrayAPPLE: TglDrawElementArrayAPPLE;
  9677. glDrawRangeElementArrayAPPLE: TglDrawRangeElementArrayAPPLE;
  9678. glMultiDrawElementArrayAPPLE: TglMultiDrawElementArrayAPPLE;
  9679. glMultiDrawRangeElementArrayAPPLE: TglMultiDrawRangeElementArrayAPPLE;
  9680. // GL_APPLE_fence
  9681. glGenFencesAPPLE: TglGenFencesAPPLE;
  9682. glDeleteFencesAPPLE: TglDeleteFencesAPPLE;
  9683. glSetFenceAPPLE: TglSetFenceAPPLE;
  9684. glIsFenceAPPLE: TglIsFenceAPPLE;
  9685. glTestFenceAPPLE: TglTestFenceAPPLE;
  9686. glFinishFenceAPPLE: TglFinishFenceAPPLE;
  9687. glTestObjectAPPLE: TglTestObjectAPPLE;
  9688. glFinishObjectAPPLE: TglFinishObjectAPPLE;
  9689. // GL_APPLE_vertex_array_object
  9690. glBindVertexArrayAPPLE: TglBindVertexArrayAPPLE;
  9691. glDeleteVertexArraysAPPLE: TglDeleteVertexArraysAPPLE;
  9692. glGenVertexArraysAPPLE: TglGenVertexArraysAPPLE;
  9693. glIsVertexArrayAPPLE: TglIsVertexArrayAPPLE;
  9694. // GL_APPLE_vertex_array_range
  9695. glVertexArrayRangeAPPLE: TglVertexArrayRangeAPPLE;
  9696. glFlushVertexArrayRangeAPPLE: TglFlushVertexArrayRangeAPPLE;
  9697. glVertexArrayParameteriAPPLE: TglVertexArrayParameteriAPPLE;
  9698. // GL_APPLE_texture_range
  9699. glTextureRangeAPPLE: TglTextureRangeAPPLE;
  9700. glGetTexParameterPointervAPPLE: TglGetTexParameterPointervAPPLE;
  9701. // GL_APPLE_vertex_program_evaluators
  9702. glEnableVertexAttribAPPLE: TglEnableVertexAttribAPPLE;
  9703. glDisableVertexAttribAPPLE: TglDisableVertexAttribAPPLE;
  9704. glIsVertexAttribEnabledAPPLE: TglIsVertexAttribEnabledAPPLE;
  9705. glMapVertexAttrib1dAPPLE: TglMapVertexAttrib1dAPPLE;
  9706. glMapVertexAttrib1fAPPLE: TglMapVertexAttrib1fAPPLE;
  9707. glMapVertexAttrib2dAPPLE: TglMapVertexAttrib2dAPPLE;
  9708. glMapVertexAttrib2fAPPLE: TglMapVertexAttrib2fAPPLE;
  9709. // GL_APPLE_object_purgeable
  9710. glObjectPurgeableAPPLE: TglObjectPurgeableAPPLE;
  9711. glObjectUnpurgeableAPPLE: TglObjectUnpurgeableAPPLE;
  9712. glGetObjectParameterivAPPLE: TglGetObjectParameterivAPPLE;
  9713. // GL_ARB_matrix_palette
  9714. glCurrentPaletteMatrixARB: TglCurrentPaletteMatrixARB;
  9715. glMatrixIndexubvARB: TglMatrixIndexubvARB;
  9716. glMatrixIndexusvARB: TglMatrixIndexusvARB;
  9717. glMatrixIndexuivARB: TglMatrixIndexuivARB;
  9718. glMatrixIndexPointerARB: TglMatrixIndexPointerARB;
  9719. // GL_ARB_multisample
  9720. glSampleCoverageARB: TglSampleCoverageARB;
  9721. // GL_ARB_multitexture
  9722. glActiveTextureARB: TglActiveTextureARB;
  9723. glClientActiveTextureARB: TglClientActiveTextureARB;
  9724. glMultiTexCoord1dARB: TglMultiTexCoord1dARB;
  9725. glMultiTexCoord1dvARB: TglMultiTexCoord1dvARB;
  9726. glMultiTexCoord1fARB: TglMultiTexCoord1fARB;
  9727. glMultiTexCoord1fvARB: TglMultiTexCoord1fvARB;
  9728. glMultiTexCoord1iARB: TglMultiTexCoord1iARB;
  9729. glMultiTexCoord1ivARB: TglMultiTexCoord1ivARB;
  9730. glMultiTexCoord1sARB: TglMultiTexCoord1sARB;
  9731. glMultiTexCoord1svARB: TglMultiTexCoord1svARB;
  9732. glMultiTexCoord2dARB: TglMultiTexCoord2dARB;
  9733. glMultiTexCoord2dvARB: TglMultiTexCoord2dvARB;
  9734. glMultiTexCoord2fARB: TglMultiTexCoord2fARB;
  9735. glMultiTexCoord2fvARB: TglMultiTexCoord2fvARB;
  9736. glMultiTexCoord2iARB: TglMultiTexCoord2iARB;
  9737. glMultiTexCoord2ivARB: TglMultiTexCoord2ivARB;
  9738. glMultiTexCoord2sARB: TglMultiTexCoord2sARB;
  9739. glMultiTexCoord2svARB: TglMultiTexCoord2svARB;
  9740. glMultiTexCoord3dARB: TglMultiTexCoord3dARB;
  9741. glMultiTexCoord3dvARB: TglMultiTexCoord3dvARB;
  9742. glMultiTexCoord3fARB: TglMultiTexCoord3fARB;
  9743. glMultiTexCoord3fvARB: TglMultiTexCoord3fvARB;
  9744. glMultiTexCoord3iARB: TglMultiTexCoord3iARB;
  9745. glMultiTexCoord3ivARB: TglMultiTexCoord3ivARB;
  9746. glMultiTexCoord3sARB: TglMultiTexCoord3sARB;
  9747. glMultiTexCoord3svARB: TglMultiTexCoord3svARB;
  9748. glMultiTexCoord4dARB: TglMultiTexCoord4dARB;
  9749. glMultiTexCoord4dvARB: TglMultiTexCoord4dvARB;
  9750. glMultiTexCoord4fARB: TglMultiTexCoord4fARB;
  9751. glMultiTexCoord4fvARB: TglMultiTexCoord4fvARB;
  9752. glMultiTexCoord4iARB: TglMultiTexCoord4iARB;
  9753. glMultiTexCoord4ivARB: TglMultiTexCoord4ivARB;
  9754. glMultiTexCoord4sARB: TglMultiTexCoord4sARB;
  9755. glMultiTexCoord4svARB: TglMultiTexCoord4svARB;
  9756. // GL_ARB_point_parameters
  9757. glPointParameterfARB: TglPointParameterfARB;
  9758. glPointParameterfvARB: TglPointParameterfvARB;
  9759. // GL_ARB_texture_compression
  9760. glCompressedTexImage3DARB: TglCompressedTexImage3DARB;
  9761. glCompressedTexImage2DARB: TglCompressedTexImage2DARB;
  9762. glCompressedTexImage1DARB: TglCompressedTexImage1DARB;
  9763. glCompressedTexSubImage3DARB: TglCompressedTexSubImage3DARB;
  9764. glCompressedTexSubImage2DARB: TglCompressedTexSubImage2DARB;
  9765. glCompressedTexSubImage1DARB: TglCompressedTexSubImage1DARB;
  9766. glGetCompressedTexImageARB: TglGetCompressedTexImageARB;
  9767. // GL_ARB_transpose_matrix
  9768. glLoadTransposeMatrixfARB: TglLoadTransposeMatrixfARB;
  9769. glLoadTransposeMatrixdARB: TglLoadTransposeMatrixdARB;
  9770. glMultTransposeMatrixfARB: TglMultTransposeMatrixfARB;
  9771. glMultTransposeMatrixdARB: TglMultTransposeMatrixdARB;
  9772. // GL_ARB_vertex_blend
  9773. glWeightbvARB: TglWeightbvARB;
  9774. glWeightsvARB: TglWeightsvARB;
  9775. glWeightivARB: TglWeightivARB;
  9776. glWeightfvARB: TglWeightfvARB;
  9777. glWeightdvARB: TglWeightdvARB;
  9778. glWeightubvARB: TglWeightubvARB;
  9779. glWeightusvARB: TglWeightusvARB;
  9780. glWeightuivARB: TglWeightuivARB;
  9781. glWeightPointerARB: TglWeightPointerARB;
  9782. glVertexBlendARB: TglVertexBlendARB;
  9783. // GL_ARB_vertex_buffer_object
  9784. glBindBufferARB: TglBindBufferARB;
  9785. glDeleteBuffersARB: TglDeleteBuffersARB;
  9786. glGenBuffersARB: TglGenBuffersARB;
  9787. glIsBufferARB: TglIsBufferARB;
  9788. glBufferDataARB: TglBufferDataARB;
  9789. glBufferSubDataARB: TglBufferSubData;
  9790. glGetBufferSubDataARB: TglGetBufferSubDataARB;
  9791. glMapBufferARB: TglMapBufferARB;
  9792. glUnmapBufferARB: TglUnmapBufferARB;
  9793. glGetBufferParameterivARB: TglGetBufferParameterivARB;
  9794. glGetBufferPointervARB: TglGetBufferPointervARB;
  9795. // GL_ARB_vertex_program
  9796. glVertexAttrib1dARB: TglVertexAttrib1dARB;
  9797. glVertexAttrib1dvARB: TglVertexAttrib1dvARB;
  9798. glVertexAttrib1fARB: TglVertexAttrib1fARB;
  9799. glVertexAttrib1fvARB: TglVertexAttrib1fvARB;
  9800. glVertexAttrib1sARB: TglVertexAttrib1sARB;
  9801. glVertexAttrib1svARB: TglVertexAttrib1svARB;
  9802. glVertexAttrib2dARB: TglVertexAttrib2dARB;
  9803. glVertexAttrib2dvARB: TglVertexAttrib2dvARB;
  9804. glVertexAttrib2fARB: TglVertexAttrib2fARB;
  9805. glVertexAttrib2fvARB: TglVertexAttrib2fvARB;
  9806. glVertexAttrib2sARB: TglVertexAttrib2sARB;
  9807. glVertexAttrib2svARB: TglVertexAttrib2svARB;
  9808. glVertexAttrib3dARB: TglVertexAttrib3dARB;
  9809. glVertexAttrib3dvARB: TglVertexAttrib3dvARB;
  9810. glVertexAttrib3fARB: TglVertexAttrib3fARB;
  9811. glVertexAttrib3fvARB: TglVertexAttrib3fvARB;
  9812. glVertexAttrib3sARB: TglVertexAttrib3sARB;
  9813. glVertexAttrib3svARB: TglVertexAttrib3svARB;
  9814. glVertexAttrib4NbvARB: TglVertexAttrib4NbvARB;
  9815. glVertexAttrib4NivARB: TglVertexAttrib4NivARB;
  9816. glVertexAttrib4NsvARB: TglVertexAttrib4NsvARB;
  9817. glVertexAttrib4NubARB: TglVertexAttrib4NubARB;
  9818. glVertexAttrib4NubvARB: TglVertexAttrib4NubvARB;
  9819. glVertexAttrib4NuivARB: TglVertexAttrib4NuivARB;
  9820. glVertexAttrib4NusvARB: TglVertexAttrib4NusvARB;
  9821. glVertexAttrib4bvARB: TglVertexAttrib4bvARB;
  9822. glVertexAttrib4dARB: TglVertexAttrib4dARB;
  9823. glVertexAttrib4dvARB: TglVertexAttrib4dvARB;
  9824. glVertexAttrib4fARB: TglVertexAttrib4fARB;
  9825. glVertexAttrib4fvARB: TglVertexAttrib4fvARB;
  9826. glVertexAttrib4ivARB: TglVertexAttrib4ivARB;
  9827. glVertexAttrib4sARB: TglVertexAttrib4sARB;
  9828. glVertexAttrib4svARB: TglVertexAttrib4svARB;
  9829. glVertexAttrib4ubvARB: TglVertexAttrib4ubvARB;
  9830. glVertexAttrib4uivARB: TglVertexAttrib4uivARB;
  9831. glVertexAttrib4usvARB: TglVertexAttrib4usvARB;
  9832. glVertexAttribPointerARB: TglVertexAttribPointerARB;
  9833. glEnableVertexAttribArrayARB: TglEnableVertexAttribArrayARB;
  9834. glDisableVertexAttribArrayARB: TglDisableVertexAttribArrayARB;
  9835. glProgramStringARB: TglProgramStringARB;
  9836. glBindProgramARB: TglBindProgramARB;
  9837. glDeleteProgramsARB: TglDeleteProgramsARB;
  9838. glGenProgramsARB: TglGenProgramsARB;
  9839. glProgramEnvParameter4dARB: TglProgramEnvParameter4dARB;
  9840. glProgramEnvParameter4dvARB: TglProgramEnvParameter4dvARB;
  9841. glProgramEnvParameter4fARB: TglProgramEnvParameter4fARB;
  9842. glProgramEnvParameter4fvARB: TglProgramEnvParameter4fvARB;
  9843. glProgramLocalParameter4dARB: TglProgramLocalParameter4dARB;
  9844. glProgramLocalParameter4dvARB: TglProgramLocalParameter4dvARB;
  9845. glProgramLocalParameter4fARB: TglProgramLocalParameter4fARB;
  9846. glProgramLocalParameter4fvARB: TglProgramLocalParameter4fvARB;
  9847. glGetProgramEnvParameterdvARB: TglGetProgramEnvParameterdvARB;
  9848. glGetProgramEnvParameterfvARB: TglGetProgramEnvParameterfvARB;
  9849. glGetProgramLocalParameterdvARB: TglGetProgramLocalParameterdvARB;
  9850. glGetProgramLocalParameterfvARB: TglGetProgramLocalParameterfvARB;
  9851. glGetProgramivARB: TglGetProgramivARB;
  9852. glGetProgramStringARB: TglGetProgramStringARB;
  9853. glGetVertexAttribdvARB: TglGetVertexAttribdvARB;
  9854. glGetVertexAttribfvARB: TglGetVertexAttribfvARB;
  9855. glGetVertexAttribivARB: TglGetVertexAttribivARB;
  9856. glGetVertexAttribPointervARB: TglGetVertexAttribPointervARB;
  9857. glIsProgramARB: TglIsProgramARB;
  9858. // GL_ARB_window_pos
  9859. glWindowPos2dARB: TglWindowPos2dARB;
  9860. glWindowPos2dvARB: TglWindowPos2dvARB;
  9861. glWindowPos2fARB: TglWindowPos2fARB;
  9862. glWindowPos2fvARB: TglWindowPos2fvARB;
  9863. glWindowPos2iARB: TglWindowPos2iARB;
  9864. glWindowPos2ivARB: TglWindowPos2ivARB;
  9865. glWindowPos2sARB: TglWindowPos2sARB;
  9866. glWindowPos2svARB: TglWindowPos2svARB;
  9867. glWindowPos3dARB: TglWindowPos3dARB;
  9868. glWindowPos3dvARB: TglWindowPos3dvARB;
  9869. glWindowPos3fARB: TglWindowPos3fARB;
  9870. glWindowPos3fvARB: TglWindowPos3fvARB;
  9871. glWindowPos3iARB: TglWindowPos3iARB;
  9872. glWindowPos3ivARB: TglWindowPos3ivARB;
  9873. glWindowPos3sARB: TglWindowPos3sARB;
  9874. glWindowPos3svARB: TglWindowPos3svARB;
  9875. // GL_ARB_draw_buffers
  9876. glDrawBuffersARB: TglDrawBuffersARB;
  9877. // GL_ARB_color_buffer_float
  9878. glClampColorARB: TglClampColorARB;
  9879. // GL_ARB_vertex_shader
  9880. glGetActiveAttribARB: TglGetActiveAttribARB;
  9881. glGetAttribLocationARB: TglGetAttribLocationARB;
  9882. glBindAttribLocationARB: TglBindAttribLocationARB;
  9883. // GL_ARB_shader_objects
  9884. glDeleteObjectARB: TglDeleteObjectARB;
  9885. glGetHandleARB: TglGetHandleARB;
  9886. glDetachObjectARB: TglDetachObjectARB;
  9887. glCreateShaderObjectARB: TglCreateShaderObjectARB;
  9888. glShaderSourceARB: TglShaderSourceARB;
  9889. glCompileShaderARB: TglCompileShaderARB;
  9890. glCreateProgramObjectARB: TglCreateProgramObjectARB;
  9891. glAttachObjectARB: TglAttachObjectARB;
  9892. glLinkProgramARB: TglLinkProgramARB;
  9893. glUseProgramObjectARB: TglUseProgramObjectARB;
  9894. glValidateProgramARB: TglValidateProgramARB;
  9895. glUniform1fARB: TglUniform1fARB;
  9896. glUniform2fARB: TglUniform2fARB;
  9897. glUniform3fARB: TglUniform3fARB;
  9898. glUniform4fARB: TglUniform4fARB;
  9899. glUniform1iARB: TglUniform1iARB;
  9900. glUniform2iARB: TglUniform2iARB;
  9901. glUniform3iARB: TglUniform3iARB;
  9902. glUniform4iARB: TglUniform4iARB;
  9903. glUniform1fvARB: TglUniform1fvARB;
  9904. glUniform2fvARB: TglUniform2fvARB;
  9905. glUniform3fvARB: TglUniform3fvARB;
  9906. glUniform4fvARB: TglUniform4fvARB;
  9907. glUniform1ivARB: TglUniform1ivARB;
  9908. glUniform2ivARB: TglUniform2ivARB;
  9909. glUniform3ivARB: TglUniform3ivARB;
  9910. glUniform4ivARB: TglUniform4ivARB;
  9911. glUniformMatrix2fvARB: TglUniformMatrix2fvARB;
  9912. glUniformMatrix3fvARB: TglUniformMatrix3fvARB;
  9913. glUniformMatrix4fvARB: TglUniformMatrix4fvARB;
  9914. glGetObjectParameterfvARB: TglGetObjectParameterfvARB;
  9915. glGetObjectParameterivARB: TglGetObjectParameterivARB;
  9916. glGetInfoLogARB: TglGetInfoLogARB;
  9917. glGetAttachedObjectsARB: TglGetAttachedObjectsARB;
  9918. glGetUniformLocationARB: TglGetUniformLocationARB;
  9919. glGetActiveUniformARB: TglGetActiveUniformARB;
  9920. glGetUniformfvARB: TglGetUniformfvARB;
  9921. glGetUniformivARB: TglGetUniformivARB;
  9922. glGetShaderSourceARB: TglGetShaderSourceARB;
  9923. // GL_ARB_Occlusion_Query
  9924. glGenQueriesARB: TglGenQueriesARB;
  9925. glDeleteQueriesARB: TglDeleteQueriesARB;
  9926. glIsQueryARB: TglIsQueryARB;
  9927. glBeginQueryARB: TglBeginQueryARB;
  9928. glEndQueryARB: TglEndQueryARB;
  9929. glGetQueryivARB: TglGetQueryivARB;
  9930. glGetQueryObjectivARB: TglGetQueryObjectivARB;
  9931. glGetQueryObjectuivARB: TglGetQueryObjectuivARB;
  9932. // GL_ARB_draw_instanced
  9933. glDrawArraysInstancedARB: TglDrawArraysInstancedARB;
  9934. glDrawElementsInstancedARB: TglDrawElementsInstancedARB;
  9935. // GL_ARB_framebuffer_object
  9936. glIsRenderbuffer: TglIsRenderbuffer;
  9937. glBindRenderbuffer: TglBindRenderbuffer;
  9938. glDeleteRenderbuffers: TglDeleteRenderbuffers;
  9939. glGenRenderbuffers: TglGenRenderbuffers;
  9940. glRenderbufferStorage: TglRenderbufferStorage;
  9941. glGetRenderbufferParameteriv: TglGetRenderbufferParameteriv;
  9942. glIsFramebuffer: TglIsFramebuffer;
  9943. glBindFramebuffer: TglBindFramebuffer;
  9944. glDeleteFramebuffers: TglDeleteFramebuffers;
  9945. glGenFramebuffers: TglGenFramebuffers;
  9946. glCheckFramebufferStatus: TglCheckFramebufferStatus;
  9947. glFramebufferTexture1D: TglFramebufferTexture1D;
  9948. glFramebufferTexture2D: TglFramebufferTexture2D;
  9949. glFramebufferTexture3D: TglFramebufferTexture3D;
  9950. glFramebufferRenderbuffer: TglFramebufferRenderbuffer;
  9951. glGetFramebufferAttachmentParameteriv: TglGetFramebufferAttachmentParameteriv;
  9952. glGenerateMipmap: TglGenerateMipmap;
  9953. glBlitFramebuffer: TglBlitFramebuffer;
  9954. glRenderbufferStorageMultisample: TglRenderbufferStorageMultisample;
  9955. glFramebufferTextureLayer: TglFramebufferTextureLayer;
  9956. // GL_ARB_geometry_shader4
  9957. glProgramParameteriARB: TglProgramParameteriARB;
  9958. glFramebufferTextureARB: TglFramebufferTextureARB;
  9959. glFramebufferTextureLayerARB: TglFramebufferTextureLayerARB;
  9960. glFramebufferTextureFaceARB: TglFramebufferTextureFaceARB;
  9961. // GL_ARB_instanced_arrays
  9962. glVertexAttribDivisorARB: TglVertexAttribDivisorARB;
  9963. // GL_ARB_map_buffer_range
  9964. glMapBufferRange: TglMapBufferRange;
  9965. glFlushMappedBufferRange: TglFlushMappedBufferRange;
  9966. // GL_ARB_texture_buffer_object
  9967. glTexBufferARB: TglTexBufferARB;
  9968. // GL_ARB_vertex_array_object
  9969. glBindVertexArray: TglBindVertexArray;
  9970. glDeleteVertexArrays: TglDeleteVertexArrays;
  9971. glGenVertexArrays: TglGenVertexArrays;
  9972. glIsVertexArray: TglIsVertexArray;
  9973. // GL_ARB_uniform_buffer_object
  9974. glGetUniformIndices: TglGetUniformIndices;
  9975. glGetActiveUniformsiv: TglGetActiveUniformsiv;
  9976. glGetActiveUniformName: TglGetActiveUniformName;
  9977. glGetUniformBlockIndex: TglGetUniformBlockIndex;
  9978. glGetActiveUniformBlockiv: TglGetActiveUniformBlockiv;
  9979. glGetActiveUniformBlockName: TglGetActiveUniformBlockName;
  9980. glUniformBlockBinding: TglUniformBlockBinding;
  9981. // GL_ARB_copy_buffer
  9982. glCopyBufferSubData: TglCopyBufferSubData;
  9983. // GL_ARB_draw_elements_base_vertex
  9984. glDrawElementsBaseVertex: TglDrawElementsBaseVertex;
  9985. glDrawRangeElementsBaseVertex: TglDrawRangeElementsBaseVertex;
  9986. glDrawElementsInstancedBaseVertex: TglDrawElementsInstancedBaseVertex;
  9987. glMultiDrawElementsBaseVertex: TglMultiDrawElementsBaseVertex;
  9988. // GL_ARB_provoking_vertex
  9989. glProvokingVertex: TglProvokingVertex;
  9990. // GL_ARB_sync
  9991. glFenceSync: TglFenceSync;
  9992. glIsSync: TglIsSync;
  9993. glDeleteSync: TglDeleteSync;
  9994. glClientWaitSync: TglClientWaitSync;
  9995. glWaitSync: TglWaitSync;
  9996. glGetInteger64v: TglGetInteger64v;
  9997. glGetSynciv: TglGetSynciv;
  9998. // GL_ARB_texture_multisample
  9999. glTexImage2DMultisample: TglTexImage2DMultisample;
  10000. glTexImage3DMultisample: TglTexImage3DMultisample;
  10001. glGetMultisamplefv: TglGetMultisamplefv;
  10002. glSampleMaski: TglSampleMaski;
  10003. // GL_ARB_draw_buffers_blend
  10004. glBlendEquationiARB: TglBlendEquationiARB;
  10005. glBlendEquationSeparateiARB: TglBlendEquationSeparateiARB;
  10006. glBlendFunciARB: TglBlendFunciARB;
  10007. glBlendFuncSeparateiARB: TglBlendFuncSeparateiARB;
  10008. // GL_ARB_sample_shading
  10009. glMinSampleShadingARB: TglMinSampleShadingARB;
  10010. // GL_ARB_shading_language_include
  10011. glNamedStringARB: TglNamedStringARB;
  10012. glDeleteNamedStringARB: TglDeleteNamedStringARB;
  10013. glCompileShaderIncludeARB: TglCompileShaderIncludeARB;
  10014. glIsNamedStringARB: TglIsNamedStringARB;
  10015. glGetNamedStringARB: TglGetNamedStringARB;
  10016. glGetNamedStringivARB: TglGetNamedStringivARB;
  10017. // GL_ARB_blend_func_extended
  10018. glBindFragDataLocationIndexed: TglBindFragDataLocationIndexed;
  10019. glGetFragDataIndex: TglGetFragDataIndex;
  10020. // GL_ARB_sampler_objects
  10021. glGenSamplers: TglGenSamplers;
  10022. glDeleteSamplers: TglDeleteSamplers;
  10023. glIsSampler: TglIsSampler;
  10024. glBindSampler: TglBindSampler;
  10025. glSamplerParameteri: TglSamplerParameteri;
  10026. glSamplerParameteriv: TglSamplerParameteriv;
  10027. glSamplerParameterf: TglSamplerParameterf;
  10028. glSamplerParameterfv: TglSamplerParameterfv;
  10029. glSamplerParameterIiv: TglSamplerParameterIiv;
  10030. glSamplerParameterIuiv: TglSamplerParameterIuiv;
  10031. glGetSamplerParameteriv: TglGetSamplerParameteriv;
  10032. glGetSamplerParameterIiv: TglGetSamplerParameterIiv;
  10033. glGetSamplerParameterfv: TglGetSamplerParameterfv;
  10034. glGetSamplerParameterIuiv: TglGetSamplerParameterIuiv;
  10035. // GL_ARB_timer_query
  10036. glQueryCounter: TglQueryCounter;
  10037. glGetQueryObjecti64v: TglGetQueryObjecti64v;
  10038. glGetQueryObjectui64v: TglGetQueryObjectui64v;
  10039. // GL_ARB_vertex_type_2_10_10_10_rev
  10040. glVertexP2ui: TglVertexP2ui;
  10041. glVertexP2uiv: TglVertexP2uiv;
  10042. glVertexP3ui: TglVertexP3ui;
  10043. glVertexP3uiv: TglVertexP3uiv;
  10044. glVertexP4ui: TglVertexP4ui;
  10045. glVertexP4uiv: TglVertexP4uiv;
  10046. glTexCoordP1ui: TglTexCoordP1ui;
  10047. glTexCoordP1uiv: TglTexCoordP1uiv;
  10048. glTexCoordP2ui: TglTexCoordP2ui;
  10049. glTexCoordP2uiv: TglTexCoordP2uiv;
  10050. glTexCoordP3ui: TglTexCoordP3ui;
  10051. glTexCoordP3uiv: TglTexCoordP3uiv;
  10052. glTexCoordP4ui: TglTexCoordP4ui;
  10053. glTexCoordP4uiv: TglTexCoordP4uiv;
  10054. glMultiTexCoordP1ui: TglMultiTexCoordP1ui;
  10055. glMultiTexCoordP1uiv: TglMultiTexCoordP1uiv;
  10056. glMultiTexCoordP2ui: TglMultiTexCoordP2ui;
  10057. glMultiTexCoordP2uiv: TglMultiTexCoordP2uiv;
  10058. glMultiTexCoordP3ui: TglMultiTexCoordP3ui;
  10059. glMultiTexCoordP3uiv: TglMultiTexCoordP3uiv;
  10060. glMultiTexCoordP4ui: TglMultiTexCoordP4ui;
  10061. glMultiTexCoordP4uiv: TglMultiTexCoordP4uiv;
  10062. glNormalP3ui: TglNormalP3ui;
  10063. glNormalP3uiv: TglNormalP3uiv;
  10064. glColorP3ui: TglColorP3ui;
  10065. glColorP3uiv: TglColorP3uiv;
  10066. glColorP4ui: TglColorP4ui;
  10067. glColorP4uiv: TglColorP4uiv;
  10068. glSecondaryColorP3ui: TglSecondaryColorP3ui;
  10069. glSecondaryColorP3uiv: TglSecondaryColorP3uiv;
  10070. glVertexAttribP1ui: TglVertexAttribP1ui;
  10071. glVertexAttribP1uiv: TglVertexAttribP1uiv;
  10072. glVertexAttribP2ui: TglVertexAttribP2ui;
  10073. glVertexAttribP2uiv: TglVertexAttribP2uiv;
  10074. glVertexAttribP3ui: TglVertexAttribP3ui;
  10075. glVertexAttribP3uiv: TglVertexAttribP3uiv;
  10076. glVertexAttribP4ui: TglVertexAttribP4ui;
  10077. glVertexAttribP4uiv: TglVertexAttribP4uiv;
  10078. // GL_ARB_draw_indirect
  10079. glDrawArraysIndirect: TglDrawArraysIndirect;
  10080. glDrawElementsIndirect: TglDrawElementsIndirect;
  10081. // GL_ARB_gpu_shader_fp64
  10082. glUniform1d: TglUniform1d;
  10083. glUniform2d: TglUniform2d;
  10084. glUniform3d: TglUniform3d;
  10085. glUniform4d: TglUniform4d;
  10086. glUniform1dv: TglUniform1dv;
  10087. glUniform2dv: TglUniform2dv;
  10088. glUniform3dv: TglUniform3dv;
  10089. glUniform4dv: TglUniform4dv;
  10090. glUniformMatrix2dv: TglUniformMatrix2dv;
  10091. glUniformMatrix3dv: TglUniformMatrix3dv;
  10092. glUniformMatrix4dv: TglUniformMatrix4dv;
  10093. glUniformMatrix2x3dv: TglUniformMatrix2x3dv;
  10094. glUniformMatrix2x4dv: TglUniformMatrix2x4dv;
  10095. glUniformMatrix3x2dv: TglUniformMatrix3x2dv;
  10096. glUniformMatrix3x4dv: TglUniformMatrix3x4dv;
  10097. glUniformMatrix4x2dv: TglUniformMatrix4x2dv;
  10098. glUniformMatrix4x3dv: TglUniformMatrix4x3dv;
  10099. glGetUniformdv: TglGetUniformdv;
  10100. // GL_ARB_shader_subroutine
  10101. glGetSubroutineUniformLocation: TglGetSubroutineUniformLocation;
  10102. glGetSubroutineIndex: TglGetSubroutineIndex;
  10103. glGetActiveSubroutineUniformiv: TglGetActiveSubroutineUniformiv;
  10104. glGetActiveSubroutineUniformName: TglGetActiveSubroutineUniformName;
  10105. glGetActiveSubroutineName: TglGetActiveSubroutineName;
  10106. glUniformSubroutinesuiv: TglUniformSubroutinesuiv;
  10107. glGetUniformSubroutineuiv: TglGetUniformSubroutineuiv;
  10108. glGetProgramStageiv: TglGetProgramStageiv;
  10109. // GL_ARB_tessellation_shader
  10110. glPatchParameteri: TglPatchParameteri;
  10111. glPatchParameterfv: TglPatchParameterfv;
  10112. // GL_ARB_transform_feedback2
  10113. glBindTransformFeedback: TglBindTransformFeedback;
  10114. glDeleteTransformFeedbacks: TglDeleteTransformFeedbacks;
  10115. glGenTransformFeedbacks: TglGenTransformFeedbacks;
  10116. glIsTransformFeedback: TglIsTransformFeedback;
  10117. glPauseTransformFeedback: TglPauseTransformFeedback;
  10118. glResumeTransformFeedback: TglResumeTransformFeedback;
  10119. glDrawTransformFeedback: TglDrawTransformFeedback;
  10120. // GL_ARB_transform_feedback3
  10121. glDrawTransformFeedbackStream: TglDrawTransformFeedbackStream;
  10122. glBeginQueryIndexed: TglBeginQueryIndexed;
  10123. glEndQueryIndexed: TglEndQueryIndexed;
  10124. glGetQueryIndexediv: TglGetQueryIndexediv;
  10125. // GL_ARB_ES2_compatibility
  10126. glReleaseShaderCompiler: TglReleaseShaderCompiler;
  10127. glShaderBinary: TglShaderBinary;
  10128. glGetShaderPrecisionFormat: TglGetShaderPrecisionFormat;
  10129. glDepthRangef: TglDepthRangef;
  10130. glClearDepthf: TglClearDepthf;
  10131. // GL_ARB_get_program_binary
  10132. glGetProgramBinary: TglGetProgramBinary;
  10133. glProgramBinary: TglProgramBinary;
  10134. glProgramParameteri: TglProgramParameteri;
  10135. // GL_ARB_separate_shader_objects
  10136. glUseProgramStages: TglUseProgramStages;
  10137. glActiveShaderProgram: TglActiveShaderProgram;
  10138. glCreateShaderProgramv: TglCreateShaderProgramv;
  10139. glBindProgramPipeline: TglBindProgramPipeline;
  10140. glDeleteProgramPipelines: TglDeleteProgramPipelines;
  10141. glGenProgramPipelines: TglGenProgramPipelines;
  10142. glIsProgramPipeline: TglIsProgramPipeline;
  10143. glGetProgramPipelineiv: TglGetProgramPipelineiv;
  10144. glProgramUniform1i: TglProgramUniform1i;
  10145. glProgramUniform1iv: TglProgramUniform1iv;
  10146. glProgramUniform1f: TglProgramUniform1f;
  10147. glProgramUniform1fv: TglProgramUniform1fv;
  10148. glProgramUniform1d: TglProgramUniform1d;
  10149. glProgramUniform1dv: TglProgramUniform1dv;
  10150. glProgramUniform1ui: TglProgramUniform1ui;
  10151. glProgramUniform1uiv: TglProgramUniform1uiv;
  10152. glProgramUniform2i: TglProgramUniform2i;
  10153. glProgramUniform2iv: TglProgramUniform2iv;
  10154. glProgramUniform2f: TglProgramUniform2f;
  10155. glProgramUniform2fv: TglProgramUniform2fv;
  10156. glProgramUniform2d: TglProgramUniform2d;
  10157. glProgramUniform2dv: TglProgramUniform2dv;
  10158. glProgramUniform2ui: TglProgramUniform2ui;
  10159. glProgramUniform2uiv: TglProgramUniform2uiv;
  10160. glProgramUniform3i: TglProgramUniform3i;
  10161. glProgramUniform3iv: TglProgramUniform3iv;
  10162. glProgramUniform3f: TglProgramUniform3f;
  10163. glProgramUniform3fv: TglProgramUniform3fv;
  10164. glProgramUniform3d: TglProgramUniform3d;
  10165. glProgramUniform3dv: TglProgramUniform3dv;
  10166. glProgramUniform3ui: TglProgramUniform3ui;
  10167. glProgramUniform3uiv: TglProgramUniform3uiv;
  10168. glProgramUniform4i: TglProgramUniform4i;
  10169. glProgramUniform4iv: TglProgramUniform4iv;
  10170. glProgramUniform4f: TglProgramUniform4f;
  10171. glProgramUniform4fv: TglProgramUniform4fv;
  10172. glProgramUniform4d: TglProgramUniform4d;
  10173. glProgramUniform4dv: TglProgramUniform4dv;
  10174. glProgramUniform4ui: TglProgramUniform4ui;
  10175. glProgramUniform4uiv: TglProgramUniform4uiv;
  10176. glProgramUniformMatrix2fv: TglProgramUniformMatrix2fv;
  10177. glProgramUniformMatrix3fv: TglProgramUniformMatrix3fv;
  10178. glProgramUniformMatrix4fv: TglProgramUniformMatrix4fv;
  10179. glProgramUniformMatrix2dv: TglProgramUniformMatrix2dv;
  10180. glProgramUniformMatrix3dv: TglProgramUniformMatrix3dv;
  10181. glProgramUniformMatrix4dv: TglProgramUniformMatrix4dv;
  10182. glProgramUniformMatrix2x3fv: TglProgramUniformMatrix2x3fv;
  10183. glProgramUniformMatrix3x2fv: TglProgramUniformMatrix3x2fv;
  10184. glProgramUniformMatrix2x4fv: TglProgramUniformMatrix2x4fv;
  10185. glProgramUniformMatrix4x2fv: TglProgramUniformMatrix4x2fv;
  10186. glProgramUniformMatrix3x4fv: TglProgramUniformMatrix3x4fv;
  10187. glProgramUniformMatrix4x3fv: TglProgramUniformMatrix4x3fv;
  10188. glProgramUniformMatrix2x3dv: TglProgramUniformMatrix2x3dv;
  10189. glProgramUniformMatrix3x2dv: TglProgramUniformMatrix3x2dv;
  10190. glProgramUniformMatrix2x4dv: TglProgramUniformMatrix2x4dv;
  10191. glProgramUniformMatrix4x2dv: TglProgramUniformMatrix4x2dv;
  10192. glProgramUniformMatrix3x4dv: TglProgramUniformMatrix3x4dv;
  10193. glProgramUniformMatrix4x3dv: TglProgramUniformMatrix4x3dv;
  10194. glValidateProgramPipeline: TglValidateProgramPipeline;
  10195. glGetProgramPipelineInfoLog: TglGetProgramPipelineInfoLog;
  10196. // GL_ARB_vertex_attrib_64bit
  10197. glVertexAttribL1d: TglVertexAttribL1d;
  10198. glVertexAttribL2d: TglVertexAttribL2d;
  10199. glVertexAttribL3d: TglVertexAttribL3d;
  10200. glVertexAttribL4d: TglVertexAttribL4d;
  10201. glVertexAttribL1dv: TglVertexAttribL1dv;
  10202. glVertexAttribL2dv: TglVertexAttribL2dv;
  10203. glVertexAttribL3dv: TglVertexAttribL3dv;
  10204. glVertexAttribL4dv: TglVertexAttribL4dv;
  10205. glVertexAttribLPointer: TglVertexAttribLPointer;
  10206. glGetVertexAttribLdv: TglGetVertexAttribLdv;
  10207. // GL_ARB_viewport_array
  10208. glViewportArrayv: TglViewportArrayv;
  10209. glViewportIndexedf: TglViewportIndexedf;
  10210. glViewportIndexedfv: TglViewportIndexedfv;
  10211. glScissorArrayv: TglScissorArrayv;
  10212. glScissorIndexed: TglScissorIndexed;
  10213. glScissorIndexedv: TglScissorIndexedv;
  10214. glDepthRangeArrayv: TglDepthRangeArrayv;
  10215. glDepthRangeIndexed: TglDepthRangeIndexed;
  10216. glGetFloati_v: TglGetFloati_v;
  10217. glGetDoublei_v: TglGetDoublei_v;
  10218. // GL 4.2
  10219. // GL_ARB_base_instance
  10220. glDrawArraysInstancedBaseInstance: TglDrawArraysInstancedBaseInstance;
  10221. glDrawElementsInstancedBaseInstance: TglDrawElementsInstancedBaseInstance;
  10222. glDrawElementsInstancedBaseVertexBaseInstance: TglDrawElementsInstancedBaseVertexBaseInstance;
  10223. // GL_ARB_transform_feedback_instanced
  10224. glDrawTransformFeedbackInstanced: TglDrawTransformFeedbackInstanced;
  10225. glDrawTransformFeedbackStreamInstanced: TglDrawTransformFeedbackStreamInstanced;
  10226. // GL_ARB_internalformat_query
  10227. glGetInternalformativ: TglGetInternalformativ;
  10228. // GL_ARB_shader_atomic_counters
  10229. glGetActiveAtomicCounterBufferiv: TglGetActiveAtomicCounterBufferiv;
  10230. /// GL_ARB_shader_image_load_store
  10231. glBindImageTexture: TglBindImageTexture;
  10232. glMemoryBarrier: TglMemoryBarrier;
  10233. // GL_ARB_texture_storage
  10234. glTexStorage1D: TglTexStorage1D;
  10235. glTexStorage2D: TglTexStorage2D;
  10236. glTexStorage3D: TglTexStorage3D;
  10237. glTextureStorage1DEXT: TglTextureStorage1DEXT;
  10238. glTextureStorage2DEXT: TglTextureStorage2DEXT;
  10239. glTextureStorage3DEXT: TglTextureStorage3DEXT;
  10240. // GL 4.3
  10241. // GL_KHR_debug
  10242. glDebugMessageControl: TglDebugMessageControl;
  10243. glDebugMessageInsert: TglDebugMessageInsert;
  10244. glDebugMessageCallback: TglDebugMessageCallback;
  10245. glGetDebugMessageLog: TglGetDebugMessageLog;
  10246. glPushDebugGroup: TglPushDebugGroup;
  10247. glPopDebugGroup: TglPopDebugGroup;
  10248. glObjectLabel: TglObjectLabel;
  10249. glGetObjectLabel: TglGetObjectLabel;
  10250. glObjectPtrLabel: TglObjectPtrLabel;
  10251. glGetObjectPtrLabel: TglGetObjectPtrLabel;
  10252. // GL_ARB_clear_buffer_object
  10253. glClearBufferData: TglClearBufferData;
  10254. glClearBufferSubData: TglClearBufferSubData;
  10255. glClearNamedBufferDataEXT: TglClearNamedBufferDataEXT;
  10256. glClearNamedBufferSubDataEXT: TglClearNamedBufferSubDataEXT;
  10257. // GL_ARB_compute_shader
  10258. glDispatchCompute: TglDispatchCompute;
  10259. glDispatchComputeIndirect: TglDispatchComputeIndirect;
  10260. // GL_ARB_copy_image
  10261. glCopyImageSubData: TglCopyImageSubData;
  10262. // GL_ARB_framebuffer_no_attachments
  10263. glFramebufferParameteri: TglFramebufferParameteri;
  10264. glGetFramebufferParameteriv: TglGetFramebufferParameteriv;
  10265. glNamedFramebufferParameteriEXT: TglNamedFramebufferParameteriEXT;
  10266. glGetNamedFramebufferParameterivEXT: TglGetNamedFramebufferParameterivEXT;
  10267. // GL_ARB_internalformat_query2
  10268. glGetInternalformati64v: TglGetInternalformati64v;
  10269. // GL_ARB_invalidate_subdata
  10270. glInvalidateTexSubImage: TglInvalidateTexSubImage;
  10271. glInvalidateTexImage: TglInvalidateTexImage;
  10272. glInvalidateBufferSubData: TglInvalidateBufferSubData;
  10273. glInvalidateBufferData: TglInvalidateBufferData;
  10274. glInvalidateFramebuffer: TglInvalidateFramebuffer;
  10275. glInvalidateSubFramebuffer: TglInvalidateSubFramebuffer;
  10276. // GL_ARB_multi_draw_indirect
  10277. glMultiDrawArraysIndirect: TglMultiDrawArraysIndirect;
  10278. glMultiDrawElementsIndirect: TglMultiDrawElementsIndirect;
  10279. // GL_ARB_program_interface_query
  10280. glGetProgramInterfaceiv: TglGetProgramInterfaceiv;
  10281. glGetProgramResourceIndex: TglGetProgramResourceIndex;
  10282. glGetProgramResourceName: TglGetProgramResourceName;
  10283. glGetProgramResourceiv: TglGetProgramResourceiv;
  10284. glGetProgramResourceLocation: TglGetProgramResourceLocation;
  10285. glGetProgramResourceLocationIndex: TglGetProgramResourceLocationIndex;
  10286. // GL_ARB_shader_storage_buffer_object
  10287. glShaderStorageBlockBinding: TglShaderStorageBlockBinding;
  10288. // GL_ARB_texture_buffer_range
  10289. glTexBufferRange: TglTexBufferRange;
  10290. glTextureBufferRangeEXT: TglTextureBufferRangeEXT;
  10291. // GL_ARB_texture_storage_multisample
  10292. glTexStorage2DMultisample: TglTexStorage2DMultisample;
  10293. glTexStorage3DMultisample: TglTexStorage3DMultisample;
  10294. glTextureStorage2DMultisampleEXT: TglTextureStorage2DMultisampleEXT;
  10295. glTextureStorage3DMultisampleEXT: TglTextureStorage3DMultisampleEXT;
  10296. // GL_ARB_texture_view
  10297. glTextureView: TglTextureView;
  10298. // GL_ARB_vertex_attrib_binding
  10299. glBindVertexBuffer: TglBindVertexBuffer;
  10300. glVertexAttribFormat: TglVertexAttribFormat;
  10301. glVertexAttribIFormat: TglVertexAttribIFormat;
  10302. glVertexAttribLFormat: TglVertexAttribLFormat;
  10303. glVertexAttribBinding: TglVertexAttribBinding;
  10304. glVertexBindingDivisor: TglVertexBindingDivisor;
  10305. glVertexArrayBindVertexBufferEXT: TglVertexArrayBindVertexBufferEXT;
  10306. glVertexArrayVertexAttribFormatEXT: TglVertexArrayVertexAttribFormatEXT;
  10307. glVertexArrayVertexAttribIFormatEXT: TglVertexArrayVertexAttribIFormatEXT;
  10308. glVertexArrayVertexAttribLFormatEXT: TglVertexArrayVertexAttribLFormatEXT;
  10309. glVertexArrayVertexAttribBindingEXT: TglVertexArrayVertexAttribBindingEXT;
  10310. glVertexArrayVertexBindingDivisorEXT: TglVertexArrayVertexBindingDivisorEXT;
  10311. // END GL 4.3
  10312. // GL 4.4
  10313. glBufferStorage: TglBufferStorage;
  10314. glClearTexImage: TglClearTexImage;
  10315. glClearTexSubImage: TglClearTexSubImage;
  10316. glBindBuffersBase: TglBindBuffersBase;
  10317. glBindBuffersRange: TglBindBuffersRange;
  10318. glBindTextures: TglBindTextures;
  10319. glBindSamplers: TglBindSamplers;
  10320. glBindImageTextures: TglBindImageTextures;
  10321. glBindVertexBuffers: TglBindVertexBuffers;
  10322. glTexPageCommitmentARB: TglTexPageCommitmentARB;
  10323. // GL 4.5
  10324. glClipControl: TglClipControl;
  10325. glCreateTransformFeedbacks: TglCreateTransformFeedbacks;
  10326. glTransformFeedbackBufferBase: TglTransformFeedbackBufferBase;
  10327. glTransformFeedbackBufferRange: TglTransformFeedbackBufferRange;
  10328. glGetTransformFeedbackiv: TglGetTransformFeedbackiv;
  10329. glGetTransformFeedbacki_v: TglGetTransformFeedbacki_v;
  10330. glGetTransformFeedbacki64_v: TglGetTransformFeedbacki64_v;
  10331. glCreateBuffers: TglCreateBuffers;
  10332. glNamedBufferStorage: TglNamedBufferStorage;
  10333. glNamedBufferData: TglNamedBufferData;
  10334. glNamedBufferSubData: TglNamedBufferSubData;
  10335. glCopyNamedBufferSubData: TglCopyNamedBufferSubData;
  10336. glClearNamedBufferData: TglClearNamedBufferData;
  10337. glClearNamedBufferSubData: TglClearNamedBufferSubData;
  10338. glMapNamedBuffer: TglMapNamedBuffer;
  10339. glMapNamedBufferRange: TglMapNamedBufferRange;
  10340. glUnmapNamedBuffer: TglUnmapNamedBuffer;
  10341. glFlushMappedNamedBufferRange: TglFlushMappedNamedBufferRange;
  10342. glGetNamedBufferParameteriv: TglGetNamedBufferParameteriv;
  10343. glGetNamedBufferParameteri64v: TglGetNamedBufferParameteri64v;
  10344. glGetNamedBufferPointerv: TglGetNamedBufferPointerv;
  10345. glGetNamedBufferSubData: TglGetNamedBufferSubData;
  10346. glCreateFramebuffers: TglCreateFramebuffers;
  10347. glNamedFramebufferRenderbuffer: TglNamedFramebufferRenderbuffer;
  10348. glNamedFramebufferParameteri: TglNamedFramebufferParameteri;
  10349. glNamedFramebufferTexture: TglNamedFramebufferTexture;
  10350. glNamedFramebufferTextureLayer: TglNamedFramebufferTextureLayer;
  10351. glNamedFramebufferDrawBuffer: TglNamedFramebufferDrawBuffer;
  10352. glNamedFramebufferDrawBuffers: TglNamedFramebufferDrawBuffers;
  10353. glNamedFramebufferReadBuffer: TglNamedFramebufferReadBuffer;
  10354. glInvalidateNamedFramebufferData: TglInvalidateNamedFramebufferData;
  10355. glInvalidateNamedFramebufferSubData: TglInvalidateNamedFramebufferSubData;
  10356. glClearNamedFramebufferiv: TglClearNamedFramebufferiv;
  10357. glClearNamedFramebufferuiv: TglClearNamedFramebufferuiv;
  10358. glClearNamedFramebufferfv: TglClearNamedFramebufferfv;
  10359. glClearNamedFramebufferfi: TglClearNamedFramebufferfi;
  10360. glBlitNamedFramebuffer: TglBlitNamedFramebuffer;
  10361. glCheckNamedFramebufferStatus: TglCheckNamedFramebufferStatus;
  10362. glGetNamedFramebufferParameteriv: TglGetNamedFramebufferParameteriv;
  10363. glGetNamedFramebufferAttachmentParameteriv: TglGetNamedFramebufferAttachmentParameteriv;
  10364. glCreateRenderbuffers: TglCreateRenderbuffers;
  10365. glNamedRenderbufferStorage: TglNamedRenderbufferStorage;
  10366. glNamedRenderbufferStorageMultisample: TglNamedRenderbufferStorageMultisample;
  10367. glGetNamedRenderbufferParameteriv: TglGetNamedRenderbufferParameteriv;
  10368. glCreateTextures: TglCreateTextures;
  10369. glTextureBuffer: TglTextureBuffer;
  10370. glTextureBufferRange: TglTextureBufferRange;
  10371. glTextureStorage1D: TglTextureStorage1D;
  10372. glTextureStorage2D: TglTextureStorage2D;
  10373. glTextureStorage3D: TglTextureStorage3D;
  10374. glTextureStorage2DMultisample: TglTextureStorage2DMultisample;
  10375. glTextureStorage3DMultisample: TglTextureStorage3DMultisample;
  10376. glTextureSubImage1D: TglTextureSubImage1D;
  10377. glTextureSubImage2D: TglTextureSubImage2D;
  10378. glTextureSubImage3D: TglTextureSubImage3D;
  10379. glCompressedTextureSubImage1D: TglCompressedTextureSubImage1D;
  10380. glCompressedTextureSubImage2D: TglCompressedTextureSubImage2D;
  10381. glCompressedTextureSubImage3D: TglCompressedTextureSubImage3D;
  10382. glCopyTextureSubImage1D: TglCopyTextureSubImage1D;
  10383. glCopyTextureSubImage2D: TglCopyTextureSubImage2D;
  10384. glCopyTextureSubImage3D: TglCopyTextureSubImage3D;
  10385. glTextureParameterf: TglTextureParameterf;
  10386. glTextureParameterfv: TglTextureParameterfv;
  10387. glTextureParameteri: TglTextureParameteri;
  10388. glTextureParameterIiv: TglTextureParameterIiv;
  10389. glTextureParameterIuiv: TglTextureParameterIuiv;
  10390. glTextureParameteriv: TglTextureParameteriv;
  10391. glGenerateTextureMipmap: TglGenerateTextureMipmap;
  10392. glBindTextureUnit: TglBindTextureUnit;
  10393. glGetTextureImage: TglGetTextureImage;
  10394. glGetCompressedTextureImage: TglGetCompressedTextureImage;
  10395. glGetTextureLevelParameterfv: TglGetTextureLevelParameterfv;
  10396. glGetTextureLevelParameteriv: TglGetTextureLevelParameteriv;
  10397. glGetTextureParameterfv: TglGetTextureParameterfv;
  10398. glGetTextureParameterIiv: TglGetTextureParameterIiv;
  10399. glGetTextureParameterIuiv: TglGetTextureParameterIuiv;
  10400. glGetTextureParameteriv: TglGetTextureParameteriv;
  10401. glCreateVertexArrays: TglCreateVertexArrays;
  10402. glDisableVertexArrayAttrib: TglDisableVertexArrayAttrib;
  10403. glEnableVertexArrayAttrib: TglEnableVertexArrayAttrib;
  10404. glVertexArrayElementBuffer: TglVertexArrayElementBuffer;
  10405. glVertexArrayVertexBuffer: TglVertexArrayVertexBuffer;
  10406. glVertexArrayVertexBuffers: TglVertexArrayVertexBuffers;
  10407. glVertexArrayAttribBinding: TglVertexArrayAttribBinding;
  10408. glVertexArrayAttribFormat: TglVertexArrayAttribFormat;
  10409. glVertexArrayAttribIFormat: TglVertexArrayAttribIFormat;
  10410. glVertexArrayAttribLFormat: TglVertexArrayAttribLFormat;
  10411. glVertexArrayBindingDivisor: TglVertexArrayBindingDivisor;
  10412. glGetVertexArrayiv: TglGetVertexArrayiv;
  10413. glGetVertexArrayIndexediv: TglGetVertexArrayIndexediv;
  10414. glGetVertexArrayIndexed64iv: TglGetVertexArrayIndexed64iv;
  10415. glCreateSamplers: TglCreateSamplers;
  10416. glCreateProgramPipelines: TglCreateProgramPipelines;
  10417. glCreateQueries: TglCreateQueries;
  10418. glMemoryBarrierByRegion: TglMemoryBarrierByRegion;
  10419. glGetTextureSubImage: TglGetTextureSubImage;
  10420. glGetCompressedTextureSubImage: TglGetCompressedTextureSubImage;
  10421. glGetGraphicsResetStatus: TglGetGraphicsResetStatus;
  10422. glGetnCompressedTexImage: TglGetnCompressedTexImage;
  10423. glGetnTexImage: TglGetnTexImage;
  10424. glGetnUniformdv: TglGetnUniformdv;
  10425. glGetnUniformfv: TglGetnUniformfv;
  10426. glGetnUniformiv: TglGetnUniformiv;
  10427. glGetnUniformuiv: TglGetnUniformuiv;
  10428. glReadnPixels: TglReadnPixels;
  10429. glGetnMapdv: TglGetnMapdv;
  10430. glGetnMapfv: TglGetnMapfv;
  10431. glGetnMapiv: TglGetnMapiv;
  10432. glGetnPixelMapfv: TglGetnPixelMapfv;
  10433. glGetnPixelMapuiv: TglGetnPixelMapuiv;
  10434. glGetnPixelMapusv: TglGetnPixelMapusv;
  10435. glGetnPolygonStipple: TglGetnPolygonStipple;
  10436. glGetnColorTable: TglGetnColorTable;
  10437. glGetnConvolutionFilter: TglGetnConvolutionFilter;
  10438. glGetnSeparableFilter: TglGetnSeparableFilter;
  10439. glGetnHistogram: TglGetnHistogram;
  10440. glGetnMinmax: TglGetnMinmax;
  10441. glTextureBarrier: TglTextureBarrier;
  10442. // GL_ARB_sparse_buffer
  10443. glBufferPageCommitmentARB: TglBufferPageCommitmentARB;
  10444. glNamedBufferPageCommitmentEXT: TglNamedBufferPageCommitmentEXT;
  10445. glNamedBufferPageCommitmentARB: TglNamedBufferPageCommitmentARB;
  10446. // GL_KHR_blend_equation_advanced
  10447. glBlendBarrierKHR: TglBlendBarrierKHR;
  10448. // GL_ARB_cl_event
  10449. glCreateSyncFromCLeventARB: TglCreateSyncFromCLeventARB;
  10450. // GL_ARB_debug_output
  10451. glDebugMessageControlARB: TglDebugMessageControlARB;
  10452. glDebugMessageInsertARB: TglDebugMessageInsertARB;
  10453. glDebugMessageCallbackARB: TglDebugMessageCallbackARB;
  10454. glGetDebugMessageLogARB: TglGetDebugMessageLogARB;
  10455. // GL_ARB_compute_variable_group_size
  10456. glDispatchComputeGroupSizeARB: TglDispatchComputeGroupSizeARB;
  10457. // GL_ARB_robustness
  10458. glGetGraphicsResetStatusARB: TglGetGraphicsResetStatusARB;
  10459. glGetnMapdvARB: TglGetnMapdvARB;
  10460. glGetnMapfvARB: TglGetnMapfvARB;
  10461. glGetnMapivARB: TglGetnMapivARB;
  10462. glGetnPixelMapfvARB: TglGetnPixelMapfvARB;
  10463. glGetnPixelMapuivARB: TglGetnPixelMapuivARB;
  10464. glGetnPixelMapusvARB: TglGetnPixelMapusvARB;
  10465. glGetnPolygonStippleARB: TglGetnPolygonStippleARB;
  10466. glGetnColorTableARB: TglGetnColorTableARB;
  10467. glGetnConvolutionFilterARB: TglGetnConvolutionFilterARB;
  10468. glGetnSeparableFilterARB: TglGetnSeparableFilterARB;
  10469. glGetnHistogramARB: TglGetnHistogramARB;
  10470. glGetnMinmaxARB: TglGetnMinmaxARB;
  10471. glGetnTexImageARB: TglGetnTexImageARB;
  10472. glReadnPixelsARB: TglReadnPixelsARB;
  10473. glGetnCompressedTexImageARB: TglGetnCompressedTexImageARB;
  10474. glGetnUniformfvARB: TglGetnUniformfvARB;
  10475. glGetnUniformivARB: TglGetnUniformivARB;
  10476. glGetnUniformuivARB: TglGetnUniformuivARB;
  10477. glGetnUniformdvARB: TglGetnUniformdvARB;
  10478. // GL_ATI_draw_buffers
  10479. glDrawBuffersATI: TglDrawBuffersATI;
  10480. // GL_ATI_element_array
  10481. glElementPointerATI: TglElementPointerATI;
  10482. glDrawElementArrayATI: TglDrawElementArrayATI;
  10483. glDrawRangeElementArrayATI: TglDrawRangeElementArrayATI;
  10484. // GL_ATI_envmap_bumpmap
  10485. glTexBumpParameterivATI: TglTexBumpParameterivATI;
  10486. glTexBumpParameterfvATI: TglTexBumpParameterfvATI;
  10487. glGetTexBumpParameterivATI: TglGetTexBumpParameterivATI;
  10488. glGetTexBumpParameterfvATI: TglGetTexBumpParameterfvATI;
  10489. // GL_ATI_fragment_shader
  10490. glGenFragmentShadersATI: TglGenFragmentShadersATI;
  10491. glBindFragmentShaderATI: TglBindFragmentShaderATI;
  10492. glDeleteFragmentShaderATI: TglDeleteFragmentShaderATI;
  10493. glBeginFragmentShaderATI: TglBeginFragmentShaderATI;
  10494. glEndFragmentShaderATI: TglEndFragmentShaderATI;
  10495. glPassTexCoordATI: TglPassTexCoordATI;
  10496. glSampleMapATI: TglSampleMapATI;
  10497. glColorFragmentOp1ATI: TglColorFragmentOp1ATI;
  10498. glColorFragmentOp2ATI: TglColorFragmentOp2ATI;
  10499. glColorFragmentOp3ATI: TglColorFragmentOp3ATI;
  10500. glAlphaFragmentOp1ATI: TglAlphaFragmentOp1ATI;
  10501. glAlphaFragmentOp2ATI: TglAlphaFragmentOp2ATI;
  10502. glAlphaFragmentOp3ATI: TglAlphaFragmentOp3ATI;
  10503. glSetFragmentShaderConstantATI: TglSetFragmentShaderConstantATI;
  10504. // GL_ATI_map_object_buffer
  10505. glMapObjectBufferATI: TglMapObjectBufferATI;
  10506. glUnmapObjectBufferATI: TglUnmapObjectBufferATI;
  10507. // GL_ATI_pn_triangles
  10508. glPNTrianglesiATI: TglPNTrianglesiATI;
  10509. glPNTrianglesfATI: TglPNTrianglesfATI;
  10510. // GL_ATI_separate_stencil
  10511. glStencilOpSeparateATI: TglStencilOpSeparateATI;
  10512. glStencilFuncSeparateATI: TglStencilFuncSeparateATI;
  10513. // GL_ATI_vertex_array_object
  10514. glNewObjectBufferATI: TglNewObjectBufferATI;
  10515. glIsObjectBufferATI: TglIsObjectBufferATI;
  10516. glUpdateObjectBufferATI: TglUpdateObjectBufferATI;
  10517. glGetObjectBufferfvATI: TglGetObjectBufferfvATI;
  10518. glGetObjectBufferivATI: TglGetObjectBufferivATI;
  10519. glFreeObjectBufferATI: TglFreeObjectBufferATI;
  10520. glArrayObjectATI: TglArrayObjectATI;
  10521. glGetArrayObjectfvATI: TglGetArrayObjectfvATI;
  10522. glGetArrayObjectivATI: TglGetArrayObjectivATI;
  10523. glVariantArrayObjectATI: TglVariantArrayObjectATI;
  10524. glGetVariantArrayObjectfvATI: TglGetVariantArrayObjectfvATI;
  10525. glGetVariantArrayObjectivATI: TglGetVariantArrayObjectivATI;
  10526. glVertexAttribArrayObjectATI: TglVertexAttribArrayObjectATI;
  10527. glGetVertexAttribArrayObjectfvATI: TglGetVertexAttribArrayObjectfvATI;
  10528. glGetVertexAttribArrayObjectivATI: TglGetVertexAttribArrayObjectivATI;
  10529. // GL_ATI_vertex_streams
  10530. glVertexStream1sATI: TglVertexStream1sATI;
  10531. glVertexStream1svATI: TglVertexStream1svATI;
  10532. glVertexStream1iATI: TglVertexStream1iATI;
  10533. glVertexStream1ivATI: TglVertexStream1ivATI;
  10534. glVertexStream1fATI: TglVertexStream1fATI;
  10535. glVertexStream1fvATI: TglVertexStream1fvATI;
  10536. glVertexStream1dATI: TglVertexStream1dATI;
  10537. glVertexStream1dvATI: TglVertexStream1dvATI;
  10538. glVertexStream2sATI: TglVertexStream2sATI;
  10539. glVertexStream2svATI: TglVertexStream2svATI;
  10540. glVertexStream2iATI: TglVertexStream2iATI;
  10541. glVertexStream2ivATI: TglVertexStream2ivATI;
  10542. glVertexStream2fATI: TglVertexStream2fATI;
  10543. glVertexStream2fvATI: TglVertexStream2fvATI;
  10544. glVertexStream2dATI: TglVertexStream2dATI;
  10545. glVertexStream2dvATI: TglVertexStream2dvATI;
  10546. glVertexStream3sATI: TglVertexStream3sATI;
  10547. glVertexStream3svATI: TglVertexStream3svATI;
  10548. glVertexStream3iATI: TglVertexStream3iATI;
  10549. glVertexStream3ivATI: TglVertexStream3ivATI;
  10550. glVertexStream3fATI: TglVertexStream3fATI;
  10551. glVertexStream3fvATI: TglVertexStream3fvATI;
  10552. glVertexStream3dATI: TglVertexStream3dATI;
  10553. glVertexStream3dvATI: TglVertexStream3dvATI;
  10554. glVertexStream4sATI: TglVertexStream4sATI;
  10555. glVertexStream4svATI: TglVertexStream4svATI;
  10556. glVertexStream4iATI: TglVertexStream4iATI;
  10557. glVertexStream4ivATI: TglVertexStream4ivATI;
  10558. glVertexStream4fATI: TglVertexStream4fATI;
  10559. glVertexStream4fvATI: TglVertexStream4fvATI;
  10560. glVertexStream4dATI: TglVertexStream4dATI;
  10561. glVertexStream4dvATI: TglVertexStream4dvATI;
  10562. glNormalStream3bATI: TglNormalStream3bATI;
  10563. glNormalStream3bvATI: TglNormalStream3bvATI;
  10564. glNormalStream3sATI: TglNormalStream3sATI;
  10565. glNormalStream3svATI: TglNormalStream3svATI;
  10566. glNormalStream3iATI: TglNormalStream3iATI;
  10567. glNormalStream3ivATI: TglNormalStream3ivATI;
  10568. glNormalStream3fATI: TglNormalStream3fATI;
  10569. glNormalStream3fvATI: TglNormalStream3fvATI;
  10570. glNormalStream3dATI: TglNormalStream3dATI;
  10571. glNormalStream3dvATI: TglNormalStream3dvATI;
  10572. glClientActiveVertexStreamATI: TglClientActiveVertexStreamATI;
  10573. glVertexBlendEnviATI: TglVertexBlendEnviATI;
  10574. glVertexBlendEnvfATI: TglVertexBlendEnvfATI;
  10575. // GL_AMD_performance_monitor
  10576. glGetPerfMonitorGroupsAMD: TglGetPerfMonitorGroupsAMD;
  10577. glGetPerfMonitorCountersAMD: TglGetPerfMonitorCountersAMD;
  10578. glGetPerfMonitorGroupStringAMD: TglGetPerfMonitorGroupStringAMD;
  10579. glGetPerfMonitorCounterStringAMD: TglGetPerfMonitorCounterStringAMD;
  10580. glGetPerfMonitorCounterInfoAMD: TglGetPerfMonitorCounterInfoAMD;
  10581. glGenPerfMonitorsAMD: TglGenPerfMonitorsAMD;
  10582. glDeletePerfMonitorsAMD: TglDeletePerfMonitorsAMD;
  10583. glSelectPerfMonitorCountersAMD: TglSelectPerfMonitorCountersAMD;
  10584. glBeginPerfMonitorAMD: TglBeginPerfMonitorAMD;
  10585. glEndPerfMonitorAMD: TglEndPerfMonitorAMD;
  10586. glGetPerfMonitorCounterDataAMD: TglGetPerfMonitorCounterDataAMD;
  10587. // GL_AMD_vertex_shader_tesselator
  10588. glTessellationFactorAMD: TglTessellationFactorAMD;
  10589. glTessellationModeAMD: TglTessellationModeAMD;
  10590. // GL_AMD_draw_buffers_blend
  10591. glBlendFuncIndexedAMD: TglBlendFuncIndexedAMD;
  10592. glBlendFuncSeparateIndexedAMD: TglBlendFuncSeparateIndexedAMD;
  10593. glBlendEquationIndexedAMD: TglBlendEquationIndexedAMD;
  10594. glBlendEquationSeparateIndexedAMD: TglBlendEquationSeparateIndexedAMD;
  10595. // GL_AMD_name_gen_delete
  10596. glGenNamesAMD: TglGenNamesAMD;
  10597. glDeleteNamesAMD: TglDeleteNamesAMD;
  10598. glIsNameAMD: TglIsNameAMD;
  10599. // GL_AMD_debug_output
  10600. glDebugMessageEnableAMD: TglDebugMessageEnableAMD;
  10601. glDebugMessageInsertAMD: TglDebugMessageInsertAMD;
  10602. glDebugMessageCallbackAMD: TglDebugMessageCallbackAMD;
  10603. glGetDebugMessageLogAMD: TglGetDebugMessageLogAMD;
  10604. // GL_EXT_blend_color
  10605. glBlendColorEXT: TglBlendColorEXT;
  10606. // GL_EXT_blend_func_separate
  10607. glBlendFuncSeparateEXT: TglBlendFuncSeparateEXT;
  10608. // GL_EXT_blend_minmax
  10609. glBlendEquationEXT: TglBlendEquationEXT;
  10610. // GL_EXT_color_subtable
  10611. glColorSubTableEXT: TglColorSubTableEXT;
  10612. glCopyColorSubTableEXT: TglCopyColorSubTableEXT;
  10613. // GL_EXT_compiled_vertex_array
  10614. glLockArraysEXT: TglLockArraysEXT;
  10615. glUnlockArraysEXT: TglUnlockArraysEXT;
  10616. // GL_EXT_convolution
  10617. glConvolutionFilter1DEXT: TglConvolutionFilter1DEXT;
  10618. glConvolutionFilter2DEXT: TglConvolutionFilter2DEXT;
  10619. glConvolutionParameterfEXT: TglConvolutionParameterfEXT;
  10620. glConvolutionParameterfvEXT: TglConvolutionParameterfvEXT;
  10621. glConvolutionParameteriEXT: TglConvolutionParameteriEXT;
  10622. glConvolutionParameterivEXT: TglConvolutionParameterivEXT;
  10623. glCopyConvolutionFilter1DEXT: TglCopyConvolutionFilter1DEXT;
  10624. glCopyConvolutionFilter2DEXT: TglCopyConvolutionFilter2DEXT;
  10625. glGetConvolutionFilterEXT: TglGetConvolutionFilterEXT;
  10626. glGetConvolutionParameterfvEXT: TglGetConvolutionParameterfvEXT;
  10627. glGetConvolutionParameterivEXT: TglGetConvolutionParameterivEXT;
  10628. glGetSeparableFilterEXT: TglGetSeparableFilterEXT;
  10629. glSeparableFilter2DEXT: TglSeparableFilter2DEXT;
  10630. // GL_EXT_coordinate_frame
  10631. glTangent3bEXT: TglTangent3bEXT;
  10632. glTangent3bvEXT: TglTangent3bvEXT;
  10633. glTangent3dEXT: TglTangent3dEXT;
  10634. glTangent3dvEXT: TglTangent3dvEXT;
  10635. glTangent3fEXT: TglTangent3fEXT;
  10636. glTangent3fvEXT: TglTangent3fvEXT;
  10637. glTangent3iEXT: TglTangent3iEXT;
  10638. glTangent3ivEXT: TglTangent3ivEXT;
  10639. glTangent3sEXT: TglTangent3sEXT;
  10640. glTangent3svEXT: TglTangent3svEXT;
  10641. glBinormal3bEXT: TglBinormal3bEXT;
  10642. glBinormal3bvEXT: TglBinormal3bvEXT;
  10643. glBinormal3dEXT: TglBinormal3dEXT;
  10644. glBinormal3dvEXT: TglBinormal3dvEXT;
  10645. glBinormal3fEXT: TglBinormal3fEXT;
  10646. glBinormal3fvEXT: TglBinormal3fvEXT;
  10647. glBinormal3iEXT: TglBinormal3iEXT;
  10648. glBinormal3ivEXT: TglBinormal3ivEXT;
  10649. glBinormal3sEXT: TglBinormal3sEXT;
  10650. glBinormal3svEXT: TglBinormal3svEXT;
  10651. glTangentPointerEXT: TglTangentPointerEXT;
  10652. glBinormalPointerEXT: TglBinormalPointerEXT;
  10653. // GL_EXT_copy_texture
  10654. glCopyTexImage1DEXT: TglCopyTexImage1DEXT;
  10655. glCopyTexImage2DEXT: TglCopyTexImage2DEXT;
  10656. glCopyTexSubImage1DEXT: TglCopyTexSubImage1DEXT;
  10657. glCopyTexSubImage2DEXT: TglCopyTexSubImage2DEXT;
  10658. glCopyTexSubImage3DEXT: TglCopyTexSubImage3DEXT;
  10659. // GL_EXT_cull_vertex
  10660. glCullParameterdvEXT: TglCullParameterdvEXT;
  10661. glCullParameterfvEXT: TglCullParameterfvEXT;
  10662. // GL_EXT_draw_range_elements
  10663. glDrawRangeElementsEXT: TglDrawRangeElementsEXT;
  10664. // GL_EXT_fog_coord
  10665. glFogCoordfEXT: TglFogCoordfEXT;
  10666. glFogCoordfvEXT: TglFogCoordfvEXT;
  10667. glFogCoorddEXT: TglFogCoorddEXT;
  10668. glFogCoorddvEXT: TglFogCoorddvEXT;
  10669. glFogCoordPointerEXT: TglFogCoordPointerEXT;
  10670. // GL_EXT_framebuffer_object
  10671. glIsRenderbufferEXT: TglIsRenderbufferEXT;
  10672. glBindRenderbufferEXT: TglBindRenderbufferEXT;
  10673. glDeleteRenderbuffersEXT: TglDeleteRenderbuffersEXT;
  10674. glGenRenderbuffersEXT: TglGenRenderbuffersEXT;
  10675. glRenderbufferStorageEXT: TglRenderbufferStorageEXT;
  10676. glGetRenderbufferParameterivEXT: TglGetRenderbufferParameterivEXT;
  10677. glIsFramebufferEXT: TglIsFramebufferEXT;
  10678. glBindFramebufferEXT: TglBindFramebufferEXT;
  10679. glDeleteFramebuffersEXT: TglDeleteFramebuffersEXT;
  10680. glGenFramebuffersEXT: TglGenFramebuffersEXT;
  10681. glCheckFramebufferStatusEXT: TglCheckFramebufferStatusEXT;
  10682. glFramebufferTexture1DEXT: TglFramebufferTexture1DEXT;
  10683. glFramebufferTexture2DEXT: TglFramebufferTexture2DEXT;
  10684. glFramebufferTexture3DEXT: TglFramebufferTexture3DEXT;
  10685. glFramebufferRenderbufferEXT: TglFramebufferRenderbufferEXT;
  10686. glGetFramebufferAttachmentParameterivEXT: TglGetFramebufferAttachmentParameterivEXT;
  10687. glGenerateMipmapEXT: TglGenerateMipmapEXT;
  10688. // GL_EXT_histogram
  10689. glGetHistogramEXT: TglGetHistogramEXT;
  10690. glGetHistogramParameterfvEXT: TglGetHistogramParameterfvEXT;
  10691. glGetHistogramParameterivEXT: TglGetHistogramParameterivEXT;
  10692. glGetMinmaxEXT: TglGetMinmaxEXT;
  10693. glGetMinmaxParameterfvEXT: TglGetMinmaxParameterfvEXT;
  10694. glGetMinmaxParameterivEXT: TglGetMinmaxParameterivEXT;
  10695. glHistogramEXT: TglHistogramEXT;
  10696. glMinmaxEXT: TglMinmaxEXT;
  10697. glResetHistogramEXT: TglResetHistogramEXT;
  10698. glResetMinmaxEXT: TglResetMinmaxEXT;
  10699. // GL_EXT_index_func
  10700. glIndexFuncEXT: TglIndexFuncEXT;
  10701. // GL_EXT_index_material
  10702. glIndexMaterialEXT: TglIndexMaterialEXT;
  10703. // GL_EXT_light_texture
  10704. glApplyTextureEXT: TglApplyTextureEXT;
  10705. glTextureLightEXT: TglTextureLightEXT;
  10706. glTextureMaterialEXT: TglTextureMaterialEXT;
  10707. // GL_EXT_multi_draw_arrays
  10708. glMultiDrawArraysEXT: TglMultiDrawArraysEXT;
  10709. glMultiDrawElementsEXT: TglMultiDrawElementsEXT;
  10710. // GL_EXT_multisample
  10711. glSampleMaskEXT: TglSampleMaskEXT;
  10712. glSamplePatternEXT: TglSamplePatternEXT;
  10713. // GL_EXT_paletted_texture
  10714. glColorTableEXT: TglColorTableEXT;
  10715. glGetColorTableEXT: TglGetColorTableEXT;
  10716. glGetColorTableParameterivEXT: TglGetColorTableParameterivEXT;
  10717. glGetColorTableParameterfvEXT: TglGetColorTableParameterfvEXT;
  10718. // GL_EXT_pixel_transform
  10719. glPixelTransformParameteriEXT: TglPixelTransformParameteriEXT;
  10720. glPixelTransformParameterfEXT: TglPixelTransformParameterfEXT;
  10721. glPixelTransformParameterivEXT: TglPixelTransformParameterivEXT;
  10722. glPixelTransformParameterfvEXT: TglPixelTransformParameterfvEXT;
  10723. // GL_EXT_point_parameters
  10724. glPointParameterfEXT: TglPointParameterfEXT;
  10725. glPointParameterfvEXT: TglPointParameterfvEXT;
  10726. // GL_EXT_polygon_offset
  10727. glPolygonOffsetEXT: TglPolygonOffsetEXT;
  10728. // GL_EXT_secondary_color
  10729. glSecondaryColor3bEXT: TglSecondaryColor3bEXT;
  10730. glSecondaryColor3bvEXT: TglSecondaryColor3bvEXT;
  10731. glSecondaryColor3dEXT: TglSecondaryColor3dEXT;
  10732. glSecondaryColor3dvEXT: TglSecondaryColor3dvEXT;
  10733. glSecondaryColor3fEXT: TglSecondaryColor3fEXT;
  10734. glSecondaryColor3fvEXT: TglSecondaryColor3fvEXT;
  10735. glSecondaryColor3iEXT: TglSecondaryColor3iEXT;
  10736. glSecondaryColor3ivEXT: TglSecondaryColor3ivEXT;
  10737. glSecondaryColor3sEXT: TglSecondaryColor3sEXT;
  10738. glSecondaryColor3svEXT: TglSecondaryColor3svEXT;
  10739. glSecondaryColor3ubEXT: TglSecondaryColor3ubEXT;
  10740. glSecondaryColor3ubvEXT: TglSecondaryColor3ubvEXT;
  10741. glSecondaryColor3uiEXT: TglSecondaryColor3uiEXT;
  10742. glSecondaryColor3uivEXT: TglSecondaryColor3uivEXT;
  10743. glSecondaryColor3usEXT: TglSecondaryColor3usEXT;
  10744. glSecondaryColor3usvEXT: TglSecondaryColor3usvEXT;
  10745. glSecondaryColorPointerEXT: TglSecondaryColorPointerEXT;
  10746. // GL_EXT_stencil_two_side
  10747. glActiveStencilFaceEXT: TglActiveStencilFaceEXT;
  10748. // GL_EXT_subtexture
  10749. glTexSubImage1DEXT: TglTexSubImage1DEXT;
  10750. glTexSubImage2DEXT: TglTexSubImage2DEXT;
  10751. // GL_EXT_texture3D
  10752. glTexImage3DEXT: TglTexImage3DEXT;
  10753. glTexSubImage3DEXT: TglTexSubImage3DEXT;
  10754. // GL_EXT_texture_object
  10755. glAreTexturesResidentEXT: TglAreTexturesResidentEXT;
  10756. glBindTextureEXT: TglBindTextureEXT;
  10757. glDeleteTexturesEXT: TglDeleteTexturesEXT;
  10758. glGenTexturesEXT: TglGenTexturesEXT;
  10759. glIsTextureEXT: TglIsTextureEXT;
  10760. glPrioritizeTexturesEXT: TglPrioritizeTexturesEXT;
  10761. // GL_EXT_texture_perturb_normal
  10762. glTextureNormalEXT: TglTextureNormalEXT;
  10763. // GL_EXT_vertex_array
  10764. glArrayElementEXT: TglArrayElementEXT;
  10765. glColorPointerEXT: TglColorPointerEXT;
  10766. glDrawArraysEXT: TglDrawArraysEXT;
  10767. glEdgeFlagPointerEXT: TglEdgeFlagPointerEXT;
  10768. glGetPointervEXT: TglGetPointervEXT;
  10769. glIndexPointerEXT: TglIndexPointerEXT;
  10770. glNormalPointerEXT: TglNormalPointerEXT;
  10771. glTexCoordPointerEXT: TglTexCoordPointerEXT;
  10772. glVertexPointerEXT: TglVertexPointerEXT;
  10773. // GL_EXT_vertex_shader
  10774. glBeginVertexShaderEXT: TglBeginVertexShaderEXT;
  10775. glEndVertexShaderEXT: TglEndVertexShaderEXT;
  10776. glBindVertexShaderEXT: TglBindVertexShaderEXT;
  10777. glGenVertexShadersEXT: TglGenVertexShadersEXT;
  10778. glDeleteVertexShaderEXT: TglDeleteVertexShaderEXT;
  10779. glShaderOp1EXT: TglShaderOp1EXT;
  10780. glShaderOp2EXT: TglShaderOp2EXT;
  10781. glShaderOp3EXT: TglShaderOp3EXT;
  10782. glSwizzleEXT: TglSwizzleEXT;
  10783. glWriteMaskEXT: TglWriteMaskEXT;
  10784. glInsertComponentEXT: TglInsertComponentEXT;
  10785. glExtractComponentEXT: TglExtractComponentEXT;
  10786. glGenSymbolsEXT: TglGenSymbolsEXT;
  10787. glSetInvariantEXT: TglSetInvariantEXT;
  10788. glSetLocalConstantEXT: TglSetLocalConstantEXT;
  10789. glVariantbvEXT: TglVariantbvEXT;
  10790. glVariantsvEXT: TglVariantsvEXT;
  10791. glVariantivEXT: TglVariantivEXT;
  10792. glVariantfvEXT: TglVariantfvEXT;
  10793. glVariantdvEXT: TglVariantdvEXT;
  10794. glVariantubvEXT: TglVariantubvEXT;
  10795. glVariantusvEXT: TglVariantusvEXT;
  10796. glVariantuivEXT: TglVariantuivEXT;
  10797. glVariantPointerEXT: TglVariantPointerEXT;
  10798. glEnableVariantClientStateEXT: TglEnableVariantClientStateEXT;
  10799. glDisableVariantClientStateEXT: TglDisableVariantClientStateEXT;
  10800. glBindLightParameterEXT: TglBindLightParameterEXT;
  10801. glBindMaterialParameterEXT: TglBindMaterialParameterEXT;
  10802. glBindTexGenParameterEXT: TglBindTexGenParameterEXT;
  10803. glBindTextureUnitParameterEXT: TglBindTextureUnitParameterEXT;
  10804. glBindParameterEXT: TglBindParameterEXT;
  10805. glIsVariantEnabledEXT: TglIsVariantEnabledEXT;
  10806. glGetVariantBooleanvEXT: TglGetVariantBooleanvEXT;
  10807. glGetVariantIntegervEXT: TglGetVariantIntegervEXT;
  10808. glGetVariantFloatvEXT: TglGetVariantFloatvEXT;
  10809. glGetVariantPointervEXT: TglGetVariantPointervEXT;
  10810. glGetInvariantBooleanvEXT: TglGetInvariantBooleanvEXT;
  10811. glGetInvariantIntegervEXT: TglGetInvariantIntegervEXT;
  10812. glGetInvariantFloatvEXT: TglGetInvariantFloatvEXT;
  10813. glGetLocalConstantBooleanvEXT: TglGetLocalConstantBooleanvEXT;
  10814. glGetLocalConstantIntegervEXT: TglGetLocalConstantIntegervEXT;
  10815. glGetLocalConstantFloatvEXT: TglGetLocalConstantFloatvEXT;
  10816. // GL_EXT_vertex_weighting
  10817. glVertexWeightfEXT: TglVertexWeightfEXT;
  10818. glVertexWeightfvEXT: TglVertexWeightfvEXT;
  10819. glVertexWeightPointerEXT: TglVertexWeightPointerEXT;
  10820. // GL_EXT_stencil_clear_tag
  10821. glStencilClearTagEXT: TglStencilClearTagEXT;
  10822. // GL_EXT_framebuffer_blit
  10823. glBlitFramebufferEXT: TglBlitFramebufferEXT;
  10824. // GL_EXT_framebuffer_multisample
  10825. glRenderbufferStorageMultisampleEXT: TglRenderbufferStorageMultisampleEXT;
  10826. // GL_EXT_timer_query
  10827. glGetQueryObjecti64vEXT: TglGetQueryObjecti64vEXT;
  10828. glGetQueryObjectui64vEXT: TglGetQueryObjectui64vEXT;
  10829. // GL_EXT_gpu_program_parameters
  10830. glProgramEnvParameters4fvEXT: TglProgramEnvParameters4fvEXT;
  10831. glProgramLocalParameters4fvEXT: TglProgramLocalParameters4fvEXT;
  10832. // GL_EXT_bindable_uniform
  10833. glUniformBufferEXT: TglUniformBufferEXT;
  10834. glGetUniformBufferSizeEXT: TglGetUniformBufferSizeEXT;
  10835. glGetUniformOffsetEXT: TglGetUniformOffsetEXT;
  10836. // GL_EXT_draw_buffers2
  10837. glColorMaskIndexedEXT: TglColorMaskIndexedEXT;
  10838. glGetBooleanIndexedvEXT: TglGetBooleanIndexedvEXT;
  10839. glGetIntegerIndexedvEXT: TglGetIntegerIndexedvEXT;
  10840. glEnableIndexedEXT: TglEnableIndexedEXT;
  10841. glDisableIndexedEXT: TglDisableIndexedEXT;
  10842. glIsEnabledIndexedEXT: TglIsEnabledIndexedEXT;
  10843. // GL_EXT_draw_instanced
  10844. glDrawArraysInstancedEXT: TglDrawArraysInstancedEXT;
  10845. glDrawElementsInstancedEXT: TglDrawElementsInstancedEXT;
  10846. // GL_EXT_geometry_shader4
  10847. glProgramParameteriEXT: TglProgramParameteriEXT;
  10848. glFramebufferTextureEXT: TglFramebufferTextureEXT;
  10849. // glFramebufferTextureLayerEXT: TglFramebufferTextureLayerEXT;
  10850. glFramebufferTextureFaceEXT: TglFramebufferTextureFaceEXT;
  10851. // GL_EXT_gpu_shader4
  10852. glVertexAttribI1iEXT: TglVertexAttribI1iEXT;
  10853. glVertexAttribI2iEXT: TglVertexAttribI2iEXT;
  10854. glVertexAttribI3iEXT: TglVertexAttribI3iEXT;
  10855. glVertexAttribI4iEXT: TglVertexAttribI4iEXT;
  10856. glVertexAttribI1uiEXT: TglVertexAttribI1uiEXT;
  10857. glVertexAttribI2uiEXT: TglVertexAttribI2uiEXT;
  10858. glVertexAttribI3uiEXT: TglVertexAttribI3uiEXT;
  10859. glVertexAttribI4uiEXT: TglVertexAttribI4uiEXT;
  10860. glVertexAttribI1ivEXT: TglVertexAttribI1ivEXT;
  10861. glVertexAttribI2ivEXT: TglVertexAttribI2ivEXT;
  10862. glVertexAttribI3ivEXT: TglVertexAttribI3ivEXT;
  10863. glVertexAttribI4ivEXT: TglVertexAttribI4ivEXT;
  10864. glVertexAttribI1uivEXT: TglVertexAttribI1uivEXT;
  10865. glVertexAttribI2uivEXT: TglVertexAttribI2uivEXT;
  10866. glVertexAttribI3uivEXT: TglVertexAttribI3uivEXT;
  10867. glVertexAttribI4uivEXT: TglVertexAttribI4uivEXT;
  10868. glVertexAttribI4bvEXT: TglVertexAttribI4bvEXT;
  10869. glVertexAttribI4svEXT: TglVertexAttribI4svEXT;
  10870. glVertexAttribI4ubvEXT: TglVertexAttribI4ubvEXT;
  10871. glVertexAttribI4usvEXT: TglVertexAttribI4usvEXT;
  10872. glVertexAttribIPointerEXT: TglVertexAttribIPointerEXT;
  10873. glGetVertexAttribIivEXT: TglGetVertexAttribIivEXT;
  10874. glGetVertexAttribIuivEXT: TglGetVertexAttribIuivEXT;
  10875. glUniform1uiEXT: TglUniform1uiEXT;
  10876. glUniform2uiEXT: TglUniform2uiEXT;
  10877. glUniform3uiEXT: TglUniform3uiEXT;
  10878. glUniform4uiEXT: TglUniform4uiEXT;
  10879. glUniform1uivEXT: TglUniform1uivEXT;
  10880. glUniform2uivEXT: TglUniform2uivEXT;
  10881. glUniform3uivEXT: TglUniform3uivEXT;
  10882. glUniform4uivEXT: TglUniform4uivEXT;
  10883. glGetUniformuivEXT: TglGetUniformuivEXT;
  10884. glBindFragDataLocationEXT: TglBindFragDataLocationEXT;
  10885. glGetFragDataLocationEXT: TglGetFragDataLocationEXT;
  10886. // GL_EXT_texture_array
  10887. glFramebufferTextureLayerEXT: TglFramebufferTextureLayerEXT;
  10888. // GL_EXT_texture_buffer_object
  10889. glTexBufferEXT: TglTexBufferEXT;
  10890. // GL_EXT_texture_integer
  10891. glClearColorIiEXT: TglClearColorIiEXT;
  10892. glClearColorIuiEXT: TglClearColorIuiEXT;
  10893. glTexParameterIivEXT: TglTexParameterIivEXT;
  10894. glTexParameterIuivEXT: TglTexParameterIuivEXT;
  10895. glGetTexParameterIivEXT: TglGetTexParameterIivEXT;
  10896. glGetTexParameterIiuvEXT: TglGetTexParameterIiuvEXT;
  10897. // GL_EXT_transform_feedback
  10898. glBeginTransformFeedbackEXT: TglBeginTransformFeedbackEXT;
  10899. glEndTransformFeedbackEXT: TglEndTransformFeedbackEXT;
  10900. glBindBufferRangeEXT: TglBindBufferRangeEXT;
  10901. glBindBufferOffsetEXT: TglBindBufferOffsetEXT;
  10902. glBindBufferBaseEXT: TglBindBufferBaseEXT;
  10903. glTransformFeedbackVaryingsEXT: TglTransformFeedbackVaryingsEXT;
  10904. glGetTransformFeedbackVaryingEXT: TglGetTransformFeedbackVaryingEXT;
  10905. // GL_EXT_direct_state_access
  10906. glClientAttribDefaultEXT: TglClientAttribDefaultEXT;
  10907. glPushClientAttribDefaultEXT: TglPushClientAttribDefaultEXT;
  10908. glMatrixLoadfEXT: TglMatrixLoadfEXT;
  10909. glMatrixLoaddEXT: TglMatrixLoaddEXT;
  10910. glMatrixMultfEXT: TglMatrixMultfEXT;
  10911. glMatrixMultdEXT: TglMatrixMultdEXT;
  10912. glMatrixLoadIdentityEXT: TglMatrixLoadIdentityEXT;
  10913. glMatrixRotatefEXT: TglMatrixRotatefEXT;
  10914. glMatrixRotatedEXT: TglMatrixRotatedEXT;
  10915. glMatrixScalefEXT: TglMatrixScalefEXT;
  10916. glMatrixScaledEXT: TglMatrixScaledEXT;
  10917. glMatrixTranslatefEXT: TglMatrixTranslatefEXT;
  10918. glMatrixTranslatedEXT: TglMatrixTranslatedEXT;
  10919. glMatrixFrustumEXT: TglMatrixFrustumEXT;
  10920. glMatrixOrthoEXT: TglMatrixOrthoEXT;
  10921. glMatrixPopEXT: TglMatrixPopEXT;
  10922. glMatrixPushEXT: TglMatrixPushEXT;
  10923. glMatrixLoadTransposefEXT: TglMatrixLoadTransposefEXT;
  10924. glMatrixLoadTransposedEXT: TglMatrixLoadTransposedEXT;
  10925. glMatrixMultTransposefEXT: TglMatrixMultTransposefEXT;
  10926. glMatrixMultTransposedEXT: TglMatrixMultTransposedEXT;
  10927. glTextureParameterfEXT: TglTextureParameterfEXT;
  10928. glTextureParameterfvEXT: TglTextureParameterfvEXT;
  10929. glTextureParameteriEXT: TglTextureParameteriEXT;
  10930. glTextureParameterivEXT: TglTextureParameterivEXT;
  10931. glTextureImage1DEXT: TglTextureImage1DEXT;
  10932. glTextureImage2DEXT: TglTextureImage2DEXT;
  10933. glTextureSubImage1DEXT: TglTextureSubImage1DEXT;
  10934. glTextureSubImage2DEXT: TglTextureSubImage2DEXT;
  10935. glCopyTextureImage1DEXT: TglCopyTextureImage1DEXT;
  10936. glCopyTextureImage2DEXT: TglCopyTextureImage2DEXT;
  10937. glCopyTextureSubImage1DEXT: TglCopyTextureSubImage1DEXT;
  10938. glCopyTextureSubImage2DEXT: TglCopyTextureSubImage2DEXT;
  10939. glGetTextureImageEXT: TglGetTextureImageEXT;
  10940. glGetTextureParameterfvEXT: TglGetTextureParameterfvEXT;
  10941. glGetTextureParameterivEXT: TglGetTextureParameterivEXT;
  10942. glGetTextureLevelParameterfvEXT: TglGetTextureLevelParameterfvEXT;
  10943. glGetTextureLevelParameterivEXT: TglGetTextureLevelParameterivEXT;
  10944. glTextureImage3DEXT: TglTextureImage3DEXT;
  10945. glTextureSubImage3DEXT: TglTextureSubImage3DEXT;
  10946. glCopyTextureSubImage3DEXT: TglCopyTextureSubImage3DEXT;
  10947. glMultiTexParameterfEXT: TglMultiTexParameterfEXT;
  10948. glMultiTexParameterfvEXT: TglMultiTexParameterfvEXT;
  10949. glMultiTexParameteriEXT: TglMultiTexParameteriEXT;
  10950. glMultiTexParameterivEXT: TglMultiTexParameterivEXT;
  10951. glMultiTexImage1DEXT: TglMultiTexImage1DEXT;
  10952. glMultiTexImage2DEXT: TglMultiTexImage2DEXT;
  10953. glMultiTexSubImage1DEXT: TglMultiTexSubImage1DEXT;
  10954. glMultiTexSubImage2DEXT: TglMultiTexSubImage2DEXT;
  10955. glCopyMultiTexImage1DEXT: TglCopyMultiTexImage1DEXT;
  10956. glCopyMultiTexImage2DEXT: TglCopyMultiTexImage2DEXT;
  10957. glCopyMultiTexSubImage1DEXT: TglCopyMultiTexSubImage1DEXT;
  10958. glCopyMultiTexSubImage2DEXT: TglCopyMultiTexSubImage2DEXT;
  10959. glGetMultiTexImageEXT: TglGetMultiTexImageEXT;
  10960. glGetMultiTexParameterfvEXT: TglGetMultiTexParameterfvEXT;
  10961. glGetMultiTexParameterivEXT: TglGetMultiTexParameterivEXT;
  10962. glGetMultiTexLevelParameterfvEXT: TglGetMultiTexLevelParameterfvEXT;
  10963. glGetMultiTexLevelParameterivEXT: TglGetMultiTexLevelParameterivEXT;
  10964. glMultiTexImage3DEXT: TglMultiTexImage3DEXT;
  10965. glMultiTexSubImage3DEXT: TglMultiTexSubImage3DEXT;
  10966. glCopyMultiTexSubImage3DEXT: TglCopyMultiTexSubImage3DEXT;
  10967. glBindMultiTextureEXT: TglBindMultiTextureEXT;
  10968. glEnableClientStateIndexedEXT: TglEnableClientStateIndexedEXT;
  10969. glDisableClientStateIndexedEXT: TglDisableClientStateIndexedEXT;
  10970. glMultiTexCoordPointerEXT: TglMultiTexCoordPointerEXT;
  10971. glMultiTexEnvfEXT: TglMultiTexEnvfEXT;
  10972. glMultiTexEnvfvEXT: TglMultiTexEnvfvEXT;
  10973. glMultiTexEnviEXT: TglMultiTexEnviEXT;
  10974. glMultiTexEnvivEXT: TglMultiTexEnvivEXT;
  10975. glMultiTexGendEXT: TglMultiTexGendEXT;
  10976. glMultiTexGendvEXT: TglMultiTexGendvEXT;
  10977. glMultiTexGenfEXT: TglMultiTexGenfEXT;
  10978. glMultiTexGenfvEXT: TglMultiTexGenfvEXT;
  10979. glMultiTexGeniEXT: TglMultiTexGeniEXT;
  10980. glMultiTexGenivEXT: TglMultiTexGenivEXT;
  10981. glGetMultiTexEnvfvEXT: TglGetMultiTexEnvfvEXT;
  10982. glGetMultiTexEnvivEXT: TglGetMultiTexEnvivEXT;
  10983. glGetMultiTexGendvEXT: TglGetMultiTexGendvEXT;
  10984. glGetMultiTexGenfvEXT: TglGetMultiTexGenfvEXT;
  10985. glGetMultiTexGenivEXT: TglGetMultiTexGenivEXT;
  10986. glGetFloatIndexedvEXT: TglGetFloatIndexedvEXT;
  10987. glGetDoubleIndexedvEXT: TglGetDoubleIndexedvEXT;
  10988. glGetPointerIndexedvEXT: TglGetPointerIndexedvEXT;
  10989. glCompressedTextureImage3DEXT: TglCompressedTextureImage3DEXT;
  10990. glCompressedTextureImage2DEXT: TglCompressedTextureImage2DEXT;
  10991. glCompressedTextureImage1DEXT: TglCompressedTextureImage1DEXT;
  10992. glCompressedTextureSubImage3DEXT: TglCompressedTextureSubImage3DEXT;
  10993. glCompressedTextureSubImage2DEXT: TglCompressedTextureSubImage2DEXT;
  10994. glCompressedTextureSubImage1DEXT: TglCompressedTextureSubImage1DEXT;
  10995. glGetCompressedTextureImageEXT: TglGetCompressedTextureImageEXT;
  10996. glCompressedMultiTexImage3DEXT: TglCompressedMultiTexImage3DEXT;
  10997. glCompressedMultiTexImage2DEXT: TglCompressedMultiTexImage2DEXT;
  10998. glCompressedMultiTexImage1DEXT: TglCompressedMultiTexImage1DEXT;
  10999. glCompressedMultiTexSubImage3DEXT: TglCompressedMultiTexSubImage3DEXT;
  11000. glCompressedMultiTexSubImage2DEXT: TglCompressedMultiTexSubImage2DEXT;
  11001. glCompressedMultiTexSubImage1DEXT: TglCompressedMultiTexSubImage1DEXT;
  11002. glGetCompressedMultiTexImageEXT: TglGetCompressedMultiTexImageEXT;
  11003. glNamedProgramStringEXT: TglNamedProgramStringEXT;
  11004. glNamedProgramLocalParameter4dEXT: TglNamedProgramLocalParameter4dEXT;
  11005. glNamedProgramLocalParameter4dvEXT: TglNamedProgramLocalParameter4dvEXT;
  11006. glNamedProgramLocalParameter4fEXT: TglNamedProgramLocalParameter4fEXT;
  11007. glNamedProgramLocalParameter4fvEXT: TglNamedProgramLocalParameter4fvEXT;
  11008. glGetNamedProgramLocalParameterdvEXT: TglGetNamedProgramLocalParameterdvEXT;
  11009. glGetNamedProgramLocalParameterfvEXT: TglGetNamedProgramLocalParameterfvEXT;
  11010. glGetNamedProgramivEXT: TglGetNamedProgramivEXT;
  11011. glGetNamedProgramStringEXT: TglGetNamedProgramStringEXT;
  11012. glNamedProgramLocalParameters4fvEXT: TglNamedProgramLocalParameters4fvEXT;
  11013. glNamedProgramLocalParameterI4iEXT: TglNamedProgramLocalParameterI4iEXT;
  11014. glNamedProgramLocalParameterI4ivEXT: TglNamedProgramLocalParameterI4ivEXT;
  11015. glNamedProgramLocalParametersI4ivEXT: TglNamedProgramLocalParametersI4ivEXT;
  11016. glNamedProgramLocalParameterI4uiEXT: TglNamedProgramLocalParameterI4uiEXT;
  11017. glNamedProgramLocalParameterI4uivEXT: TglNamedProgramLocalParameterI4uivEXT;
  11018. glNamedProgramLocalParametersI4uivEXT: TglNamedProgramLocalParametersI4uivEXT;
  11019. glGetNamedProgramLocalParameterIivEXT: TglGetNamedProgramLocalParameterIivEXT;
  11020. glGetNamedProgramLocalParameterIuivEXT: TglGetNamedProgramLocalParameterIuivEXT;
  11021. glTextureParameterIivEXT: TglTextureParameterIivEXT;
  11022. glTextureParameterIuivEXT: TglTextureParameterIuivEXT;
  11023. glGetTextureParameterIivEXT: TglGetTextureParameterIivEXT;
  11024. glGetTextureParameterIuivEXT: TglGetTextureParameterIuivEXT;
  11025. glMultiTexParameterIivEXT: TglMultiTexParameterIivEXT;
  11026. glMultiTexParameterIuivEXT: TglMultiTexParameterIuivEXT;
  11027. glGetMultiTexParameterIivEXT: TglGetMultiTexParameterIivEXT;
  11028. glGetMultiTexParameterIuivEXT: TglGetMultiTexParameterIuivEXT;
  11029. glProgramUniform1fEXT: TglProgramUniform1fEXT;
  11030. glProgramUniform2fEXT: TglProgramUniform2fEXT;
  11031. glProgramUniform3fEXT: TglProgramUniform3fEXT;
  11032. glProgramUniform4fEXT: TglProgramUniform4fEXT;
  11033. glProgramUniform1iEXT: TglProgramUniform1iEXT;
  11034. glProgramUniform2iEXT: TglProgramUniform2iEXT;
  11035. glProgramUniform3iEXT: TglProgramUniform3iEXT;
  11036. glProgramUniform4iEXT: TglProgramUniform4iEXT;
  11037. glProgramUniform1fvEXT: TglProgramUniform1fvEXT;
  11038. glProgramUniform2fvEXT: TglProgramUniform2fvEXT;
  11039. glProgramUniform3fvEXT: TglProgramUniform3fvEXT;
  11040. glProgramUniform4fvEXT: TglProgramUniform4fvEXT;
  11041. glProgramUniform1ivEXT: TglProgramUniform1ivEXT;
  11042. glProgramUniform2ivEXT: TglProgramUniform2ivEXT;
  11043. glProgramUniform3ivEXT: TglProgramUniform3ivEXT;
  11044. glProgramUniform4ivEXT: TglProgramUniform4ivEXT;
  11045. glProgramUniformMatrix2fvEXT: TglProgramUniformMatrix2fvEXT;
  11046. glProgramUniformMatrix3fvEXT: TglProgramUniformMatrix3fvEXT;
  11047. glProgramUniformMatrix4fvEXT: TglProgramUniformMatrix4fvEXT;
  11048. glProgramUniformMatrix2x3fvEXT: TglProgramUniformMatrix2x3fvEXT;
  11049. glProgramUniformMatrix3x2fvEXT: TglProgramUniformMatrix3x2fvEXT;
  11050. glProgramUniformMatrix2x4fvEXT: TglProgramUniformMatrix2x4fvEXT;
  11051. glProgramUniformMatrix4x2fvEXT: TglProgramUniformMatrix4x2fvEXT;
  11052. glProgramUniformMatrix3x4fvEXT: TglProgramUniformMatrix3x4fvEXT;
  11053. glProgramUniformMatrix4x3fvEXT: TglProgramUniformMatrix4x3fvEXT;
  11054. glProgramUniform1uiEXT: TglProgramUniform1uiEXT;
  11055. glProgramUniform2uiEXT: TglProgramUniform2uiEXT;
  11056. glProgramUniform3uiEXT: TglProgramUniform3uiEXT;
  11057. glProgramUniform4uiEXT: TglProgramUniform4uiEXT;
  11058. glProgramUniform1uivEXT: TglProgramUniform1uivEXT;
  11059. glProgramUniform2uivEXT: TglProgramUniform2uivEXT;
  11060. glProgramUniform3uivEXT: TglProgramUniform3uivEXT;
  11061. glProgramUniform4uivEXT: TglProgramUniform4uivEXT;
  11062. glNamedBufferDataEXT: TglNamedBufferDataEXT;
  11063. glNamedBufferSubDataEXT: TglNamedBufferSubDataEXT;
  11064. glMapNamedBufferEXT: TglMapNamedBufferEXT;
  11065. glUnmapNamedBufferEXT: TglUnmapNamedBufferEXT;
  11066. glMapNamedBufferRangeEXT: TglMapNamedBufferRangeEXT;
  11067. glFlushMappedNamedBufferRangeEXT: TglFlushMappedNamedBufferRangeEXT;
  11068. glNamedCopyBufferSubDataEXT: TglNamedCopyBufferSubDataEXT;
  11069. glGetNamedBufferParameterivEXT: TglGetNamedBufferParameterivEXT;
  11070. glGetNamedBufferPointervEXT: TglGetNamedBufferPointervEXT;
  11071. glGetNamedBufferSubDataEXT: TglGetNamedBufferSubDataEXT;
  11072. glTextureBufferEXT: TglTextureBufferEXT;
  11073. glMultiTexBufferEXT: TglMultiTexBufferEXT;
  11074. glNamedRenderbufferStorageEXT: TglNamedRenderbufferStorageEXT;
  11075. glGetNamedRenderbufferParameterivEXT: TglGetNamedRenderbufferParameterivEXT;
  11076. glCheckNamedFramebufferStatusEXT: TglCheckNamedFramebufferStatusEXT;
  11077. glNamedFramebufferTexture1DEXT: TglNamedFramebufferTexture1DEXT;
  11078. glNamedFramebufferTexture2DEXT: TglNamedFramebufferTexture2DEXT;
  11079. glNamedFramebufferTexture3DEXT: TglNamedFramebufferTexture3DEXT;
  11080. glNamedFramebufferRenderbufferEXT: TglNamedFramebufferRenderbufferEXT;
  11081. glGetNamedFramebufferAttachmentParameterivEXT: TglGetNamedFramebufferAttachmentParameterivEXT;
  11082. glGenerateTextureMipmapEXT: TglGenerateTextureMipmapEXT;
  11083. glGenerateMultiTexMipmapEXT: TglGenerateMultiTexMipmapEXT;
  11084. glFramebufferDrawBufferEXT: TglFramebufferDrawBufferEXT;
  11085. glFramebufferDrawBuffersEXT: TglFramebufferDrawBuffersEXT;
  11086. glFramebufferReadBufferEXT: TglFramebufferReadBufferEXT;
  11087. glGetFramebufferParameterivEXT: TglGetFramebufferParameterivEXT;
  11088. glNamedRenderbufferStorageMultisampleEXT: TglNamedRenderbufferStorageMultisampleEXT;
  11089. glNamedRenderbufferStorageMultisampleCoverageEXT: TglNamedRenderbufferStorageMultisampleCoverageEXT;
  11090. glNamedFramebufferTextureEXT: TglNamedFramebufferTextureEXT;
  11091. glNamedFramebufferTextureLayerEXT: TglNamedFramebufferTextureLayerEXT;
  11092. glNamedFramebufferTextureFaceEXT: TglNamedFramebufferTextureFaceEXT;
  11093. glTextureRenderbufferEXT: TglTextureRenderbufferEXT;
  11094. glMultiTexRenderbufferEXT: TglMultiTexRenderbufferEXT;
  11095. glProgramUniform1dEXT: TglProgramUniform1dEXT;
  11096. glProgramUniform2dEXT: TglProgramUniform2dEXT;
  11097. glProgramUniform3dEXT: TglProgramUniform3dEXT;
  11098. glProgramUniform4dEXT: TglProgramUniform4dEXT;
  11099. glProgramUniform1dvEXT: TglProgramUniform1dvEXT;
  11100. glProgramUniform2dvEXT: TglProgramUniform2dvEXT;
  11101. glProgramUniform3dvEXT: TglProgramUniform3dvEXT;
  11102. glProgramUniform4dvEXT: TglProgramUniform4dvEXT;
  11103. glProgramUniformMatrix2dvEXT: TglProgramUniformMatrix2dvEXT;
  11104. glProgramUniformMatrix3dvEXT: TglProgramUniformMatrix3dvEXT;
  11105. glProgramUniformMatrix4dvEXT: TglProgramUniformMatrix4dvEXT;
  11106. glProgramUniformMatrix2x3dvEXT: TglProgramUniformMatrix2x3dvEXT;
  11107. glProgramUniformMatrix2x4dvEXT: TglProgramUniformMatrix2x4dvEXT;
  11108. glProgramUniformMatrix3x2dvEXT: TglProgramUniformMatrix3x2dvEXT;
  11109. glProgramUniformMatrix3x4dvEXT: TglProgramUniformMatrix3x4dvEXT;
  11110. glProgramUniformMatrix4x2dvEXT: TglProgramUniformMatrix4x2dvEXT;
  11111. glProgramUniformMatrix4x3dvEXT: TglProgramUniformMatrix4x3dvEXT;
  11112. // GL_EXT_separate_shader_objects
  11113. glUseShaderProgramEXT: TglUseShaderProgramEXT;
  11114. glActiveProgramEXT: TglActiveProgramEXT;
  11115. glCreateShaderProgramEXT: TglCreateShaderProgramEXT;
  11116. // GL_EXT_shader_image_load_store
  11117. glBindImageTextureEXT: TglBindImageTextureEXT;
  11118. glMemoryBarrierEXT: TglMemoryBarrierEXT;
  11119. // GL_EXT_vertex_attrib_64bit
  11120. glVertexAttribL1dEXT: TglVertexAttribL1dEXT;
  11121. glVertexAttribL2dEXT: TglVertexAttribL2dEXT;
  11122. glVertexAttribL3dEXT: TglVertexAttribL3dEXT;
  11123. glVertexAttribL4dEXT: TglVertexAttribL4dEXT;
  11124. glVertexAttribL1dvEXT: TglVertexAttribL1dvEXT;
  11125. glVertexAttribL2dvEXT: TglVertexAttribL2dvEXT;
  11126. glVertexAttribL3dvEXT: TglVertexAttribL3dvEXT;
  11127. glVertexAttribL4dvEXT: TglVertexAttribL4dvEXT;
  11128. glVertexAttribLPointerEXT: TglVertexAttribLPointerEXT;
  11129. glGetVertexAttribLdvEXT: TglGetVertexAttribLdvEXT;
  11130. glVertexArrayVertexAttribLOffsetEXT: TglVertexArrayVertexAttribLOffsetEXT;
  11131. // GL_HP_image_transform
  11132. glImageTransformParameteriHP: TglImageTransformParameteriHP;
  11133. glImageTransformParameterfHP: TglImageTransformParameterfHP;
  11134. glImageTransformParameterivHP: TglImageTransformParameterivHP;
  11135. glImageTransformParameterfvHP: TglImageTransformParameterfvHP;
  11136. glGetImageTransformParameterivHP: TglGetImageTransformParameterivHP;
  11137. glGetImageTransformParameterfvHP: TglGetImageTransformParameterfvHP;
  11138. // GL_EXT_depth_bounds_test
  11139. glDepthBoundsEXT: TglDepthBoundsEXT;
  11140. // GL_EXT_blend_equation_separate
  11141. glBlendEquationSeparateEXT: TglBlendEquationSeparateEXT;
  11142. // GL_IBM_multimode_draw_arrays
  11143. glMultiModeDrawArraysIBM: TglMultiModeDrawArraysIBM;
  11144. glMultiModeDrawElementsIBM: TglMultiModeDrawElementsIBM;
  11145. // GL_IBM_vertex_array_lists
  11146. glColorPointerListIBM: TglColorPointerListIBM;
  11147. glSecondaryColorPointerListIBM: TglSecondaryColorPointerListIBM;
  11148. glEdgeFlagPointerListIBM: TglEdgeFlagPointerListIBM;
  11149. glFogCoordPointerListIBM: TglFogCoordPointerListIBM;
  11150. glIndexPointerListIBM: TglIndexPointerListIBM;
  11151. glNormalPointerListIBM: TglNormalPointerListIBM;
  11152. glTexCoordPointerListIBM: TglTexCoordPointerListIBM;
  11153. glVertexPointerListIBM: TglVertexPointerListIBM;
  11154. // GL_INGR_blend_func_separate
  11155. glBlendFuncSeparateINGR: TglBlendFuncSeparateINGR;
  11156. // GL_INTEL_parallel_arrays
  11157. glVertexPointervINTEL: TglVertexPointervINTEL;
  11158. glNormalPointervINTEL: TglNormalPointervINTEL;
  11159. glColorPointervINTEL: TglColorPointervINTEL;
  11160. glTexCoordPointervINTEL: TglTexCoordPointervINTEL;
  11161. // GL_MESA_resize_buffers
  11162. glResizeBuffersMESA: TglResizeBuffersMESA;
  11163. // GL_MESA_window_pos
  11164. glWindowPos2dMESA: TglWindowPos2dMESA;
  11165. glWindowPos2dvMESA: TglWindowPos2dvMESA;
  11166. glWindowPos2fMESA: TglWindowPos2fMESA;
  11167. glWindowPos2fvMESA: TglWindowPos2fvMESA;
  11168. glWindowPos2iMESA: TglWindowPos2iMESA;
  11169. glWindowPos2ivMESA: TglWindowPos2ivMESA;
  11170. glWindowPos2sMESA: TglWindowPos2sMESA;
  11171. glWindowPos2svMESA: TglWindowPos2svMESA;
  11172. glWindowPos3dMESA: TglWindowPos3dMESA;
  11173. glWindowPos3dvMESA: TglWindowPos3dvMESA;
  11174. glWindowPos3fMESA: TglWindowPos3fMESA;
  11175. glWindowPos3fvMESA: TglWindowPos3fvMESA;
  11176. glWindowPos3iMESA: TglWindowPos3iMESA;
  11177. glWindowPos3ivMESA: TglWindowPos3ivMESA;
  11178. glWindowPos3sMESA: TglWindowPos3sMESA;
  11179. glWindowPos3svMESA: TglWindowPos3svMESA;
  11180. glWindowPos4dMESA: TglWindowPos4dMESA;
  11181. glWindowPos4dvMESA: TglWindowPos4dvMESA;
  11182. glWindowPos4fMESA: TglWindowPos4fMESA;
  11183. glWindowPos4fvMESA: TglWindowPos4fvMESA;
  11184. glWindowPos4iMESA: TglWindowPos4iMESA;
  11185. glWindowPos4ivMESA: TglWindowPos4ivMESA;
  11186. glWindowPos4sMESA: TglWindowPos4sMESA;
  11187. glWindowPos4svMESA: TglWindowPos4svMESA;
  11188. // GL_NV_evaluators
  11189. glMapControlPointsNV: TglMapControlPointsNV;
  11190. glMapParameterivNV: TglMapParameterivNV;
  11191. glMapParameterfvNV: TglMapParameterfvNV;
  11192. glGetMapControlPointsNV: TglGetMapControlPointsNV;
  11193. glGetMapParameterivNV: TglGetMapParameterivNV;
  11194. glGetMapParameterfvNV: TglGetMapParameterfvNV;
  11195. glGetMapAttribParameterivNV: TglGetMapAttribParameterivNV;
  11196. glGetMapAttribParameterfvNV: TglGetMapAttribParameterfvNV;
  11197. glEvalMapsNV: TglEvalMapsNV;
  11198. // GL_NV_fence
  11199. glDeleteFencesNV: TglDeleteFencesNV;
  11200. glGenFencesNV: TglGenFencesNV;
  11201. glIsFenceNV: TglIsFenceNV;
  11202. glTestFenceNV: TglTestFenceNV;
  11203. glGetFenceivNV: TglGetFenceivNV;
  11204. glFinishFenceNV: TglFinishFenceNV;
  11205. glSetFenceNV: TglSetFenceNV;
  11206. // GL_NV_fragment_program
  11207. glProgramNamedParameter4fNV: TglProgramNamedParameter4fNV;
  11208. glProgramNamedParameter4dNV: TglProgramNamedParameter4dNV;
  11209. glProgramNamedParameter4fvNV: TglProgramNamedParameter4fvNV;
  11210. glProgramNamedParameter4dvNV: TglProgramNamedParameter4dvNV;
  11211. glGetProgramNamedParameterfvNV: TglGetProgramNamedParameterfvNV;
  11212. glGetProgramNamedParameterdvNV: TglGetProgramNamedParameterdvNV;
  11213. // GL_NV_half_float
  11214. glVertex2hNV: TglVertex2hNV;
  11215. glVertex2hvNV: TglVertex2hvNV;
  11216. glVertex3hNV: TglVertex3hNV;
  11217. glVertex3hvNV: TglVertex3hvNV;
  11218. glVertex4hNV: TglVertex4hNV;
  11219. glVertex4hvNV: TglVertex4hvNV;
  11220. glNormal3hNV: TglNormal3hNV;
  11221. glNormal3hvNV: TglNormal3hvNV;
  11222. glColor3hNV: TglColor3hNV;
  11223. glColor3hvNV: TglColor3hvNV;
  11224. glColor4hNV: TglColor4hNV;
  11225. glColor4hvNV: TglColor4hvNV;
  11226. glTexCoord1hNV: TglTexCoord1hNV;
  11227. glTexCoord1hvNV: TglTexCoord1hvNV;
  11228. glTexCoord2hNV: TglTexCoord2hNV;
  11229. glTexCoord2hvNV: TglTexCoord2hvNV;
  11230. glTexCoord3hNV: TglTexCoord3hNV;
  11231. glTexCoord3hvNV: TglTexCoord3hvNV;
  11232. glTexCoord4hNV: TglTexCoord4hNV;
  11233. glTexCoord4hvNV: TglTexCoord4hvNV;
  11234. glMultiTexCoord1hNV: TglMultiTexCoord1hNV;
  11235. glMultiTexCoord1hvNV: TglMultiTexCoord1hvNV;
  11236. glMultiTexCoord2hNV: TglMultiTexCoord2hNV;
  11237. glMultiTexCoord2hvNV: TglMultiTexCoord2hvNV;
  11238. glMultiTexCoord3hNV: TglMultiTexCoord3hNV;
  11239. glMultiTexCoord3hvNV: TglMultiTexCoord3hvNV;
  11240. glMultiTexCoord4hNV: TglMultiTexCoord4hNV;
  11241. glMultiTexCoord4hvNV: TglMultiTexCoord4hvNV;
  11242. glFogCoordhNV: TglFogCoordhNV;
  11243. glFogCoordhvNV: TglFogCoordhvNV;
  11244. glSecondaryColor3hNV: TglSecondaryColor3hNV;
  11245. glSecondaryColor3hvNV: TglSecondaryColor3hvNV;
  11246. glVertexWeighthNV: TglVertexWeighthNV;
  11247. glVertexWeighthvNV: TglVertexWeighthvNV;
  11248. glVertexAttrib1hNV: TglVertexAttrib1hNV;
  11249. glVertexAttrib1hvNV: TglVertexAttrib1hvNV;
  11250. glVertexAttrib2hNV: TglVertexAttrib2hNV;
  11251. glVertexAttrib2hvNV: TglVertexAttrib2hvNV;
  11252. glVertexAttrib3hNV: TglVertexAttrib3hNV;
  11253. glVertexAttrib3hvNV: TglVertexAttrib3hvNV;
  11254. glVertexAttrib4hNV: TglVertexAttrib4hNV;
  11255. glVertexAttrib4hvNV: TglVertexAttrib4hvNV;
  11256. glVertexAttribs1hvNV: TglVertexAttribs1hvNV;
  11257. glVertexAttribs2hvNV: TglVertexAttribs2hvNV;
  11258. glVertexAttribs3hvNV: TglVertexAttribs3hvNV;
  11259. glVertexAttribs4hvNV: TglVertexAttribs4hvNV;
  11260. // GL_NV_occlusion_query
  11261. glGenOcclusionQueriesNV: TglGenOcclusionQueriesNV;
  11262. glDeleteOcclusionQueriesNV: TglDeleteOcclusionQueriesNV;
  11263. glIsOcclusionQueryNV: TglIsOcclusionQueryNV;
  11264. glBeginOcclusionQueryNV: TglBeginOcclusionQueryNV;
  11265. glEndOcclusionQueryNV: TglEndOcclusionQueryNV;
  11266. glGetOcclusionQueryivNV: TglGetOcclusionQueryivNV;
  11267. glGetOcclusionQueryuivNV: TglGetOcclusionQueryuivNV;
  11268. // GL_NV_pixel_data_range
  11269. glPixelDataRangeNV: TglPixelDataRangeNV;
  11270. glFlushPixelDataRangeNV: TglFlushPixelDataRangeNV;
  11271. // GL_NV_point_sprite
  11272. glPointParameteriNV: TglPointParameteriNV;
  11273. glPointParameterivNV: TglPointParameterivNV;
  11274. // GL_NV_primitive_restart
  11275. glPrimitiveRestartNV: TglPrimitiveRestartNV;
  11276. glPrimitiveRestartIndexNV: TglPrimitiveRestartIndexNV;
  11277. // GL_NV_register_combiners
  11278. glCombinerParameterfvNV: TglCombinerParameterfvNV;
  11279. glCombinerParameterfNV: TglCombinerParameterfNV;
  11280. glCombinerParameterivNV: TglCombinerParameterivNV;
  11281. glCombinerParameteriNV: TglCombinerParameteriNV;
  11282. glCombinerInputNV: TglCombinerInputNV;
  11283. glCombinerOutputNV: TglCombinerOutputNV;
  11284. glFinalCombinerInputNV: TglFinalCombinerInputNV;
  11285. glGetCombinerInputParameterfvNV: TglGetCombinerInputParameterfvNV;
  11286. glGetCombinerInputParameterivNV: TglGetCombinerInputParameterivNV;
  11287. glGetCombinerOutputParameterfvNV: TglGetCombinerOutputParameterfvNV;
  11288. glGetCombinerOutputParameterivNV: TglGetCombinerOutputParameterivNV;
  11289. glGetFinalCombinerInputParameterfvNV: TglGetFinalCombinerInputParameterfvNV;
  11290. glGetFinalCombinerInputParameterivNV: TglGetFinalCombinerInputParameterivNV;
  11291. // GL_NV_register_combiners2
  11292. glCombinerStageParameterfvNV: TglCombinerStageParameterfvNV;
  11293. glGetCombinerStageParameterfvNV: TglGetCombinerStageParameterfvNV;
  11294. // GL_NV_vertex_array_range
  11295. glFlushVertexArrayRangeNV: TglFlushVertexArrayRangeNV;
  11296. glVertexArrayRangeNV: TglVertexArrayRangeNV;
  11297. // GL_NV_vertex_program
  11298. glAreProgramsResidentNV: TglAreProgramsResidentNV;
  11299. glBindProgramNV: TglBindProgramNV;
  11300. glDeleteProgramsNV: TglDeleteProgramsNV;
  11301. glExecuteProgramNV: TglExecuteProgramNV;
  11302. glGenProgramsNV: TglGenProgramsNV;
  11303. glGetProgramParameterdvNV: TglGetProgramParameterdvNV;
  11304. glGetProgramParameterfvNV: TglGetProgramParameterfvNV;
  11305. glGetProgramivNV: TglGetProgramivNV;
  11306. glGetProgramStringNV: TglGetProgramStringNV;
  11307. glGetTrackMatrixivNV: TglGetTrackMatrixivNV;
  11308. glGetVertexAttribdvNV: TglGetVertexAttribdvNV;
  11309. glGetVertexAttribfvNV: TglGetVertexAttribfvNV;
  11310. glGetVertexAttribivNV: TglGetVertexAttribivNV;
  11311. glGetVertexAttribPointervNV: TglGetVertexAttribPointervNV;
  11312. glIsProgramNV: TglIsProgramNV;
  11313. glLoadProgramNV: TglLoadProgramNV;
  11314. glProgramParameter4dNV: TglProgramParameter4dNV;
  11315. glProgramParameter4dvNV: TglProgramParameter4dvNV;
  11316. glProgramParameter4fNV: TglProgramParameter4fNV;
  11317. glProgramParameter4fvNV: TglProgramParameter4fvNV;
  11318. glProgramParameters4dvNV: TglProgramParameters4dvNV;
  11319. glProgramParameters4fvNV: TglProgramParameters4fvNV;
  11320. glRequestResidentProgramsNV: TglRequestResidentProgramsNV;
  11321. glTrackMatrixNV: TglTrackMatrixNV;
  11322. glVertexAttribPointerNV: TglVertexAttribPointerNV;
  11323. glVertexAttrib1dNV: TglVertexAttrib1dNV;
  11324. glVertexAttrib1dvNV: TglVertexAttrib1dvNV;
  11325. glVertexAttrib1fNV: TglVertexAttrib1fNV;
  11326. glVertexAttrib1fvNV: TglVertexAttrib1fvNV;
  11327. glVertexAttrib1sNV: TglVertexAttrib1sNV;
  11328. glVertexAttrib1svNV: TglVertexAttrib1svNV;
  11329. glVertexAttrib2dNV: TglVertexAttrib2dNV;
  11330. glVertexAttrib2dvNV: TglVertexAttrib2dvNV;
  11331. glVertexAttrib2fNV: TglVertexAttrib2fNV;
  11332. glVertexAttrib2fvNV: TglVertexAttrib2fvNV;
  11333. glVertexAttrib2sNV: TglVertexAttrib2sNV;
  11334. glVertexAttrib2svNV: TglVertexAttrib2svNV;
  11335. glVertexAttrib3dNV: TglVertexAttrib3dNV;
  11336. glVertexAttrib3dvNV: TglVertexAttrib3dvNV;
  11337. glVertexAttrib3fNV: TglVertexAttrib3fNV;
  11338. glVertexAttrib3fvNV: TglVertexAttrib3fvNV;
  11339. glVertexAttrib3sNV: TglVertexAttrib3sNV;
  11340. glVertexAttrib3svNV: TglVertexAttrib3svNV;
  11341. glVertexAttrib4dNV: TglVertexAttrib4dNV;
  11342. glVertexAttrib4dvNV: TglVertexAttrib4dvNV;
  11343. glVertexAttrib4fNV: TglVertexAttrib4fNV;
  11344. glVertexAttrib4fvNV: TglVertexAttrib4fvNV;
  11345. glVertexAttrib4sNV: TglVertexAttrib4sNV;
  11346. glVertexAttrib4svNV: TglVertexAttrib4svNV;
  11347. glVertexAttrib4ubNV: TglVertexAttrib4ubNV;
  11348. glVertexAttrib4ubvNV: TglVertexAttrib4ubvNV;
  11349. glVertexAttribs1dvNV: TglVertexAttribs1dvNV;
  11350. glVertexAttribs1fvNV: TglVertexAttribs1fvNV;
  11351. glVertexAttribs1svNV: TglVertexAttribs1svNV;
  11352. glVertexAttribs2dvNV: TglVertexAttribs2dvNV;
  11353. glVertexAttribs2fvNV: TglVertexAttribs2fvNV;
  11354. glVertexAttribs2svNV: TglVertexAttribs2svNV;
  11355. glVertexAttribs3dvNV: TglVertexAttribs3dvNV;
  11356. glVertexAttribs3fvNV: TglVertexAttribs3fvNV;
  11357. glVertexAttribs3svNV: TglVertexAttribs3svNV;
  11358. glVertexAttribs4dvNV: TglVertexAttribs4dvNV;
  11359. glVertexAttribs4fvNV: TglVertexAttribs4fvNV;
  11360. glVertexAttribs4svNV: TglVertexAttribs4svNV;
  11361. glVertexAttribs4ubvNV: TglVertexAttribs4ubvNV;
  11362. // GL_NV_depth_buffer_float
  11363. glDepthRangedNV: TglDepthRangedNV;
  11364. glClearDepthdNV: TglClearDepthdNV;
  11365. glDepthBoundsdNV: TglDepthBoundsdNV;
  11366. // GL_NV_framebuffer_multisample_coverage
  11367. glRenderbufferStorageMultsampleCoverageNV: TglRenderbufferStorageMultsampleCoverageNV;
  11368. // GL_NV_geometry_program4
  11369. glProgramVertexLimitNV: TglProgramVertexLimitNV;
  11370. // GL_NV_gpu_program4
  11371. glProgramLocalParameterI4iNV: TglProgramLocalParameterI4iNV;
  11372. glProgramLocalParameterI4ivNV: TglProgramLocalParameterI4ivNV;
  11373. glProgramLocalParametersI4ivNV: TglProgramLocalParametersI4ivNV;
  11374. glProgramLocalParameterI4uiNV: TglProgramLocalParameterI4uiNV;
  11375. glProgramLocalParameterI4uivNV: TglProgramLocalParameterI4uivNV;
  11376. glProgramLocalParametersI4uivNV: TglProgramLocalParametersI4uivNV;
  11377. glProgramEnvParameterI4iNV: TglProgramEnvParameterI4iNV;
  11378. glProgramEnvParameterI4ivNV: TglProgramEnvParameterI4ivNV;
  11379. glProgramEnvParametersI4ivNV: TglProgramEnvParametersI4ivNV;
  11380. glProgramEnvParameterI4uiNV: TglProgramEnvParameterI4uiNV;
  11381. glProgramEnvParameterI4uivNV: TglProgramEnvParameterI4uivNV;
  11382. glProgramEnvParametersI4uivNV: TglProgramEnvParametersI4uivNV;
  11383. glGetProgramLocalParameterIivNV: TglGetProgramLocalParameterIivNV;
  11384. glGetProgramLocalParameterIuivNV: TglGetProgramLocalParameterIuivNV;
  11385. glGetProgramEnvParameterIivNV: TglGetProgramEnvParameterIivNV;
  11386. glGetProgramEnvParameterIuivNV: TglGetProgramEnvParameterIuivNV;
  11387. // GL_NV_parameter_buffer_object
  11388. glProgramBufferParametersfvNV: TglProgramBufferParametersfvNV;
  11389. glProgramBufferParametersIivNV: TglProgramBufferParametersIivNV;
  11390. glProgramBufferParametersIuivNV: TglProgramBufferParametersIuivNV;
  11391. // GL_NV_transform_feedback
  11392. glBeginTransformFeedbackNV: TglBeginTransformFeedbackNV;
  11393. glEndTransformFeedbackNV: TglEndTransformFeedbackNV;
  11394. glTransformFeedbackAttribsNV: TglTransformFeedbackAttribsNV;
  11395. glBindBufferRangeNV: TglBindBufferRangeNV;
  11396. glBindBufferOffsetNV: TglBindBufferOffsetNV;
  11397. glBindBufferBaseNV: TglBindBufferBaseNV;
  11398. glTransformFeedbackVaryingsNV: TglTransformFeedbackVaryingsNV;
  11399. glActiveVaryingNV: TglActiveVaryingNV;
  11400. glGetVaryingLocationNV: TglGetVaryingLocationNV;
  11401. glGetActiveVaryingNV: TglGetActiveVaryingNV;
  11402. glGetTransformFeedbackVaryingNV: TglGetTransformFeedbackVaryingNV;
  11403. glTransformFeedbackStreamAttribsNV: TglTransformFeedbackStreamAttribsNV;
  11404. // GL_NV_conditional_render
  11405. glBeginConditionalRenderNV: TglBeginConditionalRenderNV;
  11406. glEndConditionalRenderNV: TglEndConditionalRenderNV;
  11407. // GL_NV_present_video
  11408. glPresentFrameKeyedNV: TglPresentFrameKeyedNV;
  11409. glPresentFrameDualFillNV: TglPresentFrameDualFillNV;
  11410. glGetVideoivNV: TglGetVideoivNV;
  11411. glGetVideouivNV: TglGetVideouivNV;
  11412. glGetVideoi64vNV: TglGetVideoi64vNV;
  11413. glGetVideoui64vNV: TglGetVideoui64vNV;
  11414. // glVideoParameterivNV: TglVideoParameterivNV;
  11415. // GL_NV_explicit_multisample
  11416. glGetMultisamplefvNV: TglGetMultisamplefvNV;
  11417. glSampleMaskIndexedNV: TglSampleMaskIndexedNV;
  11418. glTexRenderbufferNV: TglTexRenderbufferNV;
  11419. // GL_NV_transform_feedback2
  11420. glBindTransformFeedbackNV: TglBindTransformFeedbackNV;
  11421. glDeleteTransformFeedbacksNV: TglDeleteTransformFeedbacksNV;
  11422. glGenTransformFeedbacksNV: TglGenTransformFeedbacksNV;
  11423. glIsTransformFeedbackNV: TglIsTransformFeedbackNV;
  11424. glPauseTransformFeedbackNV: TglPauseTransformFeedbackNV;
  11425. glResumeTransformFeedbackNV: TglResumeTransformFeedbackNV;
  11426. glDrawTransformFeedbackNV: TglDrawTransformFeedbackNV;
  11427. // GL_NV_video_capture
  11428. glBeginVideoCaptureNV: TglBeginVideoCaptureNV;
  11429. glBindVideoCaptureStreamBufferNV: TglBindVideoCaptureStreamBufferNV;
  11430. glBindVideoCaptureStreamTextureNV: TglBindVideoCaptureStreamTextureNV;
  11431. glEndVideoCaptureNV: TglEndVideoCaptureNV;
  11432. glGetVideoCaptureivNV: TglGetVideoCaptureivNV;
  11433. glGetVideoCaptureStreamivNV: TglGetVideoCaptureStreamivNV;
  11434. glGetVideoCaptureStreamfvNV: TglGetVideoCaptureStreamfvNV;
  11435. glGetVideoCaptureStreamdvNV: TglGetVideoCaptureStreamdvNV;
  11436. glVideoCaptureNV: TglVideoCaptureNV;
  11437. glVideoCaptureStreamParameterivNV: TglVideoCaptureStreamParameterivNV;
  11438. glVideoCaptureStreamParameterfvNV: TglVideoCaptureStreamParameterfvNV;
  11439. glVideoCaptureStreamParameterdvNV: TglVideoCaptureStreamParameterdvNV;
  11440. // GL_NV_copy_image
  11441. glCopyImageSubDataNV: TglCopyImageSubDataNV;
  11442. // GL_NV_shader_buffer_load
  11443. glMakeBufferResidentNV: TglMakeBufferResidentNV;
  11444. glMakeBufferNonResidentNV: TglMakeBufferNonResidentNV;
  11445. glIsBufferResidentNV: TglIsBufferResidentNV;
  11446. glMakeNamedBufferResidentNV: TglMakeNamedBufferResidentNV;
  11447. glMakeNamedBufferNonResidentNV: TglMakeNamedBufferNonResidentNV;
  11448. glIsNamedBufferResidentNV: TglIsNamedBufferResidentNV;
  11449. glGetBufferParameterui64vNV: TglGetBufferParameterui64vNV;
  11450. glGetNamedBufferParameterui64vNV: TglGetNamedBufferParameterui64vNV;
  11451. glGetIntegerui64vNV: TglGetIntegerui64vNV;
  11452. glUniformui64NV: TglUniformui64NV;
  11453. glUniformui64vNV: TglUniformui64vNV;
  11454. glGetUniformui64vNV: TglGetUniformui64vNV;
  11455. glProgramUniformui64NV: TglProgramUniformui64NV;
  11456. glProgramUniformui64vNV: TglProgramUniformui64vNV;
  11457. // GL_NV_vertex_buffer_unified_memory
  11458. glBufferAddressRangeNV: TglBufferAddressRangeNV;
  11459. glVertexFormatNV: TglVertexFormatNV;
  11460. glNormalFormatNV: TglNormalFormatNV;
  11461. glColorFormatNV: TglColorFormatNV;
  11462. glIndexFormatNV: TglIndexFormatNV;
  11463. glTexCoordFormatNV: TglTexCoordFormatNV;
  11464. glEdgeFlagFormatNV: TglEdgeFlagFormatNV;
  11465. glSecondaryColorFormatNV: TglSecondaryColorFormatNV;
  11466. glFogCoordFormatNV: TglFogCoordFormatNV;
  11467. glVertexAttribFormatNV: TglVertexAttribFormatNV;
  11468. glVertexAttribIFormatNV: TglVertexAttribIFormatNV;
  11469. glGetIntegerui64i_vNV: TglGetIntegerui64i_vNV;
  11470. // GL_NV_gpu_program5
  11471. glProgramSubroutineParametersuivNV: TglProgramSubroutineParametersuivNV;
  11472. glGetProgramSubroutineParameteruivNV: TglGetProgramSubroutineParameteruivNV;
  11473. // GL_NV_gpu_shader5
  11474. glUniform1i64NV: TglUniform1i64NV;
  11475. glUniform2i64NV: TglUniform2i64NV;
  11476. glUniform3i64NV: TglUniform3i64NV;
  11477. glUniform4i64NV: TglUniform4i64NV;
  11478. glUniform1i64vNV: TglUniform1i64vNV;
  11479. glUniform2i64vNV: TglUniform2i64vNV;
  11480. glUniform3i64vNV: TglUniform3i64vNV;
  11481. glUniform4i64vNV: TglUniform4i64vNV;
  11482. glUniform1ui64NV: TglUniform1ui64NV;
  11483. glUniform2ui64NV: TglUniform2ui64NV;
  11484. glUniform3ui64NV: TglUniform3ui64NV;
  11485. glUniform4ui64NV: TglUniform4ui64NV;
  11486. glUniform1ui64vNV: TglUniform1ui64vNV;
  11487. glUniform2ui64vNV: TglUniform2ui64vNV;
  11488. glUniform3ui64vNV: TglUniform3ui64vNV;
  11489. glUniform4ui64vNV: TglUniform4ui64vNV;
  11490. glGetUniformi64vNV: TglGetUniformi64vNV;
  11491. glProgramUniform1i64NV: TglProgramUniform1i64NV;
  11492. glProgramUniform2i64NV: TglProgramUniform2i64NV;
  11493. glProgramUniform3i64NV: TglProgramUniform3i64NV;
  11494. glProgramUniform4i64NV: TglProgramUniform4i64NV;
  11495. glProgramUniform1i64vNV: TglProgramUniform1i64vNV;
  11496. glProgramUniform2i64vNV: TglProgramUniform2i64vNV;
  11497. glProgramUniform3i64vNV: TglProgramUniform3i64vNV;
  11498. glProgramUniform4i64vNV: TglProgramUniform4i64vNV;
  11499. glProgramUniform1ui64NV: TglProgramUniform1ui64NV;
  11500. glProgramUniform2ui64NV: TglProgramUniform2ui64NV;
  11501. glProgramUniform3ui64NV: TglProgramUniform3ui64NV;
  11502. glProgramUniform4ui64NV: TglProgramUniform4ui64NV;
  11503. glProgramUniform1ui64vNV: TglProgramUniform1ui64vNV;
  11504. glProgramUniform2ui64vNV: TglProgramUniform2ui64vNV;
  11505. glProgramUniform3ui64vNV: TglProgramUniform3ui64vNV;
  11506. glProgramUniform4ui64vNV: TglProgramUniform4ui64vNV;
  11507. // GL_NV_vertex_attrib_integer_64bit
  11508. glVertexAttribL1i64NV: TglVertexAttribL1i64NV;
  11509. glVertexAttribL2i64NV: TglVertexAttribL2i64NV;
  11510. glVertexAttribL3i64NV: TglVertexAttribL3i64NV;
  11511. glVertexAttribL4i64NV: TglVertexAttribL4i64NV;
  11512. glVertexAttribL1i64vNV: TglVertexAttribL1i64vNV;
  11513. glVertexAttribL2i64vNV: TglVertexAttribL2i64vNV;
  11514. glVertexAttribL3i64vNV: TglVertexAttribL3i64vNV;
  11515. glVertexAttribL4i64vNV: TglVertexAttribL4i64vNV;
  11516. glVertexAttribL1ui64NV: TglVertexAttribL1ui64NV;
  11517. glVertexAttribL2ui64NV: TglVertexAttribL2ui64NV;
  11518. glVertexAttribL3ui64NV: TglVertexAttribL3ui64NV;
  11519. glVertexAttribL4ui64NV: TglVertexAttribL4ui64NV;
  11520. glVertexAttribL1ui64vNV: TglVertexAttribL1ui64vNV;
  11521. glVertexAttribL2ui64vNV: TglVertexAttribL2ui64vNV;
  11522. glVertexAttribL3ui64vNV: TglVertexAttribL3ui64vNV;
  11523. glVertexAttribL4ui64vNV: TglVertexAttribL4ui64vNV;
  11524. glGetVertexAttribLi64vNV: TglGetVertexAttribLi64vNV;
  11525. glGetVertexAttribLui64vNV: TglGetVertexAttribLui64vNV;
  11526. glVertexAttribLFormatNV: TglVertexAttribLFormatNV;
  11527. // GL_NV_vdpau_interop
  11528. glVDPAUInitNV: TglVDPAUInitNV;
  11529. glVDPAUFiniNV: TglVDPAUFiniNV;
  11530. glVDPAURegisterVideoSurfaceNV: TglVDPAURegisterVideoSurfaceNV;
  11531. glVDPAURegisterOutputSurfaceNV: TglVDPAURegisterOutputSurfaceNV;
  11532. glVDPAUIsSurfaceNV: TglVDPAUIsSurfaceNV;
  11533. glVDPAUUnregisterSurfaceNV: TglVDPAUUnregisterSurfaceNV;
  11534. glVDPAUGetSurfaceivNV: TglVDPAUGetSurfaceivNV;
  11535. glVDPAUSurfaceAccessNV: TglVDPAUSurfaceAccessNV;
  11536. glVDPAUMapSurfacesNV: TglVDPAUMapSurfacesNV;
  11537. glVDPAUUnmapSurfacesNV: TglVDPAUUnmapSurfacesNV;
  11538. // GL_NV_texture_barrier
  11539. glTextureBarrierNV: TglTextureBarrierNV;
  11540. // (4.3) GL_NV_path_rendering
  11541. glGenPathsNV: TglGenPathsNV;
  11542. glDeletePathsNV: TglDeletePathsNV;
  11543. glIsPathNV: TglIsPathNV;
  11544. glPathCommandsNV: TglPathCommandsNV;
  11545. glPathCoordsNV: TglPathCoordsNV;
  11546. glPathSubCommandsNV: TglPathSubCommandsNV;
  11547. glPathSubCoordsNV: TglPathSubCoordsNV;
  11548. glPathStringNV: TglPathStringNV;
  11549. glPathGlyphsNV: TglPathGlyphsNV;
  11550. glPathGlyphRangeNV: TglPathGlyphRangeNV;
  11551. glWeightPathsNV: TglWeightPathsNV;
  11552. glCopyPathNV: TglCopyPathNV;
  11553. glInterpolatePathsNV: TglInterpolatePathsNV;
  11554. glTransformPathNV: TglTransformPathNV;
  11555. glPathParameterivNV: TglPathParameterivNV;
  11556. glPathParameteriNV: TglPathParameteriNV;
  11557. glPathParameterfvNV: TglPathParameterfvNV;
  11558. glPathParameterfNV: TglPathParameterfNV;
  11559. glPathDashArrayNV: TglPathDashArrayNV;
  11560. glPathStencilFuncNV: TglPathStencilFuncNV;
  11561. glPathStencilDepthOffsetNV: TglPathStencilDepthOffsetNV;
  11562. glStencilFillPathNV: TglStencilFillPathNV;
  11563. glStencilStrokePathNV: TglStencilStrokePathNV;
  11564. glStencilFillPathInstancedNV: TglStencilFillPathInstancedNV;
  11565. glStencilStrokePathInstancedNV: TglStencilStrokePathInstancedNV;
  11566. glPathCoverDepthFuncNV: TglPathCoverDepthFuncNV;
  11567. glPathColorGenNV: TglPathColorGenNV;
  11568. glPathTexGenNV: TglPathTexGenNV;
  11569. glPathFogGenNV: TglPathFogGenNV;
  11570. glCoverFillPathNV: TglCoverFillPathNV;
  11571. glCoverStrokePathNV: TglCoverStrokePathNV;
  11572. glCoverFillPathInstancedNV: TglCoverFillPathInstancedNV;
  11573. glCoverStrokePathInstancedNV: TglCoverStrokePathInstancedNV;
  11574. glGetPathParameterivNV: TglGetPathParameterivNV;
  11575. glGetPathParameterfvNV: TglGetPathParameterfvNV;
  11576. glGetPathCommandsNV: TglGetPathCommandsNV;
  11577. glGetPathCoordsNV: TglGetPathCoordsNV;
  11578. glGetPathDashArrayNV: TglGetPathDashArrayNV;
  11579. glGetPathMetricsNV: TglGetPathMetricsNV;
  11580. glGetPathMetricRangeNV: TglGetPathMetricRangeNV;
  11581. glGetPathSpacingNV: TglGetPathSpacingNV;
  11582. glGetPathColorGenivNV: TglGetPathColorGenivNV;
  11583. glGetPathColorGenfvNV: TglGetPathColorGenfvNV;
  11584. glGetPathTexGenivNV: TglGetPathTexGenivNV;
  11585. glGetPathTexGenfvNV: TglGetPathTexGenfvNV;
  11586. glIsPointInFillPathNV: TglIsPointInFillPathNV;
  11587. glIsPointInStrokePathNV: TglIsPointInStrokePathNV;
  11588. glGetPathLengthNV: TglGetPathLengthNV;
  11589. glPointAlongPathNV: TglPointAlongPathNV;
  11590. // GL_AMD_pinned_memory
  11591. // GL_AMD_stencil_operation_extended
  11592. glStencilOpValueAMD: TglStencilOpValueAMD;
  11593. // GL_AMD_vertex_shader_viewport_index
  11594. // GL_AMD_vertex_shader_layer
  11595. // GL_NV_bindless_texture
  11596. glGetTextureHandleNV: TglGetTextureHandleNV;
  11597. glGetTextureSamplerHandleNV: TglGetTextureSamplerHandleNV;
  11598. glMakeTextureHandleResidentNV: TglMakeTextureHandleResidentNV;
  11599. glMakeTextureHandleNonResidentNV: TglMakeTextureHandleNonResidentNV;
  11600. glGetImageHandleNV: TglGetImageHandleNV;
  11601. glMakeImageHandleResidentNV: TglMakeImageHandleResidentNV;
  11602. glMakeImageHandleNonResidentNV: TglMakeImageHandleNonResidentNV;
  11603. glUniformHandleui64NV: TglUniformHandleui64NV;
  11604. glUniformHandleui64vNV: TglUniformHandleui64vNV;
  11605. glProgramUniformHandleui64NV: TglProgramUniformHandleui64NV;
  11606. glProgramUniformHandleui64vNV: TglProgramUniformHandleui64vNV;
  11607. glIsTextureHandleResidentNV: TglIsTextureHandleResidentNV;
  11608. glIsImageHandleResidentNV: TglIsImageHandleResidentNV;
  11609. // GL_ARB_bindless_texture
  11610. glGetTextureHandleARB: TglGetTextureHandleARB;
  11611. glGetTextureSamplerHandleARB: TglGetTextureSamplerHandleARB;
  11612. glMakeTextureHandleResidentARB: TglMakeTextureHandleResidentARB;
  11613. glMakeTextureHandleNonResidentARB: TglMakeTextureHandleNonResidentARB;
  11614. glGetImageHandleARB: TglGetImageHandleARB;
  11615. glMakeImageHandleResidentARB: TglMakeImageHandleResidentARB;
  11616. glMakeImageHandleNonResidentARB: TglMakeImageHandleNonResidentARB;
  11617. glUniformHandleui64ARB: TglUniformHandleui64ARB;
  11618. glUniformHandleui64vARB: TglUniformHandleui64vARB;
  11619. glProgramUniformHandleui64ARB: TglProgramUniformHandleui64ARB;
  11620. glProgramUniformHandleui64vARB: TglProgramUniformHandleui64vARB;
  11621. glIsTextureHandleResidentARB: TglIsTextureHandleResidentARB;
  11622. glIsImageHandleResidentARB: TglIsImageHandleResidentARB;
  11623. glVertexAttribL1ui64ARB: TglVertexAttribL1ui64ARB;
  11624. glVertexAttribL1ui64vARB: TglVertexAttribL1ui64vARB;
  11625. glGetVertexAttribLui64vARB: TglGetVertexAttribLui64vARB;
  11626. // GL_PGI_misc_hints
  11627. glHintPGI: TglHintPGI;
  11628. // GL_SGIS_detail_texture
  11629. glDetailTexFuncSGIS: TglDetailTexFuncSGIS;
  11630. glGetDetailTexFuncSGIS: TglGetDetailTexFuncSGIS;
  11631. // GL_SGIS_fog_function
  11632. glFogFuncSGIS: TglFogFuncSGIS;
  11633. glGetFogFuncSGIS: TglGetFogFuncSGIS;
  11634. // GL_SGIS_multisample
  11635. glSampleMaskSGIS: TglSampleMaskSGIS;
  11636. glSamplePatternSGIS: TglSamplePatternSGIS;
  11637. // GL_SGIS_pixel_texture
  11638. glPixelTexGenParameteriSGIS: TglPixelTexGenParameteriSGIS;
  11639. glPixelTexGenParameterivSGIS: TglPixelTexGenParameterivSGIS;
  11640. glPixelTexGenParameterfSGIS: TglPixelTexGenParameterfSGIS;
  11641. glPixelTexGenParameterfvSGIS: TglPixelTexGenParameterfvSGIS;
  11642. glGetPixelTexGenParameterivSGIS: TglGetPixelTexGenParameterivSGIS;
  11643. glGetPixelTexGenParameterfvSGIS: TglGetPixelTexGenParameterfvSGIS;
  11644. // GL_SGIS_point_parameters
  11645. glPointParameterfSGIS: TglPointParameterfSGIS;
  11646. glPointParameterfvSGIS: TglPointParameterfvSGIS;
  11647. // GL_SGIS_sharpen_texture
  11648. glSharpenTexFuncSGIS: TglSharpenTexFuncSGIS;
  11649. glGetSharpenTexFuncSGIS: TglGetSharpenTexFuncSGIS;
  11650. // GL_SGIS_texture4D
  11651. glTexImage4DSGIS: TglTexImage4DSGIS;
  11652. glTexSubImage4DSGIS: TglTexSubImage4DSGIS;
  11653. // GL_SGIS_texture_color_mask
  11654. glTextureColorMaskSGIS: TglTextureColorMaskSGIS;
  11655. // GL_SGIS_texture_filter4
  11656. glGetTexFilterFuncSGIS: TglGetTexFilterFuncSGIS;
  11657. glTexFilterFuncSGIS: TglTexFilterFuncSGIS;
  11658. // GL_SGIX_async
  11659. glAsyncMarkerSGIX: TglAsyncMarkerSGIX;
  11660. glFinishAsyncSGIX: TglFinishAsyncSGIX;
  11661. glPollAsyncSGIX: TglPollAsyncSGIX;
  11662. glGenAsyncMarkersSGIX: TglGenAsyncMarkersSGIX;
  11663. glDeleteAsyncMarkersSGIX: TglDeleteAsyncMarkersSGIX;
  11664. glIsAsyncMarkerSGIX: TglIsAsyncMarkerSGIX;
  11665. // GL_SGIX_flush_raster
  11666. glFlushRasterSGIX: TglFlushRasterSGIX;
  11667. // GL_SGIX_fragment_lighting
  11668. glFragmentColorMaterialSGIX: TglFragmentColorMaterialSGIX;
  11669. glFragmentLightfSGIX: TglFragmentLightfSGIX;
  11670. glFragmentLightfvSGIX: TglFragmentLightfvSGIX;
  11671. glFragmentLightiSGIX: TglFragmentLightiSGIX;
  11672. glFragmentLightivSGIX: TglFragmentLightivSGIX;
  11673. glFragmentLightModelfSGIX: TglFragmentLightModelfSGIX;
  11674. glFragmentLightModelfvSGIX: TglFragmentLightModelfvSGIX;
  11675. glFragmentLightModeliSGIX: TglFragmentLightModeliSGIX;
  11676. glFragmentLightModelivSGIX: TglFragmentLightModelivSGIX;
  11677. glFragmentMaterialfSGIX: TglFragmentMaterialfSGIX;
  11678. glFragmentMaterialfvSGIX: TglFragmentMaterialfvSGIX;
  11679. glFragmentMaterialiSGIX: TglFragmentMaterialiSGIX;
  11680. glFragmentMaterialivSGIX: TglFragmentMaterialivSGIX;
  11681. glGetFragmentLightfvSGIX: TglGetFragmentLightfvSGIX;
  11682. glGetFragmentLightivSGIX: TglGetFragmentLightivSGIX;
  11683. glGetFragmentMaterialfvSGIX: TglGetFragmentMaterialfvSGIX;
  11684. glGetFragmentMaterialivSGIX: TglGetFragmentMaterialivSGIX;
  11685. glLightEnviSGIX: TglLightEnviSGIX;
  11686. // GL_SGIX_framezoom
  11687. glFrameZoomSGIX: TglFrameZoomSGIX;
  11688. // GL_SGIX_igloo_interface
  11689. glIglooInterfaceSGIX: TglIglooInterfaceSGIX;
  11690. // GL_SGIX_instruments
  11691. glGetInstrumentsSGIX: TglGetInstrumentsSGIX;
  11692. glInstrumentsBufferSGIX: TglInstrumentsBufferSGIX;
  11693. glPollInstrumentsSGIX: TglPollInstrumentsSGIX;
  11694. glReadInstrumentsSGIX: TglReadInstrumentsSGIX;
  11695. glStartInstrumentsSGIX: TglStartInstrumentsSGIX;
  11696. glStopInstrumentsSGIX: TglStopInstrumentsSGIX;
  11697. // GL_SGIX_list_priority
  11698. glGetListParameterfvSGIX: TglGetListParameterfvSGIX;
  11699. glGetListParameterivSGIX: TglGetListParameterivSGIX;
  11700. glListParameterfSGIX: TglListParameterfSGIX;
  11701. glListParameterfvSGIX: TglListParameterfvSGIX;
  11702. glListParameteriSGIX: TglListParameteriSGIX;
  11703. glListParameterivSGIX: TglListParameterivSGIX;
  11704. // GL_SGIX_pixel_texture
  11705. glPixelTexGenSGIX: TglPixelTexGenSGIX;
  11706. // GL_SGIX_polynomial_ffd
  11707. glDeformationMap3dSGIX: TglDeformationMap3dSGIX;
  11708. glDeformationMap3fSGIX: TglDeformationMap3fSGIX;
  11709. glDeformSGIX: TglDeformSGIX;
  11710. glLoadIdentityDeformationMapSGIX: TglLoadIdentityDeformationMapSGIX;
  11711. // GL_SGIX_reference_plane
  11712. glReferencePlaneSGIX: TglReferencePlaneSGIX;
  11713. // GL_SGIX_sprite
  11714. glSpriteParameterfSGIX: TglSpriteParameterfSGIX;
  11715. glSpriteParameterfvSGIX: TglSpriteParameterfvSGIX;
  11716. glSpriteParameteriSGIX: TglSpriteParameteriSGIX;
  11717. glSpriteParameterivSGIX: TglSpriteParameterivSGIX;
  11718. // GL_SGIX_tag_sample_buffer
  11719. glTagSampleBufferSGIX: TglTagSampleBufferSGIX;
  11720. // GL_SGI_color_table
  11721. glColorTableSGI: TglColorTableSGI;
  11722. glColorTableParameterfvSGI: TglColorTableParameterfvSGI;
  11723. glColorTableParameterivSGI: TglColorTableParameterivSGI;
  11724. glCopyColorTableSGI: TglCopyColorTableSGI;
  11725. glGetColorTableSGI: TglGetColorTableSGI;
  11726. glGetColorTableParameterfvSGI: TglGetColorTableParameterfvSGI;
  11727. glGetColorTableParameterivSGI: TglGetColorTableParameterivSGI;
  11728. // GL_SUNX_constant_data
  11729. glFinishTextureSUNX: TglFinishTextureSUNX;
  11730. // GL_SUN_global_alpha
  11731. glGlobalAlphaFactorbSUN: TglGlobalAlphaFactorbSUN;
  11732. glGlobalAlphaFactorsSUN: TglGlobalAlphaFactorsSUN;
  11733. glGlobalAlphaFactoriSUN: TglGlobalAlphaFactoriSUN;
  11734. glGlobalAlphaFactorfSUN: TglGlobalAlphaFactorfSUN;
  11735. glGlobalAlphaFactordSUN: TglGlobalAlphaFactordSUN;
  11736. glGlobalAlphaFactorubSUN: TglGlobalAlphaFactorubSUN;
  11737. glGlobalAlphaFactorusSUN: TglGlobalAlphaFactorusSUN;
  11738. glGlobalAlphaFactoruiSUN: TglGlobalAlphaFactoruiSUN;
  11739. // GL_SUN_mesh_array
  11740. glDrawMeshArraysSUN: TglDrawMeshArraysSUN;
  11741. // GL_SUN_triangle_list
  11742. glReplacementCodeuiSUN: TglReplacementCodeuiSUN;
  11743. glReplacementCodeusSUN: TglReplacementCodeusSUN;
  11744. glReplacementCodeubSUN: TglReplacementCodeubSUN;
  11745. glReplacementCodeuivSUN: TglReplacementCodeuivSUN;
  11746. glReplacementCodeusvSUN: TglReplacementCodeusvSUN;
  11747. glReplacementCodeubvSUN: TglReplacementCodeubvSUN;
  11748. glReplacementCodePointerSUN: TglReplacementCodePointerSUN;
  11749. // GL_SUN_vertex
  11750. glColor4ubVertex2fSUN: TglColor4ubVertex2fSUN;
  11751. glColor4ubVertex2fvSUN: TglColor4ubVertex2fvSUN;
  11752. glColor4ubVertex3fSUN: TglColor4ubVertex3fSUN;
  11753. glColor4ubVertex3fvSUN: TglColor4ubVertex3fvSUN;
  11754. glColor3fVertex3fSUN: TglColor3fVertex3fSUN;
  11755. glColor3fVertex3fvSUN: TglColor3fVertex3fvSUN;
  11756. glNormal3fVertex3fSUN: TglNormal3fVertex3fSUN;
  11757. glNormal3fVertex3fvSUN: TglNormal3fVertex3fvSUN;
  11758. glColor4fNormal3fVertex3fSUN: TglColor4fNormal3fVertex3fSUN;
  11759. glColor4fNormal3fVertex3fvSUN: TglColor4fNormal3fVertex3fvSUN;
  11760. glTexCoord2fVertex3fSUN: TglTexCoord2fVertex3fSUN;
  11761. glTexCoord2fVertex3fvSUN: TglTexCoord2fVertex3fvSUN;
  11762. glTexCoord4fVertex4fSUN: TglTexCoord4fVertex4fSUN;
  11763. glTexCoord4fVertex4fvSUN: TglTexCoord4fVertex4fvSUN;
  11764. glTexCoord2fColor4ubVertex3fSUN: TglTexCoord2fColor4ubVertex3fSUN;
  11765. glTexCoord2fColor4ubVertex3fvSUN: TglTexCoord2fColor4ubVertex3fvSUN;
  11766. glTexCoord2fColor3fVertex3fSUN: TglTexCoord2fColor3fVertex3fSUN;
  11767. glTexCoord2fColor3fVertex3fvSUN: TglTexCoord2fColor3fVertex3fvSUN;
  11768. glTexCoord2fNormal3fVertex3fSUN: TglTexCoord2fNormal3fVertex3fSUN;
  11769. glTexCoord2fNormal3fVertex3fvSUN: TglTexCoord2fNormal3fVertex3fvSUN;
  11770. glTexCoord2fColor4fNormal3fVertex3fSUN: TglTexCoord2fColor4fNormal3fVertex3fSUN;
  11771. glTexCoord2fColor4fNormal3fVertex3fvSUN: TglTexCoord2fColor4fNormal3fVertex3fvSUN;
  11772. glTexCoord4fColor4fNormal3fVertex4fSUN: TglTexCoord4fColor4fNormal3fVertex4fSUN;
  11773. glTexCoord4fColor4fNormal3fVertex4fvSUN: TglTexCoord4fColor4fNormal3fVertex4fvSUN;
  11774. glReplacementCodeuiVertex3fSUN: TglReplacementCodeuiVertex3fSUN;
  11775. glReplacementCodeuiVertex3fvSUN: TglReplacementCodeuiVertex3fvSUN;
  11776. glReplacementCodeuiColor4ubVertex3fSUN: TglReplacementCodeuiColor4ubVertex3fSUN;
  11777. glReplacementCodeuiColor4ubVertex3fvSUN: TglReplacementCodeuiColor4ubVertex3fvSUN;
  11778. glReplacementCodeuiColor3fVertex3fSUN: TglReplacementCodeuiColor3fVertex3fSUN;
  11779. glReplacementCodeuiColor3fVertex3fvSUN: TglReplacementCodeuiColor3fVertex3fvSUN;
  11780. glReplacementCodeuiNormal3fVertex3fSUN: TglReplacementCodeuiNormal3fVertex3fSUN;
  11781. glReplacementCodeuiNormal3fVertex3fvSUN: TglReplacementCodeuiNormal3fVertex3fvSUN;
  11782. glReplacementCodeuiColor4fNormal3fVertex3fSUN: TglReplacementCodeuiColor4fNormal3fVertex3fSUN;
  11783. glReplacementCodeuiColor4fNormal3fVertex3fvSUN: TglReplacementCodeuiColor4fNormal3fVertex3fvSUN;
  11784. glReplacementCodeuiTexCoord2fVertex3fSUN: TglReplacementCodeuiTexCoord2fVertex3fSUN;
  11785. glReplacementCodeuiTexCoord2fVertex3fvSUN: TglReplacementCodeuiTexCoord2fVertex3fvSUN;
  11786. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: TglReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
  11787. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: TglReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
  11788. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN: TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
  11789. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
  11790. {$IFDEF DGL_WIN}
  11791. wglGetProcAddress: TwglGetProcAddress;
  11792. wglCopyContext: TwglCopyContext;
  11793. wglCreateContext: TwglCreateContext;
  11794. wglCreateLayerContext: TwglCreateLayerContext;
  11795. wglDeleteContext: TwglDeleteContext;
  11796. wglDescribeLayerPlane: TwglDescribeLayerPlane;
  11797. wglGetCurrentContext: TwglGetCurrentContext;
  11798. wglGetCurrentDC: TwglGetCurrentDC;
  11799. wglGetLayerPaletteEntries: TwglGetLayerPaletteEntries;
  11800. wglMakeCurrent: TwglMakeCurrent;
  11801. wglRealizeLayerPalette: TwglRealizeLayerPalette;
  11802. wglSetLayerPaletteEntries: TwglSetLayerPaletteEntries;
  11803. wglShareLists: TwglShareLists;
  11804. wglSwapLayerBuffers: TwglSwapLayerBuffers;
  11805. wglSwapMultipleBuffers: TwglSwapMultipleBuffers;
  11806. wglUseFontBitmapsA: TwglUseFontBitmapsA;
  11807. wglUseFontOutlinesA: TwglUseFontOutlinesA;
  11808. wglUseFontBitmapsW: TwglUseFontBitmapsW;
  11809. wglUseFontOutlinesW: TwglUseFontOutlinesW;
  11810. wglUseFontBitmaps: TwglUseFontBitmaps;
  11811. wglUseFontOutlines: TwglUseFontOutlines;
  11812. // WGL_ARB_buffer_region
  11813. wglCreateBufferRegionARB: TwglCreateBufferRegionARB;
  11814. wglDeleteBufferRegionARB: TwglDeleteBufferRegionARB;
  11815. wglSaveBufferRegionARB: TwglSaveBufferRegionARB;
  11816. wglRestoreBufferRegionARB: TwglRestoreBufferRegionARB;
  11817. // WGL_ARB_extensions_string
  11818. wglGetExtensionsStringARB: TwglGetExtensionsStringARB;
  11819. // WGL_ARB_make_current_read
  11820. wglMakeContextCurrentARB: TwglMakeContextCurrentARB;
  11821. wglGetCurrentReadDCARB: TwglGetCurrentReadDCARB;
  11822. // WGL_ARB_pbuffer
  11823. wglCreatePbufferARB: TwglCreatePbufferARB;
  11824. wglGetPbufferDCARB: TwglGetPbufferDCARB;
  11825. wglReleasePbufferDCARB: TwglReleasePbufferDCARB;
  11826. wglDestroyPbufferARB: TwglDestroyPbufferARB;
  11827. wglQueryPbufferARB: TwglQueryPbufferARB;
  11828. // WGL_ARB_pixel_format
  11829. wglGetPixelFormatAttribivARB: TwglGetPixelFormatAttribivARB;
  11830. wglGetPixelFormatAttribfvARB: TwglGetPixelFormatAttribfvARB;
  11831. wglChoosePixelFormatARB: TwglChoosePixelFormatARB;
  11832. // WGL_ARB_color_buffer_float
  11833. wglClampColorARB: TwglClampColorARB;
  11834. // WGL_ARB_render_texture
  11835. wglBindTexImageARB: TwglBindTexImageARB;
  11836. wglReleaseTexImageARB: TwglReleaseTexImageARB;
  11837. wglSetPbufferAttribARB: TwglSetPbufferAttribARB;
  11838. // WGL_ARB_create_context
  11839. wglCreateContextAttribsARB: TwglCreateContextAttribsARB;
  11840. // WGL_AMD_gpu_association
  11841. wglGetGPUIDsAMD: TwglGetGPUIDsAMD;
  11842. wglGetGPUInfoAMD: TwglGetGPUInfoAMD;
  11843. wglGetContextGPUIDAMD: TwglGetContextGPUIDAMD;
  11844. wglCreateAssociatedContextAMD: TwglCreateAssociatedContextAMD;
  11845. wglCreateAssociatedContextAttribsAMD: TwglCreateAssociatedContextAttribsAMD;
  11846. wglDeleteAssociatedContextAMD: TwglDeleteAssociatedContextAMD;
  11847. wglMakeAssociatedContextCurrentAMD: TwglMakeAssociatedContextCurrentAMD;
  11848. wglGetCurrentAssociatedContextAMD: TwglGetCurrentAssociatedContextAMD;
  11849. wglBlitContextFramebufferAMD: TwglBlitContextFramebufferAMD;
  11850. // WGL_EXT_display_color_table
  11851. wglCreateDisplayColorTableEXT: TwglCreateDisplayColorTableEXT;
  11852. wglLoadDisplayColorTableEXT: TwglLoadDisplayColorTableEXT;
  11853. wglBindDisplayColorTableEXT: TwglBindDisplayColorTableEXT;
  11854. wglDestroyDisplayColorTableEXT: TwglDestroyDisplayColorTableEXT;
  11855. // WGL_EXT_extensions_string
  11856. wglGetExtensionsStringEXT: TwglGetExtensionsStringEXT;
  11857. // WGL_EXT_make_current_read
  11858. wglMakeContextCurrentEXT: TwglMakeContextCurrentEXT;
  11859. wglGetCurrentReadDCEXT: TwglGetCurrentReadDCEXT;
  11860. // WGL_EXT_pbuffer
  11861. wglCreatePbufferEXT: TwglCreatePbufferEXT;
  11862. wglGetPbufferDCEXT: TwglGetPbufferDCEXT;
  11863. wglReleasePbufferDCEXT: TwglReleasePbufferDCEXT;
  11864. wglDestroyPbufferEXT: TwglDestroyPbufferEXT;
  11865. wglQueryPbufferEXT: TwglQueryPbufferEXT;
  11866. // WGL_EXT_pixel_format
  11867. wglGetPixelFormatAttribivEXT: TwglGetPixelFormatAttribivEXT;
  11868. wglGetPixelFormatAttribfvEXT: TwglGetPixelFormatAttribfvEXT;
  11869. wglChoosePixelFormatEXT: TwglChoosePixelFormatEXT;
  11870. // WGL_EXT_swap_control
  11871. wglSwapIntervalEXT: TwglSwapIntervalEXT;
  11872. wglGetSwapIntervalEXT: TwglGetSwapIntervalEXT;
  11873. // WGL_I3D_digital_video_control
  11874. wglGetDigitalVideoParametersI3D: TwglGetDigitalVideoParametersI3D;
  11875. wglSetDigitalVideoParametersI3D: TwglSetDigitalVideoParametersI3D;
  11876. // WGL_I3D_gamma
  11877. wglGetGammaTableParametersI3D: TwglGetGammaTableParametersI3D;
  11878. wglSetGammaTableParametersI3D: TwglSetGammaTableParametersI3D;
  11879. wglGetGammaTableI3D: TwglGetGammaTableI3D;
  11880. wglSetGammaTableI3D: TwglSetGammaTableI3D;
  11881. // WGL_I3D_genlock
  11882. wglEnableGenlockI3D: TwglEnableGenlockI3D;
  11883. wglDisableGenlockI3D: TwglDisableGenlockI3D;
  11884. wglIsEnabledGenlockI3D: TwglIsEnabledGenlockI3D;
  11885. wglGenlockSourceI3D: TwglGenlockSourceI3D;
  11886. wglGetGenlockSourceI3D: TwglGetGenlockSourceI3D;
  11887. wglGenlockSourceEdgeI3D: TwglGenlockSourceEdgeI3D;
  11888. wglGetGenlockSourceEdgeI3D: TwglGetGenlockSourceEdgeI3D;
  11889. wglGenlockSampleRateI3D: TwglGenlockSampleRateI3D;
  11890. wglGetGenlockSampleRateI3D: TwglGetGenlockSampleRateI3D;
  11891. wglGenlockSourceDelayI3D: TwglGenlockSourceDelayI3D;
  11892. wglGetGenlockSourceDelayI3D: TwglGetGenlockSourceDelayI3D;
  11893. wglQueryGenlockMaxSourceDelayI3D: TwglQueryGenlockMaxSourceDelayI3D;
  11894. // WGL_I3D_image_buffer
  11895. wglCreateImageBufferI3D: TwglCreateImageBufferI3D;
  11896. wglDestroyImageBufferI3D: TwglDestroyImageBufferI3D;
  11897. wglAssociateImageBufferEventsI3D: TwglAssociateImageBufferEventsI3D;
  11898. wglReleaseImageBufferEventsI3D: TwglReleaseImageBufferEventsI3D;
  11899. // WGL_I3D_swap_frame_lock
  11900. wglEnableFrameLockI3D: TwglEnableFrameLockI3D;
  11901. wglDisableFrameLockI3D: TwglDisableFrameLockI3D;
  11902. wglIsEnabledFrameLockI3D: TwglIsEnabledFrameLockI3D;
  11903. wglQueryFrameLockMasterI3D: TwglQueryFrameLockMasterI3D;
  11904. // WGL_I3D_swap_frame_usage
  11905. wglGetFrameUsageI3D: TwglGetFrameUsageI3D;
  11906. wglBeginFrameTrackingI3D: TwglBeginFrameTrackingI3D;
  11907. wglEndFrameTrackingI3D: TwglEndFrameTrackingI3D;
  11908. wglQueryFrameTrackingI3D: TwglQueryFrameTrackingI3D;
  11909. // WGL_NV_vertex_array_range
  11910. wglAllocateMemoryNV: TwglAllocateMemoryNV;
  11911. wglFreeMemoryNV: TwglFreeMemoryNV;
  11912. // WGL_NV_present_video
  11913. wglEnumerateVideoDevicesNV: TwglEnumerateVideoDevicesNV;
  11914. wglBindVideoDeviceNV: TwglBindVideoDeviceNV;
  11915. wglQueryCurrentContextNV: TwglQueryCurrentContextNV;
  11916. // WGL_NV_video_output
  11917. wglGetVideoDeviceNV: TwglGetVideoDeviceNV;
  11918. wglReleaseVideoDeviceNV: TwglReleaseVideoDeviceNV;
  11919. wglBindVideoImageNV: TwglBindVideoImageNV;
  11920. wglReleaseVideoImageNV: TwglReleaseVideoImageNV;
  11921. wglSendPbufferToVideoNV: TwglSendPbufferToVideoNV;
  11922. wglGetVideoInfoNV: TwglGetVideoInfoNV;
  11923. // WGL_NV_swap_group
  11924. wglJoinSwapGroupNV: TwglJoinSwapGroupNV;
  11925. wglBindSwapBarrierNV: TwglBindSwapBarrierNV;
  11926. wglQuerySwapGroupNV: TwglQuerySwapGroupNV;
  11927. wglQueryMaxSwapGroupsNV: TwglQueryMaxSwapGroupsNV;
  11928. wglQueryFrameCountNV: TwglQueryFrameCountNV;
  11929. wglResetFrameCountNV: TwglResetFrameCountNV;
  11930. // WGL_NV_gpu_affinity
  11931. wglEnumGpusNV: TwglEnumGpusNV;
  11932. wglEnumGpuDevicesNV: TwglEnumGpuDevicesNV;
  11933. wglCreateAffinityDCNV: TwglCreateAffinityDCNV;
  11934. wglEnumGpusFromAffinityDCNV: TwglEnumGpusFromAffinityDCNV;
  11935. wglDeleteDCNV: TwglDeleteDCNV;
  11936. // WGL_NV_video_capture
  11937. wglBindVideoCaptureDeviceNV: TwglBindVideoCaptureDeviceNV;
  11938. wglEnumerateVideoCaptureDevicesNV: TwglEnumerateVideoCaptureDevicesNV;
  11939. wglLockVideoCaptureDeviceNV: TwglLockVideoCaptureDeviceNV;
  11940. wglQueryVideoCaptureDeviceNV: TwglQueryVideoCaptureDeviceNV;
  11941. wglReleaseVideoCaptureDeviceNV: TwglReleaseVideoCaptureDeviceNV;
  11942. // WGL_NV_copy_image
  11943. wglCopyImageSubDataNV: TwglCopyImageSubDataNV;
  11944. // WGL_NV_DX_interop
  11945. wglDXSetResourceShareHandleNV: TwglDXSetResourceShareHandleNV;
  11946. wglDXOpenDeviceNV: TwglDXOpenDeviceNV;
  11947. wglDXCloseDeviceNV: TwglDXCloseDeviceNV;
  11948. wglDXRegisterObjectNV: TwglDXRegisterObjectNV;
  11949. wglDXUnregisterObjectNV: TwglDXUnregisterObjectNV;
  11950. wglDXObjectAccessNV: TwglDXObjectAccessNV;
  11951. wglDXLockObjectsNV: TwglDXLockObjectsNV;
  11952. wglDXUnlockObjectsNV: TwglDXUnlockObjectsNV;
  11953. // WGL_OML_sync_control
  11954. wglGetSyncValuesOML: TwglGetSyncValuesOML;
  11955. wglGetMscRateOML: TwglGetMscRateOML;
  11956. wglSwapBuffersMscOML: TwglSwapBuffersMscOML;
  11957. wglSwapLayerBuffersMscOML: TwglSwapLayerBuffersMscOML;
  11958. wglWaitForMscOML: TwglWaitForMscOML;
  11959. wglWaitForSbcOML: TwglWaitForSbcOML;
  11960. // WGL_3DL_stereo_control
  11961. wglSetStereoEmitterState3DL: TwglSetStereoEmitterState3DL;
  11962. // WIN_draw_range_elements
  11963. glDrawRangeElementsWIN: TglDrawRangeElementsWIN;
  11964. // WIN_swap_hint
  11965. glAddSwapHintRectWIN: TglAddSwapHintRectWIN;
  11966. {$ENDIF}
  11967. {$IFDEF DGL_LINUX}
  11968. glXChooseVisual: TglXChooseVisual;
  11969. glXCopyContext: TglXCopyContext;
  11970. glXCreateContext: TglXCreateContext;
  11971. glXCreateGLXPixmap: TglXCreateGLXPixmap;
  11972. glXDestroyContext: TglXDestroyContext;
  11973. glXDestroyGLXPixmap: TglXDestroyGLXPixmap;
  11974. glXGetConfig: TglXGetConfig;
  11975. glXGetCurrentContext: TglXGetCurrentContext;
  11976. glXGetCurrentDrawable: TglXGetCurrentDrawable;
  11977. glXIsDirect: TglXIsDirect;
  11978. glXMakeCurrent: TglXMakeCurrent;
  11979. glXQueryExtension: TglXQueryExtension;
  11980. glXQueryVersion: TglXQueryVersion;
  11981. glXSwapBuffers: TglXSwapBuffers;
  11982. glXUseXFont: TglXUseXFont;
  11983. glXWaitGL: TglXWaitGL;
  11984. glXWaitX: TglXWaitX;
  11985. glXGetClientString: TglXGetClientString;
  11986. glXQueryServerString: TglXQueryServerString;
  11987. glXQueryExtensionsString: TglXQueryExtensionsString;
  11988. // GLX_VERSION_1_3
  11989. glXGetFBConfigs: TglXGetFBConfigs;
  11990. glXChooseFBConfig: TglXChooseFBConfig;
  11991. glXGetFBConfigAttrib: TglXGetFBConfigAttrib;
  11992. glXGetVisualFromFBConfig: TglXGetVisualFromFBConfig;
  11993. glXCreateWindow: TglXCreateWindow;
  11994. glXDestroyWindow: TglXDestroyWindow;
  11995. glXCreatePixmap: TglXCreatePixmap;
  11996. glXDestroyPixmap: TglXDestroyPixmap;
  11997. glXCreatePbuffer: TglXCreatePbuffer;
  11998. glXDestroyPbuffer: TglXDestroyPbuffer;
  11999. glXQueryDrawable: TglXQueryDrawable;
  12000. glXCreateNewContext: TglXCreateNewContext;
  12001. glXMakeContextCurrent: TglXMakeContextCurrent;
  12002. glXGetCurrentReadDrawable: TglXGetCurrentReadDrawable;
  12003. glXGetCurreentDisplay: TglXGetCurreentDisplay;
  12004. glXQueryContext: TglXQueryContext;
  12005. glXSelectEvent: TglXSelectEvent;
  12006. glXGetSelectedEvent: TglXGetSelectedEvent;
  12007. // GLX_VERSION_1_4
  12008. glXGetProcAddress: TglXGetProcAddress;
  12009. // GLX_ARB_get_proc_address
  12010. glXGetProcAddressARB: TglXGetProcAddressARB;
  12011. // GLX_ARB_create_context
  12012. glXCreateContextAttribsARB: TglXCreateContextAttribsARB;
  12013. // GLX_EXT_import_context
  12014. glXGetCurrentDisplayEXT: TglXGetCurrentDisplayEXT;
  12015. glXQueryContextInfoEXT: TglXQueryContextInfoEXT;
  12016. glXGetContextIDEXT: TglXGetContextIDEXT;
  12017. glXImportContextEXT: TglXImportContextEXT;
  12018. glXFreeContextEXT: TglXFreeContextEXT;
  12019. // GLX_EXT_texture_from_pixmap
  12020. glXBindTexImageEXT: TglXBindTexImageEXT;
  12021. glXReleaseTexImageEXT: TglXReleaseTexImageEXT;
  12022. glXSwapIntervalEXT: TglXSwapIntervalEXT;
  12023. {$ENDIF}
  12024. // GL utility functions and procedures
  12025. gluErrorString: TgluErrorString;
  12026. gluGetString: TgluGetString;
  12027. gluOrtho2D: TgluOrtho2D;
  12028. gluPerspective: TgluPerspective;
  12029. gluPickMatrix: TgluPickMatrix;
  12030. gluLookAt: TgluLookAt;
  12031. gluProject: TgluProject;
  12032. gluUnProject: TgluUnProject;
  12033. gluScaleImage: TgluScaleImage;
  12034. gluBuild1DMipmaps: TgluBuild1DMipmaps;
  12035. gluBuild2DMipmaps: TgluBuild2DMipmaps;
  12036. gluNewQuadric: TgluNewQuadric;
  12037. gluDeleteQuadric: TgluDeleteQuadric;
  12038. gluQuadricNormals: TgluQuadricNormals;
  12039. gluQuadricTexture: TgluQuadricTexture;
  12040. gluQuadricOrientation: TgluQuadricOrientation;
  12041. gluQuadricDrawStyle: TgluQuadricDrawStyle;
  12042. gluCylinder: TgluCylinder;
  12043. gluDisk: TgluDisk;
  12044. gluPartialDisk: TgluPartialDisk;
  12045. gluSphere: TgluSphere;
  12046. gluQuadricCallback: TgluQuadricCallback;
  12047. gluNewTess: TgluNewTess;
  12048. gluDeleteTess: TgluDeleteTess;
  12049. gluTessBeginPolygon: TgluTessBeginPolygon;
  12050. gluTessBeginContour: TgluTessBeginContour;
  12051. gluTessVertex: TgluTessVertex;
  12052. gluTessEndContour: TgluTessEndContour;
  12053. gluTessEndPolygon: TgluTessEndPolygon;
  12054. gluTessProperty: TgluTessProperty;
  12055. gluTessNormal: TgluTessNormal;
  12056. gluTessCallback: TgluTessCallback;
  12057. gluGetTessProperty: TgluGetTessProperty;
  12058. gluNewNurbsRenderer: TgluNewNurbsRenderer;
  12059. gluDeleteNurbsRenderer: TgluDeleteNurbsRenderer;
  12060. gluBeginSurface: TgluBeginSurface;
  12061. gluBeginCurve: TgluBeginCurve;
  12062. gluEndCurve: TgluEndCurve;
  12063. gluEndSurface: TgluEndSurface;
  12064. gluBeginTrim: TgluBeginTrim;
  12065. gluEndTrim: TgluEndTrim;
  12066. gluPwlCurve: TgluPwlCurve;
  12067. gluNurbsCurve: TgluNurbsCurve;
  12068. gluNurbsSurface: TgluNurbsSurface;
  12069. gluLoadSamplingMatrices: TgluLoadSamplingMatrices;
  12070. gluNurbsProperty: TgluNurbsProperty;
  12071. gluGetNurbsProperty: TgluGetNurbsProperty;
  12072. gluNurbsCallback: TgluNurbsCallback;
  12073. gluBeginPolygon: TgluBeginPolygon;
  12074. gluNextContour: TgluNextContour;
  12075. gluEndPolygon: TgluEndPolygon;
  12076. type
  12077. TRCOptions = set of (opDoubleBuffered, opGDI, opStereo);
  12078. var
  12079. GL_LibHandle: Pointer = nil;
  12080. GLU_LibHandle: Pointer = nil;
  12081. LastPixelFormat: Integer;
  12082. ExtensionsRead: Boolean;
  12083. ImplementationRead: Boolean;
  12084. const
  12085. {$IFDEF DGL_WIN}
  12086. OPENGL_LIBNAME = 'OpenGL32.dll';
  12087. GLU_LIBNAME = 'GLU32.dll';
  12088. {$ELSE}
  12089. {$IFDEF darwin}
  12090. OPENGL_LIBNAME = 'libGL.dylib';
  12091. GLU_LIBNAME = 'libGLU.dylib';
  12092. {$ELSE}
  12093. OPENGL_LIBNAME = 'libGL.so.1';
  12094. GLU_LIBNAME = 'libGLU.so.1';
  12095. {$ENDIF}
  12096. {$ENDIF}
  12097. function InitOpenGL(LibName: string = OPENGL_LIBNAME; GLULibName: string = GLU_LIBNAME): Boolean;
  12098. function dglGetProcAddress(ProcName: PAnsiChar; LibHandle: Pointer = nil {$IFDEF DGL_LINUX}; ForceDLSym: Boolean = False{$ENDIF}): Pointer;
  12099. function dglCheckExtension(Extension: AnsiString): Boolean;
  12100. procedure ReadExtensions;
  12101. procedure ReadImplementationProperties;
  12102. // =============================================================================
  12103. // Helper-Functions
  12104. // =============================================================================
  12105. {$IFDEF DGL_WIN}
  12106. function CreateRenderingContext(DC: HDC; Options: TRCOptions; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC;
  12107. function CreateRenderingContextVersion(DC: HDC; Options: TRCOptions; MajorVersion, MinorVersion: Integer; ForwardCompatible: Boolean; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC;
  12108. procedure DestroyRenderingContext(RC: HGLRC);
  12109. procedure ActivateRenderingContext(DC: HDC; RC: HGLRC; loadext: boolean = true);
  12110. procedure DeactivateRenderingContext;
  12111. {$ENDIF}
  12112. procedure ReadOpenGLCore;
  12113. procedure Read_GL_3DFX_tbuffer;
  12114. procedure Read_GL_APPLE_element_array;
  12115. procedure Read_GL_APPLE_fence;
  12116. procedure Read_GL_APPLE_vertex_array_object;
  12117. procedure Read_GL_APPLE_vertex_array_range;
  12118. procedure Read_GL_APPLE_texture_range;
  12119. procedure Read_GL_APPLE_vertex_program_evaluators;
  12120. procedure Read_GL_APPLE_object_purgeable;
  12121. procedure Read_GL_ARB_matrix_palette;
  12122. procedure Read_GL_ARB_multitexture;
  12123. procedure Read_GL_ARB_point_parameters;
  12124. procedure Read_GL_ARB_texture_compression;
  12125. procedure Read_GL_ARB_transpose_matrix;
  12126. procedure Read_GL_ARB_vertex_blend;
  12127. procedure Read_GL_ARB_vertex_buffer_object;
  12128. procedure Read_GL_ARB_vertex_program;
  12129. procedure Read_GL_ARB_window_pos;
  12130. procedure Read_GL_ARB_color_buffer_float;
  12131. procedure Read_GL_ARB_Shader_Objects;
  12132. procedure Read_GL_ARB_occlusion_query;
  12133. procedure Read_GL_ARB_draw_instanced;
  12134. procedure Read_GL_ARB_framebuffer_object;
  12135. procedure Read_GL_ARB_geometry_shader4;
  12136. procedure Read_GL_ARB_instanced_arrays;
  12137. procedure Read_GL_ARB_map_buffer_range;
  12138. procedure Read_GL_ARB_texture_buffer_object;
  12139. procedure Read_GL_ARB_vertex_array_object;
  12140. procedure Read_GL_ARB_uniform_buffer_object;
  12141. procedure Read_GL_ARB_copy_buffer;
  12142. procedure Read_GL_ARB_draw_elements_base_vertex;
  12143. procedure Read_GL_ARB_provoking_vertex;
  12144. procedure Read_GL_ARB_sync;
  12145. procedure Read_GL_ARB_texture_multisample;
  12146. procedure Read_GL_ARB_draw_buffers_blend;
  12147. procedure Read_GL_ARB_sample_shading;
  12148. procedure Read_GL_ARB_shading_language_include;
  12149. procedure Read_GL_ARB_blend_func_extended;
  12150. procedure Read_GL_ARB_sampler_objects;
  12151. procedure Read_GL_ARB_timer_query;
  12152. procedure Read_GL_ARB_vertex_type_2_10_10_10_rev;
  12153. procedure Read_GL_ARB_draw_indirect;
  12154. procedure Read_GL_ARB_gpu_shader_fp64;
  12155. procedure Read_GL_ARB_shader_subroutine;
  12156. procedure Read_GL_ARB_tessellation_shader;
  12157. procedure Read_GL_ARB_transform_feedback2;
  12158. procedure Read_GL_ARB_transform_feedback3;
  12159. procedure Read_GL_ARB_ES2_compatibility;
  12160. procedure Read_GL_ARB_get_program_binary;
  12161. procedure Read_GL_ARB_separate_shader_objects;
  12162. procedure Read_GL_ARB_vertex_attrib_64bit;
  12163. procedure Read_GL_ARB_viewport_array;
  12164. // GL 4.2
  12165. procedure Read_GL_ARB_base_instance;
  12166. procedure Read_GL_ARB_transform_feedback_instanced;
  12167. procedure Read_GL_ARB_internalformat_query;
  12168. procedure Read_GL_ARB_shader_atomic_counters;
  12169. procedure Read_GL_ARB_shader_image_load_store;
  12170. procedure Read_GL_ARB_texture_storage;
  12171. // GL 4.3
  12172. procedure Read_GL_KHR_debug;
  12173. procedure Read_GL_ARB_clear_buffer_object;
  12174. procedure Read_GL_ARB_compute_shader;
  12175. procedure Read_GL_ARB_copy_image;
  12176. procedure Read_GL_ARB_framebuffer_no_attachments;
  12177. procedure Read_GL_ARB_internalformat_query2;
  12178. procedure Read_GL_ARB_invalidate_subdata;
  12179. procedure Read_GL_ARB_multi_draw_indirect;
  12180. procedure Read_GL_ARB_program_interface_query;
  12181. procedure Read_GL_ARB_shader_storage_buffer_object;
  12182. procedure Read_GL_ARB_texture_buffer_range;
  12183. procedure Read_GL_ARB_texture_storage_multisample;
  12184. procedure Read_GL_ARB_texture_view;
  12185. procedure Read_GL_ARB_vertex_attrib_binding;
  12186. procedure Read_GL_4_4;
  12187. procedure Read_GL_4_5;
  12188. //
  12189. procedure Read_GL_ARB_cl_event;
  12190. procedure Read_GL_ARB_compute_variable_group_size;
  12191. procedure Read_GL_ARB_debug_output;
  12192. procedure Read_GL_ARB_robustness;
  12193. procedure Read_GL_ATI_draw_buffers;
  12194. procedure Read_GL_ATI_element_array;
  12195. procedure Read_GL_ATI_envmap_bumpmap;
  12196. procedure Read_GL_ATI_fragment_shader;
  12197. procedure Read_GL_ATI_map_object_buffer;
  12198. procedure Read_GL_ATI_pn_triangles;
  12199. procedure Read_GL_ATI_separate_stencil;
  12200. procedure Read_GL_ATI_vertex_array_object;
  12201. procedure Read_GL_ATI_vertex_attrib_array_object;
  12202. procedure Read_GL_ATI_vertex_streams;
  12203. procedure Read_GL_AMD_performance_monitor;
  12204. procedure Read_GL_AMD_vertex_shader_tesselator;
  12205. procedure Read_GL_AMD_draw_buffers_blend;
  12206. procedure Read_GL_AMD_name_gen_delete;
  12207. procedure Read_GL_AMD_debug_output;
  12208. procedure Read_GL_EXT_blend_color;
  12209. procedure Read_GL_EXT_blend_func_separate;
  12210. procedure Read_GL_EXT_blend_minmax;
  12211. procedure Read_GL_EXT_color_subtable;
  12212. procedure Read_GL_EXT_compiled_vertex_array;
  12213. procedure Read_GL_EXT_convolution;
  12214. procedure Read_GL_EXT_coordinate_frame;
  12215. procedure Read_GL_EXT_copy_texture;
  12216. procedure Read_GL_EXT_cull_vertex;
  12217. procedure Read_GL_EXT_draw_range_elements;
  12218. procedure Read_GL_EXT_fog_coord;
  12219. procedure Read_GL_EXT_framebuffer_object;
  12220. procedure Read_GL_EXT_histogram;
  12221. procedure Read_GL_EXT_index_func;
  12222. procedure Read_GL_EXT_index_material;
  12223. procedure Read_GL_EXT_multi_draw_arrays;
  12224. procedure Read_GL_EXT_multisample;
  12225. procedure Read_GL_EXT_paletted_texture;
  12226. procedure Read_GL_EXT_pixel_transform;
  12227. procedure Read_GL_EXT_point_parameters;
  12228. procedure Read_GL_EXT_polygon_offset;
  12229. procedure Read_GL_EXT_secondary_color;
  12230. procedure Read_GL_EXT_stencil_two_side;
  12231. procedure Read_GL_EXT_subtexture;
  12232. procedure Read_GL_EXT_texture3D;
  12233. procedure Read_GL_EXT_texture_object;
  12234. procedure Read_GL_EXT_texture_perturb_normal;
  12235. procedure Read_GL_EXT_vertex_array;
  12236. procedure Read_GL_EXT_vertex_shader;
  12237. procedure Read_GL_EXT_vertex_weighting;
  12238. procedure Read_GL_EXT_depth_bounds_test;
  12239. procedure Read_GL_EXT_blend_equation_separate;
  12240. procedure Read_GL_EXT_stencil_clear_tag;
  12241. procedure Read_GL_EXT_framebuffer_blit;
  12242. procedure Read_GL_EXT_framebuffer_multisample;
  12243. procedure Read_GL_EXT_timer_query;
  12244. procedure Read_GL_EXT_gpu_program_parameters;
  12245. procedure Read_GL_EXT_bindable_uniform;
  12246. procedure Read_GL_EXT_draw_buffers2;
  12247. procedure Read_GL_EXT_draw_instanced;
  12248. procedure Read_GL_EXT_geometry_shader4;
  12249. procedure Read_GL_EXT_gpu_shader4;
  12250. procedure Read_GL_EXT_texture_array;
  12251. procedure Read_GL_EXT_texture_buffer_object;
  12252. procedure Read_GL_EXT_texture_integer;
  12253. procedure Read_GL_EXT_transform_feedback;
  12254. procedure Read_GL_EXT_direct_state_access;
  12255. procedure Read_GL_EXT_separate_shader_objects;
  12256. procedure Read_GL_EXT_shader_image_load_store;
  12257. procedure Read_GL_EXT_vertex_attrib_64bit;
  12258. procedure Read_GL_HP_image_transform;
  12259. procedure Read_GL_IBM_multimode_draw_arrays;
  12260. procedure Read_GL_IBM_vertex_array_lists;
  12261. procedure Read_GL_INGR_blend_func_separate;
  12262. procedure Read_GL_INTEL_parallel_arrays;
  12263. procedure Read_GL_MESA_resize_buffers;
  12264. procedure Read_GL_MESA_window_pos;
  12265. procedure Read_GL_NV_evaluators;
  12266. procedure Read_GL_NV_fence;
  12267. procedure Read_GL_NV_fragment_program;
  12268. procedure Read_GL_NV_half_float;
  12269. procedure Read_GL_NV_occlusion_query;
  12270. procedure Read_GL_NV_pixel_data_range;
  12271. procedure Read_GL_NV_point_sprite;
  12272. procedure Read_GL_NV_primitive_restart;
  12273. procedure Read_GL_NV_register_combiners;
  12274. procedure Read_GL_NV_register_combiners2;
  12275. procedure Read_GL_NV_vertex_array_range;
  12276. procedure Read_GL_NV_vertex_program;
  12277. procedure Read_GL_NV_depth_buffer_float;
  12278. procedure Read_GL_NV_framebuffer_multisample_coverage;
  12279. procedure Read_GL_NV_geometry_program4;
  12280. procedure Read_GL_NV_gpu_program4;
  12281. procedure Read_GL_NV_parameter_buffer_object;
  12282. procedure Read_GL_NV_transform_feedback;
  12283. procedure Read_GL_NV_conditional_render;
  12284. procedure Read_GL_NV_present_video;
  12285. procedure Read_GL_NV_explicit_multisample;
  12286. procedure Read_GL_NV_transform_feedback2;
  12287. procedure Read_GL_NV_video_capture;
  12288. procedure Read_GL_NV_copy_image;
  12289. procedure Read_GL_NV_shader_buffer_load;
  12290. procedure Read_GL_NV_vertex_buffer_unified_memory;
  12291. procedure Read_GL_NV_gpu_program5;
  12292. procedure Read_GL_NV_gpu_shader5;
  12293. procedure Read_GL_NV_vertex_attrib_integer_64bit;
  12294. procedure Read_GL_NV_vdpau_interop;
  12295. procedure Read_GL_NV_texture_barrier;
  12296. procedure Read_GL_PGI_misc_hints;
  12297. procedure Read_GL_SGIS_detail_texture;
  12298. procedure Read_GL_SGIS_fog_function;
  12299. procedure Read_GL_SGIS_multisample;
  12300. procedure Read_GL_SGIS_pixel_texture;
  12301. procedure Read_GL_SGIS_point_parameters;
  12302. procedure Read_GL_SGIS_sharpen_texture;
  12303. procedure Read_GL_SGIS_texture4D;
  12304. procedure Read_GL_SGIS_texture_color_mask;
  12305. procedure Read_GL_SGIS_texture_filter4;
  12306. procedure Read_GL_SGIX_async;
  12307. procedure Read_GL_SGIX_flush_raster;
  12308. procedure Read_GL_SGIX_fragment_lighting;
  12309. procedure Read_GL_SGIX_framezoom;
  12310. procedure Read_GL_SGIX_igloo_interface;
  12311. procedure Read_GL_SGIX_instruments;
  12312. procedure Read_GL_SGIX_list_priority;
  12313. procedure Read_GL_SGIX_pixel_texture;
  12314. procedure Read_GL_SGIX_polynomial_ffd;
  12315. procedure Read_GL_SGIX_reference_plane;
  12316. procedure Read_GL_SGIX_sprite;
  12317. procedure Read_GL_SGIX_tag_sample_buffer;
  12318. procedure Read_GL_SGI_color_table;
  12319. procedure Read_GL_SUNX_constant_data;
  12320. procedure Read_GL_SUN_global_alpha;
  12321. procedure Read_GL_SUN_mesh_array;
  12322. procedure Read_GL_SUN_triangle_list;
  12323. procedure Read_GL_SUN_vertex;
  12324. {$IFDEF DGL_WIN}
  12325. procedure Read_WGL_ARB_buffer_region;
  12326. procedure Read_WGL_ARB_extensions_string;
  12327. procedure Read_WGL_ARB_make_current_read;
  12328. procedure Read_WGL_ARB_pbuffer;
  12329. procedure Read_WGL_ARB_pixel_format;
  12330. procedure Read_WGL_ARB_pixel_format_float;
  12331. procedure Read_WGL_ARB_render_texture;
  12332. procedure Read_WGL_ARB_create_context;
  12333. procedure Read_WGL_AMD_gpu_association;
  12334. procedure Read_WGL_EXT_display_color_table;
  12335. procedure Read_WGL_EXT_extensions_string;
  12336. procedure Read_WGL_EXT_make_current_read;
  12337. procedure Read_WGL_EXT_pbuffer;
  12338. procedure Read_WGL_EXT_pixel_format;
  12339. procedure Read_WGL_EXT_swap_control;
  12340. procedure Read_WGL_I3D_digital_video_control;
  12341. procedure Read_WGL_I3D_gamma;
  12342. procedure Read_WGL_I3D_genlock;
  12343. procedure Read_WGL_I3D_image_buffer;
  12344. procedure Read_WGL_I3D_swap_frame_lock;
  12345. procedure Read_WGL_I3D_swap_frame_usage;
  12346. procedure Read_WGL_NV_vertex_array_range;
  12347. procedure Read_WGL_NV_present_video;
  12348. procedure Read_WGL_NV_video_output;
  12349. procedure Read_WGL_NV_swap_group;
  12350. procedure Read_WGL_NV_gpu_affinity;
  12351. procedure Read_WGL_NV_video_capture;
  12352. procedure Read_WGL_NV_copy_image;
  12353. procedure Read_WGL_OML_sync_control;
  12354. procedure Read_WGL_3DL_stereo_control;
  12355. procedure Read_WIN_draw_range_elements;
  12356. procedure Read_WIN_swap_hint;
  12357. {$ENDIF}
  12358. implementation
  12359. {$IFDEF DGL_LINUX}
  12360. const
  12361. RTLD_LAZY = $001;
  12362. RTLD_NOW = $002;
  12363. RTLD_BINDING_MASK = $003;
  12364. // Seems to work on Debian / Fedora
  12365. LibraryLib = {$IFDEF Linux} 'libdl.so.2'{$ELSE} 'c'{$ENDIF};
  12366. function dlopen(Name: PAnsiChar; Flags: LongInt): Pointer; cdecl; external LibraryLib name 'dlopen';
  12367. function dlclose(Lib: Pointer): LongInt; cdecl; external LibraryLib name 'dlclose';
  12368. function dlsym(Lib: Pointer; Name: PAnsiChar): Pointer; cdecl; external LibraryLib name 'dlsym';
  12369. {$ENDIF}
  12370. {$IFDEF DGL_MAC}{$IFDEF OPENGL_FRAMEWORK} // OpenGL framework used
  12371. const
  12372. RTLD_DEFAULT = Pointer(-2);
  12373. {$ENDIF}{$ENDIF}
  12374. function dglLoadLibrary(Name: PChar): Pointer;
  12375. begin
  12376. {$IFDEF DGL_WIN}
  12377. Result := Pointer(LoadLibrary(Name));
  12378. {$ENDIF}
  12379. {$IFDEF DGL_LINUX}
  12380. Result := dlopen(Name, RTLD_LAZY);
  12381. {$ENDIF}
  12382. {$IFDEF DGL_MAC}
  12383. {$IFDEF OPENGL_FRAMEWORK}
  12384. Result := RTLD_DEFAULT;
  12385. {$ELSE}
  12386. Result := Pointer(LoadLibrary(Name));
  12387. {$ENDIF}
  12388. {$ENDIF}
  12389. end;
  12390. function dglFreeLibrary(LibHandle: Pointer): Boolean;
  12391. begin
  12392. if LibHandle = nil then
  12393. Result := False
  12394. else
  12395. {$IFDEF DGL_WIN}
  12396. Result := FreeLibrary(HMODULE(LibHandle));
  12397. {$ENDIF}
  12398. {$IFDEF DGL_LINUX}
  12399. Result := dlclose(LibHandle) = 0;
  12400. {$ENDIF}
  12401. {$IFDEF DGL_MAC}
  12402. {$IFDEF OPENGL_FRAMEWORK}
  12403. Result := true;
  12404. {$ELSE}
  12405. Result := FreeLibrary(HMODULE(LibHandle));
  12406. {$ENDIF}
  12407. {$ENDIF}
  12408. end;
  12409. function dglGetProcAddress(ProcName: PAnsiChar; LibHandle: Pointer = nil {$IFDEF DGL_LINUX}; ForceDLSym: Boolean = False{$ENDIF}): Pointer;
  12410. begin
  12411. if LibHandle = nil then
  12412. LibHandle := GL_LibHandle;
  12413. {$IFDEF DGL_WIN}
  12414. Result := GetProcAddress(HMODULE(LibHandle), ProcName);
  12415. if result <> nil then
  12416. exit;
  12417. if Addr(wglGetProcAddress) <> nil then
  12418. Result := wglGetProcAddress(ProcName);
  12419. {$ENDIF}
  12420. {$IFDEF DGL_LINUX}
  12421. if not ForceDLSym then
  12422. begin
  12423. if Addr(glXGetProcAddress) <> nil then
  12424. Result := glXGetProcAddress(ProcName);
  12425. if result <> nil then
  12426. exit;
  12427. if Addr(glXGetProcAddressARB) <> nil then
  12428. Result := glXGetProcAddressARB(ProcName);
  12429. if result <> nil then
  12430. exit;
  12431. end;
  12432. Result := dlsym(LibHandle, ProcName);
  12433. {$ENDIF}
  12434. {$IFDEF DGL_MAC}
  12435. Result := GetProcAddress(HMODULE(LibHandle), ProcName);
  12436. {$ENDIF}
  12437. end;
  12438. function Int_GetExtensionString: AnsiString;
  12439. var
  12440. ExtensionCount: GLuint;
  12441. i: Integer;
  12442. begin
  12443. if GL_VERSION_3_0
  12444. then
  12445. begin
  12446. if not Assigned(@glGetIntegerv) then glGetIntegerv := dglGetProcAddress('glGetIntegerv');
  12447. if not Assigned(@glGetStringi) then glGetStringi := dglGetProcAddress('glGetStringi');
  12448. result := '';
  12449. if Assigned(@glGetIntegerv) and Assigned(@glGetStringi)
  12450. then
  12451. begin
  12452. glGetIntegerv(GL_NUM_EXTENSIONS, @extensionCount);
  12453. For I := 0 to extensionCount - 1 do
  12454. result := result + #32 + PAnsiChar(glGetStringi(GL_EXTENSIONS, I));
  12455. end;
  12456. end
  12457. else
  12458. begin
  12459. if not Assigned(@glGetString) then glGetString := dglGetProcAddress('glGetString');
  12460. if Assigned(@glGetString)
  12461. then result := glGetString(GL_EXTENSIONS)
  12462. else result := '';
  12463. end;
  12464. if (GL_LibHandle <> nil) then
  12465. begin
  12466. {$IFDEF DGL_WIN}
  12467. // wglGetExtensionsStringEXT
  12468. if not Assigned(@wglGetExtensionsStringEXT) then
  12469. wglGetExtensionsStringEXT := dglGetProcAddress('wglGetExtensionsStringEXT');
  12470. if Assigned(@wglGetExtensionsStringEXT) then
  12471. Result := Result + #32 + wglGetExtensionsStringEXT;
  12472. // wglGetExtensionsStringARB
  12473. if not Assigned(@wglGetExtensionsStringARB) then
  12474. wglGetExtensionsStringARB := dglGetProcAddress('wglGetExtensionsStringARB');
  12475. if Assigned(@wglGetExtensionsStringARB) then
  12476. Result := Result + #32 + wglGetExtensionsStringARB(wglGetCurrentDC);
  12477. {$ENDIF}
  12478. end;
  12479. Result := #32 + Result + #32;
  12480. end;
  12481. function Int_CheckExtension(AllExtensions, CheckExtension: AnsiString): Boolean;
  12482. begin
  12483. Result := Pos(#32 + CheckExtension + #32, AllExtensions) > 0;
  12484. end;
  12485. function dglCheckExtension(Extension: AnsiString): Boolean;
  12486. var
  12487. Extensions: AnsiString;
  12488. begin
  12489. Extensions := Int_GetExtensionString;
  12490. Result := Int_CheckExtension(Extensions, Extension);
  12491. end;
  12492. function InitOpenGL(LibName: string; GLULibName: string): Boolean;
  12493. begin
  12494. Result := False;
  12495. // free opened libraries
  12496. if GL_LibHandle <> nil then
  12497. dglFreeLibrary(GL_LibHandle);
  12498. if GLU_LibHandle <> nil then
  12499. dglFreeLibrary(GLU_LibHandle);
  12500. // load library
  12501. GL_LibHandle := dglLoadLibrary(PChar(LibName));
  12502. GLU_LibHandle := dglLoadLibrary(PChar(GLULibName));
  12503. // load GL functions
  12504. if (GL_LibHandle <> nil) then
  12505. begin
  12506. {$IFDEF DGL_WIN}
  12507. wglCopyContext := dglGetProcAddress('wglCopyContext');
  12508. wglCreateLayerContext := dglGetProcAddress('wglCreateLayerContext');
  12509. wglCreateContext := dglGetProcAddress('wglCreateContext');
  12510. wglDeleteContext := dglGetProcAddress('wglDeleteContext');
  12511. wglDescribeLayerPlane := dglGetProcAddress('wglDescribeLayerPlane');
  12512. wglGetCurrentContext := dglGetProcAddress('wglGetCurrentContext');
  12513. wglGetCurrentDC := dglGetProcAddress('wglGetCurrentDC');
  12514. wglGetLayerPaletteEntries := dglGetProcAddress('wglGetLayerPaletteEntries');
  12515. wglGetProcAddress := dglGetProcAddress('wglGetProcAddress');
  12516. wglMakeCurrent := dglGetProcAddress('wglMakeCurrent');
  12517. wglRealizeLayerPalette := dglGetProcAddress('wglRealizeLayerPalette');
  12518. wglSetLayerPaletteEntries := dglGetProcAddress('wglSetLayerPaletteEntries');
  12519. wglShareLists := dglGetProcAddress('wglShareLists');
  12520. wglSwapLayerBuffers := dglGetProcAddress('wglSwapLayerBuffers');
  12521. wglSwapMultipleBuffers := dglGetProcAddress('wglSwapMultipleBuffers');
  12522. wglUseFontBitmapsA := dglGetProcAddress('wglUseFontBitmapsA');
  12523. wglUseFontOutlinesA := dglGetProcAddress('wglUseFontOutlinesA');
  12524. wglUseFontBitmapsW := dglGetProcAddress('wglUseFontBitmapsW');
  12525. wglUseFontOutlinesW := dglGetProcAddress('wglUseFontOutlinesW');
  12526. wglUseFontBitmaps := dglGetProcAddress('wglUseFontBitmapsA');
  12527. wglUseFontOutlines := dglGetProcAddress('wglUseFontOutlinesA');
  12528. {$ENDIF}
  12529. {$IFDEF DGL_LINUX}
  12530. // GLX_VERSION_1_4 (needs to be first)
  12531. glXGetProcAddress := dglGetProcAddress('glXGetProcAddress', nil, True);
  12532. // GLX_ARB_get_proc_address (also needs to be first)
  12533. glXGetProcAddressARB := dglGetProcAddress('glXGetProcAddressARB', nil, True);
  12534. glXChooseVisual := dglGetProcAddress('glXChooseVisual');
  12535. glXCopyContext := dglGetProcAddress('glXCopyContext');
  12536. glXCreateContext := dglGetProcAddress('glXCreateContext');
  12537. glXCreateGLXPixmap := dglGetProcAddress('glXCreateGLXPixmap');
  12538. glXDestroyContext := dglGetProcAddress('glXDestroyContext');
  12539. glXDestroyGLXPixmap := dglGetProcAddress('glXDestroyGLXPixmap');
  12540. glXGetConfig := dglGetProcAddress('glXGetConfig');
  12541. glXGetCurrentContext := dglGetProcAddress('glXGetCurrentContext');
  12542. glXGetCurrentDrawable := dglGetProcAddress('glXGetCurrentDrawable');
  12543. glXIsDirect := dglGetProcAddress('glXIsDirect');
  12544. glXMakeCurrent := dglGetProcAddress('glXMakeCurrent');
  12545. glXQueryExtension := dglGetProcAddress('glXQueryExtension');
  12546. glXQueryVersion := dglGetProcAddress('glXQueryVersion');
  12547. glXSwapBuffers := dglGetProcAddress('glXSwapBuffers');
  12548. glXUseXFont := dglGetProcAddress('glXUseXFont');
  12549. glXWaitGL := dglGetProcAddress('glXWaitGL');
  12550. glXWaitX := dglGetProcAddress('glXWaitX');
  12551. glXGetClientString := dglGetProcAddress('glXGetClientString');
  12552. glXQueryServerString := dglGetProcAddress('glXQueryServerString');
  12553. glXQueryExtensionsString := dglGetProcAddress('glXQueryExtensionsString');
  12554. // GLX_VERSION_1_3
  12555. glXGetFBConfigs := dglGetProcAddress('glXGetFBConfigs');
  12556. glXChooseFBConfig := dglGetProcAddress('glXChooseFBConfig');
  12557. glXGetFBConfigAttrib := dglGetProcAddress('glXGetFBConfigAttrib');
  12558. glXGetVisualFromFBConfig := dglGetProcAddress('glXGetVisualFromFBConfig');
  12559. glXCreateWindow := dglGetProcAddress('glXCreateWindow');
  12560. glXDestroyWindow := dglGetProcAddress('glXDestroyWindow');
  12561. glXCreatePixmap := dglGetProcAddress('glXCreatePixmap');
  12562. glXDestroyPixmap := dglGetProcAddress('glXDestroyPixmap');
  12563. glXCreatePbuffer := dglGetProcAddress('glXCreatePbuffer');
  12564. glXDestroyPbuffer := dglGetProcAddress('glXDestroyPbuffer');
  12565. glXQueryDrawable := dglGetProcAddress('glXQueryDrawable');
  12566. glXCreateNewContext := dglGetProcAddress('glXCreateNewContext');
  12567. glXMakeContextCurrent := dglGetProcAddress('glXMakeContextCurrent');
  12568. glXGetCurrentReadDrawable := dglGetProcAddress('glXGetCurrentReadDrawable');
  12569. glXGetCurreentDisplay := dglGetProcAddress('glXGetCurreentDisplay');
  12570. glXQueryContext := dglGetProcAddress('glXQueryContext');
  12571. glXSelectEvent := dglGetProcAddress('glXSelectEvent');
  12572. glXGetSelectedEvent := dglGetProcAddress('glXGetSelectedEvent');
  12573. // GLX_ARB_create_context
  12574. glXCreateContextAttribsARB := dglGetProcAddress('glXCreateContextAttribsARB');
  12575. // GLX_EXT_import_context
  12576. glXGetCurrentDisplayEXT := dglGetProcAddress('glXGetCurrentDisplayEXT');
  12577. glXQueryContextInfoEXT := dglGetProcAddress('glXQueryContextInfoEXT');
  12578. glXGetContextIDEXT := dglGetProcAddress('glXGetContextIDEXT');
  12579. glXImportContextEXT := dglGetProcAddress('glXImportContextEXT');
  12580. glXFreeContextEXT := dglGetProcAddress('glXFreeContextEXT');
  12581. // GLX_EXT_texture_from_pixmap
  12582. glXBindTexImageEXT := dglGetProcAddress('glXBindTexImageEXT');
  12583. glXReleaseTexImageEXT := dglGetProcAddress('glXReleaseTexImageEXT');
  12584. glXSwapIntervalEXT := dglGetProcAddress('glXSwapIntervalEXT');
  12585. {$ENDIF}
  12586. Result := True;
  12587. end;
  12588. // load GLU functions
  12589. if GLU_LibHandle <> nil then
  12590. begin
  12591. // GLU ========================================================================
  12592. gluBeginCurve := dglGetProcAddress('gluBeginCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12593. gluBeginPolygon := dglGetProcAddress('gluBeginPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12594. gluBeginSurface := dglGetProcAddress('gluBeginSurface', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12595. gluBeginTrim := dglGetProcAddress('gluBeginTrim', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12596. gluBuild1DMipmaps := dglGetProcAddress('gluBuild1DMipmaps', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12597. gluBuild2DMipmaps := dglGetProcAddress('gluBuild2DMipmaps', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12598. gluCylinder := dglGetProcAddress('gluCylinder', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12599. gluDeleteNurbsRenderer := dglGetProcAddress('gluDeleteNurbsRenderer', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12600. gluDeleteQuadric := dglGetProcAddress('gluDeleteQuadric', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12601. gluDeleteTess := dglGetProcAddress('gluDeleteTess', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12602. gluDisk := dglGetProcAddress('gluDisk', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12603. gluEndCurve := dglGetProcAddress('gluEndCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12604. gluEndPolygon := dglGetProcAddress('gluEndPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12605. gluEndSurface := dglGetProcAddress('gluEndSurface', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12606. gluEndTrim := dglGetProcAddress('gluEndTrim', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12607. gluErrorString := dglGetProcAddress('gluErrorString', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12608. gluGetNurbsProperty := dglGetProcAddress('gluGetNurbsProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12609. gluGetString := dglGetProcAddress('gluGetString', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12610. gluGetTessProperty := dglGetProcAddress('gluGetTessProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12611. gluLoadSamplingMatrices := dglGetProcAddress('gluLoadSamplingMatrices', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12612. gluLookAt := dglGetProcAddress('gluLookAt', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12613. gluNewNurbsRenderer := dglGetProcAddress('gluNewNurbsRenderer', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12614. gluNewQuadric := dglGetProcAddress('gluNewQuadric', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12615. gluNewTess := dglGetProcAddress('gluNewTess', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12616. gluNextContour := dglGetProcAddress('gluNextContour', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12617. gluNurbsCallback := dglGetProcAddress('gluNurbsCallback', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12618. gluNurbsCurve := dglGetProcAddress('gluNurbsCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12619. gluNurbsProperty := dglGetProcAddress('gluNurbsProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12620. gluNurbsSurface := dglGetProcAddress('gluNurbsSurface', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12621. gluOrtho2D := dglGetProcAddress('gluOrtho2D', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12622. gluPartialDisk := dglGetProcAddress('gluPartialDisk', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12623. gluPerspective := dglGetProcAddress('gluPerspective', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12624. gluPickMatrix := dglGetProcAddress('gluPickMatrix', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12625. gluProject := dglGetProcAddress('gluProject', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12626. gluPwlCurve := dglGetProcAddress('gluPwlCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12627. gluQuadricCallback := dglGetProcAddress('gluQuadricCallback', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12628. gluQuadricDrawStyle := dglGetProcAddress('gluQuadricDrawStyle', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12629. gluQuadricNormals := dglGetProcAddress('gluQuadricNormals', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12630. gluQuadricOrientation := dglGetProcAddress('gluQuadricOrientation', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12631. gluQuadricTexture := dglGetProcAddress('gluQuadricTexture', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12632. gluScaleImage := dglGetProcAddress('gluScaleImage', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12633. gluSphere := dglGetProcAddress('gluSphere', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12634. gluTessBeginContour := dglGetProcAddress('gluTessBeginContour', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12635. gluTessBeginPolygon := dglGetProcAddress('gluTessBeginPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12636. gluTessCallback := dglGetProcAddress('gluTessCallback', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12637. gluTessEndContour := dglGetProcAddress('gluTessEndContour', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12638. gluTessEndPolygon := dglGetProcAddress('gluTessEndPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12639. gluTessNormal := dglGetProcAddress('gluTessNormal', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12640. gluTessProperty := dglGetProcAddress('gluTessProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12641. gluTessVertex := dglGetProcAddress('gluTessVertex', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12642. gluUnProject := dglGetProcAddress('gluUnProject', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF});
  12643. end;
  12644. end;
  12645. procedure ReadOpenGLCore;
  12646. begin
  12647. // GL_VERSION_1_0
  12648. glCullFace := dglGetProcAddress('glCullFace');
  12649. glFrontFace := dglGetProcAddress('glFrontFace');
  12650. glHint := dglGetProcAddress('glHint');
  12651. glLineWidth := dglGetProcAddress('glLineWidth');
  12652. glPointSize := dglGetProcAddress('glPointSize');
  12653. glPolygonMode := dglGetProcAddress('glPolygonMode');
  12654. glScissor := dglGetProcAddress('glScissor');
  12655. glTexParameterf := dglGetProcAddress('glTexParameterf');
  12656. glTexParameterfv := dglGetProcAddress('glTexParameterfv');
  12657. glTexParameteri := dglGetProcAddress('glTexParameteri');
  12658. glTexParameteriv := dglGetProcAddress('glTexParameteriv');
  12659. glTexImage1D := dglGetProcAddress('glTexImage1D');
  12660. glTexImage2D := dglGetProcAddress('glTexImage2D');
  12661. glDrawBuffer := dglGetProcAddress('glDrawBuffer');
  12662. glClear := dglGetProcAddress('glClear');
  12663. glClearColor := dglGetProcAddress('glClearColor');
  12664. glClearStencil := dglGetProcAddress('glClearStencil');
  12665. glClearDepth := dglGetProcAddress('glClearDepth');
  12666. glStencilMask := dglGetProcAddress('glStencilMask');
  12667. glColorMask := dglGetProcAddress('glColorMask');
  12668. glDepthMask := dglGetProcAddress('glDepthMask');
  12669. glDisable := dglGetProcAddress('glDisable');
  12670. glEnable := dglGetProcAddress('glEnable');
  12671. glFinish := dglGetProcAddress('glFinish');
  12672. glFlush := dglGetProcAddress('glFlush');
  12673. glBlendFunc := dglGetProcAddress('glBlendFunc');
  12674. glLogicOp := dglGetProcAddress('glLogicOp');
  12675. glStencilFunc := dglGetProcAddress('glStencilFunc');
  12676. glStencilOp := dglGetProcAddress('glStencilOp');
  12677. glDepthFunc := dglGetProcAddress('glDepthFunc');
  12678. glPixelStoref := dglGetProcAddress('glPixelStoref');
  12679. glPixelStorei := dglGetProcAddress('glPixelStorei');
  12680. glReadBuffer := dglGetProcAddress('glReadBuffer');
  12681. glReadPixels := dglGetProcAddress('glReadPixels');
  12682. glGetBooleanv := dglGetProcAddress('glGetBooleanv');
  12683. glGetDoublev := dglGetProcAddress('glGetDoublev');
  12684. glGetError := dglGetProcAddress('glGetError');
  12685. glGetFloatv := dglGetProcAddress('glGetFloatv');
  12686. glGetIntegerv := dglGetProcAddress('glGetIntegerv');
  12687. glGetString := dglGetProcAddress('glGetString');
  12688. glGetTexImage := dglGetProcAddress('glGetTexImage');
  12689. glGetTexParameteriv := dglGetProcAddress('glGetTexParameteriv');
  12690. glGetTexParameterfv := dglGetProcAddress('glGetTexParameterfv');
  12691. glGetTexLevelParameterfv := dglGetProcAddress('glGetTexLevelParameterfv');
  12692. glGetTexLevelParameteriv := dglGetProcAddress('glGetTexLevelParameteriv');
  12693. glIsEnabled := dglGetProcAddress('glIsEnabled');
  12694. glDepthRange := dglGetProcAddress('glDepthRange');
  12695. glViewport := dglGetProcAddress('glViewport');
  12696. // GL_VERSION_1_1
  12697. glDrawArrays := dglGetProcAddress('glDrawArrays');
  12698. glDrawElements := dglGetProcAddress('glDrawElements');
  12699. glGetPointerv := dglGetProcAddress('glGetPointerv');
  12700. glPolygonOffset := dglGetProcAddress('glPolygonOffset');
  12701. glCopyTexImage1D := dglGetProcAddress('glCopyTexImage1D');
  12702. glCopyTexImage2D := dglGetProcAddress('glCopyTexImage2D');
  12703. glCopyTexSubImage1D := dglGetProcAddress('glCopyTexSubImage1D');
  12704. glCopyTexSubImage2D := dglGetProcAddress('glCopyTexSubImage2D');
  12705. glTexSubImage1D := dglGetProcAddress('glTexSubImage1D');
  12706. glTexSubImage2D := dglGetProcAddress('glTexSubImage2D');
  12707. glBindTexture := dglGetProcAddress('glBindTexture');
  12708. glDeleteTextures := dglGetProcAddress('glDeleteTextures');
  12709. glGenTextures := dglGetProcAddress('glGenTextures');
  12710. // GL_VERSION_1_2
  12711. glBlendColor := dglGetProcAddress('glBlendColor');
  12712. glBlendEquation := dglGetProcAddress('glBlendEquation');
  12713. glDrawRangeElements := dglGetProcAddress('glDrawRangeElements');
  12714. glTexImage3D := dglGetProcAddress('glTexImage3D');
  12715. glTexSubImage3D := dglGetProcAddress('glTexSubImage3D');
  12716. glCopyTexSubImage3D := dglGetProcAddress('glCopyTexSubImage3D');
  12717. // GL_VERSION_1_3
  12718. glActiveTexture := dglGetProcAddress('glActiveTexture');
  12719. glSampleCoverage := dglGetProcAddress('glSampleCoverage');
  12720. glCompressedTexImage3D := dglGetProcAddress('glCompressedTexImage3D');
  12721. glCompressedTexImage2D := dglGetProcAddress('glCompressedTexImage2D');
  12722. glCompressedTexImage1D := dglGetProcAddress('glCompressedTexImage1D');
  12723. glCompressedTexSubImage3D := dglGetProcAddress('glCompressedTexSubImage3D');
  12724. glCompressedTexSubImage2D := dglGetProcAddress('glCompressedTexSubImage2D');
  12725. glCompressedTexSubImage1D := dglGetProcAddress('glCompressedTexSubImage1D');
  12726. glGetCompressedTexImage := dglGetProcAddress('glGetCompressedTexImage');
  12727. // GL_VERSION_1_4
  12728. glBlendFuncSeparate := dglGetProcAddress('glBlendFuncSeparate');
  12729. glMultiDrawArrays := dglGetProcAddress('glMultiDrawArrays');
  12730. glMultiDrawElements := dglGetProcAddress('glMultiDrawElements');
  12731. glPointParameterf := dglGetProcAddress('glPointParameterf');
  12732. glPointParameterfv := dglGetProcAddress('glPointParameterfv');
  12733. glPointParameteri := dglGetProcAddress('glPointParameteri');
  12734. glPointParameteriv := dglGetProcAddress('glPointParameteriv');
  12735. // GL_VERSION_1_5
  12736. glGenQueries := dglGetProcAddress('glGenQueries');
  12737. glDeleteQueries := dglGetProcAddress('glDeleteQueries');
  12738. glIsQuery := dglGetProcAddress('glIsQuery');
  12739. glBeginQuery := dglGetProcAddress('glBeginQuery');
  12740. glEndQuery := dglGetProcAddress('glEndQuery');
  12741. glGetQueryiv := dglGetProcAddress('glGetQueryiv');
  12742. glGetQueryObjectiv := dglGetProcAddress('glGetQueryObjectiv');
  12743. glGetQueryObjectuiv := dglGetProcAddress('glGetQueryObjectuiv');
  12744. glBindBuffer := dglGetProcAddress('glBindBuffer');
  12745. glDeleteBuffers := dglGetProcAddress('glDeleteBuffers');
  12746. glGenBuffers := dglGetProcAddress('glGenBuffers');
  12747. glIsBuffer := dglGetProcAddress('glIsBuffer');
  12748. glBufferData := dglGetProcAddress('glBufferData');
  12749. glBufferSubData := dglGetProcAddress('glBufferSubData');
  12750. glGetBufferSubData := dglGetProcAddress('glGetBufferSubData');
  12751. glMapBuffer := dglGetProcAddress('glMapBuffer');
  12752. glUnmapBuffer := dglGetProcAddress('glUnmapBuffer');
  12753. glGetBufferParameteriv := dglGetProcAddress('glGetBufferParameteriv');
  12754. glGetBufferPointerv := dglGetProcAddress('glGetBufferPointerv');
  12755. // GL_VERSION_2_0
  12756. glBlendEquationSeparate := dglGetProcAddress('glBlendEquationSeparate');
  12757. glDrawBuffers := dglGetProcAddress('glDrawBuffers');
  12758. glStencilOpSeparate := dglGetProcAddress('glStencilOpSeparate');
  12759. glStencilFuncSeparate := dglGetProcAddress('glStencilFuncSeparate');
  12760. glStencilMaskSeparate := dglGetProcAddress('glStencilMaskSeparate');
  12761. glAttachShader := dglGetProcAddress('glAttachShader');
  12762. glBindAttribLocation := dglGetProcAddress('glBindAttribLocation');
  12763. glCompileShader := dglGetProcAddress('glCompileShader');
  12764. glCreateProgram := dglGetProcAddress('glCreateProgram');
  12765. glCreateShader := dglGetProcAddress('glCreateShader');
  12766. glDeleteProgram := dglGetProcAddress('glDeleteProgram');
  12767. glDeleteShader := dglGetProcAddress('glDeleteShader');
  12768. glDetachShader := dglGetProcAddress('glDetachShader');
  12769. glDisableVertexAttribArray := dglGetProcAddress('glDisableVertexAttribArray');
  12770. glEnableVertexAttribArray := dglGetProcAddress('glEnableVertexAttribArray');
  12771. glGetActiveAttrib := dglGetProcAddress('glGetActiveAttrib');
  12772. glGetActiveUniform := dglGetProcAddress('glGetActiveUniform');
  12773. glGetAttachedShaders := dglGetProcAddress('glGetAttachedShaders');
  12774. glGetAttribLocation := dglGetProcAddress('glGetAttribLocation');
  12775. glGetProgramiv := dglGetProcAddress('glGetProgramiv');
  12776. glGetProgramInfoLog := dglGetProcAddress('glGetProgramInfoLog');
  12777. glGetShaderiv := dglGetProcAddress('glGetShaderiv');
  12778. glGetShaderInfoLog := dglGetProcAddress('glGetShaderInfoLog');
  12779. glGetShaderSource := dglGetProcAddress('glGetShaderSource');
  12780. glGetUniformLocation := dglGetProcAddress('glGetUniformLocation');
  12781. glGetUniformfv := dglGetProcAddress('glGetUniformfv');
  12782. glGetUniformiv := dglGetProcAddress('glGetUniformiv');
  12783. glGetVertexAttribfv := dglGetProcAddress('glGetVertexAttribfv');
  12784. glGetVertexAttribiv := dglGetProcAddress('glGetVertexAttribiv');
  12785. glGetVertexAttribPointerv := dglGetProcAddress('glGetVertexAttribPointerv');
  12786. glIsProgram := dglGetProcAddress('glIsProgram');
  12787. glIsShader := dglGetProcAddress('glIsShader');
  12788. glLinkProgram := dglGetProcAddress('glLinkProgram');
  12789. glShaderSource := dglGetProcAddress('glShaderSource');
  12790. glUseProgram := dglGetProcAddress('glUseProgram');
  12791. glUniform1f := dglGetProcAddress('glUniform1f');
  12792. glUniform2f := dglGetProcAddress('glUniform2f');
  12793. glUniform3f := dglGetProcAddress('glUniform3f');
  12794. glUniform4f := dglGetProcAddress('glUniform4f');
  12795. glUniform1i := dglGetProcAddress('glUniform1i');
  12796. glUniform2i := dglGetProcAddress('glUniform2i');
  12797. glUniform3i := dglGetProcAddress('glUniform3i');
  12798. glUniform4i := dglGetProcAddress('glUniform4i');
  12799. glUniform1fv := dglGetProcAddress('glUniform1fv');
  12800. glUniform2fv := dglGetProcAddress('glUniform2fv');
  12801. glUniform3fv := dglGetProcAddress('glUniform3fv');
  12802. glUniform4fv := dglGetProcAddress('glUniform4fv');
  12803. glUniform1iv := dglGetProcAddress('glUniform1iv');
  12804. glUniform2iv := dglGetProcAddress('glUniform2iv');
  12805. glUniform3iv := dglGetProcAddress('glUniform3iv');
  12806. glUniform4iv := dglGetProcAddress('glUniform4iv');
  12807. glUniformMatrix2fv := dglGetProcAddress('glUniformMatrix2fv');
  12808. glUniformMatrix3fv := dglGetProcAddress('glUniformMatrix3fv');
  12809. glUniformMatrix4fv := dglGetProcAddress('glUniformMatrix4fv');
  12810. glValidateProgram := dglGetProcAddress('glValidateProgram');
  12811. glVertexAttrib1d := dglGetProcAddress('glVertexAttrib1d');
  12812. glVertexAttrib1dv := dglGetProcAddress('glVertexAttrib1dv');
  12813. glVertexAttrib1f := dglGetProcAddress('glVertexAttrib1f');
  12814. glVertexAttrib1fv := dglGetProcAddress('glVertexAttrib1fv');
  12815. glVertexAttrib1s := dglGetProcAddress('glVertexAttrib1s');
  12816. glVertexAttrib1sv := dglGetProcAddress('glVertexAttrib1sv');
  12817. glVertexAttrib2d := dglGetProcAddress('glVertexAttrib2d');
  12818. glVertexAttrib2dv := dglGetProcAddress('glVertexAttrib2dv');
  12819. glVertexAttrib2f := dglGetProcAddress('glVertexAttrib2f');
  12820. glVertexAttrib2fv := dglGetProcAddress('glVertexAttrib2fv');
  12821. glVertexAttrib2s := dglGetProcAddress('glVertexAttrib2s');
  12822. glVertexAttrib2sv := dglGetProcAddress('glVertexAttrib2sv');
  12823. glVertexAttrib3d := dglGetProcAddress('glVertexAttrib3d');
  12824. glVertexAttrib3dv := dglGetProcAddress('glVertexAttrib3dv');
  12825. glVertexAttrib3f := dglGetProcAddress('glVertexAttrib3f');
  12826. glVertexAttrib3fv := dglGetProcAddress('glVertexAttrib3fv');
  12827. glVertexAttrib3s := dglGetProcAddress('glVertexAttrib3s');
  12828. glVertexAttrib3sv := dglGetProcAddress('glVertexAttrib3sv');
  12829. glVertexAttrib4Nbv := dglGetProcAddress('glVertexAttrib4Nbv');
  12830. glVertexAttrib4Niv := dglGetProcAddress('glVertexAttrib4Niv');
  12831. glVertexAttrib4Nsv := dglGetProcAddress('glVertexAttrib4Nsv');
  12832. glVertexAttrib4Nub := dglGetProcAddress('glVertexAttrib4Nub');
  12833. glVertexAttrib4Nubv := dglGetProcAddress('glVertexAttrib4Nubv');
  12834. glVertexAttrib4Nuiv := dglGetProcAddress('glVertexAttrib4Nuiv');
  12835. glVertexAttrib4Nusv := dglGetProcAddress('glVertexAttrib4Nusv');
  12836. glVertexAttrib4bv := dglGetProcAddress('glVertexAttrib4bv');
  12837. glVertexAttrib4d := dglGetProcAddress('glVertexAttrib4d');
  12838. glVertexAttrib4dv := dglGetProcAddress('glVertexAttrib4dv');
  12839. glVertexAttrib4f := dglGetProcAddress('glVertexAttrib4f');
  12840. glVertexAttrib4fv := dglGetProcAddress('glVertexAttrib4fv');
  12841. glVertexAttrib4iv := dglGetProcAddress('glVertexAttrib4iv');
  12842. glVertexAttrib4s := dglGetProcAddress('glVertexAttrib4s');
  12843. glVertexAttrib4sv := dglGetProcAddress('glVertexAttrib4sv');
  12844. glVertexAttrib4ubv := dglGetProcAddress('glVertexAttrib4ubv');
  12845. glVertexAttrib4uiv := dglGetProcAddress('glVertexAttrib4uiv');
  12846. glVertexAttrib4usv := dglGetProcAddress('glVertexAttrib4usv');
  12847. glVertexAttribPointer := dglGetProcAddress('glVertexAttribPointer');
  12848. // GL_VERSION_2_1
  12849. glUniformMatrix2x3fv := dglGetProcAddress('glUniformMatrix2x3fv');
  12850. glUniformMatrix3x2fv := dglGetProcAddress('glUniformMatrix3x2fv');
  12851. glUniformMatrix2x4fv := dglGetProcAddress('glUniformMatrix2x4fv');
  12852. glUniformMatrix4x2fv := dglGetProcAddress('glUniformMatrix4x2fv');
  12853. glUniformMatrix3x4fv := dglGetProcAddress('glUniformMatrix3x4fv');
  12854. glUniformMatrix4x3fv := dglGetProcAddress('glUniformMatrix4x3fv');
  12855. // GL_VERSION_3_0
  12856. { OpenGL 3.0 also reuses entry points from these extensions: }
  12857. Read_GL_ARB_framebuffer_object;
  12858. Read_GL_ARB_map_buffer_range;
  12859. Read_GL_ARB_vertex_array_object;
  12860. glColorMaski := dglGetProcAddress('glColorMaski');
  12861. glGetBooleani_v := dglGetProcAddress('glGetBooleani_v');
  12862. glGetIntegeri_v := dglGetProcAddress('glGetIntegeri_v');
  12863. glEnablei := dglGetProcAddress('glEnablei');
  12864. glDisablei := dglGetProcAddress('glDisablei');
  12865. glIsEnabledi := dglGetProcAddress('glIsEnabledi');
  12866. glBeginTransformFeedback := dglGetProcAddress('glBeginTransformFeedback');
  12867. glEndTransformFeedback := dglGetProcAddress('glEndTransformFeedback');
  12868. glBindBufferRange := dglGetProcAddress('glBindBufferRange');
  12869. glBindBufferBase := dglGetProcAddress('glBindBufferBase');
  12870. glTransformFeedbackVaryings := dglGetProcAddress('glTransformFeedbackVaryings');
  12871. glGetTransformFeedbackVarying := dglGetProcAddress('glGetTransformFeedbackVarying');
  12872. glClampColor := dglGetProcAddress('glClampColor');
  12873. glBeginConditionalRender := dglGetProcAddress('glBeginConditionalRender');
  12874. glEndConditionalRender := dglGetProcAddress('glEndConditionalRender');
  12875. glVertexAttribI1i := dglGetProcAddress('glVertexAttribI1i');
  12876. glVertexAttribI2i := dglGetProcAddress('glVertexAttribI2i');
  12877. glVertexAttribI3i := dglGetProcAddress('glVertexAttribI3i');
  12878. glVertexAttribI4i := dglGetProcAddress('glVertexAttribI4i');
  12879. glVertexAttribI1ui := dglGetProcAddress('glVertexAttribI1ui');
  12880. glVertexAttribI2ui := dglGetProcAddress('glVertexAttribI2ui');
  12881. glVertexAttribI3ui := dglGetProcAddress('glVertexAttribI3ui');
  12882. glVertexAttribI4ui := dglGetProcAddress('glVertexAttribI4ui');
  12883. glVertexAttribI1iv := dglGetProcAddress('glVertexAttribI1iv');
  12884. glVertexAttribI2iv := dglGetProcAddress('glVertexAttribI2iv');
  12885. glVertexAttribI3iv := dglGetProcAddress('glVertexAttribI3iv');
  12886. glVertexAttribI4iv := dglGetProcAddress('glVertexAttribI4iv');
  12887. glVertexAttribI1uiv := dglGetProcAddress('glVertexAttribI1uiv');
  12888. glVertexAttribI2uiv := dglGetProcAddress('glVertexAttribI2uiv');
  12889. glVertexAttribI3uiv := dglGetProcAddress('glVertexAttribI3uiv');
  12890. glVertexAttribI4uiv := dglGetProcAddress('glVertexAttribI4uiv');
  12891. glVertexAttribI4bv := dglGetProcAddress('glVertexAttribI4bv');
  12892. glVertexAttribI4sv := dglGetProcAddress('glVertexAttribI4sv');
  12893. glVertexAttribI4ubv := dglGetProcAddress('glVertexAttribI4ubv');
  12894. glVertexAttribI4usv := dglGetProcAddress('glVertexAttribI4usv');
  12895. glVertexAttribIPointer := dglGetProcAddress('glVertexAttribIPointer');
  12896. glGetVertexAttribIiv := dglGetProcAddress('glGetVertexAttribIiv');
  12897. glGetVertexAttribIuiv := dglGetProcAddress('glGetVertexAttribIuiv');
  12898. glGetUniformuiv := dglGetProcAddress('glGetUniformuiv');
  12899. glBindFragDataLocation := dglGetProcAddress('glBindFragDataLocation');
  12900. glGetFragDataLocation := dglGetProcAddress('glGetFragDataLocation');
  12901. glUniform1ui := dglGetProcAddress('glUniform1ui');
  12902. glUniform2ui := dglGetProcAddress('glUniform2ui');
  12903. glUniform3ui := dglGetProcAddress('glUniform3ui');
  12904. glUniform4ui := dglGetProcAddress('glUniform4ui');
  12905. glUniform1uiv := dglGetProcAddress('glUniform1uiv');
  12906. glUniform2uiv := dglGetProcAddress('glUniform2uiv');
  12907. glUniform3uiv := dglGetProcAddress('glUniform3uiv');
  12908. glUniform4uiv := dglGetProcAddress('glUniform4uiv');
  12909. glTexParameterIiv := dglGetProcAddress('glTexParameterIiv');
  12910. glTexParameterIuiv := dglGetProcAddress('glTexParameterIuiv');
  12911. glGetTexParameterIiv := dglGetProcAddress('glGetTexParameterIiv');
  12912. glGetTexParameterIuiv := dglGetProcAddress('glGetTexParameterIuiv');
  12913. glClearBufferiv := dglGetProcAddress('glClearBufferiv');
  12914. glClearBufferuiv := dglGetProcAddress('glClearBufferuiv');
  12915. glClearBufferfv := dglGetProcAddress('glClearBufferfv');
  12916. glClearBufferfi := dglGetProcAddress('glClearBufferfi');
  12917. glGetStringi := dglGetProcAddress('glGetStringi');
  12918. // GL_VERSION_2_1
  12919. glEnableVertexArrayEXT := dglGetProcAddress('glEnableVertexArrayEXT');
  12920. glEnableVertexArrayAttribEXT := dglGetProcAddress('glEnableVertexArrayAttribEXT');
  12921. glVertexArrayVertexAttribOffsetEXT := dglGetProcAddress('glVertexArrayVertexAttribOffsetEXT');
  12922. // GL_VERSION_3_1
  12923. { OpenGL 3.1 also reuses entry points from these extensions: }
  12924. Read_GL_ARB_copy_buffer;
  12925. Read_GL_ARB_uniform_buffer_object;
  12926. glDrawArraysInstanced := dglGetProcAddress('glDrawArraysInstanced');
  12927. glDrawElementsInstanced := dglGetProcAddress('glDrawElementsInstanced');
  12928. glTexBuffer := dglGetProcAddress('glTexBuffer');
  12929. glPrimitiveRestartIndex := dglGetProcAddress('glPrimitiveRestartIndex');
  12930. // GL_VERSION_3_2
  12931. { OpenGL 3.2 also reuses entry points from these extensions: }
  12932. Read_GL_ARB_draw_elements_base_vertex;
  12933. Read_GL_ARB_provoking_vertex;
  12934. Read_GL_ARB_sync;
  12935. Read_GL_ARB_texture_multisample;
  12936. glGetInteger64i_v := dglGetProcAddress('glGetInteger64i_v');
  12937. glGetBufferParameteri64v := dglGetProcAddress('glGetBufferParameteri64v');
  12938. glFramebufferTexture := dglGetProcAddress('glFramebufferTexture');
  12939. // glFramebufferTextureFace := dglGetProcAddress('glFramebufferTextureFace');
  12940. // GL_VERSION_3_3
  12941. { OpenGL 3.3 also reuses entry points from these extensions: }
  12942. Read_GL_ARB_blend_func_extended;
  12943. Read_GL_ARB_sampler_objects;
  12944. { ARB_explicit_attrib_location, but it has none }
  12945. { ARB_occlusion_query2 (no entry points) }
  12946. { ARB_shader_bit_encoding (no entry points) }
  12947. { ARB_texture_rgb10_a2ui (no entry points) }
  12948. { ARB_texture_swizzle (no entry points) }
  12949. Read_GL_ARB_timer_query;
  12950. Read_GL_ARB_vertex_type_2_10_10_10_rev;
  12951. glVertexAttribDivisor := dglGetProcAddress('glVertexAttribDivisor');
  12952. // GL_VERSION_4_0
  12953. { OpenGL 4.0 also reuses entry points from these extensions: }
  12954. { ARB_texture_query_lod (no entry points) }
  12955. Read_GL_ARB_draw_indirect;
  12956. { ARB_gpu_shader5 (no entry points) }
  12957. Read_GL_ARB_gpu_shader_fp64;
  12958. Read_GL_ARB_shader_subroutine;
  12959. Read_GL_ARB_tessellation_shader;
  12960. { ARB_texture_buffer_object_rgb32 (no entry points) }
  12961. { ARB_texture_cube_map_array (no entry points) }
  12962. { ARB_texture_gather (no entry points) }
  12963. Read_GL_ARB_transform_feedback2;
  12964. Read_GL_ARB_transform_feedback3;
  12965. glMinSampleShading := dglGetProcAddress('glMinSampleShading');
  12966. glBlendEquationi := dglGetProcAddress('glBlendEquationi');
  12967. glBlendEquationSeparatei := dglGetProcAddress('glBlendEquationSeparatei');
  12968. glBlendFunci := dglGetProcAddress('glBlendFunci');
  12969. glBlendFuncSeparatei := dglGetProcAddress('glBlendFuncSeparatei');
  12970. // GL_VERSION_4_1
  12971. { OpenGL 4.1 also reuses entry points from these extensions: }
  12972. Read_GL_ARB_ES2_compatibility;
  12973. Read_GL_ARB_get_program_binary;
  12974. Read_GL_ARB_separate_shader_objects;
  12975. { ARB_shader_precision (no entry points) }
  12976. Read_GL_ARB_vertex_attrib_64bit;
  12977. Read_GL_ARB_viewport_array;
  12978. // GL_VERSION_4_2
  12979. { OpenGL 4.2 reuses entry points from these extensions: }
  12980. Read_GL_ARB_base_instance;
  12981. //Read_GL_ARB_shading_language_420pack (no entry points)
  12982. Read_GL_ARB_transform_feedback_instanced;
  12983. //Read_GL_ARB_compressed_texture_pixel_storage (no entry points)
  12984. //Read_GL_ARB_conservative_depth;
  12985. Read_GL_ARB_internalformat_query;
  12986. //Read_GL_ARB_map_buffer_alignment;
  12987. Read_GL_ARB_shader_atomic_counters;
  12988. Read_GL_ARB_shader_image_load_store;
  12989. //Read_GL_ARB_shading_language_packing;
  12990. Read_GL_ARB_texture_storage;
  12991. // GL_VERSION_4_3
  12992. // OpenGL 4.3 reuses entry points from these extensions:
  12993. // Read_GL_ARB_arrays_of_arrays (none, GLSL only) (no entry points)
  12994. // Read_GL_ARB_fragment_layer_viewport (none, GLSL only) (no entry points)
  12995. // Read_GL_ARB_shader_image_size (none, GLSL only) (no entry points)
  12996. // Read_GL_ARB_ES3_compatibility (no entry points)
  12997. Read_GL_ARB_clear_buffer_object;
  12998. Read_GL_ARB_compute_shader;
  12999. Read_GL_ARB_copy_image;
  13000. Read_GL_KHR_debug;
  13001. // Read_GL_ARB_explicit_uniform_location (no entry points)
  13002. Read_GL_ARB_framebuffer_no_attachments;
  13003. Read_GL_ARB_internalformat_query2;
  13004. Read_GL_ARB_invalidate_subdata;
  13005. Read_GL_ARB_multi_draw_indirect;
  13006. Read_GL_ARB_program_interface_query;
  13007. // Read_GL_ARB_robust_buffer_access_behavior (none) (no entry points)
  13008. Read_GL_ARB_shader_storage_buffer_object;
  13009. // Read_GL_ARB_stencil_texturing (no entry points)
  13010. Read_GL_ARB_texture_buffer_range;
  13011. // Read_GL_ARB_texture_query_levels (none) (no entry points)
  13012. Read_GL_ARB_texture_storage_multisample;
  13013. Read_GL_ARB_texture_view;
  13014. Read_GL_ARB_vertex_attrib_binding;
  13015. // Note (Due to Khronos' change in header convetions, no more single read_ functions) starting with GL 4.4
  13016. Read_GL_4_4;
  13017. Read_GL_4_5;
  13018. end;
  13019. procedure Read_GL_3DFX_tbuffer;
  13020. begin
  13021. glTbufferMask3DFX := dglGetProcAddress('glTbufferMask3DFX');
  13022. end;
  13023. procedure Read_GL_APPLE_element_array;
  13024. begin
  13025. glElementPointerAPPLE := dglGetProcAddress('glElementPointerAPPLE');
  13026. glDrawElementArrayAPPLE := dglGetProcAddress('glDrawElementArrayAPPLE');
  13027. glDrawRangeElementArrayAPPLE := dglGetProcAddress('glDrawRangeElementArrayAPPLE');
  13028. glMultiDrawElementArrayAPPLE := dglGetProcAddress('glMultiDrawElementArrayAPPLE');
  13029. glMultiDrawRangeElementArrayAPPLE := dglGetProcAddress('glMultiDrawRangeElementArrayAPPLE');
  13030. end;
  13031. procedure Read_GL_APPLE_fence;
  13032. begin
  13033. glGenFencesAPPLE := dglGetProcAddress('glGenFencesAPPLE');
  13034. glDeleteFencesAPPLE := dglGetProcAddress('glDeleteFencesAPPLE');
  13035. glSetFenceAPPLE := dglGetProcAddress('glSetFenceAPPLE');
  13036. glIsFenceAPPLE := dglGetProcAddress('glIsFenceAPPLE');
  13037. glTestFenceAPPLE := dglGetProcAddress('glTestFenceAPPLE');
  13038. glFinishFenceAPPLE := dglGetProcAddress('glFinishFenceAPPLE');
  13039. glTestObjectAPPLE := dglGetProcAddress('glTestObjectAPPLE');
  13040. glFinishObjectAPPLE := dglGetProcAddress('glFinishObjectAPPLE');
  13041. end;
  13042. procedure Read_GL_APPLE_vertex_array_object;
  13043. begin
  13044. glBindVertexArrayAPPLE := dglGetProcAddress('glBindVertexArrayAPPLE');
  13045. glDeleteVertexArraysAPPLE := dglGetProcAddress('glDeleteVertexArraysAPPLE');
  13046. glGenVertexArraysAPPLE := dglGetProcAddress('glGenVertexArraysAPPLE');
  13047. glIsVertexArrayAPPLE := dglGetProcAddress('glIsVertexArrayAPPLE');
  13048. end;
  13049. procedure Read_GL_APPLE_vertex_array_range;
  13050. begin
  13051. glVertexArrayRangeAPPLE := dglGetProcAddress('glVertexArrayRangeAPPLE');
  13052. glFlushVertexArrayRangeAPPLE := dglGetProcAddress('glFlushVertexArrayRangeAPPLE');
  13053. glVertexArrayParameteriAPPLE := dglGetProcAddress('glVertexArrayParameteriAPPLE');
  13054. end;
  13055. procedure Read_GL_APPLE_texture_range;
  13056. begin
  13057. glTextureRangeAPPLE := dglGetProcAddress('glTextureRangeAPPLE');
  13058. glGetTexParameterPointervAPPLE := dglGetProcAddress('glGetTexParameterPointervAPPLE');
  13059. end;
  13060. procedure Read_GL_APPLE_vertex_program_evaluators;
  13061. begin
  13062. glEnableVertexAttribAPPLE := dglGetProcAddress('glEnableVertexAttribAPPLE');
  13063. glDisableVertexAttribAPPLE := dglGetProcAddress('glDisableVertexAttribAPPLE');
  13064. glIsVertexAttribEnabledAPPLE := dglGetProcAddress('glIsVertexAttribEnabledAPPLE');
  13065. glMapVertexAttrib1dAPPLE := dglGetProcAddress('glMapVertexAttrib1dAPPLE');
  13066. glMapVertexAttrib1fAPPLE := dglGetProcAddress('glMapVertexAttrib1fAPPLE');
  13067. glMapVertexAttrib2dAPPLE := dglGetProcAddress('glMapVertexAttrib2dAPPLE');
  13068. glMapVertexAttrib2fAPPLE := dglGetProcAddress('glMapVertexAttrib2fAPPLE');
  13069. end;
  13070. procedure Read_GL_APPLE_object_purgeable;
  13071. begin
  13072. glObjectPurgeableAPPLE := dglGetProcAddress('glObjectPurgeableAPPLE');
  13073. glObjectUnpurgeableAPPLE := dglGetProcAddress('glObjectUnpurgeableAPPLE');
  13074. glGetObjectParameterivAPPLE := dglGetProcAddress('glGetObjectParameterivAPPLE');
  13075. end;
  13076. procedure Read_GL_ARB_matrix_palette;
  13077. begin
  13078. glCurrentPaletteMatrixARB := dglGetProcAddress('glCurrentPaletteMatrixARB');
  13079. glMatrixIndexubvARB := dglGetProcAddress('glMatrixIndexubvARB');
  13080. glMatrixIndexusvARB := dglGetProcAddress('glMatrixIndexusvARB');
  13081. glMatrixIndexuivARB := dglGetProcAddress('glMatrixIndexuivARB');
  13082. glMatrixIndexPointerARB := dglGetProcAddress('glMatrixIndexPointerARB');
  13083. end;
  13084. procedure Read_GL_ARB_multisample;
  13085. begin
  13086. glSampleCoverageARB := dglGetProcAddress('glSampleCoverageARB');
  13087. end;
  13088. procedure Read_GL_ARB_multitexture;
  13089. begin
  13090. glActiveTextureARB := dglGetProcAddress('glActiveTextureARB');
  13091. glClientActiveTextureARB := dglGetProcAddress('glClientActiveTextureARB');
  13092. glMultiTexCoord1dARB := dglGetProcAddress('glMultiTexCoord1dARB');
  13093. glMultiTexCoord1dvARB := dglGetProcAddress('glMultiTexCoord1dvARB');
  13094. glMultiTexCoord1fARB := dglGetProcAddress('glMultiTexCoord1fARB');
  13095. glMultiTexCoord1fvARB := dglGetProcAddress('glMultiTexCoord1fvARB');
  13096. glMultiTexCoord1iARB := dglGetProcAddress('glMultiTexCoord1iARB');
  13097. glMultiTexCoord1ivARB := dglGetProcAddress('glMultiTexCoord1ivARB');
  13098. glMultiTexCoord1sARB := dglGetProcAddress('glMultiTexCoord1sARB');
  13099. glMultiTexCoord1svARB := dglGetProcAddress('glMultiTexCoord1svARB');
  13100. glMultiTexCoord2dARB := dglGetProcAddress('glMultiTexCoord2dARB');
  13101. glMultiTexCoord2dvARB := dglGetProcAddress('glMultiTexCoord2dvARB');
  13102. glMultiTexCoord2fARB := dglGetProcAddress('glMultiTexCoord2fARB');
  13103. glMultiTexCoord2fvARB := dglGetProcAddress('glMultiTexCoord2fvARB');
  13104. glMultiTexCoord2iARB := dglGetProcAddress('glMultiTexCoord2iARB');
  13105. glMultiTexCoord2ivARB := dglGetProcAddress('glMultiTexCoord2ivARB');
  13106. glMultiTexCoord2sARB := dglGetProcAddress('glMultiTexCoord2sARB');
  13107. glMultiTexCoord2svARB := dglGetProcAddress('glMultiTexCoord2svARB');
  13108. glMultiTexCoord3dARB := dglGetProcAddress('glMultiTexCoord3dARB');
  13109. glMultiTexCoord3dvARB := dglGetProcAddress('glMultiTexCoord3dvARB');
  13110. glMultiTexCoord3fARB := dglGetProcAddress('glMultiTexCoord3fARB');
  13111. glMultiTexCoord3fvARB := dglGetProcAddress('glMultiTexCoord3fvARB');
  13112. glMultiTexCoord3iARB := dglGetProcAddress('glMultiTexCoord3iARB');
  13113. glMultiTexCoord3ivARB := dglGetProcAddress('glMultiTexCoord3ivARB');
  13114. glMultiTexCoord3sARB := dglGetProcAddress('glMultiTexCoord3sARB');
  13115. glMultiTexCoord3svARB := dglGetProcAddress('glMultiTexCoord3svARB');
  13116. glMultiTexCoord4dARB := dglGetProcAddress('glMultiTexCoord4dARB');
  13117. glMultiTexCoord4dvARB := dglGetProcAddress('glMultiTexCoord4dvARB');
  13118. glMultiTexCoord4fARB := dglGetProcAddress('glMultiTexCoord4fARB');
  13119. glMultiTexCoord4fvARB := dglGetProcAddress('glMultiTexCoord4fvARB');
  13120. glMultiTexCoord4iARB := dglGetProcAddress('glMultiTexCoord4iARB');
  13121. glMultiTexCoord4ivARB := dglGetProcAddress('glMultiTexCoord4ivARB');
  13122. glMultiTexCoord4sARB := dglGetProcAddress('glMultiTexCoord4sARB');
  13123. glMultiTexCoord4svARB := dglGetProcAddress('glMultiTexCoord4svARB');
  13124. end;
  13125. procedure Read_GL_ARB_point_parameters;
  13126. begin
  13127. glPointParameterfARB := dglGetProcAddress('glPointParameterfARB');
  13128. glPointParameterfvARB := dglGetProcAddress('glPointParameterfvARB');
  13129. end;
  13130. procedure Read_GL_ARB_texture_compression;
  13131. begin
  13132. glCompressedTexImage3DARB := dglGetProcAddress('glCompressedTexImage3DARB');
  13133. glCompressedTexImage2DARB := dglGetProcAddress('glCompressedTexImage2DARB');
  13134. glCompressedTexImage1DARB := dglGetProcAddress('glCompressedTexImage1DARB');
  13135. glCompressedTexSubImage3DARB := dglGetProcAddress('glCompressedTexSubImage3DARB');
  13136. glCompressedTexSubImage2DARB := dglGetProcAddress('glCompressedTexSubImage2DARB');
  13137. glCompressedTexSubImage1DARB := dglGetProcAddress('glCompressedTexSubImage1DARB');
  13138. glGetCompressedTexImageARB := dglGetProcAddress('glGetCompressedTexImageARB');
  13139. end;
  13140. procedure Read_GL_ARB_transpose_matrix;
  13141. begin
  13142. glLoadTransposeMatrixfARB := dglGetProcAddress('glLoadTransposeMatrixfARB');
  13143. glLoadTransposeMatrixdARB := dglGetProcAddress('glLoadTransposeMatrixdARB');
  13144. glMultTransposeMatrixfARB := dglGetProcAddress('glMultTransposeMatrixfARB');
  13145. glMultTransposeMatrixdARB := dglGetProcAddress('glMultTransposeMatrixdARB');
  13146. end;
  13147. procedure Read_GL_ARB_vertex_blend;
  13148. begin
  13149. glWeightbvARB := dglGetProcAddress('glWeightbvARB');
  13150. glWeightsvARB := dglGetProcAddress('glWeightsvARB');
  13151. glWeightivARB := dglGetProcAddress('glWeightivARB');
  13152. glWeightfvARB := dglGetProcAddress('glWeightfvARB');
  13153. glWeightdvARB := dglGetProcAddress('glWeightdvARB');
  13154. glWeightubvARB := dglGetProcAddress('glWeightubvARB');
  13155. glWeightusvARB := dglGetProcAddress('glWeightusvARB');
  13156. glWeightuivARB := dglGetProcAddress('glWeightuivARB');
  13157. glWeightPointerARB := dglGetProcAddress('glWeightPointerARB');
  13158. glVertexBlendARB := dglGetProcAddress('glVertexBlendARB');
  13159. end;
  13160. procedure Read_GL_ARB_vertex_buffer_object;
  13161. begin
  13162. glBindBufferARB := dglGetProcAddress('glBindBufferARB');
  13163. glDeleteBuffersARB := dglGetProcAddress('glDeleteBuffersARB');
  13164. glGenBuffersARB := dglGetProcAddress('glGenBuffersARB');
  13165. glIsBufferARB := dglGetProcAddress('glIsBufferARB');
  13166. glBufferDataARB := dglGetProcAddress('glBufferDataARB');
  13167. glBufferSubDataARB := dglGetProcAddress('glBufferSubDataARB');
  13168. glGetBufferSubDataARB := dglGetProcAddress('glGetBufferSubDataARB');
  13169. glMapBufferARB := dglGetProcAddress('glMapBufferARB');
  13170. glUnmapBufferARB := dglGetProcAddress('glUnmapBufferARB');
  13171. glGetBufferParameterivARB := dglGetProcAddress('glGetBufferParameterivARB');
  13172. glGetBufferPointervARB := dglGetProcAddress('glGetBufferPointervARB');
  13173. end;
  13174. procedure Read_GL_ARB_vertex_program;
  13175. begin
  13176. glVertexAttrib1dARB := dglGetProcAddress('glVertexAttrib1dARB');
  13177. glVertexAttrib1dvARB := dglGetProcAddress('glVertexAttrib1dvARB');
  13178. glVertexAttrib1fARB := dglGetProcAddress('glVertexAttrib1fARB');
  13179. glVertexAttrib1fvARB := dglGetProcAddress('glVertexAttrib1fvARB');
  13180. glVertexAttrib1sARB := dglGetProcAddress('glVertexAttrib1sARB');
  13181. glVertexAttrib1svARB := dglGetProcAddress('glVertexAttrib1svARB');
  13182. glVertexAttrib2dARB := dglGetProcAddress('glVertexAttrib2dARB');
  13183. glVertexAttrib2dvARB := dglGetProcAddress('glVertexAttrib2dvARB');
  13184. glVertexAttrib2fARB := dglGetProcAddress('glVertexAttrib2fARB');
  13185. glVertexAttrib2fvARB := dglGetProcAddress('glVertexAttrib2fvARB');
  13186. glVertexAttrib2sARB := dglGetProcAddress('glVertexAttrib2sARB');
  13187. glVertexAttrib2svARB := dglGetProcAddress('glVertexAttrib2svARB');
  13188. glVertexAttrib3dARB := dglGetProcAddress('glVertexAttrib3dARB');
  13189. glVertexAttrib3dvARB := dglGetProcAddress('glVertexAttrib3dvARB');
  13190. glVertexAttrib3fARB := dglGetProcAddress('glVertexAttrib3fARB');
  13191. glVertexAttrib3fvARB := dglGetProcAddress('glVertexAttrib3fvARB');
  13192. glVertexAttrib3sARB := dglGetProcAddress('glVertexAttrib3sARB');
  13193. glVertexAttrib3svARB := dglGetProcAddress('glVertexAttrib3svARB');
  13194. glVertexAttrib4NbvARB := dglGetProcAddress('glVertexAttrib4NbvARB');
  13195. glVertexAttrib4NivARB := dglGetProcAddress('glVertexAttrib4NivARB');
  13196. glVertexAttrib4NsvARB := dglGetProcAddress('glVertexAttrib4NsvARB');
  13197. glVertexAttrib4NubARB := dglGetProcAddress('glVertexAttrib4NubARB');
  13198. glVertexAttrib4NubvARB := dglGetProcAddress('glVertexAttrib4NubvARB');
  13199. glVertexAttrib4NuivARB := dglGetProcAddress('glVertexAttrib4NuivARB');
  13200. glVertexAttrib4NusvARB := dglGetProcAddress('glVertexAttrib4NusvARB');
  13201. glVertexAttrib4bvARB := dglGetProcAddress('glVertexAttrib4bvARB');
  13202. glVertexAttrib4dARB := dglGetProcAddress('glVertexAttrib4dARB');
  13203. glVertexAttrib4dvARB := dglGetProcAddress('glVertexAttrib4dvARB');
  13204. glVertexAttrib4fARB := dglGetProcAddress('glVertexAttrib4fARB');
  13205. glVertexAttrib4fvARB := dglGetProcAddress('glVertexAttrib4fvARB');
  13206. glVertexAttrib4ivARB := dglGetProcAddress('glVertexAttrib4ivARB');
  13207. glVertexAttrib4sARB := dglGetProcAddress('glVertexAttrib4sARB');
  13208. glVertexAttrib4svARB := dglGetProcAddress('glVertexAttrib4svARB');
  13209. glVertexAttrib4ubvARB := dglGetProcAddress('glVertexAttrib4ubvARB');
  13210. glVertexAttrib4uivARB := dglGetProcAddress('glVertexAttrib4uivARB');
  13211. glVertexAttrib4usvARB := dglGetProcAddress('glVertexAttrib4usvARB');
  13212. glVertexAttribPointerARB := dglGetProcAddress('glVertexAttribPointerARB');
  13213. glEnableVertexAttribArrayARB := dglGetProcAddress('glEnableVertexAttribArrayARB');
  13214. glDisableVertexAttribArrayARB := dglGetProcAddress('glDisableVertexAttribArrayARB');
  13215. glProgramStringARB := dglGetProcAddress('glProgramStringARB');
  13216. glBindProgramARB := dglGetProcAddress('glBindProgramARB');
  13217. glDeleteProgramsARB := dglGetProcAddress('glDeleteProgramsARB');
  13218. glGenProgramsARB := dglGetProcAddress('glGenProgramsARB');
  13219. glProgramEnvParameter4dARB := dglGetProcAddress('glProgramEnvParameter4dARB');
  13220. glProgramEnvParameter4dvARB := dglGetProcAddress('glProgramEnvParameter4dvARB');
  13221. glProgramEnvParameter4fARB := dglGetProcAddress('glProgramEnvParameter4fARB');
  13222. glProgramEnvParameter4fvARB := dglGetProcAddress('glProgramEnvParameter4fvARB');
  13223. glProgramLocalParameter4dARB := dglGetProcAddress('glProgramLocalParameter4dARB');
  13224. glProgramLocalParameter4dvARB := dglGetProcAddress('glProgramLocalParameter4dvARB');
  13225. glProgramLocalParameter4fARB := dglGetProcAddress('glProgramLocalParameter4fARB');
  13226. glProgramLocalParameter4fvARB := dglGetProcAddress('glProgramLocalParameter4fvARB');
  13227. glGetProgramEnvParameterdvARB := dglGetProcAddress('glGetProgramEnvParameterdvARB');
  13228. glGetProgramEnvParameterfvARB := dglGetProcAddress('glGetProgramEnvParameterfvARB');
  13229. glGetProgramLocalParameterdvARB := dglGetProcAddress('glGetProgramLocalParameterdvARB');
  13230. glGetProgramLocalParameterfvARB := dglGetProcAddress('glGetProgramLocalParameterfvARB');
  13231. glGetProgramivARB := dglGetProcAddress('glGetProgramivARB');
  13232. glGetProgramStringARB := dglGetProcAddress('glGetProgramStringARB');
  13233. glGetVertexAttribdvARB := dglGetProcAddress('glGetVertexAttribdvARB');
  13234. glGetVertexAttribfvARB := dglGetProcAddress('glGetVertexAttribfvARB');
  13235. glGetVertexAttribivARB := dglGetProcAddress('glGetVertexAttribivARB');
  13236. glGetVertexAttribPointervARB := dglGetProcAddress('glGetVertexAttribPointervARB');
  13237. glIsProgramARB := dglGetProcAddress('glIsProgramARB');
  13238. end;
  13239. procedure Read_GL_ARB_window_pos;
  13240. begin
  13241. glWindowPos2dARB := dglGetProcAddress('glWindowPos2dARB');
  13242. glWindowPos2dvARB := dglGetProcAddress('glWindowPos2dvARB');
  13243. glWindowPos2fARB := dglGetProcAddress('glWindowPos2fARB');
  13244. glWindowPos2fvARB := dglGetProcAddress('glWindowPos2fvARB');
  13245. glWindowPos2iARB := dglGetProcAddress('glWindowPos2iARB');
  13246. glWindowPos2ivARB := dglGetProcAddress('glWindowPos2ivARB');
  13247. glWindowPos2sARB := dglGetProcAddress('glWindowPos2sARB');
  13248. glWindowPos2svARB := dglGetProcAddress('glWindowPos2svARB');
  13249. glWindowPos3dARB := dglGetProcAddress('glWindowPos3dARB');
  13250. glWindowPos3dvARB := dglGetProcAddress('glWindowPos3dvARB');
  13251. glWindowPos3fARB := dglGetProcAddress('glWindowPos3fARB');
  13252. glWindowPos3fvARB := dglGetProcAddress('glWindowPos3fvARB');
  13253. glWindowPos3iARB := dglGetProcAddress('glWindowPos3iARB');
  13254. glWindowPos3ivARB := dglGetProcAddress('glWindowPos3ivARB');
  13255. glWindowPos3sARB := dglGetProcAddress('glWindowPos3sARB');
  13256. glWindowPos3svARB := dglGetProcAddress('glWindowPos3svARB');
  13257. end;
  13258. procedure Read_GL_ARB_draw_buffers;
  13259. begin
  13260. glDrawBuffersARB := dglGetProcAddress('glDrawBuffersARB');
  13261. end;
  13262. procedure Read_GL_ARB_color_buffer_float;
  13263. begin
  13264. glClampColorARB := dglGetProcAddress('glClampColorARB');
  13265. end;
  13266. procedure Read_GL_ARB_Shader_Objects;
  13267. begin
  13268. // GL_ARB_Shader_Objects
  13269. glCreateShaderObjectARB := dglGetProcAddress('glCreateShaderObjectARB');
  13270. glShaderSourceARB := dglGetProcAddress('glShaderSourceARB');
  13271. glCompileShaderARB := dglGetProcAddress('glCompileShaderARB');
  13272. glDeleteObjectARB := dglGetProcAddress('glDeleteObjectARB');
  13273. glGetHandleARB := dglGetProcAddress('glGetHandleARB');
  13274. glDetachObjectARB := dglGetProcAddress('glDetachObjectARB');
  13275. glCreateProgramObjectARB := dglGetProcAddress('glCreateProgramObjectARB');
  13276. glAttachObjectARB := dglGetProcAddress('glAttachObjectARB');
  13277. glLinkProgramARB := dglGetProcAddress('glLinkProgramARB');
  13278. glUseProgramObjectARB := dglGetProcAddress('glUseProgramObjectARB');
  13279. glValidateProgramARB := dglGetProcAddress('glValidateProgramARB');
  13280. glGetObjectParameterfvARB := dglGetProcAddress('glGetObjectParameterfvARB');
  13281. glGetObjectParameterivARB := dglGetProcAddress('glGetObjectParameterivARB');
  13282. glGetActiveUniformARB := dglGetProcAddress('glGetActiveUniformARB');
  13283. glGetAttachedObjectsARB := dglGetProcAddress('glGetAttachedObjectsARB');
  13284. glGetShaderSourceARB := dglGetProcAddress('glGetShaderSourceARB');
  13285. glGetUniformfvARB := dglGetProcAddress('glGetUniformfvARB');
  13286. glGetUniformivARB := dglGetProcAddress('glGetUniformivARB');
  13287. glGetUniformLocationARB := dglGetProcAddress('glGetUniformLocationARB');
  13288. glGetInfoLogARB := dglGetProcAddress('glGetInfoLogARB');
  13289. glUniform1fARB := dglGetProcAddress('glUniform1fARB');
  13290. glUniform2fARB := dglGetProcAddress('glUniform2fARB');
  13291. glUniform3fARB := dglGetProcAddress('glUniform3fARB');
  13292. glUniform4fARB := dglGetProcAddress('glUniform4fARB');
  13293. glUniform1iARB := dglGetProcAddress('glUniform1iARB');
  13294. glUniform2iARB := dglGetProcAddress('glUniform2iARB');
  13295. glUniform3iARB := dglGetProcAddress('glUniform3iARB');
  13296. glUniform4iARB := dglGetProcAddress('glUniform4iARB');
  13297. glUniform1fvARB := dglGetProcAddress('glUniform1fvARB');
  13298. glUniform2fvARB := dglGetProcAddress('glUniform2fvARB');
  13299. glUniform3fvARB := dglGetProcAddress('glUniform3fvARB');
  13300. glUniform4fvARB := dglGetProcAddress('glUniform4fvARB');
  13301. glUniform1ivARB := dglGetProcAddress('glUniform1ivARB');
  13302. glUniform2ivARB := dglGetProcAddress('glUniform2ivARB');
  13303. glUniform3ivARB := dglGetProcAddress('glUniform3ivARB');
  13304. glUniform4ivARB := dglGetProcAddress('glUniform4ivARB');
  13305. glUniformMatrix2fvARB := dglGetProcAddress('glUniformMatrix2fvARB');
  13306. glUniformMatrix3fvARB := dglGetProcAddress('glUniformMatrix3fvARB');
  13307. glUniformMatrix4fvARB := dglGetProcAddress('glUniformMatrix4fvARB');
  13308. // GL_ARB_vertex_shader
  13309. glGetActiveAttribARB := dglGetProcAddress('glGetActiveAttribARB');
  13310. glGetAttribLocationARB := dglGetProcAddress('glGetAttribLocationARB');
  13311. glBindAttribLocationARB := dglGetProcAddress('glBindAttribLocationARB');
  13312. glGetVertexAttribPointervARB := dglGetProcAddress('glGetVertexAttribPointervARB');
  13313. end;
  13314. procedure Read_GL_ARB_occlusion_query;
  13315. begin
  13316. glGenQueriesARB := dglGetProcAddress('glGenQueriesARB');
  13317. glDeleteQueriesARB := dglGetProcAddress('glDeleteQueriesARB');
  13318. glIsQueryARB := dglGetProcAddress('glIsQueryARB');
  13319. glBeginQueryARB := dglGetProcAddress('glBeginQueryARB');
  13320. glEndQueryARB := dglGetProcAddress('glEndQueryARB');
  13321. glGetQueryivARB := dglGetProcAddress('glGetQueryivARB');
  13322. glGetQueryObjectivARB := dglGetProcAddress('glGetQueryObjectivARB');
  13323. glGetQueryObjectuivARB := dglGetProcAddress('glGetQueryObjectuivARB');
  13324. end;
  13325. procedure Read_GL_ARB_draw_instanced;
  13326. begin
  13327. glDrawArraysInstancedARB := dglGetProcAddress('glDrawArraysInstancedARB');
  13328. glDrawElementsInstancedARB := dglGetProcAddress('glDrawElementsInstancedARB');
  13329. end;
  13330. procedure Read_GL_ARB_framebuffer_object;
  13331. begin
  13332. glIsRenderbuffer := dglGetProcAddress('glIsRenderbuffer');
  13333. glBindRenderbuffer := dglGetProcAddress('glBindRenderbuffer');
  13334. glDeleteRenderbuffers := dglGetProcAddress('glDeleteRenderbuffers');
  13335. glGenRenderbuffers := dglGetProcAddress('glGenRenderbuffers');
  13336. glRenderbufferStorage := dglGetProcAddress('glRenderbufferStorage');
  13337. glGetRenderbufferParameteriv := dglGetProcAddress('glGetRenderbufferParameteriv');
  13338. glIsFramebuffer := dglGetProcAddress('glIsFramebuffer');
  13339. glBindFramebuffer := dglGetProcAddress('glBindFramebuffer');
  13340. glDeleteFramebuffers := dglGetProcAddress('glDeleteFramebuffers');
  13341. glGenFramebuffers := dglGetProcAddress('glGenFramebuffers');
  13342. glCheckFramebufferStatus := dglGetProcAddress('glCheckFramebufferStatus');
  13343. glFramebufferTexture1D := dglGetProcAddress('glFramebufferTexture1D');
  13344. glFramebufferTexture2D := dglGetProcAddress('glFramebufferTexture2D');
  13345. glFramebufferTexture3D := dglGetProcAddress('glFramebufferTexture3D');
  13346. glFramebufferRenderbuffer := dglGetProcAddress('glFramebufferRenderbuffer');
  13347. glGetFramebufferAttachmentParameteriv := dglGetProcAddress('glGetFramebufferAttachmentParameteriv');
  13348. glGenerateMipmap := dglGetProcAddress('glGenerateMipmap');
  13349. glBlitFramebuffer := dglGetProcAddress('glBlitFramebuffer');
  13350. glRenderbufferStorageMultisample := dglGetProcAddress('glRenderbufferStorageMultisample');
  13351. glFramebufferTextureLayer := dglGetProcAddress('glFramebufferTextureLayer');
  13352. end;
  13353. procedure Read_GL_ARB_geometry_shader4;
  13354. begin
  13355. glProgramParameteriARB := dglGetProcAddress('glProgramParameteriARB');
  13356. glFramebufferTextureARB := dglGetProcAddress('glFramebufferTextureARB');
  13357. glFramebufferTextureLayerARB := dglGetProcAddress('glFramebufferTextureLayerARB');
  13358. glFramebufferTextureFaceARB := dglGetProcAddress('glFramebufferTextureFaceARB');
  13359. end;
  13360. procedure Read_GL_ARB_instanced_arrays;
  13361. begin
  13362. glVertexAttribDivisorARB := dglGetProcAddress('glVertexAttribDivisorARB');
  13363. end;
  13364. procedure Read_GL_ARB_map_buffer_range;
  13365. begin
  13366. glMapBufferRange := dglGetProcAddress('glMapBufferRange');
  13367. glFlushMappedBufferRange := dglGetProcAddress('glFlushMappedBufferRange');
  13368. end;
  13369. procedure Read_GL_ARB_texture_buffer_object;
  13370. begin
  13371. glTexBufferARB := dglGetProcAddress('glTexBufferARB');
  13372. end;
  13373. procedure Read_GL_ARB_vertex_array_object;
  13374. begin
  13375. glBindVertexArray := dglGetProcAddress('glBindVertexArray');
  13376. glDeleteVertexArrays := dglGetProcAddress('glDeleteVertexArrays');
  13377. glGenVertexArrays := dglGetProcAddress('glGenVertexArrays');
  13378. glIsVertexArray := dglGetProcAddress('glIsVertexArray');
  13379. end;
  13380. procedure Read_GL_ARB_uniform_buffer_object;
  13381. begin
  13382. glGetUniformIndices := dglGetProcAddress('glGetUniformIndices');
  13383. glGetActiveUniformsiv := dglGetProcAddress('glGetActiveUniformsiv');
  13384. glGetActiveUniformName := dglGetProcAddress('glGetActiveUniformName');
  13385. glGetUniformBlockIndex := dglGetProcAddress('glGetUniformBlockIndex');
  13386. glGetActiveUniformBlockiv := dglGetProcAddress('glGetActiveUniformBlockiv');
  13387. glGetActiveUniformBlockName := dglGetProcAddress('glGetActiveUniformBlockName');
  13388. glUniformBlockBinding := dglGetProcAddress('glUniformBlockBinding');
  13389. end;
  13390. procedure Read_GL_ARB_copy_buffer;
  13391. begin
  13392. glCopyBufferSubData := dglGetProcAddress('glCopyBufferSubData');
  13393. end;
  13394. procedure Read_GL_ARB_draw_elements_base_vertex;
  13395. begin
  13396. glDrawElementsBaseVertex := dglGetProcAddress('glDrawElementsBaseVertex');
  13397. glDrawRangeElementsBaseVertex := dglGetProcAddress('glDrawRangeElementsBaseVertex');
  13398. glDrawElementsInstancedBaseVertex := dglGetProcAddress('glDrawElementsInstancedBaseVertex');
  13399. glMultiDrawElementsBaseVertex := dglGetProcAddress('glMultiDrawElementsBaseVertex');
  13400. end;
  13401. procedure Read_GL_ARB_provoking_vertex;
  13402. begin
  13403. glProvokingVertex := dglGetProcAddress('glProvokingVertex');
  13404. end;
  13405. procedure Read_GL_ARB_sync;
  13406. begin
  13407. glFenceSync := dglGetProcAddress('glFenceSync');
  13408. glIsSync := dglGetProcAddress('glIsSync');
  13409. glDeleteSync := dglGetProcAddress('glDeleteSync');
  13410. glClientWaitSync := dglGetProcAddress('glClientWaitSync');
  13411. glWaitSync := dglGetProcAddress('glWaitSync');
  13412. glGetInteger64v := dglGetProcAddress('glGetInteger64v');
  13413. glGetSynciv := dglGetProcAddress('glGetSynciv');
  13414. end;
  13415. procedure Read_GL_ARB_texture_multisample;
  13416. begin
  13417. glTexImage2DMultisample := dglGetProcAddress('glTexImage2DMultisample');
  13418. glTexImage3DMultisample := dglGetProcAddress('glTexImage3DMultisample');
  13419. glGetMultisamplefv := dglGetProcAddress('glGetMultisamplefv');
  13420. glSampleMaski := dglGetProcAddress('glSampleMaski');
  13421. end;
  13422. procedure Read_GL_ARB_draw_buffers_blend;
  13423. begin
  13424. glBlendEquationiARB := dglGetProcAddress('glBlendEquationiARB');
  13425. glBlendEquationSeparateiARB := dglGetProcAddress('glBlendEquationSeparateiARB');
  13426. glBlendFunciARB := dglGetProcAddress('glBlendFunciARB');
  13427. glBlendFuncSeparateiARB := dglGetProcAddress('glBlendFuncSeparateiARB');
  13428. end;
  13429. procedure Read_GL_ARB_sample_shading;
  13430. begin
  13431. glMinSampleShadingARB := dglGetProcAddress('glMinSampleShadingARB');
  13432. end;
  13433. procedure Read_GL_ARB_shading_language_include;
  13434. begin
  13435. glNamedStringARB := dglGetProcAddress('glNamedStringARB');
  13436. glDeleteNamedStringARB := dglGetProcAddress('glDeleteNamedStringARB');
  13437. glCompileShaderIncludeARB := dglGetProcAddress('glCompileShaderIncludeARB');
  13438. glIsNamedStringARB := dglGetProcAddress('glIsNamedStringARB');
  13439. glGetNamedStringARB := dglGetProcAddress('glGetNamedStringARB');
  13440. glGetNamedStringivARB := dglGetProcAddress('glGetNamedStringivARB');
  13441. end;
  13442. procedure Read_GL_ARB_sparse_texture;
  13443. begin
  13444. glTexPageCommitmentARB := dglGetProcAddress('glTexPageCommitmentARB');
  13445. end;
  13446. procedure Read_GL_ARB_sparse_buffer;
  13447. begin
  13448. glBufferPageCommitmentARB := dglGetProcAddress('glBufferPageCommitmentARB');
  13449. glNamedBufferPageCommitmentEXT := dglGetProcAddress('glNamedBufferPageCommitmentEXT');
  13450. glNamedBufferPageCommitmentARB := dglGetProcAddress('glNamedBufferPageCommitmentARB');
  13451. end;
  13452. procedure Read_GL_KHR_blend_equation_advanced;
  13453. begin
  13454. glBlendBarrierKHR := dglGetProcAddress('glBlendBarrierKHR');
  13455. end;
  13456. procedure Read_GL_ARB_blend_func_extended;
  13457. begin
  13458. glBindFragDataLocationIndexed := dglGetProcAddress('glBindFragDataLocationIndexed');
  13459. glGetFragDataIndex := dglGetProcAddress('glGetFragDataIndex');
  13460. end;
  13461. procedure Read_GL_ARB_sampler_objects;
  13462. begin
  13463. glGenSamplers := dglGetProcAddress('glGenSamplers');
  13464. glDeleteSamplers := dglGetProcAddress('glDeleteSamplers');
  13465. glIsSampler := dglGetProcAddress('glIsSampler');
  13466. glBindSampler := dglGetProcAddress('glBindSampler');
  13467. glSamplerParameteri := dglGetProcAddress('glSamplerParameteri');
  13468. glSamplerParameteriv := dglGetProcAddress('glSamplerParameteriv');
  13469. glSamplerParameterf := dglGetProcAddress('glSamplerParameterf');
  13470. glSamplerParameterfv := dglGetProcAddress('glSamplerParameterfv');
  13471. glSamplerParameterIiv := dglGetProcAddress('glSamplerParameterIiv');
  13472. glSamplerParameterIuiv := dglGetProcAddress('glSamplerParameterIuiv');
  13473. glGetSamplerParameteriv := dglGetProcAddress('glGetSamplerParameteriv');
  13474. glGetSamplerParameterIiv := dglGetProcAddress('glGetSamplerParameterIiv');
  13475. glGetSamplerParameterfv := dglGetProcAddress('glGetSamplerParameterfv');
  13476. glGetSamplerParameterIuiv := dglGetProcAddress('glGetSamplerParameterIuiv');
  13477. end;
  13478. procedure Read_GL_ARB_timer_query;
  13479. begin
  13480. glQueryCounter := dglGetProcAddress('glQueryCounter');
  13481. glGetQueryObjecti64v := dglGetProcAddress('glGetQueryObjecti64v');
  13482. glGetQueryObjectui64v := dglGetProcAddress('glGetQueryObjectui64v');
  13483. end;
  13484. procedure Read_GL_ARB_vertex_type_2_10_10_10_rev;
  13485. begin
  13486. glVertexP2ui := dglGetProcAddress('glVertexP2ui');
  13487. glVertexP2uiv := dglGetProcAddress('glVertexP2uiv');
  13488. glVertexP3ui := dglGetProcAddress('glVertexP3ui');
  13489. glVertexP3uiv := dglGetProcAddress('glVertexP3uiv');
  13490. glVertexP4ui := dglGetProcAddress('glVertexP4ui');
  13491. glVertexP4uiv := dglGetProcAddress('glVertexP4uiv');
  13492. glTexCoordP1ui := dglGetProcAddress('glTexCoordP1ui');
  13493. glTexCoordP1uiv := dglGetProcAddress('glTexCoordP1uiv');
  13494. glTexCoordP2ui := dglGetProcAddress('glTexCoordP2ui');
  13495. glTexCoordP2uiv := dglGetProcAddress('glTexCoordP2uiv');
  13496. glTexCoordP3ui := dglGetProcAddress('glTexCoordP3ui');
  13497. glTexCoordP3uiv := dglGetProcAddress('glTexCoordP3uiv');
  13498. glTexCoordP4ui := dglGetProcAddress('glTexCoordP4ui');
  13499. glTexCoordP4uiv := dglGetProcAddress('glTexCoordP4uiv');
  13500. glMultiTexCoordP1ui := dglGetProcAddress('glMultiTexCoordP1ui');
  13501. glMultiTexCoordP1uiv := dglGetProcAddress('glMultiTexCoordP1uiv');
  13502. glMultiTexCoordP2ui := dglGetProcAddress('glMultiTexCoordP2ui');
  13503. glMultiTexCoordP2uiv := dglGetProcAddress('glMultiTexCoordP2uiv');
  13504. glMultiTexCoordP3ui := dglGetProcAddress('glMultiTexCoordP3ui');
  13505. glMultiTexCoordP3uiv := dglGetProcAddress('glMultiTexCoordP3uiv');
  13506. glMultiTexCoordP4ui := dglGetProcAddress('glMultiTexCoordP4ui');
  13507. glMultiTexCoordP4uiv := dglGetProcAddress('glMultiTexCoordP4uiv');
  13508. glNormalP3ui := dglGetProcAddress('glNormalP3ui');
  13509. glNormalP3uiv := dglGetProcAddress('glNormalP3uiv');
  13510. glColorP3ui := dglGetProcAddress('glColorP3ui');
  13511. glColorP3uiv := dglGetProcAddress('glColorP3uiv');
  13512. glColorP4ui := dglGetProcAddress('glColorP4ui');
  13513. glColorP4uiv := dglGetProcAddress('glColorP4uiv');
  13514. glSecondaryColorP3ui := dglGetProcAddress('glSecondaryColorP3ui');
  13515. glSecondaryColorP3uiv := dglGetProcAddress('glSecondaryColorP3uiv');
  13516. glVertexAttribP1ui := dglGetProcAddress('glVertexAttribP1ui');
  13517. glVertexAttribP1uiv := dglGetProcAddress('glVertexAttribP1uiv');
  13518. glVertexAttribP2ui := dglGetProcAddress('glVertexAttribP2ui');
  13519. glVertexAttribP2uiv := dglGetProcAddress('glVertexAttribP2uiv');
  13520. glVertexAttribP3ui := dglGetProcAddress('glVertexAttribP3ui');
  13521. glVertexAttribP3uiv := dglGetProcAddress('glVertexAttribP3uiv');
  13522. glVertexAttribP4ui := dglGetProcAddress('glVertexAttribP4ui');
  13523. glVertexAttribP4uiv := dglGetProcAddress('glVertexAttribP4uiv');
  13524. end;
  13525. procedure Read_GL_ARB_draw_indirect;
  13526. begin
  13527. glDrawArraysIndirect := dglGetProcAddress('glDrawArraysIndirect');
  13528. glDrawElementsIndirect := dglGetProcAddress('glDrawElementsIndirect');
  13529. end;
  13530. procedure Read_GL_ARB_gpu_shader_fp64;
  13531. begin
  13532. glUniform1d := dglGetProcAddress('glUniform1d');
  13533. glUniform2d := dglGetProcAddress('glUniform2d');
  13534. glUniform3d := dglGetProcAddress('glUniform3d');
  13535. glUniform4d := dglGetProcAddress('glUniform4d');
  13536. glUniform1dv := dglGetProcAddress('glUniform1dv');
  13537. glUniform2dv := dglGetProcAddress('glUniform2dv');
  13538. glUniform3dv := dglGetProcAddress('glUniform3dv');
  13539. glUniform4dv := dglGetProcAddress('glUniform4dv');
  13540. glUniformMatrix2dv := dglGetProcAddress('glUniformMatrix2dv');
  13541. glUniformMatrix3dv := dglGetProcAddress('glUniformMatrix3dv');
  13542. glUniformMatrix4dv := dglGetProcAddress('glUniformMatrix4dv');
  13543. glUniformMatrix2x3dv := dglGetProcAddress('glUniformMatrix2x3dv');
  13544. glUniformMatrix2x4dv := dglGetProcAddress('glUniformMatrix2x4dv');
  13545. glUniformMatrix3x2dv := dglGetProcAddress('glUniformMatrix3x2dv');
  13546. glUniformMatrix3x4dv := dglGetProcAddress('glUniformMatrix3x4dv');
  13547. glUniformMatrix4x2dv := dglGetProcAddress('glUniformMatrix4x2dv');
  13548. glUniformMatrix4x3dv := dglGetProcAddress('glUniformMatrix4x3dv');
  13549. glGetUniformdv := dglGetProcAddress('glGetUniformdv');
  13550. end;
  13551. procedure Read_GL_ARB_shader_subroutine;
  13552. begin
  13553. glGetSubroutineUniformLocation := dglGetProcAddress('glGetSubroutineUniformLocation');
  13554. glGetSubroutineIndex := dglGetProcAddress('glGetSubroutineIndex');
  13555. glGetActiveSubroutineUniformiv := dglGetProcAddress('glGetActiveSubroutineUniformiv');
  13556. glGetActiveSubroutineUniformName := dglGetProcAddress('glGetActiveSubroutineUniformName');
  13557. glGetActiveSubroutineName := dglGetProcAddress('glGetActiveSubroutineName');
  13558. glUniformSubroutinesuiv := dglGetProcAddress('glUniformSubroutinesuiv');
  13559. glGetUniformSubroutineuiv := dglGetProcAddress('glGetUniformSubroutineuiv');
  13560. glGetProgramStageiv := dglGetProcAddress('glGetProgramStageiv');
  13561. end;
  13562. procedure Read_GL_ARB_tessellation_shader;
  13563. begin
  13564. glPatchParameteri := dglGetProcAddress('glPatchParameteri');
  13565. glPatchParameterfv := dglGetProcAddress('glPatchParameterfv');
  13566. end;
  13567. procedure Read_GL_ARB_transform_feedback2;
  13568. begin
  13569. glBindTransformFeedback := dglGetProcAddress('glBindTransformFeedback');
  13570. glDeleteTransformFeedbacks := dglGetProcAddress('glDeleteTransformFeedbacks');
  13571. glGenTransformFeedbacks := dglGetProcAddress('glGenTransformFeedbacks');
  13572. glIsTransformFeedback := dglGetProcAddress('glIsTransformFeedback');
  13573. glPauseTransformFeedback := dglGetProcAddress('glPauseTransformFeedback');
  13574. glResumeTransformFeedback := dglGetProcAddress('glResumeTransformFeedback');
  13575. glDrawTransformFeedback := dglGetProcAddress('glDrawTransformFeedback');
  13576. end;
  13577. procedure Read_GL_ARB_transform_feedback3;
  13578. begin
  13579. glDrawTransformFeedbackStream := dglGetProcAddress('glDrawTransformFeedbackStream');
  13580. glBeginQueryIndexed := dglGetProcAddress('glBeginQueryIndexed');
  13581. glEndQueryIndexed := dglGetProcAddress('glEndQueryIndexed');
  13582. glGetQueryIndexediv := dglGetProcAddress('glGetQueryIndexediv');
  13583. end;
  13584. procedure Read_GL_ARB_ES2_compatibility;
  13585. begin
  13586. glReleaseShaderCompiler := dglGetProcAddress('glReleaseShaderCompiler');
  13587. glShaderBinary := dglGetProcAddress('glShaderBinary');
  13588. glGetShaderPrecisionFormat := dglGetProcAddress('glGetShaderPrecisionFormat');
  13589. glDepthRangef := dglGetProcAddress('glDepthRangef');
  13590. glClearDepthf := dglGetProcAddress('glClearDepthf');
  13591. end;
  13592. procedure Read_GL_ARB_get_program_binary;
  13593. begin
  13594. glGetProgramBinary := dglGetProcAddress('glGetProgramBinary');
  13595. glProgramBinary := dglGetProcAddress('glProgramBinary');
  13596. glProgramParameteri := dglGetProcAddress('glProgramParameteri');
  13597. end;
  13598. procedure Read_GL_ARB_separate_shader_objects;
  13599. begin
  13600. glUseProgramStages := dglGetProcAddress('glUseProgramStages');
  13601. glActiveShaderProgram := dglGetProcAddress('glActiveShaderProgram');
  13602. glCreateShaderProgramv := dglGetProcAddress('glCreateShaderProgramv');
  13603. glBindProgramPipeline := dglGetProcAddress('glBindProgramPipeline');
  13604. glDeleteProgramPipelines := dglGetProcAddress('glDeleteProgramPipelines');
  13605. glGenProgramPipelines := dglGetProcAddress('glGenProgramPipelines');
  13606. glIsProgramPipeline := dglGetProcAddress('glIsProgramPipeline');
  13607. glGetProgramPipelineiv := dglGetProcAddress('glGetProgramPipelineiv');
  13608. glProgramUniform1i := dglGetProcAddress('glProgramUniform1i');
  13609. glProgramUniform1iv := dglGetProcAddress('glProgramUniform1iv');
  13610. glProgramUniform1f := dglGetProcAddress('glProgramUniform1f');
  13611. glProgramUniform1fv := dglGetProcAddress('glProgramUniform1fv');
  13612. glProgramUniform1d := dglGetProcAddress('glProgramUniform1d');
  13613. glProgramUniform1dv := dglGetProcAddress('glProgramUniform1dv');
  13614. glProgramUniform1ui := dglGetProcAddress('glProgramUniform1ui');
  13615. glProgramUniform1uiv := dglGetProcAddress('glProgramUniform1uiv');
  13616. glProgramUniform2i := dglGetProcAddress('glProgramUniform2i');
  13617. glProgramUniform2iv := dglGetProcAddress('glProgramUniform2iv');
  13618. glProgramUniform2f := dglGetProcAddress('glProgramUniform2f');
  13619. glProgramUniform2fv := dglGetProcAddress('glProgramUniform2fv');
  13620. glProgramUniform2d := dglGetProcAddress('glProgramUniform2d');
  13621. glProgramUniform2dv := dglGetProcAddress('glProgramUniform2dv');
  13622. glProgramUniform2ui := dglGetProcAddress('glProgramUniform2ui');
  13623. glProgramUniform2uiv := dglGetProcAddress('glProgramUniform2uiv');
  13624. glProgramUniform3i := dglGetProcAddress('glProgramUniform3i');
  13625. glProgramUniform3iv := dglGetProcAddress('glProgramUniform3iv');
  13626. glProgramUniform3f := dglGetProcAddress('glProgramUniform3f');
  13627. glProgramUniform3fv := dglGetProcAddress('glProgramUniform3fv');
  13628. glProgramUniform3d := dglGetProcAddress('glProgramUniform3d');
  13629. glProgramUniform3dv := dglGetProcAddress('glProgramUniform3dv');
  13630. glProgramUniform3ui := dglGetProcAddress('glProgramUniform3ui');
  13631. glProgramUniform3uiv := dglGetProcAddress('glProgramUniform3uiv');
  13632. glProgramUniform4i := dglGetProcAddress('glProgramUniform4i');
  13633. glProgramUniform4iv := dglGetProcAddress('glProgramUniform4iv');
  13634. glProgramUniform4f := dglGetProcAddress('glProgramUniform4f');
  13635. glProgramUniform4fv := dglGetProcAddress('glProgramUniform4fv');
  13636. glProgramUniform4d := dglGetProcAddress('glProgramUniform4d');
  13637. glProgramUniform4dv := dglGetProcAddress('glProgramUniform4dv');
  13638. glProgramUniform4ui := dglGetProcAddress('glProgramUniform4ui');
  13639. glProgramUniform4uiv := dglGetProcAddress('glProgramUniform4uiv');
  13640. glProgramUniformMatrix2fv := dglGetProcAddress('glProgramUniformMatrix2fv');
  13641. glProgramUniformMatrix3fv := dglGetProcAddress('glProgramUniformMatrix3fv');
  13642. glProgramUniformMatrix4fv := dglGetProcAddress('glProgramUniformMatrix4fv');
  13643. glProgramUniformMatrix2dv := dglGetProcAddress('glProgramUniformMatrix2dv');
  13644. glProgramUniformMatrix3dv := dglGetProcAddress('glProgramUniformMatrix3dv');
  13645. glProgramUniformMatrix4dv := dglGetProcAddress('glProgramUniformMatrix4dv');
  13646. glProgramUniformMatrix2x3fv := dglGetProcAddress('glProgramUniformMatrix2x3fv');
  13647. glProgramUniformMatrix3x2fv := dglGetProcAddress('glProgramUniformMatrix3x2fv');
  13648. glProgramUniformMatrix2x4fv := dglGetProcAddress('glProgramUniformMatrix2x4fv');
  13649. glProgramUniformMatrix4x2fv := dglGetProcAddress('glProgramUniformMatrix4x2fv');
  13650. glProgramUniformMatrix3x4fv := dglGetProcAddress('glProgramUniformMatrix3x4fv');
  13651. glProgramUniformMatrix4x3fv := dglGetProcAddress('glProgramUniformMatrix4x3fv');
  13652. glProgramUniformMatrix2x3dv := dglGetProcAddress('glProgramUniformMatrix2x3dv');
  13653. glProgramUniformMatrix3x2dv := dglGetProcAddress('glProgramUniformMatrix3x2dv');
  13654. glProgramUniformMatrix2x4dv := dglGetProcAddress('glProgramUniformMatrix2x4dv');
  13655. glProgramUniformMatrix4x2dv := dglGetProcAddress('glProgramUniformMatrix4x2dv');
  13656. glProgramUniformMatrix3x4dv := dglGetProcAddress('glProgramUniformMatrix3x4dv');
  13657. glProgramUniformMatrix4x3dv := dglGetProcAddress('glProgramUniformMatrix4x3dv');
  13658. glValidateProgramPipeline := dglGetProcAddress('glValidateProgramPipeline');
  13659. glGetProgramPipelineInfoLog := dglGetProcAddress('glGetProgramPipelineInfoLog');
  13660. end;
  13661. procedure Read_GL_ARB_vertex_attrib_64bit;
  13662. begin
  13663. glVertexAttribL1d := dglGetProcAddress('glVertexAttribL1d');
  13664. glVertexAttribL2d := dglGetProcAddress('glVertexAttribL2d');
  13665. glVertexAttribL3d := dglGetProcAddress('glVertexAttribL3d');
  13666. glVertexAttribL4d := dglGetProcAddress('glVertexAttribL4d');
  13667. glVertexAttribL1dv := dglGetProcAddress('glVertexAttribL1dv');
  13668. glVertexAttribL2dv := dglGetProcAddress('glVertexAttribL2dv');
  13669. glVertexAttribL3dv := dglGetProcAddress('glVertexAttribL3dv');
  13670. glVertexAttribL4dv := dglGetProcAddress('glVertexAttribL4dv');
  13671. glVertexAttribLPointer := dglGetProcAddress('glVertexAttribLPointer');
  13672. glGetVertexAttribLdv := dglGetProcAddress('glGetVertexAttribLdv');
  13673. end;
  13674. procedure Read_GL_ARB_viewport_array;
  13675. begin
  13676. glViewportArrayv := dglGetProcAddress('glViewportArrayv');
  13677. glViewportIndexedf := dglGetProcAddress('glViewportIndexedf');
  13678. glViewportIndexedfv := dglGetProcAddress('glViewportIndexedfv');
  13679. glScissorArrayv := dglGetProcAddress('glScissorArrayv');
  13680. glScissorIndexed := dglGetProcAddress('glScissorIndexed');
  13681. glScissorIndexedv := dglGetProcAddress('glScissorIndexedv');
  13682. glDepthRangeArrayv := dglGetProcAddress('glDepthRangeArrayv');
  13683. glDepthRangeIndexed := dglGetProcAddress('glDepthRangeIndexed');
  13684. glGetFloati_v := dglGetProcAddress('glGetFloati_v');
  13685. glGetDoublei_v := dglGetProcAddress('glGetDoublei_v');
  13686. end;
  13687. // GL 4.2
  13688. procedure Read_GL_ARB_base_instance;
  13689. begin
  13690. glDrawArraysInstancedBaseInstance := dglGetProcAddress('glDrawArraysInstancedBaseInstance');
  13691. glDrawElementsInstancedBaseInstance := dglGetProcAddress('glDrawElementsInstancedBaseInstance');
  13692. glDrawElementsInstancedBaseVertexBaseInstance := dglGetProcAddress('glDrawElementsInstancedBaseVertexBaseInstance');
  13693. end;
  13694. procedure Read_GL_ARB_transform_feedback_instanced;
  13695. begin
  13696. glDrawTransformFeedbackInstanced := dglGetProcAddress('glDrawTransformFeedbackInstanced');
  13697. glDrawTransformFeedbackStreamInstanced := dglGetProcAddress('glDrawTransformFeedbackStreamInstanced');
  13698. end;
  13699. procedure Read_GL_ARB_internalformat_query;
  13700. begin
  13701. glGetInternalformativ := dglGetProcAddress('glGetInternalformativ');
  13702. end;
  13703. procedure Read_GL_ARB_shader_atomic_counters;
  13704. begin
  13705. glGetActiveAtomicCounterBufferiv := dglGetProcAddress('glGetActiveAtomicCounterBufferiv');
  13706. end;
  13707. procedure Read_GL_ARB_shader_image_load_store;
  13708. begin
  13709. glBindImageTexture := dglGetProcAddress('glBindImageTexture');
  13710. glMemoryBarrier := dglGetProcAddress('glMemoryBarrier');
  13711. end;
  13712. procedure Read_GL_ARB_texture_storage;
  13713. begin
  13714. glTexStorage1D := dglGetProcAddress('glTexStorage1D');
  13715. glTexStorage2D := dglGetProcAddress('glTexStorage2D');
  13716. glTexStorage3D := dglGetProcAddress('glTexStorage3D');
  13717. glTextureStorage1DEXT := dglGetProcAddress('glTextureStorage1DEXT');
  13718. glTextureStorage2DEXT := dglGetProcAddress('glTextureStorage2DEXT');
  13719. glTextureStorage3DEXT := dglGetProcAddress('glTextureStorage3DEXT');
  13720. end;
  13721. // GL 4.3
  13722. procedure Read_GL_KHR_debug;
  13723. begin
  13724. glDebugMessageControl := dglGetProcAddress('glDebugMessageControl');
  13725. glDebugMessageInsert := dglGetProcAddress('glDebugMessageInsert');
  13726. glDebugMessageCallback := dglGetProcAddress('glDebugMessageCallback');
  13727. glGetDebugMessageLog := dglGetProcAddress('glGetDebugMessageLog');
  13728. glPushDebugGroup := dglGetProcAddress('glPushDebugGroup');
  13729. glPopDebugGroup := dglGetProcAddress('glPopDebugGroup');
  13730. glObjectLabel := dglGetProcAddress('glObjectLabel');
  13731. glGetObjectLabel := dglGetProcAddress('glGetObjectLabel');
  13732. glObjectPtrLabel := dglGetProcAddress('glObjectPtrLabel');
  13733. glGetObjectPtrLabel := dglGetProcAddress('glGetObjectPtrLabel');
  13734. end;
  13735. procedure Read_GL_ARB_clear_buffer_object;
  13736. begin
  13737. glClearBufferData := dglGetProcAddress('glClearBufferData');
  13738. glClearBufferSubData := dglGetProcAddress('glClearBufferSubData');
  13739. glClearNamedBufferDataEXT := dglGetProcAddress('glClearNamedBufferDataEXT');
  13740. glClearNamedBufferSubDataEXT := dglGetProcAddress('glClearNamedBufferSubDataEXT');
  13741. end;
  13742. procedure Read_GL_ARB_compute_shader;
  13743. begin
  13744. glDispatchCompute := dglGetProcAddress('glDispatchCompute');
  13745. glDispatchComputeIndirect := dglGetProcAddress('glDispatchComputeIndirect');
  13746. end;
  13747. procedure Read_GL_ARB_copy_image;
  13748. begin
  13749. glCopyImageSubData := dglGetProcAddress('glCopyImageSubData');
  13750. end;
  13751. procedure Read_GL_ARB_framebuffer_no_attachments;
  13752. begin
  13753. glFramebufferParameteri := dglGetProcAddress('glFramebufferParameteri');
  13754. glGetFramebufferParameteriv := dglGetProcAddress('glGetFramebufferParameteriv');
  13755. glNamedFramebufferParameteriEXT := dglGetProcAddress('glNamedFramebufferParameteriEXT');
  13756. glGetNamedFramebufferParameterivEXT := dglGetProcAddress('glGetNamedFramebufferParameterivEXT');
  13757. end;
  13758. procedure Read_GL_ARB_internalformat_query2;
  13759. begin
  13760. glGetInternalformati64v := dglGetProcAddress('glGetInternalformati64v');;
  13761. end;
  13762. procedure Read_GL_ARB_invalidate_subdata;
  13763. begin
  13764. glInvalidateTexSubImage := dglGetProcAddress('glInvalidateTexSubImage');
  13765. glInvalidateTexImage := dglGetProcAddress('glInvalidateTexImage');
  13766. glInvalidateBufferSubData := dglGetProcAddress('glInvalidateBufferSubData');
  13767. glInvalidateBufferData := dglGetProcAddress('glInvalidateBufferData');
  13768. glInvalidateFramebuffer := dglGetProcAddress('glInvalidateFramebuffer');
  13769. glInvalidateSubFramebuffer := dglGetProcAddress('glInvalidateSubFramebuffer');
  13770. end;
  13771. procedure Read_GL_ARB_multi_draw_indirect;
  13772. begin
  13773. glMultiDrawArraysIndirect := dglGetProcAddress('glMultiDrawArraysIndirect');
  13774. glMultiDrawElementsIndirect := dglGetProcAddress('glMultiDrawElementsIndirect');
  13775. end;
  13776. procedure Read_GL_ARB_program_interface_query;
  13777. begin
  13778. glGetProgramInterfaceiv := dglGetProcAddress('glGetProgramInterfaceiv');
  13779. glGetProgramResourceIndex := dglGetProcAddress('glGetProgramResourceIndex');
  13780. glGetProgramResourceName := dglGetProcAddress('glGetProgramResourceName');
  13781. glGetProgramResourceiv := dglGetProcAddress('glGetProgramResourceiv');
  13782. glGetProgramResourceLocation := dglGetProcAddress('glGetProgramResourceLocation');
  13783. glGetProgramResourceLocationIndex := dglGetProcAddress('glGetProgramResourceLocationIndex');
  13784. end;
  13785. procedure Read_GL_ARB_shader_storage_buffer_object;
  13786. begin
  13787. glShaderStorageBlockBinding := dglGetProcAddress('glShaderStorageBlockBinding');
  13788. end;
  13789. procedure Read_GL_ARB_texture_buffer_range;
  13790. begin
  13791. glTexBufferRange := dglGetProcAddress('glTexBufferRange');
  13792. glTextureBufferRangeEXT := dglGetProcAddress('glTextureBufferRangeEXT');
  13793. end;
  13794. procedure Read_GL_ARB_texture_storage_multisample;
  13795. begin
  13796. glTexStorage2DMultisample := dglGetProcAddress('glTexStorage2DMultisample');
  13797. glTexStorage3DMultisample := dglGetProcAddress('glTexStorage3DMultisample');
  13798. glTextureStorage2DMultisampleEXT := dglGetProcAddress('glTextureStorage2DMultisampleEXT');
  13799. glTextureStorage3DMultisampleEXT := dglGetProcAddress('glTextureStorage3DMultisampleEXT');
  13800. end;
  13801. procedure Read_GL_ARB_texture_view;
  13802. begin
  13803. glTextureView := dglGetProcAddress('glTextureView');
  13804. end;
  13805. procedure Read_GL_ARB_vertex_attrib_binding;
  13806. begin
  13807. glBindVertexBuffer := dglGetProcAddress('glBindVertexBuffer');
  13808. glVertexAttribFormat := dglGetProcAddress('glVertexAttribFormat');
  13809. glVertexAttribIFormat := dglGetProcAddress('glVertexAttribIFormat');
  13810. glVertexAttribLFormat := dglGetProcAddress('glVertexAttribLFormat');
  13811. glVertexAttribBinding := dglGetProcAddress('glVertexAttribBinding');
  13812. glVertexBindingDivisor := dglGetProcAddress('glVertexBindingDivisor');
  13813. glVertexArrayBindVertexBufferEXT := dglGetProcAddress('glVertexArrayBindVertexBufferEXT');
  13814. glVertexArrayVertexAttribFormatEXT := dglGetProcAddress('glVertexArrayVertexAttribFormatEXT');
  13815. glVertexArrayVertexAttribIFormatEXT := dglGetProcAddress('glVertexArrayVertexAttribIFormatEXT');
  13816. glVertexArrayVertexAttribLFormatEXT := dglGetProcAddress('glVertexArrayVertexAttribLFormatEXT');
  13817. glVertexArrayVertexAttribBindingEXT := dglGetProcAddress('glVertexArrayVertexAttribBindingEXT');
  13818. glVertexArrayVertexBindingDivisorEXT := dglGetProcAddress('glVertexArrayVertexBindingDivisorEXT');
  13819. end;
  13820. procedure Read_GL_4_4;
  13821. begin
  13822. glBufferStorage := dglGetProcAddress('glBufferStorage');
  13823. glClearTexImage := dglGetProcAddress('glClearTexImage');
  13824. glClearTexSubImage := dglGetProcAddress('glClearTexSubImage');
  13825. glBindBuffersBase := dglGetProcAddress('glBindBuffersBase');
  13826. glBindBuffersRange := dglGetProcAddress('glBindBuffersRange');
  13827. glBindTextures := dglGetProcAddress('glBindTextures');
  13828. glBindSamplers := dglGetProcAddress('glBindSamplers');
  13829. glBindImageTextures := dglGetProcAddress('glBindImageTextures');
  13830. glBindVertexBuffers := dglGetProcAddress('glBindVertexBuffers');
  13831. end;
  13832. procedure Read_GL_4_5;
  13833. begin
  13834. glClipControl:= dglGetProcAddress('glClipControl');
  13835. glCreateTransformFeedbacks:= dglGetProcAddress('glCreateTransformFeedbacks');
  13836. glTransformFeedbackBufferBase:= dglGetProcAddress('glTransformFeedbackBufferBase');
  13837. glTransformFeedbackBufferRange:= dglGetProcAddress('glTransformFeedbackBufferRange');
  13838. glGetTransformFeedbackiv:= dglGetProcAddress('glGetTransformFeedbackiv');
  13839. glGetTransformFeedbacki_v:= dglGetProcAddress('glGetTransformFeedbacki_v');
  13840. glGetTransformFeedbacki64_v:= dglGetProcAddress('glGetTransformFeedbacki64_v');
  13841. glCreateBuffers:= dglGetProcAddress('glCreateBuffers');
  13842. glNamedBufferStorage:= dglGetProcAddress('glNamedBufferStorage');
  13843. glNamedBufferData:= dglGetProcAddress('glNamedBufferData');
  13844. glNamedBufferSubData:= dglGetProcAddress('glNamedBufferSubData');
  13845. glCopyNamedBufferSubData:= dglGetProcAddress('glCopyNamedBufferSubData');
  13846. glClearNamedBufferData:= dglGetProcAddress('glClearNamedBufferData');
  13847. glClearNamedBufferSubData:= dglGetProcAddress('glClearNamedBufferSubData');
  13848. glMapNamedBuffer:= dglGetProcAddress('glMapNamedBuffer');
  13849. glMapNamedBufferRange:= dglGetProcAddress('glMapNamedBufferRange');
  13850. glUnmapNamedBuffer:= dglGetProcAddress('glUnmapNamedBuffer');
  13851. glFlushMappedNamedBufferRange:= dglGetProcAddress('glFlushMappedNamedBufferRange');
  13852. glGetNamedBufferParameteriv:= dglGetProcAddress('glGetNamedBufferParameteriv');
  13853. glGetNamedBufferParameteri64v:= dglGetProcAddress('glGetNamedBufferParameteri64v');
  13854. glGetNamedBufferPointerv:= dglGetProcAddress('glGetNamedBufferPointerv');
  13855. glGetNamedBufferSubData:= dglGetProcAddress('glGetNamedBufferSubData');
  13856. glCreateFramebuffers:= dglGetProcAddress('glCreateFramebuffers');
  13857. glNamedFramebufferRenderbuffer:= dglGetProcAddress('glNamedFramebufferRenderbuffer');
  13858. glNamedFramebufferParameteri:= dglGetProcAddress('glNamedFramebufferParameteri');
  13859. glNamedFramebufferTexture:= dglGetProcAddress('glNamedFramebufferTexture');
  13860. glNamedFramebufferTextureLayer:= dglGetProcAddress('glNamedFramebufferTextureLayer');
  13861. glNamedFramebufferDrawBuffer:= dglGetProcAddress('glNamedFramebufferDrawBuffer');
  13862. glNamedFramebufferDrawBuffers:= dglGetProcAddress('glNamedFramebufferDrawBuffers');
  13863. glNamedFramebufferReadBuffer:= dglGetProcAddress('glNamedFramebufferReadBuffer');
  13864. glInvalidateNamedFramebufferData:= dglGetProcAddress('glInvalidateNamedFramebufferData');
  13865. glInvalidateNamedFramebufferSubData:= dglGetProcAddress('glInvalidateNamedFramebufferSubData');
  13866. glClearNamedFramebufferiv:= dglGetProcAddress('glClearNamedFramebufferiv');
  13867. glClearNamedFramebufferuiv:= dglGetProcAddress('glClearNamedFramebufferuiv');
  13868. glClearNamedFramebufferfv:= dglGetProcAddress('glClearNamedFramebufferfv');
  13869. glClearNamedFramebufferfi:= dglGetProcAddress('glClearNamedFramebufferfi');
  13870. glBlitNamedFramebuffer:= dglGetProcAddress('glBlitNamedFramebuffer');
  13871. glCheckNamedFramebufferStatus:= dglGetProcAddress('glCheckNamedFramebufferStatus');
  13872. glGetNamedFramebufferParameteriv:= dglGetProcAddress('glGetNamedFramebufferParameteriv');
  13873. glGetNamedFramebufferAttachmentParameteriv:= dglGetProcAddress('glGetNamedFramebufferAttachmentParameteriv');
  13874. glCreateRenderbuffers:= dglGetProcAddress('glCreateRenderbuffers');
  13875. glNamedRenderbufferStorage:= dglGetProcAddress('glNamedRenderbufferStorage');
  13876. glNamedRenderbufferStorageMultisample:= dglGetProcAddress('glNamedRenderbufferStorageMultisample');
  13877. glGetNamedRenderbufferParameteriv:= dglGetProcAddress('glGetNamedRenderbufferParameteriv');
  13878. glCreateTextures:= dglGetProcAddress('glCreateTextures');
  13879. glTextureBuffer:= dglGetProcAddress('glTextureBuffer');
  13880. glTextureBufferRange:= dglGetProcAddress('glTextureBufferRange');
  13881. glTextureStorage1D:= dglGetProcAddress('glTextureStorage1D');
  13882. glTextureStorage2D:= dglGetProcAddress('glTextureStorage2D');
  13883. glTextureStorage3D:= dglGetProcAddress('glTextureStorage3D');
  13884. glTextureStorage2DMultisample:= dglGetProcAddress('glTextureStorage2DMultisample');
  13885. glTextureStorage3DMultisample:= dglGetProcAddress('glTextureStorage3DMultisample');
  13886. glTextureSubImage1D:= dglGetProcAddress('glTextureSubImage1D');
  13887. glTextureSubImage2D:= dglGetProcAddress('glTextureSubImage2D');
  13888. glTextureSubImage3D:= dglGetProcAddress('glTextureSubImage3D');
  13889. glCompressedTextureSubImage1D:= dglGetProcAddress('glCompressedTextureSubImage1D');
  13890. glCompressedTextureSubImage2D:= dglGetProcAddress('glCompressedTextureSubImage2D');
  13891. glCompressedTextureSubImage3D:= dglGetProcAddress('glCompressedTextureSubImage3D');
  13892. glCopyTextureSubImage1D:= dglGetProcAddress('glCopyTextureSubImage1D');
  13893. glCopyTextureSubImage2D:= dglGetProcAddress('glCopyTextureSubImage2D');
  13894. glCopyTextureSubImage3D:= dglGetProcAddress('glCopyTextureSubImage3D');
  13895. glTextureParameterf:= dglGetProcAddress('glTextureParameterf');
  13896. glTextureParameterfv:= dglGetProcAddress('glTextureParameterfv');
  13897. glTextureParameteri:= dglGetProcAddress('glTextureParameteri');
  13898. glTextureParameterIiv:= dglGetProcAddress('glTextureParameterIiv');
  13899. glTextureParameterIuiv:= dglGetProcAddress('glTextureParameterIuiv');
  13900. glTextureParameteriv:= dglGetProcAddress('glTextureParameteriv');
  13901. glGenerateTextureMipmap:= dglGetProcAddress('glGenerateTextureMipmap');
  13902. glBindTextureUnit:= dglGetProcAddress('glBindTextureUnit');
  13903. glGetTextureImage:= dglGetProcAddress('glGetTextureImage');
  13904. glGetCompressedTextureImage:= dglGetProcAddress('glGetCompressedTextureImage');
  13905. glGetTextureLevelParameterfv:= dglGetProcAddress('glGetTextureLevelParameterfv');
  13906. glGetTextureLevelParameteriv:= dglGetProcAddress('glGetTextureLevelParameteriv');
  13907. glGetTextureParameterfv:= dglGetProcAddress('glGetTextureParameterfv');
  13908. glGetTextureParameterIiv:= dglGetProcAddress('glGetTextureParameterIiv');
  13909. glGetTextureParameterIuiv:= dglGetProcAddress('glGetTextureParameterIuiv');
  13910. glGetTextureParameteriv:= dglGetProcAddress('glGetTextureParameteriv');
  13911. glCreateVertexArrays:= dglGetProcAddress('glCreateVertexArrays');
  13912. glDisableVertexArrayAttrib:= dglGetProcAddress('glDisableVertexArrayAttrib');
  13913. glEnableVertexArrayAttrib:= dglGetProcAddress('glEnableVertexArrayAttrib');
  13914. glVertexArrayElementBuffer:= dglGetProcAddress('glVertexArrayElementBuffer');
  13915. glVertexArrayVertexBuffer:= dglGetProcAddress('glVertexArrayVertexBuffer');
  13916. glVertexArrayVertexBuffers:= dglGetProcAddress('glVertexArrayVertexBuffers');
  13917. glVertexArrayAttribBinding:= dglGetProcAddress('glVertexArrayAttribBinding');
  13918. glVertexArrayAttribFormat:= dglGetProcAddress('glVertexArrayAttribFormat');
  13919. glVertexArrayAttribIFormat:= dglGetProcAddress('glVertexArrayAttribIFormat');
  13920. glVertexArrayAttribLFormat:= dglGetProcAddress('glVertexArrayAttribLFormat');
  13921. glVertexArrayBindingDivisor:= dglGetProcAddress('glVertexArrayBindingDivisor');
  13922. glGetVertexArrayiv:= dglGetProcAddress('glGetVertexArrayiv');
  13923. glGetVertexArrayIndexediv:= dglGetProcAddress('glGetVertexArrayIndexediv');
  13924. glGetVertexArrayIndexed64iv:= dglGetProcAddress('glGetVertexArrayIndexed64iv');
  13925. glCreateSamplers:= dglGetProcAddress('glCreateSamplers');
  13926. glCreateProgramPipelines:= dglGetProcAddress('glCreateProgramPipelines');
  13927. glCreateQueries:= dglGetProcAddress('glCreateQueries');
  13928. glMemoryBarrierByRegion:= dglGetProcAddress('glMemoryBarrierByRegion');
  13929. glGetTextureSubImage:= dglGetProcAddress('glGetTextureSubImage');
  13930. glGetCompressedTextureSubImage:= dglGetProcAddress('glGetCompressedTextureSubImage');
  13931. glGetGraphicsResetStatus:= dglGetProcAddress('glGetGraphicsResetStatus');
  13932. glGetnCompressedTexImage:= dglGetProcAddress('glGetnCompressedTexImage');
  13933. glGetnTexImage:= dglGetProcAddress('glGetnTexImage');
  13934. glGetnUniformdv:= dglGetProcAddress('glGetnUniformdv');
  13935. glGetnUniformfv:= dglGetProcAddress('glGetnUniformfv');
  13936. glGetnUniformiv:= dglGetProcAddress('glGetnUniformiv');
  13937. glGetnUniformuiv:= dglGetProcAddress('glGetnUniformuiv');
  13938. glReadnPixels:= dglGetProcAddress('glReadnPixels');
  13939. glGetnMapdv:= dglGetProcAddress('glGetnMapdv');
  13940. glGetnMapfv:= dglGetProcAddress('glGetnMapfv');
  13941. glGetnMapiv:= dglGetProcAddress('glGetnMapiv');
  13942. glGetnPixelMapfv:= dglGetProcAddress('glGetnPixelMapfv');
  13943. glGetnPixelMapuiv:= dglGetProcAddress('glGetnPixelMapuiv');
  13944. glGetnPixelMapusv:= dglGetProcAddress('glGetnPixelMapusv');
  13945. glGetnPolygonStipple:= dglGetProcAddress('glGetnPolygonStipple');
  13946. glGetnColorTable:= dglGetProcAddress('glGetnColorTable');
  13947. glGetnConvolutionFilter:= dglGetProcAddress('glGetnConvolutionFilter');
  13948. glGetnSeparableFilter:= dglGetProcAddress('glGetnSeparableFilter');
  13949. glGetnHistogram:= dglGetProcAddress('glGetnHistogram');
  13950. glGetnMinmax:= dglGetProcAddress('glGetnMinmax');
  13951. glTextureBarrier:= dglGetProcAddress('glTextureBarrier');
  13952. end;
  13953. procedure Read_GL_NV_path_rendering;
  13954. begin
  13955. glGenPathsNV := dglGetProcAddress('glGenPathsNV');
  13956. glDeletePathsNV := dglGetProcAddress('glDeletePathsNV');
  13957. glIsPathNV := dglGetProcAddress('glIsPathNV');
  13958. glPathCommandsNV := dglGetProcAddress('glPathCommandsNV');
  13959. glPathCoordsNV := dglGetProcAddress('glPathCoordsNV');
  13960. glPathSubCommandsNV := dglGetProcAddress('glPathSubCommandsNV');
  13961. glPathSubCoordsNV := dglGetProcAddress('glPathSubCoordsNV');
  13962. glPathStringNV := dglGetProcAddress('glPathStringNV');
  13963. glPathGlyphsNV := dglGetProcAddress('glPathGlyphsNV');
  13964. glPathGlyphRangeNV := dglGetProcAddress('glPathGlyphRangeNV');
  13965. glWeightPathsNV := dglGetProcAddress('glWeightPathsNV');
  13966. glCopyPathNV := dglGetProcAddress('glCopyPathNV');
  13967. glInterpolatePathsNV := dglGetProcAddress('glInterpolatePathsNV');
  13968. glTransformPathNV := dglGetProcAddress('glTransformPathNV');
  13969. glPathParameterivNV := dglGetProcAddress('glPathParameterivNV');
  13970. glPathParameteriNV := dglGetProcAddress('glPathParameteriNV');
  13971. glPathParameterfvNV := dglGetProcAddress('glPathParameterfvNV');
  13972. glPathParameterfNV := dglGetProcAddress('glPathParameterfNV');
  13973. glPathDashArrayNV := dglGetProcAddress('glPathDashArrayNV');
  13974. glPathStencilFuncNV := dglGetProcAddress('glPathStencilFuncNV');
  13975. glPathStencilDepthOffsetNV := dglGetProcAddress('glPathStencilDepthOffsetNV');
  13976. glStencilFillPathNV := dglGetProcAddress('glStencilFillPathNV');
  13977. glStencilStrokePathNV := dglGetProcAddress('glStencilStrokePathNV');
  13978. glStencilFillPathInstancedNV := dglGetProcAddress('glStencilFillPathInstancedNV');
  13979. glStencilStrokePathInstancedNV := dglGetProcAddress('glStencilStrokePathInstancedNV');
  13980. glPathCoverDepthFuncNV := dglGetProcAddress('glPathCoverDepthFuncNV');
  13981. glPathColorGenNV := dglGetProcAddress('glPathColorGenNV');
  13982. glPathTexGenNV := dglGetProcAddress('glPathTexGenNV');
  13983. glPathFogGenNV := dglGetProcAddress('glPathFogGenNV');
  13984. glCoverFillPathNV := dglGetProcAddress('glCoverFillPathNV');
  13985. glCoverStrokePathNV := dglGetProcAddress('glCoverStrokePathNV');
  13986. glCoverFillPathInstancedNV := dglGetProcAddress('glCoverFillPathInstancedNV');
  13987. glCoverStrokePathInstancedNV := dglGetProcAddress('glCoverStrokePathInstancedNV');
  13988. glGetPathParameterivNV := dglGetProcAddress('glGetPathParameterivNV');
  13989. glGetPathParameterfvNV := dglGetProcAddress('glGetPathParameterfvNV');
  13990. glGetPathCommandsNV := dglGetProcAddress('glGetPathCommandsNV');
  13991. glGetPathCoordsNV := dglGetProcAddress('glGetPathCoordsNV');
  13992. glGetPathDashArrayNV := dglGetProcAddress('glGetPathDashArrayNV');
  13993. glGetPathMetricsNV := dglGetProcAddress('glGetPathMetricsNV');
  13994. glGetPathMetricRangeNV := dglGetProcAddress('glGetPathMetricRangeNV');
  13995. glGetPathSpacingNV := dglGetProcAddress('glGetPathSpacingNV');
  13996. glGetPathColorGenivNV := dglGetProcAddress('glGetPathColorGenivNV');
  13997. glGetPathColorGenfvNV := dglGetProcAddress('glGetPathColorGenfvNV');
  13998. glGetPathTexGenivNV := dglGetProcAddress('glGetPathTexGenivNV');
  13999. glGetPathTexGenfvNV := dglGetProcAddress('glGetPathTexGenfvNV');
  14000. glIsPointInFillPathNV := dglGetProcAddress('glIsPointInFillPathNV');
  14001. glIsPointInStrokePathNV := dglGetProcAddress('glIsPointInStrokePathNV');
  14002. glGetPathLengthNV := dglGetProcAddress('glGetPathLengthNV');
  14003. glPointAlongPathNV := dglGetProcAddress('glPointAlongPathNV');
  14004. end;
  14005. procedure Read_GL_AMD_stencil_operation_extended;
  14006. begin
  14007. glStencilOpValueAMD := dglGetProcAddress('glStencilOpValueAMD');
  14008. end;
  14009. procedure Read_GL_NV_bindless_texture;
  14010. begin
  14011. glGetTextureHandleNV := dglGetProcAddress('glGetTextureHandleNV');
  14012. glGetTextureSamplerHandleNV := dglGetProcAddress('glGetTextureSamplerHandleNV');
  14013. glMakeTextureHandleResidentNV := dglGetProcAddress('glMakeTextureHandleResidentNV');
  14014. glMakeTextureHandleNonResidentNV := dglGetProcAddress('glMakeTextureHandleNonResidentNV');
  14015. glGetImageHandleNV := dglGetProcAddress('glGetImageHandleNV');
  14016. glMakeImageHandleResidentNV := dglGetProcAddress('glMakeImageHandleResidentNV');
  14017. glMakeImageHandleNonResidentNV := dglGetProcAddress('glMakeImageHandleNonResidentNV');
  14018. glUniformHandleui64NV := dglGetProcAddress('glUniformHandleui64NV');
  14019. glUniformHandleui64vNV := dglGetProcAddress('glUniformHandleui64vNV');
  14020. glProgramUniformHandleui64NV := dglGetProcAddress('glProgramUniformHandleui64NV');
  14021. glProgramUniformHandleui64vNV := dglGetProcAddress('glProgramUniformHandleui64vNV');
  14022. glIsTextureHandleResidentNV := dglGetProcAddress('glIsTextureHandleResidentNV');
  14023. glIsImageHandleResidentNV := dglGetProcAddress('glIsImageHandleResidentNV');
  14024. end;
  14025. procedure Read_GL_ARB_bindless_texture;
  14026. begin
  14027. glGetTextureHandleARB := dglGetProcAddress('TglGetTextureHandleARB');
  14028. glGetTextureSamplerHandleARB := dglGetProcAddress('TglGetTextureSamplerHandleARB');
  14029. glMakeTextureHandleResidentARB := dglGetProcAddress('TglMakeTextureHandleResidentARB');
  14030. glMakeTextureHandleNonResidentARB := dglGetProcAddress('TglMakeTextureHandleNonResidentARB');
  14031. glGetImageHandleARB := dglGetProcAddress('TglGetImageHandleARB');
  14032. glMakeImageHandleResidentARB := dglGetProcAddress('TglMakeImageHandleResidentARB');
  14033. glMakeImageHandleNonResidentARB := dglGetProcAddress('TglMakeImageHandleNonResidentARB');
  14034. glUniformHandleui64ARB := dglGetProcAddress('TglUniformHandleui64ARB');
  14035. glUniformHandleui64vARB := dglGetProcAddress('TglUniformHandleui64vARB');
  14036. glProgramUniformHandleui64ARB := dglGetProcAddress('TglProgramUniformHandleui64ARB');
  14037. glProgramUniformHandleui64vARB := dglGetProcAddress('TglProgramUniformHandleui64vARB');
  14038. glIsTextureHandleResidentARB := dglGetProcAddress('TglIsTextureHandleResidentARB');
  14039. glIsImageHandleResidentARB := dglGetProcAddress('TglIsImageHandleResidentARB');
  14040. glVertexAttribL1ui64ARB := dglGetProcAddress('TglVertexAttribL1ui64ARB');
  14041. glVertexAttribL1ui64vARB := dglGetProcAddress('TglVertexAttribL1ui64vARB');
  14042. glGetVertexAttribLui64vARB := dglGetProcAddress('TglGetVertexAttribLui64vARB');
  14043. end;
  14044. procedure Read_GL_ARB_cl_event;
  14045. begin
  14046. glCreateSyncFromCLeventARB := dglGetProcAddress('glCreateSyncFromCLeventARB');
  14047. end;
  14048. procedure Read_GL_ARB_compute_variable_group_size;
  14049. begin
  14050. glDispatchComputeGroupSizeARB := dglGetProcAddress('glDispatchComputeGroupSizeARB');
  14051. end;
  14052. procedure Read_GL_ARB_debug_output;
  14053. begin
  14054. glDebugMessageControlARB := dglGetProcAddress('glDebugMessageControlARB');
  14055. glDebugMessageInsertARB := dglGetProcAddress('glDebugMessageInsertARB');
  14056. glDebugMessageCallbackARB := dglGetProcAddress('glDebugMessageCallbackARB');
  14057. glGetDebugMessageLogARB := dglGetProcAddress('glGetDebugMessageLogARB');
  14058. end;
  14059. procedure Read_GL_ARB_robustness;
  14060. begin
  14061. glGetGraphicsResetStatusARB := dglGetProcAddress('glGetGraphicsResetStatusARB');
  14062. glGetnMapdvARB := dglGetProcAddress('glGetnMapdvARB');
  14063. glGetnMapfvARB := dglGetProcAddress('glGetnMapfvARB');
  14064. glGetnMapivARB := dglGetProcAddress('glGetnMapivARB');
  14065. glGetnPixelMapfvARB := dglGetProcAddress('glGetnPixelMapfvARB');
  14066. glGetnPixelMapuivARB := dglGetProcAddress('glGetnPixelMapuivARB');
  14067. glGetnPixelMapusvARB := dglGetProcAddress('glGetnPixelMapusvARB');
  14068. glGetnPolygonStippleARB := dglGetProcAddress('glGetnPolygonStippleARB');
  14069. glGetnColorTableARB := dglGetProcAddress('glGetnColorTableARB');
  14070. glGetnConvolutionFilterARB := dglGetProcAddress('glGetnConvolutionFilterARB');
  14071. glGetnSeparableFilterARB := dglGetProcAddress('glGetnSeparableFilterARB');
  14072. glGetnHistogramARB := dglGetProcAddress('glGetnHistogramARB');
  14073. glGetnMinmaxARB := dglGetProcAddress('glGetnMinmaxARB');
  14074. glGetnTexImageARB := dglGetProcAddress('glGetnTexImageARB');
  14075. glReadnPixelsARB := dglGetProcAddress('glReadnPixelsARB');
  14076. glGetnCompressedTexImageARB := dglGetProcAddress('glGetnCompressedTexImageARB');
  14077. glGetnUniformfvARB := dglGetProcAddress('glGetnUniformfvARB');
  14078. glGetnUniformivARB := dglGetProcAddress('glGetnUniformivARB');
  14079. glGetnUniformuivARB := dglGetProcAddress('glGetnUniformuivARB');
  14080. glGetnUniformdvARB := dglGetProcAddress('glGetnUniformdvARB');
  14081. end;
  14082. procedure Read_GL_ATI_draw_buffers;
  14083. begin
  14084. glDrawBuffersATI := dglGetProcAddress('glDrawBuffersATI');
  14085. end;
  14086. procedure Read_GL_ATI_element_array;
  14087. begin
  14088. glElementPointerATI := dglGetProcAddress('glElementPointerATI');
  14089. glDrawElementArrayATI := dglGetProcAddress('glDrawElementArrayATI');
  14090. glDrawRangeElementArrayATI := dglGetProcAddress('glDrawRangeElementArrayATI');
  14091. end;
  14092. procedure Read_GL_ATI_envmap_bumpmap;
  14093. begin
  14094. glTexBumpParameterivATI := dglGetProcAddress('glTexBumpParameterivATI');
  14095. glTexBumpParameterfvATI := dglGetProcAddress('glTexBumpParameterfvATI');
  14096. glGetTexBumpParameterivATI := dglGetProcAddress('glGetTexBumpParameterivATI');
  14097. glGetTexBumpParameterfvATI := dglGetProcAddress('glGetTexBumpParameterfvATI');
  14098. end;
  14099. procedure Read_GL_ATI_fragment_shader;
  14100. begin
  14101. glGenFragmentShadersATI := dglGetProcAddress('glGenFragmentShadersATI');
  14102. glBindFragmentShaderATI := dglGetProcAddress('glBindFragmentShaderATI');
  14103. glDeleteFragmentShaderATI := dglGetProcAddress('glDeleteFragmentShaderATI');
  14104. glBeginFragmentShaderATI := dglGetProcAddress('glBeginFragmentShaderATI');
  14105. glEndFragmentShaderATI := dglGetProcAddress('glEndFragmentShaderATI');
  14106. glPassTexCoordATI := dglGetProcAddress('glPassTexCoordATI');
  14107. glSampleMapATI := dglGetProcAddress('glSampleMapATI');
  14108. glColorFragmentOp1ATI := dglGetProcAddress('glColorFragmentOp1ATI');
  14109. glColorFragmentOp2ATI := dglGetProcAddress('glColorFragmentOp2ATI');
  14110. glColorFragmentOp3ATI := dglGetProcAddress('glColorFragmentOp3ATI');
  14111. glAlphaFragmentOp1ATI := dglGetProcAddress('glAlphaFragmentOp1ATI');
  14112. glAlphaFragmentOp2ATI := dglGetProcAddress('glAlphaFragmentOp2ATI');
  14113. glAlphaFragmentOp3ATI := dglGetProcAddress('glAlphaFragmentOp3ATI');
  14114. glSetFragmentShaderConstantATI := dglGetProcAddress('glSetFragmentShaderConstantATI');
  14115. end;
  14116. procedure Read_GL_ATI_map_object_buffer;
  14117. begin
  14118. glMapObjectBufferATI := dglGetProcAddress('glMapObjectBufferATI');
  14119. glUnmapObjectBufferATI := dglGetProcAddress('glUnmapObjectBufferATI');
  14120. end;
  14121. procedure Read_GL_ATI_pn_triangles;
  14122. begin
  14123. glPNTrianglesiATI := dglGetProcAddress('glPNTrianglesiATI');
  14124. glPNTrianglesfATI := dglGetProcAddress('glPNTrianglesfATI');
  14125. end;
  14126. procedure Read_GL_ATI_separate_stencil;
  14127. begin
  14128. glStencilOpSeparateATI := dglGetProcAddress('glStencilOpSeparateATI');
  14129. glStencilFuncSeparateATI := dglGetProcAddress('glStencilFuncSeparateATI');
  14130. end;
  14131. procedure Read_GL_ATI_vertex_array_object;
  14132. begin
  14133. glNewObjectBufferATI := dglGetProcAddress('glNewObjectBufferATI');
  14134. glIsObjectBufferATI := dglGetProcAddress('glIsObjectBufferATI');
  14135. glUpdateObjectBufferATI := dglGetProcAddress('glUpdateObjectBufferATI');
  14136. glGetObjectBufferfvATI := dglGetProcAddress('glGetObjectBufferfvATI');
  14137. glGetObjectBufferivATI := dglGetProcAddress('glGetObjectBufferivATI');
  14138. glFreeObjectBufferATI := dglGetProcAddress('glFreeObjectBufferATI');
  14139. glArrayObjectATI := dglGetProcAddress('glArrayObjectATI');
  14140. glGetArrayObjectfvATI := dglGetProcAddress('glGetArrayObjectfvATI');
  14141. glGetArrayObjectivATI := dglGetProcAddress('glGetArrayObjectivATI');
  14142. glVariantArrayObjectATI := dglGetProcAddress('glVariantArrayObjectATI');
  14143. glGetVariantArrayObjectfvATI := dglGetProcAddress('glGetVariantArrayObjectfvATI');
  14144. glGetVariantArrayObjectivATI := dglGetProcAddress('glGetVariantArrayObjectivATI');
  14145. end;
  14146. procedure Read_GL_ATI_vertex_attrib_array_object;
  14147. begin
  14148. glVertexAttribArrayObjectATI := dglGetProcAddress('glVertexAttribArrayObjectATI');
  14149. glGetVertexAttribArrayObjectfvATI := dglGetProcAddress('glGetVertexAttribArrayObjectfvATI');
  14150. glGetVertexAttribArrayObjectivATI := dglGetProcAddress('glGetVertexAttribArrayObjectivATI');
  14151. end;
  14152. procedure Read_GL_ATI_vertex_streams;
  14153. begin
  14154. glVertexStream1sATI := dglGetProcAddress('glVertexStream1sATI');
  14155. glVertexStream1svATI := dglGetProcAddress('glVertexStream1svATI');
  14156. glVertexStream1iATI := dglGetProcAddress('glVertexStream1iATI');
  14157. glVertexStream1ivATI := dglGetProcAddress('glVertexStream1ivATI');
  14158. glVertexStream1fATI := dglGetProcAddress('glVertexStream1fATI');
  14159. glVertexStream1fvATI := dglGetProcAddress('glVertexStream1fvATI');
  14160. glVertexStream1dATI := dglGetProcAddress('glVertexStream1dATI');
  14161. glVertexStream1dvATI := dglGetProcAddress('glVertexStream1dvATI');
  14162. glVertexStream2sATI := dglGetProcAddress('glVertexStream2sATI');
  14163. glVertexStream2svATI := dglGetProcAddress('glVertexStream2svATI');
  14164. glVertexStream2iATI := dglGetProcAddress('glVertexStream2iATI');
  14165. glVertexStream2ivATI := dglGetProcAddress('glVertexStream2ivATI');
  14166. glVertexStream2fATI := dglGetProcAddress('glVertexStream2fATI');
  14167. glVertexStream2fvATI := dglGetProcAddress('glVertexStream2fvATI');
  14168. glVertexStream2dATI := dglGetProcAddress('glVertexStream2dATI');
  14169. glVertexStream2dvATI := dglGetProcAddress('glVertexStream2dvATI');
  14170. glVertexStream3sATI := dglGetProcAddress('glVertexStream3sATI');
  14171. glVertexStream3svATI := dglGetProcAddress('glVertexStream3svATI');
  14172. glVertexStream3iATI := dglGetProcAddress('glVertexStream3iATI');
  14173. glVertexStream3ivATI := dglGetProcAddress('glVertexStream3ivATI');
  14174. glVertexStream3fATI := dglGetProcAddress('glVertexStream3fATI');
  14175. glVertexStream3fvATI := dglGetProcAddress('glVertexStream3fvATI');
  14176. glVertexStream3dATI := dglGetProcAddress('glVertexStream3dATI');
  14177. glVertexStream3dvATI := dglGetProcAddress('glVertexStream3dvATI');
  14178. glVertexStream4sATI := dglGetProcAddress('glVertexStream4sATI');
  14179. glVertexStream4svATI := dglGetProcAddress('glVertexStream4svATI');
  14180. glVertexStream4iATI := dglGetProcAddress('glVertexStream4iATI');
  14181. glVertexStream4ivATI := dglGetProcAddress('glVertexStream4ivATI');
  14182. glVertexStream4fATI := dglGetProcAddress('glVertexStream4fATI');
  14183. glVertexStream4fvATI := dglGetProcAddress('glVertexStream4fvATI');
  14184. glVertexStream4dATI := dglGetProcAddress('glVertexStream4dATI');
  14185. glVertexStream4dvATI := dglGetProcAddress('glVertexStream4dvATI');
  14186. glNormalStream3bATI := dglGetProcAddress('glNormalStream3bATI');
  14187. glNormalStream3bvATI := dglGetProcAddress('glNormalStream3bvATI');
  14188. glNormalStream3sATI := dglGetProcAddress('glNormalStream3sATI');
  14189. glNormalStream3svATI := dglGetProcAddress('glNormalStream3svATI');
  14190. glNormalStream3iATI := dglGetProcAddress('glNormalStream3iATI');
  14191. glNormalStream3ivATI := dglGetProcAddress('glNormalStream3ivATI');
  14192. glNormalStream3fATI := dglGetProcAddress('glNormalStream3fATI');
  14193. glNormalStream3fvATI := dglGetProcAddress('glNormalStream3fvATI');
  14194. glNormalStream3dATI := dglGetProcAddress('glNormalStream3dATI');
  14195. glNormalStream3dvATI := dglGetProcAddress('glNormalStream3dvATI');
  14196. glClientActiveVertexStreamATI := dglGetProcAddress('glClientActiveVertexStreamATI');
  14197. glVertexBlendEnviATI := dglGetProcAddress('glVertexBlendEnviATI');
  14198. glVertexBlendEnvfATI := dglGetProcAddress('glVertexBlendEnvfATI');
  14199. end;
  14200. procedure Read_GL_AMD_performance_monitor;
  14201. begin
  14202. glGetPerfMonitorGroupsAMD := dglGetProcAddress('glGetPerfMonitorGroupsAMD');
  14203. glGetPerfMonitorCountersAMD := dglGetProcAddress('glGetPerfMonitorCountersAMD');
  14204. glGetPerfMonitorGroupStringAMD := dglGetProcAddress('glGetPerfMonitorGroupStringAMD');
  14205. glGetPerfMonitorCounterStringAMD := dglGetProcAddress('glGetPerfMonitorCounterStringAMD');
  14206. glGetPerfMonitorCounterInfoAMD := dglGetProcAddress('glGetPerfMonitorCounterInfoAMD');
  14207. glGenPerfMonitorsAMD := dglGetProcAddress('glGenPerfMonitorsAMD');
  14208. glDeletePerfMonitorsAMD := dglGetProcAddress('glDeletePerfMonitorsAMD');
  14209. glSelectPerfMonitorCountersAMD := dglGetProcAddress('glSelectPerfMonitorCountersAMD');
  14210. glBeginPerfMonitorAMD := dglGetProcAddress('glBeginPerfMonitorAMD');
  14211. glEndPerfMonitorAMD := dglGetProcAddress('glEndPerfMonitorAMD');
  14212. glGetPerfMonitorCounterDataAMD := dglGetProcAddress('glGetPerfMonitorCounterDataAMD');
  14213. end;
  14214. procedure Read_GL_AMD_vertex_shader_tesselator;
  14215. begin
  14216. glTessellationFactorAMD := dglGetProcAddress('glTessellationFactorAMD');
  14217. glTessellationModeAMD := dglGetProcAddress('glTessellationModeAMD');
  14218. end;
  14219. procedure Read_GL_AMD_draw_buffers_blend;
  14220. begin
  14221. glBlendFuncIndexedAMD := dglGetProcAddress('glBlendFuncIndexedAMD');
  14222. glBlendFuncSeparateIndexedAMD := dglGetProcAddress('glBlendFuncSeparateIndexedAMD');
  14223. glBlendEquationIndexedAMD := dglGetProcAddress('glBlendEquationIndexedAMD');
  14224. glBlendEquationSeparateIndexedAMD := dglGetProcAddress('glBlendEquationSeparateIndexedAMD');
  14225. end;
  14226. procedure Read_GL_AMD_name_gen_delete;
  14227. begin
  14228. glGenNamesAMD := dglGetProcAddress('glGenNamesAMD');
  14229. glDeleteNamesAMD := dglGetProcAddress('glDeleteNamesAMD');
  14230. glIsNameAMD := dglGetProcAddress('glIsNameAMD');
  14231. end;
  14232. procedure Read_GL_AMD_debug_output;
  14233. begin
  14234. glDebugMessageEnableAMD := dglGetProcAddress('glDebugMessageEnableAMD');
  14235. glDebugMessageInsertAMD := dglGetProcAddress('glDebugMessageInsertAMD');
  14236. glDebugMessageCallbackAMD := dglGetProcAddress('glDebugMessageCallbackAMD');
  14237. glGetDebugMessageLogAMD := dglGetProcAddress('glGetDebugMessageLogAMD');
  14238. end;
  14239. procedure Read_GL_EXT_blend_color;
  14240. begin
  14241. glBlendColorEXT := dglGetProcAddress('glBlendColorEXT');
  14242. end;
  14243. procedure Read_GL_EXT_blend_func_separate;
  14244. begin
  14245. glBlendFuncSeparateEXT := dglGetProcAddress('glBlendFuncSeparateEXT');
  14246. end;
  14247. procedure Read_GL_EXT_blend_minmax;
  14248. begin
  14249. glBlendEquationEXT := dglGetProcAddress('glBlendEquationEXT');
  14250. end;
  14251. procedure Read_GL_EXT_color_subtable;
  14252. begin
  14253. glColorSubTableEXT := dglGetProcAddress('glColorSubTableEXT');
  14254. glCopyColorSubTableEXT := dglGetProcAddress('glCopyColorSubTableEXT');
  14255. end;
  14256. procedure Read_GL_EXT_compiled_vertex_array;
  14257. begin
  14258. glLockArraysEXT := dglGetProcAddress('glLockArraysEXT');
  14259. glUnlockArraysEXT := dglGetProcAddress('glUnlockArraysEXT');
  14260. end;
  14261. procedure Read_GL_EXT_convolution;
  14262. begin
  14263. glConvolutionFilter1DEXT := dglGetProcAddress('glConvolutionFilter1DEXT');
  14264. glConvolutionFilter2DEXT := dglGetProcAddress('glConvolutionFilter2DEXT');
  14265. glConvolutionParameterfEXT := dglGetProcAddress('glConvolutionParameterfEXT');
  14266. glConvolutionParameterfvEXT := dglGetProcAddress('glConvolutionParameterfvEXT');
  14267. glConvolutionParameteriEXT := dglGetProcAddress('glConvolutionParameteriEXT');
  14268. glConvolutionParameterivEXT := dglGetProcAddress('glConvolutionParameterivEXT');
  14269. glCopyConvolutionFilter1DEXT := dglGetProcAddress('glCopyConvolutionFilter1DEXT');
  14270. glCopyConvolutionFilter2DEXT := dglGetProcAddress('glCopyConvolutionFilter2DEXT');
  14271. glGetConvolutionFilterEXT := dglGetProcAddress('glGetConvolutionFilterEXT');
  14272. glGetConvolutionParameterfvEXT := dglGetProcAddress('glGetConvolutionParameterfvEXT');
  14273. glGetConvolutionParameterivEXT := dglGetProcAddress('glGetConvolutionParameterivEXT');
  14274. glGetSeparableFilterEXT := dglGetProcAddress('glGetSeparableFilterEXT');
  14275. glSeparableFilter2DEXT := dglGetProcAddress('glSeparableFilter2DEXT');
  14276. end;
  14277. procedure Read_GL_EXT_coordinate_frame;
  14278. begin
  14279. glTangent3bEXT := dglGetProcAddress('glTangent3bEXT');
  14280. glTangent3bvEXT := dglGetProcAddress('glTangent3bvEXT');
  14281. glTangent3dEXT := dglGetProcAddress('glTangent3dEXT');
  14282. glTangent3dvEXT := dglGetProcAddress('glTangent3dvEXT');
  14283. glTangent3fEXT := dglGetProcAddress('glTangent3fEXT');
  14284. glTangent3fvEXT := dglGetProcAddress('glTangent3fvEXT');
  14285. glTangent3iEXT := dglGetProcAddress('glTangent3iEXT');
  14286. glTangent3ivEXT := dglGetProcAddress('glTangent3ivEXT');
  14287. glTangent3sEXT := dglGetProcAddress('glTangent3sEXT');
  14288. glTangent3svEXT := dglGetProcAddress('glTangent3svEXT');
  14289. glBinormal3bEXT := dglGetProcAddress('glBinormal3bEXT');
  14290. glBinormal3bvEXT := dglGetProcAddress('glBinormal3bvEXT');
  14291. glBinormal3dEXT := dglGetProcAddress('glBinormal3dEXT');
  14292. glBinormal3dvEXT := dglGetProcAddress('glBinormal3dvEXT');
  14293. glBinormal3fEXT := dglGetProcAddress('glBinormal3fEXT');
  14294. glBinormal3fvEXT := dglGetProcAddress('glBinormal3fvEXT');
  14295. glBinormal3iEXT := dglGetProcAddress('glBinormal3iEXT');
  14296. glBinormal3ivEXT := dglGetProcAddress('glBinormal3ivEXT');
  14297. glBinormal3sEXT := dglGetProcAddress('glBinormal3sEXT');
  14298. glBinormal3svEXT := dglGetProcAddress('glBinormal3svEXT');
  14299. glTangentPointerEXT := dglGetProcAddress('glTangentPointerEXT');
  14300. glBinormalPointerEXT := dglGetProcAddress('glBinormalPointerEXT');
  14301. end;
  14302. procedure Read_GL_EXT_copy_texture;
  14303. begin
  14304. glCopyTexImage1DEXT := dglGetProcAddress('glCopyTexImage1DEXT');
  14305. glCopyTexImage2DEXT := dglGetProcAddress('glCopyTexImage2DEXT');
  14306. glCopyTexSubImage1DEXT := dglGetProcAddress('glCopyTexSubImage1DEXT');
  14307. glCopyTexSubImage2DEXT := dglGetProcAddress('glCopyTexSubImage2DEXT');
  14308. glCopyTexSubImage3DEXT := dglGetProcAddress('glCopyTexSubImage3DEXT');
  14309. end;
  14310. procedure Read_GL_EXT_cull_vertex;
  14311. begin
  14312. glCullParameterdvEXT := dglGetProcAddress('glCullParameterdvEXT');
  14313. glCullParameterfvEXT := dglGetProcAddress('glCullParameterfvEXT');
  14314. end;
  14315. procedure Read_GL_EXT_draw_range_elements;
  14316. begin
  14317. glDrawRangeElementsEXT := dglGetProcAddress('glDrawRangeElementsEXT');
  14318. end;
  14319. procedure Read_GL_EXT_fog_coord;
  14320. begin
  14321. glFogCoordfEXT := dglGetProcAddress('glFogCoordfEXT');
  14322. glFogCoordfvEXT := dglGetProcAddress('glFogCoordfvEXT');
  14323. glFogCoorddEXT := dglGetProcAddress('glFogCoorddEXT');
  14324. glFogCoorddvEXT := dglGetProcAddress('glFogCoorddvEXT');
  14325. glFogCoordPointerEXT := dglGetProcAddress('glFogCoordPointerEXT');
  14326. end;
  14327. procedure Read_GL_EXT_framebuffer_object;
  14328. begin
  14329. glIsRenderbufferEXT := dglGetProcAddress('glIsRenderbufferEXT');
  14330. glBindRenderbufferEXT := dglGetProcAddress('glBindRenderbufferEXT');
  14331. glDeleteRenderbuffersEXT := dglGetProcAddress('glDeleteRenderbuffersEXT');
  14332. glGenRenderbuffersEXT := dglGetProcAddress('glGenRenderbuffersEXT');
  14333. glRenderbufferStorageEXT := dglGetProcAddress('glRenderbufferStorageEXT');
  14334. glGetRenderbufferParameterivEXT := dglGetProcAddress('glGetRenderbufferParameterivEXT');
  14335. glIsFramebufferEXT := dglGetProcAddress('glIsFramebufferEXT');
  14336. glBindFramebufferEXT := dglGetProcAddress('glBindFramebufferEXT');
  14337. glDeleteFramebuffersEXT := dglGetProcAddress('glDeleteFramebuffersEXT');
  14338. glGenFramebuffersEXT := dglGetProcAddress('glGenFramebuffersEXT');
  14339. glCheckFramebufferStatusEXT := dglGetProcAddress('glCheckFramebufferStatusEXT');
  14340. glFramebufferTexture1DEXT := dglGetProcAddress('glFramebufferTexture1DEXT');
  14341. glFramebufferTexture2DEXT := dglGetProcAddress('glFramebufferTexture2DEXT');
  14342. glFramebufferTexture3DEXT := dglGetProcAddress('glFramebufferTexture3DEXT');
  14343. glFramebufferRenderbufferEXT := dglGetProcAddress('glFramebufferRenderbufferEXT');
  14344. glGetFramebufferAttachmentParameterivEXT := dglGetProcAddress('glGetFramebufferAttachmentParameterivEXT');
  14345. glGenerateMipmapEXT := dglGetProcAddress('glGenerateMipmapEXT');
  14346. end;
  14347. procedure Read_GL_EXT_histogram;
  14348. begin
  14349. glGetHistogramEXT := dglGetProcAddress('glGetHistogramEXT');
  14350. glGetHistogramParameterfvEXT := dglGetProcAddress('glGetHistogramParameterfvEXT');
  14351. glGetHistogramParameterivEXT := dglGetProcAddress('glGetHistogramParameterivEXT');
  14352. glGetMinmaxEXT := dglGetProcAddress('glGetMinmaxEXT');
  14353. glGetMinmaxParameterfvEXT := dglGetProcAddress('glGetMinmaxParameterfvEXT');
  14354. glGetMinmaxParameterivEXT := dglGetProcAddress('glGetMinmaxParameterivEXT');
  14355. glHistogramEXT := dglGetProcAddress('glHistogramEXT');
  14356. glMinmaxEXT := dglGetProcAddress('glMinmaxEXT');
  14357. glResetHistogramEXT := dglGetProcAddress('glResetHistogramEXT');
  14358. glResetMinmaxEXT := dglGetProcAddress('glResetMinmaxEXT');
  14359. end;
  14360. procedure Read_GL_EXT_index_func;
  14361. begin
  14362. glIndexFuncEXT := dglGetProcAddress('glIndexFuncEXT');
  14363. end;
  14364. procedure Read_GL_EXT_index_material;
  14365. begin
  14366. glIndexMaterialEXT := dglGetProcAddress('glIndexMaterialEXT');
  14367. end;
  14368. procedure Read_GL_EXT_light_texture;
  14369. begin
  14370. glApplyTextureEXT := dglGetProcAddress('glApplyTextureEXT');
  14371. glTextureLightEXT := dglGetProcAddress('glTextureLightEXT');
  14372. glTextureMaterialEXT := dglGetProcAddress('glTextureMaterialEXT');
  14373. end;
  14374. procedure Read_GL_EXT_multi_draw_arrays;
  14375. begin
  14376. glMultiDrawArraysEXT := dglGetProcAddress('glMultiDrawArraysEXT');
  14377. glMultiDrawElementsEXT := dglGetProcAddress('glMultiDrawElementsEXT');
  14378. end;
  14379. procedure Read_GL_EXT_multisample;
  14380. begin
  14381. glSampleMaskEXT := dglGetProcAddress('glSampleMaskEXT');
  14382. glSamplePatternEXT := dglGetProcAddress('glSamplePatternEXT');
  14383. end;
  14384. procedure Read_GL_EXT_paletted_texture;
  14385. begin
  14386. glColorTableEXT := dglGetProcAddress('glColorTableEXT');
  14387. glGetColorTableEXT := dglGetProcAddress('glGetColorTableEXT');
  14388. glGetColorTableParameterivEXT := dglGetProcAddress('glGetColorTableParameterivEXT');
  14389. glGetColorTableParameterfvEXT := dglGetProcAddress('glGetColorTableParameterfvEXT');
  14390. end;
  14391. procedure Read_GL_EXT_pixel_transform;
  14392. begin
  14393. glPixelTransformParameteriEXT := dglGetProcAddress('glPixelTransformParameteriEXT');
  14394. glPixelTransformParameterfEXT := dglGetProcAddress('glPixelTransformParameterfEXT');
  14395. glPixelTransformParameterivEXT := dglGetProcAddress('glPixelTransformParameterivEXT');
  14396. glPixelTransformParameterfvEXT := dglGetProcAddress('glPixelTransformParameterfvEXT');
  14397. end;
  14398. procedure Read_GL_EXT_point_parameters;
  14399. begin
  14400. glPointParameterfEXT := dglGetProcAddress('glPointParameterfEXT');
  14401. glPointParameterfvEXT := dglGetProcAddress('glPointParameterfvEXT');
  14402. end;
  14403. procedure Read_GL_EXT_polygon_offset;
  14404. begin
  14405. glPolygonOffsetEXT := dglGetProcAddress('glPolygonOffsetEXT');
  14406. end;
  14407. procedure Read_GL_EXT_secondary_color;
  14408. begin
  14409. glSecondaryColor3bEXT := dglGetProcAddress('glSecondaryColor3bEXT');
  14410. glSecondaryColor3bvEXT := dglGetProcAddress('glSecondaryColor3bvEXT');
  14411. glSecondaryColor3dEXT := dglGetProcAddress('glSecondaryColor3dEXT');
  14412. glSecondaryColor3dvEXT := dglGetProcAddress('glSecondaryColor3dvEXT');
  14413. glSecondaryColor3fEXT := dglGetProcAddress('glSecondaryColor3fEXT');
  14414. glSecondaryColor3fvEXT := dglGetProcAddress('glSecondaryColor3fvEXT');
  14415. glSecondaryColor3iEXT := dglGetProcAddress('glSecondaryColor3iEXT');
  14416. glSecondaryColor3ivEXT := dglGetProcAddress('glSecondaryColor3ivEXT');
  14417. glSecondaryColor3sEXT := dglGetProcAddress('glSecondaryColor3sEXT');
  14418. glSecondaryColor3svEXT := dglGetProcAddress('glSecondaryColor3svEXT');
  14419. glSecondaryColor3ubEXT := dglGetProcAddress('glSecondaryColor3ubEXT');
  14420. glSecondaryColor3ubvEXT := dglGetProcAddress('glSecondaryColor3ubvEXT');
  14421. glSecondaryColor3uiEXT := dglGetProcAddress('glSecondaryColor3uiEXT');
  14422. glSecondaryColor3uivEXT := dglGetProcAddress('glSecondaryColor3uivEXT');
  14423. glSecondaryColor3usEXT := dglGetProcAddress('glSecondaryColor3usEXT');
  14424. glSecondaryColor3usvEXT := dglGetProcAddress('glSecondaryColor3usvEXT');
  14425. glSecondaryColorPointerEXT := dglGetProcAddress('glSecondaryColorPointerEXT');
  14426. end;
  14427. procedure Read_GL_EXT_stencil_two_side;
  14428. begin
  14429. glActiveStencilFaceEXT := dglGetProcAddress('glActiveStencilFaceEXT');
  14430. end;
  14431. procedure Read_GL_EXT_subtexture;
  14432. begin
  14433. glTexSubImage1DEXT := dglGetProcAddress('glTexSubImage1DEXT');
  14434. glTexSubImage2DEXT := dglGetProcAddress('glTexSubImage2DEXT');
  14435. end;
  14436. procedure Read_GL_EXT_texture3D;
  14437. begin
  14438. glTexImage3DEXT := dglGetProcAddress('glTexImage3DEXT');
  14439. glTexSubImage3DEXT := dglGetProcAddress('glTexSubImage3DEXT');
  14440. end;
  14441. procedure Read_GL_EXT_texture_object;
  14442. begin
  14443. glAreTexturesResidentEXT := dglGetProcAddress('glAreTexturesResidentEXT');
  14444. glBindTextureEXT := dglGetProcAddress('glBindTextureEXT');
  14445. glDeleteTexturesEXT := dglGetProcAddress('glDeleteTexturesEXT');
  14446. glGenTexturesEXT := dglGetProcAddress('glGenTexturesEXT');
  14447. glIsTextureEXT := dglGetProcAddress('glIsTextureEXT');
  14448. glPrioritizeTexturesEXT := dglGetProcAddress('glPrioritizeTexturesEXT');
  14449. end;
  14450. procedure Read_GL_EXT_texture_perturb_normal;
  14451. begin
  14452. glTextureNormalEXT := dglGetProcAddress('glTextureNormalEXT');
  14453. end;
  14454. procedure Read_GL_EXT_vertex_array;
  14455. begin
  14456. glArrayElementEXT := dglGetProcAddress('glArrayElementEXT');
  14457. glColorPointerEXT := dglGetProcAddress('glColorPointerEXT');
  14458. glDrawArraysEXT := dglGetProcAddress('glDrawArraysEXT');
  14459. glEdgeFlagPointerEXT := dglGetProcAddress('glEdgeFlagPointerEXT');
  14460. glGetPointervEXT := dglGetProcAddress('glGetPointervEXT');
  14461. glIndexPointerEXT := dglGetProcAddress('glIndexPointerEXT');
  14462. glNormalPointerEXT := dglGetProcAddress('glNormalPointerEXT');
  14463. glTexCoordPointerEXT := dglGetProcAddress('glTexCoordPointerEXT');
  14464. glVertexPointerEXT := dglGetProcAddress('glVertexPointerEXT');
  14465. end;
  14466. procedure Read_GL_EXT_vertex_shader;
  14467. begin
  14468. glBeginVertexShaderEXT := dglGetProcAddress('glBeginVertexShaderEXT');
  14469. glEndVertexShaderEXT := dglGetProcAddress('glEndVertexShaderEXT');
  14470. glBindVertexShaderEXT := dglGetProcAddress('glBindVertexShaderEXT');
  14471. glGenVertexShadersEXT := dglGetProcAddress('glGenVertexShadersEXT');
  14472. glDeleteVertexShaderEXT := dglGetProcAddress('glDeleteVertexShaderEXT');
  14473. glShaderOp1EXT := dglGetProcAddress('glShaderOp1EXT');
  14474. glShaderOp2EXT := dglGetProcAddress('glShaderOp2EXT');
  14475. glShaderOp3EXT := dglGetProcAddress('glShaderOp3EXT');
  14476. glSwizzleEXT := dglGetProcAddress('glSwizzleEXT');
  14477. glWriteMaskEXT := dglGetProcAddress('glWriteMaskEXT');
  14478. glInsertComponentEXT := dglGetProcAddress('glInsertComponentEXT');
  14479. glExtractComponentEXT := dglGetProcAddress('glExtractComponentEXT');
  14480. glGenSymbolsEXT := dglGetProcAddress('glGenSymbolsEXT');
  14481. glSetInvariantEXT := dglGetProcAddress('glSetInvariantEXT');
  14482. glSetLocalConstantEXT := dglGetProcAddress('glSetLocalConstantEXT');
  14483. glVariantbvEXT := dglGetProcAddress('glVariantbvEXT');
  14484. glVariantsvEXT := dglGetProcAddress('glVariantsvEXT');
  14485. glVariantivEXT := dglGetProcAddress('glVariantivEXT');
  14486. glVariantfvEXT := dglGetProcAddress('glVariantfvEXT');
  14487. glVariantdvEXT := dglGetProcAddress('glVariantdvEXT');
  14488. glVariantubvEXT := dglGetProcAddress('glVariantubvEXT');
  14489. glVariantusvEXT := dglGetProcAddress('glVariantusvEXT');
  14490. glVariantuivEXT := dglGetProcAddress('glVariantuivEXT');
  14491. glVariantPointerEXT := dglGetProcAddress('glVariantPointerEXT');
  14492. glEnableVariantClientStateEXT := dglGetProcAddress('glEnableVariantClientStateEXT');
  14493. glDisableVariantClientStateEXT := dglGetProcAddress('glDisableVariantClientStateEXT');
  14494. glBindLightParameterEXT := dglGetProcAddress('glBindLightParameterEXT');
  14495. glBindMaterialParameterEXT := dglGetProcAddress('glBindMaterialParameterEXT');
  14496. glBindTexGenParameterEXT := dglGetProcAddress('glBindTexGenParameterEXT');
  14497. glBindTextureUnitParameterEXT := dglGetProcAddress('glBindTextureUnitParameterEXT');
  14498. glBindParameterEXT := dglGetProcAddress('glBindParameterEXT');
  14499. glIsVariantEnabledEXT := dglGetProcAddress('glIsVariantEnabledEXT');
  14500. glGetVariantBooleanvEXT := dglGetProcAddress('glGetVariantBooleanvEXT');
  14501. glGetVariantIntegervEXT := dglGetProcAddress('glGetVariantIntegervEXT');
  14502. glGetVariantFloatvEXT := dglGetProcAddress('glGetVariantFloatvEXT');
  14503. glGetVariantPointervEXT := dglGetProcAddress('glGetVariantPointervEXT');
  14504. glGetInvariantBooleanvEXT := dglGetProcAddress('glGetInvariantBooleanvEXT');
  14505. glGetInvariantIntegervEXT := dglGetProcAddress('glGetInvariantIntegervEXT');
  14506. glGetInvariantFloatvEXT := dglGetProcAddress('glGetInvariantFloatvEXT');
  14507. glGetLocalConstantBooleanvEXT := dglGetProcAddress('glGetLocalConstantBooleanvEXT');
  14508. glGetLocalConstantIntegervEXT := dglGetProcAddress('glGetLocalConstantIntegervEXT');
  14509. glGetLocalConstantFloatvEXT := dglGetProcAddress('glGetLocalConstantFloatvEXT');
  14510. end;
  14511. procedure Read_GL_EXT_vertex_weighting;
  14512. begin
  14513. glVertexWeightfEXT := dglGetProcAddress('glVertexWeightfEXT');
  14514. glVertexWeightfvEXT := dglGetProcAddress('glVertexWeightfvEXT');
  14515. glVertexWeightPointerEXT := dglGetProcAddress('glVertexWeightPointerEXT');
  14516. end;
  14517. procedure Read_GL_EXT_depth_bounds_test;
  14518. begin
  14519. glImageTransformParameteriHP := dglGetProcAddress('glImageTransformParameteriHP');
  14520. glDepthBoundsEXT := dglGetProcAddress('glDepthBoundsEXT');
  14521. end;
  14522. procedure Read_GL_EXT_blend_equation_separate;
  14523. begin
  14524. glBlendEquationSeparateEXT := dglGetProcAddress('glBlendEquationSeparateEXT');
  14525. end;
  14526. procedure Read_GL_EXT_stencil_clear_tag;
  14527. begin
  14528. glStencilClearTagEXT := dglGetProcAddress('glStencilClearTagEXT');
  14529. end;
  14530. procedure Read_GL_EXT_framebuffer_blit;
  14531. begin
  14532. glBlitFramebufferEXT := dglGetProcAddress('glBlitFramebufferEXT');
  14533. end;
  14534. procedure Read_GL_EXT_framebuffer_multisample;
  14535. begin
  14536. glRenderbufferStorageMultisampleEXT := dglGetProcAddress('glRenderbufferStorageMultisampleEXT');
  14537. end;
  14538. procedure Read_GL_EXT_timer_query;
  14539. begin
  14540. glGetQueryObjecti64vEXT := dglGetProcAddress('glGetQueryObjecti64vEXT');
  14541. glGetQueryObjectui64vEXT := dglGetProcAddress('glGetQueryObjectui64vEXT');
  14542. end;
  14543. procedure Read_GL_EXT_gpu_program_parameters;
  14544. begin
  14545. glProgramEnvParameters4fvEXT := dglGetProcAddress('glProgramEnvParameters4fvEXT');
  14546. glProgramLocalParameters4fvEXT := dglGetProcAddress('glProgramLocalParameters4fvEXT');
  14547. end;
  14548. procedure Read_GL_EXT_bindable_uniform;
  14549. begin
  14550. glUniformBufferEXT := dglGetProcAddress('glUniformBufferEXT');
  14551. glGetUniformBufferSizeEXT := dglGetProcAddress('glGetUniformBufferSizeEXT');
  14552. glGetUniformOffsetEXT := dglGetProcAddress('glGetUniformOffsetEXT');
  14553. end;
  14554. procedure Read_GL_EXT_draw_buffers2;
  14555. begin
  14556. glColorMaskIndexedEXT := dglGetProcAddress('glColorMaskIndexedEXT');
  14557. glGetBooleanIndexedvEXT := dglGetProcAddress('glGetBooleanIndexedvEXT');
  14558. glGetIntegerIndexedvEXT := dglGetProcAddress('glGetIntegerIndexedvEXT');
  14559. glEnableIndexedEXT := dglGetProcAddress('glEnableIndexedEXT');
  14560. glDisableIndexedEXT := dglGetProcAddress('glDisableIndexedEXT');
  14561. glIsEnabledIndexedEXT := dglGetProcAddress('glIsEnabledIndexedEXT');
  14562. end;
  14563. procedure Read_GL_EXT_draw_instanced;
  14564. begin
  14565. glDrawArraysInstancedEXT := dglGetProcAddress('glDrawArraysInstancedEXT');
  14566. glDrawElementsInstancedEXT := dglGetProcAddress('glDrawElementsInstancedEXT');
  14567. end;
  14568. procedure Read_GL_EXT_geometry_shader4;
  14569. begin
  14570. glProgramParameteriEXT := dglGetProcAddress('glProgramParameteriEXT');
  14571. glFramebufferTextureEXT := dglGetProcAddress('glFramebufferTextureEXT');
  14572. // glFramebufferTextureLayerEXT := dglGetProcAddress('glFramebufferTextureLayerEXT');
  14573. glFramebufferTextureFaceEXT := dglGetProcAddress('glFramebufferTextureFaceEXT');
  14574. end;
  14575. procedure Read_GL_EXT_gpu_shader4;
  14576. begin
  14577. glVertexAttribI1iEXT := dglGetProcAddress('glVertexAttribI1iEXT');
  14578. glVertexAttribI2iEXT := dglGetProcAddress('glVertexAttribI2iEXT');
  14579. glVertexAttribI3iEXT := dglGetProcAddress('glVertexAttribI3iEXT');
  14580. glVertexAttribI4iEXT := dglGetProcAddress('glVertexAttribI4iEXT');
  14581. glVertexAttribI1uiEXT := dglGetProcAddress('glVertexAttribI1uiEXT');
  14582. glVertexAttribI2uiEXT := dglGetProcAddress('glVertexAttribI2uiEXT');
  14583. glVertexAttribI3uiEXT := dglGetProcAddress('glVertexAttribI3uiEXT');
  14584. glVertexAttribI4uiEXT := dglGetProcAddress('glVertexAttribI4uiEXT');
  14585. glVertexAttribI1ivEXT := dglGetProcAddress('glVertexAttribI1ivEXT');
  14586. glVertexAttribI2ivEXT := dglGetProcAddress('glVertexAttribI2ivEXT');
  14587. glVertexAttribI3ivEXT := dglGetProcAddress('glVertexAttribI3ivEXT');
  14588. glVertexAttribI4ivEXT := dglGetProcAddress('glVertexAttribI4ivEXT');
  14589. glVertexAttribI1uivEXT := dglGetProcAddress('glVertexAttribI1uivEXT');
  14590. glVertexAttribI2uivEXT := dglGetProcAddress('glVertexAttribI2uivEXT');
  14591. glVertexAttribI3uivEXT := dglGetProcAddress('glVertexAttribI3uivEXT');
  14592. glVertexAttribI4uivEXT := dglGetProcAddress('glVertexAttribI4uivEXT');
  14593. glVertexAttribI4bvEXT := dglGetProcAddress('glVertexAttribI4bvEXT');
  14594. glVertexAttribI4svEXT := dglGetProcAddress('glVertexAttribI4svEXT');
  14595. glVertexAttribI4ubvEXT := dglGetProcAddress('glVertexAttribI4ubvEXT');
  14596. glVertexAttribI4usvEXT := dglGetProcAddress('glVertexAttribI4usvEXT');
  14597. glVertexAttribIPointerEXT := dglGetProcAddress('glVertexAttribIPointerEXT');
  14598. glGetVertexAttribIivEXT := dglGetProcAddress('glGetVertexAttribIivEXT');
  14599. glGetVertexAttribIuivEXT := dglGetProcAddress('glGetVertexAttribIuivEXT');
  14600. glUniform1uiEXT := dglGetProcAddress('glUniform1uiEXT');
  14601. glUniform2uiEXT := dglGetProcAddress('glUniform2uiEXT');
  14602. glUniform3uiEXT := dglGetProcAddress('glUniform3uiEXT');
  14603. glUniform4uiEXT := dglGetProcAddress('glUniform4uiEXT');
  14604. glUniform1uivEXT := dglGetProcAddress('glUniform1uivEXT');
  14605. glUniform2uivEXT := dglGetProcAddress('glUniform2uivEXT');
  14606. glUniform3uivEXT := dglGetProcAddress('glUniform3uivEXT');
  14607. glUniform4uivEXT := dglGetProcAddress('glUniform4uivEXT');
  14608. glGetUniformuivEXT := dglGetProcAddress('glGetUniformuivEXT');
  14609. glBindFragDataLocationEXT := dglGetProcAddress('glBindFragDataLocationEXT');
  14610. glGetFragDataLocationEXT := dglGetProcAddress('glGetFragDataLocationEXT');
  14611. end;
  14612. procedure Read_GL_EXT_texture_array;
  14613. begin
  14614. glFramebufferTextureLayerEXT := dglGetProcAddress('glFramebufferTextureLayerEXT');
  14615. end;
  14616. procedure Read_GL_EXT_texture_buffer_object;
  14617. begin
  14618. glTexBufferEXT := dglGetProcAddress('glTexBufferEXT');
  14619. end;
  14620. procedure Read_GL_EXT_texture_integer;
  14621. begin
  14622. glClearColorIiEXT := dglGetProcAddress('glClearColorIiEXT');
  14623. glClearColorIuiEXT := dglGetProcAddress('glClearColorIuiEXT');
  14624. glTexParameterIivEXT := dglGetProcAddress('glTexParameterIivEXT');
  14625. glTexParameterIuivEXT := dglGetProcAddress('glTexParameterIuivEXT');
  14626. glGetTexParameterIivEXT := dglGetProcAddress('glGetTexParameterIivEXT');
  14627. glGetTexParameterIiuvEXT := dglGetProcAddress('glGetTexParameterIiuvEXT');
  14628. end;
  14629. procedure Read_GL_EXT_transform_feedback;
  14630. begin
  14631. glBeginTransformFeedbackEXT := dglGetProcAddress('lBeginTransformFeedbackEXT');
  14632. glEndTransformFeedbackEXT := dglGetProcAddress('glEndTransformFeedbackEXT');
  14633. glBindBufferRangeEXT := dglGetProcAddress('glBindBufferRangeEXT');
  14634. glBindBufferOffsetEXT := dglGetProcAddress('glBindBufferOffsetEXT');
  14635. glBindBufferBaseEXT := dglGetProcAddress('glBindBufferBaseEXT');
  14636. glTransformFeedbackVaryingsEXT := dglGetProcAddress('glTransformFeedbackVaryingsEXT');
  14637. glGetTransformFeedbackVaryingEXT := dglGetProcAddress('glGetTransformFeedbackVaryingEXT');
  14638. end;
  14639. procedure Read_GL_EXT_direct_state_access;
  14640. begin
  14641. glClientAttribDefaultEXT := dglGetProcAddress('glClientAttribDefaultEXT');
  14642. glPushClientAttribDefaultEXT := dglGetProcAddress('glPushClientAttribDefaultEXT');
  14643. glMatrixLoadfEXT := dglGetProcAddress('glMatrixLoadfEXT');
  14644. glMatrixLoaddEXT := dglGetProcAddress('glMatrixLoaddEXT');
  14645. glMatrixMultfEXT := dglGetProcAddress('glMatrixMultfEXT');
  14646. glMatrixMultdEXT := dglGetProcAddress('glMatrixMultdEXT');
  14647. glMatrixLoadIdentityEXT := dglGetProcAddress('glMatrixLoadIdentityEXT');
  14648. glMatrixRotatefEXT := dglGetProcAddress('glMatrixRotatefEXT');
  14649. glMatrixRotatedEXT := dglGetProcAddress('glMatrixRotatedEXT');
  14650. glMatrixScalefEXT := dglGetProcAddress('glMatrixScalefEXT');
  14651. glMatrixScaledEXT := dglGetProcAddress('glMatrixScaledEXT');
  14652. glMatrixTranslatefEXT := dglGetProcAddress('glMatrixTranslatefEXT');
  14653. glMatrixTranslatedEXT := dglGetProcAddress('glMatrixTranslatedEXT');
  14654. glMatrixFrustumEXT := dglGetProcAddress('glMatrixFrustumEXT');
  14655. glMatrixOrthoEXT := dglGetProcAddress('glMatrixOrthoEXT');
  14656. glMatrixPopEXT := dglGetProcAddress('glMatrixPopEXT');
  14657. glMatrixPushEXT := dglGetProcAddress('glMatrixPushEXT');
  14658. glMatrixLoadTransposefEXT := dglGetProcAddress('glMatrixLoadTransposefEXT');
  14659. glMatrixLoadTransposedEXT := dglGetProcAddress('glMatrixLoadTransposedEXT');
  14660. glMatrixMultTransposefEXT := dglGetProcAddress('glMatrixMultTransposefEXT');
  14661. glMatrixMultTransposedEXT := dglGetProcAddress('glMatrixMultTransposedEXT');
  14662. glTextureParameterfEXT := dglGetProcAddress('glTextureParameterfEXT');
  14663. glTextureParameterfvEXT := dglGetProcAddress('glTextureParameterfvEXT');
  14664. glTextureParameteriEXT := dglGetProcAddress('glTextureParameteriEXT');
  14665. glTextureParameterivEXT := dglGetProcAddress('glTextureParameterivEXT');
  14666. glTextureImage1DEXT := dglGetProcAddress('glTextureImage1DEXT');
  14667. glTextureImage2DEXT := dglGetProcAddress('glTextureImage2DEXT');
  14668. glTextureSubImage1DEXT := dglGetProcAddress('glTextureSubImage1DEXT');
  14669. glTextureSubImage2DEXT := dglGetProcAddress('glTextureSubImage2DEXT');
  14670. glCopyTextureImage1DEXT := dglGetProcAddress('glCopyTextureImage1DEXT');
  14671. glCopyTextureImage2DEXT := dglGetProcAddress('glCopyTextureImage2DEXT');
  14672. glCopyTextureSubImage1DEXT := dglGetProcAddress('glCopyTextureSubImage1DEXT');
  14673. glCopyTextureSubImage2DEXT := dglGetProcAddress('glCopyTextureSubImage2DEXT');
  14674. glGetTextureImageEXT := dglGetProcAddress('glGetTextureImageEXT');
  14675. glGetTextureParameterfvEXT := dglGetProcAddress('glGetTextureParameterfvEXT');
  14676. glGetTextureParameterivEXT := dglGetProcAddress('glGetTextureParameterivEXT');
  14677. glGetTextureLevelParameterfvEXT := dglGetProcAddress('glGetTextureLevelParameterfvEXT');
  14678. glGetTextureLevelParameterivEXT := dglGetProcAddress('glGetTextureLevelParameterivEXT');
  14679. glTextureImage3DEXT := dglGetProcAddress('glTextureImage3DEXT');
  14680. glTextureSubImage3DEXT := dglGetProcAddress('glTextureSubImage3DEXT');
  14681. glCopyTextureSubImage3DEXT := dglGetProcAddress('glCopyTextureSubImage3DEXT');
  14682. glMultiTexParameterfEXT := dglGetProcAddress('glMultiTexParameterfEXT');
  14683. glMultiTexParameterfvEXT := dglGetProcAddress('glMultiTexParameterfvEXT');
  14684. glMultiTexParameteriEXT := dglGetProcAddress('glMultiTexParameteriEXT');
  14685. glMultiTexParameterivEXT := dglGetProcAddress('glMultiTexParameterivEXT');
  14686. glMultiTexImage1DEXT := dglGetProcAddress('glMultiTexImage1DEXT');
  14687. glMultiTexImage2DEXT := dglGetProcAddress('glMultiTexImage2DEXT');
  14688. glMultiTexSubImage1DEXT := dglGetProcAddress('glMultiTexSubImage1DEXT');
  14689. glMultiTexSubImage2DEXT := dglGetProcAddress('glMultiTexSubImage2DEXT');
  14690. glCopyMultiTexImage1DEXT := dglGetProcAddress('glCopyMultiTexImage1DEXT');
  14691. glCopyMultiTexImage2DEXT := dglGetProcAddress('glCopyMultiTexImage2DEXT');
  14692. glCopyMultiTexSubImage1DEXT := dglGetProcAddress('glCopyMultiTexSubImage1DEXT');
  14693. glCopyMultiTexSubImage2DEXT := dglGetProcAddress('glCopyMultiTexSubImage2DEXT');
  14694. glGetMultiTexImageEXT := dglGetProcAddress('glGetMultiTexImageEXT');
  14695. glGetMultiTexParameterfvEXT := dglGetProcAddress('glGetMultiTexParameterfvEXT');
  14696. glGetMultiTexParameterivEXT := dglGetProcAddress('glGetMultiTexParameterivEXT');
  14697. glGetMultiTexLevelParameterfvEXT := dglGetProcAddress('glGetMultiTexLevelParameterfvEXT');
  14698. glGetMultiTexLevelParameterivEXT := dglGetProcAddress('glGetMultiTexLevelParameterivEXT');
  14699. glMultiTexImage3DEXT := dglGetProcAddress('glMultiTexImage3DEXT');
  14700. glMultiTexSubImage3DEXT := dglGetProcAddress('glMultiTexSubImage3DEXT');
  14701. glCopyMultiTexSubImage3DEXT := dglGetProcAddress('glCopyMultiTexSubImage3DEXT');
  14702. glBindMultiTextureEXT := dglGetProcAddress('glBindMultiTextureEXT');
  14703. glEnableClientStateIndexedEXT := dglGetProcAddress('glEnableClientStateIndexedEXT');
  14704. glDisableClientStateIndexedEXT := dglGetProcAddress('glDisableClientStateIndexedEXT');
  14705. glMultiTexCoordPointerEXT := dglGetProcAddress('glMultiTexCoordPointerEXT');
  14706. glMultiTexEnvfEXT := dglGetProcAddress('glMultiTexEnvfEXT');
  14707. glMultiTexEnvfvEXT := dglGetProcAddress('glMultiTexEnvfvEXT');
  14708. glMultiTexEnviEXT := dglGetProcAddress('glMultiTexEnviEXT');
  14709. glMultiTexEnvivEXT := dglGetProcAddress('glMultiTexEnvivEXT');
  14710. glMultiTexGendEXT := dglGetProcAddress('glMultiTexGendEXT');
  14711. glMultiTexGendvEXT := dglGetProcAddress('glMultiTexGendvEXT');
  14712. glMultiTexGenfEXT := dglGetProcAddress('glMultiTexGenfEXT');
  14713. glMultiTexGenfvEXT := dglGetProcAddress('glMultiTexGenfvEXT');
  14714. glMultiTexGeniEXT := dglGetProcAddress('glMultiTexGeniEXT');
  14715. glMultiTexGenivEXT := dglGetProcAddress('glMultiTexGenivEXT');
  14716. glGetMultiTexEnvfvEXT := dglGetProcAddress('glGetMultiTexEnvfvEXT');
  14717. glGetMultiTexEnvivEXT := dglGetProcAddress('glGetMultiTexEnvivEXT');
  14718. glGetMultiTexGendvEXT := dglGetProcAddress('glGetMultiTexGendvEXT');
  14719. glGetMultiTexGenfvEXT := dglGetProcAddress('glGetMultiTexGenfvEXT');
  14720. glGetMultiTexGenivEXT := dglGetProcAddress('glGetMultiTexGenivEXT');
  14721. glGetFloatIndexedvEXT := dglGetProcAddress('glGetFloatIndexedvEXT');
  14722. glGetDoubleIndexedvEXT := dglGetProcAddress('glGetDoubleIndexedvEXT');
  14723. glGetPointerIndexedvEXT := dglGetProcAddress('glGetPointerIndexedvEXT');
  14724. glCompressedTextureImage3DEXT := dglGetProcAddress('glCompressedTextureImage3DEXT');
  14725. glCompressedTextureImage2DEXT := dglGetProcAddress('glCompressedTextureImage2DEXT');
  14726. glCompressedTextureImage1DEXT := dglGetProcAddress('glCompressedTextureImage1DEXT');
  14727. glCompressedTextureSubImage3DEXT := dglGetProcAddress('glCompressedTextureSubImage3DEXT');
  14728. glCompressedTextureSubImage2DEXT := dglGetProcAddress('glCompressedTextureSubImage2DEXT');
  14729. glCompressedTextureSubImage1DEXT := dglGetProcAddress('glCompressedTextureSubImage1DEXT');
  14730. glGetCompressedTextureImageEXT := dglGetProcAddress('glGetCompressedTextureImageEXT');
  14731. glCompressedMultiTexImage3DEXT := dglGetProcAddress('glCompressedMultiTexImage3DEXT');
  14732. glCompressedMultiTexImage2DEXT := dglGetProcAddress('glCompressedMultiTexImage2DEXT');
  14733. glCompressedMultiTexImage1DEXT := dglGetProcAddress('glCompressedMultiTexImage1DEXT');
  14734. glCompressedMultiTexSubImage3DEXT := dglGetProcAddress('glCompressedMultiTexSubImage3DEXT');
  14735. glCompressedMultiTexSubImage2DEXT := dglGetProcAddress('glCompressedMultiTexSubImage2DEXT');
  14736. glCompressedMultiTexSubImage1DEXT := dglGetProcAddress('glCompressedMultiTexSubImage1DEXT');
  14737. glGetCompressedMultiTexImageEXT := dglGetProcAddress('glGetCompressedMultiTexImageEXT');
  14738. glNamedProgramStringEXT := dglGetProcAddress('glNamedProgramStringEXT');
  14739. glNamedProgramLocalParameter4dEXT := dglGetProcAddress('glNamedProgramLocalParameter4dEXT');
  14740. glNamedProgramLocalParameter4dvEXT := dglGetProcAddress('glNamedProgramLocalParameter4dvEXT');
  14741. glNamedProgramLocalParameter4fEXT := dglGetProcAddress('glNamedProgramLocalParameter4fEXT');
  14742. glNamedProgramLocalParameter4fvEXT := dglGetProcAddress('glNamedProgramLocalParameter4fvEXT');
  14743. glGetNamedProgramLocalParameterdvEXT := dglGetProcAddress('glGetNamedProgramLocalParameterdvEXT');
  14744. glGetNamedProgramLocalParameterfvEXT := dglGetProcAddress('glGetNamedProgramLocalParameterfvEXT');
  14745. glGetNamedProgramivEXT := dglGetProcAddress('glGetNamedProgramivEXT');
  14746. glGetNamedProgramStringEXT := dglGetProcAddress('glGetNamedProgramStringEXT');
  14747. glNamedProgramLocalParameters4fvEXT := dglGetProcAddress('glNamedProgramLocalParameters4fvEXT');
  14748. glNamedProgramLocalParameterI4iEXT := dglGetProcAddress('glNamedProgramLocalParameterI4iEXT');
  14749. glNamedProgramLocalParameterI4ivEXT := dglGetProcAddress('glNamedProgramLocalParameterI4ivEXT');
  14750. glNamedProgramLocalParametersI4ivEXT := dglGetProcAddress('glNamedProgramLocalParametersI4ivEXT');
  14751. glNamedProgramLocalParameterI4uiEXT := dglGetProcAddress('glNamedProgramLocalParameterI4uiEXT');
  14752. glNamedProgramLocalParameterI4uivEXT := dglGetProcAddress('glNamedProgramLocalParameterI4uivEXT');
  14753. glNamedProgramLocalParametersI4uivEXT := dglGetProcAddress('glNamedProgramLocalParametersI4uivEXT');
  14754. glGetNamedProgramLocalParameterIivEXT := dglGetProcAddress('glGetNamedProgramLocalParameterIivEXT');
  14755. glGetNamedProgramLocalParameterIuivEXT := dglGetProcAddress('glGetNamedProgramLocalParameterIuivEXT');
  14756. glTextureParameterIivEXT := dglGetProcAddress('glTextureParameterIivEXT');
  14757. glTextureParameterIuivEXT := dglGetProcAddress('glTextureParameterIuivEXT');
  14758. glGetTextureParameterIivEXT := dglGetProcAddress('glGetTextureParameterIivEXT');
  14759. glGetTextureParameterIuivEXT := dglGetProcAddress('glGetTextureParameterIuivEXT');
  14760. glMultiTexParameterIivEXT := dglGetProcAddress('glMultiTexParameterIivEXT');
  14761. glMultiTexParameterIuivEXT := dglGetProcAddress('glMultiTexParameterIuivEXT');
  14762. glGetMultiTexParameterIivEXT := dglGetProcAddress('glGetMultiTexParameterIivEXT');
  14763. glGetMultiTexParameterIuivEXT := dglGetProcAddress('glGetMultiTexParameterIuivEXT');
  14764. glProgramUniform1fEXT := dglGetProcAddress('glProgramUniform1fEXT');
  14765. glProgramUniform2fEXT := dglGetProcAddress('glProgramUniform2fEXT');
  14766. glProgramUniform3fEXT := dglGetProcAddress('glProgramUniform3fEXT');
  14767. glProgramUniform4fEXT := dglGetProcAddress('glProgramUniform4fEXT');
  14768. glProgramUniform1iEXT := dglGetProcAddress('glProgramUniform1iEXT');
  14769. glProgramUniform2iEXT := dglGetProcAddress('glProgramUniform2iEXT');
  14770. glProgramUniform3iEXT := dglGetProcAddress('glProgramUniform3iEXT');
  14771. glProgramUniform4iEXT := dglGetProcAddress('glProgramUniform4iEXT');
  14772. glProgramUniform1fvEXT := dglGetProcAddress('glProgramUniform1fvEXT');
  14773. glProgramUniform2fvEXT := dglGetProcAddress('glProgramUniform2fvEXT');
  14774. glProgramUniform3fvEXT := dglGetProcAddress('glProgramUniform3fvEXT');
  14775. glProgramUniform4fvEXT := dglGetProcAddress('glProgramUniform4fvEXT');
  14776. glProgramUniform1ivEXT := dglGetProcAddress('glProgramUniform1ivEXT');
  14777. glProgramUniform2ivEXT := dglGetProcAddress('glProgramUniform2ivEXT');
  14778. glProgramUniform3ivEXT := dglGetProcAddress('glProgramUniform3ivEXT');
  14779. glProgramUniform4ivEXT := dglGetProcAddress('glProgramUniform4ivEXT');
  14780. glProgramUniformMatrix2fvEXT := dglGetProcAddress('glProgramUniformMatrix2fvEXT');
  14781. glProgramUniformMatrix3fvEXT := dglGetProcAddress('glProgramUniformMatrix3fvEXT');
  14782. glProgramUniformMatrix4fvEXT := dglGetProcAddress('glProgramUniformMatrix4fvEXT');
  14783. glProgramUniformMatrix2x3fvEXT := dglGetProcAddress('glProgramUniformMatrix2x3fvEXT');
  14784. glProgramUniformMatrix3x2fvEXT := dglGetProcAddress('glProgramUniformMatrix3x2fvEXT');
  14785. glProgramUniformMatrix2x4fvEXT := dglGetProcAddress('glProgramUniformMatrix2x4fvEXT');
  14786. glProgramUniformMatrix4x2fvEXT := dglGetProcAddress('glProgramUniformMatrix4x2fvEXT');
  14787. glProgramUniformMatrix3x4fvEXT := dglGetProcAddress('glProgramUniformMatrix3x4fvEXT');
  14788. glProgramUniformMatrix4x3fvEXT := dglGetProcAddress('glProgramUniformMatrix4x3fvEXT');
  14789. glProgramUniform1uiEXT := dglGetProcAddress('glProgramUniform1uiEXT');
  14790. glProgramUniform2uiEXT := dglGetProcAddress('glProgramUniform2uiEXT');
  14791. glProgramUniform3uiEXT := dglGetProcAddress('glProgramUniform3uiEXT');
  14792. glProgramUniform4uiEXT := dglGetProcAddress('glProgramUniform4uiEXT');
  14793. glProgramUniform1uivEXT := dglGetProcAddress('glProgramUniform1uivEXT');
  14794. glProgramUniform2uivEXT := dglGetProcAddress('glProgramUniform2uivEXT');
  14795. glProgramUniform3uivEXT := dglGetProcAddress('glProgramUniform3uivEXT');
  14796. glProgramUniform4uivEXT := dglGetProcAddress('glProgramUniform4uivEXT');
  14797. glNamedBufferDataEXT := dglGetProcAddress('glNamedBufferDataEXT');
  14798. glNamedBufferSubDataEXT := dglGetProcAddress('glNamedBufferSubDataEXT');
  14799. glMapNamedBufferEXT := dglGetProcAddress('glMapNamedBufferEXT');
  14800. glUnmapNamedBufferEXT := dglGetProcAddress('glUnmapNamedBufferEXT');
  14801. glMapNamedBufferRangeEXT := dglGetProcAddress('glMapNamedBufferRangeEXT');
  14802. glFlushMappedNamedBufferRangeEXT := dglGetProcAddress('glFlushMappedNamedBufferRangeEXT');
  14803. glNamedCopyBufferSubDataEXT := dglGetProcAddress('glNamedCopyBufferSubDataEXT');
  14804. glGetNamedBufferParameterivEXT := dglGetProcAddress('glGetNamedBufferParameterivEXT');
  14805. glGetNamedBufferPointervEXT := dglGetProcAddress('glGetNamedBufferPointervEXT');
  14806. glGetNamedBufferSubDataEXT := dglGetProcAddress('glGetNamedBufferSubDataEXT');
  14807. glTextureBufferEXT := dglGetProcAddress('glTextureBufferEXT');
  14808. glMultiTexBufferEXT := dglGetProcAddress('glMultiTexBufferEXT');
  14809. glNamedRenderbufferStorageEXT := dglGetProcAddress('glNamedRenderbufferStorageEXT');
  14810. glGetNamedRenderbufferParameterivEXT := dglGetProcAddress('glGetNamedRenderbufferParameterivEXT');
  14811. glCheckNamedFramebufferStatusEXT := dglGetProcAddress('glCheckNamedFramebufferStatusEXT');
  14812. glNamedFramebufferTexture1DEXT := dglGetProcAddress('glNamedFramebufferTexture1DEXT');
  14813. glNamedFramebufferTexture2DEXT := dglGetProcAddress('glNamedFramebufferTexture2DEXT');
  14814. glNamedFramebufferTexture3DEXT := dglGetProcAddress('glNamedFramebufferTexture3DEXT');
  14815. glNamedFramebufferRenderbufferEXT := dglGetProcAddress('glNamedFramebufferRenderbufferEXT');
  14816. glGetNamedFramebufferAttachmentParameterivEXT := dglGetProcAddress('glGetNamedFramebufferAttachmentParameterivEXT');
  14817. glGenerateTextureMipmapEXT := dglGetProcAddress('glGenerateTextureMipmapEXT');
  14818. glGenerateMultiTexMipmapEXT := dglGetProcAddress('glGenerateMultiTexMipmapEXT');
  14819. glFramebufferDrawBufferEXT := dglGetProcAddress('glFramebufferDrawBufferEXT');
  14820. glFramebufferDrawBuffersEXT := dglGetProcAddress('glFramebufferDrawBuffersEXT');
  14821. glFramebufferReadBufferEXT := dglGetProcAddress('glFramebufferReadBufferEXT');
  14822. glGetFramebufferParameterivEXT := dglGetProcAddress('glGetFramebufferParameterivEXT');
  14823. glNamedRenderbufferStorageMultisampleEXT := dglGetProcAddress('glNamedRenderbufferStorageMultisampleEXT');
  14824. glNamedRenderbufferStorageMultisampleCoverageEXT := dglGetProcAddress('glNamedRenderbufferStorageMultisampleCoverageEXT');
  14825. glNamedFramebufferTextureEXT := dglGetProcAddress('glNamedFramebufferTextureEXT');
  14826. glNamedFramebufferTextureLayerEXT := dglGetProcAddress('glNamedFramebufferTextureLayerEXT');
  14827. glNamedFramebufferTextureFaceEXT := dglGetProcAddress('glNamedFramebufferTextureFaceEXT');
  14828. glTextureRenderbufferEXT := dglGetProcAddress('glTextureRenderbufferEXT');
  14829. glMultiTexRenderbufferEXT := dglGetProcAddress('glMultiTexRenderbufferEXT');
  14830. glProgramUniform1dEXT := dglGetProcAddress('glProgramUniform1dEXT');
  14831. glProgramUniform2dEXT := dglGetProcAddress('glProgramUniform2dEXT');
  14832. glProgramUniform3dEXT := dglGetProcAddress('glProgramUniform3dEXT');
  14833. glProgramUniform4dEXT := dglGetProcAddress('glProgramUniform4dEXT');
  14834. glProgramUniform1dvEXT := dglGetProcAddress('glProgramUniform1dvEXT');
  14835. glProgramUniform2dvEXT := dglGetProcAddress('glProgramUniform2dvEXT');
  14836. glProgramUniform3dvEXT := dglGetProcAddress('glProgramUniform3dvEXT');
  14837. glProgramUniform4dvEXT := dglGetProcAddress('glProgramUniform4dvEXT');
  14838. glProgramUniformMatrix2dvEXT := dglGetProcAddress('glProgramUniformMatrix2dvEXT');
  14839. glProgramUniformMatrix3dvEXT := dglGetProcAddress('glProgramUniformMatrix3dvEXT');
  14840. glProgramUniformMatrix4dvEXT := dglGetProcAddress('glProgramUniformMatrix4dvEXT');
  14841. glProgramUniformMatrix2x3dvEXT := dglGetProcAddress('glProgramUniformMatrix2x3dvEXT');
  14842. glProgramUniformMatrix2x4dvEXT := dglGetProcAddress('glProgramUniformMatrix2x4dvEXT');
  14843. glProgramUniformMatrix3x2dvEXT := dglGetProcAddress('glProgramUniformMatrix3x2dvEXT');
  14844. glProgramUniformMatrix3x4dvEXT := dglGetProcAddress('glProgramUniformMatrix3x4dvEXT');
  14845. glProgramUniformMatrix4x2dvEXT := dglGetProcAddress('glProgramUniformMatrix4x2dvEXT');
  14846. glProgramUniformMatrix4x3dvEXT := dglGetProcAddress('glProgramUniformMatrix4x3dvEXT');
  14847. end;
  14848. procedure Read_GL_EXT_separate_shader_objects;
  14849. begin
  14850. glUseShaderProgramEXT := dglGetProcAddress('glUseShaderProgramEXT');
  14851. glActiveProgramEXT := dglGetProcAddress('glActiveProgramEXT');
  14852. glCreateShaderProgramEXT := dglGetProcAddress('glCreateShaderProgramEXT');
  14853. end;
  14854. procedure Read_GL_EXT_shader_image_load_store;
  14855. begin
  14856. glBindImageTextureEXT := dglGetProcAddress('glBindImageTextureEXT');
  14857. glMemoryBarrierEXT := dglGetProcAddress('glMemoryBarrierEXT');
  14858. end;
  14859. procedure Read_GL_EXT_vertex_attrib_64bit;
  14860. begin
  14861. glVertexAttribL1dEXT := dglGetProcAddress('glVertexAttribL1dEXT');
  14862. glVertexAttribL2dEXT := dglGetProcAddress('glVertexAttribL2dEXT');
  14863. glVertexAttribL3dEXT := dglGetProcAddress('glVertexAttribL3dEXT');
  14864. glVertexAttribL4dEXT := dglGetProcAddress('glVertexAttribL4dEXT');
  14865. glVertexAttribL1dvEXT := dglGetProcAddress('glVertexAttribL1dvEXT');
  14866. glVertexAttribL2dvEXT := dglGetProcAddress('glVertexAttribL2dvEXT');
  14867. glVertexAttribL3dvEXT := dglGetProcAddress('glVertexAttribL3dvEXT');
  14868. glVertexAttribL4dvEXT := dglGetProcAddress('glVertexAttribL4dvEXT');
  14869. glVertexAttribLPointerEXT := dglGetProcAddress('glVertexAttribLPointerEXT');
  14870. glGetVertexAttribLdvEXT := dglGetProcAddress('glGetVertexAttribLdvEXT');
  14871. glVertexArrayVertexAttribLOffsetEXT := dglGetProcAddress('glVertexArrayVertexAttribLOffsetEXT');
  14872. end;
  14873. procedure Read_GL_HP_image_transform;
  14874. begin
  14875. glImageTransformParameteriHP := dglGetProcAddress('glImageTransformParameteriHP');
  14876. glImageTransformParameterfHP := dglGetProcAddress('glImageTransformParameterfHP');
  14877. glImageTransformParameterivHP := dglGetProcAddress('glImageTransformParameterivHP');
  14878. glImageTransformParameterfvHP := dglGetProcAddress('glImageTransformParameterfvHP');
  14879. glGetImageTransformParameterivHP := dglGetProcAddress('glGetImageTransformParameterivHP');
  14880. glGetImageTransformParameterfvHP := dglGetProcAddress('glGetImageTransformParameterfvHP');
  14881. end;
  14882. procedure Read_GL_IBM_multimode_draw_arrays;
  14883. begin
  14884. glMultiModeDrawArraysIBM := dglGetProcAddress('glMultiModeDrawArraysIBM');
  14885. glMultiModeDrawElementsIBM := dglGetProcAddress('glMultiModeDrawElementsIBM');
  14886. end;
  14887. procedure Read_GL_IBM_vertex_array_lists;
  14888. begin
  14889. glColorPointerListIBM := dglGetProcAddress('glColorPointerListIBM');
  14890. glSecondaryColorPointerListIBM := dglGetProcAddress('glSecondaryColorPointerListIBM');
  14891. glEdgeFlagPointerListIBM := dglGetProcAddress('glEdgeFlagPointerListIBM');
  14892. glFogCoordPointerListIBM := dglGetProcAddress('glFogCoordPointerListIBM');
  14893. glIndexPointerListIBM := dglGetProcAddress('glIndexPointerListIBM');
  14894. glNormalPointerListIBM := dglGetProcAddress('glNormalPointerListIBM');
  14895. glTexCoordPointerListIBM := dglGetProcAddress('glTexCoordPointerListIBM');
  14896. glVertexPointerListIBM := dglGetProcAddress('glVertexPointerListIBM');
  14897. end;
  14898. procedure Read_GL_INGR_blend_func_separate;
  14899. begin
  14900. glBlendFuncSeparateINGR := dglGetProcAddress('glBlendFuncSeparateINGR');
  14901. end;
  14902. procedure Read_GL_INTEL_parallel_arrays;
  14903. begin
  14904. glVertexPointervINTEL := dglGetProcAddress('glVertexPointervINTEL');
  14905. glNormalPointervINTEL := dglGetProcAddress('glNormalPointervINTEL');
  14906. glColorPointervINTEL := dglGetProcAddress('glColorPointervINTEL');
  14907. glTexCoordPointervINTEL := dglGetProcAddress('glTexCoordPointervINTEL');
  14908. end;
  14909. procedure Read_GL_MESA_resize_buffers;
  14910. begin
  14911. glResizeBuffersMESA := dglGetProcAddress('glResizeBuffersMESA');
  14912. end;
  14913. procedure Read_GL_MESA_window_pos;
  14914. begin
  14915. glWindowPos2dMESA := dglGetProcAddress('glWindowPos2dMESA');
  14916. glWindowPos2dvMESA := dglGetProcAddress('glWindowPos2dvMESA');
  14917. glWindowPos2fMESA := dglGetProcAddress('glWindowPos2fMESA');
  14918. glWindowPos2fvMESA := dglGetProcAddress('glWindowPos2fvMESA');
  14919. glWindowPos2iMESA := dglGetProcAddress('glWindowPos2iMESA');
  14920. glWindowPos2ivMESA := dglGetProcAddress('glWindowPos2ivMESA');
  14921. glWindowPos2sMESA := dglGetProcAddress('glWindowPos2sMESA');
  14922. glWindowPos2svMESA := dglGetProcAddress('glWindowPos2svMESA');
  14923. glWindowPos3dMESA := dglGetProcAddress('glWindowPos3dMESA');
  14924. glWindowPos3dvMESA := dglGetProcAddress('glWindowPos3dvMESA');
  14925. glWindowPos3fMESA := dglGetProcAddress('glWindowPos3fMESA');
  14926. glWindowPos3fvMESA := dglGetProcAddress('glWindowPos3fvMESA');
  14927. glWindowPos3iMESA := dglGetProcAddress('glWindowPos3iMESA');
  14928. glWindowPos3ivMESA := dglGetProcAddress('glWindowPos3ivMESA');
  14929. glWindowPos3sMESA := dglGetProcAddress('glWindowPos3sMESA');
  14930. glWindowPos3svMESA := dglGetProcAddress('glWindowPos3svMESA');
  14931. glWindowPos4dMESA := dglGetProcAddress('glWindowPos4dMESA');
  14932. glWindowPos4dvMESA := dglGetProcAddress('glWindowPos4dvMESA');
  14933. glWindowPos4fMESA := dglGetProcAddress('glWindowPos4fMESA');
  14934. glWindowPos4fvMESA := dglGetProcAddress('glWindowPos4fvMESA');
  14935. glWindowPos4iMESA := dglGetProcAddress('glWindowPos4iMESA');
  14936. glWindowPos4ivMESA := dglGetProcAddress('glWindowPos4ivMESA');
  14937. glWindowPos4sMESA := dglGetProcAddress('glWindowPos4sMESA');
  14938. glWindowPos4svMESA := dglGetProcAddress('glWindowPos4svMESA');
  14939. end;
  14940. procedure Read_GL_NV_evaluators;
  14941. begin
  14942. glMapControlPointsNV := dglGetProcAddress('glMapControlPointsNV');
  14943. glMapParameterivNV := dglGetProcAddress('glMapParameterivNV');
  14944. glMapParameterfvNV := dglGetProcAddress('glMapParameterfvNV');
  14945. glGetMapControlPointsNV := dglGetProcAddress('glGetMapControlPointsNV');
  14946. glGetMapParameterivNV := dglGetProcAddress('glGetMapParameterivNV');
  14947. glGetMapParameterfvNV := dglGetProcAddress('glGetMapParameterfvNV');
  14948. glGetMapAttribParameterivNV := dglGetProcAddress('glGetMapAttribParameterivNV');
  14949. glGetMapAttribParameterfvNV := dglGetProcAddress('glGetMapAttribParameterfvNV');
  14950. glEvalMapsNV := dglGetProcAddress('glEvalMapsNV');
  14951. end;
  14952. procedure Read_GL_NV_fence;
  14953. begin
  14954. glDeleteFencesNV := dglGetProcAddress('glDeleteFencesNV');
  14955. glGenFencesNV := dglGetProcAddress('glGenFencesNV');
  14956. glIsFenceNV := dglGetProcAddress('glIsFenceNV');
  14957. glTestFenceNV := dglGetProcAddress('glTestFenceNV');
  14958. glGetFenceivNV := dglGetProcAddress('glGetFenceivNV');
  14959. glFinishFenceNV := dglGetProcAddress('glFinishFenceNV');
  14960. glSetFenceNV := dglGetProcAddress('glSetFenceNV');
  14961. end;
  14962. procedure Read_GL_NV_fragment_program;
  14963. begin
  14964. glProgramNamedParameter4fNV := dglGetProcAddress('glProgramNamedParameter4fNV');
  14965. glProgramNamedParameter4dNV := dglGetProcAddress('glProgramNamedParameter4dNV');
  14966. glProgramNamedParameter4fvNV := dglGetProcAddress('glProgramNamedParameter4fvNV');
  14967. glProgramNamedParameter4dvNV := dglGetProcAddress('glProgramNamedParameter4dvNV');
  14968. glGetProgramNamedParameterfvNV := dglGetProcAddress('glGetProgramNamedParameterfvNV');
  14969. glGetProgramNamedParameterdvNV := dglGetProcAddress('glGetProgramNamedParameterdvNV');
  14970. end;
  14971. procedure Read_GL_NV_half_float;
  14972. begin
  14973. glVertex2hNV := dglGetProcAddress('glVertex2hNV');
  14974. glVertex2hvNV := dglGetProcAddress('glVertex2hvNV');
  14975. glVertex3hNV := dglGetProcAddress('glVertex3hNV');
  14976. glVertex3hvNV := dglGetProcAddress('glVertex3hvNV');
  14977. glVertex4hNV := dglGetProcAddress('glVertex4hNV');
  14978. glVertex4hvNV := dglGetProcAddress('glVertex4hvNV');
  14979. glNormal3hNV := dglGetProcAddress('glNormal3hNV');
  14980. glNormal3hvNV := dglGetProcAddress('glNormal3hvNV');
  14981. glColor3hNV := dglGetProcAddress('glColor3hNV');
  14982. glColor3hvNV := dglGetProcAddress('glColor3hvNV');
  14983. glColor4hNV := dglGetProcAddress('glColor4hNV');
  14984. glColor4hvNV := dglGetProcAddress('glColor4hvNV');
  14985. glTexCoord1hNV := dglGetProcAddress('glTexCoord1hNV');
  14986. glTexCoord1hvNV := dglGetProcAddress('glTexCoord1hvNV');
  14987. glTexCoord2hNV := dglGetProcAddress('glTexCoord2hNV');
  14988. glTexCoord2hvNV := dglGetProcAddress('glTexCoord2hvNV');
  14989. glTexCoord3hNV := dglGetProcAddress('glTexCoord3hNV');
  14990. glTexCoord3hvNV := dglGetProcAddress('glTexCoord3hvNV');
  14991. glTexCoord4hNV := dglGetProcAddress('glTexCoord4hNV');
  14992. glTexCoord4hvNV := dglGetProcAddress('glTexCoord4hvNV');
  14993. glMultiTexCoord1hNV := dglGetProcAddress('glMultiTexCoord1hNV');
  14994. glMultiTexCoord1hvNV := dglGetProcAddress('glMultiTexCoord1hvNV');
  14995. glMultiTexCoord2hNV := dglGetProcAddress('glMultiTexCoord2hNV');
  14996. glMultiTexCoord2hvNV := dglGetProcAddress('glMultiTexCoord2hvNV');
  14997. glMultiTexCoord3hNV := dglGetProcAddress('glMultiTexCoord3hNV');
  14998. glMultiTexCoord3hvNV := dglGetProcAddress('glMultiTexCoord3hvNV');
  14999. glMultiTexCoord4hNV := dglGetProcAddress('glMultiTexCoord4hNV');
  15000. glMultiTexCoord4hvNV := dglGetProcAddress('glMultiTexCoord4hvNV');
  15001. glFogCoordhNV := dglGetProcAddress('glFogCoordhNV');
  15002. glFogCoordhvNV := dglGetProcAddress('glFogCoordhvNV');
  15003. glSecondaryColor3hNV := dglGetProcAddress('glSecondaryColor3hNV');
  15004. glSecondaryColor3hvNV := dglGetProcAddress('glSecondaryColor3hvNV');
  15005. glVertexWeighthNV := dglGetProcAddress('glVertexWeighthNV');
  15006. glVertexWeighthvNV := dglGetProcAddress('glVertexWeighthvNV');
  15007. glVertexAttrib1hNV := dglGetProcAddress('glVertexAttrib1hNV');
  15008. glVertexAttrib1hvNV := dglGetProcAddress('glVertexAttrib1hvNV');
  15009. glVertexAttrib2hNV := dglGetProcAddress('glVertexAttrib2hNV');
  15010. glVertexAttrib2hvNV := dglGetProcAddress('glVertexAttrib2hvNV');
  15011. glVertexAttrib3hNV := dglGetProcAddress('glVertexAttrib3hNV');
  15012. glVertexAttrib3hvNV := dglGetProcAddress('glVertexAttrib3hvNV');
  15013. glVertexAttrib4hNV := dglGetProcAddress('glVertexAttrib4hNV');
  15014. glVertexAttrib4hvNV := dglGetProcAddress('glVertexAttrib4hvNV');
  15015. glVertexAttribs1hvNV := dglGetProcAddress('glVertexAttribs1hvNV');
  15016. glVertexAttribs2hvNV := dglGetProcAddress('glVertexAttribs2hvNV');
  15017. glVertexAttribs3hvNV := dglGetProcAddress('glVertexAttribs3hvNV');
  15018. glVertexAttribs4hvNV := dglGetProcAddress('glVertexAttribs4hvNV');
  15019. end;
  15020. procedure Read_GL_NV_occlusion_query;
  15021. begin
  15022. glGenOcclusionQueriesNV := dglGetProcAddress('glGenOcclusionQueriesNV');
  15023. glDeleteOcclusionQueriesNV := dglGetProcAddress('glDeleteOcclusionQueriesNV');
  15024. glIsOcclusionQueryNV := dglGetProcAddress('glIsOcclusionQueryNV');
  15025. glBeginOcclusionQueryNV := dglGetProcAddress('glBeginOcclusionQueryNV');
  15026. glEndOcclusionQueryNV := dglGetProcAddress('glEndOcclusionQueryNV');
  15027. glGetOcclusionQueryivNV := dglGetProcAddress('glGetOcclusionQueryivNV');
  15028. glGetOcclusionQueryuivNV := dglGetProcAddress('glGetOcclusionQueryuivNV');
  15029. end;
  15030. procedure Read_GL_NV_pixel_data_range;
  15031. begin
  15032. glPixelDataRangeNV := dglGetProcAddress('glPixelDataRangeNV');
  15033. glFlushPixelDataRangeNV := dglGetProcAddress('glFlushPixelDataRangeNV');
  15034. end;
  15035. procedure Read_GL_NV_point_sprite;
  15036. begin
  15037. glPointParameteriNV := dglGetProcAddress('glPointParameteriNV');
  15038. glPointParameterivNV := dglGetProcAddress('glPointParameterivNV');
  15039. end;
  15040. procedure Read_GL_NV_primitive_restart;
  15041. begin
  15042. glPrimitiveRestartNV := dglGetProcAddress('glPrimitiveRestartNV');
  15043. glPrimitiveRestartIndexNV := dglGetProcAddress('glPrimitiveRestartIndexNV');
  15044. end;
  15045. procedure Read_GL_NV_register_combiners;
  15046. begin
  15047. glCombinerParameterfvNV := dglGetProcAddress('glCombinerParameterfvNV');
  15048. glCombinerParameterfNV := dglGetProcAddress('glCombinerParameterfNV');
  15049. glCombinerParameterivNV := dglGetProcAddress('glCombinerParameterivNV');
  15050. glCombinerParameteriNV := dglGetProcAddress('glCombinerParameteriNV');
  15051. glCombinerInputNV := dglGetProcAddress('glCombinerInputNV');
  15052. glCombinerOutputNV := dglGetProcAddress('glCombinerOutputNV');
  15053. glFinalCombinerInputNV := dglGetProcAddress('glFinalCombinerInputNV');
  15054. glGetCombinerInputParameterfvNV := dglGetProcAddress('glGetCombinerInputParameterfvNV');
  15055. glGetCombinerInputParameterivNV := dglGetProcAddress('glGetCombinerInputParameterivNV');
  15056. glGetCombinerOutputParameterfvNV := dglGetProcAddress('glGetCombinerOutputParameterfvNV');
  15057. glGetCombinerOutputParameterivNV := dglGetProcAddress('glGetCombinerOutputParameterivNV');
  15058. glGetFinalCombinerInputParameterfvNV := dglGetProcAddress('glGetFinalCombinerInputParameterfvNV');
  15059. glGetFinalCombinerInputParameterivNV := dglGetProcAddress('glGetFinalCombinerInputParameterivNV');
  15060. end;
  15061. procedure Read_GL_NV_register_combiners2;
  15062. begin
  15063. glCombinerStageParameterfvNV := dglGetProcAddress('glCombinerStageParameterfvNV');
  15064. glGetCombinerStageParameterfvNV := dglGetProcAddress('glGetCombinerStageParameterfvNV');
  15065. end;
  15066. procedure Read_GL_NV_vertex_array_range;
  15067. begin
  15068. glFlushVertexArrayRangeNV := dglGetProcAddress('glFlushVertexArrayRangeNV');
  15069. glVertexArrayRangeNV := dglGetProcAddress('glVertexArrayRangeNV');
  15070. end;
  15071. procedure Read_GL_NV_vertex_program;
  15072. begin
  15073. glAreProgramsResidentNV := dglGetProcAddress('glAreProgramsResidentNV');
  15074. glBindProgramNV := dglGetProcAddress('glBindProgramNV');
  15075. glDeleteProgramsNV := dglGetProcAddress('glDeleteProgramsNV');
  15076. glExecuteProgramNV := dglGetProcAddress('glExecuteProgramNV');
  15077. glGenProgramsNV := dglGetProcAddress('glGenProgramsNV');
  15078. glGetProgramParameterdvNV := dglGetProcAddress('glGetProgramParameterdvNV');
  15079. glGetProgramParameterfvNV := dglGetProcAddress('glGetProgramParameterfvNV');
  15080. glGetProgramivNV := dglGetProcAddress('glGetProgramivNV');
  15081. glGetProgramStringNV := dglGetProcAddress('glGetProgramStringNV');
  15082. glGetTrackMatrixivNV := dglGetProcAddress('glGetTrackMatrixivNV');
  15083. glGetVertexAttribdvNV := dglGetProcAddress('glGetVertexAttribdvNV');
  15084. glGetVertexAttribfvNV := dglGetProcAddress('glGetVertexAttribfvNV');
  15085. glGetVertexAttribivNV := dglGetProcAddress('glGetVertexAttribivNV');
  15086. glGetVertexAttribPointervNV := dglGetProcAddress('glGetVertexAttribPointervNV');
  15087. glIsProgramNV := dglGetProcAddress('glIsProgramNV');
  15088. glLoadProgramNV := dglGetProcAddress('glLoadProgramNV');
  15089. glProgramParameter4dNV := dglGetProcAddress('glProgramParameter4dNV');
  15090. glProgramParameter4dvNV := dglGetProcAddress('glProgramParameter4dvNV');
  15091. glProgramParameter4fNV := dglGetProcAddress('glProgramParameter4fNV');
  15092. glProgramParameter4fvNV := dglGetProcAddress('glProgramParameter4fvNV');
  15093. glProgramParameters4dvNV := dglGetProcAddress('glProgramParameters4dvNV');
  15094. glProgramParameters4fvNV := dglGetProcAddress('glProgramParameters4fvNV');
  15095. glRequestResidentProgramsNV := dglGetProcAddress('glRequestResidentProgramsNV');
  15096. glTrackMatrixNV := dglGetProcAddress('glTrackMatrixNV');
  15097. glVertexAttribPointerNV := dglGetProcAddress('glVertexAttribPointerNV');
  15098. glVertexAttrib1dNV := dglGetProcAddress('glVertexAttrib1dNV');
  15099. glVertexAttrib1dvNV := dglGetProcAddress('glVertexAttrib1dvNV');
  15100. glVertexAttrib1fNV := dglGetProcAddress('glVertexAttrib1fNV');
  15101. glVertexAttrib1fvNV := dglGetProcAddress('glVertexAttrib1fvNV');
  15102. glVertexAttrib1sNV := dglGetProcAddress('glVertexAttrib1sNV');
  15103. glVertexAttrib1svNV := dglGetProcAddress('glVertexAttrib1svNV');
  15104. glVertexAttrib2dNV := dglGetProcAddress('glVertexAttrib2dNV');
  15105. glVertexAttrib2dvNV := dglGetProcAddress('glVertexAttrib2dvNV');
  15106. glVertexAttrib2fNV := dglGetProcAddress('glVertexAttrib2fNV');
  15107. glVertexAttrib2fvNV := dglGetProcAddress('glVertexAttrib2fvNV');
  15108. glVertexAttrib2sNV := dglGetProcAddress('glVertexAttrib2sNV');
  15109. glVertexAttrib2svNV := dglGetProcAddress('glVertexAttrib2svNV');
  15110. glVertexAttrib3dNV := dglGetProcAddress('glVertexAttrib3dNV');
  15111. glVertexAttrib3dvNV := dglGetProcAddress('glVertexAttrib3dvNV');
  15112. glVertexAttrib3fNV := dglGetProcAddress('glVertexAttrib3fNV');
  15113. glVertexAttrib3fvNV := dglGetProcAddress('glVertexAttrib3fvNV');
  15114. glVertexAttrib3sNV := dglGetProcAddress('glVertexAttrib3sNV');
  15115. glVertexAttrib3svNV := dglGetProcAddress('glVertexAttrib3svNV');
  15116. glVertexAttrib4dNV := dglGetProcAddress('glVertexAttrib4dNV');
  15117. glVertexAttrib4dvNV := dglGetProcAddress('glVertexAttrib4dvNV');
  15118. glVertexAttrib4fNV := dglGetProcAddress('glVertexAttrib4fNV');
  15119. glVertexAttrib4fvNV := dglGetProcAddress('glVertexAttrib4fvNV');
  15120. glVertexAttrib4sNV := dglGetProcAddress('glVertexAttrib4sNV');
  15121. glVertexAttrib4svNV := dglGetProcAddress('glVertexAttrib4svNV');
  15122. glVertexAttrib4ubNV := dglGetProcAddress('glVertexAttrib4ubNV');
  15123. glVertexAttrib4ubvNV := dglGetProcAddress('glVertexAttrib4ubvNV');
  15124. glVertexAttribs1dvNV := dglGetProcAddress('glVertexAttribs1dvNV');
  15125. glVertexAttribs1fvNV := dglGetProcAddress('glVertexAttribs1fvNV');
  15126. glVertexAttribs1svNV := dglGetProcAddress('glVertexAttribs1svNV');
  15127. glVertexAttribs2dvNV := dglGetProcAddress('glVertexAttribs2dvNV');
  15128. glVertexAttribs2fvNV := dglGetProcAddress('glVertexAttribs2fvNV');
  15129. glVertexAttribs2svNV := dglGetProcAddress('glVertexAttribs2svNV');
  15130. glVertexAttribs3dvNV := dglGetProcAddress('glVertexAttribs3dvNV');
  15131. glVertexAttribs3fvNV := dglGetProcAddress('glVertexAttribs3fvNV');
  15132. glVertexAttribs3svNV := dglGetProcAddress('glVertexAttribs3svNV');
  15133. glVertexAttribs4dvNV := dglGetProcAddress('glVertexAttribs4dvNV');
  15134. glVertexAttribs4fvNV := dglGetProcAddress('glVertexAttribs4fvNV');
  15135. glVertexAttribs4svNV := dglGetProcAddress('glVertexAttribs4svNV');
  15136. glVertexAttribs4ubvNV := dglGetProcAddress('glVertexAttribs4ubvNV');
  15137. end;
  15138. procedure Read_GL_NV_depth_buffer_float;
  15139. begin
  15140. glDepthRangedNV := dglGetProcAddress('glDepthRangedNV');
  15141. glClearDepthdNV := dglGetProcAddress('glClearDepthdNV');
  15142. glDepthBoundsdNV := dglGetProcAddress('glDepthBoundsdNV');
  15143. end;
  15144. procedure Read_GL_NV_framebuffer_multisample_coverage;
  15145. begin
  15146. glRenderbufferStorageMultsampleCoverageNV := dglGetProcAddress('glRenderbufferStorageMultsampleCoverageNV');
  15147. end;
  15148. procedure Read_GL_NV_geometry_program4;
  15149. begin
  15150. glProgramVertexLimitNV := dglGetProcAddress('glProgramVertexLimitNV');
  15151. end;
  15152. procedure Read_GL_NV_gpu_program4;
  15153. begin
  15154. glProgramLocalParameterI4iNV := dglGetProcAddress('glProgramLocalParameterI4iNV');
  15155. glProgramLocalParameterI4ivNV := dglGetProcAddress('glProgramLocalParameterI4ivNV');
  15156. glProgramLocalParametersI4ivNV := dglGetProcAddress('glProgramLocalParametersI4ivNV');
  15157. glProgramLocalParameterI4uiNV := dglGetProcAddress('glProgramLocalParameterI4uiNV');
  15158. glProgramLocalParameterI4uivNV := dglGetProcAddress('glProgramLocalParameterI4uivNV');
  15159. glProgramLocalParametersI4uivNV := dglGetProcAddress('glProgramLocalParametersI4uivNV');
  15160. glProgramEnvParameterI4iNV := dglGetProcAddress('glProgramEnvParameterI4iNV');
  15161. glProgramEnvParameterI4ivNV := dglGetProcAddress('glProgramEnvParameterI4ivNV');
  15162. glProgramEnvParametersI4ivNV := dglGetProcAddress('glProgramEnvParametersI4ivNV');
  15163. glProgramEnvParameterI4uiNV := dglGetProcAddress('glProgramEnvParameterI4uiNV');
  15164. glProgramEnvParameterI4uivNV := dglGetProcAddress('glProgramEnvParameterI4uivNV');
  15165. glProgramEnvParametersI4uivNV := dglGetProcAddress('glProgramEnvParametersI4uivNV');
  15166. glGetProgramLocalParameterIivNV := dglGetProcAddress('glGetProgramLocalParameterIivNV');
  15167. glGetProgramLocalParameterIuivNV := dglGetProcAddress('glGetProgramLocalParameterIuivNV');
  15168. glGetProgramEnvParameterIivNV := dglGetProcAddress('glGetProgramEnvParameterIivNV');
  15169. glGetProgramEnvParameterIuivNV := dglGetProcAddress('glGetProgramEnvParameterIuivNV');
  15170. end;
  15171. procedure Read_GL_NV_parameter_buffer_object;
  15172. begin
  15173. glProgramBufferParametersfvNV := dglGetProcAddress('glProgramBufferParametersfvNV');
  15174. glProgramBufferParametersIivNV := dglGetProcAddress('glProgramBufferParametersIivNV');
  15175. glProgramBufferParametersIuivNV := dglGetProcAddress('glProgramBufferParametersIuivNV');
  15176. end;
  15177. procedure Read_GL_NV_transform_feedback;
  15178. begin
  15179. glBeginTransformFeedbackNV := dglGetProcAddress('glBeginTransformFeedbackNV');
  15180. glEndTransformFeedbackNV := dglGetProcAddress('glEndTransformFeedbackNV');
  15181. glTransformFeedbackAttribsNV := dglGetProcAddress('glTransformFeedbackAttribsNV');
  15182. glBindBufferRangeNV := dglGetProcAddress('glBindBufferRangeNV');
  15183. glBindBufferOffsetNV := dglGetProcAddress('glBindBufferOffsetNV');
  15184. glBindBufferBaseNV := dglGetProcAddress('glBindBufferBaseNV');
  15185. glTransformFeedbackVaryingsNV := dglGetProcAddress('glTransformFeedbackVaryingsNV');
  15186. glActiveVaryingNV := dglGetProcAddress('glActiveVaryingNV');
  15187. glGetVaryingLocationNV := dglGetProcAddress('glGetVaryingLocationNV');
  15188. glGetActiveVaryingNV := dglGetProcAddress('glGetActiveVaryingNV');
  15189. glGetTransformFeedbackVaryingNV := dglGetProcAddress('glGetTransformFeedbackVaryingNV');
  15190. glTransformFeedbackStreamAttribsNV := dglGetProcAddress('glTransformFeedbackStreamAttribsNV');
  15191. end;
  15192. procedure Read_GL_NV_conditional_render;
  15193. begin
  15194. glBeginConditionalRenderNV := dglGetProcAddress('glBeginConditionalRenderNV');
  15195. glEndConditionalRenderNV := dglGetProcAddress('glEndConditionalRenderNV');
  15196. end;
  15197. procedure Read_GL_NV_present_video;
  15198. begin
  15199. glPresentFrameKeyedNV := dglGetProcAddress('glPresentFrameKeyedNV');
  15200. glPresentFrameDualFillNV := dglGetProcAddress('glPresentFrameDualFillNV');
  15201. glGetVideoivNV := dglGetProcAddress('glGetVideoivNV');
  15202. glGetVideouivNV := dglGetProcAddress('glGetVideouivNV');
  15203. glGetVideoi64vNV := dglGetProcAddress('glGetVideoi64vNV');
  15204. glGetVideoui64vNV := dglGetProcAddress('glGetVideoui64vNV');
  15205. // glVideoParameterivNV := dglGetProcAddress('glVideoParameterivNV');
  15206. end;
  15207. procedure Read_GL_NV_explicit_multisample;
  15208. begin
  15209. glGetMultisamplefvNV := dglGetProcAddress('glGetMultisamplefvNV');
  15210. glSampleMaskIndexedNV := dglGetProcAddress('glSampleMaskIndexedNV');
  15211. glTexRenderbufferNV := dglGetProcAddress('glTexRenderbufferNV');
  15212. end;
  15213. procedure Read_GL_NV_transform_feedback2;
  15214. begin
  15215. glBindTransformFeedbackNV := dglGetProcAddress('glBindTransformFeedbackNV');
  15216. glDeleteTransformFeedbacksNV := dglGetProcAddress('glDeleteTransformFeedbacksNV');
  15217. glGenTransformFeedbacksNV := dglGetProcAddress('glGenTransformFeedbacksNV');
  15218. glIsTransformFeedbackNV := dglGetProcAddress('glIsTransformFeedbackNV');
  15219. glPauseTransformFeedbackNV := dglGetProcAddress('glPauseTransformFeedbackNV');
  15220. glResumeTransformFeedbackNV := dglGetProcAddress('glResumeTransformFeedbackNV');
  15221. glDrawTransformFeedbackNV := dglGetProcAddress('glDrawTransformFeedbackNV');
  15222. end;
  15223. procedure Read_GL_NV_video_capture;
  15224. begin
  15225. glBeginVideoCaptureNV := dglGetProcAddress('glBeginVideoCaptureNV');
  15226. glBindVideoCaptureStreamBufferNV := dglGetProcAddress('glBindVideoCaptureStreamBufferNV');
  15227. glBindVideoCaptureStreamTextureNV := dglGetProcAddress('glBindVideoCaptureStreamTextureNV');
  15228. glEndVideoCaptureNV := dglGetProcAddress('glEndVideoCaptureNV');
  15229. glGetVideoCaptureivNV := dglGetProcAddress('glGetVideoCaptureivNV');
  15230. glGetVideoCaptureStreamivNV := dglGetProcAddress('glGetVideoCaptureStreamivNV');
  15231. glGetVideoCaptureStreamfvNV := dglGetProcAddress('glGetVideoCaptureStreamfvNV');
  15232. glGetVideoCaptureStreamdvNV := dglGetProcAddress('glGetVideoCaptureStreamdvNV');
  15233. glVideoCaptureNV := dglGetProcAddress('glVideoCaptureNV');
  15234. glVideoCaptureStreamParameterivNV := dglGetProcAddress('glVideoCaptureStreamParameterivNV');
  15235. glVideoCaptureStreamParameterfvNV := dglGetProcAddress('glVideoCaptureStreamParameterfvNV');
  15236. glVideoCaptureStreamParameterdvNV := dglGetProcAddress('glVideoCaptureStreamParameterdvNV');
  15237. end;
  15238. procedure Read_GL_NV_copy_image;
  15239. begin
  15240. glCopyImageSubDataNV := dglGetProcAddress('glCopyImageSubDataNV');
  15241. end;
  15242. procedure Read_GL_NV_shader_buffer_load;
  15243. begin
  15244. glMakeBufferResidentNV := dglGetProcAddress('glMakeBufferResidentNV');
  15245. glMakeBufferNonResidentNV := dglGetProcAddress('glMakeBufferNonResidentNV');
  15246. glIsBufferResidentNV := dglGetProcAddress('glIsBufferResidentNV');
  15247. glMakeNamedBufferResidentNV := dglGetProcAddress('glMakeNamedBufferResidentNV');
  15248. glMakeNamedBufferNonResidentNV := dglGetProcAddress('glMakeNamedBufferNonResidentNV');
  15249. glIsNamedBufferResidentNV := dglGetProcAddress('glIsNamedBufferResidentNV');
  15250. glGetBufferParameterui64vNV := dglGetProcAddress('glGetBufferParameterui64vNV');
  15251. glGetNamedBufferParameterui64vNV := dglGetProcAddress('glGetNamedBufferParameterui64vNV');
  15252. glGetIntegerui64vNV := dglGetProcAddress('glGetIntegerui64vNV');
  15253. glUniformui64NV := dglGetProcAddress('glUniformui64NV');
  15254. glUniformui64vNV := dglGetProcAddress('glUniformui64vNV');
  15255. glGetUniformui64vNV := dglGetProcAddress('glGetUniformui64vNV');
  15256. glProgramUniformui64NV := dglGetProcAddress('glProgramUniformui64NV');
  15257. glProgramUniformui64vNV := dglGetProcAddress('glProgramUniformui64vNV');
  15258. end;
  15259. procedure Read_GL_NV_vertex_buffer_unified_memory;
  15260. begin
  15261. glBufferAddressRangeNV := dglGetProcAddress('glBufferAddressRangeNV');
  15262. glVertexFormatNV := dglGetProcAddress('glVertexFormatNV');
  15263. glNormalFormatNV := dglGetProcAddress('glNormalFormatNV');
  15264. glColorFormatNV := dglGetProcAddress('glColorFormatNV');
  15265. glIndexFormatNV := dglGetProcAddress('glIndexFormatNV');
  15266. glTexCoordFormatNV := dglGetProcAddress('glTexCoordFormatNV');
  15267. glEdgeFlagFormatNV := dglGetProcAddress('glEdgeFlagFormatNV');
  15268. glSecondaryColorFormatNV := dglGetProcAddress('glSecondaryColorFormatNV');
  15269. glFogCoordFormatNV := dglGetProcAddress('glFogCoordFormatNV');
  15270. glVertexAttribFormatNV := dglGetProcAddress('glVertexAttribFormatNV');
  15271. glVertexAttribIFormatNV := dglGetProcAddress('glVertexAttribIFormatNV');
  15272. glGetIntegerui64i_vNV := dglGetProcAddress('glGetIntegerui64i_vNV');
  15273. end;
  15274. procedure Read_GL_NV_gpu_program5;
  15275. begin
  15276. glProgramSubroutineParametersuivNV := dglGetProcAddress('glProgramSubroutineParametersuivNV');
  15277. glGetProgramSubroutineParameteruivNV := dglGetProcAddress('glGetProgramSubroutineParameteruivNV');
  15278. end;
  15279. procedure Read_GL_NV_gpu_shader5;
  15280. begin
  15281. glUniform1i64NV := dglGetProcAddress('glUniform1i64NV');
  15282. glUniform2i64NV := dglGetProcAddress('glUniform2i64NV');
  15283. glUniform3i64NV := dglGetProcAddress('glUniform3i64NV');
  15284. glUniform4i64NV := dglGetProcAddress('glUniform4i64NV');
  15285. glUniform1i64vNV := dglGetProcAddress('glUniform1i64vNV');
  15286. glUniform2i64vNV := dglGetProcAddress('glUniform2i64vNV');
  15287. glUniform3i64vNV := dglGetProcAddress('glUniform3i64vNV');
  15288. glUniform4i64vNV := dglGetProcAddress('glUniform4i64vNV');
  15289. glUniform1ui64NV := dglGetProcAddress('glUniform1ui64NV');
  15290. glUniform2ui64NV := dglGetProcAddress('glUniform2ui64NV');
  15291. glUniform3ui64NV := dglGetProcAddress('glUniform3ui64NV');
  15292. glUniform4ui64NV := dglGetProcAddress('glUniform4ui64NV');
  15293. glUniform1ui64vNV := dglGetProcAddress('glUniform1ui64vNV');
  15294. glUniform2ui64vNV := dglGetProcAddress('glUniform2ui64vNV');
  15295. glUniform3ui64vNV := dglGetProcAddress('glUniform3ui64vNV');
  15296. glUniform4ui64vNV := dglGetProcAddress('glUniform4ui64vNV');
  15297. glGetUniformi64vNV := dglGetProcAddress('glGetUniformi64vNV');
  15298. glProgramUniform1i64NV := dglGetProcAddress('glProgramUniform1i64NV');
  15299. glProgramUniform2i64NV := dglGetProcAddress('glProgramUniform2i64NV');
  15300. glProgramUniform3i64NV := dglGetProcAddress('glProgramUniform3i64NV');
  15301. glProgramUniform4i64NV := dglGetProcAddress('glProgramUniform4i64NV');
  15302. glProgramUniform1i64vNV := dglGetProcAddress('glProgramUniform1i64vNV');
  15303. glProgramUniform2i64vNV := dglGetProcAddress('glProgramUniform2i64vNV');
  15304. glProgramUniform3i64vNV := dglGetProcAddress('glProgramUniform3i64vNV');
  15305. glProgramUniform4i64vNV := dglGetProcAddress('glProgramUniform4i64vNV');
  15306. glProgramUniform1ui64NV := dglGetProcAddress('glProgramUniform1ui64NV');
  15307. glProgramUniform2ui64NV := dglGetProcAddress('glProgramUniform2ui64NV');
  15308. glProgramUniform3ui64NV := dglGetProcAddress('glProgramUniform3ui64NV');
  15309. glProgramUniform4ui64NV := dglGetProcAddress('glProgramUniform4ui64NV');
  15310. glProgramUniform1ui64vNV := dglGetProcAddress('glProgramUniform1ui64vNV');
  15311. glProgramUniform2ui64vNV := dglGetProcAddress('glProgramUniform2ui64vNV');
  15312. glProgramUniform3ui64vNV := dglGetProcAddress('glProgramUniform3ui64vNV');
  15313. glProgramUniform4ui64vNV := dglGetProcAddress('glProgramUniform4ui64vNV');
  15314. end;
  15315. procedure Read_GL_NV_vertex_attrib_integer_64bit;
  15316. begin
  15317. glVertexAttribL1i64NV := dglGetProcAddress('glVertexAttribL1i64NV');
  15318. glVertexAttribL2i64NV := dglGetProcAddress('glVertexAttribL2i64NV');
  15319. glVertexAttribL3i64NV := dglGetProcAddress('glVertexAttribL3i64NV');
  15320. glVertexAttribL4i64NV := dglGetProcAddress('glVertexAttribL4i64NV');
  15321. glVertexAttribL1i64vNV := dglGetProcAddress('glVertexAttribL1i64vNV');
  15322. glVertexAttribL2i64vNV := dglGetProcAddress('glVertexAttribL2i64vNV');
  15323. glVertexAttribL3i64vNV := dglGetProcAddress('glVertexAttribL3i64vNV');
  15324. glVertexAttribL4i64vNV := dglGetProcAddress('glVertexAttribL4i64vNV');
  15325. glVertexAttribL1ui64NV := dglGetProcAddress('glVertexAttribL1ui64NV');
  15326. glVertexAttribL2ui64NV := dglGetProcAddress('glVertexAttribL2ui64NV');
  15327. glVertexAttribL3ui64NV := dglGetProcAddress('glVertexAttribL3ui64NV');
  15328. glVertexAttribL4ui64NV := dglGetProcAddress('glVertexAttribL4ui64NV');
  15329. glVertexAttribL1ui64vNV := dglGetProcAddress('glVertexAttribL1ui64vNV');
  15330. glVertexAttribL2ui64vNV := dglGetProcAddress('glVertexAttribL2ui64vNV');
  15331. glVertexAttribL3ui64vNV := dglGetProcAddress('glVertexAttribL3ui64vNV');
  15332. glVertexAttribL4ui64vNV := dglGetProcAddress('glVertexAttribL4ui64vNV');
  15333. glGetVertexAttribLi64vNV := dglGetProcAddress('glGetVertexAttribLi64vNV');
  15334. glGetVertexAttribLui64vNV := dglGetProcAddress('glGetVertexAttribLui64vNV');
  15335. glVertexAttribLFormatNV := dglGetProcAddress('glVertexAttribLFormatNV');
  15336. end;
  15337. procedure Read_GL_NV_vdpau_interop;
  15338. begin
  15339. glVDPAUInitNV := dglGetProcAddress('glVDPAUInitNV');
  15340. glVDPAUFiniNV := dglGetProcAddress('glVDPAUFiniNV');
  15341. glVDPAURegisterVideoSurfaceNV := dglGetProcAddress('glVDPAURegisterVideoSurfaceNV');
  15342. glVDPAURegisterOutputSurfaceNV := dglGetProcAddress('glVDPAURegisterOutputSurfaceNV');
  15343. glVDPAUIsSurfaceNV := dglGetProcAddress('glVDPAUIsSurfaceNV');
  15344. glVDPAUUnregisterSurfaceNV := dglGetProcAddress('glVDPAUUnregisterSurfaceNV');
  15345. glVDPAUGetSurfaceivNV := dglGetProcAddress('glVDPAUGetSurfaceivNV');
  15346. glVDPAUSurfaceAccessNV := dglGetProcAddress('glVDPAUSurfaceAccessNV');
  15347. glVDPAUMapSurfacesNV := dglGetProcAddress('glVDPAUMapSurfacesNV');
  15348. glVDPAUUnmapSurfacesNV := dglGetProcAddress('glVDPAUUnmapSurfacesNV');
  15349. end;
  15350. procedure Read_GL_NV_texture_barrier;
  15351. begin
  15352. glTextureBarrierNV := dglGetProcAddress('glTextureBarrierNV');
  15353. end;
  15354. procedure Read_GL_PGI_misc_hints;
  15355. begin
  15356. glHintPGI := dglGetProcAddress('glHintPGI');
  15357. end;
  15358. procedure Read_GL_SGIS_detail_texture;
  15359. begin
  15360. glDetailTexFuncSGIS := dglGetProcAddress('glDetailTexFuncSGIS');
  15361. glGetDetailTexFuncSGIS := dglGetProcAddress('glGetDetailTexFuncSGIS');
  15362. end;
  15363. procedure Read_GL_SGIS_fog_function;
  15364. begin
  15365. glFogFuncSGIS := dglGetProcAddress('glFogFuncSGIS');
  15366. glGetFogFuncSGIS := dglGetProcAddress('glGetFogFuncSGIS');
  15367. end;
  15368. procedure Read_GL_SGIS_multisample;
  15369. begin
  15370. glSampleMaskSGIS := dglGetProcAddress('glSampleMaskSGIS');
  15371. glSamplePatternSGIS := dglGetProcAddress('glSamplePatternSGIS');
  15372. end;
  15373. procedure Read_GL_SGIS_pixel_texture;
  15374. begin
  15375. glPixelTexGenParameteriSGIS := dglGetProcAddress('glPixelTexGenParameteriSGIS');
  15376. glPixelTexGenParameterivSGIS := dglGetProcAddress('glPixelTexGenParameterivSGIS');
  15377. glPixelTexGenParameterfSGIS := dglGetProcAddress('glPixelTexGenParameterfSGIS');
  15378. glPixelTexGenParameterfvSGIS := dglGetProcAddress('glPixelTexGenParameterfvSGIS');
  15379. glGetPixelTexGenParameterivSGIS := dglGetProcAddress('glGetPixelTexGenParameterivSGIS');
  15380. glGetPixelTexGenParameterfvSGIS := dglGetProcAddress('glGetPixelTexGenParameterfvSGIS');
  15381. end;
  15382. procedure Read_GL_SGIS_point_parameters;
  15383. begin
  15384. glPointParameterfSGIS := dglGetProcAddress('glPointParameterfSGIS');
  15385. glPointParameterfvSGIS := dglGetProcAddress('glPointParameterfvSGIS');
  15386. end;
  15387. procedure Read_GL_SGIS_sharpen_texture;
  15388. begin
  15389. glSharpenTexFuncSGIS := dglGetProcAddress('glSharpenTexFuncSGIS');
  15390. glGetSharpenTexFuncSGIS := dglGetProcAddress('glGetSharpenTexFuncSGIS');
  15391. end;
  15392. procedure Read_GL_SGIS_texture4D;
  15393. begin
  15394. glTexImage4DSGIS := dglGetProcAddress('glTexImage4DSGIS');
  15395. glTexSubImage4DSGIS := dglGetProcAddress('glTexSubImage4DSGIS');
  15396. end;
  15397. procedure Read_GL_SGIS_texture_color_mask;
  15398. begin
  15399. glTextureColorMaskSGIS := dglGetProcAddress('glTextureColorMaskSGIS');
  15400. end;
  15401. procedure Read_GL_SGIS_texture_filter4;
  15402. begin
  15403. glGetTexFilterFuncSGIS := dglGetProcAddress('glGetTexFilterFuncSGIS');
  15404. glTexFilterFuncSGIS := dglGetProcAddress('glTexFilterFuncSGIS');
  15405. end;
  15406. procedure Read_GL_SGIX_async;
  15407. begin
  15408. glAsyncMarkerSGIX := dglGetProcAddress('glAsyncMarkerSGIX');
  15409. glFinishAsyncSGIX := dglGetProcAddress('glFinishAsyncSGIX');
  15410. glPollAsyncSGIX := dglGetProcAddress('glPollAsyncSGIX');
  15411. glGenAsyncMarkersSGIX := dglGetProcAddress('glGenAsyncMarkersSGIX');
  15412. glDeleteAsyncMarkersSGIX := dglGetProcAddress('glDeleteAsyncMarkersSGIX');
  15413. glIsAsyncMarkerSGIX := dglGetProcAddress('glIsAsyncMarkerSGIX');
  15414. end;
  15415. procedure Read_GL_SGIX_flush_raster;
  15416. begin
  15417. glFlushRasterSGIX := dglGetProcAddress('glFlushRasterSGIX');
  15418. end;
  15419. procedure Read_GL_SGIX_fragment_lighting;
  15420. begin
  15421. glFragmentColorMaterialSGIX := dglGetProcAddress('glFragmentColorMaterialSGIX');
  15422. glFragmentLightfSGIX := dglGetProcAddress('glFragmentLightfSGIX');
  15423. glFragmentLightfvSGIX := dglGetProcAddress('glFragmentLightfvSGIX');
  15424. glFragmentLightiSGIX := dglGetProcAddress('glFragmentLightiSGIX');
  15425. glFragmentLightivSGIX := dglGetProcAddress('glFragmentLightivSGIX');
  15426. glFragmentLightModelfSGIX := dglGetProcAddress('glFragmentLightModelfSGIX');
  15427. glFragmentLightModelfvSGIX := dglGetProcAddress('glFragmentLightModelfvSGIX');
  15428. glFragmentLightModeliSGIX := dglGetProcAddress('glFragmentLightModeliSGIX');
  15429. glFragmentLightModelivSGIX := dglGetProcAddress('glFragmentLightModelivSGIX');
  15430. glFragmentMaterialfSGIX := dglGetProcAddress('glFragmentMaterialfSGIX');
  15431. glFragmentMaterialfvSGIX := dglGetProcAddress('glFragmentMaterialfvSGIX');
  15432. glFragmentMaterialiSGIX := dglGetProcAddress('glFragmentMaterialiSGIX');
  15433. glFragmentMaterialivSGIX := dglGetProcAddress('glFragmentMaterialivSGIX');
  15434. glGetFragmentLightfvSGIX := dglGetProcAddress('glGetFragmentLightfvSGIX');
  15435. glGetFragmentLightivSGIX := dglGetProcAddress('glGetFragmentLightivSGIX');
  15436. glGetFragmentMaterialfvSGIX := dglGetProcAddress('glGetFragmentMaterialfvSGIX');
  15437. glGetFragmentMaterialivSGIX := dglGetProcAddress('glGetFragmentMaterialivSGIX');
  15438. glLightEnviSGIX := dglGetProcAddress('glLightEnviSGIX');
  15439. end;
  15440. procedure Read_GL_SGIX_framezoom;
  15441. begin
  15442. glFrameZoomSGIX := dglGetProcAddress('glFrameZoomSGIX');
  15443. end;
  15444. procedure Read_GL_SGIX_igloo_interface;
  15445. begin
  15446. glIglooInterfaceSGIX := dglGetProcAddress('glIglooInterfaceSGIX');
  15447. end;
  15448. procedure Read_GL_SGIX_instruments;
  15449. begin
  15450. glGetInstrumentsSGIX := dglGetProcAddress('glGetInstrumentsSGIX');
  15451. glInstrumentsBufferSGIX := dglGetProcAddress('glInstrumentsBufferSGIX');
  15452. glPollInstrumentsSGIX := dglGetProcAddress('glPollInstrumentsSGIX');
  15453. glReadInstrumentsSGIX := dglGetProcAddress('glReadInstrumentsSGIX');
  15454. glStartInstrumentsSGIX := dglGetProcAddress('glStartInstrumentsSGIX');
  15455. glStopInstrumentsSGIX := dglGetProcAddress('glStopInstrumentsSGIX');
  15456. end;
  15457. procedure Read_GL_SGIX_list_priority;
  15458. begin
  15459. glGetListParameterfvSGIX := dglGetProcAddress('glGetListParameterfvSGIX');
  15460. glGetListParameterivSGIX := dglGetProcAddress('glGetListParameterivSGIX');
  15461. glListParameterfSGIX := dglGetProcAddress('glListParameterfSGIX');
  15462. glListParameterfvSGIX := dglGetProcAddress('glListParameterfvSGIX');
  15463. glListParameteriSGIX := dglGetProcAddress('glListParameteriSGIX');
  15464. glListParameterivSGIX := dglGetProcAddress('glListParameterivSGIX');
  15465. end;
  15466. procedure Read_GL_SGIX_pixel_texture;
  15467. begin
  15468. glPixelTexGenSGIX := dglGetProcAddress('glPixelTexGenSGIX');
  15469. end;
  15470. procedure Read_GL_SGIX_polynomial_ffd;
  15471. begin
  15472. glDeformationMap3dSGIX := dglGetProcAddress('glDeformationMap3dSGIX');
  15473. glDeformationMap3fSGIX := dglGetProcAddress('glDeformationMap3fSGIX');
  15474. glDeformSGIX := dglGetProcAddress('glDeformSGIX');
  15475. glLoadIdentityDeformationMapSGIX := dglGetProcAddress('glLoadIdentityDeformationMapSGIX');
  15476. end;
  15477. procedure Read_GL_SGIX_reference_plane;
  15478. begin
  15479. glReferencePlaneSGIX := dglGetProcAddress('glReferencePlaneSGIX');
  15480. end;
  15481. procedure Read_GL_SGIX_sprite;
  15482. begin
  15483. glSpriteParameterfSGIX := dglGetProcAddress('glSpriteParameterfSGIX');
  15484. glSpriteParameterfvSGIX := dglGetProcAddress('glSpriteParameterfvSGIX');
  15485. glSpriteParameteriSGIX := dglGetProcAddress('glSpriteParameteriSGIX');
  15486. glSpriteParameterivSGIX := dglGetProcAddress('glSpriteParameterivSGIX');
  15487. end;
  15488. procedure Read_GL_SGIX_tag_sample_buffer;
  15489. begin
  15490. glTagSampleBufferSGIX := dglGetProcAddress('glTagSampleBufferSGIX');
  15491. end;
  15492. procedure Read_GL_SGI_color_table;
  15493. begin
  15494. glColorTableSGI := dglGetProcAddress('glColorTableSGI');
  15495. glColorTableParameterfvSGI := dglGetProcAddress('glColorTableParameterfvSGI');
  15496. glColorTableParameterivSGI := dglGetProcAddress('glColorTableParameterivSGI');
  15497. glCopyColorTableSGI := dglGetProcAddress('glCopyColorTableSGI');
  15498. glGetColorTableSGI := dglGetProcAddress('glGetColorTableSGI');
  15499. glGetColorTableParameterfvSGI := dglGetProcAddress('glGetColorTableParameterfvSGI');
  15500. glGetColorTableParameterivSGI := dglGetProcAddress('glGetColorTableParameterivSGI');
  15501. end;
  15502. procedure Read_GL_SUNX_constant_data;
  15503. begin
  15504. glFinishTextureSUNX := dglGetProcAddress('glFinishTextureSUNX');
  15505. end;
  15506. procedure Read_GL_SUN_global_alpha;
  15507. begin
  15508. glGlobalAlphaFactorbSUN := dglGetProcAddress('glGlobalAlphaFactorbSUN');
  15509. glGlobalAlphaFactorsSUN := dglGetProcAddress('glGlobalAlphaFactorsSUN');
  15510. glGlobalAlphaFactoriSUN := dglGetProcAddress('glGlobalAlphaFactoriSUN');
  15511. glGlobalAlphaFactorfSUN := dglGetProcAddress('glGlobalAlphaFactorfSUN');
  15512. glGlobalAlphaFactordSUN := dglGetProcAddress('glGlobalAlphaFactordSUN');
  15513. glGlobalAlphaFactorubSUN := dglGetProcAddress('glGlobalAlphaFactorubSUN');
  15514. glGlobalAlphaFactorusSUN := dglGetProcAddress('glGlobalAlphaFactorusSUN');
  15515. glGlobalAlphaFactoruiSUN := dglGetProcAddress('glGlobalAlphaFactoruiSUN');
  15516. end;
  15517. procedure Read_GL_SUN_mesh_array;
  15518. begin
  15519. glDrawMeshArraysSUN := dglGetProcAddress('glDrawMeshArraysSUN');
  15520. end;
  15521. procedure Read_GL_SUN_triangle_list;
  15522. begin
  15523. glReplacementCodeuiSUN := dglGetProcAddress('glReplacementCodeuiSUN');
  15524. glReplacementCodeusSUN := dglGetProcAddress('glReplacementCodeusSUN');
  15525. glReplacementCodeubSUN := dglGetProcAddress('glReplacementCodeubSUN');
  15526. glReplacementCodeuivSUN := dglGetProcAddress('glReplacementCodeuivSUN');
  15527. glReplacementCodeusvSUN := dglGetProcAddress('glReplacementCodeusvSUN');
  15528. glReplacementCodeubvSUN := dglGetProcAddress('glReplacementCodeubvSUN');
  15529. glReplacementCodePointerSUN := dglGetProcAddress('glReplacementCodePointerSUN');
  15530. end;
  15531. procedure Read_GL_SUN_vertex;
  15532. begin
  15533. glColor4ubVertex2fSUN := dglGetProcAddress('glColor4ubVertex2fSUN');
  15534. glColor4ubVertex2fvSUN := dglGetProcAddress('glColor4ubVertex2fvSUN');
  15535. glColor4ubVertex3fSUN := dglGetProcAddress('glColor4ubVertex3fSUN');
  15536. glColor4ubVertex3fvSUN := dglGetProcAddress('glColor4ubVertex3fvSUN');
  15537. glColor3fVertex3fSUN := dglGetProcAddress('glColor3fVertex3fSUN');
  15538. glColor3fVertex3fvSUN := dglGetProcAddress('glColor3fVertex3fvSUN');
  15539. glNormal3fVertex3fSUN := dglGetProcAddress('glNormal3fVertex3fSUN');
  15540. glNormal3fVertex3fvSUN := dglGetProcAddress('glNormal3fVertex3fvSUN');
  15541. glColor4fNormal3fVertex3fSUN := dglGetProcAddress('glColor4fNormal3fVertex3fSUN');
  15542. glColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glColor4fNormal3fVertex3fvSUN');
  15543. glTexCoord2fVertex3fSUN := dglGetProcAddress('glTexCoord2fVertex3fSUN');
  15544. glTexCoord2fVertex3fvSUN := dglGetProcAddress('glTexCoord2fVertex3fvSUN');
  15545. glTexCoord4fVertex4fSUN := dglGetProcAddress('glTexCoord4fVertex4fSUN');
  15546. glTexCoord4fVertex4fvSUN := dglGetProcAddress('glTexCoord4fVertex4fvSUN');
  15547. glTexCoord2fColor4ubVertex3fSUN := dglGetProcAddress('glTexCoord2fColor4ubVertex3fSUN');
  15548. glTexCoord2fColor4ubVertex3fvSUN := dglGetProcAddress('glTexCoord2fColor4ubVertex3fvSUN');
  15549. glTexCoord2fColor3fVertex3fSUN := dglGetProcAddress('glTexCoord2fColor3fVertex3fSUN');
  15550. glTexCoord2fColor3fVertex3fvSUN := dglGetProcAddress('glTexCoord2fColor3fVertex3fvSUN');
  15551. glTexCoord2fNormal3fVertex3fSUN := dglGetProcAddress('glTexCoord2fNormal3fVertex3fSUN');
  15552. glTexCoord2fNormal3fVertex3fvSUN := dglGetProcAddress('glTexCoord2fNormal3fVertex3fvSUN');
  15553. glTexCoord2fColor4fNormal3fVertex3fSUN := dglGetProcAddress('glTexCoord2fColor4fNormal3fVertex3fSUN');
  15554. glTexCoord2fColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glTexCoord2fColor4fNormal3fVertex3fvSUN');
  15555. glTexCoord4fColor4fNormal3fVertex4fSUN := dglGetProcAddress('glTexCoord4fColor4fNormal3fVertex4fSUN');
  15556. glTexCoord4fColor4fNormal3fVertex4fvSUN := dglGetProcAddress('glTexCoord4fColor4fNormal3fVertex4fvSUN');
  15557. glReplacementCodeuiVertex3fSUN := dglGetProcAddress('glReplacementCodeuiVertex3fSUN');
  15558. glReplacementCodeuiVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiVertex3fvSUN');
  15559. glReplacementCodeuiColor4ubVertex3fSUN := dglGetProcAddress('glReplacementCodeuiColor4ubVertex3fSUN');
  15560. glReplacementCodeuiColor4ubVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiColor4ubVertex3fvSUN');
  15561. glReplacementCodeuiColor3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiColor3fVertex3fSUN');
  15562. glReplacementCodeuiColor3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiColor3fVertex3fvSUN');
  15563. glReplacementCodeuiNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiNormal3fVertex3fSUN');
  15564. glReplacementCodeuiNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiNormal3fVertex3fvSUN');
  15565. glReplacementCodeuiColor4fNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiColor4fNormal3fVertex3fSUN');
  15566. glReplacementCodeuiColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiColor4fNormal3fVertex3fvSUN');
  15567. glReplacementCodeuiTexCoord2fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fVertex3fSUN');
  15568. glReplacementCodeuiTexCoord2fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fVertex3fvSUN');
  15569. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN');
  15570. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN');
  15571. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN');
  15572. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN');
  15573. end;
  15574. {$IFDEF DGL_WIN}
  15575. procedure Read_WGL_ARB_buffer_region;
  15576. begin
  15577. wglCreateBufferRegionARB := dglGetProcAddress('wglCreateBufferRegionARB');
  15578. wglDeleteBufferRegionARB := dglGetProcAddress('wglDeleteBufferRegionARB');
  15579. wglSaveBufferRegionARB := dglGetProcAddress('wglSaveBufferRegionARB');
  15580. wglRestoreBufferRegionARB := dglGetProcAddress('wglRestoreBufferRegionARB');
  15581. end;
  15582. procedure Read_WGL_ARB_extensions_string;
  15583. begin
  15584. wglGetExtensionsStringARB := dglGetProcAddress('wglGetExtensionsStringARB');
  15585. end;
  15586. procedure Read_WGL_ARB_make_current_read;
  15587. begin
  15588. wglMakeContextCurrentARB := dglGetProcAddress('wglMakeContextCurrentARB');
  15589. wglGetCurrentReadDCARB := dglGetProcAddress('wglGetCurrentReadDCARB');
  15590. end;
  15591. procedure Read_WGL_ARB_pbuffer;
  15592. begin
  15593. wglCreatePbufferARB := dglGetProcAddress('wglCreatePbufferARB');
  15594. wglGetPbufferDCARB := dglGetProcAddress('wglGetPbufferDCARB');
  15595. wglReleasePbufferDCARB := dglGetProcAddress('wglReleasePbufferDCARB');
  15596. wglDestroyPbufferARB := dglGetProcAddress('wglDestroyPbufferARB');
  15597. wglQueryPbufferARB := dglGetProcAddress('wglQueryPbufferARB');
  15598. end;
  15599. procedure Read_WGL_ARB_pixel_format;
  15600. begin
  15601. wglGetPixelFormatAttribivARB := dglGetProcAddress('wglGetPixelFormatAttribivARB');
  15602. wglGetPixelFormatAttribfvARB := dglGetProcAddress('wglGetPixelFormatAttribfvARB');
  15603. wglChoosePixelFormatARB := dglGetProcAddress('wglChoosePixelFormatARB');
  15604. end;
  15605. procedure Read_WGL_ARB_pixel_format_float;
  15606. begin
  15607. wglClampColorARB := dglGetProcAddress('wglClampColorARB');
  15608. end;
  15609. procedure Read_WGL_ARB_render_texture;
  15610. begin
  15611. wglBindTexImageARB := dglGetProcAddress('wglBindTexImageARB');
  15612. wglReleaseTexImageARB := dglGetProcAddress('wglReleaseTexImageARB');
  15613. wglSetPbufferAttribARB := dglGetProcAddress('wglSetPbufferAttribARB');
  15614. end;
  15615. procedure Read_WGL_ARB_create_context;
  15616. begin
  15617. wglCreateContextAttribsARB := dglGetProcAddress('wglCreateContextAttribsARB');
  15618. end;
  15619. procedure Read_WGL_AMD_gpu_association;
  15620. begin
  15621. wglGetGPUIDsAMD := dglGetProcAddress('wglGetGPUIDsAMD');
  15622. wglGetGPUInfoAMD := dglGetProcAddress('wglGetGPUInfoAMD');
  15623. wglGetContextGPUIDAMD := dglGetProcAddress('wglGetContextGPUIDAMD');
  15624. wglCreateAssociatedContextAMD := dglGetProcAddress('wglCreateAssociatedContextAMD');
  15625. wglCreateAssociatedContextAttribsAMD := dglGetProcAddress('wglCreateAssociatedContextAttribsAMD');
  15626. wglDeleteAssociatedContextAMD := dglGetProcAddress('wglDeleteAssociatedContextAMD');
  15627. wglMakeAssociatedContextCurrentAMD := dglGetProcAddress('wglMakeAssociatedContextCurrentAMD');
  15628. wglGetCurrentAssociatedContextAMD := dglGetProcAddress('wglGetCurrentAssociatedContextAMD');
  15629. wglBlitContextFramebufferAMD := dglGetProcAddress('wglBlitContextFramebufferAMD');
  15630. end;
  15631. procedure Read_WGL_EXT_display_color_table;
  15632. begin
  15633. wglCreateDisplayColorTableEXT := dglGetProcAddress('wglCreateDisplayColorTableEXT');
  15634. wglLoadDisplayColorTableEXT := dglGetProcAddress('wglLoadDisplayColorTableEXT');
  15635. wglBindDisplayColorTableEXT := dglGetProcAddress('wglBindDisplayColorTableEXT');
  15636. wglDestroyDisplayColorTableEXT := dglGetProcAddress('wglDestroyDisplayColorTableEXT');
  15637. end;
  15638. procedure Read_WGL_EXT_extensions_string;
  15639. begin
  15640. wglGetExtensionsStringEXT := dglGetProcAddress('wglGetExtensionsStringEXT');
  15641. end;
  15642. procedure Read_WGL_EXT_make_current_read;
  15643. begin
  15644. wglMakeContextCurrentEXT := dglGetProcAddress('wglMakeContextCurrentEXT');
  15645. wglGetCurrentReadDCEXT := dglGetProcAddress('wglGetCurrentReadDCEXT');
  15646. end;
  15647. procedure Read_WGL_EXT_pbuffer;
  15648. begin
  15649. wglCreatePbufferEXT := dglGetProcAddress('wglCreatePbufferEXT');
  15650. wglGetPbufferDCEXT := dglGetProcAddress('wglGetPbufferDCEXT');
  15651. wglReleasePbufferDCEXT := dglGetProcAddress('wglReleasePbufferDCEXT');
  15652. wglDestroyPbufferEXT := dglGetProcAddress('wglDestroyPbufferEXT');
  15653. wglQueryPbufferEXT := dglGetProcAddress('wglQueryPbufferEXT');
  15654. end;
  15655. procedure Read_WGL_EXT_pixel_format;
  15656. begin
  15657. wglGetPixelFormatAttribivEXT := dglGetProcAddress('wglGetPixelFormatAttribivEXT');
  15658. wglGetPixelFormatAttribfvEXT := dglGetProcAddress('wglGetPixelFormatAttribfvEXT');
  15659. wglChoosePixelFormatEXT := dglGetProcAddress('wglChoosePixelFormatEXT');
  15660. end;
  15661. procedure Read_WGL_EXT_swap_control;
  15662. begin
  15663. wglSwapIntervalEXT := dglGetProcAddress('wglSwapIntervalEXT');
  15664. wglGetSwapIntervalEXT := dglGetProcAddress('wglGetSwapIntervalEXT');
  15665. end;
  15666. procedure Read_WGL_I3D_digital_video_control;
  15667. begin
  15668. wglGetDigitalVideoParametersI3D := dglGetProcAddress('wglGetDigitalVideoParametersI3D');
  15669. wglSetDigitalVideoParametersI3D := dglGetProcAddress('wglSetDigitalVideoParametersI3D');
  15670. end;
  15671. procedure Read_WGL_I3D_gamma;
  15672. begin
  15673. wglGetGammaTableParametersI3D := dglGetProcAddress('wglGetGammaTableParametersI3D');
  15674. wglSetGammaTableParametersI3D := dglGetProcAddress('wglSetGammaTableParametersI3D');
  15675. wglGetGammaTableI3D := dglGetProcAddress('wglGetGammaTableI3D');
  15676. wglSetGammaTableI3D := dglGetProcAddress('wglSetGammaTableI3D');
  15677. end;
  15678. procedure Read_WGL_I3D_genlock;
  15679. begin
  15680. wglEnableGenlockI3D := dglGetProcAddress('wglEnableGenlockI3D');
  15681. wglDisableGenlockI3D := dglGetProcAddress('wglDisableGenlockI3D');
  15682. wglIsEnabledGenlockI3D := dglGetProcAddress('wglIsEnabledGenlockI3D');
  15683. wglGenlockSourceI3D := dglGetProcAddress('wglGenlockSourceI3D');
  15684. wglGetGenlockSourceI3D := dglGetProcAddress('wglGetGenlockSourceI3D');
  15685. wglGenlockSourceEdgeI3D := dglGetProcAddress('wglGenlockSourceEdgeI3D');
  15686. wglGetGenlockSourceEdgeI3D := dglGetProcAddress('wglGetGenlockSourceEdgeI3D');
  15687. wglGenlockSampleRateI3D := dglGetProcAddress('wglGenlockSampleRateI3D');
  15688. wglGetGenlockSampleRateI3D := dglGetProcAddress('wglGetGenlockSampleRateI3D');
  15689. wglGenlockSourceDelayI3D := dglGetProcAddress('wglGenlockSourceDelayI3D');
  15690. wglGetGenlockSourceDelayI3D := dglGetProcAddress('wglGetGenlockSourceDelayI3D');
  15691. wglQueryGenlockMaxSourceDelayI3D := dglGetProcAddress('wglQueryGenlockMaxSourceDelayI3D');
  15692. end;
  15693. procedure Read_WGL_I3D_image_buffer;
  15694. begin
  15695. wglCreateImageBufferI3D := dglGetProcAddress('wglCreateImageBufferI3D');
  15696. wglDestroyImageBufferI3D := dglGetProcAddress('wglDestroyImageBufferI3D');
  15697. wglAssociateImageBufferEventsI3D := dglGetProcAddress('wglAssociateImageBufferEventsI3D');
  15698. wglReleaseImageBufferEventsI3D := dglGetProcAddress('wglReleaseImageBufferEventsI3D');
  15699. end;
  15700. procedure Read_WGL_I3D_swap_frame_lock;
  15701. begin
  15702. wglEnableFrameLockI3D := dglGetProcAddress('wglEnableFrameLockI3D');
  15703. wglDisableFrameLockI3D := dglGetProcAddress('wglDisableFrameLockI3D');
  15704. wglIsEnabledFrameLockI3D := dglGetProcAddress('wglIsEnabledFrameLockI3D');
  15705. wglQueryFrameLockMasterI3D := dglGetProcAddress('wglQueryFrameLockMasterI3D');
  15706. end;
  15707. procedure Read_WGL_I3D_swap_frame_usage;
  15708. begin
  15709. wglGetFrameUsageI3D := dglGetProcAddress('wglGetFrameUsageI3D');
  15710. wglBeginFrameTrackingI3D := dglGetProcAddress('wglBeginFrameTrackingI3D');
  15711. wglEndFrameTrackingI3D := dglGetProcAddress('wglEndFrameTrackingI3D');
  15712. wglQueryFrameTrackingI3D := dglGetProcAddress('wglQueryFrameTrackingI3D');
  15713. end;
  15714. procedure Read_WGL_NV_vertex_array_range;
  15715. begin
  15716. wglAllocateMemoryNV := dglGetProcAddress('wglAllocateMemoryNV');
  15717. wglFreeMemoryNV := dglGetProcAddress('wglFreeMemoryNV');
  15718. end;
  15719. procedure Read_WGL_NV_present_video;
  15720. begin
  15721. wglEnumerateVideoDevicesNV := dglGetProcAddress('wglEnumerateVideoDevicesNV');
  15722. wglBindVideoDeviceNV := dglGetProcAddress('wglBindVideoDeviceNV');
  15723. wglQueryCurrentContextNV := dglGetProcAddress('wglQueryCurrentContextNV');
  15724. end;
  15725. procedure Read_WGL_NV_video_output;
  15726. begin
  15727. wglGetVideoDeviceNV := dglGetProcAddress('wglGetVideoDeviceNV');
  15728. wglReleaseVideoDeviceNV := dglGetProcAddress('wglReleaseVideoDeviceNV');
  15729. wglBindVideoImageNV := dglGetProcAddress('wglBindVideoImageNV');
  15730. wglReleaseVideoImageNV := dglGetProcAddress('wglReleaseVideoImageNV');
  15731. wglSendPbufferToVideoNV := dglGetProcAddress('wglSendPbufferToVideoNV');
  15732. wglGetVideoInfoNV := dglGetProcAddress('wglGetVideoInfoNV');
  15733. end;
  15734. procedure Read_WGL_NV_swap_group;
  15735. begin
  15736. wglJoinSwapGroupNV := dglGetProcAddress('wglJoinSwapGroupNV');
  15737. wglBindSwapBarrierNV := dglGetProcAddress('wglBindSwapBarrierNV');
  15738. wglQuerySwapGroupNV := dglGetProcAddress('wglQuerySwapGroupNV');
  15739. wglQueryMaxSwapGroupsNV := dglGetProcAddress('wglQueryMaxSwapGroupsNV');
  15740. wglQueryFrameCountNV := dglGetProcAddress('wglQueryFrameCountNV');
  15741. wglResetFrameCountNV := dglGetProcAddress('wglResetFrameCountNV');
  15742. end;
  15743. procedure Read_WGL_NV_gpu_affinity;
  15744. begin
  15745. wglEnumGpusNV := dglGetProcAddress('wglEnumGpusNV');
  15746. wglEnumGpuDevicesNV := dglGetProcAddress('wglEnumGpuDevicesNV');
  15747. wglCreateAffinityDCNV := dglGetProcAddress('wglCreateAffinityDCNV');
  15748. wglEnumGpusFromAffinityDCNV := dglGetProcAddress('wglEnumGpusFromAffinityDCNV');
  15749. wglDeleteDCNV := dglGetProcAddress('wglDeleteDCNV');
  15750. end;
  15751. procedure Read_WGL_NV_video_capture;
  15752. begin
  15753. wglBindVideoCaptureDeviceNV := dglGetProcAddress('wglBindVideoCaptureDeviceNV');
  15754. wglEnumerateVideoCaptureDevicesNV := dglGetProcAddress('wglEnumerateVideoCaptureDevicesNV');
  15755. wglLockVideoCaptureDeviceNV := dglGetProcAddress('wglLockVideoCaptureDeviceNV');
  15756. wglQueryVideoCaptureDeviceNV := dglGetProcAddress('wglQueryVideoCaptureDeviceNV');
  15757. wglReleaseVideoCaptureDeviceNV := dglGetProcAddress('wglReleaseVideoCaptureDeviceNV');
  15758. end;
  15759. procedure Read_WGL_NV_copy_image;
  15760. begin
  15761. wglCopyImageSubDataNV := dglGetProcAddress('wglCopyImageSubDataNV');
  15762. end;
  15763. procedure Read_WGL_NV_DX_interop;
  15764. begin
  15765. wglDXSetResourceShareHandleNV := dglGetProcAddress('wglDXSetResourceShareHandleNV');
  15766. wglDXOpenDeviceNV := dglGetProcAddress('wglDXOpenDeviceNV');
  15767. wglDXCloseDeviceNV := dglGetProcAddress('wglDXCloseDeviceNV');
  15768. wglDXRegisterObjectNV := dglGetProcAddress('wglDXRegisterObjectNV');
  15769. wglDXUnregisterObjectNV := dglGetProcAddress('wglDXUnregisterObjectNV');
  15770. wglDXObjectAccessNV := dglGetProcAddress('wglDXObjectAccessNV');
  15771. wglDXLockObjectsNV := dglGetProcAddress('wglDXLockObjectsNV');
  15772. wglDXUnlockObjectsNV := dglGetProcAddress('wglDXUnlockObjectsNV');
  15773. end;
  15774. procedure Read_WGL_OML_sync_control;
  15775. begin
  15776. wglGetSyncValuesOML := dglGetProcAddress('wglGetSyncValuesOML');
  15777. wglGetMscRateOML := dglGetProcAddress('wglGetMscRateOML');
  15778. wglSwapBuffersMscOML := dglGetProcAddress('wglSwapBuffersMscOML');
  15779. wglSwapLayerBuffersMscOML := dglGetProcAddress('wglSwapLayerBuffersMscOML');
  15780. wglWaitForMscOML := dglGetProcAddress('wglWaitForMscOML');
  15781. wglWaitForSbcOML := dglGetProcAddress('wglWaitForSbcOML');
  15782. end;
  15783. procedure Read_WGL_3DL_stereo_control;
  15784. begin
  15785. wglSetStereoEmitterState3DL := dglGetProcAddress('wglSetStereoEmitterState3DL');
  15786. end;
  15787. procedure Read_WIN_draw_range_elements;
  15788. begin
  15789. glDrawRangeElementsWIN := dglGetProcAddress('glDrawRangeElementsWIN');
  15790. end;
  15791. procedure Read_WIN_swap_hint;
  15792. begin
  15793. glAddSwapHintRectWIN := dglGetProcAddress('glAddSwapHintRectWIN');
  15794. end;
  15795. {$ENDIF}
  15796. procedure ReadExtensions;
  15797. begin
  15798. ReadOpenGLCore;
  15799. Read_GL_3DFX_tbuffer;
  15800. Read_GL_APPLE_element_array;
  15801. Read_GL_APPLE_fence;
  15802. Read_GL_APPLE_vertex_array_object;
  15803. Read_GL_APPLE_vertex_array_range;
  15804. Read_GL_APPLE_texture_range;
  15805. Read_GL_APPLE_vertex_program_evaluators;
  15806. Read_GL_APPLE_object_purgeable;
  15807. Read_GL_ARB_matrix_palette;
  15808. Read_GL_ARB_multitexture;
  15809. Read_GL_ARB_point_parameters;
  15810. Read_GL_ARB_texture_compression;
  15811. Read_GL_ARB_transpose_matrix;
  15812. Read_GL_ARB_vertex_blend;
  15813. Read_GL_ARB_vertex_buffer_object;
  15814. Read_GL_ARB_vertex_program;
  15815. Read_GL_ARB_window_pos;
  15816. Read_GL_ARB_color_buffer_float;
  15817. Read_GL_ARB_Shader_Objects;
  15818. Read_GL_ARB_occlusion_query;
  15819. Read_GL_ARB_draw_instanced;
  15820. Read_GL_ARB_framebuffer_object;
  15821. Read_GL_ARB_geometry_shader4;
  15822. Read_GL_ARB_instanced_arrays;
  15823. Read_GL_ARB_map_buffer_range;
  15824. Read_GL_ARB_texture_buffer_object;
  15825. Read_GL_ARB_vertex_array_object;
  15826. Read_GL_ARB_uniform_buffer_object;
  15827. Read_GL_ARB_copy_buffer;
  15828. Read_GL_ARB_draw_elements_base_vertex;
  15829. Read_GL_ARB_provoking_vertex;
  15830. Read_GL_ARB_sync;
  15831. Read_GL_ARB_texture_multisample;
  15832. Read_GL_ARB_draw_buffers_blend;
  15833. Read_GL_ARB_sample_shading;
  15834. Read_GL_ARB_shading_language_include;
  15835. Read_GL_ARB_sparse_texture;
  15836. Read_GL_ARB_sparse_buffer;
  15837. Read_GL_ARB_blend_func_extended;
  15838. Read_GL_ARB_sampler_objects;
  15839. Read_GL_ARB_timer_query;
  15840. Read_GL_ARB_vertex_type_2_10_10_10_rev;
  15841. Read_GL_ARB_draw_indirect;
  15842. Read_GL_ARB_gpu_shader_fp64;
  15843. Read_GL_ARB_shader_subroutine;
  15844. Read_GL_ARB_tessellation_shader;
  15845. Read_GL_ARB_transform_feedback2;
  15846. Read_GL_ARB_transform_feedback3;
  15847. Read_GL_ARB_ES2_compatibility;
  15848. Read_GL_ARB_get_program_binary;
  15849. Read_GL_ARB_separate_shader_objects;
  15850. Read_GL_ARB_vertex_attrib_64bit;
  15851. Read_GL_ARB_viewport_array;
  15852. Read_GL_ARB_cl_event;
  15853. Read_GL_ARB_compute_variable_group_size;
  15854. Read_GL_ARB_debug_output;
  15855. Read_GL_ARB_robustness;
  15856. //
  15857. Read_GL_ATI_draw_buffers;
  15858. Read_GL_ATI_element_array;
  15859. Read_GL_ATI_envmap_bumpmap;
  15860. Read_GL_ATI_fragment_shader;
  15861. Read_GL_ATI_map_object_buffer;
  15862. Read_GL_ATI_pn_triangles;
  15863. Read_GL_ATI_separate_stencil;
  15864. Read_GL_ATI_vertex_array_object;
  15865. Read_GL_ATI_vertex_attrib_array_object;
  15866. Read_GL_ATI_vertex_streams;
  15867. Read_GL_AMD_performance_monitor;
  15868. Read_GL_AMD_vertex_shader_tesselator;
  15869. Read_GL_AMD_draw_buffers_blend;
  15870. Read_GL_AMD_name_gen_delete;
  15871. Read_GL_AMD_debug_output;
  15872. Read_GL_AMD_stencil_operation_extended;
  15873. Read_GL_EXT_blend_color;
  15874. Read_GL_EXT_blend_func_separate;
  15875. Read_GL_EXT_blend_minmax;
  15876. Read_GL_EXT_color_subtable;
  15877. Read_GL_EXT_compiled_vertex_array;
  15878. Read_GL_EXT_convolution;
  15879. Read_GL_EXT_coordinate_frame;
  15880. Read_GL_EXT_copy_texture;
  15881. Read_GL_EXT_cull_vertex;
  15882. Read_GL_EXT_draw_range_elements;
  15883. Read_GL_EXT_fog_coord;
  15884. Read_GL_EXT_framebuffer_object;
  15885. Read_GL_EXT_histogram;
  15886. Read_GL_EXT_index_func;
  15887. Read_GL_EXT_index_material;
  15888. Read_GL_EXT_multi_draw_arrays;
  15889. Read_GL_EXT_multisample;
  15890. Read_GL_EXT_paletted_texture;
  15891. Read_GL_EXT_pixel_transform;
  15892. Read_GL_EXT_point_parameters;
  15893. Read_GL_EXT_polygon_offset;
  15894. Read_GL_EXT_secondary_color;
  15895. Read_GL_EXT_stencil_two_side;
  15896. Read_GL_EXT_subtexture;
  15897. Read_GL_EXT_texture3D;
  15898. Read_GL_EXT_texture_object;
  15899. Read_GL_EXT_texture_perturb_normal;
  15900. Read_GL_EXT_vertex_array;
  15901. Read_GL_EXT_vertex_shader;
  15902. Read_GL_EXT_vertex_weighting;
  15903. Read_GL_EXT_depth_bounds_test;
  15904. Read_GL_EXT_blend_equation_separate;
  15905. Read_GL_EXT_stencil_clear_tag;
  15906. Read_GL_EXT_framebuffer_blit;
  15907. Read_GL_EXT_framebuffer_multisample;
  15908. Read_GL_EXT_timer_query;
  15909. Read_GL_EXT_gpu_program_parameters;
  15910. Read_GL_EXT_bindable_uniform;
  15911. Read_GL_EXT_draw_buffers2;
  15912. Read_GL_EXT_draw_instanced;
  15913. Read_GL_EXT_geometry_shader4;
  15914. Read_GL_EXT_gpu_shader4;
  15915. Read_GL_EXT_texture_array;
  15916. Read_GL_EXT_texture_buffer_object;
  15917. Read_GL_EXT_texture_integer;
  15918. Read_GL_EXT_transform_feedback;
  15919. Read_GL_EXT_direct_state_access;
  15920. Read_GL_EXT_separate_shader_objects;
  15921. Read_GL_EXT_shader_image_load_store;
  15922. Read_GL_EXT_vertex_attrib_64bit;
  15923. Read_GL_HP_image_transform;
  15924. Read_GL_IBM_multimode_draw_arrays;
  15925. Read_GL_IBM_vertex_array_lists;
  15926. Read_GL_INGR_blend_func_separate;
  15927. Read_GL_INTEL_parallel_arrays;
  15928. Read_GL_KHR_blend_equation_advanced;
  15929. Read_GL_MESA_resize_buffers;
  15930. Read_GL_MESA_window_pos;
  15931. Read_GL_NV_evaluators;
  15932. Read_GL_NV_fence;
  15933. Read_GL_NV_fragment_program;
  15934. Read_GL_NV_half_float;
  15935. Read_GL_NV_occlusion_query;
  15936. Read_GL_NV_pixel_data_range;
  15937. Read_GL_NV_point_sprite;
  15938. Read_GL_NV_primitive_restart;
  15939. Read_GL_NV_register_combiners;
  15940. Read_GL_NV_register_combiners2;
  15941. Read_GL_NV_vertex_array_range;
  15942. Read_GL_NV_vertex_program;
  15943. Read_GL_NV_depth_buffer_float;
  15944. Read_GL_NV_framebuffer_multisample_coverage;
  15945. Read_GL_NV_geometry_program4;
  15946. Read_GL_NV_gpu_program4;
  15947. Read_GL_NV_parameter_buffer_object;
  15948. Read_GL_NV_transform_feedback;
  15949. Read_GL_NV_conditional_render;
  15950. Read_GL_NV_present_video;
  15951. Read_GL_NV_explicit_multisample;
  15952. Read_GL_NV_transform_feedback2;
  15953. Read_GL_NV_video_capture;
  15954. Read_GL_NV_copy_image;
  15955. Read_GL_NV_shader_buffer_load;
  15956. Read_GL_NV_vertex_buffer_unified_memory;
  15957. Read_GL_NV_gpu_program5;
  15958. Read_GL_NV_gpu_shader5;
  15959. Read_GL_NV_vertex_attrib_integer_64bit;
  15960. Read_GL_NV_vdpau_interop;
  15961. Read_GL_NV_texture_barrier;
  15962. Read_GL_NV_path_rendering;
  15963. Read_GL_NV_bindless_texture;
  15964. Read_GL_PGI_misc_hints;
  15965. Read_GL_SGIS_detail_texture;
  15966. Read_GL_SGIS_fog_function;
  15967. Read_GL_SGIS_multisample;
  15968. Read_GL_SGIS_pixel_texture;
  15969. Read_GL_SGIS_point_parameters;
  15970. Read_GL_SGIS_sharpen_texture;
  15971. Read_GL_SGIS_texture4D;
  15972. Read_GL_SGIS_texture_color_mask;
  15973. Read_GL_SGIS_texture_filter4;
  15974. Read_GL_SGIX_async;
  15975. Read_GL_SGIX_flush_raster;
  15976. Read_GL_SGIX_fragment_lighting;
  15977. Read_GL_SGIX_framezoom;
  15978. Read_GL_SGIX_igloo_interface;
  15979. Read_GL_SGIX_instruments;
  15980. Read_GL_SGIX_list_priority;
  15981. Read_GL_SGIX_pixel_texture;
  15982. Read_GL_SGIX_polynomial_ffd;
  15983. Read_GL_SGIX_reference_plane;
  15984. Read_GL_SGIX_sprite;
  15985. Read_GL_SGIX_tag_sample_buffer;
  15986. Read_GL_SGI_color_table;
  15987. Read_GL_SUNX_constant_data;
  15988. Read_GL_SUN_global_alpha;
  15989. Read_GL_SUN_mesh_array;
  15990. Read_GL_SUN_triangle_list;
  15991. Read_GL_SUN_vertex;
  15992. {$IFDEF DGL_WIN}
  15993. Read_WGL_ARB_buffer_region;
  15994. Read_WGL_ARB_extensions_string;
  15995. Read_WGL_ARB_make_current_read;
  15996. Read_WGL_ARB_pbuffer;
  15997. Read_WGL_ARB_pixel_format;
  15998. Read_WGL_ARB_pixel_format_float;
  15999. Read_WGL_ARB_render_texture;
  16000. Read_WGL_ARB_create_context;
  16001. Read_WGL_AMD_gpu_association;
  16002. Read_WGL_EXT_display_color_table;
  16003. Read_WGL_EXT_extensions_string;
  16004. Read_WGL_EXT_make_current_read;
  16005. Read_WGL_EXT_pbuffer;
  16006. Read_WGL_EXT_pixel_format;
  16007. Read_WGL_EXT_swap_control;
  16008. Read_WGL_I3D_digital_video_control;
  16009. Read_WGL_I3D_gamma;
  16010. Read_WGL_I3D_genlock;
  16011. Read_WGL_I3D_image_buffer;
  16012. Read_WGL_I3D_swap_frame_lock;
  16013. Read_WGL_I3D_swap_frame_usage;
  16014. Read_WGL_NV_vertex_array_range;
  16015. Read_WGL_NV_present_video;
  16016. Read_WGL_NV_video_output;
  16017. Read_WGL_NV_swap_group;
  16018. Read_WGL_NV_gpu_affinity;
  16019. Read_WGL_NV_video_capture;
  16020. Read_WGL_NV_copy_image;
  16021. Read_WGL_NV_DX_interop;
  16022. Read_WGL_OML_sync_control;
  16023. Read_WGL_3DL_stereo_control;
  16024. Read_WIN_draw_range_elements;
  16025. Read_WIN_swap_hint;
  16026. {$ENDIF}
  16027. ExtensionsRead := True;
  16028. end;
  16029. // =============================================================================
  16030. // ReadCoreVersion
  16031. // =============================================================================
  16032. procedure ReadCoreVersion;
  16033. var
  16034. AnsiBuffer: AnsiString;
  16035. Buffer: string;
  16036. MajorVersion, MinorVersion: Integer;
  16037. procedure TrimAndSplitVersionString(Buffer: string; var Max, Min: Integer);
  16038. // Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text"
  16039. // at least however "Major.Minor".
  16040. var
  16041. Separator: Integer;
  16042. begin
  16043. try
  16044. // There must be at least one dot to separate major and minor version number.
  16045. Separator := Pos('.', Buffer);
  16046. // At least one number must be before and one after the dot.
  16047. if (Separator > 1) and (Separator < Length(Buffer)) and (AnsiChar(Buffer[Separator - 1]) in ['0'..'9']) and
  16048. (AnsiChar(Buffer[Separator + 1]) in ['0'..'9']) then
  16049. begin
  16050. // OK, it's a valid version string. Now remove unnecessary parts.
  16051. Dec(Separator);
  16052. // Find last non-numeric character before version number.
  16053. while (Separator > 0) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  16054. Dec(Separator);
  16055. // Delete leading characters which do not belong to the version string.
  16056. Delete(Buffer, 1, Separator);
  16057. Separator := Pos('.', Buffer) + 1;
  16058. // Find first non-numeric character after version number
  16059. while (Separator <= Length(Buffer)) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  16060. Inc(Separator);
  16061. // delete trailing characters not belonging to the version string
  16062. Delete(Buffer, Separator, 255);
  16063. // Now translate the numbers.
  16064. Separator := Pos('.', Buffer); // This is necessary because the buffer length might have changed.
  16065. Max := StrToInt(Copy(Buffer, 1, Separator - 1));
  16066. Min := StrToInt(Copy(Buffer, Separator + 1, 1));
  16067. end
  16068. else
  16069. Abort;
  16070. except
  16071. Min := 0;
  16072. Max := 0;
  16073. end;
  16074. end;
  16075. begin
  16076. // determine version of implementation
  16077. // GL
  16078. if not Assigned(@glGetString) then
  16079. glGetString := dglGetProcAddress('glGetString');
  16080. AnsiBuffer := glGetString(GL_VERSION);
  16081. Buffer := string(AnsiBuffer);
  16082. TrimAndSplitVersionString(Buffer, MajorVersion, MinorVersion);
  16083. GL_VERSION_1_0 := True;
  16084. GL_VERSION_1_1 := False;
  16085. GL_VERSION_1_2 := False;
  16086. GL_VERSION_1_3 := False;
  16087. GL_VERSION_1_4 := False;
  16088. GL_VERSION_1_5 := False;
  16089. GL_VERSION_2_0 := False;
  16090. GL_VERSION_2_1 := False;
  16091. GL_VERSION_3_0 := False;
  16092. GL_VERSION_3_1 := False;
  16093. GL_VERSION_3_2 := False;
  16094. GL_VERSION_3_3 := False;
  16095. GL_VERSION_4_0 := False;
  16096. GL_VERSION_4_1 := False;
  16097. GL_VERSION_4_2 := False;
  16098. GL_VERSION_4_3 := False;
  16099. GL_VERSION_4_4 := False;
  16100. GL_VERSION_4_5 := False;
  16101. if MajorVersion = 1 then
  16102. begin
  16103. GL_VERSION_1_1 := MinorVersion >= 1;
  16104. GL_VERSION_1_2 := MinorVersion >= 2;
  16105. GL_VERSION_1_3 := MinorVersion >= 3;
  16106. GL_VERSION_1_4 := MinorVersion >= 4;
  16107. GL_VERSION_1_5 := MinorVersion >= 5;
  16108. end;
  16109. if MajorVersion >= 2 then
  16110. begin
  16111. GL_VERSION_1_1 := True;
  16112. GL_VERSION_1_2 := True;
  16113. GL_VERSION_1_3 := True;
  16114. GL_VERSION_1_4 := True;
  16115. GL_VERSION_1_5 := True;
  16116. GL_VERSION_2_0 := True;
  16117. GL_VERSION_2_1 := MinorVersion >= 1;
  16118. end;
  16119. if MajorVersion >= 3 then
  16120. begin
  16121. GL_VERSION_2_1 := True;
  16122. GL_VERSION_3_0 := True;
  16123. GL_VERSION_3_1 := MinorVersion >= 1;
  16124. GL_VERSION_3_2 := MinorVersion >= 2;
  16125. GL_VERSION_3_3 := MinorVersion >= 3;
  16126. end;
  16127. if MajorVersion >= 4 then
  16128. begin
  16129. GL_VERSION_3_1 := True;
  16130. GL_VERSION_3_2 := True;
  16131. GL_VERSION_3_3 := True;
  16132. GL_VERSION_4_0 := True;
  16133. GL_VERSION_4_1 := MinorVersion >= 1;
  16134. GL_VERSION_4_2 := MinorVersion >= 2;
  16135. GL_VERSION_4_3 := MinorVersion >= 3;
  16136. GL_VERSION_4_4 := MinorVersion >= 4;
  16137. GL_VERSION_4_5 := MinorVersion >= 5;
  16138. end;
  16139. // GLU
  16140. GLU_VERSION_1_1 := False;
  16141. GLU_VERSION_1_2 := False;
  16142. GLU_VERSION_1_3 := False;
  16143. if Assigned(gluGetString) then
  16144. begin
  16145. AnsiBuffer := gluGetString(GLU_VERSION);
  16146. Buffer := string(AnsiBuffer);
  16147. TrimAndSplitVersionString(Buffer, Majorversion, MinorVersion);
  16148. GLU_VERSION_1_1 := True;
  16149. GLU_VERSION_1_2 := MinorVersion >= 2;
  16150. GLU_VERSION_1_3 := MinorVersion >= 3;
  16151. end;
  16152. end;
  16153. // =============================================================================
  16154. // ReadImplementationProperties
  16155. // =============================================================================
  16156. procedure ReadImplementationProperties;
  16157. var
  16158. Buffer: Ansistring;
  16159. begin
  16160. ReadCoreVersion;
  16161. // Check all extensions
  16162. Buffer := Int_GetExtensionString;
  16163. // 3DFX
  16164. GL_3DFX_multisample := Int_CheckExtension(Buffer, 'GL_3DFX_multisample');
  16165. GL_3DFX_tbuffer := Int_CheckExtension(Buffer, 'GL_3DFX_tbuffer');
  16166. GL_3DFX_texture_compression_FXT1 := Int_CheckExtension(Buffer, 'GL_3DFX_texture_compression_FXT1');
  16167. // APPLE
  16168. GL_APPLE_client_storage := Int_CheckExtension(Buffer, 'GL_APPLE_client_storage');
  16169. GL_APPLE_element_array := Int_CheckExtension(Buffer, 'GL_APPLE_element_array');
  16170. GL_APPLE_fence := Int_CheckExtension(Buffer, 'GL_APPLE_fence');
  16171. GL_APPLE_specular_vector := Int_CheckExtension(Buffer, 'GL_APPLE_specular_vector');
  16172. GL_APPLE_transform_hint := Int_CheckExtension(Buffer, 'GL_APPLE_transform_hint');
  16173. GL_APPLE_vertex_array_object := Int_CheckExtension(Buffer, 'GL_APPLE_vertex_array_object');
  16174. GL_APPLE_vertex_array_range := Int_CheckExtension(Buffer, 'GL_APPLE_vertex_array_range');
  16175. GL_APPLE_ycbcr_422 := Int_CheckExtension(Buffer, 'GL_APPLE_ycbcr_422');
  16176. GL_APPLE_texture_range := Int_CheckExtension(Buffer, 'GL_APPLE_texture_range');
  16177. GL_APPLE_float_pixels := Int_CheckExtension(Buffer, 'GL_APPLE_float_pixels');
  16178. GL_APPLE_vertex_program_evaluators := Int_CheckExtension(Buffer, 'GL_APPLE_vertex_program_evaluators');
  16179. GL_APPLE_aux_depth_stencil := Int_CheckExtension(Buffer, 'GL_APPLE_aux_depth_stencil');
  16180. GL_APPLE_object_purgeable := Int_CheckExtension(Buffer, 'GL_APPLE_object_purgeable');
  16181. GL_APPLE_row_bytes := Int_CheckExtension(Buffer, 'GL_APPLE_row_bytes');
  16182. GL_APPLE_rgb_422 := Int_CheckExtension(Buffer, 'GL_APPLE_rgb_422');
  16183. // ARB
  16184. GL_ARB_depth_texture := Int_CheckExtension(Buffer, 'GL_ARB_depth_texture');
  16185. GL_ARB_fragment_program := Int_CheckExtension(Buffer, 'GL_ARB_fragment_program');
  16186. GL_ARB_imaging := Int_CheckExtension(Buffer, 'GL_ARB_imaging');
  16187. GL_ARB_matrix_palette := Int_CheckExtension(Buffer, 'GL_ARB_matrix_palette');
  16188. GL_ARB_multisample := Int_CheckExtension(Buffer, 'GL_ARB_multisample');
  16189. GL_ARB_multitexture := Int_CheckExtension(Buffer, 'GL_ARB_multitexture');
  16190. GL_ARB_point_parameters := Int_CheckExtension(Buffer, 'GL_ARB_point_parameters');
  16191. GL_ARB_shadow := Int_CheckExtension(Buffer, 'GL_ARB_shadow');
  16192. GL_ARB_shadow_ambient := Int_CheckExtension(Buffer, 'GL_ARB_shadow_ambient');
  16193. GL_ARB_sparse_texture := Int_CheckExtension(Buffer, 'GL_ARB_sparse_texture');
  16194. GL_ARB_texture_border_clamp := Int_CheckExtension(Buffer, 'GL_ARB_texture_border_clamp');
  16195. GL_ARB_texture_compression := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression');
  16196. GL_ARB_texture_cube_map := Int_CheckExtension(Buffer, 'GL_ARB_texture_cube_map');
  16197. GL_ARB_texture_env_add := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_add');
  16198. GL_ARB_texture_env_combine := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_combine');
  16199. GL_ARB_texture_env_crossbar := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_crossbar');
  16200. GL_ARB_texture_env_dot3 := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_dot3');
  16201. GL_ARB_texture_mirrored_repeat := Int_CheckExtension(Buffer, 'GL_ARB_texture_mirrored_repeat');
  16202. GL_ARB_transpose_matrix := Int_CheckExtension(Buffer, 'GL_ARB_transpose_matrix');
  16203. GL_ARB_vertex_blend := Int_CheckExtension(Buffer, 'GL_ARB_vertex_blend');
  16204. GL_ARB_vertex_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_vertex_buffer_object');
  16205. GL_ARB_vertex_program := Int_CheckExtension(Buffer, 'GL_ARB_vertex_program');
  16206. GL_ARB_window_pos := Int_CheckExtension(Buffer, 'GL_ARB_window_pos');
  16207. GL_ARB_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_shader_objects');
  16208. GL_ARB_vertex_shader := Int_CheckExtension(Buffer, 'GL_ARB_vertex_shader');
  16209. GL_ARB_fragment_shader := Int_CheckExtension(Buffer, 'GL_ARB_fragment_shader');
  16210. GL_ARB_occlusion_query := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query');
  16211. GL_ARB_shading_language_100 := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_100');
  16212. GL_ARB_point_sprite := Int_CheckExtension(Buffer, 'GL_ARB_point_sprite');
  16213. GL_ARB_texture_non_power_of_two := Int_CheckExtension(Buffer, 'GL_ARB_texture_non_power_of_two');
  16214. GL_ARB_fragment_program_shadow := Int_CheckExtension(Buffer, 'GL_ARB_fragment_program_shadow');
  16215. GL_ARB_draw_buffers := Int_CheckExtension(Buffer, 'GL_ARB_draw_buffers');
  16216. GL_ARB_texture_rectangle := Int_CheckExtension(Buffer, 'GL_ARB_texture_rectangle');
  16217. GL_ARB_color_buffer_float := Int_CheckExtension(Buffer, 'GL_ARB_color_buffer_float');
  16218. GL_ARB_half_float_pixel := Int_CheckExtension(Buffer, 'GL_ARB_half_float_pixel');
  16219. GL_ARB_texture_float := Int_CheckExtension(Buffer, 'GL_ARB_texture_float');
  16220. GL_ARB_pixel_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_pixel_buffer_object');
  16221. GL_ARB_depth_buffer_float := Int_CheckExtension(Buffer, 'GL_ARB_depth_buffer_float');
  16222. GL_ARB_draw_instanced := Int_CheckExtension(Buffer, 'GL_ARB_draw_instanced');
  16223. GL_ARB_framebuffer_object := Int_CheckExtension(Buffer, 'GL_ARB_framebuffer_object');
  16224. GL_ARB_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GL_ARB_framebuffer_sRGB');
  16225. GL_ARB_geometry_shader4 := Int_CheckExtension(Buffer, 'GL_ARB_geometry_shader4');
  16226. GL_ARB_half_float_vertex := Int_CheckExtension(Buffer, 'GL_ARB_half_float_vertex');
  16227. GL_ARB_instanced_arrays := Int_CheckExtension(Buffer, 'GL_ARB_instanced_arrays');
  16228. GL_ARB_map_buffer_range := Int_CheckExtension(Buffer, 'GL_ARB_map_buffer_range');
  16229. GL_ARB_texture_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_object');
  16230. GL_ARB_texture_compression_rgtc := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression_rgtc');
  16231. GL_ARB_texture_rg := Int_CheckExtension(Buffer, 'GL_ARB_texture_rg');
  16232. GL_ARB_vertex_array_object := Int_CheckExtension(Buffer, 'GL_ARB_vertex_array_object');
  16233. GL_ARB_uniform_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_uniform_buffer_object');
  16234. GL_ARB_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_compatibility');
  16235. GL_ARB_copy_buffer := Int_CheckExtension(Buffer, 'GL_ARB_copy_buffer');
  16236. GL_ARB_shader_texture_lod := Int_CheckExtension(Buffer, 'GL_ARB_shader_texture_lod');
  16237. GL_ARB_depth_clamp := Int_CheckExtension(Buffer, 'GL_ARB_depth_clamp');
  16238. GL_ARB_draw_elements_base_vertex := Int_CheckExtension(Buffer, 'GL_ARB_draw_elements_base_vertex');
  16239. GL_ARB_fragment_coord_conventions := Int_CheckExtension(Buffer, 'GL_ARB_fragment_coord_conventions');
  16240. GL_ARB_provoking_vertex := Int_CheckExtension(Buffer, 'GL_ARB_provoking_vertex');
  16241. GL_ARB_seamless_cube_map := Int_CheckExtension(Buffer, 'GL_ARB_seamless_cube_map');
  16242. GL_ARB_sync := Int_CheckExtension(Buffer, 'GL_ARB_sync');
  16243. GL_ARB_texture_multisample := Int_CheckExtension(Buffer, 'GL_ARB_texture_multisample');
  16244. GL_ARB_vertex_array_bgra := Int_CheckExtension(Buffer, 'GL_ARB_vertex_array_bgra');
  16245. GL_ARB_draw_buffers_blend := Int_CheckExtension(Buffer, 'GL_ARB_draw_buffers_blend');
  16246. GL_ARB_sample_shading := Int_CheckExtension(Buffer, 'GL_ARB_sample_shading');
  16247. GL_ARB_texture_cube_map_array := Int_CheckExtension(Buffer, 'GL_ARB_texture_cube_map_array');
  16248. GL_ARB_texture_gather := Int_CheckExtension(Buffer, 'GL_ARB_texture_gather');
  16249. GL_ARB_texture_query_lod := Int_CheckExtension(Buffer, 'GL_ARB_texture_query_lod');
  16250. GL_ARB_shading_language_include := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_include');
  16251. GL_ARB_texture_compression_bptc := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression_bptc');
  16252. GL_ARB_blend_func_extended := Int_CheckExtension(Buffer, 'GL_ARB_blend_func_extended');
  16253. GL_ARB_explicit_attrib_location := Int_CheckExtension(Buffer, 'GL_ARB_explicit_attrib_location');
  16254. GL_ARB_occlusion_query2 := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query2');
  16255. GL_ARB_sampler_objects := Int_CheckExtension(Buffer, 'GL_ARB_sampler_objects');
  16256. GL_ARB_shader_bit_encoding := Int_CheckExtension(Buffer, 'GL_ARB_shader_bit_encoding');
  16257. GL_ARB_texture_rgb10_a2ui := Int_CheckExtension(Buffer, 'GL_ARB_texture_rgb10_a2ui');
  16258. GL_ARB_texture_swizzle := Int_CheckExtension(Buffer, 'GL_ARB_texture_swizzle');
  16259. GL_ARB_timer_query := Int_CheckExtension(Buffer, 'GL_ARB_timer_query');
  16260. GL_ARB_vertex_type_2_10_10_10_rev := Int_CheckExtension(Buffer, 'GL_ARB_vertex_type_2_10_10_10_rev');
  16261. GL_ARB_draw_indirect := Int_CheckExtension(Buffer, 'GL_ARB_draw_indirect');
  16262. GL_ARB_gpu_shader5 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader5');
  16263. GL_ARB_gpu_shader_fp64 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader_fp64');
  16264. GL_ARB_shader_subroutine := Int_CheckExtension(Buffer, 'GL_ARB_shader_subroutine');
  16265. GL_ARB_tessellation_shader := Int_CheckExtension(Buffer, 'GL_ARB_tessellation_shader');
  16266. GL_ARB_texture_buffer_object_rgb32 := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_object_rgb32');
  16267. GL_ARB_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback2');
  16268. GL_ARB_transform_feedback3 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback3');
  16269. GL_ARB_ES2_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES2_compatibility');
  16270. GL_ARB_get_program_binary := Int_CheckExtension(Buffer, 'GL_ARB_get_program_binary');
  16271. GL_ARB_separate_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_separate_shader_objects');
  16272. GL_ARB_shader_precision := Int_CheckExtension(Buffer, 'GL_ARB_shader_precision');
  16273. GL_ARB_vertex_attrib_64bit := Int_CheckExtension(Buffer, 'GL_ARB_vertex_attrib_64bit');
  16274. GL_ARB_viewport_array := Int_CheckExtension(Buffer, 'GL_ARB_viewport_array');
  16275. GL_ARB_compute_variable_group_size := Int_CheckExtension(Buffer, 'GL_ARB_compute_variable_group_size');
  16276. // GL 4.2
  16277. GL_ARB_base_instance := Int_CheckExtension(Buffer, 'GL_ARB_base_instance');
  16278. GL_ARB_shading_language_420pack := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_420pack');
  16279. GL_ARB_transform_feedback_instanced := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback_instanced');
  16280. GL_ARB_compressed_texture_pixel_storage := Int_CheckExtension(Buffer, 'GL_ARB_compressed_texture_pixel_storage');
  16281. GL_ARB_conservative_depth := Int_CheckExtension(Buffer, 'GL_ARB_conservative_depth');
  16282. GL_ARB_internalformat_query := Int_CheckExtension(Buffer, 'GL_ARB_internalformat_query');
  16283. GL_ARB_map_buffer_alignment := Int_CheckExtension(Buffer, 'GL_ARB_map_buffer_alignment');
  16284. GL_ARB_shader_atomic_counters := Int_CheckExtension(Buffer, 'GL_ARB_shader_atomic_counters');
  16285. GL_ARB_shader_image_load_store := Int_CheckExtension(Buffer, 'GL_ARB_shader_image_load_store');
  16286. GL_ARB_shading_language_packing := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_packing');
  16287. GL_ARB_texture_storage := Int_CheckExtension(Buffer, 'GL_ARB_texture_storage');
  16288. // GL 4.3
  16289. GL_ARB_arrays_of_arrays := Int_CheckExtension(Buffer, 'GL_ARB_arrays_of_arrays');
  16290. GL_ARB_fragment_layer_viewport := Int_CheckExtension(Buffer, 'GL_ARB_fragment_layer_viewport');
  16291. GL_ARB_shader_image_size := Int_CheckExtension(Buffer, 'GL_ARB_shader_image_size');
  16292. GL_ARB_ES3_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES3_compatibility');
  16293. GL_ARB_clear_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_clear_buffer_object');
  16294. GL_ARB_compute_shader := Int_CheckExtension(Buffer, 'GL_ARB_compute_shader');
  16295. GL_ARB_copy_image := Int_CheckExtension(Buffer, 'GL_ARB_copy_image');
  16296. GL_KHR_debug := Int_CheckExtension(Buffer, 'GL_KHR_debug');
  16297. GL_ARB_explicit_uniform_location := Int_CheckExtension(Buffer, 'GL_ARB_explicit_uniform_location');
  16298. GL_ARB_framebuffer_no_attachments := Int_CheckExtension(Buffer, 'GL_ARB_framebuffer_no_attachments');
  16299. GL_ARB_internalformat_query2 := Int_CheckExtension(Buffer, 'GL_ARB_internalformat_query2');
  16300. GL_ARB_invalidate_subdata := Int_CheckExtension(Buffer, 'GL_ARB_invalidate_subdata');
  16301. GL_ARB_multi_draw_indirect := Int_CheckExtension(Buffer, 'GL_ARB_multi_draw_indirect');
  16302. GL_ARB_program_interface_query := Int_CheckExtension(Buffer, 'GL_ARB_program_interface_query');
  16303. GL_ARB_robust_buffer_access_behavior := Int_CheckExtension(Buffer, 'GL_ARB_robust_buffer_access_behavior');
  16304. GL_ARB_shader_storage_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_shader_storage_buffer_object');
  16305. GL_ARB_stencil_texturing := Int_CheckExtension(Buffer, 'GL_ARB_stencil_texturing');
  16306. GL_ARB_texture_buffer_range := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_range');
  16307. GL_ARB_texture_query_levels := Int_CheckExtension(Buffer, 'GL_ARB_texture_query_levels');
  16308. GL_ARB_texture_storage_multisample := Int_CheckExtension(Buffer, 'GL_ARB_texture_storage_multisample');
  16309. GL_ARB_texture_view := Int_CheckExtension(Buffer, 'GL_ARB_texture_view');
  16310. GL_ARB_vertex_attrib_binding := Int_CheckExtension(Buffer, 'GL_ARB_vertex_attrib_binding');
  16311. GL_ARB_cl_event := Int_CheckExtension(Buffer, 'GL_ARB_cl_event');
  16312. GL_ARB_debug_output := Int_CheckExtension(Buffer, 'GL_ARB_debug_output');
  16313. GL_ARB_robustness := Int_CheckExtension(Buffer, 'GL_ARB_robustness');
  16314. GL_ARB_shader_stencil_export := Int_CheckExtension(Buffer, 'GL_ARB_shader_stencil_export');
  16315. // GL 4.4
  16316. GL_ARB_buffer_storage := Int_CheckExtension(Buffer, 'GL_ARB_buffer_storage');
  16317. GL_ARB_clear_texture := Int_CheckExtension(Buffer, 'GL_ARB_clear_texture');
  16318. GL_ARB_enhanced_layouts := Int_CheckExtension(Buffer, 'GL_ARB_enhanced_layouts');
  16319. GL_ARB_multi_bind := Int_CheckExtension(Buffer, 'GL_ARB_multi_bind');
  16320. GL_ARB_query_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_query_buffer_object');
  16321. GL_ARB_texture_mirror_clamp_to_edge:= Int_CheckExtension(Buffer, 'GL_ARB_texture_mirror_clamp_to_edge');
  16322. GL_ARB_texture_stencil8 := Int_CheckExtension(Buffer, 'GL_ARB_texture_stencil8');
  16323. GL_ARB_vertex_type_10f_11f_11f_rev := Int_CheckExtension(Buffer, 'GL_ARB_vertex_type_10f_11f_11f_rev');
  16324. GL_ARB_bindless_texture := Int_CheckExtension(Buffer, 'GL_ARB_bindless_texture');
  16325. GL_ARB_sparse_texture := Int_CheckExtension(Buffer, 'GL_ARB_sparse_texture');
  16326. // GL 4.5
  16327. GL_ARB_clip_control := Int_CheckExtension(Buffer, 'GL_ARB_clip_control');
  16328. GL_ARB_cull_distance := Int_CheckExtension(Buffer, 'GL_ARB_cull_distance');
  16329. GL_ARB_ES3_1_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES3_1_compatibility');
  16330. GL_ARB_conditional_render_inverted := Int_CheckExtension(Buffer, 'GL_ARB_conditional_render_inverted');
  16331. GL_KHR_context_flush_control := Int_CheckExtension(Buffer, 'GL_KHR_context_flush_control');
  16332. GL_ARB_derivative_control := Int_CheckExtension(Buffer, 'GL_ARB_derivative_control');
  16333. GL_ARB_direct_state_access := Int_CheckExtension(Buffer, 'GL_ARB_direct_state_access');
  16334. GL_ARB_get_texture_sub_image := Int_CheckExtension(Buffer, 'GL_ARB_get_texture_sub_image');
  16335. GL_KHR_robustness := Int_CheckExtension(Buffer, 'GL_KHR_robustness');
  16336. GL_ARB_shader_texture_image_samples := Int_CheckExtension(Buffer, 'GL_ARB_shader_texture_image_samples');
  16337. GL_ARB_texture_barrier := Int_CheckExtension(Buffer, 'GL_ARB_texture_barrier');
  16338. // ATI/AMD
  16339. GL_ATI_draw_buffers := Int_CheckExtension(Buffer, 'GL_ATI_draw_buffers');
  16340. GL_ATI_element_array := Int_CheckExtension(Buffer, 'GL_ATI_element_array');
  16341. GL_ATI_envmap_bumpmap := Int_CheckExtension(Buffer, 'GL_ATI_envmap_bumpmap');
  16342. GL_ATI_fragment_shader := Int_CheckExtension(Buffer, 'GL_ATI_fragment_shader');
  16343. GL_ATI_map_object_buffer := Int_CheckExtension(Buffer, 'GL_ATI_map_object_buffer');
  16344. GL_ATI_pn_triangles := Int_CheckExtension(Buffer, 'GL_ATI_pn_triangles');
  16345. GL_ATI_separate_stencil := Int_CheckExtension(Buffer, 'GL_ATI_separate_stencil');
  16346. GL_ATI_text_fragment_shader := Int_CheckExtension(Buffer, 'GL_ATI_text_fragment_shader');
  16347. GL_ATI_texture_env_combine3 := Int_CheckExtension(Buffer, 'GL_ATI_texture_env_combine3');
  16348. GL_ATI_texture_float := Int_CheckExtension(Buffer, 'GL_ATI_texture_float');
  16349. GL_ATI_texture_mirror_once := Int_CheckExtension(Buffer, 'GL_ATI_texture_mirror_once');
  16350. GL_ATI_vertex_array_object := Int_CheckExtension(Buffer, 'GL_ATI_vertex_array_object');
  16351. GL_ATI_vertex_attrib_array_object := Int_CheckExtension(Buffer, 'GL_ATI_vertex_attrib_array_object');
  16352. GL_ATI_vertex_streams := Int_CheckExtension(Buffer, 'GL_ATI_vertex_streams');
  16353. GL_ATI_meminfo := Int_CheckExtension(Buffer, 'GL_ATI_meminfo');
  16354. GL_AMD_performance_monitor := Int_CheckExtension(Buffer, 'GL_AMD_performance_monitor');
  16355. GL_AMD_texture_texture4 := Int_CheckExtension(Buffer, 'GL_AMD_texture_texture4');
  16356. GL_AMD_vertex_shader_tesselator := Int_CheckExtension(Buffer, 'GL_AMD_vertex_shader_tesselator');
  16357. GL_AMD_draw_buffers_blend := Int_CheckExtension(Buffer, 'GL_AMD_draw_buffers_blend');
  16358. GL_AMD_shader_stencil_export := Int_CheckExtension(Buffer, 'GL_AMD_shader_stencil_export');
  16359. GL_AMD_seamless_cubemap_per_texture := Int_CheckExtension(Buffer, 'GL_AMD_seamless_cubemap_per_texture');
  16360. GL_AMD_conservative_depth := Int_CheckExtension(Buffer, 'GL_AMD_conservative_depth');
  16361. GL_AMD_name_gen_delete := Int_CheckExtension(Buffer, 'GL_AMD_name_gen_delete');
  16362. GL_AMD_debug_output := Int_CheckExtension(Buffer, 'GL_AMD_debug_output');
  16363. GL_AMD_transform_feedback3_lines_triangles := Int_CheckExtension(Buffer, 'GL_AMD_transform_feedback3_lines_triangles');
  16364. GL_AMD_depth_clamp_separate := Int_CheckExtension(Buffer, 'GL_AMD_depth_clamp_separate');
  16365. // 4.3
  16366. GL_AMD_pinned_memory := Int_CheckExtension(Buffer, 'GL_AMD_pinned_memory');
  16367. GL_AMD_stencil_operation_extended := Int_CheckExtension(Buffer, 'GL_AMD_stencil_operation_extended');
  16368. GL_AMD_vertex_shader_viewport_index := Int_CheckExtension(Buffer, 'GL_AMD_vertex_shader_viewport_index');
  16369. GL_AMD_vertex_shader_layer := Int_CheckExtension(Buffer, 'GL_AMD_vertex_shader_layer');
  16370. GL_AMD_query_buffer_object := Int_CheckExtension(Buffer, 'GL_AMD_query_buffer_object');
  16371. // EXT
  16372. GL_EXT_422_pixels := Int_CheckExtension(Buffer, 'GL_EXT_422_pixels');
  16373. GL_EXT_abgr := Int_CheckExtension(Buffer, 'GL_EXT_abgr');
  16374. GL_EXT_bgra := Int_CheckExtension(Buffer, 'GL_EXT_bgra');
  16375. GL_EXT_blend_color := Int_CheckExtension(Buffer, 'GL_EXT_blend_color');
  16376. GL_EXT_blend_func_separate := Int_CheckExtension(Buffer, 'GL_EXT_blend_func_separate');
  16377. GL_EXT_blend_logic_op := Int_CheckExtension(Buffer, 'GL_EXT_blend_logic_op');
  16378. GL_EXT_blend_minmax := Int_CheckExtension(Buffer, 'GL_EXT_blend_minmax');
  16379. GL_EXT_blend_subtract := Int_CheckExtension(Buffer, 'GL_EXT_blend_subtract');
  16380. GL_EXT_clip_volume_hint := Int_CheckExtension(Buffer, 'GL_EXT_clip_volume_hint');
  16381. GL_EXT_cmyka := Int_CheckExtension(Buffer, 'GL_EXT_cmyka');
  16382. GL_EXT_color_matrix := Int_CheckExtension(Buffer, 'GL_EXT_color_matrix');
  16383. GL_EXT_color_subtable := Int_CheckExtension(Buffer, 'GL_EXT_color_subtable');
  16384. GL_EXT_compiled_vertex_array := Int_CheckExtension(Buffer, 'GL_EXT_compiled_vertex_array');
  16385. GL_EXT_convolution := Int_CheckExtension(Buffer, 'GL_EXT_convolution');
  16386. GL_EXT_coordinate_frame := Int_CheckExtension(Buffer, 'GL_EXT_coordinate_frame');
  16387. GL_EXT_copy_texture := Int_CheckExtension(Buffer, 'GL_EXT_copy_texture');
  16388. GL_EXT_cull_vertex := Int_CheckExtension(Buffer, 'GL_EXT_cull_vertex');
  16389. GL_EXT_draw_range_elements := Int_CheckExtension(Buffer, 'GL_EXT_draw_range_elements');
  16390. GL_EXT_fog_coord := Int_CheckExtension(Buffer, 'GL_EXT_fog_coord');
  16391. GL_EXT_framebuffer_object := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_object');
  16392. GL_EXT_histogram := Int_CheckExtension(Buffer, 'GL_EXT_histogram');
  16393. GL_EXT_index_array_formats := Int_CheckExtension(Buffer, 'GL_EXT_index_array_formats');
  16394. GL_EXT_index_func := Int_CheckExtension(Buffer, 'GL_EXT_index_func');
  16395. GL_EXT_index_material := Int_CheckExtension(Buffer, 'GL_EXT_index_material');
  16396. GL_EXT_index_texture := Int_CheckExtension(Buffer, 'GL_EXT_index_texture');
  16397. GL_EXT_light_texture := Int_CheckExtension(Buffer, 'GL_EXT_light_texture');
  16398. GL_EXT_misc_attribute := Int_CheckExtension(Buffer, 'GL_EXT_misc_attribute');
  16399. GL_EXT_multi_draw_arrays := Int_CheckExtension(Buffer, 'GL_EXT_multi_draw_arrays');
  16400. GL_EXT_multisample := Int_CheckExtension(Buffer, 'GL_EXT_multisample');
  16401. GL_EXT_packed_pixels := Int_CheckExtension(Buffer, 'GL_EXT_packed_pixels');
  16402. GL_EXT_paletted_texture := Int_CheckExtension(Buffer, 'GL_EXT_paletted_texture');
  16403. GL_EXT_pixel_transform := Int_CheckExtension(Buffer, 'GL_EXT_pixel_transform');
  16404. GL_EXT_pixel_transform_color_table := Int_CheckExtension(Buffer, 'GL_EXT_pixel_transform_color_table');
  16405. GL_EXT_point_parameters := Int_CheckExtension(Buffer, 'GL_EXT_point_parameters');
  16406. GL_EXT_polygon_offset := Int_CheckExtension(Buffer, 'GL_EXT_polygon_offset');
  16407. GL_EXT_rescale_normal := Int_CheckExtension(Buffer, 'GL_EXT_rescale_normal');
  16408. GL_EXT_secondary_color := Int_CheckExtension(Buffer, 'GL_EXT_secondary_color');
  16409. GL_EXT_separate_specular_color := Int_CheckExtension(Buffer, 'GL_EXT_separate_specular_color');
  16410. GL_EXT_shadow_funcs := Int_CheckExtension(Buffer, 'GL_EXT_shadow_funcs');
  16411. GL_EXT_shared_texture_palette := Int_CheckExtension(Buffer, 'GL_EXT_shared_texture_palette');
  16412. GL_EXT_stencil_two_side := Int_CheckExtension(Buffer, 'GL_EXT_stencil_two_side');
  16413. GL_EXT_stencil_wrap := Int_CheckExtension(Buffer, 'GL_EXT_stencil_wrap');
  16414. GL_EXT_subtexture := Int_CheckExtension(Buffer, 'GL_EXT_subtexture');
  16415. GL_EXT_texture := Int_CheckExtension(Buffer, 'GL_EXT_texture');
  16416. GL_EXT_texture3D := Int_CheckExtension(Buffer, 'GL_EXT_texture3D');
  16417. GL_EXT_texture_compression_s3tc := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_s3tc');
  16418. GL_EXT_texture_cube_map := Int_CheckExtension(Buffer, 'GL_EXT_texture_cube_map');
  16419. GL_EXT_texture_edge_clamp := Int_CheckExtension(Buffer, 'GL_EXT_texture_edge_clamp');
  16420. GL_EXT_texture_env_add := Int_CheckExtension(Buffer, 'GL_EXT_texture_env_add');
  16421. GL_EXT_texture_env_combine := Int_CheckExtension(Buffer, 'GL_EXT_texture_env_combine');
  16422. GL_EXT_texture_env_dot3 := Int_CheckExtension(Buffer, 'GL_EXT_texture_env_dot3');
  16423. GL_EXT_texture_filter_anisotropic := Int_CheckExtension(Buffer, 'GL_EXT_texture_filter_anisotropic');
  16424. GL_EXT_texture_lod_bias := Int_CheckExtension(Buffer, 'GL_EXT_texture_lod_bias');
  16425. GL_EXT_texture_object := Int_CheckExtension(Buffer, 'GL_EXT_texture_object');
  16426. GL_EXT_texture_perturb_normal := Int_CheckExtension(Buffer, 'GL_EXT_texture_perturb_normal');
  16427. GL_EXT_texture_rectangle := Int_CheckExtension(Buffer, 'GL_EXT_texture_rectangle');
  16428. GL_EXT_vertex_array := Int_CheckExtension(Buffer, 'GL_EXT_vertex_array');
  16429. GL_EXT_vertex_shader := Int_CheckExtension(Buffer, 'GL_EXT_vertex_shader');
  16430. GL_EXT_vertex_weighting := Int_CheckExtension(Buffer, 'GL_EXT_vertex_weighting');
  16431. GL_EXT_depth_bounds_test := Int_CheckExtension(Buffer, 'GL_EXT_depth_bounds_test');
  16432. GL_EXT_texture_mirror_clamp := Int_CheckExtension(Buffer, 'GL_EXT_texture_mirror_clamp');
  16433. GL_EXT_blend_equation_separate := Int_CheckExtension(Buffer, 'GL_EXT_blend_equation_separate');
  16434. GL_EXT_pixel_buffer_object := Int_CheckExtension(Buffer, 'GL_EXT_pixel_buffer_object');
  16435. GL_EXT_texture_compression_dxt1 := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_dxt1');
  16436. GL_EXT_stencil_clear_tag := Int_CheckExtension(Buffer, 'GL_EXT_stencil_clear_tag');
  16437. GL_EXT_packed_depth_stencil := Int_CheckExtension(Buffer, 'GL_EXT_packed_depth_stencil');
  16438. GL_EXT_texture_sRGB := Int_CheckExtension(Buffer, 'GL_EXT_texture_sRGB');
  16439. GL_EXT_framebuffer_blit := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_blit');
  16440. GL_EXT_framebuffer_multisample := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_multisample');
  16441. GL_EXT_timer_query := Int_CheckExtension(Buffer, 'GL_EXT_timer_query');
  16442. GL_EXT_gpu_program_parameters := Int_CheckExtension(Buffer, 'GL_EXT_gpu_program_parameters');
  16443. GL_EXT_bindable_uniform := Int_CheckExtension(Buffer, 'GL_EXT_bindable_uniform');
  16444. GL_EXT_draw_buffers2 := Int_CheckExtension(Buffer, 'GL_EXT_draw_buffers2');
  16445. GL_EXT_draw_instanced := Int_CheckExtension(Buffer, 'GL_EXT_draw_instanced');
  16446. GL_EXT_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_sRGB');
  16447. GL_EXT_geometry_shader4 := Int_CheckExtension(Buffer, 'GL_EXT_geometry_shader4');
  16448. GL_EXT_gpu_shader4 := Int_CheckExtension(Buffer, 'GL_EXT_gpu_shader4');
  16449. GL_EXT_packed_float := Int_CheckExtension(Buffer, 'GL_EXT_packed_float');
  16450. GL_EXT_texture_array := Int_CheckExtension(Buffer, 'GL_EXT_texture_array');
  16451. GL_EXT_texture_buffer_object := Int_CheckExtension(Buffer, 'GL_EXT_texture_buffer_object');
  16452. GL_EXT_texture_compression_latc := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_latc');
  16453. GL_EXT_texture_compression_rgtc := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_rgtc');
  16454. GL_EXT_texture_integer := Int_CheckExtension(Buffer, 'GL_EXT_texture_integer');
  16455. GL_EXT_texture_shared_exponent := Int_CheckExtension(Buffer, 'GL_EXT_texture_shared_exponent');
  16456. GL_EXT_transform_feedback := Int_CheckExtension(Buffer, 'GL_EXT_transform_feedback');
  16457. GL_EXT_direct_state_access := Int_CheckExtension(Buffer, 'GL_EXT_direct_state_access');
  16458. GL_EXT_vertex_array_bgra := Int_CheckExtension(Buffer, 'GL_EXT_vertex_array_bgra');
  16459. GL_EXT_texture_swizzle := Int_CheckExtension(Buffer, 'GL_EXT_texture_swizzle');
  16460. GL_EXT_provoking_vertex := Int_CheckExtension(Buffer, 'GL_EXT_provoking_vertex');
  16461. GL_EXT_texture_snorm := Int_CheckExtension(Buffer, 'GL_EXT_texture_snorm');
  16462. GL_EXT_separate_shader_objects := Int_CheckExtension(Buffer, 'GL_EXT_separate_shader_objects');
  16463. GL_EXT_shader_image_load_store := Int_CheckExtension(Buffer, 'GL_EXT_shader_image_load_store');
  16464. GL_EXT_vertex_attrib_64bit := Int_CheckExtension(Buffer, 'GL_EXT_vertex_attrib_64bit');
  16465. GL_EXT_texture_sRGB_decode := Int_CheckExtension(Buffer, 'GL_EXT_texture_sRGB_decode');
  16466. // HP
  16467. GL_HP_convolution_border_modes := Int_CheckExtension(Buffer, 'GL_HP_convolution_border_modes');
  16468. GL_HP_image_transform := Int_CheckExtension(Buffer, 'GL_HP_image_transform');
  16469. GL_HP_occlusion_test := Int_CheckExtension(Buffer, 'GL_HP_occlusion_test');
  16470. GL_HP_texture_lighting := Int_CheckExtension(Buffer, 'GL_HP_texture_lighting');
  16471. // IBM
  16472. GL_IBM_cull_vertex := Int_CheckExtension(Buffer, 'GL_IBM_cull_vertex');
  16473. GL_IBM_multimode_draw_arrays := Int_CheckExtension(Buffer, 'GL_IBM_multimode_draw_arrays');
  16474. GL_IBM_rasterpos_clip := Int_CheckExtension(Buffer, 'GL_IBM_rasterpos_clip');
  16475. GL_IBM_texture_mirrored_repeat := Int_CheckExtension(Buffer, 'GL_IBM_texture_mirrored_repeat');
  16476. GL_IBM_vertex_array_lists := Int_CheckExtension(Buffer, 'GL_IBM_vertex_array_lists');
  16477. // INGR
  16478. GL_INGR_blend_func_separate := Int_CheckExtension(Buffer, 'GL_INGR_blend_func_separate');
  16479. GL_INGR_color_clamp := Int_CheckExtension(Buffer, 'GL_INGR_color_clamp');
  16480. GL_INGR_interlace_read := Int_CheckExtension(Buffer, 'GL_INGR_interlace_read');
  16481. GL_INGR_palette_buffer := Int_CheckExtension(Buffer, 'GL_INGR_palette_buffer');
  16482. // INTEL
  16483. GL_INTEL_parallel_arrays := Int_CheckExtension(Buffer, 'GL_INTEL_parallel_arrays');
  16484. GL_INTEL_texture_scissor := Int_CheckExtension(Buffer, 'GL_INTEL_texture_scissor');
  16485. // MESA
  16486. GL_MESA_resize_buffers := Int_CheckExtension(Buffer, 'GL_MESA_resize_buffers');
  16487. GL_MESA_window_pos := Int_CheckExtension(Buffer, 'GL_MESA_window_pos');
  16488. // Khronos
  16489. // 4.5
  16490. GL_KHR_blend_equation_advanced := Int_CheckExtension(Buffer, 'GL_KHR_blend_equation_advanced');
  16491. GL_KHR_blend_equation_advanced_coherent := Int_CheckExtension(Buffer, 'GL_KHR_blend_equation_advanced_coherent');
  16492. GL_KHR_robustness := Int_CheckExtension(Buffer, 'GL_KHR_robustness');
  16493. GL_KHR_robust_buffer_access_behavior := Int_CheckExtension(Buffer, 'GL_KHR_robust_buffer_access_behavior');
  16494. // NVIDIA
  16495. GL_NV_blend_square := Int_CheckExtension(Buffer, 'GL_NV_blend_square');
  16496. GL_NV_copy_depth_to_color := Int_CheckExtension(Buffer, 'GL_NV_copy_depth_to_color');
  16497. GL_NV_depth_clamp := Int_CheckExtension(Buffer, 'GL_NV_depth_clamp');
  16498. GL_NV_evaluators := Int_CheckExtension(Buffer, 'GL_NV_evaluators');
  16499. GL_NV_fence := Int_CheckExtension(Buffer, 'GL_NV_fence');
  16500. GL_NV_float_buffer := Int_CheckExtension(Buffer, 'GL_NV_float_buffer');
  16501. GL_NV_fog_distance := Int_CheckExtension(Buffer, 'GL_NV_fog_distance');
  16502. GL_NV_fragment_program := Int_CheckExtension(Buffer, 'GL_NV_fragment_program');
  16503. GL_NV_half_float := Int_CheckExtension(Buffer, 'GL_NV_half_float');
  16504. GL_NV_light_max_exponent := Int_CheckExtension(Buffer, 'GL_NV_light_max_exponent');
  16505. GL_NV_multisample_filter_hint := Int_CheckExtension(Buffer, 'GL_NV_multisample_filter_hint');
  16506. GL_NV_occlusion_query := Int_CheckExtension(Buffer, 'GL_NV_occlusion_query');
  16507. GL_NV_packed_depth_stencil := Int_CheckExtension(Buffer, 'GL_NV_packed_depth_stencil');
  16508. GL_NV_pixel_data_range := Int_CheckExtension(Buffer, 'GL_NV_pixel_data_range');
  16509. GL_NV_point_sprite := Int_CheckExtension(Buffer, 'GL_NV_point_sprite');
  16510. GL_NV_primitive_restart := Int_CheckExtension(Buffer, 'GL_NV_primitive_restart');
  16511. GL_NV_register_combiners := Int_CheckExtension(Buffer, 'GL_NV_register_combiners');
  16512. GL_NV_register_combiners2 := Int_CheckExtension(Buffer, 'GL_NV_register_combiners2');
  16513. GL_NV_texgen_emboss := Int_CheckExtension(Buffer, 'GL_NV_texgen_emboss');
  16514. GL_NV_texgen_reflection := Int_CheckExtension(Buffer, 'GL_NV_texgen_reflection');
  16515. GL_NV_texture_compression_vtc := Int_CheckExtension(Buffer, 'GL_NV_texture_compression_vtc');
  16516. GL_NV_texture_env_combine4 := Int_CheckExtension(Buffer, 'GL_NV_texture_env_combine4');
  16517. GL_NV_texture_expand_normal := Int_CheckExtension(Buffer, 'GL_NV_texture_expand_normal');
  16518. GL_NV_texture_rectangle := Int_CheckExtension(Buffer, 'GL_NV_texture_rectangle');
  16519. GL_NV_texture_shader := Int_CheckExtension(Buffer, 'GL_NV_texture_shader');
  16520. GL_NV_texture_shader2 := Int_CheckExtension(Buffer, 'GL_NV_texture_shader2');
  16521. GL_NV_texture_shader3 := Int_CheckExtension(Buffer, 'GL_NV_texture_shader3');
  16522. GL_NV_vertex_array_range := Int_CheckExtension(Buffer, 'GL_NV_vertex_array_range');
  16523. GL_NV_vertex_array_range2 := Int_CheckExtension(Buffer, 'GL_NV_vertex_array_range2');
  16524. GL_NV_vertex_program := Int_CheckExtension(Buffer, 'GL_NV_vertex_program');
  16525. GL_NV_vertex_program1_1 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program1_1');
  16526. GL_NV_vertex_program2 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program2');
  16527. GL_NV_fragment_program_option := Int_CheckExtension(Buffer, 'GL_NV_fragment_program_option');
  16528. GL_NV_fragment_program2 := Int_CheckExtension(Buffer, 'GL_NV_fragment_program2');
  16529. GL_NV_vertex_program2_option := Int_CheckExtension(Buffer, 'GL_NV_vertex_program2_option');
  16530. GL_NV_vertex_program3 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program3');
  16531. GL_NV_depth_buffer_float := Int_CheckExtension(Buffer, 'GL_NV_depth_buffer_float');
  16532. GL_NV_fragment_program4 := Int_CheckExtension(Buffer, 'GL_NV_fragment_program4');
  16533. GL_NV_framebuffer_multisample_coverage := Int_CheckExtension(Buffer, 'GL_NV_framebuffer_multisample_coverage');
  16534. GL_NV_geometry_program4 := Int_CheckExtension(Buffer, 'GL_NV_geometry_program4');
  16535. GL_NV_gpu_program4 := Int_CheckExtension(Buffer, 'GL_NV_gpu_program4');
  16536. GL_NV_parameter_buffer_object := Int_CheckExtension(Buffer, 'GL_NV_parameter_buffer_object');
  16537. GL_NV_transform_feedback := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback');
  16538. GL_NV_vertex_program4 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program4');
  16539. GL_NV_conditional_render := Int_CheckExtension(Buffer, 'GL_NV_conditional_render');
  16540. GL_NV_present_video := Int_CheckExtension(Buffer, 'GL_NV_present_video');
  16541. GL_NV_explicit_multisample := Int_CheckExtension(Buffer, 'GL_NV_explicit_multisample');
  16542. GL_NV_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback2');
  16543. GL_NV_video_capture := Int_CheckExtension(Buffer, 'GL_NV_video_capture');
  16544. GL_NV_copy_image := Int_CheckExtension(Buffer, 'GL_NV_copy_image');
  16545. GL_NV_parameter_buffer_object2 := Int_CheckExtension(Buffer, 'GL_NV_parameter_buffer_object2');
  16546. GL_NV_shader_buffer_load := Int_CheckExtension(Buffer, 'GL_NV_shader_buffer_load');
  16547. GL_NV_vertex_buffer_unified_memory := Int_CheckExtension(Buffer, 'GL_NV_vertex_buffer_unified_memory');
  16548. GL_NV_gpu_program5 := Int_CheckExtension(Buffer, 'GL_NV_gpu_program5');
  16549. GL_NV_gpu_shader5 := Int_CheckExtension(Buffer, 'GL_NV_gpu_shader5');
  16550. GL_NV_shader_buffer_store := Int_CheckExtension(Buffer, 'GL_NV_shader_buffer_store');
  16551. GL_NV_tessellation_program5 := Int_CheckExtension(Buffer, 'GL_NV_tessellation_program5');
  16552. GL_NV_vertex_attrib_integer_64bit := Int_CheckExtension(Buffer, 'GL_NV_vertex_attrib_integer_64bit');
  16553. GL_NV_multisample_coverage := Int_CheckExtension(Buffer, 'GL_NV_multisample_coverage');
  16554. GL_NV_vdpau_interop := Int_CheckExtension(Buffer, 'GL_NV_vdpau_interop');
  16555. GL_NV_texture_barrier := Int_CheckExtension(Buffer, 'GL_NV_texture_barrier');
  16556. // 4.3
  16557. GL_NV_path_rendering := Int_CheckExtension(Buffer, 'GL_NV_path_rendering');
  16558. GL_NV_bindless_texture := Int_CheckExtension(Buffer, 'GL_NV_bindless_texture');
  16559. GL_NV_shader_atomic_float := Int_CheckExtension(Buffer, 'GL_NV_shader_atomic_float');
  16560. // OML
  16561. GL_OML_interlace := Int_CheckExtension(Buffer, 'GL_OML_interlace');
  16562. GL_OML_resample := Int_CheckExtension(Buffer, 'GL_OML_resample');
  16563. GL_OML_subsample := Int_CheckExtension(Buffer, 'GL_OML_subsample');
  16564. // PGI
  16565. GL_PGI_misc_hints := Int_CheckExtension(Buffer, 'GL_PGI_misc_hints');
  16566. GL_PGI_vertex_hints := Int_CheckExtension(Buffer, 'GL_PGI_vertex_hints');
  16567. // REND
  16568. GL_REND_screen_coordinates := Int_CheckExtension(Buffer, 'GL_REND_screen_coordinates');
  16569. // S3
  16570. GL_S3_s3tc := Int_CheckExtension(Buffer, 'GL_S3_s3tc');
  16571. // SGIS
  16572. GL_SGIS_detail_texture := Int_CheckExtension(Buffer, 'GL_SGIS_detail_texture');
  16573. GL_SGIS_fog_function := Int_CheckExtension(Buffer, 'GL_SGIS_fog_function');
  16574. GL_SGIS_generate_mipmap := Int_CheckExtension(Buffer, 'GL_SGIS_generate_mipmap');
  16575. GL_SGIS_multisample := Int_CheckExtension(Buffer, 'GL_SGIS_multisample');
  16576. GL_SGIS_pixel_texture := Int_CheckExtension(Buffer, 'GL_SGIS_pixel_texture');
  16577. GL_SGIS_point_line_texgen := Int_CheckExtension(Buffer, 'GL_SGIS_point_line_texgen');
  16578. GL_SGIS_point_parameters := Int_CheckExtension(Buffer, 'GL_SGIS_point_parameters');
  16579. GL_SGIS_sharpen_texture := Int_CheckExtension(Buffer, 'GL_SGIS_sharpen_texture');
  16580. GL_SGIS_texture4D := Int_CheckExtension(Buffer, 'GL_SGIS_texture4D');
  16581. GL_SGIS_texture_border_clamp := Int_CheckExtension(Buffer, 'GL_SGIS_texture_border_clamp');
  16582. GL_SGIS_texture_color_mask := Int_CheckExtension(Buffer, 'GL_SGIS_texture_color_mask');
  16583. GL_SGIS_texture_edge_clamp := Int_CheckExtension(Buffer, 'GL_SGIS_texture_edge_clamp');
  16584. GL_SGIS_texture_filter4 := Int_CheckExtension(Buffer, 'GL_SGIS_texture_filter4');
  16585. GL_SGIS_texture_lod := Int_CheckExtension(Buffer, 'GL_SGIS_texture_lod');
  16586. GL_SGIS_texture_select := Int_CheckExtension(Buffer, 'GL_SGIS_texture_select');
  16587. // SGIX
  16588. GL_FfdMaskSGIX := Int_CheckExtension(Buffer, 'GL_FfdMaskSGIX');
  16589. GL_SGIX_async := Int_CheckExtension(Buffer, 'GL_SGIX_async');
  16590. GL_SGIX_async_histogram := Int_CheckExtension(Buffer, 'GL_SGIX_async_histogram');
  16591. GL_SGIX_async_pixel := Int_CheckExtension(Buffer, 'GL_SGIX_async_pixel');
  16592. GL_SGIX_blend_alpha_minmax := Int_CheckExtension(Buffer, 'GL_SGIX_blend_alpha_minmax');
  16593. GL_SGIX_calligraphic_fragment := Int_CheckExtension(Buffer, 'GL_SGIX_calligraphic_fragment');
  16594. GL_SGIX_clipmap := Int_CheckExtension(Buffer, 'GL_SGIX_clipmap');
  16595. GL_SGIX_convolution_accuracy := Int_CheckExtension(Buffer, 'GL_SGIX_convolution_accuracy');
  16596. GL_SGIX_depth_pass_instrument := Int_CheckExtension(Buffer, 'GL_SGIX_depth_pass_instrument');
  16597. GL_SGIX_depth_texture := Int_CheckExtension(Buffer, 'GL_SGIX_depth_texture');
  16598. GL_SGIX_flush_raster := Int_CheckExtension(Buffer, 'GL_SGIX_flush_raster');
  16599. GL_SGIX_fog_offset := Int_CheckExtension(Buffer, 'GL_SGIX_fog_offset');
  16600. GL_SGIX_fog_scale := Int_CheckExtension(Buffer, 'GL_SGIX_fog_scale');
  16601. GL_SGIX_fragment_lighting := Int_CheckExtension(Buffer, 'GL_SGIX_fragment_lighting');
  16602. GL_SGIX_framezoom := Int_CheckExtension(Buffer, 'GL_SGIX_framezoom');
  16603. GL_SGIX_igloo_interface := Int_CheckExtension(Buffer, 'GL_SGIX_igloo_interface');
  16604. GL_SGIX_impact_pixel_texture := Int_CheckExtension(Buffer, 'GL_SGIX_impact_pixel_texture');
  16605. GL_SGIX_instruments := Int_CheckExtension(Buffer, 'GL_SGIX_instruments');
  16606. GL_SGIX_interlace := Int_CheckExtension(Buffer, 'GL_SGIX_interlace');
  16607. GL_SGIX_ir_instrument1 := Int_CheckExtension(Buffer, 'GL_SGIX_ir_instrument1');
  16608. GL_SGIX_list_priority := Int_CheckExtension(Buffer, 'GL_SGIX_list_priority');
  16609. GL_SGIX_pixel_texture := Int_CheckExtension(Buffer, 'GL_SGIX_pixel_texture');
  16610. GL_SGIX_pixel_tiles := Int_CheckExtension(Buffer, 'GL_SGIX_pixel_tiles');
  16611. GL_SGIX_polynomial_ffd := Int_CheckExtension(Buffer, 'GL_SGIX_polynomial_ffd');
  16612. GL_SGIX_reference_plane := Int_CheckExtension(Buffer, 'GL_SGIX_reference_plane');
  16613. GL_SGIX_resample := Int_CheckExtension(Buffer, 'GL_SGIX_resample');
  16614. GL_SGIX_scalebias_hint := Int_CheckExtension(Buffer, 'GL_SGIX_scalebias_hint');
  16615. GL_SGIX_shadow := Int_CheckExtension(Buffer, 'GL_SGIX_shadow');
  16616. GL_SGIX_shadow_ambient := Int_CheckExtension(Buffer, 'GL_SGIX_shadow_ambient');
  16617. GL_SGIX_sprite := Int_CheckExtension(Buffer, 'GL_SGIX_sprite');
  16618. GL_SGIX_subsample := Int_CheckExtension(Buffer, 'GL_SGIX_subsample');
  16619. GL_SGIX_tag_sample_buffer := Int_CheckExtension(Buffer, 'GL_SGIX_tag_sample_buffer');
  16620. GL_SGIX_texture_add_env := Int_CheckExtension(Buffer, 'GL_SGIX_texture_add_env');
  16621. GL_SGIX_texture_coordinate_clamp := Int_CheckExtension(Buffer, 'GL_SGIX_texture_coordinate_clamp');
  16622. GL_SGIX_texture_lod_bias := Int_CheckExtension(Buffer, 'GL_SGIX_texture_lod_bias');
  16623. GL_SGIX_texture_multi_buffer := Int_CheckExtension(Buffer, 'GL_SGIX_texture_multi_buffer');
  16624. GL_SGIX_texture_scale_bias := Int_CheckExtension(Buffer, 'GL_SGIX_texture_scale_bias');
  16625. GL_SGIX_texture_select := Int_CheckExtension(Buffer, 'GL_SGIX_texture_select');
  16626. GL_SGIX_vertex_preclip := Int_CheckExtension(Buffer, 'GL_SGIX_vertex_preclip');
  16627. GL_SGIX_ycrcb := Int_CheckExtension(Buffer, 'GL_SGIX_ycrcb');
  16628. GL_SGIX_ycrcb_subsample := Int_CheckExtension(Buffer, 'GL_SGIX_ycrcb_subsample');
  16629. GL_SGIX_ycrcba := Int_CheckExtension(Buffer, 'GL_SGIX_ycrcba');
  16630. // SGI
  16631. GL_SGI_color_matrix := Int_CheckExtension(Buffer, 'GL_SGI_color_matrix');
  16632. GL_SGI_color_table := Int_CheckExtension(Buffer, 'GL_SGI_color_table');
  16633. GL_SGI_depth_pass_instrument := Int_CheckExtension(Buffer, 'GL_SGI_depth_pass_instrument');
  16634. GL_SGI_texture_color_table := Int_CheckExtension(Buffer, 'GL_SGI_texture_color_table');
  16635. // SUN
  16636. GL_SUNX_constant_data := Int_CheckExtension(Buffer, 'GL_SUNX_constant_data');
  16637. GL_SUN_convolution_border_modes := Int_CheckExtension(Buffer, 'GL_SUN_convolution_border_modes');
  16638. GL_SUN_global_alpha := Int_CheckExtension(Buffer, 'GL_SUN_global_alpha');
  16639. GL_SUN_mesh_array := Int_CheckExtension(Buffer, 'GL_SUN_mesh_array');
  16640. GL_SUN_slice_accum := Int_CheckExtension(Buffer, 'GL_SUN_slice_accum');
  16641. GL_SUN_triangle_list := Int_CheckExtension(Buffer, 'GL_SUN_triangle_list');
  16642. GL_SUN_vertex := Int_CheckExtension(Buffer, 'GL_SUN_vertex');
  16643. // WIN
  16644. GL_WIN_phong_shading := Int_CheckExtension(Buffer, 'GL_WIN_phong_shading');
  16645. GL_WIN_specular_fog := Int_CheckExtension(Buffer, 'GL_WIN_specular_fog');
  16646. {$IFDEF DGL_WIN}
  16647. // WGL
  16648. WGL_3DFX_multisample := Int_CheckExtension(Buffer, 'WGL_3DFX_multisample');
  16649. WGL_ARB_buffer_region := Int_CheckExtension(Buffer, 'WGL_ARB_buffer_region');
  16650. WGL_ARB_extensions_string := Int_CheckExtension(Buffer, 'WGL_ARB_extensions_string');
  16651. WGL_ARB_make_current_read := Int_CheckExtension(Buffer, 'WGL_ARB_make_current_read');
  16652. WGL_ARB_multisample := Int_CheckExtension(Buffer, 'WGL_ARB_multisample');
  16653. WGL_ARB_pbuffer := Int_CheckExtension(Buffer, 'WGL_ARB_pbuffer');
  16654. WGL_ARB_pixel_format := Int_CheckExtension(Buffer, 'WGL_ARB_pixel_format');
  16655. WGL_ARB_pixel_format_float := Int_CheckExtension(Buffer, 'WGL_ARB_pixel_format_float');
  16656. WGL_ARB_render_texture := Int_CheckExtension(Buffer, 'WGL_ARB_render_texture');
  16657. WGL_ARB_create_context := Int_CheckExtension(Buffer, 'WGL_ARB_create_context');
  16658. WGL_ARB_create_context_profile := Int_CheckExtension(Buffer, 'WGL_ARB_create_context_profile');
  16659. WGL_ARB_framebuffer_sRGB := Int_CheckExtension(Buffer, 'WGL_ARB_framebuffer_sRGB');
  16660. WGL_ARB_create_context_robustness := Int_CheckExtension(Buffer, 'WGL_ARB_create_context_robustness');
  16661. WGL_ATI_pixel_format_float := Int_CheckExtension(Buffer, 'WGL_ATI_pixel_format_float');
  16662. WGL_AMD_gpu_association := Int_CheckExtension(Buffer, 'WGL_AMD_gpu_association');
  16663. WGL_EXT_depth_float := Int_CheckExtension(Buffer, 'WGL_EXT_depth_float');
  16664. WGL_EXT_display_color_table := Int_CheckExtension(Buffer, 'WGL_EXT_display_color_table');
  16665. WGL_EXT_extensions_string := Int_CheckExtension(Buffer, 'WGL_EXT_extensions_string');
  16666. WGL_EXT_make_current_read := Int_CheckExtension(Buffer, 'WGL_EXT_make_current_read');
  16667. WGL_EXT_multisample := Int_CheckExtension(Buffer, 'WGL_EXT_multisample');
  16668. WGL_EXT_pbuffer := Int_CheckExtension(Buffer, 'WGL_EXT_pbuffer');
  16669. WGL_EXT_pixel_format := Int_CheckExtension(Buffer, 'WGL_EXT_pixel_format');
  16670. WGL_EXT_swap_control := Int_CheckExtension(Buffer, 'WGL_EXT_swap_control');
  16671. WGL_EXT_create_context_es2_profile := Int_CheckExtension(Buffer, 'WGL_EXT_create_context_es2_profile');
  16672. WGL_I3D_digital_video_control := Int_CheckExtension(Buffer, 'WGL_I3D_digital_video_control');
  16673. WGL_I3D_gamma := Int_CheckExtension(Buffer, 'WGL_I3D_gamma');
  16674. WGL_I3D_genlock := Int_CheckExtension(Buffer, 'WGL_I3D_genlock');
  16675. WGL_I3D_image_buffer := Int_CheckExtension(Buffer, 'WGL_I3D_image_buffer');
  16676. WGL_I3D_swap_frame_lock := Int_CheckExtension(Buffer, 'WGL_I3D_swap_frame_lock');
  16677. WGL_I3D_swap_frame_usage := Int_CheckExtension(Buffer, 'WGL_I3D_swap_frame_usage');
  16678. WGL_NV_float_buffer := Int_CheckExtension(Buffer, 'WGL_NV_float_buffer');
  16679. WGL_NV_render_depth_texture := Int_CheckExtension(Buffer, 'WGL_NV_render_depth_texture');
  16680. WGL_NV_render_texture_rectangle := Int_CheckExtension(Buffer, 'WGL_NV_render_texture_rectangle');
  16681. WGL_NV_vertex_array_range := Int_CheckExtension(Buffer, 'WGL_NV_vertex_array_range');
  16682. WGL_NV_present_video := Int_CheckExtension(Buffer, 'WGL_NV_present_video');
  16683. WGL_NV_video_output := Int_CheckExtension(Buffer, 'WGL_NV_video_output');
  16684. WGL_NV_swap_group := Int_CheckExtension(Buffer, 'WGL_NV_swap_group');
  16685. WGL_NV_gpu_affinity := Int_CheckExtension(Buffer, 'WGL_NV_gpu_affinity');
  16686. WGL_NV_video_capture := Int_CheckExtension(Buffer, 'WGL_NV_video_capture');
  16687. WGL_NV_copy_image := Int_CheckExtension(Buffer, 'WGL_NV_copy_image');
  16688. WGL_NV_multisample_coverage := Int_CheckExtension(Buffer, 'WGL_NV_multisample_coverage');
  16689. WGL_NV_DX_interop := Int_CheckExtension(Buffer, 'WGL_NV_multisample_coverage');
  16690. WGL_OML_sync_control := Int_CheckExtension(Buffer, 'WGL_OML_sync_control');
  16691. WGL_3DL_stereo_control := Int_CheckExtension(Buffer, 'WGL_3DL_stereo_control');
  16692. WGL_ARB_context_flush_control := Int_CheckExtension(Buffer, 'WGL_ARB_context_flush_control');
  16693. WIN_draw_range_elements := Int_CheckExtension(Buffer, 'WIN_draw_range_elements');
  16694. WIN_swap_hint := Int_CheckExtension(Buffer, 'WIN_swap_hint');
  16695. {$ENDIF}
  16696. {$IFDEF DGL_LINUX}
  16697. // GLX
  16698. GLX_ARB_multisample := Int_CheckExtension(Buffer, 'GLX_ARB_multisample');
  16699. GLX_ARB_fbconfig_float := Int_CheckExtension(Buffer, 'GLX_ARB_fbconfig_float');
  16700. GLX_ARB_get_proc_address := Int_CheckExtension(Buffer, 'GLX_ARB_get_proc_address');
  16701. GLX_ARB_create_context := Int_CheckExtension(Buffer, 'GLX_ARB_create_context');
  16702. GLX_ARB_create_context_profile := Int_CheckExtension(Buffer, 'GLX_ARB_create_context_profile');
  16703. GLX_ARB_vertex_buffer_object := Int_CheckExtension(Buffer, 'GLX_ARB_vertex_buffer_object');
  16704. GLX_ARB_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GLX_ARB_framebuffer_sRGB');
  16705. GLX_ARB_create_context_robustness := Int_CheckExtension(Buffer, 'GLX_ARB_create_context_robustness');
  16706. GLX_EXT_visual_info := Int_CheckExtension(Buffer, 'GLX_EXT_visual_info');
  16707. GLX_EXT_visual_rating := Int_CheckExtension(Buffer, 'GLX_EXT_visual_rating');
  16708. GLX_EXT_import_context := Int_CheckExtension(Buffer, 'GLX_EXT_import_context');
  16709. GLX_EXT_fbconfig_packed_float := Int_CheckExtension(Buffer, 'GLX_EXT_fbconfig_packed_float');
  16710. GLX_EXT_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GLX_EXT_framebuffer_sRGB');
  16711. GLX_EXT_texture_from_pixmap := Int_CheckExtension(Buffer, 'GLX_EXT_texture_from_pixmap');
  16712. GLX_EXT_swap_control := Int_CheckExtension(Buffer, 'GLX_EXT_swap_control');
  16713. GLX_EXT_create_context_es2_profile := Int_CheckExtension(Buffer, 'GLX_EXT_create_context_es2_profile');
  16714. GLX_ARB_context_flush_control := Int_CheckExtension(Buffer, 'GLX_ARB_context_flush_control');
  16715. {$ENDIF}
  16716. ImplementationRead := True;
  16717. end;
  16718. {$IFDEF DGL_WIN}
  16719. // =============================================================================
  16720. // RaiseLastOSError
  16721. // =============================================================================
  16722. // Needed for compatibility with older Delphiversions
  16723. // =============================================================================
  16724. procedure RaiseLastOSError;
  16725. begin
  16726. {$IFDEF FPC}
  16727. raise Exception.Create('RaiseLastOSError!'); // To-Do: find a better solution
  16728. {$ELSE}
  16729. SysUtils.RaiseLastOSError;
  16730. {$ENDIF}
  16731. end;
  16732. // =============================================================================
  16733. // CreateRenderingContext
  16734. // =============================================================================
  16735. function CreateRenderingContext(DC: HDC; Options: TRCOptions; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC;
  16736. const
  16737. OBJ_MEMDC = 10;
  16738. OBJ_ENHMETADC = 12;
  16739. OBJ_METADC = 4;
  16740. PFD_DOUBLEBUFFER = $00000001;
  16741. PFD_STEREO = $00000002;
  16742. PFD_DRAW_TO_WINDOW = $00000004;
  16743. PFD_DRAW_TO_BITMAP = $00000008;
  16744. PFD_SUPPORT_GDI = $00000010;
  16745. PFD_SUPPORT_OPENGL = $00000020;
  16746. PFD_TYPE_RGBA = 0;
  16747. PFD_MAIN_PLANE = 0;
  16748. PFD_OVERLAY_PLANE = 1;
  16749. PFD_UNDERLAY_PLANE = LongWord(-1);
  16750. MemoryDCs = [OBJ_MEMDC, OBJ_METADC, OBJ_ENHMETADC];
  16751. var
  16752. PFDescriptor: TPixelFormatDescriptor;
  16753. PixelFormat: Integer;
  16754. AType: DWORD;
  16755. begin
  16756. if GL_LibHandle = nil then
  16757. InitOpenGL;
  16758. FillChar(PFDescriptor, SizeOf(PFDescriptor), 0);
  16759. with PFDescriptor do
  16760. begin
  16761. nSize := SizeOf(PFDescriptor);
  16762. nVersion := 1;
  16763. dwFlags := PFD_SUPPORT_OPENGL;
  16764. AType := GetObjectType(DC);
  16765. if AType = 0 then
  16766. RaiseLastOSError;
  16767. if AType in MemoryDCs then
  16768. dwFlags := dwFlags or PFD_DRAW_TO_BITMAP
  16769. else
  16770. dwFlags := dwFlags or PFD_DRAW_TO_WINDOW;
  16771. if opDoubleBuffered in Options then
  16772. dwFlags := dwFlags or PFD_DOUBLEBUFFER;
  16773. if opGDI in Options then
  16774. dwFlags := dwFlags or PFD_SUPPORT_GDI;
  16775. if opStereo in Options then
  16776. dwFlags := dwFlags or PFD_STEREO;
  16777. iPixelType := PFD_TYPE_RGBA;
  16778. cColorBits := ColorBits;
  16779. cDepthBits := zBits;
  16780. cStencilBits := StencilBits;
  16781. cAccumBits := AccumBits;
  16782. cAuxBuffers := AuxBuffers;
  16783. if Layer = 0 then
  16784. iLayerType := PFD_MAIN_PLANE
  16785. else
  16786. if Layer > 0 then
  16787. iLayerType := PFD_OVERLAY_PLANE
  16788. else
  16789. iLayerType := Byte(PFD_UNDERLAY_PLANE);
  16790. end;
  16791. PixelFormat := ChoosePixelFormat(DC, @PFDescriptor);
  16792. if PixelFormat = 0 then
  16793. RaiseLastOSError;
  16794. if GetPixelFormat(DC) <> PixelFormat then
  16795. if not SetPixelFormat(DC, PixelFormat, @PFDescriptor) then
  16796. RaiseLastOSError;
  16797. DescribePixelFormat(DC, PixelFormat, SizeOf(PFDescriptor), PFDescriptor);
  16798. Result := wglCreateContext(DC);
  16799. if Result = 0 then
  16800. RaiseLastOSError
  16801. else
  16802. LastPixelFormat := 0;
  16803. end;
  16804. // =============================================================================
  16805. // CreateRenderingContextVersion
  16806. // =============================================================================
  16807. // Creates a context for the more recent OpenGL versions (3.0) and up
  16808. // For that we first need to get a normal GL context for getting the
  16809. // function pointer to wglCreateContextAttribsARB first
  16810. // =============================================================================
  16811. function CreateRenderingContextVersion(DC: HDC; Options: TRCOptions; MajorVersion, MinorVersion: Integer; ForwardCompatible: Boolean; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC;
  16812. const
  16813. OBJ_MEMDC = 10;
  16814. OBJ_ENHMETADC = 12;
  16815. OBJ_METADC = 4;
  16816. PFD_DOUBLEBUFFER = $00000001;
  16817. PFD_STEREO = $00000002;
  16818. PFD_DRAW_TO_WINDOW = $00000004;
  16819. PFD_DRAW_TO_BITMAP = $00000008;
  16820. PFD_SUPPORT_GDI = $00000010;
  16821. PFD_SUPPORT_OPENGL = $00000020;
  16822. PFD_TYPE_RGBA = 0;
  16823. PFD_MAIN_PLANE = 0;
  16824. PFD_OVERLAY_PLANE = 1;
  16825. PFD_UNDERLAY_PLANE = LongWord(-1);
  16826. MemoryDCs = [OBJ_MEMDC, OBJ_METADC, OBJ_ENHMETADC];
  16827. var
  16828. PFDescriptor: TPixelFormatDescriptor;
  16829. PixelFormat: Integer;
  16830. AType: DWORD;
  16831. LegacyRC: HGLRC;
  16832. Attribs: array of Integer;
  16833. begin
  16834. if GL_LibHandle = nil then
  16835. InitOpenGL;
  16836. if not Assigned(GL_LibHandle) then
  16837. raise Exception.Create('GL_LibHandle is NIL. Could not load OpenGL library!');
  16838. FillChar(PFDescriptor, SizeOf(PFDescriptor), 0);
  16839. with PFDescriptor do
  16840. begin
  16841. nSize := SizeOf(PFDescriptor);
  16842. nVersion := 1;
  16843. dwFlags := PFD_SUPPORT_OPENGL;
  16844. AType := GetObjectType(DC);
  16845. if AType = 0 then
  16846. RaiseLastOSError;
  16847. if AType in MemoryDCs then
  16848. dwFlags := dwFlags or PFD_DRAW_TO_BITMAP
  16849. else
  16850. dwFlags := dwFlags or PFD_DRAW_TO_WINDOW;
  16851. if opDoubleBuffered in Options then
  16852. dwFlags := dwFlags or PFD_DOUBLEBUFFER;
  16853. if opGDI in Options then
  16854. dwFlags := dwFlags or PFD_SUPPORT_GDI;
  16855. if opStereo in Options then
  16856. dwFlags := dwFlags or PFD_STEREO;
  16857. iPixelType := PFD_TYPE_RGBA;
  16858. cColorBits := ColorBits;
  16859. cDepthBits := zBits;
  16860. cStencilBits := StencilBits;
  16861. cAccumBits := AccumBits;
  16862. cAuxBuffers := AuxBuffers;
  16863. if Layer = 0 then
  16864. iLayerType := PFD_MAIN_PLANE
  16865. else
  16866. if Layer > 0 then
  16867. iLayerType := PFD_OVERLAY_PLANE
  16868. else
  16869. iLayerType := Byte(PFD_UNDERLAY_PLANE);
  16870. end;
  16871. PixelFormat := ChoosePixelFormat(DC, @PFDescriptor);
  16872. if PixelFormat = 0 then
  16873. RaiseLastOSError;
  16874. if GetPixelFormat(DC) <> PixelFormat then
  16875. if not SetPixelFormat(DC, PixelFormat, @PFDescriptor) then
  16876. RaiseLastOSError;
  16877. DescribePixelFormat(DC, PixelFormat, SizeOf(PFDescriptor), PFDescriptor);
  16878. // Create legacy render context first for we need function pointers to
  16879. // create new OpenGL render contexts
  16880. LegacyRC := wglCreateContext(DC);
  16881. wglMakeCurrent(DC, LegacyRC);
  16882. // Set attributes to describe our requested context
  16883. SetLength(Attribs, 5);
  16884. Attribs[0] := WGL_CONTEXT_MAJOR_VERSION_ARB;
  16885. Attribs[1] := MajorVersion;
  16886. Attribs[2] := WGL_CONTEXT_MINOR_VERSION_ARB;
  16887. Attribs[3] := MinorVersion;
  16888. // Add context flag for forward compatible context
  16889. // Forward compatible means no more support for legacy functions like
  16890. // immediate mode (glvertex, glrotate, gltranslate, etc.)
  16891. if ForwardCompatible then
  16892. begin
  16893. SetLength(Attribs, Length(Attribs)+2);
  16894. Attribs[4] := WGL_CONTEXT_FLAGS_ARB;
  16895. Attribs[5] := WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB;
  16896. end;
  16897. // Attribute flags must be finalized with a zero
  16898. Attribs[High(Attribs)] := 0;
  16899. // Get function pointer for new context creation function
  16900. wglCreateContextAttribsARB := wglGetProcAddress('wglCreateContextAttribsARB');
  16901. if not Assigned(wglCreateContextAttribsARB) then
  16902. begin
  16903. raise Exception.Create('Could not get function pointer adress for wglCreateContextAttribsARB - OpenGL 3.x and above not supported!');
  16904. wglDeleteContext(LegacyRC);
  16905. exit;
  16906. end;
  16907. // Create context
  16908. Result := wglCreateContextAttribsARB(DC, 0, @Attribs[0]);
  16909. if Result = 0 then
  16910. begin
  16911. raise Exception.Create('Could not create the desired OpenGL rendering context!');
  16912. wglDeleteContext(LegacyRC);
  16913. exit;
  16914. end;
  16915. wglDeleteContext(LegacyRC);
  16916. if Result = 0 then
  16917. RaiseLastOSError
  16918. else
  16919. LastPixelFormat := 0;
  16920. end;
  16921. // =============================================================================
  16922. // DestroyRenderingContext
  16923. // =============================================================================
  16924. procedure DestroyRenderingContext(RC: HGLRC);
  16925. begin
  16926. wglDeleteContext(RC);
  16927. end;
  16928. // =============================================================================
  16929. // ActivateRenderingContext
  16930. // =============================================================================
  16931. procedure ActivateRenderingContext(DC: HDC; RC: HGLRC; loadext: boolean = true);
  16932. begin
  16933. Assert((DC <> 0), 'DC must not be 0');
  16934. Assert((RC <> 0), 'RC must not be 0');
  16935. wglMakeCurrent(DC, RC);
  16936. {$IFDEF DGL_TINY_HEADER}
  16937. ReadCoreVersion;
  16938. {$ELSE}
  16939. ReadImplementationProperties;
  16940. if (loadext) then
  16941. ReadExtensions;
  16942. {$ENDIF}
  16943. end;
  16944. // =============================================================================
  16945. // DeactivateRenderingContext
  16946. // =============================================================================
  16947. procedure DeactivateRenderingContext;
  16948. begin
  16949. wglMakeCurrent(0, 0);
  16950. end;
  16951. {$ENDIF}
  16952. initialization
  16953. {$IFDEF CPU386}
  16954. Set8087CW($133F);
  16955. {$ENDIF}
  16956. {$IFDEF DGL_64BIT}
  16957. SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide,exOverflow, exUnderflow, exPrecision]);
  16958. {$ENDIF}
  16959. finalization
  16960. end.