Merge pull request #2403 from lrusak/vaapi2

allow using vaapi with r600 and radeonsi
This commit is contained in:
MilhouseVH 2018-03-22 16:07:08 +00:00 committed by GitHub
commit 7c4674adab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 59 additions and 6 deletions

View File

@ -60,6 +60,7 @@ get_graphicdrivers() {
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if [ "$drv" = "radeonsi" ]; then
@ -68,6 +69,7 @@ get_graphicdrivers() {
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if [ "$drv" = "vmware" ]; then

View File

@ -68,6 +68,13 @@ else
MESA_VDPAU="--disable-vdpau"
fi
if [ "$VAAPI_SUPPORT" = "yes" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva"
MESA_VAAPI="--enable-va"
else
MESA_VAAPI="--disable-va"
fi
XA_CONFIG="--disable-xa"
for drv in $GRAPHIC_DRIVERS; do
[ "$drv" = "vmware" ] && XA_CONFIG="--enable-xa"
@ -103,7 +110,7 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
--disable-xvmc \
$MESA_VDPAU \
--disable-omx-bellagio \
--disable-va \
$MESA_VAAPI \
--disable-opencl \
--enable-opencl-icd \
--disable-gallium-tests \

View File

@ -0,0 +1,39 @@
src/gallium/state_trackers/va/context.c | 8 +++++++-
src/gallium/state_trackers/va/surface.c | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/va/context.c b/src/gallium/state_trackers/va/context.c
index 78e1f19ab7..c4abe77cf7 100644
--- a/src/gallium/state_trackers/va/context.c
+++ b/src/gallium/state_trackers/va/context.c
@@ -89,7 +89,13 @@ static struct VADriverVTable vtable =
&vlVaQuerySurfaceAttributes,
&vlVaAcquireBufferHandle,
&vlVaReleaseBufferHandle,
-#if 0
+#if VA_CHECK_VERSION(1, 1, 0)
+ NULL, /* vaCreateMFContext */
+ NULL, /* vaMFAddContext */
+ NULL, /* vaMFReleaseContext */
+ NULL, /* vaMFSubmit */
+ NULL, /* vaCreateBuffer2 */
+ NULL, /* vaQueryProcessingRate */
&vlVaExportSurfaceHandle,
#endif
};
diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c
index 636505b720..f9412ce52e 100644
--- a/src/gallium/state_trackers/va/surface.c
+++ b/src/gallium/state_trackers/va/surface.c
@@ -923,7 +923,7 @@ vlVaQueryVideoProcPipelineCaps(VADriverContextP ctx, VAContextID context,
return VA_STATUS_SUCCESS;
}
-#if 0
+#if VA_CHECK_VERSION(1, 1, 0)
VAStatus
vlVaExportSurfaceHandle(VADriverContextP ctx,
VASurfaceID surface_id,
--
2.11.0

View File

@ -171,7 +171,7 @@ else
fi
if [ "$VAAPI_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET intel-vaapi-driver"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva"
KODI_VAAPI="-DENABLE_VAAPI=ON"
else
KODI_VAAPI="-DENABLE_VAAPI=OFF"

View File

@ -35,7 +35,7 @@ PKG_BUILD_FLAGS="-gold -lto"
get_graphicdrivers
if [ "$VAAPI_SUPPORT" = "yes" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET intel-vaapi-driver"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva"
FFMPEG_VAAPI="--enable-vaapi"
else
FFMPEG_VAAPI="--disable-vaapi"

View File

@ -29,11 +29,11 @@ PKG_LONGDESC="Libva is an open source software library and API specification to
PKG_TOOLCHAIN="autotools"
if [ "$DISPLAYSERVER" = "x11" ]; then
PKG_DEPENDS_TARGET="toolchain libX11 libXext libXfixes libdrm mesa"
DISPLAYSERVER_LIBVA="--enable-x11 --enable-glx --disable-wayland"
PKG_DEPENDS_TARGET="toolchain libX11 libXext libXfixes libdrm"
DISPLAYSERVER_LIBVA="--enable-x11 --disable-glx --disable-wayland"
elif [ "$DISPLAYSERVER" = "weston" ]; then
DISPLAYSERVER_LIBVA="--disable-x11 --disable-glx --enable-wayland"
PKG_DEPENDS_TARGET="toolchain libdrm mesa wayland"
PKG_DEPENDS_TARGET="toolchain libdrm wayland"
else
PKG_DEPENDS_TARGET="toolchain libdrm"
DISPLAYSERVER_LIBVA="--disable-x11 --disable-glx --disable-wayland"

View File

@ -46,4 +46,9 @@ if [ "$MEDIACENTER" = "kodi" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET peripheral.joystick"
fi
get_graphicdrivers
if listcontains "$GRAPHIC_DRIVERS" "(i915|i965)"; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET intel-vaapi-driver"
fi
fi