Compare commits
	
		
			73 Commits
		
	
	
		
			mesa_7_3
			...
			mesa_7_0_1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					756a7a4e4b | ||
| 
						 | 
					121b4ac220 | ||
| 
						 | 
					cdbd5db3af | ||
| 
						 | 
					b2240f6ad4 | ||
| 
						 | 
					33814a55f8 | ||
| 
						 | 
					a57c5a417b | ||
| 
						 | 
					ff1a28de17 | ||
| 
						 | 
					772f57f99b | ||
| 
						 | 
					dacee32b8b | ||
| 
						 | 
					fa1a3eb06d | ||
| 
						 | 
					bd4817ca54 | ||
| 
						 | 
					005eea249c | ||
| 
						 | 
					9747de8ec6 | ||
| 
						 | 
					849a9799d0 | ||
| 
						 | 
					e32ae4fe33 | ||
| 
						 | 
					4595389c4c | ||
| 
						 | 
					e8ccc7cc49 | ||
| 
						 | 
					673d21047a | ||
| 
						 | 
					fdefc2bbda | ||
| 
						 | 
					2079df8527 | ||
| 
						 | 
					b53659452c | ||
| 
						 | 
					46f1d6653e | ||
| 
						 | 
					c1938a60f7 | ||
| 
						 | 
					d65110f352 | ||
| 
						 | 
					9fa3bbcb5a | ||
| 
						 | 
					99d62f2922 | ||
| 
						 | 
					284743cafe | ||
| 
						 | 
					08d7307b2a | ||
| 
						 | 
					ef6a64abe6 | ||
| 
						 | 
					18bfa52ef7 | ||
| 
						 | 
					d62be2652c | ||
| 
						 | 
					ea53ff80af | ||
| 
						 | 
					feeca1bcbc | ||
| 
						 | 
					12e7278c08 | ||
| 
						 | 
					45b5c44eb9 | ||
| 
						 | 
					e3456c1028 | ||
| 
						 | 
					327fb38573 | ||
| 
						 | 
					1d25d9e15f | ||
| 
						 | 
					cc7cee3f48 | ||
| 
						 | 
					d7062710cd | ||
| 
						 | 
					9bfba734d8 | ||
| 
						 | 
					aaebf2f47e | ||
| 
						 | 
					23f8d77b38 | ||
| 
						 | 
					87d22ee0fe | ||
| 
						 | 
					52e25f63d4 | ||
| 
						 | 
					f3fb67972b | ||
| 
						 | 
					6400756364 | ||
| 
						 | 
					d59f0314bd | ||
| 
						 | 
					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*
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										120
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										120
									
								
								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.3-rc3
 | 
			
		||||
LIB_NAME = MesaLib-7.3-rc3
 | 
			
		||||
DEMO_NAME = MesaDemos-7.3-rc3
 | 
			
		||||
GLUT_NAME = MesaGLUT-7.3-rc3
 | 
			
		||||
DIRECTORY = Mesa-7.0.1-rc2
 | 
			
		||||
LIB_NAME = MesaLib-7.0.1-rc2
 | 
			
		||||
DEMO_NAME = MesaDemos-7.0.1-rc2
 | 
			
		||||
GLUT_NAME = MesaGLUT-7.0.1-rc2
 | 
			
		||||
 | 
			
		||||
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					\
 | 
			
		||||
@@ -200,7 +180,9 @@ MAIN_FILES = \
 | 
			
		||||
	$(DIRECTORY)/docs/RELNOTES*					\
 | 
			
		||||
	$(DIRECTORY)/docs/*.spec					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/internal/glcore.h			\
 | 
			
		||||
	$(DIRECTORY)/include/GL/amesa.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/dmesa.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/fxmesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/ggimesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/gl.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glext.h					\
 | 
			
		||||
@@ -215,52 +197,63 @@ MAIN_FILES = \
 | 
			
		||||
	$(DIRECTORY)/include/GL/mglmesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/osmesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/svgamesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/ugl*.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/vms_x_fix.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/wmesa.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/xmesa.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/xmesa_x.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/xmesa_xf86.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GLView.h					\
 | 
			
		||||
	$(DIRECTORY)/src/Makefile					\
 | 
			
		||||
	$(DIRECTORY)/src/descrip.mms					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/Makefile*					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/sources					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/descrip.mms				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/gl.pc.in					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/osmesa.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]			\
 | 
			
		||||
@@ -270,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			\
 | 
			
		||||
@@ -278,11 +270,9 @@ 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/drivers/glslcompiler/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/glslcompiler/glslcompiler.c	\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/ppc/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/sparc/*.[chS]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/x86/Makefile				\
 | 
			
		||||
@@ -298,19 +288,24 @@ MAIN_FILES = \
 | 
			
		||||
	$(DIRECTORY)/vms/analyze_map.com				\
 | 
			
		||||
	$(DIRECTORY)/vms/xlib.opt					\
 | 
			
		||||
	$(DIRECTORY)/vms/xlib_share.opt					\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/mesa/mesa.sln				\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj			\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj			\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj			\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj		\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/progs/progs.sln			\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj		\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
DRI_FILES = \
 | 
			
		||||
	$(DIRECTORY)/include/GL/internal/dri_interface.h		\
 | 
			
		||||
	$(DIRECTORY)/include/GL/internal/glcore.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]			\
 | 
			
		||||
@@ -321,7 +316,6 @@ 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				\
 | 
			
		||||
@@ -329,8 +323,6 @@ SGI_GLU_FILES = \
 | 
			
		||||
	$(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			\
 | 
			
		||||
@@ -357,7 +349,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 = \
 | 
			
		||||
@@ -386,8 +377,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			\
 | 
			
		||||
@@ -402,7 +392,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		\
 | 
			
		||||
@@ -418,10 +407,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
 | 
			
		||||
 | 
			
		||||
@@ -437,20 +422,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 ; \
 | 
			
		||||
@@ -459,7 +433,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 ; \
 | 
			
		||||
@@ -479,7 +452,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 ; \
 | 
			
		||||
@@ -499,7 +471,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) ; \
 | 
			
		||||
@@ -527,6 +498,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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										195
									
								
								bin/mklib
									
									
									
									
									
								
							
							
						
						
									
										195
									
								
								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,35 +224,10 @@ case $ARCH in
 | 
			
		||||
            echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
 | 
			
		||||
            LINK="ar"
 | 
			
		||||
            OPTS="-ru"
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
            rm -f ${LIBNAME}
 | 
			
		||||
 | 
			
		||||
	    # expand any .a objects into constituent .o files.
 | 
			
		||||
	    NEWOBJECTS=""
 | 
			
		||||
	    DELETIA=""
 | 
			
		||||
	    for OBJ in ${OBJECTS} ; do
 | 
			
		||||
		if [ `expr match $OBJ '.*\.a'` -gt 0 ] ; then
 | 
			
		||||
		    # extract the .o files from this .a archive
 | 
			
		||||
		    FILES=`ar t $OBJ`
 | 
			
		||||
		    ar x $OBJ
 | 
			
		||||
		    NEWOBJECTS="$NEWOBJECTS $FILES"
 | 
			
		||||
		    # keep track of temporary .o files and delete them below
 | 
			
		||||
		    DELETIA="$DELETIA $FILES"
 | 
			
		||||
		else
 | 
			
		||||
		    # ordinary .o file
 | 
			
		||||
		    NEWOBJECTS="$NEWOBJECTS $OBJ"
 | 
			
		||||
		fi
 | 
			
		||||
	    done
 | 
			
		||||
 | 
			
		||||
            # make lib
 | 
			
		||||
            ${LINK} ${OPTS} ${LIBNAME} ${NEWOBJECTS}
 | 
			
		||||
            ${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
 | 
			
		||||
            ranlib ${LIBNAME}
 | 
			
		||||
 | 
			
		||||
	    # remove temporary extracted .o files
 | 
			
		||||
	    rm -f ${DELETIA}
 | 
			
		||||
 | 
			
		||||
            # finish up
 | 
			
		||||
            FINAL_LIBS=${LIBNAME}
 | 
			
		||||
        else
 | 
			
		||||
@@ -299,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
 | 
			
		||||
@@ -316,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}"
 | 
			
		||||
@@ -334,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
 | 
			
		||||
@@ -368,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
 | 
			
		||||
@@ -397,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}"
 | 
			
		||||
@@ -436,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"
 | 
			
		||||
@@ -452,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
 | 
			
		||||
@@ -508,10 +438,6 @@ case $ARCH in
 | 
			
		||||
		exit 1
 | 
			
		||||
	    fi
 | 
			
		||||
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
 | 
			
		||||
	    if [ $CPLUSPLUS = 1 ] ; then
 | 
			
		||||
		LINK="CC"
 | 
			
		||||
	    else
 | 
			
		||||
@@ -519,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
 | 
			
		||||
	;;
 | 
			
		||||
@@ -592,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
 | 
			
		||||
 | 
			
		||||
@@ -647,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
 | 
			
		||||
@@ -658,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?
 | 
			
		||||
@@ -710,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
 | 
			
		||||
        ;;
 | 
			
		||||
 | 
			
		||||
@@ -766,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
 | 
			
		||||
@@ -779,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}
 | 
			
		||||
 | 
			
		||||
@@ -795,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
 | 
			
		||||
@@ -846,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
 | 
			
		||||
@@ -856,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
 | 
			
		||||
@@ -873,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,125 +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@
 | 
			
		||||
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
# pkg-config substitutions
 | 
			
		||||
GL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@
 | 
			
		||||
GL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@
 | 
			
		||||
GL_PC_CFLAGS = @GL_PC_CFLAGS@
 | 
			
		||||
DRI_PC_REQ_PRIV = @DRI_PC_REQ_PRIV@
 | 
			
		||||
GLU_PC_REQ = @GLU_PC_REQ@
 | 
			
		||||
GLU_PC_REQ_PRIV = @GLU_PC_REQ_PRIV@
 | 
			
		||||
GLU_PC_LIB_PRIV = @GLU_PC_LIB_PRIV@
 | 
			
		||||
GLU_PC_CFLAGS = @GLU_PC_CFLAGS@
 | 
			
		||||
GLUT_PC_REQ_PRIV = @GLUT_PC_REQ_PRIV@
 | 
			
		||||
GLUT_PC_LIB_PRIV = @GLUT_PC_LIB_PRIV@
 | 
			
		||||
GLUT_PC_CFLAGS = @GLUT_PC_CFLAGS@
 | 
			
		||||
GLW_PC_REQ_PRIV = @GLW_PC_REQ_PRIV@
 | 
			
		||||
GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@
 | 
			
		||||
GLW_PC_CFLAGS = @GLW_PC_CFLAGS@
 | 
			
		||||
OSMESA_PC_REQ = @OSMESA_PC_REQ@
 | 
			
		||||
OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@
 | 
			
		||||
@@ -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 +1,42 @@
 | 
			
		||||
# 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
 | 
			
		||||
# 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_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING
 | 
			
		||||
 | 
			
		||||
# -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx/x11
 | 
			
		||||
# -DGLX_USE_APPLEGL      - supposed to be used with GLX_DIRECT_RENDERING to use AGL rather than DRM, but doesn't compile
 | 
			
		||||
# -DIN_DRI_DRIVER
 | 
			
		||||
 | 
			
		||||
ARCH_FLAGS += $(RC_CFLAGS)
 | 
			
		||||
 | 
			
		||||
CFLAGS =  -ggdb3 -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing \
 | 
			
		||||
	-I$(INSTALL_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
 | 
			
		||||
CXXFLAGS =  -ggdb3 -Os -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 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=3
 | 
			
		||||
MESA_TINY=0
 | 
			
		||||
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
 | 
			
		||||
MESA_MINOR=0
 | 
			
		||||
MESA_TINY=1
 | 
			
		||||
 | 
			
		||||
# 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,41 +66,21 @@ 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)
 | 
			
		||||
 | 
			
		||||
# pkg-config substitutions
 | 
			
		||||
GL_PC_REQ_PRIV =
 | 
			
		||||
GL_PC_LIB_PRIV =
 | 
			
		||||
GL_PC_CFLAGS =
 | 
			
		||||
DRI_PC_REQ_PRIV =
 | 
			
		||||
GLU_PC_REQ = gl
 | 
			
		||||
GLU_PC_REQ_PRIV =
 | 
			
		||||
GLU_PC_LIB_PRIV =
 | 
			
		||||
GLU_PC_CFLAGS =
 | 
			
		||||
GLUT_PC_REQ_PRIV =
 | 
			
		||||
GLUT_PC_LIB_PRIV =
 | 
			
		||||
GLUT_PC_CFLAGS =
 | 
			
		||||
GLW_PC_REQ_PRIV =
 | 
			
		||||
GLW_PC_LIB_PRIV =
 | 
			
		||||
GLW_PC_CFLAGS =
 | 
			
		||||
OSMESA_PC_REQ =
 | 
			
		||||
OSMESA_PC_LIB_PRIV =
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1110
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										1110
									
								
								configure.ac
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -16,7 +16,7 @@ Status
 | 
			
		||||
 | 
			
		||||
Version
 | 
			
		||||
 | 
			
		||||
    Last Modified Date:  12 January 2009
 | 
			
		||||
    Last Modified Date:  8 June 2000
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
@@ -69,12 +69,6 @@ Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
 | 
			
		||||
    <width> and <height> indicate the size in pixels.  Coordinate (0,0)
 | 
			
		||||
    corresponds to the lower-left pixel of the window, like glReadPixels.
 | 
			
		||||
 | 
			
		||||
    If dpy and drawable are the display and drawable for the calling
 | 
			
		||||
    thread's current context, glXCopySubBufferMESA performs an
 | 
			
		||||
    implicit glFlush before it returns.  Subsequent OpenGL commands
 | 
			
		||||
    may be issued immediately after calling glXCopySubBufferMESA, but
 | 
			
		||||
    are not executed until the copy is completed. 
 | 
			
		||||
 | 
			
		||||
GLX Protocol
 | 
			
		||||
 | 
			
		||||
    None at this time.  The extension is implemented in terms of ordinary
 | 
			
		||||
@@ -90,7 +84,5 @@ New State
 | 
			
		||||
 | 
			
		||||
Revision History
 | 
			
		||||
 | 
			
		||||
    12 January 2009 Ian Romanick - Added language about implicit flush
 | 
			
		||||
                                   and command completion.
 | 
			
		||||
    8 June 2000     Brian Paul   - initial specification
 | 
			
		||||
    8 June 2000 - initial specification
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,7 @@ Status
 | 
			
		||||
 | 
			
		||||
Version
 | 
			
		||||
 | 
			
		||||
    $Id: MESA_packed_depth_stencil.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
@@ -18,6 +18,7 @@ Version
 | 
			
		||||
 | 
			
		||||
    Last Modified Date: July 20, 2003
 | 
			
		||||
    Author Revision: 1.0
 | 
			
		||||
    $Date: 2004/03/25 01:42:41 $ $Revision: 1.4 $
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
@@ -16,6 +16,7 @@ Status
 | 
			
		||||
 | 
			
		||||
Version
 | 
			
		||||
 | 
			
		||||
    $Id: MESA_resize_buffers.spec,v 1.3 2004/03/25 01:42:42 brianp Exp $
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@ Version
 | 
			
		||||
 | 
			
		||||
    Last Modified Date: July 30, 2006
 | 
			
		||||
    Author Revision: 0.2
 | 
			
		||||
    $Date: 2006/07/30 14:28:38 $ $Revision: 1.2 $
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,7 @@ Status
 | 
			
		||||
 | 
			
		||||
Version
 | 
			
		||||
 | 
			
		||||
    $Id: MESA_sprite_point.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
@@ -1,804 +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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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.||
 | 
			
		||||
@@ -17,6 +17,7 @@ Status
 | 
			
		||||
 | 
			
		||||
Version
 | 
			
		||||
 | 
			
		||||
    $Id: MESA_trace.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
@@ -16,6 +16,7 @@ Status
 | 
			
		||||
 | 
			
		||||
Version
 | 
			
		||||
 | 
			
		||||
    $Id: MESA_window_pos.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $
 | 
			
		||||
 | 
			
		||||
Number
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -134,3 +134,4 @@ as of February, 1999.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: README.BEOS,v 1.12 2004/10/13 00:35:55 phoudoin Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -205,3 +205,4 @@ http://www.linuxgames.com/quake2/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: README.QUAKE,v 1.3 1998/08/23 15:26:26 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -143,3 +143,4 @@ code).  Anyone want to help?
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.1,v 1.2 2000/04/07 17:08:06 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -9,3 +9,4 @@ have been added.  For a list of bug fixes please read the VERSIONS file.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.2,v 1.2 2000/04/07 17:08:06 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -29,3 +29,4 @@ GLU library.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.2.1,v 1.2 2000/07/21 16:32:33 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -268,3 +268,4 @@ image convolution.  This will (hopefully) be done for Mesa 3.5/3.6.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.3,v 1.8 2000/07/21 16:26:41 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -19,3 +19,4 @@ see the VERSIONS file.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -19,3 +19,4 @@ the Mesa 3.4 release.  For details, see the VERSIONS file.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.4.1,v 1.2 2001/05/23 14:45:01 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -19,3 +19,4 @@ the Mesa 3.4.1 release.  For details, see the VERSIONS file.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.4.2,v 1.2 2001/05/23 14:45:01 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -225,3 +225,4 @@ In the future I hope to implement support for 32-bit, floating point
 | 
			
		||||
color channels.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-3.5,v 1.14 2001/06/20 19:02:48 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -160,3 +160,4 @@ See the VERSIONS file for more details about bug fixes, etc. in Mesa 4.0.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-4.0,v 3.2 2001/10/17 14:59:21 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -19,3 +19,4 @@ Mesa 4.0.1 only contains bug fixes since version 4.0.
 | 
			
		||||
See the docs/VERSIONS file for the list of bug fixes.
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -47,3 +47,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-4.0.2,v 1.2 2002/03/23 02:38:39 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -49,3 +49,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-4.0.3,v 1.2 2002/06/26 02:36:34 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -305,3 +305,4 @@ are some things to change:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-4.1,v 1.22 2002/10/29 15:06:37 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -82,3 +82,4 @@ driver call the _mesa_enable_1_4_extensions() function.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-5.0,v 3.2 2002/11/13 15:33:51 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -43,3 +43,4 @@ driver call the _mesa_enable_1_4_extensions() function.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-5.0.1,v 3.1 2003/03/30 16:17:54 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -43,3 +43,4 @@ driver call the _mesa_enable_1_4_extensions() function.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-5.0.2,v 1.1 2003/09/04 23:10:38 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -84,3 +84,4 @@ See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.0.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.0,v 1.3 2004/01/15 15:47:57 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -47,3 +47,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.0.1,v 3.1 2004/04/02 23:37:02 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -109,3 +109,4 @@ See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.1.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.1,v 3.5 2004/08/17 22:58:23 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -49,3 +49,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.2,v 3.4 2004/10/02 15:43:14 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -47,3 +47,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.2.1,v 3.1 2004/12/09 23:21:36 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -112,3 +112,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.3,v 3.13 2005/07/21 15:57:29 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -46,3 +46,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.3.1,v 3.1 2005/07/21 18:45:54 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -34,3 +34,4 @@ D3D			needs updating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.3.2,v 3.2 2005/08/19 16:57:50 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -47,3 +47,4 @@ in Mesa 6.3.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------------------
 | 
			
		||||
$Id: RELNOTES-6.4,v 3.1 2005/10/24 23:33:27 brianp Exp $
 | 
			
		||||
 
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user