[Mesa-dev] [PATCH 3/5] meson: Re-add auto option for omx
Eric Engestrom
eric.engestrom at imgtec.com
Wed Mar 7 18:08:33 UTC 2018
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
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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list