.gitignore | 2 ChangeLog | 496 ++ Makefile.am | 49 README | 85 configure.ac | 64 debian/changelog | 14 debian/control | 39 debian/libdrm-intel1.symbols | 1 debian/libdrm-radeon1.install | 1 debian/libdrm-radeon1.symbols | 16 debian/libdrm2.symbols | 2 debian/patches/01_default_perms.diff | 8 debian/rules | 21 include/Makefile.am | 1 include/drm/Makefile.am | 38 include/drm/drm.h | 782 +++ include/drm/drm_mode.h | 268 + include/drm/drm_sarea.h | 82 include/drm/i810_drm.h | 281 + include/drm/i830_drm.h | 342 + include/drm/i915_drm.h | 760 +++ include/drm/mach64_drm.h | 256 + include/drm/mga_drm.h | 419 + include/drm/nouveau_drm.h | 220 include/drm/r128_drm.h | 326 + include/drm/radeon_drm.h | 911 +++ include/drm/savage_drm.h | 210 include/drm/sis_drm.h | 67 include/drm/via_drm.h | 275 + intel/Makefile.am | 50 intel/intel_atomic.h | 78 intel/intel_bufmgr.c | 244 + intel/intel_bufmgr.h | 213 intel/intel_bufmgr_fake.c | 1610 ++++++ intel/intel_bufmgr_gem.c | 1823 +++++++ intel/intel_bufmgr_priv.h | 268 + intel/intel_chipset.h | 77 intel/libdrm_intel.pc.in | 10 intel/mm.c | 271 + intel/mm.h | 94 libdrm/ChangeLog | 20 libdrm/Makefile.am | 47 libdrm/TODO | 10 libdrm/intel/Makefile.am | 48 libdrm/intel/intel_atomic.h | 61 libdrm/intel/intel_bufmgr.c | 237 libdrm/intel/intel_bufmgr.h | 212 libdrm/intel/intel_bufmgr_fake.c | 1610 ------ libdrm/intel/intel_bufmgr_gem.c | 1699 ------ libdrm/intel/intel_bufmgr_priv.h | 254 - libdrm/intel/intel_chipset.h | 77 libdrm/intel/mm.c | 271 - libdrm/intel/mm.h | 94 libdrm/libdrm_lists.h | 89 libdrm/nouveau/Makefile.am | 39 libdrm/nouveau/libdrm_nouveau.pc.in | 10 libdrm/nouveau/nouveau_bo.c | 603 -- libdrm/nouveau/nouveau_bo.h | 109 libdrm/nouveau/nouveau_channel.c | 126 libdrm/nouveau/nouveau_channel.h | 56 libdrm/nouveau/nouveau_class.h | 8389 ---------------------------------- libdrm/nouveau/nouveau_device.c | 194 libdrm/nouveau/nouveau_device.h | 33 libdrm/nouveau/nouveau_drmif.h | 57 libdrm/nouveau/nouveau_grobj.c | 138 libdrm/nouveau/nouveau_grobj.h | 48 libdrm/nouveau/nouveau_notifier.c | 146 libdrm/nouveau/nouveau_notifier.h | 63 libdrm/nouveau/nouveau_private.h | 128 libdrm/nouveau/nouveau_pushbuf.c | 333 - libdrm/nouveau/nouveau_pushbuf.h | 177 libdrm/nouveau/nouveau_resource.c | 115 libdrm/nouveau/nouveau_resource.h | 48 libdrm/radeon/Makefile.am | 54 libdrm/radeon/libdrm_radeon.pc.in | 10 libdrm/radeon/radeon_bo.h | 215 libdrm/radeon/radeon_bo_gem.c | 343 - libdrm/radeon/radeon_bo_gem.h | 43 libdrm/radeon/radeon_cs.h | 246 - libdrm/radeon/radeon_cs_gem.c | 457 - libdrm/radeon/radeon_cs_gem.h | 41 libdrm/radeon/radeon_cs_space.c | 234 libdrm/radeon/radeon_track.c | 141 libdrm/radeon/radeon_track.h | 64 libdrm/xf86drm.c | 2512 ---------- libdrm/xf86drm.h | 670 -- libdrm/xf86drmHash.c | 428 - libdrm/xf86drmMode.c | 669 -- libdrm/xf86drmMode.h | 364 - libdrm/xf86drmRandom.c | 208 libdrm/xf86drmSL.c | 480 - libdrm_intel.pc.in | 10 libdrm_lists.h | 89 nouveau/Makefile.am | 40 nouveau/libdrm_nouveau.pc.in | 10 nouveau/nouveau_bo.c | 622 ++ nouveau/nouveau_bo.h | 112 nouveau/nouveau_channel.c | 126 nouveau/nouveau_channel.h | 56 nouveau/nouveau_class.h | 8515 +++++++++++++++++++++++++++++++++++ nouveau/nouveau_device.c | 194 nouveau/nouveau_device.h | 33 nouveau/nouveau_drmif.h | 57 nouveau/nouveau_grobj.c | 138 nouveau/nouveau_grobj.h | 48 nouveau/nouveau_notifier.c | 146 nouveau/nouveau_notifier.h | 63 nouveau/nouveau_private.h | 133 nouveau/nouveau_pushbuf.c | 411 + nouveau/nouveau_pushbuf.h | 196 nouveau/nouveau_resource.c | 115 nouveau/nouveau_resource.h | 48 radeon/Makefile.am | 54 radeon/libdrm_radeon.pc.in | 10 radeon/radeon_bo.h | 229 radeon/radeon_bo_gem.c | 343 + radeon/radeon_bo_gem.h | 43 radeon/radeon_cs.h | 246 + radeon/radeon_cs_gem.c | 458 + radeon/radeon_cs_gem.h | 41 radeon/radeon_cs_space.c | 234 radeon/radeon_track.c | 141 radeon/radeon_track.h | 64 shared-core/Makefile.am | 41 shared-core/drm.h | 859 --- shared-core/drm_mode.h | 273 - shared-core/drm_sarea.h | 84 shared-core/i915_drm.h | 746 --- shared-core/i915_reg.h | 1422 ----- shared-core/mach64_drm.h | 256 - shared-core/mga_drm.h | 425 - shared-core/nouveau_drm.h | 216 shared-core/r128_drm.h | 326 - shared-core/r300_reg.h | 1778 ------- shared-core/radeon_drm.h | 907 --- shared-core/savage_drm.h | 209 shared-core/sis_drm.h | 67 shared-core/via_3d_reg.h | 1650 ------ shared-core/via_drm.h | 282 - shared-core/xgi_drm.h | 137 tests/Makefile.am | 9 tests/modeprint/Makefile.am | 10 tests/modetest/Makefile.am | 10 tests/name_from_fd.c | 58 xf86drm.c | 2534 ++++++++++ xf86drm.h | 716 ++ xf86drmHash.c | 428 + xf86drmMode.c | 712 ++ xf86drmMode.h | 364 + xf86drmRandom.c | 208 xf86drmSL.c | 480 + xf86mm.h | 198 152 files changed, 29412 insertions(+), 32512 deletions(-)
New commits: commit 54c7d6b56da45ba6c55e5238340a506b74241c08 Author: Julien Cristau <[email protected]> Date: Thu Dec 3 23:45:03 2009 +0100 Enable libdrm_radeon diff --git a/debian/changelog b/debian/changelog index e682db2..4792831 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ libdrm (2.4.16-1) UNRELEASED; urgency=low * Update libdrm-intel1.symbols and shlibs. * Bump debhelper build-dep, we use dh_strip --remaining-packages (closes: #558443). Thanks, Sergio Gelato! + * Enable libdrm_radeon, interface to kernel graphics memory management on + radeon (closes: #558786). -- Julien Cristau <[email protected]> Thu, 03 Dec 2009 22:40:20 +0100 diff --git a/debian/control b/debian/control index ceb59d6..7ccd43b 100644 --- a/debian/control +++ b/debian/control @@ -19,7 +19,11 @@ Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libdrm.git Package: libdrm-dev Section: libdevel Architecture: any -Depends: linux-libc-dev (>= 2.6.28) [linux-any], libdrm2 (= ${binary:Version}), libdrm-intel1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386] +Depends: + linux-libc-dev (>= 2.6.28) [linux-any], + libdrm2 (= ${binary:Version}), + libdrm-intel1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386], + libdrm-radeon1 (= ${binary:Version}) [linux-any], Description: Userspace interface to kernel DRM services -- development files This library implements the userspace interface to the kernel DRM services. DRM stands for "Direct Rendering Manager", which is the @@ -79,3 +83,26 @@ Description: Userspace interface to intel-specific kernel DRM services -- debugg . This package provides the debugging symbols for the libdrm-intel1 package. +Package: libdrm-radeon1 +Section: libs +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Userspace interface to radeon-specific kernel DRM services -- runtime + This library implements the userspace interface to the radeon-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-radeon1-dbg +Section: debug +Priority: extra +Architecture: linux-any +Depends: libdrm-radeon1 (= ${binary:Version}), ${misc:Depends} +Description: Userspace interface to radeon-specific kernel DRM services -- 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-radeon1 package. + diff --git a/debian/libdrm-radeon1.install b/debian/libdrm-radeon1.install new file mode 100644 index 0000000..24e5a6b --- /dev/null +++ b/debian/libdrm-radeon1.install @@ -0,0 +1 @@ +usr/lib/libdrm_radeon.so.1* diff --git a/debian/libdrm-radeon1.symbols b/debian/libdrm-radeon1.symbols new file mode 100644 index 0000000..2ac6ddf --- /dev/null +++ b/debian/libdrm-radeon1.symbols @@ -0,0 +1,16 @@ +libdrm_radeon.so.1 libdrm-radeon1 #MINVER# + radeon_bo_manager_gem_c...@base 2.4.13 + radeon_bo_manager_gem_d...@base 2.4.13 + radeon_cs_manager_gem_c...@base 2.4.13 + radeon_cs_manager_gem_d...@base 2.4.13 + radeon_cs_space_add_persistent...@base 2.4.13 + radeon_cs_space_ch...@base 2.4.13 + radeon_cs_space_check_with...@base 2.4.13 + radeon_cs_space_reset_...@base 2.4.13 + radeon_gem_get_kernel_n...@base 2.4.13 + radeon_gem_name...@base 2.4.13 + radeon_gem_set_dom...@base 2.4.13 + radeon_track_add_ev...@base 2.4.13 + radeon_tracker_add_tr...@base 2.4.13 + radeon_tracker_pr...@base 2.4.13 + radeon_tracker_remove_tr...@base 2.4.13 diff --git a/debian/rules b/debian/rules index 25e4789..46dd11b 100755 --- a/debian/rules +++ b/debian/rules @@ -24,8 +24,12 @@ else endif ifeq (linux, $(DEB_HOST_ARCH_OS)) confflags += --enable-udev + confflags += --enable-radeon-experimental-api + RADEON = yes else confflags += --disable-udev + confflags += --disable-radeon-experimental-api + RADEON = no endif # only build libdrm-intel on x86 @@ -61,9 +65,12 @@ obj-$(DEB_BUILD_GNU_TYPE)/config.status: configure dh_testdir test -d obj-$(DEB_BUILD_GNU_TYPE) || mkdir obj-$(DEB_BUILD_GNU_TYPE) cd obj-$(DEB_BUILD_GNU_TYPE) && \ - ../configure --prefix=/usr --mandir=\$${prefix}/share/man \ + ../configure \ + --prefix=/usr \ + --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info \ - --enable-static=yes $(confflags) \ + --enable-static=yes \ + $(confflags) \ CFLAGS="$(CFLAGS)" build: build-stamp @@ -120,6 +127,9 @@ binary-arch: build install ifeq ($(INTEL), yes) dh_strip -plibdrm-intel1 --dbg-package=libdrm-intel1-dbg endif +ifeq ($(RADEON), yes) + dh_strip -plibdrm-radeon1 --dbg-package=libdrm-radeon1-dbg +endif dh_strip -s --remaining-packages dh_compress -s dh_fixperms -s @@ -127,6 +137,9 @@ endif ifeq ($(INTEL), yes) dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.16)' -- -c4 endif +ifeq ($(RADEON), yes) + dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.13)' -- -c4 +endif dh_installdeb -s dh_shlibdeps -s dh_gencontrol -s commit aa83356d0efbd87726a561f9f6450fd54b45aa08 Author: Julien Cristau <[email protected]> Date: Thu Dec 3 23:17:16 2009 +0100 Bump debhelper build-dep, we use dh_strip --remaining-packages Closes: #558443 Thanks, Sergio Gelato! diff --git a/debian/changelog b/debian/changelog index 8056837..e682db2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ libdrm (2.4.16-1) UNRELEASED; urgency=low to toplevel. * Update libdrm2.symbols and shlibs. * Update libdrm-intel1.symbols and shlibs. + * Bump debhelper build-dep, we use dh_strip --remaining-packages (closes: + #558443). Thanks, Sergio Gelato! -- Julien Cristau <[email protected]> Thu, 03 Dec 2009 22:40:20 +0100 diff --git a/debian/control b/debian/control index e48b0d2..ceb59d6 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Priority: optional Maintainer: Debian X Strike Force <[email protected]> Uploaders: Julien Cristau <[email protected]>, David Nusinow <[email protected]>, Brice Goglin <[email protected]> Build-Depends: - debhelper (>= 5.0.0), + debhelper (>= 7.2.7), libx11-dev, dpkg-dev (>= 1.13.19), quilt (>= 0.40), commit 6e69551cce1d1a6ef06bed5fbb023dc49503d8c4 Author: Julien Cristau <[email protected]> Date: Thu Dec 3 23:15:55 2009 +0100 Wrap the build-depends field diff --git a/debian/control b/debian/control index cac77fb..e48b0d2 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,15 @@ Source: libdrm Priority: optional Maintainer: Debian X Strike Force <[email protected]> Uploaders: Julien Cristau <[email protected]>, David Nusinow <[email protected]>, Brice Goglin <[email protected]> -Build-Depends: debhelper (>= 5.0.0), libx11-dev, dpkg-dev (>= 1.13.19), quilt (>= 0.40), automake, libtool, pkg-config, libpthread-stubs0-dev +Build-Depends: + debhelper (>= 5.0.0), + libx11-dev, + dpkg-dev (>= 1.13.19), + quilt (>= 0.40), + automake, + libtool, + pkg-config, + libpthread-stubs0-dev, Standards-Version: 3.8.3 Section: libs Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libdrm commit cde76338155404bfb4f416ba213fe95620ee9bdd Author: Julien Cristau <[email protected]> Date: Thu Dec 3 22:56:12 2009 +0100 Update libdrm-intel1.symbols and shlibs. diff --git a/debian/changelog b/debian/changelog index f7b24dc..8056837 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ libdrm (2.4.16-1) UNRELEASED; urgency=low * Update patch 01_default_perms.diff to account for upstream move of libdrm to toplevel. * Update libdrm2.symbols and shlibs. + * Update libdrm-intel1.symbols and shlibs. -- Julien Cristau <[email protected]> Thu, 03 Dec 2009 22:40:20 +0100 diff --git a/debian/libdrm-intel1.symbols b/debian/libdrm-intel1.symbols index 5bfb6fc..71e8f02 100644 --- a/debian/libdrm-intel1.symbols +++ b/debian/libdrm-intel1.symbols @@ -12,6 +12,7 @@ libdrm_intel.so.1 libdrm-intel1 #MINVER# drm_intel_bo_gem_create_from_n...@base 2.4.1 drm_intel_bo_get_subd...@base 2.4.1 drm_intel_bo_get_til...@base 2.4.1 + drm_intel_bo_madv...@base 2.4.16 drm_intel_bo_...@base 2.4.1 drm_intel_bo_...@base 2.4.1 drm_intel_bo_refere...@base 2.4.1 diff --git a/debian/rules b/debian/rules index 941baff..25e4789 100755 --- a/debian/rules +++ b/debian/rules @@ -125,7 +125,7 @@ endif dh_fixperms -s dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.16)' -- -c4 ifeq ($(INTEL), yes) - dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.15)' -- -c4 + dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.16)' -- -c4 endif dh_installdeb -s dh_shlibdeps -s commit febf689bb4a453756de8151770518a6fcd1157dd Author: Julien Cristau <[email protected]> Date: Thu Dec 3 22:50:24 2009 +0100 Update libdrm2.symbols and shlibs. diff --git a/debian/changelog b/debian/changelog index 3214250..f7b24dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ libdrm (2.4.16-1) UNRELEASED; urgency=low * New upstream release. * Update patch 01_default_perms.diff to account for upstream move of libdrm to toplevel. + * Update libdrm2.symbols and shlibs. -- Julien Cristau <[email protected]> Thu, 03 Dec 2009 22:40:20 +0100 diff --git a/debian/libdrm2.symbols b/debian/libdrm2.symbols index 9d625d6..f74d9a2 100644 --- a/debian/libdrm2.symbols +++ b/debian/libdrm2.symbols @@ -51,6 +51,7 @@ libdrm.so.2 libdrm2 #MINVER# drmgetcontextfl...@base 2.3.1 drmgetcontextprivatemapp...@base 2.3.1 drmgetcontext...@base 2.3.1 + drmgetdevicenamefro...@base 2.4.16 drmgeten...@base 2.3.1 drmgethashta...@base 2.3.1 drmgetinterruptfrombu...@base 2.3.1 @@ -61,6 +62,7 @@ libdrm.so.2 libdrm2 #MINVER# drmgetreservedcontextl...@base 2.3.1 drmgetst...@base 2.3.1 drmgetvers...@base 2.3.1 + drmhandleev...@base 2.4.16 drmhashcre...@base 2.3.1 drmhashdel...@base 2.3.1 drmhashdest...@base 2.3.1 diff --git a/debian/rules b/debian/rules index 0a66490..941baff 100755 --- a/debian/rules +++ b/debian/rules @@ -123,7 +123,7 @@ endif dh_strip -s --remaining-packages dh_compress -s dh_fixperms -s - dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.3)' -- -c4 + dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.16)' -- -c4 ifeq ($(INTEL), yes) dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.15)' -- -c4 endif commit 3692950247627a5c98cc84ab69b069cdb65cdcd5 Author: Julien Cristau <[email protected]> Date: Thu Dec 3 22:44:09 2009 +0100 Update patch 01_default_perms.diff Account for upstream move of libdrm to toplevel. diff --git a/debian/changelog b/debian/changelog index 147f9ea..3214250 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ libdrm (2.4.16-1) UNRELEASED; urgency=low * New upstream release. + * Update patch 01_default_perms.diff to account for upstream move of libdrm + to toplevel. -- Julien Cristau <[email protected]> Thu, 03 Dec 2009 22:40:20 +0100 diff --git a/debian/patches/01_default_perms.diff b/debian/patches/01_default_perms.diff index ed70162..cdba93e 100644 --- a/debian/patches/01_default_perms.diff +++ b/debian/patches/01_default_perms.diff @@ -1,8 +1,8 @@ -Index: libdrm/libdrm/xf86drm.h +Index: libdrm/xf86drm.h =================================================================== ---- libdrm.orig/libdrm/xf86drm.h -+++ libdrm/libdrm/xf86drm.h -@@ -45,7 +45,7 @@ +--- libdrm.orig/xf86drm.h ++++ libdrm/xf86drm.h +@@ -70,7 +70,7 @@ /* Default /dev/dri directory permissions 0755 */ #define DRM_DEV_DIRMODE \ (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) commit d153e79f76111b72dea1f8058aab8c0ab79272d9 Author: Julien Cristau <[email protected]> Date: Thu Dec 3 22:42:17 2009 +0100 Bump changelogs diff --git a/ChangeLog b/ChangeLog index 7f8c872..bcdaf10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,499 @@ +commit db50f5127421ac8f4e3ce4eb7c27d27475781488 +Author: Kristian Høgsberg <[email protected]> +Date: Thu Dec 3 11:31:27 2009 -0500 + + Bump to 2.4.16 for release + +commit bef7f88de9a1f40ec82cfd4d80c73802c640e5ed +Author: Kristian Høgsberg <[email protected]> +Date: Thu Dec 3 11:27:16 2009 -0500 + + Enable experimental APIs for distcheck + +commit 57473c7f523f476ffa54c34e0c6312ffa66dcc5c +Author: Chris Wilson <[email protected]> +Date: Wed Dec 2 13:36:22 2009 +0000 + + intel: Free memory before inserting bo into cache. + + This has the unfortunate behaviour of releasing our malloc cache, but + the alternative is for X to consume a couple of gigabytes of ram and + die during testing. Fortunately the extra mallocs have little impact on + performance whereas avoiding swap and death, lots. + + Signed-off-by: Chris Wilson <[email protected]> + +commit 792fed1e2460f96459141b5a628dd5ab4fbb87db +Author: Chris Wilson <[email protected]> +Date: Wed Dec 2 13:12:39 2009 +0000 + + intel: Check and propagate errors from building reloc-tree + + Instead of forcing the caller to check after every emit_reloc(), we can + flag the object as being in error, propagating that error upwards through + the relocation tree, and failing the eventual batch buffer execution. + + Signed-off-by: Chris Wilson <[email protected]> + +commit b73612e4fd69565aa2c5c2e9677f3e0af1945f7d +Author: Chris Wilson <[email protected]> +Date: Wed Dec 2 12:58:00 2009 +0000 + + intel: Repeat execbuffer after EINTR + + EAGAIN cannot be raised by the current code, but the system call maybe + interrupted and so return EINTR. + + Signed-off-by: Chris Wilson <[email protected]> + +commit acb4aa671507aa181b3ff50ccf26a1c0d705a309 +Author: Chris Wilson <[email protected]> +Date: Wed Dec 2 12:40:26 2009 +0000 + + intel: Review use of errno. + + Hitting this error lead to a segfault: + + intel_bufmgr_gem.c:919: Error mapping buffer 48607 (pixmap): + Cannot allocate memory. + + because the errno was reused as the function return value after being + reset by the fprintf(), so caller thought the mapping had succeeded. The + convention established by libdrm is that the return value is the + negative errno and that uses of libdrm cannot trust the value of errno + afterwards, but must use the return code. + + Signed-off-by: Chris Wilson <[email protected]> + +commit 9fec2a8cb28d814da4fdd97b25e9cc5c10768c87 +Author: Chris Wilson <[email protected]> +Date: Wed Dec 2 10:42:51 2009 +0000 + + intel: Make bo_reference() inline for internal use. + + Signed-off-by: Chris Wilson <[email protected]> + +commit 9c8ad05e8bb1c954b804e40f2f975fed23c24550 +Author: Chris Wilson <[email protected]> +Date: Wed Dec 2 10:41:39 2009 +0000 + + intel: Remove the extra reference while validating the reloc tree + + Buffers on the relocation tree are guarded by the reference to the batch + object and so do not need an extra reference whilst constructing the + list of execution buffer objects. + + Signed-off-by: Chris Wilson <[email protected]> + +commit 8ffd2e142e38d19326a40ff66dc99d052ce22100 +Author: Chris Wilson <[email protected]> +Date: Tue Dec 1 13:08:04 2009 +0000 + + intel: Wrap a few more syscalls with EINTR protection + + Having been bitten by a missing EINTR check during mmap_gtt(), I thought + it prudent to add some more protection around the ioctls. + + Signed-off-by: Chris Wilson <[email protected]> + +commit b666f4151ab934d3083fa8b5f14ce19bbf999b15 +Author: Chris Wilson <[email protected]> +Date: Mon Nov 30 23:07:19 2009 +0000 + + intel: Clear bo->used_as_reloc_target flag on destroy + + This allows us to keep the assert added in the previous commit that we do + not modify the tree_reloc_size after inserting the buffer into a relocation + tree, which was being hit here: + + #0 0xb78c2424 in __kernel_vsyscall () + #1 0xb74f6401 in raise () from /lib/libc.so.6 + #2 0xb74f7b42 in abort () from /lib/libc.so.6 + #3 0xb74ef5a8 in __assert_fail () from /lib/libc.so.6 + #4 0xb737e78b in drm_intel_bo_gem_set_in_aperture_size (bufmgr_gem=<value optimized out>, bo_gem=0x6) at intel_bufmgr_gem.c:373 + #5 0xb737f519 in drm_intel_gem_bo_set_tiling (bo=0xa1030a0, tiling_mode=0xbff6c85c, stride=0) at intel_bufmgr_gem.c:1386 + #6 0xb737f67f in drm_intel_gem_bo_unreference_final (bo=0xa1030a0, time=<value optimized out>) at intel_bufmgr_gem.c:768 + #7 0xb737f5e3 in drm_intel_gem_bo_unreference_locked_timed (bo=0xa1e50d0, time=<value optimized out>) at intel_bufmgr_gem.c:805 + #8 drm_intel_gem_bo_unreference_final (bo=0xa1e50d0, time=<value optimized out>) at intel_bufmgr_gem.c:756 + #9 0xb737fcbb in drm_intel_gem_bo_unreference (bo=0xa1e50d0) at intel_bufmgr_gem.c:821 + #10 0xb737b4e6 in drm_intel_bo_unreference (bo=0x0) at intel_bufmgr.c:80 + #11 0xb7325625 in intel_batch_flush (scrn=0x9d91f78, flush=1) at i830_batchbuffer.c:200 + + Signed-off-by: Chris Wilson <[email protected]> + +commit e22fb797728c07fd05b195bd345fdf91bab47855 +Author: Chris Wilson <[email protected]> +Date: Mon Nov 30 22:14:30 2009 +0000 + + intel: Apply pessimistic alignment to in-aperture buffer size + + For the older chipsets, i.e. pre-i965, which have severe alignment + restrictions for tiled buffers we need to pessimistically assume that we + will waste the size of buffer to meet those alignment constraints. + + Signed-off-by: Chris Wilson <[email protected]> + +commit 60aa803dc76bbdfac72da4de4cdc3018717b0884 +Author: Chris Wilson <[email protected]> +Date: Mon Nov 30 20:02:05 2009 +0000 + + intel: Only store a buffer in the cache if it is retained. + + If the kernel immediately frees the backing store for a buffer when + marking it purgeable, then there is not point adding to the cache. Free + it immediately, instead. + + Signed-off-by: Chris Wilson <[email protected]> + +commit 6f66de982ad6ee6967ec61a7399e600bdd9e5887 +Author: Robert Noland <[email protected]> +Date: Wed Nov 25 15:09:24 2009 -0600 + + Correctly set DRM_MAX_MINOR for all platforms. + + DRM_MAJOR is platform specific, but not used outside of xf86drm.c + that I can find. + +commit 9558f6377ffee680d6bec0808bc113b3139b0d5f +Author: Alex Deucher <[email protected]> +Date: Tue Nov 24 15:03:32 2009 -0500 + + Add missing DRM_MAX_MINOR define + + lost in 500f5b524000ed5930301f4303744cb4c0a19b75 + + Signed-off-by: Alex Deucher <[email protected]> + +commit 82bf52fbcdf1e71840c2024bb2bc05a8daeaafad +Author: Robert Noland <[email protected]> +Date: Tue Nov 24 10:31:41 2009 -0600 + + More fixups to allow mesa to build + +commit 170674a606f6d7869b5fa4457c07e10dd27f2771 +Author: Robert Noland <[email protected]> +Date: Tue Nov 24 09:27:29 2009 -0600 + + Finish fixing the build on FreeBSD + +commit 22d46669043d38fcd16efca773f5ed5693c0fb58 +Author: Kristian Høgsberg <[email protected]> +Date: Mon Nov 23 20:51:34 2009 -0500 + + Add drmGetDeviceNameFromFd function + + Determines the /dev filename of the drm fd argument. + +commit 500f5b524000ed5930301f4303744cb4c0a19b75 +Author: Kristian Høgsberg <[email protected]> +Date: Mon Nov 23 18:25:08 2009 -0500 + + Fix build on *BSD + + This adds a minimal #ifdef clause to drm.h that we'll push upstream. + Once that goes in we can share drm.h between linux, libdrm, and + the bsd's. + +commit 863e39b56eea0ef95f9bde648fe4868d0b8e3f11 +Author: Kristian Høgsberg <[email protected]> +Date: Mon Nov 23 12:38:40 2009 -0500 + + Don't hardcore 'yes', use in configure.ac output + + Oops, I assumed intel was always enable, but it just defaults to on. + +commit 696fdb11f447b1e77803c4a15ad7062bfb79f0f0 +Author: Kristian Høgsberg <[email protected]> +Date: Mon Nov 23 11:41:15 2009 -0500 + + Output summary of enabled features at the end of configure.ac + +commit dd6cbe7acb1708a1aa8e101c6ddb80205bd1f63b +Author: Kristian Høgsberg <[email protected]> +Date: Mon Nov 23 11:25:46 2009 -0500 + + Drop duplicated radeon_*.h files in include/drm + + These files are userspace headers and live in radeon/ + +commit 6b3cbe7655ee7746c4418e1fb8af136774420dbd +Author: Kristian Høgsberg <[email protected]> +Date: Fri Nov 20 20:17:26 2009 -0500 + + Put mach64_drm.h back in to avoid breaking mesa build + + We may want to drop mach64 from mesa instead, but that's a different + discussion. + +commit 4f070d593cfc60b18c6ccb85af785b00ffb51db4 +Author: Kristian Høgsberg <[email protected]> +Date: Fri Nov 20 19:42:59 2009 -0500 + + Install kernel headers in ${includedir}/drm + +commit 3a87b1f497cc201a6c37fcd779019560ab7746ae +Author: Pekka Paalanen <[email protected]> +Date: Sat Nov 21 01:00:36 2009 +0200 + + nouveau: fix DRM headers + + The nouveau_drmif.h is not the Nouveau DRM kernel ABI file, but purely + user space stuff. Remove it, it does not belong in include/drm/. + + Copy the right header from Nouveau kernel v2.6.31-rc9-757-gaca551c. + + Signed-off-by: Pekka Paalanen <[email protected]> + +commit 10ce0ec18806ae32a5d615c693626a085b0dd7b8 +Merge: 1b064cc b4312b6 +Author: Kristian Høgsberg <[email protected]> +Date: Fri Nov 20 17:09:03 2009 -0500 + + Merge remote branch 'origin/master' into libdrm + +commit 1b064cc428f03f753699d4d9fbe60453891a8529 +Author: Kristian Høgsberg <[email protected]> +Date: Fri Nov 20 17:08:28 2009 -0500 + + Update README + +commit b4312b639d56a6cad78953af0fd4f863182007e3 +Author: Maciej Cencora <[email protected]> +Date: Wed Nov 18 16:07:13 2009 -0500 + + libdrm_radeon: add radeon_bo_is_referenced_by_cs function + + Signed-off-by: Alex Deucher <[email protected]> + +commit e8523e087fc5dfe15b0e1af9b30d1ddac5d0314c +Author: Kristian Høgsberg <[email protected]> +Date: Tue Nov 17 11:15:56 2009 -0500 + + Drop stale TODO and unused ChangeLog + +commit 4f57abfe66091281c9f59c14e6ea27b524b55d5b +Author: Kristian Høgsberg <[email protected]> +Date: Tue Nov 17 11:14:54 2009 -0500 + + Move libdrm/ up one level + +commit 9dd3613073aa2491cef440725fdfa0cf1e8f1a42 +Author: Kristian Høgsberg <[email protected]> +Date: Tue Nov 17 09:46:56 2009 -0500 + + Drop shared-core, bsd-core, linux-core and scripts subdirs + +commit a66cf9ce68bdf9bd887f91a38ced4b59c129b3c7 +Author: Kristian Høgsberg <[email protected]> +Date: Tue Nov 17 09:46:39 2009 -0500 + + Use headers copied from kernel instead of shared-core + +commit ba79b1a8c2ea354c89371b5e34e0077f6ecaaa63 +Author: Kristian Høgsberg <[email protected]> +Date: Tue Nov 17 09:39:23 2009 -0500 + + Fix typo in i915 pipe_from_crtc_id ioctl struct name + +commit 2b42af9a2fd8e35e920d61a212ce6b9c85354289 +Author: Kristian Høgsberg <[email protected]> +Date: Tue Nov 17 09:23:59 2009 -0500 + + Copy headers from kernel v2.6.32-rc6-130-g5b8f0be + +commit a99680384ad3daaceee05b3b40dc492cf0e52a0f +Author: Kristian Høgsberg <[email protected]> +Date: Tue Nov 17 09:23:52 2009 -0500 + + Add makefile rule to copy headers from kernel tree + +commit c20706ffe56cc658a4814f89e391c14f6065ec57 +Author: Francisco Jerez <[email protected]> +Date: Sun Nov 15 04:10:02 2009 +0100 + + nouveau: Update some nouveau_class.h definitions from renouveau.xml. + + Signed-off-by: Francisco Jerez <[email protected]> + Signed-off-by: Pekka Paalanen <[email protected]> + +commit 83a35b68f45cebc70152e55ed3f99db485c9a7cd +Author: Chris Wilson <[email protected]> +Date: Wed Nov 11 13:04:38 2009 +0000 + + intel: Export madvise + + Wrap the madvise ioctl for use in APPLE_object_purgeable. + + Signed-off-by: Chris Wilson <[email protected]> + Acked-by: Jesse Barnes <[email protected]> + +commit 89cc98c0d5c1b43a883f13210c472339dde1a4cf +Author: Julien Cristau <[email protected]> +Date: Sat Oct 31 02:25:44 2009 +0100 + + Only install libdrm_intel.pc if we build libdrm_intel + +commit b7ed162d2912d53d03d94f9ceaebf7d96d570c04 +Author: Ben Skeggs <skeg...@beleth.(none)> +Date: Wed Nov 4 17:31:18 2009 +1000 + + nouveau: turn another assertion into an error + + Signed-off-by: Ben Skeggs <skeg...@beleth.(none)> + +commit f4c50630269df4201b89a538cbf8e11646f17d82 +Author: Ben Skeggs <skeg...@beleth.(none)> +Date: Wed Nov 4 15:23:53 2009 +1000 + + nouveau: modify api slightly to allow caller to handle reloc failures + + Signed-off-by: Ben Skeggs <skeg...@beleth.(none)> + +commit a8bdf0e00c0653fd343fd7fd64b5f2e8437bb130 +Author: Ben Skeggs <[email protected]> +Date: Tue Oct 27 14:32:40 2009 +1000 + + nouveau: add reloc refcnt to pending bo list + + Signed-off-by: Ben Skeggs <[email protected]> + +commit 63910f8aa624be5f2eaa78e08a318d388a22f829 +Author: Ben Skeggs <[email protected]> +Date: Tue Nov 3 13:14:32 2009 +1000 + + nouveau: drop rendering on the floor rather than asserting if flush fails + + Signed-off-by: Ben Skeggs <[email protected]> + +commit 68c2ac9640a59881d18e2d55f666c2cd4c21e00b +Author: Ben Skeggs <[email protected]> +Date: Mon Nov 2 18:49:40 2009 +1000 + + nouveau: update view of available aperture space after each flush + + Signed-off-by: Ben Skeggs <[email protected]> + +commit 6eafd1cf386d93bb9e34660227ca6f26aadfeb32 +Author: Mathias Fröhlich <[email protected]> +Date: Tue Nov 3 11:41:26 2009 -0500 + + radeon: fix allocation + + The old code increments the command stream size by another kbyte, but does + not make sure that the requested packet size fits into the stream. The patch + ensures that the whole next packet fits there and rounds the allocated size to + a power of two. + + Signed-off-by: Alex Deucher <[email protected]> + +commit b0b96636dbf93445dd532b09b21fa4fc5ce6bdc7 +Author: Kristian Høgsberg <[email protected]> +Date: Fri Sep 11 13:27:35 2009 -0400 + + Add support for vblank events + + The kernel will now write data to the DRM fd for various event types if + requested. Currently, the only supported event is a vblank event: it contains + the vblank count for the event as well as a timestamp from when the event + ocurred. Since the DRM fd is now pollable, it's easy to integrate into + existing event loops. + +commit 0d7ad7e43ca212b1e9f16cd18f36493cab455e61 +Author: Eric Anholt <[email protected]> +Date: Tue Oct 20 14:19:38 2009 -0700 + + intel: Only call clock_gettime once per unreference_final. + + Notably when freeing a batchbuffer, we often end up freeing many of the + buffers it points at as well. Avoiding repeated calls brings us a 9% CPU + win for cairo-gl. + + [ # ] backend test min(s) median(s) stddev. count + before: + [ 0] gl firefox-talos-gfx 58.941 58.966 0.75% 3/3 + after: + [ 0] gl firefox-talos-gfx 54.186 54.195 0.49% 3/3 + +commit 66d2714f5435944a26685be4210e0e0d7138f3db +Author: Eric Anholt <[email protected]> +Date: Tue Oct 20 13:20:55 2009 -0700 + + intel: Improve bo_references performance by skipping the tree walk. + + If the target we're asking about hasn't ever been used as a relocation + target, then it obviously hasn't been used as a target by the batch's reloc + tree. This is the common case for good GL programming where you only map + fresh buffers, and gives us a 5% win in cairo-gl. + + [ # ] backend test min(s) median(s) stddev. count + before: + [ 0] gl firefox-talos-gfx 64.680 64.756 0.06% 3/3 + after: + [ 0] gl firefox-talos-gfx 60.816 60.970 0.29% 3/3 + +commit 67628aa39dd74807989492af5451a3a5c0232e39 +Author: Ben Skeggs <[email protected]> +Date: Tue Oct 20 12:57:46 2009 +1000 + + nouveau: retry if pushbuf ioctl interrupted by signal + + Signed-off-by: Ben Skeggs <[email protected]> + +commit fdd960a95cca00b19d912a437a2ca3e69fee017e +Author: Ben Skeggs <[email protected]> +Date: Mon Oct 19 09:04:37 2009 +1000 + + nouveau: function to return status of bo being referenced in pushbuf + + Will be used to implement gallium's is_{texture,buffer}_referenced() + callbacks properly. + + Signed-off-by: Ben Skeggs <[email protected]> + +commit 3a387a983ec40cd443e22c1f8d9a6b5b5a8fa0d1 +Author: Patrice Mandin <[email protected]> +Date: Tue Oct 13 22:50:46 2009 +0200 + + nouveau: nv30: add render target logbase2 width,height + +commit a221e4fd929f77e1851fb0089338f1cd5001ddde +Author: Eric Anholt <[email protected]> +Date: Tue Oct 13 11:35:05 2009 -0700 + + intel: Add the defines for the kernel overlay support landing in 2.6.33. + +commit 901bacd29cb5b242f68302b8384de6e193413a49 +Author: Chris Wilson <[email protected]> +Date: Tue Oct 13 15:13:00 2009 +0100 + + intel: Fallback to atomic-ops.h [libatomic-ops-dev] + + Use the external implementation for atomic operations across a wide + range of architectures. + + Signed-off-by: Chris Wilson <[email protected]> + +commit 24c905f84120a7b0bcd7c5e86c58e908b9e850f9 +Author: Chris Wilson <[email protected]> +Date: Tue Oct 13 14:25:54 2009 +0100 + + configure: Typo in error message. + + Signed-off-by: Chris Wilson <[email protected]> + +commit fc8f6be5a9bd84e10149770b76ff9353d25ce2a7 +Author: Chris Wilson <[email protected]> +Date: Mon Oct 12 23:58:47 2009 +0100 + + configure: Conditionally build libdrm_intel + + Only build libdrm_intel automatically if we have support for atomic -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

