Import functionality for new GL backend
Brings in the following functionality:
ARB_draw_instanced
ARB_instanced_arrays
NV_bindless_texture
EXT_direct_state_access
KHR_debug
Also cleans up some of the NVPR extension loading.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643
Review URL: https://codereview.chromium.org/1185573003
diff --git a/src/gpu/gl/GrGLCaps.h b/src/gpu/gl/GrGLCaps.h
index ac89115..1f5d6c2 100644
--- a/src/gpu/gl/GrGLCaps.h
+++ b/src/gpu/gl/GrGLCaps.h
@@ -224,6 +224,15 @@
/// Is there support for Vertex Array Objects?
bool vertexArrayObjectSupport() const { return fVertexArrayObjectSupport; }
+ /// Is there support for glDraw*Instanced and glVertexAttribDivisor?
+ bool instancedDrawingSupport() const { return fInstancedDrawingSupport; }
+
+ /// Is there support for GL_EXT_direct_state_access?
+ bool directStateAccessSupport() const { return fDirectStateAccessSupport; }
+
+ /// Is there support for GL_KHR_debug?
+ bool debugSupport() const { return fDebugSupport; }
+
/// Is there support for ES2 compatability?
bool ES2CompatibilitySupport() const { return fES2CompatibilitySupport; }
@@ -350,6 +359,9 @@
bool fTwoFormatLimit : 1;
bool fFragCoordsConventionSupport : 1;
bool fVertexArrayObjectSupport : 1;
+ bool fInstancedDrawingSupport : 1;
+ bool fDirectStateAccessSupport : 1;
+ bool fDebugSupport : 1;
bool fES2CompatibilitySupport : 1;
bool fMultisampleDisableSupport : 1;
bool fUseNonVBOVertexAndIndexDynamicData : 1;
@@ -405,6 +417,8 @@
bool fbFetchNeedsCustomOutput() const { return fFBFetchNeedsCustomOutput; }
+ bool bindlessTextureSupport() const { return fBindlessTextureSupport; }
+
const char* fbFetchColorName() const { return fFBFetchColorName; }
const char* fbFetchExtensionString() const { return fFBFetchExtensionString; }
@@ -441,6 +455,7 @@
bool fDropsTileOnZeroDivide : 1;
bool fFBFetchSupport : 1;
bool fFBFetchNeedsCustomOutput : 1;
+ bool fBindlessTextureSupport : 1;
const char* fFBFetchColorName;
const char* fFBFetchExtensionString;