[Mesa-dev] Conflicts between OES/EXT/ARB_framebuffer_object and GL3.0/GLES2
Chad Versace
chad.versace at linux.intel.com
Thu May 3 16:10:00 PDT 2012
On 05/02/2012 06:32 PM, Chad Versace wrote:
> Mesa has problems in the way it implements glBindFramebuffer and
> glBindFramebufferEXT due to both being implemented by an overloaded
> _mesa_BindFramebufferEXT. This problem causes an Android app [1] to crash,
> and I want your opinion on how we should fix it.
>
> The problem is that in the five specs in the subject line, the specified
> behavior of glBindFramebuffer falls into two incompatible categories.
> Mesa implements the wrong behavior for OES_fbo, EXT_fbo, and GLES2 when
> ARB_fbo is internally enabled.
>
[snip]
> Solutions for core Mesa
> -----------------------
>
> As for fixing _mesa_BindFramebufferEXT, I have two ideas.
[snip]
> 2. Create separate entry points:
> - _mesa_BindFramebufferEXT, which implements
> - glBindFramebufferEXT
> - glBindFramebufferOES
> - glBindFramebuffer in GLES2
> - _mesa_BindFramebufferARB, which implements
> - glBindFramebufferARB
> - glBindFramebuffer in GL 3.x
>
>
>
> Quick Solution for the Intel drivers
> ------------------------------------
>
> A quick solution may be as simple as removing ARB_fbo from the Intel drivers'
> GLES1/2 extension lists.
Thanks for everyone's feedback.
Based on the discussion, I plan to
1. Submit a patch that disables ARB_fbo in Intel ES contexts.
2. Write some Piglit tests to probe the expected behavior in
different extensions and APIs.
3. Start working to separate the API entry points.
----
Chad Versace
chad.versace at linux.intel.com
More information about the mesa-dev
mailing list