- Now they are in ndkHelper:: name space - Changed module name to ndk_helper - Changed some static members to class var or stand alone function - Added syncronization for JNIHelper.cpp - For a documentation, I will work with doc writer for future improvement Change-Id: I0055061a4f53b1904cde2e0339550ee277b35fc5 Addressed most of feedbacks, - Switched coding standard to Chrome style - Update JNI helper, and documented - Fixed other issues that is pointed out Change-Id: Icc729a55ed8dd613759f34a3fc35cb4949d2d205
513 lines
20 KiB
C
513 lines
20 KiB
C
/*
|
|
* Copyright 2013 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#include <EGL/egl.h>
|
|
#include "gl3stub.h"
|
|
|
|
GLboolean gl3stubInit()
|
|
{
|
|
#define FIND_PROC(s) s = (void*)eglGetProcAddress(#s);
|
|
FIND_PROC( glReadBuffer );
|
|
FIND_PROC( glDrawRangeElements );
|
|
FIND_PROC( glTexImage3D );
|
|
FIND_PROC( glTexSubImage3D );
|
|
FIND_PROC( glCopyTexSubImage3D );
|
|
FIND_PROC( glCompressedTexImage3D );
|
|
FIND_PROC( glCompressedTexSubImage3D );
|
|
FIND_PROC( glGenQueries );
|
|
FIND_PROC( glDeleteQueries );
|
|
FIND_PROC( glIsQuery );
|
|
FIND_PROC( glBeginQuery );
|
|
FIND_PROC( glEndQuery );
|
|
FIND_PROC( glGetQueryiv );
|
|
FIND_PROC( glGetQueryObjectuiv );
|
|
FIND_PROC( glUnmapBuffer );
|
|
FIND_PROC( glGetBufferPointerv );
|
|
FIND_PROC( glDrawBuffers );
|
|
FIND_PROC( glUniformMatrix2x3fv );
|
|
FIND_PROC( glUniformMatrix3x2fv );
|
|
FIND_PROC( glUniformMatrix2x4fv );
|
|
FIND_PROC( glUniformMatrix4x2fv );
|
|
FIND_PROC( glUniformMatrix3x4fv );
|
|
FIND_PROC( glUniformMatrix4x3fv );
|
|
FIND_PROC( glBlitFramebuffer );
|
|
FIND_PROC( glRenderbufferStorageMultisample );
|
|
FIND_PROC( glFramebufferTextureLayer );
|
|
FIND_PROC( glMapBufferRange );
|
|
FIND_PROC( glFlushMappedBufferRange );
|
|
FIND_PROC( glBindVertexArray );
|
|
FIND_PROC( glDeleteVertexArrays );
|
|
FIND_PROC( glGenVertexArrays );
|
|
FIND_PROC( glIsVertexArray );
|
|
FIND_PROC( glGetIntegeri_v );
|
|
FIND_PROC( glBeginTransformFeedback );
|
|
FIND_PROC( glEndTransformFeedback );
|
|
FIND_PROC( glBindBufferRange );
|
|
FIND_PROC( glBindBufferBase );
|
|
FIND_PROC( glTransformFeedbackVaryings );
|
|
FIND_PROC( glGetTransformFeedbackVarying );
|
|
FIND_PROC( glVertexAttribIPointer );
|
|
FIND_PROC( glGetVertexAttribIiv );
|
|
FIND_PROC( glGetVertexAttribIuiv );
|
|
FIND_PROC( glVertexAttribI4i );
|
|
FIND_PROC( glVertexAttribI4ui );
|
|
FIND_PROC( glVertexAttribI4iv );
|
|
FIND_PROC( glVertexAttribI4uiv );
|
|
FIND_PROC( glGetUniformuiv );
|
|
FIND_PROC( glGetFragDataLocation );
|
|
FIND_PROC( glUniform1ui );
|
|
FIND_PROC( glUniform2ui );
|
|
FIND_PROC( glUniform3ui );
|
|
FIND_PROC( glUniform4ui );
|
|
FIND_PROC( glUniform1uiv );
|
|
FIND_PROC( glUniform2uiv );
|
|
FIND_PROC( glUniform3uiv );
|
|
FIND_PROC( glUniform4uiv );
|
|
FIND_PROC( glClearBufferiv );
|
|
FIND_PROC( glClearBufferuiv );
|
|
FIND_PROC( glClearBufferfv );
|
|
FIND_PROC( glClearBufferfi );
|
|
FIND_PROC( glGetStringi );
|
|
FIND_PROC( glCopyBufferSubData );
|
|
FIND_PROC( glGetUniformIndices );
|
|
FIND_PROC( glGetActiveUniformsiv );
|
|
FIND_PROC( glGetUniformBlockIndex );
|
|
FIND_PROC( glGetActiveUniformBlockiv );
|
|
FIND_PROC( glGetActiveUniformBlockName );
|
|
FIND_PROC( glUniformBlockBinding );
|
|
FIND_PROC( glDrawArraysInstanced );
|
|
FIND_PROC( glDrawElementsInstanced );
|
|
FIND_PROC( glFenceSync );
|
|
FIND_PROC( glIsSync );
|
|
FIND_PROC( glDeleteSync );
|
|
FIND_PROC( glClientWaitSync );
|
|
FIND_PROC( glWaitSync );
|
|
FIND_PROC( glGetInteger64v );
|
|
FIND_PROC( glGetSynciv );
|
|
FIND_PROC( glGetInteger64i_v );
|
|
FIND_PROC( glGetBufferParameteri64v );
|
|
FIND_PROC( glGenSamplers );
|
|
FIND_PROC( glDeleteSamplers );
|
|
FIND_PROC( glIsSampler );
|
|
FIND_PROC( glBindSampler );
|
|
FIND_PROC( glSamplerParameteri );
|
|
FIND_PROC( glSamplerParameteriv );
|
|
FIND_PROC( glSamplerParameterf );
|
|
FIND_PROC( glSamplerParameterfv );
|
|
FIND_PROC( glGetSamplerParameteriv );
|
|
FIND_PROC( glGetSamplerParameterfv );
|
|
FIND_PROC( glVertexAttribDivisor );
|
|
FIND_PROC( glBindTransformFeedback );
|
|
FIND_PROC( glDeleteTransformFeedbacks );
|
|
FIND_PROC( glGenTransformFeedbacks );
|
|
FIND_PROC( glIsTransformFeedback );
|
|
FIND_PROC( glPauseTransformFeedback );
|
|
FIND_PROC( glResumeTransformFeedback );
|
|
FIND_PROC( glGetProgramBinary );
|
|
FIND_PROC( glProgramBinary );
|
|
FIND_PROC( glProgramParameteri );
|
|
FIND_PROC( glInvalidateFramebuffer );
|
|
FIND_PROC( glInvalidateSubFramebuffer );
|
|
FIND_PROC( glTexStorage2D );
|
|
FIND_PROC( glTexStorage3D );
|
|
FIND_PROC( glGetInternalformativ );
|
|
#undef FIND_PROC
|
|
|
|
if( !glReadBuffer || !glDrawRangeElements || !glTexImage3D || !glTexSubImage3D
|
|
|| !glCopyTexSubImage3D || !glCompressedTexImage3D
|
|
|| !glCompressedTexSubImage3D || !glGenQueries || !glDeleteQueries
|
|
|| !glIsQuery || !glBeginQuery || !glEndQuery || !glGetQueryiv
|
|
|| !glGetQueryObjectuiv || !glUnmapBuffer || !glGetBufferPointerv
|
|
|| !glDrawBuffers || !glUniformMatrix2x3fv || !glUniformMatrix3x2fv
|
|
|| !glUniformMatrix2x4fv || !glUniformMatrix4x2fv || !glUniformMatrix3x4fv
|
|
|| !glUniformMatrix4x3fv || !glBlitFramebuffer
|
|
|| !glRenderbufferStorageMultisample || !glFramebufferTextureLayer
|
|
|| !glMapBufferRange || !glFlushMappedBufferRange || !glBindVertexArray
|
|
|| !glDeleteVertexArrays || !glGenVertexArrays || !glIsVertexArray
|
|
|| !glGetIntegeri_v || !glBeginTransformFeedback || !glEndTransformFeedback
|
|
|| !glBindBufferRange || !glBindBufferBase || !glTransformFeedbackVaryings
|
|
|| !glGetTransformFeedbackVarying || !glVertexAttribIPointer
|
|
|| !glGetVertexAttribIiv || !glGetVertexAttribIuiv || !glVertexAttribI4i
|
|
|| !glVertexAttribI4ui || !glVertexAttribI4iv || !glVertexAttribI4uiv
|
|
|| !glGetUniformuiv || !glGetFragDataLocation || !glUniform1ui
|
|
|| !glUniform2ui || !glUniform3ui || !glUniform4ui || !glUniform1uiv
|
|
|| !glUniform2uiv || !glUniform3uiv || !glUniform4uiv || !glClearBufferiv
|
|
|| !glClearBufferuiv || !glClearBufferfv || !glClearBufferfi || !glGetStringi
|
|
|| !glCopyBufferSubData || !glGetUniformIndices || !glGetActiveUniformsiv
|
|
|| !glGetUniformBlockIndex || !glGetActiveUniformBlockiv
|
|
|| !glGetActiveUniformBlockName || !glUniformBlockBinding
|
|
|| !glDrawArraysInstanced || !glDrawElementsInstanced || !glFenceSync
|
|
|| !glIsSync || !glDeleteSync || !glClientWaitSync || !glWaitSync
|
|
|| !glGetInteger64v || !glGetSynciv || !glGetInteger64i_v
|
|
|| !glGetBufferParameteri64v || !glGenSamplers || !glDeleteSamplers
|
|
|| !glIsSampler || !glBindSampler || !glSamplerParameteri
|
|
|| !glSamplerParameteriv || !glSamplerParameterf || !glSamplerParameterfv
|
|
|| !glGetSamplerParameteriv || !glGetSamplerParameterfv
|
|
|| !glVertexAttribDivisor || !glBindTransformFeedback
|
|
|| !glDeleteTransformFeedbacks || !glGenTransformFeedbacks
|
|
|| !glIsTransformFeedback || !glPauseTransformFeedback
|
|
|| !glResumeTransformFeedback || !glGetProgramBinary || !glProgramBinary
|
|
|| !glProgramParameteri || !glInvalidateFramebuffer
|
|
|| !glInvalidateSubFramebuffer || !glTexStorage2D || !glTexStorage3D
|
|
|| !glGetInternalformativ )
|
|
{
|
|
return GL_FALSE;
|
|
}
|
|
|
|
return GL_TRUE;
|
|
}
|
|
|
|
/* Function pointer definitions */GL_APICALL void (* GL_APIENTRY glReadBuffer)( GLenum mode );
|
|
GL_APICALL void (* GL_APIENTRY glDrawRangeElements)( GLenum mode,
|
|
GLuint start,
|
|
GLuint end,
|
|
GLsizei count,
|
|
GLenum type,
|
|
const GLvoid* indices );
|
|
GL_APICALL void (* GL_APIENTRY glTexImage3D)( GLenum target,
|
|
GLint level,
|
|
GLint internalformat,
|
|
GLsizei width,
|
|
GLsizei height,
|
|
GLsizei depth,
|
|
GLint border,
|
|
GLenum format,
|
|
GLenum type,
|
|
const GLvoid* pixels );
|
|
GL_APICALL void (* GL_APIENTRY glTexSubImage3D)( GLenum target,
|
|
GLint level,
|
|
GLint xoffset,
|
|
GLint yoffset,
|
|
GLint zoffset,
|
|
GLsizei width,
|
|
GLsizei height,
|
|
GLsizei depth,
|
|
GLenum format,
|
|
GLenum type,
|
|
const GLvoid* pixels );
|
|
GL_APICALL void (* GL_APIENTRY glCopyTexSubImage3D)( GLenum target,
|
|
GLint level,
|
|
GLint xoffset,
|
|
GLint yoffset,
|
|
GLint zoffset,
|
|
GLint x,
|
|
GLint y,
|
|
GLsizei width,
|
|
GLsizei height );
|
|
GL_APICALL void (* GL_APIENTRY glCompressedTexImage3D)( GLenum target,
|
|
GLint level,
|
|
GLenum internalformat,
|
|
GLsizei width,
|
|
GLsizei height,
|
|
GLsizei depth,
|
|
GLint border,
|
|
GLsizei imageSize,
|
|
const GLvoid* data );
|
|
GL_APICALL void (* GL_APIENTRY glCompressedTexSubImage3D)( GLenum target,
|
|
GLint level,
|
|
GLint xoffset,
|
|
GLint yoffset,
|
|
GLint zoffset,
|
|
GLsizei width,
|
|
GLsizei height,
|
|
GLsizei depth,
|
|
GLenum format,
|
|
GLsizei imageSize,
|
|
const GLvoid* data );
|
|
GL_APICALL void (* GL_APIENTRY glGenQueries)( GLsizei n, GLuint* ids );
|
|
GL_APICALL void (* GL_APIENTRY glDeleteQueries)( GLsizei n, const GLuint* ids );
|
|
GL_APICALL GLboolean (* GL_APIENTRY glIsQuery)( GLuint id );
|
|
GL_APICALL void (* GL_APIENTRY glBeginQuery)( GLenum target, GLuint id );
|
|
GL_APICALL void (* GL_APIENTRY glEndQuery)( GLenum target );
|
|
GL_APICALL void (* GL_APIENTRY glGetQueryiv)( GLenum target, GLenum pname, GLint* params );
|
|
GL_APICALL void (* GL_APIENTRY glGetQueryObjectuiv)( GLuint id,
|
|
GLenum pname,
|
|
GLuint* params );
|
|
GL_APICALL GLboolean (* GL_APIENTRY glUnmapBuffer)( GLenum target );
|
|
GL_APICALL void (* GL_APIENTRY glGetBufferPointerv)( GLenum target,
|
|
GLenum pname,
|
|
GLvoid** params );
|
|
GL_APICALL void (* GL_APIENTRY glDrawBuffers)( GLsizei n, const GLenum* bufs );
|
|
GL_APICALL void (* GL_APIENTRY glUniformMatrix2x3fv)( GLint location,
|
|
GLsizei count,
|
|
GLboolean transpose,
|
|
const GLfloat* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniformMatrix3x2fv)( GLint location,
|
|
GLsizei count,
|
|
GLboolean transpose,
|
|
const GLfloat* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniformMatrix2x4fv)( GLint location,
|
|
GLsizei count,
|
|
GLboolean transpose,
|
|
const GLfloat* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniformMatrix4x2fv)( GLint location,
|
|
GLsizei count,
|
|
GLboolean transpose,
|
|
const GLfloat* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniformMatrix3x4fv)( GLint location,
|
|
GLsizei count,
|
|
GLboolean transpose,
|
|
const GLfloat* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniformMatrix4x3fv)( GLint location,
|
|
GLsizei count,
|
|
GLboolean transpose,
|
|
const GLfloat* value );
|
|
GL_APICALL void (* GL_APIENTRY glBlitFramebuffer)( GLint srcX0,
|
|
GLint srcY0,
|
|
GLint srcX1,
|
|
GLint srcY1,
|
|
GLint dstX0,
|
|
GLint dstY0,
|
|
GLint dstX1,
|
|
GLint dstY1,
|
|
GLbitfield mask,
|
|
GLenum filter );
|
|
GL_APICALL void (* GL_APIENTRY glRenderbufferStorageMultisample)( GLenum target,
|
|
GLsizei samples,
|
|
GLenum internalformat,
|
|
GLsizei width,
|
|
GLsizei height );
|
|
GL_APICALL void (* GL_APIENTRY glFramebufferTextureLayer)( GLenum target,
|
|
GLenum attachment,
|
|
GLuint texture,
|
|
GLint level,
|
|
GLint layer );
|
|
GL_APICALL GLvoid* (* GL_APIENTRY glMapBufferRange)( GLenum target,
|
|
GLintptr offset,
|
|
GLsizeiptr length,
|
|
GLbitfield access );
|
|
GL_APICALL void (* GL_APIENTRY glFlushMappedBufferRange)( GLenum target,
|
|
GLintptr offset,
|
|
GLsizeiptr length );
|
|
GL_APICALL void (* GL_APIENTRY glBindVertexArray)( GLuint array );
|
|
GL_APICALL void (* GL_APIENTRY glDeleteVertexArrays)( GLsizei n, const GLuint* arrays );
|
|
GL_APICALL void (* GL_APIENTRY glGenVertexArrays)( GLsizei n, GLuint* arrays );
|
|
GL_APICALL GLboolean (* GL_APIENTRY glIsVertexArray)( GLuint array );
|
|
GL_APICALL void (* GL_APIENTRY glGetIntegeri_v)( GLenum target,
|
|
GLuint index,
|
|
GLint* data );
|
|
GL_APICALL void (* GL_APIENTRY glBeginTransformFeedback)( GLenum primitiveMode );
|
|
GL_APICALL void (* GL_APIENTRY glEndTransformFeedback)( void );
|
|
GL_APICALL void (* GL_APIENTRY glBindBufferRange)( GLenum target,
|
|
GLuint index,
|
|
GLuint buffer,
|
|
GLintptr offset,
|
|
GLsizeiptr size );
|
|
GL_APICALL void (* GL_APIENTRY glBindBufferBase)( GLenum target,
|
|
GLuint index,
|
|
GLuint buffer );
|
|
GL_APICALL void (* GL_APIENTRY glTransformFeedbackVaryings)( GLuint program,
|
|
GLsizei count,
|
|
const GLchar* const * varyings,
|
|
GLenum bufferMode );
|
|
GL_APICALL void (* GL_APIENTRY glGetTransformFeedbackVarying)( GLuint program,
|
|
GLuint index,
|
|
GLsizei bufSize,
|
|
GLsizei* length,
|
|
GLsizei* size,
|
|
GLenum* type,
|
|
GLchar* name );
|
|
GL_APICALL void (* GL_APIENTRY glVertexAttribIPointer)( GLuint index,
|
|
GLint size,
|
|
GLenum type,
|
|
GLsizei stride,
|
|
const GLvoid* pointer );
|
|
GL_APICALL void (* GL_APIENTRY glGetVertexAttribIiv)( GLuint index,
|
|
GLenum pname,
|
|
GLint* params );
|
|
GL_APICALL void (* GL_APIENTRY glGetVertexAttribIuiv)( GLuint index,
|
|
GLenum pname,
|
|
GLuint* params );
|
|
GL_APICALL void (* GL_APIENTRY glVertexAttribI4i)( GLuint index,
|
|
GLint x,
|
|
GLint y,
|
|
GLint z,
|
|
GLint w );
|
|
GL_APICALL void (* GL_APIENTRY glVertexAttribI4ui)( GLuint index,
|
|
GLuint x,
|
|
GLuint y,
|
|
GLuint z,
|
|
GLuint w );
|
|
GL_APICALL void (* GL_APIENTRY glVertexAttribI4iv)( GLuint index, const GLint* v );
|
|
GL_APICALL void (* GL_APIENTRY glVertexAttribI4uiv)( GLuint index, const GLuint* v );
|
|
GL_APICALL void (* GL_APIENTRY glGetUniformuiv)( GLuint program,
|
|
GLint location,
|
|
GLuint* params );
|
|
GL_APICALL GLint (* GL_APIENTRY glGetFragDataLocation)( GLuint program,
|
|
const GLchar *name );
|
|
GL_APICALL void (* GL_APIENTRY glUniform1ui)( GLint location, GLuint v0 );
|
|
GL_APICALL void (* GL_APIENTRY glUniform2ui)( GLint location, GLuint v0, GLuint v1 );
|
|
GL_APICALL void (* GL_APIENTRY glUniform3ui)( GLint location,
|
|
GLuint v0,
|
|
GLuint v1,
|
|
GLuint v2 );
|
|
GL_APICALL void (* GL_APIENTRY glUniform4ui)( GLint location,
|
|
GLuint v0,
|
|
GLuint v1,
|
|
GLuint v2,
|
|
GLuint v3 );
|
|
GL_APICALL void (* GL_APIENTRY glUniform1uiv)( GLint location,
|
|
GLsizei count,
|
|
const GLuint* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniform2uiv)( GLint location,
|
|
GLsizei count,
|
|
const GLuint* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniform3uiv)( GLint location,
|
|
GLsizei count,
|
|
const GLuint* value );
|
|
GL_APICALL void (* GL_APIENTRY glUniform4uiv)( GLint location,
|
|
GLsizei count,
|
|
const GLuint* value );
|
|
GL_APICALL void (* GL_APIENTRY glClearBufferiv)( GLenum buffer,
|
|
GLint drawbuffer,
|
|
const GLint* value );
|
|
GL_APICALL void (* GL_APIENTRY glClearBufferuiv)( GLenum buffer,
|
|
GLint drawbuffer,
|
|
const GLuint* value );
|
|
GL_APICALL void (* GL_APIENTRY glClearBufferfv)( GLenum buffer,
|
|
GLint drawbuffer,
|
|
const GLfloat* value );
|
|
GL_APICALL void (* GL_APIENTRY glClearBufferfi)( GLenum buffer,
|
|
GLint drawbuffer,
|
|
GLfloat depth,
|
|
GLint stencil );
|
|
GL_APICALL const GLubyte* (* GL_APIENTRY glGetStringi)( GLenum name, GLuint index );
|
|
GL_APICALL void (* GL_APIENTRY glCopyBufferSubData)( GLenum readTarget,
|
|
GLenum writeTarget,
|
|
GLintptr readOffset,
|
|
GLintptr writeOffset,
|
|
GLsizeiptr size );
|
|
GL_APICALL void (* GL_APIENTRY glGetUniformIndices)( GLuint program,
|
|
GLsizei uniformCount,
|
|
const GLchar* const * uniformNames,
|
|
GLuint* uniformIndices );
|
|
GL_APICALL void (* GL_APIENTRY glGetActiveUniformsiv)( GLuint program,
|
|
GLsizei uniformCount,
|
|
const GLuint* uniformIndices,
|
|
GLenum pname,
|
|
GLint* params );
|
|
GL_APICALL GLuint (* GL_APIENTRY glGetUniformBlockIndex)( GLuint program,
|
|
const GLchar* uniformBlockName );
|
|
GL_APICALL void (* GL_APIENTRY glGetActiveUniformBlockiv)( GLuint program,
|
|
GLuint uniformBlockIndex,
|
|
GLenum pname,
|
|
GLint* params );
|
|
GL_APICALL void (* GL_APIENTRY glGetActiveUniformBlockName)( GLuint program,
|
|
GLuint uniformBlockIndex,
|
|
GLsizei bufSize,
|
|
GLsizei* length,
|
|
GLchar* uniformBlockName );
|
|
GL_APICALL void (* GL_APIENTRY glUniformBlockBinding)( GLuint program,
|
|
GLuint uniformBlockIndex,
|
|
GLuint uniformBlockBinding );
|
|
GL_APICALL void (* GL_APIENTRY glDrawArraysInstanced)( GLenum mode,
|
|
GLint first,
|
|
GLsizei count,
|
|
GLsizei instanceCount );
|
|
GL_APICALL void (* GL_APIENTRY glDrawElementsInstanced)( GLenum mode,
|
|
GLsizei count,
|
|
GLenum type,
|
|
const GLvoid* indices,
|
|
GLsizei instanceCount );
|
|
GL_APICALL GLsync (* GL_APIENTRY glFenceSync)( GLenum condition, GLbitfield flags );
|
|
GL_APICALL GLboolean (* GL_APIENTRY glIsSync)( GLsync sync );
|
|
GL_APICALL void (* GL_APIENTRY glDeleteSync)( GLsync sync );
|
|
GL_APICALL GLenum (* GL_APIENTRY glClientWaitSync)( GLsync sync,
|
|
GLbitfield flags,
|
|
GLuint64 timeout );
|
|
GL_APICALL void (* GL_APIENTRY glWaitSync)( GLsync sync,
|
|
GLbitfield flags,
|
|
GLuint64 timeout );
|
|
GL_APICALL void (* GL_APIENTRY glGetInteger64v)( GLenum pname, GLint64* params );
|
|
GL_APICALL void (* GL_APIENTRY glGetSynciv)( GLsync sync,
|
|
GLenum pname,
|
|
GLsizei bufSize,
|
|
GLsizei* length,
|
|
GLint* values );
|
|
GL_APICALL void (* GL_APIENTRY glGetInteger64i_v)( GLenum target,
|
|
GLuint index,
|
|
GLint64* data );
|
|
GL_APICALL void (* GL_APIENTRY glGetBufferParameteri64v)( GLenum target,
|
|
GLenum pname,
|
|
GLint64* params );
|
|
GL_APICALL void (* GL_APIENTRY glGenSamplers)( GLsizei count, GLuint* samplers );
|
|
GL_APICALL void (* GL_APIENTRY glDeleteSamplers)( GLsizei count, const GLuint* samplers );
|
|
GL_APICALL GLboolean (* GL_APIENTRY glIsSampler)( GLuint sampler );
|
|
GL_APICALL void (* GL_APIENTRY glBindSampler)( GLuint unit, GLuint sampler );
|
|
GL_APICALL void (* GL_APIENTRY glSamplerParameteri)( GLuint sampler,
|
|
GLenum pname,
|
|
GLint param );
|
|
GL_APICALL void (* GL_APIENTRY glSamplerParameteriv)( GLuint sampler,
|
|
GLenum pname,
|
|
const GLint* param );
|
|
GL_APICALL void (* GL_APIENTRY glSamplerParameterf)( GLuint sampler,
|
|
GLenum pname,
|
|
GLfloat param );
|
|
GL_APICALL void (* GL_APIENTRY glSamplerParameterfv)( GLuint sampler,
|
|
GLenum pname,
|
|
const GLfloat* param );
|
|
GL_APICALL void (* GL_APIENTRY glGetSamplerParameteriv)( GLuint sampler,
|
|
GLenum pname,
|
|
GLint* params );
|
|
GL_APICALL void (* GL_APIENTRY glGetSamplerParameterfv)( GLuint sampler,
|
|
GLenum pname,
|
|
GLfloat* params );
|
|
GL_APICALL void (* GL_APIENTRY glVertexAttribDivisor)( GLuint index, GLuint divisor );
|
|
GL_APICALL void (* GL_APIENTRY glBindTransformFeedback)( GLenum target, GLuint id );
|
|
GL_APICALL void (* GL_APIENTRY glDeleteTransformFeedbacks)( GLsizei n, const GLuint* ids );
|
|
GL_APICALL void (* GL_APIENTRY glGenTransformFeedbacks)( GLsizei n, GLuint* ids );
|
|
GL_APICALL GLboolean (* GL_APIENTRY glIsTransformFeedback)( GLuint id );
|
|
GL_APICALL void (* GL_APIENTRY glPauseTransformFeedback)( void );
|
|
GL_APICALL void (* GL_APIENTRY glResumeTransformFeedback)( void );
|
|
GL_APICALL void (* GL_APIENTRY glGetProgramBinary)( GLuint program,
|
|
GLsizei bufSize,
|
|
GLsizei* length,
|
|
GLenum* binaryFormat,
|
|
GLvoid* binary );
|
|
GL_APICALL void (* GL_APIENTRY glProgramBinary)( GLuint program,
|
|
GLenum binaryFormat,
|
|
const GLvoid* binary,
|
|
GLsizei length );
|
|
GL_APICALL void (* GL_APIENTRY glProgramParameteri)( GLuint program,
|
|
GLenum pname,
|
|
GLint value );
|
|
GL_APICALL void (* GL_APIENTRY glInvalidateFramebuffer)( GLenum target,
|
|
GLsizei numAttachments,
|
|
const GLenum* attachments );
|
|
GL_APICALL void (* GL_APIENTRY glInvalidateSubFramebuffer)( GLenum target,
|
|
GLsizei numAttachments,
|
|
const GLenum* attachments,
|
|
GLint x,
|
|
GLint y,
|
|
GLsizei width,
|
|
GLsizei height );
|
|
GL_APICALL void (* GL_APIENTRY glTexStorage2D)( GLenum target,
|
|
GLsizei levels,
|
|
GLenum internalformat,
|
|
GLsizei width,
|
|
GLsizei height );
|
|
GL_APICALL void (* GL_APIENTRY glTexStorage3D)( GLenum target,
|
|
GLsizei levels,
|
|
GLenum internalformat,
|
|
GLsizei width,
|
|
GLsizei height,
|
|
GLsizei depth );
|
|
GL_APICALL void (* GL_APIENTRY glGetInternalformativ)( GLenum target,
|
|
GLenum internalformat,
|
|
GLenum pname,
|
|
GLsizei bufSize,
|
|
GLint* params );
|