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 <gurkirpal...@gmail.com> > Fixes: bb5e27fab6087a5c1528a5faf507acce700e883c > ("st/omx/bellagio: Rename st and target directories") > Signed-off-by: Dylan Baker <dylan.c.ba...@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 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( > '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 a/src/gallium/state_trackers/omx/meson.build > b/src/gallium/state_trackers/omx/meson.build > index 9470468d753..b0c71a895ff 100644 > --- a/src/gallium/state_trackers/omx/meson.build > +++ b/src/gallium/state_trackers/omx/meson.build > @@ -28,7 +28,7 @@ files_omx = files( > 'vid_omx_common.c' > ) > > -if gallium_omx == 'bellagio' > +if with_gallium_omx == 'bellagio' > files_omx += files( > 'bellagio/entrypoint.c', > 'bellagio/vid_dec.c', > @@ -37,16 +37,16 @@ files_omx += files( > 'bellagio/vid_dec_h265.c', > 'bellagio/vid_enc.c' > ) > -elif gallium_omx == 'tizonia' > +elif with_gallium_omx == 'tizonia' > files_omx += files( > 'tizonia/entrypoint.c', > - 'tizonia/h264d.c', > - 'tizonia/h264dprc.c', > - 'tizonia/h264dinport.c', > - 'tizonia/h264e.c', > - 'tizonia/h264eprc.c', > - 'tizonia/h264einport.c', > - 'tizonia/h264eoutport.c' > + 'tizonia/h264d.c', > + 'tizonia/h264dprc.c', > + 'tizonia/h264dinport.c', > + 'tizonia/h264e.c', > + 'tizonia/h264eprc.c', > + 'tizonia/h264einport.c', > + 'tizonia/h264eoutport.c' > ) > inc_st_omx = [ > inc_st_omx, > -- > 2.16.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev