mesa: Changes to 'debian-experimental'
Rebased ref, commits from common ancestor:
commit 5770a77af0c4eb2995694282ceacbd60038a63c4
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 18:18:21 2012 +0300
rules: Update the clean target.
diff --git a/debian/changelog b/debian/changelog
index 7526706..4b29352 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,7 @@ mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
* rules, libosmesa*: Build only the 32bit OSMesa library.
* control: Bump libdrm build-dep to 2.4.38.
* control: Bump libwayland-dev build-dep to 0.95.
+ * rules: Update the clean target.
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
diff --git a/debian/rules b/debian/rules
index cd6a179..bc4bf8d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -207,12 +207,16 @@ clean: unpatch
rm -f conftest* */conftest*
rm -rf autom4te.cache */autom4te.cache
rm -rf build
- rm -rf configure config.guess config.sub config.h.in
+ rm -rf configure bin/config.guess bin/config.sub config.h.in
rm -rf $$(find -name Makefile.in)
- rm -rf aclocal.m4 missing depcomp install-sh ltmain.sh
+ rm -rf aclocal.m4 bin/missing bin/depcomp install-sh bin/ltmain.sh
+ rm -f bin/ar-lib bin/compile bin/ylwrap
rm -rf $(STAMP_DIR)
for file in debian/*.in; do rm -f $${file%%.in}; done
ln -sf minstall bin/install-sh
+ rm -f src/glsl/builtins/tools/texture_builtins.pyc
+ rm -f src/mapi/glapi/gen/*.pyc
+ rm -f src/mesa/main/*.pyc
dh_clean
commit ad90cee1b6e0195b91e7e048fef6e5a91ff6564c
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 17:18:21 2012 +0300
control: Bump libwayland-dev build-dep to 0.95.
diff --git a/debian/changelog b/debian/changelog
index 8701aa5..7526706 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,7 @@ mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
* rules: Drop special handling of config.{guess,sub}, not needed anymore.
* rules, libosmesa*: Build only the 32bit OSMesa library.
* control: Bump libdrm build-dep to 2.4.38.
+ * control: Bump libwayland-dev build-dep to 0.95.
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
diff --git a/debian/control b/debian/control
index 1f3e637..1a342fb 100644
--- a/debian/control
+++ b/debian/control
@@ -30,7 +30,7 @@ Build-Depends:
flex,
bison,
llvm-3.1-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386],
- libwayland-dev (>= 0.85.0) [linux-any],
+ libwayland-dev (>= 0.95.0) [linux-any],
Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git
Homepage: http://mesa3d.sourceforge.net/
commit 7f9cb41a86ddc4e1db7143406c99d349e36e90ae
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 16:53:57 2012 +0300
control: Bump libdrm build-dep to 2.4.38.
diff --git a/debian/changelog b/debian/changelog
index a6386b5..8701aa5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,7 @@ mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
autoconf, automake from Depends.
* rules: Drop special handling of config.{guess,sub}, not needed anymore.
* rules, libosmesa*: Build only the 32bit OSMesa library.
+ * control: Bump libdrm build-dep to 2.4.38.
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
diff --git a/debian/control b/debian/control
index 34515b1..1f3e637 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ Build-Depends:
debhelper (>= 8.1.3),
quilt (>= 0.40),
pkg-config,
- libdrm-dev (>= 2.4.30) [!hurd-any],
+ libdrm-dev (>= 2.4.38) [!hurd-any],
libx11-dev,
xutils-dev,
x11proto-gl-dev (>= 1.4.14),
commit 9f238f5dcfcb291b6ed5448281d7e6df6c3fc46d
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 16:17:08 2012 +0300
rules, libosmesa*: Build only the 32bit OSMesa library.
diff --git a/debian/changelog b/debian/changelog
index 611e2b6..a6386b5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,7 @@ mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
* control: Depend on dh-autoreconf, which pulls in libtool. Drop
autoconf, automake from Depends.
* rules: Drop special handling of config.{guess,sub}, not needed anymore.
+ * rules, libosmesa*: Build only the 32bit OSMesa library.
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
diff --git a/debian/libosmesa6-dev.install.in b/debian/libosmesa6-dev.install.in
index 8453da0..bd7a488 100644
--- a/debian/libosmesa6-dev.install.in
+++ b/debian/libosmesa6-dev.install.in
@@ -1,8 +1,3 @@
usr/include/GL/osmesa.h
-usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.a
usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so
-usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa16.a
-usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa16.so
-usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa32.a
-usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa32.so
usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/osmesa.pc
diff --git a/debian/libosmesa6.install.in b/debian/libosmesa6.install.in
index 5bfc5a3..1ada4d5 100644
--- a/debian/libosmesa6.install.in
+++ b/debian/libosmesa6.install.in
@@ -1,3 +1 @@
usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so.*
-usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa16.so.*
-usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa32.so.*
diff --git a/debian/libosmesa6.shlibs b/debian/libosmesa6.shlibs
index 3c9ae1a..f9315f6 100644
--- a/debian/libosmesa6.shlibs
+++ b/debian/libosmesa6.shlibs
@@ -1,3 +1 @@
libOSMesa 6 libosmesa6 (>= 6.5.2-1) | libgl1-mesa-glide3
-libOSMesa16 6 libosmesa6 (>= 6.5.2-1)
-libOSMesa32 6 libosmesa6 (>= 6.5.2-1)
diff --git a/debian/rules b/debian/rules
index 64a50e3..cd6a179 100755
--- a/debian/rules
+++ b/debian/rules
@@ -39,13 +39,7 @@ include debian/not-installed
# build the following configurations by default
CONFIGS = swx11+glu \
swx11+glu-static \
- dri \
- osmesa \
- osmesa-static \
- osmesa16 \
- osmesa16-static \
- osmesa32 \
- osmesa32-static
+ dri
ifeq ($(DEB_HOST_ARCH_CPU), i386)
CONFIGS += swx11+glu-i386-i686
@@ -116,6 +110,7 @@ confflags-dri = \
--with-dri-drivers="$(DRI_DRIVERS)" \
--with-dri-driverdir=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \
--with-dri-searchpath='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \
+ --enable-gl-osmesa \
--enable-glx-tls \
--enable-shared-glapi \
--enable-texture-float \
@@ -127,49 +122,6 @@ confflags-dri = \
$(confflags_OPENVG) \
$(confflags-common)
-confflags-osmesa = \
- --disable-egl \
- --with-gallium-drivers= \
- --with-driver=osmesa \
- $(confflags-common)
-
-confflags-osmesa-static = \
- --disable-egl \
- --with-gallium-drivers= \
- --with-driver=osmesa \
- --enable-static \
- $(confflags-common)
-
-confflags-osmesa16 = \
- --disable-egl \
- --with-gallium-drivers= \
- --with-driver=osmesa \
- --with-osmesa-bits=16 \
- $(confflags-common)
-
-confflags-osmesa16-static = \
- --disable-egl \
- --with-gallium-drivers= \
- --with-driver=osmesa \
- --with-osmesa-bits=16 \
- --enable-static \
- $(confflags-common)
-
-confflags-osmesa32 = \
- --disable-egl \
- --with-gallium-drivers= \
- --with-driver=osmesa \
- --with-osmesa-bits=32 \
- $(confflags-common)
-
-confflags-osmesa32-static = \
- --disable-egl \
- --with-gallium-drivers= \
- --with-driver=osmesa \
- --with-osmesa-bits=32 \
- --enable-static \
- $(confflags-common)
-
confflags-swx11+glu = \
--disable-egl \
--with-gallium-drivers= \
commit 0ac62b32fcea35193a9d64e3fd1fb252e533bfa2
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 16:00:57 2012 +0300
rules: Drop special handling of config.{guess,sub}, not needed anymore.
diff --git a/debian/changelog b/debian/changelog
index b42597e..611e2b6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,7 @@ mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
- switch to llvm-3.1.
* control: Depend on dh-autoreconf, which pulls in libtool. Drop
autoconf, automake from Depends.
+ * rules: Drop special handling of config.{guess,sub}, not needed anymore.
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
diff --git a/debian/rules b/debian/rules
index 551cb75..64a50e3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -196,10 +196,7 @@ confflags-swx11+glu-i386-i686 = \
CFLAGS="$(CFLAGS) -march=i686" \
CXXFLAGS="$(CXXFLAGS) -march=i686"
-autotools_files = bin/config.guess bin/config.sub
-
configure: $(QUILT_STAMPFN) configure.ac
- for file in $(autotools_files); do cp $$file $$file.pristine; done
autoreconf -vfi
# list the configurations that will built
@@ -263,8 +260,6 @@ clean: unpatch
rm -rf aclocal.m4 missing depcomp install-sh ltmain.sh
rm -rf $(STAMP_DIR)
for file in debian/*.in; do rm -f $${file%%.in}; done
- # Those are auto-updated, grr:
- for file in $(autotools_files); do if [ -f $$file.pristine ]; then mv -f $$file.pristine $$file; fi; done
ln -sf minstall bin/install-sh
dh_clean
commit fe09dc911688042f479a962a37140364de2282c8
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 15:56:36 2012 +0300
control: Depend on dh-autoreconf, which pulls in libtool. Drop autoconf, automake from Depends.
diff --git a/debian/changelog b/debian/changelog
index a1f921e..b42597e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,8 @@ mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
* Refresh patches
- disable 05_kfreebsd-egl-x11.diff for now.
- switch to llvm-3.1.
+ * control: Depend on dh-autoreconf, which pulls in libtool. Drop
+ autoconf, automake from Depends.
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
diff --git a/debian/control b/debian/control
index 925d3e4..34515b1 100644
--- a/debian/control
+++ b/debian/control
@@ -5,6 +5,7 @@ Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Cyril Brulebois <kibi@debian.org>
Standards-Version: 3.8.4
Build-Depends:
+ dh-autoreconf,
debhelper (>= 8.1.3),
quilt (>= 0.40),
pkg-config,
@@ -18,8 +19,6 @@ Build-Depends:
libxfixes-dev,
libxdamage-dev,
libxext-dev,
- autoconf,
- automake,
x11proto-dri2-dev (>= 2.6),
linux-libc-dev (>= 2.6.31) [linux-any],
libx11-xcb-dev,
commit fbf5bba7e7fea6fce78fffa0c87613fe7ecb085a
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 12:21:03 2012 +0300
bump the llvm-dev build-dep to 3.1
diff --git a/debian/control b/debian/control
index ec59840..925d3e4 100644
--- a/debian/control
+++ b/debian/control
@@ -30,7 +30,7 @@ Build-Depends:
libudev-dev [linux-any],
flex,
bison,
- llvm-2.9-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386],
+ llvm-3.1-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386],
libwayland-dev (>= 0.85.0) [linux-any],
Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git
commit 5fb75fcbb57b105ab356c869d16657779445888b
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 11:40:49 2012 +0300
Refresh patches, disable 05_kfreebsd-egl-x11.diff for now.
diff --git a/debian/changelog b/debian/changelog
index 892ca08..a1f921e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,9 @@ mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
[ Timo Aaltonen ]
* New upstream git snapshot.
+ * Refresh patches
+ - disable 05_kfreebsd-egl-x11.diff for now.
+ - switch to llvm-3.1.
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
diff --git a/debian/patches/04_osmesa_version.diff b/debian/patches/04_osmesa_version.diff
index 19bd568..bf21c2c 100644
--- a/debian/patches/04_osmesa_version.diff
+++ b/debian/patches/04_osmesa_version.diff
@@ -2,16 +2,14 @@
src/mesa/drivers/osmesa/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: mesa/src/mesa/drivers/osmesa/Makefile
-===================================================================
---- mesa.orig/src/mesa/drivers/osmesa/Makefile
-+++ mesa/src/mesa/drivers/osmesa/Makefile
-@@ -37,7 +37,7 @@
- # -DCHAN_BITS=16/32.
- $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS) $(CORE_MESA)
- $(MKLIB) -o $(OSMESA_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
-- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
-+ -major 6 -minor 5 -patch 3 \
- -install $(TOP)/$(LIB_DIR) -cplusplus $(MKLIB_OPTIONS) \
- -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
- $(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
+--- a/src/mesa/drivers/osmesa/Makefile.am
++++ b/src/mesa/drivers/osmesa/Makefile.am
+@@ -35,7 +35,7 @@
+
+ lib@OSMESA_LIB@_la_SOURCES = osmesa.c
+
+-lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number @OSMESA_VERSION@ -shared -no-undefined
++lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number 6.5.3 -shared -no-undefined
+ lib@OSMESA_LIB@_la_LIBADD = \
+ $(top_builddir)/src/mesa/libmesa.la \
+ $(top_builddir)/src/mapi/glapi/libglapi.la
diff --git a/debian/patches/06_kfreebsd-ftbfs.diff b/debian/patches/06_kfreebsd-ftbfs.diff
index e8a2881..cab24ed 100644
--- a/debian/patches/06_kfreebsd-ftbfs.diff
+++ b/debian/patches/06_kfreebsd-ftbfs.diff
@@ -5,11 +5,9 @@ mesa fails to build on GNU/kFreeBSD, since some parts are not enabled.
Debian bug: http://bugs.debian.org/524690
-Index: mesa/configure.ac
-===================================================================
---- mesa.orig/configure.ac 2012-05-21 18:19:36.835922738 -0400
-+++ mesa/configure.ac 2012-05-21 18:19:43.047922906 -0400
-@@ -1215,7 +1215,7 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1160,7 +1160,7 @@
;;
esac
;;
diff --git a/debian/patches/10-hurd-configure-tweaks.diff b/debian/patches/10-hurd-configure-tweaks.diff
index 1bfe694..9a01f9f 100644
--- a/debian/patches/10-hurd-configure-tweaks.diff
+++ b/debian/patches/10-hurd-configure-tweaks.diff
@@ -1,11 +1,9 @@
Enable x86 assembler on Hurd.
Thanks to Pino Toscano.
-Index: mesa/configure.ac
-===================================================================
---- mesa.orig/configure.ac 2012-05-21 18:19:43.047922906 -0400
-+++ mesa/configure.ac 2012-05-21 18:19:43.639922922 -0400
-@@ -470,7 +470,7 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -454,7 +454,7 @@
case "$host_cpu" in
i?86)
case "$host_os" in
diff --git a/debian/patches/13-llvm-config-pick-a-version.diff b/debian/patches/13-llvm-config-pick-a-version.diff
index 432d2a9..4a60c1e 100644
--- a/debian/patches/13-llvm-config-pick-a-version.diff
+++ b/debian/patches/13-llvm-config-pick-a-version.diff
@@ -1,16 +1,18 @@
Several versions of llvm can coexist in the archive (at the time of this
-writing, 2.8 and 2.9), so pick a version. Let's assume the last version
-receives bug fixes quickly, so pick 2.9 for now.
-Index: mesa/configure.ac
-===================================================================
---- mesa.orig/configure.ac 2012-05-21 18:19:43.639922922 -0400
-+++ mesa/configure.ac 2012-05-21 18:19:43.947922933 -0400
-@@ -1762,7 +1762,7 @@
- esac
+writing, 2.9, 3.0 and 3.1), so pick a version. Let's assume the last version
+receives bug fixes quickly, so pick 3.1 for now.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1822,9 +1822,9 @@
fi
if test "x$enable_gallium_llvm" = xyes; then
-- AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
-+ AC_PATH_PROG([LLVM_CONFIG], [llvm-config-2.9], [no])
+ if test "x$llvm_prefix" != x; then
+- AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
++ AC_PATH_PROG([LLVM_CONFIG], [llvm-config-3.1], [no], ["$llvm_prefix/bin"])
+ else
+- AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
++ AC_PATH_PROG([LLVM_CONFIG], [llvm-config-3.1], [no])
+ fi
if test "x$LLVM_CONFIG" != xno; then
- LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
diff --git a/debian/patches/series b/debian/patches/series
index 5746454..5bdf237 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,6 @@
02_use-ieee-fp-on-s390-and-m68k.patch
04_osmesa_version.diff
-05_kfreebsd-egl-x11.diff
+#05_kfreebsd-egl-x11.diff
06_kfreebsd-ftbfs.diff
08-kfreebsd-gallium.diff
10-hurd-configure-tweaks.diff
commit 5ff24b88a3e9fefab7c2821accdd640c7d8e6429
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Thu Aug 16 10:47:06 2012 +0300
bump the version
diff --git a/debian/changelog b/debian/changelog
index e2b6c5d..892ca08 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,11 @@
-mesa (8.0.4-2) UNRELEASED; urgency=low
+mesa (8.1~git20120816.1597176f-1) UNRELEASED; urgency=low
+ [ Julien Cristau ]
* Use xz for all binary packages not just *-dbg.
+ [ Timo Aaltonen ]
+ * New upstream git snapshot.
+
-- Julien Cristau <jcristau@debian.org> Fri, 03 Aug 2012 23:17:16 +0200
mesa (8.0.4-1) unstable; urgency=low
commit 1597176f7090eea73f41b3114ae2a02a50ac7a12
Author: Vinson Lee <vlee@freedesktop.org>
Date: Sun Aug 12 00:20:21 2012 -0700
llvmpipe: Silence Coverity incorrect sizeof expression defect.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
diff --git a/src/gallium/drivers/llvmpipe/lp_state_setup.c b/src/gallium/drivers/llvmpipe/lp_state_setup.c
index 1d5e50b..469a459 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_setup.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_setup.c
@@ -585,7 +585,7 @@ set_noalias(LLVMBuilderRef builder,
int nr_args)
{
int i;
- for(i = 0; i < Elements(arg_types); ++i)
+ for(i = 0; i < nr_args; ++i)
if(LLVMGetTypeKind(arg_types[i]) == LLVMPointerTypeKind)
LLVMAddAttribute(LLVMGetParam(function, i),
LLVMNoAliasAttribute);
commit 3d6892c4793ae1fd1ef82d40e4af8004393b0480
Author: Vinson Lee <vlee@freedesktop.org>
Date: Sun Aug 12 00:02:32 2012 -0700
scons: Add option to enable floating-point textures.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
diff --git a/common.py b/common.py
index 6121a41..6ff9608 100644
--- a/common.py
+++ b/common.py
@@ -98,5 +98,6 @@ def AddOptions(opts):
opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes'))
opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no'))
opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes'))
+ opts.Add(BoolOption('texture_float', 'enable floating-point textures and renderbuffers', 'no'))
if host_platform == 'windows':
opts.Add(EnumOption('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0')))
diff --git a/scons/gallium.py b/scons/gallium.py
index f4776d8..8fc17b3 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -298,6 +298,10 @@ def generate(env):
cppdefines += ['BEOS_THREADS']
if env['embedded']:
cppdefines += ['PIPE_SUBSYSTEM_EMBEDDED']
+ if env['texture_float']:
+ print 'warning: Floating-point textures enabled.'
+ print 'warning: Please consult docs/patents.txt with your lawyer before building Mesa.'
+ cppdefines += ['TEXTURE_FLOAT_ENABLED']
env.Append(CPPDEFINES = cppdefines)
# C compiler options
commit 6a3ac03f2b80c80655d66b31c0218754f70156de
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Mar 12 16:09:23 2010 +1000
glx/dri2: add dri2 prime support.
This adds support for having libGL pick a different driver for prime support.
DRI_PRIME env var is set to the value retrieved from the server randr
provider calls, by the calling process. (generally DRI_PRIME=1 will be
the right answer).
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/src/glx/dri2.c b/src/glx/dri2.c
index b1b5013..d6b99db 100644
--- a/src/glx/dri2.c
+++ b/src/glx/dri2.c
@@ -269,6 +269,7 @@ DRI2Connect(Display * dpy, XID window, char **driverName, char **deviceName)
XExtDisplayInfo *info = DRI2FindDisplay(dpy);
xDRI2ConnectReply rep;
xDRI2ConnectReq *req;
+ char *prime;
XextCheckExtension(dpy, info, dri2ExtensionName, False);
@@ -277,7 +278,19 @@ DRI2Connect(Display * dpy, XID window, char **driverName, char **deviceName)
req->reqType = info->codes->major_opcode;
req->dri2ReqType = X_DRI2Connect;
req->window = window;
+
req->driverType = DRI2DriverDRI;
+#ifdef DRI2DriverPrimeShift
+ prime = getenv("DRI_PRIME");
+ if (prime) {
+ uint32_t primeid;
+ errno = 0;
+ primeid = strtoul(prime, NULL, 0);
+ if (errno == 0)
+ req->driverType |= ((primeid & DRI2DriverPrimeMask) << DRI2DriverPrimeShift);
+ }
+#endif
+
if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
commit 565a4e2a8625c79bde0eacf674a4f633151eeb0e
Author: Vincent Lejeune <vljn@ovi.com>
Date: Wed Aug 1 22:49:44 2012 +0200
radeon/llvm: Enable if-cvt
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
diff --git a/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp b/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp
index 6b50128..b97c0fe 100644
--- a/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp
+++ b/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp
@@ -29,6 +29,7 @@
#include "llvm/Support/raw_os_ostream.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/Scalar.h"
+#include <llvm/CodeGen/Passes.h>
using namespace llvm;
@@ -148,6 +149,8 @@ bool AMDGPUPassConfig::addPostRegAlloc() {
}
bool AMDGPUPassConfig::addPreSched2() {
+
+ addPass(IfConverterID);
return false;
}
commit a614979286f8d329af318c1e9fb067e17cab4315
Author: Vincent Lejeune <vljn@ovi.com>
Date: Wed Aug 1 22:49:43 2012 +0200
radeon/llvm: Add callbacks needed by if-cvt
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
diff --git a/src/gallium/drivers/radeon/R600InstrInfo.cpp b/src/gallium/drivers/radeon/R600InstrInfo.cpp
index 4a396ef..7a8a58e 100644
--- a/src/gallium/drivers/radeon/R600InstrInfo.cpp
+++ b/src/gallium/drivers/radeon/R600InstrInfo.cpp
@@ -17,7 +17,6 @@
#include "R600RegisterInfo.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "AMDILUtilityFunctions.h"
-#include "AMDGPUUtil.h"
#define GET_INSTRINFO_CTOR
#include "AMDGPUGenDFAPacketizer.inc"
@@ -391,7 +390,6 @@ R600InstrInfo::isPredicated(const MachineInstr *MI) const
if (idx < 0)
return false;
- MI->dump();
unsigned Reg = MI->getOperand(idx).getReg();
switch (Reg) {
default: return false;
@@ -407,3 +405,117 @@ R600InstrInfo::isPredicable(MachineInstr *MI) const
{
return AMDGPUInstrInfo::isPredicable(MI);
}
+
+
+bool
+R600InstrInfo::isProfitableToIfCvt(MachineBasicBlock &MBB,
+ unsigned NumCyles,
+ unsigned ExtraPredCycles,
+ const BranchProbability &Probability) const{
+ return true;
+}
+
+bool
+R600InstrInfo::isProfitableToIfCvt(MachineBasicBlock &TMBB,
+ unsigned NumTCycles,
+ unsigned ExtraTCycles,
+ MachineBasicBlock &FMBB,
+ unsigned NumFCycles,
+ unsigned ExtraFCycles,
+ const BranchProbability &Probability) const
+{
+ return true;
+}
+
+bool
+R600InstrInfo::isProfitableToDupForIfCvt(MachineBasicBlock &MBB,
+ unsigned NumCyles,
+ const BranchProbability &Probability)
+ const
+{
+ return true;
+}
+
+bool
+R600InstrInfo::isProfitableToUnpredicate(MachineBasicBlock &TMBB,
+ MachineBasicBlock &FMBB) const
+{
+ return false;
+}
+
+
+bool
+R600InstrInfo::ReverseBranchCondition(SmallVectorImpl<MachineOperand> &Cond) const
+{
+ MachineOperand &MO = Cond[1];
+ switch (MO.getImm()) {
+ case OPCODE_IS_ZERO_INT:
+ MO.setImm(OPCODE_IS_NOT_ZERO_INT);
+ break;
+ case OPCODE_IS_NOT_ZERO_INT:
+ MO.setImm(OPCODE_IS_ZERO_INT);
+ break;
+ case OPCODE_IS_ZERO:
+ MO.setImm(OPCODE_IS_NOT_ZERO);
+ break;
+ case OPCODE_IS_NOT_ZERO:
+ MO.setImm(OPCODE_IS_ZERO);
+ break;
+ default:
+ return true;
+ }
+
+ MachineOperand &MO2 = Cond[2];
+ switch (MO2.getReg()) {
+ case AMDGPU::PRED_SEL_ZERO:
+ MO2.setReg(AMDGPU::PRED_SEL_ONE);
+ break;
+ case AMDGPU::PRED_SEL_ONE:
+ MO2.setReg(AMDGPU::PRED_SEL_ZERO);
+ break;
+ default:
+ return true;
+ }
+ return false;
+}
+
+bool
+R600InstrInfo::DefinesPredicate(MachineInstr *MI,
+ std::vector<MachineOperand> &Pred) const
+{
+ return isPredicateSetter(MI->getOpcode());
+}
+
+
+bool
+R600InstrInfo::SubsumesPredicate(const SmallVectorImpl<MachineOperand> &Pred1,
+ const SmallVectorImpl<MachineOperand> &Pred2) const
+{
+ return false;
+}
+
+
+bool
+R600InstrInfo::PredicateInstruction(MachineInstr *MI,
+ const SmallVectorImpl<MachineOperand> &Pred) const
+{
+ int PIdx = MI->findFirstPredOperandIdx();
+
+ if (PIdx != -1) {
+ MachineOperand &PMO = MI->getOperand(PIdx);
+ PMO.setReg(Pred[2].getReg());
+ MachineInstrBuilder(MI).addReg(AMDGPU::PREDICATE_BIT, RegState::Implicit);
+ return true;
+ }
+
+ return false;
+}
+
+int R600InstrInfo::getInstrLatency(const InstrItineraryData *ItinData,
+ const MachineInstr *MI,
+ unsigned *PredCost) const
+{
+ if (PredCost)
+ *PredCost = 2;
+ return 2;
+}
diff --git a/src/gallium/drivers/radeon/R600InstrInfo.h b/src/gallium/drivers/radeon/R600InstrInfo.h
index 2819b0b..6e184cc 100644
--- a/src/gallium/drivers/radeon/R600InstrInfo.h
+++ b/src/gallium/drivers/radeon/R600InstrInfo.h
@@ -64,6 +64,9 @@ namespace llvm {
DFAPacketizer *CreateTargetScheduleState(const TargetMachine *TM,
const ScheduleDAG *DAG) const;
+
+ bool ReverseBranchCondition(SmallVectorImpl<MachineOperand> &Cond) const;
+
bool AnalyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
SmallVectorImpl<MachineOperand> &Cond, bool AllowModify) const;
@@ -74,6 +77,40 @@ namespace llvm {
bool isPredicated(const MachineInstr *MI) const;
bool isPredicable(MachineInstr *MI) const;
+
+ bool
+ isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCyles,
+ const BranchProbability &Probability) const;
+
+ bool isProfitableToIfCvt(MachineBasicBlock &MBB, unsigned NumCyles,
+ unsigned ExtraPredCycles,
+ const BranchProbability &Probability) const ;
+
+ bool
+ isProfitableToIfCvt(MachineBasicBlock &TMBB,
+ unsigned NumTCycles, unsigned ExtraTCycles,
+ MachineBasicBlock &FMBB,
+ unsigned NumFCycles, unsigned ExtraFCycles,
+ const BranchProbability &Probability) const;
+
+ bool DefinesPredicate(MachineInstr *MI,
+ std::vector<MachineOperand> &Pred) const;
+
+ bool SubsumesPredicate(const SmallVectorImpl<MachineOperand> &Pred1,
+ const SmallVectorImpl<MachineOperand> &Pred2) const;
+
+ bool isProfitableToUnpredicate(MachineBasicBlock &TMBB,
+ MachineBasicBlock &FMBB) const;
+
+ bool PredicateInstruction(MachineInstr *MI,
+ const SmallVectorImpl<MachineOperand> &Pred) const;
+
+ int getInstrLatency(const InstrItineraryData *ItinData,
+ const MachineInstr *MI,
+ unsigned *PredCost = 0) const;
+
+ virtual int getInstrLatency(const InstrItineraryData *ItinData,
+ SDNode *Node) const { return 1;}
};
} // End llvm namespace
commit 0eca5fd919b0a31ea926b5f5072e5e56f7a55269
Author: Vincent Lejeune <vljn@ovi.com>
Date: Wed Aug 1 22:49:42 2012 +0200
radeon/llvm: Lower branch/branch_cond into predicated jump
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
diff --git a/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp b/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp
index 2af0367..03a647e 100644
--- a/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp
+++ b/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp
@@ -97,124 +97,6 @@ bool AMDGPUInstrInfo::getNextBranchInstr(MachineBasicBlock::iterator &iter,
return false;
}
-bool AMDGPUInstrInfo::AnalyzeBranch(MachineBasicBlock &MBB,
- MachineBasicBlock *&TBB,
- MachineBasicBlock *&FBB,
- SmallVectorImpl<MachineOperand> &Cond,
- bool AllowModify) const {
- bool retVal = true;
- return retVal;
- MachineBasicBlock::iterator iter = MBB.begin();
- if (!getNextBranchInstr(iter, MBB)) {
- retVal = false;
- } else {
- MachineInstr *firstBranch = iter;
- if (!getNextBranchInstr(++iter, MBB)) {
- if (firstBranch->getOpcode() == AMDGPU::BRANCH) {
- TBB = firstBranch->getOperand(0).getMBB();
- firstBranch->eraseFromParent();
- retVal = false;
- } else {
- TBB = firstBranch->getOperand(0).getMBB();
- FBB = *(++MBB.succ_begin());
- if (FBB == TBB) {
- FBB = *(MBB.succ_begin());
- }
- Cond.push_back(firstBranch->getOperand(1));
- retVal = false;
- }
- } else {
- MachineInstr *secondBranch = iter;
- if (!getNextBranchInstr(++iter, MBB)) {
- if (secondBranch->getOpcode() == AMDGPU::BRANCH) {
- TBB = firstBranch->getOperand(0).getMBB();
- Cond.push_back(firstBranch->getOperand(1));
- FBB = secondBranch->getOperand(0).getMBB();
- secondBranch->eraseFromParent();
- retVal = false;
- } else {
- assert(0 && "Should not have two consecutive conditional branches");
- }
- } else {
- MBB.getParent()->viewCFG();
- assert(0 && "Should not have three branch instructions in"
- " a single basic block");
- retVal = false;
- }
- }
- }
- return retVal;
-}
-
-unsigned int AMDGPUInstrInfo::getBranchInstr(const MachineOperand &op) const {
- const MachineInstr *MI = op.getParent();
-
- switch (MI->getDesc().OpInfo->RegClass) {
- default: // FIXME: fallthrough??
- case AMDGPU::GPRI32RegClassID: return AMDGPU::BRANCH_COND_i32;
- case AMDGPU::GPRF32RegClassID: return AMDGPU::BRANCH_COND_f32;
- };
-}
-
-unsigned int
-AMDGPUInstrInfo::InsertBranch(MachineBasicBlock &MBB,
- MachineBasicBlock *TBB,
- MachineBasicBlock *FBB,
- const SmallVectorImpl<MachineOperand> &Cond,
- DebugLoc DL) const
-{
- assert(TBB && "InsertBranch must not be told to insert a fallthrough");
- for (unsigned int x = 0; x < Cond.size(); ++x) {
- Cond[x].getParent()->dump();
- }
- if (FBB == 0) {
- if (Cond.empty()) {
- BuildMI(&MBB, DL, get(AMDGPU::BRANCH)).addMBB(TBB);
- } else {
- BuildMI(&MBB, DL, get(getBranchInstr(Cond[0])))
- .addMBB(TBB).addReg(Cond[0].getReg());
- }
- return 1;
- } else {
- BuildMI(&MBB, DL, get(getBranchInstr(Cond[0])))
- .addMBB(TBB).addReg(Cond[0].getReg());
- BuildMI(&MBB, DL, get(AMDGPU::BRANCH)).addMBB(FBB);
- }
- assert(0 && "Inserting two branches not supported");
- return 0;
-}
-
-unsigned int AMDGPUInstrInfo::RemoveBranch(MachineBasicBlock &MBB) const {
- MachineBasicBlock::iterator I = MBB.end();
- if (I == MBB.begin()) {
- return 0;
- }
- --I;
- switch (I->getOpcode()) {
- default:
- return 0;
- ExpandCaseToAllScalarTypes(AMDGPU::BRANCH_COND);
- case AMDGPU::BRANCH:
- I->eraseFromParent();
- break;
- }
- I = MBB.end();
-
- if (I == MBB.begin()) {
- return 1;
- }
- --I;
- switch (I->getOpcode()) {
- // FIXME: only one case??
- default:
- return 1;
- ExpandCaseToAllScalarTypes(AMDGPU::BRANCH_COND);
- I->eraseFromParent();
- break;
- }
- return 2;
-}
-
MachineBasicBlock::iterator skipFlowControl(MachineBasicBlock *MBB) {
MachineBasicBlock::iterator tmp = MBB->end();
if (!MBB->size()) {
diff --git a/src/gallium/drivers/radeon/AMDGPUInstrInfo.h b/src/gallium/drivers/radeon/AMDGPUInstrInfo.h
index 28952cf..31400a7 100644
--- a/src/gallium/drivers/radeon/AMDGPUInstrInfo.h
+++ b/src/gallium/drivers/radeon/AMDGPUInstrInfo.h
@@ -49,8 +49,6 @@ private:
TargetMachine &TM;
bool getNextBranchInstr(MachineBasicBlock::iterator &iter,
MachineBasicBlock &MBB) const;
- unsigned int getBranchInstr(const MachineOperand &op) const;
-
public:
explicit AMDGPUInstrInfo(TargetMachine &tm);
@@ -77,18 +75,6 @@ public:
MachineBasicBlock::iterator &MBBI,
LiveVariables *LV) const;
- bool AnalyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
- MachineBasicBlock *&FBB,
- SmallVectorImpl<MachineOperand> &Cond,
- bool AllowModify) const;
-
- unsigned RemoveBranch(MachineBasicBlock &MBB) const;
-
- unsigned
- InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
- MachineBasicBlock *FBB,
- const SmallVectorImpl<MachineOperand> &Cond,
Reply to: