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

Author: Maciej Cencora <[email protected]>
Date:   Sun Dec 13 17:18:50 2009 +0100

r300: fix regression introduced by da73c1ed

The 0 value is correct for I8 format.

---

 src/mesa/drivers/dri/r300/r300_blit.c     |    2 +-
 src/mesa/drivers/dri/r300/r300_tex.h      |    2 +-
 src/mesa/drivers/dri/r300/r300_texstate.c |    9 +++++----
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_blit.c 
b/src/mesa/drivers/dri/r300/r300_blit.c
index ff678ba..3523c27 100644
--- a/src/mesa/drivers/dri/r300/r300_blit.c
+++ b/src/mesa/drivers/dri/r300/r300_blit.c
@@ -141,7 +141,7 @@ static void r300_emit_tx_setup(struct r300_context *r300,
 
     assert(width <= 2048);
     assert(height <= 2048);
-    assert(r300TranslateTexFormat(mesa_format) != 0);
+    assert(r300TranslateTexFormat(mesa_format) >= 0);
     assert(offset % 32 == 0);
 
     BEGIN_BATCH(17);
diff --git a/src/mesa/drivers/dri/r300/r300_tex.h 
b/src/mesa/drivers/dri/r300/r300_tex.h
index beb1007..6ede0fe 100644
--- a/src/mesa/drivers/dri/r300/r300_tex.h
+++ b/src/mesa/drivers/dri/r300/r300_tex.h
@@ -51,6 +51,6 @@ extern GLboolean r300ValidateBuffers(GLcontext * ctx);
 
 extern void r300InitTextureFuncs(struct dd_function_table *functions);
 
-uint32_t r300TranslateTexFormat(gl_format mesaFormat);
+int32_t r300TranslateTexFormat(gl_format mesaFormat);
 
 #endif                         /* __r300_TEX_H__ */
diff --git a/src/mesa/drivers/dri/r300/r300_texstate.c 
b/src/mesa/drivers/dri/r300/r300_texstate.c
index 6db56ba..d4a7283 100644
--- a/src/mesa/drivers/dri/r300/r300_texstate.c
+++ b/src/mesa/drivers/dri/r300/r300_texstate.c
@@ -59,7 +59,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
  * identically.  -- paulus
  */
 
-uint32_t r300TranslateTexFormat(gl_format mesaFormat)
+int32_t r300TranslateTexFormat(gl_format mesaFormat)
 {
        switch (mesaFormat)
        {
@@ -168,7 +168,7 @@ uint32_t r300TranslateTexFormat(gl_format mesaFormat)
                case MESA_FORMAT_SRGBA_DXT5:
                        return R300_EASY_TX_FORMAT(Y, Z, W, X, DXT5) | 
R300_TX_FORMAT_GAMMA;
                default:
-                       return 0;
+                       return -1;
        }
 };
 
@@ -252,12 +252,13 @@ static void setup_hardware_state(r300ContextPtr rmesa, 
radeonTexObj *t)
                if (firstImage->_BaseFormat == GL_DEPTH_COMPONENT) {
                        r300SetDepthTexMode(&t->base);
                } else {
-                       t->pp_txformat = 
r300TranslateTexFormat(firstImage->TexFormat);
-                       if (t->pp_txformat == 0) {
+                       int32_t txformat = 
r300TranslateTexFormat(firstImage->TexFormat);
+                       if (txformat < 0) {
                                _mesa_problem(rmesa->radeon.glCtx, "%s: Invalid 
format %s",
                                                          __FUNCTION__, 
_mesa_get_format_name(firstImage->TexFormat));
                                _mesa_exit(1);
                        }
+                       t->pp_txformat = (uint32_t) txformat;
                }
        }
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to