| !gles31_only |
| namespaces translator,gles2 |
| |
| # GLES 3.1 functions required by the translator library. |
| |
| %#include <GLES/gl.h> |
| %#include <GLES3/gl3.h> |
| %#include <GLES3/gl31.h> |
| |
| ## New gets |
| void glGetBooleani_v(GLenum target, GLuint index, GLboolean * data); |
| |
| ## Memory barriers |
| void glMemoryBarrier(GLbitfield barriers); |
| void glMemoryBarrierByRegion(GLbitfield barriers); |
| |
| ## Program pipelines |
| void glGenProgramPipelines(GLsizei n, GLuint *pipelines); |
| void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines); |
| void glBindProgramPipeline(GLuint pipeline); |
| |
| void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params); |
| void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); |
| |
| void glValidateProgramPipeline(GLuint pipeline); |
| GLboolean glIsProgramPipeline(GLuint pipeline); |
| void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program); |
| |
| ## Separable shader programs |
| void glActiveShaderProgram(GLuint pipeline, GLuint program); |
| |
| GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const char **strings); |
| |
| void glProgramUniform1f(GLuint program, GLint location, GLfloat v0); |
| void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1); |
| void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); |
| void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); |
| void glProgramUniform1i(GLuint program, GLint location, GLint v0); |
| void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1); |
| void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); |
| void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); |
| void glProgramUniform1ui(GLuint program, GLint location, GLuint v0); |
| void glProgramUniform2ui(GLuint program, GLint location, GLint v0, GLuint v1); |
| void glProgramUniform3ui(GLuint program, GLint location, GLint v0, GLint v1, GLuint v2); |
| void glProgramUniform4ui(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLuint v3); |
| void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value); |
| void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value); |
| void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value); |
| void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value); |
| void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value); |
| void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value); |
| void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value); |
| void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value); |
| void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value); |
| void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value); |
| void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value); |
| void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value); |
| void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); |
| |
| void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint * params); |
| void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params); |
| |
| GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const char * name); |
| GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const char * name); |
| void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, char * name); |
| |
| ## Compute shaders |
| void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); |
| void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); |
| void glDispatchComputeIndirect(GLintptr indirect); |
| |
| ## Separate vertex format / buffer binding |
| void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride); |
| void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex); |
| void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); |
| void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); |
| void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor); |
| |
| ## Indirect draws |
| void glDrawArraysIndirect(GLenum mode, const void *indirect); |
| void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect); |
| |
| ## Multisampling |
| void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); |
| void glSampleMaski(GLuint maskNumber, GLbitfield mask); |
| void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val); |
| |
| ## New framebuffer parameters |
| void glFramebufferParameteri(GLenum target, GLenum pname, GLint param); |
| void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint * params); |
| |
| ## Texture LOD queries |
| # Already used in Translator's validations. |
| # void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params); |
| # void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params); |