[arch-commits] Commit in libva/repos/extra-x86_64 (4 files)

Jan Steffens heftig at archlinux.org
Fri Jan 25 10:21:42 UTC 2019


    Date: Friday, January 25, 2019 @ 10:21:40
  Author: heftig
Revision: 344749

archrelease: copy trunk to extra-x86_64

Added:
  libva/repos/extra-x86_64/257.patch
    (from rev 344748, libva/trunk/257.patch)
  libva/repos/extra-x86_64/PKGBUILD
    (from rev 344748, libva/trunk/PKGBUILD)
Deleted:
  libva/repos/extra-x86_64/PKGBUILD
  libva/repos/extra-x86_64/not-finding-wl-drm-interface-with-libglvnd.patch

--------------------------------------------------+
 257.patch                                        |   67 ++++++++++++++++++
 PKGBUILD                                         |   75 ++++++++++++---------
 not-finding-wl-drm-interface-with-libglvnd.patch |   48 -------------
 3 files changed, 112 insertions(+), 78 deletions(-)

Copied: libva/repos/extra-x86_64/257.patch (from rev 344748, libva/trunk/257.patch)
===================================================================
--- 257.patch	                        (rev 0)
+++ 257.patch	2019-01-25 10:21:40 UTC (rev 344749)
@@ -0,0 +1,67 @@
+From 3dbd558f204490565e98feae25eaa39cd9206937 Mon Sep 17 00:00:00 2001
+From: Haihao Xiang <haihao.xiang at intel.com>
+Date: Fri, 7 Dec 2018 13:25:41 +0800
+Subject: [PATCH] Add pointer to struct wl_interface for driver to use
+
+See https://github.com/intel/intel-vaapi-driver/issues/419 for the
+information
+
+Note: don't export the interface symbol in case others may reuse it.
+
+Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
+---
+ va/wayland/va_backend_wayland.h | 10 +++++++++-
+ va/wayland/va_wayland_drm.c     |  4 ++++
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/va/wayland/va_backend_wayland.h b/va/wayland/va_backend_wayland.h
+index 9e5740a7..906d4bfb 100644
+--- a/va/wayland/va_backend_wayland.h
++++ b/va/wayland/va_backend_wayland.h
+@@ -64,8 +64,16 @@ struct VADriverVTableWayland {
+     /** \brief Indicate whether buffer sharing with prime fd is supported. */
+     unsigned int has_prime_sharing;
+ 
++    /**
++     * Pointer to an implementation of struct wl_interface
++     *
++     * It is set by libva-wayland when a context is created, then the backend
++     * driver may reuse it.
++     */
++    const void *wl_interface;
++
+     /** \brief Reserved bytes for future use, must be zero */
+-    unsigned long reserved[8];
++    unsigned long reserved[7];
+ };
+ 
+ #endif /* VA_BACKEND_WAYLAND_H */
+diff --git a/va/wayland/va_wayland_drm.c b/va/wayland/va_wayland_drm.c
+index 8e226951..4cd3f6c7 100644
+--- a/va/wayland/va_wayland_drm.c
++++ b/va/wayland/va_wayland_drm.c
+@@ -136,6 +136,7 @@ va_wayland_drm_destroy(VADisplayContextP pDisplayContext)
+     struct VADriverVTableWayland *vtable = ctx->vtable_wayland;
+ 
+     vtable->has_prime_sharing = 0;
++    vtable->wl_interface = NULL;
+ 
+     wl_drm_ctx->is_authenticated = 0;
+ 
+@@ -222,6 +223,8 @@ va_wayland_drm_create(VADisplayContextP pDisplayContext)
+     struct VADriverVTableWayland *vtable = ctx->vtable_wayland;
+     struct wl_display *wrapped_display = NULL;
+ 
++    vtable->wl_interface = NULL;
++
+     wl_drm_ctx = malloc(sizeof(*wl_drm_ctx));
+     if (!wl_drm_ctx) {
+         va_wayland_error("could not allocate wl_drm_ctx");
+@@ -300,6 +303,7 @@ va_wayland_drm_create(VADisplayContextP pDisplayContext)
+         goto end;
+     }
+ 
++    vtable->wl_interface = &wl_drm_interface;
+     result = true;
+ 
+ end:

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2019-01-25 10:21:23 UTC (rev 344748)
+++ PKGBUILD	2019-01-25 10:21:40 UTC (rev 344749)
@@ -1,30 +0,0 @@
-# Maintainer: Maxime Gauduin <alucryd at archlonux.org>
-# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
-# Contributor: Ionut Biru <ibiru at archlinux.org>
-
-pkgname=libva
-pkgver=2.3.0
-pkgrel=1
-pkgdesc='Video Acceleration (VA) API for Linux'
-arch=('x86_64')
-url='https://01.org/linuxmedia/vaapi'
-license=('MIT')
-depends=('libdrm' 'libgl' 'libx11' 'libxext' 'libxfixes' 'wayland')
-makedepends=('git' 'libglvnd' 'mesa' 'meson')
-optdepends=('libva-vdpau-driver: backend for Nvidia and AMD cards'
-            'libva-intel-driver: backend for Intel cards')
-provides=('libva-drm.so' 'libva-glx.so' 'libva-wayland.so' 'libva-x11.so' 'libva.so')
-source=("git+https://github.com/intel/libva.git#tag=${pkgver}")
-sha256sums=('SKIP')
-
-build() {
-  arch-meson libva build
-  ninja -C build
-}
-
-package() {
-  DESTDIR="${pkgdir}" ninja -C build install
-  install -Dm 644 libva/COPYING -t "${pkgdir}"/usr/share/licenses/libva
-}
-
-# vim: ts=2 sw=2 et:

Copied: libva/repos/extra-x86_64/PKGBUILD (from rev 344748, libva/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2019-01-25 10:21:40 UTC (rev 344749)
@@ -0,0 +1,45 @@
+# Maintainer: Maxime Gauduin <alucryd at archlonux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+# Contributor: Ionut Biru <ibiru at archlinux.org>
+
+pkgname=libva
+pkgver=2.3.0
+pkgrel=2
+pkgdesc='Video Acceleration (VA) API for Linux'
+arch=('x86_64')
+url='https://01.org/linuxmedia/vaapi'
+license=('MIT')
+depends=('libdrm' 'libgl' 'libx11' 'libxext' 'libxfixes' 'wayland')
+makedepends=('git' 'libglvnd' 'mesa' 'meson')
+optdepends=('libva-vdpau-driver: backend for Nvidia and AMD cards'
+            'libva-intel-driver: backend for Intel cards')
+provides=('libva-drm.so' 'libva-glx.so' 'libva-wayland.so' 'libva-x11.so' 'libva.so')
+backup=('etc/libva.conf')
+source=("git+https://github.com/intel/libva.git#tag=${pkgver}"
+        257.patch)
+sha256sums=('SKIP'
+            '768a5e7a78fadda4f040097a83fb0dc1411b11fd14346e7041be0a704eca823e')
+
+prepare() {
+  cd libva
+  
+  # https://github.com/intel/intel-vaapi-driver/issues/419
+  patch -Np1 -i ../257.patch
+}
+
+build() {
+  CFLAGS+=" -DENABLE_VA_MESSAGING"  # Option missing
+  arch-meson libva build
+  ninja -C build
+}
+
+package() {
+  DESTDIR="${pkgdir}" meson install -C build
+  install -Dm 644 libva/COPYING -t "${pkgdir}"/usr/share/licenses/libva
+
+  install -Dm 644 /dev/stdin "${pkgdir}"/etc/libva.conf <<END
+LIBVA_MESSAGING_LEVEL=1
+END
+}
+
+# vim: ts=2 sw=2 et:

Deleted: not-finding-wl-drm-interface-with-libglvnd.patch
===================================================================
--- not-finding-wl-drm-interface-with-libglvnd.patch	2019-01-25 10:21:23 UTC (rev 344748)
+++ not-finding-wl-drm-interface-with-libglvnd.patch	2019-01-25 10:21:40 UTC (rev 344749)
@@ -1,48 +0,0 @@
-From b832b37c6a6f7ff69a4ea4656007827a1b7e67e8 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede at redhat.com>
-Date: Wed, 15 Feb 2017 15:18:44 +0100
-Subject: [PATCH] Wayland-drm: Fix not finding wl_drm_interface on systems with
- libglvnd
-
-We do not want just any libEGL.so.1 we want mesa's libEGL.so.1 as that
-is the only way which defines the wl_drm_interface symbol we need,
-one systems with libglvnd libEGL.so.1 is a dispatcher library provided
-by libglvnd and the actual mesa libEGL we want is named libEGL_mesa.so.0
-so try that first.
-
-Signed-off-by: Hans de Goede <hdegoede at redhat.com>
----
- va/wayland/va_wayland_drm.c | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/va/wayland/va_wayland_drm.c b/va/wayland/va_wayland_drm.c
-index 958ea85..2ff19f5 100644
---- a/va/wayland/va_wayland_drm.c
-+++ b/va/wayland/va_wayland_drm.c
-@@ -38,7 +38,10 @@
- #include "wayland-drm-client-protocol.h"
- 
- /* XXX: Wayland/DRM support currently lives in Mesa libEGL.so.* library */
--#define LIBWAYLAND_DRM_NAME "libEGL.so.1"
-+/* First try the soname of a glvnd enabled mesa build */
-+#define LIBWAYLAND_DRM_NAME "libEGL_mesa.so.0"
-+/* Then fallback to plain libEGL.so.1 (which might not be mesa) */
-+#define LIBWAYLAND_DRM_NAME_FALLBACK "libEGL.so.1"
- 
- typedef struct va_wayland_drm_context {
-     struct va_wayland_context   base;
-@@ -207,8 +210,11 @@ va_wayland_drm_create(VADisplayContextP pDisplayContext)
-     vtable->has_prime_sharing = 0;
- 
-     wl_drm_ctx->handle = dlopen(LIBWAYLAND_DRM_NAME, RTLD_LAZY|RTLD_LOCAL);
--    if (!wl_drm_ctx->handle)
--        return false;
-+    if (!wl_drm_ctx->handle) {
-+        wl_drm_ctx->handle = dlopen(LIBWAYLAND_DRM_NAME_FALLBACK, RTLD_LAZY|RTLD_LOCAL);
-+        if (!wl_drm_ctx->handle)
-+            return false;
-+    }
- 
-     wl_drm_ctx->drm_interface =
-         dlsym(wl_drm_ctx->handle, "wl_drm_interface");
-



More information about the arch-commits mailing list