From 514a49365da85d55677e83b4ffdc14862307c088 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aur=C3=A9lien=20Larcher?= Date: Thu, 20 Oct 2016 16:30:22 +0200 Subject: [PATCH] Bump libdrm to 2.4.71 (Ken Mays) --- components/x11/libdrm/Makefile | 8 +++--- components/x11/libdrm/libdrm.p5m | 15 +++++++++++ .../x11/libdrm/manifests/sample-manifest.p5m | 15 +++++++++++ components/x11/libdrm/patches/etnaviv.patch | 13 ++++++++++ components/x11/libdrm/patches/intel-drm.patch | 30 ++++++++++++++++++++++ 5 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 components/x11/libdrm/patches/etnaviv.patch create mode 100644 components/x11/libdrm/patches/intel-drm.patch diff --git a/components/x11/libdrm/Makefile b/components/x11/libdrm/Makefile index 1c4fda24a..bb3a70e4a 100644 --- a/components/x11/libdrm/Makefile +++ b/components/x11/libdrm/Makefile @@ -15,13 +15,13 @@ include ../../../make-rules/shared-macros.mk COMPONENT_NAME= libdrm -COMPONENT_VERSION= 2.4.70 +COMPONENT_VERSION= 2.4.71 COMPONENT_PROJECT_URL= http://dri.freedesktop.org COMPONENT_SUMMARY= Userspace interface to kernel Direct Rendering Module services COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2 COMPONENT_ARCHIVE_HASH= \ - sha256:b17d4b39ed97ca0e4cffa0db06ff609e617bac94646ec38e8e0579d530540e7b + sha256:c66287ddeee5f46ea8f8880b94b80acb3bbc33ba6321d17767eef145046df9b8 COMPONENT_ARCHIVE_URL= http://dri.freedesktop.org/libdrm/$(COMPONENT_ARCHIVE) COMPONENT_FMRI= x11/library/libdrm COMPONENT_CLASSIFICATION = System/X11 @@ -45,13 +45,15 @@ CONFIGURE_OPTIONS+= --enable-cairo-tests CONFIGURE_OPTIONS+= --enable-libkms CONFIGURE_OPTIONS+= --enable-intel CONFIGURE_OPTIONS+= --enable-radeon +CONFIGURE_OPTIONS+= --enable-amdgpu CONFIGURE_OPTIONS+= --disable-nouveau CONFIGURE_OPTIONS+= --enable-omap-experimental-api CONFIGURE_OPTIONS+= --enable-exynos-experimental-api CONFIGURE_OPTIONS+= --enable-freedreno CONFIGURE_OPTIONS+= --enable-freedreno-kgsl CONFIGURE_OPTIONS+= --enable-tegra-experimental-api -CONFIGURE_OPTIONS+= --enable-amdgpu +CONFIGURE_OPTIONS+= --enable-etnaviv-experimental-api +CONFIGURE_OPTIONS+= --enable-vc4 CONFIGURE_ENV+= CPPFLAGS="$(CPPFLAGS)" CONFIGURE_ENV+= MISC_MAN_SUFFIX=7 diff --git a/components/x11/libdrm/libdrm.p5m b/components/x11/libdrm/libdrm.p5m index 28d89020e..776aa9baf 100644 --- a/components/x11/libdrm/libdrm.p5m +++ b/components/x11/libdrm/libdrm.p5m @@ -34,6 +34,7 @@ file path=usr/include/libdrm/drm.h file path=usr/include/libdrm/drm_fourcc.h file path=usr/include/libdrm/drm_mode.h file path=usr/include/libdrm/drm_sarea.h +file path=usr/include/libdrm/etnaviv_drmif.h file path=usr/include/libdrm/exynos_drmif.h file path=usr/include/libdrm/i915_drm.h file path=usr/include/libdrm/intel_aub.h @@ -59,6 +60,8 @@ file path=usr/include/libdrm/sis_drm.h file path=usr/include/libdrm/tegra.h file path=usr/include/libdrm/tegra_drm.h file path=usr/include/libdrm/vc4_drm.h +file path=usr/include/libdrm/vc4_packet.h +file path=usr/include/libdrm/vc4_qpu_defines.h file path=usr/include/libdrm/via_drm.h file path=usr/include/libdrm/virtgpu_drm.h file path=usr/include/libdrm/vmwgfx_drm.h @@ -68,21 +71,25 @@ file path=usr/include/xf86drm.h file path=usr/include/xf86drmMode.h file path=usr/lib/$(MACH64)/pkgconfig/libdrm.pc file path=usr/lib/$(MACH64)/pkgconfig/libdrm_amdgpu.pc +file path=usr/lib/$(MACH64)/pkgconfig/libdrm_etnaviv.pc file path=usr/lib/$(MACH64)/pkgconfig/libdrm_exynos.pc file path=usr/lib/$(MACH64)/pkgconfig/libdrm_freedreno.pc file path=usr/lib/$(MACH64)/pkgconfig/libdrm_intel.pc file path=usr/lib/$(MACH64)/pkgconfig/libdrm_omap.pc file path=usr/lib/$(MACH64)/pkgconfig/libdrm_radeon.pc file path=usr/lib/$(MACH64)/pkgconfig/libdrm_tegra.pc +file path=usr/lib/$(MACH64)/pkgconfig/libdrm_vc4.pc file path=usr/lib/$(MACH64)/pkgconfig/libkms.pc file path=usr/lib/pkgconfig/libdrm.pc file path=usr/lib/pkgconfig/libdrm_amdgpu.pc +file path=usr/lib/pkgconfig/libdrm_etnaviv.pc file path=usr/lib/pkgconfig/libdrm_exynos.pc file path=usr/lib/pkgconfig/libdrm_freedreno.pc file path=usr/lib/pkgconfig/libdrm_intel.pc file path=usr/lib/pkgconfig/libdrm_omap.pc file path=usr/lib/pkgconfig/libdrm_radeon.pc file path=usr/lib/pkgconfig/libdrm_tegra.pc +file path=usr/lib/pkgconfig/libdrm_vc4.pc file path=usr/lib/pkgconfig/libkms.pc link path=usr/lib/xorg/$(MACH64)/libdrm.so target=libdrm.so.2.4.0 link path=usr/lib/xorg/$(MACH64)/libdrm.so.2 target=libdrm.so.2.4.0 @@ -91,6 +98,11 @@ link path=usr/lib/xorg/$(MACH64)/libdrm_amdgpu.so target=libdrm_amdgpu.so.1.0.0 link path=usr/lib/xorg/$(MACH64)/libdrm_amdgpu.so.1 \ target=libdrm_amdgpu.so.1.0.0 file path=usr/lib/xorg/$(MACH64)/libdrm_amdgpu.so.1.0.0 +link path=usr/lib/xorg/$(MACH64)/libdrm_etnaviv.so \ + target=libdrm_etnaviv.so.1.0.0 +link path=usr/lib/xorg/$(MACH64)/libdrm_etnaviv.so.1 \ + target=libdrm_etnaviv.so.1.0.0 +file path=usr/lib/xorg/$(MACH64)/libdrm_etnaviv.so.1.0.0 link path=usr/lib/xorg/$(MACH64)/libdrm_exynos.so target=libdrm_exynos.so.1.0.0 link path=usr/lib/xorg/$(MACH64)/libdrm_exynos.so.1 \ target=libdrm_exynos.so.1.0.0 @@ -122,6 +134,9 @@ file path=usr/lib/xorg/libdrm.so.2.4.0 link path=usr/lib/xorg/libdrm_amdgpu.so target=libdrm_amdgpu.so.1.0.0 link path=usr/lib/xorg/libdrm_amdgpu.so.1 target=libdrm_amdgpu.so.1.0.0 file path=usr/lib/xorg/libdrm_amdgpu.so.1.0.0 +link path=usr/lib/xorg/libdrm_etnaviv.so target=libdrm_etnaviv.so.1.0.0 +link path=usr/lib/xorg/libdrm_etnaviv.so.1 target=libdrm_etnaviv.so.1.0.0 +file path=usr/lib/xorg/libdrm_etnaviv.so.1.0.0 link path=usr/lib/xorg/libdrm_exynos.so target=libdrm_exynos.so.1.0.0 link path=usr/lib/xorg/libdrm_exynos.so.1 target=libdrm_exynos.so.1.0.0 file path=usr/lib/xorg/libdrm_exynos.so.1.0.0 diff --git a/components/x11/libdrm/manifests/sample-manifest.p5m b/components/x11/libdrm/manifests/sample-manifest.p5m index 25caa50d6..98075d7e9 100644 --- a/components/x11/libdrm/manifests/sample-manifest.p5m +++ b/components/x11/libdrm/manifests/sample-manifest.p5m @@ -32,6 +32,7 @@ file path=usr/include/libdrm/drm.h file path=usr/include/libdrm/drm_fourcc.h file path=usr/include/libdrm/drm_mode.h file path=usr/include/libdrm/drm_sarea.h +file path=usr/include/libdrm/etnaviv_drmif.h file path=usr/include/libdrm/exynos_drmif.h file path=usr/include/libdrm/i915_drm.h file path=usr/include/libdrm/intel_aub.h @@ -57,6 +58,8 @@ file path=usr/include/libdrm/sis_drm.h file path=usr/include/libdrm/tegra.h file path=usr/include/libdrm/tegra_drm.h file path=usr/include/libdrm/vc4_drm.h +file path=usr/include/libdrm/vc4_packet.h +file path=usr/include/libdrm/vc4_qpu_defines.h file path=usr/include/libdrm/via_drm.h file path=usr/include/libdrm/virtgpu_drm.h file path=usr/include/libdrm/vmwgfx_drm.h @@ -71,6 +74,11 @@ link path=usr/lib/xorg/$(MACH64)/libdrm_amdgpu.so target=libdrm_amdgpu.so.1.0.0 link path=usr/lib/xorg/$(MACH64)/libdrm_amdgpu.so.1 \ target=libdrm_amdgpu.so.1.0.0 file path=usr/lib/xorg/$(MACH64)/libdrm_amdgpu.so.1.0.0 +link path=usr/lib/xorg/$(MACH64)/libdrm_etnaviv.so \ + target=libdrm_etnaviv.so.1.0.0 +link path=usr/lib/xorg/$(MACH64)/libdrm_etnaviv.so.1 \ + target=libdrm_etnaviv.so.1.0.0 +file path=usr/lib/xorg/$(MACH64)/libdrm_etnaviv.so.1.0.0 link path=usr/lib/xorg/$(MACH64)/libdrm_exynos.so target=libdrm_exynos.so.1.0.0 link path=usr/lib/xorg/$(MACH64)/libdrm_exynos.so.1 \ target=libdrm_exynos.so.1.0.0 @@ -98,12 +106,14 @@ link path=usr/lib/xorg/$(MACH64)/libkms.so.1 target=libkms.so.1.0.0 file path=usr/lib/xorg/$(MACH64)/libkms.so.1.0.0 file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_amdgpu.pc +file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_etnaviv.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_exynos.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_freedreno.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_intel.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_omap.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_radeon.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_tegra.pc +file path=usr/lib/xorg/$(MACH64)/pkgconfig/libdrm_vc4.pc file path=usr/lib/xorg/$(MACH64)/pkgconfig/libkms.pc link path=usr/lib/xorg/libdrm.so target=libdrm.so.2.4.0 link path=usr/lib/xorg/libdrm.so.2 target=libdrm.so.2.4.0 @@ -111,6 +121,9 @@ file path=usr/lib/xorg/libdrm.so.2.4.0 link path=usr/lib/xorg/libdrm_amdgpu.so target=libdrm_amdgpu.so.1.0.0 link path=usr/lib/xorg/libdrm_amdgpu.so.1 target=libdrm_amdgpu.so.1.0.0 file path=usr/lib/xorg/libdrm_amdgpu.so.1.0.0 +link path=usr/lib/xorg/libdrm_etnaviv.so target=libdrm_etnaviv.so.1.0.0 +link path=usr/lib/xorg/libdrm_etnaviv.so.1 target=libdrm_etnaviv.so.1.0.0 +file path=usr/lib/xorg/libdrm_etnaviv.so.1.0.0 link path=usr/lib/xorg/libdrm_exynos.so target=libdrm_exynos.so.1.0.0 link path=usr/lib/xorg/libdrm_exynos.so.1 target=libdrm_exynos.so.1.0.0 file path=usr/lib/xorg/libdrm_exynos.so.1.0.0 @@ -134,12 +147,14 @@ link path=usr/lib/xorg/libkms.so.1 target=libkms.so.1.0.0 file path=usr/lib/xorg/libkms.so.1.0.0 file path=usr/lib/xorg/pkgconfig/libdrm.pc file path=usr/lib/xorg/pkgconfig/libdrm_amdgpu.pc +file path=usr/lib/xorg/pkgconfig/libdrm_etnaviv.pc file path=usr/lib/xorg/pkgconfig/libdrm_exynos.pc file path=usr/lib/xorg/pkgconfig/libdrm_freedreno.pc file path=usr/lib/xorg/pkgconfig/libdrm_intel.pc file path=usr/lib/xorg/pkgconfig/libdrm_omap.pc file path=usr/lib/xorg/pkgconfig/libdrm_radeon.pc file path=usr/lib/xorg/pkgconfig/libdrm_tegra.pc +file path=usr/lib/xorg/pkgconfig/libdrm_vc4.pc file path=usr/lib/xorg/pkgconfig/libkms.pc file path=usr/share/man/man3/drmAvailable.3 file path=usr/share/man/man3/drmHandleEvent.3 diff --git a/components/x11/libdrm/patches/etnaviv.patch b/components/x11/libdrm/patches/etnaviv.patch new file mode 100644 index 000000000..397f500ab --- /dev/null +++ b/components/x11/libdrm/patches/etnaviv.patch @@ -0,0 +1,13 @@ +--- libdrm-2.4.71/etnaviv/etnaviv_device.c.old 2016-10-18 23:11:06.163832408 +0300 ++++ libdrm-2.4.71/etnaviv/etnaviv_device.c 2016-10-18 23:12:18.805796392 +0300 +@@ -29,8 +29,8 @@ + #endif + + #include +-#include +-#include ++#include ++#include + #include + #include + #include diff --git a/components/x11/libdrm/patches/intel-drm.patch b/components/x11/libdrm/patches/intel-drm.patch new file mode 100644 index 000000000..be07ed14e --- /dev/null +++ b/components/x11/libdrm/patches/intel-drm.patch @@ -0,0 +1,30 @@ +diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c +index 0a4012b..cb463be 100644 +--- a/intel/intel_bufmgr_gem.c ++++ b/intel/intel_bufmgr_gem.c +@@ -3268,13 +3268,24 @@ drm_intel_bufmgr_gem_set_aub_annotations(drm_intel_bo *bo, + static pthread_mutex_t bufmgr_list_mutex = PTHREAD_MUTEX_INITIALIZER; + static drmMMListHead bufmgr_list = { &bufmgr_list, &bufmgr_list }; + ++static int ++compare_file_descriptor(int fd1, int fd2) { ++ struct stat stat1, stat2; ++ if (fstat (fd1, &stat1) < 0) ++ return -1; ++ if (fstat (fd2, &stat2) < 0) ++ return -1; ++ return (stat1.st_dev == stat2.st_dev) && (stat1.st_ino == stat2.st_ino); ++} ++ + static drm_intel_bufmgr_gem * + drm_intel_bufmgr_gem_find(int fd) + { + drm_intel_bufmgr_gem *bufmgr_gem; + + DRMLISTFOREACHENTRY(bufmgr_gem, &bufmgr_list, managers) { +- if (bufmgr_gem->fd == fd) { ++ if (bufmgr_gem->fd == fd || ++ compare_file_descriptor (bufmgr_gem->fd, fd)) { + atomic_inc(&bufmgr_gem->refcount); + return bufmgr_gem; + } -- 2.11.4.GIT