[Mesa-dev] Drooping multiple driver support in EGL?

Jakob Bornecrantz wallbraker at gmail.com
Fri Dec 23 12:00:53 PST 2011


On Fri, Dec 23, 2011 at 7:51 PM, Chia-I Wu <olvaffe at gmail.com> wrote:
> On Sat, Dec 24, 2011 at 12:37 AM, Ian Romanick <idr at freedesktop.org> wrote:
>> On 12/23/2011 07:20 AM, Jose Fonseca wrote:
>>>
>>> ----- Original Message -----
>>>>
>>>> Hi list,
>>>>
>>>> Multiple driver support in EGL is hard to get right, if not
>>>> impossible.
>>>> On Linux desktop, we almost always want to use egl_dri2.  It allows
>>>> EGL
>>>> to loads DRI2 drivers, thus allowing it to share DRI2 drivers with
>>>> libGL.
>>>>
>>>> In one case where the app wants to use OpenVG, libEGL needs to load
>>>> egl_gallium instead.  The problem comes from that we cannot know that
>>>> an
>>>> OpenVG context is to be created until it is created.  But before a
>>>> context can be created, EGL needs to be initialized and an EGLConfig
>>>> needs to be chosen.  So when EGL is to be initialized, we need to
>>>> load
>>>> and initilaize all EGL drivers.  When an EGLConfig is to be picked,
>>>> we
>>>> need to pick it from all drivers.
>>>
>>>
>>> Couldn't we restructure this such that OpenVG (and all other state
>>> trackers on Linux) still use a dri2 driver, but one which exposes an
>>> additional (gallium specific) interface?
>> I was going to suggest something similar.  I think we want fewer EGL
>> backends to test and maintain, not more.  Right?
> I totally agree with that.  I even had an unfinished branch for that.
>
> Note that this thread is about dropping multiple EGL driver support.
> The motivation for having OpenVG in DRI2 drivers is that we do not
> want multiple EGL drivers.  The former should push the latter to
> happen more quickly, instead of preventing it from happening.

The problem with exposing the Gallium Interface via the DRI interface
is that the DRI interface is public and stable while the Gallium one is
not.

Cheers, Jakob.


More information about the mesa-dev mailing list