drm-snapshot: Changes to 'debian-experimental'
debian/changelog | 17 +++++++++++++++--
debian/control | 2 +-
debian/drm-modules-source.dirs | 1 +
debian/libdrm2.dirs | 1 -
debian/patches/02_link.diff | 39 ---------------------------------------
debian/patches/series | 1 -
libdrm/Makefile.am | 3 +--
libdrm/intel/Makefile.am | 1 +
libdrm/intel/intel_bufmgr.c | 10 ++++++++++
libdrm/intel/intel_bufmgr.h | 2 ++
libdrm/intel/intel_bufmgr_fake.c | 20 ++++++++++++--------
libdrm/intel/intel_bufmgr_gem.c | 23 +++++++++++++++++++++++
libdrm/intel/intel_bufmgr_priv.h | 9 +++++++++
13 files changed, 75 insertions(+), 54 deletions(-)
New commits:
commit dc7981759a1669a08c5227fd4c840d132b32e33c
Author: Chris Lamb <lamby@debian.org>
Date: Wed Oct 15 01:21:21 2008 +0100
Releasing drm-snapshot 2.3.1+git+20081015+458e2d5-1
Many thanks to Julien Cristau for advice and patience.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index e521f2c..0024445 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-drm-snapshot (2.3.1+git+20081015+458e2d5-1) UNRELEASED; urgency=low
+drm-snapshot (2.3.1+git+20081015+458e2d5-1) experimental; urgency=low
[ Julien Cristau ]
* Fixup the merge of upstream git on the debian branch.
@@ -26,7 +26,7 @@ drm-snapshot (2.3.1+git+20081015+458e2d5-1) UNRELEASED; urgency=low
* Create /usr/share/modass/packages in drm-modules-source.dirs instead of
libdrm2.dirs.
- -- Chris Lamb <lamby@debian.org> Wed, 15 Oct 2008 01:04:32 +0100
+ -- Chris Lamb <lamby@debian.org> Wed, 15 Oct 2008 01:20:26 +0100
drm-snapshot (2.3.1+git+20081012+f5327ac-1) experimental; urgency=low
commit f52d12947db3999b103275fefdd75e4823df325c
Author: Chris Lamb <lamby@debian.org>
Date: Wed Oct 15 01:16:44 2008 +0100
Create /usr/share/modass/packages in drm-modules-source.dirs instead of libdrm2.dirs.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index 46e9ba5..e521f2c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -23,6 +23,8 @@ drm-snapshot (2.3.1+git+20081015+458e2d5-1) UNRELEASED; urgency=low
- c6109df... libdrm: don't depend or link to libdrm_intel
* Bump debhelper dependency in drm-modules-source binary package to match
source package.
+ * Create /usr/share/modass/packages in drm-modules-source.dirs instead of
+ libdrm2.dirs.
-- Chris Lamb <lamby@debian.org> Wed, 15 Oct 2008 01:04:32 +0100
diff --git a/debian/drm-modules-source.dirs b/debian/drm-modules-source.dirs
index b601f22..a7360b8 100644
--- a/debian/drm-modules-source.dirs
+++ b/debian/drm-modules-source.dirs
@@ -1 +1,2 @@
usr/src
+usr/share/modass/packages
diff --git a/debian/libdrm2.dirs b/debian/libdrm2.dirs
index 551faf3..6845771 100644
--- a/debian/libdrm2.dirs
+++ b/debian/libdrm2.dirs
@@ -1,2 +1 @@
usr/lib
-usr/share/modass/packages
commit cef6275af90e80cacb25da96dedfb2a40251f095
Author: Chris Lamb <lamby@debian.org>
Date: Wed Oct 15 01:10:46 2008 +0100
Bump debhelper dependency in drm-modules-source binary package to match source package.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index 7e76630..46e9ba5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -21,6 +21,8 @@ drm-snapshot (2.3.1+git+20081015+458e2d5-1) UNRELEASED; urgency=low
- d9c2f65... link libdrm_intel properly
- 3e03d78... intel: Avoid pthread mutex recursion in bufmgr_fake.
- c6109df... libdrm: don't depend or link to libdrm_intel
+ * Bump debhelper dependency in drm-modules-source binary package to match
+ source package.
-- Chris Lamb <lamby@debian.org> Wed, 15 Oct 2008 01:04:32 +0100
diff --git a/debian/control b/debian/control
index e55c09b..65f7696 100644
--- a/debian/control
+++ b/debian/control
@@ -91,7 +91,7 @@ Description: Userspace interface to intel-specific kernel DRM services -- debugg
Package: drm-modules-source
Architecture: all
-Depends: debhelper (>= 5), quilt, make, git-core, module-assistant, ${misc:Depends}
+Depends: debhelper (>= 7), quilt, make, git-core, module-assistant, ${misc:Depends}
Suggests: kernel-package, linux-headers | linux-source
Description: Source for the drm kernel modules
This package provides the source code for the DRM kernel modules. The DRM
commit 2a6dd5daa082d2335286404559fd848852bbcf0d
Author: Chris Lamb <lamby@debian.org>
Date: Wed Oct 15 01:05:26 2008 +0100
New upstream snapshot.
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/changelog b/debian/changelog
index 569191d..7e76630 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
-drm-snapshot (2.3.1+git+20081012+f5327ac-2) UNRELEASED; urgency=low
+drm-snapshot (2.3.1+git+20081015+458e2d5-1) UNRELEASED; urgency=low
+ [ Julien Cristau ]
* Fixup the merge of upstream git on the debian branch.
* Add a new package for the intel-specific bits (libdrm-intel1).
* Build-depend on pkg-config and libpthread-stubs0-dev (closes: #502078).
@@ -13,7 +14,15 @@ drm-snapshot (2.3.1+git+20081012+f5327ac-2) UNRELEASED; urgency=low
* Put /usr/share/modass/packages/drm-modules-source in the modules package,
not libdrm2.
- -- Julien Cristau <jcristau@debian.org> Mon, 13 Oct 2008 23:51:24 +0200
+ [ Chris Lamb ]
+ * New upstream snapshot (for d9c2f65 linking patch):
+ - 458e2d5... intel: Fix compile warning.
+ - 9933838... intel: Add interface for getting tiling mode of a bo.
+ - d9c2f65... link libdrm_intel properly
+ - 3e03d78... intel: Avoid pthread mutex recursion in bufmgr_fake.
+ - c6109df... libdrm: don't depend or link to libdrm_intel
+
+ -- Chris Lamb <lamby@debian.org> Wed, 15 Oct 2008 01:04:32 +0100
drm-snapshot (2.3.1+git+20081012+f5327ac-1) experimental; urgency=low
commit f725efb214c921741cc1b94feaeb6e73abe30816
Author: Chris Lamb <lamby@debian.org>
Date: Wed Oct 15 00:39:59 2008 +0100
Drop 02_link.diff now that it is merged upstream (d9c2f65dd..)
Signed-off-by: Chris Lamb <lamby@debian.org>
diff --git a/debian/patches/02_link.diff b/debian/patches/02_link.diff
deleted file mode 100644
index 7f8a34a..0000000
--- a/debian/patches/02_link.diff
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Julien Cristau <jcristau@debian.org>
-Subject: Fix libdrm vs libdrm_intel link
-
-libdrm_intel needs to be linked against libdrm, not the other way around.
-libdrm_intel is also the only user of the pthread stubs.
-
-Index: drm-snapshot/libdrm/Makefile.am
-===================================================================
---- drm-snapshot.orig/libdrm/Makefile.am
-+++ drm-snapshot/libdrm/Makefile.am
-@@ -18,7 +18,7 @@
- # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
--SUBDIRS = intel
-+SUBDIRS = . intel
-
- libdrm_la_LTLIBRARIES = libdrm.la
- libdrm_ladir = $(libdir)
-@@ -27,7 +27,6 @@
- AM_CFLAGS = -I$(top_srcdir)/shared-core
- libdrm_la_SOURCES = xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c \
- libdrm_lists.h
--libdrm_la_LIBADD = intel/libdrm_intel.la @PTHREADSTUBS_LIBS@
-
- libdrmincludedir = ${includedir}
- libdrminclude_HEADERS = xf86drm.h
-Index: drm-snapshot/libdrm/intel/Makefile.am
-===================================================================
---- drm-snapshot.orig/libdrm/intel/Makefile.am
-+++ drm-snapshot/libdrm/intel/Makefile.am
-@@ -32,6 +32,7 @@
- libdrm_intel_la_LTLIBRARIES = libdrm_intel.la
- libdrm_intel_ladir = $(libdir)
- libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
-+libdrm_intel_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-
- libdrm_intel_la_SOURCES = \
- intel_bufmgr.c \
diff --git a/debian/patches/series b/debian/patches/series
index d46ec9d..8ca2297 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
01_default_perms.diff
-02_link.diff
commit 458e2d5bc5f949d00cfcc9a3f9ce89f0c9f5628c
Author: Eric Anholt <eric@anholt.net>
Date: Tue Oct 14 13:33:38 2008 -0700
intel: Fix compile warning.
diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c
index cfe9a73..8e476c4 100644
--- a/libdrm/intel/intel_bufmgr_fake.c
+++ b/libdrm/intel/intel_bufmgr_fake.c
@@ -732,7 +732,6 @@ static void
dri_fake_bo_wait_rendering(dri_bo *bo)
{
dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr;
- dri_bo_fake *bo_fake = (dri_bo_fake *)bo;
pthread_mutex_lock(&bufmgr_fake->lock);
dri_fake_bo_wait_rendering_locked(bo);
commit 993383873c215ab11975d98b93f131a4e3ea7ce6
Author: Eric Anholt <eric@anholt.net>
Date: Tue Oct 14 13:18:11 2008 -0700
intel: Add interface for getting tiling mode of a bo.
diff --git a/libdrm/intel/intel_bufmgr.c b/libdrm/intel/intel_bufmgr.c
index fc7284b..92b6046 100644
--- a/libdrm/intel/intel_bufmgr.c
+++ b/libdrm/intel/intel_bufmgr.c
@@ -192,3 +192,13 @@ int dri_bo_set_tiling(dri_bo *bo, uint32_t *tiling_mode)
*tiling_mode = I915_TILING_NONE;
return 0;
}
+
+int dri_bo_get_tiling(dri_bo *bo, uint32_t *tiling_mode, uint32_t *swizzle_mode)
+{
+ if (bo->bufmgr->bo_get_tiling)
+ return bo->bufmgr->bo_get_tiling(bo, tiling_mode, swizzle_mode);
+
+ *tiling_mode = I915_TILING_NONE;
+ *swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
+ return 0;
+}
diff --git a/libdrm/intel/intel_bufmgr.h b/libdrm/intel/intel_bufmgr.h
index c44d596..0c7b0e4 100644
--- a/libdrm/intel/intel_bufmgr.h
+++ b/libdrm/intel/intel_bufmgr.h
@@ -87,6 +87,8 @@ int dri_bo_emit_reloc(dri_bo *reloc_buf,
int dri_bo_pin(dri_bo *buf, uint32_t alignment);
int dri_bo_unpin(dri_bo *buf);
int dri_bo_set_tiling(dri_bo *buf, uint32_t *tiling_mode);
+int dri_bo_get_tiling(dri_bo *buf, uint32_t *tiling_mode,
+ uint32_t *swizzle_mode);
int dri_bo_flink(dri_bo *buf, uint32_t *name);
/* intel_bufmgr_gem.c */
diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c
index 9bd4441..33853c4 100644
--- a/libdrm/intel/intel_bufmgr_gem.c
+++ b/libdrm/intel/intel_bufmgr_gem.c
@@ -873,6 +873,28 @@ dri_gem_bo_set_tiling(dri_bo *bo, uint32_t *tiling_mode)
}
static int
+dri_gem_bo_get_tiling(dri_bo *bo, uint32_t *tiling_mode, uint32_t *swizzle_mode)
+{
+ dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr;
+ dri_bo_gem *bo_gem = (dri_bo_gem *)bo;
+ struct drm_i915_gem_get_tiling get_tiling;
+ int ret;
+
+ get_tiling.handle = bo_gem->gem_handle;
+
+ ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_GET_TILING, &get_tiling);
+ if (ret != 0) {
+ *tiling_mode = I915_TILING_NONE;
+ *swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
+ return -errno;
+ }
+
+ *tiling_mode = get_tiling.tiling_mode;
+ *swizzle_mode = get_tiling.swizzle_mode;
+ return 0;
+}
+
+static int
dri_gem_bo_flink(dri_bo *bo, uint32_t *name)
{
dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr;
@@ -959,6 +981,7 @@ intel_bufmgr_gem_init(int fd, int batch_size)
bufmgr_gem->bufmgr.bo_emit_reloc = dri_gem_bo_emit_reloc;
bufmgr_gem->bufmgr.bo_pin = dri_gem_bo_pin;
bufmgr_gem->bufmgr.bo_unpin = dri_gem_bo_unpin;
+ bufmgr_gem->bufmgr.bo_get_tiling = dri_gem_bo_get_tiling;
bufmgr_gem->bufmgr.bo_set_tiling = dri_gem_bo_set_tiling;
bufmgr_gem->bufmgr.bo_flink = dri_gem_bo_flink;
bufmgr_gem->bufmgr.bo_exec = dri_gem_bo_exec;
diff --git a/libdrm/intel/intel_bufmgr_priv.h b/libdrm/intel/intel_bufmgr_priv.h
index 7f39bfc..cbf3b31 100644
--- a/libdrm/intel/intel_bufmgr_priv.h
+++ b/libdrm/intel/intel_bufmgr_priv.h
@@ -150,6 +150,15 @@ struct _dri_bufmgr {
*/
int (*bo_set_tiling) (dri_bo *bo, uint32_t *tiling_mode);
/**
+ * Get the current tiling (and resulting swizzling) mode for the bo.
+ *
+ * \param buf Buffer to get tiling mode for
+ * \param tiling_mode returned tiling mode
+ * \param swizzle_mode returned swizzling mode
+ */
+ int (*bo_get_tiling) (dri_bo *bo, uint32_t *tiling_mode,
+ uint32_t *swizzle_mode);
+ /**
* Create a visible name for a buffer which can be used by other apps
*
* \param buf Buffer to create a name for
commit d9c2f65dd8e50736a33e97a55c257ef6843e1ce7
Author: Julien Cristau <jcristau@debian.org>
Date: Tue Oct 14 01:25:57 2008 +0200
link libdrm_intel properly
libdrm_intel needs symbols from libdrm, so link against it.
diff --git a/libdrm/Makefile.am b/libdrm/Makefile.am
index dbe58fb..63f6e64 100644
--- a/libdrm/Makefile.am
+++ b/libdrm/Makefile.am
@@ -18,7 +18,7 @@
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-SUBDIRS = intel
+SUBDIRS = . intel
libdrm_la_LTLIBRARIES = libdrm.la
libdrm_ladir = $(libdir)
@@ -27,7 +27,6 @@ libdrm_la_LDFLAGS = -version-number 2:3:0 -no-undefined
AM_CFLAGS = -I$(top_srcdir)/shared-core
libdrm_la_SOURCES = xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c \
libdrm_lists.h
-libdrm_la_LIBADD = @PTHREADSTUBS_LIBS@
libdrmincludedir = ${includedir}
libdrminclude_HEADERS = xf86drm.h
diff --git a/libdrm/intel/Makefile.am b/libdrm/intel/Makefile.am
index 92388c2..5e3dee0 100644
--- a/libdrm/intel/Makefile.am
+++ b/libdrm/intel/Makefile.am
@@ -32,6 +32,7 @@ AM_CFLAGS = \
libdrm_intel_la_LTLIBRARIES = libdrm_intel.la
libdrm_intel_ladir = $(libdir)
libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+libdrm_intel_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
libdrm_intel_la_SOURCES = \
intel_bufmgr.c \
commit 3e03d781f7c41a88d5d5f895be9c443bf3592ef0
Author: Eric Anholt <eric@anholt.net>
Date: Mon Oct 13 13:41:10 2008 -0700
intel: Avoid pthread mutex recursion in bufmgr_fake.
Bug #18035. Fixes deadlock in glean texCube testcase.
diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c
index 1be4698..cfe9a73 100644
--- a/libdrm/intel/intel_bufmgr_fake.c
+++ b/libdrm/intel/intel_bufmgr_fake.c
@@ -717,20 +717,25 @@ dri_bufmgr_fake_wait_idle(dri_bufmgr_fake *bufmgr_fake)
* the necessary flushing.
*/
static void
-dri_fake_bo_wait_rendering(dri_bo *bo)
+dri_fake_bo_wait_rendering_locked(dri_bo *bo)
{
dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr;
dri_bo_fake *bo_fake = (dri_bo_fake *)bo;
- pthread_mutex_lock(&bufmgr_fake->lock);
-
- if (bo_fake->block == NULL || !bo_fake->block->fenced) {
- pthread_mutex_unlock(&bufmgr_fake->lock);
+ if (bo_fake->block == NULL || !bo_fake->block->fenced)
return;
- }
_fence_wait_internal(bufmgr_fake, bo_fake->block->fence);
+}
+
+static void
+dri_fake_bo_wait_rendering(dri_bo *bo)
+{
+ dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr;
+ dri_bo_fake *bo_fake = (dri_bo_fake *)bo;
+ pthread_mutex_lock(&bufmgr_fake->lock);
+ dri_fake_bo_wait_rendering_locked(bo);
pthread_mutex_unlock(&bufmgr_fake->lock);
}
@@ -972,7 +977,7 @@ dri_fake_bo_map_locked(dri_bo *bo, int write_enable)
if (!(bo_fake->flags & BM_NO_FENCE_SUBDATA) &&
bo_fake->block->fenced) {
- dri_fake_bo_wait_rendering(bo);
+ dri_fake_bo_wait_rendering_locked(bo);
}
bo->virtual = bo_fake->block->virtual;
@@ -987,7 +992,7 @@ dri_fake_bo_map_locked(dri_bo *bo, int write_enable)
if ((bo_fake->card_dirty == 1) && bo_fake->block) {
if (bo_fake->block->fenced)
- dri_fake_bo_wait_rendering(bo);
+ dri_fake_bo_wait_rendering_locked(bo);
memcpy(bo_fake->backing_store, bo_fake->block->virtual, bo_fake->block->bo->size);
bo_fake->card_dirty = 0;
commit c6109df93bc062d3ec2ff2808babe826532d11b3
Author: Dave Airlie <airlied@linux.ie>
Date: Mon Oct 13 07:16:33 2008 +1000
libdrm: don't depend or link to libdrm_intel
diff --git a/libdrm/Makefile.am b/libdrm/Makefile.am
index 543b278..dbe58fb 100644
--- a/libdrm/Makefile.am
+++ b/libdrm/Makefile.am
@@ -27,7 +27,7 @@ libdrm_la_LDFLAGS = -version-number 2:3:0 -no-undefined
AM_CFLAGS = -I$(top_srcdir)/shared-core
libdrm_la_SOURCES = xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c \
libdrm_lists.h
-libdrm_la_LIBADD = intel/libdrm_intel.la @PTHREADSTUBS_LIBS@
+libdrm_la_LIBADD = @PTHREADSTUBS_LIBS@
libdrmincludedir = ${includedir}
libdrminclude_HEADERS = xf86drm.h
Reply to: