/ui/gl/gl_bindings_autogen_gl.cc
C++ | 1197 lines | 1112 code | 76 blank | 9 comment | 221 complexity | 799157a590ab935c9a2c696b885bc23a MD5 | raw file
- // Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- //
- // This file is auto-generated from
- // ui/gl/generate_bindings.py
- // It's formatted by clang-format using chromium coding style:
- // clang-format -i -style=chromium filename
- // DO NOT EDIT!
- #include <string>
- #include "base/trace_event/trace_event.h"
- #include "ui/gl/gl_bindings.h"
- #include "ui/gl/gl_context.h"
- #include "ui/gl/gl_enums.h"
- #include "ui/gl/gl_gl_api_implementation.h"
- #include "ui/gl/gl_implementation.h"
- #include "ui/gl/gl_version_info.h"
- namespace gfx {
- static bool g_debugBindingsInitialized;
- DriverGL g_driver_gl;
- void DriverGL::InitializeStaticBindings() {
- fn.glActiveTextureFn = reinterpret_cast<glActiveTextureProc>(
- GetGLProcAddress("glActiveTexture"));
- fn.glApplyFramebufferAttachmentCMAAINTELFn = 0;
- fn.glAttachShaderFn =
- reinterpret_cast<glAttachShaderProc>(GetGLProcAddress("glAttachShader"));
- fn.glBeginQueryFn = 0;
- fn.glBeginTransformFeedbackFn = 0;
- fn.glBindAttribLocationFn = reinterpret_cast<glBindAttribLocationProc>(
- GetGLProcAddress("glBindAttribLocation"));
- fn.glBindBufferFn =
- reinterpret_cast<glBindBufferProc>(GetGLProcAddress("glBindBuffer"));
- fn.glBindBufferBaseFn = 0;
- fn.glBindBufferRangeFn = 0;
- fn.glBindFragDataLocationFn = 0;
- fn.glBindFragDataLocationIndexedFn = 0;
- fn.glBindFramebufferEXTFn = 0;
- fn.glBindRenderbufferEXTFn = 0;
- fn.glBindSamplerFn = 0;
- fn.glBindTextureFn =
- reinterpret_cast<glBindTextureProc>(GetGLProcAddress("glBindTexture"));
- fn.glBindTransformFeedbackFn = 0;
- fn.glBindVertexArrayOESFn = 0;
- fn.glBlendBarrierKHRFn = 0;
- fn.glBlendColorFn =
- reinterpret_cast<glBlendColorProc>(GetGLProcAddress("glBlendColor"));
- fn.glBlendEquationFn = reinterpret_cast<glBlendEquationProc>(
- GetGLProcAddress("glBlendEquation"));
- fn.glBlendEquationSeparateFn = reinterpret_cast<glBlendEquationSeparateProc>(
- GetGLProcAddress("glBlendEquationSeparate"));
- fn.glBlendFuncFn =
- reinterpret_cast<glBlendFuncProc>(GetGLProcAddress("glBlendFunc"));
- fn.glBlendFuncSeparateFn = reinterpret_cast<glBlendFuncSeparateProc>(
- GetGLProcAddress("glBlendFuncSeparate"));
- fn.glBlitFramebufferFn = 0;
- fn.glBlitFramebufferANGLEFn = 0;
- fn.glBlitFramebufferEXTFn = 0;
- fn.glBufferDataFn =
- reinterpret_cast<glBufferDataProc>(GetGLProcAddress("glBufferData"));
- fn.glBufferSubDataFn = reinterpret_cast<glBufferSubDataProc>(
- GetGLProcAddress("glBufferSubData"));
- fn.glCheckFramebufferStatusEXTFn = 0;
- fn.glClearFn = reinterpret_cast<glClearProc>(GetGLProcAddress("glClear"));
- fn.glClearBufferfiFn = 0;
- fn.glClearBufferfvFn = 0;
- fn.glClearBufferivFn = 0;
- fn.glClearBufferuivFn = 0;
- fn.glClearColorFn =
- reinterpret_cast<glClearColorProc>(GetGLProcAddress("glClearColor"));
- fn.glClearDepthFn =
- reinterpret_cast<glClearDepthProc>(GetGLProcAddress("glClearDepth"));
- fn.glClearDepthfFn = 0;
- fn.glClearStencilFn =
- reinterpret_cast<glClearStencilProc>(GetGLProcAddress("glClearStencil"));
- fn.glClientWaitSyncFn = 0;
- fn.glColorMaskFn =
- reinterpret_cast<glColorMaskProc>(GetGLProcAddress("glColorMask"));
- fn.glCompileShaderFn = reinterpret_cast<glCompileShaderProc>(
- GetGLProcAddress("glCompileShader"));
- fn.glCompressedTexImage2DFn = reinterpret_cast<glCompressedTexImage2DProc>(
- GetGLProcAddress("glCompressedTexImage2D"));
- fn.glCompressedTexImage3DFn = 0;
- fn.glCompressedTexSubImage2DFn =
- reinterpret_cast<glCompressedTexSubImage2DProc>(
- GetGLProcAddress("glCompressedTexSubImage2D"));
- fn.glCompressedTexSubImage3DFn = 0;
- fn.glCopyBufferSubDataFn = 0;
- fn.glCopyTexImage2DFn = reinterpret_cast<glCopyTexImage2DProc>(
- GetGLProcAddress("glCopyTexImage2D"));
- fn.glCopyTexSubImage2DFn = reinterpret_cast<glCopyTexSubImage2DProc>(
- GetGLProcAddress("glCopyTexSubImage2D"));
- fn.glCopyTexSubImage3DFn = 0;
- fn.glCoverFillPathNVFn = 0;
- fn.glCoverStrokePathNVFn = 0;
- 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>(
- GetGLProcAddress("glDeleteBuffers"));
- fn.glDeleteFencesAPPLEFn = 0;
- fn.glDeleteFencesNVFn = 0;
- fn.glDeleteFramebuffersEXTFn = 0;
- fn.glDeletePathsNVFn = 0;
- fn.glDeleteProgramFn = reinterpret_cast<glDeleteProgramProc>(
- GetGLProcAddress("glDeleteProgram"));
- fn.glDeleteQueriesFn = 0;
- fn.glDeleteRenderbuffersEXTFn = 0;
- fn.glDeleteSamplersFn = 0;
- fn.glDeleteShaderFn =
- reinterpret_cast<glDeleteShaderProc>(GetGLProcAddress("glDeleteShader"));
- fn.glDeleteSyncFn = 0;
- fn.glDeleteTexturesFn = reinterpret_cast<glDeleteTexturesProc>(
- GetGLProcAddress("glDeleteTextures"));
- fn.glDeleteTransformFeedbacksFn = 0;
- fn.glDeleteVertexArraysOESFn = 0;
- fn.glDepthFuncFn =
- reinterpret_cast<glDepthFuncProc>(GetGLProcAddress("glDepthFunc"));
- fn.glDepthMaskFn =
- reinterpret_cast<glDepthMaskProc>(GetGLProcAddress("glDepthMask"));
- fn.glDepthRangeFn =
- reinterpret_cast<glDepthRangeProc>(GetGLProcAddress("glDepthRange"));
- fn.glDepthRangefFn = 0;
- fn.glDetachShaderFn =
- reinterpret_cast<glDetachShaderProc>(GetGLProcAddress("glDetachShader"));
- fn.glDisableFn =
- reinterpret_cast<glDisableProc>(GetGLProcAddress("glDisable"));
- fn.glDisableVertexAttribArrayFn =
- reinterpret_cast<glDisableVertexAttribArrayProc>(
- GetGLProcAddress("glDisableVertexAttribArray"));
- fn.glDiscardFramebufferEXTFn = 0;
- fn.glDrawArraysFn =
- reinterpret_cast<glDrawArraysProc>(GetGLProcAddress("glDrawArrays"));
- fn.glDrawArraysInstancedANGLEFn = 0;
- fn.glDrawBufferFn = 0;
- fn.glDrawBuffersARBFn = 0;
- fn.glDrawElementsFn =
- reinterpret_cast<glDrawElementsProc>(GetGLProcAddress("glDrawElements"));
- fn.glDrawElementsInstancedANGLEFn = 0;
- fn.glDrawRangeElementsFn = 0;
- fn.glEGLImageTargetRenderbufferStorageOESFn = 0;
- fn.glEGLImageTargetTexture2DOESFn = 0;
- fn.glEnableFn = reinterpret_cast<glEnableProc>(GetGLProcAddress("glEnable"));
- fn.glEnableVertexAttribArrayFn =
- reinterpret_cast<glEnableVertexAttribArrayProc>(
- GetGLProcAddress("glEnableVertexAttribArray"));
- fn.glEndQueryFn = 0;
- fn.glEndTransformFeedbackFn = 0;
- fn.glFenceSyncFn = 0;
- fn.glFinishFn = reinterpret_cast<glFinishProc>(GetGLProcAddress("glFinish"));
- fn.glFinishFenceAPPLEFn = 0;
- fn.glFinishFenceNVFn = 0;
- fn.glFlushFn = reinterpret_cast<glFlushProc>(GetGLProcAddress("glFlush"));
- fn.glFlushMappedBufferRangeFn = 0;
- fn.glFramebufferRenderbufferEXTFn = 0;
- fn.glFramebufferTexture2DEXTFn = 0;
- fn.glFramebufferTexture2DMultisampleEXTFn = 0;
- fn.glFramebufferTexture2DMultisampleIMGFn = 0;
- fn.glFramebufferTextureLayerFn = 0;
- fn.glFrontFaceFn =
- reinterpret_cast<glFrontFaceProc>(GetGLProcAddress("glFrontFace"));
- fn.glGenBuffersARBFn =
- reinterpret_cast<glGenBuffersARBProc>(GetGLProcAddress("glGenBuffers"));
- fn.glGenerateMipmapEXTFn = 0;
- fn.glGenFencesAPPLEFn = 0;
- fn.glGenFencesNVFn = 0;
- fn.glGenFramebuffersEXTFn = 0;
- fn.glGenPathsNVFn = 0;
- fn.glGenQueriesFn = 0;
- fn.glGenRenderbuffersEXTFn = 0;
- fn.glGenSamplersFn = 0;
- fn.glGenTexturesFn =
- reinterpret_cast<glGenTexturesProc>(GetGLProcAddress("glGenTextures"));
- fn.glGenTransformFeedbacksFn = 0;
- fn.glGenVertexArraysOESFn = 0;
- fn.glGetActiveAttribFn = reinterpret_cast<glGetActiveAttribProc>(
- GetGLProcAddress("glGetActiveAttrib"));
- fn.glGetActiveUniformFn = reinterpret_cast<glGetActiveUniformProc>(
- GetGLProcAddress("glGetActiveUniform"));
- fn.glGetActiveUniformBlockivFn = 0;
- fn.glGetActiveUniformBlockNameFn = 0;
- fn.glGetActiveUniformsivFn = 0;
- fn.glGetAttachedShadersFn = reinterpret_cast<glGetAttachedShadersProc>(
- GetGLProcAddress("glGetAttachedShaders"));
- fn.glGetAttribLocationFn = reinterpret_cast<glGetAttribLocationProc>(
- GetGLProcAddress("glGetAttribLocation"));
- fn.glGetBooleanvFn =
- reinterpret_cast<glGetBooleanvProc>(GetGLProcAddress("glGetBooleanv"));
- fn.glGetBufferParameterivFn = reinterpret_cast<glGetBufferParameterivProc>(
- GetGLProcAddress("glGetBufferParameteriv"));
- fn.glGetErrorFn =
- reinterpret_cast<glGetErrorProc>(GetGLProcAddress("glGetError"));
- fn.glGetFenceivNVFn = 0;
- fn.glGetFloatvFn =
- reinterpret_cast<glGetFloatvProc>(GetGLProcAddress("glGetFloatv"));
- fn.glGetFragDataLocationFn = 0;
- fn.glGetFramebufferAttachmentParameterivEXTFn = 0;
- fn.glGetGraphicsResetStatusARBFn = 0;
- fn.glGetInteger64i_vFn = 0;
- fn.glGetInteger64vFn = 0;
- fn.glGetIntegeri_vFn = 0;
- fn.glGetIntegervFn =
- reinterpret_cast<glGetIntegervProc>(GetGLProcAddress("glGetIntegerv"));
- fn.glGetInternalformativFn = 0;
- fn.glGetProgramBinaryFn = 0;
- fn.glGetProgramInfoLogFn = reinterpret_cast<glGetProgramInfoLogProc>(
- GetGLProcAddress("glGetProgramInfoLog"));
- fn.glGetProgramivFn =
- reinterpret_cast<glGetProgramivProc>(GetGLProcAddress("glGetProgramiv"));
- fn.glGetProgramResourceLocationFn = 0;
- fn.glGetQueryivFn = 0;
- fn.glGetQueryObjecti64vFn = 0;
- fn.glGetQueryObjectivFn = 0;
- fn.glGetQueryObjectui64vFn = 0;
- fn.glGetQueryObjectuivFn = 0;
- fn.glGetRenderbufferParameterivEXTFn = 0;
- fn.glGetSamplerParameterfvFn = 0;
- fn.glGetSamplerParameterivFn = 0;
- fn.glGetShaderInfoLogFn = reinterpret_cast<glGetShaderInfoLogProc>(
- GetGLProcAddress("glGetShaderInfoLog"));
- fn.glGetShaderivFn =
- reinterpret_cast<glGetShaderivProc>(GetGLProcAddress("glGetShaderiv"));
- fn.glGetShaderPrecisionFormatFn = 0;
- fn.glGetShaderSourceFn = reinterpret_cast<glGetShaderSourceProc>(
- GetGLProcAddress("glGetShaderSource"));
- fn.glGetStringFn =
- reinterpret_cast<glGetStringProc>(GetGLProcAddress("glGetString"));
- fn.glGetStringiFn =
- reinterpret_cast<glGetStringiProc>(GetGLProcAddress("glGetStringi"));
- fn.glGetSyncivFn = 0;
- fn.glGetTexLevelParameterfvFn = 0;
- fn.glGetTexLevelParameterivFn = 0;
- fn.glGetTexParameterfvFn = reinterpret_cast<glGetTexParameterfvProc>(
- GetGLProcAddress("glGetTexParameterfv"));
- fn.glGetTexParameterivFn = reinterpret_cast<glGetTexParameterivProc>(
- GetGLProcAddress("glGetTexParameteriv"));
- fn.glGetTransformFeedbackVaryingFn = 0;
- fn.glGetTranslatedShaderSourceANGLEFn = 0;
- fn.glGetUniformBlockIndexFn = 0;
- fn.glGetUniformfvFn =
- reinterpret_cast<glGetUniformfvProc>(GetGLProcAddress("glGetUniformfv"));
- fn.glGetUniformIndicesFn = 0;
- fn.glGetUniformivFn =
- reinterpret_cast<glGetUniformivProc>(GetGLProcAddress("glGetUniformiv"));
- fn.glGetUniformLocationFn = reinterpret_cast<glGetUniformLocationProc>(
- GetGLProcAddress("glGetUniformLocation"));
- fn.glGetUniformuivFn = 0;
- fn.glGetVertexAttribfvFn = reinterpret_cast<glGetVertexAttribfvProc>(
- GetGLProcAddress("glGetVertexAttribfv"));
- fn.glGetVertexAttribivFn = reinterpret_cast<glGetVertexAttribivProc>(
- GetGLProcAddress("glGetVertexAttribiv"));
- fn.glGetVertexAttribPointervFn =
- reinterpret_cast<glGetVertexAttribPointervProc>(
- GetGLProcAddress("glGetVertexAttribPointerv"));
- fn.glHintFn = reinterpret_cast<glHintProc>(GetGLProcAddress("glHint"));
- fn.glInsertEventMarkerEXTFn = 0;
- fn.glInvalidateFramebufferFn = 0;
- fn.glInvalidateSubFramebufferFn = 0;
- fn.glIsBufferFn =
- reinterpret_cast<glIsBufferProc>(GetGLProcAddress("glIsBuffer"));
- fn.glIsEnabledFn =
- reinterpret_cast<glIsEnabledProc>(GetGLProcAddress("glIsEnabled"));
- fn.glIsFenceAPPLEFn = 0;
- fn.glIsFenceNVFn = 0;
- fn.glIsFramebufferEXTFn = 0;
- fn.glIsPathNVFn = 0;
- fn.glIsProgramFn =
- reinterpret_cast<glIsProgramProc>(GetGLProcAddress("glIsProgram"));
- fn.glIsQueryFn = 0;
- fn.glIsRenderbufferEXTFn = 0;
- fn.glIsSamplerFn = 0;
- fn.glIsShaderFn =
- reinterpret_cast<glIsShaderProc>(GetGLProcAddress("glIsShader"));
- fn.glIsSyncFn = 0;
- fn.glIsTextureFn =
- reinterpret_cast<glIsTextureProc>(GetGLProcAddress("glIsTexture"));
- fn.glIsTransformFeedbackFn = 0;
- fn.glIsVertexArrayOESFn = 0;
- fn.glLineWidthFn =
- reinterpret_cast<glLineWidthProc>(GetGLProcAddress("glLineWidth"));
- fn.glLinkProgramFn =
- reinterpret_cast<glLinkProgramProc>(GetGLProcAddress("glLinkProgram"));
- fn.glMapBufferFn = 0;
- fn.glMapBufferRangeFn = 0;
- fn.glMatrixLoadfEXTFn = 0;
- fn.glMatrixLoadIdentityEXTFn = 0;
- fn.glPathCommandsNVFn = 0;
- fn.glPathParameterfNVFn = 0;
- fn.glPathParameteriNVFn = 0;
- fn.glPathStencilFuncNVFn = 0;
- fn.glPauseTransformFeedbackFn = 0;
- fn.glPixelStoreiFn =
- reinterpret_cast<glPixelStoreiProc>(GetGLProcAddress("glPixelStorei"));
- fn.glPointParameteriFn = 0;
- fn.glPolygonOffsetFn = reinterpret_cast<glPolygonOffsetProc>(
- GetGLProcAddress("glPolygonOffset"));
- fn.glPopGroupMarkerEXTFn = 0;
- fn.glProgramBinaryFn = 0;
- fn.glProgramParameteriFn = 0;
- fn.glPushGroupMarkerEXTFn = 0;
- fn.glQueryCounterFn = 0;
- fn.glReadBufferFn = 0;
- fn.glReadPixelsFn =
- reinterpret_cast<glReadPixelsProc>(GetGLProcAddress("glReadPixels"));
- fn.glReleaseShaderCompilerFn = 0;
- fn.glRenderbufferStorageEXTFn = 0;
- fn.glRenderbufferStorageMultisampleFn = 0;
- fn.glRenderbufferStorageMultisampleANGLEFn = 0;
- fn.glRenderbufferStorageMultisampleEXTFn = 0;
- fn.glRenderbufferStorageMultisampleIMGFn = 0;
- fn.glResumeTransformFeedbackFn = 0;
- fn.glSampleCoverageFn = reinterpret_cast<glSampleCoverageProc>(
- GetGLProcAddress("glSampleCoverage"));
- fn.glSamplerParameterfFn = 0;
- fn.glSamplerParameterfvFn = 0;
- fn.glSamplerParameteriFn = 0;
- fn.glSamplerParameterivFn = 0;
- fn.glScissorFn =
- reinterpret_cast<glScissorProc>(GetGLProcAddress("glScissor"));
- fn.glSetFenceAPPLEFn = 0;
- fn.glSetFenceNVFn = 0;
- fn.glShaderBinaryFn = 0;
- fn.glShaderSourceFn =
- reinterpret_cast<glShaderSourceProc>(GetGLProcAddress("glShaderSource"));
- fn.glStencilFillPathNVFn = 0;
- fn.glStencilFuncFn =
- reinterpret_cast<glStencilFuncProc>(GetGLProcAddress("glStencilFunc"));
- fn.glStencilFuncSeparateFn = reinterpret_cast<glStencilFuncSeparateProc>(
- GetGLProcAddress("glStencilFuncSeparate"));
- fn.glStencilMaskFn =
- reinterpret_cast<glStencilMaskProc>(GetGLProcAddress("glStencilMask"));
- fn.glStencilMaskSeparateFn = reinterpret_cast<glStencilMaskSeparateProc>(
- GetGLProcAddress("glStencilMaskSeparate"));
- fn.glStencilOpFn =
- reinterpret_cast<glStencilOpProc>(GetGLProcAddress("glStencilOp"));
- fn.glStencilOpSeparateFn = reinterpret_cast<glStencilOpSeparateProc>(
- GetGLProcAddress("glStencilOpSeparate"));
- fn.glStencilStrokePathNVFn = 0;
- fn.glStencilThenCoverFillPathNVFn = 0;
- fn.glStencilThenCoverStrokePathNVFn = 0;
- fn.glTestFenceAPPLEFn = 0;
- fn.glTestFenceNVFn = 0;
- fn.glTexImage2DFn =
- reinterpret_cast<glTexImage2DProc>(GetGLProcAddress("glTexImage2D"));
- fn.glTexImage3DFn = 0;
- fn.glTexParameterfFn = reinterpret_cast<glTexParameterfProc>(
- GetGLProcAddress("glTexParameterf"));
- fn.glTexParameterfvFn = reinterpret_cast<glTexParameterfvProc>(
- GetGLProcAddress("glTexParameterfv"));
- fn.glTexParameteriFn = reinterpret_cast<glTexParameteriProc>(
- GetGLProcAddress("glTexParameteri"));
- fn.glTexParameterivFn = reinterpret_cast<glTexParameterivProc>(
- GetGLProcAddress("glTexParameteriv"));
- fn.glTexStorage2DEXTFn = 0;
- fn.glTexStorage3DFn = 0;
- fn.glTexSubImage2DFn = reinterpret_cast<glTexSubImage2DProc>(
- GetGLProcAddress("glTexSubImage2D"));
- fn.glTexSubImage3DFn = 0;
- fn.glTransformFeedbackVaryingsFn = 0;
- fn.glUniform1fFn =
- reinterpret_cast<glUniform1fProc>(GetGLProcAddress("glUniform1f"));
- fn.glUniform1fvFn =
- reinterpret_cast<glUniform1fvProc>(GetGLProcAddress("glUniform1fv"));
- fn.glUniform1iFn =
- reinterpret_cast<glUniform1iProc>(GetGLProcAddress("glUniform1i"));
- fn.glUniform1ivFn =
- reinterpret_cast<glUniform1ivProc>(GetGLProcAddress("glUniform1iv"));
- fn.glUniform1uiFn = 0;
- fn.glUniform1uivFn = 0;
- fn.glUniform2fFn =
- reinterpret_cast<glUniform2fProc>(GetGLProcAddress("glUniform2f"));
- fn.glUniform2fvFn =
- reinterpret_cast<glUniform2fvProc>(GetGLProcAddress("glUniform2fv"));
- fn.glUniform2iFn =
- reinterpret_cast<glUniform2iProc>(GetGLProcAddress("glUniform2i"));
- fn.glUniform2ivFn =
- reinterpret_cast<glUniform2ivProc>(GetGLProcAddress("glUniform2iv"));
- fn.glUniform2uiFn = 0;
- fn.glUniform2uivFn = 0;
- fn.glUniform3fFn =
- reinterpret_cast<glUniform3fProc>(GetGLProcAddress("glUniform3f"));
- fn.glUniform3fvFn =
- reinterpret_cast<glUniform3fvProc>(GetGLProcAddress("glUniform3fv"));
- fn.glUniform3iFn =
- reinterpret_cast<glUniform3iProc>(GetGLProcAddress("glUniform3i"));
- fn.glUniform3ivFn =
- reinterpret_cast<glUniform3ivProc>(GetGLProcAddress("glUniform3iv"));
- fn.glUniform3uiFn = 0;
- fn.glUniform3uivFn = 0;
- fn.glUniform4fFn =
- reinterpret_cast<glUniform4fProc>(GetGLProcAddress("glUniform4f"));
- fn.glUniform4fvFn =
- reinterpret_cast<glUniform4fvProc>(GetGLProcAddress("glUniform4fv"));
- fn.glUniform4iFn =
- reinterpret_cast<glUniform4iProc>(GetGLProcAddress("glUniform4i"));
- fn.glUniform4ivFn =
- reinterpret_cast<glUniform4ivProc>(GetGLProcAddress("glUniform4iv"));
- fn.glUniform4uiFn = 0;
- fn.glUniform4uivFn = 0;
- fn.glUniformBlockBindingFn = 0;
- fn.glUniformMatrix2fvFn = reinterpret_cast<glUniformMatrix2fvProc>(
- GetGLProcAddress("glUniformMatrix2fv"));
- fn.glUniformMatrix2x3fvFn = 0;
- fn.glUniformMatrix2x4fvFn = 0;
- fn.glUniformMatrix3fvFn = reinterpret_cast<glUniformMatrix3fvProc>(
- GetGLProcAddress("glUniformMatrix3fv"));
- fn.glUniformMatrix3x2fvFn = 0;
- fn.glUniformMatrix3x4fvFn = 0;
- fn.glUniformMatrix4fvFn = reinterpret_cast<glUniformMatrix4fvProc>(
- GetGLProcAddress("glUniformMatrix4fv"));
- fn.glUniformMatrix4x2fvFn = 0;
- fn.glUniformMatrix4x3fvFn = 0;
- fn.glUnmapBufferFn = 0;
- fn.glUseProgramFn =
- reinterpret_cast<glUseProgramProc>(GetGLProcAddress("glUseProgram"));
- fn.glValidateProgramFn = reinterpret_cast<glValidateProgramProc>(
- GetGLProcAddress("glValidateProgram"));
- fn.glVertexAttrib1fFn = reinterpret_cast<glVertexAttrib1fProc>(
- GetGLProcAddress("glVertexAttrib1f"));
- fn.glVertexAttrib1fvFn = reinterpret_cast<glVertexAttrib1fvProc>(
- GetGLProcAddress("glVertexAttrib1fv"));
- fn.glVertexAttrib2fFn = reinterpret_cast<glVertexAttrib2fProc>(
- GetGLProcAddress("glVertexAttrib2f"));
- fn.glVertexAttrib2fvFn = reinterpret_cast<glVertexAttrib2fvProc>(
- GetGLProcAddress("glVertexAttrib2fv"));
- fn.glVertexAttrib3fFn = reinterpret_cast<glVertexAttrib3fProc>(
- GetGLProcAddress("glVertexAttrib3f"));
- fn.glVertexAttrib3fvFn = reinterpret_cast<glVertexAttrib3fvProc>(
- GetGLProcAddress("glVertexAttrib3fv"));
- fn.glVertexAttrib4fFn = reinterpret_cast<glVertexAttrib4fProc>(
- GetGLProcAddress("glVertexAttrib4f"));
- fn.glVertexAttrib4fvFn = reinterpret_cast<glVertexAttrib4fvProc>(
- GetGLProcAddress("glVertexAttrib4fv"));
- fn.glVertexAttribDivisorANGLEFn = 0;
- fn.glVertexAttribI4iFn = 0;
- fn.glVertexAttribI4ivFn = 0;
- fn.glVertexAttribI4uiFn = 0;
- fn.glVertexAttribI4uivFn = 0;
- fn.glVertexAttribIPointerFn = 0;
- fn.glVertexAttribPointerFn = reinterpret_cast<glVertexAttribPointerProc>(
- GetGLProcAddress("glVertexAttribPointer"));
- fn.glViewportFn =
- reinterpret_cast<glViewportProc>(GetGLProcAddress("glViewport"));
- fn.glWaitSyncFn = 0;
- }
- void DriverGL::InitializeDynamicBindings(GLContext* context) {
- DCHECK(context && context->IsCurrent(NULL));
- const GLVersionInfo* ver = context->GetVersionInfo();
- ALLOW_UNUSED_LOCAL(ver);
- std::string extensions = context->GetExtensions() + " ";
- ALLOW_UNUSED_LOCAL(extensions);
- ext.b_GL_ANGLE_framebuffer_blit =
- extensions.find("GL_ANGLE_framebuffer_blit ") != std::string::npos;
- ext.b_GL_ANGLE_framebuffer_multisample =
- extensions.find("GL_ANGLE_framebuffer_multisample ") != std::string::npos;
- ext.b_GL_ANGLE_instanced_arrays =
- extensions.find("GL_ANGLE_instanced_arrays ") != std::string::npos;
- ext.b_GL_ANGLE_translated_shader_source =
- extensions.find("GL_ANGLE_translated_shader_source ") !=
- std::string::npos;
- ext.b_GL_APPLE_fence =
- 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_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_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_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_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_vertex_array_object =
- extensions.find("GL_ARB_vertex_array_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_CHROMIUM_glgetstringi_hack =
- extensions.find("GL_CHROMIUM_glgetstringi_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 =
- extensions.find("GL_EXT_direct_state_access ") != std::string::npos;
- ext.b_GL_EXT_discard_framebuffer =
- extensions.find("GL_EXT_discard_framebuffer ") != std::string::npos;
- ext.b_GL_EXT_disjoint_timer_query =
- extensions.find("GL_EXT_disjoint_timer_query ") != std::string::npos;
- ext.b_GL_EXT_draw_buffers =
- extensions.find("GL_EXT_draw_buffers ") != std::string::npos;
- ext.b_GL_EXT_framebuffer_blit =
- extensions.find("GL_EXT_framebuffer_blit ") != std::string::npos;
- ext.b_GL_EXT_framebuffer_multisample =
- extensions.find("GL_EXT_framebuffer_multisample ") != std::string::npos;
- ext.b_GL_EXT_framebuffer_object =
- extensions.find("GL_EXT_framebuffer_object ") != std::string::npos;
- ext.b_GL_EXT_map_buffer_range =
- extensions.find("GL_EXT_map_buffer_range ") != std::string::npos;
- 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 =
- extensions.find("GL_EXT_texture_storage ") != std::string::npos;
- ext.b_GL_EXT_timer_query =
- extensions.find("GL_EXT_timer_query ") != std::string::npos;
- ext.b_GL_IMG_multisampled_render_to_texture =
- extensions.find("GL_IMG_multisampled_render_to_texture ") !=
- std::string::npos;
- ext.b_GL_INTEL_framebuffer_CMAA =
- extensions.find("GL_INTEL_framebuffer_CMAA ") != std::string::npos;
- ext.b_GL_KHR_blend_equation_advanced =
- extensions.find("GL_KHR_blend_equation_advanced ") != std::string::npos;
- ext.b_GL_KHR_robustness =
- extensions.find("GL_KHR_robustness ") != std::string::npos;
- ext.b_GL_NV_blend_equation_advanced =
- extensions.find("GL_NV_blend_equation_advanced ") != std::string::npos;
- ext.b_GL_NV_fence = extensions.find("GL_NV_fence ") != std::string::npos;
- ext.b_GL_NV_path_rendering =
- extensions.find("GL_NV_path_rendering ") != std::string::npos;
- ext.b_GL_OES_EGL_image =
- extensions.find("GL_OES_EGL_image ") != std::string::npos;
- ext.b_GL_OES_get_program_binary =
- extensions.find("GL_OES_get_program_binary ") != std::string::npos;
- ext.b_GL_OES_mapbuffer =
- extensions.find("GL_OES_mapbuffer ") != std::string::npos;
- ext.b_GL_OES_vertex_array_object =
- extensions.find("GL_OES_vertex_array_object ") != std::string::npos;
- debug_fn.glApplyFramebufferAttachmentCMAAINTELFn = 0;
- if (ext.b_GL_INTEL_framebuffer_CMAA) {
- fn.glApplyFramebufferAttachmentCMAAINTELFn =
- reinterpret_cast<glApplyFramebufferAttachmentCMAAINTELProc>(
- GetGLProcAddress("glApplyFramebufferAttachmentCMAAINTEL"));
- DCHECK(fn.glApplyFramebufferAttachmentCMAAINTELFn);
- }
- debug_fn.glBeginQueryFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBeginQueryFn =
- reinterpret_cast<glBeginQueryProc>(GetGLProcAddress("glBeginQuery"));
- DCHECK(fn.glBeginQueryFn);
- } else if (ext.b_GL_ARB_occlusion_query) {
- fn.glBeginQueryFn =
- reinterpret_cast<glBeginQueryProc>(GetGLProcAddress("glBeginQueryARB"));
- DCHECK(fn.glBeginQueryFn);
- } else if (ext.b_GL_EXT_disjoint_timer_query ||
- ext.b_GL_EXT_occlusion_query_boolean) {
- fn.glBeginQueryFn =
- reinterpret_cast<glBeginQueryProc>(GetGLProcAddress("glBeginQueryEXT"));
- DCHECK(fn.glBeginQueryFn);
- }
- debug_fn.glBeginTransformFeedbackFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBeginTransformFeedbackFn =
- reinterpret_cast<glBeginTransformFeedbackProc>(
- GetGLProcAddress("glBeginTransformFeedback"));
- DCHECK(fn.glBeginTransformFeedbackFn);
- }
- debug_fn.glBindBufferBaseFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBindBufferBaseFn = reinterpret_cast<glBindBufferBaseProc>(
- GetGLProcAddress("glBindBufferBase"));
- DCHECK(fn.glBindBufferBaseFn);
- }
- debug_fn.glBindBufferRangeFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBindBufferRangeFn = reinterpret_cast<glBindBufferRangeProc>(
- GetGLProcAddress("glBindBufferRange"));
- DCHECK(fn.glBindBufferRangeFn);
- }
- debug_fn.glBindFragDataLocationFn = 0;
- if (ver->IsAtLeastGL(3u, 0u)) {
- fn.glBindFragDataLocationFn = reinterpret_cast<glBindFragDataLocationProc>(
- GetGLProcAddress("glBindFragDataLocation"));
- DCHECK(fn.glBindFragDataLocationFn);
- }
- debug_fn.glBindFragDataLocationIndexedFn = 0;
- if (ver->IsAtLeastGL(3u, 3u)) {
- fn.glBindFragDataLocationIndexedFn =
- reinterpret_cast<glBindFragDataLocationIndexedProc>(
- GetGLProcAddress("glBindFragDataLocationIndexed"));
- DCHECK(fn.glBindFragDataLocationIndexedFn);
- }
- debug_fn.glBindFramebufferEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>(
- GetGLProcAddress("glBindFramebuffer"));
- DCHECK(fn.glBindFramebufferEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>(
- GetGLProcAddress("glBindFramebufferEXT"));
- DCHECK(fn.glBindFramebufferEXTFn);
- }
- debug_fn.glBindRenderbufferEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>(
- GetGLProcAddress("glBindRenderbuffer"));
- DCHECK(fn.glBindRenderbufferEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>(
- GetGLProcAddress("glBindRenderbufferEXT"));
- DCHECK(fn.glBindRenderbufferEXTFn);
- }
- debug_fn.glBindSamplerFn = 0;
- if (ver->IsAtLeastGL(3u, 3u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBindSamplerFn =
- reinterpret_cast<glBindSamplerProc>(GetGLProcAddress("glBindSampler"));
- DCHECK(fn.glBindSamplerFn);
- }
- debug_fn.glBindTransformFeedbackFn = 0;
- if (ver->IsAtLeastGLES(3u, 0u) || ver->IsAtLeastGL(4u, 0u)) {
- fn.glBindTransformFeedbackFn =
- reinterpret_cast<glBindTransformFeedbackProc>(
- GetGLProcAddress("glBindTransformFeedback"));
- DCHECK(fn.glBindTransformFeedbackFn);
- }
- debug_fn.glBindVertexArrayOESFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u) ||
- ext.b_GL_ARB_vertex_array_object) {
- fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>(
- GetGLProcAddress("glBindVertexArray"));
- DCHECK(fn.glBindVertexArrayOESFn);
- } else if (ext.b_GL_OES_vertex_array_object) {
- fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>(
- GetGLProcAddress("glBindVertexArrayOES"));
- DCHECK(fn.glBindVertexArrayOESFn);
- } else if (ext.b_GL_APPLE_vertex_array_object) {
- fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>(
- GetGLProcAddress("glBindVertexArrayAPPLE"));
- DCHECK(fn.glBindVertexArrayOESFn);
- }
- debug_fn.glBlendBarrierKHRFn = 0;
- if (ext.b_GL_NV_blend_equation_advanced) {
- fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>(
- GetGLProcAddress("glBlendBarrierNV"));
- DCHECK(fn.glBlendBarrierKHRFn);
- } else if (ext.b_GL_KHR_blend_equation_advanced) {
- fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>(
- GetGLProcAddress("glBlendBarrierKHR"));
- DCHECK(fn.glBlendBarrierKHRFn);
- }
- debug_fn.glBlitFramebufferFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBlitFramebufferFn = reinterpret_cast<glBlitFramebufferProc>(
- GetGLProcAddress("glBlitFramebuffer"));
- DCHECK(fn.glBlitFramebufferFn);
- }
- debug_fn.glBlitFramebufferANGLEFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>(
- GetGLProcAddress("glBlitFramebuffer"));
- DCHECK(fn.glBlitFramebufferANGLEFn);
- } else if (ext.b_GL_ANGLE_framebuffer_blit) {
- fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>(
- GetGLProcAddress("glBlitFramebufferANGLE"));
- DCHECK(fn.glBlitFramebufferANGLEFn);
- }
- debug_fn.glBlitFramebufferEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>(
- GetGLProcAddress("glBlitFramebuffer"));
- DCHECK(fn.glBlitFramebufferEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_blit) {
- fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>(
- GetGLProcAddress("glBlitFramebufferEXT"));
- DCHECK(fn.glBlitFramebufferEXTFn);
- }
- debug_fn.glCheckFramebufferStatusEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glCheckFramebufferStatusEXTFn =
- reinterpret_cast<glCheckFramebufferStatusEXTProc>(
- GetGLProcAddress("glCheckFramebufferStatus"));
- DCHECK(fn.glCheckFramebufferStatusEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glCheckFramebufferStatusEXTFn =
- reinterpret_cast<glCheckFramebufferStatusEXTProc>(
- GetGLProcAddress("glCheckFramebufferStatusEXT"));
- DCHECK(fn.glCheckFramebufferStatusEXTFn);
- }
- debug_fn.glClearBufferfiFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glClearBufferfiFn = reinterpret_cast<glClearBufferfiProc>(
- GetGLProcAddress("glClearBufferfi"));
- DCHECK(fn.glClearBufferfiFn);
- }
- debug_fn.glClearBufferfvFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glClearBufferfvFn = reinterpret_cast<glClearBufferfvProc>(
- GetGLProcAddress("glClearBufferfv"));
- DCHECK(fn.glClearBufferfvFn);
- }
- debug_fn.glClearBufferivFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glClearBufferivFn = reinterpret_cast<glClearBufferivProc>(
- GetGLProcAddress("glClearBufferiv"));
- DCHECK(fn.glClearBufferivFn);
- }
- debug_fn.glClearBufferuivFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glClearBufferuivFn = reinterpret_cast<glClearBufferuivProc>(
- GetGLProcAddress("glClearBufferuiv"));
- DCHECK(fn.glClearBufferuivFn);
- }
- debug_fn.glClearDepthfFn = 0;
- if (ver->IsAtLeastGL(4u, 1u) || ver->is_es) {
- fn.glClearDepthfFn =
- reinterpret_cast<glClearDepthfProc>(GetGLProcAddress("glClearDepthf"));
- DCHECK(fn.glClearDepthfFn);
- }
- debug_fn.glClientWaitSyncFn = 0;
- if (ver->IsAtLeastGL(3u, 2u) || ver->IsAtLeastGLES(3u, 0u) ||
- ext.b_GL_ARB_sync) {
- fn.glClientWaitSyncFn = reinterpret_cast<glClientWaitSyncProc>(
- GetGLProcAddress("glClientWaitSync"));
- DCHECK(fn.glClientWaitSyncFn);
- }
- debug_fn.glCompressedTexImage3DFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glCompressedTexImage3DFn = reinterpret_cast<glCompressedTexImage3DProc>(
- GetGLProcAddress("glCompressedTexImage3D"));
- DCHECK(fn.glCompressedTexImage3DFn);
- }
- debug_fn.glCompressedTexSubImage3DFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glCompressedTexSubImage3DFn =
- reinterpret_cast<glCompressedTexSubImage3DProc>(
- GetGLProcAddress("glCompressedTexSubImage3D"));
- DCHECK(fn.glCompressedTexSubImage3DFn);
- }
- debug_fn.glCopyBufferSubDataFn = 0;
- if (ver->IsAtLeastGLES(3u, 0u) || ver->IsAtLeastGL(3u, 1u)) {
- fn.glCopyBufferSubDataFn = reinterpret_cast<glCopyBufferSubDataProc>(
- GetGLProcAddress("glCopyBufferSubData"));
- DCHECK(fn.glCopyBufferSubDataFn);
- }
- debug_fn.glCopyTexSubImage3DFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glCopyTexSubImage3DFn = reinterpret_cast<glCopyTexSubImage3DProc>(
- GetGLProcAddress("glCopyTexSubImage3D"));
- DCHECK(fn.glCopyTexSubImage3DFn);
- }
- debug_fn.glCoverFillPathNVFn = 0;
- if (ext.b_GL_NV_path_rendering) {
- fn.glCoverFillPathNVFn = reinterpret_cast<glCoverFillPathNVProc>(
- GetGLProcAddress("glCoverFillPathNV"));
- DCHECK(fn.glCoverFillPathNVFn);
- }
- debug_fn.glCoverStrokePathNVFn = 0;
- if (ext.b_GL_NV_path_rendering) {
- fn.glCoverStrokePathNVFn = reinterpret_cast<glCoverStrokePathNVProc>(
- GetGLProcAddress("glCoverStrokePathNV"));
- DCHECK(fn.glCoverStrokePathNVFn);
- }
- debug_fn.glDeleteFencesAPPLEFn = 0;
- if (ext.b_GL_APPLE_fence) {
- fn.glDeleteFencesAPPLEFn = reinterpret_cast<glDeleteFencesAPPLEProc>(
- GetGLProcAddress("glDeleteFencesAPPLE"));
- DCHECK(fn.glDeleteFencesAPPLEFn);
- }
- debug_fn.glDeleteFencesNVFn = 0;
- if (ext.b_GL_NV_fence) {
- fn.glDeleteFencesNVFn = reinterpret_cast<glDeleteFencesNVProc>(
- GetGLProcAddress("glDeleteFencesNV"));
- DCHECK(fn.glDeleteFencesNVFn);
- }
- debug_fn.glDeleteFramebuffersEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glDeleteFramebuffersEXTFn =
- reinterpret_cast<glDeleteFramebuffersEXTProc>(
- GetGLProcAddress("glDeleteFramebuffers"));
- DCHECK(fn.glDeleteFramebuffersEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glDeleteFramebuffersEXTFn =
- reinterpret_cast<glDeleteFramebuffersEXTProc>(
- GetGLProcAddress("glDeleteFramebuffersEXT"));
- DCHECK(fn.glDeleteFramebuffersEXTFn);
- }
- debug_fn.glDeletePathsNVFn = 0;
- if (ext.b_GL_NV_path_rendering) {
- fn.glDeletePathsNVFn = reinterpret_cast<glDeletePathsNVProc>(
- GetGLProcAddress("glDeletePathsNV"));
- DCHECK(fn.glDeletePathsNVFn);
- }
- debug_fn.glDeleteQueriesFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glDeleteQueriesFn = reinterpret_cast<glDeleteQueriesProc>(
- GetGLProcAddress("glDeleteQueries"));
- DCHECK(fn.glDeleteQueriesFn);
- } else if (ext.b_GL_ARB_occlusion_query) {
- fn.glDeleteQueriesFn = reinterpret_cast<glDeleteQueriesProc>(
- GetGLProcAddress("glDeleteQueriesARB"));
- DCHECK(fn.glDeleteQueriesFn);
- } else if (ext.b_GL_EXT_disjoint_timer_query ||
- ext.b_GL_EXT_occlusion_query_boolean) {
- fn.glDeleteQueriesFn = reinterpret_cast<glDeleteQueriesProc>(
- GetGLProcAddress("glDeleteQueriesEXT"));
- DCHECK(fn.glDeleteQueriesFn);
- }
- debug_fn.glDeleteRenderbuffersEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glDeleteRenderbuffersEXTFn =
- reinterpret_cast<glDeleteRenderbuffersEXTProc>(
- GetGLProcAddress("glDeleteRenderbuffers"));
- DCHECK(fn.glDeleteRenderbuffersEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glDeleteRenderbuffersEXTFn =
- reinterpret_cast<glDeleteRenderbuffersEXTProc>(
- GetGLProcAddress("glDeleteRenderbuffersEXT"));
- DCHECK(fn.glDeleteRenderbuffersEXTFn);
- }
- debug_fn.glDeleteSamplersFn = 0;
- if (ver->IsAtLeastGL(3u, 3u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glDeleteSamplersFn = reinterpret_cast<glDeleteSamplersProc>(
- GetGLProcAddress("glDeleteSamplers"));
- DCHECK(fn.glDeleteSamplersFn);
- }
- debug_fn.glDeleteSyncFn = 0;
- if (ver->IsAtLeastGL(3u, 2u) || ver->IsAtLeastGLES(3u, 0u) ||
- ext.b_GL_ARB_sync) {
- fn.glDeleteSyncFn =
- reinterpret_cast<glDeleteSyncProc>(GetGLProcAddress("glDeleteSync"));
- DCHECK(fn.glDeleteSyncFn);
- }
- debug_fn.glDeleteTransformFeedbacksFn = 0;
- if (ver->IsAtLeastGLES(3u, 0u) || ver->IsAtLeastGL(4u, 0u)) {
- fn.glDeleteTransformFeedbacksFn =
- reinterpret_cast<glDeleteTransformFeedbacksProc>(
- GetGLProcAddress("glDeleteTransformFeedbacks"));
- DCHECK(fn.glDeleteTransformFeedbacksFn);
- }
- debug_fn.glDeleteVertexArraysOESFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u) ||
- ext.b_GL_ARB_vertex_array_object) {
- fn.glDeleteVertexArraysOESFn =
- reinterpret_cast<glDeleteVertexArraysOESProc>(
- GetGLProcAddress("glDeleteVertexArrays"));
- DCHECK(fn.glDeleteVertexArraysOESFn);
- } else if (ext.b_GL_OES_vertex_array_object) {
- fn.glDeleteVertexArraysOESFn =
- reinterpret_cast<glDeleteVertexArraysOESProc>(
- GetGLProcAddress("glDeleteVertexArraysOES"));
- DCHECK(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->IsAtLeastGL(4u, 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);
- }
- debug_fn.glDrawArraysInstancedANGLEFn = 0;
- if (ver->IsAtLeastGLES(3u, 0u) || ver->IsAtLeastGL(3u, 1u)) {
- fn.glDrawArraysInstancedANGLEFn =
- reinterpret_cast<glDrawArraysInstancedANGLEProc>(
- GetGLProcAddress("glDrawArraysInstanced"));
- DCHECK(fn.glDrawArraysInstancedANGLEFn);
- } else if (ext.b_GL_ARB_draw_instanced) {
- fn.glDrawArraysInstancedANGLEFn =
- reinterpret_cast<glDrawArraysInstancedANGLEProc>(
- GetGLProcAddress("glDrawArraysInstancedARB"));
- DCHECK(fn.glDrawArraysInstancedANGLEFn);
- } else if (ext.b_GL_ANGLE_instanced_arrays) {
- fn.glDrawArraysInstancedANGLEFn =
- reinterpret_cast<glDrawArraysInstancedANGLEProc>(
- GetGLProcAddress("glDrawArraysInstancedANGLE"));
- DCHECK(fn.glDrawArraysInstancedANGLEFn);
- }
- debug_fn.glDrawBufferFn = 0;
- if (!ver->is_es) {
- fn.glDrawBufferFn =
- reinterpret_cast<glDrawBufferProc>(GetGLProcAddress("glDrawBuffer"));
- DCHECK(fn.glDrawBufferFn);
- }
- debug_fn.glDrawBuffersARBFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>(
- GetGLProcAddress("glDrawBuffers"));
- DCHECK(fn.glDrawBuffersARBFn);
- } else if (ext.b_GL_ARB_draw_buffers) {
- fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>(
- GetGLProcAddress("glDrawBuffersARB"));
- DCHECK(fn.glDrawBuffersARBFn);
- } else if (ext.b_GL_EXT_draw_buffers) {
- fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>(
- GetGLProcAddress("glDrawBuffersEXT"));
- DCHECK(fn.glDrawBuffersARBFn);
- }
- debug_fn.glDrawElementsInstancedANGLEFn = 0;
- if (ver->IsAtLeastGLES(3u, 0u) || ver->IsAtLeastGL(3u, 1u)) {
- fn.glDrawElementsInstancedANGLEFn =
- reinterpret_cast<glDrawElementsInstancedANGLEProc>(
- GetGLProcAddress("glDrawElementsInstanced"));
- DCHECK(fn.glDrawElementsInstancedANGLEFn);
- } else if (ext.b_GL_ARB_draw_instanced) {
- fn.glDrawElementsInstancedANGLEFn =
- reinterpret_cast<glDrawElementsInstancedANGLEProc>(
- GetGLProcAddress("glDrawElementsInstancedARB"));
- DCHECK(fn.glDrawElementsInstancedANGLEFn);
- } else if (ext.b_GL_ANGLE_instanced_arrays) {
- fn.glDrawElementsInstancedANGLEFn =
- reinterpret_cast<glDrawElementsInstancedANGLEProc>(
- GetGLProcAddress("glDrawElementsInstancedANGLE"));
- DCHECK(fn.glDrawElementsInstancedANGLEFn);
- }
- debug_fn.glDrawRangeElementsFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- 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->IsAtLeastGLES(3u, 0u)) {
- fn.glEndQueryFn =
- reinterpret_cast<glEndQueryProc>(GetGLProcAddress("glEndQuery"));
- DCHECK(fn.glEndQueryFn);
- } else if (ext.b_GL_ARB_occlusion_query) {
- fn.glEndQueryFn =
- reinterpret_cast<glEndQueryProc>(GetGLProcAddress("glEndQueryARB"));
- DCHECK(fn.glEndQueryFn);
- } else if (ext.b_GL_EXT_disjoint_timer_query ||
- ext.b_GL_EXT_occlusion_query_boolean) {
- fn.glEndQueryFn =
- reinterpret_cast<glEndQueryProc>(GetGLProcAddress("glEndQueryEXT"));
- DCHECK(fn.glEndQueryFn);
- }
- debug_fn.glEndTransformFeedbackFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glEndTransformFeedbackFn = reinterpret_cast<glEndTransformFeedbackProc>(
- GetGLProcAddress("glEndTransformFeedback"));
- DCHECK(fn.glEndTransformFeedbackFn);
- }
- debug_fn.glFenceSyncFn = 0;
- if (ver->IsAtLeastGL(3u, 2u) || ver->IsAtLeastGLES(3u, 0u) ||
- ext.b_GL_ARB_sync) {
- fn.glFenceSyncFn =
- reinterpret_cast<glFenceSyncProc>(GetGLProcAddress("glFenceSync"));
- DCHECK(fn.glFenceSyncFn);
- }
- debug_fn.glFinishFenceAPPLEFn = 0;
- if (ext.b_GL_APPLE_fence) {
- fn.glFinishFenceAPPLEFn = reinterpret_cast<glFinishFenceAPPLEProc>(
- GetGLProcAddress("glFinishFenceAPPLE"));
- DCHECK(fn.glFinishFenceAPPLEFn);
- }
- debug_fn.glFinishFenceNVFn = 0;
- if (ext.b_GL_NV_fence) {
- fn.glFinishFenceNVFn = reinterpret_cast<glFinishFenceNVProc>(
- GetGLProcAddress("glFinishFenceNV"));
- DCHECK(fn.glFinishFenceNVFn);
- }
- debug_fn.glFlushMappedBufferRangeFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glFlushMappedBufferRangeFn =
- reinterpret_cast<glFlushMappedBufferRangeProc>(
- GetGLProcAddress("glFlushMappedBufferRange"));
- DCHECK(fn.glFlushMappedBufferRangeFn);
- }
- debug_fn.glFramebufferRenderbufferEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glFramebufferRenderbufferEXTFn =
- reinterpret_cast<glFramebufferRenderbufferEXTProc>(
- GetGLProcAddress("glFramebufferRenderbuffer"));
- DCHECK(fn.glFramebufferRenderbufferEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glFramebufferRenderbufferEXTFn =
- reinterpret_cast<glFramebufferRenderbufferEXTProc>(
- GetGLProcAddress("glFramebufferRenderbufferEXT"));
- DCHECK(fn.glFramebufferRenderbufferEXTFn);
- }
- debug_fn.glFramebufferTexture2DEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glFramebufferTexture2DEXTFn =
- reinterpret_cast<glFramebufferTexture2DEXTProc>(
- GetGLProcAddress("glFramebufferTexture2D"));
- DCHECK(fn.glFramebufferTexture2DEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glFramebufferTexture2DEXTFn =
- reinterpret_cast<glFramebufferTexture2DEXTProc>(
- GetGLProcAddress("glFramebufferTexture2DEXT"));
- DCHECK(fn.glFramebufferTexture2DEXTFn);
- }
- debug_fn.glFramebufferTexture2DMultisampleEXTFn = 0;
- if (ext.b_GL_EXT_multisampled_render_to_texture) {
- fn.glFramebufferTexture2DMultisampleEXTFn =
- reinterpret_cast<glFramebufferTexture2DMultisampleEXTProc>(
- GetGLProcAddress("glFramebufferTexture2DMultisampleEXT"));
- 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);
- }
- debug_fn.glFramebufferTextureLayerFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glFramebufferTextureLayerFn =
- reinterpret_cast<glFramebufferTextureLayerProc>(
- GetGLProcAddress("glFramebufferTextureLayer"));
- DCHECK(fn.glFramebufferTextureLayerFn);
- }
- debug_fn.glGenerateMipmapEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>(
- GetGLProcAddress("glGenerateMipmap"));
- DCHECK(fn.glGenerateMipmapEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>(
- GetGLProcAddress("glGenerateMipmapEXT"));
- DCHECK(fn.glGenerateMipmapEXTFn);
- }
- debug_fn.glGenFencesAPPLEFn = 0;
- if (ext.b_GL_APPLE_fence) {
- fn.glGenFencesAPPLEFn = reinterpret_cast<glGenFencesAPPLEProc>(
- GetGLProcAddress("glGenFencesAPPLE"));
- DCHECK(fn.glGenFencesAPPLEFn);
- }
- debug_fn.glGenFencesNVFn = 0;
- if (ext.b_GL_NV_fence) {
- fn.glGenFencesNVFn =
- reinterpret_cast<glGenFencesNVProc>(GetGLProcAddress("glGenFencesNV"));
- DCHECK(fn.glGenFencesNVFn);
- }
- debug_fn.glGenFramebuffersEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>(
- GetGLProcAddress("glGenFramebuffers"));
- DCHECK(fn.glGenFramebuffersEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>(
- GetGLProcAddress("glGenFramebuffersEXT"));
- DCHECK(fn.glGenFramebuffersEXTFn);
- }
- debug_fn.glGenPathsNVFn = 0;
- if (ext.b_GL_NV_path_rendering) {
- fn.glGenPathsNVFn =
- reinterpret_cast<glGenPathsNVProc>(GetGLProcAddress("glGenPathsNV"));
- DCHECK(fn.glGenPathsNVFn);
- }
- debug_fn.glGenQueriesFn = 0;
- if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glGenQueriesFn =
- reinterpret_cast<glGenQueriesProc>(GetGLProcAddress("glGenQueries"));
- DCHECK(fn.glGenQueriesFn);
- } else if (ext.b_GL_ARB_occlusion_query) {
- fn.glGenQueriesFn =
- reinterpret_cast<glGenQueriesProc>(GetGLProcAddress("glGenQueriesARB"));
- DCHECK(fn.glGenQueriesFn);
- } else if (ext.b_GL_EXT_disjoint_timer_query ||
- ext.b_GL_EXT_occlusion_query_boolean) {
- fn.glGenQueriesFn =
- reinterpret_cast<glGenQueriesProc>(GetGLProcAddress("glGenQueriesEXT"));
- DCHECK(fn.glGenQueriesFn);
- }
- debug_fn.glGenRenderbuffersEXTFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
- fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>(
- GetGLProcAddress("glGenRenderbuffers"));
- DCHECK(fn.glGenRenderbuffersEXTFn);
- } else if (ext.b_GL_EXT_framebuffer_object) {
- fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>(
- GetGLProcAddress("glGenRenderbuffersEXT"));
- DCHECK(fn.glGenRenderbuffersEXTFn);
- }
- debug_fn.glGenSamplersFn = 0;
- if (ver->IsAtLeastGL(3u, 3u) || ver->IsAtLeastGLES(3u, 0u)) {
- fn.glGenSamplersFn =
- reinterpret_cast<glGenSamplersProc>(GetGLProcAddress("glGenSamplers"));
- DCHECK(fn.glGenSamplersFn);
- }
- debug_fn.glGenTransformFeedbacksFn = 0;
- if (ver->IsAtLeastGLES(3u, 0u) || ver->IsAtLeastGL(4u, 0u)) {
- fn.glGenTransformFeedbacksFn =
- reinterpret_cast<glGenTransformFeedbacksProc>(
- GetGLProcAddress("glGenTransformFeedbacks"));
- DCHECK(fn.glGenTransformFeedbacksFn);
- }
- debug_fn.glGenVertexArraysOESFn = 0;
- if (ver->IsAtLeastGL(3u, 0u) || ver->IsAtLeastGLES(3u, 0u) ||
- ext.b_GL_ARB_vertex_array_object) {
- fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArr