Index: src/gpu/gl/GrGLCaps.cpp |
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp |
index 318426b5bc42097ebb95ac8f04f96ec1914fab23..70ef9a4f41abfc7fee11b24147a3c636c83ad294 100644 |
--- a/src/gpu/gl/GrGLCaps.cpp |
+++ b/src/gpu/gl/GrGLCaps.cpp |
@@ -271,8 +271,14 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, |
fMultisampleDisableSupport = false; |
} |
- if (kGL_GrGLStandard == standard && version >= GR_GL_VER(3, 0)) { |
- fBindFragDataLocationSupport = true; |
+ if (kGL_GrGLStandard == standard) { |
+ if (version >= GR_GL_VER(3, 0)) { |
+ fBindFragDataLocationSupport = true; |
+ } |
+ } else { |
+ if (version >= GR_GL_VER(3, 0) && ctxInfo.hasExtension("GL_EXT_blend_func_extended")) { |
+ fBindFragDataLocationSupport = true; |
+ } |
} |
/************************************************************************** |
@@ -295,6 +301,8 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, |
ctxInfo.glslGeneration() >= k150_GrGLSLGeneration; |
} |
else { |
+ glslCaps->fDualSourceBlendingSupport = ctxInfo.hasExtension("GL_EXT_blend_func_extended"); |
+ |
glslCaps->fShaderDerivativeSupport = ctxInfo.version() >= GR_GL_VER(3, 0) || |
ctxInfo.hasExtension("GL_OES_standard_derivatives"); |
} |