diff options
Diffstat (limited to 'src/gpu')
-rw-r--r-- | src/gpu/gl/GrGLCaps.cpp | 9 | ||||
-rw-r--r-- | src/gpu/gpu_workaround_list.txt | 1 |
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 |