diff options
author | 2017-05-23 16:53:47 -0400 | |
---|---|---|
committer | 2017-05-23 21:38:38 +0000 | |
commit | d17b4a678b4b1df49a8eb84fb8c3c954d292a12c (patch) | |
tree | 82d59ef35abe6666d01723c62e4f22570b563801 /src/gpu/gl/GrGLCaps.cpp | |
parent | 0610a462ad2e17057849784cdab73d634bab5fb9 (diff) |
Revert "Revert "Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation. ""
This reverts commit a9e795eab5f59a52d96b8fdc39351452835f5eb9.
Bug: skia:
Change-Id: Ibfc51497ae99f332f8f72a799393a1b2996f7f3f
Reviewed-on: https://skia-review.googlesource.com/17767
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/gl/GrGLCaps.cpp')
-rw-r--r-- | src/gpu/gl/GrGLCaps.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp index b9eee088e0..8c4330312d 100644 --- a/src/gpu/gl/GrGLCaps.cpp +++ b/src/gpu/gl/GrGLCaps.cpp @@ -54,6 +54,7 @@ GrGLCaps::GrGLCaps(const GrContextOptions& contextOptions, fSRGBDecodeDisableSupport = false; fSRGBDecodeDisableAffectsMipmaps = false; fClearToBoundaryValuesIsBroken = false; + fClearTextureSupport = false; fDrawArraysBaseVertexIsBroken = false; fBlitFramebufferFlags = kNoSupport_BlitFramebufferFlag; @@ -252,6 +253,22 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, // vis-versa. fRGBAToBGRAReadbackConversionsAreSlow = isMESA || isMAC; + if (kGL_GrGLStandard == standard) { + if (version >= GR_GL_VER(4,4) || ctxInfo.hasExtension("GL_ARB_clear_texture")) { + // glClearTexImage seems to have a bug in NVIDIA drivers that was fixed sometime between + // 340.96 and 367.57. + if (ctxInfo.driver() != kNVIDIA_GrGLDriver || + ctxInfo.driverVersion() >= GR_GL_DRIVER_VER(367, 57)) { + fClearTextureSupport = true; + } + } + } else if (ctxInfo.hasExtension("GL_EXT_clear_texture")) { + // Calling glClearTexImage crashes on the NexusPlayer. + if (kPowerVRRogue_GrGLRenderer != ctxInfo.renderer()) { + fClearTextureSupport = true; + } + } + /************************************************************************** * GrShaderCaps fields **************************************************************************/ |