r300g: Fix EXT_packed_depth_stencil functionality.

Allow Z24S8 to be a true texture.
This commit is contained in:
Corbin Simpson 2009-06-27 10:57:03 -07:00
parent 1ac72aedb2
commit f150e05afc
2 changed files with 10 additions and 2 deletions

View file

@ -214,10 +214,14 @@ static boolean check_tex_2d_format(enum pipe_format format, uint32_t usage,
/* Z buffer */
case PIPE_FORMAT_Z16_UNORM:
/* Z buffer with stencil */
case PIPE_FORMAT_Z24S8_UNORM:
return usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL;
/* Z buffer with stencil or texture */
case PIPE_FORMAT_Z24S8_UNORM:
return usage &
(PIPE_TEXTURE_USAGE_DEPTH_STENCIL |
PIPE_TEXTURE_USAGE_SAMPLER);
/* Definitely unsupported formats. */
/* Non-usable Z buffer/stencil formats. */
case PIPE_FORMAT_Z24X8_UNORM:

View file

@ -55,10 +55,14 @@ static INLINE uint32_t r300_translate_texformat(enum pipe_format format)
/* DXT5 */
case PIPE_FORMAT_DXT5_RGBA:
return R300_EASY_TX_FORMAT(Y, Z, W, X, DXT5);
/* W24_FP */
case PIPE_FORMAT_Z24S8_UNORM:
return R300_EASY_TX_FORMAT(X, X, X, X, W24_FP);
default:
debug_printf("r300: Implementation error: "
"Got unsupported texture format %s in %s\n",
pf_name(format), __FUNCTION__);
assert(0);
break;
}
return 0;