Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: include/gpu/gl/GrGLInterface.h

Issue 1185573003: Import new functionality for GL4 backend (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix KHR_debug suffixes Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/gl/GrGLAssembleInterface.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/gl/GrGLAssembleInterface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698