Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
131baefac3 | ||
|
a450078b67 | ||
|
f6b041bf6c | ||
|
4f340d181a | ||
|
b58e38e936 | ||
|
8713cb48a8 | ||
|
277c5e57ed | ||
|
b3d62d5af5 | ||
|
9c0f0c8d81 | ||
|
18a0a2a7ac | ||
|
8b99d9e33c | ||
|
01e7e153e3 | ||
|
0ad4ca24d2 | ||
|
724a155552 | ||
|
d38b74a316 | ||
|
54cab4b47b | ||
|
c093666bc5 | ||
|
04972f6761 | ||
|
67f8234622 | ||
|
201d6dbd9c | ||
|
fbcac5aa83 | ||
|
2b72ab8f8f | ||
|
0ea97b9408 | ||
|
28683ac7c0 | ||
|
c72e3e210f |
4
.gitattributes
vendored
4
.gitattributes
vendored
@@ -1,4 +0,0 @@
|
||||
*.dsp -crlf
|
||||
*.dsw -crlf
|
||||
*.sln -crlf
|
||||
*.vcproj -crlf
|
7
.gitignore
vendored
7
.gitignore
vendored
@@ -2,15 +2,8 @@
|
||||
*.o
|
||||
*.so
|
||||
*.sw[a-z]
|
||||
*.pc
|
||||
*~
|
||||
depend
|
||||
depend.bak
|
||||
lib
|
||||
lib64
|
||||
configure
|
||||
autom4te.cache
|
||||
aclocal.m4
|
||||
config.log
|
||||
config.status
|
||||
cscope*
|
||||
|
115
Makefile
115
Makefile
@@ -14,25 +14,25 @@ default: $(TOP)/configs/current
|
||||
|
||||
|
||||
doxygen:
|
||||
cd doxygen && $(MAKE)
|
||||
(cd doxygen ; make) ; \
|
||||
|
||||
clean:
|
||||
-@touch $(TOP)/configs/current
|
||||
-@for dir in $(SUBDIRS) ; do \
|
||||
@for dir in $(SUBDIRS) ; do \
|
||||
if [ -d $$dir ] ; then \
|
||||
(cd $$dir && $(MAKE) clean) ; \
|
||||
fi \
|
||||
done
|
||||
-@test -s $(TOP)/configs/current || rm -f $(TOP)/configs/current
|
||||
|
||||
|
||||
realclean: clean
|
||||
realclean:
|
||||
touch $(TOP)/configs/current
|
||||
$(MAKE) clean
|
||||
-rm -rf lib*
|
||||
-rm -f $(TOP)/configs/current
|
||||
-rm -f $(TOP)/configs/autoconf
|
||||
-rm -rf autom4te.cache
|
||||
-find . '(' -name '*.o' -o -name '*.a' -o -name '*.so' -o \
|
||||
-name depend -o -name depend.bak ')' -exec rm -f '{}' ';'
|
||||
-rm -f `find . -name \*.o`
|
||||
-rm -f `find . -name \*.a`
|
||||
-rm -f `find . -name \*.so`
|
||||
-rm -f `find . -name depend`
|
||||
|
||||
|
||||
|
||||
@@ -48,20 +48,14 @@ install:
|
||||
linux-directfb-install:
|
||||
cd src/mesa/drivers/directfb && $(MAKE) install
|
||||
|
||||
.PHONY: default doxygen clean realclean install linux-directfb-install
|
||||
|
||||
# If there's no current configuration file
|
||||
$(TOP)/configs/current:
|
||||
@echo
|
||||
@echo
|
||||
@echo "Please choose a configuration from the following list:"
|
||||
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS\|autoconf.*"
|
||||
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS"
|
||||
@echo
|
||||
@echo "Then type 'make <config>' (ex: 'make linux-x86')"
|
||||
@echo
|
||||
@echo "Or, run './configure' then 'make'"
|
||||
@echo "See './configure --help' for details"
|
||||
@echo
|
||||
@echo "(ignore the following error message)"
|
||||
@exit 1
|
||||
|
||||
@@ -72,16 +66,11 @@ aix-64 \
|
||||
aix-64-static \
|
||||
aix-gcc \
|
||||
aix-static \
|
||||
autoconf \
|
||||
bluegene-osmesa \
|
||||
bluegene-xlc-osmesa \
|
||||
beos \
|
||||
catamount-osmesa-pgi \
|
||||
darwin \
|
||||
darwin-fat-32bit \
|
||||
darwin-fat-all \
|
||||
darwin-static \
|
||||
darwin-static-x86ppc \
|
||||
darwin-x86ppc \
|
||||
freebsd \
|
||||
freebsd-dri \
|
||||
freebsd-dri-amd64 \
|
||||
@@ -162,9 +151,8 @@ sunos5-v8 \
|
||||
sunos5-v8-static \
|
||||
sunos5-v9 \
|
||||
sunos5-v9-static \
|
||||
sunos5-v9-cc-g++ \
|
||||
ultrix-gcc:
|
||||
@ if test -f configs/current || test -L configs/current ; then \
|
||||
@ if [ -e configs/current ] ; then \
|
||||
echo "Please run 'make realclean' before changing configs" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@@ -174,25 +162,17 @@ ultrix-gcc:
|
||||
|
||||
# Rules for making release tarballs
|
||||
|
||||
DIRECTORY = Mesa-7.2
|
||||
LIB_NAME = MesaLib-7.2
|
||||
DEMO_NAME = MesaDemos-7.2
|
||||
GLUT_NAME = MesaGLUT-7.2
|
||||
DIRECTORY = Mesa-7.0
|
||||
LIB_NAME = MesaLib-7.0
|
||||
DEMO_NAME = MesaDemos-7.0
|
||||
GLUT_NAME = MesaGLUT-7.0
|
||||
|
||||
MAIN_FILES = \
|
||||
$(DIRECTORY)/Makefile* \
|
||||
$(DIRECTORY)/configure \
|
||||
$(DIRECTORY)/configure.ac \
|
||||
$(DIRECTORY)/acinclude.m4 \
|
||||
$(DIRECTORY)/aclocal.m4 \
|
||||
$(DIRECTORY)/descrip.mms \
|
||||
$(DIRECTORY)/mms-config. \
|
||||
$(DIRECTORY)/bin/config.guess \
|
||||
$(DIRECTORY)/bin/config.sub \
|
||||
$(DIRECTORY)/bin/install-sh \
|
||||
$(DIRECTORY)/bin/mklib \
|
||||
$(DIRECTORY)/bin/minstall \
|
||||
$(DIRECTORY)/bin/version.mk \
|
||||
$(DIRECTORY)/configs/[a-z]* \
|
||||
$(DIRECTORY)/docs/*.html \
|
||||
$(DIRECTORY)/docs/COPYING \
|
||||
@@ -229,44 +209,51 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/src/mesa/Makefile* \
|
||||
$(DIRECTORY)/src/mesa/sources \
|
||||
$(DIRECTORY)/src/mesa/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/gl.pc.in \
|
||||
$(DIRECTORY)/src/mesa/depend \
|
||||
$(DIRECTORY)/src/mesa/main/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/main/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/main/sources \
|
||||
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/glapi/sources \
|
||||
$(DIRECTORY)/src/mesa/math/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/math/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/math/sources \
|
||||
$(DIRECTORY)/src/mesa/shader/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/shader/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/shader/sources \
|
||||
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/shader/grammar/sources \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/sources \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.gc \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.syn \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/Makefile \
|
||||
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/swrast/sources \
|
||||
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/swrast_setup/sources \
|
||||
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/vbo/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/tnl/sources \
|
||||
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \
|
||||
$(DIRECTORY)/src/mesa/drivers/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/beos/*.cpp \
|
||||
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/common/sources \
|
||||
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
|
||||
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
|
||||
@@ -276,7 +263,6 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/display/*.c \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
|
||||
@@ -284,8 +270,8 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/sources \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
|
||||
@@ -302,6 +288,17 @@ MAIN_FILES = \
|
||||
$(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 \
|
||||
$(DIRECTORY)/windows/VC8/mesa/mesa.sln \
|
||||
$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj \
|
||||
$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj \
|
||||
@@ -314,14 +311,12 @@ MAIN_FILES = \
|
||||
|
||||
DRI_FILES = \
|
||||
$(DIRECTORY)/include/GL/internal/dri_interface.h \
|
||||
$(DIRECTORY)/include/GL/internal/dri_sarea.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/dri.pc.in \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \
|
||||
@@ -332,16 +327,12 @@ DRI_FILES = \
|
||||
SGI_GLU_FILES = \
|
||||
$(DIRECTORY)/src/glu/Makefile \
|
||||
$(DIRECTORY)/src/glu/descrip.mms \
|
||||
$(DIRECTORY)/src/glu/glu.pc.in \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.mgw \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.win \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
|
||||
$(DIRECTORY)/src/glu/sgi/glu.def \
|
||||
$(DIRECTORY)/src/glu/sgi/dummy.cc \
|
||||
$(DIRECTORY)/src/glu/sgi/descrip.mms \
|
||||
$(DIRECTORY)/src/glu/sgi/glu.exports \
|
||||
$(DIRECTORY)/src/glu/sgi/glu.exports.darwin \
|
||||
$(DIRECTORY)/src/glu/sgi/mesaglu.opt \
|
||||
$(DIRECTORY)/src/glu/sgi/include/gluos.h \
|
||||
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h \
|
||||
@@ -368,7 +359,6 @@ GLW_FILES = \
|
||||
$(DIRECTORY)/src/glw/*.[ch] \
|
||||
$(DIRECTORY)/src/glw/Makefile* \
|
||||
$(DIRECTORY)/src/glw/README \
|
||||
$(DIRECTORY)/src/glw/glw.pc.in \
|
||||
$(DIRECTORY)/src/glw/depend
|
||||
|
||||
DEMO_FILES = \
|
||||
@@ -382,8 +372,6 @@ DEMO_FILES = \
|
||||
$(DIRECTORY)/progs/demos/*.cxx \
|
||||
$(DIRECTORY)/progs/demos/*.dat \
|
||||
$(DIRECTORY)/progs/demos/README \
|
||||
$(DIRECTORY)/progs/fbdev/Makefile \
|
||||
$(DIRECTORY)/progs/fbdev/glfbdevtest.c \
|
||||
$(DIRECTORY)/progs/osdemos/Makefile \
|
||||
$(DIRECTORY)/progs/osdemos/*.c \
|
||||
$(DIRECTORY)/progs/xdemos/Makefile* \
|
||||
@@ -397,8 +385,7 @@ DEMO_FILES = \
|
||||
$(DIRECTORY)/progs/samples/*.c \
|
||||
$(DIRECTORY)/progs/glsl/Makefile* \
|
||||
$(DIRECTORY)/progs/glsl/*.c \
|
||||
$(DIRECTORY)/progs/glsl/*.frag \
|
||||
$(DIRECTORY)/progs/glsl/*.vert \
|
||||
$(DIRECTORY)/progs/glsl/*.txt \
|
||||
$(DIRECTORY)/progs/windml/Makefile.ugl \
|
||||
$(DIRECTORY)/progs/windml/*.c \
|
||||
$(DIRECTORY)/progs/windml/*.bmp \
|
||||
@@ -413,7 +400,6 @@ GLUT_FILES = \
|
||||
$(DIRECTORY)/include/GL/glutf90.h \
|
||||
$(DIRECTORY)/src/glut/glx/Makefile* \
|
||||
$(DIRECTORY)/src/glut/glx/depend \
|
||||
$(DIRECTORY)/src/glut/glx/glut.pc.in \
|
||||
$(DIRECTORY)/src/glut/glx/*def \
|
||||
$(DIRECTORY)/src/glut/glx/descrip.mms \
|
||||
$(DIRECTORY)/src/glut/glx/mms_depend \
|
||||
@@ -429,10 +415,6 @@ GLUT_FILES = \
|
||||
$(DIRECTORY)/src/glut/fbdev/Makefile \
|
||||
$(DIRECTORY)/src/glut/fbdev/*[ch] \
|
||||
$(DIRECTORY)/src/glut/mini/*[ch] \
|
||||
$(DIRECTORY)/src/glut/mini/glut.pc.in \
|
||||
$(DIRECTORY)/src/glut/directfb/Makefile \
|
||||
$(DIRECTORY)/src/glut/directfb/NOTES \
|
||||
$(DIRECTORY)/src/glut/directfb/*[ch] \
|
||||
$(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \
|
||||
$(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
|
||||
|
||||
@@ -448,20 +430,9 @@ LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES)
|
||||
|
||||
|
||||
# Everything for new a Mesa release:
|
||||
tarballs: rm_depend configure aclocal.m4 lib_gz demo_gz glut_gz \
|
||||
lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
|
||||
tarballs: rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
|
||||
|
||||
|
||||
# Helper for autoconf builds
|
||||
ACLOCAL = aclocal
|
||||
ACLOCAL_FLAGS =
|
||||
AUTOCONF = autoconf
|
||||
AC_FLAGS =
|
||||
aclocal.m4: configure.ac acinclude.m4
|
||||
$(ACLOCAL) $(ACLOCAL_FLAGS)
|
||||
configure: configure.ac aclocal.m4 acinclude.m4
|
||||
$(AUTOCONF) $(AC_FLAGS)
|
||||
|
||||
rm_depend:
|
||||
@for dep in $(DEPEND_FILES) ; do \
|
||||
rm -f $$dep ; \
|
||||
@@ -470,7 +441,6 @@ rm_depend:
|
||||
|
||||
lib_gz:
|
||||
rm -f configs/current ; \
|
||||
rm -f configs/autoconf ; \
|
||||
cd .. ; \
|
||||
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
|
||||
gzip $(LIB_NAME).tar ; \
|
||||
@@ -490,7 +460,6 @@ glut_gz:
|
||||
|
||||
lib_bz2:
|
||||
rm -f configs/current ; \
|
||||
rm -f configs/autoconf ; \
|
||||
cd .. ; \
|
||||
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
|
||||
bzip2 $(LIB_NAME).tar ; \
|
||||
@@ -510,7 +479,6 @@ glut_bz2:
|
||||
|
||||
lib_zip:
|
||||
rm -f configs/current ; \
|
||||
rm -f configs/autoconf ; \
|
||||
rm -f $(LIB_NAME).zip ; \
|
||||
cd .. ; \
|
||||
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
|
||||
@@ -538,6 +506,3 @@ md5:
|
||||
@-md5sum $(GLUT_NAME).tar.gz
|
||||
@-md5sum $(GLUT_NAME).tar.bz2
|
||||
@-md5sum $(GLUT_NAME).zip
|
||||
|
||||
.PHONY: tarballs rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 \
|
||||
glut_bz2 lib_zip demo_zip glut_zip md5
|
||||
|
28
Makefile.mgw
28
Makefile.mgw
@@ -51,59 +51,37 @@
|
||||
# realclean: remove all generated files
|
||||
#
|
||||
|
||||
# MinGW core makefile updated for Mesa 7.0
|
||||
#
|
||||
# Updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) MAlthough more tests are needed, it can be used individually!
|
||||
|
||||
|
||||
.PHONY : all libgl clean realclean
|
||||
|
||||
ifeq ($(ICD),1)
|
||||
# when -std=c99 mingw will not define WIN32
|
||||
CFLAGS = -Wall -Werror
|
||||
CFLAGS = -Wall -W -Werror
|
||||
else
|
||||
# I love c89
|
||||
CFLAGS = -Wall -pedantic
|
||||
CFLAGS = -Wall -W -pedantic
|
||||
endif
|
||||
CFLAGS += -O2 -ffast-math
|
||||
|
||||
export CFLAGS
|
||||
|
||||
|
||||
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||
UNLINK = del $(subst /,\,$(1))
|
||||
else
|
||||
UNLINK = $(RM) $(1)
|
||||
endif
|
||||
|
||||
all: libgl libglu libglut example
|
||||
all: libgl
|
||||
|
||||
libgl: lib
|
||||
$(MAKE) -f Makefile.mgw -C src/mesa
|
||||
|
||||
libglu: libgl
|
||||
$(MAKE) -f Makefile.mgw -C src/glu/sgi
|
||||
|
||||
libglut: libglu
|
||||
$(MAKE) -f Makefile.mgw -C src/glut/glx
|
||||
|
||||
example: libglut
|
||||
$(MAKE) -f Makefile.mgw star -C progs/samples
|
||||
copy progs\samples\star.exe lib
|
||||
|
||||
lib:
|
||||
mkdir lib
|
||||
|
||||
clean:
|
||||
$(MAKE) -f Makefile.mgw clean -C src/mesa
|
||||
$(MAKE) -f Makefile.mgw clean -C src/glu/sgi
|
||||
$(MAKE) -f Makefile.mgw clean -C src/glut/glx
|
||||
|
||||
realclean: clean
|
||||
-$(call UNLINK,lib/*.a)
|
||||
|
119
acinclude.m4
119
acinclude.m4
@@ -1,119 +0,0 @@
|
||||
# A few convenience macros for Mesa, mostly to keep all the platform
|
||||
# specifics out of configure.ac.
|
||||
|
||||
# MESA_PIC_FLAGS()
|
||||
#
|
||||
# Find out whether to build PIC code using the option --enable-pic and
|
||||
# the configure enable_static/enable_shared settings. If PIC is needed,
|
||||
# figure out the necessary flags for the platform and compiler.
|
||||
#
|
||||
# The platform checks have been shamelessly taken from libtool and
|
||||
# stripped down to just what's needed for Mesa. See _LT_COMPILER_PIC in
|
||||
# /usr/share/aclocal/libtool.m4 or
|
||||
# http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=blob;f=libltdl/m4/libtool.m4;hb=HEAD
|
||||
#
|
||||
AC_DEFUN([MESA_PIC_FLAGS],
|
||||
[AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_ARG_VAR([PIC_FLAGS], [compiler flags for PIC code])
|
||||
AC_ARG_ENABLE([pic],
|
||||
[AS_HELP_STRING([--disable-pic],
|
||||
[compile PIC objects @<:@default=enabled for shared builds
|
||||
on supported platforms@:>@])],
|
||||
[enable_pic="$enableval"
|
||||
test "x$enable_pic" = x && enable_pic=auto],
|
||||
[enable_pic=auto])
|
||||
# disable PIC by default for static builds
|
||||
if test "$enable_pic" = auto && test "$enable_static" = yes; then
|
||||
enable_pic=no
|
||||
fi
|
||||
# if PIC hasn't been explicitly disabled, try to figure out the flags
|
||||
if test "$enable_pic" != no; then
|
||||
AC_MSG_CHECKING([for $CC option to produce PIC])
|
||||
# allow the user's flags to override
|
||||
if test "x$PIC_FLAGS" = x; then
|
||||
# see if we're using GCC
|
||||
if test "x$GCC" = xyes; then
|
||||
case "$host_os" in
|
||||
aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*)
|
||||
# PIC is the default for these OSes.
|
||||
;;
|
||||
mingw*|os2*|pw32*)
|
||||
# This hack is so that the source file can tell whether
|
||||
# it is being built for inclusion in a dll (and should
|
||||
# export symbols for example).
|
||||
PIC_FLAGS="-DDLL_EXPORT"
|
||||
;;
|
||||
darwin*|rhapsody*)
|
||||
# PIC is the default on this platform
|
||||
# Common symbols not allowed in MH_DYLIB files
|
||||
PIC_FLAGS="-fno-common"
|
||||
;;
|
||||
hpux*)
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX,
|
||||
# but not for PA HP-UX.
|
||||
case $host_cpu in
|
||||
hppa*64*|ia64*)
|
||||
;;
|
||||
*)
|
||||
PIC_FLAGS="-fPIC"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Everyone else on GCC uses -fPIC
|
||||
PIC_FLAGS="-fPIC"
|
||||
;;
|
||||
esac
|
||||
else # !GCC
|
||||
case "$host_os" in
|
||||
hpux9*|hpux10*|hpux11*)
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX,
|
||||
# but not for PA HP-UX.
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
# +Z the default
|
||||
;;
|
||||
*)
|
||||
PIC_FLAGS="+Z"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
linux*|k*bsd*-gnu)
|
||||
case `basename "$CC"` in
|
||||
icc*|ecc*|ifort*)
|
||||
PIC_FLAGS="-KPIC"
|
||||
;;
|
||||
pgcc*|pgf77*|pgf90*|pgf95*)
|
||||
# Portland Group compilers (*not* the Pentium gcc
|
||||
# compiler, which looks to be a dead project)
|
||||
PIC_FLAGS="-fpic"
|
||||
;;
|
||||
ccc*)
|
||||
# All Alpha code is PIC.
|
||||
;;
|
||||
xl*)
|
||||
# IBM XL C 8.0/Fortran 10.1 on PPC
|
||||
PIC_FLAGS="-qpic"
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
*Sun\ C*|*Sun\ F*)
|
||||
# Sun C 5.9 or Sun Fortran
|
||||
PIC_FLAGS="-KPIC"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
solaris*)
|
||||
PIC_FLAGS="-KPIC"
|
||||
;;
|
||||
sunos4*)
|
||||
PIC_FLAGS="-PIC"
|
||||
;;
|
||||
esac
|
||||
fi # GCC
|
||||
fi # PIC_FLAGS
|
||||
AC_MSG_RESULT([$PIC_FLAGS])
|
||||
fi
|
||||
AC_SUBST([PIC_FLAGS])
|
||||
])# MESA_PIC_FLAGS
|
16
autogen.sh
16
autogen.sh
@@ -1,16 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
srcdir=`dirname "$0"`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
SRCDIR=`(cd "$srcdir" && pwd)`
|
||||
ORIGDIR=`pwd`
|
||||
|
||||
if test "x$SRCDIR" != "x$ORIGDIR"; then
|
||||
echo "Mesa cannot be built when srcdir != builddir" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
autoreconf -v --install || exit 1
|
||||
|
||||
"$srcdir"/configure "$@"
|
@@ -1,48 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Usage: $0 <target1> <target2>"
|
||||
echo "Highlight differences between Mesa configs"
|
||||
echo "Example:"
|
||||
echo " $0 linux linux-x86"
|
||||
}
|
||||
|
||||
die()
|
||||
{
|
||||
echo "$@" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
-h|--help) usage; exit 0;;
|
||||
esac
|
||||
|
||||
[ $# -lt 2 ] && die 2 targets needed. See $0 --help
|
||||
target1=$1
|
||||
target2=$2
|
||||
|
||||
topdir=$(cd "`dirname $0`"/..; pwd)
|
||||
cd "$topdir"
|
||||
|
||||
[ -f "./configs/$target1" ] || die Missing configs/$target1
|
||||
[ -f "./configs/$target2" ] || die Missing configs/$target2
|
||||
|
||||
trap 'rm -f "$t1" "$t2"' 0
|
||||
|
||||
t1=$(mktemp)
|
||||
t2=$(mktemp)
|
||||
|
||||
make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t1
|
||||
TOP = .
|
||||
include \$(TOP)/configs/$target1
|
||||
default:
|
||||
EOF
|
||||
|
||||
make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t2
|
||||
TOP = .
|
||||
include \$(TOP)/configs/$target2
|
||||
default:
|
||||
EOF
|
||||
|
||||
diff -pu -I'^#' $t1 $t2
|
1516
bin/config.guess
vendored
1516
bin/config.guess
vendored
File diff suppressed because it is too large
Load Diff
1626
bin/config.sub
vendored
1626
bin/config.sub
vendored
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
minstall
|
@@ -42,8 +42,6 @@ if [ $# -ge 2 ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PWDSAVE=`pwd`
|
||||
|
||||
# determine file's type
|
||||
if [ -h "$FILE" ] ; then
|
||||
#echo $FILE is a symlink
|
||||
@@ -59,6 +57,7 @@ if [ $# -ge 2 ] ; then
|
||||
|
||||
FILE=`basename "$FILE"`
|
||||
# Go to $DEST and make the link
|
||||
PWDSAVE="$PWD"
|
||||
cd "$DEST" # pushd
|
||||
$RM "$FILE"
|
||||
$SYMLINK "$TARGET" "$FILE"
|
||||
|
171
bin/mklib
171
bin/mklib
@@ -34,7 +34,6 @@ MINOR=0
|
||||
PATCH=""
|
||||
DEPS=""
|
||||
LINK=""
|
||||
LDFLAGS=""
|
||||
CPLUSPLUS=0
|
||||
STATIC=0
|
||||
DLOPEN=0
|
||||
@@ -43,7 +42,7 @@ ARCH="auto"
|
||||
ARCHOPT=""
|
||||
NOPREFIX=0
|
||||
EXPORTS=""
|
||||
ID=""
|
||||
|
||||
|
||||
#
|
||||
# Parse arguments
|
||||
@@ -61,21 +60,17 @@ do
|
||||
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 at build time'
|
||||
echo ' -RDIR search in DIR for library dependencies at run time'
|
||||
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 ' -ldflags OPT specify any additional linker flags in OPT'
|
||||
echo ' -cplusplus link with C++ runtime'
|
||||
echo ' -static make a static library (default is dynamic/shared)'
|
||||
echo ' -dlopen make a shared library suitable for dynamic loading'
|
||||
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 ' -altopts OPTS alternate options to override all others'
|
||||
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
|
||||
echo ' -exports FILE only export the symbols listed in FILE'
|
||||
echo ' -id NAME Sets the id of the dylib (Darwin)'
|
||||
echo ' -h, --help display this information and exit'
|
||||
exit 1
|
||||
;;
|
||||
@@ -99,27 +94,18 @@ do
|
||||
shift 1;
|
||||
LINK=$1
|
||||
;;
|
||||
'-ldflags')
|
||||
shift 1;
|
||||
LDFLAGS=$1
|
||||
;;
|
||||
-l*)
|
||||
DEPS="$DEPS $1"
|
||||
;;
|
||||
-L*)
|
||||
DEPS="$DEPS $1"
|
||||
;;
|
||||
-R*)
|
||||
DEPS="$DEPS $1"
|
||||
;;
|
||||
-Wl*)
|
||||
DEPS="$DEPS $1"
|
||||
;;
|
||||
-pthread)
|
||||
# this is a special case (see bugzilla 10876)
|
||||
DEPS="$DEPS $1"
|
||||
;;
|
||||
'-pthread')
|
||||
# for FreeBSD
|
||||
DEPS="$DEPS -pthread"
|
||||
;;
|
||||
'-cplusplus')
|
||||
@@ -143,10 +129,6 @@ do
|
||||
shift 1;
|
||||
ARCHOPT=$1
|
||||
;;
|
||||
'-altopts')
|
||||
shift 1;
|
||||
ALTOPTS=$1
|
||||
;;
|
||||
'-noprefix')
|
||||
NOPREFIX=1
|
||||
;;
|
||||
@@ -154,10 +136,6 @@ do
|
||||
shift 1;
|
||||
EXPORTS=$1
|
||||
;;
|
||||
'-id')
|
||||
shift 1;
|
||||
ID=$1
|
||||
;;
|
||||
-*)
|
||||
echo "mklib: Unknown option: " $1 ;
|
||||
exit 1
|
||||
@@ -201,7 +179,6 @@ if [ ] ; then
|
||||
echo PATCH is $PATCH
|
||||
echo DEPS are $DEPS
|
||||
echo "EXPORTS in" $EXPORTS
|
||||
echo ID is $ID
|
||||
echo "-----------------"
|
||||
fi
|
||||
|
||||
@@ -211,7 +188,7 @@ fi
|
||||
#
|
||||
case $ARCH in
|
||||
|
||||
'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/*)
|
||||
'Linux' | 'OpenBSD' | 'GNU' | GNU/*)
|
||||
# we assume gcc
|
||||
|
||||
if [ "x$LINK" = "x" ] ; then
|
||||
@@ -226,13 +203,8 @@ case $ARCH in
|
||||
if [ $NOPREFIX = 1 ] ; then
|
||||
# No "lib" or ".so" part
|
||||
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}
|
||||
case $ARCH in 'Linux' | 'GNU' | GNU/*)
|
||||
OPTS="-Xlinker -Bsymbolic -shared"
|
||||
;;
|
||||
*)
|
||||
OPTS="-shared"
|
||||
;;
|
||||
esac
|
||||
#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.
|
||||
@@ -242,13 +214,9 @@ case $ARCH in
|
||||
OPTS="-m32 ${OPTS}"
|
||||
fi
|
||||
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
rm -f ${LIBNAME}
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
# finish up
|
||||
FINAL_LIBS="${LIBNAME}"
|
||||
elif [ $STATIC = 1 ] ; then
|
||||
@@ -256,9 +224,6 @@ case $ARCH in
|
||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
|
||||
LINK="ar"
|
||||
OPTS="-ru"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
rm -f ${LIBNAME}
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
||||
@@ -277,7 +242,7 @@ case $ARCH in
|
||||
if [ $EXPORTS ] ; then
|
||||
#OPTS="${OPTS} -Xlinker --retain-symbols-file ${EXPORTS}"
|
||||
# Make the 'exptmp' file for --version-script option
|
||||
echo "{" > exptmp
|
||||
echo "VERSION_${MAJOR}.${MINOR} {" > exptmp
|
||||
echo "global:" >> exptmp
|
||||
sed 's/$/;/' ${EXPORTS} >> exptmp
|
||||
echo "local:" >> exptmp
|
||||
@@ -294,9 +259,6 @@ case $ARCH in
|
||||
if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
|
||||
OPTS="-m32 ${OPTS}"
|
||||
fi
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
if [ x${PATCH} = "x" ] ; then
|
||||
VERSION="${MAJOR}.${MINOR}"
|
||||
@@ -312,7 +274,7 @@ case $ARCH in
|
||||
rm -f ${LIBNAME}.so
|
||||
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
||||
# make usual symlinks
|
||||
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
||||
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
||||
@@ -346,7 +308,7 @@ case $ARCH in
|
||||
# use g++
|
||||
LINK="g++"
|
||||
else
|
||||
echo "mklib: warning: can't find C++ compiler, trying CC."
|
||||
echo "mklib: warning: can't find C++ comiler, trying CC."
|
||||
LINK="CC"
|
||||
fi
|
||||
else
|
||||
@@ -375,23 +337,19 @@ case $ARCH in
|
||||
# Check if objects are SPARC v9
|
||||
# file says: ELF 64-bit MSB relocatable SPARCV9 Version 1
|
||||
set ${OBJECTS}
|
||||
if [ ${LINK} = "cc" -o ${LINK} = "CC" ] ; then
|
||||
SPARCV9=`file $1 | grep SPARCV9`
|
||||
if [ "${SPARCV9}" ] ; then
|
||||
OPTS="${OPTS} -xarch=v9"
|
||||
fi
|
||||
SPARCV9=`file $1 | grep SPARCV9`
|
||||
if [ "${SPARCV9}" ] ; then
|
||||
OPTS="${OPTS} -xarch=v9"
|
||||
fi
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
# for debug:
|
||||
#echo "mklib: linker is" ${LINK} ${OPTS}
|
||||
if [ $NOPREFIX = 1 ] ; then
|
||||
rm -f ${LIBNAME}
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
else
|
||||
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.${MAJOR} -h ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
|
||||
ln -s ${LIBNAME}.${MAJOR} ${LIBNAME}
|
||||
fi
|
||||
FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}"
|
||||
@@ -414,11 +372,8 @@ case $ARCH in
|
||||
# No "lib" or ".so" part
|
||||
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
|
||||
OPTS="-shared"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
rm -f ${LIBNAME}
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
elif [ $STATIC = 1 ] ; then
|
||||
STLIB="lib${LIBNAME}.a"
|
||||
@@ -430,12 +385,9 @@ case $ARCH in
|
||||
else
|
||||
SHLIB="lib${LIBNAME}.so.${MAJOR}"
|
||||
OPTS="-shared -Wl,-soname,${SHLIB}"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
|
||||
rm -f ${SHLIB}
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${SHLIB} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${SHLIB} ${OBJECTS} ${DEPS}
|
||||
ln -sf ${SHLIB} "lib${LIBNAME}.so"
|
||||
FINAL_LIBS="${SHLIB} lib${LIBNAME}.so"
|
||||
fi
|
||||
@@ -486,10 +438,6 @@ case $ARCH in
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
if [ $CPLUSPLUS = 1 ] ; then
|
||||
LINK="CC"
|
||||
else
|
||||
@@ -497,7 +445,7 @@ case $ARCH in
|
||||
fi
|
||||
|
||||
echo "mklib: Making IRIX " ${ABI} " shared library: " ${LIBNAME}
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
fi
|
||||
;;
|
||||
@@ -570,16 +518,12 @@ case $ARCH in
|
||||
}
|
||||
}' | sort -u >> ${EXPFILE}
|
||||
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
# On AIX a shared library is linked differently when
|
||||
# you want to dlopen the file
|
||||
if [ $DLOPEN = "1" ] ; then
|
||||
cc -G ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
cc -G ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
else
|
||||
cc ${OPTS} ${LDFLAGS} -o ${OFILE} ${OBJECTS} ${DEPS}
|
||||
cc ${OPTS} -o ${OFILE} ${OBJECTS} ${DEPS}
|
||||
ar ${X64} -r ${LIBNAME} ${OFILE}
|
||||
fi
|
||||
|
||||
@@ -625,9 +569,6 @@ case $ARCH in
|
||||
echo "mklib: Making Darwin static library: " ${LIBNAME}
|
||||
LINK="ar"
|
||||
OPTS="-ruvs"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
@@ -636,46 +577,22 @@ case $ARCH in
|
||||
LIBSUFFIX="bundle"
|
||||
OPTS="${ARCHOPT} -bundle -multiply_defined suppress"
|
||||
else
|
||||
LIBSUFFIX="dylib"
|
||||
if [ -z "$ID" ] ; then
|
||||
ID="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
fi
|
||||
OPTS="${ARCHOPT} -dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0 -install_name ${ID}"
|
||||
LIBSUFFIX="dylib"
|
||||
OPTS="${ARCHOPT} -dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0 -install_name lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
fi
|
||||
|
||||
if [ ${EXPORTS} ] ; then
|
||||
if [ -f ${EXPORTS}".darwin" ] ; then
|
||||
EXPORTS=$EXPORTS".darwin"
|
||||
fi
|
||||
OPTS="${OPTS} -exported_symbols_list ${EXPORTS}"
|
||||
fi
|
||||
|
||||
LINKNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
LINKNAME2="lib${LIBNAME}.${LIBSUFFIX}"
|
||||
LIBNAME="lib${LIBNAME}.${MAJOR}.${MINOR}.${LIBSUFFIX}"
|
||||
LINKNAME="lib${LIBNAME}.${LIBSUFFIX}"
|
||||
LIBNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
|
||||
# examine first object to determine ABI
|
||||
set ${OBJECTS}
|
||||
ABI_PPC=`file $1 | grep ' ppc'`
|
||||
ABI_I386=`file $1 | grep ' i386'`
|
||||
ABI_PPC64=`file $1 | grep ' ppc64'`
|
||||
ABI_X86_64=`file $1 | grep ' x86_64'`
|
||||
if [ "${ABI_PPC}" ] ; then
|
||||
OPTS="${OPTS} -arch ppc"
|
||||
fi
|
||||
if [ "${ABI_I386}" ] ; then
|
||||
OPTS="${OPTS} -arch i386"
|
||||
fi
|
||||
if [ "${ABI_PPC64}" ] ; then
|
||||
OPTS="${OPTS} -arch ppc64"
|
||||
fi
|
||||
if [ "${ABI_X86_64}" ] ; then
|
||||
OPTS="${OPTS} -arch x86_64"
|
||||
fi
|
||||
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
ABI_PPC=`file $1 | grep 'object ppc'`
|
||||
ABI_I386=`file $1 | grep 'object i386'`
|
||||
if [ "${ABI_PPC}" ] ; then
|
||||
OPTS="${OPTS} -arch ppc"
|
||||
fi
|
||||
if [ "${ABI_I386}" ] ; then
|
||||
OPTS="${OPTS} -arch i386"
|
||||
fi
|
||||
|
||||
# XXX can we always add -isysroot /Developer/SDKs/MacOSX10.4u.sdk
|
||||
# to OPTS here?
|
||||
@@ -688,11 +605,9 @@ case $ARCH in
|
||||
fi
|
||||
|
||||
echo "mklib: Making Darwin shared library: " ${LIBNAME}
|
||||
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
ln -s ${LIBNAME} ${LINKNAME}
|
||||
ln -s ${LIBNAME} ${LINKNAME2}
|
||||
FINAL_LIBS="${LIBNAME} ${LINKNAME} ${LINKNAME2}"
|
||||
FINAL_LIBS="${LIBNAME} ${LINKNAME}"
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -744,9 +659,6 @@ case $ARCH in
|
||||
echo "mklib: Making Intel ICC static library: " ${LIBNAME}.a
|
||||
LINK="ar"
|
||||
OPTS="-ruv"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
||||
# finish up
|
||||
@@ -757,9 +669,6 @@ case $ARCH in
|
||||
else
|
||||
OPTS="-shared"
|
||||
fi
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
||||
echo "mklib: Making Intel ICC shared library: " ${LIBNAME}.so.${VERSION}
|
||||
|
||||
@@ -773,7 +682,7 @@ case $ARCH in
|
||||
rm -f ${LIBNAME}.so.${MAJOR}
|
||||
rm -f ${LIBNAME}.so
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
||||
# make usual symlinks
|
||||
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
||||
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
||||
@@ -824,9 +733,6 @@ case $ARCH in
|
||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
|
||||
LINK="ar"
|
||||
OPTS="-ru"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
||||
ranlib ${LIBNAME}.a
|
||||
@@ -834,9 +740,6 @@ case $ARCH in
|
||||
FINAL_LIBS=${LIBNAME}.a
|
||||
else
|
||||
OPTS="-shared -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}-${MAJOR}.dll
|
||||
|
||||
if [ $CPLUSPLUS = 1 ] ; then
|
||||
@@ -851,7 +754,7 @@ case $ARCH in
|
||||
rm -f ${LIBNAME}.a
|
||||
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
|
||||
${LINK} ${OPTS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
|
||||
# make usual symlinks
|
||||
ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
|
||||
# finish up
|
||||
|
@@ -1,17 +0,0 @@
|
||||
#!/usr/bin/make -sf
|
||||
# Print the various Mesa version fields. This is mostly used to add the
|
||||
# version to configure.
|
||||
|
||||
# This reflects that this script is usually called from the toplevel
|
||||
TOP = .
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
version:
|
||||
@echo $(MESA_VERSION)
|
||||
major:
|
||||
@echo $(MESA_MAJOR)
|
||||
minor:
|
||||
@echo $(MESA_MINOR)
|
||||
tiny:
|
||||
@echo $(MESA_TINY)
|
1
configs/.gitignore
vendored
1
configs/.gitignore
vendored
@@ -1,2 +1 @@
|
||||
current
|
||||
autoconf
|
||||
|
@@ -11,10 +11,6 @@ CXX = g++
|
||||
CFLAGS = -O2 -DAIXV3
|
||||
CXXFLAGS = -O2 -DAIXV3
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
MKLIB_OPTIONS = -arch aix-gcc
|
||||
GL_LIB_DEPS = -lX11 -lXext -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
|
@@ -1,106 +0,0 @@
|
||||
# Autoconf configuration
|
||||
|
||||
# Pull in the defaults
|
||||
include $(TOP)/configs/default
|
||||
|
||||
# This is generated by configure
|
||||
CONFIG_NAME = autoconf
|
||||
|
||||
# Compiler and flags
|
||||
CC = @CC@
|
||||
CXX = @CXX@
|
||||
OPT_FLAGS = @OPT_FLAGS@
|
||||
ARCH_FLAGS = @ARCH_FLAGS@
|
||||
ASM_FLAGS = @ASM_FLAGS@
|
||||
PIC_FLAGS = @PIC_FLAGS@
|
||||
DEFINES = @DEFINES@
|
||||
CFLAGS = @CPPFLAGS@ @CFLAGS@ \
|
||||
$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
|
||||
CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \
|
||||
$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||
LDFLAGS = @LDFLAGS@
|
||||
EXTRA_LIB_PATH = @EXTRA_LIB_PATH@
|
||||
|
||||
# Assembler
|
||||
ASM_SOURCES = @ASM_SOURCES@
|
||||
ASM_API = @ASM_API@
|
||||
|
||||
# Misc tools and flags
|
||||
MAKE = @MAKE@
|
||||
SHELL = @SHELL@
|
||||
MKLIB_OPTIONS = @MKLIB_OPTIONS@
|
||||
MKDEP = @MKDEP@
|
||||
MKDEP_OPTIONS = @MKDEP_OPTIONS@
|
||||
|
||||
# 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
|
||||
GLUT_LIB = glut
|
||||
GLW_LIB = GLw
|
||||
OSMESA_LIB = @OSMESA_LIB@
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = @GL_LIB_NAME@
|
||||
GLU_LIB_NAME = @GLU_LIB_NAME@
|
||||
GLUT_LIB_NAME = @GLUT_LIB_NAME@
|
||||
GLW_LIB_NAME = @GLW_LIB_NAME@
|
||||
OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
|
||||
|
||||
# Directories to build
|
||||
LIB_DIR = @LIB_DIR@
|
||||
SRC_DIRS = @SRC_DIRS@
|
||||
GLU_DIRS = @GLU_DIRS@
|
||||
DRIVER_DIRS = @DRIVER_DIRS@
|
||||
# Which subdirs under $(TOP)/progs/ to enter:
|
||||
PROGRAM_DIRS = @PROGRAM_DIRS@
|
||||
|
||||
# Driver specific build vars
|
||||
DRI_DIRS = @DRI_DIRS@
|
||||
WINDOW_SYSTEM = @WINDOW_SYSTEM@
|
||||
USING_EGL = @USING_EGL@
|
||||
|
||||
# Dependencies
|
||||
X11_INCLUDES = @X11_INCLUDES@
|
||||
|
||||
# GLw motif setup
|
||||
GLW_SOURCES = @GLW_SOURCES@
|
||||
MOTIF_CFLAGS = @MOTIF_CFLAGS@
|
||||
|
||||
# Library/program dependencies
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) @GL_LIB_DEPS@
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
|
||||
$(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \
|
||||
$(EXTRA_LIB_PATH) @GLU_LIB_DEPS@
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \
|
||||
$(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
|
||||
$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
|
||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
|
||||
|
||||
# DRI dependencies
|
||||
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@
|
||||
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
|
||||
LIBDRM_LIB = @LIBDRM_LIBS@
|
||||
EXPAT_INCLUDES = @EXPAT_INCLUDES@
|
||||
|
||||
# Autoconf directories
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
libdir = @libdir@
|
||||
includedir = @includedir@
|
||||
|
||||
# Installation directories (for make install)
|
||||
INSTALL_DIR = $(prefix)
|
||||
INSTALL_LIB_DIR = $(libdir)
|
||||
INSTALL_INC_DIR = $(includedir)
|
||||
|
||||
# DRI installation directories
|
||||
DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@
|
||||
|
||||
# Where libGL will look for DRI hardware drivers
|
||||
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
|
@@ -39,10 +39,6 @@ ifeq ($(CPU), x86)
|
||||
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
LDFLAGS += -Xlinker
|
||||
|
||||
ifdef DEBUG
|
||||
|
@@ -1,33 +0,0 @@
|
||||
# Configuration for building only libOSMesa on BlueGene, no Xlib driver
|
||||
# This doesn't really have a lot of dependencies, so it should be usable
|
||||
# on other (gcc-based) systems too.
|
||||
# It uses static linking and disables multithreading.
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = bluegene-osmesa
|
||||
|
||||
# Compiler and flags
|
||||
CC = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc
|
||||
CXX = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++
|
||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURC
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = mesa glu
|
||||
DRIVER_DIRS = osmesa
|
||||
PROGRAM_DIRS = osdemos
|
||||
|
||||
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
@@ -1,29 +0,0 @@
|
||||
# Configuration for building only libOSMesa on BlueGene using the IBM xlc compiler
|
||||
# This doesn't really have a lot of dependencies, so it should be usable
|
||||
# on similar systems too.
|
||||
# It uses static linking and disables multithreading.
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = bluegene-osmesa
|
||||
|
||||
# Compiler and flags
|
||||
CC = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlc
|
||||
CXX = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlC
|
||||
CFLAGS = -O3 -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
CXXFLAGS = -O3 -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = mesa glu
|
||||
DRIVER_DIRS = osmesa
|
||||
PROGRAM_DIRS = osdemos
|
||||
|
||||
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
@@ -1,32 +0,0 @@
|
||||
# Configuration for building only libOSMesa on Cray Xt3
|
||||
# for the compute nodes running Catamount using the
|
||||
# Portland Group compiler. The Portland Group toolchain has to be
|
||||
# enabled before using "module switch PrgEnv-gnu PrgEnv-pgi" .
|
||||
# This doesn't really have a lot of dependencies, so it should be usable
|
||||
# on other similar systems too.
|
||||
# It uses static linking and disables multithreading.
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = catamount-osmesa-pgi
|
||||
|
||||
# Compiler and flags
|
||||
CC = cc
|
||||
CXX = CC
|
||||
CFLAGS = -target=catamount -fastsse -O3 -Mnontemporal -Mprefetch=distance:8,nta -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
CXXFLAGS = -target=catamount -fastsse -O3 -Mnontemporal -Mprefetch=distance:8,nta -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = mesa glu
|
||||
DRIVER_DIRS = osmesa
|
||||
PROGRAM_DIRS = osdemos
|
||||
|
||||
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
@@ -1,42 +0,0 @@
|
||||
# MinGW config include file updated for Mesa 7.0
|
||||
#
|
||||
# Updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) Although more tests are needed, it can be used individually!
|
||||
|
||||
# The generated DLLs by MingW with STDCALL are not totally compatible
|
||||
# with the ones linked by Microsoft's compilers.
|
||||
#
|
||||
# xxx_USING_STDCALL = 1 Compiling MESA with __stdcall. This is default!
|
||||
#
|
||||
# xxx_USING_STDCALL = 0 Compiling MESA without __stdcall. I like this:)
|
||||
#
|
||||
|
||||
# In fact, GL_USING_STDCALL and GLUT_USING_STDCALL can be
|
||||
# different. For example:
|
||||
#
|
||||
# GL_USING_STDCALL = 0
|
||||
# GLUT_USING_STDCALL = 1
|
||||
#
|
||||
# Suggested setting:
|
||||
#
|
||||
# ALL_USING_STDCALL = 1
|
||||
#
|
||||
# That's default!
|
||||
#
|
||||
|
||||
|
||||
ALL_USING_STDCALL = 1
|
||||
|
||||
|
||||
ifeq ($(ALL_USING_STDCALL),1)
|
||||
GL_USING_STDCALL = 1
|
||||
GLUT_USING_STDCALL = 1
|
||||
else
|
||||
GL_USING_STDCALL = 0
|
||||
GLUT_USING_STDCALL = 0
|
||||
endif
|
@@ -4,26 +4,11 @@ include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = darwin
|
||||
|
||||
INSTALL_DIR = /usr/X11
|
||||
|
||||
# Compiler and flags
|
||||
CC = gcc
|
||||
CXX = gcc
|
||||
PIC_FLAGS = -fPIC
|
||||
DEFINES = -D_DARWIN_C_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L \
|
||||
-D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS \
|
||||
-DGLX_INDIRECT_RENDERING \
|
||||
-DGLX_ALIAS_UNSUPPORTED
|
||||
|
||||
# -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx/x11
|
||||
# -DIN_DRI_DRIVER
|
||||
|
||||
ARCH_FLAGS += $(RC_CFLAGS)
|
||||
|
||||
CFLAGS = -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing \
|
||||
-I$(INSTALL_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
|
||||
CXXFLAGS = -g -O2 -Wall -fno-strict-aliasing \
|
||||
-I$(INSTALL_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
|
||||
CC = cc
|
||||
CXX = cc
|
||||
CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.dylib
|
||||
@@ -32,24 +17,13 @@ GLUT_LIB_NAME = libglut.dylib
|
||||
GLW_LIB_NAME = libGLw.dylib
|
||||
OSMESA_LIB_NAME = libOSMesa.dylib
|
||||
|
||||
# globs used to install the lib and all symlinks
|
||||
GL_LIB_GLOB = libGL.*dylib
|
||||
GLU_LIB_GLOB = libGLU.*dylib
|
||||
GLUT_LIB_GLOB = libglut.*dylib
|
||||
GLW_LIB_GLOB = libGLw.*dylib
|
||||
OSMESA_LIB_GLOB = libOSMesa.*dylib
|
||||
|
||||
GL_LIB_DEPS = -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXext -lm -lpthread
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXmu -lXi -lXext
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXt
|
||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
|
||||
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 = glx/x11 mesa glu glw glut/glx
|
||||
GLU_DIRS = sgi
|
||||
DRIVER_DIRS = osmesa
|
||||
#DRIVER_DIRS = dri
|
||||
DRI_DIRS = swrast
|
||||
PROGRAM_DIRS = xdemos
|
||||
SRC_DIRS = mesa glu glut/glx
|
||||
|
||||
|
@@ -1,7 +0,0 @@
|
||||
# Configuration for Darwin / MacOS X, making 32bit fat dynamic libs
|
||||
|
||||
RC_CFLAGS=-arch ppc -arch i386
|
||||
|
||||
include $(TOP)/configs/darwin
|
||||
|
||||
CONFIG_NAME = darwin-fat-32bit
|
@@ -1,7 +0,0 @@
|
||||
# Configuration for Darwin / MacOS X, making 32bit and 64bit fat dynamic libs
|
||||
|
||||
RC_CFLAGS=-arch ppc -arch i386 -arch ppc64 -arch x86_64
|
||||
|
||||
include $(TOP)/configs/darwin
|
||||
|
||||
CONFIG_NAME = darwin-fat-all
|
24
configs/darwin-static
Normal file
24
configs/darwin-static
Normal file
@@ -0,0 +1,24 @@
|
||||
# Configuration for Darwin / MacOS X, making static libs
|
||||
|
||||
include $(TOP)/configs/darwin
|
||||
|
||||
CONFIG_NAME = darwin-static
|
||||
|
||||
# Compiler and flags
|
||||
CFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
CXXFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
# 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 =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = -Wl,-search_paths_first -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lstdc++ -lgcc_s.1 -lm
|
26
configs/darwin-static-x86ppc
Normal file
26
configs/darwin-static-x86ppc
Normal file
@@ -0,0 +1,26 @@
|
||||
# Configuration for Darwin / MacOS X, making static libs
|
||||
|
||||
include $(TOP)/configs/darwin
|
||||
|
||||
CONFIG_NAME = darwin-static
|
||||
|
||||
# Compiler and flags
|
||||
CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
||||
-I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
||||
-I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
MKLIB_OPTIONS = -static -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
||||
|
||||
# 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 =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = -Wl,-search_paths_first -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lstdc++ -lgcc_s.1 -lm
|
33
configs/darwin-x86ppc
Normal file
33
configs/darwin-x86ppc
Normal file
@@ -0,0 +1,33 @@
|
||||
# Configuration for Darwin / MacOS X, making dynamic libs
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = darwin
|
||||
|
||||
# Compiler and flags
|
||||
CC = cc
|
||||
CXX = cc
|
||||
CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
||||
-I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
||||
-I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
|
||||
MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.dylib
|
||||
GLU_LIB_NAME = libGLU.dylib
|
||||
GLUT_LIB_NAME = libglut.dylib
|
||||
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$(TOP)/$(LIB_DIR) -lGL
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
|
||||
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
|
||||
|
@@ -9,9 +9,8 @@ CONFIG_NAME = default
|
||||
|
||||
# Version info
|
||||
MESA_MAJOR=7
|
||||
MESA_MINOR=2
|
||||
MESA_MINOR=1
|
||||
MESA_TINY=0
|
||||
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
|
||||
|
||||
# external projects. This should be useless now that we use libdrm.
|
||||
DRM_SOURCE_PATH=$(TOP)/../drm
|
||||
@@ -21,23 +20,18 @@ CC = cc
|
||||
CXX = CC
|
||||
CFLAGS = -O
|
||||
CXXFLAGS = -O
|
||||
LDFLAGS =
|
||||
GLU_CFLAGS =
|
||||
|
||||
# Misc tools and flags
|
||||
SHELL = /bin/sh
|
||||
MKLIB = $(SHELL) $(TOP)/bin/mklib
|
||||
MKLIB_OPTIONS =
|
||||
MKDEP = makedepend
|
||||
MKDEP_OPTIONS = -fdepend
|
||||
MAKE = make
|
||||
INSTALL = $(SHELL) $(TOP)/bin/minstall
|
||||
INSTALL = $(TOP)/bin/minstall
|
||||
|
||||
# Tools for regenerating glapi (generally only needed by the developers)
|
||||
# Python and flags (generally only needed by the developers)
|
||||
PYTHON2 = python
|
||||
PYTHON_FLAGS = -t -O -O
|
||||
INDENT = indent
|
||||
INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool
|
||||
|
||||
# Library names (base name)
|
||||
GL_LIB = GL
|
||||
@@ -54,12 +48,6 @@ GLUT_LIB_NAME = lib$(GLUT_LIB).so
|
||||
GLW_LIB_NAME = lib$(GLW_LIB).so
|
||||
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
|
||||
|
||||
# globs used to install the lib and all symlinks
|
||||
GL_LIB_GLOB = $(GL_LIB_NAME)*
|
||||
GLU_LIB_GLOB = $(GLU_LIB_NAME)*
|
||||
GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
|
||||
GLW_LIB_GLOB = $(GLW_LIB_NAME)*
|
||||
OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
|
||||
|
||||
# Optional assembly language optimization files for libGL
|
||||
ASM_SOURCES =
|
||||
@@ -67,7 +55,6 @@ ASM_SOURCES =
|
||||
# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
|
||||
# order to build the Motif widget too)
|
||||
GLW_SOURCES = GLwDrawA.c
|
||||
MOTIF_CFLAGS = -I/usr/include/Motif1.2
|
||||
|
||||
|
||||
# Directories to build
|
||||
@@ -79,23 +66,20 @@ DRIVER_DIRS = x11 osmesa
|
||||
PROGRAM_DIRS = demos redbook samples glsl xdemos
|
||||
|
||||
|
||||
# Library dependencies
|
||||
# Library/program dependencies
|
||||
#EXTRA_LIB_PATH ?=
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXi -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
||||
# Program dependencies - specific GL/glut libraries added in Makefiles
|
||||
APP_LIB_DEPS = -lm
|
||||
|
||||
|
||||
# Installation directories (for make install)
|
||||
INSTALL_DIR = /usr/local
|
||||
INSTALL_LIB_DIR = $(INSTALL_DIR)/$(LIB_DIR)
|
||||
INSTALL_INC_DIR = $(INSTALL_DIR)/include
|
||||
DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri
|
||||
DRI_DRIVER_INSTALL_DIR = /usr/X11R6/lib/modules/dri
|
||||
|
||||
# Where libGL will look for DRI hardware drivers
|
||||
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
|
||||
|
@@ -13,9 +13,9 @@ OPT_FLAGS = -O2
|
||||
PIC_FLAGS = -fPIC
|
||||
|
||||
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
|
||||
-DHZ=100
|
||||
-DHZ=100 -DHAVE_POSIX_MEMALIGN
|
||||
|
||||
X11_INCLUDES = -I/usr/local/include
|
||||
X11_INCLUDES = -I/usr/X11R6/include
|
||||
|
||||
CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ffast-math -pedantic
|
||||
|
||||
@@ -23,9 +23,5 @@ CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
EXTRA_LIB_PATH = -L/usr/local/lib
|
||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
|
||||
|
@@ -9,34 +9,30 @@ CONFIG_NAME = freebsd-dri
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
WARN_FLAGS = -Wall
|
||||
OPT_FLAGS = -O -g
|
||||
OPT_FLAGS = -O
|
||||
|
||||
EXPAT_INCLUDES = -I/usr/local/include
|
||||
X11_INCLUDES = -I/usr/local/include
|
||||
X11_INCLUDES = -I/usr/X11R6/include
|
||||
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
||||
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
|
||||
-DHAVE_ALIAS
|
||||
-DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
|
||||
|
||||
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
|
||||
$(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
|
||||
|
||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi -pedantic $(ASM_FLAGS) $(X11_INCLUDES)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
ASM_SOURCES =
|
||||
|
||||
# Library/program dependencies
|
||||
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||
DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = -L/usr/local/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
-lm -pthread $(LIBDRM_LIB)
|
||||
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGL -lXt -lX11
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lX11
|
||||
|
||||
|
||||
# Directories
|
||||
|
@@ -12,9 +12,5 @@ CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/incl
|
||||
CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||
|
||||
|
@@ -28,10 +28,6 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||
$(X11_INCLUDES)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
||||
|
@@ -11,10 +11,6 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
|
||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
||||
|
@@ -11,11 +11,7 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
|
||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static
|
||||
PIC_FLAGS =
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
|
@@ -13,10 +13,6 @@ CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D
|
||||
|
||||
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
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
|
||||
|
@@ -32,11 +32,6 @@ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
|
||||
|
||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
ASM_SOURCES =
|
||||
|
||||
@@ -47,7 +42,8 @@ LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
-lm -lpthread -ldl $(LIBDRM_LIB)
|
||||
-lm -lpthread -ldl \
|
||||
$(LIBDRM_LIB)
|
||||
|
||||
|
||||
# This is now 0 by default since it seems to confuse the hell out of people
|
||||
@@ -59,10 +55,10 @@ USING_EGL=0
|
||||
# Directories
|
||||
ifeq ($(USING_EGL), 1)
|
||||
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
|
||||
PROGRAM_DIRS = egl xdemos
|
||||
PROGRAM_DIRS = egl
|
||||
else
|
||||
SRC_DIRS = glx/x11 mesa glu glut/glx glw
|
||||
PROGRAM_DIRS = xdemos
|
||||
PROGRAM_DIRS =
|
||||
endif
|
||||
|
||||
DRIVER_DIRS = dri
|
||||
@@ -70,5 +66,5 @@ WINDOW_SYSTEM=dri
|
||||
|
||||
# gamma are missing because they have not been converted to use the new
|
||||
# interface.
|
||||
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
|
||||
DRI_DIRS = i810 i915tex i915 i965 mach64 mga r128 r200 r300 radeon s3v \
|
||||
savage sis tdfx trident unichrome ffb
|
||||
|
@@ -5,6 +5,9 @@ include $(TOP)/configs/linux-dri
|
||||
|
||||
CONFIG_NAME = linux-dri-x86
|
||||
|
||||
# Unnecessary on x86, generally.
|
||||
PIC_FLAGS =
|
||||
|
||||
# Add -m32 to CFLAGS:
|
||||
ARCH_FLAGS = -m32
|
||||
|
||||
|
@@ -20,5 +20,5 @@ EXTRA_LIB_PATH=-L/usr/X11R6/lib64
|
||||
# the new interface. i810 are missing because there is no x86-64
|
||||
# system where they could *ever* be used.
|
||||
#
|
||||
DRI_DIRS = i915 i965 mach64 mga r128 r200 r300 radeon savage tdfx unichrome
|
||||
DRI_DIRS = i915tex i915 i965 mach64 mga r128 r200 radeon tdfx unichrome savage r300
|
||||
|
||||
|
@@ -32,9 +32,6 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
||||
|
||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
ASM_SOURCES =
|
||||
|
||||
@@ -44,9 +41,8 @@ EXTRA_LIB_PATH=`pkg-config --libs-only-L x11`
|
||||
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
-lm -lpthread -ldl $(LIBDRM_LIB) `pkg-config --libs xcb` \
|
||||
`pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
|
||||
$(LIBDRM_LIB) `pkg-config --libs xcb` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`
|
||||
|
||||
|
||||
# This is now 0 by default since it seems to confuse the hell out of people
|
||||
@@ -58,10 +54,10 @@ USING_EGL=0
|
||||
# Directories
|
||||
ifeq ($(USING_EGL), 1)
|
||||
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
|
||||
PROGRAM_DIRS = egl xdemos
|
||||
PROGRAM_DIRS = egl
|
||||
else
|
||||
SRC_DIRS = glx/x11 mesa glu glut/glx glw
|
||||
PROGRAM_DIRS = xdemos
|
||||
PROGRAM_DIRS =
|
||||
endif
|
||||
|
||||
DRIVER_DIRS = dri
|
||||
@@ -70,4 +66,4 @@ WINDOW_SYSTEM=dri
|
||||
# gamma are missing because they have not been converted to use the new
|
||||
# interface.
|
||||
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \
|
||||
savage sis tdfx trident unichrome ffb
|
||||
savage sis tdfx trident unichrome ffb nouveau
|
||||
|
@@ -6,9 +6,6 @@ CONFIG_NAME = linux-fbdev
|
||||
|
||||
CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
|
||||
SRC_DIRS = mesa glu glut/fbdev
|
||||
DRIVER_DIRS = fbdev osmesa
|
||||
PROGRAM_DIRS = fbdev demos redbook samples
|
||||
|
@@ -12,9 +12,6 @@ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Library/program dependencies
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
||||
|
@@ -33,9 +33,6 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||
|
||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
ASM_SOURCES =
|
||||
|
||||
|
@@ -12,9 +12,6 @@ CXX = g++
|
||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = mesa glu
|
||||
@@ -25,4 +22,4 @@ PROGRAM_DIRS = osdemos
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU
|
||||
|
@@ -10,9 +10,6 @@ CXX = g++
|
||||
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 -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Library names
|
||||
OSMESA_LIB = OSMesa16
|
||||
@@ -28,4 +25,4 @@ PROGRAM_DIRS =
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
APP_LIB_DEPS = -lOSMesa16
|
||||
|
@@ -10,11 +10,7 @@ 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 -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
MKLIB_OPTIONS = -static
|
||||
PIC_FLAGS =
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Library names
|
||||
OSMESA_LIB = OSMesa16
|
||||
@@ -29,4 +25,4 @@ PROGRAM_DIRS =
|
||||
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
APP_LIB_DEPS = -lOSMesa16
|
||||
|
@@ -10,9 +10,6 @@ CXX = g++
|
||||
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 -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Library names
|
||||
OSMESA_LIB = OSMesa32
|
||||
@@ -28,4 +25,4 @@ PROGRAM_DIRS =
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
APP_LIB_DEPS = -lOSMesa32
|
||||
|
@@ -5,7 +5,6 @@ include $(TOP)/configs/linux-ppc
|
||||
CONFIG_NAME = linux-ppc-static
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
PIC_FLAGS =
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
|
@@ -24,17 +24,13 @@ PCIACCESS_LIB = `pkg-config --libs pciaccess`
|
||||
|
||||
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
|
||||
-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \
|
||||
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
||||
-DHAVE_ALIAS
|
||||
-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)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
ASM_SOURCES =
|
||||
|
||||
|
@@ -5,6 +5,9 @@ include $(TOP)/configs/linux-solo
|
||||
|
||||
CONFIG_NAME = linux-solo-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)
|
||||
ASM_API = $(X86_API)
|
||||
|
@@ -5,7 +5,6 @@ include $(TOP)/configs/linux
|
||||
CONFIG_NAME = linux-static
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
PIC_FLAGS =
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
@@ -22,5 +21,6 @@ GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
|
||||
# Need to specify all libraries we may need
|
||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread \
|
||||
-lstdc++ -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm \
|
||||
-L/usr/X11R6/lib/ -lX11 -lXmu -lXi -lpthread
|
||||
|
||||
|
@@ -5,7 +5,6 @@ include $(TOP)/configs/linux-x86-64
|
||||
CONFIG_NAME = linux-x86-64-static
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
PIC_FLAGS =
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
@@ -20,5 +19,5 @@ OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread \
|
||||
-lstdc++ -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||
|
@@ -14,9 +14,6 @@ CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
ASM_SOURCES = $(X86_SOURCES)
|
||||
ASM_API = $(X86_API)
|
||||
|
@@ -5,7 +5,6 @@ include $(TOP)/configs/linux-x86
|
||||
CONFIG_NAME = linux-x86-static
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
PIC_FLAGS =
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
@@ -20,5 +19,5 @@ OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread \
|
||||
-lstdc++ -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||
|
@@ -12,6 +12,3 @@ CXXFLAGS = -O2 -fPIC
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
@@ -10,10 +10,6 @@ CXX = g++
|
||||
CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
|
||||
CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
|
@@ -11,10 +11,6 @@ CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
|
||||
CXXFLAGS = -O3 -march=i486 -fPIC
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
|
@@ -12,10 +12,6 @@ CXXFLAGS = -O3 -march=i486 -fPIC
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
|
@@ -11,9 +11,5 @@ CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X1
|
||||
CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
|
||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
||||
|
||||
|
@@ -28,10 +28,6 @@ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||
|
||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Library/program dependencies
|
||||
EXTRA_LIB_PATH=-L/usr/openwin/lib
|
||||
|
||||
|
@@ -1,35 +0,0 @@
|
||||
# Configuration for SunOS 5, SPARC V9 and cc/g++ (for C and C++ sources)
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = sunos5-v9-cc-g++
|
||||
|
||||
MKLIB_OPTIONS = -cplusplus
|
||||
|
||||
LIB_DIR = lib64
|
||||
|
||||
# Compiler and flags
|
||||
CC = cc
|
||||
CXX = g++
|
||||
|
||||
CXX_WARN_FLAGS = -Wall
|
||||
CXX_PIC_FLAGS = -fPIC
|
||||
CXX_OPT_FLAGS = -O3 -m64 -mcpu=ultrasparc -mv8plus -mvis -g -fomit-frame-pointer -pipe
|
||||
CXX_ARCH_FLAGS = -m64
|
||||
|
||||
|
||||
CXXFLAGS = $(CXX_WARN_FLAGS) $(CXX_OPT_FLAGS) $(CXX_PIC_FLAGS) $(CXX_ARCH_FLAGS) $(DEFINES) \
|
||||
-I/usr/openwin/include
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||
#CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
@@ -12,10 +12,6 @@ CXXFLAGS = -pedantic -O2
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
|
1085
configure.ac
1085
configure.ac
File diff suppressed because it is too large
Load Diff
@@ -1,805 +0,0 @@
|
||||
Name
|
||||
|
||||
MESA_texture_array
|
||||
|
||||
Name Strings
|
||||
|
||||
GL_MESA_texture_array
|
||||
|
||||
Contact
|
||||
|
||||
Ian Romanick, IBM (idr 'at' us.ibm.com)
|
||||
|
||||
IP Status
|
||||
|
||||
No known IP issues.
|
||||
|
||||
Status
|
||||
|
||||
Shipping in Mesa 7.1
|
||||
|
||||
Version
|
||||
|
||||
$Date: 2007/05/16$ $Revision: 0.4$
|
||||
|
||||
Number
|
||||
|
||||
TBD
|
||||
|
||||
Dependencies
|
||||
|
||||
OpenGL 1.2 or GL_EXT_texture3D is required.
|
||||
|
||||
Support for ARB_fragment_program is assumed, but not required.
|
||||
|
||||
Support for ARB_fragment_program_shadow is assumed, but not required.
|
||||
|
||||
Support for EXT_framebuffer_object is assumed, but not required.
|
||||
|
||||
Written based on the wording of the OpenGL 2.0 specification and
|
||||
ARB_fragment_program_shadow but not dependent on them.
|
||||
|
||||
Overview
|
||||
|
||||
There are a number of circumstances where an application may wish to
|
||||
blend two textures out of a larger set of textures. Moreover, in some
|
||||
cases the selected textures may vary on a per-fragment basis within
|
||||
a polygon. Several examples include:
|
||||
|
||||
1. High dynamic range textures. The application stores several
|
||||
different "exposures" of an image as different textures. On a
|
||||
per-fragment basis, the application selects which exposures are
|
||||
used.
|
||||
|
||||
2. A terrain engine where the altitude of a point determines the
|
||||
texture applied to it. If the transition is from beach sand to
|
||||
grass to rocks to snow, the application will store each texture
|
||||
in a different texture map, and dynamically select which two
|
||||
textures to blend at run-time.
|
||||
|
||||
3. Storing short video clips in textures. Each depth slice is a
|
||||
single frame of video.
|
||||
|
||||
Several solutions to this problem have been proposed, but they either
|
||||
involve using a separate texture unit for each texture map or using 3D
|
||||
textures without mipmaps. Both of these options have major drawbacks.
|
||||
|
||||
This extension provides a third alternative that eliminates the major
|
||||
drawbacks of both previous methods. A new texture target,
|
||||
TEXTURE_2D_ARRAY, is added that functions identically to TEXTURE_3D in
|
||||
all aspects except the sizes of the non-base level images. In
|
||||
traditional 3D texturing, the size of the N+1 LOD is half the size
|
||||
of the N LOD in all three dimensions. For the TEXTURE_2D_ARRAY target,
|
||||
the height and width of the N+1 LOD is halved, but the depth is the
|
||||
same for all levels of detail. The texture then becomes an array of
|
||||
2D textures. The per-fragment texel is selected by the R texture
|
||||
coordinate.
|
||||
|
||||
References:
|
||||
|
||||
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011557
|
||||
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=000516
|
||||
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011903
|
||||
http://www.delphi3d.net/articles/viewarticle.php?article=terraintex.htm
|
||||
|
||||
New Procedures and Functions
|
||||
|
||||
All functions come directly from EXT_texture_array.
|
||||
|
||||
void FramebufferTextureLayerEXT(enum target, enum attachment,
|
||||
uint texture, int level, int layer);
|
||||
|
||||
New Tokens
|
||||
|
||||
All token names and values come directly from EXT_texture_array.
|
||||
|
||||
Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by
|
||||
the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
|
||||
GetDoublev, and by the <target> parameter of TexImage3D, GetTexImage,
|
||||
GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and
|
||||
GetTexParameterfv:
|
||||
|
||||
TEXTURE_1D_ARRAY_EXT 0x8C18
|
||||
TEXTURE_2D_ARRAY_EXT 0x8C1A
|
||||
|
||||
Accepted by the <target> parameter of TexImage2D, TexSubImage2D,
|
||||
CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D,
|
||||
CompressedTexSubImage2D, GetTexLevelParameteriv, and
|
||||
GetTexLevelParameterfv:
|
||||
|
||||
TEXTURE_1D_ARRAY_EXT
|
||||
PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
||||
|
||||
Accepted by the <target> parameter of TexImage3D, TexSubImage3D,
|
||||
CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D,
|
||||
GetTexLevelParameteriv, and GetTexLevelParameterfv:
|
||||
|
||||
TEXTURE_2D_ARRAY_EXT
|
||||
PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
|
||||
|
||||
Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
|
||||
GetFloatv, and GetDoublev
|
||||
|
||||
TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
|
||||
TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
|
||||
MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
|
||||
|
||||
Accepted by the <param> parameter of TexParameterf, TexParameteri,
|
||||
TexParameterfv, and TexParameteriv when the <pname> parameter is
|
||||
TEXTURE_COMPARE_MODE_ARB:
|
||||
|
||||
COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
|
||||
|
||||
(Note: COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the
|
||||
existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name
|
||||
reflects the fact that the R coordinate is not always used.)
|
||||
|
||||
Accepted by the <internalformat> parameter of TexImage3D and
|
||||
CompressedTexImage3D, and by the <format> parameter of
|
||||
CompressedTexSubImage3D:
|
||||
|
||||
COMPRESSED_RGB_S3TC_DXT1_EXT
|
||||
COMPRESSED_RGBA_S3TC_DXT1_EXT
|
||||
COMPRESSED_RGBA_S3TC_DXT3_EXT
|
||||
COMPRESSED_RGBA_S3TC_DXT5_EXT
|
||||
|
||||
Accepted by the <pname> parameter of
|
||||
GetFramebufferAttachmentParameterivEXT:
|
||||
|
||||
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
|
||||
|
||||
(Note: FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the
|
||||
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in
|
||||
EXT_framebuffer_object. This extension generalizes the notion of
|
||||
"<zoffset>" to include layers of an array texture.)
|
||||
|
||||
Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation)
|
||||
|
||||
None
|
||||
|
||||
Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
|
||||
|
||||
-- Section 3.8.1 "Texture Image Specification"
|
||||
|
||||
Change the first paragraph (page 150) to say (spec changes identical to
|
||||
EXT_texture_array):
|
||||
|
||||
"The command
|
||||
|
||||
void TexImage3D(enum target, int level, int internalformat,
|
||||
sizei width, sizei height, sizei depth, int border,
|
||||
enum format, enum type, void *data);
|
||||
|
||||
is used to specify a three-dimensional texture image. target must be one
|
||||
one of TEXTURE_3D for a three-dimensional texture or
|
||||
TEXTURE_2D_ARRAY_EXT for an two-dimensional array texture.
|
||||
Additionally, target may be either PROXY_TEXTURE_3D for a
|
||||
three-dimensional proxy texture, or PROXY_TEXTURE_2D_ARRAY_EXT for a
|
||||
two-dimensional proxy array texture."
|
||||
|
||||
Change the fourth paragraph on page 151 to say (spec changes identical
|
||||
to EXT_texture_array):
|
||||
|
||||
"Textures with a base internal format of DEPTH_COMPONENT are supported
|
||||
by texture image specification commands only if target is TEXTURE_1D,
|
||||
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_2D_ARRAY_EXT,
|
||||
PROXY_TEXTURE_1D, PROXY_TEXTURE_2D, PROXY_TEXTURE_1D_ARRAY_EXT, or
|
||||
PROXY_TEXTURE_2D_ARRAY_EXT. Using this format in conjunction with any
|
||||
other target will result in an INVALID_OPERATION error."
|
||||
|
||||
|
||||
Change the fourth paragraph on page 156 to say (spec changes identical
|
||||
to EXT_texture_array):
|
||||
|
||||
"The command
|
||||
|
||||
void TexImage2D(enum target, int level,
|
||||
int internalformat, sizei width, sizei height,
|
||||
int border, enum format, enum type, void *data);
|
||||
|
||||
is used to specify a two-dimensional texture image. target must be one
|
||||
of TEXTURE_2D for a two-dimensional texture, TEXTURE_1D_ARRAY_EXT for a
|
||||
one-dimensional array texture, or one of TEXTURE_CUBE_MAP_POSITIVE_X,
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE_MAP_POSITIVE_Y,
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_Z for a cube map texture. Additionally,
|
||||
target may be either PROXY_TEXTURE_2D for a two-dimensional proxy
|
||||
texture, PROXY_TEXTURE_1D_ARRAY_EXT for a one-dimensional proxy array
|
||||
texture, or PROXY TEXTURE_CUBE_MAP for a cube map proxy texture in the
|
||||
special case discussed in section 3.8.11. The other parameters match
|
||||
the corresponding parameters of TexImage3D.
|
||||
|
||||
For the purposes of decoding the texture image, TexImage2D is
|
||||
equivalent to calling TexImage3D with corresponding arguments and depth
|
||||
of 1, except that
|
||||
|
||||
* The border depth, d_b, is zero, and the depth of the image is
|
||||
always 1 regardless of the value of border.
|
||||
|
||||
* The border height, h_b, is zero if <target> is
|
||||
TEXTURE_1D_ARRAY_EXT, and <border> otherwise.
|
||||
|
||||
* Convolution will be performed on the image (possibly changing its
|
||||
width and height) if SEPARABLE 2D or CONVOLUTION 2D is enabled.
|
||||
|
||||
* UNPACK SKIP IMAGES is ignored."
|
||||
|
||||
-- Section 3.8.2 "Alternate Texture Image Specification Commands"
|
||||
|
||||
Change the second paragraph (page 159) (spec changes identical
|
||||
to EXT_texture_array):
|
||||
|
||||
"The command
|
||||
|
||||
void CopyTexImage2D(enum target, int level,
|
||||
enum internalformat, int x, int y, sizei width,
|
||||
sizei height, int border);
|
||||
|
||||
defines a two-dimensional texture image in exactly the manner of
|
||||
TexImage2D, except that the image data are taken from the framebuffer
|
||||
rather than from client memory. Currently, target must be one of
|
||||
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_CUBE_MAP_POSITIVE_X,
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE MAP_POSITIVE_Y,
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_Z.
|
||||
|
||||
|
||||
Change the last paragraph on page 160 to say (spec changes identical
|
||||
to EXT_texture_array):
|
||||
|
||||
"Currently the target arguments of TexSubImage1D and CopyTexSubImage1D
|
||||
must be TEXTURE_1D, the target arguments of TexSubImage2D and
|
||||
CopyTexSubImage2D must be one of TEXTURE_2D, TEXTURE_1D_ARRAY_EXT,
|
||||
TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X,
|
||||
TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y,
|
||||
TEXTURE_CUBE_MAP_POSITIVE_Z, or TEXTURE_CUBE_MAP_NEGATIVE_Z, and the
|
||||
target arguments of TexSubImage3D and CopyTexSubImage3D must be
|
||||
TEXTURE_3D or TEXTURE_2D_ARRAY_EXT. ..."
|
||||
|
||||
|
||||
-- Section 3.8.4 "Texture Parameters"
|
||||
|
||||
Change the first paragraph (page 166) to say:
|
||||
|
||||
"Various parameters control how the texel array is treated when
|
||||
specified or changed, and when applied to a fragment. Each parameter is
|
||||
set by calling
|
||||
|
||||
void TexParameter{if}(enum target, enum pname, T param);
|
||||
void TexParameter{if}v(enum target, enum pname, T params);
|
||||
|
||||
target is the target, either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
|
||||
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT."
|
||||
|
||||
|
||||
-- Section 3.8.8 "Texture Minification" in the section "Scale Factor and Level of Detail"
|
||||
|
||||
Change the first paragraph (page 172) to say:
|
||||
|
||||
"Let s(x,y) be the function that associates an s texture coordinate
|
||||
with each set of window coordinates (x,y) that lie within a primitive;
|
||||
define t(x,y) and r(x,y) analogously. Let u(x,y) = w_t * s(x,y),
|
||||
v(x,y) = h_t * t(x,y), and w(x,y) = d_t * r(x,y), where w_t, h_t,
|
||||
and d_t are as defined by equations 3.15, 3.16, and 3.17 with
|
||||
w_s, h_s, and d_s equal to the width, height, and depth of the
|
||||
image array whose level is level_base. For a one-dimensional
|
||||
texture or a one-dimensional array texture, define v(x,y) = 0 and
|
||||
w(x,y) = 0; for a two-dimensional texture or a two-dimensional array
|
||||
texture, define w(x,y) = 0..."
|
||||
|
||||
-- Section 3.8.8 "Texture Minification" in the section "Mipmapping"
|
||||
|
||||
Change the third paragraph (page 174) to say:
|
||||
|
||||
"For a two-dimensional texture, two-dimensional array texture, or
|
||||
cube map texture,"
|
||||
|
||||
Change the fourth paragraph (page 174) to say:
|
||||
|
||||
"And for a one-dimensional texture or a one-dimensional array texture,"
|
||||
|
||||
After the first paragraph (page 175) add:
|
||||
|
||||
"For one-dimensional array textures, h_b and d_b are treated as 1,
|
||||
regardless of the actual values, when performing mipmap calculations.
|
||||
For two-dimensional array textures, d_b is always treated as one,
|
||||
regardless of the actual value, when performing mipmap calculations."
|
||||
|
||||
-- Section 3.8.8 "Automatic Mipmap Generation" in the section "Mipmapping"
|
||||
|
||||
Change the third paragraph (page 176) to say (spec changes identical
|
||||
to EXT_texture_array):
|
||||
|
||||
"The contents of the derived arrays are computed by repeated, filtered
|
||||
reduction of the level_base array. For one- and two-dimensional array
|
||||
textures, each layer is filtered independently. ..."
|
||||
|
||||
-- Section 3.8.8 "Manual Mipmap Generation" in the section "Mipmapping"
|
||||
|
||||
Change first paragraph to say (spec changes identical to
|
||||
EXT_texture_array):
|
||||
|
||||
"Mipmaps can be generated manually with the command
|
||||
|
||||
void GenerateMipmapEXT(enum target);
|
||||
|
||||
where <target> is one of TEXTURE_1D, TEXTURE_2D, TEXTURE_CUBE_MAP,
|
||||
TEXTURE_3D, TEXTURE_1D_ARRAY, or TEXTURE_2D_ARRAY. Mipmap generation
|
||||
affects the texture image attached to <target>. ..."
|
||||
|
||||
-- Section 3.8.10 "Texture Completeness"
|
||||
|
||||
Change the second paragaph (page 177) to say (spec changes identical
|
||||
to EXT_texture_array):
|
||||
|
||||
"For one-, two-, or three-dimensional textures and one- or
|
||||
two-dimensional array textures, a texture is complete if the following
|
||||
conditions all hold true:"
|
||||
|
||||
-- Section 3.8.11 "Texture State and Proxy State"
|
||||
|
||||
Change the second and third paragraphs (page 179) to say (spec changes
|
||||
identical to EXT_texture_array):
|
||||
|
||||
"In addition to image arrays for one-, two-, and three-dimensional
|
||||
textures, one- and two-dimensional array textures, and the six image
|
||||
arrays for the cube map texture, partially instantiated image arrays
|
||||
are maintained for one-, two-, and three-dimensional textures and one-
|
||||
and two-dimensional array textures. Additionally, a single proxy image
|
||||
array is maintained for the cube map texture. Each proxy image array
|
||||
includes width, height, depth, border width, and internal format state
|
||||
values, as well as state for the red, green, blue, alpha, luminance,
|
||||
and intensity component resolutions. Proxy image arrays do not include
|
||||
image data, nor do they include texture properties. When TexImage3D is
|
||||
executed with target specified as PROXY_TEXTURE_3D, the
|
||||
three-dimensional proxy state values of the specified level-of-detail
|
||||
are recomputed and updated. If the image array would not be supported
|
||||
by TexImage3D called with target set to TEXTURE 3D, no error is
|
||||
generated, but the proxy width, height, depth, border width, and
|
||||
component resolutions are set to zero. If the image array would be
|
||||
supported by such a call to TexImage3D, the proxy state values are set
|
||||
exactly as though the actual image array were being specified. No pixel
|
||||
data are transferred or processed in either case.
|
||||
|
||||
Proxy arrays for one- and two-dimensional textures and one- and
|
||||
two-dimensional array textures are operated on in the same way when
|
||||
TexImage1D is executed with target specified as PROXY_TEXTURE_1D,
|
||||
TexImage2D is executed with target specified as PROXY_TEXTURE_2D or
|
||||
PROXY_TEXTURE_1D_ARRAY_EXT, or TexImage3D is executed with target
|
||||
specified as PROXY_TETXURE_2D_ARRAY_EXT."
|
||||
|
||||
-- Section 3.8.12 "Texture Objects"
|
||||
|
||||
Change section (page 180) to say (spec changes identical to
|
||||
EXT_texture_array):
|
||||
|
||||
"In addition to the default textures TEXTURE_1D, TEXTURE_2D,
|
||||
TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_EXT,
|
||||
named one-, two-, and three-dimensional, cube map, and one- and
|
||||
two-dimensional array texture objects can be created and operated upon.
|
||||
The name space for texture objects is the unsigned integers, with zero
|
||||
reserved by the GL.
|
||||
|
||||
A texture object is created by binding an unused name to TEXTURE_1D,
|
||||
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
|
||||
TEXTURE_2D_ARRAY_EXT. The binding is effected by calling
|
||||
|
||||
void BindTexture(enum target, uint texture);
|
||||
|
||||
with <target> set to the desired texture target and <texture> set to
|
||||
the unused name. The resulting texture object is a new state vector,
|
||||
comprising all the state values listed in section 3.8.11, set to the
|
||||
same initial values. If the new texture object is bound to TEXTURE_1D,
|
||||
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
|
||||
TEXTURE_2D_ARRAY_EXT, it is and remains a one-, two-,
|
||||
three-dimensional, cube map, one- or two-dimensional array texture
|
||||
respectively until it is deleted.
|
||||
|
||||
BindTexture may also be used to bind an existing texture object to
|
||||
either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
|
||||
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT. The error
|
||||
INVALID_OPERATION is generated if an attempt is made to bind a texture
|
||||
object of different dimensionality than the specified target. If the
|
||||
bind is successful no change is made to the state of the bound texture
|
||||
object, and any previous binding to target is broken.
|
||||
|
||||
While a texture object is bound, GL operations on the target to which
|
||||
it is bound affect the bound object, and queries of the target to which
|
||||
it is bound return state from the bound object. If texture mapping of
|
||||
the dimensionality of the target to which a texture object is bound is
|
||||
enabled, the state of the bound texture object directs the texturing
|
||||
operation.
|
||||
|
||||
In the initial state, TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
|
||||
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_ARRAY_EXT have
|
||||
one-, two-, three-dimensional, cube map, and one- and two-dimensional
|
||||
array texture state vectors respectively associated with them. In order
|
||||
that access to these initial textures not be lost, they are treated as
|
||||
texture objects all of whose names are 0. The initial one-, two-,
|
||||
three-dimensional, cube map, one- and two-dimensional array textures
|
||||
are therefore operated upon, queried, and applied as TEXTURE_1D,
|
||||
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and
|
||||
TEXTURE_2D_ARRAY_EXT respectively while 0 is bound to the corresponding
|
||||
targets.
|
||||
|
||||
Change second paragraph on page 181 to say (spec changes identical to
|
||||
EXT_texture_array):
|
||||
|
||||
"... If a texture that is currently bound to one of the targets
|
||||
TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
|
||||
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT is deleted, it is as
|
||||
though BindTexture had been executed with the same target and texture
|
||||
zero. ..."
|
||||
|
||||
Change second paragraph on page 182 to say (spec changes identical to
|
||||
EXT_texture_array):
|
||||
|
||||
"The texture object name space, including the initial one-, two-, and
|
||||
three dimensional, cube map, and one- and two-dimensional array texture
|
||||
objects, is shared among all texture units. ..."
|
||||
|
||||
|
||||
-- Section 3.8.14 "Depth Texture Comparison Modes" in "Texture Comparison Modes"
|
||||
|
||||
Change second through fourth paragraphs (page 188) to say:
|
||||
|
||||
"Let D_t be the depth texture value, in the range [0, 1]. For
|
||||
texture lookups from one- and two-dimesional, rectangle, and
|
||||
one-dimensional array targets, let R be the interpolated <r>
|
||||
texture coordinate, clamped to the range [0, 1]. For texture lookups
|
||||
from two-dimesional array texture targets, let R be the interpolated
|
||||
<q> texture coordinate, clamped to the range [0, 1]. Then the
|
||||
effective texture value L_t, I_t, or A_t is computed as follows:
|
||||
|
||||
If the value of TEXTURE_COMPARE_MODE is NONE, then
|
||||
|
||||
r = Dt
|
||||
|
||||
If the value of TEXTURE_COMPARE_MODE is
|
||||
COMPARE_REF_DEPTH_TO_TEXTURE_EXT), then r depends on the texture
|
||||
comparison function as shown in table 3.27."
|
||||
|
||||
-- Section 3.8.15 "Texture Application"
|
||||
|
||||
Change the first paragraph (page 189) to say:
|
||||
|
||||
"Texturing is enabled or disabled using the generic Enable and Disable
|
||||
commands, respectively, with the symbolic constants TEXTURE_1D,
|
||||
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
|
||||
TEXTURE_2D_ARRAY_EXT to enable one-, two-, three-dimensional, cube
|
||||
map, one-dimensional array, or two-dimensional array texture,
|
||||
respectively. If both two- and one-dimensional textures are enabled,
|
||||
the two-dimensional texture is used. If the three-dimensional and
|
||||
either of the two- or one-dimensional textures is enabled, the
|
||||
three-dimensional texture is used. If the cube map texture and any of
|
||||
the three-, two-, or one-dimensional textures is enabled, then cube map
|
||||
texturing is used. If one-dimensional array texture is enabled and any
|
||||
of cube map, three-, two-, or one-dimensional textures is enabled,
|
||||
one-dimensional array texturing is used. If two-dimensional array
|
||||
texture is enabled and any of cube map, three-, two-, one-dimensional
|
||||
textures or one-dimensional array texture is enabled, two-dimensional
|
||||
array texturing is used..."
|
||||
|
||||
-- Section 3.11.2 of ARB_fragment_program (Fragment Program Grammar and Restrictions):
|
||||
|
||||
(mostly add to existing grammar rules)
|
||||
|
||||
<optionName> ::= "MESA_texture_array"
|
||||
|
||||
<texTarget> ::= "1D"
|
||||
| "2D"
|
||||
| "3D"
|
||||
| "CUBE"
|
||||
| "RECT"
|
||||
| <arrayTarget> (if program option is present)
|
||||
| <shadowTarget> (if program option is present)
|
||||
|
||||
<arrayTarget> ::= "ARRAY1D"
|
||||
| "ARRAY2D"
|
||||
|
||||
<shadowTarget> ::= "SHADOW1D"
|
||||
| "SHADOW2D"
|
||||
| "SHADOWRECT"
|
||||
| <shadowArrayTarget> (if program option is present)
|
||||
|
||||
<shadowArrayTarget> ::= "SHADOWARRAY1D"
|
||||
| "SHADOWARRAY2D"
|
||||
|
||||
|
||||
-- Add Section 3.11.4.5.4 "Texture Stack Option"
|
||||
|
||||
"If a fragment program specifies the "MESA_texture_array" program
|
||||
option, the <texTarget> rule is modified to add the texture targets
|
||||
ARRAY1D and ARRAY2D (See Section 3.11.2)."
|
||||
|
||||
-- Section 3.11.6 "Fragment Program Texture Instruction Set"
|
||||
|
||||
(replace 1st and 2nd paragraphs with the following paragraphs)
|
||||
|
||||
"The first three texture instructions described below specify the
|
||||
mapping of 4-tuple input vectors to 4-tuple output vectors.
|
||||
The sampling of the texture works as described in section 3.8,
|
||||
except that texture environments and texture functions are not
|
||||
applicable, and the texture enables hierarchy is replaced by explicit
|
||||
references to the desired texture target (i.e., 1D, 2D, 3D, cube map,
|
||||
rectangle, ARRAY1D, ARRAY2D). These texture instructions specify
|
||||
how the 4-tuple is mapped into the coordinates used for sampling. The
|
||||
following function is used to describe the texture sampling in the
|
||||
descriptions below:
|
||||
|
||||
vec4 TextureSample(vec4 coord, float lodBias, int texImageUnit,
|
||||
enum texTarget);
|
||||
|
||||
Note that not all four components of the texture coordinates <coord>
|
||||
are used by all texture targets. Component usage for each <texTarget>
|
||||
is defined in table X.
|
||||
|
||||
coordinates used
|
||||
texTarget Texture Type s t r layer shadow
|
||||
---------------- --------------------- ----- ----- ------
|
||||
1D TEXTURE_1D x - - - -
|
||||
2D TEXTURE_2D x y - - -
|
||||
3D TEXTURE_3D x y z - -
|
||||
CUBE TEXTURE_CUBE_MAP x y z - -
|
||||
RECT TEXTURE_RECTANGLE_ARB x y - - -
|
||||
ARRAY1D TEXTURE_1D_ARRAY_EXT x - - y -
|
||||
ARRAY2D TEXTURE_2D_ARRAY_EXT x y - z -
|
||||
SHADOW1D TEXTURE_1D x - - - z
|
||||
SHADOW2D TEXTURE_2D x y - - z
|
||||
SHADOWRECT TEXTURE_RECTANGLE_ARB x y - - z
|
||||
SHADOWARRAY1D TEXTURE_1D_ARRAY_EXT x - - y z
|
||||
SHADOWARRAY2D TEXTURE_2D_ARRAY_EXT x y - z w
|
||||
|
||||
Table X: Texture types accessed for each of the <texTarget>, and
|
||||
coordinate mappings. The "coordinates used" column indicate the
|
||||
input values used for each coordinate of the texture lookup, the
|
||||
layer selector for array textures, and the reference value for
|
||||
texture comparisons."
|
||||
|
||||
-- Section 3.11.6.2 "TXP: Project coordinate and map to color"
|
||||
|
||||
Add to the end of the section:
|
||||
|
||||
"A program will fail to load if the TXP instruction is used in
|
||||
conjunction with the SHADOWARRAY2D target."
|
||||
|
||||
Additions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment Operations)
|
||||
|
||||
-- Section 4.4.2.3 "Attaching Texture Images to a Framebuffer"
|
||||
|
||||
Add to the end of the section (spec changes identical to
|
||||
EXT_texture_array):
|
||||
|
||||
"The command
|
||||
|
||||
void FramebufferTextureLayerEXT(enum target, enum attachment,
|
||||
uint texture, int level, int layer);
|
||||
|
||||
operates identically to FramebufferTexture3DEXT, except that it
|
||||
attaches a single layer of a three-dimensional texture or a one- or
|
||||
two-dimensional array texture. <layer> is an integer indicating the
|
||||
layer number, and is treated identically to the <zoffset> parameter in
|
||||
FramebufferTexture3DEXT. The error INVALID_VALUE is generated if
|
||||
<layer> is negative. The error INVALID_OPERATION is generated if
|
||||
<texture> is non-zero and is not the name of a three dimensional
|
||||
texture or one- or two-dimensional array texture. Unlike
|
||||
FramebufferTexture3D, no <textarget> parameter is accepted.
|
||||
|
||||
If <texture> is non-zero and the command does not result in an error,
|
||||
the framebuffer attachment state corresponding to <attachment> is
|
||||
updated as in the other FramebufferTexture commands, except that
|
||||
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to <layer>."
|
||||
|
||||
-- Section 4.4.4.1 "Framebuffer Attachment Completeness"
|
||||
|
||||
Add to the end of the list of completeness rules (spec changes
|
||||
identical to EXT_texture_array):
|
||||
|
||||
"* If FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE and
|
||||
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT names a one- or
|
||||
two-dimensional array texture, then
|
||||
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT must be smaller than the
|
||||
number of layers in the texture."
|
||||
|
||||
Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
|
||||
|
||||
-- Section 5.4 "Display Lists"
|
||||
|
||||
Change the first paragraphi on page 242 to say (spec changes
|
||||
identical to EXT_texture_array):
|
||||
|
||||
"TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are
|
||||
executed immediately when called with the corresponding proxy arguments
|
||||
PROXY_TEXTURE_3D or PROXY_TEXTURE_2D_ARRAY_EXT; PROXY_TEXTURE_2D,
|
||||
PROXY_TEXTURE_CUBE_MAP, or PROXY_TEXTURE_1D_ARRAY_EXT;
|
||||
PROXY_TEXTURE_1D; PROXY_HISTOGRAM; and PROXY_COLOR_TABLE,
|
||||
PROXY_POST_CONVOLUTION_COLOR_TABLE, or
|
||||
PROXY_POST_COLOR_MATRIX_COLOR_TABLE."
|
||||
|
||||
Additions to Chapter 6 of the OpenGL 2.0 Specification (State and State Requests)
|
||||
|
||||
-- Section 6.1.3 "Enumerated Queries"
|
||||
|
||||
Add after the line beginning "If the value of
|
||||
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE" (spec changes
|
||||
identical to EXT_texture_array):
|
||||
|
||||
"If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT and the
|
||||
texture object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT is a
|
||||
three-dimensional texture or a one- or two-dimensional array texture,
|
||||
then <params> will contain the number of texture layer attached to the
|
||||
attachment point. Otherwise, <params> will contain the value zero."
|
||||
|
||||
-- Section 6.1.4 "Texture Queries"
|
||||
|
||||
Change the first three paragraphs (page 248) to say (spec changes
|
||||
identical to EXT_texture_array):
|
||||
|
||||
"The command
|
||||
|
||||
void GetTexImage(enum tex, int lod, enum format,
|
||||
enum type, void *img);
|
||||
|
||||
is used to obtain texture images. It is somewhat different from the
|
||||
other get commands; tex is a symbolic value indicating which texture
|
||||
(or texture face in the case of a cube map texture target name) is to
|
||||
be obtained. TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY_EXT,
|
||||
and TEXTURE_2D_ARRAY_EXT indicate a one-, two-, or three-dimensional
|
||||
texture, or one- or two-dimensional array texture, respectively.
|
||||
TEXTURE_CUBE_MAP_POSITIVE_X, ...
|
||||
|
||||
GetTexImage obtains... from the first image to the last for
|
||||
three-dimensional textures. One- and two-dimensional array textures
|
||||
are treated as two- and three-dimensional images, respectively, where
|
||||
the layers are treated as rows or images. These groups are then...
|
||||
|
||||
For three-dimensional and two-dimensional array textures, pixel storage
|
||||
operations are applied as if the image were two-dimensional, except
|
||||
that the additional pixel storage state values PACK_IMAGE_HEIGHT and
|
||||
PACK_SKIP_IMAGES are applied. ..."
|
||||
|
||||
Additions to Appendix A of the OpenGL 2.0 Specification (Invariance)
|
||||
|
||||
None
|
||||
|
||||
Additions to the AGL/GLX/WGL Specifications
|
||||
|
||||
None
|
||||
|
||||
GLX Protocol
|
||||
|
||||
None
|
||||
|
||||
Dependencies on ARB_fragment_program
|
||||
|
||||
If ARB_fragment_program is not supported, the changes to section 3.11
|
||||
should be ignored.
|
||||
|
||||
Dependencies on EXT_framebuffer_object
|
||||
|
||||
If EXT_framebuffer_object is not supported, the changes to section
|
||||
3.8.8 ("Manual Mipmap Generation"), 4.4.2.3, and 6.1.3 should be ignored.
|
||||
|
||||
Dependencies on EXT_texture_compression_s3tc and NV_texture_compression_vtc
|
||||
|
||||
(Identical dependency as EXT_texture_array.)
|
||||
|
||||
S3TC texture compression is supported for two-dimensional array textures.
|
||||
When <target> is TEXTURE_2D_ARRAY_EXT, each layer is stored independently
|
||||
as a compressed two-dimensional textures. When specifying or querying
|
||||
compressed images using one of the S3TC formats, the images are provided
|
||||
and/or returned as a series of two-dimensional textures stored
|
||||
consecutively in memory, with the layer closest to zero specified first.
|
||||
For array textures, images are not arranged in 4x4x4 or 4x4x2 blocks as in
|
||||
the three-dimensional compression format provided in the
|
||||
EXT_texture_compression_vtc extension. Pixel store parameters, including
|
||||
those specific to three-dimensional images, are ignored when compressed
|
||||
image data are provided or returned, as in the
|
||||
EXT_texture_compression_s3tc extension.
|
||||
|
||||
S3TC compression is not supported for one-dimensional texture targets in
|
||||
EXT_texture_compression_s3tc, and is not supported for one-dimensional
|
||||
array textures in this extension. If compressed one-dimensional arrays
|
||||
are needed, use a two-dimensional texture with a height of one.
|
||||
|
||||
This extension allows the use of the four S3TC internal format types in
|
||||
TexImage3D, CompressedTexImage3D, and CompressedTexSubImage3D calls.
|
||||
|
||||
Errors
|
||||
|
||||
None
|
||||
|
||||
New State
|
||||
|
||||
(add to table 6.15, p. 276)
|
||||
|
||||
Initial
|
||||
Get Value Type Get Command Value Description Sec. Attribute
|
||||
---------------------------- ----- ----------- ----- -------------------- ------ ---------
|
||||
TEXTURE_BINDING_1D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
|
||||
to TEXTURE_1D_ARRAY
|
||||
TEXTURE_BINDING_2D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
|
||||
to TEXTURE_2D_ARRAY
|
||||
|
||||
|
||||
New Implementation Dependent State
|
||||
|
||||
(add to Table 6.32, p. 293)
|
||||
|
||||
Minimum
|
||||
Get Value Type Get Command Value Description Sec. Attribute
|
||||
---------------------------- ---- ----------- ------- ------------------ ----- ---------
|
||||
MAX_TEXTURE_ARRAY_LAYERS_EXT Z+ GetIntegerv 64 maximum number of 3.8.1 -
|
||||
layers for texture
|
||||
arrays
|
||||
|
||||
Issues
|
||||
|
||||
(1) Is "texture stack" a good name for this functionality?
|
||||
|
||||
NO. The name is changed to "array texture" to match the
|
||||
nomenclature used by GL_EXT_texture_array.
|
||||
|
||||
(2) Should the R texture coordinate be treated as normalized or
|
||||
un-normalized? If it were un-normalized, floor(R) could be thought
|
||||
of as a direct index into the array texture. This may be more
|
||||
convenient for applications.
|
||||
|
||||
RESOLVED. All texture coordinates are normalized. The issue of
|
||||
un-normalized texture coordinates has been discussed in the ARB
|
||||
before and should be left for a layered extension.
|
||||
|
||||
RE-RESOLVED. The R coordinate is un-normalized. Accessing an array
|
||||
using [0, layers-1] coordinates is much more natural.
|
||||
|
||||
(3) How does LOD selection work for stacked textures?
|
||||
|
||||
RESOLVED. For 2D array textures the R coordinate is ignored, and
|
||||
the LOD selection equations for 2D textures are used. For 1D
|
||||
array textures the T coordinate is ignored, and the LOD selection
|
||||
equations for 1D textures are used. The expected usage is in a
|
||||
fragment program with an explicit LOD selection.
|
||||
|
||||
(4) What is the maximum size of a 2D array texture? Is it the same
|
||||
as for a 3D texture, or should a new query be added? How about for 1D
|
||||
array textures?
|
||||
|
||||
RESOLVED. A new query is added.
|
||||
|
||||
(5) How are array textures exposed in GLSL?
|
||||
|
||||
RESOLVED. Use GL_EXT_texture_array.
|
||||
|
||||
(6) Should a 1D array texture also be exposed?
|
||||
|
||||
RESOLVED. For orthogonality, yes.
|
||||
|
||||
(7) How are stacked textures attached to framebuffer objects?
|
||||
|
||||
RESOLVED. Layers of both one- and two-dimensional array textures
|
||||
are attached using FreambufferTextureLayerEXT. Once attached, the
|
||||
array texture layer behaves exactly as either a one- or
|
||||
two-dimensional texture.
|
||||
|
||||
(8) How is this extension related to GL_EXT_texture_array?
|
||||
|
||||
This extension adapats GL_MESAX_texture_stack to the notation,
|
||||
indexing, and FBO access of GL_EXT_texture_array. This extension
|
||||
replaces the GLSL support of GL_EXT_texture_array with
|
||||
GL_ARB_fragment_program support.
|
||||
|
||||
Assembly program support is also provided by GL_NV_gpu_program4.
|
||||
GL_NV_gpu_program4 also adds support for other features that are
|
||||
specific to Nvidia hardware, while this extension adds only support
|
||||
for array textures.
|
||||
|
||||
Much of text of this extension that has changed since
|
||||
GL_MESAX_texture_stack comes directly from either
|
||||
GL_EXT_texture_array or GL_NV_gpu_program4.
|
||||
|
||||
Revision History
|
||||
|
||||
||2005/11/15||0.1||idr||Initial draft MESAX version.||
|
||||
||2005/12/07||0.2||idr||Added framebuffer object interactions.||
|
||||
||2005/12/12||0.3||idr||Updated fragment program interactions.||
|
||||
||2007/05/16||0.4||idr||Converted to MESA_texture_array. Brought in line with EXT_texture_array and NV_gpu_program4.||
|
@@ -88,66 +88,3 @@ Running the Build:
|
||||
|
||||
Paul G. <pgarceau@users.sourceforge.net>
|
||||
Daniel Borca <dborca@users.sourceforge.net>
|
||||
|
||||
|
||||
|
||||
******This section is added by Heromyth <zxpmyth@yahoo.com.cn>*************
|
||||
|
||||
====================
|
||||
Updated on 2007-7-21
|
||||
====================
|
||||
|
||||
Notice:
|
||||
1) The generated DLLs are *not* compatible with the ones built
|
||||
with the other compilers like VC8, especially for GLUT.
|
||||
|
||||
2) Although more tests are needed, it can be used individually!
|
||||
|
||||
3) You can set the options about whether using STDCALL to build MESA. The
|
||||
config file is <Mesa3D-root>\configs\config.mgw. The default setting is that:
|
||||
ALL_USING_STDCALL = 1
|
||||
, which means using STDCALL to build MESA.
|
||||
|
||||
4) Of course, you can MESA without using STDCALL,I like this:)
|
||||
The setting is :
|
||||
ALL_USING_STDCALL = 0
|
||||
To do this, however, you must modify wingdi.h which is in MingW's include dir.
|
||||
For example, run:
|
||||
notepad C:\MingW\include\wingdi.h
|
||||
, and delete all the lines where all the wgl*() functions are. Because they would
|
||||
be conflicted with the ones in <Mesa3D-root>\include\GL\mesa_wgl.h.
|
||||
|
||||
>>>>>>>>>> Conflicted Functions List >>>>>>>>>>
|
||||
WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
|
||||
WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
|
||||
WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
|
||||
WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
|
||||
WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
|
||||
WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
|
||||
WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
|
||||
WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
|
||||
WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
|
||||
WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
|
||||
WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||
|
||||
====================
|
||||
Updated on 2007-7-22
|
||||
====================
|
||||
I havn't thought that I would find a better way to solve my problems so soon.
|
||||
I changed the method in which the import-libs and DLLs are made. After this update,
|
||||
the DLLs of MESA are more optimized and more compatible.
|
||||
It seems that there is no need to keep the building way of 'NO-STDCALL'.The
|
||||
way of USING_STDCALL is so nice! The file <Mesa3D-root>\configs\config.mgw is
|
||||
also not needed, and can be deleted safely!
|
||||
|
||||
|
||||
|
||||
*********************************************************************************
|
@@ -1,163 +1,163 @@
|
||||
File: docs/README.WIN32
|
||||
|
||||
Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
|
||||
|
||||
Quick Start
|
||||
----- -----
|
||||
|
||||
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
|
||||
directory. The libs and demos build separately, so if you do not care
|
||||
about the demos or GLUT, you only need to unzip MesaLib. If you unzip
|
||||
more than one ZIP file, they all need to be unzipped into the same
|
||||
directory. Don't worry, you will not overwrite anything.
|
||||
|
||||
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 8 files
|
||||
are in windows/VC8.
|
||||
|
||||
Support has been dropped for versions of Visual Studio prior to 8. The
|
||||
main reason is because Microsoft now provides a free compiler and
|
||||
developer environment. Visual Studio Express can be found at
|
||||
|
||||
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
|
||||
|
||||
You'll also need the Platform SDK. Instructions for obtaining and
|
||||
using the SDK with Visual Studio Express can be found at
|
||||
|
||||
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
||||
|
||||
If you are stuck using VC6 or VC7, you may start with these project
|
||||
files, but you may need to modify them to reflect changes in the
|
||||
Mesa source code tree. If you sucessfully update the project files,
|
||||
please submit them to the author of this document so that they may
|
||||
be included in the next distribution.
|
||||
|
||||
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.
|
||||
|
||||
Makefiles are no longer shipped or supported, but can be generated
|
||||
from the projects using Visual Studio.
|
||||
|
||||
|
||||
Windows Drivers
|
||||
------- -------
|
||||
|
||||
At this time, only the GDI driver is known to work. Most of the demos
|
||||
in progs/demos should work with this driver.
|
||||
|
||||
Source code also exists in the tree for other drivers in
|
||||
src/mesa/drivers/windows, but the status of this code is unknown.
|
||||
|
||||
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.
|
||||
|
||||
To build Mesa with the GDI driver, build the mesa, gdi, and glu
|
||||
projects in the Visual Studio workspace found at
|
||||
|
||||
windows/VC8/mesa/mesa.sln
|
||||
|
||||
The osmesa DLL can also be built with the osmesa project.
|
||||
|
||||
The build system creates a lib top-level directory and copies
|
||||
resulting LIB and DLL files to this lib directory. The files are:
|
||||
|
||||
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
|
||||
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
|
||||
|
||||
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.
|
||||
|
||||
|
||||
GLUT and Demos
|
||||
---- --- -----
|
||||
|
||||
A Visual Studio workspace can be found at
|
||||
|
||||
windows/VC8/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.
|
||||
|
||||
You may also build all the demo programs by using a makefile. Go to
|
||||
the progs/demos directory and make sure you have executed VCVARS32.BAT
|
||||
or whatever setup script is appropriate for your compiler. Then,
|
||||
|
||||
nmake -f Makefile.win
|
||||
|
||||
should build all the demos.
|
||||
|
||||
|
||||
Build System Notes
|
||||
----- ------ -----
|
||||
|
||||
VC6 (not actively supported)
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
Two additional configurations are provided, Debug x86 and Release x86
|
||||
that activate the shader code compilation by defining SLANG_86. It is
|
||||
unknown if and how this works.
|
||||
|
||||
VC7 (not actively supported)
|
||||
---
|
||||
|
||||
The above-mentioned .cc problem does not exist in this version.
|
||||
|
||||
VC8
|
||||
---
|
||||
|
||||
No notes.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Karl Schultz
|
||||
File: docs/README.WIN32
|
||||
|
||||
Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
|
||||
|
||||
Quick Start
|
||||
----- -----
|
||||
|
||||
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
|
||||
directory. The libs and demos build separately, so if you do not care
|
||||
about the demos or GLUT, you only need to unzip MesaLib. If you unzip
|
||||
more than one ZIP file, they all need to be unzipped into the same
|
||||
directory. Don't worry, you will not overwrite anything.
|
||||
|
||||
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 8 files
|
||||
are in windows/VC8.
|
||||
|
||||
Support has been dropped for versions of Visual Studio prior to 8. The
|
||||
main reason is because Microsoft now provides a free compiler and
|
||||
developer environment. Visual Studio Express can be found at
|
||||
|
||||
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
|
||||
|
||||
You'll also need the Platform SDK. Instructions for obtaining and
|
||||
using the SDK with Visual Studio Express can be found at
|
||||
|
||||
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
||||
|
||||
If you are stuck using VC6 or VC7, you may start with these project
|
||||
files, but you may need to modify them to reflect changes in the
|
||||
Mesa source code tree. If you sucessfully update the project files,
|
||||
please submit them to the author of this document so that they may
|
||||
be included in the next distribution.
|
||||
|
||||
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.
|
||||
|
||||
Makefiles are no longer shipped or supported, but can be generated
|
||||
from the projects using Visual Studio.
|
||||
|
||||
|
||||
Windows Drivers
|
||||
------- -------
|
||||
|
||||
At this time, only the GDI driver is known to work. Most of the demos
|
||||
in progs/demos should work with this driver.
|
||||
|
||||
Source code also exists in the tree for other drivers in
|
||||
src/mesa/drivers/windows, but the status of this code is unknown.
|
||||
|
||||
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.
|
||||
|
||||
To build Mesa with the GDI driver, build the mesa, gdi, and glu
|
||||
projects in the Visual Studio workspace found at
|
||||
|
||||
windows/VC8/mesa/mesa.sln
|
||||
|
||||
The osmesa DLL can also be built with the osmesa project.
|
||||
|
||||
The build system creates a lib top-level directory and copies
|
||||
resulting LIB and DLL files to this lib directory. The files are:
|
||||
|
||||
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
|
||||
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
|
||||
|
||||
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.
|
||||
|
||||
|
||||
GLUT and Demos
|
||||
---- --- -----
|
||||
|
||||
A Visual Studio workspace can be found at
|
||||
|
||||
windows/VC8/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.
|
||||
|
||||
You may also build all the demo programs by using a makefile. Go to
|
||||
the progs/demos directory and make sure you have executed VCVARS32.BAT
|
||||
or whatever setup script is appropriate for your compiler. Then,
|
||||
|
||||
nmake -f Makefile.win
|
||||
|
||||
should build all the demos.
|
||||
|
||||
|
||||
Build System Notes
|
||||
----- ------ -----
|
||||
|
||||
VC6 (not actively supported)
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
Two additional configurations are provided, Debug x86 and Release x86
|
||||
that activate the shader code compilation by defining SLANG_86. It is
|
||||
unknown if and how this works.
|
||||
|
||||
VC7 (not actively supported)
|
||||
---
|
||||
|
||||
The above-mentioned .cc problem does not exist in this version.
|
||||
|
||||
VC8
|
||||
---
|
||||
|
||||
No notes.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Karl Schultz
|
||||
|
@@ -1,289 +0,0 @@
|
||||
<html>
|
||||
|
||||
<title>Compilation and Installation using Autoconf</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<h1>Compilation and Installation using Autoconf</h1>
|
||||
|
||||
<ol>
|
||||
<li><a href="#basic">Basic Usage</a></li>
|
||||
<li><a href="#driver">Driver Options</a></li>
|
||||
<ul>
|
||||
<li><a href="#xlib">Xlib Driver Options</a></li>
|
||||
<li><a href="#dri">DRI Driver Options</a></li>
|
||||
<li><a href="#osmesa">OSMesa Driver Options</a></li>
|
||||
</ul>
|
||||
<li><a href="#library">Library Options</a></li>
|
||||
<ul>
|
||||
<li><a href="#glu">GLU</a></li>
|
||||
<li><a href="#glw">GLw</a></li>
|
||||
<li><a href="#glut">GLUT</a></li>
|
||||
</ul>
|
||||
<li><a href="#demos">Demo Program Options</a></li>
|
||||
</ol>
|
||||
|
||||
|
||||
<a name="basic">
|
||||
<h2>1. Basic Usage</h2>
|
||||
|
||||
<p>
|
||||
The autoconf generated configure script can be used to guess your
|
||||
platform and change various options for building Mesa. To use the
|
||||
configure script, type:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
./configure
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
To see a short description of all the options, type <code>./configure
|
||||
--help</code>. If you are using a development snapshot and the configure
|
||||
script does not exist, type <code>./autogen.sh</code> to generate it
|
||||
first. If you know the options you want to pass to
|
||||
<code>configure</code>, you can pass them to <code>autogen.sh</code>. It
|
||||
will run <code>configure</code> with these options after it is
|
||||
generated. Once you have run <code>configure</code> and set the options
|
||||
to your preference, type:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
make
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
This will produce libGL.so and several other libraries depending on the
|
||||
options you have chosen. Later, if you want to rebuild for a different
|
||||
configuration run <code>make realclean</code> before rebuilding.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some of the generic autoconf options are used with Mesa:
|
||||
|
||||
<ul>
|
||||
<li><code>--prefix=PREFIX</code> - This is the root directory where
|
||||
files will be installed by <code>make install</code>. The default is
|
||||
<code>/usr/local</code>.
|
||||
</li>
|
||||
<li><code>--exec-prefix=EPREFIX</code> - This is the root directory
|
||||
where architecture-dependent files will be installed. In Mesa, this is
|
||||
only used to derive the directory for the libraries. The default is
|
||||
<code>${prefix}</code>.
|
||||
</li>
|
||||
<li><code>--libdir=LIBDIR</code> - This option specifies the directory
|
||||
where the GL libraries will be installed. The default is
|
||||
<code>${exec_prefix}/lib</code>. It also serves as the name of the
|
||||
library staging area in the source tree. For instance, if the option
|
||||
<code>--libdir=/usr/local/lib64</code> is used, the libraries will be
|
||||
created in a <code>lib64</code> directory at the top of the Mesa source
|
||||
tree.
|
||||
</li>
|
||||
<li><code>--enable-static, --disable-shared</code> - By default, Mesa
|
||||
will build shared libraries. Either of these options will force static
|
||||
libraries to be built. It is not currently possible to build static and
|
||||
shared libraries in a single pass.
|
||||
</li>
|
||||
<li><code>CC, CFLAGS, CXX, CXXFLAGS</code> - These environment variables
|
||||
control the C and C++ compilers used during the build. By default,
|
||||
<code>gcc</code> and <code>g++</code> are used with the options
|
||||
<code>"-g -O2"</code>.
|
||||
</li>
|
||||
<li><code>LDFLAGS</code> - An environment variable specifying flags to
|
||||
pass when linking programs. These are normally empty, but can be used
|
||||
to direct the linker to use libraries in nonstandard directories. For
|
||||
example, <code>LDFLAGS="-L/usr/X11R6/lib"</code>.
|
||||
</li>
|
||||
<li><code>PKG_CONFIG_PATH</code> - When available, the
|
||||
<code>pkg-config</code> utility is used to search for external libraries
|
||||
on the system. This environment variable is used to control the search
|
||||
path for <code>pkg-config</code>. For instance, setting
|
||||
<code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for
|
||||
package metadata in <code>/usr/X11R6</code> before the standard
|
||||
directories.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There are also a few general options for altering the Mesa build:
|
||||
<ul>
|
||||
<li><code>--with-x</code> - When the X11 development libraries are
|
||||
needed, the <code>pkg-config</code> utility <a href="#pkg-config">will
|
||||
be used</a> for locating them. If they cannot be found through
|
||||
<code>pkg-config</code> a fallback routing using <code>imake</code> will
|
||||
be used. In this case, the <code>--with-x</code>,
|
||||
<code>--x-includes</code> and <code>--x-libraries</code> options can
|
||||
control the use of X for Mesa.
|
||||
</li>
|
||||
<li><code>--enable-gl-osmesa</code> - The <a href="osmesa.html">OSMesa
|
||||
library</a> can be built on top of libGL for drivers that provide it.
|
||||
This option controls whether to build libOSMesa. By default, this is
|
||||
enabled for the Xlib driver and disabled otherwise. Note that this
|
||||
option is different than using OSMesa as the driver.
|
||||
</li>
|
||||
<li><code>--enable-debug</code> - This option will enable compiler
|
||||
options and macros to aid in debugging the Mesa libraries.
|
||||
</li>
|
||||
<li><code>--disable-asm</code> - There are assembly routines
|
||||
available for a few architectures. These will be used by default if
|
||||
one of these architectures is detected. This option ensures that
|
||||
assembly will not be used.
|
||||
</li>
|
||||
<li><code>--enable-32-bit, --enable-64-bit</code> - By default, the
|
||||
build will compile code as directed by the environment variables
|
||||
<code>CC</code>, <code>CFLAGS</code>, etc. If the compiler is
|
||||
<code>gcc</code>, these options offer a helper to add the compiler flags
|
||||
to force 32- or 64-bit code generation as used on the x86 and x86_64
|
||||
architectures.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
<a name="driver">
|
||||
<h2>2. Driver Options</h2>
|
||||
|
||||
<p>
|
||||
There are several different driver modes that Mesa can use. These are
|
||||
described in more detail in the <a href="install.html">basic
|
||||
installation instructions</a>. The Mesa driver is controlled through the
|
||||
configure option --with-driver. There are currently three supported
|
||||
options in the configure script.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<a name="xlib">
|
||||
<li><b><em>Xlib</em></b> - This is the default mode for building Mesa.
|
||||
It uses Xlib as a software renderer to do all rendering. It corresponds
|
||||
to the option <code>--with-driver=xlib</code>. The libX11 and libXext
|
||||
libraries, as well as the X11 development headers, will be need to
|
||||
support the Xlib driver.
|
||||
</li>
|
||||
|
||||
<a name="dri">
|
||||
<li><b><em>DRI</em></b> - This mode uses the DRI hardware drivers for
|
||||
accelerated OpenGL rendering. Enable the DRI drivers with the option
|
||||
<code>--with-driver=dri</code>. See the <a href="install.html">basic
|
||||
installation instructions</a> for details on prerequisites for the DRI
|
||||
drivers.
|
||||
</li>
|
||||
|
||||
<!-- DRI specific options -->
|
||||
<p>
|
||||
<ul>
|
||||
<li><code>--with-dri-driverdir=DIR</code> - This option specifies the
|
||||
location the DRI drivers will be installed to and the location libGL
|
||||
will search for DRI drivers. The default is <code>${libdir}/dri</code>.
|
||||
</li>
|
||||
<li><code>--with-dri-drivers=DRIVER,DRIVER,...</code> - This option
|
||||
allows a specific set of DRI drivers to be built. For example,
|
||||
<code>--with-dri-drivers="swrast,i965,radeon,nouveau"</code>. By
|
||||
default, the drivers will be chosen depending on the target platform.
|
||||
See the directory <code>src/mesa/drivers/dri</code> in the source tree
|
||||
for available drivers. Beware that the swrast DRI driver is used by both
|
||||
libGL and the X.Org xserver GLX module to do software rendering, so you
|
||||
may run into problems if it is not available.</li>
|
||||
<!-- This explanation might be totally bogus. Kristian? -->
|
||||
<li><code>--disable-driglx-direct</code> - Disable direct rendering in
|
||||
GLX. Normally, direct hardware rendering through the DRI drivers and
|
||||
indirect software rendering are enabled in GLX. This option disables
|
||||
direct rendering entirely. It can be useful on architectures where
|
||||
kernel DRM modules are not available.
|
||||
</li>
|
||||
<li><code>--enable-glx-tls</code> - Enable Thread Local Storage (TLS) in
|
||||
GLX.
|
||||
</li>
|
||||
<li><code>--with-expat=DIR</code> - The DRI-enabled libGL uses expat to
|
||||
parse the DRI configuration files in <code>/etc/drirc</code> and
|
||||
<code>~/.drirc</code>. This option allows a specific expat installation
|
||||
to be used. For example, <code>--with-expat=/usr/local</code> will
|
||||
search for expat headers and libraries in <code>/usr/local/include</code>
|
||||
and <code>/usr/local/lib</code>, respectively.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<a name="osmesa">
|
||||
<li><b><em>OSMesa</em></b> - No libGL is built in this
|
||||
mode. Instead, the driver code is built into the Off-Screen Mesa
|
||||
(OSMesa) library. See the <a href="osmesa.html">Off-Screen Rendering</a>
|
||||
page for more details.
|
||||
</li>
|
||||
|
||||
<!-- OSMesa specific options -->
|
||||
<p>
|
||||
<ul>
|
||||
<li><code>--with-osmesa-bits=BITS</code> - This option allows the size
|
||||
of the color channel in bits to be specified. By default, an 8-bit
|
||||
channel will be used, and the driver will be named libOSMesa. Other
|
||||
options are 16- and 32-bit color channels, which will add the bit size
|
||||
to the library name. For example, <code>--with-osmesa-bits=16</code>
|
||||
will create the libOSMesa16 library with a 16-bit color channel.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="library">
|
||||
<h2>3. Library Options</h2>
|
||||
|
||||
<p>
|
||||
The configure script provides more fine grained control over the GL
|
||||
libraries that will be built. More details on the specific GL libraries
|
||||
can be found in the <a href="install.html">basic installation
|
||||
instructions</a>.
|
||||
|
||||
<ul>
|
||||
<a name="glu">
|
||||
<li><b><em>GLU</em></b> - The libGLU library will be built by default
|
||||
on all drivers. This can be disable with the option
|
||||
<code>--disable-glu</code>.
|
||||
</li>
|
||||
|
||||
<a name="glw">
|
||||
<li><b><em>GLw</em></b> - The libGLw library will be built by default
|
||||
if libGLU has been enabled. This can be disable with the option
|
||||
<code>--disable-glw</code>.
|
||||
</li>
|
||||
|
||||
<a name="glut">
|
||||
<li><b><em>GLUT</em></b> - The libglut library will be built by default
|
||||
if libGLU has been enabled and the glut source code from the MesaGLUT
|
||||
tarball is available. This can be disable with the option
|
||||
<code>--disable-glut</code>.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
<a name="demos">
|
||||
<h2>4. Demo Program Options</h2>
|
||||
|
||||
<p>
|
||||
There are many demonstration programs in the MesaDemos tarball. If the
|
||||
programs are available when <code>./configure</code> is run, a subset of
|
||||
the programs will be built depending on the driver and library options
|
||||
chosen. See the directory <code>progs</code> for the full set of demos.
|
||||
|
||||
<ul>
|
||||
<li><code>--with-demos=DEMOS,DEMOS,...</code> - This option allows a
|
||||
specific set of demo programs to be built. For example,
|
||||
<code>--with-demos="xdemos,slang"</code>. Beware that if this option is
|
||||
used, it will not be ensured that the necessary GL libraries will be
|
||||
available.
|
||||
</li>
|
||||
<li><code>--without-demos</code> - This completely disables building the
|
||||
demo programs. It is equivalent to <code>--with-demos=no</code>.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -9,9 +9,9 @@
|
||||
<H1>Bug Database</H1>
|
||||
|
||||
<p>
|
||||
The Mesa bug database is hosted on
|
||||
<a href="http://freedesktop.org" target="_parent">freedesktop.org</a>.
|
||||
The old bug database on SourceForge is no longer used.
|
||||
The Mesa bug database is now hosted on
|
||||
<a href="http://freedesktop.org" target="_parent">freedesktop.org</a>
|
||||
instead of SourceForge.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -26,20 +26,16 @@ Please follow these bug reporting guidelines:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Check if a new version of Mesa is available which might have fixed
|
||||
the problem.
|
||||
<li>Check if your bug is already reported in the database.
|
||||
<li>Monitor your bug report for requests for additional information, etc.
|
||||
<li>If you're reporting a crash, try to use your debugger (gdb) to get a stack
|
||||
trace. Also, recompile Mesa in debug mode to get more detailed information.
|
||||
<li>Describe in detail how to reproduce the bug, especially with games
|
||||
and applications that the Mesa developers might not be familiar with.
|
||||
<li>Make sure you're using the most recent version of Mesa
|
||||
<li>Make sure your bug isn't already reported
|
||||
<li>Include as much information as possible in the report
|
||||
<li>Provide a simple GLUT-based test program if possible
|
||||
<li>Check back for follow-ups to the report
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Bug reports will automatically be forwarded by bugzilla to the Mesa
|
||||
developer's mailing list.
|
||||
Bug reports will automatically be forwarded to the Mesa developer's mailing
|
||||
list.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
137
docs/cell.html
137
docs/cell.html
@@ -1,137 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Cell Driver</TITLE>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<H1>Mesa/Gallium Cell Driver</H1>
|
||||
|
||||
<p>
|
||||
The Mesa
|
||||
<a href="http://en.wikipedia.org/wiki/Cell_%28microprocessor%29" target="_parent">Cell</a>
|
||||
driver is part of the
|
||||
<a href="http://www.tungstengraphics.com/wiki/index.php/Gallium3D" target="_parent">Gallium3D</a>
|
||||
architecture.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="http://www.tungstengraphics.com/" target="_parent">Tungsten Graphics</a>
|
||||
is leading the project.
|
||||
Two phases are planned.
|
||||
First, to implement the framework for parallel rasterization using the Cell
|
||||
SPEs, including texture mapping.
|
||||
Second, to implement a full-featured OpenGL driver with support for GLSL, etc.
|
||||
The second phase is now underway.
|
||||
</p>
|
||||
|
||||
|
||||
<H2>Source Code</H2>
|
||||
|
||||
<p>
|
||||
The latest Cell driver source code is on the <code>gallium-0.2</code> branch
|
||||
of the Mesa git repository.
|
||||
After you've cloned the repository, check out the branch with:
|
||||
</p>
|
||||
<pre>
|
||||
git-checkout -b gallium-0.2 origin/gallium-0.2
|
||||
</pre>
|
||||
<p>
|
||||
To build the driver you'll need the IBM Cell SDK (version 2.1 or 3.0).
|
||||
To use the driver you'll need a Cell system, such as a PS3 running Linux,
|
||||
or the Cell Simulator (untested, though).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If using Cell SDK 2.1, see the configs/linux-cell file for some
|
||||
special changes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To compile the code, run <code>make linux-cell</code>.
|
||||
To build in debug mode, run <code>make linux-cell-debug</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To use the library, make sure <code>LD_LIBRARY_PATH</code> points the Mesa/lib/
|
||||
directory that contains <code>libGL.so</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Verify that the Cell driver is being used by running <code>glxinfo</code>
|
||||
and looking for:
|
||||
<pre>
|
||||
OpenGL renderer string: Gallium 0.2, Cell on Xlib
|
||||
</pre>
|
||||
|
||||
|
||||
<H2>Driver Implementation Summary</H2>
|
||||
|
||||
<p>
|
||||
Rasterization is parallelized across the SPUs in a tiled-based manner.
|
||||
Batches of transformed triangles are sent to the SPUs (actually, pulled by from
|
||||
main memory by the SPUs).
|
||||
Each SPU loops over a set of 32x32-pixel screen tiles, rendering the triangles
|
||||
into each tile.
|
||||
Because of the limited SPU memory, framebuffer tiles are paged in/out of
|
||||
SPU local store as needed.
|
||||
Similarly, textures are tiled and brought into local store as needed.
|
||||
</p>
|
||||
|
||||
|
||||
<H2>Status</H2>
|
||||
|
||||
<p>
|
||||
As of September 2008, the driver supports smooth/flat shaded triangle rendering
|
||||
with Z testing and simple texture mapping.
|
||||
Simple demos like gears run successfully.
|
||||
To test texture mapping, try progs/demos/texcyl (press right mouse button for
|
||||
rendering options).
|
||||
</p>
|
||||
<p>
|
||||
Runtime/dynamic code generation is being done for per-fragment
|
||||
operations (Z test, blend, etc) and for fragment programs (though only a
|
||||
few opcodes are implemented now).
|
||||
</p>
|
||||
<p>
|
||||
In general, however, the driver is rather slow because all vertex
|
||||
transformation is being done by an interpreter running on the PPU.
|
||||
Programs with many vertices or complex vertex shaders will run especially
|
||||
slow.
|
||||
This will be addressed in the future.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<H2>Debug Options</H2>
|
||||
|
||||
<p>
|
||||
The CELL_DEBUG env var can be set to a comma-separated list of one or
|
||||
more of the following debug options:
|
||||
</p>
|
||||
<ul>
|
||||
<li><b>checker</b> - use a different background clear color for each SPU.
|
||||
This lets you see which SPU is rendering which screen tiles.
|
||||
<li><b>sync</b> - wait/synchronize after each DMA transfer
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
If the GALLIUM_NOCELL env var is set, the softpipe driver will be used
|
||||
intead of the Cell driver.
|
||||
This is useful for comparison/validation.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<H2>Contributing</H2>
|
||||
|
||||
<p>
|
||||
If you're interested in contributing to the effort, familiarize yourself
|
||||
with the code, join the <a href="lists.html">mesa3d-dev mailing list</a>,
|
||||
and describe what you'd like to do.
|
||||
</p>
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
@@ -48,7 +48,6 @@ a:visited {
|
||||
<li><a href="lists.html" target="MainFrame">Mailing Lists</a>
|
||||
<li><a href="bugs.html" target="MainFrame">Bug Database</a>
|
||||
<li><a href="webmaster.html" target="MainFrame">Webmaster</a>
|
||||
<li><a href="http://dri.freedesktop.org/" target="MainFrame">Wiki</a>
|
||||
</ul>
|
||||
|
||||
<b>User Topics</b>
|
||||
@@ -76,7 +75,6 @@ a:visited {
|
||||
<li><a href="subset.html" target="MainFrame">Mesa Subset Driver</a>
|
||||
<li><a href="glfbdev-driver.html" target="MainFrame">glFBDev Driver</a>
|
||||
<LI><A HREF="dispatch.html" target="MainFrame">GL Dispatch</A>
|
||||
<li><a href="cell.html" target="MainFrame">Cell Driver</A>
|
||||
</ul>
|
||||
|
||||
<b>Links</b>
|
||||
|
@@ -135,12 +135,12 @@ Update the docs/VERSIONS file too.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Edit the MESA_MAJOR, MESA_MINOR and MESA_TINY version numbers in
|
||||
configs/default.
|
||||
Edit configs/default and change the MESA_MAJOR, MESA_MINOR and MESA_TINY
|
||||
version numbers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Make sure the values in src/mesa/main/version.h are correct.
|
||||
Make sure the values in src/mesa/main/version.h is correct.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@@ -9,9 +9,7 @@
|
||||
<H1>Downloading</H1>
|
||||
|
||||
<p>
|
||||
Current stable release: <b>7.2</b>
|
||||
<br>
|
||||
Current development: Mesa git/master
|
||||
Last stable release: <b>7.0</b>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -20,11 +18,6 @@ Primary download site:
|
||||
target="_parent">SourceForge</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When a new release is coming, release candidates (betas) can be found
|
||||
<a href="http://www.mesa3d.org/beta/">here</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
Mesa is distributed in several parts:
|
||||
|
@@ -187,7 +187,24 @@ has Mesa packages (like RPM or DEB) which you can easily install.
|
||||
</a></p>
|
||||
|
||||
|
||||
<h2><a name="part2">2.2 I get undefined symbols such as bgnpolygon, v3f, etc...</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>
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
<h2><a name="part2">2.3 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)
|
||||
@@ -196,7 +213,7 @@ Mesa's not the solution.
|
||||
</a></p>
|
||||
|
||||
|
||||
<h2><a name="part2">2.3 Where is the GLUT library?</a></h2>
|
||||
<h2><a name="part2">2.4 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
|
||||
@@ -205,7 +222,7 @@ package and compile it with the rest of Mesa.
|
||||
|
||||
|
||||
|
||||
<h2><a name="part2">2.4 What's the proper place for the libraries and headers?</a></h2>
|
||||
<h2><a name="part2">2.5 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"
|
||||
@@ -325,12 +342,12 @@ will fix the problem.
|
||||
|
||||
<h2>4.1 How can I contribute?</a></h2>
|
||||
<p>
|
||||
First, join the <a href="http://www.mesa3d.org/lists.html">Mesa3d-dev
|
||||
First, join the <a href="http://www.mesa3d.org/lists.html>Mesa3d-dev
|
||||
mailing list</a>.
|
||||
That's where Mesa development is discussed.
|
||||
</p>
|
||||
</a></p>
|
||||
<p>
|
||||
The <a href="http://www.opengl.org/documentation" target="_parent">
|
||||
The </a><a href="http://www.opengl.org/documentation" target="_parent">
|
||||
OpenGL Specification</a> is the bible for OpenGL implemention work.
|
||||
You should read it.
|
||||
</p>
|
||||
|
@@ -1,15 +1,15 @@
|
||||
<html><head><title>Mesa fbdev/DRI Environment</title>
|
||||
|
||||
<html>
|
||||
|
||||
<TITLE>Mesa fbdev/DRI Environment</TITLE>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<body>
|
||||
<BODY>
|
||||
|
||||
<center><h1>Mesa fbdev/DRI Drivers</h1></center>
|
||||
<br>
|
||||
<center><H1>Mesa fbdev/DRI Drivers</H1></center>
|
||||
|
||||
<h1>1. Introduction</h1>
|
||||
|
||||
<H1>1. Introduction</H1>
|
||||
|
||||
<p>
|
||||
The fbdev/DRI environment supports hardware-accelerated 3D rendering without
|
||||
@@ -22,131 +22,48 @@ Contributors to this project include Jon Smirl, Keith Whitwell and Dave Airlie.
|
||||
|
||||
<p>
|
||||
Applications in the fbdev/DRI environment use
|
||||
the <a href="http://www.nabble.com/file/p15480666/MiniGXL.html"> MiniGLX</a> interface to choose pixel
|
||||
the <a href="MiniGXL.html"> MiniGLX</a> interface to choose pixel
|
||||
formats, create rendering contexts, etc. It's a subset of the GLX and
|
||||
Xlib interfaces allowing some degree of application portability between
|
||||
the X and X-less environments.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note that this environment is not well-supported and these instructions
|
||||
may not be completely up to date.
|
||||
</p>
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
<h1>2. Compilation</h1>
|
||||
|
||||
<p>
|
||||
|
||||
<h2>2.1 glxproto</h2>
|
||||
|
||||
Get <a href="http://cvsweb.xfree86.org/cvsweb/*checkout*/xc/include/GL/glxproto.h?rev=1.9">glxproto.h</a>. Copy it to the /mesa/include/GL/ directory.
|
||||
You'll need the DRM and pciaccess libraries. Check with:
|
||||
</p>
|
||||
|
||||
<h2>2.2 libpciaccess</h2>
|
||||
<p>
|
||||
Check if you have libpciaccess installed:
|
||||
</p>
|
||||
|
||||
<pre>pkg-config --modversion pciaccess
|
||||
</pre>
|
||||
<p>
|
||||
If not you can download the latest code from:
|
||||
</p>
|
||||
<pre> git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess
|
||||
</pre>
|
||||
<p>
|
||||
Run autogen.sh to generate a configure file. autogen.sh uses autoconf
|
||||
utility. This utility may not be installed with your linux distro,
|
||||
check if it is available. if not you can use your package manager or
|
||||
type:
|
||||
</p>
|
||||
<pre>sudo apt-get install autoconf
|
||||
</pre>
|
||||
The next step is to install the libpciaccess library.
|
||||
<pre>make
|
||||
make install
|
||||
</pre>
|
||||
<p> Now your libpciaccess.a file is saved into /usr/local/lib
|
||||
directory. If you have a libpciaccess.a in /usr/lib you may simply copy
|
||||
and overwrite these files. Don't forget to copy libpciaccess.pc file to
|
||||
/usr/lib/pkgconfig, which is also located in /usr/local/lib/pkgconfig/.
|
||||
Or you may use the following system variables:
|
||||
</p>
|
||||
<pre>export LD_LIBRARY_PATH=/usr/local/lib
|
||||
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
|
||||
</pre>
|
||||
|
||||
<h2>2.3 drm</h2>
|
||||
|
||||
<p>The next step is to compile the drm. DRM consists of two seperate parts,
|
||||
the DRM client library(lindrm.so) and kernel device module(such as
|
||||
radeon.ko). We need to make a small change in kernel device module. So
|
||||
you need to download the kernel source. You may choose the nearest
|
||||
mirror from www.kernel.org, or you are using Fedora Core 5, for
|
||||
example, you may need to install RPMs such as:
|
||||
kernel-smp-devel-2.16.15-1.2054_FC5.i686.rpm
|
||||
kernel-devel-2.6.15-1.2054_FC5.i686.rpm
|
||||
etc. You can find a detailed information <a href="http://www.howtoforge.com/kernel_compilation_fedora">here.</a>
|
||||
</p>
|
||||
|
||||
<p>You will find drm_drv.c at /usr/src/LINUX-VERSION/drivers/char/drm/. Edit this code and comment out the following part:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
/* ||
|
||||
((ioctl->flags & DRM_MASTER) && !priv->master)*/
|
||||
pkg-config --modversion libdrm
|
||||
pkg-config --modversion pciaccess
|
||||
</pre>
|
||||
Now you are ready to compile your kernel. If your kernel version is
|
||||
identical to the version you have compiled, you can simply over write
|
||||
your new "ko" files over older ones. If you have compiled a different
|
||||
kernel, you must configure your grub or lilo to be able to boot your
|
||||
new kernel. <p>
|
||||
|
||||
<p>
|
||||
You can get them from the git repository with:
|
||||
</p>
|
||||
<pre>
|
||||
git clone git://anongit.freedesktop.org/git/mesa/drm
|
||||
git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
See the README files in those projects for build/install instructions.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
You'll need fbdev header files. Check with:
|
||||
</p>
|
||||
<pre>
|
||||
ls -l /usr/include/linux/fb.
|
||||
</pre>
|
||||
<p>This file may be missing if you have not installed linux header files.
|
||||
|
||||
|
||||
<h2>2.4 Mesa</h2>
|
||||
|
||||
</p><p>Get latest development Mesa sources from git repository
|
||||
(currently 7.1-prerelease)
|
||||
</p>
|
||||
<pre>
|
||||
git clone git://anongit.freedesktop.org/git/mesa/mesa
|
||||
ls -l /usr/include/linux/fb.h
|
||||
</pre>
|
||||
|
||||
<p>You will need the makedepend utility which is a part of mesa project
|
||||
to build your linux-solo. You probably wont have this utility. You can
|
||||
download its source from following git repulsitory:
|
||||
<p>
|
||||
Compile Mesa with the 'linux-solo' configuration:
|
||||
</p>
|
||||
<pre>
|
||||
git clone git://anongit.freedesktop.org/git/xorg/util/makedepend
|
||||
</pre>
|
||||
|
||||
<p>Get the latest stable mesa version from SourceForge (currently 7.0.3)
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=3">http://sourceforge.net/project/showfiles.php?group_id=3</a>
|
||||
</p>
|
||||
|
||||
<p>Copy the miniglx folder from 7.1-prerelease to 7.0.3.
|
||||
You may also extract GLUT to 7.0.3 version at this step.
|
||||
</p>
|
||||
|
||||
<p>Edit linux-solo.conf at /conf directory, just only compile the
|
||||
graphics driver you need, delete the unwanted drivers names from the
|
||||
list(some drivers are causing problems...)
|
||||
</p>
|
||||
<pre>
|
||||
while(build==0)
|
||||
{
|
||||
make linux-solo
|
||||
|
||||
There will be some missing header files, copy them from 7.1-prerelease
|
||||
}
|
||||
make linux-solo
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -154,40 +71,22 @@ When complete you should have the following:
|
||||
</p>
|
||||
<ul>
|
||||
<li>lib/libGL.so - the GL library which applications link with
|
||||
</li><li>lib/*_dri_so - DRI drivers
|
||||
</li><li>lib/miniglx.conf - sample MiniGLX config file
|
||||
</li><li>progs/miniglx/* - several MiniGLX sample programs
|
||||
</li></ul>
|
||||
<li>lib/*_dri_so - DRI drivers
|
||||
<li>lib/miniglx.conf - sample MiniGLX config file
|
||||
<li>progs/miniglx/* - several MiniGLX sample programs
|
||||
</ul>
|
||||
|
||||
To install these files into appropriate locations in system:
|
||||
<pre>
|
||||
make install
|
||||
</pre>
|
||||
|
||||
Now your openGL libraries are copied to /usr/local/lib and
|
||||
miniglx.conf is copied to /etc. You may copy them to /usr/lib and
|
||||
overwrite your old GL libraries. Or you may export following variable:
|
||||
|
||||
<pre>
|
||||
export LIBGL_DRIVERS_PATH=/usr/local/lib
|
||||
</pre>
|
||||
<br>
|
||||
|
||||
|
||||
<h1>3. Using fbdev/DRI</h1>
|
||||
|
||||
<p>
|
||||
If an X server currently running, exit/stop it so you're working from
|
||||
the console. Following command shuts down the x window and also the multi user support.
|
||||
the console.
|
||||
</p>
|
||||
<pre>
|
||||
init 1
|
||||
</pre>
|
||||
|
||||
<p>Also you may define the runlevel as 1 in "/etc/inittab". Your system
|
||||
will always start in single user mode and without x-window with this
|
||||
option set.
|
||||
</p><h2>3.1 Load Kernel Modules</h2>
|
||||
|
||||
<h2>3.1 Load Kernel Modules</h2>
|
||||
|
||||
<p>
|
||||
You'll need to load the kernel modules specific to your graphics hardware.
|
||||
@@ -201,7 +100,8 @@ As root, the kernel modules can be loaded as follows:
|
||||
<p>
|
||||
If you have Intel i915/i945 hardware:
|
||||
</p>
|
||||
<pre> modprobe agpgart # the AGP GART module
|
||||
<pre>
|
||||
modprobe agpgart # the AGP GART module
|
||||
modprobe intelfb # the Intel fbdev driver
|
||||
modprobe i915 # the i915/945 DRI kernel module
|
||||
</pre>
|
||||
@@ -209,7 +109,8 @@ If you have Intel i915/i945 hardware:
|
||||
<p>
|
||||
If you have ATI Radeon/R200 hardware:
|
||||
</p>
|
||||
<pre> modprobe agpgart # the AGP GART module
|
||||
<pre>
|
||||
modprobe agpgart # the AGP GART module
|
||||
modprobe radeonfb # the Radeon fbdev driver
|
||||
modprobe radeon # the Radeon DRI kernel module
|
||||
</pre>
|
||||
@@ -217,7 +118,8 @@ If you have ATI Radeon/R200 hardware:
|
||||
<p>
|
||||
If you have ATI Rage 128 hardware:
|
||||
</p>
|
||||
<pre> modprobe agpgart # the AGP GART module
|
||||
<pre>
|
||||
modprobe agpgart # the AGP GART module
|
||||
modprobe aty128fb # the Rage 128 fbdev driver
|
||||
modprobe r128 # the Rage 128 DRI kernel module
|
||||
</pre>
|
||||
@@ -225,7 +127,8 @@ If you have ATI Rage 128 hardware:
|
||||
<p>
|
||||
If you have Matrox G200/G400 hardware:
|
||||
</p>
|
||||
<pre> modprobe agpgart # the AGP GART module
|
||||
<pre>
|
||||
modprobe agpgart # the AGP GART module
|
||||
modprobe mgafb # the Matrox fbdev driver
|
||||
modprobe mga # the Matrox DRI kernel module
|
||||
</pre>
|
||||
@@ -233,7 +136,8 @@ If you have Matrox G200/G400 hardware:
|
||||
<p>
|
||||
To verify that the agpgart, fbdev and drm modules are loaded:
|
||||
</p>
|
||||
<pre> ls -l /dev/agpgart /dev/fb* /dev/dri
|
||||
<pre>
|
||||
ls -l /dev/agpgart /dev/fb* /dev/dri
|
||||
</pre>
|
||||
<p>
|
||||
Alternately, use lsmod to inspect the currently installed modules.
|
||||
@@ -244,15 +148,16 @@ If you have problems, look at the output of dmesg.
|
||||
<h2>3.2 Configuration File</h2>
|
||||
|
||||
<p>
|
||||
review/edit /etc/miniglx.conf.
|
||||
Copy the sample miniglx.conf to /etc/miniglx.conf and review/edit its contents.
|
||||
Alternately, the MINIGLX_CONF environment variable can be used to
|
||||
indicate the location of miniglx.conf
|
||||
</p>
|
||||
|
||||
To determine the pciBusID value, run lspci and examine the output.
|
||||
For example:
|
||||
<p></p>
|
||||
<pre> /sbin/lspci:
|
||||
</p>
|
||||
<pre>
|
||||
/sbin/lspci:
|
||||
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 04)
|
||||
</pre>
|
||||
<p>
|
||||
@@ -275,13 +180,15 @@ for example.
|
||||
Change to the <code>Mesa/progs/miniglx/</code> directory and
|
||||
start the sample_server program in the background:
|
||||
</p>
|
||||
<pre> ./sample_server &
|
||||
<pre>
|
||||
./sample_server &
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Then try running the <code>miniglxtest</code> program:
|
||||
</p>
|
||||
<pre> ./miniglxtest
|
||||
<pre>
|
||||
./miniglxtest
|
||||
</pre>
|
||||
<p>
|
||||
You should see a rotating quadrilateral which changes color as it rotates.
|
||||
@@ -292,7 +199,7 @@ It will exit automatically after a bit.
|
||||
If you run other tests in the miniglx/ directory, you may want to run
|
||||
them from a remote shell so that you can stop them with ctrl-C.
|
||||
</p>
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
<h1>4.0 Troubleshooting</h1>
|
||||
@@ -301,7 +208,8 @@ them from a remote shell so that you can stop them with ctrl-C.
|
||||
<li>
|
||||
If you try to run miniglxtest and get the following:
|
||||
<br>
|
||||
<pre> [miniglx] failed to probe chipset
|
||||
<pre>
|
||||
[miniglx] failed to probe chipset
|
||||
connect: Connection refused
|
||||
server connection lost
|
||||
</pre>
|
||||
@@ -315,7 +223,7 @@ It means that the sample_server process is not running.
|
||||
<h1>5.0 Programming Information</h1>
|
||||
|
||||
<p>
|
||||
OpenGL/Mesa is interfaced to fbdev via the <a href="http://www.nabble.com/file/p15480666/MiniGLX.html">MiniGLX</a>
|
||||
OpenGL/Mesa is interfaced to fbdev via the <a href="MiniGLX.html">MiniGLX</a>
|
||||
interface.
|
||||
MiniGLX is a subset of Xlib and GLX API functions which provides just
|
||||
enough functionality to setup OpenGL rendering and respond to simple
|
||||
@@ -336,6 +244,5 @@ See the <code>GL/miniglx.h</code> header file for details.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
<BODY>
|
||||
|
||||
<H1>Help Wanted / To-Do List</H1>
|
||||
<H1>Help Wanted</H1>
|
||||
|
||||
<p>
|
||||
We can always use more help with the Mesa project.
|
||||
@@ -14,13 +14,36 @@ Here are some specific ideas and areas where help would be appreciated:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Enable -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing
|
||||
issues in the code.
|
||||
<li>
|
||||
Windows 98/NT driver building, maintenance and testing
|
||||
<li>
|
||||
Maintenance and testing of lesser-used drivers, such as DOS/DJGPP, GGI, etc.
|
||||
<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>
|
||||
|
||||
|
||||
|
@@ -21,42 +21,10 @@
|
||||
<a name="unix-x11">
|
||||
<H2>1. Unix/X11 Compilation and Installation</H1>
|
||||
|
||||
|
||||
<h3>1.1 Prerequisites for DRI and Hardware Acceleration</h3>
|
||||
<h3>1.1 Compilation</h3>
|
||||
|
||||
<p>
|
||||
To build Mesa 7.1 with DRI-based hardware acceleration you must first have
|
||||
the <a href="http://dri.freedesktop.org/libdrm/" target="_parent">DRM version 2.3.1</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You should also be using the Xorg server version 1.4 or 1.5.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h3>1.2 Autoconf Compilation</h3>
|
||||
|
||||
<p>
|
||||
Mesa may be <a href="autoconf.html">built using autoconf</a>.
|
||||
This should work well on most GNU-based systems.
|
||||
When that fails, the traditional Mesa build system is available.
|
||||
|
||||
|
||||
|
||||
<h3>1.3 Traditional Compilation</h3>
|
||||
|
||||
<p>
|
||||
The traditional Mesa build system is based on a collection of pre-defined
|
||||
system configurations.
|
||||
</p>
|
||||
<p>
|
||||
To see the list of configurations, type <b>make</b> alone.
|
||||
Then choose a configuration from the list and type <b>make configname</b>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa may be built in several different ways using the predefined configurations:
|
||||
Mesa may be compiled in several different ways:
|
||||
</p>
|
||||
<ul>
|
||||
<li><b><em>Stand-alone/Xlib mode</em></b> - Mesa will be compiled as
|
||||
@@ -81,6 +49,62 @@ accelerated OpenGL rendering (for ATI, Intel, Matrox, etc) will be built.
|
||||
The libGL.so library will support the GLX extension and will load/use
|
||||
the DRI hardware drivers.
|
||||
|
||||
<p>
|
||||
<b>Prerequisites:</b>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
DRM kernel modules and header files from the
|
||||
<a href="http://dri.sf.net/" target="_parent">DRI</a> project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you don't already have the DRM file, you can get the sources from
|
||||
CVS by doing:
|
||||
<pre>
|
||||
cvs -z3 -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri co drm
|
||||
</pre>
|
||||
<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. Mesa
|
||||
6.5 requires at least libdrm 2.0.1 or greater.
|
||||
</p>
|
||||
<p>
|
||||
You can verify that the DRM files have been properly installed by
|
||||
running <code>pkg-config --modversion libdrm</code>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Recent /usr/include/GL/glxproto.h file.
|
||||
<p>You'll need this if you get any errors about _GLXvop_BindTexImageEXT
|
||||
being undefined.
|
||||
</p>
|
||||
<p>
|
||||
Download/install the
|
||||
<a href="http://gitweb.freedesktop.org/?p=xorg/proto/glproto.git">glproto</a>
|
||||
module from X.org git, or grab the
|
||||
<A href="http://webcvs.freedesktop.org/*checkout*/xorg/proto/GL/glxproto.h?rev=1.9&content-type=text%2Fplain">glxproto.h file</a> and put it in the
|
||||
Mesa/include/GL/ directory.
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>DRI-enabled X server.
|
||||
<p>Visit
|
||||
<a href="http://www.xfree86.org" target="_parent">XFree86</a>
|
||||
or
|
||||
<a href="http://freedesktop.org/wiki/Software_2fXserver" target="_parent">
|
||||
X.org</a>
|
||||
for more information.
|
||||
</p>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p>
|
||||
Build Mesa and the DRI hardware drivers by running
|
||||
@@ -93,13 +117,8 @@ There are also <code>linux-dri-x86</code>, <code>linux-dri-x86-64</code>,
|
||||
and <code>linux-ppc</code> configurations which are optimized for those
|
||||
architectures.
|
||||
</p>
|
||||
<p>
|
||||
Make sure you have the prerequisite versions of DRM and Xserver mentioned
|
||||
above.
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -109,7 +128,7 @@ Later, if you want to rebuild for a different configuration run
|
||||
</p>
|
||||
|
||||
|
||||
<h3>1.4 The libraries</h3>
|
||||
<h3>1.2 The libraries</h3>
|
||||
|
||||
<p>
|
||||
When compilation has finished, look in the top-level <code>lib/</code>
|
||||
@@ -150,15 +169,15 @@ lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSM
|
||||
If you built the DRI hardware drivers, you'll also see the DRI drivers:
|
||||
</p>
|
||||
<pre>
|
||||
-rwxr-xr-x 1 brian users 15607851 Jul 21 12:11 ffb_dri.so
|
||||
-rwxr-xr-x 1 brian users 15148747 Jul 21 12:11 i810_dri.so
|
||||
-rwxr-xr-x 1 brian users 14497814 Jul 21 12:11 i830_dri.so
|
||||
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so
|
||||
-rwxr-xr-x 1 brian users 15607851 Jul 21 12:11 ffb_dri.so*
|
||||
-rwxr-xr-x 1 brian users 15148747 Jul 21 12:11 i810_dri.so*
|
||||
-rwxr-xr-x 1 brian users 14497814 Jul 21 12:11 i830_dri.so*
|
||||
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so*
|
||||
-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 16050488 Jul 21 12:11 r300_dri.so
|
||||
-rwxr-xr-x 1 brian users 16050488 Jul 21 12:11 r300_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
|
||||
@@ -169,7 +188,7 @@ If you built the DRI hardware drivers, you'll also see the DRI drivers:
|
||||
</pre>
|
||||
|
||||
|
||||
<h3>1.5 Running the demos</h3>
|
||||
<h3>1.3 Running the demos</h3>
|
||||
|
||||
<p>
|
||||
If you downloaded/unpacked the MesaDemos-x.y.z.tar.gz archive or
|
||||
@@ -178,15 +197,18 @@ bunch of demonstration programs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Before running a demo, you'll probably have to set two environment variables
|
||||
to indicate where the libraries are located. For example:
|
||||
Before running a demo, you may have to set an environment variable
|
||||
(such as <b>LD_LIBRARY_PATH</b> on Linux) to indicate where the
|
||||
libraries are located. For example:
|
||||
<p>
|
||||
<blockquote>
|
||||
<b>cd lib/</b>
|
||||
<b>cd</b> into the Mesa <b>lib/</b> directory.
|
||||
<br>
|
||||
<b>export LD_LIBRARY_PATH=${PWD}</b>
|
||||
<b>setenv LD_LIBRARY_PATH ${cwd}</b> (if using csh or tcsh shell)
|
||||
<br>
|
||||
<b>export LIBGL_DRIVERS_PATH=${PWD}</b> (if using DRI drivers)
|
||||
or,
|
||||
<br>
|
||||
<b>export LD_LIBRARY_PATH=${PWD}</b> (if using bash or sh shell)
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
@@ -244,7 +266,7 @@ Retrace your steps if this doesn't look right.
|
||||
</p>
|
||||
|
||||
|
||||
<H3>1.6 Installing the header and library files</H3>
|
||||
<H3>1.4 Installing the header and library files</H3>
|
||||
|
||||
<p>
|
||||
The standard location for the OpenGL header files on Unix-type systems is
|
||||
@@ -265,15 +287,7 @@ already installed, you'll have to choose different directories, like
|
||||
To install Mesa's headers and libraries, run <code>make install</code>.
|
||||
But first, check the Mesa/configs/default file and examine the values
|
||||
of the <b>INSTALL_DIR</b> and <b>DRI_DRIVER_INSTALL_DIR</b> variables.
|
||||
Change them if needed, then run <code>make install</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The variable
|
||||
<b>DESTDIR</b> may also be used to install the contents to a temporary
|
||||
staging directory.
|
||||
This can be useful for package management.
|
||||
For example: <code>make install DESTDIR=/somepath/</code>
|
||||
Change them if needed, then run <code>make install</code>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -284,26 +298,6 @@ This is a handy way to compare multiple OpenGL implementations.
|
||||
</p>
|
||||
|
||||
|
||||
<H3>1.7 Building OpenGL Programs With pkg-config</H3>
|
||||
|
||||
<p>
|
||||
Running <code>make install</code> will install package configuration files
|
||||
for the pkg-config utility.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When compiling your OpenGL application you can use pkg-config to determine
|
||||
the proper compiler and linker flags.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, compiling and linking a GLUT application can be done with:
|
||||
</p>
|
||||
<pre>
|
||||
gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
|
||||
</pre>
|
||||
|
||||
<br>
|
||||
|
||||
<a name="windows">
|
||||
<H2>2. Windows Compilation and Installation</H1>
|
||||
|
@@ -22,10 +22,9 @@ for modern GPUs.
|
||||
|
||||
<p>
|
||||
Mesa ties into several other open-source projects: the
|
||||
<a href="http://dri.freedesktop.org/" target="_parent">Direct Rendering
|
||||
Infrastructure</a> and <a href="http://x.org" target="_parent">X.org</a> to
|
||||
provide OpenGL support to users of X on Linux, FreeBSD and other operating
|
||||
systems.
|
||||
<a href="http://dri.sf.net/" target="_parent">Direct Rendering Infrastructure</a>
|
||||
and <a href="http://x.org" target="_parent">X.org</a> to provide OpenGL
|
||||
support to users of X on Linux, FreeBSD and other operating systems.
|
||||
</p>
|
||||
|
||||
|
||||
|
@@ -86,32 +86,29 @@ and their respective licenses.
|
||||
<H1>Mesa Component Licenses</H1>
|
||||
|
||||
<pre>
|
||||
Component Location License
|
||||
------------------------------------------------------------------
|
||||
Main Mesa code src/mesa/ Mesa (MIT)
|
||||
Component Location Primary Author License
|
||||
----------------------------------------------------------------------------
|
||||
Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
|
||||
|
||||
Device drivers src/mesa/drivers/* MIT, generally
|
||||
Device drivers src/mesa/drivers/* See drivers See drivers
|
||||
|
||||
Ext headers include/GL/glext.h Khronos
|
||||
Ext headers include/GL/glext.h SGI SGI Free B
|
||||
include/GL/glxext.h
|
||||
|
||||
GLUT src/glut/ Mark Kilgard's copyright
|
||||
GLUT src/glut/ Mark Kilgard Mark's copyright
|
||||
|
||||
SGI GLU library src/glu/sgi/ SGI Free B
|
||||
Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
|
||||
|
||||
demo programs progs/demos/ see source files
|
||||
SGI GLU library src/glu/sgi/ SGI SGI Free B
|
||||
|
||||
X demos progs/xdemos/ see source files
|
||||
demo programs progs/demos/ various see source files
|
||||
|
||||
SGI demos progs/samples/ SGI license
|
||||
X demos progs/xdemos/ Brian Paul see source files
|
||||
|
||||
RedBook demos progs/redbook/ SGI license
|
||||
SGI demos progs/samples/ SGI SGI copyright
|
||||
|
||||
RedBook demos progs/redbook/ SGI SGI copyright
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
In general, consult the source files for license terms.
|
||||
</p>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<H1>Mailing Lists</H1>
|
||||
|
||||
|
||||
<p>There are four Mesa 3D / DRI mailing lists:
|
||||
<p>There are four Mesa mailing lists:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
@@ -19,14 +19,14 @@ versions are sent to this list.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-users"
|
||||
target="_parent">mesa3d-users</a> - intended for users of the Mesa and DRI.
|
||||
target="_parent">mesa3d-users</a> - intended for users of the Mesa library.
|
||||
Newbie questions are appropriate, but please try the general OpenGL
|
||||
resources and Mesa/DRI documentation first.
|
||||
resources and Mesa documentation first.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-dev"
|
||||
target="_parent">mesa3d-dev</a> - for discussion of Mesa and Direct Rendering
|
||||
Infrastructure development. Not for beginners.
|
||||
target="_parent">mesa3d-dev</a> - for discussion of Mesa development.
|
||||
Not for beginners.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-commit"
|
||||
@@ -37,9 +37,6 @@ Note: the old mesa3d-cvs list is no longer in use.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>For mailing lists about Direct Rendering Modules (drm) in Linux/BSD
|
||||
kernels, see <a href="http://dri.freedesktop.org/wiki/MailingLists">wiki</a>.
|
||||
|
||||
<p>
|
||||
<b>Notice</b>: non-member posts to any of these lists will be automatically
|
||||
rejected.
|
||||
|
@@ -28,7 +28,7 @@
|
||||
</li><li><a href="http://innovation3d.sourceforge.net/" target="_parent">Innovation3D</a>
|
||||
- 3D modeling program
|
||||
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">KWRL</a> - VRML browser
|
||||
</li><li><a href="http://www.openvrml.org/" target="_parent">LibVRML97/Lookat</a>
|
||||
</li><li><a href="http://www.vermontel.com/%7Ecmorley/vrml.html" target="_parent">LibVRML97/Lookat</a>
|
||||
- VRML viewer
|
||||
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
|
||||
- VR graphics and interaction system
|
||||
|
@@ -11,76 +11,6 @@
|
||||
<H1>News</H1>
|
||||
|
||||
|
||||
<h2>September 20, 2008</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.2.html">Mesa 7.2</a> is released.
|
||||
This is stable, bug-fix release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>August 26, 2008</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.1.html">Mesa 7.1</a> is released.
|
||||
This is a new development release.
|
||||
It should be relatively stable, but those especially concerned about
|
||||
stability should wait for the 7.2 release or use Mesa 7.0.4 (the
|
||||
previous stable release).
|
||||
</p>
|
||||
|
||||
|
||||
<h2>August 16, 2008</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.0.4.html">Mesa 7.0.4</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>April 4, 2008</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.0.3.html">Mesa 7.0.3</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>January 24, 2008</h2>
|
||||
|
||||
<p>
|
||||
Added a new page describing the <a href="cell.html">Mesa Cell driver</a>.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>November 13, 2007</h2>
|
||||
|
||||
<p>
|
||||
Gallium3D is the codename for the new Mesa device driver architecture
|
||||
which is currently under development.
|
||||
A <a href="http://www.tungstengraphics.com/wiki/index.php/Gallium3D"
|
||||
target="_parent"> summary</a> of the architecture can be found on the
|
||||
Tungsten Graphics website.
|
||||
</p>
|
||||
<p>
|
||||
Gallium3D development is taking place on the <em>gallium-0.1</em> branch
|
||||
of the git repository.
|
||||
Currently, there's only a software-only driver and an Intel i915/945 driver
|
||||
but other drivers will be coming...
|
||||
</p>
|
||||
|
||||
|
||||
<h2>November 10, 2007</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.0.2.html">Mesa 7.0.2</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>August 3, 2007</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.0.1.html">Mesa 7.0.1</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>June 22, 2007</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.0.html">Mesa 7.0</a> is released.
|
||||
|
@@ -1,101 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.0.1 Release Notes / August 3, 2007</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
db55141a44b902fcc61d9265b7862c06 MesaLib-7.0.1.tar.gz
|
||||
c056abd763e899114bf745c9eedbf9ad MesaLib-7.0.1.tar.bz2
|
||||
ecc2637547fae2b38271ae362d013afa MesaLib-7.0.1.zip
|
||||
b85a4a5be4e829f4a1165e4514b13183 MesaDemos-7.0.1.tar.gz
|
||||
3b66b3268df12ca8a6c4e0c4c457912c MesaDemos-7.0.1.tar.bz2
|
||||
b1c18006f16e44e80fea66774c59b391 MesaDemos-7.0.1.zip
|
||||
b87a69986839ae43ce12fc8e3dc1ebb4 MesaGLUT-7.0.1.tar.gz
|
||||
25f30d0c1651997b4412366ba0572f7f MesaGLUT-7.0.1.tar.bz2
|
||||
676ee6682a6ce78a5540554fd975c03e MesaGLUT-7.0.1.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<ul>
|
||||
<li>Added a bluegene-osmesa build config
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Fixed some MingW build issues
|
||||
<li>Added a few missing OpenGL 2.0 API entrypoints:
|
||||
<ul>
|
||||
<li>glVertexAttrib4bv
|
||||
<li>glVertexAttrib4iv
|
||||
<li>glVertexAttrib4ubv
|
||||
<li>glVertexAttrib4uiv
|
||||
<li>glVertexAttrib4usv
|
||||
</ul>
|
||||
<li>Fixed glDrawPixels(GL_STENCIL_INDEX) pixel transfer bug 11457
|
||||
<li>GLSL bug fix: added vec2(vec4) constructor
|
||||
<li>GLSL bug fix: .strq and .rgba writemasks didn't always work
|
||||
<li>Stencil pixel map didn't always work for glDrawPixels (bug 11475)
|
||||
<li>Fixed polygon stipple bug in i915 driver
|
||||
<li>Binding a zero-sized texture didn't disable texturing (bug 11309)
|
||||
<li>Queries of GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH didn't include
|
||||
the terminating zero (bug 11588)
|
||||
<li>glXChooseFBConfig() in Xlib driver didn't handle GLX_STEREO flag properly
|
||||
<li>Fixed a GLSL function call bug (#11731)
|
||||
<li>glPointParameteriv(GL_DISTANCE_ATTENUATION_EXT) didn't work (bug 11754)
|
||||
<li>glGetAttribLocation() always returned 1 (bug 11774)
|
||||
<li>Fixed a few memory-related bugs in GLU library
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
<ul>
|
||||
<li>The libOSMesa library version has been reverted to 6.5.3 (soname=6)
|
||||
in order to avoid application linking issues. Otherwise, applications
|
||||
previously linked with libOSMesa.so.6 would no longer link with libOSMesa.so.7
|
||||
<li>Dropped obsolete, unmaintained Windows project files for VC6 and VC7.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>To Do (someday) items</h2>
|
||||
<ul>
|
||||
<li>Switch to freeglut
|
||||
<li>Fix linux-glide target/driver.
|
||||
<li>Improved lambda and derivative calculation for frag progs.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -1,88 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.0.2 Release Notes / November 10, 2007</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
c9cf607f36e7e50172f5f9c7d552c34e MesaLib-7.0.2.tar.gz
|
||||
93e6ed7924ff069a4f883b4fce5349dc MesaLib-7.0.2.tar.bz2
|
||||
10c324c3613f90f059cb8429f700f300 MesaLib-7.0.2.zip
|
||||
aa8b1244a5de1d23e5814bf9b67f1435 MesaDemos-7.0.2.tar.gz
|
||||
11a10410bae7be85cf25bc7119966468 MesaDemos-7.0.2.tar.bz2
|
||||
1dd0b5fd6d69430a2fd76a6adbfd8fff MesaDemos-7.0.2.zip
|
||||
a7dbf25c025955858bd2d89a6eb6db4c MesaGLUT-7.0.2.tar.gz
|
||||
3a33f8efc8c58a592a854cfc7a643286 MesaGLUT-7.0.2.tar.bz2
|
||||
eba4ef2aa8c362ead81b54357f1903a3 MesaGLUT-7.0.2.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<ul>
|
||||
<li>Updated Windows VC7 project files
|
||||
<li>Added DESTDIR variable for 'make install'
|
||||
<li>Added pkg-config files for gl, glu, glut and glw libraries
|
||||
<li>Added bluegene-xlc-osmesa and catamount-osmesa-pgi configs
|
||||
<li>Support for Intel G33/Q33/Q35 graphics chipsets
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Fixed a vertex buffer wrapping issue (bug 9962)
|
||||
<li>Added mutex protection around texture object reference counters
|
||||
<li>Added checking/support for additional chips in the i915/i945 family
|
||||
(see 11978)
|
||||
<li>Fixed a blending/banding issue (bug 11931)
|
||||
<li>Fixed a GLU matrix inversion bug (#6748)
|
||||
<li>Fixed problem with large glDrawArrays calls and indirect rendering (bug 12141)
|
||||
<li>Fixed an assortment of i965 driver bugs
|
||||
<li>Fixed x86-64 vertex transformation bug (12216)
|
||||
<li>Fixed X server crash caused by multiple indirect rendering clients
|
||||
<li>Parsing of state.texgen in ARB vertex/fragment programs didn't work (bug 12313)
|
||||
<li>Fixed a glCopyPixels/glPixelZoom bug (12417)
|
||||
<li>Fixed a bug when using glMaterial in display lists (bug 10604)
|
||||
<li>Fixed a few GLUT/Fortran issues (Bill Mitchell)
|
||||
<li>Fixed Blender crash bug (12164)
|
||||
<li>Fixed some issues preventing cross-compiling
|
||||
<li>Fixed up broken GL_ATI_separate_stencil extension
|
||||
<li>glDrawArrays(count=0) led to a crash
|
||||
<li>Fix SSE code gen memory leak, possible crash
|
||||
<li>Fixed MMX 565 rgb conversion problem (bug 12614)
|
||||
<li>Added -fno-strict-aliasing and -fPIC flags for gcc
|
||||
<li>Fixed Blender crash in Unichrome driver (bug 13142)
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -1,84 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.0.3 Release Notes / April 4, 2008</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.0.3 is a stable release with bug fixes since version 7.0.2.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
3fd1cb76531b2515ef7db92d9a93dbf8 MesaLib-7.0.3.tar.gz
|
||||
e6e6379d7793af40a6bc3ce1bace572e MesaLib-7.0.3.tar.bz2
|
||||
97882bac195229ee0b78cab82e0e3be1 MesaLib-7.0.3.zip
|
||||
8abf6bbcb1661e7dd4ce73b3fbb85898 MesaDemos-7.0.3.tar.gz
|
||||
47fd6863621d3c9c7dbb870ab7f0c303 MesaDemos-7.0.3.tar.bz2
|
||||
99e442e14da1928f76a7297bb421a3af MesaDemos-7.0.3.zip
|
||||
2b50fe9fadc4709b57c52adef09fce3c MesaGLUT-7.0.3.tar.gz
|
||||
0ff23c4e91b238abae63a5fc9fa003e7 MesaGLUT-7.0.3.tar.bz2
|
||||
70e83554a4462dad28e0d6e20f79aada MesaGLUT-7.0.3.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Added missing glw.pc.in file to release tarball
|
||||
<li>Fix GLUT/Fortran issues
|
||||
<li>GLSL gl_FrontLightModelProduct.sceneColor variable wasn't defined
|
||||
<li>Fix crash upon GLSL variable array indexes (not yet supported)
|
||||
<li>Two-sided stencil test didn't work in software rendering
|
||||
<li>Fix two-sided lighting bugs/crashes (bug 13368)
|
||||
<li>GLSL gl_FrontFacing didn't work properly
|
||||
<li>glGetActiveUniform returned incorrect sizes (bug 13751)
|
||||
<li>Fix several bugs relating to uniforms and attributes in GLSL API (Bruce Merry, bug 13753)
|
||||
<li>glTexImage3D(GL_PROXY_TEXTURE_3D) mis-set teximage depth field
|
||||
<li>Fixed GLX indirect vertex array rendering bug (14197)
|
||||
<li>Fixed crash when deleting framebuffer objects (bugs 13507, 14293)
|
||||
<li>User-defined clip planes enabled for R300 (bug 9871)
|
||||
<li>Fixed glBindTexture() crash upon bad target (bug 14514)
|
||||
<li>Fixed potential crash in glDrawPixels(GL_DEPTH_COMPONENT) (bug 13915)
|
||||
<li>Bad strings given to glProgramStringARB() didn't generate GL_INVALID_OPERATION
|
||||
<li>Fixed minor point rasterization regression (bug 11016)
|
||||
<li>state.texenv.color state var didn't work in GL_ARB_fragment_program (bug 14931)
|
||||
<li>glBitmap from a PBO didn't always work
|
||||
<li>glGetTexImage into a PBO didn't always work
|
||||
<li>Comments at the end of ARB vertex/fragment programs crashed the parser
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
<ul>
|
||||
<li>Updated glext.h to version 40
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -1,80 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.0.4 Release Notes / August 16, 2008</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.0.4 is a stable release with bug fixes since version 7.0.3.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
909afa3a01ae31478d363837681415ac MesaLib-7.0.4.tar.gz
|
||||
8d7bacbe0234742a5d08c8088c4619e9 MesaLib-7.0.4.tar.bz2
|
||||
5e44261ef85b049a868e1785d9adc276 MesaLib-7.0.4.zip
|
||||
53dcd77d37a819feaf50b5fcdd0a6e0f MesaDemos-7.0.4.tar.gz
|
||||
c1215b31c5f7b85f81eed3bfba07d556 MesaDemos-7.0.4.tar.bz2
|
||||
b1825a7361f116b28d82d328077630b4 MesaDemos-7.0.4.zip
|
||||
d7677d015f52602d1bf8b837fb717848 MesaGLUT-7.0.4.tar.gz
|
||||
f5f8b46f7e763d9f7b7d1d115c1c44ee MesaGLUT-7.0.4.tar.bz2
|
||||
a786775271a02c62a3370b13b26bf48d MesaGLUT-7.0.4.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>define #extension GL_ARB_texture_rectangle in shading language
|
||||
<li>fixed WIN32 compile problem in libGLU
|
||||
<li>Fixed a per-vertex glMaterial bug which could cause bad lighting
|
||||
<li>Fixed potential crash in AA/smoothed triangle rendering when using a fragment shader
|
||||
<li>Fixed glDrawElement + VBO segfault (bug 16156)
|
||||
<li>Fixed GLSL linker bug causing generic vertex attributes to get aliased
|
||||
<li>Fixed stack overflow when using glPixelZoom on Windows
|
||||
<li>Fixed broken all(bvec2) GLSL function, added misc missing bvec constructors
|
||||
<li>ARB program "state.clip[n].plane" didn't parse correctly
|
||||
<li>Fixed broken glGetUniformiv() (bug 13774)
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
<ul>
|
||||
<li>Including the latest glext.h and glxext.h header files from Khronos
|
||||
<li>Added support for DragonFly OS
|
||||
<li>Added a build config for FreeBSD static libs (Anatolij Shkodin)
|
||||
<li>Enabled GL_EXT_multi_draw_arrays extension in R200/R300 drivers
|
||||
<li>Enabled GL_ARB_point_sprite extension in I965 driver
|
||||
<li>Enabled GL_EXT_texture_sRGB extension in I965 driver
|
||||
<li>Added support for GL shading language in I965 driver
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -18,15 +18,7 @@ A number of bugs have been fixed since the 6.5.3 release.
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
35a1698986f7ac8dc435624ee9256cda MesaLib-7.0.tar.gz
|
||||
50c371455fa7532c04aa0a970f9bc51f MesaLib-7.0.tar.bz2
|
||||
bcedb6f43c97c1bc49e5cc7f12835722 MesaLib-7.0.zip
|
||||
9bad332c7b74f59be96556135212ca9e MesaDemos-7.0.tar.gz
|
||||
fada2bc1f29da513e015fda1e3abd0c0 MesaDemos-7.0.tar.bz2
|
||||
84e3bbe470d983ae32f1f0c779faf99e MesaDemos-7.0.zip
|
||||
76c7bb54f9850c689eba844f6daed332 MesaGLUT-7.0.tar.gz
|
||||
4af28296e02772ef1de00e4e79bf3d12 MesaGLUT-7.0.tar.bz2
|
||||
9043cb0b54cc03d1874728d74b12188c MesaGLUT-7.0.zip
|
||||
TBD
|
||||
</pre>
|
||||
|
||||
|
||||
|
@@ -1,94 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.1 Release Notes / August 26, 2008</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.1 is a new development release.
|
||||
There have been many internal code changes since Mesa 7.0.x.
|
||||
It should be relatively stable, but those who are especially concerned about
|
||||
stability should wait for Mesa 7.2 or use Mesa 7.0.4 (the previous stable
|
||||
release).
|
||||
</p>
|
||||
</>
|
||||
Note that this version of Mesa does not use the GEM memory manager.
|
||||
The master branch of git uses GEM.
|
||||
</p>
|
||||
<p>
|
||||
DRM version 2.3.1 should be used with Mesa 7.1
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
971c2fe6e6949dc5ba200a6f97a6dc81 MesaLib-7.1.tar.gz
|
||||
6bff7f532d16f90f944a400c8bd7074d MesaLib-7.1.tar.bz2
|
||||
d48224bf9d54c3da6776adb4869ba024 MesaLib-7.1.zip
|
||||
3de268420efca43e9a19ab506cdfc993 MesaDemos-7.1.tar.gz
|
||||
abfc9775e1462363af8ec160d1feb01f MesaDemos-7.1.tar.bz2
|
||||
f7b3623387c4036e9895cd9ac0dfad99 MesaDemos-7.1.zip
|
||||
fdf348f78cd09304b6ff801ef8acc8eb MesaGLUT-7.1.tar.gz
|
||||
f6d88a4eeb02e98c7e92f1c895d3c76b MesaGLUT-7.1.tar.bz2
|
||||
4dc102a5ca51e1c41dde87d3f8c7b22a MesaGLUT-7.1.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<ul>
|
||||
<li>autoconf-based configuration (and clean-up of Makefiles)
|
||||
<li>Assorted DRI driver enhancements
|
||||
<li>Reduced dependencies between X server and Mesa
|
||||
<li>GL_EXT_texture_from_pixmap extension for Xlib driver
|
||||
<li>Support for the GL shading language with i965 driver (implemented by Intel)
|
||||
<li>ATI R500 series support (Radeon X1300–X1950) in r300 DRI driver
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Numerous GLSL fixes
|
||||
<li>Fixed some error code/detection bugs in the GLSL-related API functions
|
||||
<li>Lots of DRI driver fixes.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>To Do (someday) items</h2>
|
||||
<ul>
|
||||
<li>Remove the MEMCPY() and _mesa_memcpy() wrappers and just use memcpy().
|
||||
Probably do the same for malloc, calloc, etc.
|
||||
The wrappers were useful in the past for memory debugging but now we
|
||||
have valgrind. Not worried about SunOS 4 support anymore either...
|
||||
<li>Switch to freeglut
|
||||
<li>Fix linux-glide target/driver.
|
||||
<li>Improved lambda and derivative calculation for frag progs.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -1,96 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.2 Release Notes / 20 September 2008</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.2 is a stable release fixing bugs found in 7.1, which was a
|
||||
new development release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 7.2 implements the OpenGL 2.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 2.1.
|
||||
</p>
|
||||
<p>
|
||||
Note that this version of Mesa does not use the GEM memory manager.
|
||||
The master branch of git uses GEM.
|
||||
The prototype DRI2 code that was in 7.1 has also been removed.
|
||||
</p>
|
||||
<p>
|
||||
DRM version 2.3.1 should be used with Mesa 7.2
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
tbd
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<ul>
|
||||
<li>i965 driver: added support for G41 chipset (Intel)
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Fixed display list bug involving primitives split across lists (bug 17564)
|
||||
<li>Fixed some issues with glBindAttribLocation()
|
||||
<li>Fixed crash in _tnl_InvalidateState() found with Amira (bug 15834)
|
||||
<li>Assorted bug fixes for Ming build
|
||||
<li>Fixed some vertex/pixel buffer object reference counting bugs
|
||||
<li>Fixed depth/stencil bug in i915/945 driver
|
||||
<li>Fixed some shader flow control bugs in i965 driver
|
||||
<li>Fixed a few tdfx driver bugs which prevented driver from working
|
||||
<li>Fixed multisample enable/disable bug
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
<ul>
|
||||
<li>Updated SGI header files with new license terms.
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<h2>To Do (someday) items</h2>
|
||||
<ul>
|
||||
<li>Remove the MEMCPY() and _mesa_memcpy() wrappers and just use memcpy().
|
||||
Probably do the same for malloc, calloc, etc.
|
||||
The wrappers were useful in the past for memory debugging but now we
|
||||
have valgrind. Not worried about SunOS 4 support anymore either...
|
||||
<li>Switch to freeglut
|
||||
<li>Fix linux-glide target/driver.
|
||||
<li>Improved lambda and derivative calculation for frag progs.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -20,12 +20,6 @@ The release notes summarize what's new or changed in each Mesa release.
|
||||
</p>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="relnotes-7.2.html">7.2 release notes</A>
|
||||
<LI><A HREF="relnotes-7.1.html">7.1 release notes</A>
|
||||
<LI><A HREF="relnotes-7.0.4.html">7.0.4 release notes</A>
|
||||
<LI><A HREF="relnotes-7.0.3.html">7.0.3 release notes</A>
|
||||
<LI><A HREF="relnotes-7.0.2.html">7.0.2 release notes</A>
|
||||
<LI><A HREF="relnotes-7.0.1.html">7.0.1 release notes</A>
|
||||
<LI><A HREF="relnotes-7.0.html">7.0 release notes</A>
|
||||
<LI><A HREF="relnotes-6.5.3.html">6.5.3 release notes</A>
|
||||
<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A>
|
||||
|
@@ -85,27 +85,6 @@ Once your account is established:
|
||||
</ol>
|
||||
|
||||
|
||||
<H2>Windows Users</H2>
|
||||
|
||||
<p>
|
||||
If you're <a href="http://git.or.cz/gitwiki/WindowsInstall" target="_parent">
|
||||
using git on Windows</a> you'll want to enable automatic CR/LF conversion in
|
||||
your local copy of the repository:
|
||||
</p>
|
||||
<pre>
|
||||
git config --global core.autocrlf true
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
This will cause git to convert all text files to CR+LF on checkout,
|
||||
and to LF on commit.
|
||||
</p>
|
||||
<p>
|
||||
Unix users don't need to set this option.
|
||||
</p>
|
||||
<br>
|
||||
|
||||
|
||||
<a name="developer">
|
||||
<H2>Development Branches</H2>
|
||||
|
||||
|
@@ -25,10 +25,9 @@ Contents
|
||||
<li><a href="#unsup">Unsupported Features</a>
|
||||
<li><a href="#notes">Implementation Notes</a>
|
||||
<li><a href="#hints">Programming Hints</a>
|
||||
<li><a href="#standalone">Stand-alone GLSL Compiler</a>
|
||||
<li><a href="#standalone">Stand-alone Compiler</a>
|
||||
<li><a href="#implementation">Compiler Implementation</a>
|
||||
<li><a href="#validation">Compiler Validation</a>
|
||||
<li><a href="#120">GLSL 1.20 support</a>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -49,7 +48,6 @@ in Mesa:
|
||||
<li>The inverse trig functions asin(), acos(), and atan() are not implemented
|
||||
<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
|
||||
without perspective correction
|
||||
<li>Floating point literal suffixes 'f' and 'F' aren't allowed.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
@@ -134,7 +132,7 @@ These issues will be addressed/resolved in the future.
|
||||
|
||||
|
||||
<a name="standalone">
|
||||
<h2>Stand-alone GLSL Compiler</h2>
|
||||
<h2>Stand-alone Compiler</h2>
|
||||
|
||||
<p>
|
||||
A unique stand-alone GLSL compiler driver has been added to Mesa.
|
||||
@@ -156,10 +154,12 @@ This tool is useful for:
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
After building Mesa, the glslcompiler can be built by manually running:
|
||||
To build the glslcompiler program (this will be improved someday):
|
||||
</p>
|
||||
<pre>
|
||||
cd src/mesa/drivers/glslcompiler
|
||||
cd src/mesa
|
||||
make libmesa.a
|
||||
cd drivers/glslcompiler
|
||||
make
|
||||
</pre>
|
||||
|
||||
@@ -169,31 +169,20 @@ Here's an example of using the compiler to compile a vertex shader and
|
||||
emit GL_ARB_vertex_program-style instructions:
|
||||
</p>
|
||||
<pre>
|
||||
bin/glslcompiler --debug --numbers --fs progs/glsl/CH06-brick.frag.txt
|
||||
glslcompiler --arb --linenumbers --vs vertshader.txt
|
||||
</pre>
|
||||
<p>
|
||||
results in:
|
||||
The output may look similar to this:
|
||||
</p>
|
||||
<pre>
|
||||
# Fragment Program/Shader
|
||||
0: RCP TEMP[4].x, UNIFORM[2].xxxx;
|
||||
1: RCP TEMP[4].y, UNIFORM[2].yyyy;
|
||||
2: MUL TEMP[3].xy, VARYING[0], TEMP[4];
|
||||
3: MOV TEMP[1], TEMP[3];
|
||||
4: MUL TEMP[0].w, TEMP[1].yyyy, CONST[4].xxxx;
|
||||
5: FRC TEMP[1].z, TEMP[0].wwww;
|
||||
6: SGT.C TEMP[0].w, TEMP[1].zzzz, CONST[4].xxxx;
|
||||
7: IF (NE.wwww); # (if false, goto 9);
|
||||
8: ADD TEMP[1].x, TEMP[1].xxxx, CONST[4].xxxx;
|
||||
9: ENDIF;
|
||||
10: FRC TEMP[1].xy, TEMP[1];
|
||||
11: SGT TEMP[2].xy, UNIFORM[3], TEMP[1];
|
||||
12: MUL TEMP[1].z, TEMP[2].xxxx, TEMP[2].yyyy;
|
||||
13: LRP TEMP[0], TEMP[1].zzzz, UNIFORM[0], UNIFORM[1];
|
||||
14: MUL TEMP[0].xyz, TEMP[0], VARYING[1].xxxx;
|
||||
15: MOV OUTPUT[0].xyz, TEMP[0];
|
||||
16: MOV OUTPUT[0].w, CONST[4].yyyy;
|
||||
17: END
|
||||
!!ARBvp1.0
|
||||
0: MOV result.texcoord[0], vertex.texcoord[0];
|
||||
1: DP4 temp0.x, state.matrix.mvp.row[0], vertex.position;
|
||||
2: DP4 temp0.y, state.matrix.mvp.row[1], vertex.position;
|
||||
3: DP4 temp0.z, state.matrix.mvp.row[2], vertex.position;
|
||||
4: DP4 temp0.w, state.matrix.mvp.row[3], vertex.position;
|
||||
5: MOV result.position, temp0;
|
||||
6: END
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -319,39 +308,5 @@ should be added.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<a name="120">
|
||||
<h2>GLSL 1.20 support</h2>
|
||||
|
||||
<p>
|
||||
Support for GLSL version 1.20 is underway. Status as follows.
|
||||
</p>
|
||||
|
||||
<h3>Supported</h3>
|
||||
<ul>
|
||||
<li><code>mat2x3, mat2x4</code>, etc. types and functions
|
||||
<li><code>transpose(), outerProduct(), matrixCompMult()</code> functions
|
||||
(but untested)
|
||||
<li>precision qualifiers (lowp, mediump, highp)
|
||||
</ul>
|
||||
|
||||
<h3>Partially Complete</h3>
|
||||
<ul>
|
||||
<li><code>invariant</code> qualifier
|
||||
</ul>
|
||||
|
||||
<h3>Not Completed</h3>
|
||||
<ul>
|
||||
<li><code>array.length()</code> method
|
||||
<li><code>float[5] a;</code> array syntax
|
||||
<li><code>centroid</code> qualifier
|
||||
<li>unsized array constructors
|
||||
<li>initializers for uniforms
|
||||
<li>const initializers calling built-in functions
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
@@ -1,33 +1,33 @@
|
||||
|
||||
default: full
|
||||
|
||||
all: full subset
|
||||
|
||||
%.tag: %.doxy
|
||||
doxygen $<
|
||||
|
||||
FULL = \
|
||||
main.doxy \
|
||||
math.doxy \
|
||||
vbo.doxy \
|
||||
glapi.doxy \
|
||||
shader.doxy \
|
||||
swrast.doxy \
|
||||
swrast_setup.doxy \
|
||||
tnl.doxy \
|
||||
tnl_dd.doxy
|
||||
|
||||
full: $(FULL:.doxy=.tag)
|
||||
$(foreach FILE,$(FULL),doxygen $(FILE);)
|
||||
|
||||
SUBSET = \
|
||||
main.doxy \
|
||||
math.doxy \
|
||||
miniglx.doxy
|
||||
|
||||
subset: $(SUBSET:.doxy=.tag)
|
||||
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
|
||||
|
||||
clean:
|
||||
-rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
|
||||
-rm -rf *.tag
|
||||
|
||||
default: full
|
||||
|
||||
all: full subset
|
||||
|
||||
%.tag: %.doxy
|
||||
doxygen $<
|
||||
|
||||
FULL = \
|
||||
main.doxy \
|
||||
math.doxy \
|
||||
vbo.doxy \
|
||||
glapi.doxy \
|
||||
shader.doxy \
|
||||
swrast.doxy \
|
||||
swrast_setup.doxy \
|
||||
tnl.doxy \
|
||||
tnl_dd.doxy
|
||||
|
||||
full: $(FULL:.doxy=.tag)
|
||||
$(foreach FILE,$(FULL),doxygen $(FILE);)
|
||||
|
||||
SUBSET = \
|
||||
main.doxy \
|
||||
math.doxy \
|
||||
miniglx.doxy
|
||||
|
||||
subset: $(SUBSET:.doxy=.tag)
|
||||
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
|
||||
|
||||
clean:
|
||||
rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
|
||||
rm -rf *.tag
|
||||
|
@@ -1,19 +1,19 @@
|
||||
doxygen tnl_dd.doxy
|
||||
doxygen vbo.doxy
|
||||
doxygen math.doxy
|
||||
doxygen swrast.doxy
|
||||
doxygen swrast_setup.doxy
|
||||
doxygen tnl.doxy
|
||||
doxygen core.doxy
|
||||
doxygen glapi.doxy
|
||||
doxygen shader.doxy
|
||||
|
||||
echo Building again, to resolve tags
|
||||
doxygen tnl_dd.doxy
|
||||
doxygen vbo.doxy
|
||||
doxygen math.doxy
|
||||
doxygen swrast.doxy
|
||||
doxygen swrast_setup.doxy
|
||||
doxygen tnl.doxy
|
||||
doxygen glapi.doxy
|
||||
doxygen shader.doxy
|
||||
doxygen tnl_dd.doxy
|
||||
doxygen vbo.doxy
|
||||
doxygen math.doxy
|
||||
doxygen swrast.doxy
|
||||
doxygen swrast_setup.doxy
|
||||
doxygen tnl.doxy
|
||||
doxygen core.doxy
|
||||
doxygen glapi.doxy
|
||||
doxygen shader.doxy
|
||||
|
||||
echo Building again, to resolve tags
|
||||
doxygen tnl_dd.doxy
|
||||
doxygen vbo.doxy
|
||||
doxygen math.doxy
|
||||
doxygen swrast.doxy
|
||||
doxygen swrast_setup.doxy
|
||||
doxygen tnl.doxy
|
||||
doxygen glapi.doxy
|
||||
doxygen shader.doxy
|
||||
|
@@ -1,17 +1,17 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Mesa Source Code Documentation</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="qindex">
|
||||
<a class="qindex" href="../main/index.html">core</a> |
|
||||
<a class="qindex" href="../glapi/index.html">glapi</a> |
|
||||
<a class="qindex" href="../vbo/index.html">vbo</a> |
|
||||
<a class="qindex" href="../math/index.html">math</a> |
|
||||
<a class="qindex" href="../shader/index.html">shader</a> |
|
||||
<a class="qindex" href="../swrast/index.html">swrast</a> |
|
||||
<a class="qindex" href="../swrast_setup/index.html">swrast_setup</a> |
|
||||
<a class="qindex" href="../tnl/index.html">tnl</a> |
|
||||
<a class="qindex" href="../tnl_dd/index.html">tnl_dd</a>
|
||||
</div>
|
||||
<html>
|
||||
<head>
|
||||
<title>Mesa Source Code Documentation</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="qindex">
|
||||
<a class="qindex" href="../main/index.html">core</a> |
|
||||
<a class="qindex" href="../glapi/index.html">glapi</a> |
|
||||
<a class="qindex" href="../vbo/index.html">vbo</a> |
|
||||
<a class="qindex" href="../math/index.html">math</a> |
|
||||
<a class="qindex" href="../shader/index.html">shader</a> |
|
||||
<a class="qindex" href="../swrast/index.html">swrast</a> |
|
||||
<a class="qindex" href="../swrast_setup/index.html">swrast_setup</a> |
|
||||
<a class="qindex" href="../tnl/index.html">tnl</a> |
|
||||
<a class="qindex" href="../tnl_dd/index.html">tnl_dd</a>
|
||||
</div>
|
||||
|
@@ -1,11 +1,11 @@
|
||||
<html>
|
||||
<head><title>Mesa Source Code Documentation</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="qindex">
|
||||
<a class="qindex" href="../core_subset/index.html">Mesa Core</a> |
|
||||
<a class="qindex" href="../math_subset/index.html">math</a> |
|
||||
<a class="qindex" href="../miniglx/index.html">MiniGLX</a> |
|
||||
<a class="qindex" href="../radeon_subset/index.html">radeon_subset</a>
|
||||
</div>
|
||||
<html>
|
||||
<head><title>Mesa Source Code Documentation</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="qindex">
|
||||
<a class="qindex" href="../core_subset/index.html">Mesa Core</a> |
|
||||
<a class="qindex" href="../math_subset/index.html">math</a> |
|
||||
<a class="qindex" href="../miniglx/index.html">MiniGLX</a> |
|
||||
<a class="qindex" href="../radeon_subset/index.html">radeon_subset</a>
|
||||
</div>
|
||||
|
76
include/GL/foomesa.h
Normal file
76
include/GL/foomesa.h
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.0
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Example Foo/Mesa interface. See src/ddsample.c for more info.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef FOOMESA_H
|
||||
#define FOOMESA_H
|
||||
|
||||
|
||||
|
||||
typedef struct foo_mesa_visual *FooMesaVisual;
|
||||
|
||||
typedef struct foo_mesa_buffer *FooMesaBuffer;
|
||||
|
||||
typedef struct foo_mesa_context *FooMesaContext;
|
||||
|
||||
|
||||
|
||||
#ifdef BEOS
|
||||
#pragma export on
|
||||
#endif
|
||||
|
||||
|
||||
extern FooMesaVisual FooMesaChooseVisual( /* your params */ );
|
||||
|
||||
extern void FooMesaDestroyVisual( FooMesaVisual visual );
|
||||
|
||||
|
||||
extern FooMesaBuffer FooMesaCreateBuffer( FooMesaVisual visual,
|
||||
void *your_window_id );
|
||||
|
||||
extern void FooMesaDestroyBuffer( FooMesaBuffer buffer );
|
||||
|
||||
|
||||
extern FooMesaContext FooMesaCreateContext( FooMesaVisual visual,
|
||||
FooMesaContext sharelist );
|
||||
|
||||
extern void FooMesaDestroyContext( FooMesaContext context );
|
||||
|
||||
|
||||
extern void FooMesaMakeCurrent( FooMesaContext context, FooMesaBuffer buffer );
|
||||
|
||||
|
||||
extern void FooMesaSwapBuffers( FooMesaBuffer buffer );
|
||||
|
||||
|
||||
/* Probably some more functions... */
|
||||
|
||||
|
||||
#ifdef BEOS
|
||||
#pragma export off
|
||||
#endif
|
||||
|
||||
#endif
|
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.1
|
||||
* Version: 7.0
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
@@ -84,8 +84,7 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) \
|
||||
&& !defined(OPENSTEP) && !defined(__CYGWIN__) || defined(__MINGW32__)
|
||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
|
||||
#include <GL/mesa_wgl.h>
|
||||
#endif
|
||||
|
||||
@@ -2162,11 +2161,11 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh
|
||||
#define GL_DEBUG_PRINT_MESA 0x875A
|
||||
#define GL_DEBUG_ASSERT_MESA 0x875B
|
||||
|
||||
GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void);
|
||||
GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
|
||||
GLAPI GLhandleARB APIENTRY glCreateDebugObjectMESA (void);
|
||||
GLAPI void APIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
GLAPI void APIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
|
||||
GLsizei *length, GLcharARB *debugLog);
|
||||
GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
GLAPI GLsizei APIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
|
||||
#endif /* GL_MESA_shader_debug */
|
||||
|
||||
@@ -2210,39 +2209,6 @@ GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, con
|
||||
#endif /* GL_MESA_program_debug */
|
||||
|
||||
|
||||
#ifndef GL_MESA_texture_array
|
||||
#define GL_MESA_texture_array 1
|
||||
|
||||
/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array.
|
||||
*/
|
||||
#ifndef GL_EXT_texture_array
|
||||
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target,
|
||||
GLenum attachment, GLuint texture, GLint level, GLint layer);
|
||||
#endif /* GL_GLEXT_PROTOTYPES */
|
||||
|
||||
#if 0
|
||||
/* (temporarily) disabled because of collision with typedef in glext.h
|
||||
* that happens if apps include both gl.h and glext.h
|
||||
*/
|
||||
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target,
|
||||
GLenum attachment, GLuint texture, GLint level, GLint layer);
|
||||
#endif
|
||||
|
||||
#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
|
||||
#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
||||
#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
|
||||
#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
|
||||
#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
|
||||
#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
|
||||
#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef GL_ATI_blend_equation_separate
|
||||
#define GL_ATI_blend_equation_separate 1
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user