Re: [Mesa-dev] [PATCH 3/5] meson: Re-add auto option for omx
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> > Fixes: bb5e27fab6087a5c1528a5faf507acce700e883c > >("st/omx/bellagio: Rename st and target directories") > > Signed-off-by: Dylan Baker > > --- > > 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 signature.asc Description: signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 3/5] meson: Re-add auto option for omx
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> Fixes: bb5e27fab6087a5c1528a5faf507acce700e883c >("st/omx/bellagio: Rename st and target directories") > Signed-off-by: Dylan Baker > --- > 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 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) > +else > + with_gallium_omx = 'disabled' > +endif > + endif > endif > > omx_drivers_path = get_option('omx-libs-path') > -if with_gallium_omx > +if with_gallium_omx != 'disabled' ># Figure out where to put the omx driver. ># FIXME: this could all be vastly simplified by adding a 'defined_variable' ># argument to meson's get_pkgconfig_variable method. > @@ -1193,8 +1214,8 @@ if with_platform_x11 > dep_xxf86vm = dependency('xxf86vm', required : false) >endif >if (with_any_vk or with_glx == 'dri' or > - (with_gallium_vdpau or with_gallium_xvmc or with_gallium_omx or > -with_gallium_xa)) > + (with_gallium_vdpau or with_gallium_xvmc or with_gallium_va or > +with_gallium_omx != 'disabled')) > dep_xcb = dependency('xcb') > dep_x11_xcb = dependency('x11-xcb') >endif > diff --git a/meson_options.txt b/meson_options.txt > index 50ae19685e7..a573290b774 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -90,8 +90,8 @@ option( > option( >
[Mesa-dev] [PATCH 3/5] meson: Re-add auto option for omx
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 SinghFixes: bb5e27fab6087a5c1528a5faf507acce700e883c ("st/omx/bellagio: Rename st and target directories") Signed-off-by: Dylan Baker --- 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' - 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' + 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' +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' +else + with_gallium_omx = 'disabled' +endif + endif endif omx_drivers_path = get_option('omx-libs-path') -if with_gallium_omx +if with_gallium_omx != 'disabled' # Figure out where to put the omx driver. # FIXME: this could all be vastly simplified by adding a 'defined_variable' # argument to meson's get_pkgconfig_variable method. @@ -1193,8 +1214,8 @@ if with_platform_x11 dep_xxf86vm = dependency('xxf86vm', required : false) endif if (with_any_vk or with_glx == 'dri' or - (with_gallium_vdpau or with_gallium_xvmc or with_gallium_omx or -with_gallium_xa)) + (with_gallium_vdpau or with_gallium_xvmc or with_gallium_va or +with_gallium_omx != 'disabled')) dep_xcb = dependency('xcb') dep_x11_xcb = dependency('x11-xcb') endif diff --git a/meson_options.txt b/meson_options.txt index 50ae19685e7..a573290b774 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -90,8 +90,8 @@ option( option( 'gallium-omx', type : 'combo', - value : 'tizonia', - choices : ['disabled', 'bellagio', 'tizonia'], + value : 'auto', + choices : ['auto', 'disabled', 'bellagio', 'tizonia'], description : 'enable gallium omx state tracker.', ) option( diff --git a/src/gallium/meson.build b/src/gallium/meson.build index d3cbb76d94d..108234ad322 100644 --- a/src/gallium/meson.build +++ b/src/gallium/meson.build @@ -170,7 +170,7 @@ if with_gallium_xvmc subdir('state_trackers/xvmc') subdir('targets/xvmc') endif -if with_gallium_omx +if with_gallium_omx != 'disabled' subdir('state_trackers/omx') subdir('targets/omx') endif diff --git