Compare commits

..

1 Commits

Author SHA1 Message Date
Nicolai Haehnle
20330f422f import r300_driver 2004-09-28 10:59:23 +00:00
1313 changed files with 114710 additions and 270610 deletions

248
Makefile
View File

@@ -25,20 +25,11 @@ realclean:
$(MAKE) clean
-rm -rf lib*
-rm -f $(TOP)/configs/current
-rm -f `find . -name \*.o`
-rm -f `find . -name \*.a`
-rm -f `find . -name \*.so`
-rm -f `find . -name depend`
install:
@echo "Installing"
$(TOP)/bin/installmesa $(DESTDIR)
# DirectFBGL module installation
linux-directfb-install:
cd src/mesa/drivers/directfb && $(MAKE) install
$(TOP)/bin/installmesa
# If there's no current configuration file
$(TOP)/configs/current:
@@ -54,23 +45,17 @@ $(TOP)/configs/current:
# Rules to set/install a specific build configuration
aix \
aix-64 \
aix-gcc \
aix-static \
beos \
darwin \
darwin-static \
freebsd \
freebsd-dri \
freebsd-dri-amd64 \
freebsd-dri-x86 \
hpux10 \
hpux10-gcc \
hpux10-static \
hpux11-32 \
hpux11-32-static \
hpux11-32-static-nothreads \
hpux11-64 \
hpux11-64-static \
hpux9 \
hpux9-gcc \
@@ -84,13 +69,9 @@ linux \
linux-alpha \
linux-alpha-static \
linux-debug \
linux-directfb \
linux-dri \
linux-dri-x86 \
linux-dri-x86-64 \
linux-dri-ppc \
linux-indirect \
linux-fbdev \
linux-glide \
linux-icc \
linux-icc-static \
@@ -109,11 +90,8 @@ linux-ultrasparc \
linux-tcc \
linux-x86 \
linux-x86-debug \
linux-x86-32 \
linux-x86-64 \
linux-x86-64-debug \
linux-x86-64-static \
linux-x86-xcb \
linux-x86-glide \
linux-x86-static \
netbsd \
@@ -134,28 +112,28 @@ ultrix-gcc:
# Rules for making release tarballs
DIRECTORY = Mesa-6.4.1
LIB_NAME = MesaLib-6.4.1
DEMO_NAME = MesaDemos-6.4.1
GLUT_NAME = MesaGLUT-6.4.1
DIRECTORY = Mesa-6.2
LIB_NAME = MesaLib-6.2
DEMO_NAME = MesaDemos-6.2
MAIN_FILES = \
LIB_FILES = \
$(DIRECTORY)/Makefile* \
$(DIRECTORY)/descrip.mms \
$(DIRECTORY)/mms-config. \
$(DIRECTORY)/Mesa.dsw \
$(DIRECTORY)/bin/mklib \
$(DIRECTORY)/bin/installmesa \
$(DIRECTORY)/configs/[a-z]* \
$(DIRECTORY)/docs/*.html \
$(DIRECTORY)/docs/COPYING \
$(DIRECTORY)/docs/INSTALL.GNU \
$(DIRECTORY)/docs/README.* \
$(DIRECTORY)/docs/RELNOTES* \
$(DIRECTORY)/docs/VERSIONS \
$(DIRECTORY)/docs/*.spec \
$(DIRECTORY)/include/GL/internal/glcore.h \
$(DIRECTORY)/include/GL/amesa.h \
$(DIRECTORY)/include/GL/dmesa.h \
$(DIRECTORY)/include/GL/directfbgl.h \
$(DIRECTORY)/include/GL/amesa.h \
$(DIRECTORY)/include/GL/fxmesa.h \
$(DIRECTORY)/include/GL/ggimesa.h \
$(DIRECTORY)/include/GL/gl.h \
@@ -176,7 +154,6 @@ MAIN_FILES = \
$(DIRECTORY)/include/GL/xmesa.h \
$(DIRECTORY)/include/GL/xmesa_x.h \
$(DIRECTORY)/include/GL/xmesa_xf86.h \
$(DIRECTORY)/include/GLView.h \
$(DIRECTORY)/src/Makefile \
$(DIRECTORY)/src/descrip.mms \
$(DIRECTORY)/src/mesa/Makefile* \
@@ -184,25 +161,28 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/descrip.mms \
$(DIRECTORY)/src/mesa/depend \
$(DIRECTORY)/src/mesa/main/*.[chS] \
$(DIRECTORY)/src/mesa/main/main.dsp \
$(DIRECTORY)/src/mesa/main/descrip.mms \
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
$(DIRECTORY)/src/mesa/glapi/glapi.dsp \
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
$(DIRECTORY)/src/mesa/array_cache/*.[ch] \
$(DIRECTORY)/src/mesa/array_cache/array_cache.dsp \
$(DIRECTORY)/src/mesa/array_cache/descrip.mms \
$(DIRECTORY)/src/mesa/math/*.[ch] \
$(DIRECTORY)/src/mesa/math/math.dsp \
$(DIRECTORY)/src/mesa/math/descrip.mms \
$(DIRECTORY)/src/mesa/shader/*.[ch] \
$(DIRECTORY)/src/mesa/shader/shader.dsp \
$(DIRECTORY)/src/mesa/shader/descrip.mms \
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
$(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
$(DIRECTORY)/src/mesa/swrast/swrast.dsp \
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
$(DIRECTORY)/src/mesa/swrast_setup/swrast_setup.dsp \
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
$(DIRECTORY)/src/mesa/tnl/tnl.dsp \
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
@@ -211,11 +191,11 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/glide/*.def \
$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in \
$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c \
@@ -226,61 +206,26 @@ MAIN_FILES = \
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.dsp \
$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
$(DIRECTORY)/src/mesa/drivers/windows/*/*.dsp \
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
$(DIRECTORY)/src/mesa/x86/Makefile \
$(DIRECTORY)/src/mesa/x86/*.[ch] \
$(DIRECTORY)/src/mesa/x86/*.S \
$(DIRECTORY)/src/mesa/x86/rtasm/*.[ch] \
$(DIRECTORY)/src/mesa/x86-64/*.[chS] \
$(DIRECTORY)/src/mesa/x86-64/Makefile \
$(DIRECTORY)/progs/Makefile \
$(DIRECTORY)/progs/util/README \
$(DIRECTORY)/progs/util/*.[ch] \
$(DIRECTORY)/progs/util/sampleMakefile \
$(DIRECTORY)/vms/analyze_map.com \
$(DIRECTORY)/vms/xlib.opt \
$(DIRECTORY)/vms/xlib_share.opt \
$(DIRECTORY)/windows/VC6/mesa/gdi/gdi.dsp \
$(DIRECTORY)/windows/VC6/mesa/glu/*.txt \
$(DIRECTORY)/windows/VC6/mesa/glu/glu.dsp \
$(DIRECTORY)/windows/VC6/mesa/mesa.dsw \
$(DIRECTORY)/windows/VC6/mesa/mesa/mesa.dsp \
$(DIRECTORY)/windows/VC6/mesa/osmesa/osmesa.dsp \
$(DIRECTORY)/windows/VC7/mesa/gdi/gdi.vcproj \
$(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj \
$(DIRECTORY)/windows/VC7/mesa/mesa.sln \
$(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj \
$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj
DRI_FILES = \
$(DIRECTORY)/include/GL/internal/dri_interface.h \
$(DIRECTORY)/include/GL/internal/sarea.h \
$(DIRECTORY)/src/glx/Makefile \
$(DIRECTORY)/src/glx/x11/Makefile \
$(DIRECTORY)/src/glx/x11/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \
$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
SGI_GLU_FILES = \
$(DIRECTORY)/src/glu/Makefile \
$(DIRECTORY)/src/glu/descrip.mms \
$(DIRECTORY)/src/glu/sgi/Makefile \
$(DIRECTORY)/src/glu/sgi/Makefile.win \
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
$(DIRECTORY)/src/glu/sgi/cc*.txt \
$(DIRECTORY)/src/glu/sgi/glu.def \
$(DIRECTORY)/src/glu/sgi/glu.dsp \
$(DIRECTORY)/src/glu/sgi/dummy.cc \
$(DIRECTORY)/src/glu/sgi/descrip.mms \
$(DIRECTORY)/src/glu/sgi/mesaglu.opt \
@@ -294,24 +239,45 @@ SGI_GLU_FILES = \
$(DIRECTORY)/src/glu/sgi/libtess/README \
$(DIRECTORY)/src/glu/sgi/libtess/alg-outline \
$(DIRECTORY)/src/glu/sgi/libtess/*.[ch] \
$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]
$(DIRECTORY)/src/glu/sgi/libutil/*.[ch] \
$(DIRECTORY)/src/glu/mesa/README[12] \
$(DIRECTORY)/src/glu/mesa/Makefile* \
$(DIRECTORY)/src/glu/mesa/descrip.mms \
$(DIRECTORY)/src/glu/mesa/mms_depend \
$(DIRECTORY)/src/glu/mesa/*.def \
$(DIRECTORY)/src/glu/mesa/depend \
$(DIRECTORY)/src/glu/mesa/*.[ch] \
$(DIRECTORY)/src/glw/*.[ch] \
$(DIRECTORY)/src/glw/Makefile* \
$(DIRECTORY)/src/glw/README \
$(DIRECTORY)/src/glw/depend \
$(DIRECTORY)/progs/Makefile \
$(DIRECTORY)/progs/util/README \
$(DIRECTORY)/progs/util/*.[ch] \
$(DIRECTORY)/progs/util/sampleMakefile \
$(DIRECTORY)/vms/analyze_map.com \
$(DIRECTORY)/vms/xlib.opt \
$(DIRECTORY)/vms/xlib_share.opt
MESA_GLU_FILES = \
$(DIRECTORY)/src/glu/mesa/README[12] \
$(DIRECTORY)/src/glu/mesa/Makefile* \
$(DIRECTORY)/src/glu/mesa/descrip.mms \
$(DIRECTORY)/src/glu/mesa/mms_depend \
$(DIRECTORY)/src/glu/mesa/*.def \
$(DIRECTORY)/src/glu/mesa/depend \
$(DIRECTORY)/src/glu/mesa/*.[ch]
GLW_FILES = \
$(DIRECTORY)/src/glw/*.[ch] \
$(DIRECTORY)/src/glw/Makefile* \
$(DIRECTORY)/src/glw/README \
$(DIRECTORY)/src/glw/depend
DEMO_FILES = \
DEMO_FILES = \
$(DIRECTORY)/include/GL/glut.h \
$(DIRECTORY)/include/GL/glutf90.h \
$(DIRECTORY)/src/glut/glx/Makefile* \
$(DIRECTORY)/src/glut/glx/depend \
$(DIRECTORY)/src/glut/glx/*def \
$(DIRECTORY)/src/glut/glx/descrip.mms \
$(DIRECTORY)/src/glut/glx/mms_depend \
$(DIRECTORY)/src/glut/glx/glut.dsp \
$(DIRECTORY)/src/glut/glx/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.cpp \
$(DIRECTORY)/src/glut/beos/Makefile \
$(DIRECTORY)/src/glut/dos/*.[ch] \
$(DIRECTORY)/src/glut/dos/Makefile.DJ \
$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
$(DIRECTORY)/src/glut/ggi/*.[ch] \
$(DIRECTORY)/src/glut/ggi/Makefile \
$(DIRECTORY)/progs/beos/*.cpp \
$(DIRECTORY)/progs/beos/Makefile \
$(DIRECTORY)/progs/images/*.rgb \
@@ -322,8 +288,8 @@ DEMO_FILES = \
$(DIRECTORY)/progs/demos/*.cxx \
$(DIRECTORY)/progs/demos/*.dat \
$(DIRECTORY)/progs/demos/README \
$(DIRECTORY)/progs/osdemos/Makefile \
$(DIRECTORY)/progs/osdemos/*.c \
$(DIRECTORY)/progs/demos/Windows/*.dsp \
$(DIRECTORY)/progs/demos/Windows/*.dsw \
$(DIRECTORY)/progs/xdemos/Makefile* \
$(DIRECTORY)/progs/xdemos/descrip.mms \
$(DIRECTORY)/progs/xdemos/*.[chf] \
@@ -336,109 +302,68 @@ DEMO_FILES = \
$(DIRECTORY)/progs/windml/Makefile.ugl \
$(DIRECTORY)/progs/windml/*.c \
$(DIRECTORY)/progs/windml/*.bmp \
$(DIRECTORY)/progs/ggi/*.c \
$(DIRECTORY)/windows/VC6/progs/demos/*.dsp \
$(DIRECTORY)/windows/VC6/progs/progs.dsw \
$(DIRECTORY)/windows/VC7/progs/demos/*.vcproj \
$(DIRECTORY)/windows/VC7/progs/progs.sln
GLUT_FILES = \
$(DIRECTORY)/include/GL/glut.h \
$(DIRECTORY)/include/GL/glutf90.h \
$(DIRECTORY)/src/glut/glx/Makefile* \
$(DIRECTORY)/src/glut/glx/depend \
$(DIRECTORY)/src/glut/glx/*def \
$(DIRECTORY)/src/glut/glx/descrip.mms \
$(DIRECTORY)/src/glut/glx/mms_depend \
$(DIRECTORY)/src/glut/glx/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.[ch] \
$(DIRECTORY)/src/glut/beos/*.cpp \
$(DIRECTORY)/src/glut/beos/Makefile \
$(DIRECTORY)/src/glut/dos/*.[ch] \
$(DIRECTORY)/src/glut/dos/Makefile.DJ \
$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
$(DIRECTORY)/src/glut/ggi/*.[ch] \
$(DIRECTORY)/src/glut/ggi/Makefile \
$(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \
$(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
DEPEND_FILES = \
$(TOP)/src/mesa/depend \
$(TOP)/src/glw/depend \
$(TOP)/src/glut/glx/depend \
$(TOP)/src/glu/sgi/depend
$(DIRECTORY)/progs/ggi/*.c
LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES)
DRI_FILES = \
$(DIRECTORY)/src/glx/Makefile \
$(DIRECTORY)/src/glx/mini/*.[ch] \
$(DIRECTORY)/src/glx/mini/example.miniglx.conf \
$(DIRECTORY)/src/glx/mini/NOTES \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/dri_client/imports/*.h \
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[ch] \
$(DIRECTORY)/src/mesa/drivers/dri/*/depend \
$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
# Everything for new a Mesa release:
tarballs: rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
tarballs: lib_gz demo_gz lib_bz2 demo_bz2 lib_zip demo_zip md5
rm_depend:
@for dep in $(DEPEND_FILES) ; do \
rm -f $$dep ; \
touch $$dep ; \
done
lib_gz:
rm -f configs/current ; \
cd .. ; \
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
gzip $(LIB_NAME).tar ; \
mv $(LIB_NAME).tar.gz $(DIRECTORY)
demo_gz:
cd .. ; \
tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
gzip $(DEMO_NAME).tar ; \
mv $(DEMO_NAME).tar.gz $(DIRECTORY)
glut_gz:
cd .. ; \
tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
gzip $(GLUT_NAME).tar ; \
mv $(GLUT_NAME).tar.gz $(DIRECTORY)
lib_bz2:
rm -f configs/current ; \
cd .. ; \
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
bzip2 $(LIB_NAME).tar ; \
mv $(LIB_NAME).tar.bz2 $(DIRECTORY)
demo_bz2:
cd .. ; \
tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
bzip2 $(DEMO_NAME).tar ; \
mv $(DEMO_NAME).tar.bz2 $(DIRECTORY)
glut_bz2:
cd .. ; \
tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
bzip2 $(GLUT_NAME).tar ; \
mv $(GLUT_NAME).tar.bz2 $(DIRECTORY)
lib_zip:
rm -f configs/current ; \
rm -f $(LIB_NAME).zip ; \
-rm $(LIB_NAME).zip ; \
cd .. ; \
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
zip -r $(LIB_NAME).zip $(LIB_FILES) ; \
mv $(LIB_NAME).zip $(DIRECTORY)
demo_zip:
rm -f $(DEMO_NAME).zip ; \
-rm $(DEMO_NAME).zip ; \
cd .. ; \
zip -qr $(DEMO_NAME).zip $(DEMO_FILES) ; \
zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \
mv $(DEMO_NAME).zip $(DIRECTORY)
glut_zip:
rm -f $(GLUT_NAME).zip ; \
cd .. ; \
zip -qr $(GLUT_NAME).zip $(GLUT_FILES) ; \
mv $(GLUT_NAME).zip $(DIRECTORY)
md5:
@-md5sum $(LIB_NAME).tar.gz
@-md5sum $(LIB_NAME).tar.bz2
@@ -446,6 +371,3 @@ md5:
@-md5sum $(DEMO_NAME).tar.gz
@-md5sum $(DEMO_NAME).tar.bz2
@-md5sum $(DEMO_NAME).zip
@-md5sum $(GLUT_NAME).tar.gz
@-md5sum $(GLUT_NAME).tar.bz2
@-md5sum $(GLUT_NAME).zip

View File

@@ -20,9 +20,9 @@
# 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.
# DOS/DJGPP makefile v1.6 for Mesa
# DOS/DJGPP makefile v1.5 for Mesa
#
# Copyright (C) 2002 - Daniel Borca
# Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net
# Web : http://www.geocities.com/dborca
@@ -31,6 +31,8 @@
# Available options:
#
# Environment variables:
# CPU optimize for the given processor.
# default = pentium
# GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
# or `mesa'.
# default = mesa
@@ -57,10 +59,12 @@
.PHONY : all libgl libglu libglut clean realclean
CPU ?= pentium
GLU ?= mesa
CFLAGS = -Wall -W -pedantic
CFLAGS += -O2 -ffast-math
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
export CFLAGS

View File

@@ -20,9 +20,9 @@
# 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.
# MinGW makefile v1.2 for Mesa
# MinGW makefile v1.1 for Mesa
#
# Copyright (C) 2002 - Daniel Borca
# Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net
# Web : http://www.geocities.com/dborca
@@ -31,6 +31,8 @@
# Available options:
#
# Environment variables:
# CPU optimize for the given processor.
# default = pentium
# GLIDE path to Glide3 SDK; used with FX.
# default = $(TOP)/glide3
# FX=1 build for 3dfx Glide3. Note that this disables
@@ -55,6 +57,8 @@
.PHONY : all libgl clean realclean
CPU ?= pentium
ifeq ($(ICD),1)
# when -std=c99 mingw will not define WIN32
CFLAGS = -Wall -W -Werror
@@ -62,7 +66,7 @@ else
# I love c89
CFLAGS = -Wall -W -pedantic
endif
CFLAGS += -O2 -ffast-math
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
export CFLAGS

194
Mesa.dsw Normal file
View File

@@ -0,0 +1,194 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "array_cache"=.\SRC\MESA\array_cache\array_cache.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "gdi"=.\src\mesa\drivers\windows\gdi\gdi.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name array_cache
End Project Dependency
Begin Project Dependency
Project_Dep_Name main
End Project Dependency
Begin Project Dependency
Project_Dep_Name math
End Project Dependency
Begin Project Dependency
Project_Dep_Name swrast_setup
End Project Dependency
Begin Project Dependency
Project_Dep_Name swrast
End Project Dependency
Begin Project Dependency
Project_Dep_Name tnl
End Project Dependency
Begin Project Dependency
Project_Dep_Name glapi
End Project Dependency
Begin Project Dependency
Project_Dep_Name shader
End Project Dependency
}}}
###############################################################################
Project: "glapi"=.\SRC\MESA\glapi\glapi.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "glu"=.\src\glu\sgi\glu.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name gdi
End Project Dependency
}}}
###############################################################################
Project: "glut"=.\src\glut\glx\glut.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name glu
End Project Dependency
}}}
###############################################################################
Project: "main"=.\SRC\MESA\main\main.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "math"=.\SRC\MESA\math\math.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "osmesa"=.\SRC\MESA\DRIVERS\osmesa\osmesa.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name gdi
End Project Dependency
}}}
###############################################################################
Project: "shader"=.\SRC\MESA\shader\shader.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "swrast"=.\SRC\MESA\swrast\swrast.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "swrast_setup"=.\SRC\MESA\swrast_setup\swrast_setup.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "tnl"=.\SRC\MESA\tnl\tnl.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -12,7 +12,7 @@ TOP=.
INCLUDE_DIR="/usr/local/include"
LIB_DIR="/usr/local/lib"
if [ "x$#" = "x0" ] ; then
echo
echo "***** Mesa installation - You may need root privileges to do this *****"
echo
@@ -20,7 +20,7 @@ echo "Default directory for header files is:" ${INCLUDE_DIR}
echo "Enter new directory or press <Enter> to accept this default."
read INPUT
if [ "x${INPUT}" != "x" ] ; then
if [ x${INPUT} != "x" ] ; then
INCLUDE_DIR=${INPUT}
fi
@@ -29,10 +29,11 @@ echo "Default directory for library files is:" ${LIB_DIR}
echo "Enter new directory or press <Enter> to accept this default."
read INPUT
if [ "x${INPUT}" != "x" ] ; then
if [ x${INPUT} != "x" ] ; then
LIB_DIR=${INPUT}
fi
echo
echo "About to install Mesa header files (GL/*.h) in: " ${INCLUDE_DIR}/GL
echo "and Mesa library files (libGL.*, etc) in: " ${LIB_DIR}
@@ -40,30 +41,17 @@ echo "Press <Enter> to continue, or <ctrl>-C to abort."
read INPUT
else
INCLUDE_DIR=$1/include
LIB_DIR=$1/lib
fi
# flags:
# -f = force
# -d = preserve symlinks (does not work on BSD)
if [ `uname` = "FreeBSD" ] ; then
CP_FLAGS="-f"
else
CP_FLAGS="-fd"
fi
# -d = preserve symlinks
set -v
mkdir ${INCLUDE_DIR}
mkdir ${INCLUDE_DIR}/GL
mkdir ${INCLUDE_DIR}/GLES
mkdir ${LIB_DIR}
cp -f ${TOP}/include/GL/*.h ${INCLUDE_DIR}/GL
# NOT YET: cp -f ${TOP}/include/GLES/*.h ${INCLUDE_DIR}/GLES
cp ${CP_FLAGS} ${TOP}/lib*/lib* ${LIB_DIR}
cp -fd ${TOP}/lib*/lib* ${LIB_DIR}
echo "Done."

318
bin/mklib
View File

@@ -1,28 +1,37 @@
#!/bin/sh
# Make a shared library.
# This script should be useful for projects other than Mesa.
# Improvements/fixes are welcome.
# Basically do a switch/case depending on the OS and make a shared (or static)
# library conforming to that OS.
# Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
# Usage:
# mklib [options] objects ...
# Options:
# -o LIBRARY specifies the name of resulting library
# ("-o GL" for example, might result in "libGL.so" being made)
# -major N specifies major version number (default is 1)
# -minor N specifies minor version number (default is 0)
# -patch N specifies patch version number (default is 0)
# -lLIBRARY specifies a dependency on LIBRARY
# -LDIR search in DIR for library dependencies
# -cplusplus link with C++ runtime
# -static make a static library (default is dynamic/shared)
# -install DIR move resulting library file(s) to DIR
# -arch ARCH override using `uname` to determine architecture
# -archopt OPT specify an extra achitecture-specific option OPT
# -noprefix don't prefix library name with "lib" or any suffix
#
# 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 library name should just be "GL" or "GLU", etc. The 'lib' prefix
# will be added here if needed, as well as the ".so" or ".a" suffix,
# etc (unless the -noprefix option is used).
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
# objects should be: foo.o bar.o etc.o
#
# Environment variables recognized:
# CC C compiler command
# CXX C++ compiler command
#
# 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.
#
@@ -33,14 +42,12 @@ MAJOR=1
MINOR=0
PATCH=""
DEPS=""
LINK=""
CPLUSPLUS=0
STATIC=0
INSTALLDIR="."
ARCH="auto"
ARCHOPT=""
NOPREFIX=0
EXPORTS=""
#
@@ -49,93 +56,25 @@ EXPORTS=""
while true
do
case $1 in
'-h' | '--help')
echo 'Usage: mklib [options] objects'
echo 'Create a shared library from object files.'
echo ' -o LIBRARY specifies the name of the resulting library, without'
echo ' the leading "lib" or any suffix.'
echo ' (eg: "-o GL" might result in "libGL.so" being made)'
echo ' -major N specifies major version number (default is 1)'
echo ' -minor N specifies minor version number (default is 0)'
echo ' -patch N specifies patch version number (default is 0)'
echo ' -lLIBRARY specifies a dependency on LIBRARY'
echo ' -LDIR search in DIR for library dependencies'
echo ' -linker L explicity specify the linker program to use (eg: gcc, g++)'
echo ' Not observed on all systems at this time.'
echo ' -cplusplus link with C++ runtime'
echo ' -static make a static library (default is dynamic/shared)'
echo ' -install DIR put resulting library file(s) in DIR'
echo ' -arch ARCH override using `uname` to determine host system'
echo ' -archopt OPT specify an extra achitecture-specific option OPT'
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
echo ' -exports FILE only export the symbols listed in FILE'
echo ' -h, --help display this information and exit'
exit 1
;;
'-o')
shift 1;
LIBNAME=$1
;;
'-major')
shift 1;
MAJOR=$1
;;
'-minor')
shift 1;
MINOR=$1
;;
'-patch')
shift 1;
PATCH=$1
;;
'-linker')
shift 1;
LINK=$1
;;
-l*)
DEPS="$DEPS $1"
;;
-L*)
DEPS="$DEPS $1"
;;
'-cplusplus')
CPLUSPLUS=1
;;
'-static')
STATIC=1
;;
'-install')
shift 1;
INSTALLDIR=$1
;;
'-arch')
shift 1;
ARCH=$1
;;
'-archopt')
shift 1;
ARCHOPT=$1
;;
'-noprefix')
NOPREFIX=1
;;
'-exports')
shift 1;
EXPORTS=$1
;;
-*)
echo "mklib: Unknown option: " $1 ;
exit 1
;;
*)
# This should be the first object file, stop parsing
break
'-o') shift 1; LIBNAME=$1;;
'-major') shift 1; MAJOR=$1;;
'-minor') shift 1; MINOR=$1;;
'-patch') shift 1; PATCH=$1;;
-l*) DEPS="$DEPS $1";;
-L*) DEPS="$DEPS $1";;
'-cplusplus') CPLUSPLUS=1;;
'-static') STATIC=1;;
'-install') shift 1; INSTALLDIR=$1;;
'-arch') shift 1; ARCH=$1;;
'-archopt') shift 1; ARCHOPT=$1;;
'-noprefix') NOPREFIX=1;;
-*) echo "mklib: Unknown option: " $1 ; exit 1;;
*) break
esac
shift 1
done
OBJECTS=$@
if [ ${ARCH} = "auto" ] ; then
ARCH=`uname`
fi
@@ -165,7 +104,6 @@ if [ ] ; then
echo MINOR is $MINOR
echo PATCH is $PATCH
echo DEPS are $DEPS
echo "EXPORTS in" $EXPORTS
echo "-----------------"
fi
@@ -176,32 +114,20 @@ fi
case $ARCH in
'Linux' | 'OpenBSD')
# we assume gcc
if [ "x$LINK" = "x" ] ; then
# -linker was not specified so set default link command now
if [ $CPLUSPLUS = 1 ] ; then
LINK=g++
else
LINK=gcc
fi
fi
# GCC-based environment
if [ $NOPREFIX = 1 ] ; then
# No "lib" or ".so" part
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}
#OPTS="-shared -Wl,-soname,${LIBNAME}" # soname???
OPTS="-shared"
# Check if objects are 32-bit and we're running in 64-bit
# environment. If so, pass -m32 flag to linker.
set ${OBJECTS}
ABI32=`file $1 | grep 32-bit`
if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
OPTS="-m32 ${OPTS}"
fi
if [ $CPLUSPLUS = 1 ] ; then
LINK=$CXX
else
LINK=$CC
fi
rm -f ${LIBNAME}
# make lib
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
# finish up
@@ -223,27 +149,6 @@ case $ARCH in
else
OPTS="-shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
fi
if [ $EXPORTS ] ; then
#OPTS="${OPTS} -Xlinker --retain-symbols-file ${EXPORTS}"
# Make the 'exptmp' file for --version-script option
echo "VERSION_${MAJOR}.${MINOR} {" > exptmp
echo "global:" >> exptmp
sed 's/$/;/' ${EXPORTS} >> exptmp
echo "local:" >> exptmp
echo "*;" >> exptmp
echo "};" >> exptmp
OPTS="${OPTS} -Xlinker --version-script=exptmp"
# exptmp is removed below
fi
# Check if objects are 32-bit and we're running in 64-bit
# environment. If so, pass -m32 flag to linker.
set ${OBJECTS}
ABI32=`file $1 | grep 32-bit`
if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
OPTS="-m32 ${OPTS}"
fi
if [ x${PATCH} = "x" ] ; then
VERSION="${MAJOR}.${MINOR}"
else
@@ -252,6 +157,12 @@ case $ARCH in
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}.so.${VERSION}
if [ $CPLUSPLUS = 1 ] ; then
LINK=$CXX
else
LINK=$CC
fi
# rm any old libs
rm -f ${LIBNAME}.so.${VERSION}
rm -f ${LIBNAME}.so.${MAJOR}
@@ -264,7 +175,6 @@ case $ARCH in
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
# finish up
FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so"
# rm -f exptmp
fi
;;
@@ -280,25 +190,41 @@ case $ARCH in
echo "mklib: Making SunOS shared library: " ${LIBNAME}
# XXX OPTS for gcc should be -shared, but that doesn't work.
# Using -G does work though.
OPTS="-G"
if [ "x$LINK" = "x" ] ; then
# -linker was not specified, choose default linker now
if [ $CPLUSPLUS = 1 ] ; then
# determine linker and options for C++ code
if [ `which c++` ] ; then
# use Sun c++
LINK="c++"
elif [ `type g++` ] ; then
# use g++
LINK="g++"
else
echo "mklib: warning: can't find C++ comiler, trying CC."
LINK="CC"
fi
if [ $CPLUSPLUS = 1 ] ; then
# determine linker and options for C++ code
if [ "x${CXX}" = "xg++" ] ; then
# use g++
LINK="g++"
OPTS="-G"
elif [ "x${CXX}" = "xCC" ] ; then
# use Sun CC
LINK="CC"
OPTS="-G"
elif [ "x${CXX}" = "xc++" ] ; then
# use Sun c++
LINK="c++"
OPTS="-G"
elif [ `which c++` ] ; then
# use Sun c++
LINK="c++"
OPTS="-G"
elif [ `type g++` ] ; then
# use g++
LINK="g++"
OPTS="-G"
else
# use native Sun linker for C code
LINK="ld"
echo "mklib: warning: can't find C++ comiler, trying CC."
LINK="CC"
OPTS="-G"
fi
elif [ "x${CC}" = "xgcc" ] ; then
# use gcc for linking
LINK="gcc"
OPTS="-G"
else
# use native Sun linker
LINK="ld"
OPTS="-G"
fi
echo "mklib: linker is" ${LINK} ${OPTS}
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
@@ -309,23 +235,11 @@ case $ARCH in
;;
'FreeBSD')
# we assume gcc
if [ "x$LINK" = "x" ] ; then
# -linker was not specified so set default link command now
if [ $CPLUSPLUS = 1 ] ; then
LINK=g++
else
LINK=gcc
fi
fi
if [ $NOPREFIX = 1 ] ; then
# No "lib" or ".so" part
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
OPTS="-shared"
rm -f ${LIBNAME}
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
ld -Bshareable -o ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
elif [ $STATIC = 1 ] ; then
STLIB="lib${LIBNAME}.a"
@@ -335,13 +249,12 @@ case $ARCH in
ranlib ${STLIB}
FINAL_LIBS=${STLIB}
else
SHLIB="lib${LIBNAME}.so.${MAJOR}"
OPTS="-shared -Wl,-soname,${SHLIB}"
SHLIB="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
rm -f ${SHLIB}
${LINK} ${OPTS} -o ${SHLIB} ${OBJECTS} ${DEPS}
ln -sf ${SHLIB} "lib${LIBNAME}.so"
FINAL_LIBS="${SHLIB} lib${LIBNAME}.so"
ld -Bshareable -o ${SHLIB} ${OBJECTS}
# XXX make lib${LIBNAME}.so.${MAJOR} symlink?
FINAL_LIBS=${SHLIB}
fi
;;
@@ -370,8 +283,6 @@ case $ARCH in
FINAL_LIBS=${LIBNAME}
else
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
# XXX we should run 'file' on the first object file to determine
# if it's o32, n32 or 64 format, as we do for Linux above.
if [ $ARCHOPT = "64" ] ; then
# 64-bit ABI
OPTS="-64 -shared -all"
@@ -420,27 +331,19 @@ case $ARCH in
fi
;;
'AIX' | 'AIX64')
if [ $ARCH = "AIX64" ] ; then
X64="-X64"
fi
'AIX')
if [ $STATIC = 1 ] ; then
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making AIX static library: " ${LIBNAME}
ar -ruv ${X64} ${LIBNAME} ${OBJECTS}
ar -ruv ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
else
EXPFILE="lib${LIBNAME}.exp"
OFILE=shr.o #Want to be consistent with the IBM libGL.a
LIBNAME="lib${LIBNAME}.a" # shared objects are still stored in the .a libraries
if [ $ARCH = "AIX64" ] ; then
OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry -q64"
else
OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry"
fi
OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry"
rm -f ${EXPFILE} ${OFILE}
NM="/bin/nm -eC ${X64}"
NM="/bin/nm -eC"
echo "#! /usr/lib/${LIBNAME}" > ${EXPFILE}
${NM} ${OBJECTS} | awk '{
if ((($2 == "T") || ($2 == "D") || ($2 == "B")) \
@@ -457,11 +360,22 @@ case $ARCH in
}
}' | sort -u >> ${EXPFILE}
cc ${OPTS} -o ${OFILE} ${OBJECTS} ${DEPS}
ar ${X64} -r ${LIBNAME} ${OFILE}
ar -r ${LIBNAME} ${OFILE}
FINAL_LIBS="${LIBNAME}"
fi
;;
'AIX64')
if [ $STATIC = 1 ] ; then
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making AIX static library: " ${LIBNAME}
ar -X64 -ruv ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
else
echo "mklib: PROBLEM: AIX64 shared libs not supported!!!"
fi
;;
'OpenSTEP')
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making OpenSTEP static library: " ${LIBNAME}
@@ -480,15 +394,8 @@ case $ARCH in
VERSION="${MAJOR}.${MINOR}"
LIBNAME="lib${LIBNAME}.so"
echo "mklib: Making OSF/1 shared library: " ${LIBNAME}
if [ "x$LINK" = "x" ] ; then
if [ $CPLUSPLUS = 1 ] ; then
LINK=cxx
else
LINK=cc
fi
fi
rm -f ${LIBNAME}.${VERSION}
${LINK} -o ${LIBNAME}.${VERSION} -shared -set_version ${VERSION} -soname ${LIBNAME}.${VERSION} -expect_unresolved \* -all ${OBJECTS} ${DEPS}
ld -o ${LIBNAME}.${VERSION} -shared -no_archive -set_version ${VERSION} -soname ${LIBNAME}.${VERSION} -expect_unresolved \* -all ${OBJECTS} ${DEPS}
ln -sf ${LIBNAME}.${VERSION} ${LIBNAME}
FINAL_LIBS="${LIBNAME} ${LIBNAME}.${VERSION}"
fi
@@ -503,9 +410,9 @@ case $ARCH in
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
else
LIBNAME="lib${LIBNAME}.dylib"
LIBNAME="${LIBNAME}.dylib"
echo "mklib: Making Darwin shared library: " ${LIBNAME}
FLAGS="-dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0"
FLAGS="-dynamiclib -multiply_defined suppress"
if [ $CPLUSPLUS = 1 ] ; then
LINK="g++"
else
@@ -534,7 +441,6 @@ case $ARCH in
echo "mklib: Making BeOS shared library: " ${LIBNAME}
gcc -nostart -Xlinker "-soname=${LIBNAME}" -L/Be/develop/lib/x86 -lbe ${DEPS} ${OBJECTS} -o "${LIBNAME}"
mimeset -f "${LIBNAME}"
# XXX remove the Mesa3D stuff here since mklib isn't mesa-specific.
setversion "${LIBNAME}" -app ${MAJOR} ${MINOR} ${PATCH} -short "Powered by Mesa3D!" -long "Powered by Mesa3D!"
fi
FINAL_LIBS=${LIBNAME}
@@ -556,8 +462,6 @@ case $ARCH in
'icc')
# Intel C compiler
# This should get merged into the Linux code, above, since this isn't
# really a different architecture.
LIBNAME="lib${LIBNAME}" # prefix with "lib"
if [ $STATIC = 1 ] ; then
@@ -675,7 +579,7 @@ case $ARCH in
ar rv ${LIBNAME} ${OBJECTS}
FINAL_LIBS="${LIBNAME}"
else
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
LIBNAME="lib${LIBNAME}.so" # prefix with "lib"
echo "mklib: Making shared library for example arch: " ${LIBNAME}
ld -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS="${LIBNAME}"

View File

@@ -1,28 +0,0 @@
# Configuration for AIX 64-bit, dynamic libs
include $(TOP)/configs/default
CONFIG_NAME = aix-64
# Compiler and flags
CC = xlc
CXX = xlC
CFLAGS = -q64 -qmaxmem=16384 -O -DAIXV3
CXXFLAGS = -q64 -qmaxmem=16384 -O -DAIXV3
MKLIB_OPTIONS = -arch AIX64
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
GL_LIB_DEPS = -lX11 -lXext -lm
GLU_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lm -lC
GLUT_LIB_DEPS = -L$(TOP)/lib -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
GLW_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lXt -lX11
OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB)
APP_LIB_DEPS = -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC

View File

@@ -18,12 +18,8 @@ GLW_LIB_NAME = libGLw.dylib
OSMESA_LIB_NAME = libOSMesa.dylib
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL
GLU_LIB_DEPS = -L$(LIB_DIR) -lGL
GLUT_LIB_DEPS = -L$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
OSMESA_LIB_DEPS = $(TOP)/lib/GL.dylib
GLU_LIB_DEPS = $(TOP)/lib/GL.dylib
GLUT_LIB_DEPS =
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
# omit glw lib for now:
SRC_DIRS = mesa glu glut/glx

View File

@@ -7,10 +7,10 @@ CONFIG_NAME = default
# Version info
MESA_MAJOR=6
MESA_MINOR=4
MESA_TINY=1
MESA_MINOR=2
MESA_TINY=0
# external projects. This should be useless now that we use libdrm.
# external projects
DRM_SOURCE_PATH=$(TOP)/../drm
# Compiler and flags
@@ -23,13 +23,9 @@ GLU_CFLAGS =
# Misc tools and flags
MKLIB_OPTIONS =
MKDEP = makedepend
MKDEP_OPTIONS = -fdepend
MKDEP_OPTIONS = -Y -fdepend
MAKE = make
# Python and flags (generally only needed by the developers)
PYTHON2 = python
PYTHON_FLAGS = -t -O -O
# Library names (base name)
GL_LIB = GL
GLU_LIB = GLU
@@ -39,11 +35,11 @@ OSMESA_LIB = OSMesa
# Library names (actual file names)
GL_LIB_NAME = lib$(GL_LIB).so
GLU_LIB_NAME = lib$(GLU_LIB).so
GLUT_LIB_NAME = lib$(GLUT_LIB).so
GLW_LIB_NAME = lib$(GLW_LIB).so
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
GL_LIB_NAME = libGL.so
GLU_LIB_NAME = libGLU.so
GLUT_LIB_NAME = libglut.so
GLW_LIB_NAME = libGLw.so
OSMESA_LIB_NAME = libOSMesa.so
# Optional assembly language optimization files for libGL
@@ -60,15 +56,13 @@ INSTALL_PREFIX = /usr/local
SRC_DIRS = mesa glu glut/glx glw
GLU_DIRS = sgi
DRIVER_DIRS = x11 osmesa
# Which subdirs under $(TOP)/progs/ to enter:
PROGRAM_DIRS = demos redbook samples xdemos
# Library/program dependencies
EXTRA_LIB_PATH ?=
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -13,4 +13,5 @@ CFLAGS = -O2 -fPIC -pedantic -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
CXXFLAGS = -O2 -fPIC -pedantic
GLUT_CFLAGS = -fexceptions
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm

View File

@@ -1,45 +0,0 @@
# -*-makefile-*-
# Configuration for freebsd-dri: FreeBSD DRI hardware drivers
include $(TOP)/configs/freebsd
CONFIG_NAME = freebsd-dri
# Compiler and flags
CC = gcc
CXX = g++
WARN_FLAGS = -Wall
OPT_FLAGS = -O
EXPAT_INCLUDES = -I/usr/local/include
X11_INCLUDES = -I/usr/X11R6/include
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS
CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC \
-ffast-math $(X11_INCLUDES)
CXXFLAGS = $(DEFINES) -Wall -g -ansi -pedantic -fPIC
ASM_SOURCES =
# Library/program dependencies
LIBDRM_LIB = `pkg-config --libs libdrm` -ldrm
DRI_LIB_DEPS = -L/usr/local/lib -lm -lpthread -lexpat $(LIBDRM_LIB)
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread $(LIBDRM_LIB)
GLUT_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lXm -lX11
# Directories
SRC_DIRS = glx/x11 mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
DRM_SOURCE_PATH=$(TOP)/../drm
# ffb and gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 r300 radeon tdfx \
unichrome savage sis

View File

@@ -1,9 +0,0 @@
# -*-makefile-*-
# Configuration for freebsd-dri-amd64: FreeBSD DRI hardware drivers
include $(TOP)/configs/freebsd-dri
CONFIG_NAME = freebsd-dri-x86-64
ASM_FLAGS = -DUSE_X86_64_ASM
ASM_SOURCES = $(X86-64_SOURCES) $(X86-64_API)

View File

@@ -1,12 +0,0 @@
# -*-makefile-*-
# Configuration for freebsd-dri: FreeBSD DRI hardware drivers
include $(TOP)/configs/freebsd-dri
CONFIG_NAME = freebsd-dri-x86
# Unnecessary on x86, generally.
PIC_FLAGS =
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)

View File

@@ -1,26 +0,0 @@
# Configuration for HPUX v11
include $(TOP)/configs/default
CONFIG_NAME = hpux11-32
# Compiler and flags
CC = cc
CXX = aCC
CFLAGS = +z -Ae +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
CXXFLAGS = +z -Aa +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
MKLIB_OPTIONS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
# Library/program dependencies
APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm

View File

@@ -1,27 +0,0 @@
# Configuration for HPUX v11, 64-bit
include $(TOP)/configs/default
CONFIG_NAME = hpux11-64
# Compiler and flags
CC = cc
CXX = aCC
CFLAGS = +z -Ae +DD64 +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
CXXFLAGS = +z -Aa +DD64 +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
MKLIB_OPTIONS =
LIBDIR = $(TOP)/lib64
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
# Library/program dependencies
APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm

View File

@@ -8,26 +8,13 @@ CONFIG_NAME = linux
CC = gcc
CXX = g++
WARN_FLAGS = -Wall
OPT_FLAGS = -O3 -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. Add -m32
# to build properly on 64-bit platforms.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -DPTHREADS -DUSE_XSHM
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) $(X11_INCLUDES) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(X11_INCLUDES)
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
EXTRA_LIB_PATH = -L/usr/X11R6/lib
# Library/program dependencies
# Need to have -L/usr/X11R6/lib in these:
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11

View File

@@ -1,8 +1,20 @@
# Configuration for debugging on Linux
include $(TOP)/configs/linux
include $(TOP)/configs/default
CONFIG_NAME = linux-debug
OPT_FLAGS = -g
DEFINES += -DDEBUG -DMESA_DEBUG -DRUN_DEBUG_BENCHMARK
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG
CXXFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
GLUT_CFLAGS = -fexceptions
# Need to have -L/usr/X11R6/lib in these:
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11

View File

@@ -1,29 +0,0 @@
# Configuration for DirectFB
include $(TOP)/configs/default
CONFIG_NAME = linux-directfb
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D_SVID_SOURCE \
-D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DPTHREADS
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
ifeq ($(HAVE_X86), yes)
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
CXXFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
endif
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = directfb
PROGRAM_DIRS = # disabled
# Library/program dependencies
GL_LIB_DEPS = -lm -lpthread

View File

@@ -9,60 +9,36 @@ CONFIG_NAME = linux-dri
CC = gcc
CXX = g++
MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend
WARN_FLAGS = -Wall
OPT_FLAGS = -O -g
PIC_FLAGS = -fPIC
OPT_FLAGS = -O
SOURCE_FLAGS = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
CFLAGS = -DDRI_NEW_INTERFACE_ONLY $(WARN_FLAGS) -g $(OPT_FLAGS) $(ASM_FLAGS) \
-std=c99 $(PIC_FLAGS) -ffast-math $(SOURCE_FLAGS) -DPTHREADS \
-I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
CXXFLAGS = -DDRI_NEW_INTERFACE_ONLY $(WARN_FLAGS) -g $(OPT_FLAGS) -fPIC \
$(SOURCE_FLAGS)
ASM_SOURCES =
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl
LIBDRM_LIB = `pkg-config --libs libdrm` -ldrm
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
$(LIBDRM_LIB)
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
# This is now 0 by default since it seems to confuse the hell out of people
# and generate a lot of extra noise on bugzilla. If you need to build with
# EGL, do 'make linux-dri USING_EGL=1'
USING_EGL=0
# Directories
ifeq ($(USING_EGL), 1)
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS = egl
else
SRC_DIRS = glx/x11 mesa glu glut/glx glw
PROGRAM_DIRS =
endif
SRC_DIRS = mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
# gamma are missing because they have not been converted to use the new
# ffb and gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 r300 radeon s3v \
savage sis tdfx trident unichrome ffb
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx \
unichrome savage sis

View File

@@ -1,17 +0,0 @@
# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/linux-dri
CONFIG_NAME = linux-dri-ppc
OPT_FLAGS = -Os -mcpu=603
PIC_FLAGS = -fPIC
ASM_FLAGS = -DUSE_PPC_ASM -DUSE_VMX_ASM
ASM_SOURCES = $(PPC_SOURCES)
# Build only the drivers for cards that exist on PowerPC. At some point MGA
# will be added, but not yet.
DRI_DIRS = mach64 r128 r200 r300 radeon tdfx

View File

@@ -8,9 +8,5 @@ CONFIG_NAME = linux-dri-x86
# Unnecessary on x86, generally.
PIC_FLAGS =
# Add -m32 to CFLAGS:
ARCH_FLAGS = -m32
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)

View File

@@ -1,23 +1,36 @@
# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/linux-dri
include $(TOP)/configs/default
CONFIG_NAME = linux-dri-x86-64
ARCH_FLAGS = -m64
# Compiler and flags
CC = gcc
CXX = g++
ASM_FLAGS = -DUSE_X86_64_ASM
ASM_SOURCES = $(X86-64_SOURCES) $(X86-64_API)
CFLAGS = -DDRI_NEW_INTERFACE_ONLY -m64 -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -D_GNU_SOURCE -D__AMD64__ -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
CXXFLAGS = -DDRI_NEW_INTERFACE_ONLY -m64 -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
#ASM_SOURCES = $(X86_SOURCES)
LIB_DIR = $(TOP)/lib64
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib64
GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread -lexpat -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11
# ffb, gamma, and sis are missing because they have not be converted to use
# the new interface. i810 and i830 are missing because there is no x86-64
# system where they could *ever* be used.
# Directories
SRC_DIRS = mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
# ffb, gamma, and sis are missing because they have
# not be converted to use the new interface. Do i810 & i830 really
# need to be included here?
#
DRI_DIRS = i915 mach64 mga r128 r200 radeon tdfx unichrome savage r300
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome savage

View File

@@ -1,10 +0,0 @@
# Configuration for Linux fbdev interface
include $(TOP)/configs/linux
CONFIG_NAME = linux-fbdev
DRIVER_DIRS = fbdev
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -DUSE_GLFBDEV_DRIVER
PROGRAM_DIRS = fbdev

View File

@@ -1,49 +0,0 @@
# -*-makefile-*-
# Configuration for linux-indirect: Builds a libGL capable of indirect
# rendering, but *NOT* capable of direct rendering.
include $(TOP)/configs/default
CONFIG_NAME = linux-dri
# Compiler and flags
CC = gcc
CXX = g++
MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend
WARN_FLAGS = -Wall
OPT_FLAGS = -O -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DHAVE_ALIAS
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
ASM_SOURCES =
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
# Directories
SRC_DIRS = glx/x11 glu glut/glx glw
DRIVER_DIRS =
PROGRAM_DIRS =
WINDOW_SYSTEM=dri

View File

@@ -1,9 +1,18 @@
# Configuration for Linux on PPC
include $(TOP)/configs/linux
include $(TOP)/configs/default
CONFIG_NAME = linux-ppc
OPT_FLAGS = -O3 -mcpu=603 -fsigned-char -funroll-loops
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
# FIXME: Use of PowerPC assembly should be enabled here.

View File

@@ -1,9 +1,15 @@
# Configuration for Linux on PPC, static libs
include $(TOP)/configs/linux-ppc
include $(TOP)/configs/default
CONFIG_NAME = linux-ppc-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
@@ -12,3 +18,9 @@ GLU_LIB_NAME = libGLU.a
GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm

View File

@@ -1,29 +0,0 @@
# Configuration for profiling on Linux with gprof
include $(TOP)/configs/default
CONFIG_NAME = linux-profile
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -pg -O -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG
CXXFLAGS = -pg -O -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
GLUT_CFLAGS = -fexceptions
# Need to have -L/usr/X11R6/lib in these:
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
# Need to make static libs for profiling:
MKLIB_OPTIONS = -static
GL_LIB_NAME = lib$(GL_LIB).a
GLU_LIB_NAME = lib$(GLU_LIB).a
GLUT_LIB_NAME = lib$(GLUT_LIB).a
GLW_LIB_NAME = lib$(GLW_LIB).a
OSMESA_LIB_NAME = lib$(OSMesa).a
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread

View File

@@ -8,36 +8,25 @@ CONFIG_NAME = linux-solo
CC = gcc
CXX = g++
WARN_FLAGS = -Wall -Wundef
OPT_FLAGS = -O3 -g
PIC_FLAGS = -fPIC
CCOMMON = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
CFLAGS = $(CCOMMON) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DDRM_USE_MALLOC -DIN_DRI_DRIVER
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
CXXFLAGS = $(CCOMMON) -Wall -O3 -ansi -pedantic -fPIC
ASM_SOURCES =
ASM_SOURCES = $(X86_SOURCES)
# Library/program dependencies
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(LIB_DIR)
GL_LIB_DEPS = -lm -lpthread -ldl
GL_LIB_DEPS = -lm -lpthread -lexpat -ldl
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
# Directories
SRC_DIRS = glx/mini mesa glu glut/mini
SRC_DIRS = mesa glx glu glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
#DRI_DIRS = ffb gamma sis savage
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome fb
#DRI_DIRS = fb ffb gamma sis savage
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome

View File

@@ -1,7 +1,28 @@
# Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev
include $(TOP)/configs/linux-solo
include $(TOP)/configs/default
CONFIG_NAME = linux-solo-ia64
# Compiler and flags
CC = gcc
CXX = g++
CCOMMON = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE
CFLAGS = $(CCOMMON) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math
CXXFLAGS = $(CCOMMON) -Wall -O3 -ansi -pedantic -fPIC
# Library/program dependencies
GL_LIB_DEPS = -lm -lpthread -lexpat -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
# Directories
SRC_DIRS = mesa glx glu glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome

View File

@@ -1,12 +1,31 @@
# -*-makefile-*-
# Configuration for linux-solo-x86: Linux hardware drivers for fbdev for x86
# Configuration for linux-solo: Linux DRI hardware drivers for fbdev
include $(TOP)/configs/linux-solo
include $(TOP)/configs/default
CONFIG_NAME = linux-solo-x86
# Unnecessary on x86, generally.
PIC_FLAGS =
# Compiler and flags
CC = gcc
CXX = g++
CCOMMON = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS
CFLAGS = $(CCOMMON) -Wmissing-prototypes -O3 -g -std=c99 -Wundef -fPIC -ffast-math
CXXFLAGS = $(CCOMMON) -Wall -O3 -ansi -pedantic -fPIC
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
ASM_SOURCES = $(X86_SOURCES)
# Library/program dependencies
GL_LIB_DEPS = -lm -lpthread -lexpat -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
# Directories
SRC_DIRS = mesa glx glu glut/mini
DRIVER_DIRS = dri
PROGRAM_DIRS = miniglx
#DRI_DIRS = fb ffb gamma sis savage
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome

View File

@@ -7,24 +7,10 @@ CONFIG_NAME = linux-sparc
# Compiler and flags
CC = gcc
CXX = g++
WARN_FLAGS = -Wall
OPT_FLAGS = -O2
PIC_FLAGS = -fPIC
DEFINES = -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM
X11_INCLUDES = -I/usr/X11R6/include
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
CFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
CXXFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
EXTRA_LIB_PATH=-L/usr/X11R6/lib
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11

View File

@@ -1,9 +1,17 @@
# Configuration for generic Linux, making static libs
include $(TOP)/configs/linux
include $(TOP)/configs/default
CONFIG_NAME = linux-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
@@ -19,3 +27,4 @@ OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++

View File

@@ -12,7 +12,7 @@ TCC_DIR=/home/progs/tcc-0.9.20
CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DUSE_TCC -I$(TCC_DIR)
CXXFLAGS = -g -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
CXXFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
GLUT_CFLAGS = -fexceptions

View File

@@ -1,8 +1,24 @@
# Configuration for Linux with x86 optimizations
include $(TOP)/configs/linux
include $(TOP)/configs/default
CONFIG_NAME = linux-x86
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -1,7 +0,0 @@
# To build Linux x86 32-bit in an x86-64 environment
include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-32
ARCH_FLAGS += -m32

View File

@@ -1,13 +1,28 @@
# Configuration for Linux for 64-bit X86 (Opteron)
include $(TOP)/configs/linux
include $(TOP)/configs/default
CONFIG_NAME = linux-x86-64
ARCH_FLAGS = -m64
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include
CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
GLUT_CFLAGS = -fexceptions
#ASM_SOURCES = $(X86_SOURCES)
ASM_SOURCES = $(X86-64_SOURCES) $(X86-64_API)
ASM_FLAGS = -DUSE_X86_64_ASM
LIB_DIR = $(TOP)/lib64
EXTRA_LIB_PATH = -L/usr/X11R6/lib64
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -1,7 +0,0 @@
# Configuration for Linux for 64-bit X86 (Opteron)
include $(TOP)/configs/linux-x86-64
CONFIG_NAME = linux-x86-64-debug
DEFINES += -DDEBUG -DMESA_DEBUG -DRUN_DEBUG_BENCHMARK

View File

@@ -1,11 +1,22 @@
# Configuration for Linux for 64-bit X86 (Opteron), static libs
include $(TOP)/configs/linux-x86-64
include $(TOP)/configs/default
CONFIG_NAME = linux-x86-64-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include
CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
@@ -13,9 +24,17 @@ GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
#ASM_SOURCES = $(X86_SOURCES)
LIB_DIR = $(TOP)/lib64
# Library/program dependencies (static libs don't have dependencies)
GL_LIB_DEPS =
OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++

View File

@@ -5,5 +5,6 @@ include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-debug
OPT_FLAGS = -g
DEFINES += -DDEBUG -DMESA_DEBUG -DRUN_DEBUG_BENCHMARK
CFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE

View File

@@ -1,11 +1,22 @@
# Configuration for Linux with x86 optimizations, static libs
include $(TOP)/configs/linux-x86
include $(TOP)/configs/default
CONFIG_NAME = linux-x86-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
CXXFLAGS = -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
@@ -13,9 +24,14 @@ GLUT_LIB_NAME = libglut.a
GLW_LIB_NAME = libGLw.a
OSMESA_LIB_NAME = libOSMesa.a
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
# Library/program dependencies (static libs don't have dependencies)
GL_LIB_DEPS =
OSMESA_LIB_DEPS =
GLU_LIB_DEPS =
GLUT_LIB_DEPS =
GLW_LIB_DEPS =
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++

View File

@@ -1,24 +0,0 @@
# Configuration for Linux with x86 optimizations
include $(TOP)/configs/default
CONFIG_NAME = linux-x86-xcb
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -DUSE_XCB -I/usr/X11R6/include
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XCB
GLUT_CFLAGS = -fexceptions
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lXCB
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -13,4 +13,6 @@ CXXFLAGS = -O2 -std ansi -ieee
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
APP_LIB_DEPS = -L$(LIB_DIR) -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -lXext -lXmu -lXi -lm

View File

@@ -9,7 +9,7 @@ CC = cc
CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM
MKLIB_OPTIONS = -static
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm -lglut -lGLU -lGL
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a

View File

@@ -4,32 +4,18 @@ include $(TOP)/configs/default
CONFIG_NAME = sunos5-gcc
ASM_SOURCES = $(SPARC_SOURCES) $(SPARC_API)
# Compiler and flags
CC = gcc
CXX = g++
WARN_FLAGS = -Wall
OPT_FLAGS = -O3 -g -fomit-frame-pointer -pipe
PIC_FLAGS = -fPIC
ARCH_FLAGS ?=
DEFINES = -D_REENTRANT -DUSE_XSHM
ASM_SOURCES = $(SPARC_SOURCES) $(SPARC_API)
ASM_FLAGS = -DUSE_SPARC_ASM
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math -I/usr/openwin/include
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
-I/usr/openwin/include
CFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_XSHM -DUSE_SPARC_ASM
CXXFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_SPARC_ASM
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/openwin/lib
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXi -lm
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

View File

@@ -13,9 +13,7 @@ all :
if f$search("lib.dir") .eqs. "" then create/directory [.lib]
set default [.src]
$(MMS)$(MMSQUALIFIERS)
set default [-.progs.util]
$(MMS)$(MMSQUALIFIERS)
set default [-.demos]
set default [-.progs.demos]
$(MMS)$(MMSQUALIFIERS)
set default [-.xdemos]
$(MMS)$(MMSQUALIFIERS)

182
docs/INSTALL.GNU Normal file
View File

@@ -0,0 +1,182 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

View File

@@ -3,46 +3,49 @@
Requirements:
-------------
Mesa-6.2 release notes:
-----------------------
A Voodoo-based videocard/accelerator
DOS (with DJGPP), Windows9x/2k (with MinGW), Linux
Glide3x library for your OS
1) Glide2 support has been ceased; please visit the Glide SourceForge and
help us improve Glide3.
2) The current release is a WIP; among other things, the Linux build works
only to some extent. Voodoo Rush not fully tested. Any help will be
appreciated.
3) Although Mesa is designed to work with any Glide3, it would benefit from
interacting with newer Glide libraries, which can export functions like:
`grGetRegistryOrEnvironmentStringExt', `grSetNumPendingBuffers', Texus2
and pointcast palette. The latest Glide3 can be reached here:
http://sourceforge.net/projects/glide/
http://sourceforge.net/projects/glide/
Known supported HW/OS:
----------------------
Voodoo-based videocards/accelerators
DOS (DJGPP), Windows9x/2k (MinGW/MSVC), Linux
How to compile:
---------------
DJGPP:
DJGPP/MinGW:
Place the Glide3 SDK in the top Mesa directory:
$(MESA)/glide3/include/
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
$(MESA)/glide3/include/*.h
$(MESA)/glide3/lib/
libgld3x.a, libgld3i.a, glide3x.dxe
Required headers:
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
Required libraries:
OS specific
Type:
make -f Makefile.DJ X86=1 FX=1
Look into the makefile for further information.
MinGW:
Place the Glide3 SDK in the top Mesa directory:
$(MESA)/glide3/include/
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
$(MESA)/glide3/lib/
libglide3x.a, glide3x.dll
Type:
or
make -f Makefile.mgw X86=1 FX=1
Look into the makefile for further information.
Look into the corresponding makefiles for further information.
Linux:
Place the Glide3 SDK in /usr/local/glide
/usr/local/glide/include/
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
/usr/local/glide/lib/
libglide3x.a, libglide3x.so
Type:
make linux-glide
or
@@ -60,7 +63,12 @@ FX_TRAP_GLIDE
FX_PACKEDCOLOR
use packed color in vertex structure
FX_TC_NAPALM
map GL_COMPRESSED_RGB[A] to FXT1. Works with VSA100-based cards only.
map GL_COMPRESSED_RGB[A] to FXT1. This will have effect on Napalm
only (can coexist with FX_TC_NCC, but has higher priority)
FX_TC_NCC
experimental
map GL_COMPRESSED_RGB[A] to NCC. This will have effect on any 3dfx
HW (can coexist with FX_TC_NAPALM, but has lesser priority)
FX_COMPRESS_S3TC_AS_FXT1_HACK
map S3TC to FXT1
FX_RESCALE_BIG_TEXURES_HACK
@@ -97,7 +105,7 @@ FX_GLIDE_SWAPPENDINGCOUNT
HW: all
Desc: max # of buffers allowed to build up
Note: (*) (!)
Value: "0", "1", "2", "3", "4", "5" or "6"
Value: "0", "1", "2" or "3"
FX_GLIDE_SWAPINTERVAL
OS: all
HW: all
@@ -140,7 +148,7 @@ MESA_FX_NOSNAP
OS: all
HW: Voodoo1, Rush, Banshee
Desc: do not snap vertices inside Mesa
Note: to be used with Glide3x that snaps vertices internally
Note: to be used with Glide3x that snaps vertices itself
MESA_FX_POINTCAST
OS: all
HW: dual-TMU cards (some Voodoo1, Voodoo2, Avenger, Napalm)
@@ -185,25 +193,15 @@ MESA_FX_MAXLOD
"9" - 512x512 textures
"10" - 1024x1024 textures
"11" - 2048x2048 textures
MESA_FX_ALLOW_VP
OS: all
HW: all
Desc: allow vertex program extensions
MESA_GLX_FX
OS: linux
HW: Voodoo1, Rush, Voodoo2
Desc: display mode
Note: (!) experimental
Note: (!) experimental: "w" may work in Win32 using non-V1/V2 HW
Value:
"w" - windowed mode
"f" - fullscreen mode
"d" - disable glide driver
OS: win32
HW: Rush, Banshee, Avenger, Napalm
Desc: display mode
Note: (!) experimental
Value:
"w" - windowed mode

View File

@@ -28,11 +28,9 @@ working. No optimizations have been made at this time.
* Compiling
Since Mesa 6.x, it can be build under BeOS with both the R5 builtin gcc version
or more recent gcc versions available for BeOS, like this gcc version 2.95.3 for BeOS
you can find at http://www.bebits.com/app/2157.
Anyway, keep in mind that to take full advantage of Mesa x86 optimizations, you better
want to use gcc 2.95.3 or sooner versions...
Requirements:
- gcc version 2.95.3 for BeOS
You can find it here: http://www.bebits.com/app/2157
To build Mesa-powered BeOS libGL.so version, open an Terminal window,
move to Mesa root folder and type this command:
@@ -113,7 +111,6 @@ cause a fatal error when running with Be's OpenGL.
Jake Hamby jhamby <at> anobject <dot> com
Marcin Konicki ahwayakchih <at> neoni <dot> net
Francois Revol revol <at> free <dot> fr
Nathan Whitehorn nathanw <at> uchicago <dot> edu
* Older BeOS Driver
@@ -134,4 +131,4 @@ as of February, 1999.
----------------------------------------------------------------------
$Id: README.BEOS,v 1.12 2004/10/13 00:35:55 phoudoin Exp $
$Id: README.BEOS,v 1.11 2004/08/24 08:31:57 phoudoin Exp $

View File

@@ -1,4 +1,4 @@
Mesa 6.3 DOS/DJGPP Port v1.7
Mesa 6.1 DOS/DJGPP Port v1.6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -6,7 +6,7 @@
Description:
~~~~~~~~~~~~
Well, guess what... this is the DOS port of Mesa 6.3, for DJGPP fans... Whoa!
Well, guess what... this is the DOS port of Mesa 6.1, for DJGPP fans... Whoa!
The driver has its origins in ddsample.c, written by Brian Paul and found by me
in Mesa 3.4.2.
@@ -59,7 +59,7 @@ Tested on:
CPU: AMD Athlon XP 1800+
Mainboard: GA-7VTXE w/ 512 MB DDRAM
Video card: Voodoo5 6000 AGP w/ 128 MB SDRAM
DJGPP: djdev 2.04 + gcc v3.4.3 + make v3.80
DJGPP: djdev 2.04 + gcc v3.3.2 + make v3.80
OS: DOS and Win98SE
@@ -91,12 +91,8 @@ FAQ:
2. Using Mesa for DJGPP
Q) Every test I tried crashes badly.
A) If you have compiled with SSE and you're running under plain DOS, you
have to disable SSE at run-time. See environment variables below.
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
A) Is that a question? If you have a 3dfx Voodoo (any model), you're
A) Is that a question? If you have a 3dfx Voodoo or higher card, you're
lucky (check http://sourceforge.net/projects/glide for the DJGPP port).
If you haven't, sorry; everything is done in software. Suggestions?
@@ -113,10 +109,14 @@ FAQ:
at peak performance ;-).
Q) I'm getting a "bad font!" fatal error.
A) Always use GLUT_STROKE_* and GLUT_BITMAP_* constants when dealing with
GLUT fonts. If you're using `glut.dxe', then make sure GLUT_STROKE_* and
GLUT_BITMAP_* are mapped to integer constants, not to the actual font
address (same mechanism used for Win32 _DLL).
A) By default, DOS GLUT compiles with GLUT_IMPORT_LIB, to cope with variable
access inside dynamic modules (same mechanism used for Win32 _DLL). Since
-DGLUT_IMPORT_LIB affects Mesa's `glut.h', your apps must be compiled the
same way GLUT was compiled (either with or without defining it). If you
want to use another `glut.h' when building your own demos, or just don't
feel happy about this, make sure you remove the line with GLUT_IMPORT_LIB
from `Mesa/src/glut/dos/Makefile.DJ' before (re)making GLUT. Beware, this
means you will never EVER be able to safely use `glut.dxe'!
Q) What is NUL driver good for, if I don't get any output at all?
A) For debugging. The NUL driver is very much like OSMesa. Everything is
@@ -134,7 +134,7 @@ FAQ:
struct {
int xres, yres;
int bpp;
} **l = malloc(n * sizeof(void *));
} **l = malloc(n * sizeof(void **));
Now pass the newly allocated buffer to fill in:
DMesaGetIntegerv(DMESA_GET_VIDEO_MODES, (GLint *)l);
And collect the info:
@@ -194,7 +194,6 @@ Environment variables:
~~~~~~~~~~~~~~~~~~~~~~
DMESA_NULDRV - (any value) force NUL driver
GLUT_FPS - print frames/second statistics to stderr
MESA_NO_SSE - (any value) safe option under pure DOS
DMESA_GLUT_REFRESH - set vertical screen refresh rate (VESA3)
DMESA_GLUT_BPP - set default bits per pixel (VGA needs 8)
DMESA_GLUT_ALPHA - set default alpha bits (8)
@@ -258,13 +257,6 @@ v1.6 (aug-2004)
! fixed a horrible bug in VGA initialization routine
! fixed partial clears
v1.7 (???-2005)
+ enabled OpenGL 2.0 support
+ added support for sw texture compression
+ added FreeGLUT specific functions
* no more GLX sources in DOS GLUT
* made GLUT timer callbacks less accurate but safer
Contact:

View File

@@ -14,77 +14,68 @@ Quick & dirty start:
*******************************************************************************
The Mingw port for Mesa 3-D Graphics Library was created August 30, 1998 by Paul Garceau.
Contact:
--------
Updated January 13, 2000; June 3, 2005 -- Paul Garceau <pgarceau@users.sourceforge.net>
Daniel Borca <dborca@users.sourceforge.net>
WARNING! The info below this line is outdated (yet some of it useful). WARNING!
*******************************************************************************
August 30, 1998 -- Paul Garceau
Updated January 13, 2000 -- Paul Garceau (pgarceau@teleport.com)
DISCLAIMER: I make this port of the Mesa 3-D Graphics Library as a service
to the general public. I can, in no way support or make any guarantee that the
build will work for your system.
Acknowledgements:
The associated packages and batch files I have included as part of the GCC-2.95.2/Mingw32 extension are provided "As-is" with out any guarantee of support or functionality from this author.
Daniel Borca, whose work and commitment to maintaining the Mingw port of the Mesa 3-D Graphics Library has been, and will continue to be greatly appreciated by an overworked and underpaid developer such as myself.
Without the creative inspiration and personal commitment provided by Mumit Khan, Jan-Jaap Vanderhagen and Colin Peters, Mingw would never have existed. Acknowledgements also need to be given to all of the developers who have worked on Mingw, Mesa and Msys over the years.
Last, but certainly far from the least, Brian Paul, who has dedicated at least the last seven or eight years of his life to making Mesa 3-D Graphics Library what it is today and managing the development for all of those years.
*********************************************************************************
Feel free to modify or change things as you see fit, just remember that
I can't support any modifications you might want to make to the files which I
have included OR the lgpl protected Mesa 3-D Graphics Library.
Greetings,
I recommend using GCC-2.95.2/Mingw32 which is available at Mumit Khans' ftp site:
Feel free to modify or change things related to the Mingw build as you see fit, just remember that, the author of the current build may not be able to support any modifications you might want to make to the files which have been included for the build.
Mesa core components are licensed under XFree-86 (for more on licensing of Mesa 3-D Graphics Library, check out the Mesa homepage (http://www.mesa3d.org).
The Mingw generated libraries themselves are licensed under the GNU-LGPL license. Source code for Mingw can be found at http://www.mingw.org. For licensing terms on Mingw, please visit http://www.mingw.org.
It is recommended that you use the latest "stable" release of Mingw. "Candidates" are beta testing distributions for Mingw. Mingw is available at http://www.mingw.org.
(ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/)
This build has been tested under WinNT4/SP6. Win9x and WinNT5 remain untested by me. I have not tested any of the demos included with Mesa3d.
Installation:
I recommend using the GCC-2.95.2/Mingw32.
This readme assumes that you already have extracted the necessary files to a working directory/folder that Mingw can use to build the Mesa3D libraries and that you know where that directory/folder is located on your Windows system. If you have any questions about how to set things up properly which is specific to Mesa3D, the folks on the Mesa3D mailing lists (http://www.mesa3d.org) would probably be happy to assist you. Also you can probably ask anyone on the Mingw mailing lists for any questions specific to Mingw (http://www.mingw.org)
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95.2
Targets and Environment variables used for Mingw build:
Much thanks to the combined efforts of Mumit Khan, Jan-Jaap Vanderhagen
and Colin Peters for making it possible for the Mingw32 toolchain to exist. Also, thanks go out to Stephane Rehel for the work that was completed on the Cygwin build.
Before going into the actual build of the libraries, here is a list of available targets for the make process:
Installing GCC-2.95.2/Mingw32 Build:
"all" or "libgl" -- this target will build libopengl.a, a static library. It will not build the demos, etc.
a) Open the file archive (either tar.gz or .zip extensions)
clean -- this target will clean up most of the Mesa 3-D Graphics Library/object code from your hard drive.
realclean -- this target will clean up all of the Mesa 3D Graphics Library and the Mesa object code that it can find.
Environment Variables:
The environment variables are used to determine what sort of graphics driver support needs to be included in the finished Mesa 3-D Graphics Library.
GLIDE path to Glide3 SDK; used with FX.
default = $(TOP)/glide3
FX=1 build for 3dfx Glide3. Note that this disables
compilation of most WMesa code and requires fxMesa.
As a consequence, you'll need the Win32 Glide3
library to build any application.
default = no
ICD=1 build the installable client driver interface
(windows opengl driver interface)
default = no
X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
default = no
b) Decide the directory you want to move the archived files to.
d) Extract the files from the archive.
e) Edit the mingw32.bat file to accomodate your choice of directory structure.
%mesaroot%: This is your root directory (Mesa-3.3)
%mesasrc%: This is the Mesa-3.3 src directory (Mesa-3.3\src)
%mesalib%: This is where the build will put libGL.a and libGLU.a
Running the Build:
Launch Mingw.
From the Windows Command Prompt:
Set Environment Variables (as needed).
"cd" to your Mesa3D 'root' directory.
Enter "mingw32-make -f makefile.mgw <target>
Open your Command Prompt or MS-DOS prompt.
Go to your Mesa-3.3 'root' directory
At the command line type: mingw32
That's all there is to it.
Enjoy!
Paul G. <pgarceau@users.sourceforge.net>
Daniel Borca <dborca@users.sourceforge.net>
Peace,
Paul G. (pgarceau@teleport.com)

View File

@@ -26,7 +26,3 @@ On Alpha platforms at default a sharable images for the libraries are created.
To get a static library make it by typing MMS/MACRO=(NOSHARE=1).
On VAX platforms only static libraries can be build.
You may want to compile Mesa to use IEEE floating point arithmetic, instead
of VAX floating point by specifying the /float=IEEE flag to the compiler.
For more information see https://bugs.freedesktop.org/show_bug.cgi?id=4270

View File

@@ -1,139 +1,91 @@
File: docs/README.WIN32
Last updated: Jul 01, 2005 - Karl Schultz - kschultz@users.sourceforge.net
Last updated: Sep 18, 2003 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
----- -----
Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
The libs and demos build separately, so if you do not care about the
demos, you do not have to unzip that zip file. But if you do, it does
need to be unzipped into the same directory as the lib zip file
because the demos depend on the libs.
need to be unzipped into the same directory as the lib zip file because
the demos depend on the libs.
The Windows build system uses Microsoft Visual Studio. Project files
for a specific version of Visual Studio are in their own directory in
the top-level "windows" directory. For example, Visual Studio 6 files
are in windows/VC6. If a directory does not exist for your version of
Visual Studio, you can try importing the project files from an earlier
version of Visual Studio. At this time, project files exist for
Version 6 and Version 7. The code has been built with a beta version
of Version 8 and it runs on 64-bit Windows. If you want to try this,
start by importing the VC7 files and create the 64-bit targets in the
configuration manager.
The build system has been changed to use Microsoft Visual Studio project
workspaces and projects. Makefiles are no longer shipped or supported, but
can be generated from the projects using Visual Studio.
The project files to build the core Mesa library, Windows Mesa
drivers, OSMesa, and GLU are in the mesa directory. The project files
to build GLUT and some demo programs are in the progs directory.
Details and Notes
Makefiles are no longer shipped or supported, but can be generated
from the projects using Visual Studio.
- To build the Mesa libraries, open the Mesa.dsw workspace file
in the top directory. You can build each project one-by-one,
or build the glut project to build everything except osmesa,
which needs to be built separately. The build process will
create a lib directory in the top directory and will put the
following files there:
OPENGL32.LIB, GLU32.LIB, GLUT32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, GLUT32.DLL, OSMESA32.DLL
- After building, you can copy the above DLL files to a place in your PATH
such as $SystemRoot/SYSTEM32. If you don't like putting things in a
system directory, place them in the same directory as the executable(s).
Be careful about accidentially overwriting files of the same name in
the SYSTEM32 directory.
Windows Drivers
------- -------
- Build the demos by opening the appropriate *.dsw file in the
progs directory tree. For example, to build the demos, use
progs/demos/Windows/demos.dsw. The Windows directory contains
the workspace and all the projects for each demo program. Each
project places the executable in the same directory as its source
code, which is required for some demos.
At this time, only the GDI driver is known to work, as it has been
ported and rewritten to the latest Mesa DD interfaces. Source code
also exists in the tree for other drivers in src/mesa/drivers/windows,
but the status of this code is unknown.
- The demo projects also copy the Mesa library DLL files from the lib
directory into the same directory as the demo executables, so that
the demos use the Mesa libs you just built.
The GDI driver operates basically by writing pixel spans into a DIB
section and then blitting the DIB to the window. The driver was
recently cleaned up and rewitten and so may have bugs or may be
missing some functionality. The older versions of the CVS source may
be useful in figuring out any problems, or report them to me.
- The DLL files are built so that the external entry points use the
stdcall calling convention.
To build Mesa with the GDI driver, build the mesa, gdi, and glu
projects in the Visual Studio workspace found at
- Static LIB files are not built. The LIB files that are built with
are the linker import files associated with the DLL files.
windows/VC6/mesa/mesa.dsw
or
windows/VC7/mesa/mesa.sln
- The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
The osmesa DLL can also be built with the osmesa project.
- The osmesa driver builds and should work on Windows as well as
any other platform.
The build system creates a lib top-level directory and copies
resulting LIB and DLL files to this lib directory. The files are:
- The Windows driver (in src/Windows) builds and runs at least at
a minimal level. I modified this driver to work with the new
Mesa 4.0 code and driver architecture, but I did not do a great
deal of optimization and testing. There are many opportunities
for optimization, many of which can be done by coding more specific
paths for the rasterizers. See src/osmesa/osmesa.c for some good
examples.
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
- There is DirectDraw support in the Windows driver, updated by
Daniel Slater. You'll need to uncomment the #define DDRAW line
in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries.
On some systems, you will acheive significantly higher framerates
with DirectDraw.
If the MesaDemos ZIP file was extracted, the DLL files are also copied
to the demos directory. This facilitates running the demos as described
below.
- Some of the more specialized code like FX drivers, stereo, and
parallel support isn't compiled or tested. I left much of this
code alone, but it may need some work to get it 'turned on' again.
- No assembly code is compiled or assembled. Again, this may need
some work to turn it back on or use it again.
GLUT and Demos
---- --- -----
A Visual Studio workspace can be found at
windows/VC6/progs/progs.dsw
or
windows/VC7/progs/progs.sln
It can be used to build GLUT and a few demos. The GLUT lib and DLL
are copied to the top-level lib directory, along with the Mesa libs.
The demo build system expects to find the LIB files in the top level
lib directory, so you must build the Mesa libs first. The demo
executables are placed in the demos directory, because some of them
rely on data files found there. Also, the Mesa lib DLL's were copied
there by the Mesa lib build process. Therefore, you should be able to
simply run the demo executables from the demo directory.
If you want to run the demos from the Visual Studio, you may have to
change the startup directory and explicitly state where the executables are.
Build System Notes
----- ------ -----
VC6
---
Visual Studio 6 does not recognize files with the .cc extension as C++
language files, without a lot of unnatural tweaking. So, the VC6
build process uses custom build steps to compile these files in the
GLU library.
VC7
---
The above-mentioned .cc problem does not exist in this version.
General
-------
After building, you can copy the above DLL files to a place in your
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
in a system directory, place them in the same directory as the
executable(s). Be careful about accidentially overwriting files of
the same name in the SYSTEM32 directory.
The DLL files are built so that the external entry points use the
stdcall calling convention.
Static LIB files are not built. The LIB files that are built with are
the linker import files associated with the DLL files.
The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
to the project settings. You will also need to edit src/mesa.def to
change all the gl* symbols to mgl*. Because this is easy to do with a
global replace operation in a text editor, no additional mangled
version of mesa.def is maintained or shipped.
- To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
to the project settings. You will also need to edit src/mesa.def to change
all the gl* symbols to mgl*. Because this is easy to do with a global
replace operation in a text editor, no additional mangled version of mesa.def
is maintained or shipped.
If you have a Windows-related build problem or question, it is
probably better to direct it to me (kschultz@users.sourceforge.net),
rather than directly to the other Mesa developers. I will help you as
much as I can. I also monitor the Mesa mailing lists and will answer
questions in this area there as well.
rather than directly to the other Mesa developers. I will help you
as much as I can. I also monitor the Mesa mailing lists and will
answer questions in this area there as well.
Karl Schultz

View File

@@ -1,28 +0,0 @@
Mesa DirectFB Information
Requirements
============
To build Mesa with DirectFB (DirectFBGL) support you need:
- DirectFB at least 0.9.21 (http://directfb.org)
- pkg-config at least 0.9 (http://pkgconfig.sf.net)
Installation
============
Run
make linux-directfb
to build Mesa and DirectFBGL module,
make install
to install OpenGL libraries and
make linux-directfb-install
to install DirectFBGL module in the proper location.

View File

@@ -1,7 +1,7 @@
Mesa 6.2 release notes
October 2, 2004
Month, day, 2004
PLEASE READ!!!!
@@ -19,19 +19,6 @@ This release primarily just fixes bugs found in the Mesa 6.1 release.
See the VERSIONS file for details.
ToDo: PBO for polygon stipple, convolution filter, etc.
Known Issues
------------
The GL_EXT_pixel_buffer_object extension isn't fully implemented for
functions like glPolygonStipple, glConvolutionFilter, glColorTable,
etc. The important functions like glRead/DrawPixels, glTex[Sub]Image,
and glBitmap work with PBOs.
Driver Status
---------------------- ---------------------
@@ -49,4 +36,4 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.2,v 3.4 2004/10/02 15:43:14 brianp Exp $
$Id: RELNOTES-6.2,v 3.1 2004/08/22 17:43:31 brianp Exp $

View File

@@ -1,50 +0,0 @@
Mesa 6.2.1 release notes
December 9, 2004
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.1) designate new developmental releases.
Even numbered versions (such as 6.2.x) designate stable releases.
This release primarily just fixes bugs found in the Mesa 6.2 release.
See the VERSIONS file for details.
Known Issues
------------
The GL_EXT_pixel_buffer_object extension isn't fully implemented for
functions like glPolygonStipple, glConvolutionFilter, glColorTable,
etc. The important functions like glRead/DrawPixels, glTex[Sub]Image,
and glBitmap work with PBOs. This has been fixed for Mesa 6.3.
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.2.1,v 3.1 2004/12/09 23:21:36 brianp Exp $

View File

@@ -1,115 +0,0 @@
Mesa 6.3 release notes
July 20, 2005
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
New Features
------------
GL_ARB_draw_buffers - allows a fragment program to write to a number of
separate color buffers, instead of just one.
GL_OES_read_format - allows one to query the fastest glReadPixels format
and datatype.
GL_ARB_pixel_buffer_object - buffer objects for pixel read/write functions.
GL_EXT_framebuffer_object - allows render-to-texture and provides a
window-system indepedent Pbuffer facility.
The Mesa CVS tree contains a couple tests of this extension.
DirectFB driver, contributed by Claudio Ciccani. See docs/README.directfb
for details.
Vertex/Fragment Program PRINT Instruction
-----------------------------------------
The GL_NV_vertex_program and GL_NV_fragment_program languages have been
extended with a PRINT instruction.
glDeleteTextures(), glDeletePrograms() and glDeleteBuffers() Changed
--------------------------------------------------------------------
To match the behaviour of other OpenGL implementations, glDeleteTextures,
glDeletePrograms and glDeleteBuffers have been modified so that:
* The named texture/program/buffer ID is immediately freed for re-use.
* The actual texture object, program or buffers isn't really deleted until
it is no longer bound in any rendering context (the reference count
is zero).
Previously, the texture/program/buffer ID wasn't freed until the object
was really deleted.
Note that textures, programs and buffers can be shared by several rendering
contexts so they can't be deleted until they're unbound in _all_ contexts.
GL_EXT_framebuffer_object changes
---------------------------------
Implementing this extension involved changing a lot of code (for the better).
The gl_framebuffer object now a collection of gl_renderbuffer objects.
Renderbuffers may store colors, stencil indices, or depth values. The
gl_framebuffer and gl_renderbuffer types are object-oriented in design.
All the old RGB, color index, stencil and depth-related span functions for
reading/writing pixels from/to buffers has changed. Now, all pixels are
read/written through a set of common renderbuffer functions (methods).
Most device drivers have been updated for these changes, but some haven't.
To Do (someday) items
---------------------
Switch to freeglut
Increase MAX_DRAWBUFFERS
driver hooks for BeginQuery/EndQuery
Miscellaneous
-------------
The main/get.c file is now generated with a Python script (get_gen.py).
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3,v 3.13 2005/07/21 15:57:29 brianp Exp $

View File

@@ -1,49 +0,0 @@
Mesa 6.3.1 release notes
July XX, 2005
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
DRI drivers
-----------
This release includes the DRI drivers and GLX code for hardware rendering.
Bug fixes
---------
Bugs fixed in 6.3.1 are listed in the VERSIONS file.
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3.1,v 3.1 2005/07/21 18:45:54 brianp Exp $

View File

@@ -1,37 +0,0 @@
Mesa 6.3.2 Release Notes
August 19, 2005
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
6.3.2 is primarily a bug-fix release. See the VERSIONS file for details.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-6.3.2,v 3.2 2005/08/19 16:57:50 brianp Exp $

View File

@@ -1,50 +0,0 @@
Mesa 6.4 Release Notes
October 24, 2005
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.4) designate stable releases.
6.4 is a bug-fix release. See the VERSIONS file for details.
GLUT tarball
------------
Starting with 6.4, the GLUT library sources are distributed in a separate
tarball. This was done at the request of Linux distro vendors who prefer
to use freeglut.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
The drivers which require updates mostly need to be updated to work
with the new gl_renderbuffer / gl_framebuffer infrastructure introduced
in Mesa 6.3.
----------------------------------------------------------------------
$Id: RELNOTES-6.4,v 1.1.2.5 2005/10/24 23:12:29 brianp Exp $

View File

@@ -1,47 +0,0 @@
Mesa 6.4.1 Release Notes
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.4) designate stable releases.
6.4.1 is a bug-fix release. See the VERSIONS file for details.
GLUT tarball
------------
Starting with 6.4, the GLUT library sources are distributed in a separate
tarball. This was done at the request of Linux distro vendors who prefer
to use freeglut.
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
The drivers which require updates mostly need to be updated to work
with the new gl_renderbuffer / gl_framebuffer infrastructure introduced
in Mesa 6.3.
----------------------------------------------------------------------
$Id: RELNOTES-6.4.1,v 1.1.2.1 2005/11/30 01:15:15 brianp Exp $

View File

@@ -1276,7 +1276,7 @@ Mesa Version History
- fixed a number of minor memory leaks (bug #1002030)
6.2 October 2, 2004
6.2 Month, day, 2004
New:
- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
- updated Doxygen support (Jose Fonseca)
@@ -1293,131 +1293,3 @@ Mesa Version History
- repeated calls to glDeleteTexture(t) could lead to a crash
- fixed potential ref count bugs in VBOs and vertex/fragment programs
- spriteblast demo didn't handle window size changes correctly
- glTexSubImage didn't handle pixels=NULL correctly for PBOs
- fixed color index mode glDrawPixels bug (Karl Schultz)
6.2.1 December 9, 2004
Bug fixes:
- don't apply regular fog or color sum when using a fragment program
- glProgramEnvParameter4fARB always generated an error on
GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
- fixed width/height mix-up in glSeparableFilter2D()
- fixed regression in glCopyPixels + convolution
- glReadPixels from a clipped front color buffer didn't always work
- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- Attempting queries/accesses of VBO 0 weren't detected as errors
- paletted textures failed if the palette had fewer than 256 entries
Changes:
- fixed a bunch of compiler warnings found with gcc 3.4
- bug reports should to go bugzilla.freedesktop.org
6.3 July 20, 2005
New:
- GL_EXT_framebuffer_object extension
- GL_ARB_draw_buffers extension
- GL_ARB_pixel_buffer_object extension
- GL_OES_read_format extension (Ian Romanick)
- DirectFB driver (Claudio Ciccani)
- x86_64 vertex transformation code (Mikko T.)
- Updated GL/glext.h to version 29
Changes:
- added -stereo option for glxgears demo (Jacek Rosik)
- updated the PBuffer demo code in xdemos/ directory
- glDeleteTextures/Programs/Buffers() now makes the object ID
available for immediate re-use
- assorted 64-bit clean-ups fixes (x86_64 and Win64)
- lots of internal changes for GL_EXT_framebuffer_object
Bug fixes:
- some functions didn't support PBO functionality
- glGetTexImage didn't convert color index images to RGBA as required
- fragment program texcoords were sometimes wrong for points and lines
- fixed problem with negative dot product in arbfplight, fplight demos
- fixed bug in perspective correction of antialiased, textured lines
- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
- fixed a couple per-pixel fog bugs (Soju Matsumoto)
- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
- fixed float parsing bug in ARB frag/vert programs (bug 2520)
- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
- glXChooseFBConfig() crashed if attribList pointer was NULL
- program state.light[n].spot.direction.w was wrong value (bug 3083)
- fragment program fog option required glEnable(GL_FOG) - wrong.
- glColorTable() could produce a Mesa implementation error (bug 3135)
- RasterPos could get corrupted by color index rendering path
- Removed bad XTranslateCoordinates call when rendering to Pixmaps
- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
- fixed a few Darwin compilation problems
6.3.1
This was an intermediate release for X.org which wasn't otherwise released.
6.3.2 August 19, 2005
New:
- The distribution now includes the DRI drivers and GLX code
Changes:
- Made the DRI "new" driver interface standard, remove old code
Bug fixes:
- GL_ARB_vertex/fragment_shader were mistakenly listed in the
extensions string
- negative relative addressing in vertex programs was broken
- update/fix SPARC assembly code for vertex transformation
- fixed memory leak when freeing GLX drawables/renderbuffers
- fixed display list memory leak
- the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
- wglGetProcAddress() didn't handle wgl-functions
- fixed glxext.h cross-compile issue (Colin Harrison)
- assorted DRI driver fixes
6.4 October 24, 2005
New:
- Added a fast XOR line drawing function in Xlib driver
- Added support for GL_ARB_texture_mirrored_repeat to savage
driver (supported only on Savage4 hardware).
Changes:
- Mesa now packaged in three parts: Library, Demos and GLUT
Bug fixes:
- GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
- Some files were present multiple times in the 6.3.2 tarballs
- r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
- glxgears_fbconfig demo didn't work (bug 4237)
- fixed bug when bilinear sampling 2d textures with borders
- glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
- fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
- fixed a few problems with proxy color tables (bug 4270)
- fixed precision problem in Z clearing (bug 4395)
- glBitmap, glDraw/CopyPixels mistakenly generated selection hits
- fixed potential segfault caused by reading pixels outside
of renderbuffer bounds
- glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
- fixed memory corruption bug involving software alpha buffers
- glReadPixels clipped by window bounds was sometimes broken
- glDraw/CopyPixels of stencil data ignored the stencil write mask
- glReadPixels from a texture bound to a framebuffer object didn't work
- glIsRender/FramebufferEXT weren't totally correct
- fixed a number of point size attenuation/fade bugs
- fixed glFogCoord bug 4729
- GLX encoding for transpose matrix functions was broken
- fixed broken fragment program KIL and SWZ instructions
- fragment programs that wrote result.depth.z didn't work
6.4.1 November 30, 2005
Bug fixes:
- redefining a vertex program string didn't take effect in TNL module
- fixed occasional segfault upon vertex/fragment parsing error
- vertex program LIT instruction didn't handle 0^0=1 correctly
- fragment program fog option didn't work with glDrawPixels, glBitmap
- USE_MGL_NAMESPACE didn't work for x86-64
- OSMesa demos were missing from previous release tarballs
- fixed problem with float->ushort conversion in glClear (bug 4992)
- popping of GL_EYE_PLANE texgen state was broken (bug 4996)
- popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
- fixed occasional triangle color interpolation problem on VMS
- work around invalid free() call (bug 5131)
- fixed BSD X server compilation problem by including stdint.h

View File

@@ -1,27 +1,15 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Banner</title>
</head>
<body bgcolor="#000000" text="#ffffff">
<HTML>
<title>Banner</title>
<body text="#ffffff" bgcolor="#aa4444">
<center>
<table style="width: 95%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;">
<p><img src="gears.png"> </p>
</td>
<td style="text-align: center;"><font face="sans-serif" size="5">The
Mesa 3D Graphics Library</font></td>
<td style="vertical-align: top; text-align: right;">
<p><img src="gears.png"> </p>
</td>
</tr>
</tbody>
</table>
<p><font face="sans-serif" size="5"><br>
</font></p>
<p>
<font size="5">The Mesa 3D Graphics Library</font>
</p>
</center>
</body>
</html>
</html>

View File

@@ -2,27 +2,14 @@
<TITLE>Mesa Bug Reporting</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Bug Database</H1>
<p>
The Mesa bug database is now hosted on
<a href="http://freedesktop.org" target="_parent">freedesktop.org</a>
instead of SourceForge.
</p>
<p>
To file a Mesa bug, go to
<a href="https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa"
target="_parent">
Bugzilla on freedesktop.org</a>
</p>
<p>
Please follow these bug reporting guidelines:
Bug reports can be filed in the <a
href="http://sourceforge.net/bugs/?group_id=3" target="_parent">Bug
Database</a> on sourceforge.net. Please follow these guidelines:
</p>
<ul>
@@ -34,8 +21,7 @@ Please follow these bug reporting guidelines:
</ul>
<p>
Bug reports will automatically be forwarded to the Mesa developer's mailing
list.
Bug reports will automatically be forwarded to the Mesa developer's list.
</p>
<p>

View File

@@ -2,9 +2,7 @@
<TITLE>Conformance</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Conformance</H1>

View File

@@ -2,24 +2,7 @@
<title>Contents</title>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<!--Override a few values from the style sheet: -->
<style>
<!--
body {
background-color: #cccccc;
color: black;
}
a:link {
color: #000;
}
a:visited {
color: #000;
}
-->
</style>
<body text="#ffffff" bgcolor="#119955" link="#ffffff" vlink="#dddddd" alink="#ffffff">
<b>Documentation</b>
<ul>
@@ -37,6 +20,7 @@ a:visited {
<b>Download / Install</b>
<ul>
<li><a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">Stable Release (6.0.1)</a>
<li><a href="download.html" target="MainFrame">Downloading/Unpacking</a>
<li><a href="install.html" target="MainFrame">Compilation/Installation</a>
<li><a href="glu.html" target="MainFrame">SGI's GLU</a>
@@ -69,6 +53,7 @@ a:visited {
<li><a href="utilities.html" target="MainFrame">Utilities</a>
<li><a href="helpwanted.html" target="MainFrame">Help Wanted</a>
<li><a href="devinfo.html" target="MainFrame">Development Notes</a>
<li><a href="drivers.html" target="MainFrame">Writing Device Drivers</a>
<li><a href="sourcedocs.html" target="MainFrame">Source Documentation</a>
<li><a href="subset.html" target="MainFrame">Subset Information</a>
<li><a href="fbdev-dri.html" target="MainFrame">fbdev/DRI Environment</a>
@@ -80,7 +65,6 @@ a:visited {
<ul>
<li><a href="http://www.opengl.org" target="_parent">OpenGL website</a>
<li><a href="http://dri.sourceforge.net" target="_parent">DRI website</a>
<li><a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>
<li><a href="games.html" target="MainFrame">Games and Entertainment</a>
<li><a href="libraries.html" target="MainFrame">Libraries and Toolkits</a>
<li><a href="modelers.html" target="MainFrame">Modeling and Rendering</a>
@@ -89,13 +73,9 @@ a:visited {
<li><a href="demos.html" target="MainFrame">Demos / other</a>
</ul>
<b>Hosted by:</b>
<br>
<blockquote>
<A HREF="http://sourceforge.net"
target="_parent"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
</blockquote>
</body>
</html>

View File

@@ -2,9 +2,7 @@
<TITLE>Custom Development</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Custom Development</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>CVS Access</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<h1>CVS Access</h1>
@@ -67,11 +65,9 @@ Here are the basic instructions for Unix systems:
Mesa developers working with the Mesa CVS repository need to first
have an account on <a href="http://www.freedesktop.org" target="_parent">
freedesktop.org</a>.
To get an account, please ask Brian or the other Mesa developers for
permission.
Then, if there are no objections, follow this
<a href="http://www.freedesktop.org/wiki/AccountRequests" target="_parent">
procedure</a>.
You can request an account from either
<a href="mailto:dstone@trinity.unimelb.edu.au">Daniel Stone</a> or
<a href="mailto:eta@lclark.edu">Eric Anholt</a>.
</p>
<p>

View File

@@ -2,9 +2,7 @@
<TITLE>CVS Branches</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>CVS Branch Information</H1>
@@ -17,25 +15,25 @@ code while a CVS branch has the latest stable code.
</p>
<p>
Currently (Oct 2004), the trunk is the Mesa 6.3 development code
while the mesa_6_2_branch branch has the stable Mesa 6.2.x code.
Currently (Nov 2003), the trunk is the Mesa 5.1 development code
while the mesa_5_0_branch branch has the stable Mesa 5.0.x code.
</p>
<p>
Mesa releases use an even/odd numbering scheme to represent stable/development
releases.
For example, Mesa 6.2 (0 is considered even) is a stable release while
Mesa 6.3 is a development release.
For example, Mesa 5.0.x (0 is considered even) is a stable release while
Mesa 5.1.x is a development release.
</p>
<p>
To checkout a specific CVS branch pass <code>-r</code> and
the branch tag after your CVS command.
For example <code>cvs checkout -r mesa_6_2_branch Mesa</code> will
checkout the 6.2 branch and <code>cvs update -r
mesa_6_2_branch</code> will convert your current CVS tree to the 6.2
For example <code>cvs checkout -r mesa_5_0_branch Mesa</code> will
checkout the 5.0.x branch and <code>cvs update -r
mesa_5_0_branch</code> will convert your current CVS tree to the 5.0.x
branch.
Consult <a href="http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54"

View File

@@ -2,9 +2,7 @@
<TITLE>Debugging Tips</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Debugging Tips</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>Demos</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Demos</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>Development Notes</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Development Notes</H1>
@@ -41,7 +39,7 @@ To add a new GL extension to Mesa you have to do at least the following.
extension is rather large, try to implement it in a new source file.
</li>
<li>
If the new extension adds new GL state, the functions in get.c, enable.c
If hew extension adds new GL state, the functions in get.c, enable.c
and attrib.c will most likely require new code.
</li>
</ul>
@@ -96,7 +94,7 @@ Constants and macros are ALL_UPPERCASE, with _ between words
</p>
<p>
Global variables are not allowed.
Global vars not allowed.
</p>
<p>
@@ -111,85 +109,110 @@ Function name examples:
</pre>
<H2>Writing a Device Driver</H2>
<p>
XXX to do
</p>
<H2>Making a New Mesa Release</H2>
<p>
These are the instructions for making a new Mesa release.
</p>
<H3>Get latest source files</H3>
<p>
Use "cvs update -dAP " to get the latest Mesa files from CVS.
Prerequisites (later versions may work):
</p>
<ul>
<li> autoconf 2.50
<li> automake 1.4-p2
<li> libtool 1.4
</ul>
<p>
Be sure to do a "cvs update -d ." in the Mesa directory to
get all the latest files.
</p>
<p>
Update the version definitions in src/version.h
</p>
<H3>Verify and update version info</H3>
<p>
Create/edit the docs/RELNOTES-X.Y file to document what's new in the release.
Add the new RELNOTES-X.Y file to <a href="relnotes.html">relnotes.html</a>.
Update the docs/VERSIONS file too.
Edit the docs/VERSIONS file too.
</p>
<p>
Edit configs/default and change the MESA_MAJOR, MESA_MINOR and MESA_TINY
version numbers.
Edit Make-config and change the MESA_MAJOR and/or MESA_MINOR versions.
</p>
<p>
Make sure the values in src/mesa/main/version.h is correct.
Edit the GNU configure stuff to change versions numbers as needed:
Update the version string (second argument) in the line
"AM_INIT_AUTOMAKE(Mesa, 3.3)" in the configure.in file.
</p>
<p>
Edit the top-level Makefile and verify that DIRECTORY, LIB_NAME and
DEMO_NAME are correct.
Remove the leading `dnl' from the line "dnl AM_MAINTAINER_MODE".
</p>
<p>
Update the docs/news.html file and docs/contents.html files.
Verify the version numbers near the top of configure.in
</p>
<p>
Check in all updates to CVS.
Run "fixam -f" to disable automatic dependency tracking.
</p>
<p>
Tag the CVS files with the release name (in the form <b>mesa_X_Y</b>).
Run the bootstrap script to generate the configure script.
</p>
<H3>Make the tarballs</H3>
<p>
Make a symbolic link from $(DIRECTORY) to 'Mesa'. For example,
ln -s Mesa Mesa-6.3
This is needed in order to make a correct tar file in the next step.
Edit Makefile.X11 and verify DIRECTORY is set correctly. The Mesa
sources must be in that directory (or there must be a symbolic link).
</p>
<p>
Edit Makefile.X11 and verify that LIB_NAME and DEMO_NAME are correct.
If it's a beta release, be sure the bump up the beta release number.
</p>
<p>
cp Makefile.X11 to Makefile so that the old-style Mesa makefiles
still work. ./configure will overwrite it if that's what the user runs.
</p>
<p>
Make a symbolic link from $(DIRECTORY) to Mesa. For example,
ln -s Mesa Mesa-3.3 This is needed in order to make a correct
tar file in the next step.
</p>
<p>
Make the distribution files. From inside the Mesa directory:
<pre>
make tarballs
make -f Makefile.X11 lib_tar
make -f Makefile.X11 demo_tar
make -f Makefile.X11 lib_zip
make -f Makefile.X11 demo_zip
</pre>
<p>
After the tarballs are created, the md5 checksums for the files will
be computed.
Add them to the docs/news.html file.
</p>
<p>
Copy the distribution files to a temporary directory, unpack them,
compile everything, and run some demos to be sure everything works.
</p>
<H3>Update the website and announce the release</H3>
<p>
Follow the directions on SourceForge for creating a new "release" and
uploading the tarballs.
Upload the *.tar.gz and *.zip files to ftp.mesa3d.org
</p>
<p>
Update the web site by copying the docs/ directory's files to
/home/users/b/br/brianp/mesa-www/htdocs/
Update the web site.
</p>
<p>
@@ -201,6 +224,17 @@ and
</p>
<H2>Autoconf info</H2>
<p>
In order to run the bootstrap script you'll need:
<p>
<pre>
autoconf 2.50
automake 1.4-p5
libtool 1.4
</pre>
</body>
</html>

View File

@@ -2,129 +2,103 @@
<TITLE>Getting Mesa</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<BODY>
<H1>Downloading</H1>
<H1>Downloading / Unpacking</H1>
<p>
Current stable release: <b>6.4.1</b>
Mesa can be downloaded from the
<a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">
SourceForge download area</A>.
</p>
<p>
Primary download site:
<a href="http://sourceforge.net/project/showfiles.php?group_id=3"
target="_parent">SourceForge</a>
</p>
<p>
Mesa is distributed in several parts:
</p>
<ul>
<li><b>MesaLib-x.y.z</b> - the main Mesa library source code, drivers
and documentation.
</li>
<li><b>MesaDemos-x.y.z</b> - OpenGL demonstration and test programs.
Most of the programs require GLUT (either the
<a href="http://www.opengl.org/resources/libraries/glut.html"
target="_parent">original GLUT by Mark Kilgard</a> or
<a href="http://freeglut.sourceforge.net" target="_parent">freeglut</a> or
<a href="http://freeglut.sourceforge.net" target="_parent">OpenGLUT</a>).
</li>
<li><b>MesaGLUT-x.y.z</b> - Mark Kilgard's GLUT, easily compiled and used
with Mesa. Plus, other implementation of GLUT for DOS, OS/2, BeOS, etc.
</li>
</ul>
<p>
If you're not interested in running the demos, you'll only need the first
package.
Since version 2.3, Mesa is distributed in two pieces: main library code
and demos. If you're upgrading from a previous version of Mesa or you're not
interested in the demos you can just download the core Mesa archive file.
</p>
<p>
The packages are available in .tar.gz, .tar.bz2 and .zip formats.
Other organizations might offer additional package formats.
Mesa is available in at least three archive formats:
</p>
<H1>Unpacking</H1>
<p>
All the packages should be in the same directory prior to unpacking.
</p>
<ul>
<li>To unpack .tar.gz files:
<pre>
tar zxf MesaLib-X.Y.tar.gz
tar zxf MesaDemos-X.Y.tar.gz
tar zxf MesaGLUT-X.Y.tar.gz
1. GNU zip/tar
Download MesaLib-X.Y.tar.gz and optionally MesaDemos-X.Y.tar.gz
Unpack with:
gzcat MesaLib-X.Y.tar.gz | tar xf -
gzcat MesaDemos-X.Y.tar.gz | tar xf -
or
gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
or
tar zxf MesaLib-X.Y.tar.gz
tar zxf MesaDemos-X.Y.tar.gz
If you don't have gzcat try zcat instead.
2. Unix compressed/tar
Download MesaLib-X.Y.tar.Z and optionally MesaDemos-X.Y.tar.Z
Unpack with:
zcat MesaLib-X.Y.tar.Z | tar xf -
zcat MesaDemos-X.Y.tar.Z | tar xf -
3. ZIP format
Download MesaLib-X.Y.zip and optionally MesaDemos-X.Y.zip
Unpack with:
unzip MesaLib-X.Y.zip
unzip MesaDemos-X.Y.zip
</pre>
or
<pre>
gzcat MesaLib-X.Y.tar.gz | tar xf -
gzcat MesaDemos-X.Y.tar.gz | tar xf -
gzcat MesaGLUT-X.Y.tar.gz | tar xf -
</pre>
or
<pre>
gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaDemos-X.Y.tar
gunzip MesaGLUT-X.Y.tar.gz ; tar xf MesaGLUT-X.Y.tar
</pre>
<li>To unpack .tar.bz2 files:
<pre>
bunzip2 -c MesaLib-X.Y.tar.gz | tar xf -
bunzip2 -c MesaDemos-X.Y.tar.gz | tar xf -
bunzip2 -c MesaGLUT-X.Y.tar.gz | tar xf -
</pre>
<li>To unpack .zip files:
<pre>
unzip MesaLib-X.Y.zip
unzip MesaDemos-X.Y.zip
unzip MesaGLUT-X.Y.zip
</pre>
</ul>
<h1>Contents</h1>
<p>
After unpacking you'll have these directories:
After unpacking you'll have these directories (and more):
</p>
<pre>
Makefile - top-level Makefile for most systems
configs/ - makefile parameter files for various systems
Makefile.X11 - top-level Makefile for X11-based systems
Make-config - system configurations used by the Makefile.X11
include/ - GL header (include) files
bin/ - shell scripts for making shared libraries, etc
lib/ - final client libraries, created during compilation
docs/ - documentation
src/ - source code for libraries
src/mesa - sources for the main Mesa library and device drivers
src/glu - libGLU source code
src/glw - Xt/Motif/OpenGL widget code
</pre>
If you downloaded and unpacked the MesaDemos.X.Y package:
<pre>
and if you downloaded and unpacked the MesaDemos.X.Y archive:
src/glut - GLUT source code
progs/ - OpenGL programs
progs/demos - original Mesa demos
progs/xdemos - GLX OpenGL/Mesa demos
progs/redbook - examples from the OpenGL Programming Guide
progs/samples - examples from SGI
progs/images/ - image files
</pre>
If you downloaded and unpacked the MesaGLUT.X.Y package:
<pre>
src/glut - GLUT library source code
</pre>
<p>
Proceed to the <a href="install.html">compilation and installation
Proceed to <a href="install.html">compilation and installation
instructions</a>.
</p>
<H1>GLUT</H1>
<p>
Mesa 2.5 and later includes Mark Kilgard's GLUT library (GL Utility Toolkit).
GLUT is built automatically on systems which support it.
</p>
<p>
The GLUT tests, demos, examples, etc are not included, just the main library.
To obtain the latest complete release of GLUT please visit the
<a href="http://www.opengl.org/resources/libraries/glut.html"
target ="_parent">GLUT page</a> on www.opengl.org.
</p>
</BODY>
</HTML>

View File

@@ -2,9 +2,7 @@
<TITLE>Environment Variables</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Environment Variables</H1>
@@ -16,9 +14,7 @@ Mesa supports the following environment variables:
<li>MESA_NO_MMX - if set, disables Intel MMX optimizations
<li>MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations
<li>MESA_NO_SSE - if set, disables Intel SSE optimizations
<li>MESA_DEBUG - if set, error messages are printed to stderr.
If the value of MESA_DEBUG is "FP" floating point arithmetic errors will
generate exceptions.
<li>MESA_DEBUG - if set, error messages are printed to stderr
<li>MESA_NO_DITHER - if set, disables dithering, overriding glEnable(GL_DITHER)
</ul>

View File

@@ -2,9 +2,7 @@
<TITLE>Mesa Extensions</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Mesa Extensions</H1>

View File

@@ -2,14 +2,12 @@
<head><title>Mesa FAQ</title></head>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<center>
<h1>Mesa Frequently Asked Questions</h1>
Last updated: 21 October 2004
Last updated: 27 April 2004
</center>
<br>
@@ -39,14 +37,14 @@ See the </a><a href="http://www.opengl.org/">OpenGL website</a> for more
information.
</p>
<p>
Mesa 6.x supports the OpenGL 1.5 specification.
Mesa 5.x supports the OpenGL 1.4 specification.
</p>
<h2>1.2 Does Mesa support/use graphics hardware?</h2>
<p>
Yes. Specifically, Mesa serves as the OpenGL core for the open-source DRI
drivers for XFree86/X.org. See the <a href="http://dri.sf.net/">DRI
Yes. Specifically, Mesa serves as the OpenGL core for the open-source
XFree86/DRI OpenGL drivers. See the <a href="http://dri.sf.net/">DRI
website</a> for more information.
</p>
<p>
@@ -55,15 +53,14 @@ the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers
are the modern ones.
</p>
<h2>1.3 What purpose does Mesa serve today?</h2>
<h2>1.3 What purpose does Mesa (software-based rendering) serve today?</h2>
<p>
Hardware-accelerated OpenGL implementations are available for most popular
operating systems today.
Still, Mesa serves at least these purposes:
</p>
<ul>
<li>Mesa is used as the core of the open-source XFree86/X.org DRI
hardware drivers.
<li>Mesa is used as the core of the open-source XFree86/DRI hardware drivers.
</li>
<li>Mesa is quite portable and allows OpenGL to be used on systems
that have no other OpenGL solution.
@@ -83,48 +80,27 @@ Still, Mesa serves at least these purposes:
</li>
</ul>
<h2>1.4 What's the difference between"Stand-Alone" Mesa and the DRI drivers?</h2>
<h2>1.4 How do I upgrade my DRI installation to use a new Mesa release?</h2>
<p>
<em>Stand-alone Mesa</em> is the original incarnation of Mesa.
On systems running the X Window System it does all its rendering through
the Xlib API:
<ul>
<li>The GLX API is supported, but it's really just an emulation of the
real thing.
<li>The GLX wire protocol is not supported and there's no OpenGL extension
loaded by the X server.
<li>There is no hardware acceleration.
<li>The OpenGL library, libGL.so, contains everything (the programming API,
the GLX functions and all the rendering code).
</ul>
You don't! A copy of the Mesa source code lives inside the XFree86/DRI source
tree and gets compiled into the individual DRI driver modules.
If you try to install Mesa over an XFree86/DRI installation, you'll lose
hardware rendering (because stand-alone Mesa's libGL.so is different than
the XFree86 libGL.so).
</p>
<p>
Alternately, Mesa acts as the core for a number of OpenGL hardware drivers
within the DRI (Direct Rendering Infrastructure):
<ul>
<li>The libGL.so library provides the GL and GLX API functions, a GLX
protocol encoder, and a device driver loader.
<li>The device driver modules (such as r200_dri.so) contain a built-in
copy of the core Mesa code.
<li>The X server loads the GLX module.
The GLX module decodes incoming GLX protocol and dispatches the commands
to a rendering module.
For the DRI, this module is basically a software Mesa renderer.
</ul>
<h2>1.5 How do I upgrade my DRI installation to use a new Mesa release?</h2>
The DRI developers will incorporate the latest release of Mesa into the
DRI drivers when the time is right.
</p>
<p>
This wasn't easy in the past.
Now, the DRI drivers are included in the Mesa tree and can be compiled
separately from the X server.
Just follow the Mesa <a href="install.html">compilation instructions</a>.
To upgrade, either look for a new release of <a href="http://www.xfree86.org"
target="_parent">XFree86</a> or visit the
<a href="http://dri.sf.net" target="_parent">DRI website</a> to see
if there's newer drivers.
</p>
<h2>1.6 Are there other open-source implementations of OpenGL?</h2>
<h2>1.5 Are there other open-source implementations of OpenGL?</h2>
<p>
Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html"
target="_parent">
@@ -159,13 +135,12 @@ but it does export the OpenGL API. It allows tiled rendering, sort-last
rendering, etc.
</p>
<p>
There may be other open OpenGL implementations, but Mesa is the most
popular and feature-complete.
</p>
<br>
<br>
@@ -181,24 +156,38 @@ has Mesa packages (like RPM or DEB) which you can easily install.
</a></p>
<h2><a name="part2">2.2 Running <code>configure; make</code> doesn't Work</a></h2>
<h2><a name="part2">2.2 Running <code>configure; make</code> Doesn't Work</a></h2>
<p>
Mesa no longer supports GNU autoconf/automake. Why?
<ul>
<li>It seemed to seldom work on anything but Linux
<li>The config files were hard to maintain and hard to understand
<li>libtool caused a lot of grief
</ul>
<a name="part2">Unfortunately, the GNU autoconf/automake/libtool system doesn't seem to work
too well on non GNU/Linux systems, even after installing gmake, gcc, etc.
For that reason, Mesa's <b>old-style</b> makefile system is still included.
The old-style system uses good old traditional Makefiles. Try the following:
</a></p><pre><a name="part2"> cd Mesa-x.y.z
cp Makefile.X11 Makefile
make
</a></pre>
<a name="part2">You'll see a list of system configurations from which to choose.
For example:
</a><pre><a name="part2"> make linux-x86
</a></pre>
<p>
Now Mesa again uses a conventional Makefile system (as it did originally).
Basically, each Makefile in the tree includes one of the configuration
files from the config/ directory.
The config files specify all the variables for a variety of popular systems.
</p>
<a name="part2">If you're experienced with GNU autoconf/automake/libtool and think you can help
with maintence, contact the Mesa developers.
FYI, the Mesa developers generally don't use the autoconf/automake system.
We're especially annoyed with the fact that a +5000-line script (libtool)
is needed to make shared libraries (ugh).
</a></p>
<h2><a name="part2">2.3 Mesa still doesn't compile</a></h2>
<p>
<a name="part2">If the old-style Makefile system doesn't work either, make sure you have
the most recent version of Mesa.
Otherwise, file a bug report or post to the Mesa3d-users mailing list.
Give as much info as possible when describing your problem.
</a></p>
<h2><a name="part2">2.3 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
<h2><a name="part2">2.4 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
<p>
<a name="part2">You're application is written in IRIS GL, not OpenGL.
IRIS GL was the predecessor to OpenGL and is a different thing (almost)
@@ -207,16 +196,16 @@ Mesa's not the solution.
</a></p>
<h2><a name="part2">2.4 Where is the GLUT library?</a></h2>
<h2><a name="part2">2.5 Where is the GLUT library?</a></h2>
<p>
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaGLUT-x.y.z.tar.gz file.
If you don't already have GLUT installed, you should grab the MesaGLUT
package and compile it with the rest of Mesa.
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaDemos-x.y.z.tar.gz file.
If you don't already have GLUT installed, you should grab the MesaDemos
package and unpack it before compiling Mesa.
</a></p>
<h2><a name="part2">2.5 What's the proper place for the libraries and headers?</a></h2>
<h2><a name="part2">2.6 What's the proper place for the libraries and headers?</a></h2>
<p>
<a name="part2">On Linux-based systems you'll want to follow the
</a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html"
@@ -240,7 +229,7 @@ Mesa version number.
version number.
</li></ul>
<p>
After installing XFree86/X.org and the DRI drivers, some of these files
After installing XFree86 and the DRI drivers, some of these files
may be symlinks into the /usr/X11R6/ tree.
</p>
<p>

View File

@@ -2,9 +2,7 @@
<TITLE>Mesa fbdev/DRI Environment</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<center><H1>Mesa fbdev/DRI Drivers</H1></center>

View File

@@ -2,9 +2,7 @@
<TITLE>Games</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Games</H1>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -2,9 +2,7 @@
<TITLE>Mesa glFBDev Driver</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<center><H1>Mesa glFBDev Driver</H1></center>

View File

@@ -2,9 +2,7 @@
<TITLE>SGI GLU</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>SGI SI GLU</H1>
@@ -24,7 +22,7 @@ We're no longer developing the original Mesa GLU library.
</p>
<p>
The SI GLU library code is included in the Mesa distribution.
The new SI GLU library code is included in the Mesa package.
You don't have to download it separately.
</p>

View File

@@ -2,71 +2,59 @@
<TITLE>Help Wanted</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Help Wanted</H1>
<p>
We can always use more help with the Mesa project.
Here are some specific ideas and areas where help would be appreciated:
We can always use more help with the Mesa project. Here are some
specific areas. If you think you can help out, post to the mesa3d-dev
mailing list.
</p>
<ol>
<li><p>
Generate the src/mesa/main/enums.c file with a Python script which
uses the gl_API.xml file.
</p>
<li><p>
Try to auto-generate the display list "save" functions seen in dlist.c
using a Python script and the gl_API.xml file.
The gl_API.xml file will probably need a new tag to indicate whether or
not each function gets compiled into display lists.
</p>
<li><p>
Maintenance of assembly language files on Linux, Windows and SPARC systems.
</p>
<li><p>
Help to incorporate the 3Dlabs' shading language compiler for OpenGL 2.0.
</p>
<li><p>
Implement assembly language (SSE/MMX) code generation for
vertex/fragment programs.
</p>
<li><p>
Windows 98/NT driver building, maintenance and testing
(Karl Schultz has been doing a great job of this lately).
</p>
<li><p>
Maintenance and testing of various drivers, such as DOS/DJGPP, GGI, etc.
</p>
<li><p>
Write new tests for Glean.
</p>
</ol>
<ul>
<li>Windows 98/NT build/driver maintenance and testing (Karl Schultz has been
doing a great job of this lately)
<li>DOS/DJGPP build/driver maintenance and testing
<li>GGI driver/build maintenance and testing
<li>GNU autoconfig/libtool maintenance (esp. on non-Linux systems)
<li>x86, SSE, 3DNow! and SPARC assembly language programming
<li>Implement WGL font functions in the WGL interface code
<li>Implement off-screen bitmap rendering support in the WGL interface code
<li>Help with writing/testing the new NV_fragment_program extension code
<li>Implement the ARB_vertex/fragment extensions
<li>Download/compile/test Mesa and report any bugs found
</ul>
<p>
If you want to help with Mesa, first join the Mesa developer's
mailing list.
Then post a message to propose what you want to do, just to make sure
there's no issues.
mailing list. Then post a message explaining what you might like
to help with. The Mesa web page has a list of a few work items
which you may consider.
</p>
</p>
Anyone is welcome to contribute code to the Mesa project.
By doing so, it's assumed that you agree to the code's licensing terms.
Anyone is welcome to contribute code to the Mesa project, provided you
agree to the copyright terms of the relevant code. See the COPYRIGHT
file.
</p>
<p>
Finally:
<p>
Unfortunately, all the easy work in Mesa was done years ago. Nowadays, the
work is rather complicated and not suited to beginners.
</p>
<p>
If you're contribution code to the Mesa library itself:
<p>
<ol>
<li>Try to write high-quality code that follows the existing style.
<li>Use uniform indentation, write comments, use meaningful identifiers, etc.
<li>Test your code thoroughly. Include test programs if appropriate.
<li>Try to write clean code (uniform indentation, comments, meaningful
identifiers, etc). It must be readable and maintainable!
<li>Test your code. On several occations I've incorporated code from
users which later turned out to have bugs. Now, I'm pretty hesitant
to use code which doesn't look good.
</ol>

View File

@@ -1,29 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>Mesa Home Page</title>
</head>
<title>Mesa Home Page</title></head>
<frameset rows="80,*" border="0" frameborder="yes">
<frame src="banner.html" name="BannerFrame"
scrolling="no" marginwidth="1" marginheight="1">
<frameset cols="28%,72% " border="1" frameborder="yes">
<frame src="contents.html" name="ContentsFrame"
marginwidth="2" marginheight="1" noresize="noresize">
<frame src="news.html" name="MainFrame"
marginwidth="3" marginheight="1" noresize="noresize">
</frameset>
<noframes>
<p>Sorry, this site requires frame support</p>
</noframes>
<frameset rows="50,100% " border="1" framespacing="1" frameborder="yes">
<frame src="banner.html" name="BannerFrame" scrolling="no" marginwidth="1" marginheight="1" resize="">
<frameset cols="28%,72% " border="1" framespacing="1" frameborder="yes">
<frame src="contents.html" name="ContentsFrame" marginwidth="2" marginheight="1" resize="">
<frame src="news.html" name="MainFrame" marginwidth="3" marginheight="1" resize="">
</frameset>
</frameset>
</html>
<noframes>
<BODY>
<P>
</body>
</noframes>
</html>

View File

@@ -2,9 +2,7 @@
<TITLE>Compilation and Installation</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Compilation and Installation</H1>
@@ -21,77 +19,53 @@
<a name="unix-x11">
<H2>1. Unix/X11 Compilation and Installation</H1>
<p>
Mesa uses a rather conventional Makefile system.
A GNU autoconf/automake system used to be included, but was discarded
in Mesa 5.1 because:
</p>
<ul>
<li>It seldom worked on IRIX, Solaris, AIX, etc.
<li>It was very compilicated
<li>Nobody maintained it
<li>libtool was just too weird
</ul>
<p>
If someone strongly feels that Mesa should have a autoconf/automake
system and wants to contribute one and maintain it, we'll consider
adding it again.
</p>
<p>
In Mesa 6.1 we modified the conventional Makefile system.
Instead of specifying all the various system configurations in the
Make-config file, there's a directory named <code>configs/</code> which
has an individual file for each configuration.
One of the configs gets copied to <code>configs/current</code>, which
is then included by all Makefiles.
</p>
<h3>1.1 Compilation</h3>
<p>
Mesa may be compiled in several different ways:
Note: if you've obtained Mesa through CVS, do this first:
</p>
<ul>
<li><b><em>Stand-alone/Xlib mode</em></b> - Mesa is compiled as
a software renderer using Xlib to do all rendering.
libGL.so is a self-contained rendering library.
<pre>
cd Mesa
chmod a+x bin/mklib
</pre>
<p>
To compile stand-alone Mesa type <b>make</b> in the top-level directory.
Just type <b>make</b> in the top-level directory.
You'll see a list of supported system configurations.
Choose one from the list (such as linux-x86), and type:
</p>
<pre>
make linux-x86
</pre>
<p>This will produce libGL.so and several other libraries</p>
</li>
<li><b><em>DRI/accelerated</em></b> - The DRI hardware drivers (for ATI,
Intel, Matrox, etc) are built.
libGL.so implements the GLX extension and dynamically loads the DRI drivers.
<p>
To build the DRI drivers you'll first need to have the DRM (Direct
Rendering Manager) kernel drivers and header files.
They're available from the <a href="http://dri.sf.net/" target="_parent">DRI</a> project.
</p>
<p>
You can get them from CVS by doing:
<pre>
cvs -d:pserver:anonymous@pds.freedesktop.org:/cvs/dri login
(hit enter when prompted for a password)
cvs -z3 -d:pserver:anonymous@pdx.freedesktop.org:/cvs/dri co drm
</pre>
<p>
Make note of the directory in which the drm files are placed.
</p>
<p>
See the <a href="http://dri.freedesktop.org/wiki/Building" target="_parent">
DRI Building Instructions</a> for the steps to build the DRM modules.
</p>
<p>
Next, in the <code>Mesa-x.y.z/configs/default</code> file, set the
<code>DRM_SOURCE_PATH</code> variable to indicate where the DRM files
are located.
</p>
<p>
Now build Mesa and the DRI drivers by running
</p>
<pre>
make linux-dri
</pre>
<p>
There are also <code>linux-dri-x86</code>, <code>linux-dri-x86-64</code>,
and <code>linux-ppc</code> configurations, optimized for those architectures.
</p>
<p>
Finally, you'll need a DRI-enabled X server from
<a href="http://freedesktop.org/wiki/Software_2fXserver" target="_parent">
X.org</a> or <a href="http://www.xfree86.org" target="_parent">XFree86</a>.
Visit those projects' home pages for more information.
</p>
</li>
</ul>
<p>
Later, if you want to rebuild for a different configuration run
If you want to rebuild for a different configuration run
<code>make realclean</code> before rebuilding.
</p>
@@ -99,8 +73,7 @@ Later, if you want to rebuild for a different configuration run
<h3>1.2 The libraries</h3>
<p>
When compilation has finished, look in the top-level <code>lib/</code>
directory.
When compilation has finished, look in the top-level <b>lib/</b> directory.
You'll see a set of library files similar to this:
</p>
<pre>
@@ -133,23 +106,6 @@ lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSM
<b>libOSMesa</b> is the OSMesa (Off-Screen) interface library.
</p>
<p>
If you built the DRI hardware drivers, you'll also see the DRI drivers:
</p>
<pre>
-rwxr-xr-x 1 brian users 11320803 Jul 21 12:11 mach64_dri.so
-rwxr-xr-x 1 brian users 11418014 Jul 21 12:12 mga_dri.so
-rwxr-xr-x 1 brian users 11064426 Jul 21 12:12 r128_dri.so
-rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
-rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
-rwxr-xr-x 1 brian users 11232304 Jul 21 12:13 s3v_dri.so
-rwxr-xr-x 1 brian users 11062970 Jul 21 12:13 savage_dri.so
-rwxr-xr-x 1 brian users 11214212 Jul 21 12:13 sis_dri.so
-rwxr-xr-x 1 brian users 11368736 Jul 21 12:13 tdfx_dri.so
-rwxr-xr-x 1 brian users 10598868 Jul 21 12:13 trident_dri.so
-rwxr-xr-x 1 brian users 10997120 Jul 21 12:13 unichrome_dri.so
</pre>
<h3>1.3 Running the demos</h3>

View File

@@ -2,9 +2,7 @@
<TITLE>Mesa Introduction</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff">
<H1>Introduction</H1>
@@ -82,7 +80,7 @@ my work hours at the Space Science and Engineering Center at the University
of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me do this because
Mesa is now being using for the <a href="http://www.ssec.wisc.edu/%7Ebillh/vis.html" target="_parent">Vis5D</a> project.
</p><p>
October 1996: Mesa 2.0 is released. It implements the OpenGL 1.1 specification.
October 1996: Mesa 2.0 is released. It implementes the OpenGL 1.1 specification.
</p>
<p>
@@ -134,8 +132,8 @@ GL_ARB_fragment_program extensions.
<p>
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for
the XFree86 X.org X servers within the
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for XFree86
within the
<A href="http://dri.sourceforge.net/" target="_parent">DRI project</A>.
I continue to enhance Mesa with new extensions and features.
</p>
@@ -146,8 +144,7 @@ I continue to enhance Mesa with new extensions and features.
<p>
This is a summary of the major versions of Mesa. Note that Mesa's major
version number tracks OpenGL's minor version number (+1).
Work is underway to implement the OpenGL 2.0 specification.
version number tracks OpenGL's minor version number.
</p>
@@ -163,11 +160,10 @@ extensions incorporated as standard features:
</ul>
<p>
Also note that several OpenGL tokens were renamed in OpenGL 1.5
for the sake of consistency.
The old tokens are still available.
for the sake of consistency. The old names will still be valid.
</p>
<pre>
New Token Old Token
New Name Old Name
------------------------------------------------------------
GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
GL_FOG_COORD GL_FOG_COORDINATE

View File

@@ -2,9 +2,7 @@
<TITLE>Libraries and Toolkits</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Libraries and Toolkits</H1>
@@ -38,7 +36,7 @@ Open SG PLUS</a> - a scene-graph library
</a> - a scene-graph library
<li><a href="http://www.openvrml.org/" target="_parent">OpenVRML</a>
- a VRML parsing/display library with "lookat" - an example VRML browser
<li><a href="http://plib.sourceforge.net/" target="_parent">PLIB</a> - A collection of portable games libraries, including an OpenGL GUI and a simple Scene Graph API
<li><a href="http://www.woodsoup.org/projs/plib" target="_parent">PLIB</a> - A collection of portable games libraries, including an OpenGL GUI and a simple Scene Graph API
<li><a href="ftp://ftp.troll.no/contest/Pryan-1.2.tar.gz" target="_parent">Pryan</a> - an OpenInventor-like toolkit
<li><a href="http://starship.python.net:9673/crew/da/Code/PyOpenGL" target="_parent">PyOpenGL</a> - OpenGL interface for Python
<li><a href="http://www.quesa.org/" target="_parent">Quesa</a> - QuickDraw3D-compatible library based on OpenGL, Mesa or Direct3D

View File

@@ -2,9 +2,7 @@
<TITLE>License / Cppyright Information</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>License / Copyright Information</H1>
@@ -13,18 +11,17 @@ 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.
Mesa's components and the copyright/license for each.
</p>
<p>
The core Mesa library is licensed according to the terms of the MIT license.
This allows integration with the XFree86, Xorg and DRI projects.
</p>
<p>
The default Mesa license is as follows:
The core Mesa library is licensed according to the terms of the XFree86
copyright (an MIT-style license). This allows integration with the
XFree86/DRI project. Unless otherwise stated, the Mesa source code and
documentation is licensed as follows:
</p>
<pre>
Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
Copyright (C) 1999-2003 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"),
@@ -48,38 +45,70 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
<H1>Attention, Contributors</H1>
<p>
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.
When contributing to the Mesa project you must agree to relinquish your
work to the holder of the copyright for the particular component you're
contributing to. That is, you can't put your own copyright on the code,
unless it's a modular piece that can be omitted from Mesa (like a new
device driver). If for example, you contribute a bug fix to Mesa's
texture mapping code, your code will become a part of the body of work
which is copyrighted by Brian Paul and licensed by the above terms.
</p>
<H1>Mesa Component Licenses</H1>
<pre>
Component Location Primary Author License
Mesa Component Licenses:
Component Files Primary Author License
----------------------------------------------------------------------------
Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
core Mesa code src/*.[ch] Brian Paul Mesa
include/GL/gl.h
Device drivers src/mesa/drivers/* See drivers See drivers
GLX driver src/X/* Brian Paul Mesa
include/GL/glx.h
include/GL/xmesa.h
Ext headers include/GL/glext.h SGI SGI Free B
include/GL/glxext.h
OS/Mesa driver src/OSmesa/* Brian Paul Mesa
include/GL/osmesa.h
GLUT src/glut/ Mark Kilgard Mark's copyright
3Dfx driver src/FX/* David Bucciarelli Mesa
include/GL/fxmesa.h
Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
BeOS R4 driver src/BeOS/* Brian Paul Mesa
SGI GLU library src/glu/sgi/ SGI SGI Free B
MGL driver src/MGL/* SciTech, Inc SciTech copyright
include/GL/mglmesa.h
demo programs progs/demos/ various see source files
Windows driver src/Windows/* Li Wei copyright by Li Wei
include/GL/wmesa.h
X demos progs/xdemos/ Brian Paul see source files
SVGA driver src/SVGA/* Brian Paul GNU-LGPL
include/GL/svgamesa.h
SGI demos progs/samples/ SGI SGI copyright
DOS driver src/DOS/* Charlie Wallace GNU-LGPL
include/GL/dosmesa.h
RedBook demos progs/redbook/ SGI SGI copyright
GGI driver src/GGI/* Uwe Maurer GNU-LGPL
include/GL/ggimesa.h
S3 driver src/S3/* S3, Inc. S3 copyright
GLUT src-glut/* Mark Kilgard Mark's copyright
include/GL/*glut*.h
GLU library src-glu/* Brian Paul GNU-LGPL
SI GLU library si-glu/* SGI SGI Free B
include/GL/glu.h
Ext registry include/GL/glext.h SGI SGI Free B
include/GL/glxext.h
demo programs demos/* various see source files
X demos xdemos/* Brian Paul see source files
SGI demos samples/* SGI SGI copyright
RedBook demos book/* SGI SGI copyright
</pre>
</body>

View File

@@ -2,9 +2,7 @@
<TITLE>Mesa Mailing Lists</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Mailing Lists</H1>
@@ -30,8 +28,7 @@ SourceForge lists page.</a>
with the mailing lists please contact the SourceForge administrators for help.</p>
<p>Archives of the old Mesa mailing list which was hosted by unicamp.br
are available <a href="http://groups.yahoo.com/group/mesa/messages/"
target="_parent">here</a>.</p>
are available <a href="http://groups.yahoo.com/group/mesa/messages/">here</a>.</p>
<p>
Here are some other OpenGL-related forums you might find useful:
@@ -47,8 +44,7 @@ Usenet newsgroups:
</p>
<p>
<a href="http://www.opengl.org/" target="_parent">OpenGL discussion forums</A>
at www.opengl.org
<a href="http://www.opengl.org/">OpenGL discussion forums</A> at www.opengl.org
</p>
</HTML>

View File

@@ -2,9 +2,7 @@
<TITLE>Function Name Mangling</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Function Name Mangling</H1>

View File

@@ -1,33 +0,0 @@
/* Mesa CSS */
body {
background-color: #ffffff;
font: 14px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif;
color: black;
link: #111188;
}
h1 {
font: 24px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif;
font-weight: bold;
color: black;
}
h2 {
font: 18px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif, bold;
font-weight: bold;
color: black;
}
code {
font-family: monospace;
font-size: 10pt;
color: black;
}
pre {
/*font-family: monospace;*/
font-size: 10pt;
/*color: black;*/
}

View File

@@ -2,9 +2,7 @@
<TITLE>Modelers, Renderers and Viewers</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Modelers, Renderers and Viewers</H1>
@@ -32,7 +30,7 @@
- VRML viewer
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
- VR graphics and interaction system
</li><li><a href="http://www.swissquake.ch/chumbalum-soft/md2v" target="_parent">MD2 Viewer</a>
</li><li><a href="http://www.swissquake.ch/chumb.alum-soft" target="_parent">MD2 Viewer</a>
- View .MD2 files
</li><li><a href="http://www.megacads.dlr.de/" target="_parent">MegaCads</a>
- Multiblock-Elliptic-Grid-Generation-And-CAD-System

View File

@@ -2,256 +2,11 @@
<TITLE>Mesa News</TITLE>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<body bgcolor="#eeeeee">
<BODY text="#000000" bgcolor="#55bbff">
<H1>News</H1>
<h2>November 29, 2005</h2>
<p>
Mesa 6.4.1 has been released. This is a stable, bug-fix release.
</p>
<pre>
Bug fixes:
- redefining a vertex program string didn't take effect in TNL module
- fixed occasional segfault upon vertex/fragment parsing error
- vertex program LIT instruction didn't handle 0^0=1 correctly
- fragment program fog option didn't work with glDrawPixels, glBitmap
- USE_MGL_NAMESPACE didn't work for x86-64
- OSMesa demos were missing from previous release tarballs
- fixed problem with float->ushort conversion in glClear (bug 4992)
- popping of GL_EYE_PLANE texgen state was broken (bug 4996)
- popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
- fixed occasional triangle color interpolation problem on VMS
- work around invalid free() call (bug 5131)
- fixed BSD X server compilation problem by including stdint.h
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
TBD
</pre>
<h2>October 24, 2005</h2>
<p>
Mesa 6.4 has been released. This is a stable, bug-fix release.
</p>
<pre>
New:
- Added a fast XOR line drawing function in Xlib driver
- Added support for GL_ARB_texture_mirrored_repeat to savage
driver (supported only on Savage4 hardware).
Changes:
- Mesa now packaged in three parts: Library, Demos and GLUT
Bug fixes:
- GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
- Some files were present multiple times in the 6.3.2 tarballs
- r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
- glxgears_fbconfig demo didn't work (bug 4237)
- fixed bug when bilinear sampling 2d textures with borders
- glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
- fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
- fixed a few problems with proxy color tables (bug 4270)
- fixed precision problem in Z clearing (bug 4395)
- glBitmap, glDraw/CopyPixels mistakenly generated selection hits
- fixed potential segfault caused by reading pixels outside
of renderbuffer bounds
- glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
- fixed memory corruption bug involving software alpha buffers
- glReadPixels clipped by window bounds was sometimes broken
- glDraw/CopyPixels of stencil data ignored the stencil write mask
- glReadPixels from a texture bound to a framebuffer object didn't work
- glIsRender/FramebufferEXT weren't totally correct
- fixed a number of point size attenuation/fade bugs
- fixed glFogCoord bug 4729
- GLX encoding for transpose matrix functions was broken
- fixed broken fragment program KIL and SWZ instructions
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
1cce0c1eb4fd15e9dfe837a1ce0c9812 MesaLib-6.4.tar.gz
85a84e47a3f718f752f306b9e0954ef6 MesaLib-6.4.tar.bz2
b976fea4f3ee06354c53f91b6e3f2ffc MesaLib-6.4.zip
d8734f2c69bcf7ef9f5ae454a85743ba MesaDemos-6.4.tar.gz
1a8c4d4fc699233f5fdb902b8753099e MesaDemos-6.4.tar.bz2
607ab7c7a7de0cc5febbdde2bfa03098 MesaDemos-6.4.zip
3260156f66174322a092be0767962d34 MesaGLUT-6.4.tar.gz
0465d053f83775f44a12dec4050dfd78 MesaGLUT-6.4.tar.bz2
02abfcdcdf72ba938ae00f6e3b70fbe0 MesaGLUT-6.4.zip
</pre>
<h2>August 19, 2005</h2>
<p>
Mesa 6.3.2 has been released.
Note: there was no public release of version 6.3.1.
</p>
<pre>
New:
- The distribution now includes the DRI drivers and GLX code
Changes:
- Made the DRI "new" driver interface standard, remove old code
Bug fixes:
- GL_ARB_vertex/fragment_shader were mistakenly listed in the
extensions string
- negative relative addressing in vertex programs was broken
- update/fix SPARC assembly code for vertex transformation
- fixed memory leak when freeing GLX drawables/renderbuffers
- fixed display list memory leak
- the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
- wglGetProcAddress() didn't handle wgl-functions
- fixed glxext.h cross-compile issue (Colin Harrison)
- assorted DRI driver fixes
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
98192e45ed8d69113688f89f90869346 MesaLib-6.3.2.tar.gz
0df27701df0924d17ddf41185efa8ce1 MesaLib-6.3.2.tar.bz2
ccb2423aab77fc7e81ce628734586140 MesaLib-6.3.2.zip
9d0fca0a7d051c34a0b485423fb3e85d MesaDemos-6.3.2.tar.gz
96708868450c188205e42229b5d813c4 MesaDemos-6.3.2.tar.bz2
c5102501e609aa8996d832fafacb8ab9 MesaDemos-6.3.2.zip
</pre>
<h2>July 20, 2005</h2>
<p>
Mesa 6.3 has been released.
This is a development release with new features, changes and bug fixes.
</p>
<pre>
New:
- GL_EXT_framebuffer_object extension
- GL_ARB_draw_buffers extension
- GL_ARB_pixel_buffer_object extension
- GL_OES_read_format extension (Ian Romanick)
- DirectFB driver (Claudio Ciccani)
- x86_64 vertex transformation code (Mikko T.)
Changes:
- added -stereo option for glxgears demo (Jacek Rosik)
- updated the PBuffer demo code in xdemos/ directory
- glDeleteTextures/Programs/Buffers() now makes the object ID
available for immediate re-use
- assorted 64-bit clean-ups fixes (x86_64 and Win64)
- lots of internal changes for GL_EXT_framebuffer_object
Bug fixes:
- some functions didn't support PBO functionality
- glGetTexImage didn't convert color index images to RGBA as required
- fragment program texcoords were sometimes wrong for points and lines
- fixed problem with negative dot product in arbfplight, fplight demos
- fixed bug in perspective correction of antialiased, textured lines
- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
- fixed a couple per-pixel fog bugs (Soju Matsumoto)
- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
- fixed float parsing bug in ARB frag/vert programs (bug 2520)
- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
- glXChooseFBConfig() crashed if attribList pointer was NULL
- program state.light[n].spot.direction.w was wrong value (bug 3083)
- fragment program fog option required glEnable(GL_FOG) - wrong.
- glColorTable() could produce a Mesa implementation error (bug 3135)
- RasterPos could get corrupted by color index rendering path
- Removed bad XTranslateCoordinates call when rendering to Pixmaps
- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
- fixed a few Darwin compilation problems
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
0236f552d37514776945d5a013e5bb7b MesaLib-6.3.tar.gz
60e1a8f78c4a8c7750a1e95753190986 MesaLib-6.3.tar.bz2
ca7c950fbace68c70caa822322db7223 MesaLib-6.3.zip
25ea801645b376c014051804fe4974b2 MesaDemos-6.3.tar.gz
9248e74872ea88c57ec25c900c295057 MesaDemos-6.3.tar.bz2
8537dfa734ef258dcc7272097558d434 MesaDemos-6.3.zip
</pre>
<h2>December 9, 2004</h2>
<p>
Mesa 6.2.1 has been released.
This is a stable release which just fixes bugs since the 6.2 release.
</p>
<pre>
Bug fixes:
- don't apply regular fog or color sum when using a fragment program
- glProgramEnvParameter4fARB always generated an error on
GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
- fixed width/height mix-up in glSeparableFilter2D()
- fixed regression in glCopyPixels + convolution
- glReadPixels from a clipped front color buffer didn't always work
- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- Attempting queries/accesses of VBO 0 weren't detected as errors
- paletted textures failed if the palette had fewer than 256 entries
Changes:
- fixed a bunch of compiler warnings found with gcc 3.4
- bug reports should to go bugzilla.freedesktop.org
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
80008a92f6e055d3bfdde2cf331ec3fa MesaLib-6.2.1.tar.gz
f43228cd2bf70f583ef3275c1c545421 MesaLib-6.2.1.tar.bz2
dec26cfd40116ad021020fea2d94f652 MesaLib-6.2.1.zip
2c7af3c986a7571c8713c8bfee7e49e3 MesaDemos-6.2.1.tar.gz
3cac74667b50bcbd4f67f594fb4224a2 MesaDemos-6.2.1.tar.bz2
75b3edd12eb2b370caf05f29b99e508a MesaDemos-6.2.1.zip
</pre>
<h2>October 2, 2004</h2>
<p>
Mesa 6.2 has been released.
This is a stable release which just fixes bugs since the 6.1 release.
</p>
<pre>
New:
- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
- updated Doxygen support (Jose Fonseca)
Changes:
- some GGI driver updates (Christoph Egger, bug 1025977)
Bug fixes:
- Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
- fixed a few compilation issues on IRIX
- fixed a matrix classification bug (reported by Wes Bethel)
- we weren't reseting the vertex/fragment program error state
before parsing (Dave Reveman)
- adjust texcoords for sampling texture rectangles (Dave Reveman)
- glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
- repeated calls to glDeleteTexture(t) could lead to a crash
- fixed potential ref count bugs in VBOs and vertex/fragment programs
- spriteblast demo didn't handle window size changes correctly
- glTexSubImage didn't handle pixels=NULL correctly for PBOs
- fixed color index mode glDrawPixels bug (Karl Schultz)
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
9e8f34b059272dbb8e1f2c968b33bbf0 MesaLib-6.2.tar.gz
3d6a6362390b6a37d3cb2e615f3ac7db MesaLib-6.2.tar.bz2
6cfd7895d28e695c0dbbed9469564091 MesaLib-6.2.zip
3e06e33b0809f09855cb60883b8bdfef MesaDemos-6.2.tar.gz
9d160009c3dfdb35fe7e4088c9ba8f85 MesaDemos-6.2.tar.bz2
856f7ec947122eb3c8985ebc2f654dcd MesaDemos-6.2.zip
</pre>
<h2>August 18, 2004</h2>
<p>
Mesa 6.1 has been released.
@@ -1131,6 +886,6 @@ source code</a>.</p>
<hr>
$Id: news.html,v 3.24.2.4 2005/11/30 01:15:50 brianp Exp $
$Id: news.html,v 3.14 2004/08/18 22:41:09 brianp Exp $
</body>
</html>
</html>

View File

@@ -2,9 +2,7 @@
<TITLE>Off-screen Rendering</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Off-screen Rendering</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>PBuffer Rendering</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>PBuffer Rendering</H1>
@@ -12,7 +10,6 @@
Basically, FBconfigs and PBuffers allow you to do off-screen rendering
with OpenGL. The OSMesa interface does basically the same thing, but
fbconfigs and pbuffers are supported by more vendors.
PBuffer rendering may also be hardware accelerated.
</p>
<p>

View File

@@ -2,9 +2,7 @@
<TITLE>Performance Tips</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Performance Tips</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>Precompiled libraries</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Precompiled Libraries</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>Mesa Release Notes</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Release Notes</H1>
@@ -13,11 +11,6 @@ The release notes summarize what's new or changed in each Mesa release.
</p>
<UL>
<LI><A HREF="RELNOTES-6.4.1">RELNOTES-6.4.1</A>
<LI><A HREF="RELNOTES-6.4">RELNOTES-6.4</A>
<LI><A HREF="RELNOTES-6.3.2">RELNOTES-6.3.2</A>
<LI><A HREF="RELNOTES-6.3">RELNOTES-6.3</A>
<LI><A HREF="RELNOTES-6.2.1">RELNOTES-6.2.1</A>
<LI><A HREF="RELNOTES-6.2">RELNOTES-6.2</A>
<LI><A HREF="RELNOTES-6.1">RELNOTES-6.1</A>
<LI><A HREF="RELNOTES-6.0">RELNOTES-6.0</A>

View File

@@ -2,9 +2,7 @@
<TITLE>Science and Technical</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Science and Technical</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>Source Code Documentation</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Source Code Documentation</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>Mesa Subset</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Mesa Subset</H1>

View File

@@ -2,9 +2,7 @@
<TITLE>Supported Systems and Drivers</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Supported Systems and Drivers</H1>
@@ -14,43 +12,98 @@ supported on those systems. All you need is an ANSI C compiler and the
X development environment to use Mesa.
</p>
<p>
The DRI hardware drivers for the X.org server and XFree86 provide
hardware accelerated rendering for chips from ATI, Intel, Matrox, 3dfx
and others on Linux and FreeBSD.
</p>
<p>
Drivers for other assorted platforms include:
the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows
<p>Others have contributed drivers
for the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows
9x/NT, and Direct3D.
</p>
<p>
Details about particular drivers follows.
Be warned that some drivers may be out of date and no longer function.
The following files describe the details for various platforms.
Be warned, some of these files (and drivers) may be very out of date.
</p>
<UL>
<LI>Xlib driver for the X Window System <A HREF="README.X11">(README.X11)</A>
<li><a href="http://dri.sourceforge.net/" target="_parent">
DRI hardware drivers</a> for the X window system
<LI>Microsoft Windows <A HREF="README.WIN32">(README.WIN32)</A>
<LI>DEC VMS <A HREF="README.VMS">(README.VMS)</A>
<LI>3dfx/Glide <A HREF="README.3DFX">(README.3DFX)</A>
<LI>GGI <A HREF="README.GGI">(README.GGI)</A>
<LI>Amiga Amiwin <A HREF="README.AMIWIN">(README.AMIWIN)</A>
<LI>BeOS <A HREF="README.BEOS">(README.BEOS)</A>
<LI>Direct3D driver <A HREF="README.D3D">(README.D3D)</A>
<LI>DJGPP <A HREF="README.DJ">(README.DJ)</A>
<LI>LynxOS <A HREF="README.LYNXOS">(README.LYNXOS)</A>
<LI>Mingw32 <A HREF="README.MINGW32">(README.MINGW32)</A>
<LI>NeXT <A HREF="README.NeXT">(README.NeXT)</A>
<LI>OpenStep <A HREF="README.OpenStep">(README.OpenStep)</A>
<LI>OS/2 <A HREF="README.OS2">(README.OS2)</A>
<LI>WindML <A HREF="README.WINDML">(README.WINDML)</A>
<LI><a href="http://utah-glx.sourceforge.net/" target="_parent">Utah GLX drivers</a>
<LI><A HREF="README.X11">README.X11</A> - X Window System / Unix / Linux
<LI><A HREF="README.WIN32">README.WIN32</A> - Microsoft Windows
<LI><A HREF="README.VMS">README.VMS</A> - DEC VMS
<LI><A HREF="README.GGI">README.GGI</A> - GGI
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
<LI><A HREF="README.BEOS">README.BEOS</A> - BeOS
<LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver
<LI><A HREF="README.DJ">README.DJ</A> - DJGPP
<LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS
<LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32
<LI><A HREF="README.NeXT">README.NeXT</A> - NeXT
<LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep
<LI><A HREF="README.OS2">README.OS2</A> - OS/2
<LI><A HREF="README.WINDML">README.WINDML</A> - WindML
</UL>
<p>
The standard Mesa distribution only supports software-based rendering, with
the exception of the 3Dfx Glide driver.
Information about other hardware support follows.
</p>
<ul>
<li>DRI-based hardware support for 3dfx, Intel, Matrox, ATI with XFree86
<blockquote>
<p>The <a href="http://dri.sourceforge.net/" target="_parent">DRI architecture</a>,
originally developed by Precision Insight, Inc. uses Mesa and
provides hardware acceleration for a number of popular chipsets.<br>
<br>
The DRI is part of XFree86 4.0 and later.
<br><br>
If you download and install XFree86 4.x you do not need to
install Mesa separately. All the important parts of Mesa
will be installed with the rest of XFree86.
</blockquote>
<li>3dfx Voodoo1, Voodoo2, Voodoo Rush, Voodoo Banshee, Voodoo3
<blockquote>
<p>All cards based on these chipsets should work with Linux and
Windows 95 via 3dfx's Glide library.
The Mesa/Glide driver is included with the Mesa distribution.
You'll need to install the Glide header files and runtime library.
</p>
<p>
David Bucciarelli wrote the original 3dfx driver for Mesa.<br>
Daryll Strauss ported Glide to Linux.
</p>
</blockquote>
<li>Matrox G200/G400, nVidia RIVA, ATI Rage Pro, Intel i810 on Linux
<blockquote>
<p>The <a href="http://utah-glx.sourceforge.net/" target="_parent">
Utah GLX project</a>
(no longer active) developed drivers for these chipsets and others.
</blockquote>
<li>Amiga Warp3D
<blockquote>
<p>Amiga systems can support 3D hardware with the Warp3D API.
See <a href="http://www.haage-partner.com/3dworld" target="_parent">here</a>.
</blockquote>
<li>Also see
<blockquote>
<p><a href="http://www.linux3d.org/" target="_parent">www.linux3d.org</a> for
other 3D hardware info for Linux.
</blockquote>
</ul>
<p>
<b><em>Note:</em></b>
If you have NVIDIA hardware in your computer,
you should download and install NVIDIA's OpenGL library. You may
however, want to download Mesa in order to use its GLU and GLUT
libraries, or assorted demo programs.</p>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More