[Mesa-dev] [PATCH] meson: implement default driver arguments

Dylan Baker dylan at pnwbakers.com
Mon Oct 30 18:33:47 UTC 2017


Quoting Eric Engestrom (2017-10-30 10:29:25)
> On Monday, 2017-10-30 10:21:50 -0700, Dylan Baker wrote:
> > This allows drivers to be set by OS/arch in a sane manner.
> > 
> > Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> > ---
> >  meson.build       | 37 +++++++++++++++++++++++++++++++++++--
> >  meson_options.txt |  8 ++++----
> >  2 files changed, 39 insertions(+), 6 deletions(-)
> > 
> > diff --git a/meson.build b/meson.build
> > index 24d997b3e0a..436d676d72d 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -90,7 +90,19 @@ with_dri_r200 = false
> >  with_dri_nouveau = false
> >  with_dri_swrast = false
> >  _drivers = get_option('dri-drivers')
> > -if _drivers != ''
> > +if _drivers == 'default'
> > +  if ['linux', 'bsd'].contains(host_machine.system())
> > +    if ['x86', 'x86_64'].contains(host_machine.cpu_family())
> > +      with_dri_i915 = true
> > +      with_dri_i965 = true
> > +      with_dri_r100 = true
> > +      with_dri_r200 = true
> > +      with_dri_nouveau = true
> > +      with_dri = true
> 
> Yes to the idea, but to avoid having different parse paths for the
> default case and when drivers are specified, how about
> 
> if _drivers == 'default'
>   if os_and_arch logic
>     _drivers = 'i915,i965,r100,r200,nouveau'
>   else ...
>   endif
> endif

Sure, I can do that instead.

> 
> > +    endif
> > +    # TODO: PPC, Sparc
> > +  endif
> > +elif _drivers != ''
> >    _split = _drivers.split(',')
> >    with_dri_i915 = _split.contains('i915')
> >    with_dri_i965 = _split.contains('i965')
> > @@ -112,7 +124,28 @@ with_gallium_vc5 = false
> >  with_gallium_etnaviv = false
> >  with_gallium_imx = false
> >  _drivers = get_option('gallium-drivers')
> > -if _drivers != ''
> > +if _drivers == 'default'
> > +  if ['linux', 'bsd'].contains(host_machine.system())
> > +    if ['x86', 'x86_64'].contains(host_machine.cpu_family())
> > +      with_gallium_radeonsi = true
> > +      with_gallium_nouveau = true
> > +      with_gallium_softpipe = true
> > +      with_gallium = true
> > +      with_dri = true
> > +    elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
> > +      with_gallium_pl111 = true
> > +      with_gallium_vc4 = true
> > +      with_gallium_vc5 = true
> > +      with_gallium_freedreno = true
> > +      with_gallium_etnaviv = true
> > +      with_gallium_imx = true
> > +      with_gallium_softpipe = true
> > +      with_gallium = true
> > +      with_dri = true
> > +    endif
> > +    # TODO: PPC, Sparc
> > +  endif
> > +elif _drivers != ''
> >    _split = _drivers.split(',')
> >    with_gallium_pl111 = _split.contains('pl111')
> >    with_gallium_radeonsi = _split.contains('radeonsi')
> > diff --git a/meson_options.txt b/meson_options.txt
> > index 74f1e71bf43..0de54f9422d 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -34,8 +34,8 @@ option(
> >  option(
> >    'dri-drivers',
> >    type : 'string',
> > -  value : 'i915,i965,r100,r200,nouveau',
> > -  description : 'comma separated list of dri drivers to build.'
> > +  value : 'default',
> > +  description : 'comma separated list of dri drivers to build. If this is set to default all drivers applicable to the target OS/architecture will be built'
> >  )
> >  option(
> >    'dri-drivers-path',
> > @@ -46,8 +46,8 @@ option(
> >  option(
> >    'gallium-drivers',
> >    type : 'string',
> > -  value : 'pl111,radeonsi,nouveau,freedreno,swrast,vc4,etnaviv,imx',
> > -  description : 'comma separated list of gallium drivers to build.'
> > +  value : 'default',
> > +  description : 'comma separated list of gallium drivers to build. If this is set to default all drivers applicable to the target OS/architecture will be built'
> >  )
> >  option(
> >    'gallium-media',
> > -- 
> > 2.14.3
> > 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171030/52c7fb86/attachment.sig>


More information about the mesa-dev mailing list