Quoting Eric Engestrom (2017-11-01 04:09:26) > On Tuesday, 2017-10-31 15:50:49 -0700, Dylan Baker wrote: > > This allows drivers to be set by OS/arch in a sane manner. > > > > v2: - set _drivers to a list of drivers instead of manually assigning > > each with_* > > > > cc: Eric Engestrom <e...@engestrom.ch> > > Signed-off-by: Dylan Baker <dylanx.c.ba...@intel.com> > > --- > > meson.build | 18 ++++++++++++++++++ > > meson_options.txt | 8 ++++---- > > 2 files changed, 22 insertions(+), 4 deletions(-) > > > > diff --git a/meson.build b/meson.build > > index d22d49535af..38c0c77f875 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -90,6 +90,14 @@ with_dri_r200 = false > > with_dri_nouveau = false > > with_dri_swrast = false > > _drivers = get_option('dri-drivers') > > +if _drivers == 'default' > > + if ['linux', 'bsd'].contains(host_machine.system()) > > + if ['x86', 'x86_64'].contains(host_machine.cpu_family()) > > + _drivers = 'i915,i965,r100,r200,nouveau' > > + endif > > + # TODO: PPC, Sparc > > + endif > > I think we need something here to handle the cases where `default` is > the value, but isn't handled by the detection logic. > Something like this at the end of the `_drivers == default` block, for > instance? > > if _drivers == 'default' > error(host_machine.system() + ' ' + host_machine.cpu_family() + ' has no > default set; you need to set `dri-drivers` manually with `meson configure > -Ddri-drivers=something`') > endif > > (that's a bloody long line, but I don't think meson supports multiline > error)
meson has ''' strings like python, I have no idea if you can use them in errors. I guess I'll find out > > > +endif > > if _drivers != '' > > _split = _drivers.split(',') > > with_dri_i915 = _split.contains('i915') > > @@ -112,6 +120,16 @@ with_gallium_vc5 = false > > with_gallium_etnaviv = false > > with_gallium_imx = false > > _drivers = get_option('gallium-drivers') > > +if _drivers == 'default' > > + if ['linux', 'bsd'].contains(host_machine.system()) > > + if ['x86', 'x86_64'].contains(host_machine.cpu_family()) > > + _drivers = 'radeonsi,nouveau,softpipe' > > + elif ['arm', 'aarch64'].contains(host_machine.cpu_family()) > > + _drivers = 'pl111,vc4,vc5,freedreno,etnaviv,imx,softpipe' > > `softpipe` is a new addition in this commit; might be worth splitting > out, or at least mention in the commit message. oops, that should be swrast, which is in the default list. Internally we call it softpipe (because swr is also a gallium based software rasterizer), but to keep compatibility with autotools it's called swrast for -Dgallium-drivers > > > + endif > > + # TODO: PPC, Sparc > > + endif > > same `if _drivers still 'default'` error here. > > Other than that, this looks good to me. With the errors added and > the addition of softpipe mentioned in the commit msg or split out, > this is: > Reviewed-by: Eric Engestrom <eric.engest...@imgtec.com> > > > +endif > > if _drivers != '' > > _split = _drivers.split(',') > > with_gallium_pl111 = _split.contains('pl111') > > diff --git a/meson_options.txt b/meson_options.txt > > index d93dd6eab2a..ce46438b5d3 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 > >
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev