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

Emil Velikov emil.l.velikov at gmail.com
Tue Nov 4 16:46:19 PST 2014

On 04/11/14 22:42, Marek Olšák wrote:
> 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:
> st/egl:
> 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_NV_post_sub_buffer
> egl_dri2:
> 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_NV_post_sub_buffer
> 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.
A few thoughts:
 - Iirc Eric is using st/egl as the dri2 backend seems to be causing
problems :(
 - Android supports dri modules, but st/dri/Android.mk is missing.
Should be trivial to add.
 - Windows - might be a pain in the a** to get it working. Then again
does Windows have EGL ?
 - fbdev, OpenVG - the etnaviv project was using the former, currently
moving to full-blown drm :)

If one is to nuking the three st we can remove
 - the libEGL symbol export mayhem
 - gallium's st_api, and flatten things a bit
 - a bit of duplication :)

In summary:
With a bit of work we can remove Linux and Android from the equation.
How many people/companies use EGL for Windows/fbdev, how about OpenVG on
any platform ?


> Thanks,
> Marek
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

More information about the mesa-dev mailing list