• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2018 The SwiftShader Authors. All Rights Reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //    http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef LIBGLESV2_ENTRY_POINTS_H_
16 #define LIBGLESV2_ENTRY_POINTS_H_
17 
18 #include <GLES2/gl2.h>
19 #include <GLES2/gl2ext.h>
20 #include <GLES3/gl3.h>
21 
22 namespace gl
23 {
24 	void ActiveTexture(GLenum texture);
25 	void AttachShader(GLuint program, GLuint shader);
26 	void BeginQueryEXT(GLenum target, GLuint name);
27 	void BindAttribLocation(GLuint program, GLuint index, const GLchar* name);
28 	void BindBuffer(GLenum target, GLuint buffer);
29 	void BindFramebuffer(GLenum target, GLuint framebuffer);
30 	void BindRenderbuffer(GLenum target, GLuint renderbuffer);
31 	void BindTexture(GLenum target, GLuint texture);
32 	void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
33 	void BlendEquation(GLenum mode);
34 	void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
35 	void BlendFunc(GLenum sfactor, GLenum dfactor);
36 	void BlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
37 	void BufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
38 	void BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
39 	GLenum CheckFramebufferStatus(GLenum target);
40 	void Clear(GLbitfield mask);
41 	void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
42 	void ClearDepthf(GLclampf depth);
43 	void ClearStencil(GLint s);
44 	void ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
45 	void CompileShader(GLuint shader);
46 	void CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,
47 		GLint border, GLsizei imageSize, const GLvoid* data);
48 	void CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
49 		GLenum format, GLsizei imageSize, const GLvoid* data);
50 	void CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
51 	void CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
52 	GLuint CreateProgram(void);
53 	GLuint CreateShader(GLenum type);
54 	void CullFace(GLenum mode);
55 	void DeleteBuffers(GLsizei n, const GLuint* buffers);
56 	void DeleteFencesNV(GLsizei n, const GLuint* fences);
57 	void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers);
58 	void DeleteProgram(GLuint program);
59 	void DeleteQueriesEXT(GLsizei n, const GLuint *ids);
60 	void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers);
61 	void DeleteShader(GLuint shader);
62 	void DeleteTextures(GLsizei n, const GLuint* textures);
63 	void DepthFunc(GLenum func);
64 	void DepthMask(GLboolean flag);
65 	void DepthRangef(GLclampf zNear, GLclampf zFar);
66 	void DetachShader(GLuint program, GLuint shader);
67 	void Disable(GLenum cap);
68 	void DisableVertexAttribArray(GLuint index);
69 	void DrawArrays(GLenum mode, GLint first, GLsizei count);
70 	void DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
71 	void DrawArraysInstancedEXT(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
72 	void DrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount);
73 	void VertexAttribDivisorEXT(GLuint index, GLuint divisor);
74 	void DrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
75 	void DrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount);
76 	void VertexAttribDivisorANGLE(GLuint index, GLuint divisor);
77 	void Enable(GLenum cap);
78 	void EnableVertexAttribArray(GLuint index);
79 	void EndQueryEXT(GLenum target);
80 	void FinishFenceNV(GLuint fence);
81 	void Finish(void);
82 	void Flush(void);
83 	void FramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
84 	void FramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
85 	void FrontFace(GLenum mode);
86 	void GenBuffers(GLsizei n, GLuint* buffers);
87 	void GenerateMipmap(GLenum target);
88 	void GenFencesNV(GLsizei n, GLuint* fences);
89 	void GenFramebuffers(GLsizei n, GLuint* framebuffers);
90 	void GenQueriesEXT(GLsizei n, GLuint* ids);
91 	void GenRenderbuffers(GLsizei n, GLuint* renderbuffers);
92 	void GenTextures(GLsizei n, GLuint* textures);
93 	void GetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
94 	void GetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
95 	void GetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
96 	int GetAttribLocation(GLuint program, const GLchar* name);
97 	void GetBooleanv(GLenum pname, GLboolean* params);
98 	void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params);
99 	GLenum GetError(void);
100 	void GetFenceivNV(GLuint fence, GLenum pname, GLint *params);
101 	void GetFloatv(GLenum pname, GLfloat* params);
102 	void GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params);
103 	GLenum GetGraphicsResetStatusEXT(void);
104 	void GetIntegerv(GLenum pname, GLint* params);
105 	void GetProgramiv(GLuint program, GLenum pname, GLint* params);
106 	void GetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
107 	void GetQueryivEXT(GLenum target, GLenum pname, GLint *params);
108 	void GetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *params);
109 	void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params);
110 	void GetShaderiv(GLuint shader, GLenum pname, GLint* params);
111 	void GetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
112 	void GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
113 	void GetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
114 	const GLubyte* GetString(GLenum name);
115 	void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params);
116 	void GetTexParameteriv(GLenum target, GLenum pname, GLint* params);
117 	void GetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params);
118 	void GetUniformfv(GLuint program, GLint location, GLfloat* params);
119 	void GetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params);
120 	void GetUniformiv(GLuint program, GLint location, GLint* params);
121 	int GetUniformLocation(GLuint program, const GLchar* name);
122 	void GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);
123 	void GetVertexAttribiv(GLuint index, GLenum pname, GLint* params);
124 	void GetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer);
125 	void Hint(GLenum target, GLenum mode);
126 	GLboolean IsBuffer(GLuint buffer);
127 	GLboolean IsEnabled(GLenum cap);
128 	GLboolean IsFenceNV(GLuint fence);
129 	GLboolean IsFramebuffer(GLuint framebuffer);
130 	GLboolean IsProgram(GLuint program);
131 	GLboolean IsQueryEXT(GLuint name);
132 	GLboolean IsRenderbuffer(GLuint renderbuffer);
133 	GLboolean IsShader(GLuint shader);
134 	GLboolean IsTexture(GLuint texture);
135 	void LineWidth(GLfloat width);
136 	void LinkProgram(GLuint program);
137 	void PixelStorei(GLenum pname, GLint param);
138 	void PolygonOffset(GLfloat factor, GLfloat units);
139 	void ReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height,
140 		GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
141 	void ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
142 	void ReleaseShaderCompiler(void);
143 	void RenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
144 	void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
145 	void RenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
146 	void SampleCoverage(GLclampf value, GLboolean invert);
147 	void SetFenceNV(GLuint fence, GLenum condition);
148 	void Scissor(GLint x, GLint y, GLsizei width, GLsizei height);
149 	void ShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
150 	void ShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length);
151 	void StencilFunc(GLenum func, GLint ref, GLuint mask);
152 	void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
153 	void StencilMask(GLuint mask);
154 	void StencilMaskSeparate(GLenum face, GLuint mask);
155 	void StencilOp(GLenum fail, GLenum zfail, GLenum zpass);
156 	void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
157 	GLboolean TestFenceNV(GLuint fence);
158 	void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
159 		GLint border, GLenum format, GLenum type, const GLvoid* pixels);
160 	void TexParameterf(GLenum target, GLenum pname, GLfloat param);
161 	void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params);
162 	void TexParameteri(GLenum target, GLenum pname, GLint param);
163 	void TexParameteriv(GLenum target, GLenum pname, const GLint* params);
164 	void TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
165 		GLenum format, GLenum type, const GLvoid* pixels);
166 	void Uniform1f(GLint location, GLfloat x);
167 	void Uniform1fv(GLint location, GLsizei count, const GLfloat* v);
168 	void Uniform1i(GLint location, GLint x);
169 	void Uniform1iv(GLint location, GLsizei count, const GLint* v);
170 	void Uniform2f(GLint location, GLfloat x, GLfloat y);
171 	void Uniform2fv(GLint location, GLsizei count, const GLfloat* v);
172 	void Uniform2i(GLint location, GLint x, GLint y);
173 	void Uniform2iv(GLint location, GLsizei count, const GLint* v);
174 	void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z);
175 	void Uniform3fv(GLint location, GLsizei count, const GLfloat* v);
176 	void Uniform3i(GLint location, GLint x, GLint y, GLint z);
177 	void Uniform3iv(GLint location, GLsizei count, const GLint* v);
178 	void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
179 	void Uniform4fv(GLint location, GLsizei count, const GLfloat* v);
180 	void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w);
181 	void Uniform4iv(GLint location, GLsizei count, const GLint* v);
182 	void UniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
183 	void UniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
184 	void UniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
185 	void UseProgram(GLuint program);
186 	void ValidateProgram(GLuint program);
187 	void VertexAttrib1f(GLuint index, GLfloat x);
188 	void VertexAttrib1fv(GLuint index, const GLfloat* values);
189 	void VertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
190 	void VertexAttrib2fv(GLuint index, const GLfloat* values);
191 	void VertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
192 	void VertexAttrib3fv(GLuint index, const GLfloat* values);
193 	void VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
194 	void VertexAttrib4fv(GLuint index, const GLfloat* values);
195 	void VertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
196 	void Viewport(GLint x, GLint y, GLsizei width, GLsizei height);
197 	void BlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
198 	void BlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
199 		GLbitfield mask, GLenum filter);
200 	void TexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,
201 		GLint border, GLenum format, GLenum type, const GLvoid* pixels);
202 	void TexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
203 	void CopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
204 	void CompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
205 	void CompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
206 	void FramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
207 	void EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
208 	void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
209 	GLboolean IsRenderbufferOES(GLuint renderbuffer);
210 	void BindRenderbufferOES(GLenum target, GLuint renderbuffer);
211 	void DeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers);
212 	void GenRenderbuffersOES(GLsizei n, GLuint* renderbuffers);
213 	void RenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
214 	void GetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params);
215 	GLboolean IsFramebufferOES(GLuint framebuffer);
216 	void BindFramebufferOES(GLenum target, GLuint framebuffer);
217 	void DeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers);
218 	void GenFramebuffersOES(GLsizei n, GLuint* framebuffers);
219 	GLenum CheckFramebufferStatusOES(GLenum target);
220 	void FramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
221 	void FramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
222 	void GetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params);
223 	void GenerateMipmapOES(GLenum target);
224 	void DrawBuffersEXT(GLsizei n, const GLenum *bufs);
225 	void ReadBuffer(GLenum src);
226 	void DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
227 	void TexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *data);
228 	void TexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
229 	void CopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
230 	void CompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
231 	void CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
232 	void GenQueries(GLsizei n, GLuint *ids);
233 	void DeleteQueries(GLsizei n, const GLuint *ids);
234 	GLboolean IsQuery(GLuint id);
235 	void BeginQuery(GLenum target, GLuint id);
236 	void EndQuery(GLenum target);
237 	void GetQueryiv(GLenum target, GLenum pname, GLint *params);
238 	void GetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
239 	GLboolean UnmapBuffer(GLenum target);
240 	void GetBufferPointerv(GLenum target, GLenum pname, void **params);
241 	void DrawBuffers(GLsizei n, const GLenum *bufs);
242 	void UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
243 	void UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
244 	void UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
245 	void UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
246 	void UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
247 	void UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
248 	void BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
249 	void FramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
250 	void *MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
251 	void FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
252 	void BindVertexArray(GLuint array);
253 	void BindVertexArrayOES(GLuint array);
254 	void DeleteVertexArrays(GLsizei n, const GLuint *arrays);
255 	void DeleteVertexArraysOES(GLsizei n, const GLuint *arrays);
256 	void GenVertexArrays(GLsizei n, GLuint *arrays);
257 	void GenVertexArraysOES(GLsizei n, GLuint *arrays);
258 	GLboolean IsVertexArray(GLuint array);
259 	GLboolean IsVertexArrayOES(GLuint array);
260 	void GetIntegeri_v(GLenum target, GLuint index, GLint *data);
261 	void BeginTransformFeedback(GLenum primitiveMode);
262 	void EndTransformFeedback(void);
263 	void BindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
264 	void BindBufferBase(GLenum target, GLuint index, GLuint buffer);
265 	void TransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
266 	void GetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
267 	void VertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
268 	void GetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
269 	void GetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
270 	void VertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
271 	void VertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
272 	void VertexAttribI4iv(GLuint index, const GLint *v);
273 	void VertexAttribI4uiv(GLuint index, const GLuint *v);
274 	void GetUniformuiv(GLuint program, GLint location, GLuint *params);
275 	GLint GetFragDataLocation(GLuint program, const GLchar *name);
276 	void Uniform1ui(GLint location, GLuint v0);
277 	void Uniform2ui(GLint location, GLuint v0, GLuint v1);
278 	void Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
279 	void Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
280 	void Uniform1uiv(GLint location, GLsizei count, const GLuint *value);
281 	void Uniform2uiv(GLint location, GLsizei count, const GLuint *value);
282 	void Uniform3uiv(GLint location, GLsizei count, const GLuint *value);
283 	void Uniform4uiv(GLint location, GLsizei count, const GLuint *value);
284 	void ClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
285 	void ClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
286 	void ClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
287 	void ClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
288 	const GLubyte *GetStringi(GLenum name, GLuint index);
289 	void CopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
290 	void GetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
291 	void GetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
292 	GLuint GetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
293 	void GetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
294 	void GetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
295 	void UniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
296 	void DrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
297 	void DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount);
298 	GLsync FenceSync(GLenum condition, GLbitfield flags);
299 	GLboolean IsSync(GLsync sync);
300 	void DeleteSync(GLsync sync);
301 	GLenum ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
302 	void WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
303 	void GetInteger64v(GLenum pname, GLint64 *data);
304 	void GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
305 	void GetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
306 	void GetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
307 	void GenSamplers(GLsizei count, GLuint *samplers);
308 	void DeleteSamplers(GLsizei count, const GLuint *samplers);
309 	GLboolean IsSampler(GLuint sampler);
310 	void BindSampler(GLuint unit, GLuint sampler);
311 	void SamplerParameteri(GLuint sampler, GLenum pname, GLint param);
312 	void SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
313 	void SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
314 	void SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
315 	void GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
316 	void GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
317 	void VertexAttribDivisor(GLuint index, GLuint divisor);
318 	void BindTransformFeedback(GLenum target, GLuint id);
319 	void DeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
320 	void GenTransformFeedbacks(GLsizei n, GLuint *ids);
321 	GLboolean IsTransformFeedback(GLuint id);
322 	void PauseTransformFeedback(void);
323 	void ResumeTransformFeedback(void);
324 	void GetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
325 	void ProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
326 	void ProgramParameteri(GLuint program, GLenum pname, GLint value);
327 	void InvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);
328 	void InvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
329 	void TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
330 	void TexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
331 	void GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
332 }
333 
334 #endif   // LIBGLESV2_ENTRY_POINTS_H_
335