mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Mesa: update to Mesa-7.9, add Gallium support for nouveau driver
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
c8c73a370c
commit
4bdeb8265a
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
. config/options $1
|
. config/options $1
|
||||||
|
|
||||||
|
$SCRIPTS/build libxml2-host
|
||||||
|
$SCRIPTS/build talloc
|
||||||
$SCRIPTS/build expat
|
$SCRIPTS/build expat
|
||||||
$SCRIPTS/build glproto
|
$SCRIPTS/build glproto
|
||||||
$SCRIPTS/build dri2proto
|
$SCRIPTS/build dri2proto
|
||||||
@ -15,6 +17,26 @@ $SCRIPTS/build libX11
|
|||||||
|
|
||||||
get_graphicdrivers
|
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.
|
# ensure we dont use size optimization.
|
||||||
CFLAGS=`echo $CFLAGS | sed -e "s|-Os|-O3|"`
|
CFLAGS=`echo $CFLAGS | sed -e "s|-Os|-O3|"`
|
||||||
CXXFLAGS=`echo $CXXFLAGS | 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-drivers=$MESA_DRIVERS \
|
||||||
--with-dri-driverdir="$XORG_PATH_DRI" \
|
--with-dri-driverdir="$XORG_PATH_DRI" \
|
||||||
--with-xorg-driver-dir="$XORG_PATH_DRIVERS" \
|
--with-xorg-driver-dir="$XORG_PATH_DRIVERS" \
|
||||||
--disable-gallium \
|
$MESA_CONFIG \
|
||||||
|
|
||||||
make -C src/glsl CC=$HOST_CC CFLAGS="$HOST_CFLAGS" LDFLAGS="$HOST_LDFLAGS"
|
make
|
||||||
mv src/glsl/apps/compile ./host_compile
|
|
||||||
|
|
||||||
make clean
|
|
||||||
|
|
||||||
make GLSL_CL="\$(TOP)/host_compile"
|
|
||||||
|
|
||||||
$MAKEINSTALL -C src/mesa
|
$MAKEINSTALL -C src/mesa
|
||||||
$MAKEINSTALL -C src/glu
|
$MAKEINSTALL -C src/glu
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
$SCRIPTS/install libXdamage
|
$SCRIPTS/install libXdamage
|
||||||
$SCRIPTS/install libdrm
|
$SCRIPTS/install libdrm
|
||||||
|
$SCRIPTS/install talloc
|
||||||
$SCRIPTS/install expat
|
$SCRIPTS/install expat
|
||||||
$SCRIPTS/install libXext
|
$SCRIPTS/install libXext
|
||||||
$SCRIPTS/install libXfixes
|
$SCRIPTS/install libXfixes
|
||||||
@ -19,3 +20,4 @@ mkdir -p $INSTALL/usr/lib
|
|||||||
|
|
||||||
mkdir -p $INSTALL/usr/lib/dri
|
mkdir -p $INSTALL/usr/lib/dri
|
||||||
cp -P $PKG_BUILD/lib/*_dri.so $INSTALL/usr/lib/dri || true
|
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
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
From 8f13c69e7658df3a97e388f210dae175639d6d8d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
|
||||||
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 <chris@chris-wilson.co.uk>
|
|
||||||
---
|
|
||||||
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
|
|
||||||
|
|
@ -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)
|
|
||||||
|
|
@ -1 +1 @@
|
|||||||
ftp://freedesktop.org/pub/mesa/7.8.2/MesaLib-7.8.2.tar.bz2
|
ftp://freedesktop.org/pub/mesa/7.9/MesaLib-7.9.tar.bz2
|
Loading…
x
Reference in New Issue
Block a user