mesa: fix image unpacking when storing compressed textures
authorBrian Paul <brianp@vmware.com>
Fri, 7 Oct 2011 14:14:46 +0000 (08:14 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 7 Oct 2011 14:14:46 +0000 (08:14 -0600)
commitd7477ad0a38a178d1e03f8064ee8245b46e24f1e
tree7ffadc6df9be140a9c1c74ec99121f07e703f28f
parent530728fb60fc4dd2aa1a2b6eb5de39ec9b17ea35
mesa: fix image unpacking when storing compressed textures

This fixes failures found with the new piglit texsubimage test.

Two things were broken:
1. The dxt code doesn't handle sources images where width != row stride.
   Check for that and take the _mesa_make_temp_ubyte_image() path to get
   an image where width = rowstride.
2. If we don't take the _mesa_make_temp_ubyte_image() path we need to
   take the source image unpacking parameters into account in order to
   get the proper starting memory address of the source texels.

Note: This is a candidate for the 7.11 branch.
src/mesa/main/texcompress_fxt1.c
src/mesa/main/texcompress_s3tc.c