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>
This commit is contained in:
parent
cbeae03cae
commit
c48f776682
@ -5,19 +5,21 @@
|
||||
// This file is auto-generated from build_workaround_header.py
|
||||
// DO NOT EDIT!
|
||||
|
||||
#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)\
|
||||
GPU_OP(DISABLE_BLEND_EQUATION_ADVANCED, \
|
||||
disable_blend_equation_advanced) \
|
||||
GPU_OP(DISABLE_DISCARD_FRAMEBUFFER, \
|
||||
disable_discard_framebuffer) \
|
||||
GPU_OP(DISALLOW_LARGE_INSTANCED_DRAW, \
|
||||
disallow_large_instanced_draw) \
|
||||
GPU_OP(GL_CLEAR_BROKEN, \
|
||||
gl_clear_broken) \
|
||||
GPU_OP(MAX_MSAA_SAMPLE_COUNT_4, \
|
||||
max_msaa_sample_count_4) \
|
||||
GPU_OP(MAX_TEXTURE_SIZE_LIMIT_4096, \
|
||||
max_texture_size_limit_4096) \
|
||||
GPU_OP(RESTORE_SCISSOR_ON_FBO_CHANGE, \
|
||||
restore_scissor_on_fbo_change) \
|
||||
#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) \
|
||||
GPU_OP(DISABLE_BLEND_EQUATION_ADVANCED, \
|
||||
disable_blend_equation_advanced) \
|
||||
GPU_OP(DISABLE_DISCARD_FRAMEBUFFER, \
|
||||
disable_discard_framebuffer) \
|
||||
GPU_OP(DISALLOW_LARGE_INSTANCED_DRAW, \
|
||||
disallow_large_instanced_draw) \
|
||||
GPU_OP(GL_CLEAR_BROKEN, \
|
||||
gl_clear_broken) \
|
||||
GPU_OP(MAX_MSAA_SAMPLE_COUNT_4, \
|
||||
max_msaa_sample_count_4) \
|
||||
GPU_OP(MAX_TEXTURE_SIZE_LIMIT_4096, \
|
||||
max_texture_size_limit_4096) \
|
||||
GPU_OP(PACK_PARAMETERS_WORKAROUND_WITH_PACK_BUFFER, \
|
||||
pack_parameters_workaround_with_pack_buffer) \
|
||||
GPU_OP(RESTORE_SCISSOR_ON_FBO_CHANGE, \
|
||||
restore_scissor_on_fbo_change) \
|
||||
// The End
|
||||
|
@ -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");
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user