[Mesa-dev] Do we support front buffer rendering with EGL? Do we want to?

Paul Berry stereotype441 at gmail.com
Fri May 31 15:01:38 PDT 2013


After my recent work on front buffer rendering I decided to try a piglit
run with PIGLIT_PLATFORM=x11_egl to see whether front buffer rendering
works with EGL.  It doesn't, and I tracked the problem down to this
function, from src/egl/drivers/dri2/platform_x11.c:

static void
dri2_flush_front_buffer(__DRIdrawable * driDrawable, void *loaderPrivate)
{
   (void) driDrawable;

   /* FIXME: Does EGL support front buffer rendering at all? */

#if 0
   struct dri2_egl_surface *dri2_surf = loaderPrivate;

   dri2WaitGL(dri2_surf);
#else
   (void) loaderPrivate;
#endif
}

Since this function is a nop, rendering to the fake front buffer doesn't
get properly flushed to the real front buffer, so the following piglit
tests fail (at least with the Intel backend):

- spec/!OpenGL 1.1/drawbuffer-modes
- spec/EXT_framebuffer_blit/fbo-sys-blit
- spec/EXT_framebuffer_blit/fbo-sys-sub-blit

Note: to see this failure reliably, you need to patch Mesa and the X server
to address the bugs mentioned in
http://lists.freedesktop.org/archives/mesa-dev/2013-May/039985.html.


I'm trying to decide whether or not this is a problem.  The EGL 1.4 spec
leaves some wiggle room about whether front buffer rendering is allowed, to
accommodate window systems that don't permit front buffer rendering.
However, since X11 supports front buffer rendering, it seems to me that
Mesa-EGL-X11 ought to support it.

Also, some of us have pipe dreams of a future where Linux desktop apps
transition over to using EGL instead of GLX.  It seems like supporting
front buffer rendering via EGL would help encourage that.


Thoughts?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130531/da4dab4e/attachment.html>


More information about the mesa-dev mailing list