Blacklist sRGB MSAA on AMD (ATI) Macs

Fixes GrSurfaceTest failure on the trash can

BUG=skia:

Change-Id: I0def62ea7a2693043f6a359a47a3e9e1177ca84d
Reviewed-on: https://skia-review.googlesource.com/18152
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This commit is contained in:
Brian Osman 2017-05-31 16:19:34 -04:00 committed by Skia Commit-Bot
parent 1d6163577c
commit 6799939b0a

View File

@ -1642,6 +1642,14 @@ void GrGLCaps::initConfigTable(const GrContextOptions& contextOptions,
fSRGBSupport = false;
}
uint32_t srgbRenderFlags = allRenderFlags;
// MacPro devices with AMD cards fail to create MSAA sRGB render buffers
#if defined(SK_BUILD_FOR_MAC)
if (kATI_GrGLVendor == ctxInfo.vendor()) {
srgbRenderFlags &= ~ConfigInfo::kRenderableWithMSAA_Flag;
}
#endif
fConfigTable[kSRGBA_8888_GrPixelConfig].fFormats.fBaseInternalFormat = GR_GL_SRGB_ALPHA;
fConfigTable[kSRGBA_8888_GrPixelConfig].fFormats.fSizedInternalFormat = GR_GL_SRGB8_ALPHA8;
// GL does not do srgb<->rgb conversions when transferring between cpu and gpu. Thus, the
@ -1652,7 +1660,7 @@ void GrGLCaps::initConfigTable(const GrContextOptions& contextOptions,
fConfigTable[kSRGBA_8888_GrPixelConfig].fFormatType = kNormalizedFixedPoint_FormatType;
if (fSRGBSupport) {
fConfigTable[kSRGBA_8888_GrPixelConfig].fFlags = ConfigInfo::kTextureable_Flag |
allRenderFlags;
srgbRenderFlags;
}
if (texStorageSupported) {
fConfigTable[kSRGBA_8888_GrPixelConfig].fFlags |= ConfigInfo::kCanUseTexStorage_Flag;
@ -1671,7 +1679,7 @@ void GrGLCaps::initConfigTable(const GrContextOptions& contextOptions,
fConfigTable[kSBGRA_8888_GrPixelConfig].fFormatType = kNormalizedFixedPoint_FormatType;
if (fSRGBSupport && kGL_GrGLStandard == standard) {
fConfigTable[kSBGRA_8888_GrPixelConfig].fFlags = ConfigInfo::kTextureable_Flag |
allRenderFlags;
srgbRenderFlags;
}
if (texStorageSupported) {