r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()
See https://bugs.freedesktop.org/show_bug.cgi?id=31544 Note: this is a candidate for the 7.9 branch.
This commit is contained in:
@@ -832,18 +832,24 @@ void r200SetTexBuffer2(__DRIcontext *pDRICtx, GLint target, GLint texture_format
|
||||
pitch_val = rb->pitch;
|
||||
switch (rb->cpp) {
|
||||
case 4:
|
||||
if (texture_format == __DRI_TEXTURE_FORMAT_RGB)
|
||||
if (texture_format == __DRI_TEXTURE_FORMAT_RGB) {
|
||||
texImage->TexFormat = MESA_FORMAT_RGB888;
|
||||
t->pp_txformat = tx_table_le[MESA_FORMAT_RGB888].format;
|
||||
else
|
||||
}
|
||||
else {
|
||||
texImage->TexFormat = MESA_FORMAT_ARGB8888;
|
||||
t->pp_txformat = tx_table_le[MESA_FORMAT_ARGB8888].format;
|
||||
}
|
||||
t->pp_txfilter |= tx_table_le[MESA_FORMAT_ARGB8888].filter;
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
texImage->TexFormat = MESA_FORMAT_RGB888;
|
||||
t->pp_txformat = tx_table_le[MESA_FORMAT_RGB888].format;
|
||||
t->pp_txfilter |= tx_table_le[MESA_FORMAT_RGB888].filter;
|
||||
break;
|
||||
case 2:
|
||||
texImage->TexFormat = MESA_FORMAT_RGB565;
|
||||
t->pp_txformat = tx_table_le[MESA_FORMAT_RGB565].format;
|
||||
t->pp_txfilter |= tx_table_le[MESA_FORMAT_RGB565].filter;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user