git subrepo clone https://github.com/libretro/libretro-common.git deps/libretro-common
[pcsx_rearmed.git] / deps / libretro-common / include / glsm / glsmsym.h
CommitLineData
3719602c
PC
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
34RETRO_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
190const GLubyte* rglGetStringi(GLenum name, GLuint index);
191void rglTexBuffer(GLenum target, GLenum internalFormat, GLuint buffer);
192void rglClearBufferfv( GLenum buffer,
193 GLint drawBuffer,
194 const GLfloat * value);
195void rglClearBufferfi( GLenum buffer,
196 GLint drawBuffer,
197 GLfloat depth,
198 GLint stencil);
199void rglValidateProgram(GLuint program);
200void rglRenderbufferStorageMultisample( GLenum target,
201 GLsizei samples,
202 GLenum internalformat,
203 GLsizei width,
204 GLsizei height);
205void rglUniform1iv(GLint location, GLsizei count, const GLint *value);
206void rglUniform1fv(GLint location, GLsizei count, const GLfloat *value);
207void rglProgramParameteri( GLuint program,
208 GLenum pname,
209 GLint value);
210void rglGetProgramBinary( GLuint program,
211 GLsizei bufsize,
212 GLsizei *length,
213 GLenum *binaryFormat,
214 void *binary);
215void rglProgramBinary(GLuint program,
216 GLenum binaryFormat,
217 const void *binary,
218 GLsizei length);
219void rglBindImageTexture( GLuint unit,
220 GLuint texture,
221 GLint level,
222 GLboolean layered,
223 GLint layer,
224 GLenum access,
225 GLenum format);
226void rglTexStorage2DMultisample(GLenum target, GLsizei samples,
227 GLenum internalformat, GLsizei width, GLsizei height,
228 GLboolean fixedsamplelocations);
229void rglGetActiveUniformsiv( GLuint program,
230 GLsizei uniformCount,
231 const GLuint *uniformIndices,
232 GLenum pname,
233 GLint *params);
234void rglGetUniformIndices( GLuint program,
235 GLsizei uniformCount,
236 const GLchar **uniformNames,
237 GLuint *uniformIndices);
238void rglBindBufferBase( GLenum target,
239 GLuint index,
240 GLuint buffer);
241void rglGetActiveUniformBlockiv( GLuint program,
242 GLuint uniformBlockIndex,
243 GLenum pname,
244 GLint *params);
245GLuint rglGetUniformBlockIndex( GLuint program,
246 const GLchar *uniformBlockName);
247void * rglMapBuffer( GLenum target, GLenum access);
248void *rglMapBufferRange( GLenum target,
249 GLintptr offset,
250 GLsizeiptr length,
251 GLbitfield access);
252GLboolean rglUnmapBuffer( GLenum target);
253void rglBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
254void rglBlendEquation(GLenum mode);
255void rglGenVertexArrays(GLsizei n, GLuint *arrays);
256void rglReadBuffer(GLenum mode);
257void rglPixelStorei(GLenum pname, GLint param);
258void rglTexCoord2f(GLfloat s, GLfloat t);
259void rglDrawElements(GLenum mode, GLsizei count, GLenum type,
260 const GLvoid * indices);
261void rglTexStorage2D(GLenum target, GLsizei levels, GLenum internalFormat,
262 GLsizei width, GLsizei height);
263void rglCompressedTexImage2D(GLenum target, GLint level,
264 GLenum internalformat, GLsizei width, GLsizei height,
265 GLint border, GLsizei imageSize, const GLvoid *data);
266void glBindTexture(GLenum target, GLuint texture);
267void glActiveTexture(GLenum texture);
268void rglFramebufferTexture(GLenum target, GLenum attachment,
269 GLuint texture, GLint level);
270void rglFramebufferTexture2D(GLenum target, GLenum attachment,
271 GLenum textarget, GLuint texture, GLint level);
272void rglFramebufferRenderbuffer(GLenum target, GLenum attachment,
273 GLenum renderbuffertarget, GLuint renderbuffer);
274void rglDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
275void rglRenderbufferStorage(GLenum target, GLenum internalFormat,
276 GLsizei width, GLsizei height);
277void rglDeleteTextures(GLsizei n, const GLuint *textures);
278void rglBindRenderbuffer(GLenum target, GLuint renderbuffer);
279void rglDeleteRenderbuffers(GLsizei n, GLuint *renderbuffers);
280void rglGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
281void rglGenFramebuffers(GLsizei n, GLuint *ids);
282void rglGenTextures(GLsizei n, GLuint *textures);
283void rglBindFramebuffer(GLenum target, GLuint framebuffer);
284void rglGenerateMipmap(GLenum target);
285GLenum rglCheckFramebufferStatus(GLenum target);
286void rglBindFragDataLocation(GLuint program, GLuint colorNumber,
287 const char * name);
288void rglBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
289void rglLinkProgram(GLuint program);
290void rglGetProgramiv(GLuint shader, GLenum pname, GLint *params);
291void rglGetShaderiv(GLuint shader, GLenum pname, GLint *params);
292void rglAttachShader(GLuint program, GLuint shader);
293void rglShaderSource(GLuint shader, GLsizei count,
294 const GLchar **string, const GLint *length);
295void rglCompileShader(GLuint shader);
296GLuint rglCreateProgram(void);
297void rglGetShaderInfoLog(GLuint shader, GLsizei maxLength,
298 GLsizei *length, GLchar *infoLog);
299void rglGetProgramInfoLog(GLuint shader, GLsizei maxLength,
300 GLsizei *length, GLchar *infoLog);
301GLboolean rglIsProgram(GLuint program);
302void rglEnableVertexAttribArray(GLuint index);
303void rglDisableVertexAttribArray(GLuint index);
304void rglVertexAttribPointer(GLuint name, GLint size,
305 GLenum type, GLboolean normalized, GLsizei stride,
306 const GLvoid* pointer);
307GLint rglGetUniformLocation(GLuint program, const GLchar *name);
308void rglGenBuffers(GLsizei n, GLuint *buffers);
309void rglDisable(GLenum cap);
310void rglEnable(GLenum cap);
311void rglUseProgram(GLuint program);
312void rglDepthMask(GLboolean flag);
313void rglStencilMask(GLenum mask);
314void rglBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
315void rglBufferSubData(GLenum target, GLintptr offset,
316 GLsizeiptr size, const GLvoid *data);
317void rglBindBuffer(GLenum target, GLuint buffer);
318GLuint rglCreateShader(GLenum shader);
319void rglDeleteShader(GLuint shader);
320void rglUniform1f(GLint location, GLfloat v0);
321void rglUniform1i(GLint location, GLint v0);
322void rglUniform2f(GLint location, GLfloat v0, GLfloat v1);
323void rglUniform2i(GLint location, GLint v0, GLint v1);
324void rglUniform2fv(GLint location, GLsizei count, const GLfloat *value);
325void rglUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
326void rglUniform3fv(GLint location, GLsizei count, const GLfloat *value);
327void rglUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
328void rglUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
329void rglUniform4fv(GLint location, GLsizei count, const GLfloat *value);
330void rglBlendFunc(GLenum sfactor, GLenum dfactor);
331void rglBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha,
332 GLenum dstAlpha);
333void rglDepthFunc(GLenum func);
334void rglColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
335void rglClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
336void rglViewport(GLint x, GLint y, GLsizei width, GLsizei height);
337void rglScissor(GLint x, GLint y, GLsizei width, GLsizei height);
338GLboolean rglIsEnabled(GLenum cap);
339void rglStencilFunc(GLenum func, GLint ref, GLuint mask);
340void rglCullFace(GLenum mode);
341void rglStencilOp(GLenum sfail, GLenum dpfail, GLenum dppass);
342void rglFrontFace(GLenum mode);
343void rglDepthRange(GLclampd zNear, GLclampd zFar);
344void rglClearDepth(GLdouble depth);
345void rglPolygonOffset(GLfloat factor, GLfloat units);
346void rglDrawArrays(GLenum mode, GLint first, GLsizei count);
347void rglVertexAttrib4f(GLuint name, GLfloat x, GLfloat y,
348 GLfloat z, GLfloat w);
349void rglVertexAttrib4fv(GLuint name, GLfloat* v);
350void rglDeleteProgram(GLuint program);
351void rglDeleteBuffers(GLsizei n, const GLuint *buffers);
352void rglUniform2uiv( GLint location,
353 GLsizei count,
354 const GLuint *value);
355void rglTextureView( GLuint texture,
356 GLenum target,
357 GLuint origtexture,
358 GLenum internalformat,
359 GLuint minlevel,
360 GLuint numlevels,
361 GLuint minlayer,
362 GLuint numlayers);
363void rglGenQueries( GLsizei n,
364 GLuint * ids);
365void rglDeleteQueries( GLsizei n,
366 const GLuint * ids);
367void rglBeginQuery( GLenum target,
368 GLuint id);
369void rglEndQuery( GLenum target);
370void rglGetQueryObjectuiv( GLuint id,
371 GLenum pname,
372 GLuint * params);
373void 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);
379void rglDetachShader(GLuint program, GLuint shader);
380void rglUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose,
381 const GLfloat *value);
382GLint rglGetAttribLocation(GLuint program, const GLchar *name);
383void rglDrawBuffers(GLsizei n, const GLenum *bufs);
384void rglBindVertexArray(GLuint array);
385
386void rglGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize,
387 GLsizei *length, GLint *size, GLenum *type, GLchar *name);
388void rglUniform1ui(GLint location, GLuint v);
389void rglUniform2ui(GLint location, GLuint v0, GLuint v1);
390void rglUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
391void rglUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
392void rglBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
393void 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);
408void rglVertexAttribIPointer(
409 GLuint index,
410 GLint size,
411 GLenum type,
412 GLsizei stride,
413 const GLvoid * pointer);
414void rglVertexAttribLPointer(
415 GLuint index,
416 GLint size,
417 GLenum type,
418 GLsizei stride,
419 const GLvoid * pointer);
420void rglUniformBlockBinding( GLuint program,
421 GLuint uniformBlockIndex,
422 GLuint uniformBlockBinding);
423GLenum rglGetError(void);
424void rglClear(GLbitfield mask);
425void rglPolygonMode(GLenum face, GLenum mode);
426void rglLineWidth(GLfloat width);
427void 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);
437void rglTexImage2DMultisample( GLenum target,
438 GLsizei samples,
439 GLenum internalformat,
440 GLsizei width,
441 GLsizei height,
442 GLboolean fixedsamplelocations);
443void rglMemoryBarrier( GLbitfield barriers);
444void 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);
453void rglDeleteVertexArrays(GLsizei n, const GLuint *arrays);
454void *rglFenceSync(GLenum condition, GLbitfield flags);
455void rglDeleteSync(void *sync);
456void rglWaitSync(void *sync, GLbitfield flags, uint64_t timeout);
457void rglBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);
458void rglFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
459GLenum rglClientWaitSync(void *sync, GLbitfield flags, uint64_t timeout);
460void rglDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
461 GLvoid *indices, GLint basevertex);
462void rglGetBufferSubData( GLenum target,
463 GLintptr offset,
464 GLsizeiptr size,
465 GLvoid * data);
466void rglSamplerParameteri( GLuint sampler,
467 GLenum pname,
468 GLint param);
469void rglBindSampler( GLuint unit,
470 GLuint sampler);
471void rglGenSamplers( GLsizei n,
472 GLuint *samplers);
473void rglGetInteger64v( GLenum pname,
474 int64_t * data);
475void rglUniform2iv( GLint location,
476 GLsizei count,
477 const GLint *value);
478void rglProvokingVertex( GLenum provokeMode);
479void rglDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid *indices, GLint basevertex);
480
481RETRO_END_DECLS
482
483#endif