Index: src/gpu/gl/GrGLInterface.cpp |
diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp |
index 2e7cde65461bc1212b4a733185cb1014e00f335a..8bbd2f3b1b77c508a025269de66ac03988eaa6b7 100644 |
--- a/src/gpu/gl/GrGLInterface.cpp |
+++ b/src/gpu/gl/GrGLInterface.cpp |
@@ -466,6 +466,14 @@ |
} |
} |
+ if ((kGL_GrGLStandard == fStandard && fExtensions.has("GL_EXT_direct_state_access")) || |
+ (kGLES_GrGLStandard == fStandard && fExtensions.has("GL_NV_path_rendering"))) { |
+ if (NULL == fFunctions.fMatrixLoadf || |
+ NULL == fFunctions.fMatrixLoadIdentity) { |
+ RETURN_FALSE_INTERFACE |
+ } |
+ } |
+ |
if ((kGL_GrGLStandard == fStandard && |
(glVer >= GR_GL_VER(4,3) || fExtensions.has("GL_ARB_program_interface_query"))) || |
(kGLES_GrGLStandard == fStandard && glVer >= GR_GL_VER(3,1))) { |
@@ -484,9 +492,7 @@ |
} |
if (fExtensions.has("GL_NV_path_rendering")) { |
- if (NULL == fFunctions.fMatrixLoadf || |
- NULL == fFunctions.fMatrixLoadIdentity || |
- NULL == fFunctions.fPathCommands || |
+ if (NULL == fFunctions.fPathCommands || |
NULL == fFunctions.fPathCoords || |
NULL == fFunctions.fPathParameteri || |
NULL == fFunctions.fPathParameterf || |
@@ -534,180 +540,5 @@ |
} |
} |
- if ((kGL_GrGLStandard == fStandard && glVer >= GR_GL_VER(3,1)) || |
- (kGLES_GrGLStandard == fStandard && glVer >= GR_GL_VER(3,0)) || |
- fExtensions.has("GL_ARB_draw_instanced") || |
- fExtensions.has("GL_EXT_draw_instanced")) { |
- if (NULL == fFunctions.fDrawArraysInstanced || |
- NULL == fFunctions.fDrawElementsInstanced) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- |
- if ((kGL_GrGLStandard == fStandard && glVer >= GR_GL_VER(3,2)) || |
- (kGLES_GrGLStandard == fStandard && glVer >= GR_GL_VER(3,0)) || |
- fExtensions.has("GL_ARB_instanced_arrays") || |
- fExtensions.has("GL_EXT_instanced_arrays")) { |
- if (NULL == fFunctions.fVertexAttribDivisor) { |
- RETURN_FALSE_INTERFACE |
- } |
- if (kGL_GrGLStandard == fStandard && fExtensions.has("GL_EXT_direct_state_access")) { |
- if (NULL == fFunctions.fVertexArrayVertexAttribDivisor) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- } |
- |
- if (fExtensions.has("GL_NV_bindless_texture")) { |
- if (NULL == fFunctions.fGetTextureHandle || |
- NULL == fFunctions.fGetTextureSamplerHandle || |
- NULL == fFunctions.fMakeTextureHandleResident || |
- NULL == fFunctions.fMakeTextureHandleNonResident || |
- NULL == fFunctions.fGetImageHandle || |
- NULL == fFunctions.fMakeImageHandleResident || |
- NULL == fFunctions.fMakeImageHandleNonResident || |
- NULL == fFunctions.fIsTextureHandleResident || |
- NULL == fFunctions.fIsImageHandleResident || |
- NULL == fFunctions.fUniformHandleui64 || |
- NULL == fFunctions.fUniformHandleui64v || |
- NULL == fFunctions.fProgramUniformHandleui64 || |
- NULL == fFunctions.fProgramUniformHandleui64v) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- |
- if (kGL_GrGLStandard == fStandard && fExtensions.has("GL_EXT_direct_state_access")) { |
- if (NULL == fFunctions.fTextureParameteri || |
- NULL == fFunctions.fTextureParameteriv || |
- NULL == fFunctions.fTextureParameterf || |
- NULL == fFunctions.fTextureParameterfv || |
- NULL == fFunctions.fTextureImage1D || |
- NULL == fFunctions.fTextureImage2D || |
- NULL == fFunctions.fTextureSubImage1D || |
- NULL == fFunctions.fTextureSubImage2D || |
- NULL == fFunctions.fCopyTextureImage1D || |
- NULL == fFunctions.fCopyTextureImage2D || |
- NULL == fFunctions.fCopyTextureSubImage1D || |
- NULL == fFunctions.fCopyTextureSubImage2D || |
- NULL == fFunctions.fGetTextureImage || |
- NULL == fFunctions.fGetTextureParameterfv || |
- NULL == fFunctions.fGetTextureParameteriv || |
- NULL == fFunctions.fGetTextureLevelParameterfv || |
- NULL == fFunctions.fGetTextureLevelParameteriv) { |
- RETURN_FALSE_INTERFACE |
- } |
- if (glVer >= GR_GL_VER(1,2)) { |
- if (NULL == fFunctions.fTextureImage3D || |
- NULL == fFunctions.fTextureSubImage3D || |
- NULL == fFunctions.fCopyTextureSubImage3D || |
- NULL == fFunctions.fCompressedTextureImage3D || |
- NULL == fFunctions.fCompressedTextureImage2D || |
- NULL == fFunctions.fCompressedTextureImage1D || |
- NULL == fFunctions.fCompressedTextureSubImage3D || |
- NULL == fFunctions.fCompressedTextureSubImage2D || |
- NULL == fFunctions.fCompressedTextureSubImage1D || |
- NULL == fFunctions.fGetCompressedTextureImage) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- if (glVer >= GR_GL_VER(1,5)) { |
- if (NULL == fFunctions.fNamedBufferData || |
- NULL == fFunctions.fNamedBufferSubData || |
- NULL == fFunctions.fMapNamedBuffer || |
- NULL == fFunctions.fUnmapNamedBuffer || |
- NULL == fFunctions.fGetNamedBufferParameteriv || |
- NULL == fFunctions.fGetNamedBufferPointerv || |
- NULL == fFunctions.fGetNamedBufferSubData) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- if (glVer >= GR_GL_VER(2,0)) { |
- if (NULL == fFunctions.fProgramUniform1f || |
- NULL == fFunctions.fProgramUniform2f || |
- NULL == fFunctions.fProgramUniform3f || |
- NULL == fFunctions.fProgramUniform4f || |
- NULL == fFunctions.fProgramUniform1i || |
- NULL == fFunctions.fProgramUniform2i || |
- NULL == fFunctions.fProgramUniform3i || |
- NULL == fFunctions.fProgramUniform4i || |
- NULL == fFunctions.fProgramUniform1fv || |
- NULL == fFunctions.fProgramUniform2fv || |
- NULL == fFunctions.fProgramUniform3fv || |
- NULL == fFunctions.fProgramUniform4fv || |
- NULL == fFunctions.fProgramUniform1iv || |
- NULL == fFunctions.fProgramUniform2iv || |
- NULL == fFunctions.fProgramUniform3iv || |
- NULL == fFunctions.fProgramUniform4iv || |
- NULL == fFunctions.fProgramUniformMatrix2fv || |
- NULL == fFunctions.fProgramUniformMatrix3fv || |
- NULL == fFunctions.fProgramUniformMatrix4fv) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- if (glVer >= GR_GL_VER(2,1)) { |
- if (NULL == fFunctions.fProgramUniformMatrix2x3fv || |
- NULL == fFunctions.fProgramUniformMatrix3x2fv || |
- NULL == fFunctions.fProgramUniformMatrix2x4fv || |
- NULL == fFunctions.fProgramUniformMatrix4x2fv || |
- NULL == fFunctions.fProgramUniformMatrix3x4fv || |
- NULL == fFunctions.fProgramUniformMatrix4x3fv) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- if (glVer >= GR_GL_VER(3,0)) { |
- if (NULL == fFunctions.fNamedRenderbufferStorage || |
- NULL == fFunctions.fGetNamedRenderbufferParameteriv || |
- NULL == fFunctions.fNamedRenderbufferStorageMultisample || |
- NULL == fFunctions.fCheckNamedFramebufferStatus || |
- NULL == fFunctions.fNamedFramebufferTexture1D || |
- NULL == fFunctions.fNamedFramebufferTexture2D || |
- NULL == fFunctions.fNamedFramebufferTexture3D || |
- NULL == fFunctions.fNamedFramebufferRenderbuffer || |
- NULL == fFunctions.fGetNamedFramebufferAttachmentParameteriv || |
- NULL == fFunctions.fGenerateTextureMipmap || |
- NULL == fFunctions.fFramebufferDrawBuffer || |
- NULL == fFunctions.fFramebufferDrawBuffers || |
- NULL == fFunctions.fFramebufferReadBuffer || |
- NULL == fFunctions.fGetFramebufferParameteriv || |
- NULL == fFunctions.fNamedCopyBufferSubData || |
- NULL == fFunctions.fVertexArrayVertexOffset || |
- NULL == fFunctions.fVertexArrayColorOffset || |
- NULL == fFunctions.fVertexArrayEdgeFlagOffset || |
- NULL == fFunctions.fVertexArrayIndexOffset || |
- NULL == fFunctions.fVertexArrayNormalOffset || |
- NULL == fFunctions.fVertexArrayTexCoordOffset || |
- NULL == fFunctions.fVertexArrayMultiTexCoordOffset || |
- NULL == fFunctions.fVertexArrayFogCoordOffset || |
- NULL == fFunctions.fVertexArraySecondaryColorOffset || |
- NULL == fFunctions.fVertexArrayVertexAttribOffset || |
- NULL == fFunctions.fVertexArrayVertexAttribIOffset || |
- NULL == fFunctions.fEnableVertexArray || |
- NULL == fFunctions.fDisableVertexArray || |
- NULL == fFunctions.fEnableVertexArrayAttrib || |
- NULL == fFunctions.fDisableVertexArrayAttrib || |
- NULL == fFunctions.fGetVertexArrayIntegerv || |
- NULL == fFunctions.fGetVertexArrayPointerv || |
- NULL == fFunctions.fGetVertexArrayIntegeri_v || |
- NULL == fFunctions.fGetVertexArrayPointeri_v || |
- NULL == fFunctions.fMapNamedBufferRange || |
- NULL == fFunctions.fFlushMappedNamedBufferRange) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- } |
- |
- if ((kGL_GrGLStandard == fStandard && glVer >= GR_GL_VER(4,3)) || |
- fExtensions.has("GL_KHR_debug")) { |
- if (NULL == fFunctions.fDebugMessageControl || |
- NULL == fFunctions.fDebugMessageInsert || |
- NULL == fFunctions.fDebugMessageCallback || |
- NULL == fFunctions.fGetDebugMessageLog || |
- NULL == fFunctions.fPushDebugGroup || |
- NULL == fFunctions.fPopDebugGroup || |
- NULL == fFunctions.fObjectLabel) { |
- RETURN_FALSE_INTERFACE |
- } |
- } |
- |
return true; |
} |