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