diff --git a/extra/mesa/LICENSE b/extra/mesa/LICENSE new file mode 100755 index 000000000..ae33d2709 --- /dev/null +++ b/extra/mesa/LICENSE @@ -0,0 +1,82 @@ +Disclaimer + +Mesa is a 3-D graphics library with an API which is very similar to +that of OpenGL* +To the extent that Mesa utilizes the OpenGL command syntax or state +machine, it is being used with authorization from Silicon Graphics, +Inc.(SGI). However, the author does not possess an OpenGL license +from SGI, and makes no claim that Mesa is in any way a compatible +replacement for OpenGL or associated with SGI. Those who want a +licensed implementation of OpenGL should contact a licensed +vendor. + +Please do not refer to the library as MesaGL (for legal +reasons). It's just Mesa or The Mesa 3-D graphics +library + +* OpenGL is a trademark of Silicon Graphics Incorporated. + +License / Copyright Information + +The Mesa distribution consists of several components. Different copyrights +and licenses apply to different components. For example, GLUT is copyrighted +by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa +device drivers are copyrighted by their authors. See below for a list of +Mesa's main components and the license for each. + +The core Mesa library is licensed according to the terms of the MIT license. +This allows integration with the XFree86, Xorg and DRI projects. + +The default Mesa license is as follows: + +Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Attention, Contributors + +When contributing to the Mesa project you must agree to the licensing terms +of the component to which you're contributing. +The following section lists the primary components of the Mesa distribution +and their respective licenses. + + +Mesa Component Licenses + +Component Location Primary Author License +---------------------------------------------------------------------------- +Main Mesa code src/mesa/ Brian Paul Mesa (MIT) + +Device drivers src/mesa/drivers/* See drivers See drivers + +Ext headers include/GL/glext.h SGI SGI Free B + include/GL/glxext.h + +GLUT src/glut/ Mark Kilgard Mark's copyright + +Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL + +SGI GLU library src/glu/sgi/ SGI SGI Free B + +demo programs progs/demos/ various see source files + +X demos progs/xdemos/ Brian Paul see source files + +SGI demos progs/samples/ SGI SGI copyright + +RedBook demos progs/redbook/ SGI SGI copyright diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD new file mode 100755 index 000000000..8a75cbc35 --- /dev/null +++ b/extra/mesa/PKGBUILD @@ -0,0 +1,137 @@ +# Maintainer: Mike Staszel + +# Plugbox Modifications: +# Removed ATI, SIS, TDFX + +pkgbase="mesa" +pkgname=('mesa' 'libgl' 'unichrome-dri' 'mga-dri' 'savage-dri') +pkgver=7.7.1 +pkgrel=1 +arch=(arm) +makedepends=('glproto>=1.4.11' 'pkgconfig' 'libdrm>=2.4.19' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.2' 'expat>=2.0.1' 'libx11>=1.3.3' 'libxt>=1.0.7' +'gcc-libs>=4.4.3' 'dri2proto=2.1' 'python') +url="http://mesa3d.sourceforge.net" +license=('custom') +options=(!makeflags) +source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2 + #ftp://ftp.freedesktop.org/pub/mesa/${pkgver/.0.902//}RC/MesaLib-${pkgver/0.902/1-rc2}.tar.bz2 + ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaDemos-${pkgver}.tar.bz2 + #ftp://ftp.freedesktop.org/pub/mesa/${pkgver/.0.902//}RC/MesaDemos-${pkgver/0.902/1-rc2}.tar.bz2 + ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2 + mesa-7.1-link-shared.patch + intel-revert-vbl.patch + LICENSE) +md5sums=('46664d99e03f1e3ac078a7fea02af115' + 'aeb39645d80d656e0adebaa09e5bcd03' + '6ae05158e678f4594343f32c2ca50515' + '8420bed348e7016ef03cac6545d68389' + 'a111f4dc82e894f8801bc3fa129af7af' + '5c65a0fe315dd347e09b1f2826a1df5a') + +build() { + cd "${srcdir}/Mesa-${pkgver}" + #cd "${srcdir}/Mesa-${pkgver/0.902/1-rc2}" + patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1 + patch -Np1 -i "${srcdir}/intel-revert-vbl.patch" || return 1 + ./configure --prefix=/usr \ + --with-dri-driverdir=/usr/lib/xorg/modules/dri \ + --with-dri-drivers=swrast,unichrome,mga,savage \ + --disable-gallium-intel \ + --enable-glx-tls \ + --with-driver=dri \ + --enable-xcb \ + --disable-glut --disable-gallium || return 1 + +# --with-state-trackers=dri,egl \ +# --enable-gallium-nouveau \ + +# --with-state-trackers=yes \ # gentoo: glx,dri,egl +# --disable-gallium build gallium [default=enabled] +# --disable-gallium-intel build gallium intel [default=enabled] +# --enable-gallium-radeon build gallium radeon [default=disabled] +# --enable-gallium-nouveau build gallium nouveau [default=disabled] + +#ls src/Mesa-7.6/src/mesa/drivers/dri/ +#common dri.pc.in fb ffb gamma glcore i810 i915 i965 intel mach64 mga r128 r200 r300 r600 radeon s3v savage sis swrast tdfx trident unichrome +#ls src/Mesa-7.6/src/gallium/drivers/ +#cell failover i915simple i965simple identity llvmpipe nouveau nv04 nv10 nv20 nv30 nv40 nv50 r300 softpipe trace + + + make || return 1 + + cd "${srcdir}/gl-manpages-1.0.1" + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package_libgl() { + depends=('libdrm>=2.4.17-2' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.2' 'expat>=2.0.1') + pkgdesc="Mesa 3-D graphics library and DRI software rasterizer" + + cd "${srcdir}/Mesa-${pkgver}" || return 1 +# cd "${srcdir}/Mesa-${pkgver/0.902/1-rc2}" || return 1 + install -m755 -d "${pkgdir}/usr/lib" || return 1 + install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions" + + bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/" || return 1 + + cd src/mesa/drivers/dri + make -C swrast DESTDIR="${pkgdir}" install || return 1 + install -m755 libdricore.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1 + ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" || return 1 + + install -m755 -d "${pkgdir}/usr/share/licenses/libgl" + install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" || return 1 +} + +package_mesa() { + depends=('libgl' 'libx11>=1.3.2' 'libxt>=1.0.7' 'gcc-libs>=4.4.2' 'dri2proto=2.1' 'libdrm>=2.4.17-2') + pkgdesc="Mesa 3-D graphics libraries and include files" + + cd "${srcdir}/Mesa-${pkgver}" || return 1 +# cd "${srcdir}/Mesa-${pkgver/0.902/1-rc2}" || return 1 + make DESTDIR="${pkgdir}" install || return 1 + install -m755 -d "${pkgdir}/usr/bin" + install -m755 progs/xdemos/glx{gears,info} "${pkgdir}/usr/bin/" || return 1 + + rm -f "${pkgdir}/usr/lib/libGL.so"* + rm -rf "${pkgdir}/usr/lib/xorg" + rm -f "${pkgdir}/usr/include/GL/glew.h" + rm -f "${pkgdir}/usr/include/GL/glxew.h" + rm -f "${pkgdir}/usr/include/GL/wglew.h" + + cd "${srcdir}/gl-manpages-1.0.1" || return 1 + make DESTDIR="${pkgdir}" install || return 1 + + install -m755 -d "${pkgdir}/usr/share/licenses/mesa" + install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" || return 1 +} + +package_unichrome-dri() { + depends=("libgl=${pkgver}") + pkgdesc="Mesa DRI drivers for S3 Graphics/VIA Unichrome" + + cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1 +# cd "${srcdir}/Mesa-${pkgver/0.902/1-rc2}/src/mesa/drivers/dri" || return 1 + make -C unichrome DESTDIR="${pkgdir}" install || return 1 +} + +package_mga-dri() { + depends=("libgl=${pkgver}") + pkgdesc="Mesa DRI drivers for Matrox" + conflicts=('xf86-video-mga<1.4.11') + + cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1 +# cd "${srcdir}/Mesa-${pkgver/0.902/1-rc2}/src/mesa/drivers/dri" || return 1 + make -C mga DESTDIR="${pkgdir}" install || return 1 +} + +package_savage-dri() { + depends=("libgl=${pkgver}") + pkgdesc="Mesa DRI drivers for S3 Sraphics/VIA Savage" + conflicts=('xf86-video-savage<2.3.1') + + cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1 +# cd "${srcdir}/Mesa-${pkgver/0.902/1-rc2}/src/mesa/drivers/dri" || return 1 + make -C savage DESTDIR="${pkgdir}" install || return 1 +} diff --git a/extra/mesa/intel-revert-vbl.patch b/extra/mesa/intel-revert-vbl.patch new file mode 100755 index 000000000..039441473 --- /dev/null +++ b/extra/mesa/intel-revert-vbl.patch @@ -0,0 +1,21 @@ +commit 532d2051245a1d8afe7ca236f1d966d555bb121a +Author: Dave Airlie +Date: Fri Sep 12 17:21:25 2008 +1000 + + Revert "intel: sync to vblank by default" + + This reverts commit e9bf3e4cc9a7e4bcd4c45bd707541d26ecdf0409. + +diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c +index c193830..f02192d 100644 +--- a/src/mesa/drivers/dri/intel/intel_screen.c ++++ b/src/mesa/drivers/dri/intel/intel_screen.c +@@ -55,7 +55,7 @@ PUBLIC const char __driConfigOptions[] = + DRI_CONF_BEGIN + DRI_CONF_SECTION_PERFORMANCE + DRI_CONF_FTHROTTLE_MODE(DRI_CONF_FTHROTTLE_IRQS) +- DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_ALWAYS_SYNC) ++ DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_0) + /* Options correspond to DRI_CONF_BO_REUSE_DISABLED, + * DRI_CONF_BO_REUSE_ALL + */ diff --git a/extra/mesa/mesa-7.1-link-shared.patch b/extra/mesa/mesa-7.1-link-shared.patch new file mode 100755 index 000000000..592e2e216 --- /dev/null +++ b/extra/mesa/mesa-7.1-link-shared.patch @@ -0,0 +1,101 @@ +diff -up mesa-20091221/src/mesa/drivers/dri/Makefile.da mesa-20091221/src/mesa/drivers/dri/Makefile +--- mesa-20091221/src/mesa/drivers/dri/Makefile.da 2009-12-21 08:09:11.000000000 +1000 ++++ mesa-20091221/src/mesa/drivers/dri/Makefile 2009-12-21 08:43:03.000000000 +1000 +@@ -6,12 +6,17 @@ include $(TOP)/configs/current + + + +-default: $(TOP)/$(LIB_DIR) subdirs dri.pc ++default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs dri.pc + + + $(TOP)/$(LIB_DIR): + -mkdir $(TOP)/$(LIB_DIR) + ++libdricore.so: ++ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc ++ ++$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so ++ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR) + + subdirs: + @for dir in $(DRI_DIRS) ; do \ +@@ -32,12 +37,14 @@ dri.pc: dri.pc.in + $(pcedit) $< > $@ + + +-install: dri.pc ++install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so + @for dir in $(DRI_DIRS) ; do \ + if [ -d $$dir ] ; then \ + (cd $$dir && $(MAKE) install) || exit 1 ; \ + fi \ + done ++ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) ++ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal + $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \ + $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal +@@ -51,5 +58,6 @@ clean: + (cd $$dir && $(MAKE) clean) ; \ + fi \ + done ++ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so + -rm -f common/*.o + -rm -f *.pc +diff -up mesa-20091221/src/mesa/drivers/dri/Makefile.template.da mesa-20091221/src/mesa/drivers/dri/Makefile.template +--- mesa-20091221/src/mesa/drivers/dri/Makefile.template.da 2009-12-21 08:09:11.000000000 +1000 ++++ mesa-20091221/src/mesa/drivers/dri/Makefile.template 2009-12-21 08:43:40.000000000 +1000 +@@ -1,6 +1,6 @@ + # -*-makefile-*- + +-MESA_MODULES = $(TOP)/src/mesa/libmesa.a ++MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so + + COMMON_GALLIUM_SOURCES = \ + ../common/utils.c \ +@@ -70,7 +70,8 @@ lib: symlinks subdirs depend + $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) Makefile \ + $(TOP)/src/mesa/drivers/dri/Makefile.template + $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \ +- $(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) \ ++ $(OBJECTS) $(EXTRA_MODULES) $(WINOBJ) \ ++ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \ + $(DRI_LIB_DEPS) + + +diff -up mesa-20091221/src/mesa/x86/read_rgba_span_x86.S.da mesa-20091221/src/mesa/x86/read_rgba_span_x86.S +--- mesa-20091221/src/mesa/x86/read_rgba_span_x86.S.da 2009-12-21 08:09:11.000000000 +1000 ++++ mesa-20091221/src/mesa/x86/read_rgba_span_x86.S 2009-12-21 08:43:03.000000000 +1000 +@@ -77,7 +77,6 @@ + */ + + .globl _generic_read_RGBA_span_BGRA8888_REV_MMX +-.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX + .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function + _generic_read_RGBA_span_BGRA8888_REV_MMX: + pushl %ebx +@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX + */ + + .globl _generic_read_RGBA_span_BGRA8888_REV_SSE +-.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE + .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function + _generic_read_RGBA_span_BGRA8888_REV_SSE: + pushl %esi +@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE + + .text + .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2 +-.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2 + .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function + _generic_read_RGBA_span_BGRA8888_REV_SSE2: + pushl %esi +@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE + + .text + .globl _generic_read_RGBA_span_RGB565_MMX +- .hidden _generic_read_RGBA_span_RGB565_MMX + .type _generic_read_RGBA_span_RGB565_MMX, @function + + _generic_read_RGBA_span_RGB565_MMX: