[Mesa-dev] [Test Patch] Meson: ensure vdpau has proper symbols exposed

haagch+mesadev at frickel.club haagch+mesadev at frickel.club
Sat Jan 13 14:05:31 UTC 2018


This patch makes vdpau work here too on RX 480.

vaapi has the same problem. I tried doing an analog patch and also had to set
libva_version = ['1', '0', '0'] in src/gallium/state_trackers/va/meson.build
because libva on arch only tries to call __vaDriverInit_1_0 on arch.
The autotools makefile uses pkg-config which doesn't output 2.3 either:
$ pkg-config --modversion libva                                                                                                                      :(
1.0.0

But then actually using vaapi for encoding or decoding gets into a
weird assertion:
mpv: ../src/gallium/drivers/radeon/radeon_winsys.h:773: radeon_get_heap_index: Assertion `!"READ_ONLY without WC is disallowed"' failed.

omx is also broken:
OMX-the library /usr/lib/bellagio/libomx_mesa.so is not compatible with ST static component loader - /usr/lib/bellagio/libomx_mesa.so: undefined symbol: omx_component_library_Setup

Someone with radeon/radeonsi should really look over these build files.

On 11.01.2018 18:24, Dylan Baker wrote:
> Signed-off-by: Dylan Baker <dylan.c.baker at intel.com>
> ---
>  src/gallium/targets/vdpau/meson.build | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/targets/vdpau/meson.build b/src/gallium/targets/vdpau/meson.build
> index 67f1469fb0f..432a32a7340 100644
> --- a/src/gallium/targets/vdpau/meson.build
> +++ b/src/gallium/targets/vdpau/meson.build
> @@ -23,6 +23,7 @@
>  # configure.ac)
>  
>  vdpau_link_args = []
> +vdpau_link_with = []
>  vdpau_link_depends = []
>  vdpau_drivers = []
>  
> @@ -35,6 +36,13 @@ if with_ld_dynamic_list
>    vdpau_link_depends += files('../dri-vdpau.dyn')
>  endif
>  
> +if with_dri
> +  vdpau_link_with += libswdri
> +endif
> +if with_gallium_drisw_kms
> +  vdpau_link_with += libswkmsdri
> +endif
> +
>  libvdpau_gallium = shared_library(
>    'vdpau_gallium',
>    'target.c',
> @@ -44,12 +52,14 @@ libvdpau_gallium = shared_library(
>    include_directories : [
>      inc_common, inc_util, inc_gallium_winsys, inc_gallium_drivers,
>    ],
> +  link_whole : [libvdpau_st],
>    link_with : [
> -    libvdpau_st, libgalliumvlwinsys, libgalliumvl, libgallium, libmesa_util,
> -    libpipe_loader_static, libws_null, libwsw,
> +    libgalliumvlwinsys, libgalliumvl, libgallium, libmesa_util,
> +    libpipe_loader_static, libws_null, libwsw, vdpau_link_with,
>    ],
>    dependencies : [
> -    dep_thread, dep_xcb, dep_x11_xcb, dep_xcb_dri2, dep_libdrm,
> +    dep_thread, dep_xcb, dep_x11_xcb, dep_xcb_dri2, dep_xcb_dri3,
> +    dep_xcb_present, dep_xshmfence, dep_xcb_xfixes, dep_xcb_sync, dep_libdrm,
>      driver_r300, driver_r600, driver_radeonsi, driver_nouveau,
>    ],
>    link_depends : vdpau_link_depends,




More information about the mesa-dev mailing list