OSDN Git Service

intel: Fix size of temporary etc1 buffer
authorChad Versace <chad.versace@linux.intel.com>
Thu, 20 Sep 2012 16:54:29 +0000 (18:54 +0200)
committerChad Versace <chad.versace@linux.intel.com>
Wed, 26 Sep 2012 16:47:46 +0000 (09:47 -0700)
commitbb7ecb29fb6358a4c65278c2fe88936c578074cd
treef31479e22f8881d5284884d498a073428dc2c3a6
parent0aa47b2d8b83bbed9d774d58558058a35faa8795
intel: Fix size of temporary etc1 buffer

Fixes valgrind errors in piglit test
oes_compressed_etc1_rgb8_texture-miptree: an invalid write in
_mesa_store_compressed_store_texsubimage() at line 4406 and invalid reads
in texcompress_etc_tmp.h:etc1_parse_block().

The calculation of the size of the temporary etc1 buffer allocated by
intel_miptree_map_etc1() was incorrect. Sometimes the allocated buffer was
too small, sometimes too large.  This patch corrects the size to that
expected by _mesa_store_compressed_store_texsubimage().

Note: This is candidate for the 9.0 branch.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/intel/intel_mipmap_tree.c