| Index: src/gpu/gl/GrGLCaps.cpp
|
| diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
|
| index 55647a8547879a79ae5e24d9c4d889ccbf92ff44..ec0f6288b4b550899650208d1a64a806bacfb5b8 100644
|
| --- a/src/gpu/gl/GrGLCaps.cpp
|
| +++ b/src/gpu/gl/GrGLCaps.cpp
|
| @@ -51,7 +51,6 @@
|
| fMipMapLevelAndLodControlSupport = false;
|
| fRGBAToBGRAReadbackConversionsAreSlow = false;
|
| fDoManualMipmapping = false;
|
| - fSRGBDecodeDisableSupport = false;
|
|
|
| fBlitFramebufferFlags = kNoSupport_BlitFramebufferFlag;
|
|
|
| @@ -608,11 +607,9 @@
|
| fDoManualMipmapping = true;
|
| }
|
|
|
| - fSRGBDecodeDisableSupport = ctxInfo.hasExtension("GL_EXT_texture_sRGB_decode");
|
| -
|
| // Requires fTextureRedSupport, fTextureSwizzleSupport, msaa support, ES compatibility have
|
| // already been detected.
|
| - this->initConfigTable(contextOptions, ctxInfo, gli, shaderCaps);
|
| + this->initConfigTable(ctxInfo, gli, shaderCaps);
|
|
|
| this->applyOptionsOverrides(contextOptions);
|
| shaderCaps->applyOptionsOverrides(contextOptions);
|
| @@ -1392,8 +1389,7 @@
|
| return true;
|
| }
|
|
|
| -void GrGLCaps::initConfigTable(const GrContextOptions& contextOptions,
|
| - const GrGLContextInfo& ctxInfo, const GrGLInterface* gli,
|
| +void GrGLCaps::initConfigTable(const GrGLContextInfo& ctxInfo, const GrGLInterface* gli,
|
| GrShaderCaps* shaderCaps) {
|
| /*
|
| Comments on renderability of configs on various GL versions.
|
| @@ -1579,23 +1575,17 @@
|
| fSRGBWriteControl = true;
|
| }
|
| } else {
|
| - fSRGBSupport = ctxInfo.version() >= GR_GL_VER(3,0) || ctxInfo.hasExtension("GL_EXT_sRGB");
|
| -#if defined(SK_CPU_X86)
|
| - if (kPowerVRRogue_GrGLRenderer == ctxInfo.renderer()) {
|
| - // NexusPlayer has strange bugs with sRGB (skbug.com/4148). This is a targeted fix to
|
| - // blacklist that device (and any others that might be sharing the same driver).
|
| - fSRGBSupport = false;
|
| - }
|
| -#endif
|
| + // See https://bug.skia.org/4148 for PowerVR issue.
|
| + fSRGBSupport = kPowerVRRogue_GrGLRenderer != ctxInfo.renderer() &&
|
| + (ctxInfo.version() >= GR_GL_VER(3,0) || ctxInfo.hasExtension("GL_EXT_sRGB"));
|
| // ES through 3.1 requires EXT_srgb_write_control to support toggling
|
| // sRGB writing for destinations.
|
| // See https://bug.skia.org/5329 for Adreno4xx issue.
|
| fSRGBWriteControl = kAdreno4xx_GrGLRenderer != ctxInfo.renderer() &&
|
| ctxInfo.hasExtension("GL_EXT_sRGB_write_control");
|
| }
|
| - if (contextOptions.fRequireDecodeDisableForSRGB && !fSRGBDecodeDisableSupport) {
|
| - // To support "legacy" L32 mode, we require the ability to turn off sRGB decode. Clients
|
| - // can opt-out of that requirement, if they intend to always do linear blending.
|
| + if (!ctxInfo.hasExtension("GL_EXT_texture_sRGB_decode")) {
|
| + // To support "legacy" L32 mode, we require the ability to turn off sRGB decode:
|
| fSRGBSupport = false;
|
| }
|
| fConfigTable[kSRGBA_8888_GrPixelConfig].fFormats.fBaseInternalFormat = GR_GL_SRGB_ALPHA;
|
|
|