aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Adrienne Walker <enne@chromium.org>2018-05-15 13:03:13 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-16 19:45:42 +0000
commitc48f776682f8d208dd2ede7deb233cf72b840251 (patch)
tree722ad54a631f830bd6a1282639f51aa8eeaf07d8 /src
parentcbeae03caee3b6c26c22f5f24c817521c78f8e43 (diff)
Driver bug workaround: pack_parameters_workaround_with_pack_buffer
Bug: chromium: 829614 Change-Id: I3fae2b4181e4a6e37fb31fe2f2e9a6cfacb1860f Reviewed-on: https://skia-review.googlesource.com/128206 Commit-Queue: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/gpu/gl/GrGLCaps.cpp9
-rw-r--r--src/gpu/gpu_workaround_list.txt1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 61f4aa0009..39520189d7 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -109,6 +109,15 @@ void GrGLCaps::init(const GrContextOptions& contextOptions,
ctxInfo.hasExtension("GL_ANGLE_pack_reverse_row_order");
}
+ if (fDriverBugWorkarounds.pack_parameters_workaround_with_pack_buffer) {
+ // In some cases drivers handle copying the last row incorrectly
+ // when using GL_PACK_ROW_LENGTH. Chromium handles this by iterating
+ // through every row and conditionally clobbering that value, but
+ // Skia already has a scratch buffer workaround when pack row length
+ // is not supported, so just use that.
+ fPackRowLengthSupport = false;
+ }
+
fTextureUsageSupport = (kGLES_GrGLStandard == standard) &&
ctxInfo.hasExtension("GL_ANGLE_texture_usage");
diff --git a/src/gpu/gpu_workaround_list.txt b/src/gpu/gpu_workaround_list.txt
index fb79bfc570..3c8d37f1d2 100644
--- a/src/gpu/gpu_workaround_list.txt
+++ b/src/gpu/gpu_workaround_list.txt
@@ -4,4 +4,5 @@ disallow_large_instanced_draw
gl_clear_broken
max_msaa_sample_count_4
max_texture_size_limit_4096
+pack_parameters_workaround_with_pack_buffer
restore_scissor_on_fbo_change