|
@@ -0,0 +1,78 @@
|
|
|
+From 1fbb69a58c3dc9d604f5c7851bd3c144af687539 Mon Sep 17 00:00:00 2001
|
|
|
+From: Dylan Baker <dylan@pnwbakers.com>
|
|
|
+Date: Thu, 26 Sep 2019 15:42:59 -0700
|
|
|
+Subject: [PATCH] meson: Link xvmc with libxv
|
|
|
+
|
|
|
+Prior to xvmc 1.0.12 libxvmc incorrectly required libxv, but that was
|
|
|
+fixed. This results in compilation failures for the gallium xvmc tracker
|
|
|
+and tools. This patch fixes that by explicitly linking to libxv.
|
|
|
+
|
|
|
+Fixes: 22a817af8a89eb3c762fc3e07b443a3ce37d7416
|
|
|
+ ("meson: build gallium xvmc state tracker")
|
|
|
+Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1844
|
|
|
+Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
+
|
|
|
+[Romain: backported to 19.2]
|
|
|
+(cherry picked from commit e456a053c3d6ec4f3d4581edcad05c72dfdaa407)
|
|
|
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
|
|
+---
|
|
|
+ meson.build | 4 +++-
|
|
|
+ src/gallium/state_trackers/xvmc/meson.build | 10 +++++++---
|
|
|
+ 2 files changed, 10 insertions(+), 4 deletions(-)
|
|
|
+
|
|
|
+diff --git a/meson.build b/meson.build
|
|
|
+index 4afd8ca663b..d536ef5a76d 100644
|
|
|
+--- a/meson.build
|
|
|
++++ b/meson.build
|
|
|
+@@ -502,10 +502,12 @@ elif not (with_gallium_r600 or with_gallium_nouveau)
|
|
|
+ endif
|
|
|
+ endif
|
|
|
+ dep_xvmc = null_dep
|
|
|
++dep_xv = null_dep
|
|
|
+ with_gallium_xvmc = false
|
|
|
+ if _xvmc != 'false'
|
|
|
+ dep_xvmc = dependency('xvmc', version : '>= 1.0.6', required : _xvmc == 'true')
|
|
|
+- with_gallium_xvmc = dep_xvmc.found()
|
|
|
++ dep_xv = dependency('xv', required : _xvmc == 'true')
|
|
|
++ with_gallium_xvmc = dep_xvmc.found() and dep_xv.found()
|
|
|
+ endif
|
|
|
+
|
|
|
+ xvmc_drivers_path = get_option('xvmc-libs-path')
|
|
|
+diff --git a/src/gallium/state_trackers/xvmc/meson.build b/src/gallium/state_trackers/xvmc/meson.build
|
|
|
+index d120d533eef..4b7aad51125 100644
|
|
|
+--- a/src/gallium/state_trackers/xvmc/meson.build
|
|
|
++++ b/src/gallium/state_trackers/xvmc/meson.build
|
|
|
+@@ -23,7 +23,9 @@ libxvmc_st = static_library(
|
|
|
+ files('attributes.c', 'block.c', 'context.c', 'surface.c', 'subpicture.c'),
|
|
|
+ c_args : [c_vis_args],
|
|
|
+ include_directories : [inc_common],
|
|
|
+- dependencies : [dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3],
|
|
|
++ dependencies : [
|
|
|
++ dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xv,
|
|
|
++ ],
|
|
|
+ )
|
|
|
+
|
|
|
+ # These tests will not work without a working xvmc configuration.
|
|
|
+@@ -36,7 +38,8 @@ if with_tools.contains('xvmc')
|
|
|
+ _name,
|
|
|
+ files('tests/test_@0@.c'.format(x), 'tests/testlib.c'),
|
|
|
+ dependencies : [
|
|
|
+- dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xvmcw,
|
|
|
++ dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3,
|
|
|
++ dep_xvmcw, dep_xv,
|
|
|
+ ],
|
|
|
+ install: true,
|
|
|
+ )
|
|
|
+@@ -46,7 +49,8 @@ if with_tools.contains('xvmc')
|
|
|
+ 'xvmc_bench',
|
|
|
+ files('tests/xvmc_bench.c', 'tests/testlib.c'),
|
|
|
+ dependencies : [
|
|
|
+- dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xvmcw,
|
|
|
++ dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3,
|
|
|
++ dep_xvmcw, dep_xv,
|
|
|
+ ],
|
|
|
+ install: true,
|
|
|
+ )
|
|
|
+--
|
|
|
+2.23.0
|
|
|
+
|