i965: Mostly fix glsl-max-varyings.
[mesa.git] / src / mesa / drivers / dri / r300 / r300_texstate.c
index 6db56ba618f801bab66f19f3eb9252a55ab6b50b..4ba6740e3d921ad7078a9b52b7ddad888fe1b9fc 100644 (file)
@@ -45,7 +45,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "main/simple_list.h"
 
 #include "r300_context.h"
-#include "r300_state.h"
 #include "radeon_mipmap_tree.h"
 #include "r300_tex.h"
 #include "r300_reg.h"
@@ -59,7 +58,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 +167,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;
        }
 };
 
@@ -181,9 +180,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),
@@ -252,12 +251,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);
+                               exit(1);
                        }
+                       t->pp_txformat = (uint32_t) txformat;
                }
        }
 
@@ -415,7 +415,7 @@ void r300SetTexOffset(__DRIcontext * pDRICtx, GLint texname,
        t->pp_txpitch |= pitch_val;
 }
 
-void r300SetTexBuffer2(__DRIcontext *pDRICtx, GLint target, GLint glx_texture_format, __DRIdrawable *dPriv)
+void r300SetTexBuffer2(__DRIcontext *pDRICtx, GLint target, GLint texture_format, __DRIdrawable *dPriv)
 {
        struct gl_texture_unit *texUnit;
        struct gl_texture_object *texObj;
@@ -431,7 +431,7 @@ void r300SetTexBuffer2(__DRIcontext *pDRICtx, GLint target, GLint glx_texture_fo
 
        type = GL_BGRA;
        format = GL_UNSIGNED_BYTE;
-       internalFormat = (glx_texture_format == GLX_TEXTURE_FORMAT_RGB_EXT ? 3 : 4);
+       internalFormat = (texture_format == __DRI_TEXTURE_FORMAT_RGB ? 3 : 4);
 
        radeon = pDRICtx->driverPrivate;
        rmesa = pDRICtx->driverPrivate;
@@ -481,7 +481,7 @@ void r300SetTexBuffer2(__DRIcontext *pDRICtx, GLint target, GLint glx_texture_fo
        pitch_val = rb->pitch;
        switch (rb->cpp) {
        case 4:
-               if (glx_texture_format == GLX_TEXTURE_FORMAT_RGB_EXT)
+               if (texture_format == __DRI_TEXTURE_FORMAT_RGB)
                        t->pp_txformat = R300_EASY_TX_FORMAT(X, Y, Z, ONE, W8Z8Y8X8);
                else
                        t->pp_txformat = R300_EASY_TX_FORMAT(X, Y, Z, W, W8Z8Y8X8);
@@ -520,5 +520,5 @@ void r300SetTexBuffer2(__DRIcontext *pDRICtx, GLint target, GLint glx_texture_fo
 
 void r300SetTexBuffer(__DRIcontext *pDRICtx, GLint target, __DRIdrawable *dPriv)
 {
-        r300SetTexBuffer2(pDRICtx, target, GLX_TEXTURE_FORMAT_RGBA_EXT, dPriv);
+        r300SetTexBuffer2(pDRICtx, target, __DRI_TEXTURE_FORMAT_RGBA, dPriv);
 }