aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu')
-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