intel: Avoid divide by zero for very small linear blits
authorIan Romanick <ian.d.romanick@intel.com>
Thu, 2 Feb 2012 23:32:45 +0000 (16:32 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 7 Feb 2012 18:00:32 +0000 (10:00 -0800)
commitd59466279e45a1e9c3f9081f72fedbdf961afbe1
treee2a48c3804f28841d3eab75ab5f763bc33ba8669
parent65b096aeddd9b45ca038f44cc9adfff86c8c48b2
intel: Avoid divide by zero for very small linear blits

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=44971
src/mesa/drivers/dri/intel/intel_blit.c