On 17.12.18 23:16, Dylan Baker wrote:
Quoting Tobias Klausmann (2018-12-17 14:05:13)
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 <dy...@pnwbakers.com> wrote:
Quoting Emil Velikov (2018-12-13 08:15:57)
From: Emil Velikov <emil.veli...@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 <dy...@pnwbakers.com>
Signed-off-by: Emil Velikov <emil.veli...@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
This sounds like asking mesa to carry a lot of complexity so that distros can
build mesa as three separate packages. I'm really not thrilled about adding
such a feature unless someone wants to step up and be the maintainer of that
build mode and ensure it works. All of this complexity is technical debt that
the project is assuming, it makes the build definitions harder to read and
modify, and unless there's someone who actually uses such a mode (ie, not a core
developer, since no one has asked for this), it's just going to get broken. We
already have the most complicated build system I have ever seen (excluding Linux
and the core OS of FreeBSD) with more knobs and switches for micro tuning, let
alone all of the different combinations of drivers, platforms, window systems,
and APIs.

Actually splitting it even further is maybe a bit too much, yes, yet the usecase of splitting into two worked with autotools, may it be by design decision of by chance! I was just noting the second messy bit in such a usecase (with beeing a bit off topic: sorry for that!), as on of the messy bits are going to be fixed by Emils patch (or a following version)!


So, thumbs up from me building the loaders without drivers!

Greetings

Tobias




Dylan
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to