Make BGRA8888 renderable on CHROMIUM_framebuffer_mixed_samples
authorkkinnunen <kkinnunen@nvidia.com>
Mon, 25 Jan 2016 08:31:49 +0000 (00:31 -0800)
committerCommit bot <commit-bot@chromium.org>
Mon, 25 Jan 2016 08:31:49 +0000 (00:31 -0800)
Make BGRA8888 renderable on CHROMIUM_framebuffer_mixed_samples.

BUG=skia:2992
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1615833002

Review URL: https://codereview.chromium.org/1615833002

src/gpu/gl/GrGLCaps.cpp

index 4467ef9..350c3e5 100644 (file)
@@ -296,7 +296,8 @@ void GrGLCaps::init(const GrContextOptions& contextOptions,
         fUsesMixedSamples = ctxInfo.hasExtension("GL_NV_framebuffer_mixed_samples") ||
                 ctxInfo.hasExtension("GL_CHROMIUM_framebuffer_mixed_samples");
         // Workaround NVIDIA bug related to glInvalidateFramebuffer and mixed samples.
-        if (fUsesMixedSamples && kNVIDIA_GrGLDriver == ctxInfo.driver()) {
+        if (fUsesMixedSamples && (kNVIDIA_GrGLDriver == ctxInfo.driver() ||
+                                  kChromium_GrGLDriver == ctxInfo.driver())) {
             fDiscardRenderTargetSupport = false;
             fInvalidateFBType = kNone_InvalidateFBType;
         }
@@ -1209,7 +1210,7 @@ void GrGLCaps::initConfigTable(const GrGLContextInfo& ctxInfo, const GrGLInterfa
             fConfigTable[kBGRA_8888_GrPixelConfig].fFlags = ConfigInfo::kTextureable_Flag |
                                                             ConfigInfo::kRenderable_Flag;
             if (ctxInfo.hasExtension("GL_CHROMIUM_renderbuffer_format_BGRA8888") &&
-                this->usesMSAARenderBuffers()) {
+                (this->usesMSAARenderBuffers() || this->fMSFBOType == kMixedSamples_MSFBOType)) {
                 fConfigTable[kBGRA_8888_GrPixelConfig].fFlags |=
                     ConfigInfo::kRenderableWithMSAA_Flag;
             }