| 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;
|
| }
|
|
|