diff options
author | Chuck Atkins <chuck.atkins@kitware.com> | 2020-11-29 08:37:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-29 14:37:45 +0100 |
commit | ada781cc8f90ebaf96fae6bf88f12a55c7c58531 (patch) | |
tree | 2b1de27f6fd19823ae00377715aec0ed2b974625 /var | |
parent | 58babe81e160eb3e6dbd75c66ec9796dd9486e81 (diff) | |
download | spack-ada781cc8f90ebaf96fae6bf88f12a55c7c58531.tar.gz spack-ada781cc8f90ebaf96fae6bf88f12a55c7c58531.tar.bz2 spack-ada781cc8f90ebaf96fae6bf88f12a55c7c58531.tar.xz spack-ada781cc8f90ebaf96fae6bf88f12a55c7c58531.zip |
mesa: Require at least one front-end and back-end to be selected (#20144)
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/mesa/package.py | 8 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/mesa18/package.py | 33 |
2 files changed, 20 insertions, 21 deletions
diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py index e2da830f72..e7f2dcc575 100644 --- a/var/spack/repos/builtin/packages/mesa/package.py +++ b/var/spack/repos/builtin/packages/mesa/package.py @@ -72,6 +72,14 @@ class Mesa(MesonPackage): depends_on('xrandr', when='+glx') depends_on('glproto@1.4.14:', when='+glx', type='build') + # Require at least 1 front-end + # TODO: Add egl to this conflict once made available + conflicts('~osmesa ~glx') + + # Require at least 1 back-end + # TODO: Add vulkan to this conflict once made available + conflicts('~opengl ~opengles') + def meson_args(self): spec = self.spec args = [ diff --git a/var/spack/repos/builtin/packages/mesa18/package.py b/var/spack/repos/builtin/packages/mesa18/package.py index 10d4275c6c..1dcead5965 100644 --- a/var/spack/repos/builtin/packages/mesa18/package.py +++ b/var/spack/repos/builtin/packages/mesa18/package.py @@ -52,14 +52,6 @@ class Mesa18(AutotoolsPackage): is_linux = sys.platform.startswith('linux') variant('glx', default=is_linux, description="Enable the GLX frontend.") - # TODO: effectively deal with EGL. The implications of this have not been - # worked through yet - # variant('egl', default=False, description="Enable the EGL frontend.") - - # TODO: Effectively deal with hardware drivers - # The implication of this is enabling DRI, among other things, and - # needing to check which llvm targets were built (ptx or amdgpu, etc.) - # Back ends variant('opengl', default=True, description="Enable full OpenGL support.") variant('opengles', default=False, description="Enable OpenGL ES support.") @@ -67,7 +59,6 @@ class Mesa18(AutotoolsPackage): # Provides provides('gl@4.5', when='+opengl') provides('glx@1.4', when='+glx') - # provides('egl@1.5', when='+egl') provides('osmesa', when='+osmesa') # Variant dependencies @@ -77,6 +68,12 @@ class Mesa18(AutotoolsPackage): depends_on('libxext', when='+glx') depends_on('glproto@1.4.14:', when='+glx', type='build') + # Require at least 1 front-end + conflicts('~osmesa ~glx') + + # Require at least 1 back-end + conflicts('~opengl ~opengles') + # Prevent an unnecessary xcb-dri dependency patch('autotools-x11-nodri.patch') @@ -103,7 +100,11 @@ class Mesa18(AutotoolsPackage): '--disable-xa', '--disable-xvmc', '--disable-osmesa', - '--with-vulkan-drivers='] + '--with-vulkan-drivers=', + '--disable-egl', + '--disable-gbm', + '--disable-dri'] + args_platforms = [] args_gallium_drivers = ['swrast'] args_dri_drivers = [] @@ -120,21 +121,11 @@ class Mesa18(AutotoolsPackage): if '+glx' in spec: num_frontends += 1 - if '+egl' in spec: - args.append('--enable-glx=dri') - else: - args.append('--enable-glx=gallium-xlib') + args.append('--enable-glx=gallium-xlib') args_platforms.append('x11') else: args.append('--disable-glx') - if '+egl' in spec: - num_frontends += 1 - args.extend(['--enable-egl', '--enable-gbm', '--enable-dri']) - args_platforms.append('surfaceless') - else: - args.extend(['--disable-egl', '--disable-gbm', '--disable-dri']) - if '+opengl' in spec: args.append('--enable-opengl') else: |