1!gles3_only
2namespaces translator,gles2
3
4# GLES 3.0 functions required by the translator library.
5
6%#include <GLES/gl.h>
7%#include <GLES3/gl3.h>
8
9# glGetStringi
10GLconstubyteptr glGetStringi(GLenum name, GLint index);
11
12# VAOs
13void glGenVertexArrays(GLsizei n, GLuint* arrays);
14void glBindVertexArray(GLuint array);
15void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
16GLboolean glIsVertexArray(GLuint array);
17
18# Buffers
19void *glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
20GLboolean glUnmapBuffer(GLenum target);
21void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
22
23void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
24void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
25
26void glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);
27
28void glClearBufferiv(GLenum buffer, GLint drawBuffer, const GLint * value);
29void glClearBufferuiv(GLenum buffer, GLint drawBuffer, const GLuint * value);
30void glClearBufferfv(GLenum buffer, GLint drawBuffer, const GLfloat * value);
31void glClearBufferfi(GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil);
32
33void glGetBufferParameteri64v(GLenum target, GLenum value, GLint64 * data);
34void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid ** params);
35
36# UBOs
37void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
38
39GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
40void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar **uniformNames, GLuint *uniformIndices);
41
42void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
43void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
44
45# More uniform setters
46void glUniform1ui(GLint location, GLuint v0);
47void glUniform2ui(GLint location, GLuint v0, GLuint v1);
48void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
49void glUniform4ui(GLint location, GLint v0, GLuint v1, GLuint v2, GLuint v3);
50void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
51void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
52void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
53void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
54void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
55void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
56void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
57void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
58void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
59void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
60
61void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
62void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
63
64# More vertex attribute setters / queries
65void glVertexAttribI4i(GLuint index, GLint v0, GLint v1, GLint v2, GLint v3);
66void glVertexAttribI4ui(GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
67void glVertexAttribI4iv(GLuint index, const GLint *v);
68void glVertexAttribI4uiv(GLuint index, const GLuint *v);
69void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
70void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
71void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
72
73# Instanced draws
74void glVertexAttribDivisor(GLuint index, GLuint divisor);
75void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
76void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
77
78# Draw with known index range
79void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices);
80
81# Sync
82GLsync glFenceSync(GLenum condition, GLbitfield flags);
83GLenum glClientWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout);
84void glWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout);
85void glDeleteSync(GLsync to_delete);
86GLboolean glIsSync(GLsync sync);
87void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
88
89# MRT / MSAA render buffer
90void glDrawBuffers(GLsizei n, const GLenum *bufs);
91void glReadBuffer(GLenum src);
92void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
93void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);
94void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
95void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
96void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
97void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
98
99# Transform feedback
100void glBeginTransformFeedback(GLenum primitiveMode);
101void glEndTransformFeedback(void);
102void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
103void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
104void glBindTransformFeedback(GLenum target, GLuint id);
105void glPauseTransformFeedback(void);
106void glResumeTransformFeedback(void);
107GLboolean glIsTransformFeedback(GLuint id);
108void glTransformFeedbackVaryings(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode);
109void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, char * name);
110
111# Sampler objects
112void glGenSamplers(GLsizei n, GLuint *samplers);
113void glDeleteSamplers(GLsizei n, const GLuint * samplers);
114void glBindSampler(GLuint unit, GLuint sampler);
115void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
116void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
117void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat * params);
118void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint * params);
119void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat * params);
120void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint * params);
121GLboolean glIsSampler(GLuint sampler);
122
123# Query objects
124void glGenQueries(GLsizei n, GLuint * queries);
125void glDeleteQueries(GLsizei n, const GLuint * queries);
126void glBeginQuery(GLenum target, GLuint query);
127void glEndQuery(GLenum target);
128void glGetQueryiv(GLenum target, GLenum pname, GLint * params);
129void glGetQueryObjectuiv(GLuint query, GLenum pname, GLuint * params);
130GLboolean glIsQuery(GLuint query);
131
132# Shader binary objects
133void glProgramParameteri(GLuint program, GLenum pname, GLint value);
134void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
135void glGetProgramBinary(GLuint program, GLsizei bufsize, GLsizei *length, GLenum *binaryFormat, void *binary);
136
137# New glGets
138GLint glGetFragDataLocation(GLuint program, const char * name);
139void glGetInteger64v(GLenum pname, GLint64 * data);
140void glGetIntegeri_v(GLenum target, GLuint index, GLint * data);
141void glGetInteger64i_v(GLenum target, GLuint index, GLint64 * data);
142
143# Array/3D textures
144void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * data);
145void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
146void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * data);
147void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data);
148void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data);
149void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
150