.gitignore | 5 Makefile.am | 34 + Makefile.sources | 1 autogen.sh | 16 configure.ac | 139 +++- debian/changelog | 36 + debian/control | 33 + debian/libdrm-exynos1.symbols | 1 debian/libdrm-intel1.symbols | 2 debian/libdrm-tegra0.install | 1 debian/libdrm-tegra0.symbols | 15 debian/libdrm2.symbols | 7 debian/patches/Fix-headers-inclusion-in-xf86drmMode.c.diff | 42 + debian/patches/series | 1 debian/rules | 19 debian/source/local-options | 1 debian/upstream/signing-key.asc | 30 + debian/watch | 1 exynos/Makefile.am | 3 exynos/exynos_drm.c | 19 exynos/exynos_drm.h | 40 - exynos/exynos_fimg2d.c | 253 ++++++-- exynos/exynos_fimg2d.h | 328 +++++++++++ exynos/fimg2d.h | 325 ----------- exynos/fimg2d_reg.h | 2 freedreno/Android.mk | 3 freedreno/Makefile.am | 3 freedreno/Makefile.sources | 16 freedreno/freedreno_bo.c | 7 freedreno/freedreno_device.c | 10 include/drm/drm_mode.h | 20 include/drm/i915_drm.h | 2 include/drm/tegra_drm.h | 200 +++++++ intel/Android.mk | 2 intel/intel_bufmgr.h | 3 intel/intel_bufmgr_gem.c | 129 ++-- intel/intel_chipset.h | 43 + intel/intel_decode.c | 4 intel/test_decode.c | 5 libdrm.h | 2 libkms/exynos.c | 7 nouveau/Android.mk | 3 nouveau/bufctx.c | 6 nouveau/nouveau.c | 117 +--- radeon/Android.mk | 3 radeon/radeon_surface.c | 6 tegra/.gitignore | 1 tegra/Makefile.am | 23 tegra/libdrm_tegra.pc.in | 11 tegra/private.h | 51 + tegra/tegra.c | 345 ++++++++++++ tegra/tegra.h | 60 ++ tests/Makefile.am | 58 -- tests/auth.c | 1 tests/dristat.c | 7 tests/drmstat.c | 2 tests/exynos/Makefile.am | 1 tests/exynos/exynos_fimg2d_test.c | 187 +++++- tests/gem_basic.c | 102 --- tests/gem_flink.c | 137 ---- tests/gem_mmap.c | 136 ---- tests/gem_readwrite.c | 139 ---- tests/getclient.c | 1 tests/getstats.c | 3 tests/kmstest/Makefile.am | 1 tests/kmstest/main.c | 5 tests/lock.c | 1 tests/modeprint/Makefile.am | 1 tests/modeprint/modeprint.c | 18 tests/modetest/Android.mk | 2 tests/modetest/Makefile.am | 3 tests/modetest/buffers.c | 219 ++++++- tests/modetest/buffers.h | 6 tests/modetest/cursor.c | 57 + tests/modetest/modetest.c | 88 +-- tests/name_from_fd.c | 4 tests/nouveau/.gitignore | 1 tests/nouveau/Makefile.am | 16 tests/nouveau/threaded.c | 156 +++++ tests/proptest/Makefile.am | 12 tests/proptest/proptest.c | 343 ++++++++++++ tests/radeon/Makefile.am | 1 tests/radeon/list.h | 12 tests/radeon/radeon_ttm.c | 4 tests/setversion.c | 1 tests/tegra/.gitignore | 1 tests/tegra/Makefile.am | 13 tests/tegra/openclose.c | 71 ++ tests/updatedraw.c | 3 tests/vbltest/Makefile.am | 2 tests/vbltest/vbltest.c | 5 xf86atomic.h | 19 xf86drm.c | 371 ++++++++++--- xf86drm.h | 16 xf86drmMode.c | 59 +- xf86drmMode.h | 9 xf86drmRandom.c | 12 97 files changed, 3287 insertions(+), 1455 deletions(-)
New commits: commit 633d29d9408b83cd8e533461c3370f51ee754cca Author: Julien Cristau <jcris...@debian.org> Date: Sun Apr 26 12:25:01 2015 +0200 Upload to unstable diff --git a/debian/changelog b/debian/changelog index 13207b9..1f1dd68 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -libdrm (2.4.60-3) UNRELEASED; urgency=medium +libdrm (2.4.60-3) unstable; urgency=medium [ Timo Aaltonen ] * control: Add a typo in libdrm-tegra0 description. @@ -11,7 +11,7 @@ libdrm (2.4.60-3) UNRELEASED; urgency=medium * Add missing dependency of libdrm-dev on libdrm-tegra0 on arm*. * Let uscan verify tarball signatures. - -- Timo Aaltonen <tjaal...@debian.org> Tue, 21 Apr 2015 08:08:08 +0300 + -- Julien Cristau <jcris...@debian.org> Sun, 26 Apr 2015 12:21:30 +0200 libdrm (2.4.60-2) experimental; urgency=medium commit bb656b9552bc73550d6882eccb62c62a89bb8b54 Author: Julien Cristau <jcris...@debian.org> Date: Sun Apr 26 12:21:22 2015 +0200 Let uscan verify tarball signatures. diff --git a/debian/changelog b/debian/changelog index 828c723..13207b9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ libdrm (2.4.60-3) UNRELEASED; urgency=medium cflags redirect that to bsd_getopt). * Bump shlibs for libraries with new symbols. * Add missing dependency of libdrm-dev on libdrm-tegra0 on arm*. + * Let uscan verify tarball signatures. -- Timo Aaltonen <tjaal...@debian.org> Tue, 21 Apr 2015 08:08:08 +0300 diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc new file mode 100644 index 0000000..2909249 --- /dev/null +++ b/debian/upstream/signing-key.asc @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQENBFUK4qoBCADjur55fFRfBzQh+TBNwTDGU7o+9E8r5xQJ8wK2MK4W4lmaGdBm +ctuwF+pnOsyAdtJPUzZ4LVCwfcdvd2+efRtVtDxtN2/NMwO3AOnGY1px7ln7RENu ++/j2iesdIh/524+yCt4Nck8YRB4lYiVn6mqcnuLjhoZRia598JTx63gakiBTl+sS +5eWBxe1+RfSMouZeUwOji0fAJCXHsy7FeMegkGmrLKHo1lm+ollSYypcAaJQF38L +Z9HdKN2YlmvY/xe03HFwFV3Bnq/HuRuSNSxNsXn4wuMjMS3WAICNbDCaKZDggyHQ +Qw9y8EyJBAu5742AlqwxhK90TNiS04NfBz63ABEBAAG0KURhbWllbiBMZXNwaWF1 +IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+iQE4BBMBAgAiBQJVCuKqAhsDBgsJ +CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB8A9d5e24a4iYqB/sF6ubVXfb21gnN +x7porgRqBHP38nvpONz457xBVmVRjCvE+3B/Rfg4OF/Lpk7hpithm/Yxf+a73KyV +eMImNjYSZjI//ajTkowM51FHxrwwJKmDEENEjF65JkStRGgVZC85GWR5hArismbp +qDK2TIOb//JRzBG+GuzhGXUUyIVRq8cYtQnrForB4AxDhupKdgyum0Qd+s3K8CND +ZCRNyuyNi/QtaSxQVdcVVwg4gioNreUOgWL2Mhvsbv1//Mgu5WlEHRh1gnnfIxx9 +QKWB/UqMeHl8TmO2eASBIaXj5j7JW1/E9wnWEl9S6JqhXMM2kohx80fe0WKoPkYi +XwHyiuLuuQENBFUK4qoBCACkFIajUNXupVTMJ22wNgyciQflWRqnFXMJDCHORxLg +8siuGcnq+NQtxqopcgJUpWdjCIqQYhlcUPYLih2EjqXGC8SZ11aWIwhI6fmNL4Cp +mnHT2+eDAToFBa61FGq7cX8nOP6xmpP9qkm5ssh9WLBMMvPP6YdGLFF2Co3YDxRT +ZOckXEnDZbsDMP2ww7HNwFtQ+rOxS6F9WD8v1I0y9VAXOOcFbtMFk+OlmDEk2Caf +7VYGhqi+dSzHLjIQidHxXXYPJuDdAUovqrI3KBi5n7Ce+jvYWkOlYLFehuN3FtqT +eFPh/fIEUDO/Yq1j1QQ9jIGbS7YIOBZOVXhCfY05bLj7ABEBAAGJAR8EGAECAAkF +AlUK4qoCGwwACgkQfAPXeXtuGuIyjwgAuygXPDL6T5g9OHv7KFjUlx0TiOVZJ5L9 +6/tpXuthZRXVsjfNXX+QOt9UfE8jbQHoL0M0boZK1WORxAJGVkM9xAOL4953CG8M +7oYYbqGyytaS3WSrWrh8N39fIEVLEB7KTrdkXg3NK6ifzqqN3O1ZtKgW6pyTak8V +oUcFCl7L/hCoMtMQ5NB5ZyHL3uWkJvPrIo9HEqjstanrCuLOMfVUHvYc4BUJ/xxE +rqioCg9cFWfg7fz/Zd5zawGxsrDaf+aLz5nC9k0ZlHO+pr6ble4RimjUTkcKeYWC +Tn3/2yC6tAdk4vsMhKznlLTI4ZQnW/7rUVUBV2H2jI0XPWVr7gV0WQ== +=lale +-----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/watch b/debian/watch index b2a1765..754b4b0 100644 --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,4 @@ #git=git://anongit.freedesktop.org/mesa/drm version=3 +opts=pgpsigurlmangle=s/$/.sig/ \ http://dri.freedesktop.org/libdrm/libdrm-(.*)\.tar\.gz commit 80481e6c8b3a94f416ccd945da90b18ae07aef04 Author: Julien Cristau <jcris...@debian.org> Date: Sun Apr 26 12:14:01 2015 +0200 Add missing dependency of libdrm-dev on libdrm-tegra0 on arm*. diff --git a/debian/changelog b/debian/changelog index 3c2067a..828c723 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ libdrm (2.4.60-3) UNRELEASED; urgency=medium -lbsd to make the tests build (they use getopt, and our libbsd-overlay cflags redirect that to bsd_getopt). * Bump shlibs for libraries with new symbols. + * Add missing dependency of libdrm-dev on libdrm-tegra0 on arm*. -- Timo Aaltonen <tjaal...@debian.org> Tue, 21 Apr 2015 08:08:08 +0300 diff --git a/debian/control b/debian/control index aba1715..9bdb97f 100644 --- a/debian/control +++ b/debian/control @@ -30,6 +30,7 @@ Depends: libdrm-omap1 (= ${binary:Version}) [any-arm], libdrm-freedreno1 (= ${binary:Version}) [any-arm], libdrm-exynos1 (= ${binary:Version}) [any-arm], + libdrm-tegra0 (= ${binary:Version}) [any-arm], ${misc:Depends}, Multi-Arch: same Replaces: commit 4f095a70b37a7917cf250cc7fc46e908e38b7bca Author: Julien Cristau <jcris...@debian.org> Date: Sun Apr 26 12:07:46 2015 +0200 Bump shlibs for libraries with new symbols. diff --git a/debian/changelog b/debian/changelog index 8aea9e2..3c2067a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ libdrm (2.4.60-3) UNRELEASED; urgency=medium * Fix FTBFS on kfreebsd: include <sys/sysctl.h> for sysctlbyname, and use -lbsd to make the tests build (they use getopt, and our libbsd-overlay cflags redirect that to bsd_getopt). + * Bump shlibs for libraries with new symbols. -- Timo Aaltonen <tjaal...@debian.org> Tue, 21 Apr 2015 08:08:08 +0300 diff --git a/debian/rules b/debian/rules index 00d1e7a..96301a6 100755 --- a/debian/rules +++ b/debian/rules @@ -92,9 +92,9 @@ endif dh_strip -s --remaining-packages override_dh_makeshlibs: - dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.46)' --add-udeb=libdrm2-udeb -- -c4 + dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.60)' --add-udeb=libdrm2-udeb -- -c4 ifeq ($(INTEL), yes) - dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.57)' -- -c4 + dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.60)' -- -c4 endif ifeq ($(NOUVEAU), yes) dh_makeshlibs -plibdrm-nouveau2 -V'libdrm-nouveau2 (>= 2.4.38)' -- -c4 @@ -103,7 +103,7 @@ endif ifeq ($(ARM), yes) dh_makeshlibs -plibdrm-omap1 -V'libdrm-omap1 (>= 2.4.38)' -- -c4 dh_makeshlibs -plibdrm-freedreno1 -V'libdrm-freedreno1 (>= 2.4.57)' -- -c4 - dh_makeshlibs -plibdrm-exynos1 -V'libdrm-exynos1' -- -c4 + dh_makeshlibs -plibdrm-exynos1 -V'libdrm-exynos1 (>= 2.4.60)' -- -c4 dh_makeshlibs -plibdrm-tegra0 -V'libdrm-tegra0' -- -c4 endif commit 4a51ac0e6cc097fe26e87087e5dfe846bc2b7591 Author: Julien Cristau <jcris...@debian.org> Date: Sun Apr 26 11:55:42 2015 +0200 Fix FTBFS on kfreebsd Include <sys/sysctl.h> for sysctlbyname, and use -lbsd to make the tests build (they use getopt, and our libbsd-overlay cflags redirect that to bsd_getopt). diff --git a/debian/changelog b/debian/changelog index f4a428f..8aea9e2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,13 @@ libdrm (2.4.60-3) UNRELEASED; urgency=medium + [ Timo Aaltonen ] * control: Add a typo in libdrm-tegra0 description. + [ Julien Cristau ] + * Fix FTBFS on kfreebsd: include <sys/sysctl.h> for sysctlbyname, and use + -lbsd to make the tests build (they use getopt, and our libbsd-overlay + cflags redirect that to bsd_getopt). + -- Timo Aaltonen <tjaal...@debian.org> Tue, 21 Apr 2015 08:08:08 +0300 libdrm (2.4.60-2) experimental; urgency=medium diff --git a/debian/patches/Fix-headers-inclusion-in-xf86drmMode.c.diff b/debian/patches/Fix-headers-inclusion-in-xf86drmMode.c.diff new file mode 100644 index 0000000..c87d661 --- /dev/null +++ b/debian/patches/Fix-headers-inclusion-in-xf86drmMode.c.diff @@ -0,0 +1,42 @@ +From bc2b38f97b0cb398e99a7562ee6f3ae8cfbde73f Mon Sep 17 00:00:00 2001 +From: Julien Cristau <jcris...@debian.org> +Date: Sun, 26 Apr 2015 11:53:02 +0200 +Subject: [PATCH] Fix headers inclusion in xf86drmMode.c + +- config.h needs to be included first +- add sys/sysctl.h to get sysctlbyname declaration on kFreeBSD +--- + xf86drmMode.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/xf86drmMode.c b/xf86drmMode.c +index 61d5e01..de37548 100644 +--- a/xf86drmMode.c ++++ b/xf86drmMode.c +@@ -32,6 +32,9 @@ + * IN THE SOFTWARE. + * + */ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif + + /* + * TODO the types we are after are defined in diffrent headers on diffrent +@@ -39,12 +42,9 @@ + */ + #include <stdint.h> + #include <sys/ioctl.h> ++#include <sys/sysctl.h> + #include <stdio.h> + +-#ifdef HAVE_CONFIG_H +-#include "config.h" +-#endif +- + #include "xf86drmMode.h" + #include "xf86drm.h" + #include <drm.h> +-- +2.1.4 + diff --git a/debian/patches/series b/debian/patches/series index 8ca2297..c947b3c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ +Fix-headers-inclusion-in-xf86drmMode.c.diff 01_default_perms.diff diff --git a/debian/rules b/debian/rules index ef260b9..00d1e7a 100755 --- a/debian/rules +++ b/debian/rules @@ -26,6 +26,7 @@ else NOUVEAU = no # kfreebsd mangles freebsd's sys/types.h confflags += CFLAGS="$(shell pkg-config --cflags libbsd-overlay)" + confflags += LDFLAGS="$(shell pkg-config --libs libbsd-overlay)" endif # Intel is only on x86: commit b7cb83801c91a64950f27dd6f80f209969419b9e Author: Timo Aaltonen <tjaal...@debian.org> Date: Tue Apr 21 08:08:58 2015 +0300 changelog for previous diff --git a/debian/changelog b/debian/changelog index 02797f3..f4a428f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libdrm (2.4.60-3) UNRELEASED; urgency=medium + + * control: Add a typo in libdrm-tegra0 description. + + -- Timo Aaltonen <tjaal...@debian.org> Tue, 21 Apr 2015 08:08:08 +0300 + libdrm (2.4.60-2) experimental; urgency=medium [ Maarten Lankhorst ] commit 0c6c6dc7c420384ffa03d8e1c245258c25ec09a2 Author: Timo Aaltonen <tjaal...@debian.org> Date: Tue Apr 21 07:56:29 2015 +0300 fix a typo diff --git a/debian/control b/debian/control index a311726..aba1715 100644 --- a/debian/control +++ b/debian/control @@ -285,7 +285,7 @@ Depends: ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Description: Userspace interface to exynos-specific kernel DRM services -- runtime +Description: Userspace interface to tegra-specific kernel DRM services -- runtime This library implements the userspace interface to the kernel DRM services. DRM stands for "Direct Rendering Manager", which is the kernelspace portion of the "Direct Rendering Infrastructure" (DRI). commit 621b14add0723d7c54a6ddca9f6d9fad36b56eeb Author: Timo Aaltonen <tjaal...@debian.org> Date: Wed Apr 8 09:21:30 2015 +0300 release to experimental diff --git a/debian/changelog b/debian/changelog index d534449..02797f3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ -libdrm (2.4.60-2) UNRELEASED; urgency=medium +libdrm (2.4.60-2) experimental; urgency=medium + [ Maarten Lankhorst ] * Fix ftbfs on armhf. - -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Sat, 21 Mar 2015 19:13:25 +0100 + -- Timo Aaltonen <tjaal...@debian.org> Wed, 08 Apr 2015 09:21:00 +0300 libdrm (2.4.60-1) experimental; urgency=medium commit 3d3021cf4c7e5861e5630079c9bcfa5ca133924d Author: Maarten Lankhorst <d...@mblankhorst.nl> Date: Sat Mar 21 19:13:57 2015 +0100 Fix ftbfs on armhf. diff --git a/debian/changelog b/debian/changelog index bf0f03a..d534449 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libdrm (2.4.60-2) UNRELEASED; urgency=medium + + * Fix ftbfs on armhf. + + -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Sat, 21 Mar 2015 19:13:25 +0100 + libdrm (2.4.60-1) experimental; urgency=medium * New upstream release. diff --git a/debian/libdrm-exynos1.symbols b/debian/libdrm-exynos1.symbols index 445f2b4..46b445b 100644 --- a/debian/libdrm-exynos1.symbols +++ b/debian/libdrm-exynos1.symbols @@ -17,4 +17,5 @@ libdrm_exynos.so.1 libdrm-exynos1 #MINVER# g2d_exec@Base 0 g2d_fini@Base 0 g2d_init@Base 0 + g2d_scale_and_blend@Base 2.4.60 g2d_solid_fill@Base 0 commit 207a19aa533c96a79063619843df3583b3b2602b Author: Timo Aaltonen <tjaal...@debian.org> Date: Fri Mar 20 10:24:22 2015 +0200 release to experimental diff --git a/debian/changelog b/debian/changelog index 4a1fb28..bf0f03a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -libdrm (2.4.60-1) UNRELEASED; urgency=medium +libdrm (2.4.60-1) experimental; urgency=medium * New upstream release. * libdrm-intel1.symbols, libdrm2.symbols: Updated. - -- Timo Aaltonen <tjaal...@debian.org> Fri, 20 Mar 2015 08:26:01 +0200 + -- Timo Aaltonen <tjaal...@debian.org> Fri, 20 Mar 2015 09:07:11 +0200 libdrm (2.4.59-1) experimental; urgency=medium commit d18f0e87a9f50b4048f05d8bc93cb7f828c20759 Author: Timo Aaltonen <tjaal...@debian.org> Date: Fri Mar 20 09:06:52 2015 +0200 New upstream, symbols updated diff --git a/debian/changelog b/debian/changelog index d529a03..4a1fb28 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +libdrm (2.4.60-1) UNRELEASED; urgency=medium + + * New upstream release. + * libdrm-intel1.symbols, libdrm2.symbols: Updated. + + -- Timo Aaltonen <tjaal...@debian.org> Fri, 20 Mar 2015 08:26:01 +0200 + libdrm (2.4.59-1) experimental; urgency=medium * New upstream release. diff --git a/debian/libdrm-intel1.symbols b/debian/libdrm-intel1.symbols index 5f07bbf..1ab116d 100644 --- a/debian/libdrm-intel1.symbols +++ b/debian/libdrm-intel1.symbols @@ -65,6 +65,8 @@ libdrm_intel.so.1 libdrm-intel1 #MINVER# drm_intel_gem_context_create@Base 2.4.37 drm_intel_gem_context_destroy@Base 2.4.37 drm_intel_get_aperture_sizes@Base 2.4.26 + drm_intel_get_eu_total@Base 2.4.60 drm_intel_get_pipe_from_crtc_id@Base 2.4.11 drm_intel_get_reset_stats@Base 2.4.48 + drm_intel_get_subslice_total@Base 2.4.60 drm_intel_reg_read@Base 2.4.38 diff --git a/debian/libdrm2.symbols b/debian/libdrm2.symbols index 5c63454..cdd3b28 100644 --- a/debian/libdrm2.symbols +++ b/debian/libdrm2.symbols @@ -19,7 +19,6 @@ libdrm.so.2 libdrm2 #MINVER# drmAgpVendorId@Base 2.3.1 drmAgpVersionMajor@Base 2.3.1 drmAgpVersionMinor@Base 2.3.1 - drmAllocCpy@Base 2.4.3 drmAuthMagic@Base 2.3.1 drmAvailable@Base 2.3.1 drmCheckModesettingSupported@Base 2.4.3 @@ -60,6 +59,9 @@ libdrm.so.2 libdrm2 #MINVER# drmGetLock@Base 2.3.1 drmGetMagic@Base 2.3.1 drmGetMap@Base 2.3.1 + drmGetNodeTypeFromFd@Base 2.4.60 + drmGetPrimaryDeviceNameFromFd@Base 2.4.60 + drmGetRenderDeviceNameFromFd@Base 2.4.60 drmGetReservedContextList@Base 2.3.1 drmGetStats@Base 2.3.1 drmGetVersion@Base 2.3.1 @@ -117,6 +119,9 @@ libdrm.so.2 libdrm2 #MINVER# drmOpen@Base 2.3.1 drmOpenControl@Base 2.4.3 drmOpenOnce@Base 2.3.1 + drmOpenOnceWithType@Base 2.4.60 + drmOpenRender@Base 2.4.60 + drmOpenWithType@Base 2.4.60 drmPrimeFDToHandle@Base 2.4.38 drmPrimeHandleToFD@Base 2.4.38 drmRandom@Base 2.3.1 commit 5f7b6723e1bed755c230817eea0563bab5b2a8a7 Author: Damien Lespiau <damien.lesp...@intel.com> Date: Thu Mar 19 14:36:56 2015 +0000 build: Bump version number to 2.4.60 before release Signed-off-by: Damien Lespiau <damien.lesp...@intel.com> diff --git a/configure.ac b/configure.ac index 6e45fa8..155d577 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_PREREQ([2.63]) AC_INIT([libdrm], - [2.4.59], + [2.4.60], [https://bugs.freedesktop.org/enter_bug.cgi?product=DRI], [libdrm]) commit d556e068a7e4e9dfb57514244ae5f3e0eb9d0b39 Author: Jeff McGee <jeff.mc...@intel.com> Date: Mon Mar 9 16:13:03 2015 -0700 intel: Export total subslice and EU counts Update kernel interface with new I915_GETPARAM ioctl entries for subslice total and EU total. Add a wrapping function for each parameter. Userspace drivers need these values when constructing GPGPU commands. This kernel query method is intended to replace the PCI ID-based tables that userspace drivers currently maintain. The kernel driver can employ fuse register reads as needed to ensure the most accurate determination of GT config attributes. This first became important with Cherryview in which the config could differ between devices with the same PCI ID. The kernel detection of these values is device-specific. Userspace drivers should continue to maintain ID-based tables for older devices which return ENODEV when using this query. v2: remove unnecessary include of <stdbool.h> and increment the I915_GETPARAM indices to match updated kernel patch. For: VIZ-4636 Reviewed-by: Damien Lespiau <damien.lesp...@intel.com> Signed-off-by: Jeff McGee <jeff.mc...@intel.com> Signed-off-by: Damien Lespiau <damien.lesp...@intel.com> diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index 15dd01d..b037e56 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h @@ -340,6 +340,8 @@ typedef struct drm_i915_irq_wait { #define I915_PARAM_HAS_EXEC_HANDLE_LUT 26 #define I915_PARAM_HAS_WT 27 #define I915_PARAM_CMD_PARSER_VERSION 28 +#define I915_PARAM_SUBSLICE_TOTAL 33 +#define I915_PARAM_EU_TOTAL 34 typedef struct drm_i915_getparam { int param; diff --git a/intel/intel_bufmgr.h b/intel/intel_bufmgr.h index be83a56..285919e 100644 --- a/intel/intel_bufmgr.h +++ b/intel/intel_bufmgr.h @@ -264,6 +264,9 @@ int drm_intel_get_reset_stats(drm_intel_context *ctx, uint32_t *active, uint32_t *pending); +int drm_intel_get_subslice_total(int fd, unsigned int *subslice_total); +int drm_intel_get_eu_total(int fd, unsigned int *eu_total); + /** @{ Compatibility defines to keep old code building despite the symbol rename * from dri_* to drm_intel_* */ diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index acbfd4a..5a67f53 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -3295,6 +3295,37 @@ drm_intel_reg_read(drm_intel_bufmgr *bufmgr, return ret; } +drm_public int +drm_intel_get_subslice_total(int fd, unsigned int *subslice_total) +{ + drm_i915_getparam_t gp; + int ret; + + memclear(gp); + gp.value = (int*)subslice_total; + gp.param = I915_PARAM_SUBSLICE_TOTAL; + ret = drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp); + if (ret) + return -errno; + + return 0; +} + +drm_public int +drm_intel_get_eu_total(int fd, unsigned int *eu_total) +{ + drm_i915_getparam_t gp; + int ret; + + memclear(gp); + gp.value = (int*)eu_total; + gp.param = I915_PARAM_EU_TOTAL; + ret = drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp); + if (ret) + return -errno; + + return 0; +} /** * Annotate the given bo for use in aub dumping. commit d20413a7ce5816abe1127ffffc5bcab82f268c16 Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Tue Mar 17 00:19:27 2015 +0000 configure.ac: error out if building freedreno_kgsl without freedreno The former is a subset of the latter. Error out early so the user is aware that they are doing something very wrong. Cc: Rob Clark <robdcl...@gmail.com> Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> Reviewed-by: Rob Clark <robdcl...@gmail.com> diff --git a/configure.ac b/configure.ac index 7f76083..6e45fa8 100644 --- a/configure.ac +++ b/configure.ac @@ -321,6 +321,11 @@ if test "x$FREEDRENO" = xyes; then AC_DEFINE(HAVE_FREEDRENO, 1, [Have freedreno support]) fi +if test "x$FREEDRENO_KGSL" = xyes; then + if test "x$FREEDRENO" != xyes; then + AC_MSG_ERROR([Cannot enable freedreno KGSL interface if freedreno is disabled]) + fi +fi AM_CONDITIONAL(HAVE_FREEDRENO_KGSL, [test "x$FREEDRENO_KGSL" = xyes]) if test "x$FREEDRENO_KGSL" = xyes; then AC_DEFINE(HAVE_FREEDRENO_KGSL, 1, [Have freedreno support for KGSL kernel interface]) commit 648508518ef4f199eee58dbca8d6412af989fe71 Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Tue Mar 17 00:19:26 2015 +0000 configure.ac: fix help string copy/pasta The message "enabled on x86" was meant for the intel libdrm. Take the opportunity to mention how libkms is autodetected. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> diff --git a/configure.ac b/configure.ac index 414383c..7f76083 100644 --- a/configure.ac +++ b/configure.ac @@ -61,12 +61,12 @@ AC_ARG_ENABLE([udev], AC_ARG_ENABLE(libkms, AS_HELP_STRING([--disable-libkms], - [Disable KMS mm abstraction library (default: auto, enabled on x86]), + [Disable KMS mm abstraction library (default: auto, enabled on supported platforms)]), [LIBKMS=$enableval], [LIBKMS=auto]) AC_ARG_ENABLE(intel, AS_HELP_STRING([--disable-intel], - [Enable support for intel's KMS API (default: auto)]), + [Enable support for intel's KMS API (default: auto, enabled on x86)]), [INTEL=$enableval], [INTEL=auto]) AC_ARG_ENABLE(radeon, commit 0e4d5a3a460fd00358132fd4b2391a093c5fe8dd Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Tue Mar 17 00:19:25 2015 +0000 configure.ac: fix host_cpu/atomics detection Previous code was busted, as it wasn't checking directly for what it was meant to, and at the end changing the user's selection if host_cpu heuristics were involved. Simplify things by adding a macro that does the long message printing for us, and check for only what we need. This fixes commit 36cff14bb03(configure: omap, freedreno and tegra require atomics) which incorrectly assumed that the code was working fine, and effectively made impossible to enable freedreno due to it's host_cpu detection. Cc: Rob Clark <robdcl...@gmail.com> Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> diff --git a/configure.ac b/configure.ac index 0b37cc7..414383c 100644 --- a/configure.ac +++ b/configure.ac @@ -215,65 +215,56 @@ if test "x$drm_cv_atomic_primitives" = "xlibatomic-ops"; then AC_DEFINE(HAVE_LIB_ATOMIC_OPS, 1, [Enable if you have libatomic-ops-dev installed]) fi -if test "x$INTEL" != "xno" -o \ - "x$RADEON" != "xno" -o \ - "x$NOUVEAU" != "xno" -o \ - "x$OMAP" != "xno" -o \ - "x$FREEDRENO" != "xno" -o \ - "x$TEGRA" != "xno"; then - if test "x$drm_cv_atomic_primitives" = "xnone"; then - if test "x$INTEL" != "xauto"; then - if test "x$INTEL" != "xno"; then - AC_MSG_ERROR([libdrm_intel depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for Intel GPUs by passing --disable-intel to ./configure]) - fi - else - AC_MSG_WARN([Disabling libdrm_intel. It depends on atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package.]) - INTEL=no - fi - if test "x$RADEON" != "xauto"; then - if test "x$RADEON" != "xno"; then - AC_MSG_ERROR([libdrm_radeon depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for Radeon GPUs by passing --disable-radeon to ./configure]) - fi - else - AC_MSG_WARN([Disabling libdrm_radeon. It depends on atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package.]) - RADEON=no - fi - if test "x$NOUVEAU" != "xauto"; then - if test "x$NOUVEAU" != "xno"; then - AC_MSG_ERROR([libdrm_nouveau depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for NVIDIA GPUs by passing --disable-nouveau to ./configure]) - fi - else - AC_MSG_WARN([Disabling libdrm_nouveau. It depends on atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package.]) - NOUVEAU=no - fi - if test "x$OMAP" != "xauto"; then - AC_MSG_ERROR([libdrm_omap depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for OMAP GPUs by passing --disable-omap-experimental-api to ./configure]) - fi - if test "x$FREEDRENO" != "xauto"; then - AC_MSG_ERROR([libdrm_freedreno depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for QCOM's Adreno GPUs by passing --disable-freedreno to ./configure]) - fi - if test "x$TEGRA" != "xauto"; then - AC_MSG_ERROR([libdrm_tegra depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for NVIDIA's Tegra GPUs by passing --disable-tegra-experimental-api to ./configure]) - fi - else - if test "x$INTEL" != "xno"; then - case $host_cpu in - i?86|x86_64) INTEL=yes ;; - *) INTEL=no ;; - esac - fi - if test "x$RADEON" != "xno"; then - RADEON=yes - fi - if test "x$NOUVEAU" != "xno"; then - NOUVEAU=yes - fi - if test "x$FREEDRENO" != "xno"; then - case $host_cpu in - arm*|aarch64) FREEDRENO=yes ;; - *) FREEDRENO=no ;; - esac - fi +dnl Print out the approapriate message considering the value set be the +dnl respective in $1. +dnl $1 - value to be evaluated. Eg. $INTEL, $NOUVEAU, ... +dnl $2 - libdrm shortname. Eg. intel, freedreno, ... +dnl $3 - GPU name/brand. Eg. Intel, NVIDIA Tegra, ... +dnl $4 - Configure switch. Eg. intel, omap-experimental-api, ... +AC_DEFUN([LIBDRM_ATOMICS_NOT_FOUND_MSG], [ + case "x$1" in + xyes) AC_MSG_ERROR([libdrm_$2 depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for $3 GPUs by passing --disable-$4 to ./configure]) ;; + xauto) AC_MSG_WARN([Disabling $2. It depends on atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package.]) ;; + *) ;; + esac +]) + +if test "x$drm_cv_atomic_primitives" = "xnone"; then + LIBDRM_ATOMICS_NOT_FOUND_MSG($INTEL, intel, Intel, intel) + INTEL=no + + LIBDRM_ATOMICS_NOT_FOUND_MSG($RADEON, radeon, Radeon, radeon) + RADEON=no + + LIBDRM_ATOMICS_NOT_FOUND_MSG($NOUVEAU, nouveau, NVIDIA, nouveau) + NOUVEAU=no + + LIBDRM_ATOMICS_NOT_FOUND_MSG($OMAP, omap, OMAP, omap-experimental-api) + OMAP=no + + LIBDRM_ATOMICS_NOT_FOUND_MSG($FREEDRENO, freedreno, Qualcomm Adreno, freedreno) + FREEDRENO=no + + LIBDRM_ATOMICS_NOT_FOUND_MSG($TEGRA, tegra, NVIDIA Tegra, tegra-experimental-api) + TEGRA=no +else + if test "x$INTEL" = xauto; then + case $host_cpu in + i?86|x86_64) INTEL=yes ;; + *) INTEL=no ;; + esac + fi + if test "x$RADEON" = xauto; then + RADEON=yes + fi + if test "x$NOUVEAU" = xauto; then + NOUVEAU=yes + fi + if test "x$FREEDRENO" = xauto; then + case $host_cpu in + arm*|aarch64) FREEDRENO=yes ;; + *) FREEDRENO=no ;; + esac fi fi commit ffb1e285306ae58f2861debb615047ca384710ba Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Mon Mar 9 12:08:17 2015 +0000 autogen.sh: handle out-of-tree invokation Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> diff --git a/autogen.sh b/autogen.sh index 30d679f..c896097 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,6 +1,14 @@ #! /bin/sh -test -n "$srcdir" || srcdir=`dirname "$0"` -test -n "$srcdir" || srcdir=. -autoreconf --force --install --verbose "$srcdir" -test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" +srcdir=`dirname "$0"` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd "$srcdir" + +autoreconf --force --verbose --install || exit 1 +cd "$ORIGDIR" || exit $? + +if test -z "$NOCONFIGURE"; then + "$srcdir"/configure "$@" +fi commit d8ea64d90b222b468c292d2c107a41a64ad5ce43 Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Mon Mar 9 12:08:16 2015 +0000 configure: Stop using AM_MAINTAINER_MODE AM_MAINTAINER_MODE can be used to disable generation of rebuild rules. This is not something we want to condone/support, considering it can cause greater problems than the perceived benefits. Additionally the Automake manual leans towards avoiding the use of AM_MAINTAINER_MODE. http://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> diff --git a/autogen.sh b/autogen.sh index 3f190ba..30d679f 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,4 +3,4 @@ test -n "$srcdir" || srcdir=`dirname "$0"` test -n "$srcdir" || srcdir=. autoreconf --force --install --verbose "$srcdir" -test -n "$NOCONFIGURE" || "$srcdir/configure" --enable-maintainer-mode "$@" +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" diff --git a/configure.ac b/configure.ac index 1fd0818..0b37cc7 100644 --- a/configure.ac +++ b/configure.ac @@ -30,7 +30,6 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2]) -AM_MAINTAINER_MODE([enable]) # Enable quiet compiles on automake 1.11. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) commit 858b21f6af03c9658126fd6ec2aa35b4e5151ecb Author: Tobias Jakobi <tjak...@math.uni-bielefeld.de> Date: Wed Mar 11 20:38:46 2015 +0100 exynos: fimg2d: follow-up fix for G2D_COEFF_MODE_GB_COLOR Also add the register field formatting info provided by Inki Dae <inki....@samsung.com>. Signed-off-by: Tobias Jakobi <tjak...@math.uni-bielefeld.de> Suggested-by: Inki Dae <inki....@samsung.com> diff --git a/exynos/exynos_fimg2d.h b/exynos/exynos_fimg2d.h index f76f2a9..9db0c88 100644 --- a/exynos/exynos_fimg2d.h +++ b/exynos/exynos_fimg2d.h @@ -151,6 +151,12 @@ enum e_g2d_op { G2D_OP_CONJOINT_DST = 0x22, }; +/* + * The G2D_COEFF_MODE_DST_{COLOR,ALPHA} modes both use the ALPHA_REG(0x618) + * register. The registers fields are as follows: + * bits 31:8 = color value (RGB order) + * bits 7:0 = alpha value + */ enum e_g2d_coeff_mode { G2D_COEFF_MODE_ONE, G2D_COEFF_MODE_ZERO, @@ -160,7 +166,7 @@ enum e_g2d_coeff_mode { G2D_COEFF_MODE_DST_COLOR, /* Global Alpha : Set by ALPHA_REG(0x618) */ G2D_COEFF_MODE_GB_ALPHA, - /* Global Color : Set by ALPHA_REG(0x618) */ + /* Global Color and Alpha : Set by ALPHA_REG(0x618) */ G2D_COEFF_MODE_GB_COLOR, /* (1-SRC alpha)/DST Alpha */ G2D_COEFF_MODE_DISJOINT_S, commit 3f12191f29c500c4adcffdcca73d74cdd93c1853 Author: Tobias Jakobi <tjak...@math.uni-bielefeld.de> Date: Wed Mar 11 20:38:45 2015 +0100 exynos: add fimg2d header to common includes The reason for this change is to let userspace use the header. Currently 'make install' does not install it. Signed-off-by: Tobias Jakobi <tjak...@math.uni-bielefeld.de> Reviewed-by: Inki Dae <inki....@samsung.com> Tested-by: Joonyoung Shim <jy0922.s...@samsung.com> diff --git a/exynos/Makefile.am b/exynos/Makefile.am index 1715a85..35bc71f 100644 --- a/exynos/Makefile.am +++ b/exynos/Makefile.am @@ -14,11 +14,10 @@ libdrm_exynos_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ libdrm_exynos_la_SOURCES = \ exynos_drm.c \ exynos_fimg2d.c \ - exynos_fimg2d.h \ -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1ymjp2-0002cu...@moszumanska.debian.org