[Mesa-dev] [PATCH] mesa: Fix render buffer initial internal format type

Mason, Michael W michael.w.mason at intel.com
Tue Jan 13 14:34:29 PST 2015


> -----Original Message-----
> From: Versace, Chad
> Sent: Tuesday, January 13, 2015 10:47 AM
> To: Mason, Michael W; mesa-dev at lists.freedesktop.org
> Subject: Re: [Mesa-dev] [PATCH] mesa: Fix render buffer initial internal format type
> 
> On 01/09/2015 05:21 PM, michael.w.mason at intel.com wrote:
> > From: Mike Mason <michael.w.mason at intel.com>
> >
> > Changes the initial internal format of a render buffer to GL_RGBA4.
> > This fixes a failure in the following DrawElements test:
> >
> > dEQP-GLES3.functional.state_query.rbo.renderbuffer_internal_format
> > ---
> >  src/mesa/main/renderbuffer.c | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/mesa/main/renderbuffer.c
> > b/src/mesa/main/renderbuffer.c index 0bc7f2b..b339491 100644
> > --- a/src/mesa/main/renderbuffer.c
> > +++ b/src/mesa/main/renderbuffer.c
> > @@ -53,7 +53,11 @@ _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name)
> >     rb->Width = 0;
> >     rb->Height = 0;
> >     rb->Depth = 0;
> > -   rb->InternalFormat = GL_RGBA;
> > +   /* Default internal format should be GL_RGBA4, per page 258,
> > +    * table 6.15 of the GLES 3.0.4 spec. Same default is expected
> > +    * in all OpenGL specs that support BindRenderbuffer().
> > +    */
> > +   rb->InternalFormat = GL_RGBA4;
> >     rb->Format = MESA_FORMAT_NONE;
> >  }
> >
> >
> The patch needs to choose the initial internalformat based on
> the context API.  Table 6.26 in the GL 3.3 Core spec says the initial renderbuffer internalformat is GL_RGBA. Table 6.15 of
> the GLES 3.0 spec says GL_RGBA4.
> 
> I think this is the correct logic:
> 
>   if (_mesa_is_desktop_gl(ctx)) {
>       rb->InternalFormat = GL_RGBA;
>   } else {
>       rb->InternalFormat = GL_RGBA4;
>   }

"ctx" isn't available in _mesa_init_renderbuffer (where this code resides) and GET_CURRENT_CONTEXT(ctx) gives nil for ctx.  Is there any other way to get a pointer to the gl_context?

> 
> Please add both spec references in your patch.
> ~
> ~
> ~
> ~



More information about the mesa-dev mailing list