aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Adrienne Walker <enne@chromium.org>2018-05-15 11:33:47 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-15 18:58:23 +0000
commit0e38394ffc341478b4385b9a85be02098abd0603 (patch)
treeb4b43a5dccfc2397a339e9cb738794319bc0527b
parent683148419e88eb1e39d543688b0c531814e287ee (diff)
Reland "Driver bug workaround: disable_discard_framebuffer"
This is a reland of f31fece6581a46b40403fc78c83c7eebe50816ba Original change's description: > Driver bug workaround: disable_discard_framebuffer > > Bug: chromium: 829614 > Change-Id: I285b39b31a370247518e3a0b56ac4ea54f38c0c0 > Reviewed-on: https://skia-review.googlesource.com/126749 > Commit-Queue: Adrienne Walker <enne@chromium.org> > Commit-Queue: Brian Salomon <bsalomon@google.com> > Auto-Submit: Adrienne Walker <enne@chromium.org> > Reviewed-by: Brian Salomon <bsalomon@google.com> Bug: chromium: 829614 Change-Id: I6cc2de11a6315ff224c90551e8dd3e1d1dd4139a Reviewed-on: https://skia-review.googlesource.com/128108 Commit-Queue: Adrienne Walker <enne@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
-rw-r--r--include/gpu/GrDriverBugWorkaroundsAutogen.h6
-rw-r--r--src/gpu/gl/GrGLCaps.cpp3
-rw-r--r--src/gpu/gpu_workaround_list.txt3
3 files changed, 5 insertions, 7 deletions
diff --git a/include/gpu/GrDriverBugWorkaroundsAutogen.h b/include/gpu/GrDriverBugWorkaroundsAutogen.h
index a41237f675..feda01bfcf 100644
--- a/include/gpu/GrDriverBugWorkaroundsAutogen.h
+++ b/include/gpu/GrDriverBugWorkaroundsAutogen.h
@@ -6,10 +6,8 @@
// DO NOT EDIT!
#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)\
- GPU_OP(AVOID_STENCIL_BUFFERS, \
- avoid_stencil_buffers) \
- GPU_OP(CLEAR_TO_ZERO_OR_ONE_BROKEN, \
- clear_to_zero_or_one_broken) \
GPU_OP(DISABLE_BLEND_EQUATION_ADVANCED, \
disable_blend_equation_advanced) \
+ GPU_OP(DISABLE_DISCARD_FRAMEBUFFER, \
+ disable_discard_framebuffer) \
// The End
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 43f285e941..2acc7ca91f 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -2333,7 +2333,8 @@ void GrGLCaps::applyDriverCorrectnessWorkarounds(const GrGLContextInfo& ctxInfo,
GrShaderCaps* shaderCaps) {
// A driver but on the nexus 6 causes incorrect dst copies when invalidate is called beforehand.
// Thus we are blacklisting this extension for now on Adreno4xx devices.
- if (kAdreno4xx_GrGLRenderer == ctxInfo.renderer()) {
+ if (kAdreno4xx_GrGLRenderer == ctxInfo.renderer() ||
+ fDriverBugWorkarounds.disable_discard_framebuffer) {
fDiscardRenderTargetSupport = false;
fInvalidateFBType = kNone_InvalidateFBType;
}
diff --git a/src/gpu/gpu_workaround_list.txt b/src/gpu/gpu_workaround_list.txt
index 17b5beb104..dbded3f11c 100644
--- a/src/gpu/gpu_workaround_list.txt
+++ b/src/gpu/gpu_workaround_list.txt
@@ -1,3 +1,2 @@
-avoid_stencil_buffers
disable_blend_equation_advanced
-clear_to_zero_or_one_broken
+disable_discard_framebuffer