If size is small (such as 1), pitch = ROUND_DOWN_TO(MIN2(size, (1 << 15) - 1), 4); makes pitch = 0. Then height = size / pitch; causes a division-by-zero exception. If pitch is zero, set height to 1 and avoid the division. This fixes piglit's bin/getteximage-formats test and glean's bufferObject test. NOTE: This is a candidate for the 8.0 release branch. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44971tags/i965-primitive-restart-v2
@@ -492,7 +492,7 @@ intel_emit_linear_blit(struct intel_context *intel, | |||
* rounding that down to the nearest DWORD is 1 << 15 - 4 | |||
*/ | |||
pitch = ROUND_DOWN_TO(MIN2(size, (1 << 15) - 1), 4); | |||
height = size / pitch; | |||
height = (pitch == 0) ? 1 : size / pitch; | |||
ok = intelEmitCopyBlit(intel, 1, | |||
pitch, src_bo, src_offset, I915_TILING_NONE, | |||
pitch, dst_bo, dst_offset, I915_TILING_NONE, |