[Mesa-dev] [PATCH 1/5] mesa: set reasonable defaults in update_wrapper

Marek Olšák maraeo at gmail.com
Tue Apr 26 03:57:57 PDT 2011


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.
---
 src/mesa/main/texrender.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c
index a7641a5..8ba78b8 100644
--- a/src/mesa/main/texrender.c
+++ b/src/mesa/main/texrender.c
@@ -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;
 }
-- 
1.7.4.1



More information about the mesa-dev mailing list