[Mesa-dev] [PATCH] i965/hiz: Don't bind GL_DRAW_FRAMEBUFFER on GLES

Ian Romanick idr at freedesktop.org
Thu Jan 12 14:50:33 PST 2012


On 01/12/2012 05:44 AM, Neil Roberts wrote:
> Hi,
>
> Chad Versace<chad.versace at linux.intel.com>  wrote:
>
>> [chad]: Make comments more concise. Change the if-condition to be
>> compatible with a core context, which may not advertise old extensions.
>
> The change to the if-condition breaks the patch. The problem is this bit
> of code in fbobject.c:
>
> static struct gl_framebuffer *
> get_framebuffer_target(struct gl_context *ctx, GLenum target)
> {
>     switch (target) {
>     case GL_DRAW_FRAMEBUFFER:
>        return ctx->Extensions.EXT_framebuffer_blit&&  ctx->API == API_OPENGL
> 	 ? ctx->DrawBuffer : NULL;
>     ...
>     }
> }
>
> That limits using GL_DRAW_FRAMEBUFFER to OpenGL even if the
> GL_EXT_framebuffer_blit extension is supported by the context. As I
> mentioned in the bug report, maybe it would be better to just remove
> that check? Then the patch wouldn't be needed anyway.

We still want the check for now.  We don't expose any of this 
functionality in ES contexts, so we want to generate errors for 
applications that accidentally do the wrong thing.

However, after 8.0 ships we want to expose GL_ANGLE_framebuffer_blit (or 
a similar extension) which has this functionality.  We talked about 
enabling it now, but we don't have any ES tests, so I don't want to 
enable it without testing.

For now, I think we should take Neil's original patch, and we'll clean 
things up later.


More information about the mesa-dev mailing list