include/SDL_opengles2_gl2.h
author Ryan C. Gordon <icculus@icculus.org>
Thu, 28 May 2015 01:54:52 -0400
changeset 9671 0e1f57b051f4
parent 8808 da1e1d6e84c4
permissions -rw-r--r--
Windows GetBasePath should use GetModuleFileNameExW() and check for overflows.

Apparently you might get strange paths from GetModuleFileName(), such as
short path names or UNC filenames, so this avoids that problem. Since you have
to tapdance with linking different libraries and defining macros depending on
what Windows you plan to target, we dynamically load the API we need, which
works on all versions of Windows (on Win7, it'll load a compatibility wrapper
for the newer API location).

What a mess.

This also now does the right thing if there isn't enough space to store the
path, looping with a larger allocated buffer each try.

Fixes Bugzilla #2435.
jorgen@8806
     1
#ifndef __gl2_h_
jorgen@8806
     2
#define __gl2_h_
jorgen@8806
     3
jorgen@8808
     4
/* $Revision: 20555 $ on $Date:: 2013-02-12 14:32:47 -0800 #$ */
jorgen@8806
     5
jorgen@8806
     6
/*#include <GLES2/gl2platform.h>*/
jorgen@8806
     7
jorgen@8806
     8
#ifdef __cplusplus
jorgen@8806
     9
extern "C" {
jorgen@8806
    10
#endif
jorgen@8806
    11
jorgen@8806
    12
/*
jorgen@8806
    13
 * This document is licensed under the SGI Free Software B License Version
jorgen@8806
    14
 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
jorgen@8806
    15
 */
jorgen@8806
    16
jorgen@8806
    17
/*-------------------------------------------------------------------------
jorgen@8806
    18
 * Data type definitions
jorgen@8806
    19
 *-----------------------------------------------------------------------*/
jorgen@8806
    20
jorgen@8806
    21
typedef void             GLvoid;
jorgen@8806
    22
typedef char             GLchar;
jorgen@8806
    23
typedef unsigned int     GLenum;
jorgen@8806
    24
typedef unsigned char    GLboolean;
jorgen@8806
    25
typedef unsigned int     GLbitfield;
jorgen@8806
    26
typedef khronos_int8_t   GLbyte;
jorgen@8806
    27
typedef short            GLshort;
jorgen@8806
    28
typedef int              GLint;
jorgen@8806
    29
typedef int              GLsizei;
jorgen@8806
    30
typedef khronos_uint8_t  GLubyte;
jorgen@8806
    31
typedef unsigned short   GLushort;
jorgen@8806
    32
typedef unsigned int     GLuint;
jorgen@8806
    33
typedef khronos_float_t  GLfloat;
jorgen@8806
    34
typedef khronos_float_t  GLclampf;
jorgen@8806
    35
typedef khronos_int32_t  GLfixed;
jorgen@8806
    36
jorgen@8806
    37
/* GL types for handling large vertex buffer objects */
jorgen@8806
    38
typedef khronos_intptr_t GLintptr;
jorgen@8806
    39
typedef khronos_ssize_t  GLsizeiptr;
jorgen@8806
    40
jorgen@8806
    41
/* OpenGL ES core versions */
jorgen@8806
    42
#define GL_ES_VERSION_2_0                 1
jorgen@8806
    43
jorgen@8806
    44
/* ClearBufferMask */
jorgen@8806
    45
#define GL_DEPTH_BUFFER_BIT               0x00000100
jorgen@8806
    46
#define GL_STENCIL_BUFFER_BIT             0x00000400
jorgen@8806
    47
#define GL_COLOR_BUFFER_BIT               0x00004000
jorgen@8806
    48
jorgen@8806
    49
/* Boolean */
jorgen@8806
    50
#define GL_FALSE                          0
jorgen@8806
    51
#define GL_TRUE                           1
jorgen@8806
    52
jorgen@8806
    53
/* BeginMode */
jorgen@8806
    54
#define GL_POINTS                         0x0000
jorgen@8806
    55
#define GL_LINES                          0x0001
jorgen@8806
    56
#define GL_LINE_LOOP                      0x0002
jorgen@8806
    57
#define GL_LINE_STRIP                     0x0003
jorgen@8806
    58
#define GL_TRIANGLES                      0x0004
jorgen@8806
    59
#define GL_TRIANGLE_STRIP                 0x0005
jorgen@8806
    60
#define GL_TRIANGLE_FAN                   0x0006
jorgen@8806
    61
jorgen@8806
    62
/* AlphaFunction (not supported in ES20) */
jorgen@8806
    63
/*      GL_NEVER */
jorgen@8806
    64
/*      GL_LESS */
jorgen@8806
    65
/*      GL_EQUAL */
jorgen@8806
    66
/*      GL_LEQUAL */
jorgen@8806
    67
/*      GL_GREATER */
jorgen@8806
    68
/*      GL_NOTEQUAL */
jorgen@8806
    69
/*      GL_GEQUAL */
jorgen@8806
    70
/*      GL_ALWAYS */
jorgen@8806
    71
jorgen@8806
    72
/* BlendingFactorDest */
jorgen@8806
    73
#define GL_ZERO                           0
jorgen@8806
    74
#define GL_ONE                            1
jorgen@8806
    75
#define GL_SRC_COLOR                      0x0300
jorgen@8806
    76
#define GL_ONE_MINUS_SRC_COLOR            0x0301
jorgen@8806
    77
#define GL_SRC_ALPHA                      0x0302
jorgen@8806
    78
#define GL_ONE_MINUS_SRC_ALPHA            0x0303
jorgen@8806
    79
#define GL_DST_ALPHA                      0x0304
jorgen@8806
    80
#define GL_ONE_MINUS_DST_ALPHA            0x0305
jorgen@8806
    81
jorgen@8806
    82
/* BlendingFactorSrc */
jorgen@8806
    83
/*      GL_ZERO */
jorgen@8806
    84
/*      GL_ONE */
jorgen@8806
    85
#define GL_DST_COLOR                      0x0306
jorgen@8806
    86
#define GL_ONE_MINUS_DST_COLOR            0x0307
jorgen@8806
    87
#define GL_SRC_ALPHA_SATURATE             0x0308
jorgen@8806
    88
/*      GL_SRC_ALPHA */
jorgen@8806
    89
/*      GL_ONE_MINUS_SRC_ALPHA */
jorgen@8806
    90
/*      GL_DST_ALPHA */
jorgen@8806
    91
/*      GL_ONE_MINUS_DST_ALPHA */
jorgen@8806
    92
jorgen@8806
    93
/* BlendEquationSeparate */
jorgen@8806
    94
#define GL_FUNC_ADD                       0x8006
jorgen@8806
    95
#define GL_BLEND_EQUATION                 0x8009
jorgen@8806
    96
#define GL_BLEND_EQUATION_RGB             0x8009    /* same as BLEND_EQUATION */
jorgen@8806
    97
#define GL_BLEND_EQUATION_ALPHA           0x883D
jorgen@8806
    98
jorgen@8806
    99
/* BlendSubtract */
jorgen@8806
   100
#define GL_FUNC_SUBTRACT                  0x800A
jorgen@8806
   101
#define GL_FUNC_REVERSE_SUBTRACT          0x800B
jorgen@8806
   102
jorgen@8806
   103
/* Separate Blend Functions */
jorgen@8806
   104
#define GL_BLEND_DST_RGB                  0x80C8
jorgen@8806
   105
#define GL_BLEND_SRC_RGB                  0x80C9
jorgen@8806
   106
#define GL_BLEND_DST_ALPHA                0x80CA
jorgen@8806
   107
#define GL_BLEND_SRC_ALPHA                0x80CB
jorgen@8806
   108
#define GL_CONSTANT_COLOR                 0x8001
jorgen@8806
   109
#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
jorgen@8806
   110
#define GL_CONSTANT_ALPHA                 0x8003
jorgen@8806
   111
#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
jorgen@8806
   112
#define GL_BLEND_COLOR                    0x8005
jorgen@8806
   113
jorgen@8806
   114
/* Buffer Objects */
jorgen@8806
   115
#define GL_ARRAY_BUFFER                   0x8892
jorgen@8806
   116
#define GL_ELEMENT_ARRAY_BUFFER           0x8893
jorgen@8806
   117
#define GL_ARRAY_BUFFER_BINDING           0x8894
jorgen@8806
   118
#define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895
jorgen@8806
   119
jorgen@8806
   120
#define GL_STREAM_DRAW                    0x88E0
jorgen@8806
   121
#define GL_STATIC_DRAW                    0x88E4
jorgen@8806
   122
#define GL_DYNAMIC_DRAW                   0x88E8
jorgen@8806
   123
jorgen@8806
   124
#define GL_BUFFER_SIZE                    0x8764
jorgen@8806
   125
#define GL_BUFFER_USAGE                   0x8765
jorgen@8806
   126
jorgen@8806
   127
#define GL_CURRENT_VERTEX_ATTRIB          0x8626
jorgen@8806
   128
jorgen@8806
   129
/* CullFaceMode */
jorgen@8806
   130
#define GL_FRONT                          0x0404
jorgen@8806
   131
#define GL_BACK                           0x0405
jorgen@8806
   132
#define GL_FRONT_AND_BACK                 0x0408
jorgen@8806
   133
jorgen@8806
   134
/* DepthFunction */
jorgen@8806
   135
/*      GL_NEVER */
jorgen@8806
   136
/*      GL_LESS */
jorgen@8806
   137
/*      GL_EQUAL */
jorgen@8806
   138
/*      GL_LEQUAL */
jorgen@8806
   139
/*      GL_GREATER */
jorgen@8806
   140
/*      GL_NOTEQUAL */
jorgen@8806
   141
/*      GL_GEQUAL */
jorgen@8806
   142
/*      GL_ALWAYS */
jorgen@8806
   143
jorgen@8806
   144
/* EnableCap */
jorgen@8806
   145
#define GL_TEXTURE_2D                     0x0DE1
jorgen@8806
   146
#define GL_CULL_FACE                      0x0B44
jorgen@8806
   147
#define GL_BLEND                          0x0BE2
jorgen@8806
   148
#define GL_DITHER                         0x0BD0
jorgen@8806
   149
#define GL_STENCIL_TEST                   0x0B90
jorgen@8806
   150
#define GL_DEPTH_TEST                     0x0B71
jorgen@8806
   151
#define GL_SCISSOR_TEST                   0x0C11
jorgen@8806
   152
#define GL_POLYGON_OFFSET_FILL            0x8037
jorgen@8806
   153
#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
jorgen@8806
   154
#define GL_SAMPLE_COVERAGE                0x80A0
jorgen@8806
   155
jorgen@8806
   156
/* ErrorCode */
jorgen@8806
   157
#define GL_NO_ERROR                       0
jorgen@8806
   158
#define GL_INVALID_ENUM                   0x0500
jorgen@8806
   159
#define GL_INVALID_VALUE                  0x0501
jorgen@8806
   160
#define GL_INVALID_OPERATION              0x0502
jorgen@8806
   161
#define GL_OUT_OF_MEMORY                  0x0505
jorgen@8806
   162
jorgen@8806
   163
/* FrontFaceDirection */
jorgen@8806
   164
#define GL_CW                             0x0900
jorgen@8806
   165
#define GL_CCW                            0x0901
jorgen@8806
   166
jorgen@8806
   167
/* GetPName */
jorgen@8806
   168
#define GL_LINE_WIDTH                     0x0B21
jorgen@8806
   169
#define GL_ALIASED_POINT_SIZE_RANGE       0x846D
jorgen@8806
   170
#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
jorgen@8806
   171
#define GL_CULL_FACE_MODE                 0x0B45
jorgen@8806
   172
#define GL_FRONT_FACE                     0x0B46
jorgen@8806
   173
#define GL_DEPTH_RANGE                    0x0B70
jorgen@8806
   174
#define GL_DEPTH_WRITEMASK                0x0B72
jorgen@8806
   175
#define GL_DEPTH_CLEAR_VALUE              0x0B73
jorgen@8806
   176
#define GL_DEPTH_FUNC                     0x0B74
jorgen@8806
   177
#define GL_STENCIL_CLEAR_VALUE            0x0B91
jorgen@8806
   178
#define GL_STENCIL_FUNC                   0x0B92
jorgen@8806
   179
#define GL_STENCIL_FAIL                   0x0B94
jorgen@8806
   180
#define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95
jorgen@8806
   181
#define GL_STENCIL_PASS_DEPTH_PASS        0x0B96
jorgen@8806
   182
#define GL_STENCIL_REF                    0x0B97
jorgen@8806
   183
#define GL_STENCIL_VALUE_MASK             0x0B93
jorgen@8806
   184
#define GL_STENCIL_WRITEMASK              0x0B98
jorgen@8806
   185
#define GL_STENCIL_BACK_FUNC              0x8800
jorgen@8806
   186
#define GL_STENCIL_BACK_FAIL              0x8801
jorgen@8806
   187
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802
jorgen@8806
   188
#define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803
jorgen@8806
   189
#define GL_STENCIL_BACK_REF               0x8CA3
jorgen@8806
   190
#define GL_STENCIL_BACK_VALUE_MASK        0x8CA4
jorgen@8806
   191
#define GL_STENCIL_BACK_WRITEMASK         0x8CA5
jorgen@8806
   192
#define GL_VIEWPORT                       0x0BA2
jorgen@8806
   193
#define GL_SCISSOR_BOX                    0x0C10
jorgen@8806
   194
/*      GL_SCISSOR_TEST */
jorgen@8806
   195
#define GL_COLOR_CLEAR_VALUE              0x0C22
jorgen@8806
   196
#define GL_COLOR_WRITEMASK                0x0C23
jorgen@8806
   197
#define GL_UNPACK_ALIGNMENT               0x0CF5
jorgen@8806
   198
#define GL_PACK_ALIGNMENT                 0x0D05
jorgen@8806
   199
#define GL_MAX_TEXTURE_SIZE               0x0D33
jorgen@8806
   200
#define GL_MAX_VIEWPORT_DIMS              0x0D3A
jorgen@8806
   201
#define GL_SUBPIXEL_BITS                  0x0D50
jorgen@8806
   202
#define GL_RED_BITS                       0x0D52
jorgen@8806
   203
#define GL_GREEN_BITS                     0x0D53
jorgen@8806
   204
#define GL_BLUE_BITS                      0x0D54
jorgen@8806
   205
#define GL_ALPHA_BITS                     0x0D55
jorgen@8806
   206
#define GL_DEPTH_BITS                     0x0D56
jorgen@8806
   207
#define GL_STENCIL_BITS                   0x0D57
jorgen@8806
   208
#define GL_POLYGON_OFFSET_UNITS           0x2A00
jorgen@8806
   209
/*      GL_POLYGON_OFFSET_FILL */
jorgen@8806
   210
#define GL_POLYGON_OFFSET_FACTOR          0x8038
jorgen@8806
   211
#define GL_TEXTURE_BINDING_2D             0x8069
jorgen@8806
   212
#define GL_SAMPLE_BUFFERS                 0x80A8
jorgen@8806
   213
#define GL_SAMPLES                        0x80A9
jorgen@8806
   214
#define GL_SAMPLE_COVERAGE_VALUE          0x80AA
jorgen@8806
   215
#define GL_SAMPLE_COVERAGE_INVERT         0x80AB
jorgen@8806
   216
jorgen@8806
   217
/* GetTextureParameter */
jorgen@8806
   218
/*      GL_TEXTURE_MAG_FILTER */
jorgen@8806
   219
/*      GL_TEXTURE_MIN_FILTER */
jorgen@8806
   220
/*      GL_TEXTURE_WRAP_S */
jorgen@8806
   221
/*      GL_TEXTURE_WRAP_T */
jorgen@8806
   222
jorgen@8806
   223
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
jorgen@8806
   224
#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
jorgen@8806
   225
jorgen@8806
   226
/* HintMode */
jorgen@8806
   227
#define GL_DONT_CARE                      0x1100
jorgen@8806
   228
#define GL_FASTEST                        0x1101
jorgen@8806
   229
#define GL_NICEST                         0x1102
jorgen@8806
   230
jorgen@8806
   231
/* HintTarget */
jorgen@8806
   232
#define GL_GENERATE_MIPMAP_HINT            0x8192
jorgen@8806
   233
jorgen@8806
   234
/* DataType */
jorgen@8806
   235
#define GL_BYTE                           0x1400
jorgen@8806
   236
#define GL_UNSIGNED_BYTE                  0x1401
jorgen@8806
   237
#define GL_SHORT                          0x1402
jorgen@8806
   238
#define GL_UNSIGNED_SHORT                 0x1403
jorgen@8806
   239
#define GL_INT                            0x1404
jorgen@8806
   240
#define GL_UNSIGNED_INT                   0x1405
jorgen@8806
   241
#define GL_FLOAT                          0x1406
jorgen@8806
   242
#define GL_FIXED                          0x140C
jorgen@8806
   243
jorgen@8806
   244
/* PixelFormat */
jorgen@8806
   245
#define GL_DEPTH_COMPONENT                0x1902
jorgen@8806
   246
#define GL_ALPHA                          0x1906
jorgen@8806
   247
#define GL_RGB                            0x1907
jorgen@8806
   248
#define GL_RGBA                           0x1908
jorgen@8806
   249
#define GL_LUMINANCE                      0x1909
jorgen@8806
   250
#define GL_LUMINANCE_ALPHA                0x190A
jorgen@8806
   251
jorgen@8806
   252
/* PixelType */
jorgen@8806
   253
/*      GL_UNSIGNED_BYTE */
jorgen@8806
   254
#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
jorgen@8806
   255
#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
jorgen@8806
   256
#define GL_UNSIGNED_SHORT_5_6_5           0x8363
jorgen@8806
   257
jorgen@8806
   258
/* Shaders */
jorgen@8806
   259
#define GL_FRAGMENT_SHADER                  0x8B30
jorgen@8806
   260
#define GL_VERTEX_SHADER                    0x8B31
jorgen@8806
   261
#define GL_MAX_VERTEX_ATTRIBS               0x8869
jorgen@8806
   262
#define GL_MAX_VERTEX_UNIFORM_VECTORS       0x8DFB
jorgen@8806
   263
#define GL_MAX_VARYING_VECTORS              0x8DFC
jorgen@8806
   264
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
jorgen@8806
   265
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   0x8B4C
jorgen@8806
   266
#define GL_MAX_TEXTURE_IMAGE_UNITS          0x8872
jorgen@8806
   267
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS     0x8DFD
jorgen@8806
   268
#define GL_SHADER_TYPE                      0x8B4F
jorgen@8806
   269
#define GL_DELETE_STATUS                    0x8B80
jorgen@8806
   270
#define GL_LINK_STATUS                      0x8B82
jorgen@8806
   271
#define GL_VALIDATE_STATUS                  0x8B83
jorgen@8806
   272
#define GL_ATTACHED_SHADERS                 0x8B85
jorgen@8806
   273
#define GL_ACTIVE_UNIFORMS                  0x8B86
jorgen@8806
   274
#define GL_ACTIVE_UNIFORM_MAX_LENGTH        0x8B87
jorgen@8806
   275
#define GL_ACTIVE_ATTRIBUTES                0x8B89
jorgen@8806
   276
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      0x8B8A
jorgen@8806
   277
#define GL_SHADING_LANGUAGE_VERSION         0x8B8C
jorgen@8806
   278
#define GL_CURRENT_PROGRAM                  0x8B8D
jorgen@8806
   279
jorgen@8806
   280
/* StencilFunction */
jorgen@8806
   281
#define GL_NEVER                          0x0200
jorgen@8806
   282
#define GL_LESS                           0x0201
jorgen@8806
   283
#define GL_EQUAL                          0x0202
jorgen@8806
   284
#define GL_LEQUAL                         0x0203
jorgen@8806
   285
#define GL_GREATER                        0x0204
jorgen@8806
   286
#define GL_NOTEQUAL                       0x0205
jorgen@8806
   287
#define GL_GEQUAL                         0x0206
jorgen@8806
   288
#define GL_ALWAYS                         0x0207
jorgen@8806
   289
jorgen@8806
   290
/* StencilOp */
jorgen@8806
   291
/*      GL_ZERO */
jorgen@8806
   292
#define GL_KEEP                           0x1E00
jorgen@8806
   293
#define GL_REPLACE                        0x1E01
jorgen@8806
   294
#define GL_INCR                           0x1E02
jorgen@8806
   295
#define GL_DECR                           0x1E03
jorgen@8806
   296
#define GL_INVERT                         0x150A
jorgen@8806
   297
#define GL_INCR_WRAP                      0x8507
jorgen@8806
   298
#define GL_DECR_WRAP                      0x8508
jorgen@8806
   299
jorgen@8806
   300
/* StringName */
jorgen@8806
   301
#define GL_VENDOR                         0x1F00
jorgen@8806
   302
#define GL_RENDERER                       0x1F01
jorgen@8806
   303
#define GL_VERSION                        0x1F02
jorgen@8806
   304
#define GL_EXTENSIONS                     0x1F03
jorgen@8806
   305
jorgen@8806
   306
/* TextureMagFilter */
jorgen@8806
   307
#define GL_NEAREST                        0x2600
jorgen@8806
   308
#define GL_LINEAR                         0x2601
jorgen@8806
   309
jorgen@8806
   310
/* TextureMinFilter */
jorgen@8806
   311
/*      GL_NEAREST */
jorgen@8806
   312
/*      GL_LINEAR */
jorgen@8806
   313
#define GL_NEAREST_MIPMAP_NEAREST         0x2700
jorgen@8806
   314
#define GL_LINEAR_MIPMAP_NEAREST          0x2701
jorgen@8806
   315
#define GL_NEAREST_MIPMAP_LINEAR          0x2702
jorgen@8806
   316
#define GL_LINEAR_MIPMAP_LINEAR           0x2703
jorgen@8806
   317
jorgen@8806
   318
/* TextureParameterName */
jorgen@8806
   319
#define GL_TEXTURE_MAG_FILTER             0x2800
jorgen@8806
   320
#define GL_TEXTURE_MIN_FILTER             0x2801
jorgen@8806
   321
#define GL_TEXTURE_WRAP_S                 0x2802
jorgen@8806
   322
#define GL_TEXTURE_WRAP_T                 0x2803
jorgen@8806
   323
jorgen@8806
   324
/* TextureTarget */
jorgen@8806
   325
/*      GL_TEXTURE_2D */
jorgen@8806
   326
#define GL_TEXTURE                        0x1702
jorgen@8806
   327
jorgen@8806
   328
#define GL_TEXTURE_CUBE_MAP               0x8513
jorgen@8806
   329
#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
jorgen@8806
   330
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
jorgen@8806
   331
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
jorgen@8806
   332
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
jorgen@8806
   333
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
jorgen@8806
   334
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
jorgen@8806
   335
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
jorgen@8806
   336
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
jorgen@8806
   337
jorgen@8806
   338
/* TextureUnit */
jorgen@8806
   339
#define GL_TEXTURE0                       0x84C0
jorgen@8806
   340
#define GL_TEXTURE1                       0x84C1
jorgen@8806
   341
#define GL_TEXTURE2                       0x84C2
jorgen@8806
   342
#define GL_TEXTURE3                       0x84C3
jorgen@8806
   343
#define GL_TEXTURE4                       0x84C4
jorgen@8806
   344
#define GL_TEXTURE5                       0x84C5
jorgen@8806
   345
#define GL_TEXTURE6                       0x84C6
jorgen@8806
   346
#define GL_TEXTURE7                       0x84C7
jorgen@8806
   347
#define GL_TEXTURE8                       0x84C8
jorgen@8806
   348
#define GL_TEXTURE9                       0x84C9
jorgen@8806
   349
#define GL_TEXTURE10                      0x84CA
jorgen@8806
   350
#define GL_TEXTURE11                      0x84CB
jorgen@8806
   351
#define GL_TEXTURE12                      0x84CC
jorgen@8806
   352
#define GL_TEXTURE13                      0x84CD
jorgen@8806
   353
#define GL_TEXTURE14                      0x84CE
jorgen@8806
   354
#define GL_TEXTURE15                      0x84CF
jorgen@8806
   355
#define GL_TEXTURE16                      0x84D0
jorgen@8806
   356
#define GL_TEXTURE17                      0x84D1
jorgen@8806
   357
#define GL_TEXTURE18                      0x84D2
jorgen@8806
   358
#define GL_TEXTURE19                      0x84D3
jorgen@8806
   359
#define GL_TEXTURE20                      0x84D4
jorgen@8806
   360
#define GL_TEXTURE21                      0x84D5
jorgen@8806
   361
#define GL_TEXTURE22                      0x84D6
jorgen@8806
   362
#define GL_TEXTURE23                      0x84D7
jorgen@8806
   363
#define GL_TEXTURE24                      0x84D8
jorgen@8806
   364
#define GL_TEXTURE25                      0x84D9
jorgen@8806
   365
#define GL_TEXTURE26                      0x84DA
jorgen@8806
   366
#define GL_TEXTURE27                      0x84DB
jorgen@8806
   367
#define GL_TEXTURE28                      0x84DC
jorgen@8806
   368
#define GL_TEXTURE29                      0x84DD
jorgen@8806
   369
#define GL_TEXTURE30                      0x84DE
jorgen@8806
   370
#define GL_TEXTURE31                      0x84DF
jorgen@8806
   371
#define GL_ACTIVE_TEXTURE                 0x84E0
jorgen@8806
   372
jorgen@8806
   373
/* TextureWrapMode */
jorgen@8806
   374
#define GL_REPEAT                         0x2901
jorgen@8806
   375
#define GL_CLAMP_TO_EDGE                  0x812F
jorgen@8806
   376
#define GL_MIRRORED_REPEAT                0x8370
jorgen@8806
   377
jorgen@8806
   378
/* Uniform Types */
jorgen@8806
   379
#define GL_FLOAT_VEC2                     0x8B50
jorgen@8806
   380
#define GL_FLOAT_VEC3                     0x8B51
jorgen@8806
   381
#define GL_FLOAT_VEC4                     0x8B52
jorgen@8806
   382
#define GL_INT_VEC2                       0x8B53
jorgen@8806
   383
#define GL_INT_VEC3                       0x8B54
jorgen@8806
   384
#define GL_INT_VEC4                       0x8B55
jorgen@8806
   385
#define GL_BOOL                           0x8B56
jorgen@8806
   386
#define GL_BOOL_VEC2                      0x8B57
jorgen@8806
   387
#define GL_BOOL_VEC3                      0x8B58
jorgen@8806
   388
#define GL_BOOL_VEC4                      0x8B59
jorgen@8806
   389
#define GL_FLOAT_MAT2                     0x8B5A
jorgen@8806
   390
#define GL_FLOAT_MAT3                     0x8B5B
jorgen@8806
   391
#define GL_FLOAT_MAT4                     0x8B5C
jorgen@8806
   392
#define GL_SAMPLER_2D                     0x8B5E
jorgen@8806
   393
#define GL_SAMPLER_CUBE                   0x8B60
jorgen@8806
   394
jorgen@8806
   395
/* Vertex Arrays */
jorgen@8806
   396
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED        0x8622
jorgen@8806
   397
#define GL_VERTEX_ATTRIB_ARRAY_SIZE           0x8623
jorgen@8806
   398
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE         0x8624
jorgen@8806
   399
#define GL_VERTEX_ATTRIB_ARRAY_TYPE           0x8625
jorgen@8806
   400
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED     0x886A
jorgen@8806
   401
#define GL_VERTEX_ATTRIB_ARRAY_POINTER        0x8645
jorgen@8806
   402
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
jorgen@8806
   403
jorgen@8806
   404
/* Read Format */
jorgen@8806
   405
#define GL_IMPLEMENTATION_COLOR_READ_TYPE   0x8B9A
jorgen@8806
   406
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
jorgen@8806
   407
jorgen@8806
   408
/* Shader Source */
jorgen@8806
   409
#define GL_COMPILE_STATUS                 0x8B81
jorgen@8806
   410
#define GL_INFO_LOG_LENGTH                0x8B84
jorgen@8806
   411
#define GL_SHADER_SOURCE_LENGTH           0x8B88
jorgen@8806
   412
#define GL_SHADER_COMPILER                0x8DFA
jorgen@8806
   413
jorgen@8806
   414
/* Shader Binary */
jorgen@8806
   415
#define GL_SHADER_BINARY_FORMATS          0x8DF8
jorgen@8806
   416
#define GL_NUM_SHADER_BINARY_FORMATS      0x8DF9
jorgen@8806
   417
jorgen@8806
   418
/* Shader Precision-Specified Types */
jorgen@8806
   419
#define GL_LOW_FLOAT                      0x8DF0
jorgen@8806
   420
#define GL_MEDIUM_FLOAT                   0x8DF1
jorgen@8806
   421
#define GL_HIGH_FLOAT                     0x8DF2
jorgen@8806
   422
#define GL_LOW_INT                        0x8DF3
jorgen@8806
   423
#define GL_MEDIUM_INT                     0x8DF4
jorgen@8806
   424
#define GL_HIGH_INT                       0x8DF5
jorgen@8806
   425
jorgen@8806
   426
/* Framebuffer Object. */
jorgen@8806
   427
#define GL_FRAMEBUFFER                    0x8D40
jorgen@8806
   428
#define GL_RENDERBUFFER                   0x8D41
jorgen@8806
   429
jorgen@8806
   430
#define GL_RGBA4                          0x8056
jorgen@8806
   431
#define GL_RGB5_A1                        0x8057
jorgen@8806
   432
#define GL_RGB565                         0x8D62
jorgen@8806
   433
#define GL_DEPTH_COMPONENT16              0x81A5
jorgen@8806
   434
#define GL_STENCIL_INDEX8                 0x8D48
jorgen@8806
   435
jorgen@8806
   436
#define GL_RENDERBUFFER_WIDTH             0x8D42
jorgen@8806
   437
#define GL_RENDERBUFFER_HEIGHT            0x8D43
jorgen@8806
   438
#define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44
jorgen@8806
   439
#define GL_RENDERBUFFER_RED_SIZE          0x8D50
jorgen@8806
   440
#define GL_RENDERBUFFER_GREEN_SIZE        0x8D51
jorgen@8806
   441
#define GL_RENDERBUFFER_BLUE_SIZE         0x8D52
jorgen@8806
   442
#define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53
jorgen@8806
   443
#define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54
jorgen@8806
   444
#define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55
jorgen@8806
   445
jorgen@8806
   446
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           0x8CD0
jorgen@8806
   447
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           0x8CD1
jorgen@8806
   448
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         0x8CD2
jorgen@8806
   449
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
jorgen@8806
   450
jorgen@8806
   451
#define GL_COLOR_ATTACHMENT0              0x8CE0
jorgen@8806
   452
#define GL_DEPTH_ATTACHMENT               0x8D00
jorgen@8806
   453
#define GL_STENCIL_ATTACHMENT             0x8D20
jorgen@8806
   454
jorgen@8806
   455
#define GL_NONE                           0
jorgen@8806
   456
jorgen@8806
   457
#define GL_FRAMEBUFFER_COMPLETE                      0x8CD5
jorgen@8806
   458
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT         0x8CD6
jorgen@8806
   459
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
jorgen@8806
   460
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS         0x8CD9
jorgen@8806
   461
#define GL_FRAMEBUFFER_UNSUPPORTED                   0x8CDD
jorgen@8806
   462
jorgen@8806
   463
#define GL_FRAMEBUFFER_BINDING            0x8CA6
jorgen@8806
   464
#define GL_RENDERBUFFER_BINDING           0x8CA7
jorgen@8806
   465
#define GL_MAX_RENDERBUFFER_SIZE          0x84E8
jorgen@8806
   466
jorgen@8806
   467
#define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506
jorgen@8806
   468
jorgen@8806
   469
/*-------------------------------------------------------------------------
jorgen@8806
   470
 * GL core functions.
jorgen@8806
   471
 *-----------------------------------------------------------------------*/
jorgen@8806
   472
jorgen@8806
   473
GL_APICALL void         GL_APIENTRY glActiveTexture (GLenum texture);
jorgen@8806
   474
GL_APICALL void         GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
jorgen@8806
   475
GL_APICALL void         GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
jorgen@8806
   476
GL_APICALL void         GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
jorgen@8806
   477
GL_APICALL void         GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
jorgen@8806
   478
GL_APICALL void         GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
jorgen@8806
   479
GL_APICALL void         GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
jorgen@8806
   480
GL_APICALL void         GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
jorgen@8806
   481
GL_APICALL void         GL_APIENTRY glBlendEquation ( GLenum mode );
jorgen@8806
   482
GL_APICALL void         GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
jorgen@8806
   483
GL_APICALL void         GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
jorgen@8806
   484
GL_APICALL void         GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
jorgen@8806
   485
GL_APICALL void         GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
jorgen@8806
   486
GL_APICALL void         GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
jorgen@8806
   487
GL_APICALL GLenum       GL_APIENTRY glCheckFramebufferStatus (GLenum target);
jorgen@8806
   488
GL_APICALL void         GL_APIENTRY glClear (GLbitfield mask);
jorgen@8806
   489
GL_APICALL void         GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
jorgen@8806
   490
GL_APICALL void         GL_APIENTRY glClearDepthf (GLclampf depth);
jorgen@8806
   491
GL_APICALL void         GL_APIENTRY glClearStencil (GLint s);
jorgen@8806
   492
GL_APICALL void         GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
jorgen@8806
   493
GL_APICALL void         GL_APIENTRY glCompileShader (GLuint shader);
jorgen@8806
   494
GL_APICALL void         GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
jorgen@8806
   495
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);
jorgen@8806
   496
GL_APICALL void         GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
jorgen@8806
   497
GL_APICALL void         GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
jorgen@8806
   498
GL_APICALL GLuint       GL_APIENTRY glCreateProgram (void);
jorgen@8806
   499
GL_APICALL GLuint       GL_APIENTRY glCreateShader (GLenum type);
jorgen@8806
   500
GL_APICALL void         GL_APIENTRY glCullFace (GLenum mode);
jorgen@8806
   501
GL_APICALL void         GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);
jorgen@8806
   502
GL_APICALL void         GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
jorgen@8806
   503
GL_APICALL void         GL_APIENTRY glDeleteProgram (GLuint program);
jorgen@8806
   504
GL_APICALL void         GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
jorgen@8806
   505
GL_APICALL void         GL_APIENTRY glDeleteShader (GLuint shader);
jorgen@8806
   506
GL_APICALL void         GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);
jorgen@8806
   507
GL_APICALL void         GL_APIENTRY glDepthFunc (GLenum func);
jorgen@8806
   508
GL_APICALL void         GL_APIENTRY glDepthMask (GLboolean flag);
jorgen@8806
   509
GL_APICALL void         GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
jorgen@8806
   510
GL_APICALL void         GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
jorgen@8806
   511
GL_APICALL void         GL_APIENTRY glDisable (GLenum cap);
jorgen@8806
   512
GL_APICALL void         GL_APIENTRY glDisableVertexAttribArray (GLuint index);
jorgen@8806
   513
GL_APICALL void         GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
jorgen@8806
   514
GL_APICALL void         GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
jorgen@8806
   515
GL_APICALL void         GL_APIENTRY glEnable (GLenum cap);
jorgen@8806
   516
GL_APICALL void         GL_APIENTRY glEnableVertexAttribArray (GLuint index);
jorgen@8806
   517
GL_APICALL void         GL_APIENTRY glFinish (void);
jorgen@8806
   518
GL_APICALL void         GL_APIENTRY glFlush (void);
jorgen@8806
   519
GL_APICALL void         GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
jorgen@8806
   520
GL_APICALL void         GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
jorgen@8806
   521
GL_APICALL void         GL_APIENTRY glFrontFace (GLenum mode);
jorgen@8806
   522
GL_APICALL void         GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);
jorgen@8806
   523
GL_APICALL void         GL_APIENTRY glGenerateMipmap (GLenum target);
jorgen@8806
   524
GL_APICALL void         GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);
jorgen@8806
   525
GL_APICALL void         GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
jorgen@8806
   526
GL_APICALL void         GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
jorgen@8806
   527
GL_APICALL void         GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
jorgen@8806
   528
GL_APICALL void         GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
jorgen@8806
   529
GL_APICALL void         GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
jorgen@8808
   530
GL_APICALL GLint        GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
jorgen@8806
   531
GL_APICALL void         GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
jorgen@8806
   532
GL_APICALL void         GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
jorgen@8806
   533
GL_APICALL GLenum       GL_APIENTRY glGetError (void);
jorgen@8806
   534
GL_APICALL void         GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);
jorgen@8806
   535
GL_APICALL void         GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
jorgen@8806
   536
GL_APICALL void         GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);
jorgen@8806
   537
GL_APICALL void         GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);
jorgen@8806
   538
GL_APICALL void         GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
jorgen@8806
   539
GL_APICALL void         GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
jorgen@8806
   540
GL_APICALL void         GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
jorgen@8806
   541
GL_APICALL void         GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
jorgen@8806
   542
GL_APICALL void         GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
jorgen@8806
   543
GL_APICALL void         GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
jorgen@8806
   544
GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);
jorgen@8806
   545
GL_APICALL void         GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
jorgen@8806
   546
GL_APICALL void         GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
jorgen@8806
   547
GL_APICALL void         GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
jorgen@8806
   548
GL_APICALL void         GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
jorgen@8808
   549
GL_APICALL GLint        GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
jorgen@8806
   550
GL_APICALL void         GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
jorgen@8806
   551
GL_APICALL void         GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
jorgen@8806
   552
GL_APICALL void         GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
jorgen@8806
   553
GL_APICALL void         GL_APIENTRY glHint (GLenum target, GLenum mode);
jorgen@8806
   554
GL_APICALL GLboolean    GL_APIENTRY glIsBuffer (GLuint buffer);
jorgen@8806
   555
GL_APICALL GLboolean    GL_APIENTRY glIsEnabled (GLenum cap);
jorgen@8806
   556
GL_APICALL GLboolean    GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
jorgen@8806
   557
GL_APICALL GLboolean    GL_APIENTRY glIsProgram (GLuint program);
jorgen@8806
   558
GL_APICALL GLboolean    GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
jorgen@8806
   559
GL_APICALL GLboolean    GL_APIENTRY glIsShader (GLuint shader);
jorgen@8806
   560
GL_APICALL GLboolean    GL_APIENTRY glIsTexture (GLuint texture);
jorgen@8806
   561
GL_APICALL void         GL_APIENTRY glLineWidth (GLfloat width);
jorgen@8806
   562
GL_APICALL void         GL_APIENTRY glLinkProgram (GLuint program);
jorgen@8806
   563
GL_APICALL void         GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
jorgen@8806
   564
GL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
jorgen@8806
   565
GL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
jorgen@8806
   566
GL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);
jorgen@8806
   567
GL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
jorgen@8806
   568
GL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
jorgen@8806
   569
GL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
jorgen@8806
   570
GL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
jorgen@8806
   571
GL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
jorgen@8806
   572
GL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
jorgen@8806
   573
GL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
jorgen@8806
   574
GL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);
jorgen@8806
   575
GL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
jorgen@8806
   576
GL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
jorgen@8806
   577
GL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
jorgen@8806
   578
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);
jorgen@8806
   579
GL_APICALL void         GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
jorgen@8806
   580
GL_APICALL void         GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
jorgen@8806
   581
GL_APICALL void         GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
jorgen@8806
   582
GL_APICALL void         GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
jorgen@8806
   583
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);
jorgen@8806
   584
GL_APICALL void         GL_APIENTRY glUniform1f (GLint location, GLfloat x);
jorgen@8806
   585
GL_APICALL void         GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
jorgen@8806
   586
GL_APICALL void         GL_APIENTRY glUniform1i (GLint location, GLint x);
jorgen@8806
   587
GL_APICALL void         GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);
jorgen@8806
   588
GL_APICALL void         GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);
jorgen@8806
   589
GL_APICALL void         GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
jorgen@8806
   590
GL_APICALL void         GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);
jorgen@8806
   591
GL_APICALL void         GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);
jorgen@8806
   592
GL_APICALL void         GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
jorgen@8806
   593
GL_APICALL void         GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
jorgen@8806
   594
GL_APICALL void         GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);
jorgen@8806
   595
GL_APICALL void         GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);
jorgen@8806
   596
GL_APICALL void         GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
jorgen@8806
   597
GL_APICALL void         GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
jorgen@8806
   598
GL_APICALL void         GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
jorgen@8806
   599
GL_APICALL void         GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);
jorgen@8806
   600
GL_APICALL void         GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
jorgen@8806
   601
GL_APICALL void         GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
jorgen@8806
   602
GL_APICALL void         GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
jorgen@8806
   603
GL_APICALL void         GL_APIENTRY glUseProgram (GLuint program);
jorgen@8806
   604
GL_APICALL void         GL_APIENTRY glValidateProgram (GLuint program);
jorgen@8806
   605
GL_APICALL void         GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);
jorgen@8806
   606
GL_APICALL void         GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);
jorgen@8806
   607
GL_APICALL void         GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
jorgen@8806
   608
GL_APICALL void         GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);
jorgen@8806
   609
GL_APICALL void         GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
jorgen@8806
   610
GL_APICALL void         GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);
jorgen@8806
   611
GL_APICALL void         GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
jorgen@8806
   612
GL_APICALL void         GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
jorgen@8806
   613
GL_APICALL void         GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
jorgen@8806
   614
GL_APICALL void         GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
jorgen@8806
   615
jorgen@8806
   616
#ifdef __cplusplus
jorgen@8806
   617
}
jorgen@8806
   618
#endif
jorgen@8806
   619
jorgen@8806
   620
#endif /* __gl2_h_ */
jorgen@8806
   621