| Index: ui/gl/gl_bindings_autogen_gl.cc
|
| diff --git a/ui/gl/gl_bindings_autogen_gl.cc b/ui/gl/gl_bindings_autogen_gl.cc
|
| index 435758de7bfe9ac44796346b67e96a6e6277f4f8..e86569b12979003d46736d8fb601b9a0542cf159 100644
|
| --- a/ui/gl/gl_bindings_autogen_gl.cc
|
| +++ b/ui/gl/gl_bindings_autogen_gl.cc
|
| @@ -23,13 +23,40 @@ namespace gfx {
|
| static bool g_debugBindingsInitialized;
|
| DriverGL g_driver_gl;
|
|
|
| +void glBeginQueryNotBound(GLenum target, GLuint id) {
|
| + NOTREACHED();
|
| +}
|
| void glBeginQueryARBNotBound(GLenum target, GLuint id) {
|
| NOTREACHED();
|
| }
|
| -void glBindFramebufferEXTNotBound(GLenum target, GLuint framebuffer) {
|
| +void glBeginTransformFeedbackNotBound(GLenum primitiveMode) {
|
| + NOTREACHED();
|
| +}
|
| +void glBindBufferBaseNotBound(GLenum target, GLuint index, GLuint buffer) {
|
| + NOTREACHED();
|
| +}
|
| +void glBindBufferRangeNotBound(GLenum target,
|
| + GLuint index,
|
| + GLuint buffer,
|
| + GLintptr offset,
|
| + GLsizeiptr size) {
|
| + NOTREACHED();
|
| +}
|
| +void glBindFragDataLocationNotBound(GLuint program,
|
| + GLuint colorNumber,
|
| + const char* name) {
|
| + NOTREACHED();
|
| +}
|
| +void glBindFragDataLocationIndexedNotBound(GLuint program,
|
| + GLuint colorNumber,
|
| + GLuint index,
|
| + const char* name) {
|
| + NOTREACHED();
|
| +}
|
| +void glBindSamplerNotBound(GLuint unit, GLuint sampler) {
|
| NOTREACHED();
|
| }
|
| -void glBindRenderbufferEXTNotBound(GLenum target, GLuint renderbuffer) {
|
| +void glBindTransformFeedbackNotBound(GLenum target, GLuint id) {
|
| NOTREACHED();
|
| }
|
| void glBindVertexArrayOESNotBound(GLuint array) {
|
| @@ -38,6 +65,18 @@ void glBindVertexArrayOESNotBound(GLuint array) {
|
| void glBlendBarrierKHRNotBound(void) {
|
| NOTREACHED();
|
| }
|
| +void glBlitFramebufferNotBound(GLint srcX0,
|
| + GLint srcY0,
|
| + GLint srcX1,
|
| + GLint srcY1,
|
| + GLint dstX0,
|
| + GLint dstY0,
|
| + GLint dstX1,
|
| + GLint dstY1,
|
| + GLbitfield mask,
|
| + GLenum filter) {
|
| + NOTREACHED();
|
| +}
|
| void glBlitFramebufferANGLENotBound(GLint srcX0,
|
| GLint srcY0,
|
| GLint srcX1,
|
| @@ -62,31 +101,106 @@ void glBlitFramebufferEXTNotBound(GLint srcX0,
|
| GLenum filter) {
|
| NOTREACHED();
|
| }
|
| -GLenum glCheckFramebufferStatusEXTNotBound(GLenum target) {
|
| +void glClearBufferfiNotBound(GLenum buffer,
|
| + GLint drawbuffer,
|
| + const GLfloat depth,
|
| + GLint stencil) {
|
| + NOTREACHED();
|
| +}
|
| +void glClearBufferfvNotBound(GLenum buffer,
|
| + GLint drawbuffer,
|
| + const GLfloat* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glClearBufferivNotBound(GLenum buffer,
|
| + GLint drawbuffer,
|
| + const GLint* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glClearBufferuivNotBound(GLenum buffer,
|
| + GLint drawbuffer,
|
| + const GLuint* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glClearDepthfNotBound(GLclampf depth) {
|
| + NOTREACHED();
|
| +}
|
| +GLenum glClientWaitSyncNotBound(GLsync sync,
|
| + GLbitfield flags,
|
| + GLuint64 timeout) {
|
| NOTREACHED();
|
| return 0;
|
| }
|
| -void glDeleteBuffersARBNotBound(GLsizei n, const GLuint* buffers) {
|
| +void glCompressedTexImage3DNotBound(GLenum target,
|
| + GLint level,
|
| + GLenum internalformat,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLsizei depth,
|
| + GLint border,
|
| + GLsizei imageSize,
|
| + const void* data) {
|
| + NOTREACHED();
|
| +}
|
| +void glCopyBufferSubDataNotBound(GLenum readTarget,
|
| + GLenum writeTarget,
|
| + GLintptr readOffset,
|
| + GLintptr writeOffset,
|
| + GLsizeiptr size) {
|
| + NOTREACHED();
|
| +}
|
| +void glCopyTexSubImage3DNotBound(GLenum target,
|
| + GLint level,
|
| + GLint xoffset,
|
| + GLint yoffset,
|
| + GLint zoffset,
|
| + GLint x,
|
| + GLint y,
|
| + GLsizei width,
|
| + GLsizei height) {
|
| + NOTREACHED();
|
| +}
|
| +void glDeleteFencesAPPLENotBound(GLsizei n, const GLuint* fences) {
|
| + NOTREACHED();
|
| +}
|
| +void glDeleteFencesNVNotBound(GLsizei n, const GLuint* fences) {
|
| NOTREACHED();
|
| }
|
| -void glDeleteFramebuffersEXTNotBound(GLsizei n, const GLuint* framebuffers) {
|
| +void glDeleteQueriesNotBound(GLsizei n, const GLuint* ids) {
|
| NOTREACHED();
|
| }
|
| void glDeleteQueriesARBNotBound(GLsizei n, const GLuint* ids) {
|
| NOTREACHED();
|
| }
|
| -void glDeleteRenderbuffersEXTNotBound(GLsizei n, const GLuint* renderbuffers) {
|
| +void glDeleteSamplersNotBound(GLsizei n, const GLuint* samplers) {
|
| + NOTREACHED();
|
| +}
|
| +void glDeleteSyncNotBound(GLsync sync) {
|
| + NOTREACHED();
|
| +}
|
| +void glDeleteTransformFeedbacksNotBound(GLsizei n, const GLuint* ids) {
|
| NOTREACHED();
|
| }
|
| void glDeleteVertexArraysOESNotBound(GLsizei n, const GLuint* arrays) {
|
| NOTREACHED();
|
| }
|
| +void glDepthRangefNotBound(GLclampf zNear, GLclampf zFar) {
|
| + NOTREACHED();
|
| +}
|
| +void glDiscardFramebufferEXTNotBound(GLenum target,
|
| + GLsizei numAttachments,
|
| + const GLenum* attachments) {
|
| + NOTREACHED();
|
| +}
|
| void glDrawArraysInstancedANGLENotBound(GLenum mode,
|
| GLint first,
|
| GLsizei count,
|
| GLsizei primcount) {
|
| NOTREACHED();
|
| }
|
| +void glDrawBufferNotBound(GLenum mode) {
|
| + NOTREACHED();
|
| +}
|
| void glDrawBuffersARBNotBound(GLsizei n, const GLenum* bufs) {
|
| NOTREACHED();
|
| }
|
| @@ -97,50 +211,136 @@ void glDrawElementsInstancedANGLENotBound(GLenum mode,
|
| GLsizei primcount) {
|
| NOTREACHED();
|
| }
|
| +void glDrawRangeElementsNotBound(GLenum mode,
|
| + GLuint start,
|
| + GLuint end,
|
| + GLsizei count,
|
| + GLenum type,
|
| + const void* indices) {
|
| + NOTREACHED();
|
| +}
|
| +void glEGLImageTargetRenderbufferStorageOESNotBound(GLenum target,
|
| + GLeglImageOES image) {
|
| + NOTREACHED();
|
| +}
|
| +void glEGLImageTargetTexture2DOESNotBound(GLenum target, GLeglImageOES image) {
|
| + NOTREACHED();
|
| +}
|
| +void glEndQueryNotBound(GLenum target) {
|
| + NOTREACHED();
|
| +}
|
| void glEndQueryARBNotBound(GLenum target) {
|
| NOTREACHED();
|
| }
|
| -void glFramebufferRenderbufferEXTNotBound(GLenum target,
|
| - GLenum attachment,
|
| - GLenum renderbuffertarget,
|
| - GLuint renderbuffer) {
|
| +void glEndTransformFeedbackNotBound(void) {
|
| + NOTREACHED();
|
| +}
|
| +GLsync glFenceSyncNotBound(GLenum condition, GLbitfield flags) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +void glFinishFenceAPPLENotBound(GLuint fence) {
|
| + NOTREACHED();
|
| +}
|
| +void glFinishFenceNVNotBound(GLuint fence) {
|
| + NOTREACHED();
|
| +}
|
| +void glFlushMappedBufferRangeNotBound(GLenum target,
|
| + GLintptr offset,
|
| + GLsizeiptr length) {
|
| NOTREACHED();
|
| }
|
| -void glFramebufferTexture2DEXTNotBound(GLenum target,
|
| +void glFramebufferTexture2DMultisampleEXTNotBound(GLenum target,
|
| + GLenum attachment,
|
| + GLenum textarget,
|
| + GLuint texture,
|
| + GLint level,
|
| + GLsizei samples) {
|
| + NOTREACHED();
|
| +}
|
| +void glFramebufferTexture2DMultisampleIMGNotBound(GLenum target,
|
| + GLenum attachment,
|
| + GLenum textarget,
|
| + GLuint texture,
|
| + GLint level,
|
| + GLsizei samples) {
|
| + NOTREACHED();
|
| +}
|
| +void glFramebufferTextureLayerNotBound(GLenum target,
|
| GLenum attachment,
|
| - GLenum textarget,
|
| GLuint texture,
|
| - GLint level) {
|
| + GLint level,
|
| + GLint layer) {
|
| NOTREACHED();
|
| }
|
| -void glGenBuffersARBNotBound(GLsizei n, GLuint* buffers) {
|
| +void glGenFencesAPPLENotBound(GLsizei n, GLuint* fences) {
|
| NOTREACHED();
|
| }
|
| -void glGenerateMipmapEXTNotBound(GLenum target) {
|
| +void glGenFencesNVNotBound(GLsizei n, GLuint* fences) {
|
| NOTREACHED();
|
| }
|
| -void glGenFramebuffersEXTNotBound(GLsizei n, GLuint* framebuffers) {
|
| +void glGenQueriesNotBound(GLsizei n, GLuint* ids) {
|
| NOTREACHED();
|
| }
|
| void glGenQueriesARBNotBound(GLsizei n, GLuint* ids) {
|
| NOTREACHED();
|
| }
|
| -void glGenRenderbuffersEXTNotBound(GLsizei n, GLuint* renderbuffers) {
|
| +void glGenSamplersNotBound(GLsizei n, GLuint* samplers) {
|
| + NOTREACHED();
|
| +}
|
| +void glGenTransformFeedbacksNotBound(GLsizei n, GLuint* ids) {
|
| NOTREACHED();
|
| }
|
| void glGenVertexArraysOESNotBound(GLsizei n, GLuint* arrays) {
|
| NOTREACHED();
|
| }
|
| -void glGetFramebufferAttachmentParameterivEXTNotBound(GLenum target,
|
| - GLenum attachment,
|
| - GLenum pname,
|
| - GLint* params) {
|
| +void glGetActiveUniformBlockivNotBound(GLuint program,
|
| + GLuint uniformBlockIndex,
|
| + GLenum pname,
|
| + GLint* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetActiveUniformBlockNameNotBound(GLuint program,
|
| + GLuint uniformBlockIndex,
|
| + GLsizei bufSize,
|
| + GLsizei* length,
|
| + char* uniformBlockName) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetActiveUniformsivNotBound(GLuint program,
|
| + GLsizei uniformCount,
|
| + const GLuint* uniformIndices,
|
| + GLenum pname,
|
| + GLint* params) {
|
| NOTREACHED();
|
| }
|
| +void glGetFenceivNVNotBound(GLuint fence, GLenum pname, GLint* params) {
|
| + NOTREACHED();
|
| +}
|
| +GLint glGetFragDataLocationNotBound(GLuint program, const char* name) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| GLenum glGetGraphicsResetStatusARBNotBound(void) {
|
| NOTREACHED();
|
| return 0;
|
| }
|
| +void glGetInteger64i_vNotBound(GLenum target, GLuint index, GLint64* data) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetInteger64vNotBound(GLenum pname, GLint64* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetIntegeri_vNotBound(GLenum target, GLuint index, GLint* data) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetInternalformativNotBound(GLenum target,
|
| + GLenum internalformat,
|
| + GLenum pname,
|
| + GLsizei bufSize,
|
| + GLint* params) {
|
| + NOTREACHED();
|
| +}
|
| void glGetProgramBinaryNotBound(GLuint program,
|
| GLsizei bufSize,
|
| GLsizei* length,
|
| @@ -148,24 +348,116 @@ void glGetProgramBinaryNotBound(GLuint program,
|
| GLvoid* binary) {
|
| NOTREACHED();
|
| }
|
| +void glGetQueryivNotBound(GLenum target, GLenum pname, GLint* params) {
|
| + NOTREACHED();
|
| +}
|
| void glGetQueryivARBNotBound(GLenum target, GLenum pname, GLint* params) {
|
| NOTREACHED();
|
| }
|
| +void glGetQueryObjecti64vNotBound(GLuint id, GLenum pname, GLint64* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetQueryObjectivNotBound(GLuint id, GLenum pname, GLint* params) {
|
| + NOTREACHED();
|
| +}
|
| void glGetQueryObjectivARBNotBound(GLuint id, GLenum pname, GLint* params) {
|
| NOTREACHED();
|
| }
|
| void glGetQueryObjectui64vNotBound(GLuint id, GLenum pname, GLuint64* params) {
|
| NOTREACHED();
|
| }
|
| +void glGetQueryObjectuivNotBound(GLuint id, GLenum pname, GLuint* params) {
|
| + NOTREACHED();
|
| +}
|
| void glGetQueryObjectuivARBNotBound(GLuint id, GLenum pname, GLuint* params) {
|
| NOTREACHED();
|
| }
|
| -void glGetRenderbufferParameterivEXTNotBound(GLenum target,
|
| - GLenum pname,
|
| - GLint* params) {
|
| +void glGetSamplerParameterfvNotBound(GLuint sampler,
|
| + GLenum pname,
|
| + GLfloat* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetSamplerParameterivNotBound(GLuint sampler,
|
| + GLenum pname,
|
| + GLint* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetShaderPrecisionFormatNotBound(GLenum shadertype,
|
| + GLenum precisiontype,
|
| + GLint* range,
|
| + GLint* precision) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetSyncivNotBound(GLsync sync,
|
| + GLenum pname,
|
| + GLsizei bufSize,
|
| + GLsizei* length,
|
| + GLint* values) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetTexLevelParameterfvNotBound(GLenum target,
|
| + GLint level,
|
| + GLenum pname,
|
| + GLfloat* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetTexLevelParameterivNotBound(GLenum target,
|
| + GLint level,
|
| + GLenum pname,
|
| + GLint* params) {
|
| NOTREACHED();
|
| }
|
| -GLboolean glIsFramebufferEXTNotBound(GLuint framebuffer) {
|
| +void glGetTransformFeedbackVaryingNotBound(GLuint program,
|
| + GLuint index,
|
| + GLsizei bufSize,
|
| + GLsizei* length,
|
| + GLenum* type,
|
| + char* name) {
|
| + NOTREACHED();
|
| +}
|
| +void glGetTranslatedShaderSourceANGLENotBound(GLuint shader,
|
| + GLsizei bufsize,
|
| + GLsizei* length,
|
| + char* source) {
|
| + NOTREACHED();
|
| +}
|
| +GLuint glGetUniformBlockIndexNotBound(GLuint program,
|
| + const char* uniformBlockName) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +void glGetUniformIndicesNotBound(GLuint program,
|
| + GLsizei uniformCount,
|
| + const char* const* uniformNames,
|
| + GLuint* uniformIndices) {
|
| + NOTREACHED();
|
| +}
|
| +void glInsertEventMarkerEXTNotBound(GLsizei length, const char* marker) {
|
| + NOTREACHED();
|
| +}
|
| +void glInvalidateFramebufferNotBound(GLenum target,
|
| + GLsizei numAttachments,
|
| + const GLenum* attachments) {
|
| + NOTREACHED();
|
| +}
|
| +void glInvalidateSubFramebufferNotBound(GLenum target,
|
| + GLsizei numAttachments,
|
| + const GLenum* attachments,
|
| + GLint x,
|
| + GLint y,
|
| + GLint width,
|
| + GLint height) {
|
| + NOTREACHED();
|
| +}
|
| +GLboolean glIsFenceAPPLENotBound(GLuint fence) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +GLboolean glIsFenceNVNotBound(GLuint fence) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +GLboolean glIsQueryNotBound(GLuint query) {
|
| NOTREACHED();
|
| return 0;
|
| }
|
| @@ -173,7 +465,15 @@ GLboolean glIsQueryARBNotBound(GLuint query) {
|
| NOTREACHED();
|
| return 0;
|
| }
|
| -GLboolean glIsRenderbufferEXTNotBound(GLuint renderbuffer) {
|
| +GLboolean glIsSamplerNotBound(GLuint sampler) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +GLboolean glIsSyncNotBound(GLsync sync) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +GLboolean glIsTransformFeedbackNotBound(GLuint id) {
|
| NOTREACHED();
|
| return 0;
|
| }
|
| @@ -192,19 +492,47 @@ void* glMapBufferRangeNotBound(GLenum target,
|
| NOTREACHED();
|
| return 0;
|
| }
|
| +void glMatrixLoadfEXTNotBound(GLenum matrixMode, const GLfloat* m) {
|
| + NOTREACHED();
|
| +}
|
| +void glMatrixLoadIdentityEXTNotBound(GLenum matrixMode) {
|
| + NOTREACHED();
|
| +}
|
| +void glPauseTransformFeedbackNotBound(void) {
|
| + NOTREACHED();
|
| +}
|
| +void glPointParameteriNotBound(GLenum pname, GLint param) {
|
| + NOTREACHED();
|
| +}
|
| +void glPopGroupMarkerEXTNotBound(void) {
|
| + NOTREACHED();
|
| +}
|
| void glProgramBinaryNotBound(GLuint program,
|
| GLenum binaryFormat,
|
| const GLvoid* binary,
|
| GLsizei length) {
|
| NOTREACHED();
|
| }
|
| +void glProgramParameteriNotBound(GLuint program, GLenum pname, GLint value) {
|
| + NOTREACHED();
|
| +}
|
| +void glPushGroupMarkerEXTNotBound(GLsizei length, const char* marker) {
|
| + NOTREACHED();
|
| +}
|
| void glQueryCounterNotBound(GLuint id, GLenum target) {
|
| NOTREACHED();
|
| }
|
| -void glRenderbufferStorageEXTNotBound(GLenum target,
|
| - GLenum internalformat,
|
| - GLsizei width,
|
| - GLsizei height) {
|
| +void glReadBufferNotBound(GLenum src) {
|
| + NOTREACHED();
|
| +}
|
| +void glReleaseShaderCompilerNotBound(void) {
|
| + NOTREACHED();
|
| +}
|
| +void glRenderbufferStorageMultisampleNotBound(GLenum target,
|
| + GLsizei samples,
|
| + GLenum internalformat,
|
| + GLsizei width,
|
| + GLsizei height) {
|
| NOTREACHED();
|
| }
|
| void glRenderbufferStorageMultisampleANGLENotBound(GLenum target,
|
| @@ -221,6 +549,65 @@ void glRenderbufferStorageMultisampleEXTNotBound(GLenum target,
|
| GLsizei height) {
|
| NOTREACHED();
|
| }
|
| +void glRenderbufferStorageMultisampleIMGNotBound(GLenum target,
|
| + GLsizei samples,
|
| + GLenum internalformat,
|
| + GLsizei width,
|
| + GLsizei height) {
|
| + NOTREACHED();
|
| +}
|
| +void glResumeTransformFeedbackNotBound(void) {
|
| + NOTREACHED();
|
| +}
|
| +void glSamplerParameterfNotBound(GLuint sampler, GLenum pname, GLfloat param) {
|
| + NOTREACHED();
|
| +}
|
| +void glSamplerParameterfvNotBound(GLuint sampler,
|
| + GLenum pname,
|
| + const GLfloat* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glSamplerParameteriNotBound(GLuint sampler, GLenum pname, GLint param) {
|
| + NOTREACHED();
|
| +}
|
| +void glSamplerParameterivNotBound(GLuint sampler,
|
| + GLenum pname,
|
| + const GLint* params) {
|
| + NOTREACHED();
|
| +}
|
| +void glSetFenceAPPLENotBound(GLuint fence) {
|
| + NOTREACHED();
|
| +}
|
| +void glSetFenceNVNotBound(GLuint fence, GLenum condition) {
|
| + NOTREACHED();
|
| +}
|
| +void glShaderBinaryNotBound(GLsizei n,
|
| + const GLuint* shaders,
|
| + GLenum binaryformat,
|
| + const void* binary,
|
| + GLsizei length) {
|
| + NOTREACHED();
|
| +}
|
| +GLboolean glTestFenceAPPLENotBound(GLuint fence) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +GLboolean glTestFenceNVNotBound(GLuint fence) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +void glTexImage3DNotBound(GLenum target,
|
| + GLint level,
|
| + GLint internalformat,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLsizei depth,
|
| + GLint border,
|
| + GLenum format,
|
| + GLenum type,
|
| + const void* pixels) {
|
| + NOTREACHED();
|
| +}
|
| void glTexStorage2DEXTNotBound(GLenum target,
|
| GLsizei levels,
|
| GLenum internalformat,
|
| @@ -228,6 +615,89 @@ void glTexStorage2DEXTNotBound(GLenum target,
|
| GLsizei height) {
|
| NOTREACHED();
|
| }
|
| +void glTexStorage3DNotBound(GLenum target,
|
| + GLsizei levels,
|
| + GLenum internalformat,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLsizei depth) {
|
| + NOTREACHED();
|
| +}
|
| +void glTransformFeedbackVaryingsNotBound(GLuint program,
|
| + GLsizei count,
|
| + const char* const* varyings,
|
| + GLenum bufferMode) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform1uiNotBound(GLint location, GLuint v0) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform1uivNotBound(GLint location, GLsizei count, const GLuint* v) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform2uiNotBound(GLint location, GLuint v0, GLuint v1) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform2uivNotBound(GLint location, GLsizei count, const GLuint* v) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform3uiNotBound(GLint location, GLuint v0, GLuint v1, GLuint v2) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform3uivNotBound(GLint location, GLsizei count, const GLuint* v) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform4uiNotBound(GLint location,
|
| + GLuint v0,
|
| + GLuint v1,
|
| + GLuint v2,
|
| + GLuint v3) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniform4uivNotBound(GLint location, GLsizei count, const GLuint* v) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniformBlockBindingNotBound(GLuint program,
|
| + GLuint uniformBlockIndex,
|
| + GLuint uniformBlockBinding) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniformMatrix2x3fvNotBound(GLint location,
|
| + GLsizei count,
|
| + GLboolean transpose,
|
| + const GLfloat* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniformMatrix2x4fvNotBound(GLint location,
|
| + GLsizei count,
|
| + GLboolean transpose,
|
| + const GLfloat* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniformMatrix3x2fvNotBound(GLint location,
|
| + GLsizei count,
|
| + GLboolean transpose,
|
| + const GLfloat* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniformMatrix3x4fvNotBound(GLint location,
|
| + GLsizei count,
|
| + GLboolean transpose,
|
| + const GLfloat* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniformMatrix4x2fvNotBound(GLint location,
|
| + GLsizei count,
|
| + GLboolean transpose,
|
| + const GLfloat* value) {
|
| + NOTREACHED();
|
| +}
|
| +void glUniformMatrix4x3fvNotBound(GLint location,
|
| + GLsizei count,
|
| + GLboolean transpose,
|
| + const GLfloat* value) {
|
| + NOTREACHED();
|
| +}
|
| GLboolean glUnmapBufferNotBound(GLenum target) {
|
| NOTREACHED();
|
| return 0;
|
| @@ -235,42 +705,72 @@ GLboolean glUnmapBufferNotBound(GLenum target) {
|
| void glVertexAttribDivisorANGLENotBound(GLuint index, GLuint divisor) {
|
| NOTREACHED();
|
| }
|
| +void glVertexAttribI4iNotBound(GLuint indx,
|
| + GLint x,
|
| + GLint y,
|
| + GLint z,
|
| + GLint w) {
|
| + NOTREACHED();
|
| +}
|
| +void glVertexAttribI4ivNotBound(GLuint indx, const GLint* values) {
|
| + NOTREACHED();
|
| +}
|
| +void glVertexAttribI4uiNotBound(GLuint indx,
|
| + GLuint x,
|
| + GLuint y,
|
| + GLuint z,
|
| + GLuint w) {
|
| + NOTREACHED();
|
| +}
|
| +void glVertexAttribI4uivNotBound(GLuint indx, const GLuint* values) {
|
| + NOTREACHED();
|
| +}
|
| +void glVertexAttribIPointerNotBound(GLuint indx,
|
| + GLint size,
|
| + GLenum type,
|
| + GLsizei stride,
|
| + const void* ptr) {
|
| + NOTREACHED();
|
| +}
|
| +GLenum glWaitSyncNotBound(GLsync sync, GLbitfield flags, GLuint64 timeout) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
|
|
| void DriverGL::InitializeStaticBindings() {
|
| fn.glActiveTextureFn = reinterpret_cast<glActiveTextureProc>(
|
| GetGLProcAddress("glActiveTexture"));
|
| fn.glAttachShaderFn =
|
| reinterpret_cast<glAttachShaderProc>(GetGLProcAddress("glAttachShader"));
|
| - fn.glBeginQueryFn =
|
| - reinterpret_cast<glBeginQueryProc>(GetGLProcAddress("glBeginQuery"));
|
| + fn.glBeginQueryFn = reinterpret_cast<glBeginQueryProc>(glBeginQueryNotBound);
|
| fn.glBeginQueryARBFn =
|
| reinterpret_cast<glBeginQueryARBProc>(glBeginQueryARBNotBound);
|
| fn.glBeginTransformFeedbackFn =
|
| reinterpret_cast<glBeginTransformFeedbackProc>(
|
| - GetGLProcAddress("glBeginTransformFeedback"));
|
| + glBeginTransformFeedbackNotBound);
|
| fn.glBindAttribLocationFn = reinterpret_cast<glBindAttribLocationProc>(
|
| GetGLProcAddress("glBindAttribLocation"));
|
| fn.glBindBufferFn =
|
| reinterpret_cast<glBindBufferProc>(GetGLProcAddress("glBindBuffer"));
|
| - fn.glBindBufferBaseFn = reinterpret_cast<glBindBufferBaseProc>(
|
| - GetGLProcAddress("glBindBufferBase"));
|
| - fn.glBindBufferRangeFn = reinterpret_cast<glBindBufferRangeProc>(
|
| - GetGLProcAddress("glBindBufferRange"));
|
| + fn.glBindBufferBaseFn =
|
| + reinterpret_cast<glBindBufferBaseProc>(glBindBufferBaseNotBound);
|
| + fn.glBindBufferRangeFn =
|
| + reinterpret_cast<glBindBufferRangeProc>(glBindBufferRangeNotBound);
|
| fn.glBindFragDataLocationFn = reinterpret_cast<glBindFragDataLocationProc>(
|
| - GetGLProcAddress("glBindFragDataLocation"));
|
| + glBindFragDataLocationNotBound);
|
| fn.glBindFragDataLocationIndexedFn =
|
| reinterpret_cast<glBindFragDataLocationIndexedProc>(
|
| - GetGLProcAddress("glBindFragDataLocationIndexed"));
|
| - fn.glBindFramebufferEXTFn =
|
| - reinterpret_cast<glBindFramebufferEXTProc>(glBindFramebufferEXTNotBound);
|
| + glBindFragDataLocationIndexedNotBound);
|
| + fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>(
|
| + GetGLProcAddress("glBindFramebufferEXT"));
|
| fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>(
|
| - glBindRenderbufferEXTNotBound);
|
| + GetGLProcAddress("glBindRenderbufferEXT"));
|
| fn.glBindSamplerFn =
|
| - reinterpret_cast<glBindSamplerProc>(GetGLProcAddress("glBindSampler"));
|
| + reinterpret_cast<glBindSamplerProc>(glBindSamplerNotBound);
|
| fn.glBindTextureFn =
|
| reinterpret_cast<glBindTextureProc>(GetGLProcAddress("glBindTexture"));
|
| fn.glBindTransformFeedbackFn = reinterpret_cast<glBindTransformFeedbackProc>(
|
| - GetGLProcAddress("glBindTransformFeedback"));
|
| + glBindTransformFeedbackNotBound);
|
| fn.glBindVertexArrayOESFn =
|
| reinterpret_cast<glBindVertexArrayOESProc>(glBindVertexArrayOESNotBound);
|
| fn.glBlendBarrierKHRFn =
|
| @@ -285,8 +785,8 @@ void DriverGL::InitializeStaticBindings() {
|
| reinterpret_cast<glBlendFuncProc>(GetGLProcAddress("glBlendFunc"));
|
| fn.glBlendFuncSeparateFn = reinterpret_cast<glBlendFuncSeparateProc>(
|
| GetGLProcAddress("glBlendFuncSeparate"));
|
| - fn.glBlitFramebufferFn = reinterpret_cast<glBlitFramebufferProc>(
|
| - GetGLProcAddress("glBlitFramebuffer"));
|
| + fn.glBlitFramebufferFn =
|
| + reinterpret_cast<glBlitFramebufferProc>(glBlitFramebufferNotBound);
|
| fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>(
|
| glBlitFramebufferANGLENotBound);
|
| fn.glBlitFramebufferEXTFn =
|
| @@ -297,26 +797,26 @@ void DriverGL::InitializeStaticBindings() {
|
| GetGLProcAddress("glBufferSubData"));
|
| fn.glCheckFramebufferStatusEXTFn =
|
| reinterpret_cast<glCheckFramebufferStatusEXTProc>(
|
| - glCheckFramebufferStatusEXTNotBound);
|
| + GetGLProcAddress("glCheckFramebufferStatusEXT"));
|
| fn.glClearFn = reinterpret_cast<glClearProc>(GetGLProcAddress("glClear"));
|
| - fn.glClearBufferfiFn = reinterpret_cast<glClearBufferfiProc>(
|
| - GetGLProcAddress("glClearBufferfi"));
|
| - fn.glClearBufferfvFn = reinterpret_cast<glClearBufferfvProc>(
|
| - GetGLProcAddress("glClearBufferfv"));
|
| - fn.glClearBufferivFn = reinterpret_cast<glClearBufferivProc>(
|
| - GetGLProcAddress("glClearBufferiv"));
|
| - fn.glClearBufferuivFn = reinterpret_cast<glClearBufferuivProc>(
|
| - GetGLProcAddress("glClearBufferuiv"));
|
| + fn.glClearBufferfiFn =
|
| + reinterpret_cast<glClearBufferfiProc>(glClearBufferfiNotBound);
|
| + fn.glClearBufferfvFn =
|
| + reinterpret_cast<glClearBufferfvProc>(glClearBufferfvNotBound);
|
| + fn.glClearBufferivFn =
|
| + reinterpret_cast<glClearBufferivProc>(glClearBufferivNotBound);
|
| + fn.glClearBufferuivFn =
|
| + reinterpret_cast<glClearBufferuivProc>(glClearBufferuivNotBound);
|
| fn.glClearColorFn =
|
| reinterpret_cast<glClearColorProc>(GetGLProcAddress("glClearColor"));
|
| fn.glClearDepthFn =
|
| reinterpret_cast<glClearDepthProc>(GetGLProcAddress("glClearDepth"));
|
| fn.glClearDepthfFn =
|
| - reinterpret_cast<glClearDepthfProc>(GetGLProcAddress("glClearDepthf"));
|
| + reinterpret_cast<glClearDepthfProc>(glClearDepthfNotBound);
|
| fn.glClearStencilFn =
|
| reinterpret_cast<glClearStencilProc>(GetGLProcAddress("glClearStencil"));
|
| - fn.glClientWaitSyncFn = reinterpret_cast<glClientWaitSyncProc>(
|
| - GetGLProcAddress("glClientWaitSync"));
|
| + fn.glClientWaitSyncFn =
|
| + reinterpret_cast<glClientWaitSyncProc>(glClientWaitSyncNotBound);
|
| fn.glColorMaskFn =
|
| reinterpret_cast<glColorMaskProc>(GetGLProcAddress("glColorMask"));
|
| fn.glCompileShaderFn = reinterpret_cast<glCompileShaderProc>(
|
| @@ -324,52 +824,51 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glCompressedTexImage2DFn = reinterpret_cast<glCompressedTexImage2DProc>(
|
| GetGLProcAddress("glCompressedTexImage2D"));
|
| fn.glCompressedTexImage3DFn = reinterpret_cast<glCompressedTexImage3DProc>(
|
| - GetGLProcAddress("glCompressedTexImage3D"));
|
| + glCompressedTexImage3DNotBound);
|
| fn.glCompressedTexSubImage2DFn =
|
| reinterpret_cast<glCompressedTexSubImage2DProc>(
|
| GetGLProcAddress("glCompressedTexSubImage2D"));
|
| - fn.glCopyBufferSubDataFn = reinterpret_cast<glCopyBufferSubDataProc>(
|
| - GetGLProcAddress("glCopyBufferSubData"));
|
| + fn.glCopyBufferSubDataFn =
|
| + reinterpret_cast<glCopyBufferSubDataProc>(glCopyBufferSubDataNotBound);
|
| fn.glCopyTexImage2DFn = reinterpret_cast<glCopyTexImage2DProc>(
|
| GetGLProcAddress("glCopyTexImage2D"));
|
| fn.glCopyTexSubImage2DFn = reinterpret_cast<glCopyTexSubImage2DProc>(
|
| GetGLProcAddress("glCopyTexSubImage2D"));
|
| - fn.glCopyTexSubImage3DFn = reinterpret_cast<glCopyTexSubImage3DProc>(
|
| - GetGLProcAddress("glCopyTexSubImage3D"));
|
| + fn.glCopyTexSubImage3DFn =
|
| + reinterpret_cast<glCopyTexSubImage3DProc>(glCopyTexSubImage3DNotBound);
|
| fn.glCreateProgramFn = reinterpret_cast<glCreateProgramProc>(
|
| GetGLProcAddress("glCreateProgram"));
|
| fn.glCreateShaderFn =
|
| reinterpret_cast<glCreateShaderProc>(GetGLProcAddress("glCreateShader"));
|
| fn.glCullFaceFn =
|
| reinterpret_cast<glCullFaceProc>(GetGLProcAddress("glCullFace"));
|
| - fn.glDeleteBuffersARBFn =
|
| - reinterpret_cast<glDeleteBuffersARBProc>(glDeleteBuffersARBNotBound);
|
| - fn.glDeleteFencesAPPLEFn = reinterpret_cast<glDeleteFencesAPPLEProc>(
|
| - GetGLProcAddress("glDeleteFencesAPPLE"));
|
| - fn.glDeleteFencesNVFn = reinterpret_cast<glDeleteFencesNVProc>(
|
| - GetGLProcAddress("glDeleteFencesNV"));
|
| + fn.glDeleteBuffersARBFn = reinterpret_cast<glDeleteBuffersARBProc>(
|
| + GetGLProcAddress("glDeleteBuffers"));
|
| + fn.glDeleteFencesAPPLEFn =
|
| + reinterpret_cast<glDeleteFencesAPPLEProc>(glDeleteFencesAPPLENotBound);
|
| + fn.glDeleteFencesNVFn =
|
| + reinterpret_cast<glDeleteFencesNVProc>(glDeleteFencesNVNotBound);
|
| fn.glDeleteFramebuffersEXTFn = reinterpret_cast<glDeleteFramebuffersEXTProc>(
|
| - glDeleteFramebuffersEXTNotBound);
|
| + GetGLProcAddress("glDeleteFramebuffersEXT"));
|
| fn.glDeleteProgramFn = reinterpret_cast<glDeleteProgramProc>(
|
| GetGLProcAddress("glDeleteProgram"));
|
| - fn.glDeleteQueriesFn = reinterpret_cast<glDeleteQueriesProc>(
|
| - GetGLProcAddress("glDeleteQueries"));
|
| + fn.glDeleteQueriesFn =
|
| + reinterpret_cast<glDeleteQueriesProc>(glDeleteQueriesNotBound);
|
| fn.glDeleteQueriesARBFn =
|
| reinterpret_cast<glDeleteQueriesARBProc>(glDeleteQueriesARBNotBound);
|
| fn.glDeleteRenderbuffersEXTFn =
|
| reinterpret_cast<glDeleteRenderbuffersEXTProc>(
|
| - glDeleteRenderbuffersEXTNotBound);
|
| - fn.glDeleteSamplersFn = reinterpret_cast<glDeleteSamplersProc>(
|
| - GetGLProcAddress("glDeleteSamplers"));
|
| + GetGLProcAddress("glDeleteRenderbuffersEXT"));
|
| + fn.glDeleteSamplersFn =
|
| + reinterpret_cast<glDeleteSamplersProc>(glDeleteSamplersNotBound);
|
| fn.glDeleteShaderFn =
|
| reinterpret_cast<glDeleteShaderProc>(GetGLProcAddress("glDeleteShader"));
|
| - fn.glDeleteSyncFn =
|
| - reinterpret_cast<glDeleteSyncProc>(GetGLProcAddress("glDeleteSync"));
|
| + fn.glDeleteSyncFn = reinterpret_cast<glDeleteSyncProc>(glDeleteSyncNotBound);
|
| fn.glDeleteTexturesFn = reinterpret_cast<glDeleteTexturesProc>(
|
| GetGLProcAddress("glDeleteTextures"));
|
| fn.glDeleteTransformFeedbacksFn =
|
| reinterpret_cast<glDeleteTransformFeedbacksProc>(
|
| - GetGLProcAddress("glDeleteTransformFeedbacks"));
|
| + glDeleteTransformFeedbacksNotBound);
|
| fn.glDeleteVertexArraysOESFn = reinterpret_cast<glDeleteVertexArraysOESProc>(
|
| glDeleteVertexArraysOESNotBound);
|
| fn.glDepthFuncFn =
|
| @@ -379,7 +878,7 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glDepthRangeFn =
|
| reinterpret_cast<glDepthRangeProc>(GetGLProcAddress("glDepthRange"));
|
| fn.glDepthRangefFn =
|
| - reinterpret_cast<glDepthRangefProc>(GetGLProcAddress("glDepthRangef"));
|
| + reinterpret_cast<glDepthRangefProc>(glDepthRangefNotBound);
|
| fn.glDetachShaderFn =
|
| reinterpret_cast<glDetachShaderProc>(GetGLProcAddress("glDetachShader"));
|
| fn.glDisableFn =
|
| @@ -388,14 +887,13 @@ void DriverGL::InitializeStaticBindings() {
|
| reinterpret_cast<glDisableVertexAttribArrayProc>(
|
| GetGLProcAddress("glDisableVertexAttribArray"));
|
| fn.glDiscardFramebufferEXTFn = reinterpret_cast<glDiscardFramebufferEXTProc>(
|
| - GetGLProcAddress("glDiscardFramebufferEXT"));
|
| + glDiscardFramebufferEXTNotBound);
|
| fn.glDrawArraysFn =
|
| reinterpret_cast<glDrawArraysProc>(GetGLProcAddress("glDrawArrays"));
|
| fn.glDrawArraysInstancedANGLEFn =
|
| reinterpret_cast<glDrawArraysInstancedANGLEProc>(
|
| glDrawArraysInstancedANGLENotBound);
|
| - fn.glDrawBufferFn =
|
| - reinterpret_cast<glDrawBufferProc>(GetGLProcAddress("glDrawBuffer"));
|
| + fn.glDrawBufferFn = reinterpret_cast<glDrawBufferProc>(glDrawBufferNotBound);
|
| fn.glDrawBuffersARBFn =
|
| reinterpret_cast<glDrawBuffersARBProc>(glDrawBuffersARBNotBound);
|
| fn.glDrawElementsFn =
|
| @@ -403,74 +901,71 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glDrawElementsInstancedANGLEFn =
|
| reinterpret_cast<glDrawElementsInstancedANGLEProc>(
|
| glDrawElementsInstancedANGLENotBound);
|
| - fn.glDrawRangeElementsFn = reinterpret_cast<glDrawRangeElementsProc>(
|
| - GetGLProcAddress("glDrawRangeElements"));
|
| + fn.glDrawRangeElementsFn =
|
| + reinterpret_cast<glDrawRangeElementsProc>(glDrawRangeElementsNotBound);
|
| fn.glEGLImageTargetRenderbufferStorageOESFn =
|
| reinterpret_cast<glEGLImageTargetRenderbufferStorageOESProc>(
|
| - GetGLProcAddress("glEGLImageTargetRenderbufferStorageOES"));
|
| + glEGLImageTargetRenderbufferStorageOESNotBound);
|
| fn.glEGLImageTargetTexture2DOESFn =
|
| reinterpret_cast<glEGLImageTargetTexture2DOESProc>(
|
| - GetGLProcAddress("glEGLImageTargetTexture2DOES"));
|
| + glEGLImageTargetTexture2DOESNotBound);
|
| fn.glEnableFn = reinterpret_cast<glEnableProc>(GetGLProcAddress("glEnable"));
|
| fn.glEnableVertexAttribArrayFn =
|
| reinterpret_cast<glEnableVertexAttribArrayProc>(
|
| GetGLProcAddress("glEnableVertexAttribArray"));
|
| - fn.glEndQueryFn =
|
| - reinterpret_cast<glEndQueryProc>(GetGLProcAddress("glEndQuery"));
|
| + fn.glEndQueryFn = reinterpret_cast<glEndQueryProc>(glEndQueryNotBound);
|
| fn.glEndQueryARBFn =
|
| reinterpret_cast<glEndQueryARBProc>(glEndQueryARBNotBound);
|
| fn.glEndTransformFeedbackFn = reinterpret_cast<glEndTransformFeedbackProc>(
|
| - GetGLProcAddress("glEndTransformFeedback"));
|
| - fn.glFenceSyncFn =
|
| - reinterpret_cast<glFenceSyncProc>(GetGLProcAddress("glFenceSync"));
|
| + glEndTransformFeedbackNotBound);
|
| + fn.glFenceSyncFn = reinterpret_cast<glFenceSyncProc>(glFenceSyncNotBound);
|
| fn.glFinishFn = reinterpret_cast<glFinishProc>(GetGLProcAddress("glFinish"));
|
| - fn.glFinishFenceAPPLEFn = reinterpret_cast<glFinishFenceAPPLEProc>(
|
| - GetGLProcAddress("glFinishFenceAPPLE"));
|
| - fn.glFinishFenceNVFn = reinterpret_cast<glFinishFenceNVProc>(
|
| - GetGLProcAddress("glFinishFenceNV"));
|
| + fn.glFinishFenceAPPLEFn =
|
| + reinterpret_cast<glFinishFenceAPPLEProc>(glFinishFenceAPPLENotBound);
|
| + fn.glFinishFenceNVFn =
|
| + reinterpret_cast<glFinishFenceNVProc>(glFinishFenceNVNotBound);
|
| fn.glFlushFn = reinterpret_cast<glFlushProc>(GetGLProcAddress("glFlush"));
|
| fn.glFlushMappedBufferRangeFn =
|
| reinterpret_cast<glFlushMappedBufferRangeProc>(
|
| - GetGLProcAddress("glFlushMappedBufferRange"));
|
| + glFlushMappedBufferRangeNotBound);
|
| fn.glFramebufferRenderbufferEXTFn =
|
| reinterpret_cast<glFramebufferRenderbufferEXTProc>(
|
| - glFramebufferRenderbufferEXTNotBound);
|
| + GetGLProcAddress("glFramebufferRenderbufferEXT"));
|
| fn.glFramebufferTexture2DEXTFn =
|
| reinterpret_cast<glFramebufferTexture2DEXTProc>(
|
| - glFramebufferTexture2DEXTNotBound);
|
| + GetGLProcAddress("glFramebufferTexture2DEXT"));
|
| fn.glFramebufferTexture2DMultisampleEXTFn =
|
| reinterpret_cast<glFramebufferTexture2DMultisampleEXTProc>(
|
| - GetGLProcAddress("glFramebufferTexture2DMultisampleEXT"));
|
| + glFramebufferTexture2DMultisampleEXTNotBound);
|
| fn.glFramebufferTexture2DMultisampleIMGFn =
|
| reinterpret_cast<glFramebufferTexture2DMultisampleIMGProc>(
|
| - GetGLProcAddress("glFramebufferTexture2DMultisampleIMG"));
|
| + glFramebufferTexture2DMultisampleIMGNotBound);
|
| fn.glFramebufferTextureLayerFn =
|
| reinterpret_cast<glFramebufferTextureLayerProc>(
|
| - GetGLProcAddress("glFramebufferTextureLayer"));
|
| + glFramebufferTextureLayerNotBound);
|
| fn.glFrontFaceFn =
|
| reinterpret_cast<glFrontFaceProc>(GetGLProcAddress("glFrontFace"));
|
| fn.glGenBuffersARBFn =
|
| - reinterpret_cast<glGenBuffersARBProc>(glGenBuffersARBNotBound);
|
| - fn.glGenerateMipmapEXTFn =
|
| - reinterpret_cast<glGenerateMipmapEXTProc>(glGenerateMipmapEXTNotBound);
|
| - fn.glGenFencesAPPLEFn = reinterpret_cast<glGenFencesAPPLEProc>(
|
| - GetGLProcAddress("glGenFencesAPPLE"));
|
| + reinterpret_cast<glGenBuffersARBProc>(GetGLProcAddress("glGenBuffers"));
|
| + fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>(
|
| + GetGLProcAddress("glGenerateMipmapEXT"));
|
| + fn.glGenFencesAPPLEFn =
|
| + reinterpret_cast<glGenFencesAPPLEProc>(glGenFencesAPPLENotBound);
|
| fn.glGenFencesNVFn =
|
| - reinterpret_cast<glGenFencesNVProc>(GetGLProcAddress("glGenFencesNV"));
|
| - fn.glGenFramebuffersEXTFn =
|
| - reinterpret_cast<glGenFramebuffersEXTProc>(glGenFramebuffersEXTNotBound);
|
| - fn.glGenQueriesFn =
|
| - reinterpret_cast<glGenQueriesProc>(GetGLProcAddress("glGenQueries"));
|
| + reinterpret_cast<glGenFencesNVProc>(glGenFencesNVNotBound);
|
| + fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>(
|
| + GetGLProcAddress("glGenFramebuffersEXT"));
|
| + fn.glGenQueriesFn = reinterpret_cast<glGenQueriesProc>(glGenQueriesNotBound);
|
| fn.glGenQueriesARBFn =
|
| reinterpret_cast<glGenQueriesARBProc>(glGenQueriesARBNotBound);
|
| fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>(
|
| - glGenRenderbuffersEXTNotBound);
|
| + GetGLProcAddress("glGenRenderbuffersEXT"));
|
| fn.glGenSamplersFn =
|
| - reinterpret_cast<glGenSamplersProc>(GetGLProcAddress("glGenSamplers"));
|
| + reinterpret_cast<glGenSamplersProc>(glGenSamplersNotBound);
|
| fn.glGenTexturesFn =
|
| reinterpret_cast<glGenTexturesProc>(GetGLProcAddress("glGenTextures"));
|
| fn.glGenTransformFeedbacksFn = reinterpret_cast<glGenTransformFeedbacksProc>(
|
| - GetGLProcAddress("glGenTransformFeedbacks"));
|
| + glGenTransformFeedbacksNotBound);
|
| fn.glGenVertexArraysOESFn =
|
| reinterpret_cast<glGenVertexArraysOESProc>(glGenVertexArraysOESNotBound);
|
| fn.glGetActiveAttribFn = reinterpret_cast<glGetActiveAttribProc>(
|
| @@ -479,12 +974,12 @@ void DriverGL::InitializeStaticBindings() {
|
| GetGLProcAddress("glGetActiveUniform"));
|
| fn.glGetActiveUniformBlockivFn =
|
| reinterpret_cast<glGetActiveUniformBlockivProc>(
|
| - GetGLProcAddress("glGetActiveUniformBlockiv"));
|
| + glGetActiveUniformBlockivNotBound);
|
| fn.glGetActiveUniformBlockNameFn =
|
| reinterpret_cast<glGetActiveUniformBlockNameProc>(
|
| - GetGLProcAddress("glGetActiveUniformBlockName"));
|
| + glGetActiveUniformBlockNameNotBound);
|
| fn.glGetActiveUniformsivFn = reinterpret_cast<glGetActiveUniformsivProc>(
|
| - GetGLProcAddress("glGetActiveUniformsiv"));
|
| + glGetActiveUniformsivNotBound);
|
| fn.glGetAttachedShadersFn = reinterpret_cast<glGetAttachedShadersProc>(
|
| GetGLProcAddress("glGetAttachedShaders"));
|
| fn.glGetAttribLocationFn = reinterpret_cast<glGetAttribLocationProc>(
|
| @@ -496,91 +991,89 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glGetErrorFn =
|
| reinterpret_cast<glGetErrorProc>(GetGLProcAddress("glGetError"));
|
| fn.glGetFenceivNVFn =
|
| - reinterpret_cast<glGetFenceivNVProc>(GetGLProcAddress("glGetFenceivNV"));
|
| + reinterpret_cast<glGetFenceivNVProc>(glGetFenceivNVNotBound);
|
| fn.glGetFloatvFn =
|
| reinterpret_cast<glGetFloatvProc>(GetGLProcAddress("glGetFloatv"));
|
| fn.glGetFragDataLocationFn = reinterpret_cast<glGetFragDataLocationProc>(
|
| - GetGLProcAddress("glGetFragDataLocation"));
|
| + glGetFragDataLocationNotBound);
|
| fn.glGetFramebufferAttachmentParameterivEXTFn =
|
| reinterpret_cast<glGetFramebufferAttachmentParameterivEXTProc>(
|
| - glGetFramebufferAttachmentParameterivEXTNotBound);
|
| + GetGLProcAddress("glGetFramebufferAttachmentParameterivEXT"));
|
| fn.glGetGraphicsResetStatusARBFn =
|
| reinterpret_cast<glGetGraphicsResetStatusARBProc>(
|
| glGetGraphicsResetStatusARBNotBound);
|
| - fn.glGetInteger64i_vFn = reinterpret_cast<glGetInteger64i_vProc>(
|
| - GetGLProcAddress("glGetInteger64i_v"));
|
| - fn.glGetInteger64vFn = reinterpret_cast<glGetInteger64vProc>(
|
| - GetGLProcAddress("glGetInteger64v"));
|
| - fn.glGetIntegeri_vFn = reinterpret_cast<glGetIntegeri_vProc>(
|
| - GetGLProcAddress("glGetIntegeri_v"));
|
| + fn.glGetInteger64i_vFn =
|
| + reinterpret_cast<glGetInteger64i_vProc>(glGetInteger64i_vNotBound);
|
| + fn.glGetInteger64vFn =
|
| + reinterpret_cast<glGetInteger64vProc>(glGetInteger64vNotBound);
|
| + fn.glGetIntegeri_vFn =
|
| + reinterpret_cast<glGetIntegeri_vProc>(glGetIntegeri_vNotBound);
|
| fn.glGetIntegervFn =
|
| reinterpret_cast<glGetIntegervProc>(GetGLProcAddress("glGetIntegerv"));
|
| fn.glGetInternalformativFn = reinterpret_cast<glGetInternalformativProc>(
|
| - GetGLProcAddress("glGetInternalformativ"));
|
| + glGetInternalformativNotBound);
|
| fn.glGetProgramBinaryFn =
|
| reinterpret_cast<glGetProgramBinaryProc>(glGetProgramBinaryNotBound);
|
| fn.glGetProgramInfoLogFn = reinterpret_cast<glGetProgramInfoLogProc>(
|
| GetGLProcAddress("glGetProgramInfoLog"));
|
| fn.glGetProgramivFn =
|
| reinterpret_cast<glGetProgramivProc>(GetGLProcAddress("glGetProgramiv"));
|
| - fn.glGetQueryivFn =
|
| - reinterpret_cast<glGetQueryivProc>(GetGLProcAddress("glGetQueryiv"));
|
| + fn.glGetQueryivFn = reinterpret_cast<glGetQueryivProc>(glGetQueryivNotBound);
|
| fn.glGetQueryivARBFn =
|
| reinterpret_cast<glGetQueryivARBProc>(glGetQueryivARBNotBound);
|
| - fn.glGetQueryObjecti64vFn = reinterpret_cast<glGetQueryObjecti64vProc>(
|
| - GetGLProcAddress("glGetQueryObjecti64v"));
|
| - fn.glGetQueryObjectivFn = reinterpret_cast<glGetQueryObjectivProc>(
|
| - GetGLProcAddress("glGetQueryObjectiv"));
|
| + fn.glGetQueryObjecti64vFn =
|
| + reinterpret_cast<glGetQueryObjecti64vProc>(glGetQueryObjecti64vNotBound);
|
| + fn.glGetQueryObjectivFn =
|
| + reinterpret_cast<glGetQueryObjectivProc>(glGetQueryObjectivNotBound);
|
| fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>(
|
| glGetQueryObjectivARBNotBound);
|
| fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>(
|
| glGetQueryObjectui64vNotBound);
|
| - fn.glGetQueryObjectuivFn = reinterpret_cast<glGetQueryObjectuivProc>(
|
| - GetGLProcAddress("glGetQueryObjectuiv"));
|
| + fn.glGetQueryObjectuivFn =
|
| + reinterpret_cast<glGetQueryObjectuivProc>(glGetQueryObjectuivNotBound);
|
| fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>(
|
| glGetQueryObjectuivARBNotBound);
|
| fn.glGetRenderbufferParameterivEXTFn =
|
| reinterpret_cast<glGetRenderbufferParameterivEXTProc>(
|
| - glGetRenderbufferParameterivEXTNotBound);
|
| + GetGLProcAddress("glGetRenderbufferParameterivEXT"));
|
| fn.glGetSamplerParameterfvFn = reinterpret_cast<glGetSamplerParameterfvProc>(
|
| - GetGLProcAddress("glGetSamplerParameterfv"));
|
| + glGetSamplerParameterfvNotBound);
|
| fn.glGetSamplerParameterivFn = reinterpret_cast<glGetSamplerParameterivProc>(
|
| - GetGLProcAddress("glGetSamplerParameteriv"));
|
| + glGetSamplerParameterivNotBound);
|
| fn.glGetShaderInfoLogFn = reinterpret_cast<glGetShaderInfoLogProc>(
|
| GetGLProcAddress("glGetShaderInfoLog"));
|
| fn.glGetShaderivFn =
|
| reinterpret_cast<glGetShaderivProc>(GetGLProcAddress("glGetShaderiv"));
|
| fn.glGetShaderPrecisionFormatFn =
|
| reinterpret_cast<glGetShaderPrecisionFormatProc>(
|
| - GetGLProcAddress("glGetShaderPrecisionFormat"));
|
| + glGetShaderPrecisionFormatNotBound);
|
| fn.glGetShaderSourceFn = reinterpret_cast<glGetShaderSourceProc>(
|
| GetGLProcAddress("glGetShaderSource"));
|
| fn.glGetStringFn =
|
| reinterpret_cast<glGetStringProc>(GetGLProcAddress("glGetString"));
|
| - fn.glGetSyncivFn =
|
| - reinterpret_cast<glGetSyncivProc>(GetGLProcAddress("glGetSynciv"));
|
| + fn.glGetSyncivFn = reinterpret_cast<glGetSyncivProc>(glGetSyncivNotBound);
|
| fn.glGetTexLevelParameterfvFn =
|
| reinterpret_cast<glGetTexLevelParameterfvProc>(
|
| - GetGLProcAddress("glGetTexLevelParameterfv"));
|
| + glGetTexLevelParameterfvNotBound);
|
| fn.glGetTexLevelParameterivFn =
|
| reinterpret_cast<glGetTexLevelParameterivProc>(
|
| - GetGLProcAddress("glGetTexLevelParameteriv"));
|
| + glGetTexLevelParameterivNotBound);
|
| fn.glGetTexParameterfvFn = reinterpret_cast<glGetTexParameterfvProc>(
|
| GetGLProcAddress("glGetTexParameterfv"));
|
| fn.glGetTexParameterivFn = reinterpret_cast<glGetTexParameterivProc>(
|
| GetGLProcAddress("glGetTexParameteriv"));
|
| fn.glGetTransformFeedbackVaryingFn =
|
| reinterpret_cast<glGetTransformFeedbackVaryingProc>(
|
| - GetGLProcAddress("glGetTransformFeedbackVarying"));
|
| + glGetTransformFeedbackVaryingNotBound);
|
| fn.glGetTranslatedShaderSourceANGLEFn =
|
| reinterpret_cast<glGetTranslatedShaderSourceANGLEProc>(
|
| - GetGLProcAddress("glGetTranslatedShaderSourceANGLE"));
|
| + glGetTranslatedShaderSourceANGLENotBound);
|
| fn.glGetUniformBlockIndexFn = reinterpret_cast<glGetUniformBlockIndexProc>(
|
| - GetGLProcAddress("glGetUniformBlockIndex"));
|
| + glGetUniformBlockIndexNotBound);
|
| fn.glGetUniformfvFn =
|
| reinterpret_cast<glGetUniformfvProc>(GetGLProcAddress("glGetUniformfv"));
|
| - fn.glGetUniformIndicesFn = reinterpret_cast<glGetUniformIndicesProc>(
|
| - GetGLProcAddress("glGetUniformIndices"));
|
| + fn.glGetUniformIndicesFn =
|
| + reinterpret_cast<glGetUniformIndicesProc>(glGetUniformIndicesNotBound);
|
| fn.glGetUniformivFn =
|
| reinterpret_cast<glGetUniformivProc>(GetGLProcAddress("glGetUniformiv"));
|
| fn.glGetUniformLocationFn = reinterpret_cast<glGetUniformLocationProc>(
|
| @@ -594,38 +1087,35 @@ void DriverGL::InitializeStaticBindings() {
|
| GetGLProcAddress("glGetVertexAttribPointerv"));
|
| fn.glHintFn = reinterpret_cast<glHintProc>(GetGLProcAddress("glHint"));
|
| fn.glInsertEventMarkerEXTFn = reinterpret_cast<glInsertEventMarkerEXTProc>(
|
| - GetGLProcAddress("glInsertEventMarkerEXT"));
|
| + glInsertEventMarkerEXTNotBound);
|
| fn.glInvalidateFramebufferFn = reinterpret_cast<glInvalidateFramebufferProc>(
|
| - GetGLProcAddress("glInvalidateFramebuffer"));
|
| + glInvalidateFramebufferNotBound);
|
| fn.glInvalidateSubFramebufferFn =
|
| reinterpret_cast<glInvalidateSubFramebufferProc>(
|
| - GetGLProcAddress("glInvalidateSubFramebuffer"));
|
| + glInvalidateSubFramebufferNotBound);
|
| fn.glIsBufferFn =
|
| reinterpret_cast<glIsBufferProc>(GetGLProcAddress("glIsBuffer"));
|
| fn.glIsEnabledFn =
|
| reinterpret_cast<glIsEnabledProc>(GetGLProcAddress("glIsEnabled"));
|
| fn.glIsFenceAPPLEFn =
|
| - reinterpret_cast<glIsFenceAPPLEProc>(GetGLProcAddress("glIsFenceAPPLE"));
|
| - fn.glIsFenceNVFn =
|
| - reinterpret_cast<glIsFenceNVProc>(GetGLProcAddress("glIsFenceNV"));
|
| - fn.glIsFramebufferEXTFn =
|
| - reinterpret_cast<glIsFramebufferEXTProc>(glIsFramebufferEXTNotBound);
|
| + reinterpret_cast<glIsFenceAPPLEProc>(glIsFenceAPPLENotBound);
|
| + fn.glIsFenceNVFn = reinterpret_cast<glIsFenceNVProc>(glIsFenceNVNotBound);
|
| + fn.glIsFramebufferEXTFn = reinterpret_cast<glIsFramebufferEXTProc>(
|
| + GetGLProcAddress("glIsFramebufferEXT"));
|
| fn.glIsProgramFn =
|
| reinterpret_cast<glIsProgramProc>(GetGLProcAddress("glIsProgram"));
|
| - fn.glIsQueryFn =
|
| - reinterpret_cast<glIsQueryProc>(GetGLProcAddress("glIsQuery"));
|
| + fn.glIsQueryFn = reinterpret_cast<glIsQueryProc>(glIsQueryNotBound);
|
| fn.glIsQueryARBFn = reinterpret_cast<glIsQueryARBProc>(glIsQueryARBNotBound);
|
| - fn.glIsRenderbufferEXTFn =
|
| - reinterpret_cast<glIsRenderbufferEXTProc>(glIsRenderbufferEXTNotBound);
|
| - fn.glIsSamplerFn =
|
| - reinterpret_cast<glIsSamplerProc>(GetGLProcAddress("glIsSampler"));
|
| + fn.glIsRenderbufferEXTFn = reinterpret_cast<glIsRenderbufferEXTProc>(
|
| + GetGLProcAddress("glIsRenderbufferEXT"));
|
| + fn.glIsSamplerFn = reinterpret_cast<glIsSamplerProc>(glIsSamplerNotBound);
|
| fn.glIsShaderFn =
|
| reinterpret_cast<glIsShaderProc>(GetGLProcAddress("glIsShader"));
|
| - fn.glIsSyncFn = reinterpret_cast<glIsSyncProc>(GetGLProcAddress("glIsSync"));
|
| + fn.glIsSyncFn = reinterpret_cast<glIsSyncProc>(glIsSyncNotBound);
|
| fn.glIsTextureFn =
|
| reinterpret_cast<glIsTextureProc>(GetGLProcAddress("glIsTexture"));
|
| fn.glIsTransformFeedbackFn = reinterpret_cast<glIsTransformFeedbackProc>(
|
| - GetGLProcAddress("glIsTransformFeedback"));
|
| + glIsTransformFeedbackNotBound);
|
| fn.glIsVertexArrayOESFn =
|
| reinterpret_cast<glIsVertexArrayOESProc>(glIsVertexArrayOESNotBound);
|
| fn.glLineWidthFn =
|
| @@ -635,41 +1125,40 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glMapBufferFn = reinterpret_cast<glMapBufferProc>(glMapBufferNotBound);
|
| fn.glMapBufferRangeFn =
|
| reinterpret_cast<glMapBufferRangeProc>(glMapBufferRangeNotBound);
|
| - fn.glMatrixLoadfEXTFn = reinterpret_cast<glMatrixLoadfEXTProc>(
|
| - GetGLProcAddress("glMatrixLoadfEXT"));
|
| + fn.glMatrixLoadfEXTFn =
|
| + reinterpret_cast<glMatrixLoadfEXTProc>(glMatrixLoadfEXTNotBound);
|
| fn.glMatrixLoadIdentityEXTFn = reinterpret_cast<glMatrixLoadIdentityEXTProc>(
|
| - GetGLProcAddress("glMatrixLoadIdentityEXT"));
|
| + glMatrixLoadIdentityEXTNotBound);
|
| fn.glPauseTransformFeedbackFn =
|
| reinterpret_cast<glPauseTransformFeedbackProc>(
|
| - GetGLProcAddress("glPauseTransformFeedback"));
|
| + glPauseTransformFeedbackNotBound);
|
| fn.glPixelStoreiFn =
|
| reinterpret_cast<glPixelStoreiProc>(GetGLProcAddress("glPixelStorei"));
|
| - fn.glPointParameteriFn = reinterpret_cast<glPointParameteriProc>(
|
| - GetGLProcAddress("glPointParameteri"));
|
| + fn.glPointParameteriFn =
|
| + reinterpret_cast<glPointParameteriProc>(glPointParameteriNotBound);
|
| fn.glPolygonOffsetFn = reinterpret_cast<glPolygonOffsetProc>(
|
| GetGLProcAddress("glPolygonOffset"));
|
| - fn.glPopGroupMarkerEXTFn = reinterpret_cast<glPopGroupMarkerEXTProc>(
|
| - GetGLProcAddress("glPopGroupMarkerEXT"));
|
| + fn.glPopGroupMarkerEXTFn =
|
| + reinterpret_cast<glPopGroupMarkerEXTProc>(glPopGroupMarkerEXTNotBound);
|
| fn.glProgramBinaryFn =
|
| reinterpret_cast<glProgramBinaryProc>(glProgramBinaryNotBound);
|
| - fn.glProgramParameteriFn = reinterpret_cast<glProgramParameteriProc>(
|
| - GetGLProcAddress("glProgramParameteri"));
|
| - fn.glPushGroupMarkerEXTFn = reinterpret_cast<glPushGroupMarkerEXTProc>(
|
| - GetGLProcAddress("glPushGroupMarkerEXT"));
|
| + fn.glProgramParameteriFn =
|
| + reinterpret_cast<glProgramParameteriProc>(glProgramParameteriNotBound);
|
| + fn.glPushGroupMarkerEXTFn =
|
| + reinterpret_cast<glPushGroupMarkerEXTProc>(glPushGroupMarkerEXTNotBound);
|
| fn.glQueryCounterFn =
|
| reinterpret_cast<glQueryCounterProc>(glQueryCounterNotBound);
|
| - fn.glReadBufferFn =
|
| - reinterpret_cast<glReadBufferProc>(GetGLProcAddress("glReadBuffer"));
|
| + fn.glReadBufferFn = reinterpret_cast<glReadBufferProc>(glReadBufferNotBound);
|
| fn.glReadPixelsFn =
|
| reinterpret_cast<glReadPixelsProc>(GetGLProcAddress("glReadPixels"));
|
| fn.glReleaseShaderCompilerFn = reinterpret_cast<glReleaseShaderCompilerProc>(
|
| - GetGLProcAddress("glReleaseShaderCompiler"));
|
| + glReleaseShaderCompilerNotBound);
|
| fn.glRenderbufferStorageEXTFn =
|
| reinterpret_cast<glRenderbufferStorageEXTProc>(
|
| - glRenderbufferStorageEXTNotBound);
|
| + GetGLProcAddress("glRenderbufferStorageEXT"));
|
| fn.glRenderbufferStorageMultisampleFn =
|
| reinterpret_cast<glRenderbufferStorageMultisampleProc>(
|
| - GetGLProcAddress("glRenderbufferStorageMultisample"));
|
| + glRenderbufferStorageMultisampleNotBound);
|
| fn.glRenderbufferStorageMultisampleANGLEFn =
|
| reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>(
|
| glRenderbufferStorageMultisampleANGLENotBound);
|
| @@ -678,28 +1167,27 @@ void DriverGL::InitializeStaticBindings() {
|
| glRenderbufferStorageMultisampleEXTNotBound);
|
| fn.glRenderbufferStorageMultisampleIMGFn =
|
| reinterpret_cast<glRenderbufferStorageMultisampleIMGProc>(
|
| - GetGLProcAddress("glRenderbufferStorageMultisampleIMG"));
|
| + glRenderbufferStorageMultisampleIMGNotBound);
|
| fn.glResumeTransformFeedbackFn =
|
| reinterpret_cast<glResumeTransformFeedbackProc>(
|
| - GetGLProcAddress("glResumeTransformFeedback"));
|
| + glResumeTransformFeedbackNotBound);
|
| fn.glSampleCoverageFn = reinterpret_cast<glSampleCoverageProc>(
|
| GetGLProcAddress("glSampleCoverage"));
|
| - fn.glSamplerParameterfFn = reinterpret_cast<glSamplerParameterfProc>(
|
| - GetGLProcAddress("glSamplerParameterf"));
|
| - fn.glSamplerParameterfvFn = reinterpret_cast<glSamplerParameterfvProc>(
|
| - GetGLProcAddress("glSamplerParameterfv"));
|
| - fn.glSamplerParameteriFn = reinterpret_cast<glSamplerParameteriProc>(
|
| - GetGLProcAddress("glSamplerParameteri"));
|
| - fn.glSamplerParameterivFn = reinterpret_cast<glSamplerParameterivProc>(
|
| - GetGLProcAddress("glSamplerParameteriv"));
|
| + fn.glSamplerParameterfFn =
|
| + reinterpret_cast<glSamplerParameterfProc>(glSamplerParameterfNotBound);
|
| + fn.glSamplerParameterfvFn =
|
| + reinterpret_cast<glSamplerParameterfvProc>(glSamplerParameterfvNotBound);
|
| + fn.glSamplerParameteriFn =
|
| + reinterpret_cast<glSamplerParameteriProc>(glSamplerParameteriNotBound);
|
| + fn.glSamplerParameterivFn =
|
| + reinterpret_cast<glSamplerParameterivProc>(glSamplerParameterivNotBound);
|
| fn.glScissorFn =
|
| reinterpret_cast<glScissorProc>(GetGLProcAddress("glScissor"));
|
| - fn.glSetFenceAPPLEFn = reinterpret_cast<glSetFenceAPPLEProc>(
|
| - GetGLProcAddress("glSetFenceAPPLE"));
|
| - fn.glSetFenceNVFn =
|
| - reinterpret_cast<glSetFenceNVProc>(GetGLProcAddress("glSetFenceNV"));
|
| + fn.glSetFenceAPPLEFn =
|
| + reinterpret_cast<glSetFenceAPPLEProc>(glSetFenceAPPLENotBound);
|
| + fn.glSetFenceNVFn = reinterpret_cast<glSetFenceNVProc>(glSetFenceNVNotBound);
|
| fn.glShaderBinaryFn =
|
| - reinterpret_cast<glShaderBinaryProc>(GetGLProcAddress("glShaderBinary"));
|
| + reinterpret_cast<glShaderBinaryProc>(glShaderBinaryNotBound);
|
| fn.glShaderSourceFn =
|
| reinterpret_cast<glShaderSourceProc>(GetGLProcAddress("glShaderSource"));
|
| fn.glStencilFuncFn =
|
| @@ -714,14 +1202,13 @@ void DriverGL::InitializeStaticBindings() {
|
| reinterpret_cast<glStencilOpProc>(GetGLProcAddress("glStencilOp"));
|
| fn.glStencilOpSeparateFn = reinterpret_cast<glStencilOpSeparateProc>(
|
| GetGLProcAddress("glStencilOpSeparate"));
|
| - fn.glTestFenceAPPLEFn = reinterpret_cast<glTestFenceAPPLEProc>(
|
| - GetGLProcAddress("glTestFenceAPPLE"));
|
| + fn.glTestFenceAPPLEFn =
|
| + reinterpret_cast<glTestFenceAPPLEProc>(glTestFenceAPPLENotBound);
|
| fn.glTestFenceNVFn =
|
| - reinterpret_cast<glTestFenceNVProc>(GetGLProcAddress("glTestFenceNV"));
|
| + reinterpret_cast<glTestFenceNVProc>(glTestFenceNVNotBound);
|
| fn.glTexImage2DFn =
|
| reinterpret_cast<glTexImage2DProc>(GetGLProcAddress("glTexImage2D"));
|
| - fn.glTexImage3DFn =
|
| - reinterpret_cast<glTexImage3DProc>(GetGLProcAddress("glTexImage3D"));
|
| + fn.glTexImage3DFn = reinterpret_cast<glTexImage3DProc>(glTexImage3DNotBound);
|
| fn.glTexParameterfFn = reinterpret_cast<glTexParameterfProc>(
|
| GetGLProcAddress("glTexParameterf"));
|
| fn.glTexParameterfvFn = reinterpret_cast<glTexParameterfvProc>(
|
| @@ -733,12 +1220,12 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glTexStorage2DEXTFn =
|
| reinterpret_cast<glTexStorage2DEXTProc>(glTexStorage2DEXTNotBound);
|
| fn.glTexStorage3DFn =
|
| - reinterpret_cast<glTexStorage3DProc>(GetGLProcAddress("glTexStorage3D"));
|
| + reinterpret_cast<glTexStorage3DProc>(glTexStorage3DNotBound);
|
| fn.glTexSubImage2DFn = reinterpret_cast<glTexSubImage2DProc>(
|
| GetGLProcAddress("glTexSubImage2D"));
|
| fn.glTransformFeedbackVaryingsFn =
|
| reinterpret_cast<glTransformFeedbackVaryingsProc>(
|
| - GetGLProcAddress("glTransformFeedbackVaryings"));
|
| + glTransformFeedbackVaryingsNotBound);
|
| fn.glUniform1fFn =
|
| reinterpret_cast<glUniform1fProc>(GetGLProcAddress("glUniform1f"));
|
| fn.glUniform1fvFn =
|
| @@ -747,10 +1234,9 @@ void DriverGL::InitializeStaticBindings() {
|
| reinterpret_cast<glUniform1iProc>(GetGLProcAddress("glUniform1i"));
|
| fn.glUniform1ivFn =
|
| reinterpret_cast<glUniform1ivProc>(GetGLProcAddress("glUniform1iv"));
|
| - fn.glUniform1uiFn =
|
| - reinterpret_cast<glUniform1uiProc>(GetGLProcAddress("glUniform1ui"));
|
| + fn.glUniform1uiFn = reinterpret_cast<glUniform1uiProc>(glUniform1uiNotBound);
|
| fn.glUniform1uivFn =
|
| - reinterpret_cast<glUniform1uivProc>(GetGLProcAddress("glUniform1uiv"));
|
| + reinterpret_cast<glUniform1uivProc>(glUniform1uivNotBound);
|
| fn.glUniform2fFn =
|
| reinterpret_cast<glUniform2fProc>(GetGLProcAddress("glUniform2f"));
|
| fn.glUniform2fvFn =
|
| @@ -759,10 +1245,9 @@ void DriverGL::InitializeStaticBindings() {
|
| reinterpret_cast<glUniform2iProc>(GetGLProcAddress("glUniform2i"));
|
| fn.glUniform2ivFn =
|
| reinterpret_cast<glUniform2ivProc>(GetGLProcAddress("glUniform2iv"));
|
| - fn.glUniform2uiFn =
|
| - reinterpret_cast<glUniform2uiProc>(GetGLProcAddress("glUniform2ui"));
|
| + fn.glUniform2uiFn = reinterpret_cast<glUniform2uiProc>(glUniform2uiNotBound);
|
| fn.glUniform2uivFn =
|
| - reinterpret_cast<glUniform2uivProc>(GetGLProcAddress("glUniform2uiv"));
|
| + reinterpret_cast<glUniform2uivProc>(glUniform2uivNotBound);
|
| fn.glUniform3fFn =
|
| reinterpret_cast<glUniform3fProc>(GetGLProcAddress("glUniform3f"));
|
| fn.glUniform3fvFn =
|
| @@ -771,10 +1256,9 @@ void DriverGL::InitializeStaticBindings() {
|
| reinterpret_cast<glUniform3iProc>(GetGLProcAddress("glUniform3i"));
|
| fn.glUniform3ivFn =
|
| reinterpret_cast<glUniform3ivProc>(GetGLProcAddress("glUniform3iv"));
|
| - fn.glUniform3uiFn =
|
| - reinterpret_cast<glUniform3uiProc>(GetGLProcAddress("glUniform3ui"));
|
| + fn.glUniform3uiFn = reinterpret_cast<glUniform3uiProc>(glUniform3uiNotBound);
|
| fn.glUniform3uivFn =
|
| - reinterpret_cast<glUniform3uivProc>(GetGLProcAddress("glUniform3uiv"));
|
| + reinterpret_cast<glUniform3uivProc>(glUniform3uivNotBound);
|
| fn.glUniform4fFn =
|
| reinterpret_cast<glUniform4fProc>(GetGLProcAddress("glUniform4f"));
|
| fn.glUniform4fvFn =
|
| @@ -783,30 +1267,29 @@ void DriverGL::InitializeStaticBindings() {
|
| reinterpret_cast<glUniform4iProc>(GetGLProcAddress("glUniform4i"));
|
| fn.glUniform4ivFn =
|
| reinterpret_cast<glUniform4ivProc>(GetGLProcAddress("glUniform4iv"));
|
| - fn.glUniform4uiFn =
|
| - reinterpret_cast<glUniform4uiProc>(GetGLProcAddress("glUniform4ui"));
|
| + fn.glUniform4uiFn = reinterpret_cast<glUniform4uiProc>(glUniform4uiNotBound);
|
| fn.glUniform4uivFn =
|
| - reinterpret_cast<glUniform4uivProc>(GetGLProcAddress("glUniform4uiv"));
|
| + reinterpret_cast<glUniform4uivProc>(glUniform4uivNotBound);
|
| fn.glUniformBlockBindingFn = reinterpret_cast<glUniformBlockBindingProc>(
|
| - GetGLProcAddress("glUniformBlockBinding"));
|
| + glUniformBlockBindingNotBound);
|
| fn.glUniformMatrix2fvFn = reinterpret_cast<glUniformMatrix2fvProc>(
|
| GetGLProcAddress("glUniformMatrix2fv"));
|
| - fn.glUniformMatrix2x3fvFn = reinterpret_cast<glUniformMatrix2x3fvProc>(
|
| - GetGLProcAddress("glUniformMatrix2x3fv"));
|
| - fn.glUniformMatrix2x4fvFn = reinterpret_cast<glUniformMatrix2x4fvProc>(
|
| - GetGLProcAddress("glUniformMatrix2x4fv"));
|
| + fn.glUniformMatrix2x3fvFn =
|
| + reinterpret_cast<glUniformMatrix2x3fvProc>(glUniformMatrix2x3fvNotBound);
|
| + fn.glUniformMatrix2x4fvFn =
|
| + reinterpret_cast<glUniformMatrix2x4fvProc>(glUniformMatrix2x4fvNotBound);
|
| fn.glUniformMatrix3fvFn = reinterpret_cast<glUniformMatrix3fvProc>(
|
| GetGLProcAddress("glUniformMatrix3fv"));
|
| - fn.glUniformMatrix3x2fvFn = reinterpret_cast<glUniformMatrix3x2fvProc>(
|
| - GetGLProcAddress("glUniformMatrix3x2fv"));
|
| - fn.glUniformMatrix3x4fvFn = reinterpret_cast<glUniformMatrix3x4fvProc>(
|
| - GetGLProcAddress("glUniformMatrix3x4fv"));
|
| + fn.glUniformMatrix3x2fvFn =
|
| + reinterpret_cast<glUniformMatrix3x2fvProc>(glUniformMatrix3x2fvNotBound);
|
| + fn.glUniformMatrix3x4fvFn =
|
| + reinterpret_cast<glUniformMatrix3x4fvProc>(glUniformMatrix3x4fvNotBound);
|
| fn.glUniformMatrix4fvFn = reinterpret_cast<glUniformMatrix4fvProc>(
|
| GetGLProcAddress("glUniformMatrix4fv"));
|
| - fn.glUniformMatrix4x2fvFn = reinterpret_cast<glUniformMatrix4x2fvProc>(
|
| - GetGLProcAddress("glUniformMatrix4x2fv"));
|
| - fn.glUniformMatrix4x3fvFn = reinterpret_cast<glUniformMatrix4x3fvProc>(
|
| - GetGLProcAddress("glUniformMatrix4x3fv"));
|
| + fn.glUniformMatrix4x2fvFn =
|
| + reinterpret_cast<glUniformMatrix4x2fvProc>(glUniformMatrix4x2fvNotBound);
|
| + fn.glUniformMatrix4x3fvFn =
|
| + reinterpret_cast<glUniformMatrix4x3fvProc>(glUniformMatrix4x3fvNotBound);
|
| fn.glUnmapBufferFn =
|
| reinterpret_cast<glUnmapBufferProc>(glUnmapBufferNotBound);
|
| fn.glUseProgramFn =
|
| @@ -832,22 +1315,21 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glVertexAttribDivisorANGLEFn =
|
| reinterpret_cast<glVertexAttribDivisorANGLEProc>(
|
| glVertexAttribDivisorANGLENotBound);
|
| - fn.glVertexAttribI4iFn = reinterpret_cast<glVertexAttribI4iProc>(
|
| - GetGLProcAddress("glVertexAttribI4i"));
|
| - fn.glVertexAttribI4ivFn = reinterpret_cast<glVertexAttribI4ivProc>(
|
| - GetGLProcAddress("glVertexAttribI4iv"));
|
| - fn.glVertexAttribI4uiFn = reinterpret_cast<glVertexAttribI4uiProc>(
|
| - GetGLProcAddress("glVertexAttribI4ui"));
|
| - fn.glVertexAttribI4uivFn = reinterpret_cast<glVertexAttribI4uivProc>(
|
| - GetGLProcAddress("glVertexAttribI4uiv"));
|
| + fn.glVertexAttribI4iFn =
|
| + reinterpret_cast<glVertexAttribI4iProc>(glVertexAttribI4iNotBound);
|
| + fn.glVertexAttribI4ivFn =
|
| + reinterpret_cast<glVertexAttribI4ivProc>(glVertexAttribI4ivNotBound);
|
| + fn.glVertexAttribI4uiFn =
|
| + reinterpret_cast<glVertexAttribI4uiProc>(glVertexAttribI4uiNotBound);
|
| + fn.glVertexAttribI4uivFn =
|
| + reinterpret_cast<glVertexAttribI4uivProc>(glVertexAttribI4uivNotBound);
|
| fn.glVertexAttribIPointerFn = reinterpret_cast<glVertexAttribIPointerProc>(
|
| - GetGLProcAddress("glVertexAttribIPointer"));
|
| + glVertexAttribIPointerNotBound);
|
| fn.glVertexAttribPointerFn = reinterpret_cast<glVertexAttribPointerProc>(
|
| GetGLProcAddress("glVertexAttribPointer"));
|
| fn.glViewportFn =
|
| reinterpret_cast<glViewportProc>(GetGLProcAddress("glViewport"));
|
| - fn.glWaitSyncFn =
|
| - reinterpret_cast<glWaitSyncProc>(GetGLProcAddress("glWaitSync"));
|
| + fn.glWaitSyncFn = reinterpret_cast<glWaitSyncProc>(glWaitSyncNotBound);
|
| }
|
|
|
| void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| @@ -870,47 +1352,32 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| extensions.find("GL_APPLE_fence ") != std::string::npos;
|
| ext.b_GL_APPLE_vertex_array_object =
|
| extensions.find("GL_APPLE_vertex_array_object ") != std::string::npos;
|
| - ext.b_GL_ARB_ES2_compatibility =
|
| - extensions.find("GL_ARB_ES2_compatibility ") != std::string::npos;
|
| - ext.b_GL_ARB_blend_func_extended =
|
| - extensions.find("GL_ARB_blend_func_extended ") != std::string::npos;
|
| - ext.b_GL_ARB_copy_buffer =
|
| - extensions.find("GL_ARB_copy_buffer ") != std::string::npos;
|
| ext.b_GL_ARB_draw_buffers =
|
| extensions.find("GL_ARB_draw_buffers ") != std::string::npos;
|
| ext.b_GL_ARB_draw_instanced =
|
| extensions.find("GL_ARB_draw_instanced ") != std::string::npos;
|
| - ext.b_GL_ARB_framebuffer_object =
|
| - extensions.find("GL_ARB_framebuffer_object ") != std::string::npos;
|
| ext.b_GL_ARB_get_program_binary =
|
| extensions.find("GL_ARB_get_program_binary ") != std::string::npos;
|
| ext.b_GL_ARB_instanced_arrays =
|
| extensions.find("GL_ARB_instanced_arrays ") != std::string::npos;
|
| - ext.b_GL_ARB_internalformat_query =
|
| - extensions.find("GL_ARB_internalformat_query ") != std::string::npos;
|
| - ext.b_GL_ARB_invalidate_subdata =
|
| - extensions.find("GL_ARB_invalidate_subdata ") != std::string::npos;
|
| ext.b_GL_ARB_map_buffer_range =
|
| extensions.find("GL_ARB_map_buffer_range ") != std::string::npos;
|
| ext.b_GL_ARB_occlusion_query =
|
| extensions.find("GL_ARB_occlusion_query ") != std::string::npos;
|
| ext.b_GL_ARB_robustness =
|
| extensions.find("GL_ARB_robustness ") != std::string::npos;
|
| - ext.b_GL_ARB_sampler_objects =
|
| - extensions.find("GL_ARB_sampler_objects ") != std::string::npos;
|
| ext.b_GL_ARB_sync = extensions.find("GL_ARB_sync ") != std::string::npos;
|
| ext.b_GL_ARB_texture_storage =
|
| extensions.find("GL_ARB_texture_storage ") != std::string::npos;
|
| ext.b_GL_ARB_timer_query =
|
| extensions.find("GL_ARB_timer_query ") != std::string::npos;
|
| - ext.b_GL_ARB_transform_feedback2 =
|
| - extensions.find("GL_ARB_transform_feedback2 ") != std::string::npos;
|
| - ext.b_GL_ARB_uniform_buffer_object =
|
| - extensions.find("GL_ARB_uniform_buffer_object ") != std::string::npos;
|
| ext.b_GL_ARB_vertex_array_object =
|
| extensions.find("GL_ARB_vertex_array_object ") != std::string::npos;
|
| ext.b_GL_ARB_vertex_buffer_object =
|
| extensions.find("GL_ARB_vertex_buffer_object ") != std::string::npos;
|
| + ext.b_GL_CHROMIUM_gles_depth_binding_hack =
|
| + extensions.find("GL_CHROMIUM_gles_depth_binding_hack ") !=
|
| + std::string::npos;
|
| ext.b_GL_EXT_debug_marker =
|
| extensions.find("GL_EXT_debug_marker ") != std::string::npos;
|
| ext.b_GL_EXT_direct_state_access =
|
| @@ -932,6 +1399,8 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| ext.b_GL_EXT_multisampled_render_to_texture =
|
| extensions.find("GL_EXT_multisampled_render_to_texture ") !=
|
| std::string::npos;
|
| + ext.b_GL_EXT_occlusion_query_boolean =
|
| + extensions.find("GL_EXT_occlusion_query_boolean ") != std::string::npos;
|
| ext.b_GL_EXT_robustness =
|
| extensions.find("GL_EXT_robustness ") != std::string::npos;
|
| ext.b_GL_EXT_texture_storage =
|
| @@ -959,604 +1428,1442 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| ext.b_GL_OES_vertex_array_object =
|
| extensions.find("GL_OES_vertex_array_object ") != std::string::npos;
|
|
|
| - fn.glBeginQueryARBFn = 0;
|
| + debug_fn.glBeginQueryFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glBeginQueryFn =
|
| + reinterpret_cast<glBeginQueryProc>(GetGLProcAddress("glBeginQuery"));
|
| + }
|
| + DCHECK(fn.glBeginQueryFn);
|
| +
|
| debug_fn.glBeginQueryARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glBeginQueryARBFn = reinterpret_cast<glBeginQueryARBProc>(
|
| GetGLProcAddress("glBeginQueryARB"));
|
| - }
|
| - if (!fn.glBeginQueryARBFn) {
|
| + } else if ((ext.b_GL_EXT_disjoint_timer_query ||
|
| + ext.b_GL_EXT_occlusion_query_boolean)) {
|
| fn.glBeginQueryARBFn = reinterpret_cast<glBeginQueryARBProc>(
|
| GetGLProcAddress("glBeginQueryEXT"));
|
| }
|
| + DCHECK(fn.glBeginQueryARBFn);
|
| +
|
| + debug_fn.glBeginTransformFeedbackFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glBeginTransformFeedbackFn =
|
| + reinterpret_cast<glBeginTransformFeedbackProc>(
|
| + GetGLProcAddress("glBeginTransformFeedback"));
|
| + }
|
| + DCHECK(fn.glBeginTransformFeedbackFn);
|
|
|
| - fn.glBindFramebufferEXTFn = 0;
|
| - debug_fn.glBindFramebufferEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>(
|
| - GetGLProcAddress("glBindFramebufferEXT"));
|
| + debug_fn.glBindBufferBaseFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glBindBufferBaseFn = reinterpret_cast<glBindBufferBaseProc>(
|
| + GetGLProcAddress("glBindBufferBase"));
|
| }
|
| - if (!fn.glBindFramebufferEXTFn) {
|
| - fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>(
|
| - GetGLProcAddress("glBindFramebuffer"));
|
| + DCHECK(fn.glBindBufferBaseFn);
|
| +
|
| + debug_fn.glBindBufferRangeFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glBindBufferRangeFn = reinterpret_cast<glBindBufferRangeProc>(
|
| + GetGLProcAddress("glBindBufferRange"));
|
| }
|
| + DCHECK(fn.glBindBufferRangeFn);
|
|
|
| - fn.glBindRenderbufferEXTFn = 0;
|
| - debug_fn.glBindRenderbufferEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>(
|
| - GetGLProcAddress("glBindRenderbufferEXT"));
|
| + debug_fn.glBindFragDataLocationFn = 0;
|
| + if ((!ver->is_es && (ver->major_version >= 3u))) {
|
| + fn.glBindFragDataLocationFn = reinterpret_cast<glBindFragDataLocationProc>(
|
| + GetGLProcAddress("glBindFragDataLocation"));
|
| }
|
| - if (!fn.glBindRenderbufferEXTFn) {
|
| - fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>(
|
| - GetGLProcAddress("glBindRenderbuffer"));
|
| + DCHECK(fn.glBindFragDataLocationFn);
|
| +
|
| + debug_fn.glBindFragDataLocationIndexedFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))))) {
|
| + fn.glBindFragDataLocationIndexedFn =
|
| + reinterpret_cast<glBindFragDataLocationIndexedProc>(
|
| + GetGLProcAddress("glBindFragDataLocationIndexed"));
|
| + }
|
| + DCHECK(fn.glBindFragDataLocationIndexedFn);
|
| +
|
| + debug_fn.glBindSamplerFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glBindSamplerFn =
|
| + reinterpret_cast<glBindSamplerProc>(GetGLProcAddress("glBindSampler"));
|
| }
|
| + DCHECK(fn.glBindSamplerFn);
|
| +
|
| + debug_fn.glBindTransformFeedbackFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es && (ver->major_version >= 4u)))) {
|
| + fn.glBindTransformFeedbackFn =
|
| + reinterpret_cast<glBindTransformFeedbackProc>(
|
| + GetGLProcAddress("glBindTransformFeedback"));
|
| + }
|
| + DCHECK(fn.glBindTransformFeedbackFn);
|
|
|
| - fn.glBindVertexArrayOESFn = 0;
|
| debug_fn.glBindVertexArrayOESFn = 0;
|
| - if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) ||
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| ext.b_GL_ARB_vertex_array_object) {
|
| fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>(
|
| GetGLProcAddress("glBindVertexArray"));
|
| - }
|
| - if (!fn.glBindVertexArrayOESFn && (ext.b_GL_OES_vertex_array_object)) {
|
| + } else if (ext.b_GL_OES_vertex_array_object) {
|
| fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>(
|
| GetGLProcAddress("glBindVertexArrayOES"));
|
| - }
|
| - if (!fn.glBindVertexArrayOESFn) {
|
| + } else if (ext.b_GL_APPLE_vertex_array_object) {
|
| fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>(
|
| GetGLProcAddress("glBindVertexArrayAPPLE"));
|
| }
|
| + DCHECK(fn.glBindVertexArrayOESFn);
|
|
|
| - fn.glBlendBarrierKHRFn = 0;
|
| debug_fn.glBlendBarrierKHRFn = 0;
|
| if (ext.b_GL_NV_blend_equation_advanced) {
|
| fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>(
|
| GetGLProcAddress("glBlendBarrierNV"));
|
| - }
|
| - if (!fn.glBlendBarrierKHRFn) {
|
| + } else if (ext.b_GL_KHR_blend_equation_advanced) {
|
| fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>(
|
| GetGLProcAddress("glBlendBarrierKHR"));
|
| }
|
| + DCHECK(fn.glBlendBarrierKHRFn);
|
|
|
| - fn.glBlitFramebufferANGLEFn = 0;
|
| - debug_fn.glBlitFramebufferANGLEFn = 0;
|
| - if (ext.b_GL_ANGLE_framebuffer_blit) {
|
| - fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>(
|
| - GetGLProcAddress("glBlitFramebufferANGLE"));
|
| + debug_fn.glBlitFramebufferFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glBlitFramebufferFn = reinterpret_cast<glBlitFramebufferProc>(
|
| + GetGLProcAddress("glBlitFramebuffer"));
|
| }
|
| - if (!fn.glBlitFramebufferANGLEFn) {
|
| + DCHECK(fn.glBlitFramebufferFn);
|
| +
|
| + debug_fn.glBlitFramebufferANGLEFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>(
|
| GetGLProcAddress("glBlitFramebuffer"));
|
| + } else if (ext.b_GL_ANGLE_framebuffer_blit) {
|
| + fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>(
|
| + GetGLProcAddress("glBlitFramebufferANGLE"));
|
| }
|
| + DCHECK(fn.glBlitFramebufferANGLEFn);
|
|
|
| - fn.glBlitFramebufferEXTFn = 0;
|
| debug_fn.glBlitFramebufferEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_blit) {
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>(
|
| + GetGLProcAddress("glBlitFramebuffer"));
|
| + } else if (ext.b_GL_EXT_framebuffer_blit) {
|
| fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>(
|
| GetGLProcAddress("glBlitFramebufferEXT"));
|
| }
|
| - if (!fn.glBlitFramebufferEXTFn) {
|
| - fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>(
|
| - GetGLProcAddress("glBlitFramebuffer"));
|
| + DCHECK(fn.glBlitFramebufferEXTFn);
|
| +
|
| + debug_fn.glClearBufferfiFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glClearBufferfiFn = reinterpret_cast<glClearBufferfiProc>(
|
| + GetGLProcAddress("glClearBufferfi"));
|
| + }
|
| + DCHECK(fn.glClearBufferfiFn);
|
| +
|
| + debug_fn.glClearBufferfvFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glClearBufferfvFn = reinterpret_cast<glClearBufferfvProc>(
|
| + GetGLProcAddress("glClearBufferfv"));
|
| + }
|
| + DCHECK(fn.glClearBufferfvFn);
|
| +
|
| + debug_fn.glClearBufferivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glClearBufferivFn = reinterpret_cast<glClearBufferivProc>(
|
| + GetGLProcAddress("glClearBufferiv"));
|
| + }
|
| + DCHECK(fn.glClearBufferivFn);
|
| +
|
| + debug_fn.glClearBufferuivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glClearBufferuivFn = reinterpret_cast<glClearBufferuivProc>(
|
| + GetGLProcAddress("glClearBufferuiv"));
|
| + }
|
| + DCHECK(fn.glClearBufferuivFn);
|
| +
|
| + debug_fn.glClearDepthfFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + ver->is_es)) {
|
| + fn.glClearDepthfFn =
|
| + reinterpret_cast<glClearDepthfProc>(GetGLProcAddress("glClearDepthf"));
|
| + }
|
| + DCHECK(fn.glClearDepthfFn);
|
| +
|
| + debug_fn.glClientWaitSyncFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_sync) {
|
| + fn.glClientWaitSyncFn = reinterpret_cast<glClientWaitSyncProc>(
|
| + GetGLProcAddress("glClientWaitSync"));
|
| }
|
| + DCHECK(fn.glClientWaitSyncFn);
|
|
|
| - fn.glCheckFramebufferStatusEXTFn = 0;
|
| - debug_fn.glCheckFramebufferStatusEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glCheckFramebufferStatusEXTFn =
|
| - reinterpret_cast<glCheckFramebufferStatusEXTProc>(
|
| - GetGLProcAddress("glCheckFramebufferStatusEXT"));
|
| + debug_fn.glCompressedTexImage3DFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glCompressedTexImage3DFn = reinterpret_cast<glCompressedTexImage3DProc>(
|
| + GetGLProcAddress("glCompressedTexImage3D"));
|
| }
|
| - if (!fn.glCheckFramebufferStatusEXTFn) {
|
| - fn.glCheckFramebufferStatusEXTFn =
|
| - reinterpret_cast<glCheckFramebufferStatusEXTProc>(
|
| - GetGLProcAddress("glCheckFramebufferStatus"));
|
| + DCHECK(fn.glCompressedTexImage3DFn);
|
| +
|
| + debug_fn.glCopyBufferSubDataFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glCopyBufferSubDataFn = reinterpret_cast<glCopyBufferSubDataProc>(
|
| + GetGLProcAddress("glCopyBufferSubData"));
|
| }
|
| + DCHECK(fn.glCopyBufferSubDataFn);
|
|
|
| - fn.glDeleteBuffersARBFn = 0;
|
| - debug_fn.glDeleteBuffersARBFn = 0;
|
| - if (ext.b_GL_ARB_vertex_buffer_object) {
|
| - fn.glDeleteBuffersARBFn = reinterpret_cast<glDeleteBuffersARBProc>(
|
| - GetGLProcAddress("glDeleteBuffersARB"));
|
| + debug_fn.glCopyTexSubImage3DFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glCopyTexSubImage3DFn = reinterpret_cast<glCopyTexSubImage3DProc>(
|
| + GetGLProcAddress("glCopyTexSubImage3D"));
|
| }
|
| - if (!fn.glDeleteBuffersARBFn) {
|
| - fn.glDeleteBuffersARBFn = reinterpret_cast<glDeleteBuffersARBProc>(
|
| - GetGLProcAddress("glDeleteBuffers"));
|
| + DCHECK(fn.glCopyTexSubImage3DFn);
|
| +
|
| + debug_fn.glDeleteFencesAPPLEFn = 0;
|
| + if (ext.b_GL_APPLE_fence) {
|
| + fn.glDeleteFencesAPPLEFn = reinterpret_cast<glDeleteFencesAPPLEProc>(
|
| + GetGLProcAddress("glDeleteFencesAPPLE"));
|
| }
|
| + DCHECK(fn.glDeleteFencesAPPLEFn);
|
|
|
| - fn.glDeleteFramebuffersEXTFn = 0;
|
| - debug_fn.glDeleteFramebuffersEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glDeleteFramebuffersEXTFn =
|
| - reinterpret_cast<glDeleteFramebuffersEXTProc>(
|
| - GetGLProcAddress("glDeleteFramebuffersEXT"));
|
| + debug_fn.glDeleteFencesNVFn = 0;
|
| + if (ext.b_GL_NV_fence) {
|
| + fn.glDeleteFencesNVFn = reinterpret_cast<glDeleteFencesNVProc>(
|
| + GetGLProcAddress("glDeleteFencesNV"));
|
| }
|
| - if (!fn.glDeleteFramebuffersEXTFn) {
|
| - fn.glDeleteFramebuffersEXTFn =
|
| - reinterpret_cast<glDeleteFramebuffersEXTProc>(
|
| - GetGLProcAddress("glDeleteFramebuffers"));
|
| + DCHECK(fn.glDeleteFencesNVFn);
|
| +
|
| + debug_fn.glDeleteQueriesFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glDeleteQueriesFn = reinterpret_cast<glDeleteQueriesProc>(
|
| + GetGLProcAddress("glDeleteQueries"));
|
| }
|
| + DCHECK(fn.glDeleteQueriesFn);
|
|
|
| - fn.glDeleteQueriesARBFn = 0;
|
| debug_fn.glDeleteQueriesARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glDeleteQueriesARBFn = reinterpret_cast<glDeleteQueriesARBProc>(
|
| GetGLProcAddress("glDeleteQueriesARB"));
|
| - }
|
| - if (!fn.glDeleteQueriesARBFn) {
|
| + } else if ((ext.b_GL_EXT_disjoint_timer_query ||
|
| + ext.b_GL_EXT_occlusion_query_boolean)) {
|
| fn.glDeleteQueriesARBFn = reinterpret_cast<glDeleteQueriesARBProc>(
|
| GetGLProcAddress("glDeleteQueriesEXT"));
|
| }
|
| + DCHECK(fn.glDeleteQueriesARBFn);
|
| +
|
| + debug_fn.glDeleteSamplersFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glDeleteSamplersFn = reinterpret_cast<glDeleteSamplersProc>(
|
| + GetGLProcAddress("glDeleteSamplers"));
|
| + }
|
| + DCHECK(fn.glDeleteSamplersFn);
|
|
|
| - fn.glDeleteRenderbuffersEXTFn = 0;
|
| - debug_fn.glDeleteRenderbuffersEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glDeleteRenderbuffersEXTFn =
|
| - reinterpret_cast<glDeleteRenderbuffersEXTProc>(
|
| - GetGLProcAddress("glDeleteRenderbuffersEXT"));
|
| + debug_fn.glDeleteSyncFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_sync) {
|
| + fn.glDeleteSyncFn =
|
| + reinterpret_cast<glDeleteSyncProc>(GetGLProcAddress("glDeleteSync"));
|
| }
|
| - if (!fn.glDeleteRenderbuffersEXTFn) {
|
| - fn.glDeleteRenderbuffersEXTFn =
|
| - reinterpret_cast<glDeleteRenderbuffersEXTProc>(
|
| - GetGLProcAddress("glDeleteRenderbuffers"));
|
| + DCHECK(fn.glDeleteSyncFn);
|
| +
|
| + debug_fn.glDeleteTransformFeedbacksFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es && (ver->major_version >= 4u)))) {
|
| + fn.glDeleteTransformFeedbacksFn =
|
| + reinterpret_cast<glDeleteTransformFeedbacksProc>(
|
| + GetGLProcAddress("glDeleteTransformFeedbacks"));
|
| }
|
| + DCHECK(fn.glDeleteTransformFeedbacksFn);
|
|
|
| - fn.glDeleteVertexArraysOESFn = 0;
|
| debug_fn.glDeleteVertexArraysOESFn = 0;
|
| - if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) ||
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| ext.b_GL_ARB_vertex_array_object) {
|
| fn.glDeleteVertexArraysOESFn =
|
| reinterpret_cast<glDeleteVertexArraysOESProc>(
|
| GetGLProcAddress("glDeleteVertexArrays"));
|
| - }
|
| - if (!fn.glDeleteVertexArraysOESFn && (ext.b_GL_OES_vertex_array_object)) {
|
| + } else if (ext.b_GL_OES_vertex_array_object) {
|
| fn.glDeleteVertexArraysOESFn =
|
| reinterpret_cast<glDeleteVertexArraysOESProc>(
|
| GetGLProcAddress("glDeleteVertexArraysOES"));
|
| - }
|
| - if (!fn.glDeleteVertexArraysOESFn) {
|
| + } else if (ext.b_GL_APPLE_vertex_array_object) {
|
| fn.glDeleteVertexArraysOESFn =
|
| reinterpret_cast<glDeleteVertexArraysOESProc>(
|
| GetGLProcAddress("glDeleteVertexArraysAPPLE"));
|
| }
|
| + DCHECK(fn.glDeleteVertexArraysOESFn);
|
| +
|
| + debug_fn.glDepthRangefFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + ver->is_es)) {
|
| + fn.glDepthRangefFn =
|
| + reinterpret_cast<glDepthRangefProc>(GetGLProcAddress("glDepthRangef"));
|
| + }
|
| + DCHECK(fn.glDepthRangefFn);
|
| +
|
| + debug_fn.glDiscardFramebufferEXTFn = 0;
|
| + if (ext.b_GL_EXT_discard_framebuffer) {
|
| + fn.glDiscardFramebufferEXTFn =
|
| + reinterpret_cast<glDiscardFramebufferEXTProc>(
|
| + GetGLProcAddress("glDiscardFramebufferEXT"));
|
| + }
|
| + DCHECK(fn.glDiscardFramebufferEXTFn);
|
|
|
| - fn.glDrawArraysInstancedANGLEFn = 0;
|
| debug_fn.glDrawArraysInstancedANGLEFn = 0;
|
| - if (ext.b_GL_ARB_draw_instanced) {
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glDrawArraysInstancedANGLEFn =
|
| + reinterpret_cast<glDrawArraysInstancedANGLEProc>(
|
| + GetGLProcAddress("glDrawArraysInstanced"));
|
| + } else if (ext.b_GL_ARB_draw_instanced) {
|
| fn.glDrawArraysInstancedANGLEFn =
|
| reinterpret_cast<glDrawArraysInstancedANGLEProc>(
|
| GetGLProcAddress("glDrawArraysInstancedARB"));
|
| - }
|
| - if (!fn.glDrawArraysInstancedANGLEFn && (ext.b_GL_ANGLE_instanced_arrays)) {
|
| + } else if (ext.b_GL_ANGLE_instanced_arrays) {
|
| fn.glDrawArraysInstancedANGLEFn =
|
| reinterpret_cast<glDrawArraysInstancedANGLEProc>(
|
| GetGLProcAddress("glDrawArraysInstancedANGLE"));
|
| }
|
| - if (!fn.glDrawArraysInstancedANGLEFn) {
|
| - fn.glDrawArraysInstancedANGLEFn =
|
| - reinterpret_cast<glDrawArraysInstancedANGLEProc>(
|
| - GetGLProcAddress("glDrawArraysInstanced"));
|
| + DCHECK(fn.glDrawArraysInstancedANGLEFn);
|
| +
|
| + debug_fn.glDrawBufferFn = 0;
|
| + if (!ver->is_es) {
|
| + fn.glDrawBufferFn =
|
| + reinterpret_cast<glDrawBufferProc>(GetGLProcAddress("glDrawBuffer"));
|
| }
|
| + DCHECK(fn.glDrawBufferFn);
|
|
|
| - fn.glDrawBuffersARBFn = 0;
|
| debug_fn.glDrawBuffersARBFn = 0;
|
| - if (ext.b_GL_ARB_draw_buffers) {
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>(
|
| + GetGLProcAddress("glDrawBuffers"));
|
| + } else if (ext.b_GL_ARB_draw_buffers) {
|
| fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>(
|
| GetGLProcAddress("glDrawBuffersARB"));
|
| - }
|
| - if (!fn.glDrawBuffersARBFn && (ext.b_GL_EXT_draw_buffers)) {
|
| + } else if (ext.b_GL_EXT_draw_buffers) {
|
| fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>(
|
| GetGLProcAddress("glDrawBuffersEXT"));
|
| }
|
| - if (!fn.glDrawBuffersARBFn) {
|
| - fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>(
|
| - GetGLProcAddress("glDrawBuffers"));
|
| - }
|
| + DCHECK(fn.glDrawBuffersARBFn);
|
|
|
| - fn.glDrawElementsInstancedANGLEFn = 0;
|
| debug_fn.glDrawElementsInstancedANGLEFn = 0;
|
| - if (ext.b_GL_ARB_draw_instanced) {
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glDrawElementsInstancedANGLEFn =
|
| + reinterpret_cast<glDrawElementsInstancedANGLEProc>(
|
| + GetGLProcAddress("glDrawElementsInstanced"));
|
| + } else if (ext.b_GL_ARB_draw_instanced) {
|
| fn.glDrawElementsInstancedANGLEFn =
|
| reinterpret_cast<glDrawElementsInstancedANGLEProc>(
|
| GetGLProcAddress("glDrawElementsInstancedARB"));
|
| - }
|
| - if (!fn.glDrawElementsInstancedANGLEFn && (ext.b_GL_ANGLE_instanced_arrays)) {
|
| + } else if (ext.b_GL_ANGLE_instanced_arrays) {
|
| fn.glDrawElementsInstancedANGLEFn =
|
| reinterpret_cast<glDrawElementsInstancedANGLEProc>(
|
| GetGLProcAddress("glDrawElementsInstancedANGLE"));
|
| }
|
| - if (!fn.glDrawElementsInstancedANGLEFn) {
|
| - fn.glDrawElementsInstancedANGLEFn =
|
| - reinterpret_cast<glDrawElementsInstancedANGLEProc>(
|
| - GetGLProcAddress("glDrawElementsInstanced"));
|
| + DCHECK(fn.glDrawElementsInstancedANGLEFn);
|
| +
|
| + debug_fn.glDrawRangeElementsFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glDrawRangeElementsFn = reinterpret_cast<glDrawRangeElementsProc>(
|
| + GetGLProcAddress("glDrawRangeElements"));
|
| + }
|
| + DCHECK(fn.glDrawRangeElementsFn);
|
| +
|
| + debug_fn.glEGLImageTargetRenderbufferStorageOESFn = 0;
|
| + if (ext.b_GL_OES_EGL_image) {
|
| + fn.glEGLImageTargetRenderbufferStorageOESFn =
|
| + reinterpret_cast<glEGLImageTargetRenderbufferStorageOESProc>(
|
| + GetGLProcAddress("glEGLImageTargetRenderbufferStorageOES"));
|
| + }
|
| + DCHECK(fn.glEGLImageTargetRenderbufferStorageOESFn);
|
| +
|
| + debug_fn.glEGLImageTargetTexture2DOESFn = 0;
|
| + if (ext.b_GL_OES_EGL_image) {
|
| + fn.glEGLImageTargetTexture2DOESFn =
|
| + reinterpret_cast<glEGLImageTargetTexture2DOESProc>(
|
| + GetGLProcAddress("glEGLImageTargetTexture2DOES"));
|
| + }
|
| + DCHECK(fn.glEGLImageTargetTexture2DOESFn);
|
| +
|
| + debug_fn.glEndQueryFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glEndQueryFn =
|
| + reinterpret_cast<glEndQueryProc>(GetGLProcAddress("glEndQuery"));
|
| }
|
| + DCHECK(fn.glEndQueryFn);
|
|
|
| - fn.glEndQueryARBFn = 0;
|
| debug_fn.glEndQueryARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glEndQueryARBFn =
|
| reinterpret_cast<glEndQueryARBProc>(GetGLProcAddress("glEndQueryARB"));
|
| - }
|
| - if (!fn.glEndQueryARBFn) {
|
| + } else if ((ext.b_GL_EXT_disjoint_timer_query ||
|
| + ext.b_GL_EXT_occlusion_query_boolean)) {
|
| fn.glEndQueryARBFn =
|
| reinterpret_cast<glEndQueryARBProc>(GetGLProcAddress("glEndQueryEXT"));
|
| }
|
| + DCHECK(fn.glEndQueryARBFn);
|
| +
|
| + debug_fn.glEndTransformFeedbackFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glEndTransformFeedbackFn = reinterpret_cast<glEndTransformFeedbackProc>(
|
| + GetGLProcAddress("glEndTransformFeedback"));
|
| + }
|
| + DCHECK(fn.glEndTransformFeedbackFn);
|
|
|
| - fn.glFramebufferRenderbufferEXTFn = 0;
|
| - debug_fn.glFramebufferRenderbufferEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glFramebufferRenderbufferEXTFn =
|
| - reinterpret_cast<glFramebufferRenderbufferEXTProc>(
|
| - GetGLProcAddress("glFramebufferRenderbufferEXT"));
|
| + debug_fn.glFenceSyncFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_sync) {
|
| + fn.glFenceSyncFn =
|
| + reinterpret_cast<glFenceSyncProc>(GetGLProcAddress("glFenceSync"));
|
| }
|
| - if (!fn.glFramebufferRenderbufferEXTFn) {
|
| - fn.glFramebufferRenderbufferEXTFn =
|
| - reinterpret_cast<glFramebufferRenderbufferEXTProc>(
|
| - GetGLProcAddress("glFramebufferRenderbuffer"));
|
| + DCHECK(fn.glFenceSyncFn);
|
| +
|
| + debug_fn.glFinishFenceAPPLEFn = 0;
|
| + if (ext.b_GL_APPLE_fence) {
|
| + fn.glFinishFenceAPPLEFn = reinterpret_cast<glFinishFenceAPPLEProc>(
|
| + GetGLProcAddress("glFinishFenceAPPLE"));
|
| }
|
| + DCHECK(fn.glFinishFenceAPPLEFn);
|
|
|
| - fn.glFramebufferTexture2DEXTFn = 0;
|
| - debug_fn.glFramebufferTexture2DEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glFramebufferTexture2DEXTFn =
|
| - reinterpret_cast<glFramebufferTexture2DEXTProc>(
|
| - GetGLProcAddress("glFramebufferTexture2DEXT"));
|
| + debug_fn.glFinishFenceNVFn = 0;
|
| + if (ext.b_GL_NV_fence) {
|
| + fn.glFinishFenceNVFn = reinterpret_cast<glFinishFenceNVProc>(
|
| + GetGLProcAddress("glFinishFenceNV"));
|
| }
|
| - if (!fn.glFramebufferTexture2DEXTFn) {
|
| - fn.glFramebufferTexture2DEXTFn =
|
| - reinterpret_cast<glFramebufferTexture2DEXTProc>(
|
| - GetGLProcAddress("glFramebufferTexture2D"));
|
| + DCHECK(fn.glFinishFenceNVFn);
|
| +
|
| + debug_fn.glFlushMappedBufferRangeFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glFlushMappedBufferRangeFn =
|
| + reinterpret_cast<glFlushMappedBufferRangeProc>(
|
| + GetGLProcAddress("glFlushMappedBufferRange"));
|
| }
|
| + DCHECK(fn.glFlushMappedBufferRangeFn);
|
|
|
| - fn.glGenBuffersARBFn = 0;
|
| - debug_fn.glGenBuffersARBFn = 0;
|
| - if (ext.b_GL_ARB_vertex_buffer_object) {
|
| - fn.glGenBuffersARBFn = reinterpret_cast<glGenBuffersARBProc>(
|
| - GetGLProcAddress("glGenBuffersARB"));
|
| + debug_fn.glFramebufferTexture2DMultisampleEXTFn = 0;
|
| + if (ext.b_GL_EXT_multisampled_render_to_texture) {
|
| + fn.glFramebufferTexture2DMultisampleEXTFn =
|
| + reinterpret_cast<glFramebufferTexture2DMultisampleEXTProc>(
|
| + GetGLProcAddress("glFramebufferTexture2DMultisampleEXT"));
|
| }
|
| - if (!fn.glGenBuffersARBFn) {
|
| - fn.glGenBuffersARBFn =
|
| - reinterpret_cast<glGenBuffersARBProc>(GetGLProcAddress("glGenBuffers"));
|
| + DCHECK(fn.glFramebufferTexture2DMultisampleEXTFn);
|
| +
|
| + debug_fn.glFramebufferTexture2DMultisampleIMGFn = 0;
|
| + if (ext.b_GL_IMG_multisampled_render_to_texture) {
|
| + fn.glFramebufferTexture2DMultisampleIMGFn =
|
| + reinterpret_cast<glFramebufferTexture2DMultisampleIMGProc>(
|
| + GetGLProcAddress("glFramebufferTexture2DMultisampleIMG"));
|
| }
|
| + DCHECK(fn.glFramebufferTexture2DMultisampleIMGFn);
|
|
|
| - fn.glGenerateMipmapEXTFn = 0;
|
| - debug_fn.glGenerateMipmapEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>(
|
| - GetGLProcAddress("glGenerateMipmapEXT"));
|
| + debug_fn.glFramebufferTextureLayerFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glFramebufferTextureLayerFn =
|
| + reinterpret_cast<glFramebufferTextureLayerProc>(
|
| + GetGLProcAddress("glFramebufferTextureLayer"));
|
| }
|
| - if (!fn.glGenerateMipmapEXTFn) {
|
| - fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>(
|
| - GetGLProcAddress("glGenerateMipmap"));
|
| + DCHECK(fn.glFramebufferTextureLayerFn);
|
| +
|
| + debug_fn.glGenFencesAPPLEFn = 0;
|
| + if (ext.b_GL_APPLE_fence) {
|
| + fn.glGenFencesAPPLEFn = reinterpret_cast<glGenFencesAPPLEProc>(
|
| + GetGLProcAddress("glGenFencesAPPLE"));
|
| }
|
| + DCHECK(fn.glGenFencesAPPLEFn);
|
|
|
| - fn.glGenFramebuffersEXTFn = 0;
|
| - debug_fn.glGenFramebuffersEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>(
|
| - GetGLProcAddress("glGenFramebuffersEXT"));
|
| + debug_fn.glGenFencesNVFn = 0;
|
| + if (ext.b_GL_NV_fence) {
|
| + fn.glGenFencesNVFn =
|
| + reinterpret_cast<glGenFencesNVProc>(GetGLProcAddress("glGenFencesNV"));
|
| }
|
| - if (!fn.glGenFramebuffersEXTFn) {
|
| - fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>(
|
| - GetGLProcAddress("glGenFramebuffers"));
|
| + DCHECK(fn.glGenFencesNVFn);
|
| +
|
| + debug_fn.glGenQueriesFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGenQueriesFn =
|
| + reinterpret_cast<glGenQueriesProc>(GetGLProcAddress("glGenQueries"));
|
| }
|
| + DCHECK(fn.glGenQueriesFn);
|
|
|
| - fn.glGenQueriesARBFn = 0;
|
| debug_fn.glGenQueriesARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glGenQueriesARBFn = reinterpret_cast<glGenQueriesARBProc>(
|
| GetGLProcAddress("glGenQueriesARB"));
|
| - }
|
| - if (!fn.glGenQueriesARBFn) {
|
| + } else if ((ext.b_GL_EXT_disjoint_timer_query ||
|
| + ext.b_GL_EXT_occlusion_query_boolean)) {
|
| fn.glGenQueriesARBFn = reinterpret_cast<glGenQueriesARBProc>(
|
| GetGLProcAddress("glGenQueriesEXT"));
|
| }
|
| + DCHECK(fn.glGenQueriesARBFn);
|
|
|
| - fn.glGenRenderbuffersEXTFn = 0;
|
| - debug_fn.glGenRenderbuffersEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>(
|
| - GetGLProcAddress("glGenRenderbuffersEXT"));
|
| + debug_fn.glGenSamplersFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGenSamplersFn =
|
| + reinterpret_cast<glGenSamplersProc>(GetGLProcAddress("glGenSamplers"));
|
| }
|
| - if (!fn.glGenRenderbuffersEXTFn) {
|
| - fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>(
|
| - GetGLProcAddress("glGenRenderbuffers"));
|
| + DCHECK(fn.glGenSamplersFn);
|
| +
|
| + debug_fn.glGenTransformFeedbacksFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es && (ver->major_version >= 4u)))) {
|
| + fn.glGenTransformFeedbacksFn =
|
| + reinterpret_cast<glGenTransformFeedbacksProc>(
|
| + GetGLProcAddress("glGenTransformFeedbacks"));
|
| }
|
| + DCHECK(fn.glGenTransformFeedbacksFn);
|
|
|
| - fn.glGenVertexArraysOESFn = 0;
|
| debug_fn.glGenVertexArraysOESFn = 0;
|
| - if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) ||
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| ext.b_GL_ARB_vertex_array_object) {
|
| fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>(
|
| GetGLProcAddress("glGenVertexArrays"));
|
| - }
|
| - if (!fn.glGenVertexArraysOESFn && (ext.b_GL_OES_vertex_array_object)) {
|
| + } else if (ext.b_GL_OES_vertex_array_object) {
|
| fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>(
|
| GetGLProcAddress("glGenVertexArraysOES"));
|
| - }
|
| - if (!fn.glGenVertexArraysOESFn) {
|
| + } else if (ext.b_GL_APPLE_vertex_array_object) {
|
| fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>(
|
| GetGLProcAddress("glGenVertexArraysAPPLE"));
|
| }
|
| + DCHECK(fn.glGenVertexArraysOESFn);
|
|
|
| - fn.glGetFramebufferAttachmentParameterivEXTFn = 0;
|
| - debug_fn.glGetFramebufferAttachmentParameterivEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glGetFramebufferAttachmentParameterivEXTFn =
|
| - reinterpret_cast<glGetFramebufferAttachmentParameterivEXTProc>(
|
| - GetGLProcAddress("glGetFramebufferAttachmentParameterivEXT"));
|
| + debug_fn.glGetActiveUniformBlockivFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glGetActiveUniformBlockivFn =
|
| + reinterpret_cast<glGetActiveUniformBlockivProc>(
|
| + GetGLProcAddress("glGetActiveUniformBlockiv"));
|
| }
|
| - if (!fn.glGetFramebufferAttachmentParameterivEXTFn) {
|
| - fn.glGetFramebufferAttachmentParameterivEXTFn =
|
| - reinterpret_cast<glGetFramebufferAttachmentParameterivEXTProc>(
|
| - GetGLProcAddress("glGetFramebufferAttachmentParameteriv"));
|
| + DCHECK(fn.glGetActiveUniformBlockivFn);
|
| +
|
| + debug_fn.glGetActiveUniformBlockNameFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glGetActiveUniformBlockNameFn =
|
| + reinterpret_cast<glGetActiveUniformBlockNameProc>(
|
| + GetGLProcAddress("glGetActiveUniformBlockName"));
|
| + }
|
| + DCHECK(fn.glGetActiveUniformBlockNameFn);
|
| +
|
| + debug_fn.glGetActiveUniformsivFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glGetActiveUniformsivFn = reinterpret_cast<glGetActiveUniformsivProc>(
|
| + GetGLProcAddress("glGetActiveUniformsiv"));
|
| }
|
| + DCHECK(fn.glGetActiveUniformsivFn);
|
| +
|
| + debug_fn.glGetFenceivNVFn = 0;
|
| + if (ext.b_GL_NV_fence) {
|
| + fn.glGetFenceivNVFn = reinterpret_cast<glGetFenceivNVProc>(
|
| + GetGLProcAddress("glGetFenceivNV"));
|
| + }
|
| + DCHECK(fn.glGetFenceivNVFn);
|
| +
|
| + debug_fn.glGetFragDataLocationFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetFragDataLocationFn = reinterpret_cast<glGetFragDataLocationProc>(
|
| + GetGLProcAddress("glGetFragDataLocation"));
|
| + }
|
| + DCHECK(fn.glGetFragDataLocationFn);
|
|
|
| - fn.glGetGraphicsResetStatusARBFn = 0;
|
| debug_fn.glGetGraphicsResetStatusARBFn = 0;
|
| - if (ext.b_GL_ARB_robustness) {
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 5u))))) {
|
| + fn.glGetGraphicsResetStatusARBFn =
|
| + reinterpret_cast<glGetGraphicsResetStatusARBProc>(
|
| + GetGLProcAddress("glGetGraphicsResetStatus"));
|
| + } else if (ext.b_GL_ARB_robustness) {
|
| fn.glGetGraphicsResetStatusARBFn =
|
| reinterpret_cast<glGetGraphicsResetStatusARBProc>(
|
| GetGLProcAddress("glGetGraphicsResetStatusARB"));
|
| - }
|
| - if (!fn.glGetGraphicsResetStatusARBFn && (ext.b_GL_KHR_robustness)) {
|
| + } else if (ext.b_GL_KHR_robustness) {
|
| fn.glGetGraphicsResetStatusARBFn =
|
| reinterpret_cast<glGetGraphicsResetStatusARBProc>(
|
| GetGLProcAddress("glGetGraphicsResetStatusKHR"));
|
| - }
|
| - if (!fn.glGetGraphicsResetStatusARBFn && (ext.b_GL_EXT_robustness)) {
|
| + } else if (ext.b_GL_EXT_robustness) {
|
| fn.glGetGraphicsResetStatusARBFn =
|
| reinterpret_cast<glGetGraphicsResetStatusARBProc>(
|
| GetGLProcAddress("glGetGraphicsResetStatusEXT"));
|
| }
|
| - if (!fn.glGetGraphicsResetStatusARBFn) {
|
| - fn.glGetGraphicsResetStatusARBFn =
|
| - reinterpret_cast<glGetGraphicsResetStatusARBProc>(
|
| - GetGLProcAddress("glGetGraphicsResetStatus"));
|
| + DCHECK(fn.glGetGraphicsResetStatusARBFn);
|
| +
|
| + debug_fn.glGetInteger64i_vFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetInteger64i_vFn = reinterpret_cast<glGetInteger64i_vProc>(
|
| + GetGLProcAddress("glGetInteger64i_v"));
|
| + }
|
| + DCHECK(fn.glGetInteger64i_vFn);
|
| +
|
| + debug_fn.glGetInteger64vFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetInteger64vFn = reinterpret_cast<glGetInteger64vProc>(
|
| + GetGLProcAddress("glGetInteger64v"));
|
| + }
|
| + DCHECK(fn.glGetInteger64vFn);
|
| +
|
| + debug_fn.glGetIntegeri_vFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetIntegeri_vFn = reinterpret_cast<glGetIntegeri_vProc>(
|
| + GetGLProcAddress("glGetIntegeri_v"));
|
| + }
|
| + DCHECK(fn.glGetIntegeri_vFn);
|
| +
|
| + debug_fn.glGetInternalformativFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetInternalformativFn = reinterpret_cast<glGetInternalformativProc>(
|
| + GetGLProcAddress("glGetInternalformativ"));
|
| }
|
| + DCHECK(fn.glGetInternalformativFn);
|
|
|
| - fn.glGetProgramBinaryFn = 0;
|
| debug_fn.glGetProgramBinaryFn = 0;
|
| - if (ext.b_GL_OES_get_program_binary) {
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_get_program_binary) {
|
| + fn.glGetProgramBinaryFn = reinterpret_cast<glGetProgramBinaryProc>(
|
| + GetGLProcAddress("glGetProgramBinary"));
|
| + } else if (ext.b_GL_OES_get_program_binary) {
|
| fn.glGetProgramBinaryFn = reinterpret_cast<glGetProgramBinaryProc>(
|
| GetGLProcAddress("glGetProgramBinaryOES"));
|
| }
|
| - if (!fn.glGetProgramBinaryFn) {
|
| - fn.glGetProgramBinaryFn = reinterpret_cast<glGetProgramBinaryProc>(
|
| - GetGLProcAddress("glGetProgramBinary"));
|
| + DCHECK(fn.glGetProgramBinaryFn);
|
| +
|
| + debug_fn.glGetQueryivFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetQueryivFn =
|
| + reinterpret_cast<glGetQueryivProc>(GetGLProcAddress("glGetQueryiv"));
|
| }
|
| + DCHECK(fn.glGetQueryivFn);
|
|
|
| - fn.glGetQueryivARBFn = 0;
|
| debug_fn.glGetQueryivARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glGetQueryivARBFn = reinterpret_cast<glGetQueryivARBProc>(
|
| GetGLProcAddress("glGetQueryivARB"));
|
| - }
|
| - if (!fn.glGetQueryivARBFn) {
|
| + } else if ((ext.b_GL_EXT_disjoint_timer_query ||
|
| + ext.b_GL_EXT_occlusion_query_boolean)) {
|
| fn.glGetQueryivARBFn = reinterpret_cast<glGetQueryivARBProc>(
|
| GetGLProcAddress("glGetQueryivEXT"));
|
| }
|
| + DCHECK(fn.glGetQueryivARBFn);
|
| +
|
| + debug_fn.glGetQueryObjecti64vFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u)))) ||
|
| + ext.b_GL_ARB_timer_query) {
|
| + fn.glGetQueryObjecti64vFn = reinterpret_cast<glGetQueryObjecti64vProc>(
|
| + GetGLProcAddress("glGetQueryObjecti64v"));
|
| + } else if ((ext.b_GL_EXT_timer_query || ext.b_GL_EXT_disjoint_timer_query)) {
|
| + fn.glGetQueryObjecti64vFn = reinterpret_cast<glGetQueryObjecti64vProc>(
|
| + GetGLProcAddress("glGetQueryObjecti64vEXT"));
|
| + }
|
| + DCHECK(fn.glGetQueryObjecti64vFn);
|
| +
|
| + debug_fn.glGetQueryObjectivFn = 0;
|
| + if (!ver->is_es) {
|
| + fn.glGetQueryObjectivFn = reinterpret_cast<glGetQueryObjectivProc>(
|
| + GetGLProcAddress("glGetQueryObjectiv"));
|
| + }
|
| + DCHECK(fn.glGetQueryObjectivFn);
|
|
|
| - fn.glGetQueryObjectivARBFn = 0;
|
| debug_fn.glGetQueryObjectivARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>(
|
| GetGLProcAddress("glGetQueryObjectivARB"));
|
| - }
|
| - if (!fn.glGetQueryObjectivARBFn) {
|
| + } else if (ext.b_GL_EXT_disjoint_timer_query) {
|
| fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>(
|
| GetGLProcAddress("glGetQueryObjectivEXT"));
|
| }
|
| + DCHECK(fn.glGetQueryObjectivARBFn);
|
|
|
| - fn.glGetQueryObjectui64vFn = 0;
|
| debug_fn.glGetQueryObjectui64vFn = 0;
|
| - if (ext.b_GL_ARB_timer_query) {
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u)))) ||
|
| + ext.b_GL_ARB_timer_query) {
|
| fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>(
|
| GetGLProcAddress("glGetQueryObjectui64v"));
|
| - }
|
| - if (!fn.glGetQueryObjectui64vFn) {
|
| + } else if ((ext.b_GL_EXT_timer_query || ext.b_GL_EXT_disjoint_timer_query)) {
|
| fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>(
|
| GetGLProcAddress("glGetQueryObjectui64vEXT"));
|
| }
|
| + DCHECK(fn.glGetQueryObjectui64vFn);
|
| +
|
| + debug_fn.glGetQueryObjectuivFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetQueryObjectuivFn = reinterpret_cast<glGetQueryObjectuivProc>(
|
| + GetGLProcAddress("glGetQueryObjectuiv"));
|
| + }
|
| + DCHECK(fn.glGetQueryObjectuivFn);
|
|
|
| - fn.glGetQueryObjectuivARBFn = 0;
|
| debug_fn.glGetQueryObjectuivARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>(
|
| GetGLProcAddress("glGetQueryObjectuivARB"));
|
| - }
|
| - if (!fn.glGetQueryObjectuivARBFn) {
|
| + } else if ((ext.b_GL_EXT_disjoint_timer_query ||
|
| + ext.b_GL_EXT_occlusion_query_boolean)) {
|
| fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>(
|
| GetGLProcAddress("glGetQueryObjectuivEXT"));
|
| }
|
| + DCHECK(fn.glGetQueryObjectuivARBFn);
|
| +
|
| + debug_fn.glGetSamplerParameterfvFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetSamplerParameterfvFn =
|
| + reinterpret_cast<glGetSamplerParameterfvProc>(
|
| + GetGLProcAddress("glGetSamplerParameterfv"));
|
| + }
|
| + DCHECK(fn.glGetSamplerParameterfvFn);
|
| +
|
| + debug_fn.glGetSamplerParameterivFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetSamplerParameterivFn =
|
| + reinterpret_cast<glGetSamplerParameterivProc>(
|
| + GetGLProcAddress("glGetSamplerParameteriv"));
|
| + }
|
| + DCHECK(fn.glGetSamplerParameterivFn);
|
| +
|
| + debug_fn.glGetShaderPrecisionFormatFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + ver->is_es)) {
|
| + fn.glGetShaderPrecisionFormatFn =
|
| + reinterpret_cast<glGetShaderPrecisionFormatProc>(
|
| + GetGLProcAddress("glGetShaderPrecisionFormat"));
|
| + }
|
| + DCHECK(fn.glGetShaderPrecisionFormatFn);
|
| +
|
| + debug_fn.glGetSyncivFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_sync) {
|
| + fn.glGetSyncivFn =
|
| + reinterpret_cast<glGetSyncivProc>(GetGLProcAddress("glGetSynciv"));
|
| + }
|
| + DCHECK(fn.glGetSyncivFn);
|
| +
|
| + debug_fn.glGetTexLevelParameterfvFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version > 3u ||
|
| + (ver->major_version == 3u &&
|
| + ver->minor_version >= 1u))))) {
|
| + fn.glGetTexLevelParameterfvFn =
|
| + reinterpret_cast<glGetTexLevelParameterfvProc>(
|
| + GetGLProcAddress("glGetTexLevelParameterfv"));
|
| + }
|
| + DCHECK(fn.glGetTexLevelParameterfvFn);
|
| +
|
| + debug_fn.glGetTexLevelParameterivFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version > 3u ||
|
| + (ver->major_version == 3u &&
|
| + ver->minor_version >= 1u))))) {
|
| + fn.glGetTexLevelParameterivFn =
|
| + reinterpret_cast<glGetTexLevelParameterivProc>(
|
| + GetGLProcAddress("glGetTexLevelParameteriv"));
|
| + }
|
| + DCHECK(fn.glGetTexLevelParameterivFn);
|
| +
|
| + debug_fn.glGetTransformFeedbackVaryingFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glGetTransformFeedbackVaryingFn =
|
| + reinterpret_cast<glGetTransformFeedbackVaryingProc>(
|
| + GetGLProcAddress("glGetTransformFeedbackVarying"));
|
| + }
|
| + DCHECK(fn.glGetTransformFeedbackVaryingFn);
|
| +
|
| + debug_fn.glGetTranslatedShaderSourceANGLEFn = 0;
|
| + if (ext.b_GL_ANGLE_translated_shader_source) {
|
| + fn.glGetTranslatedShaderSourceANGLEFn =
|
| + reinterpret_cast<glGetTranslatedShaderSourceANGLEProc>(
|
| + GetGLProcAddress("glGetTranslatedShaderSourceANGLE"));
|
| + }
|
| + DCHECK(fn.glGetTranslatedShaderSourceANGLEFn);
|
|
|
| - fn.glGetRenderbufferParameterivEXTFn = 0;
|
| - debug_fn.glGetRenderbufferParameterivEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glGetRenderbufferParameterivEXTFn =
|
| - reinterpret_cast<glGetRenderbufferParameterivEXTProc>(
|
| - GetGLProcAddress("glGetRenderbufferParameterivEXT"));
|
| + debug_fn.glGetUniformBlockIndexFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glGetUniformBlockIndexFn = reinterpret_cast<glGetUniformBlockIndexProc>(
|
| + GetGLProcAddress("glGetUniformBlockIndex"));
|
| }
|
| - if (!fn.glGetRenderbufferParameterivEXTFn) {
|
| - fn.glGetRenderbufferParameterivEXTFn =
|
| - reinterpret_cast<glGetRenderbufferParameterivEXTProc>(
|
| - GetGLProcAddress("glGetRenderbufferParameteriv"));
|
| + DCHECK(fn.glGetUniformBlockIndexFn);
|
| +
|
| + debug_fn.glGetUniformIndicesFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glGetUniformIndicesFn = reinterpret_cast<glGetUniformIndicesProc>(
|
| + GetGLProcAddress("glGetUniformIndices"));
|
| + }
|
| + DCHECK(fn.glGetUniformIndicesFn);
|
| +
|
| + debug_fn.glInsertEventMarkerEXTFn = 0;
|
| + if (ext.b_GL_EXT_debug_marker) {
|
| + fn.glInsertEventMarkerEXTFn = reinterpret_cast<glInsertEventMarkerEXTProc>(
|
| + GetGLProcAddress("glInsertEventMarkerEXT"));
|
| + }
|
| + DCHECK(fn.glInsertEventMarkerEXTFn);
|
| +
|
| + debug_fn.glInvalidateFramebufferFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glInvalidateFramebufferFn =
|
| + reinterpret_cast<glInvalidateFramebufferProc>(
|
| + GetGLProcAddress("glInvalidateFramebuffer"));
|
| + }
|
| + DCHECK(fn.glInvalidateFramebufferFn);
|
| +
|
| + debug_fn.glInvalidateSubFramebufferFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glInvalidateSubFramebufferFn =
|
| + reinterpret_cast<glInvalidateSubFramebufferProc>(
|
| + GetGLProcAddress("glInvalidateSubFramebuffer"));
|
| + }
|
| + DCHECK(fn.glInvalidateSubFramebufferFn);
|
| +
|
| + debug_fn.glIsFenceAPPLEFn = 0;
|
| + if (ext.b_GL_APPLE_fence) {
|
| + fn.glIsFenceAPPLEFn = reinterpret_cast<glIsFenceAPPLEProc>(
|
| + GetGLProcAddress("glIsFenceAPPLE"));
|
| }
|
| + DCHECK(fn.glIsFenceAPPLEFn);
|
|
|
| - fn.glIsFramebufferEXTFn = 0;
|
| - debug_fn.glIsFramebufferEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glIsFramebufferEXTFn = reinterpret_cast<glIsFramebufferEXTProc>(
|
| - GetGLProcAddress("glIsFramebufferEXT"));
|
| + debug_fn.glIsFenceNVFn = 0;
|
| + if (ext.b_GL_NV_fence) {
|
| + fn.glIsFenceNVFn =
|
| + reinterpret_cast<glIsFenceNVProc>(GetGLProcAddress("glIsFenceNV"));
|
| }
|
| - if (!fn.glIsFramebufferEXTFn) {
|
| - fn.glIsFramebufferEXTFn = reinterpret_cast<glIsFramebufferEXTProc>(
|
| - GetGLProcAddress("glIsFramebuffer"));
|
| + DCHECK(fn.glIsFenceNVFn);
|
| +
|
| + debug_fn.glIsQueryFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glIsQueryFn =
|
| + reinterpret_cast<glIsQueryProc>(GetGLProcAddress("glIsQuery"));
|
| }
|
| + DCHECK(fn.glIsQueryFn);
|
|
|
| - fn.glIsQueryARBFn = 0;
|
| debug_fn.glIsQueryARBFn = 0;
|
| if (ext.b_GL_ARB_occlusion_query) {
|
| fn.glIsQueryARBFn =
|
| reinterpret_cast<glIsQueryARBProc>(GetGLProcAddress("glIsQueryARB"));
|
| - }
|
| - if (!fn.glIsQueryARBFn) {
|
| + } else if ((ext.b_GL_EXT_disjoint_timer_query ||
|
| + ext.b_GL_EXT_occlusion_query_boolean)) {
|
| fn.glIsQueryARBFn =
|
| reinterpret_cast<glIsQueryARBProc>(GetGLProcAddress("glIsQueryEXT"));
|
| }
|
| + DCHECK(fn.glIsQueryARBFn);
|
| +
|
| + debug_fn.glIsSamplerFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glIsSamplerFn =
|
| + reinterpret_cast<glIsSamplerProc>(GetGLProcAddress("glIsSampler"));
|
| + }
|
| + DCHECK(fn.glIsSamplerFn);
|
|
|
| - fn.glIsRenderbufferEXTFn = 0;
|
| - debug_fn.glIsRenderbufferEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glIsRenderbufferEXTFn = reinterpret_cast<glIsRenderbufferEXTProc>(
|
| - GetGLProcAddress("glIsRenderbufferEXT"));
|
| + debug_fn.glIsSyncFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_sync) {
|
| + fn.glIsSyncFn =
|
| + reinterpret_cast<glIsSyncProc>(GetGLProcAddress("glIsSync"));
|
| }
|
| - if (!fn.glIsRenderbufferEXTFn) {
|
| - fn.glIsRenderbufferEXTFn = reinterpret_cast<glIsRenderbufferEXTProc>(
|
| - GetGLProcAddress("glIsRenderbuffer"));
|
| + DCHECK(fn.glIsSyncFn);
|
| +
|
| + debug_fn.glIsTransformFeedbackFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es && (ver->major_version >= 4u)))) {
|
| + fn.glIsTransformFeedbackFn = reinterpret_cast<glIsTransformFeedbackProc>(
|
| + GetGLProcAddress("glIsTransformFeedback"));
|
| }
|
| + DCHECK(fn.glIsTransformFeedbackFn);
|
|
|
| - fn.glIsVertexArrayOESFn = 0;
|
| debug_fn.glIsVertexArrayOESFn = 0;
|
| - if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) ||
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| ext.b_GL_ARB_vertex_array_object) {
|
| fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>(
|
| GetGLProcAddress("glIsVertexArray"));
|
| - }
|
| - if (!fn.glIsVertexArrayOESFn && (ext.b_GL_OES_vertex_array_object)) {
|
| + } else if (ext.b_GL_OES_vertex_array_object) {
|
| fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>(
|
| GetGLProcAddress("glIsVertexArrayOES"));
|
| - }
|
| - if (!fn.glIsVertexArrayOESFn) {
|
| + } else if (ext.b_GL_APPLE_vertex_array_object) {
|
| fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>(
|
| GetGLProcAddress("glIsVertexArrayAPPLE"));
|
| }
|
| + DCHECK(fn.glIsVertexArrayOESFn);
|
|
|
| - fn.glMapBufferFn = 0;
|
| debug_fn.glMapBufferFn = 0;
|
| - if (ext.b_GL_OES_mapbuffer) {
|
| - fn.glMapBufferFn =
|
| - reinterpret_cast<glMapBufferProc>(GetGLProcAddress("glMapBufferOES"));
|
| - }
|
| - if (!fn.glMapBufferFn) {
|
| + if (!ver->is_es) {
|
| fn.glMapBufferFn =
|
| reinterpret_cast<glMapBufferProc>(GetGLProcAddress("glMapBuffer"));
|
| + } else if (ext.b_GL_OES_mapbuffer) {
|
| + fn.glMapBufferFn =
|
| + reinterpret_cast<glMapBufferProc>(GetGLProcAddress("glMapBufferOES"));
|
| }
|
| + DCHECK(fn.glMapBufferFn);
|
|
|
| - fn.glMapBufferRangeFn = 0;
|
| debug_fn.glMapBufferRangeFn = 0;
|
| - if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) ||
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| ext.b_GL_ARB_map_buffer_range) {
|
| fn.glMapBufferRangeFn = reinterpret_cast<glMapBufferRangeProc>(
|
| GetGLProcAddress("glMapBufferRange"));
|
| - }
|
| - if (!fn.glMapBufferRangeFn) {
|
| + } else if (ext.b_GL_EXT_map_buffer_range) {
|
| fn.glMapBufferRangeFn = reinterpret_cast<glMapBufferRangeProc>(
|
| GetGLProcAddress("glMapBufferRangeEXT"));
|
| }
|
| + DCHECK(fn.glMapBufferRangeFn);
|
| +
|
| + debug_fn.glMatrixLoadfEXTFn = 0;
|
| + if ((ext.b_GL_EXT_direct_state_access || ext.b_GL_NV_path_rendering)) {
|
| + fn.glMatrixLoadfEXTFn = reinterpret_cast<glMatrixLoadfEXTProc>(
|
| + GetGLProcAddress("glMatrixLoadfEXT"));
|
| + }
|
| + DCHECK(fn.glMatrixLoadfEXTFn);
|
| +
|
| + debug_fn.glMatrixLoadIdentityEXTFn = 0;
|
| + if ((ext.b_GL_EXT_direct_state_access || ext.b_GL_NV_path_rendering)) {
|
| + fn.glMatrixLoadIdentityEXTFn =
|
| + reinterpret_cast<glMatrixLoadIdentityEXTProc>(
|
| + GetGLProcAddress("glMatrixLoadIdentityEXT"));
|
| + }
|
| + DCHECK(fn.glMatrixLoadIdentityEXTFn);
|
| +
|
| + debug_fn.glPauseTransformFeedbackFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es && (ver->major_version >= 4u)))) {
|
| + fn.glPauseTransformFeedbackFn =
|
| + reinterpret_cast<glPauseTransformFeedbackProc>(
|
| + GetGLProcAddress("glPauseTransformFeedback"));
|
| + }
|
| + DCHECK(fn.glPauseTransformFeedbackFn);
|
| +
|
| + debug_fn.glPointParameteriFn = 0;
|
| + if (!ver->is_es) {
|
| + fn.glPointParameteriFn = reinterpret_cast<glPointParameteriProc>(
|
| + GetGLProcAddress("glPointParameteri"));
|
| + }
|
| + DCHECK(fn.glPointParameteriFn);
|
| +
|
| + debug_fn.glPopGroupMarkerEXTFn = 0;
|
| + if (ext.b_GL_EXT_debug_marker) {
|
| + fn.glPopGroupMarkerEXTFn = reinterpret_cast<glPopGroupMarkerEXTProc>(
|
| + GetGLProcAddress("glPopGroupMarkerEXT"));
|
| + }
|
| + DCHECK(fn.glPopGroupMarkerEXTFn);
|
|
|
| - fn.glProgramBinaryFn = 0;
|
| debug_fn.glProgramBinaryFn = 0;
|
| - if (ext.b_GL_OES_get_program_binary) {
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_get_program_binary) {
|
| + fn.glProgramBinaryFn = reinterpret_cast<glProgramBinaryProc>(
|
| + GetGLProcAddress("glProgramBinary"));
|
| + } else if (ext.b_GL_OES_get_program_binary) {
|
| fn.glProgramBinaryFn = reinterpret_cast<glProgramBinaryProc>(
|
| GetGLProcAddress("glProgramBinaryOES"));
|
| }
|
| - if (!fn.glProgramBinaryFn) {
|
| - fn.glProgramBinaryFn = reinterpret_cast<glProgramBinaryProc>(
|
| - GetGLProcAddress("glProgramBinary"));
|
| + DCHECK(fn.glProgramBinaryFn);
|
| +
|
| + debug_fn.glProgramParameteriFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_get_program_binary) {
|
| + fn.glProgramParameteriFn = reinterpret_cast<glProgramParameteriProc>(
|
| + GetGLProcAddress("glProgramParameteri"));
|
| + }
|
| + DCHECK(fn.glProgramParameteriFn);
|
| +
|
| + debug_fn.glPushGroupMarkerEXTFn = 0;
|
| + if (ext.b_GL_EXT_debug_marker) {
|
| + fn.glPushGroupMarkerEXTFn = reinterpret_cast<glPushGroupMarkerEXTProc>(
|
| + GetGLProcAddress("glPushGroupMarkerEXT"));
|
| }
|
| + DCHECK(fn.glPushGroupMarkerEXTFn);
|
|
|
| - fn.glQueryCounterFn = 0;
|
| debug_fn.glQueryCounterFn = 0;
|
| - if (ext.b_GL_ARB_timer_query) {
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u)))) ||
|
| + ext.b_GL_ARB_timer_query) {
|
| fn.glQueryCounterFn = reinterpret_cast<glQueryCounterProc>(
|
| GetGLProcAddress("glQueryCounter"));
|
| - }
|
| - if (!fn.glQueryCounterFn) {
|
| + } else if (ext.b_GL_EXT_disjoint_timer_query) {
|
| fn.glQueryCounterFn = reinterpret_cast<glQueryCounterProc>(
|
| GetGLProcAddress("glQueryCounterEXT"));
|
| }
|
| + DCHECK(fn.glQueryCounterFn);
|
| +
|
| + debug_fn.glReadBufferFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glReadBufferFn =
|
| + reinterpret_cast<glReadBufferProc>(GetGLProcAddress("glReadBuffer"));
|
| + }
|
| + DCHECK(fn.glReadBufferFn);
|
|
|
| - fn.glRenderbufferStorageEXTFn = 0;
|
| - debug_fn.glRenderbufferStorageEXTFn = 0;
|
| - if (ext.b_GL_EXT_framebuffer_object) {
|
| - fn.glRenderbufferStorageEXTFn =
|
| - reinterpret_cast<glRenderbufferStorageEXTProc>(
|
| - GetGLProcAddress("glRenderbufferStorageEXT"));
|
| + debug_fn.glReleaseShaderCompilerFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + ver->is_es)) {
|
| + fn.glReleaseShaderCompilerFn =
|
| + reinterpret_cast<glReleaseShaderCompilerProc>(
|
| + GetGLProcAddress("glReleaseShaderCompiler"));
|
| }
|
| - if (!fn.glRenderbufferStorageEXTFn) {
|
| - fn.glRenderbufferStorageEXTFn =
|
| - reinterpret_cast<glRenderbufferStorageEXTProc>(
|
| - GetGLProcAddress("glRenderbufferStorage"));
|
| + DCHECK(fn.glReleaseShaderCompilerFn);
|
| +
|
| + debug_fn.glRenderbufferStorageMultisampleFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glRenderbufferStorageMultisampleFn =
|
| + reinterpret_cast<glRenderbufferStorageMultisampleProc>(
|
| + GetGLProcAddress("glRenderbufferStorageMultisample"));
|
| }
|
| + DCHECK(fn.glRenderbufferStorageMultisampleFn);
|
|
|
| - fn.glRenderbufferStorageMultisampleANGLEFn = 0;
|
| debug_fn.glRenderbufferStorageMultisampleANGLEFn = 0;
|
| - if (ext.b_GL_ANGLE_framebuffer_multisample) {
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| fn.glRenderbufferStorageMultisampleANGLEFn =
|
| reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>(
|
| - GetGLProcAddress("glRenderbufferStorageMultisampleANGLE"));
|
| - }
|
| - if (!fn.glRenderbufferStorageMultisampleANGLEFn) {
|
| + GetGLProcAddress("glRenderbufferStorageMultisample"));
|
| + } else if (ext.b_GL_ANGLE_framebuffer_multisample) {
|
| fn.glRenderbufferStorageMultisampleANGLEFn =
|
| reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>(
|
| - GetGLProcAddress("glRenderbufferStorageMultisample"));
|
| + GetGLProcAddress("glRenderbufferStorageMultisampleANGLE"));
|
| }
|
| + DCHECK(fn.glRenderbufferStorageMultisampleANGLEFn);
|
|
|
| - fn.glRenderbufferStorageMultisampleEXTFn = 0;
|
| debug_fn.glRenderbufferStorageMultisampleEXTFn = 0;
|
| - if ((ext.b_GL_EXT_framebuffer_multisample ||
|
| - ext.b_GL_EXT_multisampled_render_to_texture)) {
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| fn.glRenderbufferStorageMultisampleEXTFn =
|
| reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>(
|
| - GetGLProcAddress("glRenderbufferStorageMultisampleEXT"));
|
| - }
|
| - if (!fn.glRenderbufferStorageMultisampleEXTFn) {
|
| + GetGLProcAddress("glRenderbufferStorageMultisample"));
|
| + } else if ((ext.b_GL_EXT_multisampled_render_to_texture ||
|
| + ext.b_GL_EXT_framebuffer_multisample)) {
|
| fn.glRenderbufferStorageMultisampleEXTFn =
|
| reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>(
|
| - GetGLProcAddress("glRenderbufferStorageMultisample"));
|
| + GetGLProcAddress("glRenderbufferStorageMultisampleEXT"));
|
| + }
|
| + DCHECK(fn.glRenderbufferStorageMultisampleEXTFn);
|
| +
|
| + debug_fn.glRenderbufferStorageMultisampleIMGFn = 0;
|
| + if (ext.b_GL_IMG_multisampled_render_to_texture) {
|
| + fn.glRenderbufferStorageMultisampleIMGFn =
|
| + reinterpret_cast<glRenderbufferStorageMultisampleIMGProc>(
|
| + GetGLProcAddress("glRenderbufferStorageMultisampleIMG"));
|
| + }
|
| + DCHECK(fn.glRenderbufferStorageMultisampleIMGFn);
|
| +
|
| + debug_fn.glResumeTransformFeedbackFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es && (ver->major_version >= 4u)))) {
|
| + fn.glResumeTransformFeedbackFn =
|
| + reinterpret_cast<glResumeTransformFeedbackProc>(
|
| + GetGLProcAddress("glResumeTransformFeedback"));
|
| + }
|
| + DCHECK(fn.glResumeTransformFeedbackFn);
|
| +
|
| + debug_fn.glSamplerParameterfFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glSamplerParameterfFn = reinterpret_cast<glSamplerParameterfProc>(
|
| + GetGLProcAddress("glSamplerParameterf"));
|
| + }
|
| + DCHECK(fn.glSamplerParameterfFn);
|
| +
|
| + debug_fn.glSamplerParameterfvFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glSamplerParameterfvFn = reinterpret_cast<glSamplerParameterfvProc>(
|
| + GetGLProcAddress("glSamplerParameterfv"));
|
| + }
|
| + DCHECK(fn.glSamplerParameterfvFn);
|
| +
|
| + debug_fn.glSamplerParameteriFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glSamplerParameteriFn = reinterpret_cast<glSamplerParameteriProc>(
|
| + GetGLProcAddress("glSamplerParameteri"));
|
| + }
|
| + DCHECK(fn.glSamplerParameteriFn);
|
| +
|
| + debug_fn.glSamplerParameterivFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glSamplerParameterivFn = reinterpret_cast<glSamplerParameterivProc>(
|
| + GetGLProcAddress("glSamplerParameteriv"));
|
| + }
|
| + DCHECK(fn.glSamplerParameterivFn);
|
| +
|
| + debug_fn.glSetFenceAPPLEFn = 0;
|
| + if (ext.b_GL_APPLE_fence) {
|
| + fn.glSetFenceAPPLEFn = reinterpret_cast<glSetFenceAPPLEProc>(
|
| + GetGLProcAddress("glSetFenceAPPLE"));
|
| + }
|
| + DCHECK(fn.glSetFenceAPPLEFn);
|
| +
|
| + debug_fn.glSetFenceNVFn = 0;
|
| + if (ext.b_GL_NV_fence) {
|
| + fn.glSetFenceNVFn =
|
| + reinterpret_cast<glSetFenceNVProc>(GetGLProcAddress("glSetFenceNV"));
|
| + }
|
| + DCHECK(fn.glSetFenceNVFn);
|
| +
|
| + debug_fn.glShaderBinaryFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 1u))) ||
|
| + ver->is_es)) {
|
| + fn.glShaderBinaryFn = reinterpret_cast<glShaderBinaryProc>(
|
| + GetGLProcAddress("glShaderBinary"));
|
| }
|
| + DCHECK(fn.glShaderBinaryFn);
|
| +
|
| + debug_fn.glTestFenceAPPLEFn = 0;
|
| + if (ext.b_GL_APPLE_fence) {
|
| + fn.glTestFenceAPPLEFn = reinterpret_cast<glTestFenceAPPLEProc>(
|
| + GetGLProcAddress("glTestFenceAPPLE"));
|
| + }
|
| + DCHECK(fn.glTestFenceAPPLEFn);
|
| +
|
| + debug_fn.glTestFenceNVFn = 0;
|
| + if (ext.b_GL_NV_fence) {
|
| + fn.glTestFenceNVFn =
|
| + reinterpret_cast<glTestFenceNVProc>(GetGLProcAddress("glTestFenceNV"));
|
| + }
|
| + DCHECK(fn.glTestFenceNVFn);
|
| +
|
| + debug_fn.glTexImage3DFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glTexImage3DFn =
|
| + reinterpret_cast<glTexImage3DProc>(GetGLProcAddress("glTexImage3D"));
|
| + }
|
| + DCHECK(fn.glTexImage3DFn);
|
|
|
| - fn.glTexStorage2DEXTFn = 0;
|
| debug_fn.glTexStorage2DEXTFn = 0;
|
| - if (ver->is_es3 || ext.b_GL_ARB_texture_storage) {
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_texture_storage) {
|
| fn.glTexStorage2DEXTFn = reinterpret_cast<glTexStorage2DEXTProc>(
|
| GetGLProcAddress("glTexStorage2D"));
|
| - }
|
| - if (!fn.glTexStorage2DEXTFn) {
|
| + } else if (ext.b_GL_EXT_texture_storage) {
|
| fn.glTexStorage2DEXTFn = reinterpret_cast<glTexStorage2DEXTProc>(
|
| GetGLProcAddress("glTexStorage2DEXT"));
|
| }
|
| + DCHECK(fn.glTexStorage2DEXTFn);
|
|
|
| - fn.glUnmapBufferFn = 0;
|
| - debug_fn.glUnmapBufferFn = 0;
|
| - if (ext.b_GL_OES_mapbuffer) {
|
| - fn.glUnmapBufferFn = reinterpret_cast<glUnmapBufferProc>(
|
| - GetGLProcAddress("glUnmapBufferOES"));
|
| + debug_fn.glTexStorage3DFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 4u ||
|
| + (ver->major_version == 4u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glTexStorage3DFn = reinterpret_cast<glTexStorage3DProc>(
|
| + GetGLProcAddress("glTexStorage3D"));
|
| + }
|
| + DCHECK(fn.glTexStorage3DFn);
|
| +
|
| + debug_fn.glTransformFeedbackVaryingsFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glTransformFeedbackVaryingsFn =
|
| + reinterpret_cast<glTransformFeedbackVaryingsProc>(
|
| + GetGLProcAddress("glTransformFeedbackVaryings"));
|
| + }
|
| + DCHECK(fn.glTransformFeedbackVaryingsFn);
|
| +
|
| + debug_fn.glUniform1uiFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform1uiFn =
|
| + reinterpret_cast<glUniform1uiProc>(GetGLProcAddress("glUniform1ui"));
|
| + }
|
| + DCHECK(fn.glUniform1uiFn);
|
| +
|
| + debug_fn.glUniform1uivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform1uivFn =
|
| + reinterpret_cast<glUniform1uivProc>(GetGLProcAddress("glUniform1uiv"));
|
| + }
|
| + DCHECK(fn.glUniform1uivFn);
|
| +
|
| + debug_fn.glUniform2uiFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform2uiFn =
|
| + reinterpret_cast<glUniform2uiProc>(GetGLProcAddress("glUniform2ui"));
|
| + }
|
| + DCHECK(fn.glUniform2uiFn);
|
| +
|
| + debug_fn.glUniform2uivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform2uivFn =
|
| + reinterpret_cast<glUniform2uivProc>(GetGLProcAddress("glUniform2uiv"));
|
| + }
|
| + DCHECK(fn.glUniform2uivFn);
|
| +
|
| + debug_fn.glUniform3uiFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform3uiFn =
|
| + reinterpret_cast<glUniform3uiProc>(GetGLProcAddress("glUniform3ui"));
|
| + }
|
| + DCHECK(fn.glUniform3uiFn);
|
| +
|
| + debug_fn.glUniform3uivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform3uivFn =
|
| + reinterpret_cast<glUniform3uivProc>(GetGLProcAddress("glUniform3uiv"));
|
| + }
|
| + DCHECK(fn.glUniform3uivFn);
|
| +
|
| + debug_fn.glUniform4uiFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform4uiFn =
|
| + reinterpret_cast<glUniform4uiProc>(GetGLProcAddress("glUniform4ui"));
|
| + }
|
| + DCHECK(fn.glUniform4uiFn);
|
| +
|
| + debug_fn.glUniform4uivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniform4uivFn =
|
| + reinterpret_cast<glUniform4uivProc>(GetGLProcAddress("glUniform4uiv"));
|
| + }
|
| + DCHECK(fn.glUniform4uivFn);
|
| +
|
| + debug_fn.glUniformBlockBindingFn = 0;
|
| + if (((ver->is_es && (ver->major_version >= 3u)) ||
|
| + (!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 1u))))) {
|
| + fn.glUniformBlockBindingFn = reinterpret_cast<glUniformBlockBindingProc>(
|
| + GetGLProcAddress("glUniformBlockBinding"));
|
| + }
|
| + DCHECK(fn.glUniformBlockBindingFn);
|
| +
|
| + debug_fn.glUniformMatrix2x3fvFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniformMatrix2x3fvFn = reinterpret_cast<glUniformMatrix2x3fvProc>(
|
| + GetGLProcAddress("glUniformMatrix2x3fv"));
|
| }
|
| - if (!fn.glUnmapBufferFn) {
|
| + DCHECK(fn.glUniformMatrix2x3fvFn);
|
| +
|
| + debug_fn.glUniformMatrix2x4fvFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniformMatrix2x4fvFn = reinterpret_cast<glUniformMatrix2x4fvProc>(
|
| + GetGLProcAddress("glUniformMatrix2x4fv"));
|
| + }
|
| + DCHECK(fn.glUniformMatrix2x4fvFn);
|
| +
|
| + debug_fn.glUniformMatrix3x2fvFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniformMatrix3x2fvFn = reinterpret_cast<glUniformMatrix3x2fvProc>(
|
| + GetGLProcAddress("glUniformMatrix3x2fv"));
|
| + }
|
| + DCHECK(fn.glUniformMatrix3x2fvFn);
|
| +
|
| + debug_fn.glUniformMatrix3x4fvFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniformMatrix3x4fvFn = reinterpret_cast<glUniformMatrix3x4fvProc>(
|
| + GetGLProcAddress("glUniformMatrix3x4fv"));
|
| + }
|
| + DCHECK(fn.glUniformMatrix3x4fvFn);
|
| +
|
| + debug_fn.glUniformMatrix4x2fvFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniformMatrix4x2fvFn = reinterpret_cast<glUniformMatrix4x2fvProc>(
|
| + GetGLProcAddress("glUniformMatrix4x2fv"));
|
| + }
|
| + DCHECK(fn.glUniformMatrix4x2fvFn);
|
| +
|
| + debug_fn.glUniformMatrix4x3fvFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glUniformMatrix4x3fvFn = reinterpret_cast<glUniformMatrix4x3fvProc>(
|
| + GetGLProcAddress("glUniformMatrix4x3fv"));
|
| + }
|
| + DCHECK(fn.glUniformMatrix4x3fvFn);
|
| +
|
| + debug_fn.glUnmapBufferFn = 0;
|
| + if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) {
|
| fn.glUnmapBufferFn =
|
| reinterpret_cast<glUnmapBufferProc>(GetGLProcAddress("glUnmapBuffer"));
|
| + } else if (ext.b_GL_OES_mapbuffer) {
|
| + fn.glUnmapBufferFn = reinterpret_cast<glUnmapBufferProc>(
|
| + GetGLProcAddress("glUnmapBufferOES"));
|
| }
|
| + DCHECK(fn.glUnmapBufferFn);
|
|
|
| - fn.glVertexAttribDivisorANGLEFn = 0;
|
| debug_fn.glVertexAttribDivisorANGLEFn = 0;
|
| - if (ext.b_GL_ARB_instanced_arrays) {
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 3u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glVertexAttribDivisorANGLEFn =
|
| + reinterpret_cast<glVertexAttribDivisorANGLEProc>(
|
| + GetGLProcAddress("glVertexAttribDivisor"));
|
| + } else if (ext.b_GL_ARB_instanced_arrays) {
|
| fn.glVertexAttribDivisorANGLEFn =
|
| reinterpret_cast<glVertexAttribDivisorANGLEProc>(
|
| GetGLProcAddress("glVertexAttribDivisorARB"));
|
| - }
|
| - if (!fn.glVertexAttribDivisorANGLEFn && (ext.b_GL_ANGLE_instanced_arrays)) {
|
| + } else if (ext.b_GL_ANGLE_instanced_arrays) {
|
| fn.glVertexAttribDivisorANGLEFn =
|
| reinterpret_cast<glVertexAttribDivisorANGLEProc>(
|
| GetGLProcAddress("glVertexAttribDivisorANGLE"));
|
| }
|
| - if (!fn.glVertexAttribDivisorANGLEFn) {
|
| - fn.glVertexAttribDivisorANGLEFn =
|
| - reinterpret_cast<glVertexAttribDivisorANGLEProc>(
|
| - GetGLProcAddress("glVertexAttribDivisor"));
|
| + DCHECK(fn.glVertexAttribDivisorANGLEFn);
|
| +
|
| + debug_fn.glVertexAttribI4iFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glVertexAttribI4iFn = reinterpret_cast<glVertexAttribI4iProc>(
|
| + GetGLProcAddress("glVertexAttribI4i"));
|
| + }
|
| + DCHECK(fn.glVertexAttribI4iFn);
|
| +
|
| + debug_fn.glVertexAttribI4ivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glVertexAttribI4ivFn = reinterpret_cast<glVertexAttribI4ivProc>(
|
| + GetGLProcAddress("glVertexAttribI4iv"));
|
| + }
|
| + DCHECK(fn.glVertexAttribI4ivFn);
|
| +
|
| + debug_fn.glVertexAttribI4uiFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glVertexAttribI4uiFn = reinterpret_cast<glVertexAttribI4uiProc>(
|
| + GetGLProcAddress("glVertexAttribI4ui"));
|
| + }
|
| + DCHECK(fn.glVertexAttribI4uiFn);
|
| +
|
| + debug_fn.glVertexAttribI4uivFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glVertexAttribI4uivFn = reinterpret_cast<glVertexAttribI4uivProc>(
|
| + GetGLProcAddress("glVertexAttribI4uiv"));
|
| + }
|
| + DCHECK(fn.glVertexAttribI4uivFn);
|
| +
|
| + debug_fn.glVertexAttribIPointerFn = 0;
|
| + if (((!ver->is_es && (ver->major_version >= 3u)) ||
|
| + (ver->is_es && (ver->major_version >= 3u)))) {
|
| + fn.glVertexAttribIPointerFn = reinterpret_cast<glVertexAttribIPointerProc>(
|
| + GetGLProcAddress("glVertexAttribIPointer"));
|
| + }
|
| + DCHECK(fn.glVertexAttribIPointerFn);
|
| +
|
| + debug_fn.glWaitSyncFn = 0;
|
| + if (((!ver->is_es &&
|
| + (ver->major_version > 3u ||
|
| + (ver->major_version == 3u && ver->minor_version >= 2u))) ||
|
| + (ver->is_es && (ver->major_version >= 3u))) ||
|
| + ext.b_GL_ARB_sync) {
|
| + fn.glWaitSyncFn =
|
| + reinterpret_cast<glWaitSyncProc>(GetGLProcAddress("glWaitSync"));
|
| }
|
| + DCHECK(fn.glWaitSyncFn);
|
|
|
| if (g_debugBindingsInitialized)
|
| InitializeDebugBindings();
|
|
|