libdrm: Changes to 'ubuntu'
.gitignore | 1
ChangeLog | 96 +++++++++++++++++++++++++++++++++
Makefile.am | 4 -
configure.ac | 22 ++++++-
debian/changelog | 10 ++-
debian/control | 2
debian/patches/02_fix_build.diff | 12 ----
debian/patches/series | 1
intel/intel_chipset.h | 8 ++
man/Makefile.am | 37 ++++++++----
nouveau/libdrm_nouveau.pc.in | 2
radeon/r600_pci_ids.h | 14 ++++
radeon/radeon_surface.c | 112 ++++++++++++++++++++++++++++++---------
13 files changed, 259 insertions(+), 62 deletions(-)
New commits:
commit b823cf2338e7d64e1cee88f138830b23dbad2540
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Feb 7 10:53:28 2013 +0200
release to raring
and drop 02_fix_build.diff
diff --git a/debian/changelog b/debian/changelog
index 1982623..146bdcc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libdrm (2.4.42-0ubuntu1) raring; urgency=low
+
+ * Sync from unreleased debian git.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 07 Feb 2013 10:52:58 +0200
+
libdrm (2.4.42-1) UNRELEASED; urgency=low
[ Julien Cristau ]
diff --git a/debian/patches/02_fix_build.diff b/debian/patches/02_fix_build.diff
deleted file mode 100644
index 234101b..0000000
--- a/debian/patches/02_fix_build.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 10cc9a4..1776610 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -348,7 +348,6 @@ AC_CONFIG_FILES([
- tests/vbltest/Makefile
- include/Makefile
- include/drm/Makefile
-- man/Makefile
- libdrm.pc])
- AC_OUTPUT
-
diff --git a/debian/patches/series b/debian/patches/series
index e64f736..2e425c0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,2 @@
01_default_perms.diff
-02_fix_build.diff
03_build_against_librt.diff
commit 98e413f259a029f8cd30d73c346331c6627f0832
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Feb 7 10:51:25 2013 +0200
control: Bump policy to 3.9.4, no changes.
diff --git a/debian/changelog b/debian/changelog
index 180ebf5..1982623 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,9 @@ libdrm (2.4.42-1) UNRELEASED; urgency=low
[ Maarten Lankhorst ]
* New upstream release.
+ [ Timo Aaltonen ]
+ * control: Bump policy to 3.9.4, no changes.
+
-- Julien Cristau <jcristau@debian.org> Tue, 25 Dec 2012 13:17:28 +0100
libdrm (2.4.40-1) experimental; urgency=low
diff --git a/debian/control b/debian/control
index 12171e7..8ae824c 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,7 @@ Build-Depends:
libpthread-stubs0-dev,
libudev-dev [linux-any],
libpciaccess-dev,
-Standards-Version: 3.9.2
+Standards-Version: 3.9.4
Section: libs
Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libdrm
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libdrm.git
commit b133b92d52fe8c5b0becd29c6a50722095cccc26
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Feb 7 10:50:54 2013 +0200
drop 02_fix_build.diff, FTBFS with sbuild
diff --git a/debian/changelog b/debian/changelog
index 11b7635..180ebf5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,7 +5,6 @@ libdrm (2.4.42-1) UNRELEASED; urgency=low
[ Maarten Lankhorst ]
* New upstream release.
- * Add 02_fix_build.diff fix a build error.
-- Julien Cristau <jcristau@debian.org> Tue, 25 Dec 2012 13:17:28 +0100
diff --git a/debian/patches/02_fix_build.diff b/debian/patches/02_fix_build.diff
deleted file mode 100644
index 234101b..0000000
--- a/debian/patches/02_fix_build.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 10cc9a4..1776610 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -348,7 +348,6 @@ AC_CONFIG_FILES([
- tests/vbltest/Makefile
- include/Makefile
- include/drm/Makefile
-- man/Makefile
- libdrm.pc])
- AC_OUTPUT
-
diff --git a/debian/patches/series b/debian/patches/series
index e64f736..2e425c0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,2 @@
01_default_perms.diff
-02_fix_build.diff
03_build_against_librt.diff
commit ce6151da5bc5d767adff7f36f5b9f473286d1209
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Feb 7 10:39:56 2013 +0200
update the changelogs
diff --git a/ChangeLog b/ChangeLog
index e1df3ae..275a4de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,99 @@
+commit 183b5f20b59c83f57967b41d1e3a90c073e8df76
+Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+Date: Tue Feb 5 14:08:41 2013 +0100
+
+ configure.ac: bump version to 2.4.42 for release
+
+ Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+
+commit f9a9311c5e96606de9726ae4021209897b9bb2d7
+Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+Date: Tue Feb 5 14:12:06 2013 +0100
+
+ libdrm: remove DISTCHECK_CONFIGURE_FLAGS
+
+ I'm fairly sure the extra flags it specifies no longer exist, so
+ there is no point in keeping it. It only adds a warning when
+ running make distcheck.
+
+ Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+
+commit 353f073bc134a94d13fe82e4f3d983efe3cf70ad
+Author: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu Jan 24 17:53:37 2013 -0500
+
+ radeon: add OLAND pci ids
+
+ Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+
+commit 76ae1f4837ceb2c15ccf847e4abe2b5c4f66df85
+Author: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu Jan 24 17:37:10 2013 -0500
+
+ radeon: add OLAND family
+
+ Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+
+commit ef866c7293e699b119ae61738e221857a36a5362
+Author: Jesse Barnes <jbarnes@virtuousgeek.org>
+Date: Sat Feb 2 11:10:24 2013 +0100
+
+ intel: add more VLV PCI IDs
+
+commit 9dc0072e8d5a47fb0b2ada50fb897cb2c740bb40
+Author: Thierry Reding <thierry.reding@avionic-design.de>
+Date: Fri Jan 18 13:22:01 2013 +0100
+
+ man: Fix typo and use $() for make expressions
+
+ Due to the typo, none of the .xml files would end up in the release
+ tarball and cause make distcheck as well as builds from the tarball to
+ fail.
+
+ Using $() isn't strictly necessary but other variables and expressions
+ use that variant already so it makes the usage consistent.
+
+ Reviewed-by: David Herrmann <dh.herrmann@googlemail.com>
+ Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
+
+commit 303ca37e722e68900cb7eb43ddbef8069b0c711b
+Author: Michel Dänzer <michel.daenzer@amd.com>
+Date: Thu Jan 17 19:03:42 2013 +0100
+
+ radeon: Fix 1D tiling layout on SI.
+
+ Very similar to Evergreen, but slightly different rules for tile / slice
+ alignment. Fortunately, these map quite naturally onto the previous fixes for
+ linear aligned layout on SI.
+
+ 2D tiling still needs more work here and possibly in the kernel.
+
+ Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+
+commit 08cb5c1d0245f6bfc1dd4d041eb418bc160c7b05
+Author: David Herrmann <dh.herrmann@googlemail.com>
+Date: Wed Jan 16 19:35:25 2013 +0100
+
+ man: fix manpage build instructions
+
+ This fixes all the out-of-tree build-failures with manpages and uses a
+ .man_fixup file to avoid overriding man-pages on every build.
+
+ Manpages are only built if xsltproc is found and the stylesheets are
+ available locally. You can disable building manpages with
+ --disable-manpages so the quite expensive xsltproc procedure can be
+ skipped.
+
+ Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
+
+commit 481763c2c7f5224a9f053ab3a2b2356eb89a96f0
+Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+Date: Wed Jan 16 14:29:14 2013 +0100
+
+ nouveau: use @PACKAGE_VERSION@ in libdrm_nouveau.pc
+
+ Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+
commit 007bff7a034741dcf9d1716583f91fc4453d4112
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jan 16 13:06:52 2013 +0100
diff --git a/debian/changelog b/debian/changelog
index 9111d6c..11b7635 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-libdrm (2.4.41-1) UNRELEASED; urgency=low
+libdrm (2.4.42-1) UNRELEASED; urgency=low
[ Julien Cristau ]
* Bump libdrm2 shlibs to 2.4.38.
commit 183b5f20b59c83f57967b41d1e3a90c073e8df76
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Tue Feb 5 14:08:41 2013 +0100
configure.ac: bump version to 2.4.42 for release
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
diff --git a/configure.ac b/configure.ac
index 9ee7940..e2e3466 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
AC_PREREQ([2.63])
AC_INIT([libdrm],
- [2.4.41],
+ [2.4.42],
[https://bugs.freedesktop.org/enter_bug.cgi?product=DRI],
[libdrm])
commit f9a9311c5e96606de9726ae4021209897b9bb2d7
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Tue Feb 5 14:12:06 2013 +0100
libdrm: remove DISTCHECK_CONFIGURE_FLAGS
I'm fairly sure the extra flags it specifies no longer exist, so
there is no point in keeping it. It only adds a warning when
running make distcheck.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
diff --git a/Makefile.am b/Makefile.am
index 8ecd9d9..94572d0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,8 +20,6 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-DISTCHECK_CONFIGURE_FLAGS = --enable-nouveau-experimental-api --enable-radeon-experimental-api
-
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = libdrm.pc
commit 353f073bc134a94d13fe82e4f3d983efe3cf70ad
Author: Alex Deucher <alexander.deucher@amd.com>
Date: Thu Jan 24 17:53:37 2013 -0500
radeon: add OLAND pci ids
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/radeon/r600_pci_ids.h b/radeon/r600_pci_ids.h
index 3b67cbe..ccc3ea5 100644
--- a/radeon/r600_pci_ids.h
+++ b/radeon/r600_pci_ids.h
@@ -361,3 +361,17 @@ CHIPSET(0x6839, VERDE_6839, VERDE)
CHIPSET(0x683B, VERDE_683B, VERDE)
CHIPSET(0x683D, VERDE_683D, VERDE)
CHIPSET(0x683F, VERDE_683F, VERDE)
+
+CHIPSET(0x6600, OLAND_6600, OLAND)
+CHIPSET(0x6601, OLAND_6601, OLAND)
+CHIPSET(0x6602, OLAND_6602, OLAND)
+CHIPSET(0x6603, OLAND_6603, OLAND)
+CHIPSET(0x6606, OLAND_6606, OLAND)
+CHIPSET(0x6607, OLAND_6607, OLAND)
+CHIPSET(0x6610, OLAND_6610, OLAND)
+CHIPSET(0x6611, OLAND_6611, OLAND)
+CHIPSET(0x6613, OLAND_6613, OLAND)
+CHIPSET(0x6620, OLAND_6620, OLAND)
+CHIPSET(0x6621, OLAND_6621, OLAND)
+CHIPSET(0x6623, OLAND_6623, OLAND)
+CHIPSET(0x6631, OLAND_6631, OLAND)
commit 76ae1f4837ceb2c15ccf847e4abe2b5c4f66df85
Author: Alex Deucher <alexander.deucher@amd.com>
Date: Thu Jan 24 17:37:10 2013 -0500
radeon: add OLAND family
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
index 8e93873..d52f457 100644
--- a/radeon/radeon_surface.c
+++ b/radeon/radeon_surface.c
@@ -72,6 +72,7 @@ enum radeon_family {
CHIP_TAHITI,
CHIP_PITCAIRN,
CHIP_VERDE,
+ CHIP_OLAND,
CHIP_LAST,
};
commit ef866c7293e699b119ae61738e221857a36a5362
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date: Sat Feb 2 11:10:24 2013 +0100
intel: add more VLV PCI IDs
diff --git a/intel/intel_chipset.h b/intel/intel_chipset.h
index a2eb894..ebec2f8 100644
--- a/intel/intel_chipset.h
+++ b/intel/intel_chipset.h
@@ -84,6 +84,9 @@
#define PCI_CHIP_HASWELL_CRW_S_GT2_PLUS 0x0D3A
#define PCI_CHIP_VALLEYVIEW_PO 0x0f30 /* power on board */
+#define PCI_CHIP_VALLEYVIEW_1 0x0f31
+#define PCI_CHIP_VALLEYVIEW_2 0x0f32
+#define PCI_CHIP_VALLEYVIEW_3 0x0f33
#define IS_830(dev) (dev == 0x3577)
#define IS_845(dev) (dev == 0x2562)
@@ -124,7 +127,10 @@
#define IS_I965GM(dev) (dev == 0x2A02)
-#define IS_VALLEYVIEW(dev) (dev == 0xf30)
+#define IS_VALLEYVIEW(dev) (((dev) == PCI_CHIP_VALLEYVIEW_PO) || \
+ ((dev) == PCI_CHIP_VALLEYVIEW_1) || \
+ ((dev) == PCI_CHIP_VALLEYVIEW_2) || \
+ ((dev) == PCI_CHIP_VALLEYVIEW_3))
#define IS_GEN4(dev) (dev == 0x2972 || \
dev == 0x2982 || \
commit 9dc0072e8d5a47fb0b2ada50fb897cb2c740bb40
Author: Thierry Reding <thierry.reding@avionic-design.de>
Date: Fri Jan 18 13:22:01 2013 +0100
man: Fix typo and use $() for make expressions
Due to the typo, none of the .xml files would end up in the release
tarball and cause make distcheck as well as builds from the tarball to
fail.
Using $() isn't strictly necessary but other variables and expressions
use that variant already so it makes the usage consistent.
Reviewed-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
diff --git a/man/Makefile.am b/man/Makefile.am
index 25202e2..d25a293 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -17,7 +17,8 @@ MANPAGES_ALIASES = \
drm-ttm.7
XML_FILES = \
- ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubs %.7,%.xml,$(MANPAGES)}}}}
+ $(patsubst %.1,%.xml,$(patsubst %.3,%.xml,$(patsubst %.5,%.xml,$(patsubst %.7,%.xml,$(MANPAGES)))))
+
EXTRA_DIST = $(XML_FILES)
CLEANFILES = $(MANPAGES) $(MANPAGES_ALIASES) .man_fixup
man_MANS =
commit 303ca37e722e68900cb7eb43ddbef8069b0c711b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Thu Jan 17 19:03:42 2013 +0100
radeon: Fix 1D tiling layout on SI.
Very similar to Evergreen, but slightly different rules for tile / slice
alignment. Fortunately, these map quite naturally onto the previous fixes for
linear aligned layout on SI.
2D tiling still needs more work here and possibly in the kernel.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
index eb587d2..8e93873 100644
--- a/radeon/radeon_surface.c
+++ b/radeon/radeon_surface.c
@@ -1000,25 +1000,28 @@ static int eg_surface_best(struct radeon_surface_manager *surf_man,
* Southern Islands family
*/
-static void si_surf_minify_linear_aligned(struct radeon_surface *surf,
- unsigned level,
- uint32_t xalign, uint32_t yalign, uint32_t zalign, uint32_t slice_align,
- unsigned offset)
+static void si_surf_minify(struct radeon_surface *surf,
+ struct radeon_surface_level *surflevel,
+ unsigned bpe, unsigned level,
+ uint32_t xalign, uint32_t yalign, uint32_t zalign, uint32_t slice_align,
+ unsigned offset)
{
- surf->level[level].npix_x = mip_minify(surf->npix_x, level);
- surf->level[level].npix_y = mip_minify(surf->npix_y, level);
- surf->level[level].npix_z = mip_minify(surf->npix_z, level);
+ surflevel->npix_x = mip_minify(surf->npix_x, level);
+ surflevel->npix_y = mip_minify(surf->npix_y, level);
+ surflevel->npix_z = mip_minify(surf->npix_z, level);
if (level == 0 && surf->last_level > 0) {
- surf->level[level].nblk_x = (next_power_of_two(surf->level[level].npix_x) + surf->blk_w - 1) / surf->blk_w;
- surf->level[level].nblk_y = (next_power_of_two(surf->level[level].npix_y) + surf->blk_h - 1) / surf->blk_h;
- surf->level[level].nblk_z = (next_power_of_two(surf->level[level].npix_z) + surf->blk_d - 1) / surf->blk_d;
+ surflevel->nblk_x = (next_power_of_two(surflevel->npix_x) + surf->blk_w - 1) / surf->blk_w;
+ surflevel->nblk_y = (next_power_of_two(surflevel->npix_y) + surf->blk_h - 1) / surf->blk_h;
+ surflevel->nblk_z = (next_power_of_two(surflevel->npix_z) + surf->blk_d - 1) / surf->blk_d;
} else {
- surf->level[level].nblk_x = (surf->level[level].npix_x + surf->blk_w - 1) / surf->blk_w;
- surf->level[level].nblk_y = (surf->level[level].npix_y + surf->blk_h - 1) / surf->blk_h;
- surf->level[level].nblk_z = (surf->level[level].npix_z + surf->blk_d - 1) / surf->blk_d;
+ surflevel->nblk_x = (surflevel->npix_x + surf->blk_w - 1) / surf->blk_w;
+ surflevel->nblk_y = (surflevel->npix_y + surf->blk_h - 1) / surf->blk_h;
+ surflevel->nblk_z = (surflevel->npix_z + surf->blk_d - 1) / surf->blk_d;
}
+ surflevel->nblk_y = ALIGN(surflevel->nblk_y, yalign);
+
/* XXX: Texture sampling uses unexpectedly large pitches in some cases,
* these are just guesses for the rules behind those
*/
@@ -1027,17 +1030,16 @@ static void si_surf_minify_linear_aligned(struct radeon_surface *surf,
xalign = MAX2(xalign, slice_align / surf->bpe);
else
/* Small rows evenly distributed across slice */
- xalign = MAX2(xalign, slice_align / surf->bpe / surf->level[level].npix_y);
+ xalign = MAX2(xalign, slice_align / surf->bpe / surflevel->nblk_y);
- surf->level[level].nblk_x = ALIGN(surf->level[level].nblk_x, xalign);
- surf->level[level].nblk_y = ALIGN(surf->level[level].nblk_y, yalign);
- surf->level[level].nblk_z = ALIGN(surf->level[level].nblk_z, zalign);
+ surflevel->nblk_x = ALIGN(surflevel->nblk_x, xalign);
+ surflevel->nblk_z = ALIGN(surflevel->nblk_z, zalign);
- surf->level[level].offset = offset;
- surf->level[level].pitch_bytes = surf->level[level].nblk_x * surf->bpe * surf->nsamples;
- surf->level[level].slice_size = ALIGN(surf->level[level].pitch_bytes * surf->level[level].nblk_y, slice_align);
+ surflevel->offset = offset;
+ surflevel->pitch_bytes = surflevel->nblk_x * surf->bpe * surf->nsamples;
+ surflevel->slice_size = ALIGN(surflevel->pitch_bytes * surflevel->nblk_y, slice_align);
- surf->bo_size = offset + surf->level[level].slice_size * surf->level[level].nblk_z * surf->array_size;
+ surf->bo_size = offset + surflevel->slice_size * surflevel->nblk_z * surf->array_size;
}
static int si_surface_init_linear_aligned(struct radeon_surface_manager *surf_man,
@@ -1059,7 +1061,48 @@ static int si_surface_init_linear_aligned(struct radeon_surface_manager *surf_ma
/* build mipmap tree */
for (i = start_level; i <= surf->last_level; i++) {
surf->level[i].mode = RADEON_SURF_MODE_LINEAR_ALIGNED;
- si_surf_minify_linear_aligned(surf, i, xalign, yalign, zalign, slice_align, offset);
+ si_surf_minify(surf, surf->level+i, surf->bpe, i, xalign, yalign,
+ zalign, slice_align, offset);
+ /* level0 and first mipmap need to have alignment */
+ offset = surf->bo_size;
+ if ((i == 0)) {
+ offset = ALIGN(offset, surf->bo_alignment);
+ }
+ }
+ return 0;
+}
+
+static int si_surface_init_1d(struct radeon_surface_manager *surf_man,
+ struct radeon_surface *surf,
+ struct radeon_surface_level *level,
+ unsigned bpe,
+ uint64_t offset, unsigned start_level)
+{
+ uint32_t xalign, yalign, zalign, slice_align;
+ unsigned i;
+
+ /* compute alignment */
+ xalign = 8;
+ yalign = 8;
+ zalign = 1;
+ slice_align = surf_man->hw_info.group_bytes;
+ if (surf->flags & RADEON_SURF_SCANOUT) {
+ xalign = MAX2((bpe == 1) ? 64 : 32, xalign);
+ }
+
+ if (!start_level) {
+ unsigned alignment = MAX2(256, surf_man->hw_info.group_bytes);
+ surf->bo_alignment = MAX2(surf->bo_alignment, alignment);
+
+ if (offset) {
+ offset = ALIGN(offset, alignment);
+ }
+ }
+
+ /* build mipmap tree */
+ for (i = start_level; i <= surf->last_level; i++) {
+ level[i].mode = RADEON_SURF_MODE_1D;
+ si_surf_minify(surf, level+i, bpe, i, xalign, yalign, zalign, slice_align, offset);
/* level0 and first mipmap need to have alignment */
offset = surf->bo_size;
if ((i == 0)) {
@@ -1069,6 +1112,28 @@ static int si_surface_init_linear_aligned(struct radeon_surface_manager *surf_ma
return 0;
}
+static int si_surface_init_1d_miptrees(struct radeon_surface_manager *surf_man,
+ struct radeon_surface *surf)
+{
+ unsigned zs_flags = RADEON_SURF_ZBUFFER | RADEON_SURF_SBUFFER;
+ int r, is_depth_stencil = (surf->flags & zs_flags) == zs_flags;
+ /* Old libdrm headers didn't have stencil_level in it. This prevents crashes. */
+ struct radeon_surface_level tmp[RADEON_SURF_MAX_LEVEL];
+ struct radeon_surface_level *stencil_level =
+ (surf->flags & RADEON_SURF_HAS_SBUFFER_MIPTREE) ? surf->stencil_level : tmp;
+
+ r = si_surface_init_1d(surf_man, surf, surf->level, surf->bpe, 0, 0);
+ if (r)
+ return r;
+
+ if (is_depth_stencil) {
+ r = si_surface_init_1d(surf_man, surf, stencil_level, 1,
+ surf->bo_size, 0);
+ surf->stencil_offset = stencil_level[0].offset;
+ }
+ return r;
+}
+
static int si_surface_init(struct radeon_surface_manager *surf_man,
struct radeon_surface *surf)
{
@@ -1115,7 +1180,7 @@ static int si_surface_init(struct radeon_surface_manager *surf_man,
r = si_surface_init_linear_aligned(surf_man, surf, 0, 0);
break;
case RADEON_SURF_MODE_1D:
- r = eg_surface_init_1d_miptrees(surf_man, surf);
+ r = si_surface_init_1d_miptrees(surf_man, surf);
break;
case RADEON_SURF_MODE_2D:
r = eg_surface_init_2d_miptrees(surf_man, surf);
commit 08cb5c1d0245f6bfc1dd4d041eb418bc160c7b05
Author: David Herrmann <dh.herrmann@googlemail.com>
Date: Wed Jan 16 19:35:25 2013 +0100
man: fix manpage build instructions
This fixes all the out-of-tree build-failures with manpages and uses a
.man_fixup file to avoid overriding man-pages on every build.
Manpages are only built if xsltproc is found and the stylesheets are
available locally. You can disable building manpages with
--disable-manpages so the quite expensive xsltproc procedure can be
skipped.
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
diff --git a/.gitignore b/.gitignore
index 1de66bc..225fd80 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,6 +52,7 @@ libkms.pc
libtool
ltmain.sh
mach64.kld
+man/.man_fixup
mga.kld
missing
mkinstalldirs
diff --git a/Makefile.am b/Makefile.am
index 9f106d3..8ecd9d9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -49,7 +49,7 @@ if HAVE_EXYNOS
EXYNOS_SUBDIR = exynos
endif
-SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) $(OMAP_SUBDIR) $(EXYNOS_SUBDIR) tests include
+SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) $(OMAP_SUBDIR) $(EXYNOS_SUBDIR) tests include man
libdrm_la_LTLIBRARIES = libdrm.la
libdrm_ladir = $(libdir)
diff --git a/configure.ac b/configure.ac
index 10cc9a4..9ee7940 100644
--- a/configure.ac
+++ b/configure.ac
@@ -226,8 +226,26 @@ if test "x$HAVE_LIBUDEV" = xyes; then
fi
AM_CONDITIONAL(HAVE_LIBUDEV, [test "x$HAVE_LIBUDEV" = xyes])
+# xsltproc for docbook manpages
+AC_ARG_ENABLE([manpages],
+ AS_HELP_STRING([--disable-manpages], [disable manpages @<:@default=enabled@:>@]),
+ [MANS=$enableval], [MANS=auto])
AC_PATH_PROG(XSLTPROC, xsltproc)
-AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
+AM_CONDITIONAL([BUILD_MANPAGES], [test "x$XSLTPROC" != "x" -a "x$MANS" != "xno"])
+
+# check for offline man-pages stylesheet
+AC_MSG_CHECKING([for docbook manpages stylesheet])
+MANPAGES_STYLESHEET="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
+AC_PATH_PROGS_FEATURE_CHECK([XSLTPROC_TMP], [xsltproc],
+ AS_IF([`"$ac_path_XSLTPROC_TMP" --nonet "$MANPAGES_STYLESHEET" > /dev/null 2>&1`],
+ [HAVE_MANPAGES_STYLESHEET=yes]))
+if test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"; then
+ AC_SUBST(MANPAGES_STYLESHEET)
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+AM_CONDITIONAL([HAVE_MANPAGES_STYLESHEET], [test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"])
if test "x$INTEL" != "xno" -o "x$RADEON" != "xno" -o "x$NOUVEAU" != "xno" -o "x$OMAP" != "xno"; then
# Check for atomic intrinsics
diff --git a/man/Makefile.am b/man/Makefile.am
index 32acd07..25202e2 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -18,37 +18,45 @@ MANPAGES_ALIASES = \
XML_FILES = \
${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubs %.7,%.xml,$(MANPAGES)}}}}
-CLEANFILES =
-EXTRA_DIST =
+EXTRA_DIST = $(XML_FILES)
+CLEANFILES = $(MANPAGES) $(MANPAGES_ALIASES) .man_fixup
man_MANS =
-if HAVE_XSLTPROC
+if BUILD_MANPAGES
+if HAVE_MANPAGES_STYLESHEET
-CLEANFILES += $(MANPAGES) $(MANPAGES_ALIASES)
-EXTRA_DIST += $(MANPAGES) $(MANPAGES_ALIASES) $(XML_FILES)
man_MANS += $(MANPAGES) $(MANPAGES_ALIASES)
XSLTPROC_FLAGS = \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0 \
--stringparam funcsynopsis.style ansi \
- --stringparam man.output.quietly 1
+ --stringparam man.output.quietly 1 \
+ --nonet
XSLTPROC_PROCESS_MAN = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
- $(SED) -i -e 's/^\.so \(.*\)\.\(.\)$$/\.so man\2\/\1\.\2/' $(MANPAGES_ALIASES)
+ $(XSLTPROC) -o "$@" $(XSLTPROC_FLAGS) $(MANPAGES_STYLESHEET) "$<" && \
+ touch .man_fixup
-%.1: %.xml
+# Force .man_fixup if $(MANPAGES) are not built
+.man_fixup: | $(MANPAGES)
+ @touch .man_fixup
+
+$(MANPAGES_ALIASES): $(MANPAGES) .man_fixup
+ $(AM_V_GEN)if test -n "$@" ; then $(SED) -i -e 's/^\.so \([a-z_]\+\)\.\([0-9]\)$$/\.so man\2\/\1\.\2/' "$@" ; fi
+
+%.1: $(top_srcdir)/man/%.xml
$(XSLTPROC_PROCESS_MAN)
-%.3: %.xml
+%.3: $(top_srcdir)/man/%.xml
$(XSLTPROC_PROCESS_MAN)
-%.5: %.xml
+%.5: $(top_srcdir)/man/%.xml
$(XSLTPROC_PROCESS_MAN)
-%.7: %.xml
+%.7: $(top_srcdir)/man/%.xml
$(XSLTPROC_PROCESS_MAN)
-endif # HAVE_XSLTPROC
+endif # HAVE_MANPAGES_STYLESHEET
+endif # BUILD_MANPAGES
commit 481763c2c7f5224a9f053ab3a2b2356eb89a96f0
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jan 16 14:29:14 2013 +0100
nouveau: use @PACKAGE_VERSION@ in libdrm_nouveau.pc
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
diff --git a/nouveau/libdrm_nouveau.pc.in b/nouveau/libdrm_nouveau.pc.in
index 454fc87..9abfd81 100644
--- a/nouveau/libdrm_nouveau.pc.in
+++ b/nouveau/libdrm_nouveau.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
Name: libdrm_nouveau
Description: Userspace interface to nouveau kernel DRM services
-Version: 2.4.33
+Version: @PACKAGE_VERSION@
Libs: -L${libdir} -ldrm_nouveau
Cflags: -I${includedir} -I${includedir}/libdrm
Requires.private: libdrm
commit 9ab7a43c4e57e618854b3641101fcd707736dbf0
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jan 16 14:04:59 2013 +0100
Add 02_fix_build.diff fix a build error.
diff --git a/debian/changelog b/debian/changelog
index c1edea0..9111d6c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ libdrm (2.4.41-1) UNRELEASED; urgency=low
[ Maarten Lankhorst ]
* New upstream release.
+ * Add 02_fix_build.diff fix a build error.
-- Julien Cristau <jcristau@debian.org> Tue, 25 Dec 2012 13:17:28 +0100
diff --git a/debian/patches/02_fix_build.diff b/debian/patches/02_fix_build.diff
new file mode 100644
index 0000000..234101b
--- /dev/null
+++ b/debian/patches/02_fix_build.diff
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index 10cc9a4..1776610 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -348,7 +348,6 @@ AC_CONFIG_FILES([
+ tests/vbltest/Makefile
+ include/Makefile
+ include/drm/Makefile
+- man/Makefile
+ libdrm.pc])
+ AC_OUTPUT
+
diff --git a/debian/patches/series b/debian/patches/series
index 2e425c0..e64f736 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
01_default_perms.diff
+02_fix_build.diff
03_build_against_librt.diff
Reply to: