Add flag to avoid stencil buffers in Skia
authorEric Karl <ericrk@google.com>
Tue, 16 May 2017 17:10:40 +0000 (10:10 -0700)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Tue, 16 May 2017 19:04:24 +0000 (19:04 +0000)
commitcc13419addb1ca867a992f96ff4455e02cb829be
tree1a415fc0bce1ee460ecdde01ab0cabf8b2170b3d
parent89bdf7d5b69a0fbee7c1a7da3ef7ae1e15612bef
Add flag to avoid stencil buffers in Skia

Certain systems experience a leak in the GL driver associated with
stencil buffers. Attempts to avoid the leak (while still using stencil
buffers) dind't succeed. This patch adds a GrContextOption
fAvoidStencilBuffers. This disables certain path rendering modes, as
well as stencil based masking/clipping.
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Bug: 713854
Change-Id: Ifa6c0f2bd5ee395547bda9165d6c79d197ae8b8b
Reviewed-On: https://skia-review.googlesource.com/15253
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-By: Eric Karl <ericrk@chromium.org>
Reviewed-By: Brian Salomon <bsalomon@google.com>
Reviewed-on: https://skia-review.googlesource.com/17081
Commit-Queue: Eric Karl <ericrk@google.com>
28 files changed:
include/gpu/GrCaps.h
include/gpu/GrContextOptions.h
src/gpu/GrCaps.cpp
src/gpu/GrClipStackClip.cpp
src/gpu/GrGpu.cpp
src/gpu/GrPathRenderer.h
src/gpu/GrReducedClip.cpp
src/gpu/GrRenderTargetContext.cpp
src/gpu/GrSoftwarePathRenderer.cpp
src/gpu/gl/GrGLCaps.cpp
src/gpu/gl/GrGLCaps.h
src/gpu/gl/GrGLRenderTarget.cpp
src/gpu/gl/GrGLTextureRenderTarget.cpp
src/gpu/ops/GrAAConvexPathRenderer.cpp
src/gpu/ops/GrAAHairLinePathRenderer.cpp
src/gpu/ops/GrDefaultPathRenderer.cpp
src/gpu/ops/GrMSAAPathRenderer.cpp
src/gpu/ops/GrSmallPathRenderer.cpp
src/gpu/ops/GrStencilAndCoverPathRenderer.cpp
tests/GLProgramsTest.cpp
tests/GpuSampleLocationsTest.cpp
tests/ResourceCacheTest.cpp
tests/SurfaceTest.cpp
tests/TestConfigParsing.cpp
tools/flags/SkCommonFlagsConfig.cpp
tools/flags/SkCommonFlagsConfig.h
tools/gpu/GrContextFactory.cpp
tools/gpu/GrContextFactory.h