<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Using EGL_KHR_surfaceless_context causes spurious "libEGL warning: FIXME: egl/x11 doesn't support front buffer rendering.""
href="https://bugs.freedesktop.org/show_bug.cgi?id=96694">96694</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Using EGL_KHR_surfaceless_context causes spurious "libEGL warning: FIXME: egl/x11 doesn't support front buffer rendering."
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>11.2
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/DRI/i965
</td>
</tr>
<tr>
<th>Assignee</th>
<td>idr@freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>ppaalanen@gmail.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>I was reviewing a patch to Weston to use EGL_KHR_surfaceless_context for making
a context current while there are no outputs whose EGLSurface could be used.
Weston does not use front buffer rendering.
Looks like this causes a spurious warning:
libEGL warning: FIXME: egl/x11 doesn't support front buffer rendering.
The stack trace is:
#0 0x00007ffff36f7b80 in dri3_flush_front_buffer () from
/usr/lib64/libEGL.so.1
#1 0x00007fffeff0be8c in intel_flush_front () from /usr/lib64/dri/i965_dri.so
#2 0x00007fffeff0bedd in intel_glFlush () from /usr/lib64/dri/i965_dri.so
#3 0x00007ffff36ef881 in dri2_make_current () from /usr/lib64/libEGL.so.1
#4 0x00007ffff36e9ceb in eglMakeCurrent () from /usr/lib64/libEGL.so.1
#5 0x00007ffff054b275 in use_output (output=<optimized out>) at
/home/pq/git/weston/libweston/gl-renderer.c:670
#6 0x00007ffff054c035 in gl_renderer_repaint_output (output=0x807320,
output_damage=0x7fffffffd380)
at /home/pq/git/weston/libweston/gl-renderer.c:1096
#7 0x00007ffff57866d9 in x11_output_repaint_gl (output_base=0x807320,
damage=0x7fffffffd380)
at /home/pq/git/weston/libweston/compositor-x11.c:380
#8 0x00007ffff7bc1e34 in weston_output_repaint (output=0x807320) at
/home/pq/git/weston/libweston/compositor.c:2266
#9 output_repaint_timer_handler (data=0x807320) at
/home/pq/git/weston/libweston/compositor.c:2305
#10 0x00007ffff79a7e29 in wl_event_source_timer_dispatch (source=0x7faab0,
ep=<optimized out>) at src/event-loop.c:182
#11 0x00007ffff79a8432 in wl_event_loop_dispatch (loop=0x611200,
timeout=timeout@entry=-1) at src/event-loop.c:422
#12 0x00007ffff79a6c05 in wl_display_run (display=display@entry=0x611170) at
src/wayland-server.c:1051
#13 0x0000000000405426 in main (argc=1, argv=<optimized out>) at
/home/pq/git/weston/compositor/main.c:1737
Weston sets up the gl-renderer with a EGL_NO_SURFACE made current, and later
when repainting the real X11 window for the first time I believe, the warning
triggers once. In the backtrace I see that the warning happens when
eglMakeCurrent is called with the real EGLSurface. I suspect Mesa tries to
flush the old context first, and somehow having EGL_NO_SURFACE bound causes it
to think it is doing front buffer rendering, while it was in fact doing
no-buffer-rendering.
If I force Weston to use the fallback path by creating a pbuffer instead of
using EGL_NO_SURFACE, the warning does not appear.
The warning was added to Mesa in commit
f35198badeb956a8f435727d805a47c7e42610d0. I am using Mesa 11.2.2 as packaged in
Gentoo.
Because in the backtrace it looks like the decision to flush the front is made
inside the intel driver, I picked that as the component.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>