| Index: include/gpu/gl/GrGLInterface.h
|
| diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h
|
| index 27f1eccda757f5ddedf2aebc93825b7726de6715..1901cb2dee7087b31c3e83f4aed4ad8d2ef1b582 100644
|
| --- a/include/gpu/gl/GrGLInterface.h
|
| +++ b/include/gpu/gl/GrGLInterface.h
|
| @@ -240,8 +240,6 @@ public:
|
| GLPtr<GrGLMapBufferRangeProc> fMapBufferRange;
|
| GLPtr<GrGLMapBufferSubDataProc> fMapBufferSubData;
|
| GLPtr<GrGLMapTexSubImage2DProc> fMapTexSubImage2D;
|
| - GLPtr<GrGLMatrixLoadfProc> fMatrixLoadf;
|
| - GLPtr<GrGLMatrixLoadIdentityProc> fMatrixLoadIdentity;
|
| GLPtr<GrGLPixelStoreiProc> fPixelStorei;
|
| GLPtr<GrGLPopGroupMarkerProc> fPopGroupMarker;
|
| GLPtr<GrGLPushGroupMarkerProc> fPushGroupMarker;
|
| @@ -323,9 +321,9 @@ public:
|
| GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer;
|
| 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).
|
| + /* GL_NV_path_rendering */
|
| + GLPtr<GrGLMatrixLoadfProc> fMatrixLoadf;
|
| + GLPtr<GrGLMatrixLoadIdentityProc> fMatrixLoadIdentity;
|
| GLPtr<GrGLGetProgramResourceLocationProc> fGetProgramResourceLocation;
|
| GLPtr<GrGLPathCommandsProc> fPathCommands;
|
| GLPtr<GrGLPathCoordsProc> fPathCoords;
|
| @@ -352,8 +350,146 @@ public:
|
| // NV_path_rendering v1.3
|
| GLPtr<GrGLProgramPathFragmentInputGenProc> fProgramPathFragmentInputGen;
|
| GLPtr<GrGLPathMemoryGlyphIndexArrayProc> fPathMemoryGlyphIndexArray;
|
| - // NV_framebuffer_mixed_samples
|
| +
|
| + /* NV_framebuffer_mixed_samples */
|
| GLPtr<GrGLCoverageModulationProc> fCoverageModulation;
|
| +
|
| + /* ARB_draw_instanced */
|
| + GLPtr<GrGLDrawArraysInstancedProc> fDrawArraysInstanced;
|
| + GLPtr<GrGLDrawElementsInstancedProc> fDrawElementsInstanced;
|
| +
|
| + /* ARB_instanced_arrays */
|
| + GLPtr<GrGLVertexAttribDivisorProc> fVertexAttribDivisor;
|
| +
|
| + /* NV_bindless_texture */
|
| + // We use the NVIDIA verson for now because it does not require dynamically uniform handles.
|
| + // We may switch the the ARB version and/or omit methods in the future.
|
| + GLPtr<GrGLGetTextureHandleProc> fGetTextureHandle;
|
| + GLPtr<GrGLGetTextureSamplerHandleProc> fGetTextureSamplerHandle;
|
| + GLPtr<GrGLMakeTextureHandleResidentProc> fMakeTextureHandleResident;
|
| + GLPtr<GrGLMakeTextureHandleNonResidentProc> fMakeTextureHandleNonResident;
|
| + GLPtr<GrGLGetImageHandleProc> fGetImageHandle;
|
| + GLPtr<GrGLMakeImageHandleResidentProc> fMakeImageHandleResident;
|
| + GLPtr<GrGLMakeImageHandleNonResidentProc> fMakeImageHandleNonResident;
|
| + GLPtr<GrGLIsTextureHandleResidentProc> fIsTextureHandleResident;
|
| + GLPtr<GrGLIsImageHandleResidentProc> fIsImageHandleResident;
|
| + GLPtr<GrGLUniformHandleui64Proc> fUniformHandleui64;
|
| + GLPtr<GrGLUniformHandleui64vProc> fUniformHandleui64v;
|
| + GLPtr<GrGLProgramUniformHandleui64Proc> fProgramUniformHandleui64;
|
| + GLPtr<GrGLProgramUniformHandleui64vProc> fProgramUniformHandleui64v;
|
| +
|
| + /* EXT_direct_state_access */
|
| + // We use the EXT verson because it is more expansive and interacts with more extensions
|
| + // than the ARB or core (4.5) versions. We may switch and/or omit methods in the future.
|
| + GLPtr<GrGLTextureParameteriProc> fTextureParameteri;
|
| + GLPtr<GrGLTextureParameterivProc> fTextureParameteriv;
|
| + GLPtr<GrGLTextureParameterfProc> fTextureParameterf;
|
| + GLPtr<GrGLTextureParameterfvProc> fTextureParameterfv;
|
| + GLPtr<GrGLTextureImage1DProc> fTextureImage1D;
|
| + GLPtr<GrGLTextureImage2DProc> fTextureImage2D;
|
| + GLPtr<GrGLTextureSubImage1DProc> fTextureSubImage1D;
|
| + GLPtr<GrGLTextureSubImage2DProc> fTextureSubImage2D;
|
| + GLPtr<GrGLCopyTextureImage1DProc> fCopyTextureImage1D;
|
| + GLPtr<GrGLCopyTextureImage2DProc> fCopyTextureImage2D;
|
| + GLPtr<GrGLCopyTextureSubImage1DProc> fCopyTextureSubImage1D;
|
| + GLPtr<GrGLCopyTextureSubImage2DProc> fCopyTextureSubImage2D;
|
| + GLPtr<GrGLGetTextureImageProc> fGetTextureImage;
|
| + GLPtr<GrGLGetTextureParameterfvProc> fGetTextureParameterfv;
|
| + GLPtr<GrGLGetTextureParameterivProc> fGetTextureParameteriv;
|
| + GLPtr<GrGLGetTextureLevelParameterfvProc> fGetTextureLevelParameterfv;
|
| + GLPtr<GrGLGetTextureLevelParameterivProc> fGetTextureLevelParameteriv;
|
| + // OpenGL 1.2
|
| + GLPtr<GrGLTextureImage3DProc> fTextureImage3D;
|
| + GLPtr<GrGLTextureSubImage3DProc> fTextureSubImage3D;
|
| + GLPtr<GrGLCopyTextureSubImage3DProc> fCopyTextureSubImage3D;
|
| + GLPtr<GrGLCompressedTextureImage3DProc> fCompressedTextureImage3D;
|
| + GLPtr<GrGLCompressedTextureImage2DProc> fCompressedTextureImage2D;
|
| + GLPtr<GrGLCompressedTextureImage1DProc> fCompressedTextureImage1D;
|
| + GLPtr<GrGLCompressedTextureSubImage3DProc> fCompressedTextureSubImage3D;
|
| + GLPtr<GrGLCompressedTextureSubImage2DProc> fCompressedTextureSubImage2D;
|
| + GLPtr<GrGLCompressedTextureSubImage1DProc> fCompressedTextureSubImage1D;
|
| + GLPtr<GrGLGetCompressedTextureImageProc> fGetCompressedTextureImage;
|
| + // OpenGL 1.5
|
| + GLPtr<GrGLNamedBufferDataProc> fNamedBufferData;
|
| + GLPtr<GrGLNamedBufferSubDataProc> fNamedBufferSubData;
|
| + GLPtr<GrGLMapNamedBufferProc> fMapNamedBuffer;
|
| + GLPtr<GrGLUnmapNamedBufferProc> fUnmapNamedBuffer;
|
| + GLPtr<GrGLGetNamedBufferParameterivProc> fGetNamedBufferParameteriv;
|
| + GLPtr<GrGLGetNamedBufferPointervProc> fGetNamedBufferPointerv;
|
| + GLPtr<GrGLGetNamedBufferSubDataProc> fGetNamedBufferSubData;
|
| + // OpenGL 2.0
|
| + GLPtr<GrGLProgramUniform1fProc> fProgramUniform1f;
|
| + GLPtr<GrGLProgramUniform2fProc> fProgramUniform2f;
|
| + GLPtr<GrGLProgramUniform3fProc> fProgramUniform3f;
|
| + GLPtr<GrGLProgramUniform4fProc> fProgramUniform4f;
|
| + GLPtr<GrGLProgramUniform1iProc> fProgramUniform1i;
|
| + GLPtr<GrGLProgramUniform2iProc> fProgramUniform2i;
|
| + GLPtr<GrGLProgramUniform3iProc> fProgramUniform3i;
|
| + GLPtr<GrGLProgramUniform4iProc> fProgramUniform4i;
|
| + GLPtr<GrGLProgramUniform1fvProc> fProgramUniform1fv;
|
| + GLPtr<GrGLProgramUniform2fvProc> fProgramUniform2fv;
|
| + GLPtr<GrGLProgramUniform3fvProc> fProgramUniform3fv;
|
| + GLPtr<GrGLProgramUniform4fvProc> fProgramUniform4fv;
|
| + GLPtr<GrGLProgramUniform1ivProc> fProgramUniform1iv;
|
| + GLPtr<GrGLProgramUniform2ivProc> fProgramUniform2iv;
|
| + GLPtr<GrGLProgramUniform3ivProc> fProgramUniform3iv;
|
| + GLPtr<GrGLProgramUniform4ivProc> fProgramUniform4iv;
|
| + GLPtr<GrGLProgramUniformMatrix2fvProc> fProgramUniformMatrix2fv;
|
| + GLPtr<GrGLProgramUniformMatrix3fvProc> fProgramUniformMatrix3fv;
|
| + GLPtr<GrGLProgramUniformMatrix4fvProc> fProgramUniformMatrix4fv;
|
| + // OpenGL 2.1
|
| + GLPtr<GrGLProgramUniformMatrix2x3fvProc> fProgramUniformMatrix2x3fv;
|
| + GLPtr<GrGLProgramUniformMatrix3x2fvProc> fProgramUniformMatrix3x2fv;
|
| + GLPtr<GrGLProgramUniformMatrix2x4fvProc> fProgramUniformMatrix2x4fv;
|
| + GLPtr<GrGLProgramUniformMatrix4x2fvProc> fProgramUniformMatrix4x2fv;
|
| + GLPtr<GrGLProgramUniformMatrix3x4fvProc> fProgramUniformMatrix3x4fv;
|
| + GLPtr<GrGLProgramUniformMatrix4x3fvProc> fProgramUniformMatrix4x3fv;
|
| + // OpenGL 3.0
|
| + GLPtr<GrGLNamedRenderbufferStorageProc> fNamedRenderbufferStorage;
|
| + GLPtr<GrGLGetNamedRenderbufferParameterivProc> fGetNamedRenderbufferParameteriv;
|
| + GLPtr<GrGLNamedRenderbufferStorageMultisampleProc> fNamedRenderbufferStorageMultisample;
|
| + GLPtr<GrGLCheckNamedFramebufferStatusProc> fCheckNamedFramebufferStatus;
|
| + GLPtr<GrGLNamedFramebufferTexture1DProc> fNamedFramebufferTexture1D;
|
| + GLPtr<GrGLNamedFramebufferTexture2DProc> fNamedFramebufferTexture2D;
|
| + GLPtr<GrGLNamedFramebufferTexture3DProc> fNamedFramebufferTexture3D;
|
| + GLPtr<GrGLNamedFramebufferRenderbufferProc> fNamedFramebufferRenderbuffer;
|
| + GLPtr<GrGLGetNamedFramebufferAttachmentParameterivProc> fGetNamedFramebufferAttachmentParameteriv;
|
| + GLPtr<GrGLGenerateTextureMipmapProc> fGenerateTextureMipmap;
|
| + GLPtr<GrGLFramebufferDrawBufferProc> fFramebufferDrawBuffer;
|
| + GLPtr<GrGLFramebufferDrawBuffersProc> fFramebufferDrawBuffers;
|
| + GLPtr<GrGLFramebufferReadBufferProc> fFramebufferReadBuffer;
|
| + GLPtr<GrGLGetFramebufferParameterivProc> fGetFramebufferParameteriv;
|
| + GLPtr<GrGLNamedCopyBufferSubDataProc> fNamedCopyBufferSubData;
|
| + GLPtr<GrGLVertexArrayVertexOffsetProc> fVertexArrayVertexOffset;
|
| + GLPtr<GrGLVertexArrayColorOffsetProc> fVertexArrayColorOffset;
|
| + GLPtr<GrGLVertexArrayEdgeFlagOffsetProc> fVertexArrayEdgeFlagOffset;
|
| + GLPtr<GrGLVertexArrayIndexOffsetProc> fVertexArrayIndexOffset;
|
| + GLPtr<GrGLVertexArrayNormalOffsetProc> fVertexArrayNormalOffset;
|
| + GLPtr<GrGLVertexArrayTexCoordOffsetProc> fVertexArrayTexCoordOffset;
|
| + GLPtr<GrGLVertexArrayMultiTexCoordOffsetProc> fVertexArrayMultiTexCoordOffset;
|
| + GLPtr<GrGLVertexArrayFogCoordOffsetProc> fVertexArrayFogCoordOffset;
|
| + GLPtr<GrGLVertexArraySecondaryColorOffsetProc> fVertexArraySecondaryColorOffset;
|
| + GLPtr<GrGLVertexArrayVertexAttribOffsetProc> fVertexArrayVertexAttribOffset;
|
| + GLPtr<GrGLVertexArrayVertexAttribIOffsetProc> fVertexArrayVertexAttribIOffset;
|
| + GLPtr<GrGLEnableVertexArrayProc> fEnableVertexArray;
|
| + GLPtr<GrGLDisableVertexArrayProc> fDisableVertexArray;
|
| + GLPtr<GrGLEnableVertexArrayAttribProc> fEnableVertexArrayAttrib;
|
| + GLPtr<GrGLDisableVertexArrayAttribProc> fDisableVertexArrayAttrib;
|
| + GLPtr<GrGLGetVertexArrayIntegervProc> fGetVertexArrayIntegerv;
|
| + GLPtr<GrGLGetVertexArrayPointervProc> fGetVertexArrayPointerv;
|
| + GLPtr<GrGLGetVertexArrayIntegeri_vProc> fGetVertexArrayIntegeri_v;
|
| + GLPtr<GrGLGetVertexArrayPointeri_vProc> fGetVertexArrayPointeri_v;
|
| + GLPtr<GrGLMapNamedBufferRangeProc> fMapNamedBufferRange;
|
| + GLPtr<GrGLFlushMappedNamedBufferRangeProc> fFlushMappedNamedBufferRange;
|
| +
|
| + /* KHR_debug */
|
| + GLPtr<GrGLDebugMessageControlProc> fDebugMessageControl;
|
| + GLPtr<GrGLDebugMessageInsertProc> fDebugMessageInsert;
|
| + GLPtr<GrGLDebugMessageCallbackProc> fDebugMessageCallback;
|
| + GLPtr<GrGLGetDebugMessageLogProc> fGetDebugMessageLog;
|
| + GLPtr<GrGLPushDebugGroupProc> fPushDebugGroup;
|
| + GLPtr<GrGLPopDebugGroupProc> fPopDebugGroup;
|
| + GLPtr<GrGLObjectLabelProc> fObjectLabel;
|
| } fFunctions;
|
|
|
| // Per-GL func callback
|
|
|