1!gles31_only
2namespaces translator,gles2
3
4# GLES 3.1 functions required by the translator library.
5
6%#include <GLES/gl.h>
7%#include <GLES3/gl3.h>
8%#include <GLES3/gl31.h>
9
10## New gets
11void glGetBooleani_v(GLenum target, GLuint index, GLboolean * data);
12
13## Memory barriers
14void glMemoryBarrier(GLbitfield barriers);
15void glMemoryBarrierByRegion(GLbitfield barriers);
16
17## Program pipelines
18void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
19void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
20void glBindProgramPipeline(GLuint pipeline);
21
22void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
23void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
24
25void glValidateProgramPipeline(GLuint pipeline);
26GLboolean glIsProgramPipeline(GLuint pipeline);
27void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
28
29## Separable shader programs
30void glActiveShaderProgram(GLuint pipeline, GLuint program);
31
32GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const char **strings);
33
34void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
35void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
36void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
37void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
38void glProgramUniform1i(GLuint program, GLint location, GLint v0);
39void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
40void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
41void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
42void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
43void glProgramUniform2ui(GLuint program, GLint location, GLint v0, GLuint v1);
44void glProgramUniform3ui(GLuint program, GLint location, GLint v0, GLint v1, GLuint v2);
45void glProgramUniform4ui(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLuint v3);
46void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
47void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
48void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
49void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
50void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);
51void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);
52void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);
53void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);
54void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
55void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
56void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
57void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
58void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
59void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
60void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
61void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
62void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
63void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
64void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
65void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
66void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
67
68void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint * params);
69void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params);
70
71GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const char * name);
72GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const char * name);
73void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, char * name);
74
75## Compute shaders
76void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
77void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
78void glDispatchComputeIndirect(GLintptr indirect);
79
80## Separate vertex format / buffer binding
81void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride);
82void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
83void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
84void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
85void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
86
87## Indirect draws
88void glDrawArraysIndirect(GLenum mode, const void *indirect);
89void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);
90
91## Multisampling
92void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
93void glSampleMaski(GLuint maskNumber, GLbitfield mask);
94void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
95
96## New framebuffer parameters
97void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
98void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint * params);
99
100## Texture LOD queries
101# Already used in Translator's validations.
102# void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params);
103# void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params);
104