r300: fix depth textures

This commit is contained in:
Maciej Cencora 2009-12-11 23:56:47 +01:00
parent e128cc205e
commit f1900323ea
2 changed files with 17 additions and 3 deletions

View file

@ -138,9 +138,9 @@ void r300SetDepthTexMode(struct gl_texture_object *tObj)
R300_EASY_TX_FORMAT(ZERO, ZERO, ZERO, X, X16),
},
{
R300_EASY_TX_FORMAT(X, X, X, ONE, X24_Y8),
R300_EASY_TX_FORMAT(X, X, X, X, X24_Y8),
R300_EASY_TX_FORMAT(ZERO, ZERO, ZERO, X, X24_Y8),
R300_EASY_TX_FORMAT(Y, Y, Y, ONE, X24_Y8),
R300_EASY_TX_FORMAT(Y, Y, Y, Y, X24_Y8),
R300_EASY_TX_FORMAT(ZERO, ZERO, ZERO, Y, X24_Y8),
},
{
R300_EASY_TX_FORMAT(X, X, X, ONE, X32),

View file

@ -472,6 +472,19 @@ gl_format radeonChooseTextureFormat(GLcontext * ctx,
case GL_RGBA32F_ARB:
return MESA_FORMAT_RGBA_FLOAT32;
#ifdef RADEON_R300
case GL_DEPTH_COMPONENT:
case GL_DEPTH_COMPONENT16:
return MESA_FORMAT_Z16;
case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32:
case GL_DEPTH_STENCIL_EXT:
case GL_DEPTH24_STENCIL8_EXT:
if (rmesa->radeonScreen->chip_family >= CHIP_FAMILY_RV515)
return MESA_FORMAT_S8_Z24;
else
return MESA_FORMAT_Z16;
#else
case GL_DEPTH_COMPONENT:
case GL_DEPTH_COMPONENT16:
case GL_DEPTH_COMPONENT24:
@ -479,6 +492,7 @@ gl_format radeonChooseTextureFormat(GLcontext * ctx,
case GL_DEPTH_STENCIL_EXT:
case GL_DEPTH24_STENCIL8_EXT:
return MESA_FORMAT_S8_Z24;
#endif
/* EXT_texture_sRGB */
case GL_SRGB: