From: Brian Paul Date: Fri, 20 Feb 2009 20:48:44 +0000 (-0700) Subject: i965: check depth_mode in translate_tex_format() for MESA_FORMAT_S8_Z24 X-Git-Tag: mesa-7.8~4139^2~429 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=773e9d47651149158e58916616235b26904c3665;p=platform%2Fupstream%2Fmesa.git i965: check depth_mode in translate_tex_format() for MESA_FORMAT_S8_Z24 Note that I24X8 vs. A24X8 vs. L24X8 doesn't seem to make any difference for texture/shadow compare, however. --- diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index d70f9c6..3593988 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -139,7 +139,15 @@ static GLuint translate_tex_format( GLuint mesa_format, GLenum depth_mode ) return BRW_SURFACEFORMAT_BC1_UNORM_SRGB; case MESA_FORMAT_S8_Z24: - return BRW_SURFACEFORMAT_I24X8_UNORM; + /* XXX: these different surface formats don't seem to + * make any difference for shadow sampler/compares. + */ + if (depth_mode == GL_INTENSITY) + return BRW_SURFACEFORMAT_I24X8_UNORM; + else if (depth_mode == GL_ALPHA) + return BRW_SURFACEFORMAT_A24X8_UNORM; + else + return BRW_SURFACEFORMAT_L24X8_UNORM; default: assert(0);