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.
v2: - Only define OMX_FOO for auto cases if the dependencies are found.
This fixes building tizonia with auto (Julien, Eric)
CC: Gurkirpal Singh <gurkirpal204@gmail.com>
Fixes: bb5e27fab6
("st/omx/bellagio: Rename st and target directories")
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk> (v1)
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Tested-by: Julien Isorce <julien.isorce@gmail.com>
Tested-by: Karol Herbst <kherbst@redhat.com> (v1)
This commit is contained in:
parent
7598dedfde
commit
34e852d5b5
69
meson.build
69
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'
|
||||
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')
|
||||
]
|
||||
if with_gallium_omx == 'bellagio' or with_gallium_omx == 'auto'
|
||||
dep_omx = dependency(
|
||||
'libomxil-bellagio', required : with_gallium_omx == 'bellagio'
|
||||
)
|
||||
if dep_omx.found()
|
||||
pre_args += '-DENABLE_ST_OMX_BELLAGIO'
|
||||
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
|
||||
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()
|
||||
pre_args += '-DENABLE_ST_OMX_TIZONIA'
|
||||
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
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue