[Mesa-dev] [PATCH] WIP: meson: allow building DRI loaders without a DRI driver

Tobias Klausmann tobias.johannes.klausmann at mni.thm.de
Mon Dec 17 22:05:13 UTC 2018


On 17.12.18 20:33, Dylan Baker wrote:
> Quoting Emil Velikov (2018-12-17 11:10:00)
>> On Fri, 14 Dec 2018 at 17:57, Dylan Baker <dylan at pnwbakers.com> wrote:
>>> Quoting Emil Velikov (2018-12-13 08:15:57)
>>>> From: Emil Velikov <emil.velikov at collabora.com>
>>>>
>>>> Reasonably often people will want to build the loader w/o any drivers.
>>>> Be that debugging an issue in the former, distribution bundle or other.
>>>>
>>>> Currently there is an artificial restriction preventing people to build
>>>> a config like the following:
>>>>
>>>>   meson build/ -Dglx=dri -Ddri-drivers= -Dvulkan-drivers= -Dgallium-drivers=
>>>>
>>>> Cc: Dylan Baker <dylan at pnwbakers.com>
>>>> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
>>>> ---
>>>> This is a WIP, since it's obviously incomplete/wrong. Input or fix
>>>> would be appreciated.
>>>>
>>>> Thanks
>>>> Emil
>>>> ---
>>>>   meson.build | 12 +-----------
>>>>   1 file changed, 1 insertion(+), 11 deletions(-)
>>>>
>>>> diff --git a/meson.build b/meson.build
>>>> index 2aa2794f971..e1d6561c1a3 100644
>>>> --- a/meson.build
>>>> +++ b/meson.build
>>>> @@ -285,14 +285,6 @@ if with_glx == 'dri'
>>>>      endif
>>>>   endif
>>>>
>>>> -if not (with_dri or with_gallium or with_glx == 'xlib' or with_glx == 'gallium-xlib')
>>>> -  with_gles1 = false
>>>> -  with_gles2 = false
>>>> -  with_opengl = false
>>>> -  with_any_opengl = false
>>>> -  with_shared_glapi = false
>>>> -endif
>>>> -
>>>>   _gbm = get_option('gbm')
>>>>   if _gbm == 'auto'
>>>>     with_gbm = system_has_kms_drm and with_dri
>>>> @@ -352,9 +344,7 @@ if with_glx != 'disabled'
>>>>         error('xlib conflicts with any dri driver')
>>>>       endif
>>>>     elif with_glx == 'dri'
>>>> -    if not with_dri
>>>> -      error('dri based GLX requires at least one DRI driver')
>>>> -    elif not with_shared_glapi
>>>> +    if not with_shared_glapi
>>>>         error('dri based GLX requires shared-glapi')
>>>>       endif
>>>>     endif
>>>> --
>>>> 2.19.2
>>>>
>>> I'll have to think about this some more, I'm still not exactly sure why you'd
>>> want to build the loader without a driver (although I could see why you might
>>> want the driver without the loader).
>>>
Building both separate breaks away the dependency for llvm/clang while 
building the loader package (mesa), thus eliminating the bottleneck, the 
long build time of llvm/clang, in a complete build cycle of a whole 
distribution rebuild for the packages "waiting" on mesa to complete. The 
mesa-drivers package can wait for llvm/clang in the meantime. Right now 
i have solved this by building the classic swrast with mesa and 
instantly throwing it away after the build is finished.

Btw: Building the drivers without a windowing system would be nice as 
well, this applies to the above use case where the -drivers package does 
not need a windowing system, as it is contained in the other package.

Greetings

Tobias


>> Usually both should work - loader w/o driver and driver w/o loader.
>>
>> Imagine you're debugging some issues in libEGL - you don't want to
>> build driver X/Y/Z.
>> Additionally, distributions build latest loader and use it with DRI1
>> era drivers.
> Ah, okay, building a new loader to test with dri1 drivers is a reasonable use
> for this.
>
>> Having them build a driver, without an obvious reason is quite strange.
>>
>> -Emil
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list