[Mesa-dev] [PATCH 0/2] Disable the EGL state tracker for Linux/DRI builds

Marek Olšák maraeo at gmail.com
Tue Nov 4 14:42:43 PST 2014

Hi everybody,

I'm about to address this long-standing issue: The EGL state tracker is
redundant. It duplicates what st/dri does and it also duplicates what
the common loader egl_dri2 does, which is used by all classic drivers
and even works better with gallium drivers.

Let's compare EGL extensions for both backends:

EGL version string: 1.4 (Gallium)
EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 OpenVG
EGL extensions string:
    EGL_WL_bind_wayland_display EGL_KHR_image_base EGL_KHR_image_pixmap
    EGL_KHR_image EGL_KHR_reusable_sync EGL_KHR_fence_sync
    EGL_KHR_surfaceless_context EGL_NOK_swap_region

EGL version string: 1.4 (DRI2)
EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 OpenGL_ES3
EGL extensions string:
    EGL_MESA_drm_image EGL_MESA_configless_context EGL_KHR_image_base
    EGL_KHR_image_pixmap EGL_KHR_image EGL_KHR_gl_texture_2D_image
    EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
    EGL_KHR_surfaceless_context EGL_KHR_create_context
    EGL_NOK_swap_region EGL_NOK_texture_from_pixmap
    EGL_CHROMIUM_sync_control EGL_EXT_image_dma_buf_import

egl_dri2 also supports MSAA on the window framebuffer (through st/dri).
It's really obvious which one is better.

I'm aware of 2 features that we will lose:
- swrast on Wayland - I'm not sure about this. Perhaps kms-swrast has
addressed this already.
- OpenVG - It has never taken off. If people want this on Linux, it should
use egl_dri2 and st/dri, like OpenGL does.

This series removes st/egl and st/gbm support from the autoconf build
(the latter depends on the former and is probably just as redundant).
The next step is to remove all Linux-specific backends from st/egl.
Windows, Android, and other platform backends will be kept intact,
therefore st/egl won't be removed completely.

Please comment.



More information about the mesa-dev mailing list