git subrepo clone https://github.com/libretro/libretro-common.git deps/libretro-common
[pcsx_rearmed.git] / deps / libretro-common / include / glsm / glsmsym.h
1 /* Copyright (C) 2010-2018 The RetroArch team
2  *
3  * ---------------------------------------------------------------------------------------
4  * The following license statement only applies to this libretro SDK code part (glsmsym.h).
5  * ---------------------------------------------------------------------------------------
6  *
7  * Permission is hereby granted, free of charge,
8  * to any person obtaining a copy of this software and associated documentation files (the "Software"),
9  * to deal in the Software without restriction, including without limitation the rights to
10  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11  * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
16  * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
19  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  */
22
23 #ifndef LIBRETRO_SDK_GLSM_SYM_H
24 #define LIBRETRO_SDK_GLSM_SYM_H
25
26 #include <glsm/glsm.h>
27
28 #ifdef HAVE_GLSYM_PRIVATE
29 #include "glsym_private.h"
30 #endif
31
32 #include <retro_common_api.h>
33
34 RETRO_BEGIN_DECLS
35
36 /* deprecated old FF-style GL symbols */
37 #define glTexCoord2f                rglTexCoord2f
38
39 /* more forward-compatible GL subset symbols */
40 #define glDrawRangeElementsBaseVertex rglDrawRangeElementsBaseVertex
41 #define glProvokingVertex           rglProvokingVertex
42 #define glGetInteger64v             rglGetInteger64v
43 #define glGenSamplers               rglGenSamplers
44 #define glBindSampler               rglBindSampler
45 #define glSamplerParameteri         rglSamplerParameteri
46 #define glGetBufferSubData          rglGetBufferSubData
47 #define glUniform2iv                rglUniform2iv
48 #define glUniform2uiv               rglUniform2uiv
49 #define glTextureView               rglTextureView
50 #define glGetQueryObjectuiv         rglGetQueryObjectuiv
51 #define glGenQueries                rglGenQueries
52 #define glDeleteQueries             rglDeleteQueries
53 #define glBeginQuery                rglBeginQuery
54 #define glEndQuery                  rglEndQuery
55 #define glBlitFramebuffer           rglBlitFramebuffer
56 #define glVertexAttrib4f            rglVertexAttrib4f
57 #define glVertexAttrib4fv           rglVertexAttrib4fv
58 #define glDrawArrays                rglDrawArrays
59 #define glDrawElements              rglDrawElements
60 #define glCompressedTexImage2D      rglCompressedTexImage2D
61 #define glBindTexture               rglBindTexture
62 #define glActiveTexture             rglActiveTexture
63 #define glFramebufferTexture        rglFramebufferTexture
64 #define glFramebufferTexture2D      rglFramebufferTexture2D
65 #define glFramebufferRenderbuffer   rglFramebufferRenderbuffer
66 #define glDeleteFramebuffers        rglDeleteFramebuffers
67 #define glDeleteTextures            rglDeleteTextures
68 #define glDeleteBuffers             rglDeleteBuffers
69 #define glRenderbufferStorage       rglRenderbufferStorage
70 #define glBindRenderbuffer          rglBindRenderbuffer
71 #define glDeleteRenderbuffers       rglDeleteRenderbuffers
72 #define glGenRenderbuffers          rglGenRenderbuffers
73 #define glGenFramebuffers           rglGenFramebuffers
74 #define glGenTextures               rglGenTextures
75 #define glBindFramebuffer           rglBindFramebuffer
76 #define glGenerateMipmap            rglGenerateMipmap
77 #define glCheckFramebufferStatus    rglCheckFramebufferStatus
78 #define glBindFragDataLocation      rglBindFragDataLocation
79 #define glBindAttribLocation        rglBindAttribLocation
80 #define glLinkProgram               rglLinkProgram
81 #define glGetProgramiv              rglGetProgramiv
82 #define glGetShaderiv               rglGetShaderiv
83 #define glAttachShader              rglAttachShader
84 #define glDetachShader              rglDetachShader
85 #define glShaderSource              rglShaderSource
86 #define glCompileShader             rglCompileShader
87 #define glCreateProgram             rglCreateProgram
88 #define glGetShaderInfoLog          rglGetShaderInfoLog
89 #define glGetProgramInfoLog         rglGetProgramInfoLog
90 #define glIsProgram                 rglIsProgram
91 #define glEnableVertexAttribArray   rglEnableVertexAttribArray
92 #define glDisableVertexAttribArray  rglDisableVertexAttribArray
93 #define glVertexAttribPointer       rglVertexAttribPointer
94 #define glVertexAttribIPointer      rglVertexAttribIPointer
95 #define glVertexAttribLPointer      rglVertexAttribLPointer
96 #define glGetUniformLocation        rglGetUniformLocation
97 #define glGenBuffers                rglGenBuffers
98 #define glDisable(T)                rglDisable(S##T)
99 #define glEnable(T)                 rglEnable(S##T)
100 #define glIsEnabled(T)              rglIsEnabled(S##T)
101 #define glUseProgram                rglUseProgram
102 #define glDepthMask                 rglDepthMask
103 #define glStencilMask               rglStencilMask
104 #define glBufferData                rglBufferData
105 #define glBufferSubData             rglBufferSubData
106 #define glBindBuffer                rglBindBuffer
107 #define glCreateShader              rglCreateShader
108 #define glDeleteShader              rglDeleteShader
109 #define glDeleteProgram             rglDeleteProgram
110 #define glUniform1f                 rglUniform1f
111 #define glUniform1i                 rglUniform1i
112 #define glUniform2f                 rglUniform2f
113 #define glUniform2i                 rglUniform2i
114 #define glUniform2fv                rglUniform2fv
115 #define glUniform3f                 rglUniform3f
116 #define glUniform3fv                rglUniform3fv
117 #define glUniform4i                 rglUniform4i
118 #define glUniform4f                 rglUniform4f
119 #define glUniform4fv                rglUniform4fv
120 #define glUniform1ui                rglUniform1ui
121 #define glUniform2ui                rglUniform2ui
122 #define glUniform3ui                rglUniform3ui
123 #define glUniform4ui                rglUniform4ui
124 #define glGetActiveUniform          rglGetActiveUniform
125 #define glBlendFunc                 rglBlendFunc
126 #define glBlendFuncSeparate         rglBlendFuncSeparate
127 #define glDepthFunc                 rglDepthFunc
128 #define glColorMask                 rglColorMask
129 #define glClearColor                rglClearColor
130 #define glViewport                  rglViewport
131 #define glScissor                   rglScissor
132 #define glStencilFunc               rglStencilFunc
133 #define glCullFace                  rglCullFace
134 #define glStencilOp                 rglStencilOp
135 #define glFrontFace                 rglFrontFace
136 #define glDepthRange                rglDepthRange
137 #define glClearDepth                rglClearDepth
138 #define glPolygonOffset             rglPolygonOffset
139 #define glPixelStorei               rglPixelStorei
140 #define glReadBuffer                rglReadBuffer
141 #define glUniformMatrix4fv          rglUniformMatrix4fv
142 #define glGetAttribLocation         rglGetAttribLocation
143 #define glTexStorage2D              rglTexStorage2D
144 #define glDrawBuffers               rglDrawBuffers
145 #define glGenVertexArrays           rglGenVertexArrays
146 #define glBindVertexArray           rglBindVertexArray
147 #define glBlendEquation             rglBlendEquation
148 #define glBlendColor                rglBlendColor
149 #define glBlendEquationSeparate     rglBlendEquationSeparate
150 #define glCopyImageSubData          rglCopyImageSubData
151 #define glMapBuffer                 rglMapBuffer
152 #define glUnmapBuffer               rglUnmapBuffer
153 #define glMapBufferRange            rglMapBufferRange
154 #define glUniformBlockBinding       rglUniformBlockBinding
155 #define glGetUniformBlockIndex      rglGetUniformBlockIndex
156 #define glGetActiveUniformBlockiv   rglGetActiveUniformBlockiv
157 #define glBindBufferBase            rglBindBufferBase
158 #define glGetUniformIndices         rglGetUniformIndices
159 #define glGetActiveUniformsiv       rglGetActiveUniformsiv
160 #define glGetError                  rglGetError
161 #define glClear                     rglClear
162 #define glPolygonMode               rglPolygonMode
163 #define glLineWidth                 rglLineWidth
164 #define glTexImage3D                rglTexImage3D
165 #define glTexImage2DMultisample     rglTexImage2DMultisample
166 #define glTexStorage2DMultisample   rglTexStorage2DMultisample
167 #define glMemoryBarrier             rglMemoryBarrier
168 #define glBindImageTexture          rglBindImageTexture
169 #define glProgramBinary             rglProgramBinary
170 #define glGetProgramBinary          rglGetProgramBinary
171 #define glProgramParameteri         rglProgramParameteri
172 #define glTexSubImage2D             rglTexSubImage2D
173 #define glDeleteVertexArrays        rglDeleteVertexArrays
174 #define glRenderbufferStorageMultisample rglRenderbufferStorageMultisample
175 #define glUniform1iv                rglUniform1iv
176 #define glUniform1fv                rglUniform1fv
177 #define glValidateProgram           rglValidateProgram
178 #define glGetStringi                rglGetStringi
179 #define glTexBuffer                 rglTexBuffer
180 #define glClearBufferfv             rglClearBufferfv
181 #define glClearBufferfi             rglClearBufferfi
182 #define glWaitSync                  rglWaitSync
183 #define glFenceSync                 rglFenceSync
184 #define glDeleteSync                rglDeleteSync
185 #define glBufferStorage             rglBufferStorage
186 #define glFlushMappedBufferRange    rglFlushMappedBufferRange
187 #define glClientWaitSync            rglClientWaitSync
188 #define glDrawElementsBaseVertex    rglDrawElementsBaseVertex
189
190 const GLubyte* rglGetStringi(GLenum name, GLuint index);
191 void rglTexBuffer(GLenum target, GLenum internalFormat, GLuint buffer);
192 void rglClearBufferfv(  GLenum buffer,
193         GLint drawBuffer,
194         const GLfloat * value);
195 void rglClearBufferfi(  GLenum buffer,
196         GLint drawBuffer,
197         GLfloat depth,
198         GLint stencil);
199 void rglValidateProgram(GLuint program);
200 void rglRenderbufferStorageMultisample(         GLenum target,
201         GLsizei samples,
202         GLenum internalformat,
203         GLsizei width,
204         GLsizei height);
205 void rglUniform1iv(GLint location,  GLsizei count,  const GLint *value);
206 void rglUniform1fv(GLint location,  GLsizei count,  const GLfloat *value);
207 void rglProgramParameteri(      GLuint program,
208         GLenum pname,
209         GLint value);
210 void rglGetProgramBinary(       GLuint program,
211         GLsizei bufsize,
212         GLsizei *length,
213         GLenum *binaryFormat,
214         void *binary);
215 void rglProgramBinary(GLuint program,
216         GLenum binaryFormat,
217         const void *binary,
218         GLsizei length);
219 void rglBindImageTexture(       GLuint unit,
220         GLuint texture,
221         GLint level,
222         GLboolean layered,
223         GLint layer,
224         GLenum access,
225         GLenum format);
226 void rglTexStorage2DMultisample(GLenum target, GLsizei samples,
227       GLenum internalformat, GLsizei width, GLsizei height,
228       GLboolean fixedsamplelocations);
229 void rglGetActiveUniformsiv(    GLuint program,
230         GLsizei uniformCount,
231         const GLuint *uniformIndices,
232         GLenum pname,
233         GLint *params);
234 void rglGetUniformIndices(      GLuint program,
235         GLsizei uniformCount,
236         const GLchar **uniformNames,
237         GLuint *uniformIndices);
238 void rglBindBufferBase(         GLenum target,
239         GLuint index,
240         GLuint buffer);
241 void rglGetActiveUniformBlockiv(        GLuint program,
242         GLuint uniformBlockIndex,
243         GLenum pname,
244         GLint *params);
245 GLuint rglGetUniformBlockIndex(         GLuint program,
246         const GLchar *uniformBlockName);
247 void * rglMapBuffer(    GLenum target, GLenum access);
248 void *rglMapBufferRange(        GLenum target,
249         GLintptr offset,
250         GLsizeiptr length,
251         GLbitfield access);
252 GLboolean rglUnmapBuffer(       GLenum target);
253 void rglBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
254 void rglBlendEquation(GLenum mode);
255 void rglGenVertexArrays(GLsizei n, GLuint *arrays);
256 void rglReadBuffer(GLenum mode);
257 void rglPixelStorei(GLenum pname, GLint param);
258 void rglTexCoord2f(GLfloat s, GLfloat t);
259 void rglDrawElements(GLenum mode, GLsizei count, GLenum type,
260                            const GLvoid * indices);
261 void rglTexStorage2D(GLenum target, GLsizei levels, GLenum internalFormat,
262       GLsizei width, GLsizei height);
263 void rglCompressedTexImage2D(GLenum target, GLint level,
264       GLenum internalformat, GLsizei width, GLsizei height,
265       GLint border, GLsizei imageSize, const GLvoid *data);
266 void glBindTexture(GLenum target, GLuint texture);
267 void glActiveTexture(GLenum texture);
268 void rglFramebufferTexture(GLenum target, GLenum attachment,
269         GLuint texture, GLint level);
270 void rglFramebufferTexture2D(GLenum target, GLenum attachment,
271       GLenum textarget, GLuint texture, GLint level);
272 void rglFramebufferRenderbuffer(GLenum target, GLenum attachment,
273       GLenum renderbuffertarget, GLuint renderbuffer);
274 void rglDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
275 void rglRenderbufferStorage(GLenum target, GLenum internalFormat,
276       GLsizei width, GLsizei height);
277 void rglDeleteTextures(GLsizei n, const GLuint *textures);
278 void rglBindRenderbuffer(GLenum target, GLuint renderbuffer);
279 void rglDeleteRenderbuffers(GLsizei n, GLuint *renderbuffers);
280 void rglGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
281 void rglGenFramebuffers(GLsizei n, GLuint *ids);
282 void rglGenTextures(GLsizei n, GLuint *textures);
283 void rglBindFramebuffer(GLenum target, GLuint framebuffer);
284 void rglGenerateMipmap(GLenum target);
285 GLenum rglCheckFramebufferStatus(GLenum target);
286 void rglBindFragDataLocation(GLuint program, GLuint colorNumber,
287                                    const char * name);
288 void rglBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
289 void rglLinkProgram(GLuint program);
290 void rglGetProgramiv(GLuint shader, GLenum pname, GLint *params);
291 void rglGetShaderiv(GLuint shader, GLenum pname, GLint *params);
292 void rglAttachShader(GLuint program, GLuint shader);
293 void rglShaderSource(GLuint shader, GLsizei count,
294       const GLchar **string, const GLint *length);
295 void rglCompileShader(GLuint shader);
296 GLuint rglCreateProgram(void);
297 void rglGetShaderInfoLog(GLuint shader, GLsizei maxLength,
298       GLsizei *length, GLchar *infoLog);
299 void rglGetProgramInfoLog(GLuint shader, GLsizei maxLength,
300       GLsizei *length, GLchar *infoLog);
301 GLboolean rglIsProgram(GLuint program);
302 void rglEnableVertexAttribArray(GLuint index);
303 void rglDisableVertexAttribArray(GLuint index);
304 void rglVertexAttribPointer(GLuint name, GLint size,
305       GLenum type, GLboolean normalized, GLsizei stride,
306       const GLvoid* pointer);
307 GLint rglGetUniformLocation(GLuint program, const GLchar *name);
308 void rglGenBuffers(GLsizei n, GLuint *buffers);
309 void rglDisable(GLenum cap);
310 void rglEnable(GLenum cap);
311 void rglUseProgram(GLuint program);
312 void rglDepthMask(GLboolean flag);
313 void rglStencilMask(GLenum mask);
314 void rglBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
315 void rglBufferSubData(GLenum target, GLintptr offset,
316       GLsizeiptr size, const GLvoid *data);
317 void rglBindBuffer(GLenum target, GLuint buffer);
318 GLuint rglCreateShader(GLenum shader);
319 void rglDeleteShader(GLuint shader);
320 void rglUniform1f(GLint location, GLfloat v0);
321 void rglUniform1i(GLint location, GLint v0);
322 void rglUniform2f(GLint location, GLfloat v0, GLfloat v1);
323 void rglUniform2i(GLint location, GLint v0, GLint v1);
324 void rglUniform2fv(GLint location, GLsizei count, const GLfloat *value);
325 void rglUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
326 void rglUniform3fv(GLint location, GLsizei count, const GLfloat *value);
327 void rglUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
328 void rglUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
329 void rglUniform4fv(GLint location, GLsizei count, const GLfloat *value);
330 void rglBlendFunc(GLenum sfactor, GLenum dfactor);
331 void rglBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha,
332       GLenum dstAlpha);
333 void rglDepthFunc(GLenum func);
334 void rglColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
335 void rglClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
336 void rglViewport(GLint x, GLint y, GLsizei width, GLsizei height);
337 void rglScissor(GLint x, GLint y, GLsizei width, GLsizei height);
338 GLboolean rglIsEnabled(GLenum cap);
339 void rglStencilFunc(GLenum func, GLint ref, GLuint mask);
340 void rglCullFace(GLenum mode);
341 void rglStencilOp(GLenum sfail, GLenum dpfail, GLenum dppass);
342 void rglFrontFace(GLenum mode);
343 void rglDepthRange(GLclampd zNear, GLclampd zFar);
344 void rglClearDepth(GLdouble depth);
345 void rglPolygonOffset(GLfloat factor, GLfloat units);
346 void rglDrawArrays(GLenum mode, GLint first, GLsizei count);
347 void rglVertexAttrib4f(GLuint name, GLfloat x, GLfloat y,
348       GLfloat z, GLfloat w);
349 void rglVertexAttrib4fv(GLuint name, GLfloat* v);
350 void rglDeleteProgram(GLuint program);
351 void rglDeleteBuffers(GLsizei n, const GLuint *buffers);
352 void rglUniform2uiv(    GLint location,
353         GLsizei count,
354         const GLuint *value);
355 void rglTextureView(    GLuint texture,
356         GLenum target,
357         GLuint origtexture,
358         GLenum internalformat,
359         GLuint minlevel,
360         GLuint numlevels,
361         GLuint minlayer,
362         GLuint numlayers);
363 void rglGenQueries(     GLsizei n,
364         GLuint * ids);
365 void rglDeleteQueries(  GLsizei n,
366         const GLuint * ids);
367 void rglBeginQuery(     GLenum target,
368         GLuint id);
369 void rglEndQuery(       GLenum target);
370 void rglGetQueryObjectuiv(      GLuint id,
371         GLenum pname,
372         GLuint * params);
373 void rglBlitFramebuffer(
374       GLint srcX0, GLint srcY0,
375       GLint srcX1, GLint srcY1,
376       GLint dstX0, GLint dstY0,
377       GLint dstX1, GLint dstY1,
378       GLbitfield mask, GLenum filter);
379 void rglDetachShader(GLuint program, GLuint shader);
380 void rglUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose,
381       const GLfloat *value);
382 GLint rglGetAttribLocation(GLuint program, const GLchar *name);
383 void rglDrawBuffers(GLsizei n, const GLenum *bufs);
384 void rglBindVertexArray(GLuint array);
385
386 void rglGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize,
387       GLsizei *length, GLint *size, GLenum *type, GLchar *name);
388 void rglUniform1ui(GLint location, GLuint v);
389 void rglUniform2ui(GLint location, GLuint v0, GLuint v1);
390 void rglUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
391 void rglUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
392 void rglBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
393 void rglCopyImageSubData(       GLuint srcName,
394         GLenum srcTarget,
395         GLint srcLevel,
396         GLint srcX,
397         GLint srcY,
398         GLint srcZ,
399         GLuint dstName,
400         GLenum dstTarget,
401         GLint dstLevel,
402         GLint dstX,
403         GLint dstY,
404         GLint dstZ,
405         GLsizei srcWidth,
406         GLsizei srcHeight,
407         GLsizei srcDepth);
408 void rglVertexAttribIPointer(
409       GLuint index,
410       GLint size,
411       GLenum type,
412       GLsizei stride,
413       const GLvoid * pointer);
414 void rglVertexAttribLPointer(
415       GLuint index,
416       GLint size,
417       GLenum type,
418       GLsizei stride,
419       const GLvoid * pointer);
420 void rglUniformBlockBinding(    GLuint program,
421         GLuint uniformBlockIndex,
422         GLuint uniformBlockBinding);
423 GLenum rglGetError(void);
424 void rglClear(GLbitfield mask);
425 void rglPolygonMode(GLenum face, GLenum mode);
426 void rglLineWidth(GLfloat width);
427 void rglTexImage3D(     GLenum target,
428         GLint level,
429         GLint internalFormat,
430         GLsizei width,
431         GLsizei height,
432         GLsizei depth,
433         GLint border,
434         GLenum format,
435         GLenum type,
436         const GLvoid * data);
437 void rglTexImage2DMultisample(  GLenum target,
438         GLsizei samples,
439         GLenum internalformat,
440         GLsizei width,
441         GLsizei height,
442         GLboolean fixedsamplelocations);
443 void rglMemoryBarrier(  GLbitfield barriers);
444 void rglTexSubImage2D(  GLenum target,
445         GLint level,
446         GLint xoffset,
447         GLint yoffset,
448         GLsizei width,
449         GLsizei height,
450         GLenum format,
451         GLenum type,
452         const GLvoid * pixels);
453 void rglDeleteVertexArrays(GLsizei n, const GLuint *arrays);
454 void *rglFenceSync(GLenum condition, GLbitfield flags);
455 void rglDeleteSync(void *sync);
456 void rglWaitSync(void *sync, GLbitfield flags, uint64_t timeout);
457 void rglBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);
458 void rglFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
459 GLenum rglClientWaitSync(void *sync, GLbitfield flags, uint64_t timeout);
460 void rglDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
461                                GLvoid *indices, GLint basevertex);
462 void rglGetBufferSubData(       GLenum target,
463         GLintptr offset,
464         GLsizeiptr size,
465         GLvoid * data);
466 void rglSamplerParameteri(      GLuint sampler,
467         GLenum pname,
468         GLint param);
469 void rglBindSampler(    GLuint unit,
470         GLuint sampler);
471 void rglGenSamplers(    GLsizei n,
472         GLuint *samplers);
473 void rglGetInteger64v(  GLenum pname,
474         int64_t * data);
475 void rglUniform2iv(     GLint location,
476         GLsizei count,
477         const GLint *value);
478 void rglProvokingVertex(        GLenum provokeMode);
479 void rglDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid *indices, GLint basevertex);
480
481 RETRO_END_DECLS
482
483 #endif