OSDN Git Service

mesa: set reasonable defaults in update_wrapper
authorMarek Olšák <maraeo@gmail.com>
Mon, 25 Apr 2011 23:53:20 +0000 (01:53 +0200)
committerMarek Olšák <maraeo@gmail.com>
Fri, 29 Apr 2011 09:31:55 +0000 (11:31 +0200)
I was wondering why I had been getting GL_RGBA for GL_RGB9_E5.

Instead of setting GL_RGBA and CHAN_TYPE for most types,
use the helper functions to obtain the info.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/texrender.c

index a7641a5..8ba78b8 100644 (file)
@@ -530,6 +530,7 @@ update_wrapper(struct gl_context *ctx, struct gl_renderbuffer_attachment *att)
 {
    struct texture_renderbuffer *trb
       = (struct texture_renderbuffer *) att->Renderbuffer;
+   GLuint unused;
 
    (void) ctx;
    ASSERT(trb);
@@ -602,8 +603,10 @@ update_wrapper(struct gl_context *ctx, struct gl_renderbuffer_attachment *att)
       trb->Base._BaseFormat = GL_RGBA;
       break;
    default:
-      trb->Base.DataType = CHAN_TYPE;
-      trb->Base._BaseFormat = GL_RGBA;
+      _mesa_format_to_type_and_comps(trb->TexImage->TexFormat,
+                                     &trb->Base.DataType, &unused);
+      trb->Base._BaseFormat =
+         _mesa_base_fbo_format(ctx, trb->TexImage->InternalFormat);
    }
    trb->Base.Data = trb->TexImage->Data;
 }