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