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 ? Cheers, Emil > Thanks, > > Marek > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev