Index: src/gpu/gl/GrGLCaps.cpp |
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp |
index 9911d53f43c373d54cb88561d4269ea5e5361884..e70e6f04fba39336841b2a38f4e7e3757da1d1eb 100644 |
--- a/src/gpu/gl/GrGLCaps.cpp |
+++ b/src/gpu/gl/GrGLCaps.cpp |
@@ -52,6 +52,8 @@ void GrGLCaps::reset() { |
fDropsTileOnZeroDivide = false; |
fFBFetchSupport = false; |
fFBFetchNeedsCustomOutput = false; |
+ fPreferBindingToReadAndDrawFramebuffer = false; |
+ |
fFBFetchColorName = NULL; |
fFBFetchExtensionString = NULL; |
@@ -99,6 +101,7 @@ GrGLCaps& GrGLCaps::operator= (const GrGLCaps& caps) { |
fFBFetchNeedsCustomOutput = caps.fFBFetchNeedsCustomOutput; |
fFBFetchColorName = caps.fFBFetchColorName; |
fFBFetchExtensionString = caps.fFBFetchExtensionString; |
+ fPreferBindingToReadAndDrawFramebuffer = caps.fPreferBindingToReadAndDrawFramebuffer; |
return *this; |
} |
@@ -279,6 +282,12 @@ bool GrGLCaps::init(const GrGLContextInfo& ctxInfo, const GrGLInterface* gli) { |
this->initFSAASupport(ctxInfo, gli); |
this->initStencilFormats(ctxInfo); |
+ // Workaround for Mac/Chromium issue. |
+#ifdef SK_BUILD_FOR_MAC |
+ // This relies on the fact that initFSAASupport() was already called. |
+ fPreferBindingToReadAndDrawFramebuffer = ctxInfo.isChromium() && this->usesMSAARenderBuffers(); |
+#endif |
+ |
/************************************************************************** |
* GrDrawTargetCaps fields |
**************************************************************************/ |