| Index: src/gpu/gl/GrGLInterface.cpp
|
| diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp
|
| index 0a43f6e4f9b182811b0029feb3101a6e3792eede..7cb6239a855473044b58ad9a0420941ef8662162 100644
|
| --- a/src/gpu/gl/GrGLInterface.cpp
|
| +++ b/src/gpu/gl/GrGLInterface.cpp
|
| @@ -28,9 +28,9 @@ const GrGLInterface* GrGLInterfaceAddTestDebugMarker(const GrGLInterface* interf
|
| newInterface->fExtensions.add("GL_EXT_debug_marker");
|
| }
|
|
|
| - newInterface->fInsertEventMarker = insertEventMarkerFn;
|
| - newInterface->fPushGroupMarker = pushGroupMarkerFn;
|
| - newInterface->fPopGroupMarker = popGroupMarkerFn;
|
| + newInterface->fFunctions.fInsertEventMarker = insertEventMarkerFn;
|
| + newInterface->fFunctions.fPushGroupMarker = pushGroupMarkerFn;
|
| + newInterface->fFunctions.fPopGroupMarker = popGroupMarkerFn;
|
|
|
| return newInterface;
|
| }
|
| @@ -40,245 +40,60 @@ const GrGLInterface* GrGLInterfaceRemoveNVPR(const GrGLInterface* interface) {
|
|
|
| newInterface->fExtensions.remove("GL_NV_path_rendering");
|
|
|
| - newInterface->fPathCommands = NULL;
|
| - newInterface->fPathCoords = NULL;
|
| - newInterface->fPathSubCommands = NULL;
|
| - newInterface->fPathSubCoords = NULL;
|
| - newInterface->fPathString = NULL;
|
| - newInterface->fPathGlyphs = NULL;
|
| - newInterface->fPathGlyphRange = NULL;
|
| - newInterface->fWeightPaths = NULL;
|
| - newInterface->fCopyPath = NULL;
|
| - newInterface->fInterpolatePaths = NULL;
|
| - newInterface->fTransformPath = NULL;
|
| - newInterface->fPathParameteriv = NULL;
|
| - newInterface->fPathParameteri = NULL;
|
| - newInterface->fPathParameterfv = NULL;
|
| - newInterface->fPathParameterf = NULL;
|
| - newInterface->fPathDashArray = NULL;
|
| - newInterface->fGenPaths = NULL;
|
| - newInterface->fDeletePaths = NULL;
|
| - newInterface->fIsPath = NULL;
|
| - newInterface->fPathStencilFunc = NULL;
|
| - newInterface->fPathStencilDepthOffset = NULL;
|
| - newInterface->fStencilFillPath = NULL;
|
| - newInterface->fStencilStrokePath = NULL;
|
| - newInterface->fStencilFillPathInstanced = NULL;
|
| - newInterface->fStencilStrokePathInstanced = NULL;
|
| - newInterface->fPathCoverDepthFunc = NULL;
|
| - newInterface->fPathColorGen = NULL;
|
| - newInterface->fPathTexGen = NULL;
|
| - newInterface->fPathFogGen = NULL;
|
| - newInterface->fCoverFillPath = NULL;
|
| - newInterface->fCoverStrokePath = NULL;
|
| - newInterface->fCoverFillPathInstanced = NULL;
|
| - newInterface->fCoverStrokePathInstanced = NULL;
|
| - newInterface->fGetPathParameteriv = NULL;
|
| - newInterface->fGetPathParameterfv = NULL;
|
| - newInterface->fGetPathCommands = NULL;
|
| - newInterface->fGetPathCoords = NULL;
|
| - newInterface->fGetPathDashArray = NULL;
|
| - newInterface->fGetPathMetrics = NULL;
|
| - newInterface->fGetPathMetricRange = NULL;
|
| - newInterface->fGetPathSpacing = NULL;
|
| - newInterface->fGetPathColorGeniv = NULL;
|
| - newInterface->fGetPathColorGenfv = NULL;
|
| - newInterface->fGetPathTexGeniv = NULL;
|
| - newInterface->fGetPathTexGenfv = NULL;
|
| - newInterface->fIsPointInFillPath = NULL;
|
| - newInterface->fIsPointInStrokePath = NULL;
|
| - newInterface->fGetPathLength = NULL;
|
| - newInterface->fPointAlongPath = NULL;
|
| + newInterface->fFunctions.fPathCommands = NULL;
|
| + newInterface->fFunctions.fPathCoords = NULL;
|
| + newInterface->fFunctions.fPathSubCommands = NULL;
|
| + newInterface->fFunctions.fPathSubCoords = NULL;
|
| + newInterface->fFunctions.fPathString = NULL;
|
| + newInterface->fFunctions.fPathGlyphs = NULL;
|
| + newInterface->fFunctions.fPathGlyphRange = NULL;
|
| + newInterface->fFunctions.fWeightPaths = NULL;
|
| + newInterface->fFunctions.fCopyPath = NULL;
|
| + newInterface->fFunctions.fInterpolatePaths = NULL;
|
| + newInterface->fFunctions.fTransformPath = NULL;
|
| + newInterface->fFunctions.fPathParameteriv = NULL;
|
| + newInterface->fFunctions.fPathParameteri = NULL;
|
| + newInterface->fFunctions.fPathParameterfv = NULL;
|
| + newInterface->fFunctions.fPathParameterf = NULL;
|
| + newInterface->fFunctions.fPathDashArray = NULL;
|
| + newInterface->fFunctions.fGenPaths = NULL;
|
| + newInterface->fFunctions.fDeletePaths = NULL;
|
| + newInterface->fFunctions.fIsPath = NULL;
|
| + newInterface->fFunctions.fPathStencilFunc = NULL;
|
| + newInterface->fFunctions.fPathStencilDepthOffset = NULL;
|
| + newInterface->fFunctions.fStencilFillPath = NULL;
|
| + newInterface->fFunctions.fStencilStrokePath = NULL;
|
| + newInterface->fFunctions.fStencilFillPathInstanced = NULL;
|
| + newInterface->fFunctions.fStencilStrokePathInstanced = NULL;
|
| + newInterface->fFunctions.fPathCoverDepthFunc = NULL;
|
| + newInterface->fFunctions.fPathColorGen = NULL;
|
| + newInterface->fFunctions.fPathTexGen = NULL;
|
| + newInterface->fFunctions.fPathFogGen = NULL;
|
| + newInterface->fFunctions.fCoverFillPath = NULL;
|
| + newInterface->fFunctions.fCoverStrokePath = NULL;
|
| + newInterface->fFunctions.fCoverFillPathInstanced = NULL;
|
| + newInterface->fFunctions.fCoverStrokePathInstanced = NULL;
|
| + newInterface->fFunctions.fGetPathParameteriv = NULL;
|
| + newInterface->fFunctions.fGetPathParameterfv = NULL;
|
| + newInterface->fFunctions.fGetPathCommands = NULL;
|
| + newInterface->fFunctions.fGetPathCoords = NULL;
|
| + newInterface->fFunctions.fGetPathDashArray = NULL;
|
| + newInterface->fFunctions.fGetPathMetrics = NULL;
|
| + newInterface->fFunctions.fGetPathMetricRange = NULL;
|
| + newInterface->fFunctions.fGetPathSpacing = NULL;
|
| + newInterface->fFunctions.fGetPathColorGeniv = NULL;
|
| + newInterface->fFunctions.fGetPathColorGenfv = NULL;
|
| + newInterface->fFunctions.fGetPathTexGeniv = NULL;
|
| + newInterface->fFunctions.fGetPathTexGenfv = NULL;
|
| + newInterface->fFunctions.fIsPointInFillPath = NULL;
|
| + newInterface->fFunctions.fIsPointInStrokePath = NULL;
|
| + newInterface->fFunctions.fGetPathLength = NULL;
|
| + newInterface->fFunctions.fPointAlongPath = NULL;
|
|
|
| return newInterface;
|
| }
|
|
|
| -GrGLInterface::GrGLInterface()
|
| - // TODO: Remove this madness ASAP.
|
| - : fActiveTexture(&fFunctions.fActiveTexture)
|
| - , fAttachShader(&fFunctions.fAttachShader)
|
| - , fBeginQuery(&fFunctions.fBeginQuery)
|
| - , fBindAttribLocation(&fFunctions.fBindAttribLocation)
|
| - , fBindBuffer(&fFunctions.fBindBuffer)
|
| - , fBindFragDataLocation(&fFunctions.fBindFragDataLocation)
|
| - , fBindFragDataLocationIndexed(&fFunctions.fBindFragDataLocationIndexed)
|
| - , fBindFramebuffer(&fFunctions.fBindFramebuffer)
|
| - , fBindRenderbuffer(&fFunctions.fBindRenderbuffer)
|
| - , fBindTexture(&fFunctions.fBindTexture)
|
| - , fBindVertexArray(&fFunctions.fBindVertexArray)
|
| - , fBlendColor(&fFunctions.fBlendColor)
|
| - , fBlendFunc(&fFunctions.fBlendFunc)
|
| - , fBlitFramebuffer(&fFunctions.fBlitFramebuffer)
|
| - , fBufferData(&fFunctions.fBufferData)
|
| - , fBufferSubData(&fFunctions.fBufferSubData)
|
| - , fCheckFramebufferStatus(&fFunctions.fCheckFramebufferStatus)
|
| - , fClear(&fFunctions.fClear)
|
| - , fClearColor(&fFunctions.fClearColor)
|
| - , fClearStencil(&fFunctions.fClearStencil)
|
| - , fColorMask(&fFunctions.fColorMask)
|
| - , fCompileShader(&fFunctions.fCompileShader)
|
| - , fCompressedTexImage2D(&fFunctions.fCompressedTexImage2D)
|
| - , fCopyTexSubImage2D(&fFunctions.fCopyTexSubImage2D)
|
| - , fCreateProgram(&fFunctions.fCreateProgram)
|
| - , fCreateShader(&fFunctions.fCreateShader)
|
| - , fCullFace(&fFunctions.fCullFace)
|
| - , fDeleteBuffers(&fFunctions.fDeleteBuffers)
|
| - , fDeleteFramebuffers(&fFunctions.fDeleteFramebuffers)
|
| - , fDeleteProgram(&fFunctions.fDeleteProgram)
|
| - , fDeleteQueries(&fFunctions.fDeleteQueries)
|
| - , fDeleteRenderbuffers(&fFunctions.fDeleteRenderbuffers)
|
| - , fDeleteShader(&fFunctions.fDeleteShader)
|
| - , fDeleteTextures(&fFunctions.fDeleteTextures)
|
| - , fDeleteVertexArrays(&fFunctions.fDeleteVertexArrays)
|
| - , fDepthMask(&fFunctions.fDepthMask)
|
| - , fDisable(&fFunctions.fDisable)
|
| - , fDisableVertexAttribArray(&fFunctions.fDisableVertexAttribArray)
|
| - , fDrawArrays(&fFunctions.fDrawArrays)
|
| - , fDrawBuffer(&fFunctions.fDrawBuffer)
|
| - , fDrawBuffers(&fFunctions.fDrawBuffers)
|
| - , fDrawElements(&fFunctions.fDrawElements)
|
| - , fEnable(&fFunctions.fEnable)
|
| - , fEnableVertexAttribArray(&fFunctions.fEnableVertexAttribArray)
|
| - , fEndQuery(&fFunctions.fEndQuery)
|
| - , fFinish(&fFunctions.fFinish)
|
| - , fFlush(&fFunctions.fFlush)
|
| - , fFramebufferRenderbuffer(&fFunctions.fFramebufferRenderbuffer)
|
| - , fFramebufferTexture2D(&fFunctions.fFramebufferTexture2D)
|
| - , fFramebufferTexture2DMultisample(&fFunctions.fFramebufferTexture2DMultisample)
|
| - , fFrontFace(&fFunctions.fFrontFace)
|
| - , fGenBuffers(&fFunctions.fGenBuffers)
|
| - , fGenFramebuffers(&fFunctions.fGenFramebuffers)
|
| - , fGenerateMipmap(&fFunctions.fGenerateMipmap)
|
| - , fGenQueries(&fFunctions.fGenQueries)
|
| - , fGenRenderbuffers(&fFunctions.fGenRenderbuffers)
|
| - , fGenTextures(&fFunctions.fGenTextures)
|
| - , fGenVertexArrays(&fFunctions.fGenVertexArrays)
|
| - , fGetBufferParameteriv(&fFunctions.fGetBufferParameteriv)
|
| - , fGetError(&fFunctions.fGetError)
|
| - , fGetFramebufferAttachmentParameteriv(&fFunctions.fGetFramebufferAttachmentParameteriv)
|
| - , fGetIntegerv(&fFunctions.fGetIntegerv)
|
| - , fGetQueryObjecti64v(&fFunctions.fGetQueryObjecti64v)
|
| - , fGetQueryObjectiv(&fFunctions.fGetQueryObjectiv)
|
| - , fGetQueryObjectui64v(&fFunctions.fGetQueryObjectui64v)
|
| - , fGetQueryObjectuiv(&fFunctions.fGetQueryObjectuiv)
|
| - , fGetQueryiv(&fFunctions.fGetQueryiv)
|
| - , fGetProgramInfoLog(&fFunctions.fGetProgramInfoLog)
|
| - , fGetProgramiv(&fFunctions.fGetProgramiv)
|
| - , fGetRenderbufferParameteriv(&fFunctions.fGetRenderbufferParameteriv)
|
| - , fGetShaderInfoLog(&fFunctions.fGetShaderInfoLog)
|
| - , fGetShaderiv(&fFunctions.fGetShaderiv)
|
| - , fGetString(&fFunctions.fGetString)
|
| - , fGetStringi(&fFunctions.fGetStringi)
|
| - , fGetTexLevelParameteriv(&fFunctions.fGetTexLevelParameteriv)
|
| - , fGetUniformLocation(&fFunctions.fGetUniformLocation)
|
| - , fInsertEventMarker(&fFunctions.fInsertEventMarker)
|
| - , fLineWidth(&fFunctions.fLineWidth)
|
| - , fLinkProgram(&fFunctions.fLinkProgram)
|
| - , fLoadIdentity(&fFunctions.fLoadIdentity)
|
| - , fLoadMatrixf(&fFunctions.fLoadMatrixf)
|
| - , fMapBuffer(&fFunctions.fMapBuffer)
|
| - , fMatrixMode(&fFunctions.fMatrixMode)
|
| - , fPixelStorei(&fFunctions.fPixelStorei)
|
| - , fPopGroupMarker(&fFunctions.fPopGroupMarker)
|
| - , fPushGroupMarker(&fFunctions.fPushGroupMarker)
|
| - , fQueryCounter(&fFunctions.fQueryCounter)
|
| - , fReadBuffer(&fFunctions.fReadBuffer)
|
| - , fReadPixels(&fFunctions.fReadPixels)
|
| - , fRenderbufferStorage(&fFunctions.fRenderbufferStorage)
|
| - , fRenderbufferStorageMultisampleES2EXT(&fFunctions.fRenderbufferStorageMultisampleES2EXT)
|
| - , fRenderbufferStorageMultisampleES2APPLE(&fFunctions.fRenderbufferStorageMultisampleES2APPLE)
|
| - , fRenderbufferStorageMultisample(&fFunctions.fRenderbufferStorageMultisample)
|
| - , fBindUniformLocation(&fFunctions.fBindUniformLocation)
|
| - , fResolveMultisampleFramebuffer(&fFunctions.fResolveMultisampleFramebuffer)
|
| - , fScissor(&fFunctions.fScissor)
|
| - , fShaderSource(&fFunctions.fShaderSource)
|
| - , fStencilFunc(&fFunctions.fStencilFunc)
|
| - , fStencilFuncSeparate(&fFunctions.fStencilFuncSeparate)
|
| - , fStencilMask(&fFunctions.fStencilMask)
|
| - , fStencilMaskSeparate(&fFunctions.fStencilMaskSeparate)
|
| - , fStencilOp(&fFunctions.fStencilOp)
|
| - , fStencilOpSeparate(&fFunctions.fStencilOpSeparate)
|
| - , fTexGenfv(&fFunctions.fTexGenfv)
|
| - , fTexGeni(&fFunctions.fTexGeni)
|
| - , fTexImage2D(&fFunctions.fTexImage2D)
|
| - , fTexParameteri(&fFunctions.fTexParameteri)
|
| - , fTexParameteriv(&fFunctions.fTexParameteriv)
|
| - , fTexSubImage2D(&fFunctions.fTexSubImage2D)
|
| - , fTexStorage2D(&fFunctions.fTexStorage2D)
|
| - , fDiscardFramebuffer(&fFunctions.fDiscardFramebuffer)
|
| - , fUniform1f(&fFunctions.fUniform1f)
|
| - , fUniform1i(&fFunctions.fUniform1i)
|
| - , fUniform1fv(&fFunctions.fUniform1fv)
|
| - , fUniform1iv(&fFunctions.fUniform1iv)
|
| - , fUniform2f(&fFunctions.fUniform2f)
|
| - , fUniform2i(&fFunctions.fUniform2i)
|
| - , fUniform2fv(&fFunctions.fUniform2fv)
|
| - , fUniform2iv(&fFunctions.fUniform2iv)
|
| - , fUniform3f(&fFunctions.fUniform3f)
|
| - , fUniform3i(&fFunctions.fUniform3i)
|
| - , fUniform3fv(&fFunctions.fUniform3fv)
|
| - , fUniform3iv(&fFunctions.fUniform3iv)
|
| - , fUniform4f(&fFunctions.fUniform4f)
|
| - , fUniform4i(&fFunctions.fUniform4i)
|
| - , fUniform4fv(&fFunctions.fUniform4fv)
|
| - , fUniform4iv(&fFunctions.fUniform4iv)
|
| - , fUniformMatrix2fv(&fFunctions.fUniformMatrix2fv)
|
| - , fUniformMatrix3fv(&fFunctions.fUniformMatrix3fv)
|
| - , fUniformMatrix4fv(&fFunctions.fUniformMatrix4fv)
|
| - , fUnmapBuffer(&fFunctions.fUnmapBuffer)
|
| - , fUseProgram(&fFunctions.fUseProgram)
|
| - , fVertexAttrib4fv(&fFunctions.fVertexAttrib4fv)
|
| - , fVertexAttribPointer(&fFunctions.fVertexAttribPointer)
|
| - , fViewport(&fFunctions.fViewport)
|
| - , fPathCommands(&fFunctions.fPathCommands)
|
| - , fPathCoords(&fFunctions.fPathCoords)
|
| - , fPathSubCommands(&fFunctions.fPathSubCommands)
|
| - , fPathSubCoords(&fFunctions.fPathSubCoords)
|
| - , fPathString(&fFunctions.fPathString)
|
| - , fPathGlyphs(&fFunctions.fPathGlyphs)
|
| - , fPathGlyphRange(&fFunctions.fPathGlyphRange)
|
| - , fWeightPaths(&fFunctions.fWeightPaths)
|
| - , fCopyPath(&fFunctions.fCopyPath)
|
| - , fInterpolatePaths(&fFunctions.fInterpolatePaths)
|
| - , fTransformPath(&fFunctions.fTransformPath)
|
| - , fPathParameteriv(&fFunctions.fPathParameteriv)
|
| - , fPathParameteri(&fFunctions.fPathParameteri)
|
| - , fPathParameterfv(&fFunctions.fPathParameterfv)
|
| - , fPathParameterf(&fFunctions.fPathParameterf)
|
| - , fPathDashArray(&fFunctions.fPathDashArray)
|
| - , fGenPaths(&fFunctions.fGenPaths)
|
| - , fDeletePaths(&fFunctions.fDeletePaths)
|
| - , fIsPath(&fFunctions.fIsPath)
|
| - , fPathStencilFunc(&fFunctions.fPathStencilFunc)
|
| - , fPathStencilDepthOffset(&fFunctions.fPathStencilDepthOffset)
|
| - , fStencilFillPath(&fFunctions.fStencilFillPath)
|
| - , fStencilStrokePath(&fFunctions.fStencilStrokePath)
|
| - , fStencilFillPathInstanced(&fFunctions.fStencilFillPathInstanced)
|
| - , fStencilStrokePathInstanced(&fFunctions.fStencilStrokePathInstanced)
|
| - , fPathCoverDepthFunc(&fFunctions.fPathCoverDepthFunc)
|
| - , fPathColorGen(&fFunctions.fPathColorGen)
|
| - , fPathTexGen(&fFunctions.fPathTexGen)
|
| - , fPathFogGen(&fFunctions.fPathFogGen)
|
| - , fCoverFillPath(&fFunctions.fCoverFillPath)
|
| - , fCoverStrokePath(&fFunctions.fCoverStrokePath)
|
| - , fCoverFillPathInstanced(&fFunctions.fCoverFillPathInstanced)
|
| - , fCoverStrokePathInstanced(&fFunctions.fCoverStrokePathInstanced)
|
| - , fGetPathParameteriv(&fFunctions.fGetPathParameteriv)
|
| - , fGetPathParameterfv(&fFunctions.fGetPathParameterfv)
|
| - , fGetPathCommands(&fFunctions.fGetPathCommands)
|
| - , fGetPathCoords(&fFunctions.fGetPathCoords)
|
| - , fGetPathDashArray(&fFunctions.fGetPathDashArray)
|
| - , fGetPathMetrics(&fFunctions.fGetPathMetrics)
|
| - , fGetPathMetricRange(&fFunctions.fGetPathMetricRange)
|
| - , fGetPathSpacing(&fFunctions.fGetPathSpacing)
|
| - , fGetPathColorGeniv(&fFunctions.fGetPathColorGeniv)
|
| - , fGetPathColorGenfv(&fFunctions.fGetPathColorGenfv)
|
| - , fGetPathTexGeniv(&fFunctions.fGetPathTexGeniv)
|
| - , fGetPathTexGenfv(&fFunctions.fGetPathTexGenfv)
|
| - , fIsPointInFillPath(&fFunctions.fIsPointInFillPath)
|
| - , fIsPointInStrokePath(&fFunctions.fIsPointInStrokePath)
|
| - , fGetPathLength(&fFunctions.fGetPathLength)
|
| - , fPointAlongPath(&fFunctions.fPointAlongPath) {
|
| +GrGLInterface::GrGLInterface() {
|
| fStandard = kNone_GrGLStandard;
|
|
|
| #if GR_GL_PER_GL_FUNC_CALLBACK
|
| @@ -307,14 +122,8 @@ bool GrGLInterface::validate() const {
|
| return false;
|
| }
|
|
|
| - // This const hackery is necessary because the factories in Chromium do not yet initialize
|
| - // fExtensions.
|
| if (!fExtensions.isInitialized()) {
|
| - GrGLExtensions* extensions = const_cast<GrGLExtensions*>(&fExtensions);
|
| - if (!extensions->init(fStandard, fFunctions.fGetString, fFunctions.fGetStringi,
|
| - fFunctions.fGetIntegerv)) {
|
| - return false;
|
| - }
|
| + return false;
|
| }
|
|
|
| // functions that are always required
|
|
|