intel: Recognize all depth formats in get_teximage_readbuffer.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 9 Jul 2011 09:46:03 +0000 (02:46 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 9 Jul 2011 17:37:42 +0000 (10:37 -0700)
commit440224ab73ba19a96629c34e21fe976d1395e483
tree6a5e1b61160dd71916c383b638e3d2937bffc438
parent7e591111bf783d94ee6034287cde2f4c9214e810
intel: Recognize all depth formats in get_teximage_readbuffer.

The existing code was missing GL_DEPTH_COMPONENT32, resulting in it
wrongly returning the color buffer instead of the depth buffer.

Fixes an issue in PlaneShift 0.5.7 when casting spells.  The game calls
CopyTexSubImage2D on buffers with a GL_DEPTH_COMPONENT32 internal
format, which (prior to this patch) resulted in an attempt to copy
ARGB8888 to X8_Z24.

Instead of adding the missing enumeration directly, convert the code to
use _mesa_is_depth_format() and _mesa_is_depthstencil_format() as these
should catch any newly added depth formats in the future.

NOTE: This is a candidate for the 7.10 and 7.11 branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/intel/intel_tex_copy.c