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; |