123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790 |
- /*
- Simple DirectMedia Layer
- Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
- */
- /**
- * \file SDL_opengles.h
- *
- * This is a simple file to encapsulate the OpenGL ES 2.0 API headers.
- */
- #ifndef _MSC_VER
- #ifdef __IPHONEOS__
- #include <OpenGLES/ES2/gl.h>
- #include <OpenGLES/ES2/glext.h>
- #else
- #include <GLES2/gl2.h>
- #include <GLES2/gl2ext.h>
- #endif
- #else /* _MSC_VER */
- /* OpenGL ES2 headers for Visual Studio */
- #ifndef __khrplatform_h_
- #define __khrplatform_h_
- /*
- ** Copyright (c) 2008-2009 The Khronos Group Inc.
- **
- ** Permission is hereby granted, free of charge, to any person obtaining a
- ** copy of this software and/or associated documentation files (the
- ** "Materials"), to deal in the Materials without restriction, including
- ** without limitation the rights to use, copy, modify, merge, publish,
- ** distribute, sublicense, and/or sell copies of the Materials, and to
- ** permit persons to whom the Materials are furnished to do so, subject to
- ** the following conditions:
- **
- ** The above copyright notice and this permission notice shall be included
- ** in all copies or substantial portions of the Materials.
- **
- ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- */
- /* Khronos platform-specific types and definitions.
- *
- * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
- *
- * Adopters may modify this file to suit their platform. Adopters are
- * encouraged to submit platform specific modifications to the Khronos
- * group so that they can be included in future versions of this file.
- * Please submit changes by sending them to the public Khronos Bugzilla
- * (http://khronos.org/bugzilla) by filing a bug against product
- * "Khronos (general)" component "Registry".
- *
- * A predefined template which fills in some of the bug fields can be
- * reached using http://tinyurl.com/khrplatform-h-bugreport, but you
- * must create a Bugzilla login first.
- *
- *
- * See the Implementer's Guidelines for information about where this file
- * should be located on your system and for more details of its use:
- * http://www.khronos.org/registry/implementers_guide.pdf
- *
- * This file should be included as
- * #include <KHR/khrplatform.h>
- * by Khronos client API header files that use its types and defines.
- *
- * The types in khrplatform.h should only be used to define API-specific types.
- *
- * Types defined in khrplatform.h:
- * khronos_int8_t signed 8 bit
- * khronos_uint8_t unsigned 8 bit
- * khronos_int16_t signed 16 bit
- * khronos_uint16_t unsigned 16 bit
- * khronos_int32_t signed 32 bit
- * khronos_uint32_t unsigned 32 bit
- * khronos_int64_t signed 64 bit
- * khronos_uint64_t unsigned 64 bit
- * khronos_intptr_t signed same number of bits as a pointer
- * khronos_uintptr_t unsigned same number of bits as a pointer
- * khronos_ssize_t signed size
- * khronos_usize_t unsigned size
- * khronos_float_t signed 32 bit floating point
- * khronos_time_ns_t unsigned 64 bit time in nanoseconds
- * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
- * nanoseconds
- * khronos_stime_nanoseconds_t signed time interval in nanoseconds
- * khronos_boolean_enum_t enumerated boolean type. This should
- * only be used as a base type when a client API's boolean type is
- * an enum. Client APIs which use an integer or other type for
- * booleans cannot use this as the base type for their boolean.
- *
- * Tokens defined in khrplatform.h:
- *
- * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
- *
- * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
- * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
- *
- * Calling convention macros defined in this file:
- * KHRONOS_APICALL
- * KHRONOS_APIENTRY
- * KHRONOS_APIATTRIBUTES
- *
- * These may be used in function prototypes as:
- *
- * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
- * int arg1,
- * int arg2) KHRONOS_APIATTRIBUTES;
- */
- /*-------------------------------------------------------------------------
- * Definition of KHRONOS_APICALL
- *-------------------------------------------------------------------------
- * This precedes the return type of the function in the function prototype.
- */
- #if defined(_WIN32) && !defined(__SCITECH_SNAP__)
- # define KHRONOS_APICALL __declspec(dllimport)
- #elif defined (__SYMBIAN32__)
- # define KHRONOS_APICALL IMPORT_C
- #else
- # define KHRONOS_APICALL
- #endif
- /*-------------------------------------------------------------------------
- * Definition of KHRONOS_APIENTRY
- *-------------------------------------------------------------------------
- * This follows the return type of the function and precedes the function
- * name in the function prototype.
- */
- #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
- /* Win32 but not WinCE */
- # define KHRONOS_APIENTRY __stdcall
- #else
- # define KHRONOS_APIENTRY
- #endif
- /*-------------------------------------------------------------------------
- * Definition of KHRONOS_APIATTRIBUTES
- *-------------------------------------------------------------------------
- * This follows the closing parenthesis of the function prototype arguments.
- */
- #if defined (__ARMCC_2__)
- #define KHRONOS_APIATTRIBUTES __softfp
- #else
- #define KHRONOS_APIATTRIBUTES
- #endif
- /*-------------------------------------------------------------------------
- * basic type definitions
- *-----------------------------------------------------------------------*/
- #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
- /*
- * Using <stdint.h>
- */
- #include <stdint.h>
- typedef int32_t khronos_int32_t;
- typedef uint32_t khronos_uint32_t;
- typedef int64_t khronos_int64_t;
- typedef uint64_t khronos_uint64_t;
- #define KHRONOS_SUPPORT_INT64 1
- #define KHRONOS_SUPPORT_FLOAT 1
- #elif defined(__VMS ) || defined(__sgi)
- /*
- * Using <inttypes.h>
- */
- #include <inttypes.h>
- typedef int32_t khronos_int32_t;
- typedef uint32_t khronos_uint32_t;
- typedef int64_t khronos_int64_t;
- typedef uint64_t khronos_uint64_t;
- #define KHRONOS_SUPPORT_INT64 1
- #define KHRONOS_SUPPORT_FLOAT 1
- #elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
- /*
- * Win32
- */
- typedef __int32 khronos_int32_t;
- typedef unsigned __int32 khronos_uint32_t;
- typedef __int64 khronos_int64_t;
- typedef unsigned __int64 khronos_uint64_t;
- #define KHRONOS_SUPPORT_INT64 1
- #define KHRONOS_SUPPORT_FLOAT 1
- #elif defined(__sun__) || defined(__digital__)
- /*
- * Sun or Digital
- */
- typedef int khronos_int32_t;
- typedef unsigned int khronos_uint32_t;
- #if defined(__arch64__) || defined(_LP64)
- typedef long int khronos_int64_t;
- typedef unsigned long int khronos_uint64_t;
- #else
- typedef long long int khronos_int64_t;
- typedef unsigned long long int khronos_uint64_t;
- #endif /* __arch64__ */
- #define KHRONOS_SUPPORT_INT64 1
- #define KHRONOS_SUPPORT_FLOAT 1
- #elif 0
- /*
- * Hypothetical platform with no float or int64 support
- */
- typedef int khronos_int32_t;
- typedef unsigned int khronos_uint32_t;
- #define KHRONOS_SUPPORT_INT64 0
- #define KHRONOS_SUPPORT_FLOAT 0
- #else
- /*
- * Generic fallback
- */
- #include <stdint.h>
- typedef int32_t khronos_int32_t;
- typedef uint32_t khronos_uint32_t;
- typedef int64_t khronos_int64_t;
- typedef uint64_t khronos_uint64_t;
- #define KHRONOS_SUPPORT_INT64 1
- #define KHRONOS_SUPPORT_FLOAT 1
- #endif
- /*
- * Types that are (so far) the same on all platforms
- */
- typedef signed char khronos_int8_t;
- typedef unsigned char khronos_uint8_t;
- typedef signed short int khronos_int16_t;
- typedef unsigned short int khronos_uint16_t;
- /*
- * Types that differ between LLP64 and LP64 architectures - in LLP64,
- * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
- * to be the only LLP64 architecture in current use.
- */
- #ifdef _WIN64
- typedef signed long long int khronos_intptr_t;
- typedef unsigned long long int khronos_uintptr_t;
- typedef signed long long int khronos_ssize_t;
- typedef unsigned long long int khronos_usize_t;
- #else
- typedef signed long int khronos_intptr_t;
- typedef unsigned long int khronos_uintptr_t;
- typedef signed long int khronos_ssize_t;
- typedef unsigned long int khronos_usize_t;
- #endif
- #if KHRONOS_SUPPORT_FLOAT
- /*
- * Float type
- */
- typedef float khronos_float_t;
- #endif
- #if KHRONOS_SUPPORT_INT64
- /* Time types
- *
- * These types can be used to represent a time interval in nanoseconds or
- * an absolute Unadjusted System Time. Unadjusted System Time is the number
- * of nanoseconds since some arbitrary system event (e.g. since the last
- * time the system booted). The Unadjusted System Time is an unsigned
- * 64 bit value that wraps back to 0 every 584 years. Time intervals
- * may be either signed or unsigned.
- */
- typedef khronos_uint64_t khronos_utime_nanoseconds_t;
- typedef khronos_int64_t khronos_stime_nanoseconds_t;
- #endif
- /*
- * Dummy value used to pad enum types to 32 bits.
- */
- #ifndef KHRONOS_MAX_ENUM
- #define KHRONOS_MAX_ENUM 0x7FFFFFFF
- #endif
- /*
- * Enumerated boolean type
- *
- * Values other than zero should be considered to be true. Therefore
- * comparisons should not be made against KHRONOS_TRUE.
- */
- typedef enum {
- KHRONOS_FALSE = 0,
- KHRONOS_TRUE = 1,
- KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
- } khronos_boolean_enum_t;
- #endif /* __khrplatform_h_ */
- #ifndef __gl2platform_h_
- #define __gl2platform_h_
- /* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */
- /*
- * This document is licensed under the SGI Free Software B License Version
- * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
- */
- /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h
- *
- * Adopters may modify khrplatform.h and this file to suit their platform.
- * You are encouraged to submit all modifications to the Khronos group so that
- * they can be included in future versions of this file. Please submit changes
- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
- * by filing a bug against product "OpenGL-ES" component "Registry".
- */
- /*#include <KHR/khrplatform.h>*/
- #ifndef GL_APICALL
- #define GL_APICALL KHRONOS_APICALL
- #endif
- #ifndef GL_APIENTRY
- #define GL_APIENTRY KHRONOS_APIENTRY
- #endif
- #endif /* __gl2platform_h_ */
- #ifndef __gl2_h_
- #define __gl2_h_
- /* $Revision: 16803 $ on $Date:: 2012-02-02 09:49:18 -0800 #$ */
- /*#include <GLES2/gl2platform.h>*/
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * This document is licensed under the SGI Free Software B License Version
- * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
- */
- /*-------------------------------------------------------------------------
- * Data type definitions
- *-----------------------------------------------------------------------*/
- typedef void GLvoid;
- typedef char GLchar;
- typedef unsigned int GLenum;
- typedef unsigned char GLboolean;
- typedef unsigned int GLbitfield;
- typedef khronos_int8_t GLbyte;
- typedef short GLshort;
- typedef int GLint;
- typedef int GLsizei;
- typedef khronos_uint8_t GLubyte;
- typedef unsigned short GLushort;
- typedef unsigned int GLuint;
- typedef khronos_float_t GLfloat;
- typedef khronos_float_t GLclampf;
- typedef khronos_int32_t GLfixed;
- /* GL types for handling large vertex buffer objects */
- typedef khronos_intptr_t GLintptr;
- typedef khronos_ssize_t GLsizeiptr;
- /* OpenGL ES core versions */
- #define GL_ES_VERSION_2_0 1
- /* ClearBufferMask */
- #define GL_DEPTH_BUFFER_BIT 0x00000100
- #define GL_STENCIL_BUFFER_BIT 0x00000400
- #define GL_COLOR_BUFFER_BIT 0x00004000
- /* Boolean */
- #define GL_FALSE 0
- #define GL_TRUE 1
- /* BeginMode */
- #define GL_POINTS 0x0000
- #define GL_LINES 0x0001
- #define GL_LINE_LOOP 0x0002
- #define GL_LINE_STRIP 0x0003
- #define GL_TRIANGLES 0x0004
- #define GL_TRIANGLE_STRIP 0x0005
- #define GL_TRIANGLE_FAN 0x0006
- /* AlphaFunction (not supported in ES20) */
- /* GL_NEVER */
- /* GL_LESS */
- /* GL_EQUAL */
- /* GL_LEQUAL */
- /* GL_GREATER */
- /* GL_NOTEQUAL */
- /* GL_GEQUAL */
- /* GL_ALWAYS */
- /* BlendingFactorDest */
- #define GL_ZERO 0
- #define GL_ONE 1
- #define GL_SRC_COLOR 0x0300
- #define GL_ONE_MINUS_SRC_COLOR 0x0301
- #define GL_SRC_ALPHA 0x0302
- #define GL_ONE_MINUS_SRC_ALPHA 0x0303
- #define GL_DST_ALPHA 0x0304
- #define GL_ONE_MINUS_DST_ALPHA 0x0305
- /* BlendingFactorSrc */
- /* GL_ZERO */
- /* GL_ONE */
- #define GL_DST_COLOR 0x0306
- #define GL_ONE_MINUS_DST_COLOR 0x0307
- #define GL_SRC_ALPHA_SATURATE 0x0308
- /* GL_SRC_ALPHA */
- /* GL_ONE_MINUS_SRC_ALPHA */
- /* GL_DST_ALPHA */
- /* GL_ONE_MINUS_DST_ALPHA */
- /* BlendEquationSeparate */
- #define GL_FUNC_ADD 0x8006
- #define GL_BLEND_EQUATION 0x8009
- #define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */
- #define GL_BLEND_EQUATION_ALPHA 0x883D
- /* BlendSubtract */
- #define GL_FUNC_SUBTRACT 0x800A
- #define GL_FUNC_REVERSE_SUBTRACT 0x800B
- /* Separate Blend Functions */
- #define GL_BLEND_DST_RGB 0x80C8
- #define GL_BLEND_SRC_RGB 0x80C9
- #define GL_BLEND_DST_ALPHA 0x80CA
- #define GL_BLEND_SRC_ALPHA 0x80CB
- #define GL_CONSTANT_COLOR 0x8001
- #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
- #define GL_CONSTANT_ALPHA 0x8003
- #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
- #define GL_BLEND_COLOR 0x8005
- /* Buffer Objects */
- #define GL_ARRAY_BUFFER 0x8892
- #define GL_ELEMENT_ARRAY_BUFFER 0x8893
- #define GL_ARRAY_BUFFER_BINDING 0x8894
- #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
- #define GL_STREAM_DRAW 0x88E0
- #define GL_STATIC_DRAW 0x88E4
- #define GL_DYNAMIC_DRAW 0x88E8
- #define GL_BUFFER_SIZE 0x8764
- #define GL_BUFFER_USAGE 0x8765
- #define GL_CURRENT_VERTEX_ATTRIB 0x8626
- /* CullFaceMode */
- #define GL_FRONT 0x0404
- #define GL_BACK 0x0405
- #define GL_FRONT_AND_BACK 0x0408
- /* DepthFunction */
- /* GL_NEVER */
- /* GL_LESS */
- /* GL_EQUAL */
- /* GL_LEQUAL */
- /* GL_GREATER */
- /* GL_NOTEQUAL */
- /* GL_GEQUAL */
- /* GL_ALWAYS */
- /* EnableCap */
- #define GL_TEXTURE_2D 0x0DE1
- #define GL_CULL_FACE 0x0B44
- #define GL_BLEND 0x0BE2
- #define GL_DITHER 0x0BD0
- #define GL_STENCIL_TEST 0x0B90
- #define GL_DEPTH_TEST 0x0B71
- #define GL_SCISSOR_TEST 0x0C11
- #define GL_POLYGON_OFFSET_FILL 0x8037
- #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
- #define GL_SAMPLE_COVERAGE 0x80A0
- /* ErrorCode */
- #define GL_NO_ERROR 0
- #define GL_INVALID_ENUM 0x0500
- #define GL_INVALID_VALUE 0x0501
- #define GL_INVALID_OPERATION 0x0502
- #define GL_OUT_OF_MEMORY 0x0505
- /* FrontFaceDirection */
- #define GL_CW 0x0900
- #define GL_CCW 0x0901
- /* GetPName */
- #define GL_LINE_WIDTH 0x0B21
- #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
- #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
- #define GL_CULL_FACE_MODE 0x0B45
- #define GL_FRONT_FACE 0x0B46
- #define GL_DEPTH_RANGE 0x0B70
- #define GL_DEPTH_WRITEMASK 0x0B72
- #define GL_DEPTH_CLEAR_VALUE 0x0B73
- #define GL_DEPTH_FUNC 0x0B74
- #define GL_STENCIL_CLEAR_VALUE 0x0B91
- #define GL_STENCIL_FUNC 0x0B92
- #define GL_STENCIL_FAIL 0x0B94
- #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
- #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
- #define GL_STENCIL_REF 0x0B97
- #define GL_STENCIL_VALUE_MASK 0x0B93
- #define GL_STENCIL_WRITEMASK 0x0B98
- #define GL_STENCIL_BACK_FUNC 0x8800
- #define GL_STENCIL_BACK_FAIL 0x8801
- #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
- #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
- #define GL_STENCIL_BACK_REF 0x8CA3
- #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
- #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
- #define GL_VIEWPORT 0x0BA2
- #define GL_SCISSOR_BOX 0x0C10
- /* GL_SCISSOR_TEST */
- #define GL_COLOR_CLEAR_VALUE 0x0C22
- #define GL_COLOR_WRITEMASK 0x0C23
- #define GL_UNPACK_ALIGNMENT 0x0CF5
- #define GL_PACK_ALIGNMENT 0x0D05
- #define GL_MAX_TEXTURE_SIZE 0x0D33
- #define GL_MAX_VIEWPORT_DIMS 0x0D3A
- #define GL_SUBPIXEL_BITS 0x0D50
- #define GL_RED_BITS 0x0D52
- #define GL_GREEN_BITS 0x0D53
- #define GL_BLUE_BITS 0x0D54
- #define GL_ALPHA_BITS 0x0D55
- #define GL_DEPTH_BITS 0x0D56
- #define GL_STENCIL_BITS 0x0D57
- #define GL_POLYGON_OFFSET_UNITS 0x2A00
- /* GL_POLYGON_OFFSET_FILL */
- #define GL_POLYGON_OFFSET_FACTOR 0x8038
- #define GL_TEXTURE_BINDING_2D 0x8069
- #define GL_SAMPLE_BUFFERS 0x80A8
- #define GL_SAMPLES 0x80A9
- #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
- #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
- /* GetTextureParameter */
- /* GL_TEXTURE_MAG_FILTER */
- /* GL_TEXTURE_MIN_FILTER */
- /* GL_TEXTURE_WRAP_S */
- /* GL_TEXTURE_WRAP_T */
- #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
- #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
- /* HintMode */
- #define GL_DONT_CARE 0x1100
- #define GL_FASTEST 0x1101
- #define GL_NICEST 0x1102
- /* HintTarget */
- #define GL_GENERATE_MIPMAP_HINT 0x8192
- /* DataType */
- #define GL_BYTE 0x1400
- #define GL_UNSIGNED_BYTE 0x1401
- #define GL_SHORT 0x1402
- #define GL_UNSIGNED_SHORT 0x1403
- #define GL_INT 0x1404
- #define GL_UNSIGNED_INT 0x1405
- #define GL_FLOAT 0x1406
- #define GL_FIXED 0x140C
- /* PixelFormat */
- #define GL_DEPTH_COMPONENT 0x1902
- #define GL_ALPHA 0x1906
- #define GL_RGB 0x1907
- #define GL_RGBA 0x1908
- #define GL_LUMINANCE 0x1909
- #define GL_LUMINANCE_ALPHA 0x190A
- /* PixelType */
- /* GL_UNSIGNED_BYTE */
- #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
- #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
- #define GL_UNSIGNED_SHORT_5_6_5 0x8363
- /* Shaders */
- #define GL_FRAGMENT_SHADER 0x8B30
- #define GL_VERTEX_SHADER 0x8B31
- #define GL_MAX_VERTEX_ATTRIBS 0x8869
- #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
- #define GL_MAX_VARYING_VECTORS 0x8DFC
- #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
- #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
- #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
- #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
- #define GL_SHADER_TYPE 0x8B4F
- #define GL_DELETE_STATUS 0x8B80
- #define GL_LINK_STATUS 0x8B82
- #define GL_VALIDATE_STATUS 0x8B83
- #define GL_ATTACHED_SHADERS 0x8B85
- #define GL_ACTIVE_UNIFORMS 0x8B86
- #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
- #define GL_ACTIVE_ATTRIBUTES 0x8B89
- #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
- #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
- #define GL_CURRENT_PROGRAM 0x8B8D
- /* StencilFunction */
- #define GL_NEVER 0x0200
- #define GL_LESS 0x0201
- #define GL_EQUAL 0x0202
- #define GL_LEQUAL 0x0203
- #define GL_GREATER 0x0204
- #define GL_NOTEQUAL 0x0205
- #define GL_GEQUAL 0x0206
- #define GL_ALWAYS 0x0207
- /* StencilOp */
- /* GL_ZERO */
- #define GL_KEEP 0x1E00
- #define GL_REPLACE 0x1E01
- #define GL_INCR 0x1E02
- #define GL_DECR 0x1E03
- #define GL_INVERT 0x150A
- #define GL_INCR_WRAP 0x8507
- #define GL_DECR_WRAP 0x8508
- /* StringName */
- #define GL_VENDOR 0x1F00
- #define GL_RENDERER 0x1F01
- #define GL_VERSION 0x1F02
- #define GL_EXTENSIONS 0x1F03
- /* TextureMagFilter */
- #define GL_NEAREST 0x2600
- #define GL_LINEAR 0x2601
- /* TextureMinFilter */
- /* GL_NEAREST */
- /* GL_LINEAR */
- #define GL_NEAREST_MIPMAP_NEAREST 0x2700
- #define GL_LINEAR_MIPMAP_NEAREST 0x2701
- #define GL_NEAREST_MIPMAP_LINEAR 0x2702
- #define GL_LINEAR_MIPMAP_LINEAR 0x2703
- /* TextureParameterName */
- #define GL_TEXTURE_MAG_FILTER 0x2800
- #define GL_TEXTURE_MIN_FILTER 0x2801
- #define GL_TEXTURE_WRAP_S 0x2802
- #define GL_TEXTURE_WRAP_T 0x2803
- /* TextureTarget */
- /* GL_TEXTURE_2D */
- #define GL_TEXTURE 0x1702
- #define GL_TEXTURE_CUBE_MAP 0x8513
- #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
- #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
- #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
- #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
- #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
- #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
- #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
- #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
- /* TextureUnit */
- #define GL_TEXTURE0 0x84C0
- #define GL_TEXTURE1 0x84C1
- #define GL_TEXTURE2 0x84C2
- #define GL_TEXTURE3 0x84C3
- #define GL_TEXTURE4 0x84C4
- #define GL_TEXTURE5 0x84C5
- #define GL_TEXTURE6 0x84C6
- #define GL_TEXTURE7 0x84C7
- #define GL_TEXTURE8 0x84C8
- #define GL_TEXTURE9 0x84C9
- #define GL_TEXTURE10 0x84CA
- #define GL_TEXTURE11 0x84CB
- #define GL_TEXTURE12 0x84CC
- #define GL_TEXTURE13 0x84CD
- #define GL_TEXTURE14 0x84CE
- #define GL_TEXTURE15 0x84CF
- #define GL_TEXTURE16 0x84D0
- #define GL_TEXTURE17 0x84D1
- #define GL_TEXTURE18 0x84D2
- #define GL_TEXTURE19 0x84D3
- #define GL_TEXTURE20 0x84D4
- #define GL_TEXTURE21 0x84D5
- #define GL_TEXTURE22 0x84D6
- #define GL_TEXTURE23 0x84D7
- #define GL_TEXTURE24 0x84D8
- #define GL_TEXTURE25 0x84D9
- #define GL_TEXTURE26 0x84DA
- #define GL_TEXTURE27 0x84DB
- #define GL_TEXTURE28 0x84DC
- #define GL_TEXTURE29 0x84DD
- #define GL_TEXTURE30 0x84DE
- #define GL_TEXTURE31 0x84DF
- #define GL_ACTIVE_TEXTURE 0x84E0
- /* TextureWrapMode */
- #define GL_REPEAT 0x2901
- #define GL_CLAMP_TO_EDGE 0x812F
- #define GL_MIRRORED_REPEAT 0x8370
- /* Uniform Types */
- #define GL_FLOAT_VEC2 0x8B50
- #define GL_FLOAT_VEC3 0x8B51
- #define GL_FLOAT_VEC4 0x8B52
- #define GL_INT_VEC2 0x8B53
- #define GL_INT_VEC3 0x8B54
- #define GL_INT_VEC4 0x8B55
- #define GL_BOOL 0x8B56
- #define GL_BOOL_VEC2 0x8B57
- #define GL_BOOL_VEC3 0x8B58
- #define GL_BOOL_VEC4 0x8B59
- #define GL_FLOAT_MAT2 0x8B5A
- #define GL_FLOAT_MAT3 0x8B5B
- #define GL_FLOAT_MAT4 0x8B5C
- #define GL_SAMPLER_2D 0x8B5E
- #define GL_SAMPLER_CUBE 0x8B60
- /* Vertex Arrays */
- #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
- #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
- #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
- #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
- #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
- #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
- #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
- /* Read Format */
- #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
- #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
- /* Shader Source */
- #define GL_COMPILE_STATUS 0x8B81
- #define GL_INFO_LOG_LENGTH 0x8B84
- #define GL_SHADER_SOURCE_LENGTH 0x8B88
- #define GL_SHADER_COMPILER 0x8DFA
- /* Shader Binary */
- #define GL_SHADER_BINARY_FORMATS 0x8DF8
- #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
- /* Shader Precision-Specified Types */
- #define GL_LOW_FLOAT 0x8DF0
- #define GL_MEDIUM_FLOAT 0x8DF1
- #define GL_HIGH_FLOAT 0x8DF2
- #define GL_LOW_INT 0x8DF3
- #define GL_MEDIUM_INT 0x8DF4
- #define GL_HIGH_INT 0x8DF5
- /* Framebuffer Object. */
- #define GL_FRAMEBUFFER 0x8D40
- #define GL_RENDERBUFFER 0x8D41
- #define GL_RGBA4 0x8056
- #define GL_RGB5_A1 0x8057
- #define GL_RGB565 0x8D62
- #define GL_DEPTH_COMPONENT16 0x81A5
- #define GL_STENCIL_INDEX8 0x8D48
- #define GL_RENDERBUFFER_WIDTH 0x8D42
- #define GL_RENDERBUFFER_HEIGHT 0x8D43
- #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
- #define GL_RENDERBUFFER_RED_SIZE 0x8D50
- #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
- #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
- #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
- #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
- #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
- #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
- #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
- #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
- #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
- #define GL_COLOR_ATTACHMENT0 0x8CE0
- #define GL_DEPTH_ATTACHMENT 0x8D00
- #define GL_STENCIL_ATTACHMENT 0x8D20
- #define GL_NONE 0
- #define GL_FRAMEBUFFER_COMPLETE 0x8CD5
- #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
- #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
- #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
- #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
- #define GL_FRAMEBUFFER_BINDING 0x8CA6
- #define GL_RENDERBUFFER_BINDING 0x8CA7
- #define GL_MAX_RENDERBUFFER_SIZE 0x84E8
- #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
- /*-------------------------------------------------------------------------
- * GL core functions.
- *-----------------------------------------------------------------------*/
- GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
- GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
- GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
- GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
- GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
- GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
- GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
- GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
- GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode );
- GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
- GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
- GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
- GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
- GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
- GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
- GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
- GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
- GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth);
- GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
- GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
- GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
- GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
- GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
- GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
- GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
- GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
- GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
- GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
- GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);
- GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
- GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
- GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
- GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
- GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);
- GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
- GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
- GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
- GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
- GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
- GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
- GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
- GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
- GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
- GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
- GL_APICALL void GL_APIENTRY glFinish (void);
- GL_APICALL void GL_APIENTRY glFlush (void);
- GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
- GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
- GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
- GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);
- GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
- GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);
- GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
- GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
- GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
- GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
- GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
- GL_APICALL int GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
- GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
- GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
- GL_APICALL GLenum GL_APIENTRY glGetError (void);
- GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);
- GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
- GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);
- GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);
- GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
- GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
- GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
- GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
- GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
- GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
- GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);
- GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
- GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
- GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
- GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
- GL_APICALL int GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
- GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
- GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
- GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
- GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
- GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
- GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
- GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
- GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
- GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
- GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
- GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
- GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
- GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
- GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
- GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
- GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
- GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
- GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
- GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
- GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
- GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
- GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
- GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
- GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
- GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
- GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
- GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
- GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
- GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
- GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
- GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
- GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
- GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
- GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
- GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x);
- GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
- GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x);
- GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);
- GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);
- GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
- GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);
- GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);
- GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
- GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
- GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);
- GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);
- GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
- GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
- GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);
- GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
- GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
- GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);
- GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);
- GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
- GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);
- GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
- GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);
- GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
- GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
- GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
- #ifdef __cplusplus
- }
- #endif
- #endif /* __gl2_h_ */
- #ifndef __gl2ext_h_
- #define __gl2ext_h_
- /* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * This document is licensed under the SGI Free Software B License Version
- * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
- */
- #ifndef GL_APIENTRYP
- # define GL_APIENTRYP GL_APIENTRY*
- #endif
- /*------------------------------------------------------------------------*
- * OES extension tokens
- *------------------------------------------------------------------------*/
- /* GL_OES_compressed_ETC1_RGB8_texture */
- #ifndef GL_OES_compressed_ETC1_RGB8_texture
- #define GL_ETC1_RGB8_OES 0x8D64
- #endif
- /* GL_OES_compressed_paletted_texture */
- #ifndef GL_OES_compressed_paletted_texture
- #define GL_PALETTE4_RGB8_OES 0x8B90
- #define GL_PALETTE4_RGBA8_OES 0x8B91
- #define GL_PALETTE4_R5_G6_B5_OES 0x8B92
- #define GL_PALETTE4_RGBA4_OES 0x8B93
- #define GL_PALETTE4_RGB5_A1_OES 0x8B94
- #define GL_PALETTE8_RGB8_OES 0x8B95
- #define GL_PALETTE8_RGBA8_OES 0x8B96
- #define GL_PALETTE8_R5_G6_B5_OES 0x8B97
- #define GL_PALETTE8_RGBA4_OES 0x8B98
- #define GL_PALETTE8_RGB5_A1_OES 0x8B99
- #endif
- /* GL_OES_depth24 */
- #ifndef GL_OES_depth24
- #define GL_DEPTH_COMPONENT24_OES 0x81A6
- #endif
- /* GL_OES_depth32 */
- #ifndef GL_OES_depth32
- #define GL_DEPTH_COMPONENT32_OES 0x81A7
- #endif
- /* GL_OES_depth_texture */
- /* No new tokens introduced by this extension. */
- /* GL_OES_EGL_image */
- #ifndef GL_OES_EGL_image
- typedef void* GLeglImageOES;
- #endif
- /* GL_OES_EGL_image_external */
- #ifndef GL_OES_EGL_image_external
- /* GLeglImageOES defined in GL_OES_EGL_image already. */
- #define GL_TEXTURE_EXTERNAL_OES 0x8D65
- #define GL_SAMPLER_EXTERNAL_OES 0x8D66
- #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
- #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
- #endif
- /* GL_OES_element_index_uint */
- #ifndef GL_OES_element_index_uint
- #define GL_UNSIGNED_INT 0x1405
- #endif
- /* GL_OES_get_program_binary */
- #ifndef GL_OES_get_program_binary
- #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
- #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
- #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
- #endif
- /* GL_OES_mapbuffer */
- #ifndef GL_OES_mapbuffer
- #define GL_WRITE_ONLY_OES 0x88B9
- #define GL_BUFFER_ACCESS_OES 0x88BB
- #define GL_BUFFER_MAPPED_OES 0x88BC
- #define GL_BUFFER_MAP_POINTER_OES 0x88BD
- #endif
- /* GL_OES_packed_depth_stencil */
- #ifndef GL_OES_packed_depth_stencil
- #define GL_DEPTH_STENCIL_OES 0x84F9
- #define GL_UNSIGNED_INT_24_8_OES 0x84FA
- #define GL_DEPTH24_STENCIL8_OES 0x88F0
- #endif
- /* GL_OES_required_internalformat */
- #ifndef GL_OES_required_internalformat
- #define GL_ALPHA8_OES 0x803C
- #define GL_DEPTH_COMPONENT16_OES 0x81A5
- /* reuse GL_DEPTH_COMPONENT24_OES */
- /* reuse GL_DEPTH24_STENCIL8_OES */
- /* reuse GL_DEPTH_COMPONENT32_OES */
- #define GL_LUMINANCE4_ALPHA4_OES 0x8043
- #define GL_LUMINANCE8_ALPHA8_OES 0x8045
- #define GL_LUMINANCE8_OES 0x8040
- #define GL_RGBA4_OES 0x8056
- #define GL_RGB5_A1_OES 0x8057
- #define GL_RGB565_OES 0x8D62
- /* reuse GL_RGB8_OES */
- /* reuse GL_RGBA8_OES */
- /* reuse GL_RGB10_EXT */
- /* reuse GL_RGB10_A2_EXT */
- #endif
- /* GL_OES_rgb8_rgba8 */
- #ifndef GL_OES_rgb8_rgba8
- #define GL_RGB8_OES 0x8051
- #define GL_RGBA8_OES 0x8058
- #endif
- /* GL_OES_standard_derivatives */
- #ifndef GL_OES_standard_derivatives
- #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
- #endif
- /* GL_OES_stencil1 */
- #ifndef GL_OES_stencil1
- #define GL_STENCIL_INDEX1_OES 0x8D46
- #endif
- /* GL_OES_stencil4 */
- #ifndef GL_OES_stencil4
- #define GL_STENCIL_INDEX4_OES 0x8D47
- #endif
- #ifndef GL_OES_surfaceless_context
- #define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
- #endif
- /* GL_OES_texture_3D */
- #ifndef GL_OES_texture_3D
- #define GL_TEXTURE_WRAP_R_OES 0x8072
- #define GL_TEXTURE_3D_OES 0x806F
- #define GL_TEXTURE_BINDING_3D_OES 0x806A
- #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
- #define GL_SAMPLER_3D_OES 0x8B5F
- #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
- #endif
- /* GL_OES_texture_float */
- /* No new tokens introduced by this extension. */
- /* GL_OES_texture_float_linear */
- /* No new tokens introduced by this extension. */
- /* GL_OES_texture_half_float */
- #ifndef GL_OES_texture_half_float
- #define GL_HALF_FLOAT_OES 0x8D61
- #endif
- /* GL_OES_texture_half_float_linear */
- /* No new tokens introduced by this extension. */
- /* GL_OES_texture_npot */
- /* No new tokens introduced by this extension. */
- /* GL_OES_vertex_array_object */
- #ifndef GL_OES_vertex_array_object
- #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
- #endif
- /* GL_OES_vertex_half_float */
- /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
- /* GL_OES_vertex_type_10_10_10_2 */
- #ifndef GL_OES_vertex_type_10_10_10_2
- #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
- #define GL_INT_10_10_10_2_OES 0x8DF7
- #endif
- /*------------------------------------------------------------------------*
- * KHR extension tokens
- *------------------------------------------------------------------------*/
- #ifndef GL_KHR_debug
- typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
- #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
- #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
- #define GL_DEBUG_CALLBACK_FUNCTION 0x8244
- #define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
- #define GL_DEBUG_SOURCE_API 0x8246
- #define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
- #define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
- #define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
- #define GL_DEBUG_SOURCE_APPLICATION 0x824A
- #define GL_DEBUG_SOURCE_OTHER 0x824B
- #define GL_DEBUG_TYPE_ERROR 0x824C
- #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
- #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
- #define GL_DEBUG_TYPE_PORTABILITY 0x824F
- #define GL_DEBUG_TYPE_PERFORMANCE 0x8250
- #define GL_DEBUG_TYPE_OTHER 0x8251
- #define GL_DEBUG_TYPE_MARKER 0x8268
- #define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
- #define GL_DEBUG_TYPE_POP_GROUP 0x826A
- #define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
- #define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
- #define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
- #define GL_BUFFER 0x82E0
- #define GL_SHADER 0x82E1
- #define GL_PROGRAM 0x82E2
- #define GL_QUERY 0x82E3
- /* PROGRAM_PIPELINE only in GL */
- #define GL_SAMPLER 0x82E6
- /* DISPLAY_LIST only in GL */
- #define GL_MAX_LABEL_LENGTH 0x82E8
- #define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
- #define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
- #define GL_DEBUG_LOGGED_MESSAGES 0x9145
- #define GL_DEBUG_SEVERITY_HIGH 0x9146
- #define GL_DEBUG_SEVERITY_MEDIUM 0x9147
- #define GL_DEBUG_SEVERITY_LOW 0x9148
- #define GL_DEBUG_OUTPUT 0x92E0
- #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
- #define GL_STACK_OVERFLOW 0x0503
- #define GL_STACK_UNDERFLOW 0x0504
- #endif
- #ifndef GL_KHR_texture_compression_astc_ldr
- #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
- #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
- #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
- #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
- #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
- #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
- #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
- #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
- #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
- #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
- #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
- #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
- #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
- #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
- #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
- #endif
- /*------------------------------------------------------------------------*
- * AMD extension tokens
- *------------------------------------------------------------------------*/
- /* GL_AMD_compressed_3DC_texture */
- #ifndef GL_AMD_compressed_3DC_texture
- #define GL_3DC_X_AMD 0x87F9
- #define GL_3DC_XY_AMD 0x87FA
- #endif
- /* GL_AMD_compressed_ATC_texture */
- #ifndef GL_AMD_compressed_ATC_texture
- #define GL_ATC_RGB_AMD 0x8C92
- #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
- #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
- #endif
- /* GL_AMD_performance_monitor */
- #ifndef GL_AMD_performance_monitor
- #define GL_COUNTER_TYPE_AMD 0x8BC0
- #define GL_COUNTER_RANGE_AMD 0x8BC1
- #define GL_UNSIGNED_INT64_AMD 0x8BC2
- #define GL_PERCENTAGE_AMD 0x8BC3
- #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
- #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
- #define GL_PERFMON_RESULT_AMD 0x8BC6
- #endif
- /* GL_AMD_program_binary_Z400 */
- #ifndef GL_AMD_program_binary_Z400
- #define GL_Z400_BINARY_AMD 0x8740
- #endif
- /*------------------------------------------------------------------------*
- * ANGLE extension tokens
- *------------------------------------------------------------------------*/
- /* GL_ANGLE_framebuffer_blit */
- #ifndef GL_ANGLE_framebuffer_blit
- #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
- #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
- #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
- #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
- #endif
- /* GL_ANGLE_framebuffer_multisample */
- #ifndef GL_ANGLE_framebuffer_multisample
- #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
- #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
- #define GL_MAX_SAMPLES_ANGLE 0x8D57
- #endif
- /* GL_ANGLE_instanced_arrays */
- #ifndef GL_ANGLE_instanced_arrays
- #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
- #endif
- /* GL_ANGLE_pack_reverse_row_order */
- #ifndef GL_ANGLE_pack_reverse_row_order
- #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
- #endif
- /* GL_ANGLE_texture_compression_dxt3 */
- #ifndef GL_ANGLE_texture_compression_dxt3
- #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
- #endif
- /* GL_ANGLE_texture_compression_dxt5 */
- #ifndef GL_ANGLE_texture_compression_dxt5
- #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
- #endif
- /* GL_ANGLE_texture_usage */
- #ifndef GL_ANGLE_texture_usage
- #define GL_TEXTURE_USAGE_ANGLE 0x93A2
- #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
- #endif
- /* GL_ANGLE_translated_shader_source */
- #ifndef GL_ANGLE_translated_shader_source
- #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
- #endif
- /*------------------------------------------------------------------------*
- * APPLE extension tokens
- *------------------------------------------------------------------------*/
- /* GL_APPLE_copy_texture_levels */
- /* No new tokens introduced by this extension. */
-
- /* GL_APPLE_framebuffer_multisample */
- #ifndef GL_APPLE_framebuffer_multisample
- #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
- #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
- #define GL_MAX_SAMPLES_APPLE 0x8D57
- #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
- #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
- #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
- #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
- #endif
- /* GL_APPLE_rgb_422 */
- #ifndef GL_APPLE_rgb_422
- #define GL_RGB_422_APPLE 0x8A1F
- #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
- #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
- #endif
- /* GL_APPLE_sync */
- #ifndef GL_APPLE_sync
- #ifndef __gl3_h_
- /* These types are defined with reference to <inttypes.h>
- * in the Apple extension spec, but here we use the Khronos
- * portable types in khrplatform.h, and assume those types
- * are always defined.
- * If any other extensions using these types are defined,
- * the typedefs must move out of this block and be shared.
- */
- typedef khronos_int64_t GLint64;
- typedef khronos_uint64_t GLuint64;
- typedef struct __GLsync *GLsync;
- #endif
- #define GL_SYNC_OBJECT_APPLE 0x8A53
- #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
- #define GL_OBJECT_TYPE_APPLE 0x9112
- #define GL_SYNC_CONDITION_APPLE 0x9113
- #define GL_SYNC_STATUS_APPLE 0x9114
- #define GL_SYNC_FLAGS_APPLE 0x9115
- #define GL_SYNC_FENCE_APPLE 0x9116
- #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
- #define GL_UNSIGNALED_APPLE 0x9118
- #define GL_SIGNALED_APPLE 0x9119
- #define GL_ALREADY_SIGNALED_APPLE 0x911A
- #define GL_TIMEOUT_EXPIRED_APPLE 0x911B
- #define GL_CONDITION_SATISFIED_APPLE 0x911C
- #define GL_WAIT_FAILED_APPLE 0x911D
- #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
- #define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
- #endif
- /* GL_APPLE_texture_format_BGRA8888 */
- #ifndef GL_APPLE_texture_format_BGRA8888
- #define GL_BGRA_EXT 0x80E1
- #endif
- /* GL_APPLE_texture_max_level */
- #ifndef GL_APPLE_texture_max_level
- #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
- #endif
- /*------------------------------------------------------------------------*
- * ARM extension tokens
- *------------------------------------------------------------------------*/
- /* GL_ARM_mali_program_binary */
- #ifndef GL_ARM_mali_program_binary
- #define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
- #endif
- /* GL_ARM_mali_shader_binary */
- #ifndef GL_ARM_mali_shader_binary
- #define GL_MALI_SHADER_BINARY_ARM 0x8F60
- #endif
- /* GL_ARM_rgba8 */
- /* No new tokens introduced by this extension. */
- /*------------------------------------------------------------------------*
- * EXT extension tokens
- *------------------------------------------------------------------------*/
- /* GL_EXT_blend_minmax */
- #ifndef GL_EXT_blend_minmax
- #define GL_MIN_EXT 0x8007
- #define GL_MAX_EXT 0x8008
- #endif
- /* GL_EXT_color_buffer_half_float */
- #ifndef GL_EXT_color_buffer_half_float
- #define GL_RGBA16F_EXT 0x881A
- #define GL_RGB16F_EXT 0x881B
- #define GL_RG16F_EXT 0x822F
- #define GL_R16F_EXT 0x822D
- #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
- #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
- #endif
- /* GL_EXT_debug_label */
- #ifndef GL_EXT_debug_label
- #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
- #define GL_PROGRAM_OBJECT_EXT 0x8B40
- #define GL_SHADER_OBJECT_EXT 0x8B48
- #define GL_BUFFER_OBJECT_EXT 0x9151
- #define GL_QUERY_OBJECT_EXT 0x9153
- #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
- #endif
- /* GL_EXT_debug_marker */
- /* No new tokens introduced by this extension. */
- /* GL_EXT_discard_framebuffer */
- #ifndef GL_EXT_discard_framebuffer
- #define GL_COLOR_EXT 0x1800
- #define GL_DEPTH_EXT 0x1801
- #define GL_STENCIL_EXT 0x1802
- #endif
- /* GL_EXT_map_buffer_range */
- #ifndef GL_EXT_map_buffer_range
- #define GL_MAP_READ_BIT_EXT 0x0001
- #define GL_MAP_WRITE_BIT_EXT 0x0002
- #define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
- #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
- #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
- #define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
- #endif
- /* GL_EXT_multisampled_render_to_texture */
- #ifndef GL_EXT_multisampled_render_to_texture
- #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
- /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
- #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
- #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
- #define GL_MAX_SAMPLES_EXT 0x8D57
- #endif
- /* GL_EXT_multiview_draw_buffers */
- #ifndef GL_EXT_multiview_draw_buffers
- #define GL_COLOR_ATTACHMENT_EXT 0x90F0
- #define GL_MULTIVIEW_EXT 0x90F1
- #define GL_DRAW_BUFFER_EXT 0x0C01
- #define GL_READ_BUFFER_EXT 0x0C02
- #define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
- #endif
- /* GL_EXT_multi_draw_arrays */
- /* No new tokens introduced by this extension. */
- /* GL_EXT_occlusion_query_boolean */
- #ifndef GL_EXT_occlusion_query_boolean
- #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
- #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
- #define GL_CURRENT_QUERY_EXT 0x8865
- #define GL_QUERY_RESULT_EXT 0x8866
- #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
- #endif
- /* GL_EXT_read_format_bgra */
- #ifndef GL_EXT_read_format_bgra
- #define GL_BGRA_EXT 0x80E1
- #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
- #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
- #endif
- /* GL_EXT_robustness */
- #ifndef GL_EXT_robustness
- /* reuse GL_NO_ERROR */
- #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
- #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
- #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
- #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
- #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
- #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
- #define GL_NO_RESET_NOTIFICATION_EXT 0x8261
- #endif
- /* GL_EXT_separate_shader_objects */
- #ifndef GL_EXT_separate_shader_objects
- #define GL_VERTEX_SHADER_BIT_EXT 0x00000001
- #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
- #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
- #define GL_PROGRAM_SEPARABLE_EXT 0x8258
- #define GL_ACTIVE_PROGRAM_EXT 0x8259
- #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
- #endif
- /* GL_EXT_shader_framebuffer_fetch */
- #ifndef GL_EXT_shader_framebuffer_fetch
- #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
- #endif
- /* GL_EXT_shader_texture_lod */
- /* No new tokens introduced by this extension. */
- /* GL_EXT_shadow_samplers */
- #ifndef GL_EXT_shadow_samplers
- #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
- #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
- #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
- #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
- #endif
- /* GL_EXT_sRGB */
- #ifndef GL_EXT_sRGB
- #define GL_SRGB_EXT 0x8C40
- #define GL_SRGB_ALPHA_EXT 0x8C42
- #define GL_SRGB8_ALPHA8_EXT 0x8C43
- #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
- #endif
- /* GL_EXT_texture_compression_dxt1 */
- #ifndef GL_EXT_texture_compression_dxt1
- #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
- #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
- #endif
- /* GL_EXT_texture_filter_anisotropic */
- #ifndef GL_EXT_texture_filter_anisotropic
- #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
- #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
- #endif
- /* GL_EXT_texture_format_BGRA8888 */
- #ifndef GL_EXT_texture_format_BGRA8888
- #define GL_BGRA_EXT 0x80E1
- #endif
- /* GL_EXT_texture_rg */
- #ifndef GL_EXT_texture_rg
- #define GL_RED_EXT 0x1903
- #define GL_RG_EXT 0x8227
- #define GL_R8_EXT 0x8229
- #define GL_RG8_EXT 0x822B
- #endif
- /* GL_EXT_texture_storage */
- #ifndef GL_EXT_texture_storage
- #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
- #define GL_ALPHA8_EXT 0x803C
- #define GL_LUMINANCE8_EXT 0x8040
- #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
- #define GL_RGBA32F_EXT 0x8814
- #define GL_RGB32F_EXT 0x8815
- #define GL_ALPHA32F_EXT 0x8816
- #define GL_LUMINANCE32F_EXT 0x8818
- #define GL_LUMINANCE_ALPHA32F_EXT 0x8819
- /* reuse GL_RGBA16F_EXT */
- /* reuse GL_RGB16F_EXT */
- #define GL_ALPHA16F_EXT 0x881C
- #define GL_LUMINANCE16F_EXT 0x881E
- #define GL_LUMINANCE_ALPHA16F_EXT 0x881F
- #define GL_RGB10_A2_EXT 0x8059
- #define GL_RGB10_EXT 0x8052
- #define GL_BGRA8_EXT 0x93A1
- #define GL_R8_EXT 0x8229
- #define GL_RG8_EXT 0x822B
- #define GL_R32F_EXT 0x822E
- #define GL_RG32F_EXT 0x8230
- #define GL_R16F_EXT 0x822D
- #define GL_RG16F_EXT 0x822F
- #endif
- /* GL_EXT_texture_type_2_10_10_10_REV */
- #ifndef GL_EXT_texture_type_2_10_10_10_REV
- #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
- #endif
- /* GL_EXT_unpack_subimage */
- #ifndef GL_EXT_unpack_subimage
- #define GL_UNPACK_ROW_LENGTH 0x0CF2
- #define GL_UNPACK_SKIP_ROWS 0x0CF3
- #define GL_UNPACK_SKIP_PIXELS 0x0CF4
- #endif
- /*------------------------------------------------------------------------*
- * DMP extension tokens
- *------------------------------------------------------------------------*/
- /* GL_DMP_shader_binary */
- #ifndef GL_DMP_shader_binary
- #define GL_SHADER_BINARY_DMP 0x9250
- #endif
- /*------------------------------------------------------------------------*
- * FJ extension tokens
- *------------------------------------------------------------------------*/
- /* GL_FJ_shader_binary_GCCSO */
- #ifndef GL_FJ_shader_binary_GCCSO
- #define GCCSO_SHADER_BINARY_FJ 0x9260
- #endif
- /*------------------------------------------------------------------------*
- * IMG extension tokens
- *------------------------------------------------------------------------*/
- /* GL_IMG_program_binary */
- #ifndef GL_IMG_program_binary
- #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
- #endif
- /* GL_IMG_read_format */
- #ifndef GL_IMG_read_format
- #define GL_BGRA_IMG 0x80E1
- #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
- #endif
- /* GL_IMG_shader_binary */
- #ifndef GL_IMG_shader_binary
- #define GL_SGX_BINARY_IMG 0x8C0A
- #endif
- /* GL_IMG_texture_compression_pvrtc */
- #ifndef GL_IMG_texture_compression_pvrtc
- #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
- #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
- #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
- #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
- #endif
- /* GL_IMG_multisampled_render_to_texture */
- #ifndef GL_IMG_multisampled_render_to_texture
- #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
- #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
- #define GL_MAX_SAMPLES_IMG 0x9135
- #define GL_TEXTURE_SAMPLES_IMG 0x9136
- #endif
- /*------------------------------------------------------------------------*
- * NV extension tokens
- *------------------------------------------------------------------------*/
- /* GL_NV_coverage_sample */
- #ifndef GL_NV_coverage_sample
- #define GL_COVERAGE_COMPONENT_NV 0x8ED0
- #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
- #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
- #define GL_COVERAGE_BUFFERS_NV 0x8ED3
- #define GL_COVERAGE_SAMPLES_NV 0x8ED4
- #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
- #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
- #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
- #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
- #endif
- /* GL_NV_depth_nonlinear */
- #ifndef GL_NV_depth_nonlinear
- #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
- #endif
- /* GL_NV_draw_buffers */
- #ifndef GL_NV_draw_buffers
- #define GL_MAX_DRAW_BUFFERS_NV 0x8824
- #define GL_DRAW_BUFFER0_NV 0x8825
- #define GL_DRAW_BUFFER1_NV 0x8826
- #define GL_DRAW_BUFFER2_NV 0x8827
- #define GL_DRAW_BUFFER3_NV 0x8828
- #define GL_DRAW_BUFFER4_NV 0x8829
- #define GL_DRAW_BUFFER5_NV 0x882A
- #define GL_DRAW_BUFFER6_NV 0x882B
- #define GL_DRAW_BUFFER7_NV 0x882C
- #define GL_DRAW_BUFFER8_NV 0x882D
- #define GL_DRAW_BUFFER9_NV 0x882E
- #define GL_DRAW_BUFFER10_NV 0x882F
- #define GL_DRAW_BUFFER11_NV 0x8830
- #define GL_DRAW_BUFFER12_NV 0x8831
- #define GL_DRAW_BUFFER13_NV 0x8832
- #define GL_DRAW_BUFFER14_NV 0x8833
- #define GL_DRAW_BUFFER15_NV 0x8834
- #define GL_COLOR_ATTACHMENT0_NV 0x8CE0
- #define GL_COLOR_ATTACHMENT1_NV 0x8CE1
- #define GL_COLOR_ATTACHMENT2_NV 0x8CE2
- #define GL_COLOR_ATTACHMENT3_NV 0x8CE3
- #define GL_COLOR_ATTACHMENT4_NV 0x8CE4
- #define GL_COLOR_ATTACHMENT5_NV 0x8CE5
- #define GL_COLOR_ATTACHMENT6_NV 0x8CE6
- #define GL_COLOR_ATTACHMENT7_NV 0x8CE7
- #define GL_COLOR_ATTACHMENT8_NV 0x8CE8
- #define GL_COLOR_ATTACHMENT9_NV 0x8CE9
- #define GL_COLOR_ATTACHMENT10_NV 0x8CEA
- #define GL_COLOR_ATTACHMENT11_NV 0x8CEB
- #define GL_COLOR_ATTACHMENT12_NV 0x8CEC
- #define GL_COLOR_ATTACHMENT13_NV 0x8CED
- #define GL_COLOR_ATTACHMENT14_NV 0x8CEE
- #define GL_COLOR_ATTACHMENT15_NV 0x8CEF
- #endif
- /* GL_NV_fbo_color_attachments */
- #ifndef GL_NV_fbo_color_attachments
- #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
- /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
- #endif
- /* GL_NV_fence */
- #ifndef GL_NV_fence
- #define GL_ALL_COMPLETED_NV 0x84F2
- #define GL_FENCE_STATUS_NV 0x84F3
- #define GL_FENCE_CONDITION_NV 0x84F4
- #endif
- /* GL_NV_read_buffer */
- #ifndef GL_NV_read_buffer
- #define GL_READ_BUFFER_NV 0x0C02
- #endif
- /* GL_NV_read_buffer_front */
- /* No new tokens introduced by this extension. */
- /* GL_NV_read_depth */
- /* No new tokens introduced by this extension. */
- /* GL_NV_read_depth_stencil */
- /* No new tokens introduced by this extension. */
- /* GL_NV_read_stencil */
- /* No new tokens introduced by this extension. */
- /* GL_NV_texture_compression_s3tc_update */
- /* No new tokens introduced by this extension. */
- /* GL_NV_texture_npot_2D_mipmap */
- /* No new tokens introduced by this extension. */
- /*------------------------------------------------------------------------*
- * QCOM extension tokens
- *------------------------------------------------------------------------*/
- /* GL_QCOM_alpha_test */
- #ifndef GL_QCOM_alpha_test
- #define GL_ALPHA_TEST_QCOM 0x0BC0
- #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
- #define GL_ALPHA_TEST_REF_QCOM 0x0BC2
- #endif
- /* GL_QCOM_binning_control */
- #ifndef GL_QCOM_binning_control
- #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
- #define GL_CPU_OPTIMIZED_QCOM 0x8FB1
- #define GL_GPU_OPTIMIZED_QCOM 0x8FB2
- #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
- #endif
- /* GL_QCOM_driver_control */
- /* No new tokens introduced by this extension. */
- /* GL_QCOM_extended_get */
- #ifndef GL_QCOM_extended_get
- #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
- #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
- #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
- #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
- #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
- #define GL_TEXTURE_TYPE_QCOM 0x8BD7
- #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
- #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
- #define GL_TEXTURE_TARGET_QCOM 0x8BDA
- #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
- #define GL_STATE_RESTORE 0x8BDC
- #endif
- /* GL_QCOM_extended_get2 */
- /* No new tokens introduced by this extension. */
- /* GL_QCOM_perfmon_global_mode */
- #ifndef GL_QCOM_perfmon_global_mode
- #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
- #endif
- /* GL_QCOM_writeonly_rendering */
- #ifndef GL_QCOM_writeonly_rendering
- #define GL_WRITEONLY_RENDERING_QCOM 0x8823
- #endif
- /* GL_QCOM_tiled_rendering */
- #ifndef GL_QCOM_tiled_rendering
- #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
- #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
- #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
- #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
- #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
- #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
- #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
- #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
- #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
- #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
- #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
- #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
- #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
- #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
- #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
- #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
- #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
- #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
- #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
- #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
- #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
- #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
- #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
- #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
- #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
- #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
- #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
- #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
- #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
- #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
- #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
- #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
- #endif
- /*------------------------------------------------------------------------*
- * VIV extension tokens
- *------------------------------------------------------------------------*/
- /* GL_VIV_shader_binary */
- #ifndef GL_VIV_shader_binary
- #define GL_SHADER_BINARY_VIV 0x8FC4
- #endif
- /*------------------------------------------------------------------------*
- * End of extension tokens, start of corresponding extension functions
- *------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------*
- * OES extension functions
- *------------------------------------------------------------------------*/
- /* GL_OES_compressed_ETC1_RGB8_texture */
- #ifndef GL_OES_compressed_ETC1_RGB8_texture
- #define GL_OES_compressed_ETC1_RGB8_texture 1
- #endif
- /* GL_OES_compressed_paletted_texture */
- #ifndef GL_OES_compressed_paletted_texture
- #define GL_OES_compressed_paletted_texture 1
- #endif
- /* GL_OES_depth24 */
- #ifndef GL_OES_depth24
- #define GL_OES_depth24 1
- #endif
- /* GL_OES_depth32 */
- #ifndef GL_OES_depth32
- #define GL_OES_depth32 1
- #endif
- /* GL_OES_depth_texture */
- #ifndef GL_OES_depth_texture
- #define GL_OES_depth_texture 1
- #endif
- /* GL_OES_EGL_image */
- #ifndef GL_OES_EGL_image
- #define GL_OES_EGL_image 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
- GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
- #endif
- typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
- typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
- #endif
- /* GL_OES_EGL_image_external */
- #ifndef GL_OES_EGL_image_external
- #define GL_OES_EGL_image_external 1
- /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
- #endif
- /* GL_OES_element_index_uint */
- #ifndef GL_OES_element_index_uint
- #define GL_OES_element_index_uint 1
- #endif
- /* GL_OES_fbo_render_mipmap */
- #ifndef GL_OES_fbo_render_mipmap
- #define GL_OES_fbo_render_mipmap 1
- #endif
- /* GL_OES_fragment_precision_high */
- #ifndef GL_OES_fragment_precision_high
- #define GL_OES_fragment_precision_high 1
- #endif
- /* GL_OES_get_program_binary */
- #ifndef GL_OES_get_program_binary
- #define GL_OES_get_program_binary 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
- GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
- #endif
- typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
- typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
- #endif
- /* GL_OES_mapbuffer */
- #ifndef GL_OES_mapbuffer
- #define GL_OES_mapbuffer 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
- GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
- GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
- #endif
- typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
- typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
- typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
- #endif
- /* GL_OES_packed_depth_stencil */
- #ifndef GL_OES_packed_depth_stencil
- #define GL_OES_packed_depth_stencil 1
- #endif
- /* GL_OES_required_internalformat */
- #ifndef GL_OES_required_internalformat
- #define GL_OES_required_internalformat 1
- #endif
- /* GL_OES_rgb8_rgba8 */
- #ifndef GL_OES_rgb8_rgba8
- #define GL_OES_rgb8_rgba8 1
- #endif
- /* GL_OES_standard_derivatives */
- #ifndef GL_OES_standard_derivatives
- #define GL_OES_standard_derivatives 1
- #endif
- /* GL_OES_stencil1 */
- #ifndef GL_OES_stencil1
- #define GL_OES_stencil1 1
- #endif
- /* GL_OES_stencil4 */
- #ifndef GL_OES_stencil4
- #define GL_OES_stencil4 1
- #endif
- #ifndef GL_OES_surfaceless_context
- #define GL_OES_surfaceless_context 1
- #endif
- /* GL_OES_texture_3D */
- #ifndef GL_OES_texture_3D
- #define GL_OES_texture_3D 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
- GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
- GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
- GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
- GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
- GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
- #endif
- typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
- typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
- typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
- typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
- typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
- typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
- #endif
- /* GL_OES_texture_float */
- #ifndef GL_OES_texture_float
- #define GL_OES_texture_float 1
- #endif
- /* GL_OES_texture_float_linear */
- #ifndef GL_OES_texture_float_linear
- #define GL_OES_texture_float_linear 1
- #endif
- /* GL_OES_texture_half_float */
- #ifndef GL_OES_texture_half_float
- #define GL_OES_texture_half_float 1
- #endif
- /* GL_OES_texture_half_float_linear */
- #ifndef GL_OES_texture_half_float_linear
- #define GL_OES_texture_half_float_linear 1
- #endif
- /* GL_OES_texture_npot */
- #ifndef GL_OES_texture_npot
- #define GL_OES_texture_npot 1
- #endif
- /* GL_OES_vertex_array_object */
- #ifndef GL_OES_vertex_array_object
- #define GL_OES_vertex_array_object 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
- GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
- GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
- GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
- #endif
- typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
- typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
- typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
- typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
- #endif
- /* GL_OES_vertex_half_float */
- #ifndef GL_OES_vertex_half_float
- #define GL_OES_vertex_half_float 1
- #endif
- /* GL_OES_vertex_type_10_10_10_2 */
- #ifndef GL_OES_vertex_type_10_10_10_2
- #define GL_OES_vertex_type_10_10_10_2 1
- #endif
- /*------------------------------------------------------------------------*
- * KHR extension functions
- *------------------------------------------------------------------------*/
- #ifndef GL_KHR_debug
- #define GL_KHR_debug 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
- GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
- GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
- GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
- GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
- GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
- GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
- GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
- GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
- GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
- GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
- #endif
- typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
- typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
- typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
- typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
- typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
- typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
- typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
- typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
- typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
- typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
- typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
- #endif
- #ifndef GL_KHR_texture_compression_astc_ldr
- #define GL_KHR_texture_compression_astc_ldr 1
- #endif
- /*------------------------------------------------------------------------*
- * AMD extension functions
- *------------------------------------------------------------------------*/
- /* GL_AMD_compressed_3DC_texture */
- #ifndef GL_AMD_compressed_3DC_texture
- #define GL_AMD_compressed_3DC_texture 1
- #endif
- /* GL_AMD_compressed_ATC_texture */
- #ifndef GL_AMD_compressed_ATC_texture
- #define GL_AMD_compressed_ATC_texture 1
- #endif
- /* AMD_performance_monitor */
- #ifndef GL_AMD_performance_monitor
- #define GL_AMD_performance_monitor 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
- GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
- GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
- GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
- GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
- GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
- GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
- GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
- GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
- GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
- GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
- #endif
- typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
- typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
- typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
- typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
- typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
- typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
- typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
- typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
- typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
- typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
- typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
- #endif
- /* GL_AMD_program_binary_Z400 */
- #ifndef GL_AMD_program_binary_Z400
- #define GL_AMD_program_binary_Z400 1
- #endif
- /*------------------------------------------------------------------------*
- * ANGLE extension functions
- *------------------------------------------------------------------------*/
- /* GL_ANGLE_framebuffer_blit */
- #ifndef GL_ANGLE_framebuffer_blit
- #define GL_ANGLE_framebuffer_blit 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
- #endif
- typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
- #endif
- /* GL_ANGLE_framebuffer_multisample */
- #ifndef GL_ANGLE_framebuffer_multisample
- #define GL_ANGLE_framebuffer_multisample 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
- #endif
- typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
- #endif
- #ifndef GL_ANGLE_instanced_arrays
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
- GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
- GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
- #endif
- typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
- typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
- typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
- #endif
- /* GL_ANGLE_pack_reverse_row_order */
- #ifndef GL_ANGLE_pack_reverse_row_order
- #define GL_ANGLE_pack_reverse_row_order 1
- #endif
- /* GL_ANGLE_texture_compression_dxt3 */
- #ifndef GL_ANGLE_texture_compression_dxt3
- #define GL_ANGLE_texture_compression_dxt3 1
- #endif
- /* GL_ANGLE_texture_compression_dxt5 */
- #ifndef GL_ANGLE_texture_compression_dxt5
- #define GL_ANGLE_texture_compression_dxt5 1
- #endif
- /* GL_ANGLE_texture_usage */
- #ifndef GL_ANGLE_texture_usage
- #define GL_ANGLE_texture_usage 1
- #endif
- #ifndef GL_ANGLE_translated_shader_source
- #define GL_ANGLE_translated_shader_source 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
- #endif
- typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
- #endif
- /*------------------------------------------------------------------------*
- * APPLE extension functions
- *------------------------------------------------------------------------*/
- /* GL_APPLE_copy_texture_levels */
- #ifndef GL_APPLE_copy_texture_levels
- #define GL_APPLE_copy_texture_levels 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
- #endif
- typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
- #endif
- /* GL_APPLE_framebuffer_multisample */
- #ifndef GL_APPLE_framebuffer_multisample
- #define GL_APPLE_framebuffer_multisample 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
- GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
- #endif /* GL_GLEXT_PROTOTYPES */
- typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
- typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
- #endif
- /* GL_APPLE_rgb_422 */
- #ifndef GL_APPLE_rgb_422
- #define GL_APPLE_rgb_422 1
- #endif
- /* GL_APPLE_sync */
- #ifndef GL_APPLE_sync
- #define GL_APPLE_sync 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
- GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
- GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
- GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
- GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
- GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
- GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
- #endif
- typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
- typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
- typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
- typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
- typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
- typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
- typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
- #endif
- /* GL_APPLE_texture_format_BGRA8888 */
- #ifndef GL_APPLE_texture_format_BGRA8888
- #define GL_APPLE_texture_format_BGRA8888 1
- #endif
- /* GL_APPLE_texture_max_level */
- #ifndef GL_APPLE_texture_max_level
- #define GL_APPLE_texture_max_level 1
- #endif
- /*------------------------------------------------------------------------*
- * ARM extension functions
- *------------------------------------------------------------------------*/
- /* GL_ARM_mali_program_binary */
- #ifndef GL_ARM_mali_program_binary
- #define GL_ARM_mali_program_binary 1
- #endif
- /* GL_ARM_mali_shader_binary */
- #ifndef GL_ARM_mali_shader_binary
- #define GL_ARM_mali_shader_binary 1
- #endif
- /* GL_ARM_rgba8 */
- #ifndef GL_ARM_rgba8
- #define GL_ARM_rgba8 1
- #endif
- /*------------------------------------------------------------------------*
- * EXT extension functions
- *------------------------------------------------------------------------*/
- /* GL_EXT_blend_minmax */
- #ifndef GL_EXT_blend_minmax
- #define GL_EXT_blend_minmax 1
- #endif
- /* GL_EXT_color_buffer_half_float */
- #ifndef GL_EXT_color_buffer_half_float
- #define GL_EXT_color_buffer_half_float 1
- #endif
- /* GL_EXT_debug_label */
- #ifndef GL_EXT_debug_label
- #define GL_EXT_debug_label 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
- GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
- #endif
- typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
- typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
- #endif
- /* GL_EXT_debug_marker */
- #ifndef GL_EXT_debug_marker
- #define GL_EXT_debug_marker 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
- GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
- GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
- #endif
- typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
- typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
- typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
- #endif
- /* GL_EXT_discard_framebuffer */
- #ifndef GL_EXT_discard_framebuffer
- #define GL_EXT_discard_framebuffer 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
- #endif
- typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
- #endif
- /* GL_EXT_map_buffer_range */
- #ifndef GL_EXT_map_buffer_range
- #define GL_EXT_map_buffer_range 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
- GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
- #endif
- typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
- typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
- #endif
- /* GL_EXT_multisampled_render_to_texture */
- #ifndef GL_EXT_multisampled_render_to_texture
- #define GL_EXT_multisampled_render_to_texture 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
- GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
- #endif
- typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
- typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
- #endif
- /* GL_EXT_multiview_draw_buffers */
- #ifndef GL_EXT_multiview_draw_buffers
- #define GL_EXT_multiview_draw_buffers 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
- GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
- GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
- #endif
- typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
- typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
- typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
- #endif
- #ifndef GL_EXT_multi_draw_arrays
- #define GL_EXT_multi_draw_arrays 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
- GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
- #endif /* GL_GLEXT_PROTOTYPES */
- typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
- typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
- #endif
- /* GL_EXT_occlusion_query_boolean */
- #ifndef GL_EXT_occlusion_query_boolean
- #define GL_EXT_occlusion_query_boolean 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
- GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
- GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
- GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
- GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
- GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
- GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
- #endif
- typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
- typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
- typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
- typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
- typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
- typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
- typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
- #endif
- /* GL_EXT_read_format_bgra */
- #ifndef GL_EXT_read_format_bgra
- #define GL_EXT_read_format_bgra 1
- #endif
- /* GL_EXT_robustness */
- #ifndef GL_EXT_robustness
- #define GL_EXT_robustness 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
- GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
- GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
- GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
- #endif
- typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
- typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
- typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
- typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
- #endif
- /* GL_EXT_separate_shader_objects */
- #ifndef GL_EXT_separate_shader_objects
- #define GL_EXT_separate_shader_objects 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
- GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
- GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
- GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
- GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
- GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
- GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
- GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
- GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
- GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
- GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
- GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
- GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
- GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
- GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
- GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
- GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
- GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
- GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
- GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
- GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
- GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
- GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
- GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
- GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
- #endif
- typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
- typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
- typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
- typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
- typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
- typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
- typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
- typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
- typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
- typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
- typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
- typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
- #endif
- /* GL_EXT_shader_framebuffer_fetch */
- #ifndef GL_EXT_shader_framebuffer_fetch
- #define GL_EXT_shader_framebuffer_fetch 1
- #endif
- /* GL_EXT_shader_texture_lod */
- #ifndef GL_EXT_shader_texture_lod
- #define GL_EXT_shader_texture_lod 1
- #endif
- /* GL_EXT_shadow_samplers */
- #ifndef GL_EXT_shadow_samplers
- #define GL_EXT_shadow_samplers 1
- #endif
- /* GL_EXT_sRGB */
- #ifndef GL_EXT_sRGB
- #define GL_EXT_sRGB 1
- #endif
- /* GL_EXT_texture_compression_dxt1 */
- #ifndef GL_EXT_texture_compression_dxt1
- #define GL_EXT_texture_compression_dxt1 1
- #endif
- /* GL_EXT_texture_filter_anisotropic */
- #ifndef GL_EXT_texture_filter_anisotropic
- #define GL_EXT_texture_filter_anisotropic 1
- #endif
- /* GL_EXT_texture_format_BGRA8888 */
- #ifndef GL_EXT_texture_format_BGRA8888
- #define GL_EXT_texture_format_BGRA8888 1
- #endif
- /* GL_EXT_texture_rg */
- #ifndef GL_EXT_texture_rg
- #define GL_EXT_texture_rg 1
- #endif
- /* GL_EXT_texture_storage */
- #ifndef GL_EXT_texture_storage
- #define GL_EXT_texture_storage 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
- GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
- GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
- GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
- GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
- GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
- #endif
- typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
- typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
- typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
- typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
- typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
- typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
- #endif
- /* GL_EXT_texture_type_2_10_10_10_REV */
- #ifndef GL_EXT_texture_type_2_10_10_10_REV
- #define GL_EXT_texture_type_2_10_10_10_REV 1
- #endif
- /* GL_EXT_unpack_subimage */
- #ifndef GL_EXT_unpack_subimage
- #define GL_EXT_unpack_subimage 1
- #endif
- /*------------------------------------------------------------------------*
- * DMP extension functions
- *------------------------------------------------------------------------*/
- /* GL_DMP_shader_binary */
- #ifndef GL_DMP_shader_binary
- #define GL_DMP_shader_binary 1
- #endif
- /*------------------------------------------------------------------------*
- * FJ extension functions
- *------------------------------------------------------------------------*/
- /* GL_FJ_shader_binary_GCCSO */
- #ifndef GL_FJ_shader_binary_GCCSO
- #define GL_FJ_shader_binary_GCCSO 1
- #endif
- /*------------------------------------------------------------------------*
- * IMG extension functions
- *------------------------------------------------------------------------*/
- /* GL_IMG_program_binary */
- #ifndef GL_IMG_program_binary
- #define GL_IMG_program_binary 1
- #endif
- /* GL_IMG_read_format */
- #ifndef GL_IMG_read_format
- #define GL_IMG_read_format 1
- #endif
- /* GL_IMG_shader_binary */
- #ifndef GL_IMG_shader_binary
- #define GL_IMG_shader_binary 1
- #endif
- /* GL_IMG_texture_compression_pvrtc */
- #ifndef GL_IMG_texture_compression_pvrtc
- #define GL_IMG_texture_compression_pvrtc 1
- #endif
- /* GL_IMG_multisampled_render_to_texture */
- #ifndef GL_IMG_multisampled_render_to_texture
- #define GL_IMG_multisampled_render_to_texture 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
- GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
- #endif
- typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
- typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
- #endif
- /*------------------------------------------------------------------------*
- * NV extension functions
- *------------------------------------------------------------------------*/
- /* GL_NV_coverage_sample */
- #ifndef GL_NV_coverage_sample
- #define GL_NV_coverage_sample 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
- GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
- #endif
- typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
- typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
- #endif
- /* GL_NV_depth_nonlinear */
- #ifndef GL_NV_depth_nonlinear
- #define GL_NV_depth_nonlinear 1
- #endif
- /* GL_NV_draw_buffers */
- #ifndef GL_NV_draw_buffers
- #define GL_NV_draw_buffers 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
- #endif
- typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
- #endif
- /* GL_NV_fbo_color_attachments */
- #ifndef GL_NV_fbo_color_attachments
- #define GL_NV_fbo_color_attachments 1
- #endif
- /* GL_NV_fence */
- #ifndef GL_NV_fence
- #define GL_NV_fence 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
- GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
- GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
- GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
- GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
- GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
- GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
- #endif
- typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
- typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
- typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
- typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
- typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
- typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
- typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
- #endif
- /* GL_NV_read_buffer */
- #ifndef GL_NV_read_buffer
- #define GL_NV_read_buffer 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
- #endif
- typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
- #endif
- /* GL_NV_read_buffer_front */
- #ifndef GL_NV_read_buffer_front
- #define GL_NV_read_buffer_front 1
- #endif
- /* GL_NV_read_depth */
- #ifndef GL_NV_read_depth
- #define GL_NV_read_depth 1
- #endif
- /* GL_NV_read_depth_stencil */
- #ifndef GL_NV_read_depth_stencil
- #define GL_NV_read_depth_stencil 1
- #endif
- /* GL_NV_read_stencil */
- #ifndef GL_NV_read_stencil
- #define GL_NV_read_stencil 1
- #endif
- /* GL_NV_texture_compression_s3tc_update */
- #ifndef GL_NV_texture_compression_s3tc_update
- #define GL_NV_texture_compression_s3tc_update 1
- #endif
- /* GL_NV_texture_npot_2D_mipmap */
- #ifndef GL_NV_texture_npot_2D_mipmap
- #define GL_NV_texture_npot_2D_mipmap 1
- #endif
- /*------------------------------------------------------------------------*
- * QCOM extension functions
- *------------------------------------------------------------------------*/
- /* GL_QCOM_alpha_test */
- #ifndef GL_QCOM_alpha_test
- #define GL_QCOM_alpha_test 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
- #endif
- typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
- #endif
- /* GL_QCOM_binning_control */
- #ifndef GL_QCOM_binning_control
- #define GL_QCOM_binning_control 1
- #endif
- /* GL_QCOM_driver_control */
- #ifndef GL_QCOM_driver_control
- #define GL_QCOM_driver_control 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
- GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
- GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
- GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
- #endif
- typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
- typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
- typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
- typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
- #endif
- /* GL_QCOM_extended_get */
- #ifndef GL_QCOM_extended_get
- #define GL_QCOM_extended_get 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
- GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
- GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
- GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
- GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
- GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
- GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
- GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
- #endif
- typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
- typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
- typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
- typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
- typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
- typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
- typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
- typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
- #endif
- /* GL_QCOM_extended_get2 */
- #ifndef GL_QCOM_extended_get2
- #define GL_QCOM_extended_get2 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
- GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
- GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
- GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
- #endif
- typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
- typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
- typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
- typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
- #endif
- /* GL_QCOM_perfmon_global_mode */
- #ifndef GL_QCOM_perfmon_global_mode
- #define GL_QCOM_perfmon_global_mode 1
- #endif
- /* GL_QCOM_writeonly_rendering */
- #ifndef GL_QCOM_writeonly_rendering
- #define GL_QCOM_writeonly_rendering 1
- #endif
- /* GL_QCOM_tiled_rendering */
- #ifndef GL_QCOM_tiled_rendering
- #define GL_QCOM_tiled_rendering 1
- #ifdef GL_GLEXT_PROTOTYPES
- GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
- GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
- #endif
- typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
- typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
- #endif
- /*------------------------------------------------------------------------*
- * VIV extension tokens
- *------------------------------------------------------------------------*/
- /* GL_VIV_shader_binary */
- #ifndef GL_VIV_shader_binary
- #define GL_VIV_shader_binary 1
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* __gl2ext_h_ */
- #endif /* _MSC_VER */
- #ifndef APIENTRY
- #define APIENTRY GL_APIENTRY
- #endif
|