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.
This commit is contained in:
Brian Paul 2009-02-20 13:48:44 -07:00
parent 0ea95ae742
commit 773e9d4765
1 changed files with 9 additions and 1 deletions

View File

@ -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);