radeon: fixup some issue with fbos and sw fallbacks
authorDave Airlie <airlied@redhat.com>
Tue, 24 Mar 2009 05:06:19 +0000 (15:06 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 24 Mar 2009 05:06:19 +0000 (15:06 +1000)
src/mesa/drivers/dri/radeon/radeon_fbo.c
src/mesa/drivers/dri/radeon/radeon_texture.c

index 2c30f9ddfdef884201b04cce103e475ea2253967..40945855d968828cc29db7a14dc8079cfb7b9490 100644 (file)
@@ -380,13 +380,6 @@ radeon_update_wrapper(GLcontext *ctx, struct radeon_renderbuffer *rrb,
       rrb->base.DataType = GL_UNSIGNED_BYTE;
       DBG("Render to RGBA8 texture OK\n");
    }
-   else if (texImage->TexFormat == &_mesa_texformat_argb4444) {
-      rrb->cpp = 2;
-      rrb->base._ActualFormat = GL_RGBA8;
-      rrb->base._BaseFormat = GL_RGBA;
-      rrb->base.DataType = GL_UNSIGNED_BYTE;
-      DBG("Render to RGBA4 texture OK\n");
-   }
    else if (texImage->TexFormat == &_mesa_texformat_rgb565) {
       rrb->cpp = 2;
       rrb->base._ActualFormat = GL_RGB5;
index 63680b495c92cbbe2b566163ddbdcf808d2832e0..d212898acd842bb109e274f4c4520dceb5663761 100644 (file)
@@ -139,9 +139,12 @@ void radeonMapTexture(GLcontext *ctx, struct gl_texture_object *texObj)
        radeonTexObj* t = radeon_tex_obj(texObj);
        int face, level;
 
+       if (!radeon_validate_texture_miptree(ctx, texObj))
+         return;
+
        /* for r100 3D sw fallbacks don't have mt */
        if (!t->mt)
-         return;
+           return;
 
        radeon_bo_map(t->mt->bo, GL_FALSE);
        for(face = 0; face < t->mt->faces; ++face) {