r300: fix depth textures
This commit is contained in:
@@ -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),
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user