ChangeLog | 243 ++++++++++++++++++++++++++++++ configure.ac | 2 debian/changelog | 13 + debian/control | 13 - debian/libdrm-nouveau1.install | 1 debian/libdrm-nouveau1.lintian-overrides | 1 debian/libdrm-nouveau1.symbols | 46 ----- debian/libdrm-nouveau1a.install | 1 debian/libdrm-nouveau1a.lintian-overrides | 1 debian/libdrm-nouveau1a.symbols | 46 +++++ debian/rules | 6 include/drm/nouveau_drm.h | 8 intel/intel_bufmgr.c | 14 - intel/intel_bufmgr.h | 6 intel/intel_bufmgr_fake.c | 18 ++ intel/intel_bufmgr_gem.c | 144 ++++++++--------- nouveau/nouveau_bo.c | 12 + nouveau/nouveau_bo.h | 6 nouveau/nouveau_channel.c | 5 nouveau/nouveau_channel.h | 2 nouveau/nouveau_device.c | 5 nouveau/nouveau_drmif.h | 1 nouveau/nouveau_grobj.c | 2 nouveau/nouveau_notifier.c | 2 nouveau/nouveau_private.h | 7 nouveau/nouveau_pushbuf.c | 8 radeon/radeon_bo_gem.c | 2 radeon/radeon_cs_gem.c | 2 tests/gem_flink.c | 2 tests/gem_mmap.c | 2 tests/gem_readwrite.c | 4 xf86drm.c | 27 --- 32 files changed, 468 insertions(+), 184 deletions(-)
New commits: commit 2abd407d29cc6509728e2897e7b50f0d7f9a924e Author: Sven Joachim <svenj...@gmx.de> Date: Tue Dec 14 16:09:14 2010 +0100 Use dh_prep instead of dh_clean -k The latter is deprecated, and we're build-depending on a new enough debhelper to use the former. diff --git a/debian/changelog b/debian/changelog index 542c9dc..8def930 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ libdrm (2.4.23-1) UNRELEASED; urgency=low remove the Breaks against xserver-xorg-video-nouveau. - Adjust the lintian override. - Bump libdrm-nouveau shlibs and symbols versions to 2.4.23. + * Use dh_prep instead of the deprecated dh_clean -k in debian/rules. -- Sven Joachim <svenj...@gmx.de> Tue, 14 Dec 2010 14:28:11 +0100 diff --git a/debian/rules b/debian/rules index e2dc066..82741af 100755 --- a/debian/rules +++ b/debian/rules @@ -108,7 +108,7 @@ clean: xsfclean install: build dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs cd build && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp commit b8a75a799d9412320e07cddaf145c5d4d900e199 Author: Sven Joachim <svenj...@gmx.de> Date: Tue Dec 14 14:44:05 2010 +0100 Bump symbols and shlibs versions of libdrm-nouveau1a Mostly for documentary purposes, the numbers do not really matter. diff --git a/debian/changelog b/debian/changelog index 4444bc9..542c9dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ libdrm (2.4.23-1) UNRELEASED; urgency=low - Make libdrm-nouveau1a{,-dbg} conflict with libdrm-nouveau1{,-dbg} and remove the Breaks against xserver-xorg-video-nouveau. - Adjust the lintian override. + - Bump libdrm-nouveau shlibs and symbols versions to 2.4.23. -- Sven Joachim <svenj...@gmx.de> Tue, 14 Dec 2010 14:28:11 +0100 diff --git a/debian/libdrm-nouveau1a.symbols b/debian/libdrm-nouveau1a.symbols index 4da10ea..a2ba922 100644 --- a/debian/libdrm-nouveau1a.symbols +++ b/debian/libdrm-nouveau1a.symbols @@ -1,46 +1,46 @@ libdrm_nouveau.so.1 libdrm-nouveau1a #MINVER# - nouveau_bo_b...@base 2.4.21-1 - nouveau_bo_emit_buf...@base 2.4.21-1 - nouveau_bo_handle_...@base 2.4.21-1 - nouveau_bo_handle_...@base 2.4.21-1 - nouveau_bo_i...@base 2.4.21-1 - nouveau_bo_...@base 2.4.21-1 - nouveau_bo_map_fl...@base 2.4.21-1 - nouveau_bo_map_ra...@base 2.4.21-1 - nouveau_bo_...@base 2.4.21-1 - nouveau_bo_new_t...@base 2.4.21-1 - nouveau_bo_pend...@base 2.4.21-1 - nouveau_bo_...@base 2.4.21-1 - nouveau_bo_taked...@base 2.4.21-1 - nouveau_bo_un...@base 2.4.21-1 - nouveau_bo_u...@base 2.4.21-1 - nouveau_bo_w...@base 2.4.21-1 - nouveau_channel_al...@base 2.4.21-1 - nouveau_channel_f...@base 2.4.21-1 - nouveau_device_cl...@base 2.4.21-1 - nouveau_device_get_pa...@base 2.4.21-1 - nouveau_device_o...@base 2.4.21-1 - nouveau_device_open_exist...@base 2.4.21-1 - nouveau_device_set_pa...@base 2.4.21-1 - nouveau_grobj_al...@base 2.4.21-1 - nouveau_grobj_autob...@base 2.4.21-1 - nouveau_grobj_f...@base 2.4.21-1 - nouveau_grobj_...@base 2.4.21-1 - nouveau_notifier_al...@base 2.4.21-1 - nouveau_notifier_f...@base 2.4.21-1 - nouveau_notifier_re...@base 2.4.21-1 - nouveau_notifier_return_...@base 2.4.21-1 - nouveau_notifier_sta...@base 2.4.21-1 - nouveau_notifier_wait_sta...@base 2.4.21-1 - nouveau_pushbuf_emit_re...@base 2.4.21-1 - nouveau_pushbuf_f...@base 2.4.21-1 - nouveau_pushbuf_fl...@base 2.4.21-1 - nouveau_pushbuf_i...@base 2.4.21-1 - nouveau_pushbuf_marker_e...@base 2.4.21-1 - nouveau_pushbuf_marker_u...@base 2.4.21-1 - nouveau_pushbuf_sub...@base 2.4.21-1 - nouveau_reloc_e...@base 2.4.21-1 - nouveau_resource_al...@base 2.4.21-1 - nouveau_resource_dest...@base 2.4.21-1 - nouveau_resource_f...@base 2.4.21-1 - nouveau_resource_i...@base 2.4.21-1 + nouveau_bo_b...@base 2.4.23 + nouveau_bo_emit_buf...@base 2.4.23 + nouveau_bo_handle_...@base 2.4.23 + nouveau_bo_handle_...@base 2.4.23 + nouveau_bo_i...@base 2.4.23 + nouveau_bo_...@base 2.4.23 + nouveau_bo_map_fl...@base 2.4.23 + nouveau_bo_map_ra...@base 2.4.23 + nouveau_bo_...@base 2.4.23 + nouveau_bo_new_t...@base 2.4.23 + nouveau_bo_pend...@base 2.4.23 + nouveau_bo_...@base 2.4.23 + nouveau_bo_taked...@base 2.4.23 + nouveau_bo_un...@base 2.4.23 + nouveau_bo_u...@base 2.4.23 + nouveau_bo_w...@base 2.4.23 + nouveau_channel_al...@base 2.4.23 + nouveau_channel_f...@base 2.4.23 + nouveau_device_cl...@base 2.4.23 + nouveau_device_get_pa...@base 2.4.23 + nouveau_device_o...@base 2.4.23 + nouveau_device_open_exist...@base 2.4.23 + nouveau_device_set_pa...@base 2.4.23 + nouveau_grobj_al...@base 2.4.23 + nouveau_grobj_autob...@base 2.4.23 + nouveau_grobj_f...@base 2.4.23 + nouveau_grobj_...@base 2.4.23 + nouveau_notifier_al...@base 2.4.23 + nouveau_notifier_f...@base 2.4.23 + nouveau_notifier_re...@base 2.4.23 + nouveau_notifier_return_...@base 2.4.23 + nouveau_notifier_sta...@base 2.4.23 + nouveau_notifier_wait_sta...@base 2.4.23 + nouveau_pushbuf_emit_re...@base 2.4.23 + nouveau_pushbuf_f...@base 2.4.23 + nouveau_pushbuf_fl...@base 2.4.23 + nouveau_pushbuf_i...@base 2.4.23 + nouveau_pushbuf_marker_e...@base 2.4.23 + nouveau_pushbuf_marker_u...@base 2.4.23 + nouveau_pushbuf_sub...@base 2.4.23 + nouveau_reloc_e...@base 2.4.23 + nouveau_resource_al...@base 2.4.23 + nouveau_resource_dest...@base 2.4.23 + nouveau_resource_f...@base 2.4.23 + nouveau_resource_i...@base 2.4.23 diff --git a/debian/rules b/debian/rules index 1d838c4..e2dc066 100755 --- a/debian/rules +++ b/debian/rules @@ -147,7 +147,7 @@ ifeq ($(INTEL), yes) dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.21)' -- -c4 endif ifeq ($(NOUVEAU), yes) - dh_makeshlibs -plibdrm-nouveau1a -V'libdrm-nouveau1a (>= 2.4.21-1)' -- -c4 + dh_makeshlibs -plibdrm-nouveau1a -V'libdrm-nouveau1a (>= 2.4.23)' -- -c4 endif ifeq ($(RADEON), yes) dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.20)' -- -c4 commit 4a0a6b449653042ac66a5a87b2944f828f265944 Author: Sven Joachim <svenj...@gmx.de> Date: Tue Dec 14 14:38:39 2010 +0100 Rename libdrm-nouveau1 package to libdrm-nouveau1a Upstream broke the ABI of libdrm-nouveau without changing soname, so we have to change at least the package name. Install a new lintian override for the package-name-doesnt-match-sonames warning. diff --git a/debian/changelog b/debian/changelog index 002388b..4444bc9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,12 @@ libdrm (2.4.23-1) UNRELEASED; urgency=low * New upstream release. - + * Rename the libdrm-nouveau1 package to libdrm-nouveau1a, since upstream + broke the ABI without changing the soname. + - Make libdrm-nouveau1a{,-dbg} conflict with libdrm-nouveau1{,-dbg} and + remove the Breaks against xserver-xorg-video-nouveau. + - Adjust the lintian override. + -- Sven Joachim <svenj...@gmx.de> Tue, 14 Dec 2010 14:28:11 +0100 libdrm (2.4.22-2) experimental; urgency=low diff --git a/debian/control b/debian/control index e15bc87..cc5091a 100644 --- a/debian/control +++ b/debian/control @@ -23,7 +23,7 @@ Depends: libdrm2 (= ${binary:Version}), libdrm-intel1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386], libdrm-radeon1 (= ${binary:Version}) [linux-any], - libdrm-nouveau1 (= ${binary:Version}) [linux-any], + libdrm-nouveau1a (= ${binary:Version}) [linux-any], libkms1 (= ${binary:Version}) [linux-any], ${misc:Depends}, Replaces: @@ -95,31 +95,32 @@ Description: Userspace interface to intel-specific kernel DRM services -- debugg . This package provides the debugging symbols for the libdrm-intel1 package. -Package: libdrm-nouveau1 +Package: libdrm-nouveau1a Section: libs Architecture: linux-any Depends: ${shlibs:Depends}, ${misc:Depends}, -Breaks: xserver-xorg-video-nouveau (<< 1:0.0.16) +Conflicts: libdrm-nouveau1 Description: Userspace interface to nouveau-specific kernel DRM services -- runtime This library implements the userspace interface to the nouveau-specific kernel DRM services. DRM stands for "Direct Rendering Manager", which is the kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on Linux to provide hardware-accelerated OpenGL drivers. -Package: libdrm-nouveau1-dbg +Package: libdrm-nouveau1a-dbg Section: debug Priority: extra Architecture: linux-any -Depends: libdrm-nouveau1 (= ${binary:Version}), +Depends: libdrm-nouveau1a (= ${binary:Version}), ${misc:Depends}, +Conflicts: libdrm-nouveau1-dbg Description: Userspace interface to nouveau-specific kernel DRM -- debugging symbols 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). The DRI is currently used on Linux to provide hardware-accelerated OpenGL drivers. . - This package provides the debugging symbols for the libdrm-nouveau1 package. + This package provides the debugging symbols for the libdrm-nouveau1a package. Package: libdrm-radeon1 Section: libs diff --git a/debian/libdrm-nouveau1.install b/debian/libdrm-nouveau1.install deleted file mode 100644 index b19813f..0000000 --- a/debian/libdrm-nouveau1.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/libdrm_nouveau.so.1* diff --git a/debian/libdrm-nouveau1.lintian-overrides b/debian/libdrm-nouveau1.lintian-overrides deleted file mode 100644 index 5ce3941..0000000 --- a/debian/libdrm-nouveau1.lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -libdrm-nouveau1: symbols-file-contains-debian-revision on symbol nouveau_bo_b...@base and 44 others diff --git a/debian/libdrm-nouveau1.symbols b/debian/libdrm-nouveau1.symbols deleted file mode 100644 index a7c48d0..0000000 --- a/debian/libdrm-nouveau1.symbols +++ /dev/null @@ -1,46 +0,0 @@ -libdrm_nouveau.so.1 libdrm-nouveau1 #MINVER# - nouveau_bo_b...@base 2.4.21-1 - nouveau_bo_emit_buf...@base 2.4.21-1 - nouveau_bo_handle_...@base 2.4.21-1 - nouveau_bo_handle_...@base 2.4.21-1 - nouveau_bo_i...@base 2.4.21-1 - nouveau_bo_...@base 2.4.21-1 - nouveau_bo_map_fl...@base 2.4.21-1 - nouveau_bo_map_ra...@base 2.4.21-1 - nouveau_bo_...@base 2.4.21-1 - nouveau_bo_new_t...@base 2.4.21-1 - nouveau_bo_pend...@base 2.4.21-1 - nouveau_bo_...@base 2.4.21-1 - nouveau_bo_taked...@base 2.4.21-1 - nouveau_bo_un...@base 2.4.21-1 - nouveau_bo_u...@base 2.4.21-1 - nouveau_bo_w...@base 2.4.21-1 - nouveau_channel_al...@base 2.4.21-1 - nouveau_channel_f...@base 2.4.21-1 - nouveau_device_cl...@base 2.4.21-1 - nouveau_device_get_pa...@base 2.4.21-1 - nouveau_device_o...@base 2.4.21-1 - nouveau_device_open_exist...@base 2.4.21-1 - nouveau_device_set_pa...@base 2.4.21-1 - nouveau_grobj_al...@base 2.4.21-1 - nouveau_grobj_autob...@base 2.4.21-1 - nouveau_grobj_f...@base 2.4.21-1 - nouveau_grobj_...@base 2.4.21-1 - nouveau_notifier_al...@base 2.4.21-1 - nouveau_notifier_f...@base 2.4.21-1 - nouveau_notifier_re...@base 2.4.21-1 - nouveau_notifier_return_...@base 2.4.21-1 - nouveau_notifier_sta...@base 2.4.21-1 - nouveau_notifier_wait_sta...@base 2.4.21-1 - nouveau_pushbuf_emit_re...@base 2.4.21-1 - nouveau_pushbuf_f...@base 2.4.21-1 - nouveau_pushbuf_fl...@base 2.4.21-1 - nouveau_pushbuf_i...@base 2.4.21-1 - nouveau_pushbuf_marker_e...@base 2.4.21-1 - nouveau_pushbuf_marker_u...@base 2.4.21-1 - nouveau_pushbuf_sub...@base 2.4.21-1 - nouveau_reloc_e...@base 2.4.21-1 - nouveau_resource_al...@base 2.4.21-1 - nouveau_resource_dest...@base 2.4.21-1 - nouveau_resource_f...@base 2.4.21-1 - nouveau_resource_i...@base 2.4.21-1 diff --git a/debian/libdrm-nouveau1a.install b/debian/libdrm-nouveau1a.install new file mode 100644 index 0000000..b19813f --- /dev/null +++ b/debian/libdrm-nouveau1a.install @@ -0,0 +1 @@ +usr/lib/libdrm_nouveau.so.1* diff --git a/debian/libdrm-nouveau1a.lintian-overrides b/debian/libdrm-nouveau1a.lintian-overrides new file mode 100644 index 0000000..76c525b --- /dev/null +++ b/debian/libdrm-nouveau1a.lintian-overrides @@ -0,0 +1 @@ +libdrm-nouveau1a: package-name-doesnt-match-sonames libdrm-nouveau1 diff --git a/debian/libdrm-nouveau1a.symbols b/debian/libdrm-nouveau1a.symbols new file mode 100644 index 0000000..4da10ea --- /dev/null +++ b/debian/libdrm-nouveau1a.symbols @@ -0,0 +1,46 @@ +libdrm_nouveau.so.1 libdrm-nouveau1a #MINVER# + nouveau_bo_b...@base 2.4.21-1 + nouveau_bo_emit_buf...@base 2.4.21-1 + nouveau_bo_handle_...@base 2.4.21-1 + nouveau_bo_handle_...@base 2.4.21-1 + nouveau_bo_i...@base 2.4.21-1 + nouveau_bo_...@base 2.4.21-1 + nouveau_bo_map_fl...@base 2.4.21-1 + nouveau_bo_map_ra...@base 2.4.21-1 + nouveau_bo_...@base 2.4.21-1 + nouveau_bo_new_t...@base 2.4.21-1 + nouveau_bo_pend...@base 2.4.21-1 + nouveau_bo_...@base 2.4.21-1 + nouveau_bo_taked...@base 2.4.21-1 + nouveau_bo_un...@base 2.4.21-1 + nouveau_bo_u...@base 2.4.21-1 + nouveau_bo_w...@base 2.4.21-1 + nouveau_channel_al...@base 2.4.21-1 + nouveau_channel_f...@base 2.4.21-1 + nouveau_device_cl...@base 2.4.21-1 + nouveau_device_get_pa...@base 2.4.21-1 + nouveau_device_o...@base 2.4.21-1 + nouveau_device_open_exist...@base 2.4.21-1 + nouveau_device_set_pa...@base 2.4.21-1 + nouveau_grobj_al...@base 2.4.21-1 + nouveau_grobj_autob...@base 2.4.21-1 + nouveau_grobj_f...@base 2.4.21-1 + nouveau_grobj_...@base 2.4.21-1 + nouveau_notifier_al...@base 2.4.21-1 + nouveau_notifier_f...@base 2.4.21-1 + nouveau_notifier_re...@base 2.4.21-1 + nouveau_notifier_return_...@base 2.4.21-1 + nouveau_notifier_sta...@base 2.4.21-1 + nouveau_notifier_wait_sta...@base 2.4.21-1 + nouveau_pushbuf_emit_re...@base 2.4.21-1 + nouveau_pushbuf_f...@base 2.4.21-1 + nouveau_pushbuf_fl...@base 2.4.21-1 + nouveau_pushbuf_i...@base 2.4.21-1 + nouveau_pushbuf_marker_e...@base 2.4.21-1 + nouveau_pushbuf_marker_u...@base 2.4.21-1 + nouveau_pushbuf_sub...@base 2.4.21-1 + nouveau_reloc_e...@base 2.4.21-1 + nouveau_resource_al...@base 2.4.21-1 + nouveau_resource_dest...@base 2.4.21-1 + nouveau_resource_f...@base 2.4.21-1 + nouveau_resource_i...@base 2.4.21-1 diff --git a/debian/rules b/debian/rules index b9b097e..1d838c4 100755 --- a/debian/rules +++ b/debian/rules @@ -131,7 +131,7 @@ ifeq ($(INTEL), yes) dh_strip -plibdrm-intel1 --dbg-package=libdrm-intel1-dbg endif ifeq ($(NOUVEAU), yes) - dh_strip -plibdrm-nouveau1 --dbg-package=libdrm-nouveau1-dbg + dh_strip -plibdrm-nouveau1a --dbg-package=libdrm-nouveau1a-dbg endif ifeq ($(RADEON), yes) dh_strip -plibdrm-radeon1 --dbg-package=libdrm-radeon1-dbg @@ -147,7 +147,7 @@ ifeq ($(INTEL), yes) dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.21)' -- -c4 endif ifeq ($(NOUVEAU), yes) - dh_makeshlibs -plibdrm-nouveau1 -V'libdrm-nouveau1 (>= 2.4.21-1)' -- -c4 + dh_makeshlibs -plibdrm-nouveau1a -V'libdrm-nouveau1a (>= 2.4.21-1)' -- -c4 endif ifeq ($(RADEON), yes) dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.20)' -- -c4 commit c45d209f232f9fe5818acd3f3af32fab2c25054f Author: Sven Joachim <svenj...@gmx.de> Date: Tue Dec 14 14:29:39 2010 +0100 Bump changelogs diff --git a/ChangeLog b/ChangeLog index 3ae6795..2211c02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,246 @@ +commit 760c01a6af12c013bca0ad1f17c793ca813be4cc +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Dec 10 12:10:46 2010 +0000 + + configure: Bump version to 2.4.23 + + To export new kernel API for Intel's 2010Q4 release. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 000a0972c21ca1a17609e638907607470ee21751 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Dec 10 12:10:13 2010 +0000 + + tests: Update for ENOENT returns from unknown handles + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 537703fd4805e9cd352965fce642670986822d22 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Dec 7 20:34:22 2010 +0000 + + intel: Reorder need_fence vs fenced_command to avoid fences on gen4 + + gen4+ hardware doesn't use fences for GPU access and the older kernel + doesn't expect userspace to make such a mistake. So don't. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32190 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 39e5e982242cd2b611a9dfc1e9b63f857d52da61 +Author: Dave Airlie <airl...@redhat.com> +Date: Tue Dec 7 14:26:09 2010 +1000 + + drm: don't do the create the node ourselves if we have udev. + + this can remove nodes it shouldn't, let udev run the show. + + this is needed for reliably GPU switch. + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit af3d282afbd3360245c2ef2d3552b2530f67481d +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Dec 3 10:48:12 2010 +0000 + + intel: If the command is fenced inform the kernel + + ... but only account for a fenced used if the object is tiled. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 8420743301a36dc1316fadf53bf8e1478068400a +Author: Marek Olšák <mar...@gmail.com> +Date: Thu Dec 2 04:12:16 2010 +0100 + + radeon: silence valgrind warnings by zeroing memory + +commit 1443bea488f6ad47cb4469c01b35aea0377822c0 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Nov 25 16:59:20 2010 +0000 + + intel: Add a forward declaration of struct drm_clip_rect + + ... so that intel_bufmgr.h can be compiled standalone. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 51b895041c65f7ec9ecda48e79279dde29258b07 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Nov 22 09:50:06 2010 +0000 + + intel: Compute in-aperture size for relaxed fenced objects + + For relaxed fencing the object may only consume the small set of active + pages, but still requires a fence region once bound into the aperture. + This is the size we need to use when computing the maximum possible + aperture space that could be used by a single batchbuffer and so avoid + hitting ENOSPC. + + Reported-by: Daniel Vetter <daniel.vet...@ffwll.ch> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit d17681d538ce86a3f8d6d1c7407df3ceb2bcc499 +Author: Francisco Jerez <curroje...@riseup.net> +Date: Sat Nov 20 14:32:45 2010 +0100 + + nouveau: Add implicit pushbuf flush before gpuobj destruction. + + It makes sure that GPU object destruction is executed in order with + respect to the previous FIFO commands. + + Signed-off-by: Francisco Jerez <curroje...@riseup.net> + Acked-by: Ben Skeggs <bske...@redhat.com> + +commit 877b2ce15b80975b4dac42657bdfb0a3da833e1c +Author: Eric Anholt <e...@anholt.net> +Date: Tue Nov 9 13:51:45 2010 -0800 + + intel: Fix drm_intel_gem_bo_wait_rendering to wait for read-only usage too. + + Both the consumers of this API (sync objects and client throttling) + were expecting this behavior. The kernel used to actually behave the + desired (but incorrect) way for us anyway, but that got fixed a while + back. + +commit 49447a9b957047db2549b8a929e763bbd87808ba +Author: Albert Damen <al...@gmx.net> +Date: Sun Nov 7 15:54:32 2010 +0100 + + intel: initialize bufmgr.bo_mrb_exec unconditionally + + If bufmgr.bo_mrb_exec is not set, drm_intel_bo_mrb_exec returns ENODEV + even though drm_intel_gem_bo_mrb_exec2 will work fine for the RENDER ring. + Fixes xf86-video-intel after commit 'add BLT ring support' (5bed685f76) + with kernels without BSD or BLT ring support (2.6.34 and before). + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31443 + Signed-off-by: Albert Damen <al...@gmx.net> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit a52e61b5c888444435929a2770f14109c3a94f2f +Author: Eric Anholt <e...@anholt.net> +Date: Tue Nov 2 11:21:56 2010 -0700 + + intel: Drop silly asserts on mappings present at unmap time. + + The intent of these was to catch mismatched map/unmap. What it + actually did was check whether there was ever a mapping of that type + (including in a previous life of the buffer through the userland BO + cache), not whether they were mismatched. We don't even actually want + to catch mismatched map/unmap, unless we also do refcounting, since at + one point Mesa would do map/map/use/unmap/unmap. Just remove this + code instead. + +commit 4abb65f95c79c9a2ec2cc1147a753704b5cdd22e +Author: Eric Anholt <e...@anholt.net> +Date: Tue Nov 2 11:19:21 2010 -0700 + + intel: Remove gratuitous assert on bo_reference. + + This couldn't be triggered except by overflow, since there's an assert + in unreference to catch the usual failure of over-unreferencing. + +commit f45305c1aaf5d8053b047ff6c4ac177e26ae6d17 +Author: Eric Anholt <e...@anholt.net> +Date: Mon Nov 1 06:54:58 2010 -0700 + + intel: Shove the fake bufmgr subdata implementation into the fake bufmgr. + +commit 6560b4766c37603f5167859513bdc300f89a4761 +Author: Eric Anholt <e...@anholt.net> +Date: Mon Sep 20 14:14:14 2010 -0700 + + intel: Remove stale comment. + +commit d0a4f2e292e5b347f7e5ee2cdbe4f077986eb9da +Author: Francisco Jerez <curroje...@riseup.net> +Date: Sun Oct 31 02:22:29 2010 +0200 + + nouveau: Avoid unnecessary call to CPU_FINI. + + nouveau_bo_unmap called the CPU_FINI IOCTL even if it was a NOSYNC + mapping. It caused no harmful effects (actually CPU_FINI is a no-op on + recent enough kernels) besides the precious CPU cycles being wasted. + + Signed-off-by: Francisco Jerez <curroje...@riseup.net> + +commit 362457715faacd3101929e5f0d8ae250d0ad09df +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Oct 29 10:49:54 2010 +0100 + + intel: enable relaxed fence allocation for i915 + + The kernel has always allowed userspace to underallocate objects + supplied for fencing. However, the kernel only allocated the object size + for the fence in the GTT and so caused tiling corruption. More recently + the kernel does allocate the full fence region in the GTT for an + under-sized object and so advertises that clients may finally make use + of this feature. The biggest benefit is for texture-heavy GL games on + i945 such as World of Padman which go from needing over 1GiB of RAM to + play to fitting in the GTT! + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 0a1ff35c70730160973715b82112cd97c62ac13e +Author: Adam Jackson <a...@redhat.com> +Date: Wed Oct 27 18:44:53 2010 -0400 + + s/drmStrdup/strdup/ + + _DRM_MALLOC hasn't been a relevant concern since we split libdrm out + from xserver. + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 057fab3382c02af54126ce395c43d4e6dce9439a +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Oct 26 11:35:11 2010 +0100 + + intel: Prepare for BLT ring split. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit c5286f4a871e054b63dee8a60a6f06574c4ca1b8 +Author: Francisco Jerez <curroje...@riseup.net> +Date: Thu Oct 21 23:02:43 2010 +0200 + + nouveau: Define the HAS_PAGEFLIP getparam. + + Signed-off-by: Francisco Jerez <curroje...@riseup.net> + +commit 09b1062628f2cbddb3ebae20e7b3b8a0a93acebf +Author: Francisco Jerez <curroje...@riseup.net> +Date: Tue Sep 28 22:45:27 2010 +0200 + + nouveau: Let the user choose the push buffer size. + + Signed-off-by: Francisco Jerez <curroje...@riseup.net> + Acked-by: Ben Skeggs <bske...@redhat.com> + +commit 1b9187c43a0c17600611edb9e299141748e87974 +Author: Francisco Jerez <curroje...@riseup.net> +Date: Tue Sep 28 22:47:11 2010 +0200 + + nouveau: Define buffer object usage flags. + + Signed-off-by: Francisco Jerez <curroje...@riseup.net> + Acked-by: Ben Skeggs <bske...@redhat.com> + +commit 96214860bb0a5e11e7d346351a1be248e3716144 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Oct 1 16:50:09 2010 +0100 + + intel: Downgrade error warnings to debug + + As the higher layers check the error return from libdrm-intel and + are supposed to handle the error (and print their own warning in + extremis) the voluminous output on stderr is just noise and a hazard in + its own right. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + commit 624e58e3e43c0b2c6803cb9263863444abeb3acb Author: Carl Worth <cwo...@cworth.org> Date: Tue Sep 28 20:40:37 2010 -0700 diff --git a/debian/changelog b/debian/changelog index 40aaf55..002388b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libdrm (2.4.23-1) UNRELEASED; urgency=low + + * New upstream release. + + -- Sven Joachim <svenj...@gmx.de> Tue, 14 Dec 2010 14:28:11 +0100 + libdrm (2.4.22-2) experimental; urgency=low * Cherry-pick some commits from upstream to make the intel video driver commit 760c01a6af12c013bca0ad1f17c793ca813be4cc Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Dec 10 12:10:46 2010 +0000 configure: Bump version to 2.4.23 To export new kernel API for Intel's 2010Q4 release. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/configure.ac b/configure.ac index 179f29f..b064665 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. AC_PREREQ(2.60) -AC_INIT([libdrm], 2.4.22, [dri-de...@lists.sourceforge.net], libdrm) +AC_INIT([libdrm], 2.4.23, [dri-de...@lists.sourceforge.net], libdrm) AC_USE_SYSTEM_EXTENSIONS AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([dist-bzip2]) commit 000a0972c21ca1a17609e638907607470ee21751 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Dec 10 12:10:13 2010 +0000 tests: Update for ENOENT returns from unknown handles Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/tests/gem_flink.c b/tests/gem_flink.c index ff999d2..8dc8832 100644 --- a/tests/gem_flink.c +++ b/tests/gem_flink.c @@ -96,7 +96,7 @@ test_bad_flink(int fd) flink.handle = 0x10101010; ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink); - assert(ret == -1 && errno == EBADF); + assert(ret == -1 && errno == ENOENT); } static void diff --git a/tests/gem_mmap.c b/tests/gem_mmap.c index d24005b..2239789 100644 --- a/tests/gem_mmap.c +++ b/tests/gem_mmap.c @@ -93,7 +93,7 @@ int main(int argc, char **argv) mmap.size = 4096; printf("Testing mmaping of bad object.\n"); ret = ioctl(fd, DRM_IOCTL_I915_GEM_MMAP, &mmap); - assert(ret == -1 && errno == EBADF); + assert(ret == -1 && errno == ENOENT); memset(&create, 0, sizeof(create)); create.size = OBJECT_SIZE; diff --git a/tests/gem_readwrite.c b/tests/gem_readwrite.c index 4f5cde6..07dc853 100644 --- a/tests/gem_readwrite.c +++ b/tests/gem_readwrite.c @@ -127,11 +127,11 @@ int main(int argc, char **argv) printf("Testing read of bad buffer handle\n"); ret = do_read(fd, 1234, buf, 0, 1024); - assert(ret == -1 && errno == EBADF); + assert(ret == -1 && errno == ENOENT); printf("Testing write of bad buffer handle\n"); ret = do_write(fd, 1234, buf, 0, 1024); - assert(ret == -1 && errno == EBADF); + assert(ret == -1 && errno == ENOENT); close(fd); commit 537703fd4805e9cd352965fce642670986822d22 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Tue Dec 7 20:34:22 2010 +0000 intel: Reorder need_fence vs fenced_command to avoid fences on gen4 gen4+ hardware doesn't use fences for GPU access and the older kernel doesn't expect userspace to make such a mistake. So don't. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32190 Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index 797dcb3..c5bb588 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -1303,7 +1303,7 @@ do_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr; drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo; drm_intel_bo_gem *target_bo_gem = (drm_intel_bo_gem *) target_bo; - int fenced_command = need_fence; + int fenced_command; if (bo_gem->has_error) return -ENOMEM; @@ -1313,13 +1313,14 @@ do_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, return -ENOMEM; } - if (target_bo_gem->tiling_mode == I915_TILING_NONE) - need_fence = 0; - /* We never use HW fences for rendering on 965+ */ if (bufmgr_gem->gen >= 4) need_fence = 0; + fenced_command = need_fence; + if (target_bo_gem->tiling_mode == I915_TILING_NONE) + need_fence = 0; + /* Create a new relocation list if needed */ if (bo_gem->relocs == NULL && drm_intel_setup_reloc_list(bo)) return -ENOMEM; commit 39e5e982242cd2b611a9dfc1e9b63f857d52da61 Author: Dave Airlie <airl...@redhat.com> Date: Tue Dec 7 14:26:09 2010 +1000 drm: don't do the create the node ourselves if we have udev. this can remove nodes it shouldn't, let udev run the show. this is needed for reliably GPU switch. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/xf86drm.c b/xf86drm.c index 896b9ba..799fcdd 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -370,6 +370,7 @@ wait_for_udev: if (fd >= 0) return fd; +#if !defined(UDEV) /* Check if the device node is not what we expect it to be, and recreate it * and try again if so. */ @@ -391,6 +392,7 @@ wait_for_udev: drmMsg("drmOpenDevice: Open failed\n"); remove(buf); +#endif return -errno; } commit af3d282afbd3360245c2ef2d3552b2530f67481d Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Dec 3 10:48:12 2010 +0000 intel: If the command is fenced inform the kernel ... but only account for a fenced used if the object is tiled. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index 20fe075..797dcb3 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -1303,6 +1303,7 @@ do_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr; drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo; drm_intel_bo_gem *target_bo_gem = (drm_intel_bo_gem *) target_bo; + int fenced_command = need_fence; if (bo_gem->has_error) return -ENOMEM; @@ -1356,7 +1357,7 @@ do_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, bo_gem->reloc_target_info[bo_gem->reloc_count].bo = target_bo; if (target_bo != bo) drm_intel_gem_bo_reference(target_bo); - if (need_fence) + if (fenced_command) bo_gem->reloc_target_info[bo_gem->reloc_count].flags = DRM_INTEL_RELOC_FENCE; else commit 8420743301a36dc1316fadf53bf8e1478068400a Author: Marek Olšák <mar...@gmail.com> Date: Thu Dec 2 04:12:16 2010 +0100 radeon: silence valgrind warnings by zeroing memory diff --git a/radeon/radeon_bo_gem.c b/radeon/radeon_bo_gem.c index 081ccb9..719fba7 100644 --- a/radeon/radeon_bo_gem.c +++ b/radeon/radeon_bo_gem.c @@ -252,7 +252,7 @@ static int bo_set_tiling(struct radeon_bo_int *boi, uint32_t tiling_flags, static int bo_get_tiling(struct radeon_bo_int *boi, uint32_t *tiling_flags, uint32_t *pitch) { - struct drm_radeon_gem_set_tiling args; + struct drm_radeon_gem_set_tiling args = {}; int r; args.handle = boi->handle; diff --git a/radeon/radeon_cs_gem.c b/radeon/radeon_cs_gem.c index 81bd393..9834bcf 100644 --- a/radeon/radeon_cs_gem.c +++ b/radeon/radeon_cs_gem.c @@ -517,7 +517,7 @@ static struct radeon_cs_funcs radeon_cs_gem_funcs = { static int radeon_get_device_id(int fd, uint32_t *device_id) { - struct drm_radeon_info info; + struct drm_radeon_info info = {}; int r; *device_id = 0; commit 1443bea488f6ad47cb4469c01b35aea0377822c0 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Thu Nov 25 16:59:20 2010 +0000 intel: Add a forward declaration of struct drm_clip_rect ... so that intel_bufmgr.h can be compiled standalone. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/intel/intel_bufmgr.h b/intel/intel_bufmgr.h index 9df5168..e1b4c45 100644 --- a/intel/intel_bufmgr.h +++ b/intel/intel_bufmgr.h @@ -36,6 +36,8 @@ #include <stdint.h> +struct drm_clip_rect; + typedef struct _drm_intel_bufmgr drm_intel_bufmgr; typedef struct _drm_intel_bo drm_intel_bo; @@ -109,9 +111,9 @@ void drm_intel_bo_wait_rendering(drm_intel_bo *bo); void drm_intel_bufmgr_set_debug(drm_intel_bufmgr *bufmgr, int enable_debug); void drm_intel_bufmgr_destroy(drm_intel_bufmgr *bufmgr); int drm_intel_bo_exec(drm_intel_bo *bo, int used, - drm_clip_rect_t * cliprects, int num_cliprects, int DR4); + struct drm_clip_rect *cliprects, int num_cliprects, int DR4); int drm_intel_bo_mrb_exec(drm_intel_bo *bo, int used, - drm_clip_rect_t *cliprects, int num_cliprects, int DR4, + struct drm_clip_rect *cliprects, int num_cliprects, int DR4, int ring_flag); int drm_intel_bufmgr_check_aperture_space(drm_intel_bo ** bo_array, int count); commit 51b895041c65f7ec9ecda48e79279dde29258b07 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Mon Nov 22 09:50:06 2010 +0000 intel: Compute in-aperture size for relaxed fenced objects For relaxed fencing the object may only consume the small set of active pages, but still requires a fence region once bound into the aperture. This is the size we need to use when computing the maximum possible aperture space that could be used by a single batchbuffer and so avoid hitting ENOSPC. Reported-by: Daniel Vetter <daniel.vet...@ffwll.ch> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index aea7bdb..20fe075 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -467,8 +467,23 @@ drm_intel_bo_gem_set_in_aperture_size(drm_intel_bufmgr_gem *bufmgr_gem, * aperture. Optimal packing is for wimps. */ size = bo_gem->bo.size; - if (bufmgr_gem->gen < 4 && bo_gem->tiling_mode != I915_TILING_NONE) - size *= 2; + if (bufmgr_gem->gen < 4 && bo_gem->tiling_mode != I915_TILING_NONE) { + int min_size; + + if (bufmgr_gem->has_relaxed_fencing) { + if (bufmgr_gem->gen == 3) + min_size = 1024*1024; + else + min_size = 512*1024; + + while (min_size < size) + min_size *= 2; + } else + min_size = size; + -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1psx3b-0004do...@alioth.debian.org