Compare commits
	
		
			188 Commits
		
	
	
		
			rotating_g
			...
			mesa_3_2_b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 1b539ed613 | ||
|  | 905ad56487 | ||
|  | a16ebe76c9 | ||
|  | 96563ae75f | ||
|  | 11769b9737 | ||
|  | 474363af47 | ||
|  | 99189ad4fb | ||
|  | 361fc66e36 | ||
|  | 0b616332f7 | ||
|  | 4f030d12ad | ||
|  | 792837dafd | ||
|  | 8c77d45b06 | ||
|  | 660f6dec37 | ||
|  | 14e7ab2c4f | ||
|  | 089f713f0d | ||
|  | 53f81339a4 | ||
|  | 2cf228e93d | ||
|  | 4e8ee6840a | ||
|  | 5144d47c54 | ||
|  | 3eaed2527a | ||
|  | 353bd24876 | ||
|  | 473d64f9cc | ||
|  | c21598fb0d | ||
|  | 287abc7aa0 | ||
|  | e6e732c64d | ||
|  | 61cca3827f | ||
|  | 88406455f5 | ||
|  | fb67681366 | ||
|  | ead75d4894 | ||
|  | bd4ba2b85d | ||
|  | 998839109e | ||
|  | a23d3cc054 | ||
|  | 803d5a12ab | ||
|  | 462144c0f0 | ||
|  | a780e6f228 | ||
|  | 7feab37f8a | ||
|  | 091834064c | ||
|  | 9275c62963 | ||
|  | 7166ff0412 | ||
|  | bf69170dff | ||
|  | 3c6dd8791c | ||
|  | 69bc4e01b8 | ||
|  | b2d3b2dbe0 | ||
|  | c508641aec | ||
|  | f008070ad5 | ||
|  | c562884268 | ||
|  | 992795f4c9 | ||
|  | d21f13cb05 | ||
|  | f1b26953e8 | ||
|  | 216244bed8 | ||
|  | b85c3afc01 | ||
|  | e4ee3cc9d1 | ||
|  | 03d7215604 | ||
|  | 82e6fe5e36 | ||
|  | dde5788a44 | ||
|  | 8038f3747d | ||
|  | 0df95816c5 | ||
|  | 3692626805 | ||
|  | b31d01d4a7 | ||
|  | ba8ef5917e | ||
|  | f5d0252282 | ||
|  | 83386c0f7b | ||
|  | 5e8aa8e5d9 | ||
|  | f008ed46d1 | ||
|  | 7b5a65ce28 | ||
|  | 4f4b93d8ae | ||
|  | 81f97580cc | ||
|  | 8de719530c | ||
|  | f0040ae8f5 | ||
|  | ec2425c3b6 | ||
|  | aedc01c850 | ||
|  | 93c528a6d5 | ||
|  | 443d666b9a | ||
|  | d794378dbc | ||
|  | 76dad53903 | ||
|  | e5f8d98410 | ||
|  | 7f8fed5711 | ||
|  | 5ed6197b0a | ||
|  | 609524894a | ||
|  | 553adbb0c2 | ||
|  | 361afca6a4 | ||
|  | 4c6a2f6a33 | ||
|  | 717ec19e30 | ||
|  | 411fb983f7 | ||
|  | 5dbe3d9c98 | ||
|  | fea067dce8 | ||
|  | 1cfc846bf3 | ||
|  | dfa45b9f26 | ||
|  | 6f602ed44d | ||
|  | 34bf1dd293 | ||
|  | 9a7584b062 | ||
|  | d6dfb94059 | ||
|  | b9ee2850cf | ||
|  | 4183bf524d | ||
|  | 1721f447c6 | ||
|  | 46ef216f7f | ||
|  | a171741d65 | ||
|  | 320c2cdb0f | ||
|  | 9ed70db8ea | ||
|  | acbb8cb9dd | ||
|  | 7889a93ff7 | ||
|  | 970a551795 | ||
|  | d7eae31275 | ||
|  | b0294cbbfe | ||
|  | e2ff9be0b6 | ||
|  | 16283fea40 | ||
|  | 82ba9449e1 | ||
|  | 2377ea9c66 | ||
|  | ac3593ada5 | ||
|  | d6dd996e56 | ||
|  | cee556daea | ||
|  | 313f225a2e | ||
|  | 95d565b64c | ||
|  | 32ea1fdc7e | ||
|  | 8d52ee9ae1 | ||
|  | 9a07202f5e | ||
|  | 0f953d69e5 | ||
|  | b3a1034c05 | ||
|  | 8956d5131d | ||
|  | 428cf99956 | ||
|  | 1e5dab20fd | ||
|  | aa5251d170 | ||
|  | 607add71d9 | ||
|  | 074710629d | ||
|  | 7f0b5dd69c | ||
|  | 09b83c889b | ||
|  | 9c416c235b | ||
|  | 6ce3f22ae9 | ||
|  | 32093ccc86 | ||
|  | d5ff1d782b | ||
|  | 2ed8894aca | ||
|  | 33cd8a5490 | ||
|  | dd25e9852a | ||
|  | 05df9bb6e0 | ||
|  | a335bf404f | ||
|  | 783a67260a | ||
|  | e99e126479 | ||
|  | 98fce32683 | ||
|  | 9493e540f9 | ||
|  | 7138d38cc1 | ||
|  | 9e7f0e1f7c | ||
|  | 52345bfa1e | ||
|  | 93070bceca | ||
|  | 5b90676fc7 | ||
|  | 92ad030cb7 | ||
|  | 9afe0e4278 | ||
|  | 3e63be01d1 | ||
|  | c73eedbe96 | ||
|  | 8c54c4d9f7 | ||
|  | 33817940c4 | ||
|  | 7ec2e161ac | ||
|  | fc2e8cd0d0 | ||
|  | a3ea9edfda | ||
|  | 7fa9891de2 | ||
|  | ddd9410a67 | ||
|  | 532dde3e99 | ||
|  | 2a6f393fa7 | ||
|  | 2d1b9e0402 | ||
|  | 19c878467f | ||
|  | 1041d573ff | ||
|  | fda834160b | ||
|  | 7d35435bb6 | ||
|  | 5c191a62bc | ||
|  | eca3b6e47e | ||
|  | aa0a8624fb | ||
|  | f16a627115 | ||
|  | 1d39975c4e | ||
|  | 62d5f4c73e | ||
|  | d42cd99c66 | ||
|  | 03ef882735 | ||
|  | 19d0fcafb3 | ||
|  | cc6e92ff49 | ||
|  | 463c2b6b77 | ||
|  | 09c133e16f | ||
|  | bb1d3c1ad1 | ||
|  | cabb6a91cd | ||
|  | c76ac6b644 | ||
|  | 6842075a09 | ||
|  | b1da189fe5 | ||
|  | 9b635315be | ||
|  | 702baf4cd3 | ||
|  | b27ee886e4 | ||
|  | 276465cec6 | ||
|  | 5428538d65 | ||
|  | ab5d4d6233 | ||
|  | 2450ce124b | ||
|  | cf22eb77a7 | ||
|  | 569802cdb1 | 
							
								
								
									
										1303
									
								
								Make-config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1303
									
								
								Make-config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										383
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										383
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,383 +0,0 @@ | ||||
| # Top-level Mesa makefile | ||||
|  | ||||
| TOP = . | ||||
|  | ||||
| SUBDIRS = src progs | ||||
|  | ||||
|  | ||||
| default: $(TOP)/configs/current | ||||
| 	@for dir in $(SUBDIRS) ; do \ | ||||
| 		(cd $$dir ; $(MAKE)) || exit 1 ; \ | ||||
| 	done | ||||
|  | ||||
|  | ||||
| doxygen: | ||||
| 	(cd doxygen ; make) ; \ | ||||
|  | ||||
| clean: | ||||
| 	@for dir in $(SUBDIRS) ; do \ | ||||
| 		(cd $$dir ; $(MAKE) clean) ; \ | ||||
| 	done | ||||
|  | ||||
|  | ||||
| realclean: | ||||
| 	touch $(TOP)/configs/current | ||||
| 	$(MAKE) clean | ||||
| 	-rm -rf lib* | ||||
| 	-rm -f $(TOP)/configs/current | ||||
| 	-rm -f `find . -name \*.o` | ||||
| 	-rm -f `find . -name \*.a` | ||||
| 	-rm -f `find . -name \*.so` | ||||
|  | ||||
|  | ||||
|  | ||||
| install: | ||||
| 	@echo "Installing" | ||||
| 	$(TOP)/bin/installmesa  | ||||
|  | ||||
| # 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" | ||||
| 	@echo | ||||
| 	@echo "Then type 'make <config>' (ex: 'make linux-x86')" | ||||
| 	@echo "(ignore the following error message)" | ||||
| 	@exit 1 | ||||
|  | ||||
|  | ||||
| # Rules to set/install a specific build configuration | ||||
| aix \ | ||||
| aix-64 \ | ||||
| aix-gcc \ | ||||
| aix-static \ | ||||
| beos \ | ||||
| darwin \ | ||||
| darwin-static \ | ||||
| freebsd \ | ||||
| freebsd-dri \ | ||||
| freebsd-dri-x86 \ | ||||
| hpux10 \ | ||||
| hpux10-gcc \ | ||||
| hpux10-static \ | ||||
| hpux11-32 \ | ||||
| hpux11-32-static \ | ||||
| hpux11-32-static-nothreads \ | ||||
| hpux11-64 \ | ||||
| hpux11-64-static \ | ||||
| hpux9 \ | ||||
| hpux9-gcc \ | ||||
| irix6-64 \ | ||||
| irix6-64-static \ | ||||
| irix6-n32 \ | ||||
| irix6-n32-static \ | ||||
| irix6-o32 \ | ||||
| irix6-o32-static \ | ||||
| linux \ | ||||
| linux-alpha \ | ||||
| linux-alpha-static \ | ||||
| linux-debug \ | ||||
| linux-dri \ | ||||
| linux-dri-x86 \ | ||||
| linux-dri-x86-64 \ | ||||
| linux-dri-ppc \ | ||||
| linux-glide \ | ||||
| linux-icc \ | ||||
| linux-icc-static \ | ||||
| linux-osmesa16 \ | ||||
| linux-osmesa16-static \ | ||||
| linux-osmesa32 \ | ||||
| linux-ppc \ | ||||
| linux-ppc-static \ | ||||
| linux-solo \ | ||||
| linux-solo-x86 \ | ||||
| linux-solo-ia64 \ | ||||
| linux-sparc \ | ||||
| linux-sparc5 \ | ||||
| linux-static \ | ||||
| linux-ultrasparc \ | ||||
| linux-tcc \ | ||||
| linux-x86 \ | ||||
| linux-x86-debug \ | ||||
| linux-x86-64 \ | ||||
| linux-x86-64-static \ | ||||
| linux-x86-glide \ | ||||
| linux-x86-static \ | ||||
| netbsd \ | ||||
| openbsd \ | ||||
| osf1 \ | ||||
| solaris-x86 \ | ||||
| solaris-x86-gcc \ | ||||
| sunos4 \ | ||||
| sunos4-gcc \ | ||||
| sunos4-static \ | ||||
| sunos5 \ | ||||
| sunos5-gcc \ | ||||
| sunos5-smp \ | ||||
| ultrix-gcc: | ||||
| 	(cd configs && rm -f current && ln -s $@ current) | ||||
| 	$(MAKE) default | ||||
|  | ||||
|  | ||||
| # Rules for making release tarballs | ||||
|  | ||||
| DIRECTORY = Mesa-6.2 | ||||
| LIB_NAME = MesaLib-6.2 | ||||
| DEMO_NAME = MesaDemos-6.2 | ||||
|  | ||||
| LIB_FILES =	\ | ||||
| 	$(DIRECTORY)/Makefile*						\ | ||||
| 	$(DIRECTORY)/descrip.mms					\ | ||||
| 	$(DIRECTORY)/mms-config.					\ | ||||
| 	$(DIRECTORY)/Mesa.dsw						\ | ||||
| 	$(DIRECTORY)/bin/mklib						\ | ||||
| 	$(DIRECTORY)/bin/installmesa					\ | ||||
| 	$(DIRECTORY)/configs/[a-z]*					\ | ||||
| 	$(DIRECTORY)/docs/*.html					\ | ||||
| 	$(DIRECTORY)/docs/COPYING					\ | ||||
| 	$(DIRECTORY)/docs/INSTALL.GNU					\ | ||||
| 	$(DIRECTORY)/docs/README.*					\ | ||||
| 	$(DIRECTORY)/docs/RELNOTES*					\ | ||||
| 	$(DIRECTORY)/docs/VERSIONS					\ | ||||
| 	$(DIRECTORY)/docs/*.spec					\ | ||||
| 	$(DIRECTORY)/include/GL/internal/glcore.h			\ | ||||
| 	$(DIRECTORY)/include/GL/dmesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/amesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/fxmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/ggimesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/gl.h					\ | ||||
| 	$(DIRECTORY)/include/GL/glext.h					\ | ||||
| 	$(DIRECTORY)/include/GL/gl_mangle.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glu.h					\ | ||||
| 	$(DIRECTORY)/include/GL/glu_mangle.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glx.h					\ | ||||
| 	$(DIRECTORY)/include/GL/glxext.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glx_mangle.h				\ | ||||
| 	$(DIRECTORY)/include/GL/mesa_wgl.h				\ | ||||
| 	$(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)/src/Makefile					\ | ||||
| 	$(DIRECTORY)/src/descrip.mms					\ | ||||
| 	$(DIRECTORY)/src/mesa/Makefile*					\ | ||||
| 	$(DIRECTORY)/src/mesa/sources					\ | ||||
| 	$(DIRECTORY)/src/mesa/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mesa/depend					\ | ||||
| 	$(DIRECTORY)/src/mesa/main/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/main/main.dsp				\ | ||||
| 	$(DIRECTORY)/src/mesa/main/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mesa/glapi/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/glapi/glapi.dsp				\ | ||||
| 	$(DIRECTORY)/src/mesa/glapi/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mesa/array_cache/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/array_cache/array_cache.dsp		\ | ||||
| 	$(DIRECTORY)/src/mesa/array_cache/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/math/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/math/math.dsp				\ | ||||
| 	$(DIRECTORY)/src/mesa/math/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/shader.dsp				\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast/swrast.dsp				\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast_setup/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast_setup/swrast_setup.dsp		\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/tnl/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/tnl/tnl.dsp				\ | ||||
| 	$(DIRECTORY)/src/mesa/tnl/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mesa/tnl_dd/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm			\ | ||||
| 	$(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/dos/*.[chS]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/glide/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/glide/*.def			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in	\ | ||||
| 	$(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.win		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.dsp			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/svga/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/windows/*/*.def			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/windows/*/*.dsp			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/x11/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/sparc/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/x86/Makefile				\ | ||||
| 	$(DIRECTORY)/src/mesa/x86/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/x86/*.S					\ | ||||
| 	$(DIRECTORY)/src/glu/Makefile					\ | ||||
| 	$(DIRECTORY)/src/glu/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/Makefile				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/Makefile.win				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/Makefile.DJ				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/cc*.txt				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/glu.def				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/glu.dsp				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/dummy.cc				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/mesaglu.opt				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/include/gluos.h			\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h			\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc		\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h			\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc		\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h			\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc			\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libtess/README				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libtess/alg-outline			\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libtess/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/README[12]				\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/Makefile*				\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/mms_depend				\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/*.def					\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/depend				\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/glw/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/glw/Makefile*					\ | ||||
| 	$(DIRECTORY)/src/glw/README					\ | ||||
| 	$(DIRECTORY)/src/glw/depend					\ | ||||
| 	$(DIRECTORY)/progs/Makefile					\ | ||||
| 	$(DIRECTORY)/progs/util/README					\ | ||||
| 	$(DIRECTORY)/progs/util/*.[ch]					\ | ||||
| 	$(DIRECTORY)/progs/util/sampleMakefile				\ | ||||
| 	$(DIRECTORY)/vms/analyze_map.com				\ | ||||
| 	$(DIRECTORY)/vms/xlib.opt					\ | ||||
| 	$(DIRECTORY)/vms/xlib_share.opt | ||||
|  | ||||
|  | ||||
| DEMO_FILES =	\ | ||||
| 	$(DIRECTORY)/include/GL/glut.h			\ | ||||
| 	$(DIRECTORY)/include/GL/glutf90.h		\ | ||||
| 	$(DIRECTORY)/src/glut/glx/Makefile*		\ | ||||
| 	$(DIRECTORY)/src/glut/glx/depend		\ | ||||
| 	$(DIRECTORY)/src/glut/glx/*def			\ | ||||
| 	$(DIRECTORY)/src/glut/glx/descrip.mms		\ | ||||
| 	$(DIRECTORY)/src/glut/glx/mms_depend		\ | ||||
| 	$(DIRECTORY)/src/glut/glx/glut.dsp		\ | ||||
| 	$(DIRECTORY)/src/glut/glx/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/beos/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/beos/*.cpp		\ | ||||
| 	$(DIRECTORY)/src/glut/beos/Makefile		\ | ||||
| 	$(DIRECTORY)/src/glut/dos/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/dos/Makefile.DJ		\ | ||||
| 	$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS]		\ | ||||
| 	$(DIRECTORY)/src/glut/ggi/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/ggi/Makefile		\ | ||||
| 	$(DIRECTORY)/progs/beos/*.cpp			\ | ||||
| 	$(DIRECTORY)/progs/beos/Makefile		\ | ||||
| 	$(DIRECTORY)/progs/images/*.rgb			\ | ||||
| 	$(DIRECTORY)/progs/images/*.rgba		\ | ||||
| 	$(DIRECTORY)/progs/demos/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/demos/descrip.mms		\ | ||||
| 	$(DIRECTORY)/progs/demos/*.[ch]			\ | ||||
| 	$(DIRECTORY)/progs/demos/*.cxx			\ | ||||
| 	$(DIRECTORY)/progs/demos/*.dat			\ | ||||
| 	$(DIRECTORY)/progs/demos/README			\ | ||||
| 	$(DIRECTORY)/progs/demos/Windows/*.dsp		\ | ||||
| 	$(DIRECTORY)/progs/demos/Windows/*.dsw		\ | ||||
| 	$(DIRECTORY)/progs/xdemos/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/xdemos/descrip.mms		\ | ||||
| 	$(DIRECTORY)/progs/xdemos/*.[chf]		\ | ||||
| 	$(DIRECTORY)/progs/redbook/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/redbook/README		\ | ||||
| 	$(DIRECTORY)/progs/redbook/*.[ch]		\ | ||||
| 	$(DIRECTORY)/progs/samples/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/samples/README		\ | ||||
| 	$(DIRECTORY)/progs/samples/*.c			\ | ||||
| 	$(DIRECTORY)/progs/windml/Makefile.ugl		\ | ||||
| 	$(DIRECTORY)/progs/windml/*.c			\ | ||||
| 	$(DIRECTORY)/progs/windml/*.bmp			\ | ||||
| 	$(DIRECTORY)/progs/ggi/*.c | ||||
|  | ||||
|  | ||||
| DRI_FILES = \ | ||||
| 	$(DIRECTORY)/src/glx/Makefile					\ | ||||
| 	$(DIRECTORY)/src/glx/mini/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/glx/mini/example.miniglx.conf			\ | ||||
| 	$(DIRECTORY)/src/glx/mini/NOTES					\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/dri_client/imports/*.h	\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/depend			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch] | ||||
|  | ||||
|  | ||||
| # Everything for new a Mesa release: | ||||
| tarballs: lib_gz demo_gz lib_bz2 demo_bz2 lib_zip demo_zip md5 | ||||
|  | ||||
|  | ||||
| lib_gz: | ||||
| 	rm -f configs/current ; \ | ||||
| 	cd .. ; \ | ||||
| 	tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \ | ||||
| 	gzip $(LIB_NAME).tar ; \ | ||||
| 	mv $(LIB_NAME).tar.gz $(DIRECTORY) | ||||
|  | ||||
| demo_gz: | ||||
| 	cd .. ; \ | ||||
| 	tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \ | ||||
| 	gzip $(DEMO_NAME).tar ; \ | ||||
| 	mv $(DEMO_NAME).tar.gz $(DIRECTORY) | ||||
|  | ||||
| lib_bz2: | ||||
| 	rm -f configs/current ; \ | ||||
| 	cd .. ; \ | ||||
| 	tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \ | ||||
| 	bzip2 $(LIB_NAME).tar ; \ | ||||
| 	mv $(LIB_NAME).tar.bz2 $(DIRECTORY) | ||||
|  | ||||
| demo_bz2: | ||||
| 	cd .. ; \ | ||||
| 	tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \ | ||||
| 	bzip2 $(DEMO_NAME).tar ; \ | ||||
| 	mv $(DEMO_NAME).tar.bz2 $(DIRECTORY) | ||||
|  | ||||
| lib_zip: | ||||
| 	rm -f configs/current ; \ | ||||
| 	-rm $(LIB_NAME).zip ; \ | ||||
| 	cd .. ; \ | ||||
| 	zip -r $(LIB_NAME).zip $(LIB_FILES) ; \ | ||||
| 	mv $(LIB_NAME).zip $(DIRECTORY) | ||||
|  | ||||
| demo_zip: | ||||
| 	-rm $(DEMO_NAME).zip ; \ | ||||
| 	cd .. ; \ | ||||
| 	zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \ | ||||
| 	mv $(DEMO_NAME).zip $(DIRECTORY) | ||||
|  | ||||
| md5: | ||||
| 	@-md5sum $(LIB_NAME).tar.gz | ||||
| 	@-md5sum $(LIB_NAME).tar.bz2 | ||||
| 	@-md5sum $(LIB_NAME).zip | ||||
| 	@-md5sum $(DEMO_NAME).tar.gz | ||||
| 	@-md5sum $(DEMO_NAME).tar.bz2 | ||||
| 	@-md5sum $(DEMO_NAME).zip | ||||
							
								
								
									
										97
									
								
								Makefile.DJ
									
									
									
									
									
								
							
							
						
						
									
										97
									
								
								Makefile.DJ
									
									
									
									
									
								
							| @@ -1,97 +0,0 @@ | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  4.0 | ||||
| #  | ||||
| # Copyright (C) 1999  Brian Paul   All Rights Reserved. | ||||
| #  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a | ||||
| # copy of this software and associated documentation files (the "Software"), | ||||
| # to deal in the Software without restriction, including without limitation | ||||
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
| # and/or sell copies of the Software, and to permit persons to whom the | ||||
| # Software is furnished to do so, subject to the following conditions: | ||||
| #  | ||||
| # The above copyright notice and this permission notice shall be included | ||||
| # in all copies or substantial portions of the Software. | ||||
| #  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
| # BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||||
| # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
| # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
| # DOS/DJGPP makefile v1.6 for Mesa | ||||
| # | ||||
| #  Copyright (C) 2002 - Daniel Borca | ||||
| #  Email : dborca@users.sourceforge.net | ||||
| #  Web   : http://www.geocities.com/dborca | ||||
|  | ||||
|  | ||||
| # | ||||
| #  Available options: | ||||
| # | ||||
| #    Environment variables: | ||||
| #	CPU		optimize for the given processor. | ||||
| #			default = pentium | ||||
| #	GLU=[mesa|sgi]	specify GLU directory; can be `sgi' (requires GNU/C++) | ||||
| #			or `mesa'. | ||||
| #			default = mesa | ||||
| #	GLIDE		path to Glide3 SDK; used with FX. | ||||
| #			default = $(TOP)/glide3 | ||||
| #	FX=1		build for 3dfx Glide3. Note that this disables | ||||
| #			compilation of most DMesa code and requires fxMesa. | ||||
| #			As a consequence, you'll need the DJGPP Glide3 | ||||
| #			library to build any application. | ||||
| #			default = no | ||||
| #	X86=1		optimize for x86 (if possible, use MMX, SSE, 3DNow). | ||||
| #			default = no | ||||
| # | ||||
| #    Targets: | ||||
| #	all:		build everything | ||||
| #	libgl:		build GL | ||||
| #	libglu:		build GLU | ||||
| #	libglut:	build GLUT | ||||
| #	clean:		remove object files | ||||
| #	realclean:	remove all generated files | ||||
| # | ||||
|  | ||||
|  | ||||
|  | ||||
| .PHONY : all libgl libglu libglut clean realclean | ||||
|  | ||||
| CPU ?= pentium | ||||
|  | ||||
| GLU ?= mesa | ||||
|  | ||||
| CFLAGS = -Wall -W -pedantic | ||||
| CFLAGS += -O2 -ffast-math -mtune=$(CPU) | ||||
|  | ||||
| export CFLAGS | ||||
|  | ||||
| ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),) | ||||
| UNLINK = del $(subst /,\,$(1)) | ||||
| else | ||||
| UNLINK = $(RM) $(1) | ||||
| endif | ||||
|  | ||||
| all: libgl libglu libglut | ||||
|  | ||||
| libgl: lib | ||||
| 	$(MAKE) -f Makefile.DJ -C src/mesa | ||||
| libglu: lib | ||||
| 	$(MAKE) -f Makefile.DJ -C src/glu/$(GLU) | ||||
| libglut: lib | ||||
| 	$(MAKE) -f Makefile.DJ -C src/glut/dos | ||||
|  | ||||
| lib: | ||||
| 	mkdir lib | ||||
|  | ||||
| clean: | ||||
| 	$(MAKE) -f Makefile.DJ clean -C src/mesa | ||||
| 	$(MAKE) -f Makefile.DJ clean -C src/glu/mesa | ||||
| 	$(MAKE) -f Makefile.DJ clean -C src/glu/sgi | ||||
| 	$(MAKE) -f Makefile.DJ clean -C src/glut/dos | ||||
|  | ||||
| realclean: clean | ||||
| 	-$(call UNLINK,lib/*.a) | ||||
| 	-$(call UNLINK,lib/*.dxe) | ||||
							
								
								
									
										579
									
								
								Makefile.X11
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										579
									
								
								Makefile.X11
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,579 @@ | ||||
| # $Id: Makefile.X11,v 1.12.2.8 2000/03/23 00:14:28 brianp Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.2 | ||||
| #  | ||||
| # Copyright (C) 1999-2000  Brian Paul   All Rights Reserved. | ||||
| #  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a | ||||
| # copy of this software and associated documentation files (the "Software"), | ||||
| # to deal in the Software without restriction, including without limitation | ||||
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
| # and/or sell copies of the Software, and to permit persons to whom the | ||||
| # Software is furnished to do so, subject to the following conditions: | ||||
| #  | ||||
| # The above copyright notice and this permission notice shall be included | ||||
| # in all copies or substantial portions of the Software. | ||||
| #  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
| # BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||||
| # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
| # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
|  | ||||
| # Top-level makefile for Mesa | ||||
| # To add a new configuration for your system add it to the list below | ||||
| # then update the Make-config file. | ||||
|  | ||||
| SHELL = /bin/sh | ||||
|  | ||||
|  | ||||
|  | ||||
| default: | ||||
| 	@echo "Type one of the following:" | ||||
| 	@echo "  make aix                  for IBM RS/6000 with AIX" | ||||
| 	@echo "  make aix-sl               for IBM RS/6000, make shared libs" | ||||
| 	@echo "  make amiwin               for Amiga with SAS/C and AmiWin" | ||||
| 	@echo "  make amix                 for Amiga 3000 UX  SVR4 v2.1 systems" | ||||
| 	@echo "  make beos-r4              for BeOS R4" | ||||
| 	@echo "  make bsdos                for BSD/OS from BSDI using GCC" | ||||
| 	@echo "  make bsdos4               for BSD/OS 4.x, dynamic libraries" | ||||
| 	@echo "  make cygnus               for Win95/NT using Cygnus-Win32" | ||||
| 	@echo "  make cygnus-linux         for Win95/NT using Cygnus-Win32 under Linux" | ||||
| 	@echo "  make dgux                 for Data General" | ||||
| 	@echo "  make freebsd              for FreeBSD systems with GCC" | ||||
| 	@echo "  make freebsd-386          for FreeBSD systems with GCC, w/ Intel assembly" | ||||
| 	@echo "  make gcc                  for a generic system with GCC" | ||||
| 	@echo "  make hpux9                for HP systems with HPUX 9.x" | ||||
| 	@echo "  make hpux9-sl             for HP systems with HPUX 9.x, make shared libs" | ||||
| 	@echo "  make hpux9-gcc            for HP systems with HPUX 9.x using GCC" | ||||
| 	@echo "  make hpux9-gcc-sl         for HP systems with HPUX 9.x, GCC, make shared libs" | ||||
| 	@echo "  make hpux10               for HP systems with HPUX 10.x" | ||||
| 	@echo "  make hpux10-sl            for HP systems with HPUX 10.x, shared libs" | ||||
| 	@echo "  make hpux10-gcc           for HP systems with HPUX 10.x w/ GCC" | ||||
| 	@echo "  make hpux10-gcc-sl        for HP systems with HPUX 10.x w/ GCC, shared libs" | ||||
| 	@echo "  make irix4                for SGI systems with IRIX 4.x" | ||||
| 	@echo "  make irix5                for SGI systems with IRIX 5.x" | ||||
| 	@echo "  make irix5-gcc            for SGI systems with IRIX 5.x using GCC" | ||||
| 	@echo "  make irix5-dso            for SGI systems with IRIX 5.x, make DSOs" | ||||
| 	@echo "  make irix6-o32            for SGI systems with IRIX 6.x, make o32-bit libs" | ||||
| 	@echo "  make irix6-o32-dso        for SGI systems with IRIX 6.x, make o32-bit DSOs" | ||||
| 	@echo "  make irix6-n32            for SGI systems with IRIX 6.x, make n32-bit libs" | ||||
| 	@echo "  make irix6-n32-dso        for SGI systems with IRIX 6.x, make n32-bit DSOs" | ||||
| 	@echo "  make irix6-gcc-n32-sl     for SGI systems with IRIX 6.x, GCC, make n32 DSOs" | ||||
| 	@echo "  make irix6-64             for SGI systems with IRIX 6.x, make 64-bit libs" | ||||
| 	@echo "  make irix6-64-dso         for SGI systems with IRIX 6.x, make 64-bit DSOs" | ||||
|  | ||||
| 	@echo "  make linux                for Linux systems, make static .a libs" | ||||
| 	@echo "  make linux-elf            for Linux systems, make ELF shared libs" | ||||
| 	@echo "  make linux-386            for Linux w/ Intel assembly" | ||||
| 	@echo "  make linux-386-elf        for Linux w/ Intel assembly, make ELF shared libs" | ||||
| 	@echo "  make linux-ggi            for Linux systems with libggi" | ||||
| 	@echo "  make linux-386-ggi        for Linux systems with libggi w/ Intel assembly" | ||||
| 	@echo "  make linux-alpha          for Linux on Alpha systems" | ||||
| 	@echo "  make linux-alpha-elf      for Linux on Alpha systems, make ELF shared libs" | ||||
| 	@echo "  make linux-ppc            for Linux on PowerPC systems" | ||||
| 	@echo "  make linux-ppc-so         for Linux on PowerPC systems, make shared libs" | ||||
| 	@echo "  make linux-glide          for Linux w/ 3Dfx Glide driver" | ||||
| 	@echo "  make linux-386-glide      for Linux w/ 3Dfx Glide driver, Intel assembly" | ||||
| 	@echo "  make linux-386-opt-glide  for Linux with 3Dfx Voodoo1 for GLQuake" | ||||
| 	@echo "  make linux-386-opt-V2-glide  for Linux with 3Dfx Voodoo2 for GLQuake" | ||||
| 	@echo "  make linux-3dnow          for Linux on AMD w/ 3DNow!" | ||||
| 	@echo "  make linux-3dnow-glide    for Linux on AMD w/ 3DNow! for Glide" | ||||
| 	@echo "  make linux-386-pthread    for Linux w/ Intel assembly and linuxthreads" | ||||
| 	@echo "  make linux-386-pthread-shared  for Linux w/ Intel assembly and linuxthreads" | ||||
| 	@echo "  make linux-386-pthread-shared-glide  for Linux w/ Intel assembly, linuxthreads, and 3Dfx Glide driver" | ||||
| 	@echo "  make linux-sparc          for Linux on Sparc systems" | ||||
| 	@echo "  make linux-sparc5-elf     for Sparc5 systems, make ELF shared libs" | ||||
| 	@echo "  make linux-sparc-ultra    for UltraSparc systems, make ELF shared libs" | ||||
| 	@echo "  make lynxos               for LynxOS systems with GCC" | ||||
| 	@echo "  make macintosh            for Macintosh" | ||||
| 	@echo "  make machten-2.2          for Macs w/ MachTen 2.2 (68k w/ FPU)" | ||||
| 	@echo "  make machten-4.0          for Macs w/ MachTen 4.0.1 or newer with GNU make" | ||||
| 	@echo "  make mklinux              for Linux on Power Macintosh" | ||||
| 	@echo "  make netbsd               for NetBSD 1.0 systems with GCC" | ||||
| 	@echo "  make next                 for NeXT systems with NEXTSTEP 3.3" | ||||
| 	@echo "  make openbsd              for OpenBSD systems" | ||||
| 	@echo "  make openstep             for OpenStep/MacOSX Server systems" | ||||
| 	@echo "  make os2-x11              for OS/2 with XFree86" | ||||
| 	@echo "  make osf1                 for DEC Alpha systems with OSF/1" | ||||
| 	@echo "  make osf1-sl              for DEC Alpha systems with OSF/1, make shared libs" | ||||
| 	@echo "  make pgi-cygnus           for Cygnus with Portland Group, Inc. compiler" | ||||
| 	@echo "  make pgi-mingw32          for mingW32 with Portland Group, Inc. compiler" | ||||
| 	@echo "  make qnx                  for QNX V4 systems with Watcom compiler" | ||||
| 	@echo "  make sco                  for SCO Unix systems with ODT" | ||||
| 	@echo "  make sco5                 for SCO 5.0.5 OpenServer Unix" | ||||
| 	@echo "  make solaris-x86          for PCs with Solaris" | ||||
| 	@echo "  make solaris-x86-gcc      for PCs with Solaris using GCC" | ||||
| 	@echo "  make sunos4               for Suns with SunOS 4.x" | ||||
| 	@echo "  make sunos4-sl            for Suns with SunOS 4.x, make shared libs" | ||||
| 	@echo "  make sunos4-gcc           for Suns with SunOS 4.x and GCC" | ||||
| 	@echo "  make sunos4-gcc-sl        for Suns with SunOS 4.x, GCC, make shared libs" | ||||
| 	@echo "  make sunos5               for Suns with SunOS 5.x" | ||||
| 	@echo "  make sunos5-sl            for Suns with SunOS 5.x, make shared libs" | ||||
| 	@echo "  make sunos5-ultra         for Sun UltraSPARCs with SunOS 5.x" | ||||
| 	@echo "  make sunos5-ultra-sl      for Sun UltraSPARCs with SunOS 5.x, make shared libs" | ||||
| 	@echo "  make sunos5-thread        for Suns with SunOS 5.x, using Solaris threads" | ||||
| 	@echo "  make sunos5-pthread       for Suns with SunOS 5.[56] using POSIX threads" | ||||
| 	@echo "  make sunos5-gcc-thread    for Suns with SunOS 5.x and GCC, using Solaris threads" | ||||
| 	@echo "  make sunos5-gcc-pthread   for Suns with SunOS 5.[56] and GCC, using POSIX threads" | ||||
| 	@echo "  make sunos5-gcc           for Suns with SunOS 5.x and GCC" | ||||
| 	@echo "  make sunos5-gcc-sl        for Suns with SunOS 5.x, GCC, make shared libs" | ||||
| 	@echo "  make sunos5-x11r6-gcc-sl  for Suns with X11R6, GCC, make shared libs" | ||||
| 	@echo "  make sunos5-gcc-thread    for Suns with SunOS 5.x and GCC, using Solaris threads" | ||||
| 	@echo "  make sunos5-gcc-pthread   for Suns with SunOS 5.[56] and GCC, using POSIX threads" | ||||
| 	@echo "  make sunSolaris-CC        for Solaris using C++ compiler" | ||||
| 	@echo "  make ultrix-gcc           for DEC systems with Ultrix and GCC" | ||||
| 	@echo "  make unicos               for Cray C90 (and other?) systems" | ||||
| 	@echo "  make unixware             for PCs running UnixWare" | ||||
| 	@echo "  make unixware-shared      for PCs running UnixWare, shared libs" | ||||
| 	@echo "  make uwin                 for Windows NT with AT&T/Wipro UWIN" | ||||
| 	@echo "  make vistra               for Stardent Vistra systems" | ||||
| 	@echo "  make clean                remove .o files" | ||||
| 	@echo "  make realclean            remove .o, library and executable files" | ||||
|  | ||||
|  | ||||
|  | ||||
| aix aix-sl amix bsdos bsdos4 dgux freebsd freebsd-386 gcc \ | ||||
| hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \ | ||||
| hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \ | ||||
| irix4 irix5 irix5-gcc irix5-dso irix6-o32 irix6-o32-dso \ | ||||
| linux linux-debug linux-prof linux-elf linux-elf-debug linux-glide-debug \ | ||||
| linux-glide linux-386-glide linux-386-opt-glide \ | ||||
| linux-386-opt-V2-glide \ | ||||
| linux-386 linux-386-elf \ | ||||
| linux-3dnow linux-3dnow-glide \ | ||||
| linux-alpha linux-alpha-elf \ | ||||
| linux-ppc linux-ppc-so \ | ||||
| linux-386-pthread linux-386-pthread-shared linux-386-pthread-shared-glide \ | ||||
| linux-sparc \ | ||||
| linux-sparc5-elf \ | ||||
| linux-sparc-ultra \ | ||||
| lynxos machten-2.2 machten-4.0 \ | ||||
| mklinux netbsd osf1 osf1-sl openbsd qnx sco sco5 \ | ||||
| solaris-x86 solaris-x86-gcc sunSolaris-CC \ | ||||
| sunos4 sunos4-sl sunos4-gcc sunos4-gcc-sl sunos4-gcc-x11r6-sl \ | ||||
| sunos5 sunos5-sl sunos5-ultra sunos5-ultra-sl sunos5-gcc sunos5-gcc-sl \ | ||||
| sunos5-thread sunos5-pthread sunos5-gcc-thread sunos5-gcc-pthread \ | ||||
| sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware uwin vistra: | ||||
| 	-mkdir lib | ||||
| 	touch src/depend | ||||
| 	touch src-glu/depend | ||||
| 	if [ -d src-glut ] ; then touch src-glut/depend ; fi | ||||
| 	cd src ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d demos ]    ; then cd demos    ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d xdemos ]   ; then cd xdemos   ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d samples ]  ; then cd samples  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d book ]     ; then cd book     ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
|  | ||||
|  | ||||
| irix6-n32 irix6-n32-dso irix6-gcc-n32-sl irix-debug: | ||||
| 	-mkdir lib32 | ||||
| 	touch src/depend | ||||
| 	touch src-glu/depend | ||||
| 	if [ -d src-glut ] ; then touch src-glut/depend ; fi | ||||
| 	cd src ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d demos ]    ; then cd demos    ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d xdemos ]   ; then cd xdemos   ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d samples ]  ; then cd samples  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d book ]     ; then cd book     ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
|  | ||||
|  | ||||
| irix6-64 irix6-64-dso: | ||||
| 	-mkdir lib64 | ||||
| 	touch src/depend | ||||
| 	touch src-glu/depend | ||||
| 	if [ -d src-glut ] ; then touch src-glut/depend ; fi | ||||
| 	cd src ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d demos ]    ; then cd demos    ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d xdemos ]   ; then cd xdemos   ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d samples ]  ; then cd samples  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d book ]     ; then cd book     ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
|  | ||||
|  | ||||
| amiwin: | ||||
| 	bin/mklib.amiwin | ||||
|  | ||||
|  | ||||
| beos-r4: | ||||
| 	-mkdir lib | ||||
| 	-rm src/depend | ||||
| 	touch src/depend | ||||
| 	-rm src-glu/depend | ||||
| 	touch src-glu/depend | ||||
| 	cd src ; $(MAKE) -f Makefile.BeOS-R4 $@ | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.BeOS-R4 $@ | ||||
| 	if [ -d BeOS ]          ; then cd BeOS          ; $(MAKE) ; fi | ||||
| 	if [ -d src-glut.beos ] ; then cd src-glut.beos ; $(MAKE) ; fi | ||||
| 	if [ -d src-glut.beos ] ; then cp src-glut.beos/obj*/libglut.so lib  ; fi | ||||
| 	if [ -d demos ]   ; then cd demos   ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi | ||||
| 	if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi | ||||
| 	if [ -d book ]    ; then cd book    ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi | ||||
|  | ||||
| pgi-cygnus pgi-mingw32 \ | ||||
| cygnus cygnus-linux: | ||||
| 	-mkdir lib | ||||
| 	touch src/depend | ||||
| 	touch src-glu/depend | ||||
| 	cd src ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d demos ]    ; then cd demos    ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d xdemos ]  ; then cd xdemos  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
|  | ||||
| macintosh: | ||||
| 	@echo "See the README file for Macintosh intallation information" | ||||
|  | ||||
| next: | ||||
| 	-mkdir lib | ||||
| 	cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@ | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@ | ||||
|  | ||||
| openstep: | ||||
| 	-mkdir lib | ||||
| 	cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@ | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@ | ||||
|  | ||||
| os2-x11: | ||||
| 	if not EXIST .\lib md lib | ||||
| 	touch src/depend | ||||
| 	touch src-glu/depend | ||||
| 	if exist src-glut touch src-glut/depend | ||||
| 	cd src     & make -f Makefile.X11 $@ | ||||
| 	cd src-glu & make -f Makefile.X11 $@ | ||||
| 	if exist src-glut  cd src-glut & make -f Makefile.X11 $@ | ||||
| 	if exist demos     cd demos    & make -f Makefile.X11 $@ | ||||
| 	if exist xdemos    cd xdemos   & make -f Makefile.X11 $@ | ||||
| 	if exist samples   cd samples  & make -f Makefile.X11 $@ | ||||
| 	if exist book      cd book     & make -f Makefile.X11 $@ | ||||
|  | ||||
| linux-ggi linux-386-ggi: | ||||
| 	-mkdir lib | ||||
| 	touch src/depend | ||||
| 	touch src-glu/depend | ||||
| 	if [ -d src-glut ] ; then touch src-glut/depend ; fi | ||||
| 	if [ -d ggi ] ; then touch ggi/depend ; fi | ||||
| 	cd src ; $(MAKE) -f Makefile.X11 $@ | ||||
| 	cd src/GGI/default ; $(MAKE) | ||||
| 	cd src/GGI/display ; $(MAKE) | ||||
| 	cd src-glu ; $(MAKE) -f Makefile.X11 $@ | ||||
| #	if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d ggi ]      ; then cd ggi      ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d ggi ]      ; then cd ggi/demos; $(MAKE)    ; fi | ||||
| 	if [ -d demos ]    ; then cd demos    ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d xdemos ]   ; then cd xdemos   ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d samples ]  ; then cd samples  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d book ]     ; then cd book     ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
|  | ||||
| # if you change GGI_DEST please change it in ggimesa.conf, too. | ||||
| DESTDIR=/usr/local | ||||
| GGI_DEST=lib/ggi/mesa | ||||
|  | ||||
| linux-ggi-install linux-386-ggi-install: | ||||
| 	install -d $(DESTDIR)/$(GGI_DEST)/default $(DESTDIR)/$(GGI_DEST)/display $(DESTDIR)/etc/ggi | ||||
| 	install -m 0755 src/GGI/default/*.so $(DESTDIR)/$(GGI_DEST)/default | ||||
| 	install -m 0755 src/GGI/display/*.so $(DESTDIR)/$(GGI_DEST)/display | ||||
| 	install -m 0644 src/GGI/ggimesa.conf $(DESTDIR)/etc/ggi | ||||
| #	if [ -z "`grep ggimesa $(DESTDIR)/etc/ggi/libggi.conf`" ]; then \ | ||||
| #	echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \ | ||||
| #	fi | ||||
|  | ||||
| # Remove .o files, emacs backup files, etc. | ||||
| clean: | ||||
| 	-rm -f ggi/*~ *.o | ||||
| 	-rm -f src/GGI/default/*~ *.so | ||||
| 	-rm -f src/GGI/display/*~ *.so | ||||
| 	-rm -f include/*~ | ||||
| 	-rm -f include/GL/*~ | ||||
| 	-rm -f src/*.o src/*~ src/*.a src/*/*.o src/*/*~ | ||||
| 	-rm -f src-glu/*.o src-glu/*~ src-glu/*.a | ||||
| 	-rm -f src-glut/*.o | ||||
| 	-rm -f demos/*.o | ||||
| 	-rm -f book/*.o book/*~ | ||||
| 	-rm -f xdemos/*.o xdemos/*~ | ||||
| 	-rm -f samples/*.o samples/*~ | ||||
| 	-rm -f ggi/*.o ggi/demos/*.o ggi/*.a | ||||
|  | ||||
| # Remove everything that can be remade | ||||
| realclean: clean | ||||
| 	-rm -f lib/* | ||||
| 	cd demos       && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd xdemos      && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd book        && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd samples     && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd ggi/demos   && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd src/GGI/default && $(MAKE) -f Makefile.X11 realclean || true | ||||
|  | ||||
|  | ||||
|  | ||||
| DIRECTORY = Mesa-3.2 | ||||
| LIB_NAME = MesaLib-3.2 | ||||
| DEMO_NAME = MesaDemos-3.2 | ||||
|  | ||||
|  | ||||
| LIB_FILES =	\ | ||||
| 	$(DIRECTORY)/Makefile*					\ | ||||
| 	$(DIRECTORY)/Make-config				\ | ||||
| 	$(DIRECTORY)/acconfig.h					\ | ||||
| 	$(DIRECTORY)/acinclude.m4				\ | ||||
| 	$(DIRECTORY)/aclocal.m4					\ | ||||
| 	$(DIRECTORY)/conf.h.in					\ | ||||
| 	$(DIRECTORY)/config.guess				\ | ||||
| 	$(DIRECTORY)/config.sub					\ | ||||
| 	$(DIRECTORY)/configure					\ | ||||
| 	$(DIRECTORY)/configure.in				\ | ||||
| 	$(DIRECTORY)/install-sh					\ | ||||
| 	$(DIRECTORY)/ltconfig					\ | ||||
| 	$(DIRECTORY)/ltmain.sh					\ | ||||
| 	$(DIRECTORY)/missing					\ | ||||
| 	$(DIRECTORY)/mkinstalldirs				\ | ||||
| 	$(DIRECTORY)/stamp-h.in					\ | ||||
| 	$(DIRECTORY)/configure					\ | ||||
| 	$(DIRECTORY)/docs/CONFIG				\ | ||||
| 	$(DIRECTORY)/docs/CONFORM				\ | ||||
| 	$(DIRECTORY)/docs/COPYING				\ | ||||
| 	$(DIRECTORY)/docs/COPYRIGHT				\ | ||||
| 	$(DIRECTORY)/docs/DEVINFO				\ | ||||
| 	$(DIRECTORY)/docs/IAFA-PACKAGE				\ | ||||
| 	$(DIRECTORY)/docs/INSTALL				\ | ||||
| 	$(DIRECTORY)/docs/INSTALL.GNU				\ | ||||
| 	$(DIRECTORY)/docs/README				\ | ||||
| 	$(DIRECTORY)/docs/README.*				\ | ||||
| 	$(DIRECTORY)/docs/RELNOTES				\ | ||||
| 	$(DIRECTORY)/docs/VERSIONS				\ | ||||
| 	$(DIRECTORY)/docs/*.spec				\ | ||||
| 	$(DIRECTORY)/bin/README					\ | ||||
| 	$(DIRECTORY)/bin/mklib*					\ | ||||
| 	$(DIRECTORY)/*.BAT					\ | ||||
| 	$(DIRECTORY)/*.bat					\ | ||||
| 	$(DIRECTORY)/descrip.mms				\ | ||||
| 	$(DIRECTORY)/mms-config					\ | ||||
| 	$(DIRECTORY)/xlib.opt					\ | ||||
| 	$(DIRECTORY)/STARTUP.MK					\ | ||||
| 	$(DIRECTORY)/mesawin32.mak				\ | ||||
| 	$(DIRECTORY)/Names.win					\ | ||||
| 	$(DIRECTORY)/win32-openstep.sh				\ | ||||
| 	$(DIRECTORY)/Makefile.dja				\ | ||||
| 	$(DIRECTORY)/common.dja					\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.in			\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.am			\ | ||||
| 	$(DIRECTORY)/include/GL/amesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/dosmesa.h			\ | ||||
| 	$(DIRECTORY)/include/GL/foomesa.h			\ | ||||
| 	$(DIRECTORY)/include/GL/fxmesa.h			\ | ||||
| 	$(DIRECTORY)/include/GL/ggimesa.h			\ | ||||
| 	$(DIRECTORY)/include/GL/gl.h				\ | ||||
| 	$(DIRECTORY)/include/GL/gl_mangle.h			\ | ||||
| 	$(DIRECTORY)/include/GL/glu.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glu_mangle.h			\ | ||||
| 	$(DIRECTORY)/include/GL/glx.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glx_mangle.h			\ | ||||
| 	$(DIRECTORY)/include/GL/mesa_wgl.h			\ | ||||
| 	$(DIRECTORY)/include/GL/mglmesa.h			\ | ||||
| 	$(DIRECTORY)/include/GL/osmesa.h			\ | ||||
| 	$(DIRECTORY)/include/GL/svgamesa.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)/include/Makefile.in			\ | ||||
| 	$(DIRECTORY)/include/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/Makefile*				\ | ||||
| 	$(DIRECTORY)/src/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mms_depend				\ | ||||
| 	$(DIRECTORY)/src/mesa.conf				\ | ||||
| 	$(DIRECTORY)/src/*.def					\ | ||||
| 	$(DIRECTORY)/src/depend					\ | ||||
| 	$(DIRECTORY)/src/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/Allegro/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/BeOS/*.cpp				\ | ||||
| 	$(DIRECTORY)/src/D3D/*.cpp				\ | ||||
| 	$(DIRECTORY)/src/D3D/*.CPP				\ | ||||
| 	$(DIRECTORY)/src/D3D/*.h				\ | ||||
| 	$(DIRECTORY)/src/D3D/*.H				\ | ||||
| 	$(DIRECTORY)/src/D3D/*.c				\ | ||||
| 	$(DIRECTORY)/src/D3D/*.C				\ | ||||
| 	$(DIRECTORY)/src/D3D/MAKEFILE				\ | ||||
| 	$(DIRECTORY)/src/D3D/*bat				\ | ||||
| 	$(DIRECTORY)/src/D3D/*DEF				\ | ||||
| 	$(DIRECTORY)/src/DOS/DEPEND.DOS				\ | ||||
| 	$(DIRECTORY)/src/DOS/*.c				\ | ||||
| 	$(DIRECTORY)/src/FX/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/FX/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/FX/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/FX/*.def				\ | ||||
| 	$(DIRECTORY)/src/FX/X86/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/FX/X86/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/FX/X86/*.[Shc]				\ | ||||
| 	$(DIRECTORY)/src/GGI/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/GGI/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/GGI/ggimesa.conf.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/default/*.c			\ | ||||
| 	$(DIRECTORY)/src/GGI/default/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/default/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/default/genkgi.conf.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/display/*.c			\ | ||||
| 	$(DIRECTORY)/src/GGI/display/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/display/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/display/fbdev.conf.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.am	\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.in	\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/*.h		\ | ||||
| 	$(DIRECTORY)/src/KNOWN_BUGS				\ | ||||
| 	$(DIRECTORY)/src/MGL/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/MGL/*.txt				\ | ||||
| 	$(DIRECTORY)/src/OSmesa/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/OSmesa/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/OSmesa/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/S3/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/S3/*.def				\ | ||||
| 	$(DIRECTORY)/src/S3/*.mak				\ | ||||
| 	$(DIRECTORY)/src/S3/*.rc				\ | ||||
| 	$(DIRECTORY)/src/SVGA/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/SVGA/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/SVGA/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/Windows/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/Windows/*.def				\ | ||||
| 	$(DIRECTORY)/src/X/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/X/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/X/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/X86/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/X86/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/X86/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/X86/*.m4				\ | ||||
| 	$(DIRECTORY)/src/X86/*.S				\ | ||||
| 	$(DIRECTORY)/src/*.dja					\ | ||||
| 	$(DIRECTORY)/src-glu/README[12]				\ | ||||
| 	$(DIRECTORY)/src-glu/Makefile*				\ | ||||
| 	$(DIRECTORY)/src-glu/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src-glu/mms_depend				\ | ||||
| 	$(DIRECTORY)/src-glu/*.def				\ | ||||
| 	$(DIRECTORY)/src-glu/*.dja				\ | ||||
| 	$(DIRECTORY)/src-glu/depend				\ | ||||
| 	$(DIRECTORY)/src-glu/*.[ch]				\ | ||||
| 	$(DIRECTORY)/widgets-mesa				\ | ||||
| 	$(DIRECTORY)/widgets-sgi				\ | ||||
| 	$(DIRECTORY)/util/README				\ | ||||
| 	$(DIRECTORY)/util/Makefile.am				\ | ||||
| 	$(DIRECTORY)/util/Makefile.in				\ | ||||
| 	$(DIRECTORY)/util/*.[ch]				\ | ||||
| 	$(DIRECTORY)/util/sampleMakefile			\ | ||||
| 	$(DIRECTORY)/BeOS/Makefile				\ | ||||
| 	$(DIRECTORY)/BeOS/*.cpp					\ | ||||
| 	$(DIRECTORY)/WIN32/NMAKE.MAK				\ | ||||
| 	$(DIRECTORY)/WIN32/NMAKE.MIF				\ | ||||
| 	$(DIRECTORY)/WIN32/RES/*rc				\ | ||||
| 	$(DIRECTORY)/WIN32/RES/*def				\ | ||||
| 	$(DIRECTORY)/WIN32/RULES/lib.*				\ | ||||
| 	$(DIRECTORY)/WIN32/RULES/progs.*			\ | ||||
| 	$(DIRECTORY)/macos/README				\ | ||||
| 	$(DIRECTORY)/macos/gli_api/*.h				\ | ||||
| 	$(DIRECTORY)/macos/include-mac/*.h			\ | ||||
| 	$(DIRECTORY)/macos/libraries/*.stub			\ | ||||
| 	$(DIRECTORY)/macos/libraries/*Stub			\ | ||||
| 	$(DIRECTORY)/macos/projects/*.mcp			\ | ||||
| 	$(DIRECTORY)/macos/projects/*.exp			\ | ||||
| 	$(DIRECTORY)/macos/projects/*.h				\ | ||||
| 	$(DIRECTORY)/macos/resources/*.c			\ | ||||
| 	$(DIRECTORY)/macos/resources/*.r			\ | ||||
| 	$(DIRECTORY)/macos/resources/*.rsrc			\ | ||||
| 	$(DIRECTORY)/macos/src-agl/*.exp			\ | ||||
| 	$(DIRECTORY)/macos/src-agl/*.[ch]			\ | ||||
| 	$(DIRECTORY)/macos/src-gli/*.[ch]			\ | ||||
| 	$(DIRECTORY)/OpenStep					\ | ||||
|  | ||||
|  | ||||
| DEMO_FILES =	\ | ||||
| 	$(DIRECTORY)/include/GL/glut.h		\ | ||||
| 	$(DIRECTORY)/include/GL/glutf90.h	\ | ||||
| 	$(DIRECTORY)/include/GL/glut_h.dja	\ | ||||
| 	$(DIRECTORY)/src-glut/Makefile*		\ | ||||
| 	$(DIRECTORY)/src-glut/depend		\ | ||||
| 	$(DIRECTORY)/src-glut/*def		\ | ||||
| 	$(DIRECTORY)/src-glut/descrip.mms	\ | ||||
| 	$(DIRECTORY)/src-glut/mms_depend	\ | ||||
| 	$(DIRECTORY)/src-glut/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src-glut.dja/*		\ | ||||
| 	$(DIRECTORY)/src-glut.beos/Makefile	\ | ||||
| 	$(DIRECTORY)/src-glut.beos/*.cpp	\ | ||||
| 	$(DIRECTORY)/src-glut.beos/*.h		\ | ||||
| 	$(DIRECTORY)/images/*			\ | ||||
| 	$(DIRECTORY)/demos/Makefile*		\ | ||||
| 	$(DIRECTORY)/demos/descrip.mms		\ | ||||
| 	$(DIRECTORY)/demos/*.[ch]		\ | ||||
| 	$(DIRECTORY)/demos/*.dat		\ | ||||
| 	$(DIRECTORY)/xdemos/Makefile*		\ | ||||
| 	$(DIRECTORY)/xdemos/descrip.mms		\ | ||||
| 	$(DIRECTORY)/xdemos/*.[cf]		\ | ||||
| 	$(DIRECTORY)/book/Makefile*		\ | ||||
| 	$(DIRECTORY)/book/README		\ | ||||
| 	$(DIRECTORY)/book/*.[ch]		\ | ||||
| 	$(DIRECTORY)/samples/Makefile*		\ | ||||
| 	$(DIRECTORY)/samples/README		\ | ||||
| 	$(DIRECTORY)/samples/*.c		\ | ||||
| 	$(DIRECTORY)/samples/*.dja		\ | ||||
| 	$(DIRECTORY)/3Dfx			\ | ||||
| 	$(DIRECTORY)/mtdemos			\ | ||||
| 	$(DIRECTORY)/ggi | ||||
|  | ||||
|  | ||||
| lib_tar: | ||||
| 	cd .. ; \ | ||||
| 	tar --exclude CVS -c -v -f $(LIB_NAME).tar $(LIB_FILES) ; \ | ||||
| 	gzip $(LIB_NAME).tar ; \ | ||||
| 	mv $(LIB_NAME).tar.gz $(DIRECTORY) | ||||
|  | ||||
| demo_tar: | ||||
| 	cd .. ; \ | ||||
| 	tar --exclude CVS -c -v -f $(DEMO_NAME).tar $(DEMO_FILES) ; \ | ||||
| 	gzip $(DEMO_NAME).tar ; \ | ||||
| 	mv $(DEMO_NAME).tar.gz $(DIRECTORY) | ||||
|  | ||||
| lib_zip: | ||||
| 	-rm $(LIB_NAME).zip | ||||
| 	cd .. ; \ | ||||
| 	zip -r $(LIB_NAME).zip $(LIB_FILES) ; \ | ||||
| 	mv $(LIB_NAME).zip $(DIRECTORY) | ||||
|  | ||||
| demo_zip: | ||||
| 	-rm $(DEMO_NAME).zip | ||||
| 	cd .. ; \ | ||||
| 	zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \ | ||||
| 	mv $(DEMO_NAME).zip $(DIRECTORY) | ||||
|  | ||||
|  | ||||
|  | ||||
| SRC_FILES =	\ | ||||
| 	RELNOTES		\ | ||||
| 	src/Makefile*		\ | ||||
| 	src/depend		\ | ||||
| 	src/*.[chS]		\ | ||||
| 	src/*/*.[ch]		\ | ||||
| 	include/GL/*.h | ||||
|  | ||||
| srctar: | ||||
| 	tar -cvf src.tar $(SRC_FILES) ; \ | ||||
| 	gzip src.tar | ||||
|  | ||||
| srctar.zip: | ||||
| 	-rm src.zip | ||||
| 	zip -r src.zip $(SRC_FILES) ; \ | ||||
							
								
								
									
										92
									
								
								Makefile.mgw
									
									
									
									
									
								
							
							
						
						
									
										92
									
								
								Makefile.mgw
									
									
									
									
									
								
							| @@ -1,92 +0,0 @@ | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  4.0 | ||||
| #  | ||||
| # Copyright (C) 1999  Brian Paul   All Rights Reserved. | ||||
| #  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a | ||||
| # copy of this software and associated documentation files (the "Software"), | ||||
| # to deal in the Software without restriction, including without limitation | ||||
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
| # and/or sell copies of the Software, and to permit persons to whom the | ||||
| # Software is furnished to do so, subject to the following conditions: | ||||
| #  | ||||
| # The above copyright notice and this permission notice shall be included | ||||
| # in all copies or substantial portions of the Software. | ||||
| #  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
| # BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||||
| # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
| # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
| # MinGW makefile v1.2 for Mesa | ||||
| # | ||||
| #  Copyright (C) 2002 - Daniel Borca | ||||
| #  Email : dborca@users.sourceforge.net | ||||
| #  Web   : http://www.geocities.com/dborca | ||||
|  | ||||
|  | ||||
| # | ||||
| #  Available options: | ||||
| # | ||||
| #    Environment variables: | ||||
| #	CPU		optimize for the given processor. | ||||
| #			default = pentium | ||||
| #	GLIDE		path to Glide3 SDK; used with FX. | ||||
| #			default = $(TOP)/glide3 | ||||
| #	FX=1		build for 3dfx Glide3. Note that this disables | ||||
| #			compilation of most WMesa code and requires fxMesa. | ||||
| #			As a consequence, you'll need the Win32 Glide3 | ||||
| #			library to build any application. | ||||
| #			default = no | ||||
| #	ICD=1		build the installable client driver interface | ||||
| #			(windows opengl driver interface) | ||||
| #			default = no | ||||
| #	X86=1		optimize for x86 (if possible, use MMX, SSE, 3DNow). | ||||
| #			default = no | ||||
| # | ||||
| #    Targets: | ||||
| #	all:		build everything | ||||
| #	libgl:		build GL | ||||
| #	clean:		remove object files | ||||
| #	realclean:	remove all generated files | ||||
| # | ||||
|  | ||||
|  | ||||
|  | ||||
| .PHONY : all libgl clean realclean | ||||
|  | ||||
| CPU ?= pentium | ||||
|  | ||||
| ifeq ($(ICD),1) | ||||
|   # when -std=c99 mingw will not define WIN32 | ||||
|   CFLAGS = -Wall -W -Werror | ||||
| else | ||||
|   # I love c89 | ||||
|   CFLAGS = -Wall -W -pedantic | ||||
| endif | ||||
| CFLAGS += -O2 -ffast-math -mtune=$(CPU) | ||||
|  | ||||
| export CFLAGS | ||||
|  | ||||
| ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),) | ||||
| UNLINK = del $(subst /,\,$(1)) | ||||
| else | ||||
| UNLINK = $(RM) $(1) | ||||
| endif | ||||
|  | ||||
| all: libgl | ||||
|  | ||||
| libgl: lib | ||||
| 	$(MAKE) -f Makefile.mgw -C src/mesa | ||||
|  | ||||
| lib: | ||||
| 	mkdir lib | ||||
|  | ||||
| clean: | ||||
| 	$(MAKE) -f Makefile.mgw clean -C src/mesa | ||||
|  | ||||
| realclean: clean | ||||
| 	-$(call UNLINK,lib/*.a) | ||||
| 	-$(call UNLINK,lib/*.dll) | ||||
							
								
								
									
										179
									
								
								Mesa.dsw
									
									
									
									
									
								
							
							
						
						
									
										179
									
								
								Mesa.dsw
									
									
									
									
									
								
							| @@ -1,179 +0,0 @@ | ||||
| Microsoft Developer Studio Workspace File, Format Version 6.00 | ||||
| # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "array_cache"=".\SRC\MESA\array_cache\array_cache.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "gdi"=".\src\mesa\drivers\windows\gdi\gdi.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name array_cache | ||||
|     End Project Dependency | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name main | ||||
|     End Project Dependency | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name math | ||||
|     End Project Dependency | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name swrast_setup | ||||
|     End Project Dependency | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name swrast | ||||
|     End Project Dependency | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name tnl | ||||
|     End Project Dependency | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name glapi | ||||
|     End Project Dependency | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name shader | ||||
|     End Project Dependency | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "glapi"=".\SRC\MESA\glapi\glapi.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "glu"=".\src\glu\sgi\glu.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name gdi | ||||
|     End Project Dependency | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "main"=".\SRC\MESA\main\main.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "math"=".\SRC\MESA\math\math.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "osmesa"=".\SRC\MESA\DRIVERS\osmesa\osmesa.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
|     Begin Project Dependency | ||||
|     Project_Dep_Name gdi | ||||
|     End Project Dependency | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "shader"=".\SRC\MESA\shader\shader.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "swrast"=".\SRC\MESA\swrast\swrast.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "swrast_setup"=".\SRC\MESA\swrast_setup\swrast_setup.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Project: "tnl"=".\SRC\MESA\tnl\tnl.dsp" - Package Owner=<4> | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<4> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| Global: | ||||
|  | ||||
| Package=<5> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| Package=<3> | ||||
| {{{ | ||||
| }}} | ||||
|  | ||||
| ############################################################################### | ||||
|  | ||||
| @@ -1,57 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| # | ||||
| # Simple shell script for installing Mesa's header and library files. | ||||
| # If the copy commands below don't work on a particular system (i.e. the | ||||
| # -f or -d flags), we may need to branch on `uname` to do the right thing. | ||||
| # | ||||
|  | ||||
|  | ||||
| TOP=. | ||||
|  | ||||
| INCLUDE_DIR="/usr/local/include" | ||||
| LIB_DIR="/usr/local/lib" | ||||
|  | ||||
|  | ||||
| echo | ||||
| echo "***** Mesa installation - You may need root privileges to do this *****" | ||||
| echo | ||||
| echo "Default directory for header files is:" ${INCLUDE_DIR} | ||||
| echo "Enter new directory or press <Enter> to accept this default." | ||||
|  | ||||
| read INPUT | ||||
| if [ x${INPUT} != "x" ] ; then | ||||
| 	INCLUDE_DIR=${INPUT} | ||||
| fi | ||||
|  | ||||
| echo | ||||
| echo "Default directory for library files is:" ${LIB_DIR} | ||||
| echo "Enter new directory or press <Enter> to accept this default." | ||||
|  | ||||
| read INPUT | ||||
| if [ x${INPUT} != "x" ] ; then | ||||
| 	LIB_DIR=${INPUT} | ||||
| fi | ||||
|  | ||||
|  | ||||
| echo | ||||
| echo "About to install Mesa header files (GL/*.h) in: " ${INCLUDE_DIR}/GL | ||||
| echo "and Mesa library files (libGL.*, etc) in: " ${LIB_DIR} | ||||
| echo "Press <Enter> to continue, or <ctrl>-C to abort." | ||||
|  | ||||
| read INPUT | ||||
|  | ||||
|  | ||||
| # flags: | ||||
| #  -f = force | ||||
| #  -d = preserve symlinks | ||||
|  | ||||
| set -v | ||||
|  | ||||
| mkdir ${INCLUDE_DIR} | ||||
| mkdir ${INCLUDE_DIR}/GL | ||||
| mkdir ${LIB_DIR} | ||||
| cp -f ${TOP}/include/GL/*.h ${INCLUDE_DIR}/GL | ||||
| cp -fd ${TOP}/lib*/lib* ${LIB_DIR} | ||||
|  | ||||
| echo "Done." | ||||
							
								
								
									
										629
									
								
								bin/mklib
									
									
									
									
									
								
							
							
						
						
									
										629
									
								
								bin/mklib
									
									
									
									
									
								
							| @@ -1,629 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| # Make a shared library. | ||||
| # Basically do a switch/case depending on the OS and make a shared (or static) | ||||
| # library conforming to that OS. | ||||
|  | ||||
|  | ||||
| # Usage: | ||||
| #   mklib [options] objects ... | ||||
| # Options: | ||||
| #   -o LIBRARY    specifies the name of resulting library | ||||
| #                 ("-o GL" for example, might result in "libGL.so" being made) | ||||
| #   -major N      specifies major version number (default is 1) | ||||
| #   -minor N      specifies minor version number (default is 0) | ||||
| #   -patch N      specifies patch version number (default is 0) | ||||
| #   -lLIBRARY     specifies a dependency on LIBRARY | ||||
| #   -LDIR         search in DIR for library dependencies | ||||
| #   -cplusplus    link with C++ runtime | ||||
| #   -static       make a static library (default is dynamic/shared) | ||||
| #   -install DIR  move resulting library file(s) to DIR | ||||
| #   -arch ARCH    override using `uname` to determine architecture | ||||
| #   -archopt OPT  specify an extra achitecture-specific option OPT | ||||
| #   -noprefix     don't prefix library name with "lib" or any suffix | ||||
| #   -exports FILE only export the symbols listed in FILE | ||||
| # | ||||
| # The library name should just be "GL" or "GLU", etc.  The 'lib' prefix | ||||
| # will be added here if needed, as well as the ".so" or ".a" suffix, | ||||
| # etc (unless the -noprefix option is used). | ||||
| # | ||||
| # objects should be:  foo.o bar.o etc.o | ||||
| # | ||||
| # Environment variables recognized: | ||||
| #   CC   C compiler command | ||||
| #   CXX  C++ compiler command | ||||
| # | ||||
|  | ||||
|  | ||||
| # | ||||
| # Option defaults | ||||
| # | ||||
| LIBNAME="" | ||||
| MAJOR=1 | ||||
| MINOR=0 | ||||
| PATCH="" | ||||
| DEPS="" | ||||
| CPLUSPLUS=0 | ||||
| STATIC=0 | ||||
| INSTALLDIR="." | ||||
| ARCH="auto" | ||||
| ARCHOPT="" | ||||
| NOPREFIX=0 | ||||
| EXPORTS="" | ||||
|  | ||||
|  | ||||
| # | ||||
| # Parse arguments | ||||
| # | ||||
| while true | ||||
| do | ||||
|     case $1 in | ||||
| 	'-o')         shift 1; LIBNAME=$1;; | ||||
| 	'-major')     shift 1; MAJOR=$1;; | ||||
| 	'-minor')     shift 1; MINOR=$1;; | ||||
| 	'-patch')     shift 1; PATCH=$1;; | ||||
| 	-l*)          DEPS="$DEPS $1";; | ||||
| 	-L*)          DEPS="$DEPS $1";; | ||||
| 	'-cplusplus') CPLUSPLUS=1;; | ||||
| 	'-static')    STATIC=1;; | ||||
| 	'-install')   shift 1; INSTALLDIR=$1;; | ||||
| 	'-arch')      shift 1; ARCH=$1;; | ||||
| 	'-archopt')   shift 1; ARCHOPT=$1;; | ||||
| 	'-noprefix')  NOPREFIX=1;; | ||||
| 	'-exports')   shift 1; EXPORTS=$1;; | ||||
| 	-*)           echo "mklib: Unknown option: " $1 ; exit 1;; | ||||
| 	*) break | ||||
|     esac | ||||
|     shift 1 | ||||
| done | ||||
| OBJECTS=$@ | ||||
|  | ||||
| if [ ${ARCH} = "auto" ] ; then | ||||
|     ARCH=`uname` | ||||
| fi | ||||
|  | ||||
|  | ||||
| # | ||||
| # Error checking | ||||
| # | ||||
| if [ "x${LIBNAME}" = "x" ] ; then | ||||
|     echo "mklib: Error: no library name specified" | ||||
|     exit 1 | ||||
| fi | ||||
| if [ "x${OBJECTS}" = "x" ] ; then | ||||
|     echo "mklib: Error: no object files specified" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
|  | ||||
| # | ||||
| # Debugging info | ||||
| # | ||||
| if [  ]  ; then | ||||
|     echo "-----------------" | ||||
|     echo ARCH is $ARCH | ||||
|     echo LIBNAME is $LIBNAME | ||||
|     echo MAJOR is $MAJOR | ||||
|     echo MINOR is $MINOR | ||||
|     echo PATCH is $PATCH | ||||
|     echo DEPS are $DEPS | ||||
|     echo "EXPORTS in" $EXPORTS | ||||
|     echo "-----------------" | ||||
| fi | ||||
|  | ||||
|  | ||||
| # | ||||
| # OK, make the library now | ||||
| # | ||||
| case $ARCH in | ||||
|  | ||||
|     'Linux' | 'OpenBSD') | ||||
| 	# we assume gcc | ||||
|  | ||||
| 	# Set default compilers if env vars not set | ||||
| 	if [ "x$CXX" = "x" ] ; then | ||||
| 	    CXX=g++ | ||||
| 	fi | ||||
| 	if [ "x$CC" = "x" ] ; then | ||||
| 	    CC=gcc | ||||
| 	fi | ||||
|  | ||||
| 	if [ $NOPREFIX = 1 ] ; then | ||||
| 	    # No "lib" or ".so" part | ||||
| 	    echo "mklib: Making" $ARCH "shared library: " ${LIBNAME} | ||||
| 	    #OPTS="-shared -Wl,-soname,${LIBNAME}"  # soname??? | ||||
| 	    OPTS="-shared" | ||||
|             if [ $CPLUSPLUS = 1 ] ; then | ||||
|                 LINK=$CXX | ||||
|             else | ||||
|                 LINK=$CC | ||||
|             fi | ||||
|             rm -f ${LIBNAME} | ||||
|  | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS} | ||||
|             # finish up | ||||
|             FINAL_LIBS="${LIBNAME}" | ||||
|         elif [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}"     # prefix with "lib" | ||||
|             echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a | ||||
|             LINK="ar" | ||||
|             OPTS="-ru" | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS} | ||||
| 	    ranlib ${LIBNAME}.a | ||||
|             # finish up | ||||
|             FINAL_LIBS=${LIBNAME}.a | ||||
|         else | ||||
| 	    LIBNAME="lib${LIBNAME}"     # prefix with "lib" | ||||
| 	    if [ $ARCH = 'Linux' ] ; then | ||||
| 		OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}" | ||||
| 	    else | ||||
| 		OPTS="-shared -Wl,-soname,${LIBNAME}.so.${MAJOR}" | ||||
| 	    fi | ||||
| 	    if [ $EXPORTS ] ; then | ||||
| 		#OPTS="${OPTS} -Xlinker --retain-symbols-file ${EXPORTS}" | ||||
| 		# Make the 'exptmp' file for --version-script option | ||||
| 		echo "VERSION_${MAJOR}.${MINOR} {" > exptmp | ||||
| 		echo "global:" >> exptmp | ||||
| 		sed 's/$/;/' ${EXPORTS} >> exptmp | ||||
| 		echo "local:" >> exptmp | ||||
| 		echo "*;" >> exptmp | ||||
| 		echo "};" >> exptmp | ||||
| 		OPTS="${OPTS} -Xlinker --version-script=exptmp" | ||||
| 		# exptmp is removed below | ||||
| 	    fi | ||||
| 	    if [ x${PATCH} = "x" ] ; then | ||||
| 		VERSION="${MAJOR}.${MINOR}" | ||||
| 	    else | ||||
| 		VERSION="${MAJOR}.${MINOR}.${PATCH}" | ||||
| 	    fi | ||||
|  | ||||
|             echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}.so.${VERSION} | ||||
|  | ||||
|             if [ $CPLUSPLUS = 1 ] ; then | ||||
|                 LINK=$CXX | ||||
|             else | ||||
|                 LINK=$CC | ||||
|             fi | ||||
|  | ||||
|             # rm any old libs | ||||
|             rm -f ${LIBNAME}.so.${VERSION} | ||||
|             rm -f ${LIBNAME}.so.${MAJOR} | ||||
|             rm -f ${LIBNAME}.so | ||||
|  | ||||
|             # make lib | ||||
|             ${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 | ||||
|             # finish up | ||||
|             FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so" | ||||
| #	    rm -f exptmp | ||||
|         fi | ||||
| 	;; | ||||
|  | ||||
|     'SunOS') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making SunOS static library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar -ruv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so" | ||||
| 	    echo "mklib: Making SunOS shared library: " ${LIBNAME} | ||||
| 	    # XXX OPTS for gcc should be -shared, but that doesn't work. | ||||
| 	    # Using -G does work though. | ||||
| 	    if [ $CPLUSPLUS = 1 ] ; then | ||||
| 		# determine linker and options for C++ code | ||||
| 		if [ "x${CXX}" = "xg++" ] ; then | ||||
| 		    # use g++ | ||||
| 		    LINK="g++" | ||||
| 		    OPTS="-G" | ||||
| 		elif [ "x${CXX}" = "xCC" ] ; then | ||||
| 		    # use Sun CC | ||||
| 		    LINK="CC" | ||||
| 		    OPTS="-G" | ||||
| 		elif [ "x${CXX}" = "xc++" ] ; then | ||||
| 		    # use Sun c++ | ||||
| 		    LINK="c++" | ||||
| 		    OPTS="-G" | ||||
| 		elif [ `which c++` ] ; then | ||||
| 		    # use Sun c++ | ||||
| 		    LINK="c++" | ||||
| 		    OPTS="-G" | ||||
| 		elif [ `type g++` ] ; then | ||||
| 		    # use g++ | ||||
| 		    LINK="g++" | ||||
| 		    OPTS="-G" | ||||
| 		else | ||||
| 		    echo "mklib: warning: can't find C++ comiler, trying CC." | ||||
| 		    LINK="CC" | ||||
| 		    OPTS="-G" | ||||
| 		fi | ||||
| 	    elif [ "x${CC}" = "xgcc" ] ; then | ||||
| 		# use gcc for linking | ||||
| 		LINK="gcc" | ||||
| 		OPTS="-G" | ||||
| 	    else | ||||
| 		# use native Sun linker | ||||
| 		LINK="ld" | ||||
| 		OPTS="-G" | ||||
| 	    fi | ||||
| 	    echo "mklib: linker is" ${LINK} ${OPTS} | ||||
| 	    rm -f ${LIBNAME}.${MAJOR} ${LIBNAME} | ||||
| 	    ${LINK} ${OPTS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS} | ||||
| 	    ln -s ${LIBNAME}.${MAJOR} ${LIBNAME} | ||||
| 	    FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}" | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'FreeBSD') | ||||
| 	if [ $NOPREFIX = 1 ] ; then | ||||
| 	    # No "lib" or ".so" part | ||||
| 	    echo "mklib: Making FreeBSD shared library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ld -Bshareable -o ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
|         elif [ $STATIC = 1 ] ; then | ||||
| 	    STLIB="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making FreeBSD static library: " ${STLIB} | ||||
| 	    rm -f ${STLIB} | ||||
| 	    ar cq ${STLIB} ${OBJECTS} | ||||
| 	    ranlib ${STLIB} | ||||
| 	    FINAL_LIBS=${STLIB} | ||||
| 	else | ||||
| 	    SHLIB="lib${LIBNAME}.so.${MAJOR}.${MINOR}" | ||||
| 	    echo "mklib: Making FreeBSD shared library: " ${SHLIB} | ||||
| 	    rm -f ${SHLIB} | ||||
| 	    ld -Bshareable -o ${SHLIB} ${OBJECTS} | ||||
| 	    # XXX make lib${LIBNAME}.so.${MAJOR} symlink? | ||||
| 	    FINAL_LIBS=${SHLIB} | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'NetBSD') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}_pic.a" | ||||
| 	    echo "mklib: Making NetBSD PIC static library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar cq ${LIBNAME} ${OBJECTS} | ||||
| 	    ranlib ${LIBNAME} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so.${MAJOR}.${MINOR}" | ||||
| 	    echo "mklib: Making NetBSD PIC shared library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ld -x -Bshareable -Bforcearchive -o ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'IRIX' | 'IRIX64') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar rc ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so" | ||||
| 	    if [ $ARCHOPT = "64" ] ; then | ||||
| 		# 64-bit ABI | ||||
| 		OPTS="-64 -shared -all" | ||||
| 		echo "mklib: Making IRIX 64-bit shared library: " ${LIBNAME} | ||||
| 	    elif [ $ARCHOPT = "o32" ] ; then | ||||
| 		# old 32-bit ABI | ||||
| 		OPTS="-32 -shared -all" | ||||
| 		echo "mklib: Making IRIX o32-bit shared library: " ${LIBNAME} | ||||
| 	    else | ||||
| 		# new 32-bit ABI | ||||
| 		OPTS="-n32 -shared -all" | ||||
| 		echo "mklib: Making IRIX n32-bit shared library: " ${LIBNAME} | ||||
| 	    fi | ||||
| 	    if [ $CPLUSPLUS = 1 ] ; then | ||||
| 		LINK="CC" | ||||
| 	    else | ||||
| 		LINK="ld" | ||||
| 	    fi | ||||
| 	    ${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'linux-cygwin') | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making linux-cygwin library: " ${LIBNAME} | ||||
| 	rm -f ${LIBNAME} | ||||
| 	gnuwin32ar ruv ${LIBNAME} ${OBJECTS} | ||||
| 	FINAL_LIBS=${LIBNAME} | ||||
| 	;; | ||||
|  | ||||
|     'HP-UX') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making HP-UX static library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar -ruv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    RUNLIB="lib${LIBNAME}.${MAJOR}" | ||||
| 	    DEVLIB="lib${LIBNAME}.sl" | ||||
| 	    echo "mklib: Making HP-UX shared library: " ${RUNLIB} ${DEVLIB} | ||||
| 	    ld -b -o ${RUNLIB} +b ${RUNLIB} ${OBJECTS} ${DEPS} | ||||
| 	    ln -s ${RUNLIB} ${DEVLIB} | ||||
| 	    FINAL_LIBS="${RUNLIB} ${DEVLIB}" | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'AIX' | 'AIX64') | ||||
| 	if [ $ARCH = "AIX64" ] ; then | ||||
| 	    X64="-X64" | ||||
| 	fi | ||||
|  | ||||
|         if [ $STATIC = 1 ] ; then | ||||
|             LIBNAME="lib${LIBNAME}.a" | ||||
|             echo "mklib: Making AIX static library: " ${LIBNAME} | ||||
|             ar -ruv ${X64} ${LIBNAME} ${OBJECTS} | ||||
|             FINAL_LIBS=${LIBNAME} | ||||
|         else | ||||
| 	    EXPFILE="lib${LIBNAME}.exp" | ||||
| 	    OFILE=shr.o  #Want to be consistent with the IBM libGL.a | ||||
| 	    LIBNAME="lib${LIBNAME}.a"  # shared objects are still stored in the .a libraries | ||||
| 	    if [ $ARCH = "AIX64" ] ; then | ||||
| 		OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry -q64" | ||||
| 	    else | ||||
| 		OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry" | ||||
| 	    fi | ||||
| 	    rm -f ${EXPFILE} ${OFILE} | ||||
| 	    NM="/bin/nm -eC ${X64}" | ||||
| 	    echo "#! /usr/lib/${LIBNAME}" > ${EXPFILE} | ||||
| 	    ${NM} ${OBJECTS} | awk '{ | ||||
| 	    if ((($2 == "T") || ($2 == "D") || ($2 == "B")) \ | ||||
| 	    && ( substr($1,1,1) != ".")) { | ||||
| 		    if (substr ($1, 1, 7) != "__sinit" && | ||||
| 			    substr ($1, 1, 7) != "__sterm") { | ||||
| 			    if (substr ($1, 1, 5) == "__tf1") | ||||
| 				print (substr ($1, 7)) | ||||
| 			    else if (substr ($1, 1, 5) == "__tf9") | ||||
| 				print (substr ($1, 15)) | ||||
| 			    else | ||||
| 				print $1 | ||||
| 			} | ||||
| 		} | ||||
| 	    }' | sort -u >> ${EXPFILE} | ||||
| 	    cc ${OPTS} -o ${OFILE} ${OBJECTS} ${DEPS} | ||||
| 	    ar ${X64} -r ${LIBNAME} ${OFILE} | ||||
|             FINAL_LIBS="${LIBNAME}" | ||||
|         fi | ||||
|         ;; | ||||
|  | ||||
|     'OpenSTEP') | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making OpenSTEP static library: " ${LIBNAME} | ||||
| 	libtool -static -o ${LIBNAME} - ${OBJECTS} | ||||
| 	FINAL_LIBS=${LIBNAME} | ||||
| 	;; | ||||
|  | ||||
|     'OSF1') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making OSF/1 static library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar -ruv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    VERSION="${MAJOR}.${MINOR}" | ||||
| 	    LIBNAME="lib${LIBNAME}.so" | ||||
| 	    echo "mklib: Making OSF/1 shared library: " ${LIBNAME} | ||||
| 	    if [ $CPLUSPLUS = 1 ] ; then | ||||
| 		LINK=$CXX | ||||
| 	    else | ||||
| 		LINK=$CC | ||||
| 	    fi | ||||
| 	    rm -f ${LIBNAME}.${VERSION} | ||||
| 	    ${LINK} -o ${LIBNAME}.${VERSION} -shared -set_version ${VERSION} -soname ${LIBNAME}.${VERSION} -expect_unresolved \* -all ${OBJECTS} ${DEPS} | ||||
| 	    ln -sf ${LIBNAME}.${VERSION} ${LIBNAME} | ||||
| 	    FINAL_LIBS="${LIBNAME} ${LIBNAME}.${VERSION}" | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'Darwin') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
|             LIBNAME="lib${LIBNAME}.a" | ||||
|             echo "mklib: Making Darwin static library: " ${LIBNAME} | ||||
|             LINK="ar" | ||||
|             OPTS="-ruv" | ||||
|             ${LINK} ${OPTS} ${LIBNAME} ${OBJECTS} | ||||
|             FINAL_LIBS=${LIBNAME} | ||||
|         else | ||||
|             LIBNAME="${LIBNAME}.dylib" | ||||
|             echo "mklib: Making Darwin shared library: " ${LIBNAME} | ||||
|             FLAGS="-dynamiclib -multiply_defined suppress" | ||||
| 	    if [ $CPLUSPLUS = 1 ] ; then | ||||
| 		LINK="g++" | ||||
| 	    else | ||||
| 		LINK="cc" | ||||
| 	    fi | ||||
|             ${LINK} ${FLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} | ||||
|             FINAL_LIBS=${LIBNAME} | ||||
|         fi | ||||
|         ;; | ||||
|  | ||||
|     'LynxOS') | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making LynxOS static library: " ${LIBNAME} | ||||
| 	rm -f ${LIBNAME} | ||||
| 	ar ru ${LIBNAME} ${OBJECTS} | ||||
| 	FINAL_LIBS=${LIBNAME} | ||||
| 	;; | ||||
|  | ||||
|     'BeOS') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
|             LIBNAME="lib${LIBNAME}.a" | ||||
|             echo "mklib: Making BeOS static library: " ${LIBNAME} | ||||
|             ar -cru "${LIBNAME}" ${OBJECTS} | ||||
|         else | ||||
| 	    LIBNAME="lib${LIBNAME}.so" | ||||
| 	    echo "mklib: Making BeOS shared library: " ${LIBNAME} | ||||
| 	    gcc -nostart -Xlinker "-soname=${LIBNAME}" -L/Be/develop/lib/x86 -lbe ${DEPS} ${OBJECTS} -o "${LIBNAME}" | ||||
| 	    mimeset -f "${LIBNAME}" | ||||
| 	    setversion "${LIBNAME}" -app ${MAJOR} ${MINOR} ${PATCH} -short "Powered by Mesa3D!" -long "Powered by Mesa3D!" | ||||
| 	fi | ||||
| 	FINAL_LIBS=${LIBNAME} | ||||
| 	;; | ||||
|  | ||||
|     'QNX') | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making QNX library: " ${LIBNAME} | ||||
| 	wlib ${LIBNAME} ${OBJECTS} | ||||
| 	FINAL_LIBS=${LIBNAME} | ||||
| 	;; | ||||
|  | ||||
|     'MorphOS') | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making MorphOS library: " ${LIBNAME} | ||||
| 	ppc-morphos-ar rc ${LIBNAME} ${OBJECTS} | ||||
| 	FINAL_LIBS="${LIBNAME}" | ||||
| 	;; | ||||
|  | ||||
|     'icc') | ||||
| 	# Intel C compiler | ||||
| 	LIBNAME="lib${LIBNAME}"     # prefix with "lib" | ||||
|  | ||||
|         if [ $STATIC = 1 ] ; then | ||||
|             echo "mklib: Making Intel ICC static library: " ${LIBNAME}.a | ||||
|             LINK="ar" | ||||
|             OPTS="-ruv" | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS} | ||||
|             # finish up | ||||
|             FINAL_LIBS="${LIBNAME}.a" | ||||
|         else | ||||
|             OPTS="-shared" | ||||
|             VERSION="${MAJOR}.${MINOR}.${PATCH}" | ||||
|             echo "mklib: Making Intel ICC shared library: " ${LIBNAME}.so.${VERSION} | ||||
|  | ||||
|             if [ $CPLUSPLUS = 1 ] ; then | ||||
|                 LINK="icc" | ||||
|             else | ||||
|                 LINK="icc" | ||||
|             fi | ||||
|             # rm any old libs | ||||
|             rm -f ${LIBNAME}.so.${VERSION} | ||||
|             rm -f ${LIBNAME}.so.${MAJOR} | ||||
|             rm -f ${LIBNAME}.so | ||||
|             # make lib | ||||
|             ${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 | ||||
|             # finish up | ||||
|             FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so" | ||||
|         fi | ||||
| 	;; | ||||
|  | ||||
|     'aix-gcc') | ||||
| 	# AIX with gcc | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making AIX GCC static library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar ru ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so" | ||||
| 	    echo "mklib: Making AIX GCC shared library: " ${LIBNAME} | ||||
| 	    # remove old lib | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    # make the lib | ||||
| 	    gcc -shared -Wl,-G ${OBJECTS} ${DEPS} -o ${LIBNAME} | ||||
| 	    # NOTE: the application linking with this library must specify | ||||
| 	    # the -Wl,-brtl flags to gcc | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'ultrix') | ||||
| 	# XXX untested | ||||
|         if [ $STATIC = 0 ] ; then | ||||
| 	    echo "mklib: Warning shared libs not supported on Ultrix" | ||||
| 	fi | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making static library for Ultrix: " ${LIBNAME} | ||||
| 	rm -f ${LIBNAME} | ||||
| 	ar ru ${LIBNAME} ${OBJECTS} | ||||
| 	FINAL_LIBS="${LIBNAME}" | ||||
| 	;; | ||||
|  | ||||
|      CYGWIN*) | ||||
| 	# GCC-based environment | ||||
| 	CYGNAME="cyg${LIBNAME}"     # prefix with "cyg" | ||||
| 	LIBNAME="lib${LIBNAME}"     # prefix with "lib" | ||||
|  | ||||
|         if [ $STATIC = 1 ] ; then | ||||
|             echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a | ||||
|             LINK="ar" | ||||
|             OPTS="-ru" | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS} | ||||
| 	    ranlib ${LIBNAME}.a | ||||
|             # finish up | ||||
|             FINAL_LIBS=${LIBNAME}.a | ||||
|         else | ||||
| 	    OPTS="-shared -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a" | ||||
|             echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}-${MAJOR}.dll | ||||
|  | ||||
|             if [ $CPLUSPLUS = 1 ] ; then | ||||
|                 LINK="g++" | ||||
|             else | ||||
|                 LINK="gcc" | ||||
|             fi | ||||
|  | ||||
|             # rm any old libs | ||||
|             rm -f ${LIBNAME}-${MAJOR}.dll | ||||
|             rm -f ${LIBNAME}.dll.a | ||||
|             rm -f ${LIBNAME}.a | ||||
|  | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS} | ||||
|             # make usual symlinks | ||||
|             ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a | ||||
|             # finish up | ||||
|             FINAL_LIBS="${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a" | ||||
| 	    # special case for installing in bin | ||||
|             FINAL_BINS="${CYGNAME}-${MAJOR}.dll" | ||||
|         fi | ||||
| 	;; | ||||
|  | ||||
|     'example') | ||||
| 	# If you're adding support for a new architecture, you can | ||||
| 	# start with this: | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making static library for example arch: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar rv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS="${LIBNAME}" | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib" | ||||
| 	    echo "mklib: Making shared library for example arch: " ${LIBNAME} | ||||
| 	    ld -o ${LIBNAME} ${OBJECTS} ${DEPS} | ||||
| 	    FINAL_LIBS="${LIBNAME}" | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     *) | ||||
| 	echo "mklib: ERROR: Don't know how to make a static/shared library for" ${ARCH} | ||||
| 	echo "mklib: Please add necessary commands to mklib script." | ||||
| 	;; | ||||
| esac | ||||
|  | ||||
|  | ||||
| # | ||||
| # Put library files into installation directory if specified. | ||||
| # | ||||
| if [ ${INSTALLDIR} != "." ] ; then | ||||
|     echo "mklib: Installing" ${FINAL_LIBS} "in" ${INSTALLDIR} | ||||
|     mv ${FINAL_LIBS} ${INSTALLDIR}/ | ||||
| fi | ||||
							
								
								
									
										153
									
								
								bin/mklib.aix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										153
									
								
								bin/mklib.aix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,153 @@ | ||||
| #!/bin/ksh | ||||
|  | ||||
| # Make an AIX shared library (tricky!!!) | ||||
| # Based on a script from Athanasios G. Gaitatzes (gaitat@vnet.ibm.com) | ||||
| # Improved by Greg Thompson <gregt@visix.com> -gt | ||||
|  | ||||
| #--identification------------------------------------------------------ | ||||
|  | ||||
| # $Id: mklib.aix,v 1.2 1999/09/15 15:10:20 brianp Exp $ | ||||
|  | ||||
| # $Log: mklib.aix,v $ | ||||
| # Revision 1.2  1999/09/15 15:10:20  brianp | ||||
| # added third, tiny version number to arguments | ||||
| # | ||||
| # Revision 1.1  1999/08/19 13:52:56  brianp | ||||
| # initial check-in (post-crash) | ||||
| # | ||||
|  | ||||
|  | ||||
| #--common-------------------------------------------------------------- | ||||
|  | ||||
| LIBRARY=$1 | ||||
| shift 1 | ||||
|  | ||||
| MAJOR=$1 | ||||
| shift 1 | ||||
|  | ||||
| MINOR=$1 | ||||
| shift 1 | ||||
|  | ||||
| TINY=$1 | ||||
| shift 1 | ||||
|  | ||||
| OBJECTS=$* | ||||
|  | ||||
| #--platform------------------------------------------------------------ | ||||
|  | ||||
| # BASENAME = LIBRARY without .a suffix | ||||
| BASENAME=`echo ${LIBRARY} | sed "s/\.a//g"` | ||||
|  | ||||
| # Name of exports file | ||||
| EXPFILE=${BASENAME}.exp | ||||
|  | ||||
| # Name of temporary shared lib file | ||||
| OFILE=shr.o | ||||
| ####OFILE=${BASENAME}.o | ||||
|  | ||||
|  | ||||
| # Remove any old files from previous make | ||||
| rm -f ${LIBRARY} ${EXPFILE} ${OFILE} | ||||
|  | ||||
| # Pick a way to use nm -gt | ||||
| NM=${NM-/bin/nm -eC} | ||||
|  | ||||
| # Determine which version of AIX this is | ||||
| AIXVERSION=`uname -v` | ||||
|  | ||||
| # Pick a way to tell the linker there's no entrypoint -gt | ||||
| case ${AIXVERSION} | ||||
| { | ||||
| 	3*) | ||||
| 		ENTRY='-e _nostart' | ||||
| 		;; | ||||
| 	4*) | ||||
| 		ENTRY=-bnoentry | ||||
| 		;; | ||||
| 	*) | ||||
| 		echo "Error in mklib.aix!" | ||||
| 		exit 1 | ||||
| 		;; | ||||
| } | ||||
|  | ||||
|  | ||||
| # Other libraries which we may be dependent on.  Since we make the libraries | ||||
| # in the order libGL.a, libaGLU.a, libglut.a just depends on its predecessor. | ||||
| # modified to make otherlibs in the form of -lfoo -gt | ||||
| OTHERLIBS=`ls ../lib/*.a | sed "s/..\/lib\/lib/-l/g" | sed "s/\.a//g"` | ||||
|  | ||||
| ##echo OTHERLIBS are ${OTHERLIBS} | ||||
|  | ||||
|  | ||||
| # Make exports (.exp) file header | ||||
| echo "#! ${LIBRARY}" > ${EXPFILE} | ||||
|  | ||||
| # Append list of exported symbols to exports file -gt | ||||
| case ${AIXVERSION} | ||||
| { | ||||
|     3*) | ||||
| 	${NM} ${OBJECTS} | awk -F'|' '{ | ||||
| 	    if ($3 != "extern" || substr($7,1,1) == " ") continue | ||||
| 	    sub ("  *", "", $1); sub ("  *", "", $7) | ||||
| 	    if ( (($7 == ".text") || ($7 == ".data") || ($7 == ".bss"))  \ | ||||
| 		    && ( substr($1,1,1) != ".")) { | ||||
| 		if (substr ($1, 1, 7) != "__sinit" && | ||||
| 			substr ($1, 1, 7) != "__sterm") { | ||||
| 		    if (substr ($1, 1, 5) == "__tf1") | ||||
| 			print (substr ($1, 7)) | ||||
| 		    else if (substr ($1, 1, 5) == "__tf9") | ||||
| 			print (substr ($1, 15)) | ||||
| 		    else | ||||
| 			print $1 | ||||
| 		} | ||||
| 	    } | ||||
| 	}' | sort -u >> ${EXPFILE} | ||||
| 	;; | ||||
|  | ||||
|     4*) | ||||
| 	${NM} ${OBJECTS} | awk '{ | ||||
| 	    if ((($2 == "T") || ($2 == "D") || ($2 == "B")) \ | ||||
| 		    && ( substr($1,1,1) != ".")) { | ||||
| 		if (substr ($1, 1, 7) != "__sinit" && | ||||
| 			substr ($1, 1, 7) != "__sterm") { | ||||
| 		    if (substr ($1, 1, 5) == "__tf1") | ||||
| 			print (substr ($1, 7)) | ||||
| 		    else if (substr ($1, 1, 5) == "__tf9") | ||||
| 			print (substr ($1, 15)) | ||||
| 		    else | ||||
| 			print $1 | ||||
| 		} | ||||
| 	    } | ||||
| 	}' | sort -u >> ${EXPFILE} | ||||
| 	;; | ||||
| } | ||||
|  | ||||
|  | ||||
| # This next line is a hack to allow full compatibility with IBM's OpenGL | ||||
| # libraries.  IBM mistakenly exports glLoadIdentity from the libGLU.a | ||||
| # library.  We have to do the same thing.  Problem reported by Yemi Adesanya | ||||
| # (adesanya@afsmail.cern.ch) and Patrick Brown (pbrown@austin.ibm.com) | ||||
| if [ "${BASENAME}" = libGLU ] ; then | ||||
|     echo "glLoadIdentity" >> ${EXPFILE} | ||||
| fi | ||||
|  | ||||
|  | ||||
| # Make the shared lib file | ||||
| cc -o ${OFILE} ${OBJECTS} -L../lib ${OTHERLIBS} -lX11 -lXext -lXmu -lXi -lm -lc -bE:${EXPFILE} -bM:SRE ${ENTRY} | ||||
|  | ||||
|  | ||||
| # Make the .a file | ||||
| ar ruv ${LIBRARY} ${OFILE} | ||||
|  | ||||
| # Put exports file in Mesa lib directory | ||||
| mv ${EXPFILE} ../lib | ||||
|  | ||||
| # Remove OFILE | ||||
| rm -f ${OFILE} | ||||
|  | ||||
|  | ||||
| #NOTES | ||||
| # AIX 4.x /usr/bin/nm -B patch from ssclift@mach.me.queensu.ca (Simon Clift) | ||||
| # Robustified symbol extraction for AIX 3 and 4 | ||||
| #   Greg Thompson <gregt@visix.com> | ||||
|  | ||||
							
								
								
									
										38
									
								
								bin/mklib.ar-ruv
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										38
									
								
								bin/mklib.ar-ruv
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| # Make a standard Unix .a library file with 'ar ruv' | ||||
|  | ||||
| #--identification------------------------------------------------------ | ||||
|  | ||||
| # $Id: mklib.ar-ruv,v 1.2 1999/09/15 15:10:20 brianp Exp $ | ||||
|  | ||||
| # $Log: mklib.ar-ruv,v $ | ||||
| # Revision 1.2  1999/09/15 15:10:20  brianp | ||||
| # added third, tiny version number to arguments | ||||
| # | ||||
| # Revision 1.1  1999/08/19 13:52:57  brianp | ||||
| # initial check-in (post-crash) | ||||
| # | ||||
|  | ||||
|  | ||||
| #--common-------------------------------------------------------------- | ||||
|  | ||||
| LIBRARY=$1 | ||||
| shift 1 | ||||
|  | ||||
| MAJOR=$1 | ||||
| shift 1 | ||||
|  | ||||
| MINOR=$1 | ||||
| shift 1 | ||||
|  | ||||
| TINY=$1 | ||||
| shift 1 | ||||
|  | ||||
| OBJECTS=$* | ||||
|  | ||||
| #--platform------------------------------------------------------------- | ||||
|  | ||||
| #ar ruv $LIBRARY $OBJECTS | ||||
| ar ru $LIBRARY $OBJECTS | ||||
|  | ||||
							
								
								
									
										52
									
								
								bin/mklib.solaris
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								bin/mklib.solaris
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| # Make a Solaris shared library | ||||
| # contributed by Arno Hahma (arno@nitro.pp.utu.fi) | ||||
|  | ||||
| #--identification------------------------------------------------------ | ||||
|  | ||||
| # $Id: mklib.solaris,v 1.2 1999/09/15 15:10:20 brianp Exp $ | ||||
|  | ||||
| # $Log: mklib.solaris,v $ | ||||
| # Revision 1.2  1999/09/15 15:10:20  brianp | ||||
| # added third, tiny version number to arguments | ||||
| # | ||||
| # Revision 1.1  1999/08/19 13:53:06  brianp | ||||
| # initial check-in (post-crash) | ||||
| # | ||||
|  | ||||
|  | ||||
| #--common-------------------------------------------------------------- | ||||
|  | ||||
| LIBRARY=$1 | ||||
| shift 1 | ||||
|  | ||||
| MAJOR=$1 | ||||
| shift 1 | ||||
|  | ||||
| MINOR=$1 | ||||
| shift 1 | ||||
|  | ||||
| TINY=$1 | ||||
| shift 1 | ||||
|  | ||||
| OBJECTS=$* | ||||
|  | ||||
| #--platform------------------------------------------------------------- | ||||
|  | ||||
| set -x | ||||
|  | ||||
| LIBRARY=`basename $LIBRARY .a` | ||||
|  | ||||
| VERSION=$MAJOR.$MINOR | ||||
|  | ||||
| echo "Building shared object $LIBRARY.so.$VERSION and the archive library $LIBRARY.a" | ||||
| rm -f ${LIBRARY}.a ${LIBRARY}.so.${VERSION} | ||||
| ar ruv ${LIBRARY}.a ${OBJECTS} | ||||
|  | ||||
| ld -G -o ${LIBRARY}.so.${VERSION} ${OBJECTS} | ||||
|  | ||||
| cp ${LIBRARY}.a ${LIBRARY}.so.${VERSION} ../lib | ||||
| cd ../lib | ||||
| ln -s ${LIBRARY}.so.${VERSION} ${LIBRARY}.so | ||||
|  | ||||
							
								
								
									
										28
									
								
								configs/aix
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								configs/aix
									
									
									
									
									
								
							| @@ -1,28 +0,0 @@ | ||||
| # Configuration for AIX, dynamic libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = aix | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = xlC | ||||
|  | ||||
| CFLAGS = -O -DAIXV3 | ||||
| CXXFLAGS = -O -DAIXV3 | ||||
| MKLIB_OPTIONS = | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
| GL_LIB_DEPS = -lX11 -lXext -lm | ||||
| GLU_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lm -lC | ||||
| GLUT_LIB_DEPS = -L$(TOP)/lib -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm | ||||
| GLW_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lXt -lX11 | ||||
| OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) | ||||
| APP_LIB_DEPS = -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC | ||||
|  | ||||
| @@ -1,28 +0,0 @@ | ||||
| # Configuration for AIX 64-bit, dynamic libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = aix-64 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = xlc | ||||
| CXX = xlC | ||||
|  | ||||
| CFLAGS = -q64 -qmaxmem=16384 -O -DAIXV3 | ||||
| CXXFLAGS = -q64 -qmaxmem=16384 -O -DAIXV3 | ||||
| MKLIB_OPTIONS = -arch AIX64 | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
| GL_LIB_DEPS = -lX11 -lXext -lm | ||||
| GLU_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lm -lC | ||||
| GLUT_LIB_DEPS = -L$(TOP)/lib -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm | ||||
| GLW_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lXt -lX11 | ||||
| OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) | ||||
| APP_LIB_DEPS = -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC | ||||
|  | ||||
| @@ -1,19 +0,0 @@ | ||||
| # Configuration for AIX with gcc | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = aix-gcc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -O2 -DAIXV3 | ||||
| CXXFLAGS = -O2 -DAIXV3 | ||||
|  | ||||
| MKLIB_OPTIONS = -arch aix-gcc | ||||
| GL_LIB_DEPS = -lX11 -lXext -lm | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -Wl,-brtl -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXmu -lXi | ||||
|  | ||||
| @@ -1,23 +0,0 @@ | ||||
| # Configuration for AIX, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = aix-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = xlC | ||||
|  | ||||
| CFLAGS = -O -DAIXV3 | ||||
| CXXFLAGS = -O -DAIXV3 | ||||
| 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 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
							
								
								
									
										99
									
								
								configs/beos
									
									
									
									
									
								
							
							
						
						
									
										99
									
								
								configs/beos
									
									
									
									
									
								
							| @@ -1,99 +0,0 @@ | ||||
| # Configuration for BeOS | ||||
| # Written by Philippe Houdoin | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = beos | ||||
|  | ||||
|  | ||||
| DEFINES = 	\ | ||||
| 	-DBEOS_THREADS  | ||||
|  | ||||
| MACHINE=$(shell uname -m) | ||||
| ifeq ($(MACHINE), BePC) | ||||
| 	CPU = x86 | ||||
| else | ||||
| 	CPU = ppc | ||||
| endif | ||||
|  | ||||
| ifeq ($(CPU), x86) | ||||
| 	# BeOS x86 settings | ||||
|  | ||||
| 	DEFINES += \ | ||||
| 		-DGNU_ASSEMBLER \ | ||||
| 		-DUSE_X86_ASM \ | ||||
| 		-DUSE_MMX_ASM \ | ||||
| 		-DUSE_3DNOW_ASM \ | ||||
| 		-DUSE_SSE_ASM | ||||
| 	 | ||||
| 	ASM_SOURCES = $(X86_SOURCES) $(X86_API) | ||||
|  | ||||
| 	CC = gcc | ||||
| 	CXX = g++ | ||||
| 	LD = gcc | ||||
| 	 | ||||
| 	CFLAGS = \ | ||||
| 		-Wall -Wno-multichar -Wno-ctor-dtor-privacy \ | ||||
| 		$(DEFINES) | ||||
|  | ||||
| 	CXXFLAGS = $(CFLAGS) | ||||
|  | ||||
| 	LDFLAGS += -Xlinker | ||||
|  | ||||
| 	ifdef DEBUG | ||||
| 		CFLAGS   += -g -O0 | ||||
| 		LDFLAGS += -g | ||||
| 		DEFINES += -DDEBUG | ||||
| 	else | ||||
| 		CFLAGS   += -O3 | ||||
| 	endif | ||||
|  | ||||
| 	GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| else | ||||
| 	# BeOS PPC settings | ||||
|  | ||||
| 	CC = mwcc | ||||
| 	CXX = $(CC) | ||||
| 	LD = mwldppc | ||||
|  | ||||
| 	CFLAGS = \ | ||||
| 		-w on -requireprotos \ | ||||
| 		$(DEFINES) | ||||
|  | ||||
| 	CXXFLAGS = $(CFLAGS) | ||||
|  | ||||
| 	LDFLAGS += \ | ||||
| 		-export pragma \ | ||||
| 		-init _init_routine_ \ | ||||
| 		-term _term_routine_ \ | ||||
| 		-lroot \ | ||||
| 		/boot/develop/lib/ppc/glue-noinit.a \ | ||||
| 		/boot/develop/lib/ppc/init_term_dyn.o \ | ||||
| 		/boot/develop/lib/ppc/start_dyn.o  | ||||
|  | ||||
| 	ifdef DEBUG | ||||
| 		CFLAGS   += -g -O0 | ||||
| 		CXXFLAGS += -g -O0 | ||||
| 		LDFLAGS += -g | ||||
| 	else | ||||
| 		CFLAGS   += -O7 | ||||
| 		CXXFLAGS += -O7 | ||||
| 	endif | ||||
|  | ||||
| 	GLUT_CFLAGS = -fexceptions | ||||
| endif | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu glut/beos | ||||
| GLU_DIRS = sgi | ||||
| DRIVER_DIRS = beos | ||||
| PROGRAM_DIRS = beos samples redbook demos tests | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS =  | ||||
| OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) | ||||
| GLU_LIB_DEPS =   | ||||
| GLUT_LIB_DEPS = -lgame -L$(LIB_DIR) -l$(GL_LIB) | ||||
| APP_LIB_DEPS = -lbe -L$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB) | ||||
|  | ||||
| @@ -1,25 +0,0 @@ | ||||
| # Configuration for Darwin / MacOS X, making dynamic libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = darwin | ||||
|  | ||||
| # Compiler and flags | ||||
| 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 | ||||
| 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 = $(TOP)/lib/GL.dylib | ||||
| GLU_LIB_DEPS = $(TOP)/lib/GL.dylib | ||||
| GLUT_LIB_DEPS =  | ||||
| GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib | ||||
| APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| @@ -1,24 +0,0 @@ | ||||
| # 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 = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| OSMESA_LIB_DEPS =  | ||||
| GLU_LIB_DEPS =  | ||||
| GLUT_LIB_DEPS =  | ||||
| GLW_LIB_DEPS =  | ||||
| APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| @@ -1,68 +0,0 @@ | ||||
| # Default/template configuration | ||||
|  | ||||
| # This is included by other config files which may override some | ||||
| # of these variables. | ||||
|  | ||||
| CONFIG_NAME = default | ||||
|  | ||||
| # Version info | ||||
| MESA_MAJOR=6 | ||||
| MESA_MINOR=3 | ||||
| MESA_TINY=0 | ||||
|  | ||||
| # external projects | ||||
| DRM_SOURCE_PATH=$(TOP)/../drm | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = CC | ||||
| CFLAGS = -O | ||||
| CXXFLAGS = -O | ||||
| GLU_CFLAGS =  | ||||
|  | ||||
| # Misc tools and flags | ||||
| MKLIB_OPTIONS =  | ||||
| MKDEP = makedepend | ||||
| MKDEP_OPTIONS = -fdepend | ||||
| MAKE = make | ||||
|  | ||||
| # Library names (base name) | ||||
| GL_LIB = GL | ||||
| GLU_LIB = GLU | ||||
| GLUT_LIB = glut | ||||
| GLW_LIB = GLw | ||||
| OSMESA_LIB = OSMesa | ||||
|  | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.so | ||||
| GLU_LIB_NAME = libGLU.so | ||||
| GLUT_LIB_NAME = libglut.so | ||||
| GLW_LIB_NAME = libGLw.so | ||||
| OSMESA_LIB_NAME = libOSMesa.so | ||||
|  | ||||
|  | ||||
| # Optional assembly language optimization files for libGL | ||||
| 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 | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| LIB_DIR = $(TOP)/lib | ||||
| INSTALL_PREFIX = /usr/local | ||||
| SRC_DIRS = mesa glu glut/glx glw | ||||
| GLU_DIRS = sgi | ||||
| DRIVER_DIRS = x11 osmesa | ||||
| PROGRAM_DIRS = demos redbook samples xdemos | ||||
|  | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS = -lX11 -lXext -lm -lpthread | ||||
| OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| @@ -1,17 +0,0 @@ | ||||
| # Configuration for FreeBSD | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = FreeBSD | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| MAKE = gmake | ||||
|  | ||||
| CFLAGS = -O2 -fPIC -pedantic -I/usr/X11R6/include -DUSE_XSHM -DHZ=100 | ||||
| CXXFLAGS = -O2 -fPIC -pedantic | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
|  | ||||
| @@ -1,41 +0,0 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for freebsd-dri: FreeBSD DRI hardware drivers | ||||
|  | ||||
| include $(TOP)/configs/freebsd | ||||
|  | ||||
| CONFIG_NAME = freebsd-dri | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| WARN_FLAGS = -Wall | ||||
| OPT_FLAGS = -O | ||||
|  | ||||
| X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions | ||||
| DEFINES = -DDRI_NEW_INTERFACE_ONLY  | ||||
| CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99  -Wundef -fPIC -ffast-math -I/usr/local/include $(X11_INCLUDES) | ||||
| CXXFLAGS = $(DEFINES) -Wall -g -ansi -pedantic -fPIC | ||||
|  | ||||
| ASM_SOURCES =  | ||||
|  | ||||
| # Library/program dependencies | ||||
| DRI_LIB_DEPS = -lm -lpthread -lexpat | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -pthread | ||||
|  | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lXm -lX11 | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu glut/glx glw glx/x11 | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS =  | ||||
| WINDOW_SYSTEM=dri | ||||
|  | ||||
| DRM_SOURCE_PATH=$(TOP)/../drm | ||||
|  | ||||
| # ffb and gamma are missing because they have not been converted to use the new | ||||
| # interface. | ||||
| DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx \ | ||||
| 	   unichrome savage sis | ||||
|  | ||||
| @@ -1,12 +0,0 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for freebsd-dri: FreeBSD DRI hardware drivers | ||||
|  | ||||
| include $(TOP)/configs/freebsd-dri | ||||
|  | ||||
| CONFIG_NAME = freebsd-dri-x86 | ||||
|  | ||||
| # Unnecessary on x86, generally. | ||||
| PIC_FLAGS =  | ||||
|  | ||||
| ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM | ||||
| ASM_SOURCES = $(X86_SOURCES) | ||||
| @@ -1,14 +0,0 @@ | ||||
| # Configuration for HPUX v10, shared libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux10 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE | ||||
|  | ||||
| APP_LIB_DEPS = -$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
| @@ -1,16 +0,0 @@ | ||||
| # Configuration for HPUX v10, with gcc | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux10-gcc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include  -DUSE_XSHM | ||||
| CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
|  | ||||
| @@ -1,30 +0,0 @@ | ||||
| # Configuration for HPUX v10, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux10-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE | ||||
|  | ||||
| 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 | ||||
|  | ||||
| # Library/program dependencies (static libs don't have dependencies) | ||||
| GL_LIB_DEPS =  | ||||
| OSMESA_LIB_DEPS =  | ||||
| GLU_LIB_DEPS =  | ||||
| GLUT_LIB_DEPS =  | ||||
| GLW_LIB_DEPS =  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++ | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm -lstdc++ | ||||
| @@ -1,26 +0,0 @@ | ||||
| # Configuration for HPUX v11 | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux11-32 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +z -Ae +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS | ||||
|  | ||||
| CXXFLAGS = +z -Aa +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include | ||||
|  | ||||
| MKLIB_OPTIONS = | ||||
|  | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
| # Library/program dependencies | ||||
| APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
| @@ -1,26 +0,0 @@ | ||||
| # Configuration for HPUX v11, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux11-32-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS | ||||
|  | ||||
| CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include | ||||
|  | ||||
| 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 | ||||
|  | ||||
| # Library/program dependencies | ||||
| APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
| @@ -1,26 +0,0 @@ | ||||
| # Configuration for HPUX v11, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux11-32-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM | ||||
|  | ||||
| CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include | ||||
|  | ||||
| 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 | ||||
|  | ||||
| # Library/program dependencies | ||||
| APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
| @@ -1,27 +0,0 @@ | ||||
| # Configuration for HPUX v11, 64-bit | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux11-64 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +z -Ae +DD64 +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS | ||||
|  | ||||
| CXXFLAGS = +z -Aa +DD64 +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include | ||||
|  | ||||
| MKLIB_OPTIONS = | ||||
|  | ||||
| LIBDIR = $(TOP)/lib64 | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
| # Library/program dependencies | ||||
| APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
| @@ -1,27 +0,0 @@ | ||||
| # Configuration for HPUX v11, 64-bit, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux11-64-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS | ||||
|  | ||||
| CXXFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include | ||||
|  | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
| LIBDIR = $(TOP)/lib64 | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
| # Library/program dependencies | ||||
| APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
| @@ -1,16 +0,0 @@ | ||||
| # Configuration for HPUX v9, shared libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux9 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| # XXX fix this | ||||
| CXX = c++ | ||||
|  | ||||
| CFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM | ||||
| CXXFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11 -lm | ||||
|  | ||||
| @@ -1,14 +0,0 @@ | ||||
| # Configuration for HPUX v10, shared libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = hpux9-gcc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = aCC | ||||
|  | ||||
| CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
| @@ -1,18 +0,0 @@ | ||||
| # Configuration for IRIX 6.x, make n64 DSOs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = irix6-64 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = CC | ||||
| CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM | ||||
| CXXFLAGS = -64 -O3 -ansi -woff 1174 | ||||
| MKLIB_OPTIONS = -archopt 64 | ||||
|  | ||||
| GLW_SOURCES = GLwDrawA.c GLwMDrawA.c | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib64 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -64 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm | ||||
| @@ -1,25 +0,0 @@ | ||||
| # Configuration for IRIX 6.x, make n64 static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = irix6-64-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = CC | ||||
| CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM | ||||
| CXXFLAGS = -64 -O3 -ansi -woff 1174 | ||||
| MKLIB_OPTIONS = -archopt 64 -static | ||||
|  | ||||
| GLW_SOURCES = GLwDrawA.c GLwMDrawA.c | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib64 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
| 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 | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
| # Configuration for IRIX 6.x, make n32 DSOs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = irix6-n32 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = CC | ||||
| CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM | ||||
| CXXFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552 | ||||
| MKLIB_OPTIONS = -archopt n32 | ||||
|  | ||||
| GLW_SOURCES = GLwDrawA.c GLwMDrawA.c | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib32 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -n32 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lfpe -lm | ||||
| @@ -1,25 +0,0 @@ | ||||
| # Configuration for IRIX 6.x, make n32 static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = irix6-n32-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = CC | ||||
| CFLAGS = -n32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM | ||||
| CXXFLAGS = -n32 -mips2 -O2 -ansi -woff 3262,3666 | ||||
| MKLIB_OPTIONS = -archopt n32 -static | ||||
|  | ||||
| GLW_SOURCES = GLwDrawA.c GLwMDrawA.c | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib32 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -n32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
| 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 | ||||
|  | ||||
| @@ -1,19 +0,0 @@ | ||||
| # Configuration for IRIX 6.x, make o32 DSOs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = irix6-o32 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = CC | ||||
| CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM | ||||
| CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666 | ||||
| MKLIB_OPTIONS = -archopt o32 | ||||
|  | ||||
| GLW_SOURCES = GLwDrawA.c GLwMDrawA.c | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib32 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -32 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
| @@ -1,25 +0,0 @@ | ||||
| # Configuration for IRIX 6.x, make o32 static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = irix6-o32-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = CC | ||||
| CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM | ||||
| CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666 | ||||
| MKLIB_OPTIONS = -archopt o32 -static | ||||
|  | ||||
| GLW_SOURCES = GLwDrawA.c GLwMDrawA.c | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib32 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
| 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 | ||||
|  | ||||
| @@ -1,20 +0,0 @@ | ||||
| # Configuration for generic Linux | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| 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 | ||||
| CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
|  | ||||
| # Library/program dependencies | ||||
| # Need to have -L/usr/X11R6/lib in these: | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| @@ -1,18 +0,0 @@ | ||||
| # Configuration for Linux on Alpha | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-alpha | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| 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 | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
|  | ||||
| @@ -1,27 +0,0 @@ | ||||
| # Configuration for Linux on Alpha, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-alpha-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| 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 | ||||
|  | ||||
|  | ||||
| # 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 = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -L/usr/X11R6/lib -lX11 -lm | ||||
| @@ -1,20 +0,0 @@ | ||||
| # Configuration for debugging on Linux | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-debug | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG | ||||
|  | ||||
| CXXFLAGS = -g -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| # Need to have -L/usr/X11R6/lib in these: | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11 | ||||
| @@ -1,53 +0,0 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-dri | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| MKDEP = /usr/X11R6/bin/makedepend | ||||
| #MKDEP = gcc -M | ||||
| #MKDEP_OPTIONS = -MF depend | ||||
|  | ||||
| WARN_FLAGS = -Wall | ||||
| OPT_FLAGS = -O -g | ||||
| PIC_FLAGS = -fPIC | ||||
|  | ||||
|  | ||||
| DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \ | ||||
| 	-D_BSD_SOURCE -D_GNU_SOURCE \ | ||||
| 	-DDRI_NEW_INTERFACE_ONLY -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1  | ||||
|  | ||||
| X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions | ||||
|  | ||||
| CFLAGS =  $(WARN_FLAGS) $(OPT_FLAGS) $(ASM_FLAGS) -std=c99 $(PIC_FLAGS) -ffast-math  \ | ||||
| 	$(DEFINES) | ||||
|  | ||||
| CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) \ | ||||
| 	$(DEFINES) | ||||
|  | ||||
|  | ||||
| ASM_SOURCES =  | ||||
|  | ||||
| # Library/program dependencies | ||||
| DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lm -lpthread -ldl | ||||
|  | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu glut/glx glw glx/x11 | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS =  | ||||
| WINDOW_SYSTEM=dri | ||||
|  | ||||
| # ffb and gamma are missing because they have not been converted to use the new | ||||
| # interface. | ||||
| DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon s3v \ | ||||
| 	savage sis tdfx trident unichrome | ||||
| @@ -1,17 +0,0 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others | ||||
|  | ||||
| include $(TOP)/configs/linux-dri | ||||
|  | ||||
| CONFIG_NAME = linux-dri-ppc | ||||
|  | ||||
| OPT_FLAGS = -Os -mcpu=603 | ||||
| PIC_FLAGS = -fPIC | ||||
|  | ||||
| ASM_FLAGS = -DUSE_PPC_ASM -DUSE_VMX_ASM | ||||
| ASM_SOURCES = $(PPC_SOURCES) | ||||
|  | ||||
| # Build only the drivers for cards that exist on PowerPC.  At some point MGA | ||||
| # will be added, but not yet. | ||||
| DRI_DIRS = dri_client mach64 r128 r200 radeon tdfx | ||||
|  | ||||
| @@ -1,12 +0,0 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others | ||||
|  | ||||
| include $(TOP)/configs/linux-dri | ||||
|  | ||||
| CONFIG_NAME = linux-dri-x86 | ||||
|  | ||||
| # Unnecessary on x86, generally. | ||||
| PIC_FLAGS =  | ||||
|  | ||||
| ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM | ||||
| ASM_SOURCES = $(X86_SOURCES) | ||||
| @@ -1,40 +0,0 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-dri-x86-64 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -D_GNU_SOURCE  -D__AMD64__  | ||||
|  | ||||
| CFLAGS = -m64 -Wmissing-prototypes -g -std=c99  -Wundef -fPIC -ffast-math $(DEFINES) | ||||
| CXXFLAGS = -m64 -Wall -g -ansi -pedantic -fPIC $(DEFINES) | ||||
|  | ||||
| X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions | ||||
|  | ||||
| #ASM_SOURCES = $(X86_SOURCES) | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib64 | ||||
|  | ||||
| # Library/program dependencies | ||||
| DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lXxf86vm -lm -lpthread -ldl | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11 | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu glut/glx glw glx/x11 | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS =  | ||||
| WINDOW_SYSTEM=dri | ||||
|  | ||||
| # ffb, gamma, and sis are missing because they have | ||||
| # not be converted to use the new interface.  Do i810 & i830 really | ||||
| # need to be included here? | ||||
| # | ||||
| DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome savage | ||||
|  | ||||
| @@ -1,20 +0,0 @@ | ||||
| # Configuration for generic Linux with 3Dfx Glide driver | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-glide | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| 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 -DFX -I/usr/include/glide -I/usr/local/glide/include | ||||
| CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm | ||||
| @@ -1,21 +0,0 @@ | ||||
| # Configuration for Linux with Intel C compiler | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-icc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = icc | ||||
| CXX = g++ | ||||
| CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include | ||||
| CXXFLAGS = -O3 | ||||
| GLUT_CFLAGS = -fexceptions | ||||
| MKLIB_OPTIONS = -arch icc | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
|  | ||||
| ASM_SOURCES = $(X86_SOURCES) $(X86_API) | ||||
|  | ||||
|  | ||||
| @@ -1,29 +0,0 @@ | ||||
| # Configuration for Linux with Intel C compiler, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-icc-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = icc | ||||
| CXX = g++ | ||||
| CFLAGS = -O3 -tpp6 -axK -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include | ||||
| CXXFLAGS = -O3 | ||||
| GLUT_CFLAGS = -fexceptions | ||||
| MKLIB_OPTIONS = -static -arch icc | ||||
|  | ||||
| # 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 = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| MKLIB_OPTIONS = -arch icc | ||||
|  | ||||
| ASM_SOURCES = $(X86_SOURCES) $(X86_API) | ||||
|  | ||||
|  | ||||
| @@ -1,27 +0,0 @@ | ||||
| # Configuration for 16 bits/channel OSMesa library on Linux | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-osmesa16 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| 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 | ||||
|  | ||||
|  | ||||
| # Library names | ||||
| OSMESA_LIB = OSMesa16 | ||||
| OSMESA_LIB_NAME = libOSMesa16.so | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS =  | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
| OSMESA_LIB_DEPS = -lm -lpthread | ||||
| APP_LIB_DEPS = -lOSMesa16 | ||||
| @@ -1,28 +0,0 @@ | ||||
| # Configuration for 16 bits/channel OSMesa library on Linux | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-osmesa16-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -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 | ||||
|  | ||||
|  | ||||
| # Library names | ||||
| OSMESA_LIB = OSMesa16 | ||||
| OSMESA_LIB_NAME = libOSMesa16.a | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS =  | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
| OSMESA_LIB_DEPS = -lm -lpthread | ||||
| APP_LIB_DEPS = -lOSMesa16 | ||||
| @@ -1,27 +0,0 @@ | ||||
| # Configuration for 32 bits/channel OSMesa library on Linux | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-osmesa32 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| 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 | ||||
|  | ||||
|  | ||||
| # Library names | ||||
| OSMESA_LIB = OSMesa32 | ||||
| OSMESA_LIB_NAME = libOSMesa32.so | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS =  | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
| OSMESA_LIB_DEPS = -lm -lpthread | ||||
| APP_LIB_DEPS = -lOSMesa32 | ||||
| @@ -1,18 +0,0 @@ | ||||
| # Configuration for Linux on PPC | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-ppc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
|  | ||||
| @@ -1,26 +0,0 @@ | ||||
| # Configuration for Linux on PPC, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-ppc-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
| # Library names (actual file names) | ||||
| 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 = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm | ||||
| @@ -1,33 +0,0 @@ | ||||
| # Configuration for linux-solo: Linux DRI hardware drivers for fbdev | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-solo | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE | ||||
|  | ||||
| CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math | ||||
|  | ||||
| CXXFLAGS = $(DEFINES) -Wall -O3 -ansi -pedantic -fPIC | ||||
|  | ||||
|  | ||||
| ASM_SOURCES = $(X86_SOURCES) | ||||
|  | ||||
| # Library/program dependencies | ||||
| DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl | ||||
| GL_LIB_DEPS = -lm -lpthread -ldl | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glx/mini glu glut/mini | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS = miniglx | ||||
|  | ||||
| #DRI_DIRS = fb ffb gamma sis savage | ||||
| DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome | ||||
| @@ -1,29 +0,0 @@ | ||||
| # Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-solo-ia64 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE | ||||
|  | ||||
| CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math | ||||
|  | ||||
| CXXFLAGS = $(DEFINES) -Wall -O3 -ansi -pedantic -fPIC | ||||
|  | ||||
|  | ||||
| # Library/program dependencies | ||||
| DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl | ||||
| GL_LIB_DEPS = -lm -lpthread -ldl | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glx/mini glu glut/mini | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS = miniglx | ||||
|  | ||||
| DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome | ||||
| @@ -1,32 +0,0 @@ | ||||
| # Configuration for linux-solo: Linux DRI hardware drivers for fbdev | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-solo-x86 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| DEFINES = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS | ||||
|  | ||||
| CFLAGS = $(DEFINES) -Wmissing-prototypes -O3 -g -std=c99 -Wundef -fPIC -ffast-math | ||||
|  | ||||
| CXXFLAGS = $(DEFINES) -Wall -O3 -ansi -pedantic -fPIC | ||||
|  | ||||
|  | ||||
| ASM_SOURCES = $(X86_SOURCES) | ||||
|  | ||||
| # Library/program dependencies | ||||
| DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl | ||||
| GL_LIB_DEPS = -lm -lpthread -ldl | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mesa glx/mini glu glut/mini | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS = miniglx | ||||
|  | ||||
| #DRI_DIRS = fb ffb gamma sis savage | ||||
| DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome | ||||
| @@ -1,16 +0,0 @@ | ||||
| # Configuration for Linux on Sparc | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-sparc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| @@ -1,17 +0,0 @@ | ||||
| # Configuration for Linux on Sparc5 | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-sparc5 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -mcpu=ultrasparc -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = -mcpu=ultrasparc -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
|  | ||||
| @@ -1,30 +0,0 @@ | ||||
| # Configuration for generic Linux, making static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include | ||||
| CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
| # Library/program dependencies (static libs don't have dependencies) | ||||
| GL_LIB_DEPS =  | ||||
| OSMESA_LIB_DEPS =  | ||||
| GLU_LIB_DEPS =  | ||||
| GLUT_LIB_DEPS =  | ||||
| GLW_LIB_DEPS =  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++ | ||||
| @@ -1,22 +0,0 @@ | ||||
| # Configuration for debugging on Linux | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-tcc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| TCC_DIR=/home/progs/tcc-0.9.20 | ||||
|  | ||||
| CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DUSE_TCC -I$(TCC_DIR) | ||||
|  | ||||
| CXXFLAGS = -g -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L$(TCC_DIR) -ltcc -ldl | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| @@ -1,17 +0,0 @@ | ||||
| # Configuration for Linux on UltraSparc | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-ultrasparc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM | ||||
| CXXFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR)-l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| @@ -1,24 +0,0 @@ | ||||
| # Configuration for Linux with x86 optimizations | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-x86 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include | ||||
|  | ||||
| CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
|  | ||||
| ASM_SOURCES = $(X86_SOURCES) $(X86_API) | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| @@ -1,28 +0,0 @@ | ||||
| # Configuration for Linux for 64-bit X86 (Opteron) | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-x86-64 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include | ||||
|  | ||||
| CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__ | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
|  | ||||
| #ASM_SOURCES = $(X86_SOURCES) | ||||
|  | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib64 | ||||
|  | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| @@ -1,40 +0,0 @@ | ||||
| # Configuration for Linux for 64-bit X86 (Opteron), static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-x86-64-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include | ||||
|  | ||||
| CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__ | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
|  | ||||
| #ASM_SOURCES = $(X86_SOURCES) | ||||
|  | ||||
|  | ||||
| LIB_DIR = $(TOP)/lib64 | ||||
|  | ||||
|  | ||||
| # Library/program dependencies (static libs don't have dependencies) | ||||
| GL_LIB_DEPS =  | ||||
| OSMESA_LIB_DEPS =  | ||||
| GLU_LIB_DEPS =  | ||||
| GLUT_LIB_DEPS =  | ||||
| GLW_LIB_DEPS =  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++ | ||||
| @@ -1,10 +0,0 @@ | ||||
| # Configuration for Linux with x86 code, but no gcc optimizations and  | ||||
| # debugging enabled. | ||||
|  | ||||
| include $(TOP)/configs/linux-x86 | ||||
|  | ||||
| CONFIG_NAME = linux-x86-debug | ||||
|  | ||||
| CFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include | ||||
|  | ||||
| CXXFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| @@ -1,24 +0,0 @@ | ||||
| # Configuration for Linux with 3Dfx Glide driver and x86 optimizations | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-x86-glide | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include | ||||
|  | ||||
| CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
|  | ||||
| ASM_SOURCES = $(X86_SOURCES) $(X86_API) | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm | ||||
| @@ -1,37 +0,0 @@ | ||||
| # Configuration for Linux with x86 optimizations, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-x86-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include | ||||
|  | ||||
| CXXFLAGS = -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.a | ||||
| GLU_LIB_NAME = libGLU.a | ||||
| GLUT_LIB_NAME = libglut.a | ||||
| GLW_LIB_NAME = libGLw.a | ||||
| OSMESA_LIB_NAME = libOSMesa.a | ||||
|  | ||||
|  | ||||
| ASM_SOURCES = $(X86_SOURCES) $(X86_API) | ||||
|  | ||||
|  | ||||
| # Library/program dependencies (static libs don't have dependencies) | ||||
| GL_LIB_DEPS =  | ||||
| OSMESA_LIB_DEPS =  | ||||
| GLU_LIB_DEPS =  | ||||
| GLUT_LIB_DEPS =  | ||||
| GLW_LIB_DEPS =  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++ | ||||
| @@ -1,14 +0,0 @@ | ||||
| # Configuration for NetBSD | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = netbsd | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O2 -fPIC -DUSE_XSHM -I/usr/X11R6/include -DHZ=100 | ||||
| CXXFLAGS = -O2 -fPIC | ||||
| GLUT_CFLAGS = -fexceptions | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
| # Configuration for OpenBSD | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = openbsd | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100 | ||||
| CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100 | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm | ||||
| OSMESA_LIB_DEPS = -lm | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
|  | ||||
							
								
								
									
										16
									
								
								configs/osf1
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								configs/osf1
									
									
									
									
									
								
							| @@ -1,16 +0,0 @@ | ||||
| # Configuration for OSF/1 | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = osf1 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = cxx | ||||
| CFLAGS = -O0 -std1 -ieee_with_no_inexact -DUSE_XSHM | ||||
| CXXFLAGS = -O2 -std ansi -ieee | ||||
|  | ||||
| GL_LIB_DEPS = -lX11 -lXext -lm -lpthread | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm | ||||
| @@ -1,18 +0,0 @@ | ||||
| # Configuration for Solaris on x86 | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = solaris-x86 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
| 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 | ||||
| @@ -1,24 +0,0 @@ | ||||
| # Configuration for Solaris on x86 with gcc, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = solaris-x86-gcc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O3 -m486 -fPIC -I/usr/openwin/include -DUSE_XSHM | ||||
| CXXFLAGS = -O3 -m486 -fPIC | ||||
| GLUT_CFLAGS = -fexceptions | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
|  | ||||
| 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 | ||||
| @@ -1,12 +0,0 @@ | ||||
| # Configuration for SunOS 4, shared libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = sunos4 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = acc | ||||
| CFLAGS = -Kpic -O -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
|  | ||||
| @@ -1,15 +0,0 @@ | ||||
| # Configuration for SunOS 4, with gcc, shared libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = sunos4-gcc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4 | ||||
| CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4 | ||||
| GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm | ||||
|  | ||||
| @@ -1,25 +0,0 @@ | ||||
| # Configuration for SunOS 4, static libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = sunos4-static | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = acc | ||||
| CFLAGS = -O -DUSE_XSHM -DSUNOS4 | ||||
| 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 | ||||
|  | ||||
| # Library/program dependencies (static libs don't have dependencies) | ||||
| GL_LIB_DEPS =  | ||||
| OSMESA_LIB_DEPS =  | ||||
| GLU_LIB_DEPS =  | ||||
| GLUT_LIB_DEPS =  | ||||
| GLW_LIB_DEPS =  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm | ||||
| @@ -1,18 +0,0 @@ | ||||
| # Configuration for SunOS 5 | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = sunos5 | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = c++ | ||||
| CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM | ||||
| CXXFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include | ||||
| GLUT_CFLAGS = -DSOLARIS_2_4_BUG | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -lCrun -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| @@ -1,21 +0,0 @@ | ||||
| # Configuration for SunOS 5, with gcc | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = sunos5-gcc | ||||
|  | ||||
| ASM_SOURCES = $(SPARC_SOURCES) $(SPARC_API) | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_XSHM -DUSE_SPARC_ASM | ||||
| CXXFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_SPARC_ASM | ||||
| GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
|  | ||||
| @@ -1,19 +0,0 @@ | ||||
| # Configuration for SunOS 5, SMP systems | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = sunos5-smp | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = c++ | ||||
| CFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG | ||||
| CXXFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include | ||||
| GLUT_CFLAGS = -DSOLARIS_2_4_BUG | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm | ||||
| GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lCrun | ||||
|  | ||||
| @@ -1,21 +0,0 @@ | ||||
| # Configuration for Ultrix, with gcc | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = ultrix-gcc | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -pedantic -O2 | ||||
| CXXFLAGS = -pedantic -O2 | ||||
| GLUT_CFLAGS = -fexceptions | ||||
| MKLIB_OPTIONS = -static | ||||
|  | ||||
| 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 | ||||
|  | ||||
| APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXmu -lX11 -lXi -lm | ||||
							
								
								
									
										20
									
								
								descrip.mms
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								descrip.mms
									
									
									
									
									
								
							| @@ -1,20 +0,0 @@ | ||||
| # Makefile for Mesa for VMS | ||||
| # contributed by Jouk Jansen  joukj@hrem.stm.tudelft.nl | ||||
|  | ||||
| macro :  | ||||
|         @ macro="" | ||||
| .ifdef NOSHARE | ||||
| .else | ||||
| 	@ if f$getsyi("HW_MODEL") .ge. 1024 then macro= "/MACRO=(SHARE=1)" | ||||
| .endif | ||||
| 	$(MMS)$(MMSQUALIFIERS)'macro' all | ||||
|  | ||||
| all : | ||||
| 	if f$search("lib.dir") .eqs. "" then create/directory [.lib] | ||||
| 	set default [.src] | ||||
| 	$(MMS)$(MMSQUALIFIERS) | ||||
| 	set default [-.progs.demos] | ||||
| 	$(MMS)$(MMSQUALIFIERS) | ||||
| 	set default [-.xdemos] | ||||
| 	$(MMS)$(MMSQUALIFIERS) | ||||
| 	if f$search("[-]test.DIR") .nes. "" then pipe set default [-.test] ; $(MMS)$(MMSQUALIFIERS) | ||||
| @@ -1,95 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_agp_offset | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_agp_offset | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) | ||||
|     Keith Whitwell, Tungsten Graphics, Inc.  (keith 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping (Mesa 4.0.4 and later.  Only implemented in particular | ||||
|     XFree86/DRI drivers.) | ||||
|  | ||||
| Version | ||||
|  | ||||
|     1.0 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required | ||||
|     GLX_NV_vertex_array_range is required. | ||||
|     This extensions is written against the OpenGL 1.4 Specification. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extensions provides a way to convert pointers in an AGP memory | ||||
|     region into byte offsets into the AGP aperture. | ||||
|     Note, this extension depends on GLX_NV_vertex_array_range, for which | ||||
|     no real specification exists.  See GL_NV_vertex_array_range for more | ||||
|     information. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     None | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     unsigned int glXGetAGPOffsetMESA( const void *pointer ) | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the OpenGL 1.4 Specification | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors) | ||||
|  | ||||
|     Add a new section, 3.6 as follows: | ||||
|  | ||||
|     3.6 AGP Memory Access | ||||
|  | ||||
|     On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV | ||||
|     and freed with glXFreeMemoryNV.  Sometimes it's useful to know where a | ||||
|     block of AGP memory is located with respect to the start of the AGP | ||||
|     aperature.  The function | ||||
|  | ||||
|         GLuint glXGetAGPOffsetMESA( const GLvoid *pointer ) | ||||
|  | ||||
|     Returns the offset of the given memory block from the start of AGP | ||||
|     memory in basic machine units (i.e. bytes).  If pointer is invalid | ||||
|     the value ~0 will be returned. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None.  This is a client side-only extension. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     glXGetAGPOffsetMESA will return ~0 if the pointer does not point to | ||||
|     an AGP memory region. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     20 September 2002 - Initial draft | ||||
|     2 October 2002 - finished GLX chapter 3 additions | ||||
|     27 July 2004 - use unsigned int instead of GLuint, void instead of GLvoid | ||||
| @@ -1,88 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_copy_sub_buffer | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_copy_sub_buffer | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul (brian.paul 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping since Mesa 2.6 in February, 1998. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Last Modified Date:  8 June 2000 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     215 | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required. | ||||
|     GLX 1.0 or later is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     The glxCopySubBufferMESA() function copies a rectangular region | ||||
|     of the back color buffer to the front color buffer.  This can be | ||||
|     used to quickly repaint 3D windows in response to expose events | ||||
|     when the back color buffer cannot be damaged by other windows. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     Open-source; freely implementable. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, | ||||
| 			       int x, int y, int width, int height ); | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | ||||
|  | ||||
|     Add to section 3.3.10 Double Buffering: | ||||
|  | ||||
|     The function | ||||
|  | ||||
| 	 void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, | ||||
| 				    int x, int y, int width, int height ); | ||||
|  | ||||
|     may be used to copy a rectangular region of the back color buffer to | ||||
|     the front color buffer.  This can be used to quickly repaint 3D windows | ||||
|     in response to expose events when the back color buffer cannot be | ||||
|     damaged by other windows. | ||||
|  | ||||
|     <x> and <y> indicates the lower-left corner of the region to copy and | ||||
|     <width> and <height> indicate the size in pixels.  Coordinate (0,0) | ||||
|     corresponds to the lower-left pixel of the window, like glReadPixels. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None at this time.  The extension is implemented in terms of ordinary | ||||
|     Xlib protocol inside of Mesa. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     8 June 2000 - initial specification | ||||
|  | ||||
| @@ -1,138 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_pack_invert | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_pack_invert | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) | ||||
|     Keith Whitwell, Tungsten Graphics, Inc.  (keith 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping (Mesa 4.0.4 and later) | ||||
|  | ||||
| Version | ||||
|  | ||||
|     1.0 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required | ||||
|     This extensions is written against the OpenGL 1.4 Specification. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension adds a new pixel storage parameter to indicate that | ||||
|     images are to be packed in top-to-bottom order instead of OpenGL's | ||||
|     conventional bottom-to-top order.  Only pixel packing can be | ||||
|     inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter, | ||||
|     etc). | ||||
|  | ||||
|     Almost all known image file formats store images in top-to-bottom | ||||
|     order.  As it is, OpenGL reads images from the frame buffer in | ||||
|     bottom-to-top order.  Thus, images usually have to be inverted before | ||||
|     writing them to a file with image I/O libraries.  This extension | ||||
|     allows images to be read such that inverting isn't needed. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     None | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     1. Should we also defined UNPACK_INVERT_MESA for glDrawPixels, etc? | ||||
|  | ||||
|     Resolved:  No, we're only concerned with pixel packing.  There are other | ||||
|     solutions for inverting images when using glDrawPixels (negative Y pixel | ||||
|     zoom) or glTexImage (invert the vertex T coordinates).  It would be easy | ||||
|     enough to define a complementary extension for pixel packing in the | ||||
|     future if needed. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     Accepted by the <pname> parameter of PixelStorei and PixelStoref | ||||
|     and the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev | ||||
|     and GetBooleanv: | ||||
|  | ||||
|         PACK_INVERT_MESA                   0x8758 | ||||
|  | ||||
| Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment | ||||
| Operations and the Frame Buffer) | ||||
|  | ||||
|     Add the following entry to table 4.4 (PixelStore parameters) on page 182: | ||||
|  | ||||
|     Parameter Name       Type    Initial Value    Valid Range | ||||
|     --------------------------------------------------------- | ||||
|     PACK_INVERT_MESA     boolean     FALSE        TRUE/FALSE | ||||
|  | ||||
|     In the section labeled "Placement in Client Memory" on page 184 | ||||
|     insert the following text into the paragraph before the sentence | ||||
|     that starts with "If the format is RED, GREEN, BLUE...": | ||||
|  | ||||
|     "The parameter PACK_INVERT_MESA controls whether the image is packed | ||||
|      in bottom-to-top order (the default) or top-to-bottom order.  Equation | ||||
|      3.8 is modified as follows: | ||||
|  | ||||
|      ... the first element of the Nth row is indicated by | ||||
|  | ||||
|          p + Nk,                if PACK_INVERT_MESA is false | ||||
|          p + k * (H - 1) - Nk,  if PACK_INVERT_MESA is true, where H is the | ||||
|                                 image height | ||||
|     " | ||||
|  | ||||
| Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the OpenGL 1.4 Specification (State and | ||||
| State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None | ||||
|  | ||||
| New State | ||||
|  | ||||
|     Add the following entry to table 6.20 (Pixels) on page 235: | ||||
|  | ||||
|     Get Value         Type     Get Cmd    Initial Value  Description                Sec    Attribute | ||||
|     -------------------------------------------------------------------------------------------------- | ||||
|     PACK_INVERT_MESA  boolean  GetBoolean  FALSE         Value of PACK_INVERT_MESA  4.3.2  pixel-store | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     21 September 2002 - Initial draft | ||||
| @@ -1,231 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_packed_depth_stencil | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_packed_depth_stencil | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com) | ||||
|     Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Obsolete. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_packed_depth_stencil.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     ??? | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     EXT_abgr affects the definition of this extension | ||||
|     SGIS_texture4D affects the definition of this extension | ||||
|     EXT_cmyka affects the definition of this extension | ||||
|     ARB_packed_pixels affects the definition of this extension | ||||
|  | ||||
| Overview | ||||
| 	 | ||||
|     Provides a mechanism for DrawPixels and ReadPixels to efficiently | ||||
|     transfer depth and stencil image data.  Specifically, we defined new | ||||
|     packed pixel formats and types which pack both stencil and depth | ||||
|     into one value. | ||||
|  | ||||
| Issues: | ||||
|  | ||||
|     1. Is this the right way to distinguish between 24/8 and 8/24 | ||||
|        pixel formats?  Should we instead provide both: | ||||
| 	 | ||||
|        GL_DEPTH_STENCIL_MESA | ||||
|        GL_STENCIL_DEPTH_MESA | ||||
|  | ||||
|        And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ? | ||||
|  | ||||
|     2. If not, is it correct to use _REV to indicate that stencil | ||||
|        preceeds depth in the 1_15 and 8_24 formats? | ||||
|  | ||||
|     3. Do we really want the GL_UNSIGNED_SHORT formats?   | ||||
|  | ||||
| 	 | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Tokens | ||||
|      | ||||
|     Accepted by the <format> parameter of ReadPixels and DrawPixels: | ||||
|  | ||||
| 	GL_DEPTH_STENCIL_MESA		0x8750 | ||||
|  | ||||
|     Accepted by the <type> parameter of ReadPixels and DrawPixels: | ||||
|  | ||||
| 	GL_UNSIGNED_INT_24_8_MESA	0x8751 | ||||
| 	GL_UNSIGNED_INT_8_24_REV_MESA	0x8752 | ||||
| 	GL_UNSIGNED_SHORT_15_1_MESA	0x8753 | ||||
| 	GL_UNSIGNED_SHORT_1_15_REV_MESA	0x8754 | ||||
|  | ||||
| Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the 1.1 Specification (Rasterization) | ||||
|  | ||||
|     One entry is added to table 3.5 (DrawPixels and ReadPixels formats). | ||||
|     The new table is: | ||||
|  | ||||
| 			Target | ||||
| 	Format Name	Buffer	Element Meaning and Order | ||||
| 	-----------	------	------------------------- | ||||
| 	COLOR_INDEX	Color	Color index | ||||
| 	STENCIL_INDEX	Stencil Stencil index | ||||
| 	DEPTH_COMPONENT Depth	Depth component | ||||
| 	RED		Color	R component | ||||
| 	GREEN		Color	G component | ||||
| 	BLUE		Color	B component | ||||
| 	ALPHA		Color	A component | ||||
| 	RGB		Color	R, G, B components | ||||
| 	RGBA		Color	R, G, B, A components | ||||
| 	BGRA	        Color   B, G, R, A components | ||||
| 	ABGR_EXT	Color	A, B, G, R components | ||||
| 	CMYK_EXT	Color	Cyan, Magenta, Yellow, Black components | ||||
| 	CMYKA_EXT	Color	Cyan, Magenta, Yellow, Black, A components | ||||
| 	LUMINANCE	Color	Luminance component | ||||
| 	LUMINANCE_ALPHA Color	Luminance, A components | ||||
| 	DEPTH_STENCIL   Depth,  Depth component, stencil index. | ||||
| 			Stencil | ||||
|  | ||||
| 	Table 3.5: DrawPixels and ReadPixels formats.  The third column | ||||
| 	gives a description of and the number and order of elements in a | ||||
| 	group. | ||||
|  | ||||
|     Add to the description of packed pixel formats: | ||||
|  | ||||
| 	<type> Parameter		Data	of	  Matching | ||||
| 	Token Name			Type	Elements  Pixel Formats | ||||
| 	----------------		----	--------  ------------- | ||||
|  | ||||
| 	UNSIGNED_BYTE_3_3_2	      ubyte   3	      RGB | ||||
| 	UNSIGNED_BYTE_2_3_3_REV       ubyte   3	      RGB | ||||
| 	UNSIGNED_SHORT_5_6_5	      ushort  3	      RGB | ||||
| 	UNSIGNED_SHORT_5_6_5_REV      ushort  3	      RGB | ||||
| 	UNSIGNED_SHORT_4_4_4_4	      ushort  4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_SHORT_4_4_4_4_REV    ushort  4	      RGBA,BGRA | ||||
| 	UNSIGNED_SHORT_5_5_5_1	      ushort  4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_SHORT_1_5_5_5_REV    ushort  4	      RGBA,BGRA | ||||
| 	UNSIGNED_INT_8_8_8_8	      uint    4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_INT_8_8_8_8_REV      uint    4	      RGBA,BGRA | ||||
| 	UNSIGNED_INT_10_10_10_2       uint    4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_INT_2_10_10_10_REV   uint    4	      RGBA,BGRA | ||||
| 	UNSIGNED_SHORT_15_1_MESA      ushort  2       DEPTH_STENCIL_MESA | ||||
| 	UNSIGNED_SHORT_1_15_REV_MESA  ushort  2       DEPTH_STENCIL_MESA | ||||
| 	UNSIGNED_SHORT_24_8_MESA      ushort  2       DEPTH_STENCIL_MESA | ||||
| 	UNSIGNED_SHORT_8_24_REV_MESA  ushort  2       DEPTH_STENCIL_MESA | ||||
|  | ||||
| 	UNSIGNED_INT_8_24: | ||||
|  | ||||
| 	     31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10	9  8  7  6  5  4  3  2	1  0 | ||||
| 	    +-----------------------+-----------------------------------------------------------------------+ | ||||
| 	    |			    |			     			    			    | | ||||
| 	    +-----------------------+-----------------------------------------------------------------------+ | ||||
|  | ||||
| 		    first					second		     | ||||
| 		    element					element		     | ||||
|  | ||||
|  | ||||
| 	UNSIGNED_INT_24_8: | ||||
|  | ||||
| 	     31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10	9  8  7  6  5  4  3  2	1  0 | ||||
| 	    +----------------------------------------------------------------------+------------------------+ | ||||
| 	    |			    			     			   | 			    | | ||||
| 	    +----------------------------------------------------------------------+------------------------+ | ||||
|  | ||||
| 		    first								  second		     | ||||
| 		    element								  element		     | ||||
|  | ||||
| 	UNSIGNED_SHORT_15_1: | ||||
|  | ||||
| 	      15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
| 	    +-----------------------------------------------------------+---+ | ||||
| 	    |					    			|   | | ||||
| 	    +-----------------------------------------------------------+---+ | ||||
|  | ||||
| 	    		first						second	 | ||||
| 			element						element	 | ||||
|  | ||||
|  | ||||
| 	UNSIGNED_SHORT_1_15_REV: | ||||
|  | ||||
| 	      15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
| 	    +---+-----------------------------------------------------------+ | ||||
| 	    |	|		     					    | | ||||
| 	    +---+-----------------------------------------------------------+ | ||||
|  | ||||
| 	    second		    first | ||||
| 	    element		    element | ||||
|  | ||||
|     The assignment of elements to fields in the packed pixel is as | ||||
|     described in the table below: | ||||
|  | ||||
| 			   First       Second	Third	    Fourth | ||||
| 	Format		   Element     Element	Element     Element | ||||
| 	------		   -------     -------	-------     ------- | ||||
| 	RGB		   red	       green	blue | ||||
| 	RGBA		   red	       green	blue	    alpha | ||||
| 	BGRA		   blue	       green	red	    alpha | ||||
| 	ABGR_EXT	   alpha       blue	green	    red | ||||
| 	CMYK_EXT	   cyan	       magenta	yellow	    black | ||||
| 	DEPTH_STENCIL_MESA depth       stencil | ||||
|  | ||||
| Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations | ||||
| and the Frame Buffer) | ||||
|  | ||||
|     The new format is added to the discussion of Obtaining Pixels from the | ||||
|     Framebuffer.  It should read " If the <format> is one of RED, GREEN, | ||||
|     BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and | ||||
|     the GL is in color index mode, then the color index is obtained." | ||||
|  | ||||
|     The new format is added to the discussion of Index Lookup.  It should | ||||
|     read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA, | ||||
|     ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to | ||||
|     reference 4 tables of color components: PIXEL_MAP_I_TO_R, | ||||
|     PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A." | ||||
|  | ||||
|  | ||||
| Additions to Chapter 5 of the 1.1 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the 1.1 Specification (State and State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the GLX Specification | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     Version 1.0 - 23 Sep 2000 | ||||
|         Keith's original version. | ||||
|  | ||||
|     Version 1.1 - 3 Nov 2000 | ||||
|         Brian's edits, assigned values to new enums. | ||||
|  | ||||
| @@ -1,90 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_pixmap_colormap | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_pixmap_colormap | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul (brian.paul 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping since Mesa 1.2.8 in May, 1996. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Last Modified Date:  8 June 2000 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     216 | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required. | ||||
|     GLX 1.0 or later is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     Since Mesa allows RGB rendering into drawables with PseudoColor, | ||||
|     StaticColor, GrayScale and StaticGray visuals, Mesa needs a colormap | ||||
|     in order to compute pixel values during rendering. | ||||
|  | ||||
|     The colormap associated with a window can be queried with normal | ||||
|     Xlib functions but there is no colormap associated with pixmaps. | ||||
|  | ||||
|     The glXCreateGLXPixmapMESA function is an alternative to glXCreateGLXPixmap | ||||
|     which allows specification of a colormap. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     Open-source; freely implementable. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, | ||||
| 				      Pixmap pixmap, Colormap cmap ); | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | ||||
|  | ||||
|     Add to section 3.4.2 Off Screen Rendering | ||||
|  | ||||
|     The Mesa implementation of GLX allows RGB rendering into X windows and | ||||
|     pixmaps of any visual class, not just TrueColor or DirectColor.  In order | ||||
|     to compute pixel values from RGB values Mesa requires a colormap. | ||||
|  | ||||
|     The function | ||||
|  | ||||
| 	GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, | ||||
| 					  Pixmap pixmap, Colormap cmap ); | ||||
|  | ||||
|     allows one to create a GLXPixmap with a specific colormap.  The image | ||||
|     rendered into the pixmap may then be copied to a window (which uses the | ||||
|     same colormap and visual) with the expected results. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None since this is a client-side extension. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     8 June 2000 - initial specification | ||||
| @@ -1,357 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_program_debug | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_program_debug | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul (brian.paul 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     XXX - Not complete yet!!! | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Last Modified Date: July 20, 2003 | ||||
|     Author Revision: 1.0 | ||||
|     $Date: 2004/03/25 01:42:41 $ $Revision: 1.4 $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.4 is required | ||||
|     The extension is written against the OpenGL 1.4 specification. | ||||
|     ARB_vertex_program or ARB_fragment_program or NV_vertex_program | ||||
|     or NV_fragment_program is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     The extension provides facilities for implementing debuggers for | ||||
|     vertex and fragment programs. | ||||
|  | ||||
|     The concept is that vertex and fragment program debuggers will be | ||||
|     implemented outside of the GL as a utility package.  This extension | ||||
|     only provides the minimal hooks required to implement a debugger. | ||||
|  | ||||
|     There are facilities to do the following: | ||||
|     1. Have the GL call a user-specified function prior to executing | ||||
|        each vertex or fragment instruction. | ||||
|     2. Query the current program string's execution position. | ||||
|     3. Query the current values of intermediate program values. | ||||
|  | ||||
|     The main feature is the ProgramCallbackMESA function.  It allows the | ||||
|     user to register a callback function with the GL.  The callback will | ||||
|     be called prior to executing each vertex or fragment program instruction. | ||||
|  | ||||
|     From within the callback, the user may issue Get* commands to | ||||
|     query current GL state.  The GetProgramRegisterfvMESA function allows | ||||
|     current program values to be queried (such as temporaries, input | ||||
|     attributes, and result registers). | ||||
|  | ||||
|     There are flags for enabling/disabling the program callbacks. | ||||
|  | ||||
|     The current execution position (as an offset from the start of the | ||||
|     program string) can be queried with | ||||
|     GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or | ||||
|     GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos). | ||||
|  | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     None | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     1. Is this the right model for a debugger? | ||||
|  | ||||
|        It seems prudent to minimize the scope of this extension and leave | ||||
|        it up to the developer (or developer community) to write debuggers | ||||
|        that layer on top of this extension. | ||||
|  | ||||
|        If the debugger were fully implemented within the GL it's not | ||||
|        clear how terminal and GUI-based interfaces would work, for | ||||
|        example. | ||||
|  | ||||
|     2. There aren't any other extensions that register callbacks with | ||||
|        the GL.  Isn't there another solution? | ||||
|  | ||||
|        If we want to be able to single-step through vertex/fragment | ||||
|        programs I don't see another way to do it. | ||||
|  | ||||
|     3. How do we prevent the user from doing something crazy in the | ||||
|        callback function, like trying to call glBegin (leading to | ||||
|        recursion)? | ||||
|  | ||||
|        The rule is that the callback function can only issue glGet*() | ||||
|        functions and no other GL commands.  It could be difficult to | ||||
|        enforce this, however.  Therefore, calling any non-get GL | ||||
|        command from within the callback will result in undefined | ||||
|        results.     | ||||
|  | ||||
|     4. Is this extension amenable to hardware implementation? | ||||
|  | ||||
|        Hopefully, but if not, the GL implementation will have to fall | ||||
|        back to a software path when debugging.  This may be acceptable | ||||
|        for debugging. | ||||
|  | ||||
|     5. What's the <data> parameter to ProgramCallbackMESA for? | ||||
|  | ||||
|        It's a common programming practice to associate a user-supplied | ||||
|        value with callback functions. | ||||
|  | ||||
|     6. Debuggers often allow one to modify intermediate program values, | ||||
|        then continue.  Does this extension support that? | ||||
|  | ||||
|        No. | ||||
|  | ||||
|  | ||||
| New Procedures and Functions (and datatypes) | ||||
|  | ||||
|     typedef void (*programcallbackMESA)(enum target, void *data) | ||||
|  | ||||
|     void ProgramCallbackMESA(enum target, programcallbackMESA callback, | ||||
|                              void *data) | ||||
|  | ||||
|     void GetProgramRegisterfvMESA(enum target, sizei len, | ||||
|                                   const ubyte *registerName, float *v) | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     Accepted by the <cap> parameter of Enable, Disable, IsEnabled, | ||||
|     GetBooleanv, GetDoublev, GetFloatv and GetIntegerv: | ||||
|  | ||||
|         FRAGMENT_PROGRAM_CALLBACK_MESA      0x8bb1 | ||||
|         VERTEX_PROGRAM_CALLBACK_MESA        0x8bb4 | ||||
|  | ||||
|     Accepted by the <pname> parameter GetBooleanv, GetDoublev, | ||||
|     GetFloatv and GetIntegerv: | ||||
|  | ||||
|         FRAGMENT_PROGRAM_POSITION_MESA      0x8bb0 | ||||
|         VERTEX_PROGRAM_POSITION_MESA        0x8bb4 | ||||
|  | ||||
|     Accepted by the <pname> parameter of GetPointerv: | ||||
|  | ||||
|         FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2 | ||||
|         FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3 | ||||
|         VERTEX_PROGRAM_CALLBACK_FUNC_MESA   0x8bb6 | ||||
|         VERTEX_PROGRAM_CALLBACK_DATA_MESA   0x8bb7 | ||||
|  | ||||
| Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment | ||||
| Operations and the Frame Buffer) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) | ||||
|  | ||||
|     In section 5.4 "Display Lists", page 202, add the following command | ||||
|     to the list of those that are not compiled into display lists: | ||||
|  | ||||
|         ProgramCallbackMESA. | ||||
|  | ||||
|  | ||||
|     Add a new section 5.7 "Callback Functions" | ||||
|  | ||||
|     The function | ||||
|  | ||||
|         void ProgramCallbackMESA(enum target, programcallbackMESA callback, | ||||
|                                  void *data) | ||||
|  | ||||
|     registers a user-defined callback function with the GL.  <target> | ||||
|     may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.  The enabled | ||||
|     callback functions registered with these targets will be called | ||||
|     prior to executing each instruction in the current fragment or | ||||
|     vertex program, respectively.  The callbacks are enabled and | ||||
|     disabled by calling Enable or Disable with <cap> | ||||
|     FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. | ||||
|  | ||||
|     The callback function's signature must match the typedef | ||||
|  | ||||
|         typedef void (*programcallbackMESA)(enum target, void *data) | ||||
|  | ||||
|     When the callback function is called, <target> will either be | ||||
|     FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which | ||||
|     program is currently executing and <data> will be the value | ||||
|     specified when ProgramCallbackMESA was called. | ||||
|  | ||||
|     From within the callback function, only the following GL commands | ||||
|     may be called: | ||||
|  | ||||
|         GetBooleanv | ||||
|         GetDoublev | ||||
|         GetFloatv | ||||
|         GetIntegerv | ||||
|         GetProgramLocalParameter | ||||
|         GetProgramEnvParameter | ||||
|         GetProgramRegisterfvMESA | ||||
|         GetProgramivARB | ||||
|         GetProgramStringARB | ||||
|         GetError | ||||
|  | ||||
|     Calling any other command from within the callback results in | ||||
|     undefined behaviour. | ||||
|  | ||||
|  | ||||
| Additions to Chapter 6 of the OpenGL 1.4 Specification (State and | ||||
| State Requests) | ||||
|  | ||||
|     Add a new section 6.1.3 "Program Value Queries": | ||||
|  | ||||
|     The command | ||||
|  | ||||
|         void GetProgramRegisterfvMESA(enum target, sizei len, | ||||
|                                       const ubyte *registerName, | ||||
|                                       float *v) | ||||
|          | ||||
|     Is used to query the value of program variables and registers | ||||
|     during program execution.  GetProgramRegisterfvMESA may only be | ||||
|     called from within a callback function registered with | ||||
|     ProgramCallbackMESA. | ||||
|  | ||||
|     <registerName> and <len> specify the name a variable, input | ||||
|     attribute, temporary, or result register in the program string. | ||||
|     The current value of the named variable is returned as four | ||||
|     values in <v>.  If <name> doesn't exist in the program string, | ||||
|     the error INVALID_OPERATION is generated. | ||||
|  | ||||
| Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     XXX TBD | ||||
|  | ||||
| Dependencies on NV_vertex_program and NV_fragment_program | ||||
|  | ||||
|     If NV_vertex_program and/or NV_fragment_program are supported, | ||||
|     vertex and/or fragment programs defined by those extensions may | ||||
|     be debugged as well.  Register queries will use the syntax used | ||||
|     by those extensions (i.e. "v[X]" to query vertex attributes, | ||||
|     "o[X]" for vertex outputs, etc.) | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     INVALID_OPERATION is generated if ProgramCallbackMESA is called | ||||
|     between Begin and End. | ||||
|  | ||||
|     INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not | ||||
|     a supported vertex or fragment program type. | ||||
|  | ||||
|     Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA, | ||||
|     GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between | ||||
|     Begin and End when a vertex or fragment program is currently executing. | ||||
|  | ||||
|     INVALID_ENUM is generated by ProgramCallbackMESA, | ||||
|     GetProgramRegisterfvMESA if <target> is not a program target supported | ||||
|     by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or | ||||
|     NV_fragment_program). | ||||
|  | ||||
|     INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName> | ||||
|     does not name a known program register or variable. | ||||
|  | ||||
|     INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a | ||||
|     register query is attempted for a program target that's not currently | ||||
|     being executed. | ||||
|  | ||||
|  | ||||
| New State | ||||
|  | ||||
|     XXX finish | ||||
|  | ||||
| (table 6.N, p. ###) | ||||
|                                                             Initial | ||||
|     Get Value                            Type Get Command   Value    Description  Sec.  Attribute | ||||
|     ---------                            ---- -----------   -----    -----------  ----  --------- | ||||
|     FRAGMENT_PROGRAM_CALLBACK_MESA        B   IsEnabled     FALSE    XXX          XXX   enable | ||||
|     VERTEX_PROGRAM_CALLBACK_MESA          B   IsEnabled     FALSE    XXX          XXX   enable | ||||
|     FRAGMENT_PROGRAM_POSITION_MESA        Z+  GetIntegerv   -1       XXX          XXX   - | ||||
|     VERTEX_PROGRAM_POSITION_MESA          Z+  GetIntegerv   -1       XXX          XXX   - | ||||
|     FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA   P   GetPointerv   NULL     XXX          XXX   - | ||||
|     VERTEX_PROGRAM_CALLBACK_FUNC_MESA     P   GetPointerv   NULL     XXX          XXX   - | ||||
|     FRAGMENT_PROGRAM_CALLBACK_DATA_MESA   P   GetPointerv   NULL     XXX          XXX   - | ||||
|     VERTEX_PROGRAM_CALLBACK_DATA_MESA     P   GetPointerv   NULL     XXX          XXX   - | ||||
|  | ||||
|     XXX more? | ||||
|  | ||||
| New Implementation Dependent State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     8 July 2003 | ||||
|         Initial draft. (Brian Paul) | ||||
|     11 July 2003 | ||||
|         Second draft. (Brian Paul) | ||||
|     20 July 2003 | ||||
|         Third draft.  Lots of fundamental changes. (Brian Paul) | ||||
|     23 July 2003 | ||||
|         Added chapter 5 and 6 spec language. (Brian Paul) | ||||
|  | ||||
| Example Usage | ||||
|  | ||||
|    The following is a very simple example of how this extension may | ||||
|    be used to print the values of R0, R1, R2 and R3 while executing | ||||
|    vertex programs. | ||||
|  | ||||
|  | ||||
|     /* This is called by the GL when the vertex program is executing. | ||||
|      * We can only make glGet* calls from within this function! | ||||
|      */ | ||||
|     void DebugCallback(GLenum target, GLvoid *data) | ||||
|     { | ||||
|        GLint pos; | ||||
|        GLuint i; | ||||
|  | ||||
|        /* Get PC and current instruction string */ | ||||
|        glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos); | ||||
|  | ||||
|        printf("Current position: %d\n", pos); | ||||
|  | ||||
|        printf("Current temporary registers:\n"); | ||||
|        for (i = 0; i < 4; i++) { | ||||
| 	  GLfloat v[4]; | ||||
| 	  char s[10]; | ||||
| 	  sprintf(s, "R%d", i); | ||||
| 	  glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v); | ||||
| 	  printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]); | ||||
|        } | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /* | ||||
|      * elsewhere... | ||||
|      */ | ||||
|  | ||||
|     /* Register our debugger callback function */ | ||||
|     glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL); | ||||
|     glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA); | ||||
|  | ||||
|     /* define/bind a vertex program */ | ||||
|  | ||||
|     glEnable(GL_VERTEX_PROGRAM); | ||||
|  | ||||
|     /* render something */ | ||||
|     glBegin(GL_POINTS); | ||||
|     glVertex2f(0, 0); | ||||
|     glEnd(); | ||||
|  | ||||
| @@ -1,85 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_release_buffers | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_release_buffers | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul (brian.paul 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping since Mesa 2.0 in October, 1996. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Last Modified Date:  8 June 2000 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     217 | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required. | ||||
|     GLX 1.0 or later is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     Mesa's implementation of GLX is entirely implemented on the client side. | ||||
|     Therefore, Mesa cannot immediately detect when an X window or pixmap is | ||||
|     destroyed in order to free any ancilliary data associated with the window | ||||
|     or pixmap. | ||||
|  | ||||
|     The glxMesaReleaseBuffers() function can be used to explicitly indicate | ||||
|     when the back color buffer, depth buffer, stencil buffer, and/or accum- | ||||
|     ulation buffer associated with a drawable can be freed. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     Open-source; freely implementable. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | ||||
|  | ||||
|     The function | ||||
|  | ||||
| 	Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); | ||||
|  | ||||
|     causes all software ancilliary buffers (back buffer, depth, stencil, | ||||
|     accum, etc) associated with the named drawable to be immediately | ||||
|     deallocated.  True is returned if <d> is a valid Mesa GLX drawable, | ||||
|     else False is returned.  After calling glXReleaseBuffersMESA, the | ||||
|     drawable should no longer be used for GL rendering.  Results of | ||||
|     attempting to do so are undefined. | ||||
|  | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None, since this is a client-side operation. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     8 June 2000 - initial specification | ||||
| @@ -8,7 +8,7 @@ Name Strings | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul (brian.paul 'at' tungstengraphics.com) | ||||
|     Brian Paul, brianp 'at' mesa3d.org | ||||
|  | ||||
| Status | ||||
|  | ||||
| @@ -16,11 +16,11 @@ Status | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_resize_buffers.spec,v 1.3 2004/03/25 01:42:42 brianp Exp $ | ||||
|     $Id: MESA_resize_buffers.spec,v 1.1 1999/07/20 00:30:41 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     196 | ||||
|     XXX none assigned | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|   | ||||
| @@ -1,85 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_set_3dfx_mode | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_set_3dfx_mode | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul (brian.paul 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping since Mesa 2.6 in February, 1998. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Last Modified Date:  8 June 2000 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     218 | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required. | ||||
|     GLX 1.0 or later is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     The Mesa Glide driver allows full-screen rendering or rendering into | ||||
|     an X window.  The glXSet3DfxModeMESA() function allows an application | ||||
|     to switch between full-screen and windowed rendering. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     Open-source; freely implementable. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     GLboolean glXSet3DfxModeMESA( GLint mode ); | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     GLX_3DFX_WINDOW_MODE_MESA	    0x1 | ||||
|     GLX_3DFX_FULLSCREEN_MODE_MESA   0x2 | ||||
|  | ||||
| Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | ||||
|  | ||||
|     The Mesa Glide device driver allows either rendering in full-screen | ||||
|     mode or rendering into an X window.  An application can switch between | ||||
|     full-screen and window rendering with the command: | ||||
|  | ||||
| 	GLboolean glXSet3DfxModeMESA( GLint mode ); | ||||
|  | ||||
|     <mode> may either be GLX_3DFX_WINDOW_MODE_MESA to indicate window | ||||
|     rendering or GLX_3DFX_FULLSCREEN_MODE_MESA to indicate full-screen mode. | ||||
|  | ||||
|     GL_TRUE is returned if <mode> is valid and the operation completed | ||||
|     normally.  GL_FALSE is returned if <mode> is invalid or if the Glide | ||||
|     driver is not being used. | ||||
|  | ||||
|     Note that only one drawable and context can be created at any given | ||||
|     time with the Mesa Glide driver. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None since this is a client-side extension. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     8 June 2000 - initial specification | ||||
| @@ -1,191 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_sprite_point | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_sprite_point | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Obsolete - see GL_ARB_point_sprite. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_sprite_point.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     ??? | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     GL_EXT_point_parameters effects the definition of this extension | ||||
|     GL_ARB_multitexture effects the definition of this extension | ||||
|  | ||||
| Overview | ||||
| 	 | ||||
|     This extension modifies the way in which points are rendered, | ||||
|     specifically when they're textured.  When SPRITE_POINT_MESA is enabled | ||||
|     a point is rendered as if it were a quadrilateral with unique texture | ||||
|     coordinates at each vertex.  This extension effectively turns points | ||||
|     into sprites which may be rendered more easily and quickly than using | ||||
|     conventional textured quadrilaterals. | ||||
|  | ||||
|     When using point size > 1 or attenuated points this extension is an | ||||
|     effective way to render many small sprite images for particle systems | ||||
|     or other effects. | ||||
|  | ||||
| Issues: | ||||
|  | ||||
|     1. How are the texture coordinates computed? | ||||
|  | ||||
|        The lower-left corner has texture coordinate (0,0,r,q). | ||||
|        The lower-right, (1,0,r,q).  The upper-right, (1,1,r,q). | ||||
|        The upper-left, (0,1,r,q). | ||||
|  | ||||
|     2. What about texgen and texture matrices? | ||||
|  | ||||
|        Texgen and the texture matrix have no effect on the point's s and t | ||||
|        texture coordinates.  The r and q coordinates may have been computed | ||||
|        by texgen or the texture matrix.  Note that with a 3D texture and/or | ||||
|        texgen that the r coordinate could be used to select a slice in the | ||||
|        3D texture. | ||||
|  | ||||
|     3. What about point smoothing? | ||||
|  | ||||
|        When point smoothing is enabled, a triangle fan could be rendered | ||||
|        to approximate a circular point.  This could be problematic to | ||||
|        define and implement so POINT_SMOOTH is ignored when drawing sprite | ||||
|        points. | ||||
|  | ||||
|        Smoothed points can be approximated by using an appropriate texture | ||||
|        images, alpha testing and blending. | ||||
|  | ||||
|        POLYGON_SMOOTH does effect the rendering of the quadrilateral, however. | ||||
|  | ||||
|     4. What about sprite rotation? | ||||
|  | ||||
|        There is none.  Sprite points are always rendered as window-aligned | ||||
|        squares.  One could define rotated texture images if desired.  A 3D | ||||
|        texture and appropriate texture r coordinates could be used to | ||||
|        effectively specify image rotation per point. | ||||
|  | ||||
|     5. What about POLYGON_MODE? | ||||
|  | ||||
|        POLYGON_MODE does not effect the rasterization of the quadrilateral. | ||||
|  | ||||
|     6. What about POLYGON_CULL? | ||||
|  | ||||
|        TBD.  Polygon culling is normally specified and implemented in the | ||||
|        transformation stage of OpenGL.  However, some rasterization hardware | ||||
|        implements it later during triangle setup. | ||||
|  | ||||
|        Polygon culling wouldn't be useful for sprite points since the | ||||
|        quadrilaterals are always defined in counter-clockwise order in | ||||
|        window space.  For that reason, polygon culling should probably be | ||||
|        ignored. | ||||
|  | ||||
|     7. Should sprite points be alpha-attenuated if their size is below the | ||||
|        point parameter's threshold size? | ||||
|  | ||||
|     8. Should there be an advertisized maximum sprite point size? | ||||
|  | ||||
|        No.  Since we're rendering the point as a quadrilateral there's no | ||||
|        need to limit the size. | ||||
|  | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Tokens | ||||
|      | ||||
|     Accepted by the <pname> parameter of Enable, Disable, IsEnabled, | ||||
|     GetIntegerv, GetBooleanv, GetFloatv and GetDoublev: | ||||
|  | ||||
| 	SPRITE_POINT_MESA		0x???? | ||||
|         MAX_SPRITE_POINT_SIZE_MESA      0x????   (need this?) | ||||
|  | ||||
| Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the 1.1 Specification (Rasterization) | ||||
|  | ||||
|     Section ???. | ||||
|  | ||||
|     When SPRITE_POINT_MESA is enabled points are rasterized as screen- | ||||
|     aligned quadrilaterals.  If the four vertices of the quadrilateral | ||||
|     are labeled A, B, C, and D, starting at the lower-left corner and moving | ||||
|     counter-clockwise around the quadrilateral, then the vertex and | ||||
|     texture coordinates are computed as follows: | ||||
|  | ||||
|       vertex   window coordinate       texture coordinate | ||||
|         A      (x-r, y-r, z, w)          (0, 0, r, q) | ||||
|         B      (x+r, y-r, z, w)          (1, 0, r, q) | ||||
|         C      (x+r, y+r, z, w)          (1, 1, r, q) | ||||
|         D      (x-r, y+r, z, w)          (0, 1, r, q) | ||||
|  | ||||
|     where x, y, z, w are the point's window coordinates, r and q are the | ||||
|     point's 3rd and 4th texture coordinates  and r is half the point's | ||||
|     size.  The other vertex attributes (such as the color and fog coordinate) | ||||
|     are simply duplicated from the original point vertex. | ||||
|  | ||||
|     Point size may either be specified with PointSize or computed | ||||
|     according to the EXT_point_parameters extension. | ||||
|  | ||||
|     The new texture coordinates are not effected by texgen or the texture | ||||
|     matrix.  Note, however, that the texture r and q coordinates are passed | ||||
|     unchanged and may have been computed with texgen and/or the texture | ||||
|     matrix. | ||||
|  | ||||
|     If multiple texture units are present the same texture coordinate is | ||||
|     used for all texture units. | ||||
|  | ||||
|     The point is then rendered as if it were a quadrilateral using the | ||||
|     normal point sampling rules.  POLYGON_MODE does not effect the | ||||
|     rasterization of the quadrilateral but POLYGON_SMOOTH does. | ||||
|  | ||||
|     POINT_SMOOTH has no effect when SPRITE_POINT_MESA is enabled. | ||||
|  | ||||
| Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations | ||||
| and the Frame Buffer) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 5 of the 1.1 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the 1.1 Specification (State and State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the GLX Specification | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None | ||||
|  | ||||
| New State | ||||
|  | ||||
|     Add boolean variable SPRITE_POINT_MESA to the point attribute group. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     Version 1.0 - 4 Dec 2000 | ||||
|         Original draft. | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -1,132 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_swap_control | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_swap_control | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Ian Romanick, IBM, idr at us.ibm.com | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Deployed in DRI drivers post-XFree86 4.3. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Date: 5/1/2003   Revision: 1.1 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     ??? | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     None | ||||
|  | ||||
|     Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control | ||||
|     version 1.5. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension allows an application to specify a minimum periodicity | ||||
|     of color buffer swaps, measured in video frame periods. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     * Should implementations that export GLX_MESA_swap_control also export | ||||
|       GL_EXT_swap_control for compatibility with WGL_EXT_swap_control? | ||||
|  | ||||
|     UNRESOLVED. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     int glXSwapIntervalMESA(int interval) | ||||
|     int glXGetSwapIntervalMESA(void) | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the 1.4 GL Specification (Rasterization) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations | ||||
| and the Framebuffer) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 5 of the 1.4 GL Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the GLX 1.3 Specification | ||||
|  | ||||
|     [Add the following to Section 3.3.10 of the GLX Specification (Double | ||||
|      Buffering)] | ||||
|  | ||||
|     glXSwapIntervalMESA specifies the minimum number of video frame periods | ||||
|     per buffer swap.  (e.g. a value of two means that the color buffers | ||||
|     will be swapped at most every other video frame.)  A return value | ||||
|     of zero indicates success; otherwise an error occurred.  The interval | ||||
|     takes effect when glXSwapBuffers is first called subsequent to the | ||||
|     glXSwapIntervalMESA call. | ||||
|  | ||||
|     A video frame period is the time required by the monitor to display a  | ||||
|     full frame of video data.  In the case of an interlaced monitor, | ||||
|     this is typically the time required to display both the even and odd  | ||||
|     fields of a frame of video data. | ||||
|  | ||||
|     If <interval> is set to a value of 0, buffer swaps are not synchron- | ||||
|     ized to a video frame.  The <interval> value is silently clamped to | ||||
|     the maximum implementation-dependent value supported before being | ||||
|     stored. | ||||
|  | ||||
|     The swap interval is not part of the render context state.  It cannot | ||||
|     be pushed or popped.  The current swap interval for the window | ||||
|     associated with the current context can be obtained by calling | ||||
|     glXGetSwapIntervalMESA.  The default swap interval is 0. | ||||
|  | ||||
|     On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets | ||||
|     the swap interval to 1. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     glXSwapIntervalMESA returns GLX_BAD_VALUE if parameter <interval> is | ||||
|     less than zero. | ||||
|  | ||||
|     glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current | ||||
|     GLXContext. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None.  This extension only extends to direct rendering contexts. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     Get Value		Get Command	Type	    Initial Value | ||||
|     ---------		-----------	----	    ------------- | ||||
|     [swap interval]	GetSwapInterval	Z+	    0 | ||||
|  | ||||
| New Implementation Dependent State | ||||
|  | ||||
|     None | ||||
|  | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     1.1,  5/1/03   Added the issues section and contact information. | ||||
|     	  	   Changed the default swap interval to 0. | ||||
|     1.0,  3/17/03  Initial version based on GLX_SGI_swap_control and | ||||
|                    WGL_EXT_swap_control. | ||||
| @@ -1,201 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_swap_frame_usage | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_swap_frame_usage | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Ian Romanick, IBM, idr at us.ibm.com | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Deployed in DRI drivers post-XFree86 4.3. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Date: 5/1/2003   Revision: 1.1 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     ??? | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     GLX_SGI_swap_control affects the definition of this extension. | ||||
|     GLX_MESA_swap_control affects the definition of this extension. | ||||
|     GLX_OML_sync_control affects the definition of this extension. | ||||
|  | ||||
|     Based on WGL_I3D_swap_frame_usage version 1.3. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension allows an application to deterine what portion of the | ||||
|     swap period has elapsed since the last swap operation completed.  The | ||||
|     "usage" value is a floating point value on the range [0,max] which is | ||||
|     calculated as follows: | ||||
|  | ||||
|                               td | ||||
|                    percent = ---- | ||||
|                               tf | ||||
|  | ||||
|     where td is the time measured from the last completed buffer swap (or | ||||
|     call to enable the statistic) to when the next buffer swap completes, tf | ||||
|     is the entire time for a frame which may be multiple screen refreshes | ||||
|     depending on the swap interval as set by the GLX_SGI_swap_control or | ||||
|     GLX_OML_sync_control extensions.  | ||||
|  | ||||
|     The value, percent, indicates the amount of time spent between the | ||||
|     completion of the two swaps.  If the value is in the range [0,1], the | ||||
|     buffer swap occurred within the time period required to maintain a | ||||
|     constant frame rate.  If the value is in the range (1,max], a constant | ||||
|     frame rate was not achieved.  The value indicates the number of frames | ||||
|     required to draw. | ||||
|  | ||||
|     This definition of "percent" differs slightly from | ||||
|     WGL_I3D_swap_frame_usage.  In WGL_I3D_swap_frame_usage, the measurement | ||||
|     is taken from the completion of one swap to the issuance of the next. | ||||
|     This representation may not be as useful as measuring between | ||||
|     completions, as a significant amount of time may pass between the | ||||
|     issuance of a swap and the swap actually occuring. | ||||
|  | ||||
|     There is also a mechanism to determine whether a frame swap was | ||||
|     missed. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     int glXGetFrameUsageMESA(Display *dpy, | ||||
|                              GLXDrawable drawable, | ||||
|     	                     float *usage) | ||||
|  | ||||
|     int glXBeginFrameTrackingMESA(Display *dpy, | ||||
|                                   GLXDrawable drawable) | ||||
|  | ||||
|     int glXEndFrameTrackingMESA(Display *dpy, | ||||
|                                 GLXDrawable drawable) | ||||
|  | ||||
|     int glXQueryFrameTrackingMESA(Display *dpy, | ||||
|                                   GLXDrawable drawable, | ||||
| 				  int64_t *swapCount, | ||||
|                                   int64_t *missedFrames, | ||||
|                                   float *lastMissedUsage) | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the 1.4 GL Specification (Rasterization) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations | ||||
| and the Framebuffer) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 5 of the 1.4 GL Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the GLX 1.3 Specification | ||||
|  | ||||
|     The frame usage is measured as the percentage of the swap period elapsed | ||||
|     between two buffer-swap operations being commited.  In unextened GLX the | ||||
|     swap period is the vertical refresh time.  If SGI_swap_control or | ||||
|     MESA_swap_control are supported, the swap period is the vertical refresh | ||||
|     time multiplied by the swap interval (or one if the swap interval is set | ||||
|     to zero). | ||||
|      | ||||
|     If OML_sync_control is supported, the swap period is the vertical | ||||
|     refresh time multiplied by the divisor parameter to | ||||
|     glXSwapBuffersMscOML.  The frame usage in this case is less than 1.0 if | ||||
|     the swap is commited before target_msc, and is greater than or equal to | ||||
|     1.0 otherwise.  The actual usage value is based on the divisor and is | ||||
|     never less than 0.0. | ||||
|  | ||||
|        int glXBeginFrameTrackingMESA(Display *dpy, | ||||
|                                      GLXDrawable drawable, | ||||
| 				     float *usage) | ||||
|  | ||||
|     glXGetFrameUsageMESA returns a floating-point value in <usage> | ||||
|     that represents the current swap usage, as defined above. | ||||
|  | ||||
|     Missed frame swaps can be tracked by calling the following function: | ||||
|  | ||||
|        int glXBeginFrameTrackingMESA(Display *dpy, | ||||
|                                      GLXDrawable drawable) | ||||
|  | ||||
|     glXBeginFrameTrackingMESA resets a "missed frame" count and | ||||
|     synchronizes with the next frame vertical sync before it returns. | ||||
|     If a swap is missed based in the rate control specified by the | ||||
|     <interval> set by glXSwapIntervalSGI or the default swap of once | ||||
|     per frame, the missed frame count is incremented. | ||||
|  | ||||
|     The current missed frame count and total number of swaps since | ||||
|     the last call to glXBeginFrameTrackingMESA can be obtained by | ||||
|     callling the following function: | ||||
|  | ||||
|        int glXQueryFrameTrackingMESA(Display *dpy, | ||||
|                                      GLXDrawable drawable, | ||||
| 				     int64_t *swapCount, | ||||
|                                      int64_t *missedFrames, | ||||
|                                      float *lastMissedUsage) | ||||
|  | ||||
|     The location pointed to by <swapCount> will be updated with the | ||||
|     number of swaps that have been commited.  This value may not match the | ||||
|     number of swaps that have been requested since swaps may be | ||||
|     queued by the implementation.  This function can be called at any | ||||
|     time and does not synchronize to vertical blank. | ||||
|  | ||||
|     The location pointed to by <missedFrames> will contain the number | ||||
|     swaps that missed the specified frame.  The frame usage for the | ||||
|     last missed frame is returned in the location pointed to by | ||||
|     <lastMissedUsage>. | ||||
|  | ||||
|     Frame tracking is disabled by calling the function | ||||
|  | ||||
|        int glXEndFrameTrackingMESA(Display *dpy, | ||||
|                                    GLXDrawable drawable) | ||||
|  | ||||
|     This function will not return until all swaps have occurred.  The | ||||
|     application can call glXQueryFrameTrackingMESA for a final swap and | ||||
|     missed frame count. | ||||
|  | ||||
|     If these functions are succesful, zero is returned.  If the context | ||||
|     associated with dpy and drawable is not a direct context, | ||||
|     GLX_BAD_CONTEXT is returned. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     If the function succeeds, zero is returned.  If the function | ||||
|     fails, one of the following error codes is returned: | ||||
|  | ||||
|        GLX_BAD_CONTEXT         The current rendering context is not a direct | ||||
|        			       context. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None.  This extension only extends to direct rendering contexts. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Implementation Dependent State | ||||
|  | ||||
|     None | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     1.1,  5/1/03   Added contact information. | ||||
|     1.0,  3/17/03  Initial version based on WGL_I3D_swap_frame_usage. | ||||
| @@ -1,360 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|      MESA_trace | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|      GL_MESA_trace | ||||
|  | ||||
| Contact | ||||
|      | ||||
|     Bernd Kreimeier, Loki Entertainment, bk 'at' lokigames.com | ||||
|     Brian Paul, VA Linux Systems, Inc., brianp 'at' valinux.com | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Obsolete. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_trace.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     none yet | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.2 is required. | ||||
|     The extension is written against the OpenGL 1.2 Specification | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     Provides the application with means to enable and disable logging | ||||
|     of GL calls including parameters as readable text. The verbosity | ||||
|     of the generated log can be controlled. The resulting logs are | ||||
|     valid (but possibly incomplete) C code and can be compiled and  | ||||
|     linked for standalone test programs. The set of calls and the  | ||||
|     amount of static data that is logged can be controlled at runtime.  | ||||
|     The application can add comments and enable or disable tracing of GL  | ||||
|     operations at any time. The data flow from the application to GL | ||||
|     and back is unaffected except for timing. | ||||
|  | ||||
|     Application-side implementation of these features raises namespace | ||||
|     and linkage issues. In the driver dispatch table a simple | ||||
|     "chain of responsibility" pattern (aka "composable piepline") | ||||
|     can be added. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     The extension spec is in the public domain.  The current implementation | ||||
|     in Mesa is covered by Mesa's XFree86-style copyright by the authors above. | ||||
|     This extension is partially inspired by the Quake2 QGL wrapper. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|   | ||||
|     (1) Is this Extension obsolete because it can | ||||
|     be implemented as a wrapper DLL? | ||||
|  | ||||
|       RESOLVED: No. While certain operating systems (Win32) provide linkers  | ||||
|       that facilitate this kind of solution, other operating systems | ||||
|       (Linux) do not support hierarchical linking, so a wrapper solution | ||||
|       would result in symbol collisions. | ||||
|       Further, IHV's might have builtin support for tracing GL execution  | ||||
|       that enjoys privileged access, or that they do not wish to separate | ||||
|       the tracing code from their driver code base. | ||||
|  | ||||
|     (2) Should the Trace API explicitely support the notion of "frames?  | ||||
|     This would require hooking into glXSwapBuffers calls as well. | ||||
|  | ||||
|       RESOLVED: No. The application can use NewTraceMESA/EndTraceMESA | ||||
|       and TraceComment along with external parsing tools to split the  | ||||
|       trace into frames, in whatever way considered adequate. | ||||
|  | ||||
|     (2a) Should GLX calls be traced? | ||||
|  | ||||
|       PBuffers and other render-to-texture solutions demonstrate that | ||||
|       context level commands beyond SwapBuffers might have to be | ||||
|       traced. The GL DLL exports the entry points, so this would not | ||||
|       be out of the question.  | ||||
|  | ||||
|     (3) Should the specification mandate the actual output format? | ||||
|  | ||||
|       RESOLVED: No. It is sufficient to guarantee that all data and commands  | ||||
|       will be traced as requested by Enable/DisableTraceMESA, in the order | ||||
|       encountered. Whether the resulting trace is available as a readable  | ||||
|       text file, binary metafile, compilable source code, much less which  | ||||
|       indentation and formatting has been used, is up to the implementation.  | ||||
|       For the same reason this specification does not enforce or prohibit | ||||
|       additional information added to the trace (statistics, profiling/timing,  | ||||
|       warnings on possible error conditions). | ||||
|  | ||||
|     (4) Should the comment strings associated with names and pointer (ranges)  | ||||
|     be considered persistent state? | ||||
|  | ||||
|       RESOLVED: No. The implementation is not forced to use this information  | ||||
|       on subsequent occurences of name/pointer, and is free to consider it  | ||||
|       transient state. | ||||
|   | ||||
|     (5) Should comment commands be prohibited between Begin/End? | ||||
|  | ||||
|       RESOLVED: Yes, with the exception of TraceCommentMESA. TraceCommentMESA  | ||||
|       is transient, the other commands might cause storage of persistent | ||||
|       data in the context. There is no need to have the ability mark names  | ||||
|       or pointers between Begin and End. | ||||
|  | ||||
|  | ||||
| New Procedures and Functions | ||||
|   | ||||
|     void NewTraceMESA( bitfield mask, const ubyte * traceName ) | ||||
|  | ||||
|     void EndTraceMESA( void ) | ||||
|  | ||||
|     void EnableTraceMESA( bitfield mask ) | ||||
|  | ||||
|     void DisableTraceMESA( bitfield mask ) | ||||
|  | ||||
|     void TraceAssertAttribMESA( bitfield attribMask ) | ||||
|  | ||||
|     void TraceCommentMESA( const ubyte* comment ) | ||||
|  | ||||
|     void TraceTextureMESA( uint name, const ubyte* comment ) | ||||
|  | ||||
|     void TraceListMESA( uint name, const ubyte* comment ) | ||||
|  | ||||
|     void TracePointerMESA( void* pointer, const ubyte* comment ) | ||||
|  | ||||
|     void TracePointerRangeMESA( const void* first,  | ||||
|                                 const void* last,  | ||||
|                                 const ubyte* comment )  | ||||
|  | ||||
| New Tokens | ||||
|   | ||||
|     Accepted by the <mask> parameter of EnableTrace and DisableTrace: | ||||
|  | ||||
|        TRACE_ALL_BITS_MESA           0xFFFF | ||||
|        TRACE_OPERATIONS_BIT_MESA     0x0001 | ||||
|        TRACE_PRIMITIVES_BIT_MESA     0x0002 | ||||
|        TRACE_ARRAYS_BIT_MESA         0x0004 | ||||
|        TRACE_TEXTURES_BIT_MESA       0x0008 | ||||
|        TRACE_PIXELS_BIT_MESA         0x0010 | ||||
|        TRACE_ERRORS_BIT_MESA         0x0020 | ||||
|  | ||||
|     Accepted by the <pname> parameter of GetIntegerv, GetBooleanv, | ||||
|     GetFloatv, and GetDoublev: | ||||
|  | ||||
|        TRACE_MASK_MESA               0x8755 | ||||
|  | ||||
|     Accepted by the <pname> parameter to GetString: | ||||
|  | ||||
|        TRACE_NAME_MESA               0x8756 | ||||
|  | ||||
|  | ||||
| Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 3 of the OpenGL 1.2.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 4 of the OpenGL 1.2.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) | ||||
|  | ||||
|     Add a new section: | ||||
|  | ||||
|     5.7 Tracing | ||||
|  | ||||
|     The tracing facility is used to record the execution of a GL program | ||||
|     to a human-readable log.  The log appears as a sequence of GL commands | ||||
|     using C syntax.  The primary intention of tracing is to aid in program | ||||
|     debugging. | ||||
|  | ||||
|     A trace is started with the command | ||||
|  | ||||
|       void NewTraceMESA( bitfield mask, const GLubyte * traceName ) | ||||
|  | ||||
|     <mask> may be any value accepted by PushAttrib and specifies a set of | ||||
|     attribute groups.  The state values included in those attribute groups | ||||
|     is written to the trace as a sequence of GL commands. | ||||
|  | ||||
|     <traceName> specifies a name or label for the trace.  It is expected | ||||
|     that <traceName> will be interpreted as a filename in most implementations. | ||||
|  | ||||
|     A trace is ended by calling the command | ||||
|  | ||||
|       void EndTraceMESA( void ) | ||||
|  | ||||
|     It is illegal to call NewTraceMESA or EndTraceMESA between Begin and End.  | ||||
|  | ||||
|     The commands | ||||
|  | ||||
|       void EnableTraceMESA( bitfield mask ) | ||||
|       void DisableTraceMESA( bitfield mask ) | ||||
|  | ||||
|     enable or disable tracing of different classes of GL commands. | ||||
|     <mask> may be the union of any of TRACE_OPERATIONS_BIT_MESA, | ||||
|     TRACE_PRIMITIVES_BIT_MESA, TRACE_ARRAYS_BIT_MESA, TRACE_TEXTURES_BIT_MESA, | ||||
|     and TRACE_PIXELS_BIT_MESA.  The special token TRACE_ALL_BITS_MESA | ||||
|     indicates all classes of commands are to be logged. | ||||
|  | ||||
|     TRACE_OPERATIONS_BIT_MESA controls logging of all commands outside of | ||||
|     Begin/End, including Begin/End. | ||||
|    | ||||
|     TRACE_PRIMITIVES_BIT_MESA controls logging of all commands inside of | ||||
|     Begin/End, including Begin/End. | ||||
|   | ||||
|     TRACE_ARRAYS_BIT_MESA controls logging of VertexPointer, NormalPointer, | ||||
|     ColorPointer, IndexPointer, TexCoordPointer and EdgeFlagPointer commands. | ||||
|  | ||||
|     TRACE_TEXTURES_BIT_MESA controls logging of texture data dereferenced by | ||||
|     TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, and | ||||
|     TexSubImage3D commands. | ||||
|  | ||||
|     TRACE_PIXELS_BIT_MESA controls logging of image data dereferenced by | ||||
|     Bitmap and DrawPixels commands. | ||||
|  | ||||
|     TRACE_ERRORS_BIT_MESA controls logging of all errors. If this bit is  | ||||
|     set, GetError will be executed whereever applicable, and the result will  | ||||
|     be added to the trace as a comment. The error returns are cached and  | ||||
|     returned to the application on its GetError calls. If the user does not  | ||||
|     wish the additional GetError calls to be performed, this bit should not | ||||
|     be set. | ||||
|      | ||||
|     The command | ||||
|  | ||||
|       void TraceCommentMESA( const ubyte* comment ) | ||||
|  | ||||
|     immediately adds the <comment> string to the trace output, surrounded | ||||
|     by C-style comment delimiters. | ||||
|  | ||||
|     The commands | ||||
|  | ||||
|       void TraceTextureMESA( uint name, const ubyte* comment ) | ||||
|       void TraceListMESA( uint name, const ubyte* comment ) | ||||
|  | ||||
|     associates <comment> with the texture object or display list specified | ||||
|     by <name>.  Logged commands which reference the named texture object or | ||||
|     display list will be annotated with <comment>.  If IsTexture(name) or | ||||
|     IsList(name) fail (respectively) the command is quietly ignored. | ||||
|  | ||||
|     The commands | ||||
|  | ||||
|       void TracePointerMESA( void* pointer, const ubyte* comment ) | ||||
|  | ||||
|       void TracePointerRangeMESA( const void* first,  | ||||
|                                   const void* last, | ||||
|                                   const ubyte* comment )  | ||||
|  | ||||
|     associate <comment> with the address specified by <pointer> or with | ||||
|     a range of addresses specified by <first> through <last>. | ||||
|     Any logged commands which reference <pointer> or an address between | ||||
|     <first> and <last> will be annotated with <comment>. | ||||
|  | ||||
|     The command | ||||
|  | ||||
|       void TraceAssertAttribMESA( bitfield attribMask ) | ||||
|  | ||||
|     will add GL state queries and assertion statements to the log to | ||||
|     confirm that the current state at the time TraceAssertAttrib is | ||||
|     executed matches the current state when the trace log is executed | ||||
|     in the future. | ||||
|  | ||||
|     <attribMask> is any value accepted by PushAttrib and specifies | ||||
|     the groups of state variables which are to be asserted. | ||||
|  | ||||
|     The commands NewTraceMESA, EndTraceMESA, EnableTraceMESA, DisableTraceMESA, | ||||
|     TraceAssertAttribMESA, TraceCommentMESA, TraceTextureMESA, TraceListMESA,  | ||||
|     TracePointerMESA and TracePointerRangeMESA are not compiled into display lists. | ||||
|  | ||||
|  | ||||
|     Examples: | ||||
|  | ||||
|     The command NewTraceMESA(DEPTH_BUFFER_BIT, "log") will query the state | ||||
|     variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE | ||||
|     to get the values <test>, <func>, <mask>, and <clear> respectively. | ||||
|     Statements equivalent to the following will then be logged: | ||||
|  | ||||
|        glEnable(GL_DEPTH_TEST);   (if <test> is true) | ||||
|        glDisable(GL_DEPTH_TEST);  (if <test> is false) | ||||
|        glDepthFunc(<func>);  | ||||
|        glDepthMask(<mask>); | ||||
|        glClearDepth(<clear>); | ||||
|     | ||||
|  | ||||
|     The command TraceAssertAttribMESA(DEPTH_BUFFER_BIT) will query the state | ||||
|     variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE | ||||
|     to get the values <test>, <func>, <mask>, and <clear> respectively. | ||||
|     The resulting trace might then look will like this: | ||||
|  | ||||
|     { | ||||
|       GLboolean b; | ||||
|       GLint i; | ||||
|       GLfloat f; | ||||
|       b = glIsEnabled(GL_DEPTH_TEST); | ||||
|       assert(b == <test>); | ||||
|       glGetIntegerv(GL_DEPTH_FUNC, &i); | ||||
|       assert(i == <func>); | ||||
|       glGetIntegerv(GL_DEPTH_MASK, &i); | ||||
|       assert(i == <mask>); | ||||
|       glGetFloatv(GL_DEPTH_CLEAR_VALUE, &f); | ||||
|       assert(f == <clear>); | ||||
|     } | ||||
|  | ||||
|  | ||||
| Additions to Chapter 6 of the OpenGL 1.2.1 Specification  | ||||
|     (State and State Requests) | ||||
|  | ||||
|     Querying TRACE_MASK_MESA with GetIntegerv, GetFloatv, GetBooleanv or | ||||
|     GetDoublev returns the current command class trace mask. | ||||
|  | ||||
|     Querying TRACE_NAME_MESA with GetString returns the current trace name. | ||||
|  | ||||
|  | ||||
| Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance) | ||||
|  | ||||
|     The MESA_trace extension can be used in a way that does not affect data  | ||||
|     flow from application to OpenGL, as well as data flow from OpenGL to  | ||||
|     application, except for timing, possible print I/O. TRACE_ERRORS_BIT_MESA | ||||
|     will add additional GetError queries. Setting a trace mask with NewTraceMESA | ||||
|     as well as use of TraceAssertAttribMESA might cause additional state queries. | ||||
|     With the possible exception of performance, OpenGL rendering should not be | ||||
|     affected at all by a properly chosen logging operation. | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None. The logging operation is carried out client-side, by exporting | ||||
|     entry points to the wrapper functions that execute the logging operation. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     INVALID_OPERATION is generated if any trace command except TraceCommentMESA | ||||
|     is called between Begin and End. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     The current trace name and current command class mask are stored | ||||
|     per-context. | ||||
|  | ||||
| New Implementation Dependent State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|   * Revision 0.1 - Initial draft from template (bk000415) | ||||
|   * Revision 0.2 - Draft (bk000906) | ||||
|   * Revision 0.3 - Draft (bk000913) | ||||
|   * Revision 0.4 - Reworked text, fixed typos (bp000914) | ||||
|   * Revision 0.5 - Assigned final GLenum values (bp001103) | ||||
|   * Revision 0.6 - TRACE_ERRORS_BIT_MESA (bk000916) | ||||
|   * Revision 0.7 - Added MESA postfix (bk010126) | ||||
|  | ||||
| @@ -8,7 +8,7 @@ Name Strings | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, brian.paul 'at' tungstengraphics.com | ||||
|     Brian Paul, brianp 'at' mesa3d.org | ||||
|  | ||||
| Status | ||||
|  | ||||
| @@ -16,11 +16,11 @@ Status | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_window_pos.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $ | ||||
|     $Id: MESA_window_pos.spec,v 1.1 1999/07/20 00:30:41 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     197 | ||||
|     XXX non assigned | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
| @@ -33,7 +33,7 @@ Overview | ||||
|     coordinate with the RasterPos command, the modelview matrix, projection | ||||
|     matrix and viewport must be set very carefully.  Furthermore, if the | ||||
|     desired window coordinate is outside of the window's bounds one must | ||||
|     rely on a subtle side-effect of the Bitmap command in order to circumvent | ||||
|     rely a subtle side-effect of the Bitmap command in order to circumvent | ||||
|     frustum clipping. | ||||
|  | ||||
|     This extension provides a set of functions to directly set the | ||||
| @@ -51,26 +51,6 @@ New Procedures and Functions | ||||
|     void WindowPos2fMESA(float x, float y) | ||||
|     void WindowPos2iMESA(int x, int y) | ||||
|     void WindowPos2sMESA(short x, short y) | ||||
|     void WindowPos2ivMESA(const int *p) | ||||
|     void WindowPos2svMESA(const short *p) | ||||
|     void WindowPos2fvMESA(const float *p) | ||||
|     void WindowPos2dvMESA(const double *p) | ||||
|     void WindowPos3iMESA(int x, int y, int z) | ||||
|     void WindowPos3sMESA(short x, short y, short z) | ||||
|     void WindowPos3fMESA(float x, float y, float z) | ||||
|     void WindowPos3dMESA(double x, double y, double z) | ||||
|     void WindowPos3ivMESA(const int *p) | ||||
|     void WindowPos3svMESA(const short *p) | ||||
|     void WindowPos3fvMESA(const float *p) | ||||
|     void WindowPos3dvMESA(const double *p) | ||||
|     void WindowPos4iMESA(int x, int y, int z, int w) | ||||
|     void WindowPos4sMESA(short x, short y, short z, short w) | ||||
|     void WindowPos4fMESA(float x, float y, float z, float w) | ||||
|     void WindowPos4dMESA(double x, double y, double z, double ) | ||||
|     void WindowPos4ivMESA(const int *p) | ||||
|     void WindowPos4svMESA(const short *p) | ||||
|     void WindowPos4fvMESA(const float *p) | ||||
|     void WindowPos4dvMESA(const double *p) | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
| @@ -84,7 +64,7 @@ Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) | ||||
|       WindowPosMESA commands: | ||||
|  | ||||
|          void WindowPos{234}{sidf}MESA( T coords ); | ||||
|          void WindowPos{234}{sidf}vMESA( T coords ); | ||||
|          void Window Pos{234}{sidf}vMESA( T coords ); | ||||
|  | ||||
|       WindosPos4MESA takes four values indicating x, y, z, and w. | ||||
|       WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only | ||||
| @@ -98,6 +78,14 @@ Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) | ||||
|       color, color index and texture coordinate update the current raster | ||||
|       position's associated data. | ||||
|  | ||||
|       The current raster distance ??? XXX ??? | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None | ||||
| @@ -112,6 +100,7 @@ Errors | ||||
|     INVALID_OPERATION is generated if WindowPosMESA is called betweeen | ||||
|     Begin and End. | ||||
|  | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None. | ||||
| @@ -123,5 +112,3 @@ New Implementation Dependent State | ||||
| Revision History | ||||
|  | ||||
|   * Revision 1.0 - Initial specification | ||||
|   * Revision 1.1 - Minor clean-up  (7 Jan 2000, Brian Paul) | ||||
|  | ||||
|   | ||||
| @@ -1,204 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_ycbcr_texture | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_ycbcr_texture | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) | ||||
|     Keith Whitwell, Tungsten Graphics, Inc.  (keith 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping (Mesa 4.0.4 and later) | ||||
|  | ||||
| Version | ||||
|  | ||||
|     1.0 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required | ||||
|     This extensions is written against the OpenGL 1.4 Specification. | ||||
|     NV_texture_rectangle effects the definition of this extension. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension supports texture images stored in the YCbCr format. | ||||
|     There is no support for converting YCbCr images to RGB or vice versa | ||||
|     during pixel transfer.  The texture's YCbCr colors are converted to | ||||
|     RGB during texture sampling, after-which, all the usual per-fragment | ||||
|     operations take place.  Only 2D texture images are supported (not | ||||
|     glDrawPixels, glReadPixels, etc). | ||||
|  | ||||
|     A YCbCr pixel (texel) is a 16-bit unsigned short with two components. | ||||
|     The first component is luminance (Y).  For pixels in even-numbered | ||||
|     image columns, the second component is Cb.  For pixels in odd-numbered | ||||
|     image columns, the second component is Cr.  If one were to convert the | ||||
|     data to RGB one would need to examine two pixels from columns N and N+1 | ||||
|     (where N is even) to deduce the RGB color. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     None | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     Accepted by the <internalFormat> and <format> parameters of | ||||
|     TexImage2D and TexSubImage2D: | ||||
|  | ||||
|         YCBCR_MESA                   0x8757 | ||||
|  | ||||
|     Accepted by the <type> parameter of TexImage2D and TexSubImage2D: | ||||
|  | ||||
|         UNSIGNED_SHORT_8_8_MESA      0x85BA /* same as Apple's */ | ||||
|         UNSIGNED_SHORT_8_8_REV_MESA  0x85BB /* same as Apple's */ | ||||
|  | ||||
| Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) | ||||
|  | ||||
|     In section 3.6.4, Rasterization of Pixel Rectangles, on page 101, | ||||
|     add the following to Table 3.8 (Packed pixel formats): | ||||
|      | ||||
|     type Parameter                GL Data   Number of        Matching | ||||
|      Token Name                    Type     Components     Pixel Formats | ||||
|     --------------                -------   ----------     ------------- | ||||
|     UNSIGNED_SHORT_8_8_MESA       ushort         2         YCBCR_MESA | ||||
|     UNSIGNED_SHORT_8_8_REV_MESA   ushort         2         YCBCR_MESA | ||||
|  | ||||
|  | ||||
|     In section 3.6.4, Rasterization of Pixel Rectangles, on page 102, | ||||
|     add the following to Table 3.10 (UNSIGNED_SHORT formats): | ||||
|  | ||||
|     UNSIGNED_SHORT_8_8_MESA: | ||||
|  | ||||
|       15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
|     +-------------------------------+-------------------------------+ | ||||
|     |              1st              |              2nd              | | ||||
|     +-------------------------------+-------------------------------+ | ||||
|                          | ||||
|     UNSIGNED_SHORT_8_8_REV_MESA: | ||||
|  | ||||
|       15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
|     +-------------------------------+-------------------------------+ | ||||
|     |              2nd              |              1st              | | ||||
|     +-------------------------------+-------------------------------+ | ||||
|  | ||||
|  | ||||
|     In section 3.6.4, Rasterization of Pixel Rectangles, on page 104, | ||||
|     add the following to Table 3.12 (Packed pixel fiedl assignments): | ||||
|  | ||||
|                        First       Second     Third      Fourth | ||||
|     Format             Element     Element    Element    Element | ||||
|     ------             -------     -------    -------    ------- | ||||
|     YCBCR_MESA         luminance   chroma | ||||
|  | ||||
|  | ||||
|     In section 3.8.1, Texture Image Specification, on page 125, add | ||||
|     another item to the list of TexImage2D and TexImage3D equivalence | ||||
|     exceptions: | ||||
|  | ||||
|     * The value of internalformat and format may be YCBCR_MESA to | ||||
|       indicate that the image data is in YCbCr format.  type must | ||||
|       be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA | ||||
|       as seen in tables 3.8 and 3.10.  Table 3.12 describes the mapping | ||||
|       between Y and Cb/Cr to the components. | ||||
|       If NV_texture_rectangle is supported target may also be | ||||
|       TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV. | ||||
|       All pixel transfer operations are bypassed.  The texture is stored as | ||||
|       YCbCr, not RGB.  Queries of the texture's red, green and blue component | ||||
|       sizes will return zero.  The YCbCr colors are converted to RGB during | ||||
|       texture sampling using an implementation dependent conversion. | ||||
|  | ||||
|  | ||||
|     In section 3.8.1, Texture Image Specification, on page 126, add | ||||
|     another item to the list of TexImage1D and TexImage2D equivalence | ||||
|     exceptions: | ||||
|  | ||||
|     * The value of internalformat and format can not be YCBCR_MESA. | ||||
|  | ||||
|  | ||||
|     In section 3.8.2, Alternate Texture Image Specification Commands, on | ||||
|     page 129, insert this paragraph after the first full paragraph on the | ||||
|     page: | ||||
|  | ||||
|          "If the internal storage format of the image being updated by | ||||
|     TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA. | ||||
|     The error INVALID_OPERATION will be generated otherwise." | ||||
|  | ||||
|  | ||||
| Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment | ||||
| Operations and the Frame Buffer) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the OpenGL 1.4 Specification (State and | ||||
| State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     INVALID_ENUM is generated by TexImage2D if <internalFormat> is | ||||
|     MESA_YCBCR but <format> is not MESA_YCBCR. | ||||
|  | ||||
|     INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but | ||||
|     <internalFormat> is not MESA_YCBCR. | ||||
|  | ||||
|     INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and | ||||
|     <internalFormat> is MESA_YCBCR and <border> is not zero. | ||||
|  | ||||
|     INVALID_OPERATION is generated by TexSubImage2D if the internal image | ||||
|     format is YCBCR_MESA and <format> is not YCBCR_MESA. | ||||
|  | ||||
|     INVALID_OPERATION is generated by CopyTexSubImage2D if the internal | ||||
|     image is YCBCR_MESA. | ||||
|      | ||||
| New State | ||||
|  | ||||
|     Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT | ||||
|     from n x Z42 to n x Z43 to indicate that internal format may also be | ||||
|     YCBCR_MESA. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     20 September 2002 - Initial draft | ||||
|     29 April 2003 - minor updates | ||||
|      3 September 2003 - further clarify when YCbCr->RGB conversion takes place | ||||
|     19 September 2003 - a few more updates prior to submitting to extension | ||||
|                         registry. | ||||
|      3 April 2004 - fix assorted inaccuracies | ||||
| @@ -1,547 +0,0 @@ | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | ||||
| <html> | ||||
| <head> | ||||
|   <title>Mini GLX Specification</title> | ||||
| </head> | ||||
| <body> | ||||
| <h1> | ||||
| <center>Mini GLX Specification</center> | ||||
| </h1> | ||||
| <h2> | ||||
| <center>Tungsten Graphics, Inc.<br> | ||||
| <br> | ||||
| January 20, 2003<br> | ||||
| <br> | ||||
| </center> | ||||
| </h2> | ||||
| <p> Copyright © 2002-2003 by Tungsten Graphics, Inc., Cedar Park, | ||||
| Texas. All Rights Reserved. <br> | ||||
| <br> | ||||
| Permission is granted to make and distribute verbatim copies of this | ||||
| document provided the copyright notice and this permission notice are | ||||
| preserved on all copies.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>1. Introduction</h1> | ||||
| <p>The Mini GLX interface facilitates OpenGL rendering on embedded | ||||
| devices. The interface is a subset of the GLX interface, plus a minimal | ||||
| set of Xlib-like functions.</p> | ||||
| <p>Programs written to the Mini GLX specification should run unchanged | ||||
| on systems with the X Window System and the GLX extension. The intention | ||||
| is to allow flexibility for prototyping and testing.</p> | ||||
| <p>This document serves as both the reference guide and programming | ||||
| guide for Mini GLX.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>2. Mini GLX Concepts</h1> | ||||
| <p>The OpenGL specification does not describe how OpenGL rendering | ||||
| contexts and drawing surfaces (i.e. the frame buffer) are created and | ||||
| managed. Rather, this is handled by an OpenGL window system interface, | ||||
| such as Mini GLX.</p> | ||||
| <p>There are three main datatypes or resources managed by Mini GLX. The | ||||
| resources and their corresponding GLX or Xlib data types are:</p> | ||||
| <table cellspacing="10" align="center"> | ||||
|   <tbody> | ||||
|     <tr> | ||||
|       <td><u>Resource</u></td> | ||||
|       <td><u>Data type</u></td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td>pixel formats</td> | ||||
|       <td>X Visual and XVisualInfo</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td>drawing surfaces</td> | ||||
|       <td>X Window or GLXDrawable</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td>rendering contexts</td> | ||||
|       <td>GLXContext</td> | ||||
|     </tr> | ||||
|   </tbody> | ||||
| </table> | ||||
| <p>Pixel formats or X Visuals describe the per-pixel attributes of the | ||||
| frame buffer.  For example, bits per color component, Z buffer size, | ||||
| stencil size, TrueColor vs PseudoColor, etc.</p> | ||||
| <p>Drawing surfaces or X Windows typically describe a spatial | ||||
| allocation of the frame buffer (i.e. the position and size of a | ||||
| rectangular region of pixels).  Since MiniGLX doesn't really support a | ||||
| window system, the window is effectively the entire frame buffer.</p> | ||||
| <p>A rendering context represents the current OpenGL state such as | ||||
| current drawing color, line width, blending mode, texture parameters, | ||||
| etc. Several rendering contexts can be created but only one can be in | ||||
| use at any given time.</p> | ||||
| <p>The Mini GLX interface provides all the functions needed for | ||||
| choosing pixel formats, create drawing surfaces, creating rendering | ||||
| contexts and binding rendering contexts to drawing surfaces.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>3. Using Mini GLX</h1> | ||||
| <p>To use the Mini GLX interface in your application, include the | ||||
| GL/miniglx.h header file at compile time:</p> | ||||
| <blockquote><code>	#include <GL/miniglx.h><br> | ||||
|   </code></blockquote> | ||||
| <code></code>Applications should link with libGL.so (i.e. <code>gcc | ||||
| myprogram.o -lGL -o myprogram</code>).  libGL.so implements the | ||||
| MiniGLX API functions and, in turn, loads a hardware-specific device | ||||
| driver (such as <code>radeon_dri.so</code>) at runtime.  The | ||||
| environment variable <code>LIBGL_DRIVERS_PATH</code> should name the | ||||
| directory where these modules are located.<br> | ||||
| <br> | ||||
| Prior to running a MiniGXL application, the following kernel modules | ||||
| must be installed:<br> | ||||
| <br> | ||||
| <div style="margin-left: 40px;"> agpgart.o<br> | ||||
| radeonfb.o  (assuming Radeon hardware)<br> | ||||
| radeon.o  (assuming Radeon hardware)<br> | ||||
| </div> | ||||
| <code></code> <br> | ||||
| Finally, MiniGLX reads a configuration file (by default,<code> | ||||
| /etc/miniglx.conf</code>) to determine basic configuration information. | ||||
|  The configuration file may also be located in the directory | ||||
| specified by the <code>MINIGLX_CONF</code> environment variable).<br> | ||||
| <br> | ||||
| The remainder of this section describes the MiniGLX API functions.<br> | ||||
| <br> | ||||
| <h2>3.1 Initialization</h2> | ||||
| <p>The XOpenDisplay function is used to initialize the graphics system:</p> | ||||
| <blockquote> | ||||
|   <pre>Display *XOpenDisplay(const char *displayname)<br></pre> | ||||
| </blockquote> | ||||
| <p>The <code>displayName</code> parameter is currently ignored in Mini | ||||
| GLX. It is recommended that <code>NULL</code> be passed as the<code>displayName</code> | ||||
| parameter.</p> | ||||
| <p>If XOpenDisplay is able to initialize the graphics system a pointer | ||||
| to a Display will be returned.  Otherwise, NULL will be returned.</p> | ||||
| <h2>3.2 Choosing a Visual</h2> | ||||
| <p>A visual (i.e. pixel format) must be chosen before a drawing surface | ||||
| or rendering context can be created.  This is done with the | ||||
| glXChooseVisual function:</p> | ||||
| <blockquote> | ||||
|   <pre>XVisualInfo *glXChooseVisual(Display *dpy, int screen, const int *attribList)<br></pre> | ||||
| </blockquote> | ||||
| <p><code>dpy</code> is a pointer to the display returned by | ||||
| XOpenDisplay. </p> | ||||
| <p><code>screen</code> is currently ignored by Mini GLX and should be | ||||
| zero. </p> | ||||
| <p><code>attribList</code> is a list of GLX attributes which describe | ||||
| the desired pixel format.  It is terminated by the token <code>None</code>. | ||||
| The attributes are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>GLX_USE_GL</code></dt> | ||||
|     <dd>This attribute should always be present in order to maintain | ||||
| compatibility with GLX.</dd> | ||||
|     <dt><code>GLX_RGBA</code></dt> | ||||
|     <dd>If present, only RGBA pixel formats will be considered. | ||||
| Otherwise, only color index formats are considered.</dd> | ||||
|     <dt><code>GLX_DOUBLEBUFFER</code></dt> | ||||
|     <dd>if present, only double-buffered pixel formats will	be chosen.</dd> | ||||
|     <dt><code>GLX_RED_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per red pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_GREEN_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per green pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_BLUE_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per blue pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_ALPHA_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per alpha pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_STENCIL_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per stencil value that is acceptable.</dd> | ||||
|     <dt><code>None</code></dt> | ||||
|     <dd>This token is used to terminate the attribute list.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p>glXChooseVisual will return a pointer to an XVisualInfo object which | ||||
| most closely matches the requirements of the attribute list.  If there | ||||
| is no visual which matches the request, NULL will be returned.</p> | ||||
| <p>Note that visuals with accumulation buffers and depth buffers are | ||||
| not available.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.3 Creating a Drawing Surface</h2> | ||||
| <p>Drawing surfaces are created as X windows.  For Mini GLX, | ||||
| windows are <i>full-screen</i>; they cover the entire frame buffer. | ||||
|  Also, Mini GLX imposes a limit of one window.  A second window | ||||
| cannot be created until the first one is destroyed.</p> | ||||
| <h3>3.3.1 Window Creation</h3> | ||||
| <p>The XCreateWindow function is used to create a drawing surface:</p> | ||||
| <blockquote> | ||||
|   <pre>Window XCreateWindow( Display *display,<br>                      Window parent,<br>                      int x, int y,<br>                      unsigned int width, unsigned int height,<br>                      unsigned int borderWidth,<br>                      int depth,<br>                      unsigned int class,<br>                      Visual *visual,<br>                      unsigned long valuemask,<br>                      XSetWindowAttributes *attributes )<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>display</code></dt> | ||||
|     <dd>A Display pointer, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>parent</code></dt> | ||||
|     <dd>The parent window for the new window.  For Mini GLX, this | ||||
| should be<code>RootWindow(dpy, 0)</code>.</dd> | ||||
|     <dt><code>x, y</code></dt> | ||||
|     <dd>The position of the window.  For Mini GLX, both values should | ||||
| be zero.</dd> | ||||
|     <dt><code>width, height</code></dt> | ||||
|     <dd>The size of the window.  For Mini GLX, this specifies the | ||||
| desired screen size such as 1024, 768 or 1280, 1024.</dd> | ||||
|     <dt><code>borderWidth</code></dt> | ||||
|     <dd>This parameter should be zero.</dd> | ||||
|     <dt><code>depth</code></dt> | ||||
|     <dd>The pixel depth for the window.  For Mini GLX this should be | ||||
| the depth found in the XVisualInfo object returned by <code>glxChooseVisual</code>.</dd> | ||||
|     <dt><code>class</code></dt> | ||||
|     <dd>The window class.  For Mini GLX this value should be <code>InputOutput</code>.</dd> | ||||
|     <dt><code>visual</code></dt> | ||||
|     <dd>This parameter should be the <code>visual</code> field of the <code>XVisualInfo</code> | ||||
| object returned by <code>glxChooseVisual</code>.</dd> | ||||
|     <dt><code>valuemask</code></dt> | ||||
|     <dd>This parameter indicates which fields of the <code>XSetWindowAttributes</code> | ||||
| are to be used. For Mini GLX this is typically the bitmask<code>CWBackPixel | ||||
| | CWBorderPixel | CWColormap</code>.</dd> | ||||
|     <dt><code>attributes</code></dt> | ||||
|     <dd>Initial window attributes. Of the fields in the <code>XSetWindowAttributes</code> | ||||
| structure, the<code>background_pixel</code>, <code>border_pixel</code> | ||||
| and <code>colormap</code> fields should be set.  See the discussion | ||||
| below regarding colormaps.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p><code>XCreateWindow</code> will return a window handle if it succeeds | ||||
| or zero if it fails.</p> | ||||
| <h3>3.3.2 Window Mapping</h3> | ||||
| <p>To display the window the XMapWindow function must be called:</p> | ||||
| <blockquote> | ||||
|   <pre>void XMapWindow(Display *dpy, Window w)</pre> | ||||
| </blockquote> | ||||
| <p>This function does nothing in Mini GLX but is required for Xlib/GLX | ||||
| compatibility</p> | ||||
| <h3>3.3.3 Colormaps<br> | ||||
| </h3> | ||||
| <p>Xlib requires specification of a colormap when creating a window. | ||||
|  For purposes of interoperability, Mini GLX requires this as well, | ||||
| though the colormap is not actually used.  The XCreateColormap | ||||
| function is used to create a colormap:</p> | ||||
| <blockquote><code>Colormap XCreateColormap(Display *dpy, Window window, | ||||
| Visual *visual, int alloc)</code><br> | ||||
|   <code></code></blockquote> | ||||
| <p>The parameters are as follows:<br> | ||||
| </p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>window</code></dt> | ||||
|     <dd> This parameter is ignored by Mini GLX but should be the value | ||||
| returned by the <code>RootWindow(dpy, 0)</code> macro.<br> | ||||
|     </dd> | ||||
|     <dt><code>visual</code></dt> | ||||
|     <dd>This parameter is ignored by Mini GLX but should be the visual | ||||
| field of the XVisualInfo object returned by glXChooseVisual. </dd> | ||||
|     <dt><code>alloc</code></dt> | ||||
|     <dd>This parameter is ignored by Mini GLX but should be set to <code>AllocNone</code>.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <br> | ||||
| <h2>3.4 Creating a Rendering Context</h2> | ||||
| <p>An OpenGL rendering context is created with the <code>glXCreateContext</code> | ||||
| function:</p> | ||||
| <blockquote> | ||||
|   <pre>GLXContext glXCreateContext(Display *dpy, XVisualInfo *visInfo, GLXContext shareList, Bool direct)<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>visInfo</code></dt> | ||||
|     <dd>The visual as returned by glXChooseVisual.</dd> | ||||
|     <dt><code>shareList</code></dt> | ||||
|     <dd>If non-zero, texture objects and display lists are shared with | ||||
| the named rendering context. If zero, texture objects and display lists | ||||
| will (initially) be private to this context. They may be shared when a | ||||
| subsequent context is created.</dd> | ||||
|     <dt><code>direct</code></dt> | ||||
|     <dd>Specifies whether direct or indirect rendering is desired. For | ||||
| Mini GLX this value is ignored but it should be set to <code>True</code>.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p><code>glXCreateContext</code> will return a GLXContext handle if it | ||||
| succeeds or zero if it fails due to invalid parameter or insufficient | ||||
| resources.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.5 Binding a Rendering Context</h2> | ||||
| <p>The final step before beginning OpenGL rendering is to bind (i.e. | ||||
| activate) a rendering context and drawing surface with the | ||||
| glXMakeCurrent function:</p> | ||||
| <blockquote> | ||||
|   <pre>Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>drawable</code></dt> | ||||
|     <dd>The window or drawable to bind to the rendering context. This | ||||
| should be the value returned by XCreateWindow.</dd> | ||||
|     <dt><code>ctx</code></dt> | ||||
|     <dd>The rendering context to bind, as returned by glXCreateContext.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p>If glXMakeCurrent succeeds True is returned.  Otherwise False is | ||||
| returned to indicate an invalid display, window or context parameter.</p> | ||||
| <p>After the rendering context has been bound to the drawing surface | ||||
| OpenGL rendering can begin.</p> | ||||
| <p>The current rendering context may be unbound by calling | ||||
| glXMakeCurrent with the window and context parameters set to zero.</p> | ||||
| <p>An application may create any number of rendering contexts and bind | ||||
| them as needed. Note that binding a rendering context is generally not a | ||||
| light-weight operation.  Most simple OpenGL applications create | ||||
| only one rendering context.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.6 Color Buffer Swapping</h2> | ||||
| <p>A double buffered window has two color buffers: a front buffer and a | ||||
| back buffer.  Normally, rendering is directed to the back buffer while | ||||
| the front buffer is displayed.  When rendering of a frame is finished | ||||
| the front and back buffers are swapped to provide the illusion of | ||||
| instanteous screen updates.</p> | ||||
| <p>The color buffers for a particular window (i.e. drawable) may be | ||||
| swapped with the glXSwapBuffers command:</p> | ||||
| <blockquote> | ||||
|   <pre>void glXSwapBuffers(Display *dpy, GLXDrawable drawable)<br></pre> | ||||
| </blockquote> | ||||
| Any pending rendering commands will be completed before the buffer swap | ||||
| takes place.<br> | ||||
| <br> | ||||
| Calling glXSwapBuffers on a window which is single-buffered has no | ||||
| effect.<br> | ||||
| <br> | ||||
| <h2>3.7 Releasing Resources</h2> | ||||
| <h3>3.7.1 Releasing Rendering Contexts</h3> | ||||
| <p>A rendering context may be destroyed by calling glXDestroyContext:</p> | ||||
| <blockquote> | ||||
|   <pre>void glXDestroyContext(Display *dpy, GLXContext ctx)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.2 Releasing Windows</h3> | ||||
| <p>A window may be destroyed by calling XDestroyWindow:</p> | ||||
| <blockquote> | ||||
|   <pre>void XDestroyWindow(Display *dpy, Window window)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.3 Releasing Visuals</h3> | ||||
| <p>An XVisualInfo object may be freed by calling XFree:</p> | ||||
| <blockquote> | ||||
|   <pre>void XFree(void *data)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.4 Releasing Colormaps</h3> | ||||
| <p>A colormap may be freed by calling XFreeColormap:</p> | ||||
| <blockquote> | ||||
|   <pre>void XFreeColormap(Display *dpy, Colormap colormap)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.4 Releasing Display Resources</h3> | ||||
| <p>When the application is about to exit, the resources associated with | ||||
| the graphics system can be released by calling XCloseDisplay:</p> | ||||
| <blockquote> | ||||
|   <pre>void XCloseDisplay(Display *dpy)<br></pre> | ||||
| </blockquote> | ||||
| <p>The display handle becomes invalid at this point.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.8 Query Functions</h2> | ||||
| <h3>3.8.1 Querying Available Visuals</h3> | ||||
| A list of all available visuals can be obtained with the XGetVisualInfo | ||||
| function:<br> | ||||
| <br> | ||||
| <div style="margin-left: 40px;"><code>XVisualInfo | ||||
| *XGetVisualInfo(Display *dpy, long vinfo_mask, XVisualInfo | ||||
| *vinfo_template, int *nitems_return)<br> | ||||
| </code></div> | ||||
| <br> | ||||
| The parameters are as follows:<br> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>vinfo_mask</code></dt> | ||||
|     <dd>A bitmask indicating which fields of the vinfo_template are to | ||||
| be matched.  The value must be VisualScreenMask.</dd> | ||||
|     <dt><code>vinfo_template</code></dt> | ||||
|     <dd>A template whose fields indicate which visual attributes must | ||||
| be matched by the results.  The screen field of this structure must | ||||
| be zero.</dd> | ||||
|     <dt><code>nitems_return</code></dt> | ||||
|     <dd>Returns the number of visuals returned. </dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| The return value is the address of an array of all available visuals.<br> | ||||
| <br> | ||||
| An example of using XGetVisualInfo to get all available visuals follows:<br> | ||||
| <br> | ||||
| <div style="margin-left: 40px;"><code>XVisualInfo visTemplate, *results;</code><br> | ||||
| <code>int numVisuals;</code><br> | ||||
| <code>Display *dpy = XOpenDisplay(NULL);</code><br> | ||||
| <code>visTemplate.screen = 0;</code><br> | ||||
| <code>results = XGetVisualInfo(dpy, VisualScreenMask, &visTemplate, | ||||
| &numVisuals);</code><br> | ||||
| <code></code></div> | ||||
| <br> | ||||
| <h3>3.8.2 Querying Visual Attributes</h3> | ||||
| <p>The GLX attributes of an X visual may be queried with the | ||||
| glXGetConfig function:</p> | ||||
| <blockquote> | ||||
|   <pre>int glXGetConfig(Display *dpy, XVisualInfo *vis, int attribute, int *value)<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>vis</code></dt> | ||||
|     <dd>The visual, as returned by glXChooseVisual.</dd> | ||||
|     <dt><code>attribute</code></dt> | ||||
|     <dd>The attribute to query.  The attributes are listed below.</dd> | ||||
|     <dt><code>value</code></dt> | ||||
|     <dd>Pointer to an integer in which the result of the query will be | ||||
| stored. </dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p>The return value will be zero if no error occurs.<code> | ||||
|  GLX_INVALID_ATTRIBUTE</code> will be returned if the attribute | ||||
| parameter is invalid.<code>  GLX_BAD_VISUAL</code> will be returned | ||||
| if the XVisualInfo parameter is invalid.</p> | ||||
| <p>The following attributes may be queried:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>GLX_USE_GL</code></dt> | ||||
|     <dd>The result will be <code>True</code> or <code>False</code> to | ||||
| indicate if OpenGL rendering is supported with the visual.  Mini GLX | ||||
| always return <code>True</code>.</dd> | ||||
|     <dt><code>GLX_RGBA</code></dt> | ||||
|     <dd>The result will be <code>True</code> for RGBA visuals or <code>False</code> | ||||
| for color index visuals.</dd> | ||||
|     <dt><code>GLX_DOUBLEBUFFER</code></dt> | ||||
|     <dd>The result will be <code>True</code> if the visual has two | ||||
| color buffers or <code>False</code> if the visual has one color buffer.</dd> | ||||
|     <dt><code>GLX_RED_SIZE</code></dt> | ||||
|     <dd>The result will be the number of red bits per pixel.</dd> | ||||
|     <dt><code>GLX_GREEN_SIZE</code></dt> | ||||
|     <dd>The result will be the number of green bits per pixel.</dd> | ||||
|     <dt><code>GLX_BLUE_SIZE</code></dt> | ||||
|     <dd>The result will be the number of blue bits per pixel.</dd> | ||||
|     <dt><code>GLX_ALPHA_SIZE</code></dt> | ||||
|     <dd>The result will be the number of alpha bits per pixel.</dd> | ||||
|     <dt><code>GLX_DEPTH_SIZE</code></dt> | ||||
|     <dd>The result will be the number of bits per Z value.</dd> | ||||
|     <dt><code>GLX_STENCIL_SIZE</code></dt> | ||||
|     <dd>The result will be the number of bits per stencil value.<br> | ||||
|       <br> | ||||
|     </dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <h3>3.8.3 Querying the Current Rendering Context</h3> | ||||
| <p>The current rendering context can be queried with | ||||
| glXGetCurrentContext: </p> | ||||
| <blockquote> | ||||
|   <pre>GLXContext glXGetCurrentContext(void)<br></pre> | ||||
| </blockquote> | ||||
| <p>Zero will be returned if no context is currently bound.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h3>3.8.4 Querying the Current Drawable</h3> | ||||
| <p>The current drawable (i.e. window or drawing surface) can be queried | ||||
| with glXGetCurrentDrawable:</p> | ||||
| <blockquote> | ||||
|   <pre>GLXDrawable glXGetCurrentDrawable(void)<br></pre> | ||||
| </blockquote> | ||||
| <p>Zero will be returned if no drawable is currently bound.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h3>3.8.5 Function Address Queries</h3> | ||||
| <p>The glXGetProcAddress function will return the address of any | ||||
| available OpenGL or Mini GLX function:</p> | ||||
| <blockquote> | ||||
|   <pre>void *glXGetProcAddress(const GLubyte *procName)<br></pre> | ||||
| </blockquote> | ||||
| <p>If <code>procName</code> is a valid function name, a pointer to that | ||||
| function will be returned.  Otherwise, NULL will be returned.</p> | ||||
| <p>The purpose of glXGetProcAddress is to facilitate using future | ||||
| extensions to OpenGL or Mini GLX.  If a future version of the library | ||||
| adds new extension functions they'll be accessible via | ||||
| glXGetProcAddress. The alternative is to hard-code calls to the new | ||||
| functions in the application but doing so will prevent linking the | ||||
| application with older versions of the library.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.9 Versioning</h2> | ||||
| The Mini GLX version can be queried at run time with glXQueryVersion: | ||||
| <blockquote> | ||||
|   <pre>Bool glXQueryVersion(Display *dpy, int *major, int *minor)<br></pre> | ||||
| </blockquote> | ||||
| <p><code>major</code> will be set to the major version number and<code>minor</code> | ||||
| will be set to the minor version number.<code>True</code> will be | ||||
| returned if the function succeeds. <code>False</code> will be returned | ||||
| if the function fails due to invalid parameters. The <code>dpy</code> | ||||
| argument is currently ignored, but should be the value returned by | ||||
| XOpenDisplay.</p> | ||||
| <p>At compile time, the Mini GLX interface version can be tested with | ||||
| the MINI_GLX_VERSION_1_<i>x</i> preprocessor tokens. For example, if | ||||
| version 1.0 of Mini GLX is supported, then<code> MINI_GLX_VERSION_1_0</code> | ||||
| will be defined. If version 1.1 of Mini GLX is supported, then<code> | ||||
| MINI_GLX_VERSION_1_1</code> will be defined.</p> | ||||
| <p>At the time of writing the current Mini GLX version is 1.0.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>4.0 Interoperability with GLX and Xlib</h1> | ||||
| While Mini GLX strives to be compatible with GLX and Xlib there are | ||||
| some unavoidable differences which must be taken into consideration.<br> | ||||
| <h2>4.1 Public vs Private Structures</h2> | ||||
| The structure of many X data types is public.  For example, the <code>Display</code> | ||||
| data type is defined as a structure in /usr/include/X11/Xlib.h and | ||||
| programmers may access any fields of that structure at will.  Mini | ||||
| GLX also defines a Display data type but its fields are hidden and not | ||||
| visiblein <code>miniglx.h</code>.  Duplicating the Xlib | ||||
| declaration for the <code>Display</code> data type in minigl.h would | ||||
| require defining a large number of other superfluous Xlib datatypes.<br> | ||||
| <br> | ||||
| Mini GLX users are discouraged from directly accessing the fields of | ||||
| Xlib data types to maximize portability - though this is unavoidable to | ||||
| some extent.  For example, the <code>XVisualInfo</code> and <code>XSetWindowAtttributes</code> | ||||
| data types must be completely public. | ||||
| <h2>4.2 Macros</h2> | ||||
| In some cases, Xlib defines macros which are meant to be used instead | ||||
| of direct structure accesses.  For example, the <code>RootWindow(dpy, | ||||
| screen)</code> macro returns the root window for a given screen on a | ||||
| given display.  Unfortunately, macros do nothing to aid in ABI | ||||
| compatibility since they are resolved at compile time instead of at | ||||
| link/run time.<br> | ||||
| <br> | ||||
| Mini GLX also defines a <code>RootWindow</code> macro since it's | ||||
| essential for creating windows.  But the implementation of this | ||||
| macro by Xlib and Mini GLX is completely different.<br> | ||||
| <h2>4.3 Summary</h2> | ||||
| Because Xlib and Mini GLX define data types and macros differently, | ||||
| Mini GLX applications must be recompiled when retargeting Mini GLX or | ||||
| native Xlib/GLX.  That is, applications can't simply be re-linked | ||||
| because of ABI incompatibilities.<br> | ||||
| <br> | ||||
| Nevertheless, the fact that Mini GLX programs can be recompiled for | ||||
| Xlib and GLX increases portability and flexibility for testing and | ||||
| prototyping.<br> | ||||
| <br> | ||||
| <h1>5.0 Example Program</h1> | ||||
| <p>This section shows an example program which uses the Mini GLX | ||||
| interface. The program simply draws several frames of a rotating square.<br> | ||||
| </p> | ||||
| <p>The program may be compiled for use with Xlib/GLX or Mini GLX by | ||||
| setting the <code>USE_MINIGLX</code> token to 0 or 1, respectively. | ||||
|  Note that the only difference is the header files which are | ||||
| included.<br> | ||||
| </p> | ||||
| <p> </p> | ||||
| <pre><code><br></code>#define USE_MINIGLX 1  /* 1 = use Mini GLX, 0 = use Xlib/GLX */<br><br>#include <stdio.h><br>#include <stdlib.h><br>#include <GL/gl.h><br><br>#if USE_MINIGLX<br>#include <GL/miniglx.h><br>#else<br>#include <GL/glx.h><br>#include <X11/Xlib.h><br>#endif<br><br><code>/*<br> * Create a simple double-buffered RGBA window.<br> */<br>static Window<br>MakeWindow(Display * dpy, unsigned int width, unsigned int height)<br>{<br>   int visAttributes[] = {<br>      GLX_RGBA,<br>      GLX_RED_SIZE, 1,<br>      GLX_GREEN_SIZE, 1,<br>      GLX_BLUE_SIZE, 1,<br>      GLX_DOUBLEBUFFER,<br>      None<br>   };<br>   XSetWindowAttributes attr;<br>   unsigned long attrMask;<br>   Window root;<br>   Window win;<br>   GLXContext ctx;<br>   XVisualInfo *visinfo;<br><br>   root = RootWindow(dpy, 0);<br><br>   /* Choose GLX visual / pixel format */<br>   visinfo = glXChooseVisual(dpy, 0, visAttributes);<br>   if (!visinfo) {<br>      printf("Error: couldn't get an RGB, Double-buffered visual\n");<br>      exit(1);<br>   }<br><br>   /* Create the window */<br>   attr.background_pixel = 0;<br>   attr.border_pixel = 0;<br>   attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);<br>   attrMask = CWBackPixel | CWBorderPixel | CWColormap;<br>   win = XCreateWindow(dpy, root, 0, 0, width, height,<br>		       0, visinfo->depth, InputOutput,<br>		       visinfo->visual, attrMask, &attr);<br>   if (!win) {<br>      printf("Error: XCreateWindow failed\n");<br>      exit(1);<br>   }<br><br>   /* Display the window */<br>   XMapWindow(dpy, win);<br><br>   /* Create GLX rendering context */<br>   ctx = glXCreateContext(dpy, visinfo, NULL, True);<br>   if (!ctx) {<br>      printf("Error: glXCreateContext failed\n");<br>      exit(1);<br>   }<br><br>   /* Bind the rendering context and window */<br>   glXMakeCurrent(dpy, win, ctx);<br><br>   return win;<br>}<br><br><br>/*<br> * Draw a few frames of a rotating square.<br> */<br>static void<br>DrawFrames(Display * dpy, Window win)<br>{<br>   int angle;<br>   glShadeModel(GL_FLAT);<br>   glClearColor(0.5, 0.5, 0.5, 1.0);<br>   for (angle = 0; angle < 360; angle += 10) {<br>      glClear(GL_COLOR_BUFFER_BIT);<br>      glColor3f(1.0, 1.0, 0.0);<br>      glPushMatrix();<br>      glRotatef(angle, 0, 0, 1);<br>      glRectf(-0.8, -0.8, 0.8, 0.8);<br>      glPopMatrix();<br>      glXSwapBuffers(dpy, win);<br>   }<br>}<br><br><br>int<br>main(int argc, char *argv[])<br>{<br>   Display *dpy;<br>   Window win;<br><br>   dpy = XOpenDisplay(NULL);<br>   if (!dpy) {<br>      printf("Error: XOpenDisplay failed\n");<br>      return 1;<br>   }<br><br>   win = MakeWindow(dpy, 300, 300);<br><br>   DrawFrames(dpy, win);<br><br>   return 0;<br>}<br></code></pre> | ||||
| <br> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										254
									
								
								docs/README.3DFX
									
									
									
									
									
								
							
							
						
						
									
										254
									
								
								docs/README.3DFX
									
									
									
									
									
								
							| @@ -1,243 +1,6 @@ | ||||
|  | ||||
|                             3Dfx Glide device driver | ||||
|  | ||||
|  | ||||
|  | ||||
| Requirements: | ||||
| ------------- | ||||
|  | ||||
| A Voodoo-based videocard/accelerator | ||||
| DOS (with DJGPP), Windows9x/2k (with MinGW), Linux | ||||
| Glide3x library for your OS | ||||
|  | ||||
| http://sourceforge.net/projects/glide/ | ||||
|  | ||||
|  | ||||
|  | ||||
| How to compile: | ||||
| --------------- | ||||
|  | ||||
| DJGPP: | ||||
|    Place the Glide3 SDK in the top Mesa directory: | ||||
| 	$(MESA)/glide3/include/ | ||||
| 		3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h | ||||
| 	$(MESA)/glide3/lib/ | ||||
| 		libgld3x.a, libgld3i.a, glide3x.dxe | ||||
|    Type: | ||||
| 	make -f Makefile.DJ X86=1 FX=1 | ||||
|    Look into the makefile for further information. | ||||
|  | ||||
| MinGW: | ||||
|    Place the Glide3 SDK in the top Mesa directory: | ||||
| 	$(MESA)/glide3/include/ | ||||
| 		3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h | ||||
| 	$(MESA)/glide3/lib/ | ||||
| 		libglide3x.a, glide3x.dll | ||||
|    Type: | ||||
| 	make -f Makefile.mgw X86=1 FX=1 | ||||
|    Look into the makefile for further information. | ||||
|  | ||||
| Linux: | ||||
|    Place the Glide3 SDK in /usr/local/glide | ||||
| 	/usr/local/glide/include/ | ||||
| 		3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h | ||||
| 	/usr/local/glide/lib/ | ||||
| 		libglide3x.a, libglide3x.so | ||||
|    Type: | ||||
| 	make linux-glide | ||||
| 	or | ||||
| 	make linux-x86-glide | ||||
|  | ||||
|  | ||||
|  | ||||
| Compilation defines: | ||||
| -------------------- | ||||
|  | ||||
| FX_DEBUG | ||||
| 	enable driver debug code | ||||
| FX_TRAP_GLIDE | ||||
| 	enable Glide trace code | ||||
| FX_PACKEDCOLOR | ||||
| 	use packed color in vertex structure | ||||
| FX_TC_NAPALM | ||||
| 	map GL_COMPRESSED_RGB[A] to FXT1. Works with VSA100-based cards only. | ||||
| FX_COMPRESS_S3TC_AS_FXT1_HACK | ||||
| 	map S3TC to FXT1 | ||||
| FX_RESCALE_BIG_TEXURES_HACK | ||||
| 	fake textures larger than HW can support | ||||
| 	(see MESA_FX_MAXLOD environment variable) | ||||
|  | ||||
|  | ||||
|  | ||||
| Environment variables: | ||||
| ---------------------- | ||||
|  | ||||
| The following environment variables affect MesaFX. Those that affect Glide | ||||
| only, are beyond the scope of this section. Entries that don't have a "Value" | ||||
| field, can have any value whatsoever | ||||
| 	ex: set MESA_FX_IGNORE_CMBEXT=y | ||||
|  | ||||
| "Note" (*) means that the environment variable affects Glide, too; also, if | ||||
| the var is not found in the environment, it is searched in windoze registry. | ||||
| "Note" (!) means that the environment variable is not working as expected; | ||||
| may have undefined effects, might have effects only at Glide level or might | ||||
| not have any effect whatsoever. Caveat emptor! Those are to be revised soon. | ||||
|  | ||||
| It is recommended to leave the envvars alone, so that Mesa/Glide will run with | ||||
| default values. Use them only when you experience crashes or strange behavior. | ||||
|  | ||||
| FX_GLIDE_NUM_TMU | ||||
| 	OS: all | ||||
| 	HW: dual-TMU cards (Voodoo2, Avenger, Napalm) | ||||
| 	Desc: force single-TMU | ||||
| 	Note: (*) | ||||
| 	Value: "1" | ||||
| FX_GLIDE_SWAPPENDINGCOUNT | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: max # of buffers allowed to build up | ||||
| 	Note: (*) (!) | ||||
| 	Value: "0", "1", "2", "3", "4", "5" or "6" | ||||
| FX_GLIDE_SWAPINTERVAL | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: number of vertical retraces to wait before swapping | ||||
| 	Note: (*) (!) works only at Glide-level? | ||||
| SSTH3_SLI_AA_CONFIGURATION | ||||
| 	OS: all | ||||
| 	HW: VSA100-based cards | ||||
| 	Desc: SLI/AA setup | ||||
| 	Note: (*) (!) works only at Glide-level? | ||||
| 	Value: | ||||
| 	    1, 2, 4 chip cards | ||||
| 		"0" - SLI & AA disable | ||||
| 		"1" - SLI disabled, 2 sample AA enabled | ||||
| 	    2, 4 chip cards | ||||
| 		"2" - 2-way SLI enabled, AA disabled | ||||
| 		"3" - 2-way SLI enabled, 2 sample AA enabled | ||||
| 		"4" - SLI disabled, 4 sample AA enabled | ||||
| 	    4 chip cards | ||||
| 		"5" - 4-way SLI enabled, AA disabled | ||||
| 		"6" - 4-way SLI enabled, 2 sample AA enabled | ||||
| 		"7" - 2-way SLI enabled, 4 sample AA enabled | ||||
| 		"8" - SLI disabled, 8 sample AA enabled  | ||||
| SST_DUALHEAD | ||||
| 	OS: win32 | ||||
| 	HW: ? | ||||
| 	Desc: ? | ||||
| 	Note: (!) disabled? | ||||
| MESA_FX_NO_SIGNALS | ||||
| 	OS: linux | ||||
| 	HW: all | ||||
| 	Desc: avoid installing signals | ||||
| 	Note: (!) untested! | ||||
| MESA_FX_INFO | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: verbose to stderr | ||||
| 	Value: any; special value "r" to redirect stderr to MESA.LOG | ||||
| MESA_FX_NOSNAP | ||||
| 	OS: all | ||||
| 	HW: Voodoo1, Rush, Banshee | ||||
| 	Desc: do not snap vertices inside Mesa | ||||
| 	Note: to be used with Glide3x that snaps vertices internally | ||||
| MESA_FX_POINTCAST | ||||
| 	OS: all | ||||
| 	HW: dual-TMU cards (some Voodoo1, Voodoo2, Avenger, Napalm) | ||||
| 	Desc: try to use pointcast palette | ||||
| 	Note: may give adverse effects on UMA cards (Avenger, Napalm) | ||||
| MESA_FX_IGNORE_PALEXT | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: disable 6666 palette | ||||
| MESA_FX_IGNORE_PIXEXT | ||||
| 	OS: all | ||||
| 	HW: Napalm | ||||
| 	Desc: force 565 16bpp mode (traditional Voodoo, no 32/15bpp) | ||||
| MESA_FX_IGNORE_TEXFMT | ||||
| 	OS: all | ||||
| 	HW: Napalm | ||||
| 	Desc: disable 32bit textures | ||||
| MESA_FX_IGNORE_CMBEXT | ||||
| 	OS: all | ||||
| 	HW: Napalm | ||||
| 	Desc: disable Napalm combiners (color/alpha/texture) | ||||
| 	Note: this option allows dual-TMU cards perform single-pass | ||||
| 	      trilinear, but some advanced (multi)texturing modes | ||||
| 	      won't work (GL_EXT_texture_env_combine) | ||||
| MESA_FX_IGNORE_MIREXT | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: disable mirror extension | ||||
| MESA_FX_IGNORE_TEXUMA | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: disable UMA | ||||
| MESA_FX_IGNORE_TEXUS2 | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: disable Texus2 | ||||
| MESA_FX_MAXLOD | ||||
| 	OS: all | ||||
| 	HW: non VSA-100 cards | ||||
| 	Desc: enable large texture support using SW rescaling | ||||
| 	Value: | ||||
| 	    "9"  - 512x512 textures | ||||
| 	    "10" - 1024x1024 textures | ||||
| 	    "11" - 2048x2048 textures | ||||
| MESA_FX_ALLOW_VP | ||||
| 	OS: all | ||||
| 	HW: all | ||||
| 	Desc: allow vertex program extensions | ||||
| MESA_GLX_FX | ||||
| 	OS: linux | ||||
| 	HW: Voodoo1, Rush, Voodoo2 | ||||
| 	Desc: display mode | ||||
| 	Note: (!) experimental | ||||
| 	Value: | ||||
| 	    "w" - windowed mode | ||||
| 	    "f" - fullscreen mode | ||||
| 	    "d" - disable glide driver | ||||
| 	OS: win32 | ||||
| 	HW: Rush, Banshee, Avenger, Napalm | ||||
| 	Desc: display mode | ||||
| 	Note: (!) experimental | ||||
| 	Value: | ||||
| 	    "w" - windowed mode | ||||
|  | ||||
|  | ||||
|  | ||||
| Contact: | ||||
| -------- | ||||
|  | ||||
| Daniel Borca <dborca 'at' users 'dot' sourceforge 'dot' net> | ||||
| Hiroshi Morii <koolsmoky 'at' users 'dot' sourceforge 'dot' net> | ||||
|  | ||||
|  | ||||
|  | ||||
| WARNING! The info below this line is outdated (yet some of it useful). WARNING! | ||||
| ******************************************************************************* | ||||
|  | ||||
|  | ||||
|  | ||||
| Info for Mesa 4.1 | ||||
| ----------------- | ||||
|  | ||||
| The 3dfx Glide driver in Mesa is disabled by default.  Not too many people | ||||
| use this driver anymore and at some point down the road it will be dropped. | ||||
|  | ||||
| To use/enable the Glide driver either do this: | ||||
|  | ||||
| './configure --with-glide=DIR'    Where DIR is the location of Glide, like | ||||
|                                   /usr/ or /usr/local | ||||
|  | ||||
| OR | ||||
|  | ||||
| 'make linux-x86-glide'     If using the old-style Makefile system. | ||||
|  | ||||
| The rest of this file hasn't changed since Mesa 3.3.  Some of it's out of | ||||
| date, but some is still valid. | ||||
|  | ||||
|                      3Dfx Glide device driver for Mesa 3.2 | ||||
| 				(see below for FAQ) | ||||
|  | ||||
|  | ||||
| What do you need ? | ||||
| @@ -249,6 +12,8 @@ What do you need ? | ||||
| 	  under Linux (more information in the "Useful Glide Environment | ||||
| 	  Variables"); | ||||
|  | ||||
| 	- Mesa 3.1; | ||||
|  | ||||
| 	- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine). | ||||
| 	  The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not | ||||
| 	  compatible with the Glide 2.x so it doesn't work with the current | ||||
| @@ -257,6 +22,8 @@ What do you need ? | ||||
| 	- A compiler supported by the Glide library (Micro$oft VC++ (tested), | ||||
| 	  Watcom (tested), GCC for Linux (tested), etc.); | ||||
|  | ||||
| 	- A lot of patience, this is an alpha release. | ||||
|  | ||||
| 	- It's nice to have two monitors - one for your normal graphics | ||||
| 	  card and one for your 3Dfx card. If something goes wrong with | ||||
| 	  an application using the 3Dfx hardware you can still see your | ||||
| @@ -417,9 +184,9 @@ Doing more with Mesa & Linux Glide: | ||||
| 	   quality. However you can use any visual depth supported by X. | ||||
|  | ||||
| 	2. Set the following environment variables: | ||||
| 		export MESA_GLX_FX="window"	# to enable window rendering | ||||
| 		export SST_VGA_PASS=1	# to stop video signal switching | ||||
| 		export SST_NOSHUTDOWN=1	# to stop video signal switching | ||||
| 		export MESA_GLX_FX="window"	// to enable window rendering | ||||
| 		export SST_VGA_PASS=1	// to stop video signal switching | ||||
| 		export SST_NOSHUTDOWN=1	// to stop video signal switching | ||||
| 	    OR | ||||
| 		setenv MESA_GLX_FX window | ||||
| 		setenv SST_VGA_PASS 1 | ||||
| @@ -437,9 +204,6 @@ Doing more with Mesa & Linux Glide: | ||||
| 	visual depth doesn't match the Voodoo framebufffer bit per pixel, it | ||||
| 	is required also a pixel format translation). | ||||
|  | ||||
| 	NOTE: the in-window rendering feature only works with double-buffering. | ||||
|  | ||||
|  | ||||
|         On the fly switching between in window rendering and full screen rendering | ||||
| 	-------------------------------------------------------------------------- | ||||
|  | ||||
|   | ||||
							
								
								
									
										117
									
								
								docs/README.BEOS
									
									
									
									
									
								
							
							
						
						
									
										117
									
								
								docs/README.BEOS
									
									
									
									
									
								
							| @@ -3,91 +3,61 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| * Introduction | ||||
| Introduction | ||||
|  | ||||
| Brian Paul added in Mesa 3.1 a driver for BeOS R4.5 operating system. | ||||
| This driver implements a clone of the BGLView class.  This class, | ||||
| derived from BView, allows OpenGL rendering into any BeOS window.  His | ||||
| driver was updated in Mesa 4.1 and again in version 6.1 by Philippe | ||||
| Houdoin, who's maintaining this driver since. | ||||
| Mesa 3.1 features a new driver for the BeOS.  The new driver implements | ||||
| a clone of the BGLView class.  This class, derived from BView, allows | ||||
| OpenGL rendering into a BeOS window. | ||||
|  | ||||
| Any application which uses the BGLView should be able to use Mesa | ||||
| instead of Be's OpenGL without changing any code. | ||||
|  | ||||
| Since Be's OpenGL implementation (as of R5) is basically just the | ||||
| Since Be's OpenGL implementation (as of R4) is basically just the | ||||
| SGI sample implementation, it's pretty slow.  You'll see that Mesa | ||||
| is considerably faster. | ||||
|  | ||||
|  | ||||
| * Source Code | ||||
|  | ||||
| The source code for the driver is in src/mesa/drivers/beos/ directory. | ||||
| Source Code | ||||
|  | ||||
| The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp | ||||
| It's not 100% finished at this time but many GLUT-based demos are | ||||
| working.  No optimizations have been made at this time. | ||||
|  | ||||
|  | ||||
| * Compiling | ||||
|  | ||||
| Since Mesa 6.x, it can be build under BeOS with both the R5 builtin gcc version | ||||
| or more recent gcc versions available for BeOS, like this gcc version 2.95.3 for BeOS  | ||||
| you can find at http://www.bebits.com/app/2157. | ||||
| Anyway, keep in mind that to take full advantage of Mesa x86 optimizations, you better | ||||
| want to use gcc 2.95.3 or sooner versions... | ||||
| Compiling | ||||
|  | ||||
| To build Mesa-powered BeOS libGL.so version, open an Terminal window, | ||||
| move to Mesa root folder and type this command: | ||||
|  | ||||
| $ make beos | ||||
|  | ||||
| Note that the "beos" argument is only needed the first time to setup build config. | ||||
| Next times, typing "make" will be enough. | ||||
|  | ||||
| When it finishes the Mesa based libGL.so library for | ||||
| BeOS will be in the lib/ directory, along libglut.so library. | ||||
| Several demo/test programs should have been build too under progs/* folders. | ||||
| If it stop when building one of the progs/* programs, you may want to ignore it | ||||
| and force make to move on next target by adding the -k make option: | ||||
|  | ||||
| $ cd progs | ||||
| $ make -k | ||||
|  | ||||
| To install it as Be's default libGL.so replacement, put it in your  | ||||
| /boot/home/config/lib/ directory. All your GL/GLUT apps will use  | ||||
| the Mesa based then.  | ||||
|  | ||||
| By default, it build a non-debug version library. | ||||
| The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target. | ||||
| For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations | ||||
| yet. | ||||
|  | ||||
| To build a DEBUG version, type instead this : | ||||
|  | ||||
| $ DEBUG=1 make | ||||
| In the Mesa-3.x directory type "make -f Makefile.X11 beos-r4". | ||||
| When it finishes the libMesaGL.so and libMesaGLU.so libraries for | ||||
| BeOS will be in the Mesa-3.x/lib/ directory. | ||||
|  | ||||
|  | ||||
| * Example Programs | ||||
|  | ||||
| Look under progs/beos/ for some BGLView-based programs. | ||||
| You should find under progs/samples and progs/redbook directories GLUT-based programs too. | ||||
| They all should have been compiled along with the Mesa library. | ||||
| Example Programs | ||||
|  | ||||
| Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo | ||||
| programs.  They should have been compiled along with the Mesa | ||||
| library. | ||||
|  | ||||
|  | ||||
| * GLUT | ||||
|  | ||||
| A beta version of GLUT 3.7 port for BeOS, made by Jake Hamby, can be found at  | ||||
| http://anobject.com/jehamby/Code/Glut-3.7-x86.zip. | ||||
| This is the version currently included in Mesa source code, and | ||||
| build in lib/libglut.so. | ||||
|   | ||||
| A previous 3.5 version of this GLUT BeOS port used to be available at | ||||
| http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip. | ||||
| GLUT | ||||
|  | ||||
| They're special versions of GLUT for the BeOS platform.  I don't | ||||
| A version of GLUT 2.5 for BeOS can be found in src-glut.beos/. | ||||
| The original distribution can be obtained from | ||||
| http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip | ||||
|  | ||||
| This is a special version of GLUT adapted for the BeOS.  I don't | ||||
| believe Mark Kilgard's normal GLUT distribution includes BeOS | ||||
| support. | ||||
|  | ||||
| It seems that you have to recompile GLUT with libMesaGL.so instead | ||||
| of libGL.so in order for everything to work.  I'm not sure why. | ||||
|  | ||||
| * Special Features | ||||
|  | ||||
|  | ||||
| Special Features | ||||
|  | ||||
| Mesa's implementation of the BGLView class has an extra member | ||||
| function:  CopySubBufferMESA().  It basically works like SwapBuffers() | ||||
| @@ -98,40 +68,35 @@ that you're actually using Mesa (with glGetString) so you don't | ||||
| cause a fatal error when running with Be's OpenGL. | ||||
|  | ||||
|  | ||||
| * Work Left To Do | ||||
|  | ||||
| - BDirectWindow single buffering support is not implemented yet. | ||||
| - Color index mode is not implemented yet. | ||||
| - Reading pixels from the front buffer not implemented yet. | ||||
| - There is also a BGLScreen class in BeOS for full-screen OpenGL rendering. | ||||
|   This should also be implemented for Mesa. | ||||
| - Multiple renderers add-ons support, first step toward hardware acceleration | ||||
|   support. | ||||
| Work Left To Do | ||||
|  | ||||
| * Other contributors to this BeOS port | ||||
| Color index mode is not implemented yet. | ||||
|  | ||||
| Jake Hamby                      jhamby <at> anobject <dot> com | ||||
| Marcin Konicki                  ahwayakchih <at> neoni <dot> net | ||||
| Francois Revol                  revol <at> free <dot> fr | ||||
| Nathan Whitehorn                nathanw <at> uchicago <dot> edu | ||||
| Reading pixels from the front buffer not implemented yet. | ||||
|  | ||||
| There is also a BGLScreen class in BeOS for full-screen OpenGL | ||||
| rendering.  This should also be implemented for Mesa. | ||||
|  | ||||
|  | ||||
| * Older BeOS Driver | ||||
|  | ||||
| Old BeOS Driver | ||||
|  | ||||
| Mesa 2.6 had an earlier BeOS driver.  It was based on Mesa's Off-screen | ||||
| rendering interface, not BGLView.  If you're interested in the older | ||||
| driver you should get Mesa 2.6. | ||||
|  | ||||
|  | ||||
| * BeOS and Glide | ||||
|  | ||||
| BeOS and Glide | ||||
|  | ||||
| Mesa 3.0 supported the 3Dfx/Glide library on Beos.  Download Mesa 3.0 | ||||
| if interested.  Ideally, the 3Dfx/Glide support should be updated to | ||||
| work with the new Mesa 3.1 BGLView implementation. | ||||
|  | ||||
| The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge, | ||||
| as of February, 1999. | ||||
| The Glide library hasn't been updated for BeOS R4, to my knowledge, as | ||||
| of February, 1999. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: README.BEOS,v 1.12 2004/10/13 00:35:55 phoudoin Exp $ | ||||
| $Id: README.BEOS,v 1.5.6.1 1999/11/27 01:39:50 brianp Exp $ | ||||
|   | ||||
| @@ -1,256 +0,0 @@ | ||||
|  | ||||
|                           Mesa Cygwin/X11 Information | ||||
|  | ||||
|  | ||||
| WARNING | ||||
| ======= | ||||
|  | ||||
| If you installed X11 (packages xorg-x11-devel and xorg-x11-bin-dlls ) with the  | ||||
| latest setup.exe from Cygwin the GL (Mesa) libraries and include are already  | ||||
| installed in /usr/X11R6.  | ||||
|  | ||||
| The following will explain how to "replace" them. | ||||
|  | ||||
| Installation | ||||
| ============ | ||||
|  | ||||
| How to compile Mesa on Cygwin/X11 systems: | ||||
|  | ||||
| 1. Shared libs: | ||||
|     type 'make cygwin-sl'. | ||||
|  | ||||
|     When finished, the Mesa DLL will be in the Mesa-x.y/lib/ and  | ||||
|     Mesa-x.y/bin directories. | ||||
|  | ||||
|  | ||||
| 2. Static libs: | ||||
|     type 'make cygwin-static'. | ||||
|     When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory. | ||||
|  | ||||
| Header and library files: | ||||
|    After you've compiled Mesa and tried the demos I recommend the following | ||||
|    procedure for "installing" Mesa. | ||||
|  | ||||
|    Copy the Mesa include/GL directory to /usr/X11R6/include: | ||||
| 	cp -a include/GL /usr/X11R6/include | ||||
|  | ||||
|    Copy the Mesa library files to /usr/X11R6/lib: | ||||
| 	cp -a lib/* /usr/X11R6ocal/lib | ||||
|  | ||||
|    Copy the Mesa bin files (used by the DLL stuff) to /usr/X11R6/bin: | ||||
| 	cp -a lib/cyg* /usr/X11R6/bin | ||||
|  | ||||
| Xt/Motif widgets: | ||||
|    If you want to use Mesa or OpenGL in your Xt/Motif program you can build | ||||
|    the widgets found in either the widgets-mesa or widgets-sgi directories. | ||||
|    The former were written for Mesa and the later are the original SGI | ||||
|    widgets.  Look in those directories for more information. | ||||
|    For the Motif widgets you must have downloaded the lesstif package. | ||||
|  | ||||
|  | ||||
| Using the library | ||||
| ================= | ||||
|  | ||||
| Configuration options: | ||||
|    The file src/mesa/main/config.h has many parameters which you can adjust | ||||
|    such as maximum number of lights, clipping planes, maximum texture size, | ||||
|    etc.  In particular, you may want to change DEPTH_BITS from 16 to 32 | ||||
|    if a 16-bit depth buffer isn't precise enough for your application. | ||||
|  | ||||
|  | ||||
| Shared libraries: | ||||
|    If you compile shared libraries (Win32 DLLS) you may have to set an  | ||||
|    environment variable to specify where the Mesa libraries are located.   | ||||
|    Set the PATH variable to include /your-dir/Mesa-2.6/bin.    | ||||
|    Otherwise, when you try to run a demo it may fail with a message saying  | ||||
|    that one or more DLL couldn't be found. | ||||
|  | ||||
|  | ||||
| Xt/Motif Widgets: | ||||
|    Two versions of the Xt/Motif OpenGL drawing area widgets are included: | ||||
|  | ||||
|       widgets-sgi/	SGI's stock widgets | ||||
|       widgets-mesa/	Mesa-tuned widgets | ||||
|  | ||||
|    Look in those directories for details | ||||
|  | ||||
|  | ||||
| Togl: | ||||
|    Togl is an OpenGL/Mesa widget for Tcl/Tk. | ||||
|    See http://togl.sourceforge.net for more information. | ||||
|  | ||||
|  | ||||
|  | ||||
| X Display Modes: | ||||
|    Mesa supports RGB(A) rendering into almost any X visual type and depth. | ||||
|  | ||||
|    The glXChooseVisual function tries its best to pick an appropriate visual | ||||
|    for the given attribute list.  However, if this doesn't suit your needs | ||||
|    you can force Mesa to use any X visual you want (any supported by your | ||||
|    X server that is) by setting the MESA_RGB_VISUAL and MESA_CI_VISUAL | ||||
|    environment variables.  When an RGB visual is requested, glXChooseVisual | ||||
|    will first look if the MESA_RGB_VISUAL variable is defined.  If so, it | ||||
|    will try to use the specified visual.  Similarly, when a color index | ||||
|    visual is requested, glXChooseVisual will look for the MESA_CI_VISUAL | ||||
|    variable. | ||||
|  | ||||
|    The format of accepted values is:  <visual-class> <depth> | ||||
|    Here are some examples: | ||||
|  | ||||
|    using the C-shell: | ||||
| 	% setenv MESA_RGB_VISUAL "TrueColor 8"		// 8-bit TrueColor | ||||
| 	% setenv MESA_CI_VISUAL "PseudoColor 12"	// 12-bit PseudoColor | ||||
| 	% setenv MESA_RGB_VISUAL "PseudoColor 8"	// 8-bit PseudoColor | ||||
|  | ||||
|    using the KornShell: | ||||
| 	$ export MESA_RGB_VISUAL="TrueColor 8" | ||||
| 	$ export MESA_CI_VISUAL="PseudoColor 12" | ||||
| 	$ export MESA_RGB_VISUAL="PseudoColor 8" | ||||
|  | ||||
|  | ||||
| Double buffering: | ||||
|    Mesa can use either an X Pixmap or XImage as the backbuffer when in | ||||
|    double buffer mode.  Using GLX, the default is to use an XImage.  The | ||||
|    MESA_BACK_BUFFER environment variable can override this.  The valid | ||||
|    values for MESA_BACK_BUFFER are:  Pixmap and XImage (only the first | ||||
|    letter is checked, case doesn't matter). | ||||
|  | ||||
|    A pixmap is faster when drawing simple lines and polygons while an | ||||
|    XImage is faster when Mesa has to do pixel-by-pixel rendering.  If you | ||||
|    need depth buffering the XImage will almost surely be faster.  Exper- | ||||
|    iment with the MESA_BACK_BUFFER variable to see which is faster for | ||||
|    your application.   | ||||
|  | ||||
|  | ||||
| Colormaps: | ||||
|    When using Mesa directly or with GLX, it's up to the application writer | ||||
|    to create a window with an appropriate colormap.  The aux, tk, and GLUT | ||||
|    toolkits try to minimize colormap "flashing" by sharing colormaps when | ||||
|    possible.  Specifically, if the visual and depth of the window matches | ||||
|    that of the root window, the root window's colormap will be shared by | ||||
|    the Mesa window.  Otherwise, a new, private colormap will be allocated. | ||||
|  | ||||
|    When sharing the root colormap, Mesa may be unable to allocate the colors | ||||
|    it needs, resulting in poor color quality.  This can happen when a | ||||
|    large number of colorcells in the root colormap are already allocated. | ||||
|    To prevent colormap sharing in aux, tk and GLUT, define the environment | ||||
|    variable MESA_PRIVATE_CMAP.  The value isn't significant. | ||||
|  | ||||
|  | ||||
| Gamma correction: | ||||
|    To compensate for the nonlinear relationship between pixel values | ||||
|    and displayed intensities, there is a gamma correction feature in | ||||
|    Mesa.  Some systems, such as Silicon Graphics, support gamma | ||||
|    correction in hardware (man gamma) so you won't need to use Mesa's | ||||
|    gamma facility.  Other systems, however, may need gamma adjustment | ||||
|    to produce images which look correct.  If in the past you thought | ||||
|    Mesa's images were too dim, read on. | ||||
|  | ||||
|    Gamma correction is controlled with the MESA_GAMMA environment | ||||
|    variable.  Its value is of the form "Gr Gg Gb" or just "G" where | ||||
|    Gr is the red gamma value, Gg is the green gamma value, Gb is the | ||||
|    blue gamma value and G is one gamma value to use for all three | ||||
|    channels.  Each value is a positive real number typically in the | ||||
|    range 1.0 to 2.5.  The defaults are all 1.0, effectively disabling | ||||
|    gamma correction.  Examples using csh: | ||||
|  | ||||
| 	% setenv MESA_GAMMA "2.3 2.2 2.4"	// separate R,G,B values | ||||
| 	% setenv MESA_GAMMA "2.0"		// same gamma for R,G,B | ||||
|  | ||||
|    The demos/gamma.c program may help you to determine reasonable gamma | ||||
|    value for your display.  With correct gamma values, the color intensities | ||||
|    displayed in the top row (drawn by dithering) should nearly match those | ||||
|    in the bottom row (drawn as grays). | ||||
|  | ||||
|    Alex De Bruyn reports that gamma values of 1.6, 1.6 and 1.9 work well | ||||
|    on HP displays using the HP-ColorRecovery technology. | ||||
|  | ||||
|    Mesa implements gamma correction with a lookup table which translates | ||||
|    a "linear" pixel value to a gamma-corrected pixel value.  There is a | ||||
|    small performance penalty.  Gamma correction only works in RGB mode. | ||||
|    Also be aware that pixel values read back from the frame buffer will | ||||
|    not be "un-corrected" so glReadPixels may not return the same data | ||||
|    drawn with glDrawPixels. | ||||
|  | ||||
|    For more information about gamma correction see: | ||||
|    http://www.inforamp.net/~poynton/notes/colour_and_gamma/GammaFAQ.html | ||||
|  | ||||
|  | ||||
| Overlay Planes | ||||
|  | ||||
|    Overlay planes in the frame buffer are supported by Mesa but require | ||||
|    hardware and X server support.  To determine if your X server has | ||||
|    overlay support you can test for the SERVER_OVERLAY_VISUALS property: | ||||
|  | ||||
| 	xprop -root | grep SERVER_OVERLAY_VISUALS | ||||
|  | ||||
|  | ||||
| HPCR glClear(GL_COLOR_BUFFER_BIT) dithering | ||||
|  | ||||
|    If you set the MESA_HPCR_CLEAR environment variable then dithering | ||||
|    will be used when clearing the color buffer.  This is only applicable | ||||
|    to HP systems with the HPCR (Color Recovery) system. | ||||
|  | ||||
|  | ||||
| Extensions | ||||
| ========== | ||||
|    There are three Mesa-specific GLX extensions at this time. | ||||
|  | ||||
|    GLX_MESA_pixmap_colormap  | ||||
|  | ||||
|       This extension adds the GLX function: | ||||
|  | ||||
|          GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, | ||||
|                                            Pixmap pixmap, Colormap cmap ) | ||||
|  | ||||
|       It is an alternative to the standard glXCreateGLXPixmap() function. | ||||
|       Since Mesa supports RGB rendering into any X visual, not just True- | ||||
|       Color or DirectColor, Mesa needs colormap information to convert RGB | ||||
|       values into pixel values.  An X window carries this information but a | ||||
|       pixmap does not.  This function associates a colormap to a GLX pixmap. | ||||
|       See the xdemos/glxpixmap.c file for an example of how to use this | ||||
|       extension. | ||||
|  | ||||
|    GLX_MESA_release_buffers | ||||
|  | ||||
|       Mesa associates a set of ancillary (depth, accumulation, stencil and | ||||
|       alpha) buffers with each X window it draws into.  These ancillary | ||||
|       buffers are allocated for each X window the first time the X window | ||||
|       is passed to glXMakeCurrent().  Mesa, however, can't detect when an | ||||
|       X window has been destroyed in order to free the ancillary buffers. | ||||
|  | ||||
|       The best it can do is to check for recently destroyed windows whenever | ||||
|       the client calls the glXCreateContext() or glXDestroyContext() | ||||
|       functions.  This may not be sufficient in all situations though. | ||||
|  | ||||
|       The GLX_MESA_release_buffers extension allows a client to explicitly | ||||
|       deallocate the ancillary buffers by calling glxReleaseBuffersMESA() | ||||
|       just before an X window is destroyed.  For example: | ||||
|  | ||||
|          #ifdef GLX_MESA_release_buffers | ||||
|             glXReleaseBuffersMESA( dpy, window ); | ||||
|          #endif | ||||
|          XDestroyWindow( dpy, window ); | ||||
|  | ||||
|       This extension is new in Mesa 2.0. | ||||
|  | ||||
|    GLX_MESA_copy_sub_buffer | ||||
|  | ||||
|       This extension adds the glXCopySubBufferMESA() function.  It works | ||||
|       like glXSwapBuffers() but only copies a sub-region of the window | ||||
|       instead of the whole window. | ||||
|  | ||||
|       This extension is new in Mesa version 2.6 | ||||
|  | ||||
|  | ||||
|  | ||||
| Summary of X-related environment variables: | ||||
|    MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only) | ||||
|    MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only) | ||||
|    MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only) | ||||
|    MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only) | ||||
|    MESA_GAMMA - gamma correction coefficients (X only) | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| README.CYGWIN - lassauge April 2004 - based on README.X11 | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user