Mesa (master): r200: set gl_texture_image:: TexFormat field in r200SetTexBuffer2()

Brian Paul brianp at kemper.freedesktop.org
Mon Nov 15 16:33:57 UTC 2010


Module: Mesa
Branch: master
Commit: 401f1efd3a4b5042b7ee471d08e458a52e3499e3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=401f1efd3a4b5042b7ee471d08e458a52e3499e3

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Nov 15 09:23:59 2010 -0700

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.

---

 src/mesa/drivers/dri/r200/r200_texstate.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/r200_texstate.c b/src/mesa/drivers/dri/r200/r200_texstate.c
index 690bec6..ee968d6 100644
--- a/src/mesa/drivers/dri/r200/r200_texstate.c
+++ b/src/mesa/drivers/dri/r200/r200_texstate.c
@@ -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;




More information about the mesa-commit mailing list