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

Chia-I Wu olvaffe at gmail.com
Wed Nov 5 21:56:01 PST 2014


On Thu, Nov 6, 2014 at 5:11 AM, Jose Fonseca <jfonseca at vmware.com> wrote:
>> How many people/companies use EGL for Windows/fbdev, how about OpenVG on
> any platform ?
>
> I already said this privately to Marek when he was RFC'ing on this change: I'm fine if Linux-specific drivers abandon st/egl to focus solely on st/dri, but removing st/egl altogether seems unnecessary and short-sighted: EGL is a cross-platform API, Mesa is a cross-platform implementation of OpenGL and friends, so sooner or later people will want to have Mesa's EGL support on platforms others than Linux.
>
> This is not hypothetical:
> - See https://bugs.freedesktop.org/show_bug.cgi?id=40920 for an example of a bug reported from an user using llvmpipe + egl + opengv on windows.
> - VMware doesn't currently ship or support EGL on Windows, but I suspect we eventually we'll want to support EGL on non-linux platforms.
>
> Even if OpenVG is loosing popularity, but maybe Khronos will come up with another cross-platform graphics API (maybe OpenGL NG) that's tied to EGL.
>
> So a cross-platform implementation of EGL is bound to be useful.
>
>
> I don't test, but I build egl-static and OpenVG on Windows nightly w/ llvmpipe.  It's like a superset of OSMesa, and it seems more useful, as it gives one more APIs than OSMesa, and through a standard API to create/bind contexts .
EGL/OpenVG worked with softpipe at one point on Windows.  I am not
sure about the status now.
>
>
> In short, stop caring about st/egl on Linux, maybe even remove DRI support out st/egl if you must, but please don't go out of your way to break EGL on non-linux platforms.
>
>
> Jose
>
> ________________________________________
> From: mesa-dev <mesa-dev-bounces at lists.freedesktop.org> on behalf of Emil Velikov <emil.l.velikov at gmail.com>
> Sent: 05 November 2014 00:46
> To: Marek Olšák; mesa-dev at lists.freedesktop.org
> Cc: emil.l.velikov at gmail.com
> Subject: Re: [Mesa-dev] [PATCH 0/2] Disable the EGL state tracker for Linux/DRI builds
>
> 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 at lists.freedesktop.org
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_mesa-2Ddev&d=AAIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=mpI8JkssurYBCi5bR40SPEu3LMytWE-10BRs7s-DK2U&s=JMJhG16xrpYjmIDZ2lHgRP0A5JMQyV7oE2tGG5Y5dFU&e=
>>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_mesa-2Ddev&d=AAIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=mpI8JkssurYBCi5bR40SPEu3LMytWE-10BRs7s-DK2U&s=JMJhG16xrpYjmIDZ2lHgRP0A5JMQyV7oE2tGG5Y5dFU&e=
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev



-- 
olv at LunarG.com


More information about the mesa-dev mailing list