[Mesa-dev] [PATCH 3/5] meson: Re-add auto option for omx

Dylan Baker dylan at pnwbakers.com
Wed Mar 7 18:21:38 UTC 2018


Quoting Eric Engestrom (2018-03-07 10:08:33)
> On Tuesday, 2018-03-06 11:57:14 -0800, Dylan Baker wrote:
> > This re-adds the auto option for omx, without it we default to tizonia
> > and the build fails almost immediately, this is especially obnoxious
> > those building a driver that doesn't support the OMX state tracker to
> > begin with.
> > 
> > CC: Gurkirpal Singh <gurkirpal204 at gmail.com>
> > Fixes: bb5e27fab6087a5c1528a5faf507acce700e883c
> >        ("st/omx/bellagio: Rename st and target directories")
> > Signed-off-by: Dylan Baker <dylan.c.baker at intel.com>
> > ---
> >  meson.build                                | 67 ++++++++++++++++++++----------
> >  meson_options.txt                          |  4 +-
> >  src/gallium/meson.build                    |  2 +-
> >  src/gallium/state_trackers/omx/meson.build | 18 ++++----
> >  4 files changed, 56 insertions(+), 35 deletions(-)
> > 
> > diff --git a/meson.build b/meson.build
> > index dd2fa603829..c85afdecee9 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -464,42 +464,63 @@ endif
> >  
> >  _omx = get_option('gallium-omx')
> >  if not system_has_kms_drm
> > -  if _omx != 'disabled'
> > -    error('OMX state tracker can only be built on unix-like OSes.')
> > -  else
> > +  if ['auto', 'disabled'].contains(_omx)
> >      _omx = 'disabled'
> > +  else
> > +    error('OMX state tracker can only be built on unix-like OSes.')
> >    endif
> >  elif not (with_platform_x11 or with_platform_drm)
> > -  if _omx != 'disabled'
> > -    error('OMX state tracker requires X11 or drm platform support.')
> > -  else
> > +  if ['auto', 'disabled'].contains(_omx)
> >      _omx = 'disabled'
> > +  else
> > +    error('OMX state tracker requires X11 or drm platform support.')
> >    endif
> >  elif not (with_gallium_r600 or with_gallium_radeonsi or with_gallium_nouveau)
> > -  if _omx != 'disabled'
> > -    error('OMX state tracker requires at least one of the following gallium drivers: r600, radeonsi, nouveau.')
> > -  else
> > +  if ['auto', 'disabled'].contains(_omx)
> >      _omx = 'disabled'
> > +  else
> > +    error('OMX state tracker requires at least one of the following gallium drivers: r600, radeonsi, nouveau.')
> >    endif
> >  endif
> > -with_gallium_omx = _omx != 'disabled'
> > -gallium_omx = _omx
> > +with_gallium_omx = _omx
> >  dep_omx = []
> >  dep_omx_other = []
> > -if gallium_omx == 'bellagio'
> > +if with_gallium_omx == 'bellagio' or with_gallium_omx == 'auto'
> >    pre_args += '-DENABLE_ST_OMX_BELLAGIO'
> 
> I didn't quite get what Julien was saying at first, but he's right: the
> above line should be moved ...
> 
> > -  dep_omx = dependency('libomxil-bellagio')
> > -elif gallium_omx == 'tizonia'
> > -  pre_args += '-DENABLE_ST_OMX_TIZONIA'
> > -  dep_omx = dependency('libtizonia', version : '>= 0.10.0')
> > -  dep_omx_other = [
> > -    dependency('libtizplatform'),
> > -    dependency('tizilheaders')
> > -  ]
> > +  dep_omx = dependency(
> > +    'libomxil-bellagio', required : with_gallium_omx == 'bellagio'
> > +  )
> > +  if dep_omx.found()
> > +    with_gallium_omx = 'bellagio'
> 
> ... here
> 
> > +  endif
> > +endif
> > +if with_gallium_omx == 'tizonia' or with_gallium_omx == 'auto'
> > +  if not (with_dri and with_egl)
> > +    if with_gallium_omx == 'tizonia'
> > +      error('OMX-Tizonia state tracker requires dri and egl')
> > +    else
> > +      with_gallium_omx == 'disabled'
> > +    endif
> > +  else
> > +    pre_args += '-DENABLE_ST_OMX_TIZONIA'
> 
> same with this one, it should be moved ...
> 
> > +    dep_omx = dependency(
> > +      'libtizonia', version : '>= 0.10.0',
> > +      required : with_gallium_omx == 'tizonia',
> > +    )
> > +    dep_omx_other = [
> > +      dependency('libtizplatform', required : with_gallium_omx == 'tizonia'),
> > +      dependency('tizilheaders', required : with_gallium_omx == 'tizonia'),
> > +    ]
> > +    if dep_omx.found() and dep_omx_other[0].found() and dep_omx_other[1].found()
> > +      with_gallium_omx = 'tizonia'
> 
> ... here

I realized that between the time you sent your mail and my client noticed it.
I've fixed that and I'll push with the pre_args in the right place.

> 
> With these two fixes, r-b stands :)
> 
> (Note, kind of a nit, but I'd prefer for _omx to be used until it's
> fully defined, ie. `with_gallium_omx` should never be 'auto' imho)
> 

Okay, lets fix that in a follow up, since this fixes the build.

Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180307/ed23d881/attachment.sig>


More information about the mesa-dev mailing list