From 4bdeb8265abad8a0ed1bc296be1c2a45e817b03c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 14 Oct 2010 12:17:12 +0200 Subject: [PATCH] Mesa: update to Mesa-7.9, add Gallium support for nouveau driver Signed-off-by: Stephan Raue --- packages/graphics/Mesa/build | 31 ++++++-- packages/graphics/Mesa/install | 2 + ...-Fix-invalidate-before-initialisation.diff | 73 ------------------- .../Mesa/patches/10_cross-compile.diff | 35 --------- packages/graphics/Mesa/url | 2 +- 5 files changed, 27 insertions(+), 116 deletions(-) delete mode 100644 packages/graphics/Mesa/patches/0001-intel-Fix-invalidate-before-initialisation.diff delete mode 100644 packages/graphics/Mesa/patches/10_cross-compile.diff diff --git a/packages/graphics/Mesa/build b/packages/graphics/Mesa/build index 1ff64219ae..c16a334bf8 100755 --- a/packages/graphics/Mesa/build +++ b/packages/graphics/Mesa/build @@ -2,6 +2,8 @@ . config/options $1 +$SCRIPTS/build libxml2-host +$SCRIPTS/build talloc $SCRIPTS/build expat $SCRIPTS/build glproto $SCRIPTS/build dri2proto @@ -15,6 +17,26 @@ $SCRIPTS/build libX11 get_graphicdrivers +MESA_CONFIG="--disable-gallium-nouveau --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-radeon --disable-gallium-r600 --disable-gallium-svga" + +for drv in $GRAPHIC_DRIVERS; do + [ $drv = i915 ] && \ + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-intel/disable-gallium-intel/'` + + [ $drv = i965 ] && \ + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-intel/disable-gallium-intel/'` + + [ $drv = radeon ] && \ + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-radeon/disable-gallium-radeon/'` + + [ $drv = r600 ] && \ + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r600/disable-gallium-r600/'` + + [ $drv = nouveau ] && \ + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-nouveau/enable-gallium-nouveau/'` +done + + # ensure we dont use size optimization. CFLAGS=`echo $CFLAGS | sed -e "s|-Os|-O3|"` CXXFLAGS=`echo $CXXFLAGS | sed -e "s|-Os|-O3|"` @@ -48,14 +70,9 @@ DRI_DRIVER_SEARCH_DIR="$XORG_PATH_DRI" \ --with-dri-drivers=$MESA_DRIVERS \ --with-dri-driverdir="$XORG_PATH_DRI" \ --with-xorg-driver-dir="$XORG_PATH_DRIVERS" \ - --disable-gallium \ + $MESA_CONFIG \ -make -C src/glsl CC=$HOST_CC CFLAGS="$HOST_CFLAGS" LDFLAGS="$HOST_LDFLAGS" -mv src/glsl/apps/compile ./host_compile - -make clean - -make GLSL_CL="\$(TOP)/host_compile" +make $MAKEINSTALL -C src/mesa $MAKEINSTALL -C src/glu diff --git a/packages/graphics/Mesa/install b/packages/graphics/Mesa/install index 83521b5f5c..42f417b948 100755 --- a/packages/graphics/Mesa/install +++ b/packages/graphics/Mesa/install @@ -4,6 +4,7 @@ $SCRIPTS/install libXdamage $SCRIPTS/install libdrm +$SCRIPTS/install talloc $SCRIPTS/install expat $SCRIPTS/install libXext $SCRIPTS/install libXfixes @@ -19,3 +20,4 @@ mkdir -p $INSTALL/usr/lib mkdir -p $INSTALL/usr/lib/dri cp -P $PKG_BUILD/lib/*_dri.so $INSTALL/usr/lib/dri || true + cp -P $PKG_BUILD/lib/gallium/*_dri.so $INSTALL/usr/lib/dri || true diff --git a/packages/graphics/Mesa/patches/0001-intel-Fix-invalidate-before-initialisation.diff b/packages/graphics/Mesa/patches/0001-intel-Fix-invalidate-before-initialisation.diff deleted file mode 100644 index bd09b9e71a..0000000000 --- a/packages/graphics/Mesa/patches/0001-intel-Fix-invalidate-before-initialisation.diff +++ /dev/null @@ -1,73 +0,0 @@ -From 8f13c69e7658df3a97e388f210dae175639d6d8d Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Fri, 16 Jul 2010 12:24:53 +0100 -Subject: [PATCH] intel: Fix invalidate before initialisation - -Fixes: - - Bug 29091 - 1.9RC5 server crash when starting GLX 1.3 app with mesa 7.8 - Intel dri2 driver. - https://bugs.freedesktop.org/show_bug.cgi?id=29091 - -Signed-off-by: Chris Wilson ---- - src/mesa/drivers/dri/common/dri_util.c | 2 +- - src/mesa/drivers/dri/intel/intel_screen.c | 19 +++++++++++++++---- - 2 files changed, 16 insertions(+), 5 deletions(-) - -diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c -index 75c9882..9a9bfed 100644 ---- a/src/mesa/drivers/dri/common/dri_util.c -+++ b/src/mesa/drivers/dri/common/dri_util.c -@@ -432,7 +432,7 @@ driCreateNewDrawable(__DRIscreen *psp, const __DRIconfig *config, - */ - (void) attrs; - -- pdp = malloc(sizeof *pdp); -+ pdp = calloc(1, sizeof *pdp); - if (!pdp) { - return NULL; - } -diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c -index 6e4bb64..083b7bb 100644 ---- a/src/mesa/drivers/dri/intel/intel_screen.c -+++ b/src/mesa/drivers/dri/intel/intel_screen.c -@@ -102,10 +102,21 @@ static const __DRItexBufferExtension intelTexBufferExtension = { - intelSetTexBuffer2, - }; - -+static inline struct intel_context * -+to_intel_context(__DRIdrawable *drawable) -+{ -+ if (drawable->driContextPriv == NULL) -+ return NULL; -+ -+ return drawable->driContextPriv->driverPrivate; -+} -+ - static void - intelDRI2Flush(__DRIdrawable *drawable) - { -- struct intel_context *intel = drawable->driContextPriv->driverPrivate; -+ struct intel_context *intel = to_intel_context(drawable); -+ if (!intel) -+ return; - - if (intel->gen < 4) - INTEL_FIREVERTICES(intel); -@@ -117,9 +128,9 @@ intelDRI2Flush(__DRIdrawable *drawable) - static void - intelDRI2Invalidate(__DRIdrawable *drawable) - { -- struct intel_context *intel = drawable->driContextPriv->driverPrivate; -- -- intel->using_dri2_swapbuffers = GL_TRUE; -+ struct intel_context *intel = to_intel_context(drawable); -+ if (intel) -+ intel->using_dri2_swapbuffers = GL_TRUE; - dri2InvalidateDrawable(drawable); - } - --- -1.7.1 - diff --git a/packages/graphics/Mesa/patches/10_cross-compile.diff b/packages/graphics/Mesa/patches/10_cross-compile.diff deleted file mode 100644 index 0e46d69f3a..0000000000 --- a/packages/graphics/Mesa/patches/10_cross-compile.diff +++ /dev/null @@ -1,35 +0,0 @@ -diff -Naur mesa-7.1rc1-20080706.orig/bin/mklib mesa-7.1rc1-20080706/bin/mklib ---- mesa-7.1rc1-20080706.orig/bin/mklib 2008-07-06 14:09:54.000000000 +0200 -+++ mesa-7.1rc1-20080706/bin/mklib 2008-07-06 14:11:03.000000000 +0200 -@@ -211,9 +211,9 @@ - if [ "x$LINK" = "x" ] ; then - # -linker was not specified so set default link command now - if [ $CPLUSPLUS = 1 ] ; then -- LINK=g++ -+ LINK=$CXX - else -- LINK=gcc -+ LINK=$CC - fi - fi - -diff -Naur mesa-7.1rc1-20080706.orig/configs/linux-dri mesa-7.1rc1-20080706/configs/linux-dri ---- mesa-7.1rc1-20080706.orig/configs/linux-dri 2008-07-06 14:09:54.000000000 +0200 -+++ mesa-7.1rc1-20080706/configs/linux-dri 2008-07-06 14:16:00.000000000 +0200 -@@ -14,6 +14,7 @@ - #MKDEP_OPTIONS = -MF depend - - OPT_FLAGS = -O2 -g -+HOST_OPT_FLAGS = $(OPT_FLAGS) - PIC_FLAGS = -fPIC - - # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. -@@ -29,6 +30,8 @@ - - CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \ - $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS) -+HOST_CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \ -+ $(HOST_OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS) - - CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) - diff --git a/packages/graphics/Mesa/url b/packages/graphics/Mesa/url index 58a7006210..6441adc9ea 100644 --- a/packages/graphics/Mesa/url +++ b/packages/graphics/Mesa/url @@ -1 +1 @@ -ftp://freedesktop.org/pub/mesa/7.8.2/MesaLib-7.8.2.tar.bz2 \ No newline at end of file +ftp://freedesktop.org/pub/mesa/7.9/MesaLib-7.9.tar.bz2 \ No newline at end of file