| Index: include/gpu/gl/GrGLInterface.h
|
| diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h
|
| index 2c2a6911d114f383d4de1fbc63adeca15cb99042..cd7c6bdf60db0211afcf87804875eb3cb5dd0b8c 100644
|
| --- a/include/gpu/gl/GrGLInterface.h
|
| +++ b/include/gpu/gl/GrGLInterface.h
|
| @@ -89,12 +89,22 @@ private:
|
| template <typename FNPTR_TYPE> class GLPtr {
|
| public:
|
| GLPtr() : fPtr(NULL) {}
|
| - GLPtr operator =(FNPTR_TYPE ptr) { fPtr = ptr; return *this; }
|
| + GLPtr operator=(FNPTR_TYPE ptr) { fPtr = ptr; return *this; }
|
| operator FNPTR_TYPE() const { return fPtr; }
|
| private:
|
| FNPTR_TYPE fPtr;
|
| };
|
|
|
| + // This is a temporary workaround to keep Chromium's GrGLInterface factories compiling until
|
| + // they're updated to use the Functions struct.
|
| + template <typename FNPTR_TYPE> class GLPtrAlias {
|
| + public:
|
| + GLPtrAlias(GLPtr<FNPTR_TYPE>* base) : fBase(base) {}
|
| + void operator=(FNPTR_TYPE ptr) { *fBase = ptr; }
|
| + private:
|
| + GLPtr<FNPTR_TYPE>* fBase;
|
| + };
|
| +
|
| typedef SkRefCnt INHERITED;
|
|
|
| public:
|
| @@ -120,226 +130,423 @@ public:
|
| bool hasExtension(const char ext[]) const {
|
| if (!fExtensions.isInitialized()) {
|
| GrGLExtensions* extensions = const_cast<GrGLExtensions*>(&fExtensions);
|
| - if (!extensions->init(fStandard, fGetString, fGetStringi, fGetIntegerv)) {
|
| + if (!extensions->init(fStandard, fFunctions.fGetString,
|
| + fFunctions.fGetStringi, fFunctions.fGetIntegerv)) {
|
| return false;
|
| }
|
| }
|
| return fExtensions.has(ext);
|
| }
|
|
|
| - GLPtr<GrGLActiveTextureProc> fActiveTexture;
|
| - GLPtr<GrGLAttachShaderProc> fAttachShader;
|
| - GLPtr<GrGLBeginQueryProc> fBeginQuery;
|
| - GLPtr<GrGLBindAttribLocationProc> fBindAttribLocation;
|
| - GLPtr<GrGLBindBufferProc> fBindBuffer;
|
| - GLPtr<GrGLBindFragDataLocationProc> fBindFragDataLocation;
|
| - GLPtr<GrGLBindFragDataLocationIndexedProc> fBindFragDataLocationIndexed;
|
| - GLPtr<GrGLBindFramebufferProc> fBindFramebuffer;
|
| - GLPtr<GrGLBindRenderbufferProc> fBindRenderbuffer;
|
| - GLPtr<GrGLBindTextureProc> fBindTexture;
|
| - GLPtr<GrGLBindVertexArrayProc> fBindVertexArray;
|
| - GLPtr<GrGLBlendColorProc> fBlendColor;
|
| - GLPtr<GrGLBlendFuncProc> fBlendFunc;
|
| - GLPtr<GrGLBlitFramebufferProc> fBlitFramebuffer;
|
| - GLPtr<GrGLBufferDataProc> fBufferData;
|
| - GLPtr<GrGLBufferSubDataProc> fBufferSubData;
|
| - GLPtr<GrGLCheckFramebufferStatusProc> fCheckFramebufferStatus;
|
| - GLPtr<GrGLClearProc> fClear;
|
| - GLPtr<GrGLClearColorProc> fClearColor;
|
| - GLPtr<GrGLClearStencilProc> fClearStencil;
|
| - GLPtr<GrGLClientActiveTextureProc> fClientActiveTexture;
|
| - GLPtr<GrGLColorMaskProc> fColorMask;
|
| - GLPtr<GrGLCompileShaderProc> fCompileShader;
|
| - GLPtr<GrGLCompressedTexImage2DProc> fCompressedTexImage2D;
|
| - GLPtr<GrGLCopyTexSubImage2DProc> fCopyTexSubImage2D;
|
| - GLPtr<GrGLCreateProgramProc> fCreateProgram;
|
| - GLPtr<GrGLCreateShaderProc> fCreateShader;
|
| - GLPtr<GrGLCullFaceProc> fCullFace;
|
| - GLPtr<GrGLDeleteBuffersProc> fDeleteBuffers;
|
| - GLPtr<GrGLDeleteFramebuffersProc> fDeleteFramebuffers;
|
| - GLPtr<GrGLDeleteProgramProc> fDeleteProgram;
|
| - GLPtr<GrGLDeleteQueriesProc> fDeleteQueries;
|
| - GLPtr<GrGLDeleteRenderbuffersProc> fDeleteRenderbuffers;
|
| - GLPtr<GrGLDeleteShaderProc> fDeleteShader;
|
| - GLPtr<GrGLDeleteTexturesProc> fDeleteTextures;
|
| - GLPtr<GrGLDeleteVertexArraysProc> fDeleteVertexArrays;
|
| - GLPtr<GrGLDepthMaskProc> fDepthMask;
|
| - GLPtr<GrGLDisableProc> fDisable;
|
| - GLPtr<GrGLDisableClientStateProc> fDisableClientState;
|
| - GLPtr<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray;
|
| - GLPtr<GrGLDrawArraysProc> fDrawArrays;
|
| - GLPtr<GrGLDrawBufferProc> fDrawBuffer;
|
| - GLPtr<GrGLDrawBuffersProc> fDrawBuffers;
|
| - GLPtr<GrGLDrawElementsProc> fDrawElements;
|
| - GLPtr<GrGLEnableProc> fEnable;
|
| - GLPtr<GrGLEnableClientStateProc> fEnableClientState;
|
| - GLPtr<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray;
|
| - GLPtr<GrGLEndQueryProc> fEndQuery;
|
| - GLPtr<GrGLFinishProc> fFinish;
|
| - GLPtr<GrGLFlushProc> fFlush;
|
| - GLPtr<GrGLFramebufferRenderbufferProc> fFramebufferRenderbuffer;
|
| - GLPtr<GrGLFramebufferTexture2DProc> fFramebufferTexture2D;
|
| - GLPtr<GrGLFramebufferTexture2DMultisampleProc> fFramebufferTexture2DMultisample;
|
| - GLPtr<GrGLFrontFaceProc> fFrontFace;
|
| - GLPtr<GrGLGenBuffersProc> fGenBuffers;
|
| - GLPtr<GrGLGenFramebuffersProc> fGenFramebuffers;
|
| - GLPtr<GrGLGenerateMipmapProc> fGenerateMipmap;
|
| - GLPtr<GrGLGenQueriesProc> fGenQueries;
|
| - GLPtr<GrGLGenRenderbuffersProc> fGenRenderbuffers;
|
| - GLPtr<GrGLGenTexturesProc> fGenTextures;
|
| - GLPtr<GrGLGenVertexArraysProc> fGenVertexArrays;
|
| - GLPtr<GrGLGetBufferParameterivProc> fGetBufferParameteriv;
|
| - GLPtr<GrGLGetErrorProc> fGetError;
|
| - GLPtr<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttachmentParameteriv;
|
| - GLPtr<GrGLGetIntegervProc> fGetIntegerv;
|
| - GLPtr<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v;
|
| - GLPtr<GrGLGetQueryObjectivProc> fGetQueryObjectiv;
|
| - GLPtr<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v;
|
| - GLPtr<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv;
|
| - GLPtr<GrGLGetQueryivProc> fGetQueryiv;
|
| - GLPtr<GrGLGetProgramInfoLogProc> fGetProgramInfoLog;
|
| - GLPtr<GrGLGetProgramivProc> fGetProgramiv;
|
| - GLPtr<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv;
|
| - GLPtr<GrGLGetShaderInfoLogProc> fGetShaderInfoLog;
|
| - GLPtr<GrGLGetShaderivProc> fGetShaderiv;
|
| - GLPtr<GrGLGetStringProc> fGetString;
|
| - GLPtr<GrGLGetStringiProc> fGetStringi;
|
| - GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv;
|
| - GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation;
|
| - GLPtr<GrGLLineWidthProc> fLineWidth;
|
| - GLPtr<GrGLLinkProgramProc> fLinkProgram;
|
| - GLPtr<GrGLLoadIdentityProc> fLoadIdentity;
|
| - GLPtr<GrGLLoadMatrixfProc> fLoadMatrixf;
|
| - GLPtr<GrGLMapBufferProc> fMapBuffer;
|
| - GLPtr<GrGLMatrixModeProc> fMatrixMode;
|
| - GLPtr<GrGLPixelStoreiProc> fPixelStorei;
|
| - GLPtr<GrGLQueryCounterProc> fQueryCounter;
|
| - GLPtr<GrGLReadBufferProc> fReadBuffer;
|
| - GLPtr<GrGLReadPixelsProc> fReadPixels;
|
| - GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage;
|
| -
|
| - // On OpenGL ES there are multiple incompatible extensions that add support for MSAA
|
| - // and ES3 adds MSAA support to the standard. On an ES3 driver we may still use the
|
| - // older extensions for performance reasons or due to ES3 driver bugs. We want the function
|
| - // that creates the GrGLInterface to provide all available functions and internally
|
| - // we will select among them. They all have a method called glRenderbufferStorageMultisample*.
|
| - // So we have separate function pointers for GL_IMG/EXT_multisampled_to_texture,
|
| - // GL_CHROMIUM/ANGLE_framebuffer_multisample/ES3, and GL_APPLE_framebuffer_multisample
|
| - // variations.
|
| - //
|
| - // If a driver supports multiple GL_ARB_framebuffer_multisample-style extensions then we will
|
| - // assume the function pointers for the standard (or equivalent GL_ARB) version have
|
| - // been preferred over GL_EXT, GL_CHROMIUM, or GL_ANGLE variations that have reduced
|
| - // functionality.
|
| -
|
| - // GL_EXT_multisampled_render_to_texture (preferred) or GL_IMG_multisampled_render_to_texture
|
| - GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2EXT;
|
| - // GL_APPLE_framebuffer_multisample
|
| - GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2APPLE;
|
| -
|
| - // This is used to store the pointer for GL_ARB/EXT/ANGLE/CHROMIUM_framebuffer_multisample or
|
| - // the standard function in ES3+ or GL 3.0+.
|
| - GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisample;
|
| -
|
| - // Pointer to BindUniformLocationCHROMIUM from the GL_CHROMIUM_bind_uniform_location extension.
|
| - GLPtr<GrGLBindUniformLocation> fBindUniformLocation;
|
| -
|
| - GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer;
|
| - GLPtr<GrGLScissorProc> fScissor;
|
| - GLPtr<GrGLShaderSourceProc> fShaderSource;
|
| - GLPtr<GrGLStencilFuncProc> fStencilFunc;
|
| - GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate;
|
| - GLPtr<GrGLStencilMaskProc> fStencilMask;
|
| - GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate;
|
| - GLPtr<GrGLStencilOpProc> fStencilOp;
|
| - GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate;
|
| - GLPtr<GrGLTexGenfProc> fTexGenf;
|
| - GLPtr<GrGLTexGenfvProc> fTexGenfv;
|
| - GLPtr<GrGLTexGeniProc> fTexGeni;
|
| - GLPtr<GrGLTexImage2DProc> fTexImage2D;
|
| - GLPtr<GrGLTexParameteriProc> fTexParameteri;
|
| - GLPtr<GrGLTexParameterivProc> fTexParameteriv;
|
| - GLPtr<GrGLTexSubImage2DProc> fTexSubImage2D;
|
| - GLPtr<GrGLTexStorage2DProc> fTexStorage2D;
|
| - GLPtr<GrGLDiscardFramebufferProc> fDiscardFramebuffer;
|
| - GLPtr<GrGLUniform1fProc> fUniform1f;
|
| - GLPtr<GrGLUniform1iProc> fUniform1i;
|
| - GLPtr<GrGLUniform1fvProc> fUniform1fv;
|
| - GLPtr<GrGLUniform1ivProc> fUniform1iv;
|
| - GLPtr<GrGLUniform2fProc> fUniform2f;
|
| - GLPtr<GrGLUniform2iProc> fUniform2i;
|
| - GLPtr<GrGLUniform2fvProc> fUniform2fv;
|
| - GLPtr<GrGLUniform2ivProc> fUniform2iv;
|
| - GLPtr<GrGLUniform3fProc> fUniform3f;
|
| - GLPtr<GrGLUniform3iProc> fUniform3i;
|
| - GLPtr<GrGLUniform3fvProc> fUniform3fv;
|
| - GLPtr<GrGLUniform3ivProc> fUniform3iv;
|
| - GLPtr<GrGLUniform4fProc> fUniform4f;
|
| - GLPtr<GrGLUniform4iProc> fUniform4i;
|
| - GLPtr<GrGLUniform4fvProc> fUniform4fv;
|
| - GLPtr<GrGLUniform4ivProc> fUniform4iv;
|
| - GLPtr<GrGLUniformMatrix2fvProc> fUniformMatrix2fv;
|
| - GLPtr<GrGLUniformMatrix3fvProc> fUniformMatrix3fv;
|
| - GLPtr<GrGLUniformMatrix4fvProc> fUniformMatrix4fv;
|
| - GLPtr<GrGLUnmapBufferProc> fUnmapBuffer;
|
| - GLPtr<GrGLUseProgramProc> fUseProgram;
|
| - GLPtr<GrGLVertexAttrib4fvProc> fVertexAttrib4fv;
|
| - GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer;
|
| - GLPtr<GrGLVertexPointerProc> fVertexPointer;
|
| - GLPtr<GrGLViewportProc> fViewport;
|
| -
|
| - // Experimental: Functions for GL_NV_path_rendering. These will be
|
| - // alphabetized with the above functions once this is fully supported
|
| - // (and functions we are unlikely to use will possibly be omitted).
|
| - GLPtr<GrGLPathCommandsProc> fPathCommands;
|
| - GLPtr<GrGLPathCoordsProc> fPathCoords;
|
| - GLPtr<GrGLPathSubCommandsProc> fPathSubCommands;
|
| - GLPtr<GrGLPathSubCoordsProc> fPathSubCoords;
|
| - GLPtr<GrGLPathStringProc> fPathString;
|
| - GLPtr<GrGLPathGlyphsProc> fPathGlyphs;
|
| - GLPtr<GrGLPathGlyphRangeProc> fPathGlyphRange;
|
| - GLPtr<GrGLWeightPathsProc> fWeightPaths;
|
| - GLPtr<GrGLCopyPathProc> fCopyPath;
|
| - GLPtr<GrGLInterpolatePathsProc> fInterpolatePaths;
|
| - GLPtr<GrGLTransformPathProc> fTransformPath;
|
| - GLPtr<GrGLPathParameterivProc> fPathParameteriv;
|
| - GLPtr<GrGLPathParameteriProc> fPathParameteri;
|
| - GLPtr<GrGLPathParameterfvProc> fPathParameterfv;
|
| - GLPtr<GrGLPathParameterfProc> fPathParameterf;
|
| - GLPtr<GrGLPathDashArrayProc> fPathDashArray;
|
| - GLPtr<GrGLGenPathsProc> fGenPaths;
|
| - GLPtr<GrGLDeletePathsProc> fDeletePaths;
|
| - GLPtr<GrGLIsPathProc> fIsPath;
|
| - GLPtr<GrGLPathStencilFuncProc> fPathStencilFunc;
|
| - GLPtr<GrGLPathStencilDepthOffsetProc> fPathStencilDepthOffset;
|
| - GLPtr<GrGLStencilFillPathProc> fStencilFillPath;
|
| - GLPtr<GrGLStencilStrokePathProc> fStencilStrokePath;
|
| - GLPtr<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced;
|
| - GLPtr<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced;
|
| - GLPtr<GrGLPathCoverDepthFuncProc> fPathCoverDepthFunc;
|
| - GLPtr<GrGLPathColorGenProc> fPathColorGen;
|
| - GLPtr<GrGLPathTexGenProc> fPathTexGen;
|
| - GLPtr<GrGLPathFogGenProc> fPathFogGen;
|
| - GLPtr<GrGLCoverFillPathProc> fCoverFillPath;
|
| - GLPtr<GrGLCoverStrokePathProc> fCoverStrokePath;
|
| - GLPtr<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced;
|
| - GLPtr<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced;
|
| - GLPtr<GrGLGetPathParameterivProc> fGetPathParameteriv;
|
| - GLPtr<GrGLGetPathParameterfvProc> fGetPathParameterfv;
|
| - GLPtr<GrGLGetPathCommandsProc> fGetPathCommands;
|
| - GLPtr<GrGLGetPathCoordsProc> fGetPathCoords;
|
| - GLPtr<GrGLGetPathDashArrayProc> fGetPathDashArray;
|
| - GLPtr<GrGLGetPathMetricsProc> fGetPathMetrics;
|
| - GLPtr<GrGLGetPathMetricRangeProc> fGetPathMetricRange;
|
| - GLPtr<GrGLGetPathSpacingProc> fGetPathSpacing;
|
| - GLPtr<GrGLGetPathColorGenivProc> fGetPathColorGeniv;
|
| - GLPtr<GrGLGetPathColorGenfvProc> fGetPathColorGenfv;
|
| - GLPtr<GrGLGetPathTexGenivProc> fGetPathTexGeniv;
|
| - GLPtr<GrGLGetPathTexGenfvProc> fGetPathTexGenfv;
|
| - GLPtr<GrGLIsPointInFillPathProc> fIsPointInFillPath;
|
| - GLPtr<GrGLIsPointInStrokePathProc> fIsPointInStrokePath;
|
| - GLPtr<GrGLGetPathLengthProc> fGetPathLength;
|
| - GLPtr<GrGLPointAlongPathProc> fPointAlongPath;
|
| + /**
|
| + * The function pointers are in a struct so that we can have a compiler generated assignment
|
| + * operator.
|
| + */
|
| + struct Functions {
|
| + GLPtr<GrGLActiveTextureProc> fActiveTexture;
|
| + GLPtr<GrGLAttachShaderProc> fAttachShader;
|
| + GLPtr<GrGLBeginQueryProc> fBeginQuery;
|
| + GLPtr<GrGLBindAttribLocationProc> fBindAttribLocation;
|
| + GLPtr<GrGLBindBufferProc> fBindBuffer;
|
| + GLPtr<GrGLBindFragDataLocationProc> fBindFragDataLocation;
|
| + GLPtr<GrGLBindFragDataLocationIndexedProc> fBindFragDataLocationIndexed;
|
| + GLPtr<GrGLBindFramebufferProc> fBindFramebuffer;
|
| + GLPtr<GrGLBindRenderbufferProc> fBindRenderbuffer;
|
| + GLPtr<GrGLBindTextureProc> fBindTexture;
|
| + GLPtr<GrGLBindVertexArrayProc> fBindVertexArray;
|
| + GLPtr<GrGLBlendColorProc> fBlendColor;
|
| + GLPtr<GrGLBlendFuncProc> fBlendFunc;
|
| + GLPtr<GrGLBlitFramebufferProc> fBlitFramebuffer;
|
| + GLPtr<GrGLBufferDataProc> fBufferData;
|
| + GLPtr<GrGLBufferSubDataProc> fBufferSubData;
|
| + GLPtr<GrGLCheckFramebufferStatusProc> fCheckFramebufferStatus;
|
| + GLPtr<GrGLClearProc> fClear;
|
| + GLPtr<GrGLClearColorProc> fClearColor;
|
| + GLPtr<GrGLClearStencilProc> fClearStencil;
|
| + GLPtr<GrGLClientActiveTextureProc> fClientActiveTexture;
|
| + GLPtr<GrGLColorMaskProc> fColorMask;
|
| + GLPtr<GrGLCompileShaderProc> fCompileShader;
|
| + GLPtr<GrGLCompressedTexImage2DProc> fCompressedTexImage2D;
|
| + GLPtr<GrGLCopyTexSubImage2DProc> fCopyTexSubImage2D;
|
| + GLPtr<GrGLCreateProgramProc> fCreateProgram;
|
| + GLPtr<GrGLCreateShaderProc> fCreateShader;
|
| + GLPtr<GrGLCullFaceProc> fCullFace;
|
| + GLPtr<GrGLDeleteBuffersProc> fDeleteBuffers;
|
| + GLPtr<GrGLDeleteFramebuffersProc> fDeleteFramebuffers;
|
| + GLPtr<GrGLDeleteProgramProc> fDeleteProgram;
|
| + GLPtr<GrGLDeleteQueriesProc> fDeleteQueries;
|
| + GLPtr<GrGLDeleteRenderbuffersProc> fDeleteRenderbuffers;
|
| + GLPtr<GrGLDeleteShaderProc> fDeleteShader;
|
| + GLPtr<GrGLDeleteTexturesProc> fDeleteTextures;
|
| + GLPtr<GrGLDeleteVertexArraysProc> fDeleteVertexArrays;
|
| + GLPtr<GrGLDepthMaskProc> fDepthMask;
|
| + GLPtr<GrGLDisableProc> fDisable;
|
| + GLPtr<GrGLDisableClientStateProc> fDisableClientState;
|
| + GLPtr<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray;
|
| + GLPtr<GrGLDrawArraysProc> fDrawArrays;
|
| + GLPtr<GrGLDrawBufferProc> fDrawBuffer;
|
| + GLPtr<GrGLDrawBuffersProc> fDrawBuffers;
|
| + GLPtr<GrGLDrawElementsProc> fDrawElements;
|
| + GLPtr<GrGLEnableProc> fEnable;
|
| + GLPtr<GrGLEnableClientStateProc> fEnableClientState;
|
| + GLPtr<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray;
|
| + GLPtr<GrGLEndQueryProc> fEndQuery;
|
| + GLPtr<GrGLFinishProc> fFinish;
|
| + GLPtr<GrGLFlushProc> fFlush;
|
| + GLPtr<GrGLFramebufferRenderbufferProc> fFramebufferRenderbuffer;
|
| + GLPtr<GrGLFramebufferTexture2DProc> fFramebufferTexture2D;
|
| + GLPtr<GrGLFramebufferTexture2DMultisampleProc> fFramebufferTexture2DMultisample;
|
| + GLPtr<GrGLFrontFaceProc> fFrontFace;
|
| + GLPtr<GrGLGenBuffersProc> fGenBuffers;
|
| + GLPtr<GrGLGenFramebuffersProc> fGenFramebuffers;
|
| + GLPtr<GrGLGenerateMipmapProc> fGenerateMipmap;
|
| + GLPtr<GrGLGenQueriesProc> fGenQueries;
|
| + GLPtr<GrGLGenRenderbuffersProc> fGenRenderbuffers;
|
| + GLPtr<GrGLGenTexturesProc> fGenTextures;
|
| + GLPtr<GrGLGenVertexArraysProc> fGenVertexArrays;
|
| + GLPtr<GrGLGetBufferParameterivProc> fGetBufferParameteriv;
|
| + GLPtr<GrGLGetErrorProc> fGetError;
|
| + GLPtr<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttachmentParameteriv;
|
| + GLPtr<GrGLGetIntegervProc> fGetIntegerv;
|
| + GLPtr<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v;
|
| + GLPtr<GrGLGetQueryObjectivProc> fGetQueryObjectiv;
|
| + GLPtr<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v;
|
| + GLPtr<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv;
|
| + GLPtr<GrGLGetQueryivProc> fGetQueryiv;
|
| + GLPtr<GrGLGetProgramInfoLogProc> fGetProgramInfoLog;
|
| + GLPtr<GrGLGetProgramivProc> fGetProgramiv;
|
| + GLPtr<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv;
|
| + GLPtr<GrGLGetShaderInfoLogProc> fGetShaderInfoLog;
|
| + GLPtr<GrGLGetShaderivProc> fGetShaderiv;
|
| + GLPtr<GrGLGetStringProc> fGetString;
|
| + GLPtr<GrGLGetStringiProc> fGetStringi;
|
| + GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv;
|
| + GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation;
|
| + GLPtr<GrGLLineWidthProc> fLineWidth;
|
| + GLPtr<GrGLLinkProgramProc> fLinkProgram;
|
| + GLPtr<GrGLLoadIdentityProc> fLoadIdentity;
|
| + GLPtr<GrGLLoadMatrixfProc> fLoadMatrixf;
|
| + GLPtr<GrGLMapBufferProc> fMapBuffer;
|
| + GLPtr<GrGLMatrixModeProc> fMatrixMode;
|
| + GLPtr<GrGLPixelStoreiProc> fPixelStorei;
|
| + GLPtr<GrGLQueryCounterProc> fQueryCounter;
|
| + GLPtr<GrGLReadBufferProc> fReadBuffer;
|
| + GLPtr<GrGLReadPixelsProc> fReadPixels;
|
| + GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage;
|
| +
|
| + // On OpenGL ES there are multiple incompatible extensions that add support for MSAA
|
| + // and ES3 adds MSAA support to the standard. On an ES3 driver we may still use the
|
| + // older extensions for performance reasons or due to ES3 driver bugs. We want the function
|
| + // that creates the GrGLInterface to provide all available functions and internally
|
| + // we will select among them. They all have a method called glRenderbufferStorageMultisample*.
|
| + // So we have separate function pointers for GL_IMG/EXT_multisampled_to_texture,
|
| + // GL_CHROMIUM/ANGLE_framebuffer_multisample/ES3, and GL_APPLE_framebuffer_multisample
|
| + // variations.
|
| + //
|
| + // If a driver supports multiple GL_ARB_framebuffer_multisample-style extensions then we will
|
| + // assume the function pointers for the standard (or equivalent GL_ARB) version have
|
| + // been preferred over GL_EXT, GL_CHROMIUM, or GL_ANGLE variations that have reduced
|
| + // functionality.
|
| +
|
| + // GL_EXT_multisampled_render_to_texture (preferred) or GL_IMG_multisampled_render_to_texture
|
| + GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2EXT;
|
| + // GL_APPLE_framebuffer_multisample
|
| + GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2APPLE;
|
| +
|
| + // This is used to store the pointer for GL_ARB/EXT/ANGLE/CHROMIUM_framebuffer_multisample or
|
| + // the standard function in ES3+ or GL 3.0+.
|
| + GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisample;
|
| +
|
| + // Pointer to BindUniformLocationCHROMIUM from the GL_CHROMIUM_bind_uniform_location extension.
|
| + GLPtr<GrGLBindUniformLocation> fBindUniformLocation;
|
| +
|
| + GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer;
|
| + GLPtr<GrGLScissorProc> fScissor;
|
| + GLPtr<GrGLShaderSourceProc> fShaderSource;
|
| + GLPtr<GrGLStencilFuncProc> fStencilFunc;
|
| + GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate;
|
| + GLPtr<GrGLStencilMaskProc> fStencilMask;
|
| + GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate;
|
| + GLPtr<GrGLStencilOpProc> fStencilOp;
|
| + GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate;
|
| + GLPtr<GrGLTexGenfProc> fTexGenf;
|
| + GLPtr<GrGLTexGenfvProc> fTexGenfv;
|
| + GLPtr<GrGLTexGeniProc> fTexGeni;
|
| + GLPtr<GrGLTexImage2DProc> fTexImage2D;
|
| + GLPtr<GrGLTexParameteriProc> fTexParameteri;
|
| + GLPtr<GrGLTexParameterivProc> fTexParameteriv;
|
| + GLPtr<GrGLTexSubImage2DProc> fTexSubImage2D;
|
| + GLPtr<GrGLTexStorage2DProc> fTexStorage2D;
|
| + GLPtr<GrGLDiscardFramebufferProc> fDiscardFramebuffer;
|
| + GLPtr<GrGLUniform1fProc> fUniform1f;
|
| + GLPtr<GrGLUniform1iProc> fUniform1i;
|
| + GLPtr<GrGLUniform1fvProc> fUniform1fv;
|
| + GLPtr<GrGLUniform1ivProc> fUniform1iv;
|
| + GLPtr<GrGLUniform2fProc> fUniform2f;
|
| + GLPtr<GrGLUniform2iProc> fUniform2i;
|
| + GLPtr<GrGLUniform2fvProc> fUniform2fv;
|
| + GLPtr<GrGLUniform2ivProc> fUniform2iv;
|
| + GLPtr<GrGLUniform3fProc> fUniform3f;
|
| + GLPtr<GrGLUniform3iProc> fUniform3i;
|
| + GLPtr<GrGLUniform3fvProc> fUniform3fv;
|
| + GLPtr<GrGLUniform3ivProc> fUniform3iv;
|
| + GLPtr<GrGLUniform4fProc> fUniform4f;
|
| + GLPtr<GrGLUniform4iProc> fUniform4i;
|
| + GLPtr<GrGLUniform4fvProc> fUniform4fv;
|
| + GLPtr<GrGLUniform4ivProc> fUniform4iv;
|
| + GLPtr<GrGLUniformMatrix2fvProc> fUniformMatrix2fv;
|
| + GLPtr<GrGLUniformMatrix3fvProc> fUniformMatrix3fv;
|
| + GLPtr<GrGLUniformMatrix4fvProc> fUniformMatrix4fv;
|
| + GLPtr<GrGLUnmapBufferProc> fUnmapBuffer;
|
| + GLPtr<GrGLUseProgramProc> fUseProgram;
|
| + GLPtr<GrGLVertexAttrib4fvProc> fVertexAttrib4fv;
|
| + GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer;
|
| + GLPtr<GrGLVertexPointerProc> fVertexPointer;
|
| + GLPtr<GrGLViewportProc> fViewport;
|
| +
|
| + // Experimental: Functions for GL_NV_path_rendering. These will be
|
| + // alphabetized with the above functions once this is fully supported
|
| + // (and functions we are unlikely to use will possibly be omitted).
|
| + GLPtr<GrGLPathCommandsProc> fPathCommands;
|
| + GLPtr<GrGLPathCoordsProc> fPathCoords;
|
| + GLPtr<GrGLPathSubCommandsProc> fPathSubCommands;
|
| + GLPtr<GrGLPathSubCoordsProc> fPathSubCoords;
|
| + GLPtr<GrGLPathStringProc> fPathString;
|
| + GLPtr<GrGLPathGlyphsProc> fPathGlyphs;
|
| + GLPtr<GrGLPathGlyphRangeProc> fPathGlyphRange;
|
| + GLPtr<GrGLWeightPathsProc> fWeightPaths;
|
| + GLPtr<GrGLCopyPathProc> fCopyPath;
|
| + GLPtr<GrGLInterpolatePathsProc> fInterpolatePaths;
|
| + GLPtr<GrGLTransformPathProc> fTransformPath;
|
| + GLPtr<GrGLPathParameterivProc> fPathParameteriv;
|
| + GLPtr<GrGLPathParameteriProc> fPathParameteri;
|
| + GLPtr<GrGLPathParameterfvProc> fPathParameterfv;
|
| + GLPtr<GrGLPathParameterfProc> fPathParameterf;
|
| + GLPtr<GrGLPathDashArrayProc> fPathDashArray;
|
| + GLPtr<GrGLGenPathsProc> fGenPaths;
|
| + GLPtr<GrGLDeletePathsProc> fDeletePaths;
|
| + GLPtr<GrGLIsPathProc> fIsPath;
|
| + GLPtr<GrGLPathStencilFuncProc> fPathStencilFunc;
|
| + GLPtr<GrGLPathStencilDepthOffsetProc> fPathStencilDepthOffset;
|
| + GLPtr<GrGLStencilFillPathProc> fStencilFillPath;
|
| + GLPtr<GrGLStencilStrokePathProc> fStencilStrokePath;
|
| + GLPtr<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced;
|
| + GLPtr<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced;
|
| + GLPtr<GrGLPathCoverDepthFuncProc> fPathCoverDepthFunc;
|
| + GLPtr<GrGLPathColorGenProc> fPathColorGen;
|
| + GLPtr<GrGLPathTexGenProc> fPathTexGen;
|
| + GLPtr<GrGLPathFogGenProc> fPathFogGen;
|
| + GLPtr<GrGLCoverFillPathProc> fCoverFillPath;
|
| + GLPtr<GrGLCoverStrokePathProc> fCoverStrokePath;
|
| + GLPtr<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced;
|
| + GLPtr<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced;
|
| + GLPtr<GrGLGetPathParameterivProc> fGetPathParameteriv;
|
| + GLPtr<GrGLGetPathParameterfvProc> fGetPathParameterfv;
|
| + GLPtr<GrGLGetPathCommandsProc> fGetPathCommands;
|
| + GLPtr<GrGLGetPathCoordsProc> fGetPathCoords;
|
| + GLPtr<GrGLGetPathDashArrayProc> fGetPathDashArray;
|
| + GLPtr<GrGLGetPathMetricsProc> fGetPathMetrics;
|
| + GLPtr<GrGLGetPathMetricRangeProc> fGetPathMetricRange;
|
| + GLPtr<GrGLGetPathSpacingProc> fGetPathSpacing;
|
| + GLPtr<GrGLGetPathColorGenivProc> fGetPathColorGeniv;
|
| + GLPtr<GrGLGetPathColorGenfvProc> fGetPathColorGenfv;
|
| + GLPtr<GrGLGetPathTexGenivProc> fGetPathTexGeniv;
|
| + GLPtr<GrGLGetPathTexGenfvProc> fGetPathTexGenfv;
|
| + GLPtr<GrGLIsPointInFillPathProc> fIsPointInFillPath;
|
| + GLPtr<GrGLIsPointInStrokePathProc> fIsPointInStrokePath;
|
| + GLPtr<GrGLGetPathLengthProc> fGetPathLength;
|
| + GLPtr<GrGLPointAlongPathProc> fPointAlongPath;
|
| + } fFunctions;
|
| +
|
| +
|
| + // Temporary workaround aliases to keep Chromium GrGLInterface factories compiling until they
|
| + // assign the members of fFunctions.
|
| + GLPtrAlias<GrGLActiveTextureProc> fActiveTexture;
|
| + GLPtrAlias<GrGLAttachShaderProc> fAttachShader;
|
| + GLPtrAlias<GrGLBeginQueryProc> fBeginQuery;
|
| + GLPtrAlias<GrGLBindAttribLocationProc> fBindAttribLocation;
|
| + GLPtrAlias<GrGLBindBufferProc> fBindBuffer;
|
| + GLPtrAlias<GrGLBindFragDataLocationProc> fBindFragDataLocation;
|
| + GLPtrAlias<GrGLBindFragDataLocationIndexedProc> fBindFragDataLocationIndexed;
|
| + GLPtrAlias<GrGLBindFramebufferProc> fBindFramebuffer;
|
| + GLPtrAlias<GrGLBindRenderbufferProc> fBindRenderbuffer;
|
| + GLPtrAlias<GrGLBindTextureProc> fBindTexture;
|
| + GLPtrAlias<GrGLBindVertexArrayProc> fBindVertexArray;
|
| + GLPtrAlias<GrGLBlendColorProc> fBlendColor;
|
| + GLPtrAlias<GrGLBlendFuncProc> fBlendFunc;
|
| + GLPtrAlias<GrGLBlitFramebufferProc> fBlitFramebuffer;
|
| + GLPtrAlias<GrGLBufferDataProc> fBufferData;
|
| + GLPtrAlias<GrGLBufferSubDataProc> fBufferSubData;
|
| + GLPtrAlias<GrGLCheckFramebufferStatusProc> fCheckFramebufferStatus;
|
| + GLPtrAlias<GrGLClearProc> fClear;
|
| + GLPtrAlias<GrGLClearColorProc> fClearColor;
|
| + GLPtrAlias<GrGLClearStencilProc> fClearStencil;
|
| + GLPtrAlias<GrGLClientActiveTextureProc> fClientActiveTexture;
|
| + GLPtrAlias<GrGLColorMaskProc> fColorMask;
|
| + GLPtrAlias<GrGLCompileShaderProc> fCompileShader;
|
| + GLPtrAlias<GrGLCompressedTexImage2DProc> fCompressedTexImage2D;
|
| + GLPtrAlias<GrGLCopyTexSubImage2DProc> fCopyTexSubImage2D;
|
| + GLPtrAlias<GrGLCreateProgramProc> fCreateProgram;
|
| + GLPtrAlias<GrGLCreateShaderProc> fCreateShader;
|
| + GLPtrAlias<GrGLCullFaceProc> fCullFace;
|
| + GLPtrAlias<GrGLDeleteBuffersProc> fDeleteBuffers;
|
| + GLPtrAlias<GrGLDeleteFramebuffersProc> fDeleteFramebuffers;
|
| + GLPtrAlias<GrGLDeleteProgramProc> fDeleteProgram;
|
| + GLPtrAlias<GrGLDeleteQueriesProc> fDeleteQueries;
|
| + GLPtrAlias<GrGLDeleteRenderbuffersProc> fDeleteRenderbuffers;
|
| + GLPtrAlias<GrGLDeleteShaderProc> fDeleteShader;
|
| + GLPtrAlias<GrGLDeleteTexturesProc> fDeleteTextures;
|
| + GLPtrAlias<GrGLDeleteVertexArraysProc> fDeleteVertexArrays;
|
| + GLPtrAlias<GrGLDepthMaskProc> fDepthMask;
|
| + GLPtrAlias<GrGLDisableProc> fDisable;
|
| + GLPtrAlias<GrGLDisableClientStateProc> fDisableClientState;
|
| + GLPtrAlias<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray;
|
| + GLPtrAlias<GrGLDrawArraysProc> fDrawArrays;
|
| + GLPtrAlias<GrGLDrawBufferProc> fDrawBuffer;
|
| + GLPtrAlias<GrGLDrawBuffersProc> fDrawBuffers;
|
| + GLPtrAlias<GrGLDrawElementsProc> fDrawElements;
|
| + GLPtrAlias<GrGLEnableProc> fEnable;
|
| + GLPtrAlias<GrGLEnableClientStateProc> fEnableClientState;
|
| + GLPtrAlias<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray;
|
| + GLPtrAlias<GrGLEndQueryProc> fEndQuery;
|
| + GLPtrAlias<GrGLFinishProc> fFinish;
|
| + GLPtrAlias<GrGLFlushProc> fFlush;
|
| + GLPtrAlias<GrGLFramebufferRenderbufferProc> fFramebufferRenderbuffer;
|
| + GLPtrAlias<GrGLFramebufferTexture2DProc> fFramebufferTexture2D;
|
| + GLPtrAlias<GrGLFramebufferTexture2DMultisampleProc> fFramebufferTexture2DMultisample;
|
| + GLPtrAlias<GrGLFrontFaceProc> fFrontFace;
|
| + GLPtrAlias<GrGLGenBuffersProc> fGenBuffers;
|
| + GLPtrAlias<GrGLGenFramebuffersProc> fGenFramebuffers;
|
| + GLPtrAlias<GrGLGenerateMipmapProc> fGenerateMipmap;
|
| + GLPtrAlias<GrGLGenQueriesProc> fGenQueries;
|
| + GLPtrAlias<GrGLGenRenderbuffersProc> fGenRenderbuffers;
|
| + GLPtrAlias<GrGLGenTexturesProc> fGenTextures;
|
| + GLPtrAlias<GrGLGenVertexArraysProc> fGenVertexArrays;
|
| + GLPtrAlias<GrGLGetBufferParameterivProc> fGetBufferParameteriv;
|
| + GLPtrAlias<GrGLGetErrorProc> fGetError;
|
| + GLPtrAlias<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttachmentParameteriv;
|
| + GLPtrAlias<GrGLGetIntegervProc> fGetIntegerv;
|
| + GLPtrAlias<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v;
|
| + GLPtrAlias<GrGLGetQueryObjectivProc> fGetQueryObjectiv;
|
| + GLPtrAlias<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v;
|
| + GLPtrAlias<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv;
|
| + GLPtrAlias<GrGLGetQueryivProc> fGetQueryiv;
|
| + GLPtrAlias<GrGLGetProgramInfoLogProc> fGetProgramInfoLog;
|
| + GLPtrAlias<GrGLGetProgramivProc> fGetProgramiv;
|
| + GLPtrAlias<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv;
|
| + GLPtrAlias<GrGLGetShaderInfoLogProc> fGetShaderInfoLog;
|
| + GLPtrAlias<GrGLGetShaderivProc> fGetShaderiv;
|
| + GLPtrAlias<GrGLGetStringProc> fGetString;
|
| + GLPtrAlias<GrGLGetStringiProc> fGetStringi;
|
| + GLPtrAlias<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv;
|
| + GLPtrAlias<GrGLGetUniformLocationProc> fGetUniformLocation;
|
| + GLPtrAlias<GrGLLineWidthProc> fLineWidth;
|
| + GLPtrAlias<GrGLLinkProgramProc> fLinkProgram;
|
| + GLPtrAlias<GrGLLoadIdentityProc> fLoadIdentity;
|
| + GLPtrAlias<GrGLLoadMatrixfProc> fLoadMatrixf;
|
| + GLPtrAlias<GrGLMapBufferProc> fMapBuffer;
|
| + GLPtrAlias<GrGLMatrixModeProc> fMatrixMode;
|
| + GLPtrAlias<GrGLPixelStoreiProc> fPixelStorei;
|
| + GLPtrAlias<GrGLQueryCounterProc> fQueryCounter;
|
| + GLPtrAlias<GrGLReadBufferProc> fReadBuffer;
|
| + GLPtrAlias<GrGLReadPixelsProc> fReadPixels;
|
| + GLPtrAlias<GrGLRenderbufferStorageProc> fRenderbufferStorage;
|
| + GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2EXT;
|
| + GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2APPLE;
|
| + GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisample;
|
| + GLPtrAlias<GrGLBindUniformLocation> fBindUniformLocation;
|
| + GLPtrAlias<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer;
|
| + GLPtrAlias<GrGLScissorProc> fScissor;
|
| + GLPtrAlias<GrGLShaderSourceProc> fShaderSource;
|
| + GLPtrAlias<GrGLStencilFuncProc> fStencilFunc;
|
| + GLPtrAlias<GrGLStencilFuncSeparateProc> fStencilFuncSeparate;
|
| + GLPtrAlias<GrGLStencilMaskProc> fStencilMask;
|
| + GLPtrAlias<GrGLStencilMaskSeparateProc> fStencilMaskSeparate;
|
| + GLPtrAlias<GrGLStencilOpProc> fStencilOp;
|
| + GLPtrAlias<GrGLStencilOpSeparateProc> fStencilOpSeparate;
|
| + GLPtrAlias<GrGLTexGenfProc> fTexGenf;
|
| + GLPtrAlias<GrGLTexGenfvProc> fTexGenfv;
|
| + GLPtrAlias<GrGLTexGeniProc> fTexGeni;
|
| + GLPtrAlias<GrGLTexImage2DProc> fTexImage2D;
|
| + GLPtrAlias<GrGLTexParameteriProc> fTexParameteri;
|
| + GLPtrAlias<GrGLTexParameterivProc> fTexParameteriv;
|
| + GLPtrAlias<GrGLTexSubImage2DProc> fTexSubImage2D;
|
| + GLPtrAlias<GrGLTexStorage2DProc> fTexStorage2D;
|
| + GLPtrAlias<GrGLDiscardFramebufferProc> fDiscardFramebuffer;
|
| + GLPtrAlias<GrGLUniform1fProc> fUniform1f;
|
| + GLPtrAlias<GrGLUniform1iProc> fUniform1i;
|
| + GLPtrAlias<GrGLUniform1fvProc> fUniform1fv;
|
| + GLPtrAlias<GrGLUniform1ivProc> fUniform1iv;
|
| + GLPtrAlias<GrGLUniform2fProc> fUniform2f;
|
| + GLPtrAlias<GrGLUniform2iProc> fUniform2i;
|
| + GLPtrAlias<GrGLUniform2fvProc> fUniform2fv;
|
| + GLPtrAlias<GrGLUniform2ivProc> fUniform2iv;
|
| + GLPtrAlias<GrGLUniform3fProc> fUniform3f;
|
| + GLPtrAlias<GrGLUniform3iProc> fUniform3i;
|
| + GLPtrAlias<GrGLUniform3fvProc> fUniform3fv;
|
| + GLPtrAlias<GrGLUniform3ivProc> fUniform3iv;
|
| + GLPtrAlias<GrGLUniform4fProc> fUniform4f;
|
| + GLPtrAlias<GrGLUniform4iProc> fUniform4i;
|
| + GLPtrAlias<GrGLUniform4fvProc> fUniform4fv;
|
| + GLPtrAlias<GrGLUniform4ivProc> fUniform4iv;
|
| + GLPtrAlias<GrGLUniformMatrix2fvProc> fUniformMatrix2fv;
|
| + GLPtrAlias<GrGLUniformMatrix3fvProc> fUniformMatrix3fv;
|
| + GLPtrAlias<GrGLUniformMatrix4fvProc> fUniformMatrix4fv;
|
| + GLPtrAlias<GrGLUnmapBufferProc> fUnmapBuffer;
|
| + GLPtrAlias<GrGLUseProgramProc> fUseProgram;
|
| + GLPtrAlias<GrGLVertexAttrib4fvProc> fVertexAttrib4fv;
|
| + GLPtrAlias<GrGLVertexAttribPointerProc> fVertexAttribPointer;
|
| + GLPtrAlias<GrGLVertexPointerProc> fVertexPointer;
|
| + GLPtrAlias<GrGLViewportProc> fViewport;
|
| + GLPtrAlias<GrGLPathCommandsProc> fPathCommands;
|
| + GLPtrAlias<GrGLPathCoordsProc> fPathCoords;
|
| + GLPtrAlias<GrGLPathSubCommandsProc> fPathSubCommands;
|
| + GLPtrAlias<GrGLPathSubCoordsProc> fPathSubCoords;
|
| + GLPtrAlias<GrGLPathStringProc> fPathString;
|
| + GLPtrAlias<GrGLPathGlyphsProc> fPathGlyphs;
|
| + GLPtrAlias<GrGLPathGlyphRangeProc> fPathGlyphRange;
|
| + GLPtrAlias<GrGLWeightPathsProc> fWeightPaths;
|
| + GLPtrAlias<GrGLCopyPathProc> fCopyPath;
|
| + GLPtrAlias<GrGLInterpolatePathsProc> fInterpolatePaths;
|
| + GLPtrAlias<GrGLTransformPathProc> fTransformPath;
|
| + GLPtrAlias<GrGLPathParameterivProc> fPathParameteriv;
|
| + GLPtrAlias<GrGLPathParameteriProc> fPathParameteri;
|
| + GLPtrAlias<GrGLPathParameterfvProc> fPathParameterfv;
|
| + GLPtrAlias<GrGLPathParameterfProc> fPathParameterf;
|
| + GLPtrAlias<GrGLPathDashArrayProc> fPathDashArray;
|
| + GLPtrAlias<GrGLGenPathsProc> fGenPaths;
|
| + GLPtrAlias<GrGLDeletePathsProc> fDeletePaths;
|
| + GLPtrAlias<GrGLIsPathProc> fIsPath;
|
| + GLPtrAlias<GrGLPathStencilFuncProc> fPathStencilFunc;
|
| + GLPtrAlias<GrGLPathStencilDepthOffsetProc> fPathStencilDepthOffset;
|
| + GLPtrAlias<GrGLStencilFillPathProc> fStencilFillPath;
|
| + GLPtrAlias<GrGLStencilStrokePathProc> fStencilStrokePath;
|
| + GLPtrAlias<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced;
|
| + GLPtrAlias<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced;
|
| + GLPtrAlias<GrGLPathCoverDepthFuncProc> fPathCoverDepthFunc;
|
| + GLPtrAlias<GrGLPathColorGenProc> fPathColorGen;
|
| + GLPtrAlias<GrGLPathTexGenProc> fPathTexGen;
|
| + GLPtrAlias<GrGLPathFogGenProc> fPathFogGen;
|
| + GLPtrAlias<GrGLCoverFillPathProc> fCoverFillPath;
|
| + GLPtrAlias<GrGLCoverStrokePathProc> fCoverStrokePath;
|
| + GLPtrAlias<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced;
|
| + GLPtrAlias<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced;
|
| + GLPtrAlias<GrGLGetPathParameterivProc> fGetPathParameteriv;
|
| + GLPtrAlias<GrGLGetPathParameterfvProc> fGetPathParameterfv;
|
| + GLPtrAlias<GrGLGetPathCommandsProc> fGetPathCommands;
|
| + GLPtrAlias<GrGLGetPathCoordsProc> fGetPathCoords;
|
| + GLPtrAlias<GrGLGetPathDashArrayProc> fGetPathDashArray;
|
| + GLPtrAlias<GrGLGetPathMetricsProc> fGetPathMetrics;
|
| + GLPtrAlias<GrGLGetPathMetricRangeProc> fGetPathMetricRange;
|
| + GLPtrAlias<GrGLGetPathSpacingProc> fGetPathSpacing;
|
| + GLPtrAlias<GrGLGetPathColorGenivProc> fGetPathColorGeniv;
|
| + GLPtrAlias<GrGLGetPathColorGenfvProc> fGetPathColorGenfv;
|
| + GLPtrAlias<GrGLGetPathTexGenivProc> fGetPathTexGeniv;
|
| + GLPtrAlias<GrGLGetPathTexGenfvProc> fGetPathTexGenfv;
|
| + GLPtrAlias<GrGLIsPointInFillPathProc> fIsPointInFillPath;
|
| + GLPtrAlias<GrGLIsPointInStrokePathProc> fIsPointInStrokePath;
|
| + GLPtrAlias<GrGLGetPathLengthProc> fGetPathLength;
|
| + GLPtrAlias<GrGLPointAlongPathProc> fPointAlongPath;
|
|
|
| // Per-GL func callback
|
| #if GR_GL_PER_GL_FUNC_CALLBACK
|
|
|