blob: d6062f28df67386bec63a32e663f0ed46f7f3c47 [file] [log] [blame]
!gles31_only
# 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);