[Mesa-dev] create src/wsi
Nicolai Hähnle
nhaehnle at gmail.com
Mon Oct 23 16:05:58 UTC 2017
On 23.10.2017 17:16, Emil Velikov wrote:
> On 23 October 2017 at 16:03, Jason Ekstrand <jason at jlekstrand.net> wrote:
>> On Mon, Oct 23, 2017 at 6:27 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>>>
>>> On 21.10.2017 03:00, Dylan Baker wrote:
>>>>
>>>> This very short series creates a new src/wsi folder, and moves
>>>> wayland-drm into
>>>> it. Basically wsi stuff is scattered about, and is needed by multiple
>>>> components
>>>> within mesa, wayland-drm, for example, is used by EGL, GBM, and vulkan
>>>> wayland-wsi.
>>>>
>>>> I think there's more that could be moved into wsi, we could move EGL,
>>>> GBM, and
>>>> GLX, and vulkan/wsi, for example.
>>>
>>>
>>> The general thrust sounds good to me.
>>>
>>> Is there a clean model for what should go into src/wsi and what shouldn't?
>>> Where's the boundary?
>>>
>>> For an example of the type of headaches, does DRI driver code (stuff that
>>> ends up in xxx_dri.so, for example) count as part of src/wsi? If so, then
>>> what about gallium/state_trackers/dri? What about mesa/drivers/dri/common?
>>
>>
>> Maybe? I guess it depends on what it does and how much sense it makes to
>> share it higher than the gallium level.
>>
>>>
>>> I don't have a full picture of all this code so it's hard for me to say,
>>> but I really hope your changes will lead to a clearer picture overall :)
>>
>>
>> Dylan and I talked about it quite a bit off-line so I have a few opinions.
>> :) In particular, here's what I envison:
>>
>> src/wsi/gbm
>> src/wsi/egl
>> src/wsi/wayland-drm
>> src/wsi/dri3 (currently src/loader)
>> src/wsi/glx
>> src/wsi/vulkan (currently src/vulkan/wsi)
>> src/wsi/hgl
>>
> Idea is mostly ok, but there's a bit of a snafu:
>
> Things are not as clean cut/split as per above. Here are some of the
> current inter-dependencies.
>
> src/loader - loader.c WSI agnostic DRI loader code.
> src/loader - loader_dri3.c X11 DRI3 code.
>
> gbm - depends on loader.c, wayland-drm (I've sent patches to remove this), egl
> egl - depends on loader.c loader_dri3.c wayland-drm, gbm (pokes one
> of the AMD devs to attempt this)
Which part / what do you mean?
I'm perfectly fine with keeping the state_tracker/dri/ and dri/common
bits where they are, I just wanted to get some clarification :)
Cheers,
Nicolai
> vulkan - has completely different wayland-drm/X11 dri3 code.
>
> One could be able to flatten and use uniform interface across the
> board. I would be weary as above code gets limited testing with
> piglit/CTS/dEQP.
>
> -Emil
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list