From: Brian Paul Date: Mon, 15 Nov 2010 16:15:33 +0000 (-0700) Subject: radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86abc1f104c99ecc45385ba669c5274e0d68c516;p=mesa.git radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2() See https://bugs.freedesktop.org/show_bug.cgi?id=31544 Note: this is a candidate for the 7.9 branch --- diff --git a/src/mesa/drivers/dri/radeon/radeon_texstate.c b/src/mesa/drivers/dri/radeon/radeon_texstate.c index dd8ecdd500a..7409aeeeaa8 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texstate.c +++ b/src/mesa/drivers/dri/radeon/radeon_texstate.c @@ -705,18 +705,24 @@ void radeonSetTexBuffer2(__DRIcontext *pDRICtx, GLint target, GLint texture_form t->override_offset = 0; switch (rb->cpp) { case 4: - if (texture_format == __DRI_TEXTURE_FORMAT_RGB) + if (texture_format == __DRI_TEXTURE_FORMAT_RGB) { t->pp_txformat = tx_table[MESA_FORMAT_RGB888].format; - else + texImage->TexFormat = MESA_FORMAT_RGB888; + } + else { t->pp_txformat = tx_table[MESA_FORMAT_ARGB8888].format; + texImage->TexFormat = MESA_FORMAT_ARGB8888; + } t->pp_txfilter |= tx_table[MESA_FORMAT_ARGB8888].filter; break; case 3: default: + texImage->TexFormat = MESA_FORMAT_RGB888; t->pp_txformat = tx_table[MESA_FORMAT_RGB888].format; t->pp_txfilter |= tx_table[MESA_FORMAT_RGB888].filter; break; case 2: + texImage->TexFormat = MESA_FORMAT_RGB565; t->pp_txformat = tx_table[MESA_FORMAT_RGB565].format; t->pp_txfilter |= tx_table[MESA_FORMAT_RGB565].filter; break;