Summary: | Surfaceless eglMakeCurrent() fails if the supplied EGLContext is not a dummy context | ||
---|---|---|---|
Product: | Mesa | Reporter: | Alexandros Frantzis <alexandros.frantzis> |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | siarhei.siamashka |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Example exhibiting the issue |
Should be fixed by: http://lists.freedesktop.org/archives/mesa-dev/2011-February/005371.html (In reply to comment #1) > Should be fixed by: > http://lists.freedesktop.org/archives/mesa-dev/2011-February/005371.html I tried the patch, but the problem remains. Note that I have this problem with all of r600g, r600c, i915c and gallium softpipe. (In reply to comment #3) > Note that I have this problem with all of r600g, r600c, i915c and gallium > softpipe. I can't reproduce this using your test client (or cairo-egl). Tested with r600g and softpipe using egl_gallium and egl_dri2. You might want to use EGL_LOG_LEVEL=debug to get more output. (In reply to comment #4) > (In reply to comment #3) > > Note that I have this problem with all of r600g, r600c, i915c and gallium > > softpipe. > > I can't reproduce this using your test client (or cairo-egl). > Tested with r600g and softpipe using egl_gallium and egl_dri2. > > You might want to use EGL_LOG_LEVEL=debug to get more output. The proposed patch works after all. I was forgetting to set EGL_DRIVERS_PATH when testing the libraries built from git. Sorry for the false alarm. Thanks! The patch is commited now, closing. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 43116 [details] Example exhibiting the issue In a EGL implementation that supports EGL_KHR_surfaceless_opengl, making an EGLContext current without any surfaces works only if the supplied EGLContext is a "dummy" one (see the example). Running the example on my system (r600g but EGL_SOFTWARE=1 results are the same) I get: $ MESA_DEBUG=1 ./egl-surfaceless EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_surfaceless_gles1 EGL_KHR_surfaceless_gles2 EGL_KHR_surfaceless_opengl Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable eglMakeCurrent Dummy Succeeded: 0x3000 Mesa warning: MakeCurrent: incompatible visuals for context and drawbuffer eglMakeCurrent Normal Failed: 0x3000 It is strange that although the second eglMakeCurrent fails, the eglError() returns EGL_SUCCESS (0x3000).