Makefile | 8 configs/darwin | 14 - configs/default | 4 debian/changelog | 56 ++++ debian/control | 52 +-- debian/libglu1-mesa-dev.install | 1 debian/libglw1-mesa-dev.install | 1 debian/libosmesa6-dev.install | 1 debian/patches/05_hurd-ftbfs.diff | 103 +++++++ debian/patches/06_kfreebsd-ftbfs.diff | 16 + debian/patches/103_bump_965_texture_limit.diff | 33 -- debian/patches/106_compiz_ring_switcher_xorg_segv_on_radeon.diff | 91 ------ debian/patches/series | 4 debian/rules | 15 - docs/download.html | 2 docs/news.html | 7 docs/relnotes-7.4.1.html | 79 +++++ docs/relnotes-7.4.2.html | 62 ++++ docs/relnotes-7.4.html | 12 docs/relnotes.html | 2 include/GL/internal/dri_interface.h | 15 + progs/samples/blendeq.c | 2 progs/xdemos/glxcontexts.c | 4 src/glx/x11/dri2.c | 2 src/glx/x11/dri2_glx.c | 20 - src/glx/x11/glxcmds.c | 3 src/glx/x11/indirect.c | 60 ++++ src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 18 - src/mesa/drivers/dri/intel/intel_buffers.c | 8 src/mesa/drivers/dri/intel/intel_clear.c | 7 src/mesa/drivers/dri/intel/intel_context.c | 28 +- src/mesa/drivers/dri/intel/intel_context.h | 18 + src/mesa/drivers/dri/intel/intel_pixel.c | 6 src/mesa/drivers/dri/r300/r300_context.h | 2 src/mesa/drivers/dri/r300/r300_state.c | 2 src/mesa/drivers/dri/r300/r300_texmem.c | 5 src/mesa/drivers/dri/r300/r300_texstate.c | 11 src/mesa/drivers/dri/radeon/radeon_screen.c | 48 ++- src/mesa/main/attrib.c | 2 src/mesa/main/drawpix.c | 52 ++- src/mesa/main/ffvertex_prog.c | 14 - src/mesa/main/glheader.h | 5 src/mesa/main/hash.c | 18 + src/mesa/main/light.c | 9 src/mesa/main/readpix.c | 3 src/mesa/main/teximage.c | 21 + src/mesa/main/texparam.c | 140 +++++----- src/mesa/main/version.h | 4 src/mesa/math/m_matrix.c | 5 src/mesa/shader/arbprogparse.c | 23 - src/mesa/shader/prog_execute.c | 8 src/mesa/shader/prog_parameter.c | 19 - src/mesa/shader/program.c | 1 src/mesa/shader/slang/slang_builtin.c | 24 + src/mesa/swrast/s_points.c | 5 src/mesa/swrast/s_span.c | 10 src/mesa/swrast/s_texfilter.c | 1 57 files changed, 816 insertions(+), 370 deletions(-)
New commits: commit 18cf88a563302751ed8cae4506913bddbd9fe298 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri May 15 15:05:24 2009 +0300 Release 7.4.1-1ubuntu1 drop a couple of obsolete patches while at it. update the changelog. diff --git a/debian/changelog b/debian/changelog index 0e21fa3..04afe2d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,22 @@ +mesa (7.4.1-1ubuntu1) karmic; urgency=low + + * Merge from debian unstable, remaining changes: + - debian/control + + Change maintainer address to Ubuntu. + + Drop lesstif-dev from Build-Depends. + + Comment out GLw libs since it depends on lesstif-dev. + - debian/rules + + Unexport LDFLAGS (amd64 FTBFS). + + use --disable-glw for swx11 targets too. + + Build .debs with lzma compression. + - debian/patches + + 101_ubuntu_hidden_glname.patch. + + 102_dont_vblank.patch: + + 104_fix_dri2_ext_tfp.diff + + 105_glXWaitX_segfaults.patch + + -- Timo Aaltonen <tjaal...@ubuntu.com> Fri, 15 May 2009 14:50:57 +0300 + mesa (7.4.1-1) unstable; urgency=low [ Julien Cristau ] diff --git a/debian/patches/103_bump_965_texture_limit.diff b/debian/patches/103_bump_965_texture_limit.diff deleted file mode 100644 index 385c7d4..0000000 --- a/debian/patches/103_bump_965_texture_limit.diff +++ /dev/null @@ -1,33 +0,0 @@ -commit 954dfba12986f578f2d8461818f9e9ac1f8f2b41 -Author: Keith Packard <kei...@keithp.com> -Date: Fri Jan 30 21:51:32 2009 -0800 - - i965: bump texture limit to 4kx4k - - Rendering and textures are limited to 8kx8k, but mesa limits things to - 4kx4k, and magic guard band stuff may break on 8kx8k drawing. This is safe - though, and makes compiz work on bigger screens. - - Signed-off-by: Keith Packard <kei...@keithp.com> - -diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c -index d7a2bd9..d66781f 100644 ---- a/src/mesa/drivers/dri/i965/brw_context.c -+++ b/src/mesa/drivers/dri/i965/brw_context.c -@@ -135,13 +135,12 @@ GLboolean brwCreateContext( const __GLcontextModes *mesaVis, - ctx->Const.MaxTextureImageUnits); - ctx->Const.MaxVertexTextureImageUnits = 0; /* no vertex shader textures */ - -- /* Advertise the full hardware capabilities. The new memory -- * manager should cope much better with overload situations: -+ /* Mesa limits textures to 4kx4k; it would be nice to fix that someday - */ -- ctx->Const.MaxTextureLevels = 12; -+ ctx->Const.MaxTextureLevels = 13; - ctx->Const.Max3DTextureLevels = 9; - ctx->Const.MaxCubeTextureLevels = 12; -- ctx->Const.MaxTextureRectSize = (1<<11); -+ ctx->Const.MaxTextureRectSize = (1<<12); - - /* if conformance mode is set, swrast can handle any size AA point */ - ctx->Const.MaxPointSizeAA = 255.0; diff --git a/debian/patches/106_compiz_ring_switcher_xorg_segv_on_radeon.diff b/debian/patches/106_compiz_ring_switcher_xorg_segv_on_radeon.diff deleted file mode 100644 index 6d72a52..0000000 --- a/debian/patches/106_compiz_ring_switcher_xorg_segv_on_radeon.diff +++ /dev/null @@ -1,91 +0,0 @@ -# -# Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/368049 -# Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=17895 -# Patch: http://cgit.freedesktop.org/mesa/mesa/commit/?h=mesa_7_4_branch&id=a1ce4efefbb7f796a0a24544a1e893a56848f0c1 -# Description: fix xserver segv triggered by compiz ring switcher plugin for users -# with r300/r400 radeon chipsets and -ati driver. Patch previously -# commited to mesa master as c28707b50701b1cf8727be29d61e2d939c6ee58f -# and also to mesa_7_4_branch as a1ce4efefbb7f796a0a24544a1e893a56848f0c1. -# Note: it was commited to the 7.4 branch after mesa 7.4.0 release. -# (LP: #368049) -# - -Index: mesa-7.4/src/mesa/drivers/dri/r300/r300_context.h -=================================================================== ---- mesa-7.4.orig/src/mesa/drivers/dri/r300/r300_context.h 2009-05-04 12:07:48.000000000 +0200 -+++ mesa-7.4/src/mesa/drivers/dri/r300/r300_context.h 2009-05-04 12:08:56.000000000 +0200 -@@ -211,7 +211,7 @@ - }; - - struct r300_texture_env_state { -- r300TexObjPtr texobj; -+ struct gl_texture_object *texobj; - GLenum format; - GLenum envMode; - }; -Index: mesa-7.4/src/mesa/drivers/dri/r300/r300_state.c -=================================================================== ---- mesa-7.4.orig/src/mesa/drivers/dri/r300/r300_state.c 2009-05-04 12:07:59.000000000 +0200 -+++ mesa-7.4/src/mesa/drivers/dri/r300/r300_state.c 2009-05-04 12:08:56.000000000 +0200 -@@ -1487,7 +1487,7 @@ - #endif - tmu_mappings[i] = hw_tmu; - -- t = r300->state.texture.unit[i].texobj; -+ t = (r300TexObjPtr) r300->state.texture.unit[i].texobj->DriverData; - /* XXX questionable fix for bug 9170: */ - if (!t) - continue; -Index: mesa-7.4/src/mesa/drivers/dri/r300/r300_texmem.c -=================================================================== ---- mesa-7.4.orig/src/mesa/drivers/dri/r300/r300_texmem.c 2009-05-04 12:08:07.000000000 +0200 -+++ mesa-7.4/src/mesa/drivers/dri/r300/r300_texmem.c 2009-05-04 12:08:56.000000000 +0200 -@@ -44,6 +44,7 @@ - #include "main/colormac.h" - #include "main/macros.h" - #include "main/simple_list.h" -+#include "main/texobj.h" - #include "radeon_reg.h" /* gets definition for usleep */ - #include "r300_context.h" - #include "r300_state.h" -@@ -71,8 +72,8 @@ - } - - for (i = 0; i < rmesa->radeon.glCtx->Const.MaxTextureUnits; i++) { -- if (rmesa->state.texture.unit[i].texobj == t) { -- rmesa->state.texture.unit[i].texobj = NULL; -+ if (rmesa->state.texture.unit[i].texobj == t->base.tObj) { -+ _mesa_reference_texobj(&rmesa->state.texture.unit[i].texobj, NULL); - } - } - } -Index: mesa-7.4/src/mesa/drivers/dri/r300/r300_texstate.c -=================================================================== ---- mesa-7.4.orig/src/mesa/drivers/dri/r300/r300_texstate.c 2009-05-04 12:08:17.000000000 +0200 -+++ mesa-7.4/src/mesa/drivers/dri/r300/r300_texstate.c 2009-05-04 12:08:56.000000000 +0200 -@@ -567,19 +567,20 @@ - /* Update state if this is a different texture object to last - * time. - */ -- if (rmesa->state.texture.unit[unit].texobj != t) { -+ if (rmesa->state.texture.unit[unit].texobj != tObj) { - if (rmesa->state.texture.unit[unit].texobj != NULL) { -+ r300TexObjPtr t_old = (r300TexObjPtr) rmesa->state.texture.unit[unit].texobj->DriverData; -+ - /* The old texture is no longer bound to this texture unit. - * Mark it as such. - */ - -- rmesa->state.texture.unit[unit].texobj->base.bound &= -- ~(1 << unit); -+ t_old->base.bound &= ~(1 << unit); - } - -- rmesa->state.texture.unit[unit].texobj = t; -+ _mesa_reference_texobj(&rmesa->state.texture.unit[unit].texobj, tObj); - t->base.bound |= (1 << unit); -- driUpdateTextureLRU((driTextureObject *) t); /* XXX: should be locked! */ -+ driUpdateTextureLRU(&t->base); /* XXX: should be locked! */ - } - - return !t->border_fallback; diff --git a/debian/patches/series b/debian/patches/series index bde7c1e..58b5635 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,7 +5,5 @@ 06_kfreebsd-ftbfs.diff 101_ubuntu_hidden_glname.patch 102_dont_vblank.diff -#103_bump_965_texture_limit.diff 104_fix_dri2_ext_tfp.diff 105_glXWaitX_segfaults.patch -106_compiz_ring_switcher_xorg_segv_on_radeon.diff commit 4ff932adafc7b56c8bb017d11344ec0521c7faee Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri May 15 14:49:38 2009 +0300 rules: clean up a leftover from a merge diff --git a/debian/rules b/debian/rules index 92d10bb..5cf3e93 100755 --- a/debian/rules +++ b/debian/rules @@ -191,7 +191,6 @@ install: install-%: $(STAMP)-build-% cd $(DEB_BUILD_DIR)/$* && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install - touch $@ clean: unpatch dh_testdir commit e0aa71de15c398b90ead6809f7f88d5e15ec826c Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri May 15 14:25:54 2009 +0300 Relax dependencies to make the diff smaller. Drop the Pre-Depends on dpkg, since we've had version for a year now. Lower the Build-Dep on libdrm, jaunty already had 2.4.5. diff --git a/debian/control b/debian/control index 2c8bc81..3ff591f 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: Thierry Reding <thie...@gilfi.de>, Julien Cristau <jcris...@debian.org>, David Nusinow <dnusi...@debian.org>, Brice Goglin <bgog...@debian.org> Standards-Version: 3.7.3 Build-Depends: debhelper (>= 5), quilt (>= 0.40), pkg-config, - libdrm-dev (>= 2.4.4) [!hurd-i386], libx11-dev, xutils-dev, + libdrm-dev (>= 2.4.3) [!hurd-i386], libx11-dev, xutils-dev, x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev, libexpat1-dev, dpkg-dev (>= 1.13.19), libxfixes-dev, libxdamage-dev, libxext-dev, autoconf, automake, x11proto-dri2-dev (>= 1.99.3), @@ -19,7 +19,6 @@ Package: libgl1-mesa-swx11 Section: libs Priority: extra Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: ${shlibs:Depends}, libosmesa6 (>= 6.5.2-1) Conflicts: mesag3-glide, mesag3-glide2, mesag3+ggi, libgl1, nvidia-glx, mesag3, libgl1-mesa-swrast Provides: libgl1, mesag3, libgl1-mesa-swrast @@ -42,7 +41,6 @@ Package: libgl1-mesa-swx11-dbg Section: debug Priority: extra Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libgl1-mesa-swx11 (= ${binary:Version}) Conflicts: libgl1-mesa-swrast-dbg Provides: libgl1-mesa-swrast-dbg @@ -68,7 +66,6 @@ Package: libgl1-mesa-swx11-i686 Section: libs Priority: extra Architecture: i386 -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libgl1-mesa-swx11 (= ${binary:Version}), ${shlibs:Depends} Description: Mesa OpenGL runtime [i686 optimized] Mesa is a 3-D graphics library with an API which is very similar to @@ -93,7 +90,6 @@ Package: libgl1-mesa-swx11-dev Section: libdevel Priority: extra Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libgl1-mesa-swx11 (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${binary:Version}) Provides: libgl-dev, mesag-dev, libgl1-mesa-swrast-dev Conflicts: mesa-dev, libgl-dev, mesag3 (<< 3.1-1), nvidia-glx-dev, mesag-dev, libgl1-mesa-swrast-dev @@ -110,7 +106,6 @@ Description: A free implementation of the OpenGL API -- development files Package: libgl1-mesa-glx Section: libs Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: ${shlibs:Depends} Recommends: libgl1-mesa-dri (>= 7.2) Conflicts: libgl1, libgl1-mesa-dri (<< 6.4.0) @@ -131,7 +126,6 @@ Package: libgl1-mesa-glx-dbg Section: debug Priority: extra Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libgl1-mesa-glx (= ${binary:Version}) Description: Debugging symbols for the Mesa GLX runtime This version of Mesa provides GLX and DRI capabilities: it is capable of @@ -151,7 +145,7 @@ Description: Debugging symbols for the Mesa GLX runtime #Section: libs #Priority: extra #Architecture: i386 -#Pre-Depends: libgl1-mesa-glx, dpkg (>= 1.14.12ubuntu3) +#Pre-Depends: libgl1-mesa-glx #Description: A free implementation of the OpenGL API -- GLX runtime [i686 optimized] # This version of Mesa provides GLX and DRI capabilities: it is capable of # both direct and indirect rendering. For direct rendering, it can use DRI @@ -194,7 +188,6 @@ Package: libgl1-mesa-dri-dbg Section: debug Priority: extra Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libgl1-mesa-dri (= ${binary:Version}) Description: Debugging symbols for the Mesa DRI modules This version of Mesa provides GLX and DRI capabilities: it is capable of @@ -213,7 +206,7 @@ Description: Debugging symbols for the Mesa DRI modules #Section: libs #Priority: extra #Architecture: i386 -#Pre-Depends: libgl1-mesa-dri, dpkg (>= 1.14.12ubuntu3) +#Pre-Depends: libgl1-mesa-dri #Description: A free implementation of the OpenGL API -- DRI modules [i686 optimized] # This version of Mesa provides GLX and DRI capabilities: it is capable of # both direct and indirect rendering. For direct rendering, it can use DRI @@ -233,7 +226,6 @@ Description: Debugging symbols for the Mesa DRI modules Package: libgl1-mesa-dev Section: libdevel Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libc6-dev, mesa-common-dev (= ${binary:Version}), libgl1-mesa-glx (= ${binary:Version}) Conflicts: libgl-dev, libgl1-mesa-dri-dev Replaces: libgl-dev, libgl1-mesa-dri-dev @@ -253,7 +245,6 @@ Package: mesa-common-dev Section: libdevel Architecture: any Replaces: xlibmesa-gl-dev (<< 1:7), xlibosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), libgl1-mesa-dev (<< 6.5.2) -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libx11-dev Description: Developer documentation for Mesa This package includes the specifications for the Mesa-specific OpenGL @@ -263,7 +254,6 @@ Description: Developer documentation for Mesa Package: libosmesa6 Section: libs Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: ${shlibs:Depends} Replaces: libgl1-mesa-swx11 (<< 6.5.2) Description: Mesa Off-screen rendering extension @@ -277,7 +267,6 @@ Description: Mesa Off-screen rendering extension Package: libosmesa6-dev Section: libdevel Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${binary:Version}) | libgl-dev Conflicts: xlibosmesa-dev, libosmesa4-dev, libosmesa-dev Replaces: xlibosmesa-dev, libosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), mesa-common-dev (<< 6.5.2) @@ -291,7 +280,6 @@ Description: Mesa Off-screen rendering extension -- development files Package: libglu1-mesa Section: libs Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: ${shlibs:Depends}, libgl1-mesa-glx | libgl1 Provides: libglu1 Conflicts: mesag3 (<< 5.0.0-1), xlibmesa3, libglu1 @@ -313,7 +301,6 @@ Description: The OpenGL utility library (GLU) Package: libglu1-mesa-dev Section: libdevel Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: libglu1-mesa (= ${binary:Version}), libgl1-mesa-dev | libgl-dev Provides: libglu-dev, xlibmesa-glu-dev Conflicts: mesag-dev (<< 5.0.0-1), mesa-glide2-dev (<< 5.0.0-1), mesag3+ggi-dev (<< 5.0.0-1), xlibmesa-dev @@ -327,7 +314,6 @@ Description: The OpenGL utility library -- development files #Package: libglw1-mesa #Section: libs #Architecture: any -#Pre-Depends: dpkg (>= 1.14.12ubuntu3) #Depends: ${shlibs:Depends} #Provides: libglw1 #Description: A free implementation of the OpenGL API -- runtime @@ -361,7 +347,6 @@ Package: mesa-utils Section: x11 Priority: optional Architecture: any -Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: ${shlibs:Depends} Replaces: xbase-clients (<< 6.8.2-38) Description: Miscellaneous Mesa GL utilities commit 4842cde28f3b07fabf05f26b53305e02deb8db24 Author: Julien Cristau <jcris...@debian.org> Date: Sun May 3 16:05:30 2009 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index e817a17..f074fb4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (7.4.1-1) UNRELEASED; urgency=low +mesa (7.4.1-1) unstable; urgency=low [ Julien Cristau ] * Make libgl1-mesa-dev and mesa-common-dev 'Architecture: any'. This gets @@ -20,7 +20,7 @@ mesa (7.4.1-1) UNRELEASED; urgency=low [ Brice Goglin ] * Add patch by Aurelien Jarno to fix FTBFS on kfreebsd-i386, closes: #524690. - -- Brice Goglin <bgog...@debian.org> Mon, 20 Apr 2009 12:33:45 +0200 + -- Julien Cristau <jcris...@debian.org> Sun, 03 May 2009 16:05:09 +0200 mesa (7.4-2) unstable; urgency=low commit b651c02dcac897bb138b35ff69bdfe0d06e8620a Author: Julien Cristau <jcris...@debian.org> Date: Sun May 3 16:04:39 2009 +0200 Fix Architecture field for libgl1-mesa-dri-dbg diff --git a/debian/changelog b/debian/changelog index 2e15190..e817a17 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,8 +5,8 @@ mesa (7.4.1-1) UNRELEASED; urgency=low rid of uninstallability when a new upstream version isn't built on all architectures, and allows us to ship potentially arch-specific .pc files. * Install pkgconfig files for libGLU, libOSMesa and libGLw. - * Make libgl1-mesa-dri 'Architecture: any', as swrast_dri.so should get - built everywhere. + * Make libgl1-mesa-dri{,-dbg} 'Architecture: any', as swrast_dri.so should + get built everywhere. * Drop the dependency on libgl1-mesa-glx from -dri, and make -glx recommend -dri instead. The dri drivers are also loaded by the X server, which doesn't need libGL. On the other hand, libGL needs one of the dri drivers diff --git a/debian/control b/debian/control index 4d28caf..23c35c8 100644 --- a/debian/control +++ b/debian/control @@ -186,7 +186,7 @@ Description: A free implementation of the OpenGL API -- DRI modules Package: libgl1-mesa-dri-dbg Section: debug Priority: extra -Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 lpia m68k mips mipsel powerpc s390 sparc +Architecture: any Depends: libgl1-mesa-dri (= ${binary:Version}) Description: Debugging symbols for the Mesa DRI modules This version of Mesa provides GLX and DRI capabilities: it is capable of commit ec44d955bb3a3e470e106cafc5020562a81e8543 Author: Julien Cristau <jcris...@debian.org> Date: Sun May 3 16:03:58 2009 +0200 Move -dbg packages to new 'debug' section. diff --git a/debian/changelog b/debian/changelog index dce00a3..2e15190 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,7 @@ mesa (7.4.1-1) UNRELEASED; urgency=low incompatibilities. * Add patch by Samuel Thibault to fix FTBFS on hurd-i386. * Pull from mesa_7_4_branch as of May 3rd (commit 63375254). + * Move -dbg packages to new 'debug' section. [ Brice Goglin ] * Add patch by Aurelien Jarno to fix FTBFS on kfreebsd-i386, closes: #524690. diff --git a/debian/control b/debian/control index eeec53b..4d28caf 100644 --- a/debian/control +++ b/debian/control @@ -37,7 +37,7 @@ Description: A free implementation of the OpenGL API -- runtime On Linux, this library is also known as libGL or libGL.so.1. Package: libgl1-mesa-swx11-dbg -Section: libdevel +Section: debug Priority: extra Architecture: any Depends: libgl1-mesa-swx11 (= ${binary:Version}) @@ -122,7 +122,7 @@ Description: A free implementation of the OpenGL API -- GLX runtime libgl1-mesa-swx11 package. Package: libgl1-mesa-glx-dbg -Section: libdevel +Section: debug Priority: extra Architecture: any Depends: libgl1-mesa-glx (= ${binary:Version}) @@ -184,7 +184,7 @@ Description: A free implementation of the OpenGL API -- DRI modules The tdfx DRI module needs libglide3 to enable direct rendering. Package: libgl1-mesa-dri-dbg -Section: libdevel +Section: debug Priority: extra Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 lpia m68k mips mipsel powerpc s390 sparc Depends: libgl1-mesa-dri (= ${binary:Version}) commit 914edc46fa5e8c0f6807a0fca0f3f7be201d66bb Author: Julien Cristau <jcris...@debian.org> Date: Sun May 3 14:31:05 2009 +0200 Update changelog diff --git a/debian/changelog b/debian/changelog index 1d8e94f..dce00a3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (7.4-3) UNRELEASED; urgency=low +mesa (7.4.1-1) UNRELEASED; urgency=low [ Julien Cristau ] * Make libgl1-mesa-dev and mesa-common-dev 'Architecture: any'. This gets @@ -14,6 +14,7 @@ mesa (7.4-3) UNRELEASED; urgency=low as breaking old xserver-xorg-core and libgl1-mesa-glx, to avoid incompatibilities. * Add patch by Samuel Thibault to fix FTBFS on hurd-i386. + * Pull from mesa_7_4_branch as of May 3rd (commit 63375254). [ Brice Goglin ] * Add patch by Aurelien Jarno to fix FTBFS on kfreebsd-i386, closes: #524690. commit 63375254979be322736fd3ea1c692c6ab08e817b Author: Brian Paul <bri...@vmware.com> Date: Fri May 1 18:04:07 2009 -0600 mesa: fix state validation bug for glCopyTex[Sub]Image() We need to make sure the framebuffer state is up to date to make sure we read pixels from the right buffer when doing a texture image copy. (cherry-picked from master, commit 63f01309801c5a900d8d7f5ccd63413e33ff9bff) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index d5f9d2f..cd3edb2 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -50,6 +50,17 @@ /** + * State changes which we care about for glCopyTex[Sub]Image() calls. + * In particular, we care about pixel transfer state and buffer state + * (such as glReadBuffer to make sure we read from the right renderbuffer). + */ +#define NEW_COPY_TEX_STATE (_IMAGE_NEW_TRANSFER_STATE | \ + _NEW_BUFFERS | \ + _NEW_PIXEL) + + + +/** * We allocate texture memory on 512-byte boundaries so we can use MMX/SSE * elsewhere. */ @@ -2918,7 +2929,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level, GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) + if (ctx->NewState & NEW_COPY_TEX_STATE) _mesa_update_state(ctx); #if FEATURE_convolve @@ -2983,7 +2994,7 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat, GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) + if (ctx->NewState & NEW_COPY_TEX_STATE) _mesa_update_state(ctx); #if FEATURE_convolve @@ -3051,7 +3062,7 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level, GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) + if (ctx->NewState & NEW_COPY_TEX_STATE) _mesa_update_state(ctx); if (copytexsubimage_error_check1(ctx, 1, target, level)) @@ -3106,7 +3117,7 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level, GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) + if (ctx->NewState & NEW_COPY_TEX_STATE) _mesa_update_state(ctx); if (copytexsubimage_error_check1(ctx, 2, target, level)) @@ -3161,7 +3172,7 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level, GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) + if (ctx->NewState & NEW_COPY_TEX_STATE) _mesa_update_state(ctx); if (copytexsubimage_error_check1(ctx, 3, target, level)) commit 7541c3806a159fab23316b6901140f4d33ff1004 Author: Brian Paul <bri...@vmware.com> Date: Thu Apr 30 17:08:21 2009 -0600 docs: fix typos diff --git a/docs/relnotes-7.4.1.html b/docs/relnotes-7.4.1.html index 6b225e6..40f4fb1 100644 --- a/docs/relnotes-7.4.1.html +++ b/docs/relnotes-7.4.1.html @@ -20,7 +20,7 @@ Some drivers don't support all the features required in OpenGL 2.1. </p> <p> See the <a href="install.html">Compiling/Installing page</a> for prerequisites -for DRI ardware acceleration. +for DRI hardware acceleration. </p> diff --git a/docs/relnotes-7.4.2.html b/docs/relnotes-7.4.2.html index 3827deb..c380792 100644 --- a/docs/relnotes-7.4.2.html +++ b/docs/relnotes-7.4.2.html @@ -20,7 +20,7 @@ Some drivers don't support all the features required in OpenGL 2.1. </p> <p> See the <a href="install.html">Compiling/Installing page</a> for prerequisites -for DRI ardware acceleration. +for DRI hardware acceleration. </p> diff --git a/docs/relnotes-7.4.html b/docs/relnotes-7.4.html index 6f6bbff..55ba019 100644 --- a/docs/relnotes-7.4.html +++ b/docs/relnotes-7.4.html @@ -20,7 +20,7 @@ Some drivers don't support all the features required in OpenGL 2.1. </p> <p> See the <a href="install.html">Compiling/Installing page</a> for prerequisites -for DRI ardware acceleration. +for DRI hardware acceleration. </p> commit a1ce4efefbb7f796a0a24544a1e893a56848f0c1 Author: Michel Dänzer <daen...@vmware.com> Date: Thu Apr 30 13:21:08 2009 +0200 r300: Increase reference count of texture objects referenced by current state. Fixes a use-after-free reported in http://bugs.freedesktop.org/show_bug.cgi?id=20539, so this possibly fixes that bug. It has been confirmed to fix http://bugs.freedesktop.org/show_bug.cgi?id=17895 . (cherry picked from commit c28707b50701b1cf8727be29d61e2d939c6ee58f) diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h index c15e9fa..4a877ed 100644 --- a/src/mesa/drivers/dri/r300/r300_context.h +++ b/src/mesa/drivers/dri/r300/r300_context.h @@ -211,7 +211,7 @@ struct r300_tex_obj { }; struct r300_texture_env_state { - r300TexObjPtr texobj; + struct gl_texture_object *texobj; GLenum format; GLenum envMode; }; diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index b756d1c..de4063a 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -1487,7 +1487,7 @@ static void r300SetupTextures(GLcontext * ctx) #endif tmu_mappings[i] = hw_tmu; - t = r300->state.texture.unit[i].texobj; + t = (r300TexObjPtr) r300->state.texture.unit[i].texobj->DriverData; /* XXX questionable fix for bug 9170: */ if (!t) continue; diff --git a/src/mesa/drivers/dri/r300/r300_texmem.c b/src/mesa/drivers/dri/r300/r300_texmem.c index b03eefa..8d7889e 100644 --- a/src/mesa/drivers/dri/r300/r300_texmem.c +++ b/src/mesa/drivers/dri/r300/r300_texmem.c @@ -44,6 +44,7 @@ SOFTWARE. #include "main/colormac.h" #include "main/macros.h" #include "main/simple_list.h" +#include "main/texobj.h" #include "radeon_reg.h" /* gets definition for usleep */ #include "r300_context.h" #include "r300_state.h" @@ -71,8 +72,8 @@ void r300DestroyTexObj(r300ContextPtr rmesa, r300TexObjPtr t) } for (i = 0; i < rmesa->radeon.glCtx->Const.MaxTextureUnits; i++) { - if (rmesa->state.texture.unit[i].texobj == t) { - rmesa->state.texture.unit[i].texobj = NULL; + if (rmesa->state.texture.unit[i].texobj == t->base.tObj) { + _mesa_reference_texobj(&rmesa->state.texture.unit[i].texobj, NULL); } } } diff --git a/src/mesa/drivers/dri/r300/r300_texstate.c b/src/mesa/drivers/dri/r300/r300_texstate.c index e2329f0..ccfeb10 100644 --- a/src/mesa/drivers/dri/r300/r300_texstate.c +++ b/src/mesa/drivers/dri/r300/r300_texstate.c @@ -567,19 +567,20 @@ static GLboolean r300UpdateTexture(GLcontext * ctx, int unit) /* Update state if this is a different texture object to last * time. */ - if (rmesa->state.texture.unit[unit].texobj != t) { + if (rmesa->state.texture.unit[unit].texobj != tObj) { if (rmesa->state.texture.unit[unit].texobj != NULL) { + r300TexObjPtr t_old = (r300TexObjPtr) rmesa->state.texture.unit[unit].texobj->DriverData; + /* The old texture is no longer bound to this texture unit. * Mark it as such. */ - rmesa->state.texture.unit[unit].texobj->base.bound &= - ~(1 << unit); + t_old->base.bound &= ~(1 << unit); } - rmesa->state.texture.unit[unit].texobj = t; + _mesa_reference_texobj(&rmesa->state.texture.unit[unit].texobj, tObj); t->base.bound |= (1 << unit); - driUpdateTextureLRU((driTextureObject *) t); /* XXX: should be locked! */ + driUpdateTextureLRU(&t->base); /* XXX: should be locked! */ } return !t->border_fallback; commit 656cd707db3699079d3a1b886d82e6f04afb1065 Author: Brian Paul <bri...@vmware.com> Date: Tue Apr 28 10:57:45 2009 -0600 mesa: Fix buffer overflow when parsing generic vertex attributes. (cherry picked from master, commit fa92756400ccfbb3f0201df634feb45ab4f98352) diff --git a/src/mesa/shader/arbprogparse.c b/src/mesa/shader/arbprogparse.c index 810a7b8..0984d88 100644 --- a/src/mesa/shader/arbprogparse.c +++ b/src/mesa/shader/arbprogparse.c @@ -1496,10 +1496,16 @@ generic_attrib_check(struct var_cache *vc_head) curr = vc_head; while (curr) { if (curr->type == vt_attrib) { - if (curr->attrib_is_generic) - genericAttrib[ curr->attrib_binding ] = GL_TRUE; - else + if (curr->attrib_is_generic) { + GLuint attr = (curr->attrib_binding == 0) + ? 0 : (curr->attrib_binding - VERT_ATTRIB_GENERIC0); + assert(attr < MAX_VERTEX_PROGRAM_ATTRIBS); + genericAttrib[attr] = GL_TRUE; + } + else { + assert(curr->attrib_binding < MAX_VERTEX_PROGRAM_ATTRIBS); explicitAttrib[ curr->attrib_binding ] = GL_TRUE; + } } curr = curr->next; commit ce7f78694d9a611d543b97f239194af311f7a9a1 Author: Alex Deucher <alexdeuc...@gmail.com> Date: Tue Apr 28 12:37:29 2009 -0400 R300: add quadpipe overrides RV410 SE chips only have 1 quadpipe. Also, handle other R300 chip with quadpipe override diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index ff65e6b..956f9a1 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -554,11 +554,8 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv ) screen->chip_family = CHIP_FAMILY_RS300; break; - /* 9500 with 1 pipe verified by: Reid Linnemann <lr...@cs.okstate.edu> */ + case PCI_CHIP_R300_AD: - screen->chip_family = CHIP_FAMILY_RV350; - screen->chip_flags = RADEON_CHIPSET_TCL; - break; case PCI_CHIP_R300_AE: case PCI_CHIP_R300_AF: case PCI_CHIP_R300_AG: @@ -886,6 +883,18 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv ) } else { screen->num_gb_pipes = temp; } + + /* pipe overrides */ + switch (dri_priv->deviceID) { + case PCI_CHIP_R300_AD: /* 9500 with 1 quadpipe verified by: Reid Linnemann <lr...@cs.okstate.edu> */ + case PCI_CHIP_RV410_5E4C: /* RV410 SE only have 1 quadpipe */ + case PCI_CHIP_RV410_5E4F: /* RV410 SE only have 1 quadpipe */ + screen->num_gb_pipes = 1; + break; + default: + break; + } + } if ( sPriv->drm_version.minor >= 10 ) { commit fd95e8ee33b7577465f14b54c593944d5684246a Author: Brian Paul <bri...@vmware.com> Date: Tue Apr 28 09:11:05 2009 -0600 docs: fix swrast texrect bug 21461 diff --git a/docs/relnotes-7.4.2.html b/docs/relnotes-7.4.2.html index 97e6e60..3827deb 100644 --- a/docs/relnotes-7.4.2.html +++ b/docs/relnotes-7.4.2.html @@ -33,6 +33,8 @@ tbd <h2>Bug fixes</h2> <ul> <li>Fixed segfault when rendering to front buffer with DRI 1. +<li>Fixed swrast texture rectangle bug when wrap mode = GL_CLAMP_TO_BORDER and + filter mode = GL_LINEAR. (bug 21461) </ul> commit d2b8c41b7a70c1f5d6597101ac7acd36052d89b6 Author: Brian Paul <bri...@vmware.com> Date: Tue Apr 28 09:09:41 2009 -0600 swrast: add missing break in clamp_rect_coord_linear() See bug 21461. (cherry picked from master, commit dcf571aff9de1a4298c4d2c4148d84cdc4daf02e) diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c index a095b25..fce0bcf 100644 --- a/src/mesa/swrast/s_texfilter.c +++ b/src/mesa/swrast/s_texfilter.c @@ -2061,6 +2061,7 @@ clamp_rect_coord_linear(GLenum wrapMode, GLfloat coord, GLint max, fcol -= 0.5F; i0 = IFLOOR(fcol); i1 = i0 + 1; + break; default: _mesa_problem(NULL, "bad wrapMode in clamp_rect_coord_linear"); i0 = i1 = 0; commit bfd6bb31a6bc162413cecd23b69389fa930cbf56 Author: Alan Hourihane <al...@vmware.com> Date: Fri Apr 24 16:44:58 2009 +0100 demos: ensure display lists are destroyed for next generation diff --git a/progs/xdemos/glxcontexts.c b/progs/xdemos/glxcontexts.c index a9ff326..a97b62a 100644 --- a/progs/xdemos/glxcontexts.c +++ b/progs/xdemos/glxcontexts.c @@ -385,6 +385,10 @@ draw( Display *dpy, Window win ) } else do_draw(); + glDeleteLists(gear1, 1); + glDeleteLists(gear2, 1); + glDeleteLists(gear3, 1); + glXSwapBuffers(dpy, win); glXDestroyContext(dpy, ctx); } commit c3e7fc394f9590ac35755e722995fd88bbfd11ce Author: Eric Anholt <e...@anholt.net> Date: Thu Apr 23 09:37:55 2009 -0700 i965: Support drawing to FBO cube faces other than positive X. Also fixes drawing to 3D texture depth levels. (cherry picked from commit 8374379572d1c541a804990bc926108360f67c02) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 3487b85..20889f8 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -310,6 +310,7 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region, GLubyte color_mask[4]; GLboolean color_blend; uint32_t tiling; + uint32_t draw_offset; } key; memset(&key, 0, sizeof(key)); @@ -326,6 +327,7 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region, key.width = region->pitch; /* XXX: not really! */ key.height = region->height; key.cpp = region->cpp; + key.draw_offset = region->draw_offset; /* cur 3d or cube face offset */ } else { key.surface_type = BRW_SURFACE_NULL; key.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; @@ -333,6 +335,7 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region, key.width = 1; key.height = 1; key.cpp = 4; + key.draw_offset = 0; } memcpy(key.color_mask, ctx->Color.ColorMask, sizeof(key.color_mask)); @@ -354,8 +357,9 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region, surf.ss0.surface_format = key.surface_format; surf.ss0.surface_type = key.surface_type; + surf.ss1.base_addr = key.draw_offset; if (region_bo != NULL) - surf.ss1.base_addr = region_bo->offset; /* reloc */ + surf.ss1.base_addr += region_bo->offset; /* reloc */ surf.ss2.width = key.width - 1; surf.ss2.height = key.height - 1; @@ -380,12 +384,12 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region, * them both. We might be able to figure out from other state * a more restrictive relocation to emit. */ - dri_bo_emit_reloc(brw->wm.surf_bo[unit], - I915_GEM_DOMAIN_RENDER, - I915_GEM_DOMAIN_RENDER, - 0, - offsetof(struct brw_surface_state, ss1), - region_bo); + drm_intel_bo_emit_reloc(brw->wm.surf_bo[unit], + offsetof(struct brw_surface_state, ss1), + region_bo, + key.draw_offset, + I915_GEM_DOMAIN_RENDER, + I915_GEM_DOMAIN_RENDER); } } } commit dd56897b27875cacc1a01cef7c2d921915c94312 Author: Eric Anholt <e...@anholt.net> Date: Tue Feb 3 20:04:24 2009 -0800 intel: Fix commented-out glViewport in intel_meta_set_passthrough_transform. Too much commit -a while debugging. (cherry picked from commit 8910da5b7a3b83d733f020dec906fe7b56c093c7) diff --git a/src/mesa/drivers/dri/intel/intel_pixel.c b/src/mesa/drivers/dri/intel/intel_pixel.c -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org