Compare commits
	
		
			334 Commits
		
	
	
		
			mesa-18.2.
			...
			mesa_4_0_4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					61b226a4f4 | ||
| 
						 | 
					adc4d21dbb | ||
| 
						 | 
					efaa8be77f | ||
| 
						 | 
					ed7b3b61f5 | ||
| 
						 | 
					17d73e49c8 | ||
| 
						 | 
					032341cbea | ||
| 
						 | 
					53170a3af0 | ||
| 
						 | 
					57181b2c0a | ||
| 
						 | 
					00a1ff66e2 | ||
| 
						 | 
					635e8c3459 | ||
| 
						 | 
					6d99cffed3 | ||
| 
						 | 
					9c16911e06 | ||
| 
						 | 
					0de37dcc2e | ||
| 
						 | 
					a53dccf9c5 | ||
| 
						 | 
					3291a3c69c | ||
| 
						 | 
					d2fba8a633 | ||
| 
						 | 
					8d7ed801a5 | ||
| 
						 | 
					689a803c90 | ||
| 
						 | 
					8365cbbc85 | ||
| 
						 | 
					baa9451a93 | ||
| 
						 | 
					79c9cca366 | ||
| 
						 | 
					14b30bace0 | ||
| 
						 | 
					1c6b172c01 | ||
| 
						 | 
					da1a6739fe | ||
| 
						 | 
					15b418be49 | ||
| 
						 | 
					33629a0d70 | ||
| 
						 | 
					d8f5422a37 | ||
| 
						 | 
					b83df71385 | ||
| 
						 | 
					b7f6f84fc2 | ||
| 
						 | 
					50cd089a7f | ||
| 
						 | 
					7e22bad6da | ||
| 
						 | 
					7d46390bd4 | ||
| 
						 | 
					3580b7a3d3 | ||
| 
						 | 
					c383ce0e0f | ||
| 
						 | 
					a10727eedc | ||
| 
						 | 
					d4c7dd076c | ||
| 
						 | 
					1e57a87e6a | ||
| 
						 | 
					6080451f93 | ||
| 
						 | 
					5419097b37 | ||
| 
						 | 
					889b6c4e7a | ||
| 
						 | 
					58be490b08 | ||
| 
						 | 
					d314643448 | ||
| 
						 | 
					a28d96bd0e | ||
| 
						 | 
					6d3c1ec7cd | ||
| 
						 | 
					aa80a17ad0 | ||
| 
						 | 
					1509a4399a | ||
| 
						 | 
					c2065e3ea5 | ||
| 
						 | 
					ba35bb6897 | ||
| 
						 | 
					eefdfddd3e | ||
| 
						 | 
					00068e6686 | ||
| 
						 | 
					1c1f60d437 | ||
| 
						 | 
					476c1fdbc6 | ||
| 
						 | 
					5613f469d7 | ||
| 
						 | 
					6338c52cd4 | ||
| 
						 | 
					c4c5e26cc7 | ||
| 
						 | 
					b6454b19ae | ||
| 
						 | 
					84c56fef84 | ||
| 
						 | 
					a2bb621983 | ||
| 
						 | 
					d057db7942 | ||
| 
						 | 
					5c04890c5f | ||
| 
						 | 
					fb3475078d | ||
| 
						 | 
					ea214a755b | ||
| 
						 | 
					8af93aa529 | ||
| 
						 | 
					ab81956422 | ||
| 
						 | 
					38a30cfef0 | ||
| 
						 | 
					e95e02331e | ||
| 
						 | 
					9636b9aa25 | ||
| 
						 | 
					f610b8f418 | ||
| 
						 | 
					601fd74868 | ||
| 
						 | 
					36ee4317c2 | ||
| 
						 | 
					9d4181cd56 | ||
| 
						 | 
					cf1dc9faf9 | ||
| 
						 | 
					6fa2c761a1 | ||
| 
						 | 
					d9c191f2ad | ||
| 
						 | 
					36b477442f | ||
| 
						 | 
					95358c87ef | ||
| 
						 | 
					829ca52b1a | ||
| 
						 | 
					767b8b6b81 | ||
| 
						 | 
					634d720426 | ||
| 
						 | 
					72dcd2b1b0 | ||
| 
						 | 
					b60335f125 | ||
| 
						 | 
					3e78e05a4c | ||
| 
						 | 
					1099dcdc09 | ||
| 
						 | 
					a73bc7e9ce | ||
| 
						 | 
					19f17185bd | ||
| 
						 | 
					22f431fc84 | ||
| 
						 | 
					5538b98051 | ||
| 
						 | 
					f2acb26f16 | ||
| 
						 | 
					6d0fd19a71 | ||
| 
						 | 
					670ea9f590 | ||
| 
						 | 
					c3be87b84b | ||
| 
						 | 
					a4d34a5688 | ||
| 
						 | 
					e64e5f5529 | ||
| 
						 | 
					4266ec91fe | ||
| 
						 | 
					8a5bdd826a | ||
| 
						 | 
					20cbbf8459 | ||
| 
						 | 
					2847895a03 | ||
| 
						 | 
					79d05b5649 | ||
| 
						 | 
					a0ad8d5a8a | ||
| 
						 | 
					1a9198f118 | ||
| 
						 | 
					dd8fbed413 | ||
| 
						 | 
					972cc7827f | ||
| 
						 | 
					263d8ff8e3 | ||
| 
						 | 
					363c8b9048 | ||
| 
						 | 
					eb7b122807 | ||
| 
						 | 
					6306085c69 | ||
| 
						 | 
					7e20f99f81 | ||
| 
						 | 
					a79f7f8838 | ||
| 
						 | 
					d1d4f6bd34 | ||
| 
						 | 
					640f61ba13 | ||
| 
						 | 
					07e3f72bf8 | ||
| 
						 | 
					d06d24f497 | ||
| 
						 | 
					3fa786c175 | ||
| 
						 | 
					984bb590df | ||
| 
						 | 
					67c5effe5c | ||
| 
						 | 
					fbe488cb76 | ||
| 
						 | 
					dbd36a0ca0 | ||
| 
						 | 
					076870f384 | ||
| 
						 | 
					c1fba8241b | ||
| 
						 | 
					690798ae3b | ||
| 
						 | 
					89e91fcc9a | ||
| 
						 | 
					d5a8eeaeeb | ||
| 
						 | 
					b118f433e1 | ||
| 
						 | 
					fbbb780e1f | ||
| 
						 | 
					9429860763 | ||
| 
						 | 
					531af3f17f | ||
| 
						 | 
					054f415f45 | ||
| 
						 | 
					b1b4382283 | ||
| 
						 | 
					3aef708b56 | ||
| 
						 | 
					d63730d087 | ||
| 
						 | 
					2469fc9672 | ||
| 
						 | 
					86ab257a46 | ||
| 
						 | 
					d7e7d8ec74 | ||
| 
						 | 
					fe4edce605 | ||
| 
						 | 
					b0f477e5dd | ||
| 
						 | 
					ce4c38fe2e | ||
| 
						 | 
					09760a9563 | ||
| 
						 | 
					d7abab5c67 | ||
| 
						 | 
					e900da049b | ||
| 
						 | 
					9def08ad3d | ||
| 
						 | 
					978731595d | ||
| 
						 | 
					00e5cb4120 | ||
| 
						 | 
					b338ee265a | ||
| 
						 | 
					8d3f06a565 | ||
| 
						 | 
					0d1785c6db | ||
| 
						 | 
					79474dc528 | ||
| 
						 | 
					43e90c0053 | ||
| 
						 | 
					c748b6c3d8 | ||
| 
						 | 
					2c109c15e0 | ||
| 
						 | 
					22fcb86432 | ||
| 
						 | 
					70c5d68365 | ||
| 
						 | 
					1b0fcb2124 | ||
| 
						 | 
					6668d2fcb1 | ||
| 
						 | 
					e3c2d6bd0c | ||
| 
						 | 
					655e0ad0c1 | ||
| 
						 | 
					d99fa29b94 | ||
| 
						 | 
					7229861a46 | ||
| 
						 | 
					f5130e3473 | ||
| 
						 | 
					a5ed2460e9 | ||
| 
						 | 
					e2130abf8f | ||
| 
						 | 
					bf6a6f1d59 | ||
| 
						 | 
					abd10c99e5 | ||
| 
						 | 
					c3bc8a9c1e | ||
| 
						 | 
					aa5698e8ed | ||
| 
						 | 
					cf4c9ada0d | ||
| 
						 | 
					13c751a1c2 | ||
| 
						 | 
					2af71a9acf | ||
| 
						 | 
					5e0316f1a8 | ||
| 
						 | 
					2366fb3b89 | ||
| 
						 | 
					4ad3511865 | ||
| 
						 | 
					44f6191507 | ||
| 
						 | 
					aaf89c1cc7 | ||
| 
						 | 
					7350dd7395 | ||
| 
						 | 
					972815c414 | ||
| 
						 | 
					0bb0b4df73 | ||
| 
						 | 
					e07b4252ad | ||
| 
						 | 
					b8855675ca | ||
| 
						 | 
					6bf823ac2d | ||
| 
						 | 
					af3f3080f9 | ||
| 
						 | 
					bb47715320 | ||
| 
						 | 
					cef9cdf3bb | ||
| 
						 | 
					4493f41577 | ||
| 
						 | 
					a4f3130a7f | ||
| 
						 | 
					b2c3daa875 | ||
| 
						 | 
					3d6951c097 | ||
| 
						 | 
					db0ed6252b | ||
| 
						 | 
					e6c59e8d0c | ||
| 
						 | 
					378fcdb818 | ||
| 
						 | 
					cd3f5d807a | ||
| 
						 | 
					c3e908891c | ||
| 
						 | 
					fdbaf407a7 | ||
| 
						 | 
					5a86d3852c | ||
| 
						 | 
					96d0be5cf2 | ||
| 
						 | 
					0bd26c3c55 | ||
| 
						 | 
					9f7053e913 | ||
| 
						 | 
					9fa55ac457 | ||
| 
						 | 
					101092ea11 | ||
| 
						 | 
					da648d9afd | ||
| 
						 | 
					7a3b7c9687 | ||
| 
						 | 
					55f8fcba10 | ||
| 
						 | 
					7419597f2f | ||
| 
						 | 
					e784671997 | ||
| 
						 | 
					c2165e799c | ||
| 
						 | 
					40519b3eb3 | ||
| 
						 | 
					dcda68de33 | ||
| 
						 | 
					8308199e5d | ||
| 
						 | 
					3b029b0c7d | ||
| 
						 | 
					bff7677bd9 | ||
| 
						 | 
					41796ecc25 | ||
| 
						 | 
					94865a95b1 | ||
| 
						 | 
					b8b23d4552 | ||
| 
						 | 
					3245cfdf41 | ||
| 
						 | 
					69e043158a | ||
| 
						 | 
					3ce17ffb84 | ||
| 
						 | 
					33b483f882 | ||
| 
						 | 
					308a036114 | ||
| 
						 | 
					4c97c84f7e | ||
| 
						 | 
					d7bde06097 | ||
| 
						 | 
					a00292bcfe | ||
| 
						 | 
					7d729ffb58 | ||
| 
						 | 
					aeb6c0af5e | ||
| 
						 | 
					41110917d7 | ||
| 
						 | 
					a58b1ed0a3 | ||
| 
						 | 
					27b503cab8 | ||
| 
						 | 
					d38cdd33d0 | ||
| 
						 | 
					851acc6ea7 | ||
| 
						 | 
					6115d784a7 | ||
| 
						 | 
					fcca385bec | ||
| 
						 | 
					06743cf365 | ||
| 
						 | 
					b372b40bd1 | ||
| 
						 | 
					3e3bd40614 | ||
| 
						 | 
					3fb6d0bfde | ||
| 
						 | 
					b36acc0423 | ||
| 
						 | 
					287d6127d2 | ||
| 
						 | 
					a8290d3a95 | ||
| 
						 | 
					b26f972618 | ||
| 
						 | 
					5bd6bad38d | ||
| 
						 | 
					1ae3437156 | ||
| 
						 | 
					93665403aa | ||
| 
						 | 
					04613cb0bc | ||
| 
						 | 
					e0a30e9d2d | ||
| 
						 | 
					fd3da01ec3 | ||
| 
						 | 
					40bbb8b7f3 | ||
| 
						 | 
					00b7772bda | ||
| 
						 | 
					0fc4d7e46d | ||
| 
						 | 
					1261fed2c3 | ||
| 
						 | 
					4f4f542bd7 | ||
| 
						 | 
					550169ab62 | ||
| 
						 | 
					ad83c33a4d | ||
| 
						 | 
					a340c4f6ef | ||
| 
						 | 
					781f27575c | ||
| 
						 | 
					08e126fba6 | ||
| 
						 | 
					b03241a552 | ||
| 
						 | 
					e4efc983bd | ||
| 
						 | 
					785bfd0c1e | ||
| 
						 | 
					a0e4612f49 | ||
| 
						 | 
					f6e1618f97 | ||
| 
						 | 
					3a450fb4b0 | ||
| 
						 | 
					43daa03ac1 | ||
| 
						 | 
					cb69912494 | ||
| 
						 | 
					b4518ee5d4 | ||
| 
						 | 
					6ef05c2817 | ||
| 
						 | 
					26d31abd87 | ||
| 
						 | 
					7702362bda | ||
| 
						 | 
					5141607357 | ||
| 
						 | 
					a9e14e7bb9 | ||
| 
						 | 
					5196a16629 | ||
| 
						 | 
					7f37280955 | ||
| 
						 | 
					986b7ec195 | ||
| 
						 | 
					9012185ae8 | ||
| 
						 | 
					2edf851932 | ||
| 
						 | 
					1703b67ee0 | ||
| 
						 | 
					9342fbe46e | ||
| 
						 | 
					2f88c5fbd4 | ||
| 
						 | 
					dc35f387ca | ||
| 
						 | 
					597ec4040c | ||
| 
						 | 
					51aa3d2f30 | ||
| 
						 | 
					0c1f42ef29 | ||
| 
						 | 
					06ae58eebb | ||
| 
						 | 
					d8deb468f7 | ||
| 
						 | 
					4aac60f691 | ||
| 
						 | 
					e20d35d74a | ||
| 
						 | 
					ed26c2d950 | ||
| 
						 | 
					95681b4a85 | ||
| 
						 | 
					17a5135fee | ||
| 
						 | 
					69b71bc1ab | ||
| 
						 | 
					9f6957e702 | ||
| 
						 | 
					bf78731523 | ||
| 
						 | 
					c527df81df | ||
| 
						 | 
					ca2315d95b | ||
| 
						 | 
					c4dd9e2a03 | ||
| 
						 | 
					34174976c4 | ||
| 
						 | 
					ff23c15bdc | ||
| 
						 | 
					eb0ce107c7 | ||
| 
						 | 
					bfe6c71b99 | ||
| 
						 | 
					69f2ff5f38 | ||
| 
						 | 
					f28c19da41 | ||
| 
						 | 
					c132ca9774 | ||
| 
						 | 
					8ca1772d4a | ||
| 
						 | 
					ff5fe4836a | ||
| 
						 | 
					f88e0898a1 | ||
| 
						 | 
					3f2eedd634 | ||
| 
						 | 
					158c7413fb | ||
| 
						 | 
					0a96860e04 | ||
| 
						 | 
					37b10249e5 | ||
| 
						 | 
					589cee71b8 | ||
| 
						 | 
					c6dcd5c4cf | ||
| 
						 | 
					e1ec4771f1 | ||
| 
						 | 
					917e942fe2 | ||
| 
						 | 
					f427427ca8 | ||
| 
						 | 
					7ed97d4ef4 | ||
| 
						 | 
					267b9cc082 | ||
| 
						 | 
					efb678da77 | ||
| 
						 | 
					32aa05bfd6 | ||
| 
						 | 
					299a71fe04 | ||
| 
						 | 
					63da26bd62 | ||
| 
						 | 
					dfb7ebf8a0 | ||
| 
						 | 
					64681c1f82 | ||
| 
						 | 
					8c3149f250 | ||
| 
						 | 
					53e284bda1 | ||
| 
						 | 
					f46ce82219 | ||
| 
						 | 
					4256cf0175 | ||
| 
						 | 
					986749a4ea | ||
| 
						 | 
					07042d164b | ||
| 
						 | 
					0739d6f158 | ||
| 
						 | 
					2fd7a602a7 | ||
| 
						 | 
					f97edb4ca3 | ||
| 
						 | 
					3b0571dd5c | ||
| 
						 | 
					c25f068355 | ||
| 
						 | 
					3a05f42b28 | ||
| 
						 | 
					2631c2a2de | ||
| 
						 | 
					b2728086ec | ||
| 
						 | 
					2e7644f13d | ||
| 
						 | 
					9c3e7d2294 | 
							
								
								
									
										147
									
								
								Make-config
									
									
									
									
									
								
							
							
						
						
									
										147
									
								
								Make-config
									
									
									
									
									
								
							@@ -1,13 +1,13 @@
 | 
				
			|||||||
# $Id: Make-config,v 1.51 2001/10/22 22:45:18 brianp Exp $
 | 
					# $Id: Make-config,v 1.50.2.11 2002/09/03 17:50:19 brianp Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MESA_MAJOR=4
 | 
					MESA_MAJOR=4
 | 
				
			||||||
MESA_MINOR=1
 | 
					MESA_MINOR=0
 | 
				
			||||||
MESA_TINY=0
 | 
					MESA_TINY=4
 | 
				
			||||||
VERSION=$(MESA_MAJOR).$(MESA_MINOR)
 | 
					VERSION=$(MESA_MAJOR).$(MESA_MINOR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mesa 3-D graphics library
 | 
					# Mesa 3-D graphics library
 | 
				
			||||||
# 
 | 
					# 
 | 
				
			||||||
# Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
					# Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
 | 
				
			||||||
# 
 | 
					# 
 | 
				
			||||||
# Permission is hereby granted, free of charge, to any person obtaining a
 | 
					# Permission is hereby granted, free of charge, to any person obtaining a
 | 
				
			||||||
# copy of this software and associated documentation files (the "Software"),
 | 
					# copy of this software and associated documentation files (the "Software"),
 | 
				
			||||||
@@ -178,6 +178,25 @@ cygnus-linux:
 | 
				
			|||||||
	"MAKELIB = ../bin/mklib.cygnus-linux" \
 | 
						"MAKELIB = ../bin/mklib.cygnus-linux" \
 | 
				
			||||||
	"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
 | 
						"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					darwin:
 | 
				
			||||||
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
 | 
						"GL_LIB = libGL.dylib" \
 | 
				
			||||||
 | 
						"GLU_LIB = libGLU.dylib" \
 | 
				
			||||||
 | 
						"GLUT_LIB = libglut.dylib" \
 | 
				
			||||||
 | 
						"GLW_LIB = libGLw.dylib" \
 | 
				
			||||||
 | 
						"OSMESA_LIB = libOSMesa.dylib" \
 | 
				
			||||||
 | 
						"CC = cc" \
 | 
				
			||||||
 | 
						"CPLUSPLUS = cc" \
 | 
				
			||||||
 | 
						"CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math \
 | 
				
			||||||
 | 
					                -funroll-loops -fexpensive-optimizations -no-cpp-precomp \
 | 
				
			||||||
 | 
					                -dynamic -Ddarwin" \
 | 
				
			||||||
 | 
						"CCFLAGS = $(CFLAGS)" \
 | 
				
			||||||
 | 
						"MAKELIB = ../bin/mklib.darwin" \
 | 
				
			||||||
 | 
						"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
 | 
				
			||||||
 | 
						"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
				
			||||||
 | 
						"GLUT_LIB_DEPS = -L../lib -lGLU -lGL \
 | 
				
			||||||
 | 
					                       -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dgux:
 | 
					dgux:
 | 
				
			||||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
@@ -344,7 +363,7 @@ hpux10-gcc-sl:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# For IRIX 4: don't use -fullwarn because it causes too much garbage
 | 
					# For IRIX 4: don't use -fullwarn because it causes too much garbage
 | 
				
			||||||
irix4:
 | 
					irix4:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
	"GLU_LIB = libGLU.a" \
 | 
						"GLU_LIB = libGLU.a" \
 | 
				
			||||||
	"GLUT_LIB = libglut.a" \
 | 
						"GLUT_LIB = libglut.a" \
 | 
				
			||||||
@@ -357,7 +376,7 @@ irix4:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# On IRIX 5.3 -sopt causes a problem in drawpixels.c so we don't use it
 | 
					# On IRIX 5.3 -sopt causes a problem in drawpixels.c so we don't use it
 | 
				
			||||||
irix5:
 | 
					irix5:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
	"GLU_LIB = libGLU.a" \
 | 
						"GLU_LIB = libGLU.a" \
 | 
				
			||||||
	"GLUT_LIB = libglut.a" \
 | 
						"GLUT_LIB = libglut.a" \
 | 
				
			||||||
@@ -385,7 +404,7 @@ irix5-gcc:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# IRIX 5 using Dynamic Shared Objects (DSO)
 | 
					# IRIX 5 using Dynamic Shared Objects (DSO)
 | 
				
			||||||
irix5-dso:
 | 
					irix5-dso:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.so" \
 | 
						"GL_LIB = libGL.so" \
 | 
				
			||||||
	"GLU_LIB = libGLU.so" \
 | 
						"GLU_LIB = libGLU.so" \
 | 
				
			||||||
	"GLUT_LIB = libglut.so" \
 | 
						"GLUT_LIB = libglut.so" \
 | 
				
			||||||
@@ -396,34 +415,46 @@ irix5-dso:
 | 
				
			|||||||
	"MAKELIB = ../bin/mklib.irix5" \
 | 
						"MAKELIB = ../bin/mklib.irix5" \
 | 
				
			||||||
	"APP_LIB_DEPS = -rpath ../lib -lX11 -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -rpath ../lib -lX11 -lXmu -lXi -lm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# IRIX 6 32-bit Targets
 | 
				
			||||||
 | 
					#	Turn Warnings off for these errors (MIPSpro Compiler 7.30)
 | 
				
			||||||
 | 
					#	1521:   A nonstandard preprocessing directive is used.
 | 
				
			||||||
 | 
					#	1552:   The variable "" is set but never used.
 | 
				
			||||||
 | 
					#	C++
 | 
				
			||||||
 | 
					#	3262:   The variable "" was declared but never referenced.
 | 
				
			||||||
 | 
					#	3666:   The variable "" is set but never used.
 | 
				
			||||||
 | 
					#	Use -v if using pmake to compile files in subdirectories.
 | 
				
			||||||
irix6-o32:
 | 
					irix6-o32:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
	"GLU_LIB = libGLU.a" \
 | 
						"GLU_LIB = libGLU.a" \
 | 
				
			||||||
	"GLUT_LIB = libglut.a" \
 | 
						"GLUT_LIB = libglut.a" \
 | 
				
			||||||
	"GLW_LIB = libGLw.a" \
 | 
						"GLW_LIB = libGLw.a" \
 | 
				
			||||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
						"OSMESA_LIB = libOSMesa.a" \
 | 
				
			||||||
 | 
						"LIBDIR = ../lib32" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
	"CFLAGS = -32 -mips2 -O2 -ansi -DUSE_XSHM -DNO_CONST" \
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
 | 
						"CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM" \
 | 
				
			||||||
 | 
						"CCFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.ar-rcv" \
 | 
						"MAKELIB = ../bin/mklib.ar-rcv" \
 | 
				
			||||||
	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
irix6-o32-dso:
 | 
					irix6-o32-dso:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.so" \
 | 
						"GL_LIB = libGL.so" \
 | 
				
			||||||
	"GLU_LIB = libGLU.so" \
 | 
						"GLU_LIB = libGLU.so" \
 | 
				
			||||||
	"GLUT_LIB = libglut.so" \
 | 
						"GLUT_LIB = libglut.so" \
 | 
				
			||||||
	"GLW_LIB = libGLw.so" \
 | 
						"GLW_LIB = libGLw.so" \
 | 
				
			||||||
	"OSMESA_LIB = libOSMesa.so" \
 | 
						"OSMESA_LIB = libOSMesa.so" \
 | 
				
			||||||
 | 
						"LIBDIR = ../lib32" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
	"CFLAGS = -32 -mips2 -O2 -ansi -DUSE_XSHM -DNO_CONST" \
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
 | 
						"CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM" \
 | 
				
			||||||
 | 
						"CCFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.irix6-32" \
 | 
						"MAKELIB = ../bin/mklib.irix6-32" \
 | 
				
			||||||
	"APP_LIB_DEPS = -rpath ../lib -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# For IRIX 6: -woff:
 | 
					 | 
				
			||||||
#   1209 - controlling expression is constant
 | 
					 | 
				
			||||||
irix6-n32:
 | 
					irix6-n32:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
	"GLU_LIB = libGLU.a" \
 | 
						"GLU_LIB = libGLU.a" \
 | 
				
			||||||
	"GLUT_LIB = libglut.a" \
 | 
						"GLUT_LIB = libglut.a" \
 | 
				
			||||||
@@ -431,20 +462,24 @@ irix6-n32:
 | 
				
			|||||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
						"OSMESA_LIB = libOSMesa.a" \
 | 
				
			||||||
	"LIBDIR = ../lib32" \
 | 
						"LIBDIR = ../lib32" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
	"CFLAGS = -n32 -mips3 -O3 -ansi -woff 1209,1521" \
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
 | 
						"CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM" \
 | 
				
			||||||
 | 
						"CCFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.ar-rcv" \
 | 
						"MAKELIB = ../bin/mklib.ar-rcv" \
 | 
				
			||||||
	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
irix6-n32-dso:
 | 
					irix6-n32-dso:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.so" \
 | 
						"GL_LIB = libGL.so" \
 | 
				
			||||||
	"GLU_LIB = libGLU.so" \
 | 
						"GLU_LIB = libGLU.so" \
 | 
				
			||||||
	"GLUT_LIB = libglut.so" \
 | 
						"GLUT_LIB = libglut.so" \
 | 
				
			||||||
	"GLW_LIB = libGLw.a" \
 | 
						"GLW_LIB = libGLw.so" \
 | 
				
			||||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
						"OSMESA_LIB = libOSMesa.so" \
 | 
				
			||||||
	"LIBDIR = ../lib32" \
 | 
						"LIBDIR = ../lib32" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
	"CFLAGS = -n32 -mips3 -O3 -ansi -DUSE_XSHM -woff 1185,1521" \
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
 | 
						"CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM" \
 | 
				
			||||||
 | 
						"CCFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.irix6-n32" \
 | 
						"MAKELIB = ../bin/mklib.irix6-n32" \
 | 
				
			||||||
	"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXmu -lXi -lfpe -lm"
 | 
						"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXmu -lXi -lfpe -lm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -472,7 +507,7 @@ irix6-gcc-n32-sl:
 | 
				
			|||||||
#   1474 - declaring a void parameter list with a typedef is nonstandard
 | 
					#   1474 - declaring a void parameter list with a typedef is nonstandard
 | 
				
			||||||
#   1552 - variable was set but never used
 | 
					#   1552 - variable was set but never used
 | 
				
			||||||
irix6-64:
 | 
					irix6-64:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
	"GLU_LIB = libGLU.a" \
 | 
						"GLU_LIB = libGLU.a" \
 | 
				
			||||||
	"GLUT_LIB = libglut.a" \
 | 
						"GLUT_LIB = libglut.a" \
 | 
				
			||||||
@@ -485,7 +520,7 @@ irix6-64:
 | 
				
			|||||||
	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
irix6-64-dso:
 | 
					irix6-64-dso:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.so" \
 | 
						"GL_LIB = libGL.so" \
 | 
				
			||||||
	"GLU_LIB = libGLU.so" \
 | 
						"GLU_LIB = libGLU.so" \
 | 
				
			||||||
	"GLUT_LIB = libglut.so" \
 | 
						"GLUT_LIB = libglut.so" \
 | 
				
			||||||
@@ -571,6 +606,32 @@ linux-x86:
 | 
				
			|||||||
		X86/sse_xform3.S X86/sse_xform4.S \
 | 
							X86/sse_xform3.S X86/sse_xform4.S \
 | 
				
			||||||
		X86/sse_normal.S X86/sse_vertex.S"
 | 
							X86/sse_normal.S X86/sse_vertex.S"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					linux-icc:
 | 
				
			||||||
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
 | 
						"GL_LIB = libGL.so" \
 | 
				
			||||||
 | 
						"GLU_LIB = libGLU.so" \
 | 
				
			||||||
 | 
						"GLUT_LIB = libglut.so" \
 | 
				
			||||||
 | 
						"GLW_LIB = libGLw.so" \
 | 
				
			||||||
 | 
						"OSMESA_LIB = libOSMesa.so" \
 | 
				
			||||||
 | 
						"CC = icc" \
 | 
				
			||||||
 | 
						"CPLUSPLUS = g++" \
 | 
				
			||||||
 | 
						"CFLAGS = -O3 -tpp6 -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" \
 | 
				
			||||||
 | 
						"MAKELIB = ../bin/mklib.linux" \
 | 
				
			||||||
 | 
						"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
 | 
				
			||||||
 | 
						"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
				
			||||||
 | 
						"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
				
			||||||
 | 
						"APP_LIB_DEPS = -lm" \
 | 
				
			||||||
 | 
						"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
 | 
				
			||||||
 | 
							X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
 | 
				
			||||||
 | 
							X86/x86_cliptest.S X86/x86_vertex.S \
 | 
				
			||||||
 | 
							X86/mmx_blend.S \
 | 
				
			||||||
 | 
							X86/3dnow_xform1.S X86/3dnow_xform2.S \
 | 
				
			||||||
 | 
							X86/3dnow_xform3.S X86/3dnow_xform4.S \
 | 
				
			||||||
 | 
							X86/3dnow_normal.S X86/3dnow_vertex.S \
 | 
				
			||||||
 | 
							X86/sse_xform1.S X86/sse_xform2.S \
 | 
				
			||||||
 | 
							X86/sse_xform3.S X86/sse_xform4.S \
 | 
				
			||||||
 | 
							X86/sse_normal.S X86/sse_vertex.S"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
linux-x86-static:
 | 
					linux-x86-static:
 | 
				
			||||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
@@ -662,7 +723,7 @@ linux-386-glide:
 | 
				
			|||||||
	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
 | 
						"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
 | 
				
			||||||
	"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
						"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
				
			||||||
	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
						"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
				
			||||||
	"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL"
 | 
						"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
 | 
				
			||||||
	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
 | 
						"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
 | 
				
			||||||
		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
 | 
							X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
 | 
				
			||||||
		X86/x86_cliptest.S X86/x86_vertex.S"
 | 
							X86/x86_cliptest.S X86/x86_vertex.S"
 | 
				
			||||||
@@ -682,7 +743,7 @@ linux-386-opt-glide:
 | 
				
			|||||||
	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
 | 
						"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
 | 
				
			||||||
	"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
						"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
				
			||||||
	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
						"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
				
			||||||
	"APP_LIB_DEPS = -lm" \
 | 
						"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
 | 
				
			||||||
	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
 | 
						"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
 | 
				
			||||||
		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
 | 
							X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
 | 
				
			||||||
		X86/x86_cliptest.S X86/x86_vertex.S"
 | 
							X86/x86_cliptest.S X86/x86_vertex.S"
 | 
				
			||||||
@@ -701,7 +762,7 @@ linux-x86-glide:
 | 
				
			|||||||
	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
 | 
						"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
 | 
				
			||||||
	"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
						"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
				
			||||||
	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
						"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
				
			||||||
	"APP_LIB_DEPS = -lm" \
 | 
						"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
 | 
				
			||||||
	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
 | 
						"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
 | 
				
			||||||
		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
 | 
							X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
 | 
				
			||||||
		X86/x86_cliptest.S X86/x86_vertex.S \
 | 
							X86/x86_cliptest.S X86/x86_vertex.S \
 | 
				
			||||||
@@ -832,7 +893,7 @@ linux-osmesa16:
 | 
				
			|||||||
	"OSMESA16_LIB = libOSMesa16.so" \
 | 
						"OSMESA16_LIB = libOSMesa16.so" \
 | 
				
			||||||
	"CC = gcc" \
 | 
						"CC = gcc" \
 | 
				
			||||||
	"CPLUSPLUS = g++" \
 | 
						"CPLUSPLUS = g++" \
 | 
				
			||||||
	"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
 | 
						"CFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
 | 
				
			||||||
	"CCFLAGS = $(CFLAGS)" \
 | 
						"CCFLAGS = $(CFLAGS)" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.linux" \
 | 
						"MAKELIB = ../bin/mklib.linux" \
 | 
				
			||||||
	"GL_LIB_DEPS = -lm -lpthread" \
 | 
						"GL_LIB_DEPS = -lm -lpthread" \
 | 
				
			||||||
@@ -844,7 +905,7 @@ linux-osmesa32:
 | 
				
			|||||||
	"OSMESA16_LIB = libOSMesa32.so" \
 | 
						"OSMESA16_LIB = libOSMesa32.so" \
 | 
				
			||||||
	"CC = gcc" \
 | 
						"CC = gcc" \
 | 
				
			||||||
	"CPLUSPLUS = g++" \
 | 
						"CPLUSPLUS = g++" \
 | 
				
			||||||
	"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
 | 
						"CFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
 | 
				
			||||||
	"CCFLAGS = $(CFLAGS)" \
 | 
						"CCFLAGS = $(CFLAGS)" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.linux" \
 | 
						"MAKELIB = ../bin/mklib.linux" \
 | 
				
			||||||
	"GL_LIB_DEPS = -lm -lpthread" \
 | 
						"GL_LIB_DEPS = -lm -lpthread" \
 | 
				
			||||||
@@ -1177,6 +1238,7 @@ sunos5:
 | 
				
			|||||||
	"GLW_LIB = libGLw.a" \
 | 
						"GLW_LIB = libGLw.a" \
 | 
				
			||||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
						"OSMESA_LIB = libOSMesa.a" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
	"CFLAGS = -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
						"CFLAGS = -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.ar-ruv" \
 | 
						"MAKELIB = ../bin/mklib.ar-ruv" \
 | 
				
			||||||
	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
@@ -1189,6 +1251,7 @@ sunos5-sl:
 | 
				
			|||||||
	"GLW_LIB = libGLw.so" \
 | 
						"GLW_LIB = libGLw.so" \
 | 
				
			||||||
	"OSMESA_LIB = libOSMesa.so" \
 | 
						"OSMESA_LIB = libOSMesa.so" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
	"CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
						"CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.sunos5" \
 | 
						"MAKELIB = ../bin/mklib.sunos5" \
 | 
				
			||||||
	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
@@ -1201,6 +1264,7 @@ sunos5-ultra:
 | 
				
			|||||||
	"GLW_LIB = libGLw.a" \
 | 
						"GLW_LIB = libGLw.a" \
 | 
				
			||||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
						"OSMESA_LIB = libOSMesa.a" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
	"CFLAGS = -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
						"CFLAGS = -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.ar-ruv" \
 | 
						"MAKELIB = ../bin/mklib.ar-ruv" \
 | 
				
			||||||
	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
@@ -1213,6 +1277,7 @@ sunos5-ultra-sl:
 | 
				
			|||||||
	"GLW_LIB = libGLw.so" \
 | 
						"GLW_LIB = libGLw.so" \
 | 
				
			||||||
	"OSMESA_LIB = libOSMesa.so" \
 | 
						"OSMESA_LIB = libOSMesa.so" \
 | 
				
			||||||
	"CC = cc" \
 | 
						"CC = cc" \
 | 
				
			||||||
 | 
						"CPLUSPLUS = CC" \
 | 
				
			||||||
	"CFLAGS = -KPIC -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
						"CFLAGS = -KPIC -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.sunos5" \
 | 
						"MAKELIB = ../bin/mklib.sunos5" \
 | 
				
			||||||
	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 | 
				
			||||||
@@ -1418,7 +1483,7 @@ vistra:
 | 
				
			|||||||
# -woff 1521 = "nonstandard preprocessing directive is used"
 | 
					# -woff 1521 = "nonstandard preprocessing directive is used"
 | 
				
			||||||
# -woff 3496 = "bitwise operator precedence"
 | 
					# -woff 3496 = "bitwise operator precedence"
 | 
				
			||||||
irix-debug:
 | 
					irix-debug:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
	"GLU_LIB = libGLU.a" \
 | 
						"GLU_LIB = libGLU.a" \
 | 
				
			||||||
	"GLUT_LIB = libglut.a" \
 | 
						"GLUT_LIB = libglut.a" \
 | 
				
			||||||
@@ -1431,7 +1496,7 @@ irix-debug:
 | 
				
			|||||||
	"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXext -lXmu -lXi -lfpe -lXext -lXmu -lXi -lm"
 | 
						"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXext -lXmu -lXi -lfpe -lXext -lXmu -lXi -lm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEBUG:
 | 
					DEBUG:
 | 
				
			||||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
	"GL_LIB = libGL.a" \
 | 
						"GL_LIB = libGL.a" \
 | 
				
			||||||
	"GLU_LIB = libGLU.a" \
 | 
						"GLU_LIB = libGLU.a" \
 | 
				
			||||||
	"GLUT_LIB = libglut.a" \
 | 
						"GLUT_LIB = libglut.a" \
 | 
				
			||||||
@@ -1452,13 +1517,31 @@ linux-debug:
 | 
				
			|||||||
	"OSMESA_LIB = libOSMesa.so" \
 | 
						"OSMESA_LIB = libOSMesa.so" \
 | 
				
			||||||
	"CC = gcc" \
 | 
						"CC = gcc" \
 | 
				
			||||||
	"CPLUSPLUS = g++" \
 | 
						"CPLUSPLUS = g++" \
 | 
				
			||||||
	"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DSVGA -I/usr/include/glide -DFX -DMESA_TRACE" \
 | 
						"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DSVGA_foo -I/usr/include/glide -DFX_foo -DMESA_TRACE" \
 | 
				
			||||||
	"CCFLAGS = $(CFLAGS)" \
 | 
						"CCFLAGS = $(CFLAGS)" \
 | 
				
			||||||
	"MAKELIB = ../bin/mklib.linux" \
 | 
						"MAKELIB = ../bin/mklib.linux" \
 | 
				
			||||||
	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L/usr/local/glide/lib -lglide2x -lvga" \
 | 
						"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
 | 
				
			||||||
	"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
						"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
				
			||||||
	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
						"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
				
			||||||
	"APP_LIB_DEPS = -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide2x"
 | 
						"APP_LIB_DEPS = -lglut -lGLU -lGL"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					linux-x11-debug:
 | 
				
			||||||
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
 | 
						"GL_LIB = libGL.so" \
 | 
				
			||||||
 | 
						"GLU_LIB = libGLU.so" \
 | 
				
			||||||
 | 
						"GLUT_LIB = libglut.so" \
 | 
				
			||||||
 | 
						"GLW_LIB = libGLw.so" \
 | 
				
			||||||
 | 
						"OSMESA_LIB = libOSMesa.so" \
 | 
				
			||||||
 | 
						"CC = gcc" \
 | 
				
			||||||
 | 
						"CPLUSPLUS = g++" \
 | 
				
			||||||
 | 
						"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DMESA_TRACE" \
 | 
				
			||||||
 | 
						"CCFLAGS = $(CFLAGS)" \
 | 
				
			||||||
 | 
						"MAKELIB = ../bin/mklib.linux" \
 | 
				
			||||||
 | 
						"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
 | 
				
			||||||
 | 
						"GLU_LIB_DEPS = -L../lib -lGL -lm" \
 | 
				
			||||||
 | 
						"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
 | 
				
			||||||
 | 
						"APP_LIB_DEPS = -lglut -lGLU -lGL"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
linux-static-debug:
 | 
					linux-static-debug:
 | 
				
			||||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
						$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										42
									
								
								Makefile.X11
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								Makefile.X11
									
									
									
									
									
								
							@@ -1,9 +1,9 @@
 | 
				
			|||||||
# $Id: Makefile.X11,v 1.57 2001/10/22 22:45:18 brianp Exp $
 | 
					# $Id: Makefile.X11,v 1.56.2.13 2002/09/19 16:36:35 brianp Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mesa 3-D graphics library
 | 
					# Mesa 3-D graphics library
 | 
				
			||||||
# Version:  4.1
 | 
					# Version:  4.0.4
 | 
				
			||||||
# 
 | 
					# 
 | 
				
			||||||
# Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
					# Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
 | 
				
			||||||
# 
 | 
					# 
 | 
				
			||||||
# Permission is hereby granted, free of charge, to any person obtaining a
 | 
					# Permission is hereby granted, free of charge, to any person obtaining a
 | 
				
			||||||
# copy of this software and associated documentation files (the "Software"),
 | 
					# copy of this software and associated documentation files (the "Software"),
 | 
				
			||||||
@@ -42,6 +42,7 @@ default:
 | 
				
			|||||||
	@echo "  make bsdos4               for BSD/OS 4.x, dynamic libraries"
 | 
						@echo "  make bsdos4               for BSD/OS 4.x, dynamic libraries"
 | 
				
			||||||
	@echo "  make cygnus               for Win95/NT using Cygnus-Win32"
 | 
						@echo "  make cygnus               for Win95/NT using Cygnus-Win32"
 | 
				
			||||||
	@echo "  make cygnus-linux         for Win95/NT using Cygnus-Win32 under Linux"
 | 
						@echo "  make cygnus-linux         for Win95/NT using Cygnus-Win32 under Linux"
 | 
				
			||||||
 | 
						@echo "  make darwin               for Darwin - Mac OS X"
 | 
				
			||||||
	@echo "  make dgux                 for Data General"
 | 
						@echo "  make dgux                 for Data General"
 | 
				
			||||||
	@echo "  make freebsd              for FreeBSD systems with GCC"
 | 
						@echo "  make freebsd              for FreeBSD systems with GCC"
 | 
				
			||||||
	@echo "  make freebsd-386          for FreeBSD systems with GCC, w/ Intel assembly"
 | 
						@echo "  make freebsd-386          for FreeBSD systems with GCC, w/ Intel assembly"
 | 
				
			||||||
@@ -86,6 +87,7 @@ default:
 | 
				
			|||||||
	@echo "  make linux-sparc-ultra    for UltraSparc systems, make ELF shared libs"
 | 
						@echo "  make linux-sparc-ultra    for UltraSparc systems, make ELF shared libs"
 | 
				
			||||||
	@echo "  make linux-osmesa16       for 16-bit/channel OSMesa"
 | 
						@echo "  make linux-osmesa16       for 16-bit/channel OSMesa"
 | 
				
			||||||
	@echo "  make linux-osmesa32       for 32-bit/channel OSMesa"
 | 
						@echo "  make linux-osmesa32       for 32-bit/channel OSMesa"
 | 
				
			||||||
 | 
						@echo "  make linux-icc            for Linux with the Intel C/C++ compiler"
 | 
				
			||||||
	@echo "  make lynxos               for LynxOS systems with GCC"
 | 
						@echo "  make lynxos               for LynxOS systems with GCC"
 | 
				
			||||||
	@echo "  make macintosh            for Macintosh"
 | 
						@echo "  make macintosh            for Macintosh"
 | 
				
			||||||
	@echo "  make machten-2.2          for Macs w/ MachTen 2.2 (68k w/ FPU)"
 | 
						@echo "  make machten-2.2          for Macs w/ MachTen 2.2 (68k w/ FPU)"
 | 
				
			||||||
@@ -137,12 +139,12 @@ default:
 | 
				
			|||||||
# XXX we may have to split up this group of targets into those that
 | 
					# XXX we may have to split up this group of targets into those that
 | 
				
			||||||
# have a C++ compiler and those that don't for the SI-GLU library.
 | 
					# have a C++ compiler and those that don't for the SI-GLU library.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
aix aix-sl amix bsdos bsdos4 dgux freebsd freebsd-386 gcc \
 | 
					aix aix-sl amix bsdos bsdos4 darwin dgux freebsd freebsd-386 gcc \
 | 
				
			||||||
hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
 | 
					hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
 | 
				
			||||||
hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
 | 
					hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
 | 
				
			||||||
irix4 irix5 irix5-gcc irix5-dso irix6-o32 irix6-o32-dso \
 | 
					irix4 irix5 irix5-gcc irix5-dso \
 | 
				
			||||||
linux linux-static linux-debug linux-static-debug linux-prof \
 | 
					linux linux-static linux-debug linux-x11-debug linux-static-debug linux-prof \
 | 
				
			||||||
linux-x86 linux-x86-static linux-x86-debug \
 | 
					linux-x86 linux-icc linux-x86-static linux-x86-debug \
 | 
				
			||||||
linux-glide linux-386-glide linux-386-opt-glide \
 | 
					linux-glide linux-386-glide linux-386-opt-glide \
 | 
				
			||||||
linux-x86-glide linux-glide-debug linux-glide-prof \
 | 
					linux-x86-glide linux-glide-debug linux-glide-prof \
 | 
				
			||||||
linux-alpha-static linux-alpha \
 | 
					linux-alpha-static linux-alpha \
 | 
				
			||||||
@@ -171,12 +173,11 @@ sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware uwin vistra:
 | 
				
			|||||||
	if [ -d book     ] ; then cd book     ; $(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 [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
irix6-n32 irix6-n32-dso irix6-gcc-n32-sl irix-debug:
 | 
					irix6-o32 irix6-o32-dso irix6-n32 irix6-n32-dso irix6-gcc-n32-sl irix-debug:
 | 
				
			||||||
	-mkdir lib32
 | 
						-mkdir lib32
 | 
				
			||||||
	if [ -d src      ] ; then touch src/depend      ; fi
 | 
						if [ -d src      ] ; then touch src/depend      ; fi
 | 
				
			||||||
	if [ -d src-glu  ] ; then touch src-glu/depend  ; fi
 | 
						if [ -d src-glu  ] ; then touch src-glu/depend  ; fi
 | 
				
			||||||
	if [ -d src-glut ] ; then touch src-glut/depend ; fi
 | 
						if [ -d src-glut ] ; then touch src-glut/depend ; fi
 | 
				
			||||||
	if [ -d src-glut ] ; then touch src-glut/depend ; fi
 | 
					 | 
				
			||||||
	if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
 | 
						if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
 | 
				
			||||||
	if [ -d src      ] ; then cd src      ; $(MAKE) -f Makefile.X11 $@ ; fi
 | 
						if [ -d src      ] ; then cd src      ; $(MAKE) -f Makefile.X11 $@ ; fi
 | 
				
			||||||
	if [ -d src-glu  ] ; then cd src-glu  ; $(MAKE) -f Makefile.X11 $@ ; fi
 | 
						if [ -d src-glu  ] ; then cd src-glu  ; $(MAKE) -f Makefile.X11 $@ ; fi
 | 
				
			||||||
@@ -300,7 +301,6 @@ linux-osmesa16 linux-osmesa32:
 | 
				
			|||||||
	if [ -d src ] ; then touch src/depend ; fi
 | 
						if [ -d src ] ; then touch src/depend ; fi
 | 
				
			||||||
	if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
 | 
						if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Remove .o files, emacs backup files, etc.
 | 
					# Remove .o files, emacs backup files, etc.
 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	-rm -f ggi/*~ *.o
 | 
						-rm -f ggi/*~ *.o
 | 
				
			||||||
@@ -322,20 +322,18 @@ clean:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Remove everything that can be remade
 | 
					# Remove everything that can be remade
 | 
				
			||||||
realclean: clean
 | 
					realclean: clean
 | 
				
			||||||
	-rm -f lib/*
 | 
						-rm -fr lib lib32 lib64
 | 
				
			||||||
	cd demos       && $(MAKE) -f Makefile.X11 realclean || true
 | 
						cd demos       && $(MAKE) -f Makefile.X11 realclean || true
 | 
				
			||||||
	cd xdemos      && $(MAKE) -f Makefile.X11 realclean || true
 | 
						cd xdemos      && $(MAKE) -f Makefile.X11 realclean || true
 | 
				
			||||||
	cd book        && $(MAKE) -f Makefile.X11 realclean || true
 | 
						cd book        && $(MAKE) -f Makefile.X11 realclean || true
 | 
				
			||||||
	cd samples     && $(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-4.0
 | 
					DIRECTORY = Mesa-4.0.4
 | 
				
			||||||
LIB_NAME = MesaLib-4.0
 | 
					LIB_NAME = MesaLib-4.0.4
 | 
				
			||||||
DEMO_NAME = MesaDemos-4.0
 | 
					DEMO_NAME = MesaDemos-4.0.4
 | 
				
			||||||
GLU_NAME = MesaGLU-4.0
 | 
					GLU_NAME = MesaGLU-4.0.4
 | 
				
			||||||
GLUT_NAME = GLUT-3.7
 | 
					GLUT_NAME = GLUT-3.7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -380,7 +378,7 @@ LIB_FILES =	\
 | 
				
			|||||||
	$(DIRECTORY)/include/GL/internal/glcore.h			\
 | 
						$(DIRECTORY)/include/GL/internal/glcore.h			\
 | 
				
			||||||
	$(DIRECTORY)/include/GL/Makefile.in				\
 | 
						$(DIRECTORY)/include/GL/Makefile.in				\
 | 
				
			||||||
	$(DIRECTORY)/include/GL/Makefile.am				\
 | 
						$(DIRECTORY)/include/GL/Makefile.am				\
 | 
				
			||||||
	$(DIRECTORY)/include/GL/dosmesa.h				\
 | 
						$(DIRECTORY)/include/GL/dmesa.h					\
 | 
				
			||||||
	$(DIRECTORY)/include/GL/amesa.h					\
 | 
						$(DIRECTORY)/include/GL/amesa.h					\
 | 
				
			||||||
	$(DIRECTORY)/include/GL/fxmesa.h				\
 | 
						$(DIRECTORY)/include/GL/fxmesa.h				\
 | 
				
			||||||
	$(DIRECTORY)/include/GL/ggimesa.h				\
 | 
						$(DIRECTORY)/include/GL/ggimesa.h				\
 | 
				
			||||||
@@ -403,6 +401,7 @@ LIB_FILES =	\
 | 
				
			|||||||
	$(DIRECTORY)/include/GL/xmesa_x.h				\
 | 
						$(DIRECTORY)/include/GL/xmesa_x.h				\
 | 
				
			||||||
	$(DIRECTORY)/include/GL/xmesa_xf86.h				\
 | 
						$(DIRECTORY)/include/GL/xmesa_xf86.h				\
 | 
				
			||||||
	$(DIRECTORY)/include/GLView.h					\
 | 
						$(DIRECTORY)/include/GLView.h					\
 | 
				
			||||||
 | 
						$(DIRECTORY)/include/dmesadxe.h					\
 | 
				
			||||||
	$(DIRECTORY)/include/Makefile.in				\
 | 
						$(DIRECTORY)/include/Makefile.in				\
 | 
				
			||||||
	$(DIRECTORY)/include/Makefile.am				\
 | 
						$(DIRECTORY)/include/Makefile.am				\
 | 
				
			||||||
	$(DIRECTORY)/src/Makefile*					\
 | 
						$(DIRECTORY)/src/Makefile*					\
 | 
				
			||||||
@@ -433,6 +432,9 @@ LIB_FILES =	\
 | 
				
			|||||||
	$(DIRECTORY)/src/windml/tornado/*.cdf				\
 | 
						$(DIRECTORY)/src/windml/tornado/*.cdf				\
 | 
				
			||||||
	$(DIRECTORY)/src/windml/man3/*.3				\
 | 
						$(DIRECTORY)/src/windml/man3/*.3				\
 | 
				
			||||||
	$(DIRECTORY)/src/windml/man3/*.html				\
 | 
						$(DIRECTORY)/src/windml/man3/*.html				\
 | 
				
			||||||
 | 
						$(DIRECTORY)/src/DOS/*.[chS]					\
 | 
				
			||||||
 | 
						$(DIRECTORY)/src/DOS/vesa/*.[ch]				\
 | 
				
			||||||
 | 
						$(DIRECTORY)/src/BeOS/*.h					\
 | 
				
			||||||
	$(DIRECTORY)/src/BeOS/*.cpp					\
 | 
						$(DIRECTORY)/src/BeOS/*.cpp					\
 | 
				
			||||||
	$(DIRECTORY)/src/FX/Makefile.am					\
 | 
						$(DIRECTORY)/src/FX/Makefile.am					\
 | 
				
			||||||
	$(DIRECTORY)/src/FX/Makefile.in					\
 | 
						$(DIRECTORY)/src/FX/Makefile.in					\
 | 
				
			||||||
@@ -581,7 +583,6 @@ OBSOLETE_LIB_FILES = \
 | 
				
			|||||||
	$(DIRECTORY)/src/D3D/*bat					\
 | 
						$(DIRECTORY)/src/D3D/*bat					\
 | 
				
			||||||
	$(DIRECTORY)/src/D3D/*DEF					\
 | 
						$(DIRECTORY)/src/D3D/*DEF					\
 | 
				
			||||||
	$(DIRECTORY)/src/DOS/DEPEND.DOS					\
 | 
						$(DIRECTORY)/src/DOS/DEPEND.DOS					\
 | 
				
			||||||
	$(DIRECTORY)/src/DOS/*.c					\
 | 
					 | 
				
			||||||
	$(DIRECTORY)/src/S3/*.[ch]					\
 | 
						$(DIRECTORY)/src/S3/*.[ch]					\
 | 
				
			||||||
	$(DIRECTORY)/src/S3/*.def					\
 | 
						$(DIRECTORY)/src/S3/*.def					\
 | 
				
			||||||
	$(DIRECTORY)/src/S3/*.mak					\
 | 
						$(DIRECTORY)/src/S3/*.mak					\
 | 
				
			||||||
@@ -614,6 +615,9 @@ DEMO_FILES =	\
 | 
				
			|||||||
	$(DIRECTORY)/src-glut/descrip.mms	\
 | 
						$(DIRECTORY)/src-glut/descrip.mms	\
 | 
				
			||||||
	$(DIRECTORY)/src-glut/mms_depend	\
 | 
						$(DIRECTORY)/src-glut/mms_depend	\
 | 
				
			||||||
	$(DIRECTORY)/src-glut/*.[ch]		\
 | 
						$(DIRECTORY)/src-glut/*.[ch]		\
 | 
				
			||||||
 | 
						$(DIRECTORY)/src-glut.dos/*.[ch]	\
 | 
				
			||||||
 | 
						$(DIRECTORY)/src-glut.dos/Makefile.DJ	\
 | 
				
			||||||
 | 
						$(DIRECTORY)/src-glut.dos/PC_HW/*.[chS]	\
 | 
				
			||||||
	$(DIRECTORY)/images/*			\
 | 
						$(DIRECTORY)/images/*			\
 | 
				
			||||||
	$(DIRECTORY)/demos/Makefile*		\
 | 
						$(DIRECTORY)/demos/Makefile*		\
 | 
				
			||||||
	$(DIRECTORY)/demos/descrip.mms		\
 | 
						$(DIRECTORY)/demos/descrip.mms		\
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										94
									
								
								docs/MESA_agp_offset.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								docs/MESA_agp_offset.spec
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,94 @@
 | 
				
			|||||||
 | 
					Name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    MESA_agp_offset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Name Strings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    GLX_MESA_agp_offset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Contact
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Brian Paul, Tungsten Graphics, Inc. (brian '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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    GLuint glXGetAGPOffsetMESA( const GLvoid *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
 | 
				
			||||||
							
								
								
									
										138
									
								
								docs/MESA_pack_invert.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								docs/MESA_pack_invert.spec
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,138 @@
 | 
				
			|||||||
 | 
					Name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    MESA_pack_invert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Name Strings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    GL_MESA_pack_invert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Contact
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Brian Paul, Tungsten Graphics, Inc. (brian '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
 | 
				
			||||||
@@ -15,11 +15,11 @@ Contact
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Status
 | 
					Status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Not yet shipping.
 | 
					    OBSOLETE - NEVER SHIPPED (use GL_NV_packed_depth_stencil)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version
 | 
					Version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $Id: MESA_packed_depth_stencil.spec,v 1.1 2000/11/03 14:58:45 brianp Exp $
 | 
					    $Id: MESA_packed_depth_stencil.spec,v 1.1.2.1 2002/09/20 19:14:11 brianp Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Number
 | 
					Number
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,11 +14,11 @@ Contact
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Status
 | 
					Status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Not yet shipping.
 | 
					    OBSOLETE - NEVER SHIPPED (use GL_NV_point_sprite)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version
 | 
					Version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $Id: MESA_sprite_point.spec,v 1.1 2000/12/08 00:21:02 brianp Exp $
 | 
					    $Id: MESA_sprite_point.spec,v 1.1.2.1 2002/09/20 19:14:11 brianp Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Number
 | 
					Number
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										197
									
								
								docs/MESA_ycbcr_texture.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										197
									
								
								docs/MESA_ycbcr_texture.spec
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,197 @@
 | 
				
			|||||||
 | 
					Name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    MESA_ycbcr_texture
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Name Strings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    GL_MESA_ycbcr_texture
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Contact
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Brian Paul, Tungsten Graphics, Inc. (brian '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 in the YCbCr format.  There is
 | 
				
			||||||
 | 
					    no support for converting YCbCr images to RGB or vice versa.  The
 | 
				
			||||||
 | 
					    intention is for YCbCr image data to be directly sent to the renderer
 | 
				
			||||||
 | 
					    without any pixel transfer operations.  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:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        GL_YCBCR_MESA                   0x8757
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Accepted by the <type> parameter of TexImage2D and TexSubImage2D:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        GL_UNSIGNED_SHORT_8_8_MESA      0x85BA /* same as Apple's */
 | 
				
			||||||
 | 
					        GL_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 102,
 | 
				
			||||||
 | 
					    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         3         YCBCR_422_MESA
 | 
				
			||||||
 | 
					    UNSIGNED_SHORT_8_8_REV_MESA   ushort         3         YCBCR_422_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 102,
 | 
				
			||||||
 | 
					    add the following to Table 3.12 (Packed pixel fiedl assignments):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                       First       Second     Third      Fourth
 | 
				
			||||||
 | 
					    Format             Element     Element    Element    Element
 | 
				
			||||||
 | 
					    ------             -------     -------    -------    -------
 | 
				
			||||||
 | 
					    YCBCR_422_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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
							
								
								
									
										141
									
								
								docs/README.BEOS
									
									
									
									
									
								
							
							
						
						
									
										141
									
								
								docs/README.BEOS
									
									
									
									
									
								
							@@ -1,102 +1,65 @@
 | 
				
			|||||||
 | 
					Mesa-4.0.3 BeOS R5 driver patch
 | 
				
			||||||
 | 
					Version alpha v0.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                         Mesa / BeOS Information
 | 
					HOW TO BUILD:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1) You need gcc 2.95.3 to be installed: 
 | 
				
			||||||
 | 
					http://www.bebits.com/app/2157
 | 
				
			||||||
 | 
					Check your installed gcc version by running this command from a Terminal:
 | 
				
			||||||
 | 
					gcc -v
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2) Download Mesa-4.0.3 sources 
 | 
				
			||||||
 | 
					http://prdownloads.sourceforge.net/mesa3d/MesaLib-4.0.3.tar.gz?download
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Introduction
 | 
					3) Extract official 4.0.3 sources code somewhere
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Mesa 3.1 features a new driver for the BeOS.  The new driver implements
 | 
					4) Then, extract the BeOS driver patch at same place. This will 
 | 
				
			||||||
a clone of the BGLView class.  This class, derived from BView, allows
 | 
					overwrite modified sources and add BeOS-specific ones.
 | 
				
			||||||
OpenGL rendering into a BeOS window.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Any application which uses the BGLView should be able to use Mesa
 | 
					5) Open a new Terminal window:
 | 
				
			||||||
instead of Be's OpenGL without changing any code.
 | 
					  $ cd /path/to/Mesa-4.0.3/src
 | 
				
			||||||
 | 
					  $ make -f Makefile.BeOS-R5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Since Be's OpenGL implementation (as of R4) is basically just the
 | 
					6) Take a cup of coffee!
 | 
				
			||||||
SGI sample implementation, it's pretty slow.  You'll see that Mesa
 | 
					 | 
				
			||||||
is considerably faster.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					7) When done, you should find a obj.x86/libGL.so
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					8) To test this library as a Be Inc's one:
 | 
				
			||||||
 | 
					- rename /boot/beos/system/lib/libGL.so into libGL.so.r5
 | 
				
			||||||
 | 
					- put/copy obj.x86/libGL.so file into /boot/home/config/lib directory
 | 
				
			||||||
 | 
					- run GLTeapot...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Source Code
 | 
					To see more information, run your(s) GL app(s) from Terminal:
 | 
				
			||||||
 | 
					  $ export MESA_INFO=1
 | 
				
			||||||
 | 
					  $ export MESA_DEBUG=1
 | 
				
			||||||
 | 
					  $ myGLapp
 | 
				
			||||||
 | 
					  MMX cpu detected.
 | 
				
			||||||
 | 
					  Not testing OS support for SSE, leaving enabled.
 | 
				
			||||||
 | 
					  SSE cpu detected.
 | 
				
			||||||
 | 
					  Mesa GL_VERSION = 1.2 Mesa 4.0.3
 | 
				
			||||||
 | 
					  Mesa GL_RENDERER = BGLView
 | 
				
			||||||
 | 
					  Mesa GL_VENDOR = Brian Paul
 | 
				
			||||||
 | 
					  Mesa GL_EXTENSIONS = GL_ARB_imaging GL_ARB_multitexture 
 | 
				
			||||||
 | 
					  [...]
 | 
				
			||||||
 | 
					  GL_SGIX_shadow GL_SGIX_shadow_ambient
 | 
				
			||||||
 | 
					  Mesa thread-safe: NO
 | 
				
			||||||
 | 
					  Mesa x86-optimized: YES
 | 
				
			||||||
 | 
					  Mesa sparc-optimized: NO    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
 | 
					BUILD ISSUES:
 | 
				
			||||||
It's not 100% finished at this time but many GLUT-based demos are
 | 
					- If the build stop on math/m_*.c files, you're not using gcc 2.95.3.
 | 
				
			||||||
working.  No optimizations have been made at this time.
 | 
					- The Makefile.BeOS-R5 is set currently to build a non-debug x86/mmx/sse/3dnow optimized libGL.so.
 | 
				
			||||||
 | 
					It's a modified BeOS standard makefile, so editing it to follow your needs should be easy...
 | 
				
			||||||
 | 
					- NASM support instead of built-in gcc assembler (GAS) is not supported yet...
 | 
				
			||||||
 | 
					- "Mesa thread-safe: NO" is correct: the Mesa multithread support don't allow to share a gl context 
 | 
				
			||||||
 | 
					between any thread, only give you one thread <-> one context, which is inaccurate under BeOS...  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KNOWN LIMITATIONS & BUGS:
 | 
				
			||||||
 | 
					- BeOS driver only support software rendition ATM
 | 
				
			||||||
 | 
					- No BDirectWindow support yet, too. GLLife will not work for this reason.
 | 
				
			||||||
 | 
					- 3dnow support untested
 | 
				
			||||||
 | 
					- GLTeapot: object mouse control don't work
 | 
				
			||||||
 | 
					- GLTeapot: window resizing don't work
 | 
				
			||||||
 | 
					- many others: ALPHA VERSION, remember.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					philippe.houdoin@free.fr
 | 
				
			||||||
Compiling
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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 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 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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Mesa's implementation of the BGLView class has an extra member
 | 
					 | 
				
			||||||
function:  CopySubBufferMESA().  It basically works like SwapBuffers()
 | 
					 | 
				
			||||||
but it only copies a sub region from the back buffer to the front
 | 
					 | 
				
			||||||
buffer.  This is a useful optimization for some applications.
 | 
					 | 
				
			||||||
If you use this method in your code be sure that you check at runtime
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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, to my knowledge, as
 | 
					 | 
				
			||||||
of February, 1999.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
----------------------------------------------------------------------
 | 
					 | 
				
			||||||
$Id: README.BEOS,v 1.6 1999/11/27 01:40:40 brianp Exp $
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										211
									
								
								docs/README.DJ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								docs/README.DJ
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,211 @@
 | 
				
			|||||||
 | 
								Mesa 4.0 DOS/DJGPP Port v1.1
 | 
				
			||||||
 | 
								~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Description:
 | 
				
			||||||
 | 
					~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Well, guess what... this is the DOS port of Mesa 4.0.4, for DJGPP fans... Whoa!
 | 
				
			||||||
 | 
					The driver has its origins in ddsample.c, written by Brian Paul and found by me
 | 
				
			||||||
 | 
					in Mesa 3.4.2.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Legal:
 | 
				
			||||||
 | 
					~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa copyright applies, provided this package is used within Mesa. For anything
 | 
				
			||||||
 | 
					else, see GPL.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Installation:
 | 
				
			||||||
 | 
					~~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Unzip and type:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						make -f Makefile.DJ [OPTIONS...]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Available options:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     Environment variables:
 | 
				
			||||||
 | 
						CPU		optimize for the given processor.
 | 
				
			||||||
 | 
								default = k6
 | 
				
			||||||
 | 
						BIG_OPT=1	crazy optimizations; not very useful, though...
 | 
				
			||||||
 | 
								default = no
 | 
				
			||||||
 | 
						GLIDE		absolute path to Glide library; used with FX.
 | 
				
			||||||
 | 
								default = $(TOP)/include/glide3
 | 
				
			||||||
 | 
						FX=1		build for 3dfx Glide3; use it if you have the Glide
 | 
				
			||||||
 | 
								SDK (designed for your platform), and, of course, a
 | 
				
			||||||
 | 
								3dfx card... Note that this disables compilation of
 | 
				
			||||||
 | 
								actual DMesa code, as Glide does all the stuff!
 | 
				
			||||||
 | 
								default = no
 | 
				
			||||||
 | 
						HAVE_X86=1	optimize for i386.
 | 
				
			||||||
 | 
								default = no
 | 
				
			||||||
 | 
						HAVE_MMX=1	MMX instructions; use only if you assembler/compiler
 | 
				
			||||||
 | 
								supports MMX instruction set; backwards compatibility
 | 
				
			||||||
 | 
								with older processors is still preserved.
 | 
				
			||||||
 | 
								default = no
 | 
				
			||||||
 | 
						HAVE_SSE=1	(see HAVE_MMX)
 | 
				
			||||||
 | 
								default = no
 | 
				
			||||||
 | 
						HAVE_3DNOW=1	(see HAVE_MMX)
 | 
				
			||||||
 | 
								default = no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     Targets:
 | 
				
			||||||
 | 
						all:		build everything
 | 
				
			||||||
 | 
						libgl:		build GL
 | 
				
			||||||
 | 
						libglu:		build GLU
 | 
				
			||||||
 | 
						libglut:	build GLUT
 | 
				
			||||||
 | 
						clean:		remove object files
 | 
				
			||||||
 | 
						realclean:	remove all generated files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tested on:
 | 
				
			||||||
 | 
						CPU:		K6-2 (CXT) @500(412.5) MHz
 | 
				
			||||||
 | 
						Mainboard:	ViA Apollo VP2/97 w/ 128 MB SDRAM
 | 
				
			||||||
 | 
						Video card:	PowerColor Evil King3 (Voodoo3 3000) w/ 16384 kB SDRAM
 | 
				
			||||||
 | 
						DJGPP:		djdev 2.03 + gcc v3.1 + make v3.79.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FAQ:
 | 
				
			||||||
 | 
					~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Compilation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) I tried to run `make' and it exits because `gcc' complains it cannot find
 | 
				
			||||||
 | 
					      some stupid file.
 | 
				
			||||||
 | 
					   A) You need LFN support.
 | 
				
			||||||
 | 
					   A) When compiling for Glide (FX=1), pay attention to Glide path.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. Dynamic modules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) What are you mumbling about dynamic modules?
 | 
				
			||||||
 | 
					   A) You must have the DXE2 package (available on SimTel.Net, courtesy of
 | 
				
			||||||
 | 
					      Andrew Zabolotny) installed in order to build the dynamic modules.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) I have DXE2, but I couln'd build the `dxe2gen.exe'.
 | 
				
			||||||
 | 
					   Q) I built `dxe2gen.exe', but it doesn't do the job right.
 | 
				
			||||||
 | 
					   A) There is a patched version on my web page.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) DXE2 modules give me headaches...
 | 
				
			||||||
 | 
					   A) The DXE2 modules are not compulsory. The static libraries are still built
 | 
				
			||||||
 | 
					      and you can use them in the old-fashioned, classic way. For example:
 | 
				
			||||||
 | 
						gcc -o OUT.exe IN.c -lglut -lglu -lgl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) Okay, DXE2 modules are built. How can I use them?
 | 
				
			||||||
 | 
					   A) Usage of the dynamic modules requires three things:
 | 
				
			||||||
 | 
						- include DMESADXE.H in one of the sources, so references inside
 | 
				
			||||||
 | 
						  dynamic modules will get resolved (or use `-include' directive).
 | 
				
			||||||
 | 
						- link against import libraries (libI*.a) and LIBDL.A, which will do
 | 
				
			||||||
 | 
						  the dynamic linkage job for you
 | 
				
			||||||
 | 
						- put the DXEs somewhere along the library path (LD_LIBRARY_PATH) or
 | 
				
			||||||
 | 
						  in the current directory
 | 
				
			||||||
 | 
					      For example:
 | 
				
			||||||
 | 
						gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) The application dies with "Abort!" due to unresolved symbols.
 | 
				
			||||||
 | 
					   A) This is bad! Extract the unresolved symbol list from this module. For
 | 
				
			||||||
 | 
					      example:
 | 
				
			||||||
 | 
						dxe2gen --show-unres gl.dxe > u
 | 
				
			||||||
 | 
					      Check DMESADXE.H; the symbols in `u' must either be present here or be
 | 
				
			||||||
 | 
					      exported from another module that has to be loaded before your faulting
 | 
				
			||||||
 | 
					      one. Then recompile.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. Using Mesa for DJGPP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) Does this build work in Win9x?
 | 
				
			||||||
 | 
					   A) Yes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) Does it work under NT (W2k, XP) core?
 | 
				
			||||||
 | 
					   A) Uh... probably not!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) I made a simple application and it does nothing. It exits right away. Not
 | 
				
			||||||
 | 
					      even a blank screen.
 | 
				
			||||||
 | 
					   A) The current version supports only RGB[A] modes, for it made no sense to
 | 
				
			||||||
 | 
					      me to endorse color-index (aka palette) modes.
 | 
				
			||||||
 | 
					   A) Single-buffered is not allowed at all. Until I can find a way to use
 | 
				
			||||||
 | 
					      *REAL* hardware acceleration, it won't get implemented.
 | 
				
			||||||
 | 
					   A) Another weird "feature" is that buffer width must be multiple of 4 (I'm a
 | 
				
			||||||
 | 
					      lazy programmer and I found that the easiest way to keep buffer handling
 | 
				
			||||||
 | 
					      at peak performance ;-).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) My demo doesn't display text. I know I used the glut font routines!
 | 
				
			||||||
 | 
					   A) Then you probably use GLUT as a DXE. Well, there is no direct access to
 | 
				
			||||||
 | 
					      variables due to the way DXE works. Read the documentation. The author of
 | 
				
			||||||
 | 
					      GLUT took this into account for _WIN32 DLL's only; I don't want to modify
 | 
				
			||||||
 | 
					      his headers. The only workaround is to link GLUT the old way :-(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) The DJGPP port of Mesa is so SLOOOW! The Win32 OpenGL performs so much
 | 
				
			||||||
 | 
					      better...
 | 
				
			||||||
 | 
					   A) Is that a question? If you have a Voodoo3/Banshee card, you're lucky. The
 | 
				
			||||||
 | 
					      Glide port is on my web page. If you haven't, sorry; everything is done
 | 
				
			||||||
 | 
					      in software. Suggestions?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Q) I have a super/mega/ultra monitor and all you can do is 60Hz? My eyes are
 | 
				
			||||||
 | 
					      leaking from the orbits...
 | 
				
			||||||
 | 
					   A) If you were compiling for Glide, see Glide info. If not, be aware that
 | 
				
			||||||
 | 
					      refresh rate control works only for VESA 3.0. The environment variable
 | 
				
			||||||
 | 
					      DMESA_REFRESH sets the default screen refresh. For example:
 | 
				
			||||||
 | 
						set DMESA_REFRESH=75
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					libGLUT (the toolkit):
 | 
				
			||||||
 | 
					~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Well, this "skeletal" GLUT implementation is not mine. Thanks should go to
 | 
				
			||||||
 | 
					Bernhard Tschirren, Mark Kilgard, Brian Paul and probably others (or probably
 | 
				
			||||||
 | 
					not ;-). I only changed it to be self-standing (Allegro-free). The keyboard,
 | 
				
			||||||
 | 
					mouse and timer drivers were inspired from an old project of mine (D3Xl) and
 | 
				
			||||||
 | 
					fixed with many Allegro "infusions"; I deeply thank to Shawn Hargreaves et co.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					My keyboard driver used only scancodes, but since GLUT requires ASCII values
 | 
				
			||||||
 | 
					for keys, I borrowed the translation tables (and maybe more) from Allegro.
 | 
				
			||||||
 | 
					Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users) will shut down the GLUT
 | 
				
			||||||
 | 
					engine unconditionally: it will raise SIGINT, which in turn will call the
 | 
				
			||||||
 | 
					destructors (let's hope), thus cleaning up your/my mess ;-) NB: since the
 | 
				
			||||||
 | 
					DJGPP guys ensured signal handlers won't go beyond program's space (and since
 | 
				
			||||||
 | 
					dynamic modules shall) the SIGINT can't be hooked (well, it can, but it is
 | 
				
			||||||
 | 
					useless), therefore you must live with the 'Exiting due to signal SIGINT'
 | 
				
			||||||
 | 
					message...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The mouse driver is far from complete (lack of positioning, drawing, etc),
 | 
				
			||||||
 | 
					but is enough to make almost all the demos work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The timer is pretty versatile for it supports multiple timers with different
 | 
				
			||||||
 | 
					frequencies. It may not be the most accurate timer in the known universe, but
 | 
				
			||||||
 | 
					I think it's OK. Take this example: you have timer A with a very high rate,
 | 
				
			||||||
 | 
					and then you have timer B with very low rate compared to A; now, A ticks OK,
 | 
				
			||||||
 | 
					but timer B will probably loose precision!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As an addition, stdout and stderr are redirected and dumped upon exit. This
 | 
				
			||||||
 | 
					means that printf can be safely called during graphics, but all messages come
 | 
				
			||||||
 | 
					in bulk! A bit of a hack, I know, but I think it's better than to miss them
 | 
				
			||||||
 | 
					at all. "Borrowed" from RHIDE (Robert Hoehne) or SETEDIT (Salvador Eduardo
 | 
				
			||||||
 | 
					Tropea)... I'm not sure.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Window creating defaults: 640x480x16 at (0,0), 8-bit stencil, 16-bit accum.
 | 
				
			||||||
 | 
					However, the video mode is chosen in such a way that first window will fit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					History:
 | 
				
			||||||
 | 
					~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					v1.0	mar-2002	initial release
 | 
				
			||||||
 | 
					v1.1	sep-2002	+ added 3dfx Glide3 support
 | 
				
			||||||
 | 
								+ added refresh rate control
 | 
				
			||||||
 | 
								+ added fonts in glut
 | 
				
			||||||
 | 
								* lots of minor changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Contact:
 | 
				
			||||||
 | 
					~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Name:   Borca Daniel
 | 
				
			||||||
 | 
					E-mail: dborca@yahoo.com
 | 
				
			||||||
 | 
					WWW:    http://www.geocities.com/dborca/
 | 
				
			||||||
@@ -1,12 +1,13 @@
 | 
				
			|||||||
File: docs/README.WIN32
 | 
					File: docs/README.WIN32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Last updated: Oct 15, 2001 - Karl Schultz - kschultz@users.sourceforge.net
 | 
					Last updated: Aug 15, 2002 - Karl Schultz - kschultz@users.sourceforge.net
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Quick Start
 | 
					Quick Start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory
 | 
					If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory
 | 
				
			||||||
of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for
 | 
					of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for
 | 
				
			||||||
an optimized build.
 | 
					an optimized build.  Note that you may have to run ...VC98/BIN/VCVARS32.BAT
 | 
				
			||||||
 | 
					to set up the appropriate compiler environment variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Details and Notes
 | 
					Details and Notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -17,9 +18,12 @@ Details and Notes
 | 
				
			|||||||
  demos      a handful of demo executables.
 | 
					  demos      a handful of demo executables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- After building, you can copy the above DLL files to a place in your PATH
 | 
					- After building, you can copy the above DLL files to a place in your PATH
 | 
				
			||||||
  or to the demos directory if you just want to give the demos a try.
 | 
					  such as $SystemRoot/SYSTEM32.  If you don't like putting things in a
 | 
				
			||||||
  The DLL and LIB files are copied to the ./lib directory.  The makefile
 | 
					  system directory, place them in the same directory as the executable(s).
 | 
				
			||||||
  creates this directory if it does not already exist.
 | 
					  For example, you can copy the DLL files to the demos directory if you
 | 
				
			||||||
 | 
					  just want to run the demos. The build process places the DLL and LIB files
 | 
				
			||||||
 | 
					  in the ./lib directory.  The makefile creates this directory if it does 
 | 
				
			||||||
 | 
					  not already exist.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- The make targets 'clean' and 'clobber' will remove objects and libraries.
 | 
					- The make targets 'clean' and 'clobber' will remove objects and libraries.
 | 
				
			||||||
  But the files in ./lib are never cleaned.
 | 
					  But the files in ./lib are never cleaned.
 | 
				
			||||||
@@ -52,10 +56,7 @@ Details and Notes
 | 
				
			|||||||
  difficult to modify the makefiles to generate them.
 | 
					  difficult to modify the makefiles to generate them.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- The si-glu sources are used to build the GLU libs.  This was done
 | 
					- The si-glu sources are used to build the GLU libs.  This was done
 | 
				
			||||||
  mainly to get the better tessellator code.  However the C++ NURBS
 | 
					  mainly to get the better tessellator code.
 | 
				
			||||||
  code is not built.  If you need NURBS, consider modifying the
 | 
					 | 
				
			||||||
  makefiles to build the C++ code or try to build the older GLU
 | 
					 | 
				
			||||||
  code in src-glu.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- The osmesa driver builds and should work on Windows as well as
 | 
					- The osmesa driver builds and should work on Windows as well as
 | 
				
			||||||
  any other platform.
 | 
					  any other platform.
 | 
				
			||||||
@@ -68,11 +69,11 @@ Details and Notes
 | 
				
			|||||||
  paths for the rasterizers.  See src/osmesa/osmesa.c for some good
 | 
					  paths for the rasterizers.  See src/osmesa/osmesa.c for some good
 | 
				
			||||||
  examples.
 | 
					  examples.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- There is DirectDraw support in the Windows driver, but I do not
 | 
					- There is DirectDraw support in the Windows driver, updated by
 | 
				
			||||||
  know if it compiles or works.  If you have an application that
 | 
					  Daniel Slater.  You'll need to uncomment the #define DDRAW line
 | 
				
			||||||
  does not draw much in a frame, but needs a higher framerate, then
 | 
					  in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries
 | 
				
			||||||
  it may pay to turn on the DirectDraw code, since DD often performs
 | 
					  in src/Makefile.win.  On some systems, you will acheive significantly
 | 
				
			||||||
  the off-screen to on-screen blit faster than GDI.
 | 
					  higher framerates with DirectDraw.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Some of the more specialized code like FX drivers, stereo, and
 | 
					- Some of the more specialized code like FX drivers, stereo, and
 | 
				
			||||||
  parallel support isn't compiled or tested.  I left much of this
 | 
					  parallel support isn't compiled or tested.  I left much of this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                       Mesa 4.0 Unix/X11 Information
 | 
					                      Mesa 4.0.4 Unix/X11 Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,7 +25,7 @@ There are two ways to compile Mesa on Unix/X11 systems:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The top-level makefile will execute the makefiles in a number of sub-
 | 
					The top-level makefile will execute the makefiles in a number of sub-
 | 
				
			||||||
directories.  When finished, the Mesa libraries will be in the Mesa-4.0/lib/
 | 
					directories.  When finished, the Mesa libraries will be in the Mesa-4.0.4/lib/
 | 
				
			||||||
directory.  A few GLUT demos in the demos/ directory should be ready to run.
 | 
					directory.  A few GLUT demos in the demos/ directory should be ready to run.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you also downloaded and unpacked the demos there should be executables
 | 
					If you also downloaded and unpacked the demos there should be executables
 | 
				
			||||||
@@ -323,4 +323,4 @@ Summary of X-related environment variables:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
----------------------------------------------------------------------
 | 
					----------------------------------------------------------------------
 | 
				
			||||||
$Id: README.X11,v 3.8 2001/09/23 16:10:02 brianp Exp $
 | 
					$Id: README.X11,v 3.8.2.4 2002/09/03 17:50:21 brianp Exp $
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								docs/RELNOTES-3.4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/RELNOTES-3.4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					                         Mesa 3.4 release notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                             November 3, 2000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                             PLEASE READ!!!!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Introduction
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa uses an even/odd version number scheme like the Linux kernel.
 | 
				
			||||||
 | 
					Odd numbered versions (such as 3.3) designate new developmental releases.
 | 
				
			||||||
 | 
					Even numbered versions (such as 3.4) designate stable releases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa 3.4 simply fixes bugs found in the Mesa 3.3 release.  For details,
 | 
				
			||||||
 | 
					see the VERSIONS file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					----------------------------------------------------------------------
 | 
				
			||||||
 | 
					$Id: RELNOTES-3.4,v 1.1.4.1 2002/03/23 02:36:52 brianp Exp $
 | 
				
			||||||
							
								
								
									
										22
									
								
								docs/RELNOTES-4.0.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/RELNOTES-4.0.1
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					                          Mesa 4.0.1 release notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                             December 17, 2001
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                              PLEASE READ!!!!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Introduction
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa uses an even/odd version number scheme like the Linux kernel.
 | 
				
			||||||
 | 
					Odd numbered versions (such as 3.3) designate new developmental releases.
 | 
				
			||||||
 | 
					Even numbered versions (such as 3.4) designate stable releases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa 4.0.1 only contains bug fixes since version 4.0.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See the docs/VERSIONS file for the list of bug fixes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					----------------------------------------------------------------------
 | 
				
			||||||
 | 
					$Id: RELNOTES-4.0.1,v 1.1.2.2 2001/12/17 19:43:38 brianp Exp $
 | 
				
			||||||
							
								
								
									
										50
									
								
								docs/RELNOTES-4.0.2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								docs/RELNOTES-4.0.2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					                          Mesa 4.0.2 release notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                               April 2, 2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                              PLEASE READ!!!!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Introduction
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa uses an even/odd version number scheme like the Linux kernel.
 | 
				
			||||||
 | 
					Odd numbered versions (such as 3.3) designate new developmental releases.
 | 
				
			||||||
 | 
					Even numbered versions (such as 3.4) designate stable releases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa 4.0.2 only contains bug fixes and a new DOS driver since version 4.0.1.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See the docs/VERSIONS file for the list of bug fixes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Device Drivers
 | 
				
			||||||
 | 
					--------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
 | 
				
			||||||
 | 
					device driver.  If the driver enables all the ARB extensions which are part
 | 
				
			||||||
 | 
					of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3".  Otherwise,
 | 
				
			||||||
 | 
					it'll return "1.2".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A number of Mesa's software drivers haven't been actively maintained for
 | 
				
			||||||
 | 
					some time.  We rely on volunteers to maintain many of the drivers.
 | 
				
			||||||
 | 
					Here's the current status of all included drivers:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Driver			Status
 | 
				
			||||||
 | 
					----------------------	---------------------
 | 
				
			||||||
 | 
					XMesa (Xlib)		implements OpenGL 1.3
 | 
				
			||||||
 | 
					OSMesa (off-screen)	implements OpenGL 1.3
 | 
				
			||||||
 | 
					FX (3dfx Voodoo1/2)	implements OpenGL 1.3
 | 
				
			||||||
 | 
					SVGA			implements OpenGL 1.3
 | 
				
			||||||
 | 
					Wind River UGL		implements OpenGL 1.3
 | 
				
			||||||
 | 
					Windows/Win32		implements OpenGL 1.3
 | 
				
			||||||
 | 
					DOS/DJGPP		implements OpenGL 1.3 (new in Mesa 4.0.2)
 | 
				
			||||||
 | 
					GGI			needs updating
 | 
				
			||||||
 | 
					BeOS			needs updating
 | 
				
			||||||
 | 
					Allegro			needs updating
 | 
				
			||||||
 | 
					D3D			needs updating
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					----------------------------------------------------------------------
 | 
				
			||||||
 | 
					$Id: RELNOTES-4.0.2,v 1.1.2.3 2002/04/01 16:54:11 brianp Exp $
 | 
				
			||||||
							
								
								
									
										52
									
								
								docs/RELNOTES-4.0.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								docs/RELNOTES-4.0.3
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					                          Mesa 4.0.3 release notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                               June 25, 2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                              PLEASE READ!!!!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Introduction
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa uses an even/odd version number scheme like the Linux kernel.
 | 
				
			||||||
 | 
					Odd numbered versions (such as 3.3) designate new developmental releases.
 | 
				
			||||||
 | 
					Even numbered versions (such as 3.4) designate stable releases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa 4.0.3 basically just contains bug fixes version 4.0.2.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See the docs/VERSIONS file for the list of bug fixes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The GGI driver has been updated, thanks to Filip Spacek.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Device Drivers
 | 
				
			||||||
 | 
					--------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
 | 
				
			||||||
 | 
					device driver.  If the driver enables all the ARB extensions which are part
 | 
				
			||||||
 | 
					of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3".  Otherwise,
 | 
				
			||||||
 | 
					it'll return "1.2".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A number of Mesa's software drivers haven't been actively maintained for
 | 
				
			||||||
 | 
					some time.  We rely on volunteers to maintain many of the drivers.
 | 
				
			||||||
 | 
					Here's the current status of all included drivers:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Driver			Status
 | 
				
			||||||
 | 
					----------------------	---------------------
 | 
				
			||||||
 | 
					XMesa (Xlib)		implements OpenGL 1.3
 | 
				
			||||||
 | 
					OSMesa (off-screen)	implements OpenGL 1.3
 | 
				
			||||||
 | 
					FX (3dfx Voodoo1/2)	implements OpenGL 1.3
 | 
				
			||||||
 | 
					SVGA			implements OpenGL 1.3
 | 
				
			||||||
 | 
					Wind River UGL		implements OpenGL 1.3
 | 
				
			||||||
 | 
					Windows/Win32		implements OpenGL 1.3
 | 
				
			||||||
 | 
					DOS/DJGPP		implements OpenGL 1.3 (new in Mesa 4.0.2)
 | 
				
			||||||
 | 
					GGI			implements OpenGL 1.3
 | 
				
			||||||
 | 
					BeOS			needs updating
 | 
				
			||||||
 | 
					Allegro			needs updating
 | 
				
			||||||
 | 
					D3D			needs updating
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					----------------------------------------------------------------------
 | 
				
			||||||
 | 
					$Id: RELNOTES-4.0.3,v 1.1.2.3 2002/06/24 20:44:58 brianp Exp $
 | 
				
			||||||
							
								
								
									
										114
									
								
								docs/VERSIONS
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								docs/VERSIONS
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
$Id: VERSIONS,v 1.74 2001/10/22 22:45:18 brianp Exp $
 | 
					$Id: VERSIONS,v 1.73.2.41 2002/10/02 17:36:59 brianp Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Mesa Version History
 | 
					Mesa Version History
 | 
				
			||||||
@@ -899,8 +899,114 @@ Mesa Version History
 | 
				
			|||||||
	- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
 | 
						- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
4.1  Month, ??, 2002
 | 
					4.0.1  December 17, 2001
 | 
				
			||||||
    New:
 | 
					    New:
 | 
				
			||||||
	- 
 | 
						- better sub-pixel sample positions for AA triangles (Ray Tice)
 | 
				
			||||||
 | 
						- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
 | 
				
			||||||
    Bug fixes:
 | 
					    Bug fixes:
 | 
				
			||||||
	- 
 | 
						- added missing break statements in glGet*() for multisample cases
 | 
				
			||||||
 | 
						- fixed uninitialized hash table mutex bug (display lists / texobjs)
 | 
				
			||||||
 | 
						- fixed bad teximage error check conditional (bug 476846)
 | 
				
			||||||
 | 
						- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
 | 
				
			||||||
 | 
						- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
 | 
				
			||||||
 | 
						- silence some compiler warnings (gcc 2.96)
 | 
				
			||||||
 | 
						- enable the #define GL_VERSION_1_3 in GL/gl.h
 | 
				
			||||||
 | 
						- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
 | 
				
			||||||
 | 
						- fixed glu.h typedef problem found with MSDev 6.0
 | 
				
			||||||
 | 
						- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
 | 
				
			||||||
 | 
						- added missing 'const' to glXGetContextIDEXT() in glxext.h
 | 
				
			||||||
 | 
						- fixed a few glXGetProcAddress() errors (texture compression, etc)
 | 
				
			||||||
 | 
						- fixed start index bug in compiled vertex arrays (Keith)
 | 
				
			||||||
 | 
						- fixed compilation problems in src/SPARC/glapi_sparc.S
 | 
				
			||||||
 | 
						- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
 | 
				
			||||||
 | 
						- use glXGetProcAddressARB in GLUT to avoid extension linking problems
 | 
				
			||||||
 | 
						- provoking vertex of flat-shaded, color-index triangles was wrong
 | 
				
			||||||
 | 
						- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
 | 
				
			||||||
 | 
						- glTexParameter didn't flush the vertex buffer (Ray Tice)
 | 
				
			||||||
 | 
						- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
 | 
				
			||||||
 | 
						- fixed bug in normal length caching (ParaView lighting bug)
 | 
				
			||||||
 | 
						- fixed separate_specular color bug found in Chimera (18 Dec 2001)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4.0.2  April 2, 2002
 | 
				
			||||||
 | 
					    New:
 | 
				
			||||||
 | 
						- New DOS (DJGPP) driver written by Daniel Borca
 | 
				
			||||||
 | 
						- New driver interface functions for TCL drivers (such as Radeon DRI)
 | 
				
			||||||
 | 
						- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
 | 
				
			||||||
 | 
						  if using deep color channels
 | 
				
			||||||
 | 
						- latest GL/glext.h and GL/glxext.h headers from SGI
 | 
				
			||||||
 | 
					    Bug fixes:
 | 
				
			||||||
 | 
						- GL_BLEND with non-black texture env color wasn't always correct
 | 
				
			||||||
 | 
						- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
 | 
				
			||||||
 | 
						- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
 | 
				
			||||||
 | 
						- glReadPixels was sometimes mistakenly clipped by the scissor box
 | 
				
			||||||
 | 
						- glDraw/ReadPixels didn't catch all the errors that they should have
 | 
				
			||||||
 | 
						- Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
 | 
				
			||||||
 | 
						- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
 | 
				
			||||||
 | 
						- Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
 | 
				
			||||||
 | 
						- glColorMask as sometimes effecting glXSwapBuffers()
 | 
				
			||||||
 | 
						- fixed a potential bug in XMesaGarbageCollect()
 | 
				
			||||||
 | 
						- N threads rendering into one window didn't work reliably
 | 
				
			||||||
 | 
						- glCopyPixels didn't work for deep color channels
 | 
				
			||||||
 | 
						- improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
 | 
				
			||||||
 | 
						- glPopAttrib() didn't correctly restore user clip planes
 | 
				
			||||||
 | 
						- user clip planes failed for some perspective projections (Chromium)
 | 
				
			||||||
 | 
					    Known bugs:
 | 
				
			||||||
 | 
						- mipmap LOD computation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4.0.3  June 25, 2002
 | 
				
			||||||
 | 
					    New:
 | 
				
			||||||
 | 
						- updated GL/glext.h file (version 15)
 | 
				
			||||||
 | 
						- corrected MMX blend code (Jose Fonseca)
 | 
				
			||||||
 | 
						- support for software-based alpha planes in Windows driver
 | 
				
			||||||
 | 
						- updated GGI driver (Filip Spacek)
 | 
				
			||||||
 | 
					    Bug fixes:
 | 
				
			||||||
 | 
						- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
 | 
				
			||||||
 | 
						- OSMesaMakeCurrent() didn't recognize buffer size changes
 | 
				
			||||||
 | 
						- assorted conformance fixes for 16-bit/channel rendering
 | 
				
			||||||
 | 
						- texcombine alpha subtraction mode was broken
 | 
				
			||||||
 | 
						- fixed lighting bug with non-uniform scaling and display lists
 | 
				
			||||||
 | 
						- fixed bug when deleting shared display lists
 | 
				
			||||||
 | 
						- disabled SPARC cliptest assembly code (Mesa bug 544665)
 | 
				
			||||||
 | 
						- fixed a couple Solaris compilation/link problems
 | 
				
			||||||
 | 
						- blending clipped glDrawPixels didn't always work
 | 
				
			||||||
 | 
						- glGetTexImage() didn't accept packed pixel types
 | 
				
			||||||
 | 
						- glPixelMapu[is]v() could explode given too large of pixelmap
 | 
				
			||||||
 | 
						- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
 | 
				
			||||||
 | 
						- glXCopyContext() could lead to segfaults
 | 
				
			||||||
 | 
						- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
 | 
				
			||||||
 | 
					    Changes:
 | 
				
			||||||
 | 
						- lots of C++ (g++) code clean-ups
 | 
				
			||||||
 | 
						- lots of T&L updates for the Radeon DRI driver
 | 
				
			||||||
 | 
					    Known bugs:
 | 
				
			||||||
 | 
						- mipmap LOD computation (fixed for Mesa 4.1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4.0.4  October 3, 2002
 | 
				
			||||||
 | 
					    New:
 | 
				
			||||||
 | 
						- GL_NV_texture_rectangle extension
 | 
				
			||||||
 | 
						- updated glext.h header (version 17)
 | 
				
			||||||
 | 
						- updated DOS driver (Daniel Borca)
 | 
				
			||||||
 | 
						- updated BeOS R5 driver (Philippe Houdoin)
 | 
				
			||||||
 | 
						- added GL_IBM_texture_mirror_repeat
 | 
				
			||||||
 | 
						- glxinfo now takes -l option to print interesting OpenGL limits info
 | 
				
			||||||
 | 
						- GL_MESA_ycbcr_texture extension
 | 
				
			||||||
 | 
						- GL_APPLE_client_storage extension (for some DRI drivers only)
 | 
				
			||||||
 | 
						- GL_MESA_pack_invert extension
 | 
				
			||||||
 | 
					    Bug fixes:
 | 
				
			||||||
 | 
						- fixed GL_LINEAR fog bug by adding clamping
 | 
				
			||||||
 | 
						- fixed FP exceptions found using Alpha CPU
 | 
				
			||||||
 | 
						- 3dfx MESA_GLX_FX=window (render to window) didn't work
 | 
				
			||||||
 | 
						- fixed memory leak in wglCreateContest (Karl Schultz)
 | 
				
			||||||
 | 
						- define GLAPIENTRY and GLAPI if undefined in glu.h
 | 
				
			||||||
 | 
						- wglGetProcAddress didn't handle all API functions
 | 
				
			||||||
 | 
						- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
 | 
				
			||||||
 | 
						- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
 | 
				
			||||||
 | 
						- error checking in compressed tex image functions had some glitches
 | 
				
			||||||
 | 
						- fixed AIX compile problem in src/config.c
 | 
				
			||||||
 | 
						- glGetTexImage was using pixel unpacking instead of packing params
 | 
				
			||||||
 | 
						- auto-mipmap generation for cube maps was incorrect
 | 
				
			||||||
 | 
					    Changes:
 | 
				
			||||||
 | 
						- max texture units reduced to six to accomodate texture rectangles
 | 
				
			||||||
 | 
						- removed unfinished GL_MESA_sprite_point extension code
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										77
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 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 device driver v1.0 for Mesa 4.0
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  Copyright (C) 2002 - Borca Daniel
 | 
				
			||||||
 | 
					 *  Email : dborca@yahoo.com
 | 
				
			||||||
 | 
					 *  Web   : http://www.geocities.com/dborca
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef DMESA_included
 | 
				
			||||||
 | 
					#define DMESA_included
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DMESA_MAJOR_VERSION 4
 | 
				
			||||||
 | 
					#define DMESA_MINOR_VERSION 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct dmesa_context *DMesaContext;
 | 
				
			||||||
 | 
					typedef struct dmesa_visual *DMesaVisual;
 | 
				
			||||||
 | 
					typedef struct dmesa_buffer *DMesaBuffer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					extern "C" {
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DMesaVisual DMesaCreateVisual (GLint width, GLint height, GLint colDepth,
 | 
				
			||||||
 | 
					                               GLboolean dbFlag, GLint depthSize,
 | 
				
			||||||
 | 
					                               GLint stencilSize,
 | 
				
			||||||
 | 
					                               GLint accumSize);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DMesaDestroyVisual (DMesaVisual v);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DMesaBuffer DMesaCreateBuffer (DMesaVisual visual,
 | 
				
			||||||
 | 
					                               GLint xpos, GLint ypos,
 | 
				
			||||||
 | 
					                               GLint width, GLint height);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DMesaDestroyBuffer (DMesaBuffer b);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DMesaContext DMesaCreateContext (DMesaVisual visual, DMesaContext share);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DMesaDestroyContext (DMesaContext c);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLboolean DMesaViewport (DMesaBuffer b,
 | 
				
			||||||
 | 
					                         GLint xpos, GLint ypos,
 | 
				
			||||||
 | 
					                         GLint width, GLint height);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLboolean DMesaMakeCurrent (DMesaContext c, DMesaBuffer b);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DMesaSwapBuffers (DMesaBuffer b);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
@@ -1,10 +1,11 @@
 | 
				
			|||||||
/* $Id: ggimesa.h,v 1.3 2000/02/09 19:03:28 brianp Exp $ */
 | 
					/* $Id: ggimesa.h,v 1.3.6.1 2002/06/10 15:16:16 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library GGI bindings (GGIGL [giggle])
 | 
				
			||||||
 * Version:  3.3
 | 
					 * Version:  4.0
 | 
				
			||||||
 * Copyright (C) 1995-2000  Brian Paul
 | 
					 * Copyright (C) 1995-2000  Brian Paul
 | 
				
			||||||
 * Copyright (C) 1998  Uwe Maurer
 | 
					 * Copyright (C) 1998  Uwe Maurer
 | 
				
			||||||
 | 
					 * Copyrigth (C) 2001 Filip Spacek
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This library is free software; you can redistribute it and/or
 | 
					 * This library is free software; you can redistribute it and/or
 | 
				
			||||||
 * modify it under the terms of the GNU Library General Public
 | 
					 * modify it under the terms of the GNU Library General Public
 | 
				
			||||||
@@ -25,34 +26,59 @@
 | 
				
			|||||||
#ifndef GGIMESA_H
 | 
					#ifndef GGIMESA_H
 | 
				
			||||||
#define GGIMESA_H
 | 
					#define GGIMESA_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define GGIMESA_MAJOR_VERSION 4
 | 
				
			||||||
#define GGIMESA_MAJOR_VERSION 3
 | 
					#define GGIMESA_MINOR_VERSION 0
 | 
				
			||||||
#define GGIMESA_MINOR_VERSION 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <ggi/ggi.h>
 | 
				
			||||||
#include "GL/gl.h"
 | 
					#include "GL/gl.h"
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					typedef struct ggi_mesa_context *ggi_mesa_context_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct ggi_mesa_context *GGIMesaContext;
 | 
					/*
 | 
				
			||||||
 | 
					 * Initialize Mesa GGI extension
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					int ggiMesaInit(void);
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Clean up Mesa GGI exension
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					int ggiMesaExit(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <ggi/ggi.h>
 | 
					/*
 | 
				
			||||||
 | 
					 * Attach Mesa GGI extension to the visual 'vis'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					int ggiMesaAttach(ggi_visual_t vis);
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Detach Mesa GGI extension from the visual 'vis'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					int ggiMesaDetach(ggi_visual_t vis);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern GGIMesaContext GGIMesaCreateContext(void);
 | 
					int ggiMesaExtendVisual(ggi_visual_t vis, GLboolean alpha_flag,
 | 
				
			||||||
 | 
								GLboolean stereo_flag, GLint depth_size,
 | 
				
			||||||
 | 
								GLint stencil_size, GLint accum_red_size,
 | 
				
			||||||
 | 
								GLint accum_green_size, GLint accum_blue_size,
 | 
				
			||||||
 | 
								GLint accum_alpha_size, GLint num_samples);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void GGIMesaDestroyContext(GGIMesaContext ctx);
 | 
					/*
 | 
				
			||||||
 | 
					 * Create a new context capable of displaying on the visual vis.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					ggi_mesa_context_t ggiMesaCreateContext(ggi_visual_t vis);
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Destroy the context 'ctx'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void ggiMesaDestroyContext(ggi_mesa_context_t ctx);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void GGIMesaMakeCurrent(GGIMesaContext ctx);
 | 
					/*
 | 
				
			||||||
 | 
					 * Make context 'ctx' the current context and bind it to visual 'vis'.
 | 
				
			||||||
 | 
					 * Note that the context must have been created with respect to that visual.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void ggiMesaMakeCurrent(ggi_mesa_context_t ctx, ggi_visual_t vis);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern GGIMesaContext GGIMesaGetCurrentContext(void);
 | 
					void ggiMesaSwapBuffers(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void GGIMesaSwapBuffers(void);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern int GGIMesaSetVisual(GGIMesaContext ctx, ggi_visual_t vis,
 | 
					 | 
				
			||||||
			    GLboolean rgb_flag, GLboolean db_flag);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										101
									
								
								include/GL/gl.h
									
									
									
									
									
								
							
							
						
						
									
										101
									
								
								include/GL/gl.h
									
									
									
									
									
								
							@@ -1,10 +1,10 @@
 | 
				
			|||||||
/* $Id: gl.h,v 1.59 2001/09/23 16:06:13 brianp Exp $ */
 | 
					/* $Id: gl.h,v 1.59.2.11 2002/09/21 17:12:10 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library
 | 
				
			||||||
 * Version:  4.0
 | 
					 * Version:  4.0.4
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
					 * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
					 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
				
			||||||
 * copy of this software and associated documentation files (the "Software"),
 | 
					 * copy of this software and associated documentation files (the "Software"),
 | 
				
			||||||
@@ -63,6 +63,10 @@
 | 
				
			|||||||
#  define GLAPIENTRY
 | 
					#  define GLAPIENTRY
 | 
				
			||||||
#endif /* WIN32 / CYGWIN bracket */
 | 
					#endif /* WIN32 / CYGWIN bracket */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
 | 
				
			||||||
 | 
					#  define PRAGMA_EXPORT_SUPPORTED		1
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
 | 
					#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
 | 
				
			||||||
#include <gl/mesa_wgl.h>
 | 
					#include <gl/mesa_wgl.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@@ -84,7 +88,7 @@ extern "C" {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define GL_VERSION_1_1   1
 | 
					#define GL_VERSION_1_1   1
 | 
				
			||||||
#define GL_VERSION_1_2   1
 | 
					#define GL_VERSION_1_2   1
 | 
				
			||||||
/*#define GL_VERSION_1_3   1  not yet */
 | 
					#define GL_VERSION_1_3   1
 | 
				
			||||||
#define GL_ARB_imaging   1
 | 
					#define GL_ARB_imaging   1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1912,7 +1916,8 @@ GLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
 | 
					GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GLAPI void GLAPIENTRY glSamplePass( GLenum pass );
 | 
					
 | 
				
			||||||
 | 
					#if defined(GL_GLEXT_LEGACY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
@@ -1992,14 +1997,45 @@ GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
 | 
				
			|||||||
GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
 | 
					GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
 | 
				
			||||||
GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
 | 
					GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* GL_ARB_multitexture */
 | 
					#endif /* GL_ARB_multitexture */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#if defined(GL_GLEXT_LEGACY)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * 1. GL_EXT_abgr
 | 
					 * 1. GL_EXT_abgr
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -2372,8 +2408,6 @@ GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * 197. GL_MESA_window_pos
 | 
					 * 197. GL_MESA_window_pos
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -2488,21 +2522,50 @@ GLAPI void GLAPIENTRY glTracePointerRangeMESA( const GLvoid* first, const GLvoid
 | 
				
			|||||||
#endif /* GL_MESA_packed_depth_stencil */
 | 
					#endif /* GL_MESA_packed_depth_stencil */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * ??. GL_MESA_sprite_point
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#ifndef GL_MESA_sprite_point
 | 
					 | 
				
			||||||
#define GL_MESA_sprite_point 1
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GL_SPRITE_POINT_MESA 0x8757  /* XXX not finalized! */
 | 
					#ifndef GL_MESA_ycbcr_texture
 | 
				
			||||||
 | 
					#define GL_MESA_ycbcr_texture 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#define GL_YCBCR_MESA				0x8757
 | 
				
			||||||
 | 
					#define GL_UNSIGNED_SHORT_8_8_MESA		0x85BA /* same as Apple */
 | 
				
			||||||
 | 
					#define GL_UNSIGNED_SHORT_8_8_REV_MESA		0x85BB /* same as Apple */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* GL_MESA_texture_ycbcr */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GL_MESA_pack_invert
 | 
				
			||||||
 | 
					#define GL_MESA_pack_invert 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define GL_PACK_INVERT_MESA                     0x8758
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* GL_MESA_pack_invert */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GL_APPLE_client_storage
 | 
				
			||||||
 | 
					#define GL_APPLE_client_storage 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define GL_UNPACK_CLIENT_STORAGE_APPLE          0x85B2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* GL_APPLE_client_storage */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GL_APPLE_ycbcr_422
 | 
				
			||||||
 | 
					#define GL_APPLE_ycbcr_422 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define GL_YCBCR_422_APPLE			0x85B9
 | 
				
			||||||
 | 
					#define GL_UNSIGNED_SHORT_8_8_APPLE		0x85BA
 | 
				
			||||||
 | 
					#define GL_UNSIGNED_SHORT_8_8_REV_APPLE		0x85BB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* GL_APPLE_ycbcr_422 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**********************************************************************
 | 
					/**********************************************************************
 | 
				
			||||||
 * Begin system-specific stuff
 | 
					 * Begin system-specific stuff
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#if defined(__BEOS__) || defined(__QUICKDRAW__)
 | 
					#if defined(PRAGMA_EXPORT_SUPPORTED)
 | 
				
			||||||
#pragma export off
 | 
					#pragma export off
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1244
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
							
						
						
									
										1244
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -36,6 +36,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <GL/gl.h>
 | 
					#include <GL/gl.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GLAPIENTRY
 | 
				
			||||||
 | 
					#define GLAPIENTRY
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GLAPI
 | 
				
			||||||
 | 
					#define GLAPI
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@@ -250,10 +258,10 @@ typedef struct GLUquadric GLUquadric;
 | 
				
			|||||||
typedef struct GLUtesselator GLUtesselator;
 | 
					typedef struct GLUtesselator GLUtesselator;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct GLUnurbs GLUnurbsObj;
 | 
					typedef GLUnurbs GLUnurbsObj;
 | 
				
			||||||
typedef struct GLUquadric GLUquadricObj;
 | 
					typedef GLUquadric GLUquadricObj;
 | 
				
			||||||
typedef struct GLUtesselator GLUtesselatorObj;
 | 
					typedef GLUtesselator GLUtesselatorObj;
 | 
				
			||||||
typedef struct GLUtesselator GLUtriangulatorObj;
 | 
					typedef GLUtesselator GLUtriangulatorObj;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GLU_TESS_MAX_COORD 1.0e150
 | 
					#define GLU_TESS_MAX_COORD 1.0e150
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
/* $Id: glx.h,v 1.33 2001/09/24 14:15:58 brianp Exp $ */
 | 
					/* $Id: glx.h,v 1.33.2.4 2002/09/20 17:36:33 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library
 | 
				
			||||||
 * Version:  4.0
 | 
					 * Version:  4.0.3
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
					 * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
					 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
				
			||||||
 * copy of this software and associated documentation files (the "Software"),
 | 
					 * copy of this software and associated documentation files (the "Software"),
 | 
				
			||||||
@@ -172,8 +172,8 @@ extern "C" {
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * GLX 1.4 and later:
 | 
					 * GLX 1.4 and later:
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#define GLX_SAMPLE_BUFFERS_SGIS            100000
 | 
					#define GLX_SAMPLE_BUFFERS              0x186a0 /*100000*/
 | 
				
			||||||
#define GLX_SAMPLES_SGIS                   100001
 | 
					#define GLX_SAMPLES                     0x186a1 /*100001*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -297,7 +297,6 @@ extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
 | 
				
			|||||||
extern void (*glXGetProcAddress(const GLubyte *procname))();
 | 
					extern void (*glXGetProcAddress(const GLubyte *procname))();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef GLX_GLXEXT_LEGACY
 | 
					#ifndef GLX_GLXEXT_LEGACY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <GL/glxext.h>
 | 
					#include <GL/glxext.h>
 | 
				
			||||||
@@ -453,6 +452,38 @@ extern void (*glXGetProcAddressARB(const GLubyte *procName))();
 | 
				
			|||||||
#endif /* GLX_GLXEXT_LEGACY */
 | 
					#endif /* GLX_GLXEXT_LEGACY */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 ** The following aren't in glxext.h yet.
 | 
				
			||||||
 | 
					 **/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * ???. GLX_NV_vertex_array_range
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#ifndef GLX_NV_vertex_array_range
 | 
				
			||||||
 | 
					#define GLX_NV_vertex_array_range
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
 | 
				
			||||||
 | 
					extern void glXFreeMemoryNV(GLvoid *pointer);
 | 
				
			||||||
 | 
					typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
 | 
				
			||||||
 | 
					typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* GLX_NV_vertex_array_range */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * ???. GLX_MESA_agp_offset
 | 
				
			||||||
 | 
					 */ 
 | 
				
			||||||
 | 
					#ifndef GLX_MESA_agp_offset
 | 
				
			||||||
 | 
					#define GLX_MESA_agp_offset 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern GLuint glXGetAGPOffsetMESA(const GLvoid *pointer);
 | 
				
			||||||
 | 
					typedef GLuint (* PFNGLXGETAGPOFFSETMESAPROC) (const GLvoid *pointer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* GLX_MESA_agp_offset */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
/* $Id: glx_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
 | 
					/* $Id: glx_mangle.h,v 1.1.1.1.8.2 2002/09/20 18:32:17 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library
 | 
				
			||||||
 * Version:  3.0
 | 
					 * Version:  4.1
 | 
				
			||||||
 * Copyright (C) 1995-1998  Brian Paul
 | 
					 * Copyright (C) 1995-1998  Brian Paul
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This library is free software; you can redistribute it and/or
 | 
					 * This library is free software; you can redistribute it and/or
 | 
				
			||||||
@@ -21,25 +21,6 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * $Log: glx_mangle.h,v $
 | 
					 | 
				
			||||||
 * Revision 1.1  1999/08/19 00:55:40  jtg
 | 
					 | 
				
			||||||
 * Initial revision
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.3  1999/06/21 22:01:00  brianp
 | 
					 | 
				
			||||||
 * added #ifndef GLX_MANGLE_H stuff, video sync extension functions
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.2  1998/03/26 02:44:53  brianp
 | 
					 | 
				
			||||||
 * removed ^M characters
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.1  1998/03/17 02:41:19  brianp
 | 
					 | 
				
			||||||
 * updated by Randy Frank
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.0  1998/02/20 05:04:45  brianp
 | 
					 | 
				
			||||||
 * initial rev
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef GLX_MANGLE_H
 | 
					#ifndef GLX_MANGLE_H
 | 
				
			||||||
#define GLX_MANGLE_H
 | 
					#define GLX_MANGLE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -60,13 +41,133 @@
 | 
				
			|||||||
#define glXWaitGL mglXWaitGL
 | 
					#define glXWaitGL mglXWaitGL
 | 
				
			||||||
#define glXWaitX mglXWaitX
 | 
					#define glXWaitX mglXWaitX
 | 
				
			||||||
#define glXUseXFont mglXUseXFont
 | 
					#define glXUseXFont mglXUseXFont
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* GLX 1.1 */
 | 
				
			||||||
#define glXQueryExtensionsString mglXQueryExtensionsString
 | 
					#define glXQueryExtensionsString mglXQueryExtensionsString
 | 
				
			||||||
#define glXQueryServerString mglXQueryServerString
 | 
					#define glXQueryServerString mglXQueryServerString
 | 
				
			||||||
#define glXGetClientString mglXGetClientString
 | 
					#define glXGetClientString mglXGetClientString
 | 
				
			||||||
#define glXCreateGLXPixmapMESA mglXCreateGLXPixmapMESA
 | 
					
 | 
				
			||||||
#define glXReleaseBuffersMESA mglXReleaseBuffersMESA
 | 
					/* GLX 1.2 */
 | 
				
			||||||
#define glXCopySubBufferMESA mglXCopySubBufferMESA
 | 
					#define glXGetCurrentDisplay mglXGetCurrentDisplay
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* GLX 1.3 */
 | 
				
			||||||
 | 
					#define glXChooseFBConfig mglXChooseFBConfig
 | 
				
			||||||
 | 
					#define glXGetFBConfigAttrib mglXGetFBConfigAttrib
 | 
				
			||||||
 | 
					#define glXGetFBConfigs mglXGetFBConfigs 
 | 
				
			||||||
 | 
					#define glXGetVisualFromFBConfig mglXGetVisualFromFBConfig
 | 
				
			||||||
 | 
					#define glXCreateWindow mglXCreateWindow 
 | 
				
			||||||
 | 
					#define glXDestroyWindow mglXDestroyWindow 
 | 
				
			||||||
 | 
					#define glXCreatePixmap mglXCreatePixmap 
 | 
				
			||||||
 | 
					#define glXDestroyPixmap mglXDestroyPixmap 
 | 
				
			||||||
 | 
					#define glXCreatePbuffer mglXCreatePbuffer 
 | 
				
			||||||
 | 
					#define glXDestroyPbuffer mglXDestroyPbuffer 
 | 
				
			||||||
 | 
					#define glXQueryDrawable mglXQueryDrawable 
 | 
				
			||||||
 | 
					#define glXCreateNewContext mglXCreateNewContext 
 | 
				
			||||||
 | 
					#define glXMakeContextCurrent mglXMakeContextCurrent
 | 
				
			||||||
 | 
					#define glXGetCurrentReadDrawable mglXGetCurrentReadDrawable
 | 
				
			||||||
 | 
					#define glXQueryContext mglXQueryContext 
 | 
				
			||||||
 | 
					#define glXSelectEvent mglXSelectEvent 
 | 
				
			||||||
 | 
					#define glXGetSelectedEvent mglXGetSelectedEvent 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* GLX 1.4 */
 | 
				
			||||||
 | 
					#define glXGetProcAddress mglXGetProcAddress
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 41. GLX_SGI_video_sync
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#define glXGetVideoSyncSGI mglXGetVideoSyncSGI 
 | 
					#define glXGetVideoSyncSGI mglXGetVideoSyncSGI 
 | 
				
			||||||
#define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI
 | 
					#define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 47. GLX_EXT_import_context
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define glXFreeContextEXT mglXFreeContextEXT 
 | 
				
			||||||
 | 
					#define glXGetContextIDEXT mglXGetContextIDEXT 
 | 
				
			||||||
 | 
					#define glXGetCurrentDisplayEXT mglXGetCurrentDisplayEXT
 | 
				
			||||||
 | 
					#define glXImportContextEXT mglXImportContextEXT 
 | 
				
			||||||
 | 
					#define glXQueryContextInfoEXT mglXQueryContextInfoEXT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 215. GLX_MESA_copy_sub_buffer
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define glXCopySubBufferMESA mglXCopySubBufferMESA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 216. GLX_MESA_pixmap_colormap
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define glXCreateGLXPixmapMESA mglXCreateGLXPixmapMESA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 217. GLX_MESA_release_buffers
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define glXReleaseBuffersMESA mglXReleaseBuffersMESA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 218. GLX_MESA_set_3dfx_mode
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define glXSet3DfxModeMESA mglXSet3DfxModeMESA 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * ARB 2. GLX_ARB_get_proc_address
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define glXGetProcAddressARB mglXGetProcAddressARB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 ** The following aren't in glxext.h yet.
 | 
				
			||||||
 | 
					 **/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * ???. GLX_NV_vertex_array_range
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define glXAllocateMemoryNV mglXAllocateMemoryNV 
 | 
				
			||||||
 | 
					#define glXFreeMemoryNV mglXFreeMemoryNV
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * ???. GLX_MESA_agp_offset
 | 
				
			||||||
 | 
					 */ 
 | 
				
			||||||
 | 
					#define glXGetAGPOffsetMESA mglXGetAGPOffsetMESA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Other extensions implemented and in glxext.h
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define glXSwapIntervalSGI mglXSwapIntervalSGI 
 | 
				
			||||||
 | 
					#define glXGetVideoSyncSGI mglXGetVideoSyncSGI
 | 
				
			||||||
 | 
					#define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI
 | 
				
			||||||
 | 
					#define glXMakeCurrentReadSGI mglXMakeCurrentReadSGI
 | 
				
			||||||
 | 
					#define glXCushionSGI mglXCushionSGI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define glXCreateGLXPixmapMESA mglXCreateGLXPixmapMESA
 | 
				
			||||||
 | 
					#define glXReleaseBuffersMESA mglXReleaseBuffersMESA
 | 
				
			||||||
 | 
					#define glXCopySubBufferMESA mglXCopySubBufferMESA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define glXGetTransparentIndexSUN mglXGetTransparentIndexSUN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define glXBindChannelToWindowSGIX mglXBindChannelToWindowSGIX
 | 
				
			||||||
 | 
					#define glXBindSwapBarrierSGIX mglXBindSwapBarrierSGIX
 | 
				
			||||||
 | 
					#define glXChannelRectSGIX mglXChannelRectSGIX 
 | 
				
			||||||
 | 
					#define glXChannelRectSyncSGIX mglXChannelRectSyncSGIX
 | 
				
			||||||
 | 
					#define glXChooseFBConfigSGIX mglXChooseFBConfigSGIX
 | 
				
			||||||
 | 
					#define glXCreateContextWithConfigSGIX mglXCreateContextWithConfigSGIX
 | 
				
			||||||
 | 
					#define glXCreateGLXPbufferSGIX mglXCreateGLXPbufferSGIX
 | 
				
			||||||
 | 
					#define glXCreateGLXPixmapWithConfigSGIX mglXCreateGLXPixmapWithConfigSGIX
 | 
				
			||||||
 | 
					#define glXDestroyGLXPbufferSGIX mglXDestroyGLXPbufferSGIX
 | 
				
			||||||
 | 
					#define glXGetCurrentReadDrawableSGI mglXGetCurrentReadDrawableSGI
 | 
				
			||||||
 | 
					#define glXGetFBConfigAttribSGIX mglXGetFBConfigAttribSGIX
 | 
				
			||||||
 | 
					#define glXGetFBConfigFromVisualSGIX mglXGetFBConfigFromVisualSGIX
 | 
				
			||||||
 | 
					#define glXGetSelectedEventSGIX mglXGetSelectedEventSGIX
 | 
				
			||||||
 | 
					#define glXGetVisualFromFBConfigSGIX mglXGetVisualFromFBConfigSGIX
 | 
				
			||||||
 | 
					#define glXJoinSwapGroupSGIX mglXJoinSwapGroupSGIX
 | 
				
			||||||
 | 
					#define glXQueryChannelDeltasSGIX mglXQueryChannelDeltasSGIX
 | 
				
			||||||
 | 
					#define glXQueryChannelRectSGIX mglXQueryChannelRectSGIX
 | 
				
			||||||
 | 
					#define glXQueryGLXPbufferSGIX mglXQueryGLXPbufferSGIX
 | 
				
			||||||
 | 
					#define glXQueryMaxSwapBarriersSGIX mglXQueryMaxSwapBarriersSGIX
 | 
				
			||||||
 | 
					#define glXSelectEventSGIX mglXSelectEventSGIX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,12 +42,16 @@ extern "C" {
 | 
				
			|||||||
#ifndef APIENTRY
 | 
					#ifndef APIENTRY
 | 
				
			||||||
#define APIENTRY
 | 
					#define APIENTRY
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					#ifndef GLAPI
 | 
				
			||||||
 | 
					#define GLAPI extern
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*************************************************************/
 | 
					/*************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Header file version number, required by OpenGL ABI for Linux */
 | 
					/* Header file version number, required by OpenGL ABI for Linux */
 | 
				
			||||||
/* glxext.h last updated 2001/09/26 */
 | 
					/* glxext.h last updated 2002/03/22 */
 | 
				
			||||||
#define GLX_GLXEXT_VERSION 3
 | 
					/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
 | 
				
			||||||
 | 
					#define GLX_GLXEXT_VERSION 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef GLX_VERSION_1_3
 | 
					#ifndef GLX_VERSION_1_3
 | 
				
			||||||
#define GLX_WINDOW_BIT                     0x00000001
 | 
					#define GLX_WINDOW_BIT                     0x00000001
 | 
				
			||||||
@@ -113,6 +117,9 @@ extern "C" {
 | 
				
			|||||||
#define GLX_SAMPLES                        100001
 | 
					#define GLX_SAMPLES                        100001
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GLX_ARB_get_proc_address
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef GLX_ARB_multisample
 | 
					#ifndef GLX_ARB_multisample
 | 
				
			||||||
#define GLX_SAMPLE_BUFFERS_ARB             100000
 | 
					#define GLX_SAMPLE_BUFFERS_ARB             100000
 | 
				
			||||||
#define GLX_SAMPLES_ARB                    100001
 | 
					#define GLX_SAMPLES_ARB                    100001
 | 
				
			||||||
@@ -276,7 +283,6 @@ extern "C" {
 | 
				
			|||||||
/*************************************************************/
 | 
					/*************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef GLX_ARB_get_proc_address
 | 
					#ifndef GLX_ARB_get_proc_address
 | 
				
			||||||
/* XXX Added void parameter to silence many, many warnings (BrianP) */
 | 
					 | 
				
			||||||
typedef void (*__GLXextFuncPtr)(void);
 | 
					typedef void (*__GLXextFuncPtr)(void);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -348,6 +354,14 @@ typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigne
 | 
				
			|||||||
typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
 | 
					typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GLX_VERSION_1_4
 | 
				
			||||||
 | 
					#define GLX_VERSION_1_4 1
 | 
				
			||||||
 | 
					#ifdef GLX_GLXEXT_PROTOTYPES
 | 
				
			||||||
 | 
					extern __GLXextFuncPtr glXGetProcAddress (const GLubyte *);
 | 
				
			||||||
 | 
					#endif /* GLX_GLXEXT_PROTOTYPES */
 | 
				
			||||||
 | 
					typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef GLX_ARB_get_proc_address
 | 
					#ifndef GLX_ARB_get_proc_address
 | 
				
			||||||
#define GLX_ARB_get_proc_address 1
 | 
					#define GLX_ARB_get_proc_address 1
 | 
				
			||||||
#ifdef GLX_GLXEXT_PROTOTYPES
 | 
					#ifdef GLX_GLXEXT_PROTOTYPES
 | 
				
			||||||
@@ -356,6 +370,10 @@ extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
 | 
				
			|||||||
typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
 | 
					typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GLX_ARB_multisample
 | 
				
			||||||
 | 
					#define GLX_ARB_multisample 1
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef GLX_SGIS_multisample
 | 
					#ifndef GLX_SGIS_multisample
 | 
				
			||||||
#define GLX_SGIS_multisample 1
 | 
					#define GLX_SGIS_multisample 1
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@@ -413,13 +431,13 @@ typedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSou
 | 
				
			|||||||
#ifdef GLX_GLXEXT_PROTOTYPES
 | 
					#ifdef GLX_GLXEXT_PROTOTYPES
 | 
				
			||||||
extern Display * glXGetCurrentDisplayEXT (void);
 | 
					extern Display * glXGetCurrentDisplayEXT (void);
 | 
				
			||||||
extern int glXQueryContextInfoEXT (Display *, GLXContext, int, int *);
 | 
					extern int glXQueryContextInfoEXT (Display *, GLXContext, int, int *);
 | 
				
			||||||
extern GLXContextID glXGetContextIDEXT (GLXContext);
 | 
					extern GLXContextID glXGetContextIDEXT (const GLXContext);
 | 
				
			||||||
extern GLXContext glXImportContextEXT (Display *, GLXContextID);
 | 
					extern GLXContext glXImportContextEXT (Display *, GLXContextID);
 | 
				
			||||||
extern void glXFreeContextEXT (Display *, GLXContext);
 | 
					extern void glXFreeContextEXT (Display *, GLXContext);
 | 
				
			||||||
#endif /* GLX_GLXEXT_PROTOTYPES */
 | 
					#endif /* GLX_GLXEXT_PROTOTYPES */
 | 
				
			||||||
typedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
 | 
					typedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
 | 
				
			||||||
typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
 | 
					typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
 | 
				
			||||||
typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (GLXContext context);
 | 
					typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
 | 
				
			||||||
typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
 | 
					typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
 | 
				
			||||||
typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
 | 
					typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@@ -554,14 +572,33 @@ typedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode);
 | 
				
			|||||||
#define GLX_SGIX_visual_select_group 1
 | 
					#define GLX_SGIX_visual_select_group 1
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef GLX_GLX_OML_swap_method
 | 
					#ifndef GLX_OML_swap_method
 | 
				
			||||||
#define GLX_GLX_OML_swap_method 1
 | 
					#define GLX_OML_swap_method 1
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef GLX_GLX_OML_sync_control
 | 
					#if defined(__STDC_VERSION__)
 | 
				
			||||||
#define GLX_GLX_OML_sync_control 1
 | 
					#if __STDC_VERSION__ >= 199901L
 | 
				
			||||||
 | 
					/* Include ISO C99 integer types for OML_sync_control; need a better test */
 | 
				
			||||||
 | 
					#include <inttypes.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef GLX_OML_sync_control
 | 
				
			||||||
 | 
					#define GLX_OML_sync_control 1
 | 
				
			||||||
 | 
					#ifdef GLX_GLXEXT_PROTOTYPES
 | 
				
			||||||
 | 
					extern Bool glXGetSyncValuesOML (Display *, GLXDrawable, int64_t *, int64_t *, int64_t *);
 | 
				
			||||||
 | 
					extern Bool glXGetMscRateOML (Display *, GLXDrawable, int32_t *, int32_t *);
 | 
				
			||||||
 | 
					extern int64_t glXSwapBuffersMscOML (Display *, GLXDrawable, int64_t, int64_t, int64_t);
 | 
				
			||||||
 | 
					extern Bool glXWaitForMscOML (Display *, GLXDrawable, int64_t, int64_t, int64_t, int64_t *, int64_t *, int64_t *);
 | 
				
			||||||
 | 
					extern Bool glXWaitForSbcOML (Display *, GLXDrawable, int64_t, int64_t *, int64_t *, int64_t *);
 | 
				
			||||||
 | 
					#endif /* GLX_GLXEXT_PROTOTYPES */
 | 
				
			||||||
 | 
					typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
 | 
				
			||||||
 | 
					typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
 | 
				
			||||||
 | 
					typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
 | 
				
			||||||
 | 
					typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
 | 
				
			||||||
 | 
					typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* C99 version test */
 | 
				
			||||||
 | 
					#endif /* STDC test */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
/* $Id: osmesa.h,v 1.9 2001/09/23 16:06:13 brianp Exp $ */
 | 
					/* $Id: osmesa.h,v 1.9.2.1 2002/04/26 13:53:09 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library
 | 
				
			||||||
 * Version:  4.0
 | 
					 * Version:  4.0.3
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
					 * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
					 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
				
			||||||
 * copy of this software and associated documentation files (the "Software"),
 | 
					 * copy of this software and associated documentation files (the "Software"),
 | 
				
			||||||
@@ -64,7 +64,7 @@ extern "C" {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define OSMESA_MAJOR_VERSION 4
 | 
					#define OSMESA_MAJOR_VERSION 4
 | 
				
			||||||
#define OSMESA_MINOR_VERSION 0
 | 
					#define OSMESA_MINOR_VERSION 0
 | 
				
			||||||
#define OSMESA_PATCH_VERSION 0
 | 
					#define OSMESA_PATCH_VERSION 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: wmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
 | 
					/* $Id: wmesa.h,v 1.1.1.1.8.1 2002/04/23 18:24:41 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library
 | 
				
			||||||
@@ -24,8 +24,17 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Log: wmesa.h,v $
 | 
					 * $Log: wmesa.h,v $
 | 
				
			||||||
 * Revision 1.1  1999/08/19 00:55:40  jtg
 | 
					 * Revision 1.1.1.1.8.1  2002/04/23 18:24:41  kschultz
 | 
				
			||||||
 * Initial revision
 | 
					 * Fix up alpha buffer handling for Windows.
 | 
				
			||||||
 | 
					 * - add two new Pixel Format Descriptors that do not have alpha bits to
 | 
				
			||||||
 | 
					 * mirror the two that do.
 | 
				
			||||||
 | 
					 * - add logic to wglChoosePixelFormat to match PFD's with respect to alpha.
 | 
				
			||||||
 | 
					 * - Create/clear software alpha buffer as required.
 | 
				
			||||||
 | 
					 * Now a wgl or GLUT program can control the creation of a software alpha
 | 
				
			||||||
 | 
					 * buffer via the PFD or GLUT parms, respectively.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
 | 
				
			||||||
 | 
					 * Imported sources
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Revision 3.2  1999/01/03 02:54:45  brianp
 | 
					 * Revision 3.2  1999/01/03 02:54:45  brianp
 | 
				
			||||||
 * updated per Ted Jump
 | 
					 * updated per Ted Jump
 | 
				
			||||||
@@ -101,13 +110,17 @@ typedef struct wmesa_context *WMesaContext;
 | 
				
			|||||||
 *                    GL_FALSE = color index mode
 | 
					 *                    GL_FALSE = color index mode
 | 
				
			||||||
 *         db_flag - GL_TRUE = double-buffered,
 | 
					 *         db_flag - GL_TRUE = double-buffered,
 | 
				
			||||||
 *                   GL_FALSE = single buffered
 | 
					 *                   GL_FALSE = single buffered
 | 
				
			||||||
 | 
					 *         alpha_flag - GL_TRUE = create software alpha buffer,
 | 
				
			||||||
 | 
					 *                      GL_FALSE = no software alpha buffer
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Note: Indexed mode requires double buffering under Windows.
 | 
					 * Note: Indexed mode requires double buffering under Windows.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Return:  a WMesa_context or NULL if error.
 | 
					 * Return:  a WMesa_context or NULL if error.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern WMesaContext WMesaCreateContext(HWND hWnd,HPALETTE* pPal,
 | 
					extern WMesaContext WMesaCreateContext(HWND hWnd,HPALETTE* pPal,
 | 
				
			||||||
                                       GLboolean rgb_flag,GLboolean db_flag);
 | 
					                                       GLboolean rgb_flag,
 | 
				
			||||||
 | 
					                                       GLboolean db_flag,
 | 
				
			||||||
 | 
					                                       GLboolean alpha_flag);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
/* $Id: xmesa.h,v 1.12 2001/09/23 16:06:13 brianp Exp $ */
 | 
					/* $Id: xmesa.h,v 1.12.2.2 2002/04/26 13:53:09 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library
 | 
				
			||||||
 * Version:  4.0
 | 
					 * Version:  4.0.3
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
					 * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
					 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
				
			||||||
 * copy of this software and associated documentation files (the "Software"),
 | 
					 * copy of this software and associated documentation files (the "Software"),
 | 
				
			||||||
@@ -365,6 +365,15 @@ extern GLboolean XMesaSetFXmode( GLint mode );
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Reallocate the back/depth/stencil/accum/etc/ buffers associated with
 | 
				
			||||||
 | 
					 * buffer <b> if its size has changed.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * New in Mesa 4.0.2
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					extern void XMesaResizeBuffers( XMesaBuffer b );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
# $Id: Makefile.win,v 1.5 2001/10/04 19:13:36 kschultz Exp $
 | 
					# $Id: Makefile.win,v 1.5.2.2 2002/04/15 22:14:09 kschultz Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mesa 3-D graphics library
 | 
					# Mesa 3-D graphics library
 | 
				
			||||||
# Version:  3.5
 | 
					# Version:  3.5
 | 
				
			||||||
@@ -67,34 +67,64 @@ SRCS = \
 | 
				
			|||||||
	geartrain.c \
 | 
						geartrain.c \
 | 
				
			||||||
	glinfo.c \
 | 
						glinfo.c \
 | 
				
			||||||
	gloss.c \
 | 
						gloss.c \
 | 
				
			||||||
 | 
						gltestperf.c \
 | 
				
			||||||
 | 
						glutfx.c \
 | 
				
			||||||
	isosurf.c \
 | 
						isosurf.c \
 | 
				
			||||||
 | 
						lodbias.c \
 | 
				
			||||||
	morph3d.c \
 | 
						morph3d.c \
 | 
				
			||||||
	teapot.c
 | 
						multiarb.c \
 | 
				
			||||||
 | 
						occlude.c \
 | 
				
			||||||
 | 
						paltex.c \
 | 
				
			||||||
 | 
						pixeltex.c \
 | 
				
			||||||
 | 
						pointblast.c \
 | 
				
			||||||
 | 
						ray.c \
 | 
				
			||||||
 | 
						readpix.c \
 | 
				
			||||||
 | 
						reflect.c \
 | 
				
			||||||
 | 
						renormal.c \
 | 
				
			||||||
 | 
						shadowtex.c \
 | 
				
			||||||
 | 
						spectex.c \
 | 
				
			||||||
 | 
						stex3d.c \
 | 
				
			||||||
 | 
						teapot.c \
 | 
				
			||||||
 | 
						terrain.c \
 | 
				
			||||||
 | 
						tessdemo.c \
 | 
				
			||||||
 | 
						texcyl.c \
 | 
				
			||||||
 | 
						texdown.c \
 | 
				
			||||||
 | 
						texenv.c \
 | 
				
			||||||
 | 
						texobj.c \
 | 
				
			||||||
 | 
						trispd.c \
 | 
				
			||||||
 | 
						tunnel.c \
 | 
				
			||||||
 | 
						tunnel2.c \
 | 
				
			||||||
 | 
						winpos.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CXXSRCS = \
 | 
				
			||||||
 | 
						rain.cxx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OSMESASRCS = osdemo.c
 | 
					OSMESASRCS = osdemo.c
 | 
				
			||||||
 | 
					IPERSSRCS = ipers.c
 | 
				
			||||||
 | 
					IPERSEXES = $(IPERSSRCS:.c=.exe)
 | 
				
			||||||
!include "../mesawin32.mak"
 | 
					!include "../mesawin32.mak"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### TARGETS #####
 | 
					##### TARGETS #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean::
 | 
					clean::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
realclean::
 | 
					clobber::
 | 
				
			||||||
 | 
						@del readtex.c readtex.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
targets: readtex.c readtex.h $(PROGS)
 | 
					$(EXES) : $*.obj readtex.c readtex.h
 | 
				
			||||||
 | 
					 | 
				
			||||||
# remove comments when we get non-osmesa pgm working
 | 
					 | 
				
			||||||
$(EXES) : $*.obj
 | 
					 | 
				
			||||||
	@echo $@
 | 
						@echo $@
 | 
				
			||||||
	$(link) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS)
 | 
						$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(OSMESAEXES) : $*.obj
 | 
					$(OSMESAEXES) : $*.obj
 | 
				
			||||||
	@echo $@
 | 
						@echo $@
 | 
				
			||||||
	$(link) $(lcommon) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS) $(EXTRALIBS)
 | 
						$(link) $(lcommon) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) $(EXTRALIBS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(IPERSEXES) : $*.obj
 | 
				
			||||||
 | 
						@echo $@
 | 
				
			||||||
 | 
						$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) winmm.lib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
readtex.c:
 | 
					readtex.c:
 | 
				
			||||||
	@copy ../util/readtex.c .
 | 
						-copy ..\util\readtex.c .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
readtex.h:
 | 
					readtex.h:
 | 
				
			||||||
	@copy ../util/readtex.c .
 | 
						-copy ..\util\readtex.h .
 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: drawpix.c,v 1.5 2000/12/24 22:53:54 pesco Exp $ */
 | 
					/* $Id: drawpix.c,v 1.5.2.2 2002/09/13 18:15:09 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * glDrawPixels demo/test/benchmark
 | 
					 * glDrawPixels demo/test/benchmark
 | 
				
			||||||
@@ -6,60 +6,6 @@
 | 
				
			|||||||
 * Brian Paul   September 25, 1997  This file is in the public domain.
 | 
					 * Brian Paul   September 25, 1997  This file is in the public domain.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * $Log: drawpix.c,v $
 | 
					 | 
				
			||||||
 * Revision 1.5  2000/12/24 22:53:54  pesco
 | 
					 | 
				
			||||||
 * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
 | 
					 | 
				
			||||||
 * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
 | 
					 | 
				
			||||||
 * Essentially the same.
 | 
					 | 
				
			||||||
 * Program files updated to include "readtex.c", not "../util/readtex.c".
 | 
					 | 
				
			||||||
 * * demos/reflect.c: Likewise for "showbuffer.c".
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * Makefile.am (EXTRA_DIST): Added top-level regular files.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * include/GL/Makefile.am (INC_X11): Added glxext.h.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
 | 
					 | 
				
			||||||
 * Mesa GGI headers in dist even if HAVE_GGI is not given.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * configure.in: Look for GLUT and demo source dirs in $srcdir.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
 | 
					 | 
				
			||||||
 * More source list updates in various Makefile.am's.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * Makefile.am (dist-hook): Remove CVS directory from distribution.
 | 
					 | 
				
			||||||
 * (DIST_SUBDIRS): List all possible subdirs here.
 | 
					 | 
				
			||||||
 * (SUBDIRS): Only list subdirs selected for build again.
 | 
					 | 
				
			||||||
 * The above two applied to all subdir Makefile.am's also.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.4  2000/09/08 21:45:21  brianp
 | 
					 | 
				
			||||||
 * added dither key option
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.3  1999/10/28 18:23:29  brianp
 | 
					 | 
				
			||||||
 * minor changes to Usage() function
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.2  1999/10/21 22:13:58  brianp
 | 
					 | 
				
			||||||
 * added f key to toggle front/back drawing
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
 | 
					 | 
				
			||||||
 * Imported sources
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.3  1999/03/28 18:18:33  brianp
 | 
					 | 
				
			||||||
 * minor clean-up
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.2  1998/11/05 04:34:04  brianp
 | 
					 | 
				
			||||||
 * moved image files to ../images/ directory
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.1  1998/02/22 16:43:17  brianp
 | 
					 | 
				
			||||||
 * added a few casts to silence compiler warnings
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 3.0  1998/02/14 18:42:29  brianp
 | 
					 | 
				
			||||||
 * initial rev
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -287,7 +233,7 @@ static void Init( GLboolean ciMode )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   if (ciMode) {
 | 
					   if (ciMode) {
 | 
				
			||||||
      /* Convert RGB image to grayscale */
 | 
					      /* Convert RGB image to grayscale */
 | 
				
			||||||
      GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
 | 
					      GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
 | 
				
			||||||
      GLint i;
 | 
					      GLint i;
 | 
				
			||||||
      for (i=0; i<ImgWidth*ImgHeight; i++) {
 | 
					      for (i=0; i<ImgWidth*ImgHeight; i++) {
 | 
				
			||||||
         int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
 | 
					         int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -752,7 +752,7 @@ main(int ac, char **av)
 | 
				
			|||||||
   glFogfv(GL_FOG_COLOR, fogcolor);
 | 
					   glFogfv(GL_FOG_COLOR, fogcolor);
 | 
				
			||||||
   glFogf(GL_FOG_DENSITY, 0.1);
 | 
					   glFogf(GL_FOG_DENSITY, 0.1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   p = malloc(sizeof(part) * np);
 | 
					   p = (part *) malloc(sizeof(part) * np);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   for (i = 0; i < np; i++)
 | 
					   for (i = 0; i < np; i++)
 | 
				
			||||||
      setnewpart(&p[i]);
 | 
					      setnewpart(&p[i]);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@
 | 
				
			|||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
#include <time.h>
 | 
					#include <time.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WIN32
 | 
					#if defined (WIN32)|| defined(_WIN32)
 | 
				
			||||||
#include <windows.h>
 | 
					#include <windows.h>
 | 
				
			||||||
#include <mmsystem.h>
 | 
					#include <mmsystem.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: isosurf.c,v 1.13 2001/10/04 19:14:26 kschultz Exp $ */
 | 
					/* $Id: isosurf.c,v 1.13.2.2 2002/09/10 23:35:38 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Display an isosurface of 3-D wind speed volume.
 | 
					 * Display an isosurface of 3-D wind speed volume.
 | 
				
			||||||
@@ -32,6 +32,7 @@
 | 
				
			|||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
#ifdef _WIN32
 | 
					#ifdef _WIN32
 | 
				
			||||||
#include <windows.h>
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#undef CLIP_MASK
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#define GL_GLEXT_LEGACY
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include "GL/glut.h"
 | 
					#include "GL/glut.h"
 | 
				
			||||||
@@ -39,34 +40,36 @@
 | 
				
			|||||||
#include "readtex.c"   /* I know, this is a hack.  KW: me too. */
 | 
					#include "readtex.c"   /* I know, this is a hack.  KW: me too. */
 | 
				
			||||||
#define TEXTURE_FILE "../images/reflect.rgb"
 | 
					#define TEXTURE_FILE "../images/reflect.rgb"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define LIT		0x1
 | 
					#define LIT		0x00000001
 | 
				
			||||||
#define UNLIT		0x2
 | 
					#define UNLIT		0x00000002
 | 
				
			||||||
#define REFLECT		0x10
 | 
					#define REFLECT		0x00000004
 | 
				
			||||||
#define POINT_FILTER	0x40
 | 
					#define POINT_FILTER	0x00000008
 | 
				
			||||||
#define LINEAR_FILTER	0x80
 | 
					#define LINEAR_FILTER	0x00000010
 | 
				
			||||||
#define GLVERTEX	0x100
 | 
					#define GLVERTEX	0x00000020
 | 
				
			||||||
#define DRAW_ELTS	0x4 
 | 
					#define DRAW_ELTS	0x00000040 
 | 
				
			||||||
#define DRAW_ARRAYS	0x200 
 | 
					#define DRAW_ARRAYS	0x00000080 
 | 
				
			||||||
#define ARRAY_ELT	0x400
 | 
					#define ARRAY_ELT	0x00000100
 | 
				
			||||||
#define LOCKED	        0x800
 | 
					#define LOCKED	        0x00000200
 | 
				
			||||||
#define UNLOCKED	0x8 
 | 
					#define UNLOCKED	0x00000400 
 | 
				
			||||||
#define IMMEDIATE	0x1000
 | 
					#define IMMEDIATE	0x00000800
 | 
				
			||||||
#define DISPLAYLIST	0x2000000
 | 
					#define DISPLAYLIST	0x00001000
 | 
				
			||||||
#define SHADE_SMOOTH	0x2000
 | 
					#define SHADE_SMOOTH	0x00002000
 | 
				
			||||||
#define SHADE_FLAT	0x4000
 | 
					#define SHADE_FLAT	0x00004000
 | 
				
			||||||
#define TRIANGLES	0x8000
 | 
					#define TRIANGLES	0x00008000
 | 
				
			||||||
#define STRIPS		0x10000
 | 
					#define STRIPS		0x00010000
 | 
				
			||||||
#define POINTS		0x20000
 | 
					#define POINTS		0x00020000
 | 
				
			||||||
#define USER_CLIP	0x40000
 | 
					#define USER_CLIP	0x00040000
 | 
				
			||||||
#define NO_USER_CLIP	0x80000
 | 
					#define NO_USER_CLIP	0x00080000
 | 
				
			||||||
#define MATERIALS	0x100000
 | 
					#define MATERIALS	0x00100000
 | 
				
			||||||
#define NO_MATERIALS	0x200000
 | 
					#define NO_MATERIALS	0x00200000
 | 
				
			||||||
#define FOG		0x400000
 | 
					#define FOG		0x00400000
 | 
				
			||||||
#define NO_FOG		0x800000
 | 
					#define NO_FOG		0x00800000
 | 
				
			||||||
#define QUIT		0x1000000
 | 
					#define QUIT		0x01000000
 | 
				
			||||||
#define GLINFO		0x4000000
 | 
					#define GLINFO		0x02000000
 | 
				
			||||||
#define STIPPLE		0x8000000
 | 
					#define STIPPLE		0x04000000
 | 
				
			||||||
#define NO_STIPPLE	0x20
 | 
					#define NO_STIPPLE	0x08000000
 | 
				
			||||||
 | 
					#define POLYGON_FILL	0x10000000
 | 
				
			||||||
 | 
					#define POLYGON_LINE	0x20000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define LIGHT_MASK		(LIT|UNLIT|REFLECT)
 | 
					#define LIGHT_MASK		(LIT|UNLIT|REFLECT)
 | 
				
			||||||
#define FILTER_MASK		(POINT_FILTER|LINEAR_FILTER)
 | 
					#define FILTER_MASK		(POINT_FILTER|LINEAR_FILTER)
 | 
				
			||||||
@@ -79,9 +82,10 @@
 | 
				
			|||||||
#define SHADE_MASK		(SHADE_SMOOTH|SHADE_FLAT)
 | 
					#define SHADE_MASK		(SHADE_SMOOTH|SHADE_FLAT)
 | 
				
			||||||
#define FOG_MASK		(FOG|NO_FOG)
 | 
					#define FOG_MASK		(FOG|NO_FOG)
 | 
				
			||||||
#define STIPPLE_MASK		(STIPPLE|NO_STIPPLE)
 | 
					#define STIPPLE_MASK		(STIPPLE|NO_STIPPLE)
 | 
				
			||||||
 | 
					#define POLYGON_MASK		(POLYGON_FILL|POLYGON_LINE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAXVERTS 10000
 | 
					#define MAXVERTS 10000
 | 
				
			||||||
static GLuint maxverts = MAXVERTS;
 | 
					static GLint maxverts = MAXVERTS;
 | 
				
			||||||
static float data[MAXVERTS][6];
 | 
					static float data[MAXVERTS][6];
 | 
				
			||||||
static float compressed_data[MAXVERTS][6];
 | 
					static float compressed_data[MAXVERTS][6];
 | 
				
			||||||
static float expanded_data[MAXVERTS*3][6];
 | 
					static float expanded_data[MAXVERTS*3][6];
 | 
				
			||||||
@@ -144,7 +148,7 @@ static void read_surface( char *filename )
 | 
				
			|||||||
static void print_flags( const char *msg, GLuint flags ) 
 | 
					static void print_flags( const char *msg, GLuint flags ) 
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   fprintf(stderr, 
 | 
					   fprintf(stderr, 
 | 
				
			||||||
	   "%s (0x%x): %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
 | 
						   "%s (0x%x): %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
 | 
				
			||||||
	   msg, flags,
 | 
						   msg, flags,
 | 
				
			||||||
	   (flags & GLVERTEX) ? "glVertex, " : "",
 | 
						   (flags & GLVERTEX) ? "glVertex, " : "",
 | 
				
			||||||
	   (flags & DRAW_ARRAYS) ? "glDrawArrays, " : "",
 | 
						   (flags & DRAW_ARRAYS) ? "glDrawArrays, " : "",
 | 
				
			||||||
@@ -162,7 +166,8 @@ static void print_flags( const char *msg, GLuint flags )
 | 
				
			|||||||
	   (flags & USER_CLIP) ? "user_clip, " : "",
 | 
						   (flags & USER_CLIP) ? "user_clip, " : "",
 | 
				
			||||||
	   (flags & MATERIALS) ? "materials, " : "",
 | 
						   (flags & MATERIALS) ? "materials, " : "",
 | 
				
			||||||
	   (flags & FOG) ? "fog, " : "",
 | 
						   (flags & FOG) ? "fog, " : "",
 | 
				
			||||||
	   (flags & STIPPLE) ? "stipple, " : "");
 | 
						   (flags & STIPPLE) ? "stipple, " : "",
 | 
				
			||||||
 | 
						   (flags & POLYGON_LINE) ? "polygon mode line, " : "");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -333,7 +338,7 @@ static void make_tri_indices( void )
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
   unsigned int *v = tri_indices;
 | 
					   unsigned int *v = tri_indices;
 | 
				
			||||||
   unsigned int parity = 0;
 | 
					   unsigned int parity = 0;
 | 
				
			||||||
   unsigned int i, j;
 | 
					   int i, j;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   for (j=2;j<numverts;j++,parity^=1) {
 | 
					   for (j=2;j<numverts;j++,parity^=1) {
 | 
				
			||||||
      if (parity) {
 | 
					      if (parity) {
 | 
				
			||||||
@@ -363,9 +368,9 @@ static void make_tri_indices( void )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define MIN(x,y) (x < y) ? x : y
 | 
					#define MIN(x,y) (x < y) ? x : y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void draw_surface( int with_state )
 | 
					static void draw_surface( unsigned int with_state )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   GLuint i, j;
 | 
					   GLint i, j;
 | 
				
			||||||
   
 | 
					   
 | 
				
			||||||
   if (with_state & DISPLAYLIST) {
 | 
					   if (with_state & DISPLAYLIST) {
 | 
				
			||||||
      if ((with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK|MATERIAL_MASK)) != 
 | 
					      if ((with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK|MATERIAL_MASK)) != 
 | 
				
			||||||
@@ -684,28 +689,34 @@ static void ModeMenu(int m)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   if (CHANGED(state, m, FOG_MASK)) {
 | 
					   if (CHANGED(state, m, FOG_MASK)) {
 | 
				
			||||||
      UPDATE(state, m, FOG_MASK);
 | 
					      UPDATE(state, m, FOG_MASK);
 | 
				
			||||||
      if (m & FOG)
 | 
					      if (m & FOG) {
 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
	 glEnable(GL_FOG);
 | 
						 glEnable(GL_FOG);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      else
 | 
					      else {
 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
	 glDisable(GL_FOG);
 | 
						 glDisable(GL_FOG);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   if (CHANGED(state, m, STIPPLE_MASK)) {
 | 
					   if (CHANGED(state, m, STIPPLE_MASK)) {
 | 
				
			||||||
      UPDATE(state, m, STIPPLE_MASK);
 | 
					      UPDATE(state, m, STIPPLE_MASK);
 | 
				
			||||||
      if (m & STIPPLE)
 | 
					      if (m & STIPPLE) {
 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
	 glEnable(GL_POLYGON_STIPPLE);
 | 
						 glEnable(GL_POLYGON_STIPPLE);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      else
 | 
					      else {
 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
	 glDisable(GL_POLYGON_STIPPLE);
 | 
						 glDisable(GL_POLYGON_STIPPLE);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if (CHANGED(state, m, POLYGON_MASK)) {
 | 
				
			||||||
 | 
					      UPDATE(state, m, POLYGON_MASK);
 | 
				
			||||||
 | 
					      if (m & POLYGON_FILL) {
 | 
				
			||||||
 | 
						 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      else {
 | 
				
			||||||
 | 
						 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef GL_EXT_vertex_array
 | 
					#ifdef GL_EXT_vertex_array
 | 
				
			||||||
   if (CHANGED(state, m, (LOCK_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)))
 | 
					   if (CHANGED(state, m, (LOCK_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)))
 | 
				
			||||||
   {
 | 
					   {
 | 
				
			||||||
@@ -1077,6 +1088,9 @@ int main(int argc, char **argv)
 | 
				
			|||||||
   glutAddMenuEntry("Stipple",               STIPPLE);
 | 
					   glutAddMenuEntry("Stipple",               STIPPLE);
 | 
				
			||||||
   glutAddMenuEntry("No Stipple",            NO_STIPPLE);
 | 
					   glutAddMenuEntry("No Stipple",            NO_STIPPLE);
 | 
				
			||||||
   glutAddMenuEntry("", 0);
 | 
					   glutAddMenuEntry("", 0);
 | 
				
			||||||
 | 
					   glutAddMenuEntry("Polygon Mode Fill",     POLYGON_FILL);
 | 
				
			||||||
 | 
					   glutAddMenuEntry("Polygon Mode Line",     POLYGON_LINE);
 | 
				
			||||||
 | 
					   glutAddMenuEntry("", 0);
 | 
				
			||||||
   glutAddMenuEntry("Point Filtered",        POINT_FILTER);
 | 
					   glutAddMenuEntry("Point Filtered",        POINT_FILTER);
 | 
				
			||||||
   glutAddMenuEntry("Linear Filtered",       LINEAR_FILTER);
 | 
					   glutAddMenuEntry("Linear Filtered",       LINEAR_FILTER);
 | 
				
			||||||
   glutAddMenuEntry("", 0);
 | 
					   glutAddMenuEntry("", 0);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,7 +40,7 @@
 | 
				
			|||||||
static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
 | 
					static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
 | 
				
			||||||
static GLboolean Anim = GL_TRUE;
 | 
					static GLboolean Anim = GL_TRUE;
 | 
				
			||||||
static GLint Bias = 0, BiasStepSign = +1; /* ints avoid fp precision problem */
 | 
					static GLint Bias = 0, BiasStepSign = +1; /* ints avoid fp precision problem */
 | 
				
			||||||
static GLint BiasMin = -200, BiasMax = 500;
 | 
					static GLint BiasMin = -400, BiasMax = 400;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -192,6 +192,8 @@ static void SpecialKey( int key, int x, int y )
 | 
				
			|||||||
static void Init( void )
 | 
					static void Init( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   const char *exten = (const char *) glGetString(GL_EXTENSIONS);
 | 
					   const char *exten = (const char *) glGetString(GL_EXTENSIONS);
 | 
				
			||||||
 | 
					   GLfloat maxBias;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   if (!strstr(exten, "GL_EXT_texture_lod_bias")) {
 | 
					   if (!strstr(exten, "GL_EXT_texture_lod_bias")) {
 | 
				
			||||||
      printf("Sorry, GL_EXT_texture_lod_bias not supported by this renderer.\n");
 | 
					      printf("Sorry, GL_EXT_texture_lod_bias not supported by this renderer.\n");
 | 
				
			||||||
      exit(1);
 | 
					      exit(1);
 | 
				
			||||||
@@ -207,6 +209,11 @@ static void Init( void )
 | 
				
			|||||||
   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
 | 
					   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
 | 
				
			||||||
   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
 | 
					   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
 | 
				
			||||||
   glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
 | 
					   glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS_EXT, &maxBias);
 | 
				
			||||||
 | 
					   printf("LOD bias range: [%g, %g]\n", -maxBias, maxBias);
 | 
				
			||||||
 | 
					   BiasMin = -100 * maxBias;
 | 
				
			||||||
 | 
					   BiasMax =  100 * maxBias;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: multiarb.c,v 1.10 2001/06/20 19:12:30 brianp Exp $ */
 | 
					/* $Id: multiarb.c,v 1.10.2.2 2002/09/13 18:15:09 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * GL_ARB_multitexture demo
 | 
					 * GL_ARB_multitexture demo
 | 
				
			||||||
@@ -10,77 +10,12 @@
 | 
				
			|||||||
 * Brian Paul  November 1998  This program is in the public domain.
 | 
					 * Brian Paul  November 1998  This program is in the public domain.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * $Log: multiarb.c,v $
 | 
					 | 
				
			||||||
 * Revision 1.10  2001/06/20 19:12:30  brianp
 | 
					 | 
				
			||||||
 * also print GL_MAX_TEXTURE_SIZE
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.9  2001/06/13 14:33:16  brianp
 | 
					 | 
				
			||||||
 * moved glTexEnvi calls to better logical locations
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.8  2000/12/24 22:53:54  pesco
 | 
					 | 
				
			||||||
 * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
 | 
					 | 
				
			||||||
 * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
 | 
					 | 
				
			||||||
 * Essentially the same.
 | 
					 | 
				
			||||||
 * Program files updated to include "readtex.c", not "../util/readtex.c".
 | 
					 | 
				
			||||||
 * * demos/reflect.c: Likewise for "showbuffer.c".
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * Makefile.am (EXTRA_DIST): Added top-level regular files.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * include/GL/Makefile.am (INC_X11): Added glxext.h.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
 | 
					 | 
				
			||||||
 * Mesa GGI headers in dist even if HAVE_GGI is not given.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * configure.in: Look for GLUT and demo source dirs in $srcdir.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
 | 
					 | 
				
			||||||
 * More source list updates in various Makefile.am's.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * * Makefile.am (dist-hook): Remove CVS directory from distribution.
 | 
					 | 
				
			||||||
 * (DIST_SUBDIRS): List all possible subdirs here.
 | 
					 | 
				
			||||||
 * (SUBDIRS): Only list subdirs selected for build again.
 | 
					 | 
				
			||||||
 * The above two applied to all subdir Makefile.am's also.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.7  2000/11/01 16:02:01  brianp
 | 
					 | 
				
			||||||
 * print number of texture units
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.6  2000/05/23 23:21:00  brianp
 | 
					 | 
				
			||||||
 * set default window pos
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.5  2000/02/02 17:31:45  brianp
 | 
					 | 
				
			||||||
 * changed > to >=
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.4  2000/02/02 01:07:21  brianp
 | 
					 | 
				
			||||||
 * limit Drift to [0, 1]
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.3  1999/10/21 16:40:32  brianp
 | 
					 | 
				
			||||||
 * added -info command line option
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.2  1999/10/13 12:02:13  brianp
 | 
					 | 
				
			||||||
 * use texture objects now
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
 | 
					 | 
				
			||||||
 * Imported sources
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.3  1999/03/28 18:20:49  brianp
 | 
					 | 
				
			||||||
 * minor clean-up
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.2  1998/11/05 04:34:04  brianp
 | 
					 | 
				
			||||||
 * moved image files to ../images/ directory
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Revision 1.1  1998/11/03 01:36:33  brianp
 | 
					 | 
				
			||||||
 * Initial revision
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#define GL_GLEXT_PROTOTYPES
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "readtex.c"   /* I know, this is a hack. */
 | 
					#include "readtex.c"   /* I know, this is a hack. */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: osdemo.c,v 1.7 2001/09/24 15:29:27 kschultz Exp $ */
 | 
					/* $Id: osdemo.c,v 1.7.2.1 2002/04/15 21:22:36 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Demo of off-screen Mesa rendering
 | 
					 * Demo of off-screen Mesa rendering
 | 
				
			||||||
@@ -14,6 +14,11 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * PPM output provided by Joerg Schmalzl.
 | 
					 * PPM output provided by Joerg Schmalzl.
 | 
				
			||||||
 * ASCII PPM output added by Brian Paul.
 | 
					 * ASCII PPM output added by Brian Paul.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Usage: osdemo [-perf] [filename]
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * -perf: Redraws the image 1000 times, displaying the FPS every 5 secs.
 | 
				
			||||||
 | 
					 * filename: file to store the TGA or PPM output
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,7 +34,9 @@
 | 
				
			|||||||
#define WIDTH 400
 | 
					#define WIDTH 400
 | 
				
			||||||
#define HEIGHT 400
 | 
					#define HEIGHT 400
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static GLint T0 = 0;
 | 
				
			||||||
 | 
					static GLint Frames = 0;
 | 
				
			||||||
 | 
					static int perf = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void render_image( void )
 | 
					static void render_image( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -76,7 +83,7 @@ static void render_image( void )
 | 
				
			|||||||
   glPopMatrix();
 | 
					   glPopMatrix();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef GL_HP_occlusion_test
 | 
					#ifdef GL_HP_occlusion_test
 | 
				
			||||||
   {
 | 
					   if (perf == 0) {
 | 
				
			||||||
      GLboolean bRet;
 | 
					      GLboolean bRet;
 | 
				
			||||||
      glDepthMask(GL_FALSE);
 | 
					      glDepthMask(GL_FALSE);
 | 
				
			||||||
      glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE);
 | 
					      glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE);
 | 
				
			||||||
@@ -105,7 +112,7 @@ static void render_image( void )
 | 
				
			|||||||
   glPopMatrix();
 | 
					   glPopMatrix();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef GL_HP_occlusion_test
 | 
					#ifdef GL_HP_occlusion_test
 | 
				
			||||||
   {
 | 
					   if (perf == 0){
 | 
				
			||||||
      GLboolean bRet;
 | 
					      GLboolean bRet;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      glDepthMask(GL_FALSE);
 | 
					      glDepthMask(GL_FALSE);
 | 
				
			||||||
@@ -130,6 +137,18 @@ static void render_image( void )
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   glPopMatrix();
 | 
					   glPopMatrix();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Frames++;
 | 
				
			||||||
 | 
					   if (perf) {
 | 
				
			||||||
 | 
					     GLint t = glutGet(GLUT_ELAPSED_TIME);
 | 
				
			||||||
 | 
					     if (t - T0 >= 5000) {
 | 
				
			||||||
 | 
					        GLfloat seconds = (t - T0) / 1000.0;
 | 
				
			||||||
 | 
					        GLfloat fps = Frames / seconds;
 | 
				
			||||||
 | 
					        printf("%d frames in %6.3f seconds = %6.3f FPS\n", Frames, seconds, fps);
 | 
				
			||||||
 | 
					        T0 = t;
 | 
				
			||||||
 | 
					        Frames = 0;
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -224,6 +243,8 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
 | 
				
			|||||||
int main( int argc, char *argv[] )
 | 
					int main( int argc, char *argv[] )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   void *buffer;
 | 
					   void *buffer;
 | 
				
			||||||
 | 
					   int i;
 | 
				
			||||||
 | 
					   char *filename = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   /* Create an RGBA-mode context */
 | 
					   /* Create an RGBA-mode context */
 | 
				
			||||||
#if OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 305
 | 
					#if OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 305
 | 
				
			||||||
@@ -237,6 +258,11 @@ int main( int argc, char *argv[] )
 | 
				
			|||||||
      return 0;
 | 
					      return 0;
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   for ( i=1; i<argc; i++ ) {
 | 
				
			||||||
 | 
					      if (argv[i][0] != '-') filename = argv[i];
 | 
				
			||||||
 | 
					      if (strcmp(argv[i], "-perf")==0) perf = 1;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   /* Allocate the image buffer */
 | 
					   /* Allocate the image buffer */
 | 
				
			||||||
   buffer = malloc( WIDTH * HEIGHT * 4 * sizeof(GLubyte) );
 | 
					   buffer = malloc( WIDTH * HEIGHT * 4 * sizeof(GLubyte) );
 | 
				
			||||||
   if (!buffer) {
 | 
					   if (!buffer) {
 | 
				
			||||||
@@ -256,16 +282,19 @@ int main( int argc, char *argv[] )
 | 
				
			|||||||
      glGetIntegerv(GL_DEPTH_BITS, &z);
 | 
					      glGetIntegerv(GL_DEPTH_BITS, &z);
 | 
				
			||||||
      glGetIntegerv(GL_STENCIL_BITS, &s);
 | 
					      glGetIntegerv(GL_STENCIL_BITS, &s);
 | 
				
			||||||
      glGetIntegerv(GL_ACCUM_RED_BITS, &a);
 | 
					      glGetIntegerv(GL_ACCUM_RED_BITS, &a);
 | 
				
			||||||
      printf("%d %d %d\n", z, s, a);
 | 
					      printf("Depth=%d Stencil=%d Accum=%d\n", z, s, a);
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   render_image();
 | 
					   render_image();
 | 
				
			||||||
 | 
					   if (perf)
 | 
				
			||||||
 | 
					      for(i=0; i< 1000; i++)
 | 
				
			||||||
 | 
					         render_image();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   if (argc>1) {
 | 
					   if (filename != NULL) {
 | 
				
			||||||
#ifdef SAVE_TARGA
 | 
					#ifdef SAVE_TARGA
 | 
				
			||||||
      write_targa(argv[1], buffer, WIDTH, HEIGHT);
 | 
					      write_targa(filename, buffer, WIDTH, HEIGHT);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
      write_ppm(argv[1], buffer, WIDTH, HEIGHT);
 | 
					      write_ppm(filename, buffer, WIDTH, HEIGHT);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
   else {
 | 
					   else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: paltex.c,v 1.6 2000/10/05 07:17:43 joukj Exp $ */
 | 
					/* $Id: paltex.c,v 1.6.2.3 2002/07/22 13:45:45 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Paletted texture demo.  Written by Brian Paul.
 | 
					 * Paletted texture demo.  Written by Brian Paul.
 | 
				
			||||||
@@ -9,6 +9,9 @@
 | 
				
			|||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#define GL_GLEXT_LEGACY
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -91,15 +94,16 @@ static void Init( void )
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
#define HEIGHT 8
 | 
					#define HEIGHT 8
 | 
				
			||||||
#define WIDTH 32
 | 
					#define WIDTH 32
 | 
				
			||||||
   static char texture[HEIGHT][WIDTH] = {
 | 
					   /* 257 = HEIGHT * WIDTH + 1 (for trailing '\0') */
 | 
				
			||||||
         "                                ",
 | 
					   static char texture[257] = {"\
 | 
				
			||||||
         "    MMM    EEEE   SSS    AAA    ",
 | 
					                                \
 | 
				
			||||||
         "   M M M  E      S   S  A   A   ",
 | 
					    MMM    EEEE   SSS    AAA    \
 | 
				
			||||||
         "   M M M  EEEE    SS    A   A   ",
 | 
					   M M M  E      S   S  A   A   \
 | 
				
			||||||
         "   M M M  E         SS  AAAAA   ",
 | 
					   M M M  EEEE    SS    A   A   \
 | 
				
			||||||
         "   M   M  E      S   S  A   A   ",
 | 
					   M M M  E         SS  AAAAA   \
 | 
				
			||||||
         "   M   M   EEEE   SSS   A   A   ",
 | 
					   M   M  E      S   S  A   A   \
 | 
				
			||||||
         "                                "
 | 
					   M   M   EEEE   SSS   A   A   \
 | 
				
			||||||
 | 
					                                "
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
   GLubyte table[256][4];
 | 
					   GLubyte table[256][4];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -158,7 +162,7 @@ static void Init( void )
 | 
				
			|||||||
                0,                   /* border */
 | 
					                0,                   /* border */
 | 
				
			||||||
                GL_COLOR_INDEX,      /* texture format */
 | 
					                GL_COLOR_INDEX,      /* texture format */
 | 
				
			||||||
                GL_UNSIGNED_BYTE,    /* texture type */
 | 
					                GL_UNSIGNED_BYTE,    /* texture type */
 | 
				
			||||||
                texture);            /* teh texture */
 | 
					                texture);            /* the texture */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
 | 
					   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,6 +13,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Log: pointblast.c,v $
 | 
					 * $Log: pointblast.c,v $
 | 
				
			||||||
 | 
					 * Revision 1.2.6.1  2002/04/15 22:14:09  kschultz
 | 
				
			||||||
 | 
					 * Build demos/samples correctly on Windows (Robert Bergkvist) to sync up
 | 
				
			||||||
 | 
					 * with the main branch.  (I should have done this for 4.0.2)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Revision 1.3  2002/01/16 00:48:43  kschultz
 | 
				
			||||||
 | 
					 * Demo updates for Windows (Robert Bergkvist)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * Revision 1.2  2000/06/27 17:04:43  brianp
 | 
					 * Revision 1.2  2000/06/27 17:04:43  brianp
 | 
				
			||||||
 * fixed compiler warnings
 | 
					 * fixed compiler warnings
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -38,6 +45,9 @@
 | 
				
			|||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
#include <math.h>       /* for cos(), sin(), and sqrt() */
 | 
					#include <math.h>       /* for cos(), sin(), and sqrt() */
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#define GL_GLEXT_LEGACY
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,15 +11,20 @@
 | 
				
			|||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
#include <time.h>
 | 
					#include <time.h>
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					#ifndef M_PI
 | 
				
			||||||
 | 
					#define M_PI 3.14159265
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "particles.h"
 | 
					#include "particles.h"
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#include "image.h"
 | 
					#include "readtex.h"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WIN32
 | 
					#ifdef _WIN32
 | 
				
			||||||
#include <windows.h>
 | 
					#include <windows.h>
 | 
				
			||||||
#include <mmsystem.h>
 | 
					#include <mmsystem.h>
 | 
				
			||||||
 | 
					#include "particles.cxx"
 | 
				
			||||||
 | 
					#include "readtex.c"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef XMESA
 | 
					#ifdef XMESA
 | 
				
			||||||
@@ -297,20 +302,21 @@ static void key(unsigned char key, int x, int y)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void inittextures(void)
 | 
					static void inittextures(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  IMAGE *img;
 | 
					  GLubyte *img;
 | 
				
			||||||
 | 
					  GLint width,height;
 | 
				
			||||||
 | 
					  GLenum format;
 | 
				
			||||||
  GLenum gluerr;
 | 
					  GLenum gluerr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  glGenTextures(1,&groundid);
 | 
					  glGenTextures(1,&groundid);
 | 
				
			||||||
  glBindTexture(GL_TEXTURE_2D,groundid);
 | 
					  glBindTexture(GL_TEXTURE_2D,groundid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if(!(img=ImageLoad("s128.rgb"))) {
 | 
					  if(!(img=LoadRGBImage("../images/s128.rgb",&width,&height,&format))){
 | 
				
			||||||
  	fprintf(stderr,"Error reading a texture.\n");
 | 
					  	fprintf(stderr,"Error reading a texture.\n");
 | 
				
			||||||
  	exit(-1);
 | 
					  	exit(-1);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					 | 
				
			||||||
  glPixelStorei(GL_UNPACK_ALIGNMENT,4);
 | 
					  glPixelStorei(GL_UNPACK_ALIGNMENT,4);
 | 
				
			||||||
  if((gluerr=(GLenum)gluBuild2DMipmaps(GL_TEXTURE_2D, 3, img->sizeX, img->sizeY, GL_RGB,
 | 
					  if((gluerr=(GLenum)gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height,GL_RGB,
 | 
				
			||||||
			       GL_UNSIGNED_BYTE, (GLvoid *)(img->data)))) {
 | 
								       GL_UNSIGNED_BYTE, (GLvoid *)(img)))) {
 | 
				
			||||||
    fprintf(stderr,"GLULib%s\n",gluErrorString(gluerr));
 | 
					    fprintf(stderr,"GLULib%s\n",gluErrorString(gluerr));
 | 
				
			||||||
    exit(-1);
 | 
					    exit(-1);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WIN32
 | 
					#ifdef WIN32
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: readpix.c,v 1.4 2000/10/16 21:24:39 brianp Exp $ */
 | 
					/* $Id: readpix.c,v 1.4.2.2 2002/07/12 15:50:46 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * glReadPixels and glCopyPixels test
 | 
					 * glReadPixels and glCopyPixels test
 | 
				
			||||||
@@ -8,6 +8,16 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Log: readpix.c,v $
 | 
					 * $Log: readpix.c,v $
 | 
				
			||||||
 | 
					 * Revision 1.4.2.2  2002/07/12 15:50:46  brianp
 | 
				
			||||||
 | 
					 * Pedantic compiler fixes (Sven Panne)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Revision 1.4.2.1  2002/05/01 14:53:52  alanh
 | 
				
			||||||
 | 
					 * glutSwapBuffers implicitly does a glFinish when swapping back to the front
 | 
				
			||||||
 | 
					 * buffer. We now issue a glFinish when not issuing SwapBuffers to ensure
 | 
				
			||||||
 | 
					 * the pipeline is complete.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * (Problem found with Chromium).
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * Revision 1.4  2000/10/16 21:24:39  brianp
 | 
					 * Revision 1.4  2000/10/16 21:24:39  brianp
 | 
				
			||||||
 * use gray background, memset TempImage to white to help with debugging
 | 
					 * use gray background, memset TempImage to white to help with debugging
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -173,6 +183,8 @@ Display( void )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   if (!DrawFront)
 | 
					   if (!DrawFront)
 | 
				
			||||||
      glutSwapBuffers();
 | 
					      glutSwapBuffers();
 | 
				
			||||||
 | 
					   else
 | 
				
			||||||
 | 
					      glFinish();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -234,7 +246,7 @@ Init( GLboolean ciMode )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   if (ciMode) {
 | 
					   if (ciMode) {
 | 
				
			||||||
      /* Convert RGB image to grayscale */
 | 
					      /* Convert RGB image to grayscale */
 | 
				
			||||||
      GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
 | 
					      GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
 | 
				
			||||||
      GLint i;
 | 
					      GLint i;
 | 
				
			||||||
      for (i=0; i<ImgWidth*ImgHeight; i++) {
 | 
					      for (i=0; i<ImgWidth*ImgHeight; i++) {
 | 
				
			||||||
         int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
 | 
					         int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: shadowtex.c,v 1.4 2001/02/28 18:41:50 brianp Exp $ */
 | 
					/* $Id: shadowtex.c,v 1.4.2.1 2002/07/12 15:50:46 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Shadow demo using the GL_SGIX_depth_texture, GL_SGIX_shadow and
 | 
					 * Shadow demo using the GL_SGIX_depth_texture, GL_SGIX_shadow and
 | 
				
			||||||
@@ -257,7 +257,7 @@ Display(void)
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
   if (DisplayMode == SHOW_DEPTH_MAPPING) {
 | 
					   if (DisplayMode == SHOW_DEPTH_MAPPING) {
 | 
				
			||||||
      /* load depth image as gray-scale luminance texture */
 | 
					      /* load depth image as gray-scale luminance texture */
 | 
				
			||||||
      GLfloat *depth = malloc(ShadowTexWidth * ShadowTexHeight
 | 
					      GLfloat *depth = (GLfloat *) malloc(ShadowTexWidth * ShadowTexHeight
 | 
				
			||||||
                                          * sizeof(GLfloat));
 | 
					                                          * sizeof(GLfloat));
 | 
				
			||||||
      if (depth) {
 | 
					      if (depth) {
 | 
				
			||||||
         glReadPixels(0, 0, ShadowTexWidth, ShadowTexHeight,
 | 
					         glReadPixels(0, 0, ShadowTexWidth, ShadowTexHeight,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@
 | 
				
			|||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
#include <time.h>
 | 
					#include <time.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WIN32
 | 
					#ifdef WIN32
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tessdemo.c,v 1.11 2001/03/21 02:47:32 gareth Exp $ */
 | 
					/* $Id: tessdemo.c,v 1.11.2.2 2002/09/11 00:09:01 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * A demo of the GLU polygon tesselation functions written by Bogdan Sikorski.
 | 
					 * A demo of the GLU polygon tesselation functions written by Bogdan Sikorski.
 | 
				
			||||||
@@ -90,7 +90,7 @@ static void GLCALLBACK edge_callback( GLenum flag )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void GLCALLBACK end_callback()
 | 
					static void GLCALLBACK end_callback()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   GLint	i;
 | 
					   GLuint	i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   glBegin( GL_LINES );
 | 
					   glBegin( GL_LINES );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -165,6 +165,8 @@ static void set_screen_wh( GLsizei w, GLsizei h )
 | 
				
			|||||||
   height = h;
 | 
					   height = h;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY *callback_t)();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void tesse( void )
 | 
					static void tesse( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   GLUtesselator	*tobj;
 | 
					   GLUtesselator	*tobj;
 | 
				
			||||||
@@ -177,11 +179,11 @@ static void tesse( void )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   if ( tobj != NULL ) {
 | 
					   if ( tobj != NULL ) {
 | 
				
			||||||
      gluTessNormal( tobj, 0.0, 0.0, 1.0 );
 | 
					      gluTessNormal( tobj, 0.0, 0.0, 1.0 );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_BEGIN, glBegin );
 | 
					      gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) glBegin );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_VERTEX, glVertex2fv );
 | 
					      gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) glVertex2fv );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_END, glEnd );
 | 
					      gluTessCallback( tobj, GLU_TESS_END, (callback_t) glEnd );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_ERROR, error_callback );
 | 
					      gluTessCallback( tobj, GLU_TESS_ERROR, (callback_t) error_callback );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_COMBINE, combine_callback );
 | 
					      gluTessCallback( tobj, GLU_TESS_COMBINE, (callback_t) combine_callback );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      glNewList( list_start, GL_COMPILE );
 | 
					      glNewList( list_start, GL_COMPILE );
 | 
				
			||||||
      gluBeginPolygon( tobj );
 | 
					      gluBeginPolygon( tobj );
 | 
				
			||||||
@@ -201,10 +203,10 @@ static void tesse( void )
 | 
				
			|||||||
      gluEndPolygon( tobj );
 | 
					      gluEndPolygon( tobj );
 | 
				
			||||||
      glEndList();
 | 
					      glEndList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_BEGIN, begin_callback );
 | 
					      gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) begin_callback );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_VERTEX, vertex_callback );
 | 
					      gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) vertex_callback );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_END, end_callback );
 | 
					      gluTessCallback( tobj, GLU_TESS_END, (callback_t) end_callback );
 | 
				
			||||||
      gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, edge_callback );
 | 
					      gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, (callback_t) edge_callback );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      glNewList( list_start + 1, GL_COMPILE );
 | 
					      glNewList( list_start + 1, GL_COMPILE );
 | 
				
			||||||
      gluBeginPolygon( tobj );
 | 
					      gluBeginPolygon( tobj );
 | 
				
			||||||
@@ -308,6 +310,7 @@ static void mouse_clicked( int button, int state, int x, int y )
 | 
				
			|||||||
static void display( void )
 | 
					static void display( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   GLuint i,j;
 | 
					   GLuint i,j;
 | 
				
			||||||
 | 
					   GLsizei ii, jj;
 | 
				
			||||||
   GLuint point_cnt;
 | 
					   GLuint point_cnt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   glClear( GL_COLOR_BUFFER_BIT );
 | 
					   glClear( GL_COLOR_BUFFER_BIT );
 | 
				
			||||||
@@ -319,12 +322,12 @@ static void display( void )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      glBegin( GL_LINES );
 | 
					      glBegin( GL_LINES );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      for ( i = 0 ; i < width ; i += 10 ) {
 | 
					      for ( ii = 0 ; ii < width ; ii += 10 ) {
 | 
				
			||||||
	 for ( j = 0 ; j < height ; j += 10 ) {
 | 
						 for ( jj = 0 ; jj < height ; jj += 10 ) {
 | 
				
			||||||
	    glVertex2i( 0, j );
 | 
						    glVertex2i( 0, jj );
 | 
				
			||||||
	    glVertex2i( width, j );
 | 
						    glVertex2i( width, jj );
 | 
				
			||||||
	    glVertex2i( i, height );
 | 
						    glVertex2i( ii, height );
 | 
				
			||||||
	    glVertex2i( i, 0 );
 | 
						    glVertex2i( ii, 0 );
 | 
				
			||||||
	 }
 | 
						 }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: trispd.c,v 1.2 2000/10/26 15:26:14 brianp Exp $ */
 | 
					/* $Id: trispd.c,v 1.2.2.1 2002/07/12 15:50:46 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Simple GLUT program to measure triangle strip rendering speed.
 | 
					 * Simple GLUT program to measure triangle strip rendering speed.
 | 
				
			||||||
@@ -7,6 +7,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Log: trispd.c,v $
 | 
					 * $Log: trispd.c,v $
 | 
				
			||||||
 | 
					 * Revision 1.2.2.1  2002/07/12 15:50:46  brianp
 | 
				
			||||||
 | 
					 * Pedantic compiler fixes (Sven Panne)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * Revision 1.2  2000/10/26 15:26:14  brianp
 | 
					 * Revision 1.2  2000/10/26 15:26:14  brianp
 | 
				
			||||||
 * added a glFinish() call
 | 
					 * added a glFinish() call
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -158,7 +161,7 @@ static void LoadTex(int comp, int filter)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
   GLubyte *pixels;
 | 
					   GLubyte *pixels;
 | 
				
			||||||
   int x, y;
 | 
					   int x, y;
 | 
				
			||||||
   pixels = malloc(4*256*256);
 | 
					   pixels = (GLubyte *) malloc(4*256*256);
 | 
				
			||||||
   for (y = 0; y < 256; ++y)
 | 
					   for (y = 0; y < 256; ++y)
 | 
				
			||||||
      for (x = 0; x < 256; ++x) {
 | 
					      for (x = 0; x < 256; ++x) {
 | 
				
			||||||
	 pixels[(y*256+x)*4+0] = (int)(128.5 + 127.0 * cos(0.024544 * x));
 | 
						 pixels[(y*256+x)*4+0] = (int)(128.5 + 127.0 * cos(0.024544 * x));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: winpos.c,v 1.3 2000/12/24 22:53:54 pesco Exp $ */
 | 
					/* $Id: winpos.c,v 1.3.2.1 2002/04/15 22:14:09 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Example of how to use the GL_MESA_window_pos extension.
 | 
					 * Example of how to use the GL_MESA_window_pos extension.
 | 
				
			||||||
@@ -8,6 +8,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Log: winpos.c,v $
 | 
					 * $Log: winpos.c,v $
 | 
				
			||||||
 | 
					 * Revision 1.3.2.1  2002/04/15 22:14:09  kschultz
 | 
				
			||||||
 | 
					 * Build demos/samples correctly on Windows (Robert Bergkvist) to sync up
 | 
				
			||||||
 | 
					 * with the main branch.  (I should have done this for 4.0.2)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Revision 1.4  2002/01/16 00:48:43  kschultz
 | 
				
			||||||
 | 
					 * Demo updates for Windows (Robert Bergkvist)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * Revision 1.3  2000/12/24 22:53:54  pesco
 | 
					 * Revision 1.3  2000/12/24 22:53:54  pesco
 | 
				
			||||||
 * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
 | 
					 * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
 | 
				
			||||||
 * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
 | 
					 * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
 | 
				
			||||||
@@ -59,6 +66,9 @@
 | 
				
			|||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#define GL_GLEXT_LEGACY
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include "GL/glut.h"
 | 
					#include "GL/glut.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,6 +19,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ggi_visual_t vis;
 | 
					ggi_visual_t vis;
 | 
				
			||||||
char text[100];
 | 
					char text[100];
 | 
				
			||||||
 | 
					int db_flag,vis_x, vis_y, vir_x, vir_y, gt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Draw a gear wheel.  You'll probably want to call this function when
 | 
					 * Draw a gear wheel.  You'll probably want to call this function when
 | 
				
			||||||
@@ -157,6 +158,7 @@ static GLuint count = 1;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void draw( void )
 | 
					static void draw( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					   static int n = 0;
 | 
				
			||||||
   glClearColor(0,0,0,0);
 | 
					   glClearColor(0,0,0,0);
 | 
				
			||||||
   glClearIndex(0);
 | 
					   glClearIndex(0);
 | 
				
			||||||
   glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
 | 
					   glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
 | 
				
			||||||
@@ -197,12 +199,25 @@ static void draw( void )
 | 
				
			|||||||
   ggiPuts(vis,0,ggiGetInfo(vis)->mode->visible.y+16,text);
 | 
					   ggiPuts(vis,0,ggiGetInfo(vis)->mode->visible.y+16,text);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   GGIMesaSwapBuffers();
 | 
					    if(db_flag)
 | 
				
			||||||
 | 
					   ggiMesaSwapBuffers();
 | 
				
			||||||
 			
 | 
					 			
 | 
				
			||||||
   count++;
 | 
					   count++;
 | 
				
			||||||
   if (count==limit) {
 | 
					   if (count==limit) {
 | 
				
			||||||
      exit(1);
 | 
					      exit(1);
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					    ++n;
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					   if (!(n%10)){
 | 
				
			||||||
 | 
						ggi_color rgb = { 10000, 10000, 10000 };
 | 
				
			||||||
 | 
						ggiSetSimpleMode(vis,vis_x+(n/10),vis_y+(n/10),db_flag?2:1, gt); 
 | 
				
			||||||
 | 
						glViewport(0, 0,vis_x+(n/10),vis_y+(n/10));
 | 
				
			||||||
 | 
						ggiSetGCForeground(vis, ggiMapColor(vis, &rgb));
 | 
				
			||||||
 | 
						ggiDrawBox(vis, 20, 20, 100, 100);
 | 
				
			||||||
 | 
						if(db_flag)
 | 
				
			||||||
 | 
						  ggiSetWriteFrame(vis, 1);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void idle( void )
 | 
					static void idle( void )
 | 
				
			||||||
@@ -216,6 +231,10 @@ static void reshape( int width, int height )
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
   GLfloat  h = (GLfloat) height / (GLfloat) width;
 | 
					   GLfloat  h = (GLfloat) height / (GLfloat) width;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if(db_flag)
 | 
				
			||||||
 | 
						glDrawBuffer(GL_BACK);
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
						glDrawBuffer(GL_FRONT);
 | 
				
			||||||
   glViewport(0, 0, (GLint)width, (GLint)height);
 | 
					   glViewport(0, 0, (GLint)width, (GLint)height);
 | 
				
			||||||
   glMatrixMode(GL_PROJECTION);
 | 
					   glMatrixMode(GL_PROJECTION);
 | 
				
			||||||
   glLoadIdentity();
 | 
					   glLoadIdentity();
 | 
				
			||||||
@@ -231,8 +250,8 @@ static void reshape( int width, int height )
 | 
				
			|||||||
static void init( void )
 | 
					static void init( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   static GLfloat pos[4] = {5.0, 5.0, 10.0, 0.0 };
 | 
					   static GLfloat pos[4] = {5.0, 5.0, 10.0, 0.0 };
 | 
				
			||||||
   static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0 };
 | 
					   static GLfloat red[4] = {0.9, 0.9, 0.9, 1.0 };
 | 
				
			||||||
   static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0 };
 | 
					   static GLfloat green[4] = {0.0, 0.8, 0.9, 1.0 };
 | 
				
			||||||
   static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0 };
 | 
					   static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   glLightfv( GL_LIGHT0, GL_POSITION, pos );
 | 
					   glLightfv( GL_LIGHT0, GL_POSITION, pos );
 | 
				
			||||||
@@ -276,9 +295,9 @@ static void usage(char *s)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int main( int argc, char *argv[] )
 | 
					int main( int argc, char *argv[] )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	GGIMesaContext ctx;
 | 
						ggi_mesa_context_t ctx;
 | 
				
			||||||
	int vis_x,vis_y,vir_x,vir_y,bpp,db_flag,gt;
 | 
					 | 
				
			||||||
	ggi_mode mode;
 | 
						ggi_mode mode;
 | 
				
			||||||
 | 
						int bpp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	limit=0;
 | 
						limit=0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -313,10 +332,9 @@ int main( int argc, char *argv[] )
 | 
				
			|||||||
		exit(1);
 | 
							exit(1);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
	ctx=GGIMesaCreateContext(); 
 | 
						if (ggiMesaInit() < 0)
 | 
				
			||||||
	if (ctx==NULL)
 | 
					 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		printf("GGIMesaCreateContext() failed\n");
 | 
							printf("ggiMesaInit failed\n");
 | 
				
			||||||
		exit(1);
 | 
							exit(1);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
@@ -327,29 +345,42 @@ int main( int argc, char *argv[] )
 | 
				
			|||||||
		exit(1);
 | 
							exit(1);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (ggiSetGraphMode(vis,vis_x,vis_y,vir_x,vir_y,gt)<0) 
 | 
						if (ggiSetSimpleMode(vis,vis_x,vis_y,db_flag ? 2 : 1,gt)<0) 
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		printf("%s: can't set graphmode (%i %i %i %i)  %i BPP\n",
 | 
							printf("%s: can't set graphmode (%i %i %i %i)  %i BPP\n",
 | 
				
			||||||
			argv[0],vis_x,vis_y,vir_x,vir_y,bpp);
 | 
								argv[0],vis_x,vis_y,vir_x,vir_y,bpp);
 | 
				
			||||||
		exit(1);
 | 
							exit(1);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (GGIMesaSetVisual(ctx,vis,GL_TRUE,db_flag)<0)
 | 
						if (ggiMesaAttach(vis) < 0)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							printf("ggiMesaAttach failed\n");
 | 
				
			||||||
 | 
							exit(1);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if (ggiMesaExtendVisual(vis, GL_FALSE, GL_FALSE, 16,
 | 
				
			||||||
 | 
						                        0, 0, 0, 0, 0, 1)  < 0)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		printf ("GGIMesaSetVisual() failed\n");
 | 
							printf ("GGIMesaSetVisual() failed\n");
 | 
				
			||||||
		exit(1);
 | 
							exit(1);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	GGIMesaMakeCurrent(ctx);
 | 
						ctx = ggiMesaCreateContext(vis); 
 | 
				
			||||||
 | 
						if (ctx==NULL)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							printf("GGIMesaCreateContext() failed\n");
 | 
				
			||||||
 | 
							exit(1);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ggiMesaMakeCurrent(ctx, vis);
 | 
				
			||||||
	ggiGetMode(vis,&mode);
 | 
						ggiGetMode(vis,&mode);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	reshape(mode.visible.x,mode.visible.y);
 | 
						reshape(mode.visible.x,mode.visible.y);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	init();
 | 
						init();
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
	while (!ggiKbhit(vis)) idle();
 | 
						while (!ggiKbhit(vis)) { /*sleep(1);*/ idle(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	GGIMesaDestroyContext(ctx);
 | 
						ggiMesaDestroyContext(ctx);
 | 
				
			||||||
	ggiClose(vis);
 | 
						ggiClose(vis);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printf("%s\n",text);
 | 
						printf("%s\n",text);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,62 +1,51 @@
 | 
				
			|||||||
# Makefile for Win32
 | 
					# Makefile for Win32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TOP    = ..
 | 
					TOP    = ..
 | 
				
			||||||
 | 
					INCDIR = ..\include
 | 
				
			||||||
!include "$(TOP)/names.win"
 | 
					LIBDIR = ..\lib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
!include <win32.mak>
 | 
					!include <win32.mak>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SRCS= \
 | 
					SRCS= \
 | 
				
			||||||
 | 
					   aaindex.c \
 | 
				
			||||||
 | 
					   aapoly.c \
 | 
				
			||||||
 | 
					   aargb.c \
 | 
				
			||||||
   accanti.c \
 | 
					   accanti.c \
 | 
				
			||||||
   accnot.c   \
 | 
					   accpersp.c \
 | 
				
			||||||
   accum.c    \
 | 
					 | 
				
			||||||
   aim.c      \
 | 
					 | 
				
			||||||
   alpha.c    \
 | 
					   alpha.c    \
 | 
				
			||||||
   alpha3D.c  \
 | 
					   alpha3D.c  \
 | 
				
			||||||
   anti.c     \
 | 
					   anti.c     \
 | 
				
			||||||
   antiindex.c  \
 | 
					 | 
				
			||||||
   antipindex.c \
 | 
					 | 
				
			||||||
   antipoint.c  \
 | 
					 | 
				
			||||||
   antipoly.c  \
 | 
					 | 
				
			||||||
   bezcurve.c  \
 | 
					   bezcurve.c  \
 | 
				
			||||||
   bezmesh.c   \
 | 
					   bezmesh.c   \
 | 
				
			||||||
   bezsurf.c   \
 | 
					 | 
				
			||||||
   checker.c   \
 | 
					   checker.c   \
 | 
				
			||||||
   checker2.c  \
 | 
					 | 
				
			||||||
   chess.c     \
 | 
					 | 
				
			||||||
   clip.c      \
 | 
					   clip.c      \
 | 
				
			||||||
   colormat.c  \
 | 
					   colormat.c  \
 | 
				
			||||||
   cone.c      \
 | 
					 | 
				
			||||||
   cube.c      \
 | 
					   cube.c      \
 | 
				
			||||||
   curve.c     \
 | 
					 | 
				
			||||||
   depthcue.c  \
 | 
					   depthcue.c  \
 | 
				
			||||||
   disk.c      \
 | 
					 | 
				
			||||||
   dof.c       \
 | 
					   dof.c       \
 | 
				
			||||||
   dofnot.c    \
 | 
					 | 
				
			||||||
   double.c    \
 | 
					   double.c    \
 | 
				
			||||||
   drawf.c     \
 | 
					   drawf.c     \
 | 
				
			||||||
   feedback.c  \
 | 
					   feedback.c  \
 | 
				
			||||||
   fog.c       \
 | 
					   fog.c       \
 | 
				
			||||||
   fogindex.c  \
 | 
					   fogindex.c  \
 | 
				
			||||||
   font.c      \
 | 
					   font.c      \
 | 
				
			||||||
 | 
					   hello.c     \
 | 
				
			||||||
 | 
					   image.c     \
 | 
				
			||||||
   light.c     \
 | 
					   light.c     \
 | 
				
			||||||
   linelist.c  \
 | 
					 | 
				
			||||||
   lines.c     \
 | 
					   lines.c     \
 | 
				
			||||||
   list.c      \
 | 
					   list.c      \
 | 
				
			||||||
   list2.c     \
 | 
					 | 
				
			||||||
   maplight.c  \
 | 
					 | 
				
			||||||
   material.c  \
 | 
					   material.c  \
 | 
				
			||||||
   mipmap.c    \
 | 
					   mipmap.c    \
 | 
				
			||||||
   model.c     \
 | 
					   model.c     \
 | 
				
			||||||
   movelight.c \
 | 
					   movelight.c \
 | 
				
			||||||
   nurbs.c     \
 | 
					   nurbs.c     \
 | 
				
			||||||
   pickdepth.c \
 | 
					   pickdepth.c \
 | 
				
			||||||
   pickline.c  \
 | 
					 | 
				
			||||||
   picksquare.c \
 | 
					   picksquare.c \
 | 
				
			||||||
   plane.c     \
 | 
					   plane.c     \
 | 
				
			||||||
   planet.c    \
 | 
					   planet.c    \
 | 
				
			||||||
   planetup.c  \
 | 
					   polyoff.c  \
 | 
				
			||||||
   polys.c     \
 | 
					   polys.c     \
 | 
				
			||||||
 | 
					   quadric.c   \
 | 
				
			||||||
   robot.c     \
 | 
					   robot.c     \
 | 
				
			||||||
   sccolorlight.c \
 | 
					   sccolorlight.c \
 | 
				
			||||||
   scene.c     \
 | 
					   scene.c     \
 | 
				
			||||||
@@ -64,18 +53,26 @@ SRCS= \
 | 
				
			|||||||
   sceneflat.c \
 | 
					   sceneflat.c \
 | 
				
			||||||
   select.c    \
 | 
					   select.c    \
 | 
				
			||||||
   smooth.c    \
 | 
					   smooth.c    \
 | 
				
			||||||
   sphere.c    \
 | 
					 | 
				
			||||||
   stencil.c   \
 | 
					   stencil.c   \
 | 
				
			||||||
   stroke.c    \
 | 
					   stroke.c    \
 | 
				
			||||||
   surface.c   \
 | 
					   surface.c   \
 | 
				
			||||||
   tea.c       \
 | 
					 | 
				
			||||||
   teaambient.c \
 | 
					   teaambient.c \
 | 
				
			||||||
   teapots.c   \
 | 
					   teapots.c   \
 | 
				
			||||||
 | 
					   tess.c      \
 | 
				
			||||||
 | 
					   tesswind.c  \
 | 
				
			||||||
 | 
					   texbind.c   \
 | 
				
			||||||
   texgen.c    \
 | 
					   texgen.c    \
 | 
				
			||||||
 | 
					   texprox.c   \
 | 
				
			||||||
 | 
					   texsub.c    \
 | 
				
			||||||
   texturesurf.c \
 | 
					   texturesurf.c \
 | 
				
			||||||
   trim.c     
 | 
					   torus.c     \
 | 
				
			||||||
 | 
					   trim.c     \
 | 
				
			||||||
EXTRALIBS = $(MESAGL).lib $(MESAGLU).lib $(MESATK).lib $(MESAAUX).lib
 | 
					   unproject.c \
 | 
				
			||||||
 | 
					   varray.c   \
 | 
				
			||||||
 | 
					   wrap.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
!include "$(TOP)/mesawin32.mak"
 | 
					!include "$(TOP)/mesawin32.mak"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(EXES) : $*.obj
 | 
				
			||||||
 | 
						@echo $@
 | 
				
			||||||
 | 
						$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)
 | 
				
			||||||
@@ -42,6 +42,7 @@
 | 
				
			|||||||
 *  two rectangles.  This program clamps the texture, if
 | 
					 *  two rectangles.  This program clamps the texture, if
 | 
				
			||||||
 *  the texture coordinates fall outside 0.0 and 1.0.
 | 
					 *  the texture coordinates fall outside 0.0 and 1.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*	Create checkerboard texture	*/
 | 
					/*	Create checkerboard texture	*/
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,7 +62,7 @@ selectFog(int mode)
 | 
				
			|||||||
	/* falls through */
 | 
						/* falls through */
 | 
				
			||||||
    case GL_EXP2:
 | 
					    case GL_EXP2:
 | 
				
			||||||
    case GL_EXP:
 | 
					    case GL_EXP:
 | 
				
			||||||
        glFogi(GL_FOG_MODE, mode);
 | 
						glFogiv(GL_FOG_MODE, (int *) &mode);
 | 
				
			||||||
	glutPostRedisplay();
 | 
						glutPostRedisplay();
 | 
				
			||||||
	break;
 | 
						break;
 | 
				
			||||||
    case 0:
 | 
					    case 0:
 | 
				
			||||||
@@ -190,7 +190,7 @@ main(int argc, char **argv)
 | 
				
			|||||||
    glutDisplayFunc(display);
 | 
					    glutDisplayFunc(display);
 | 
				
			||||||
    glutCreateMenu(selectFog);
 | 
					    glutCreateMenu(selectFog);
 | 
				
			||||||
    glutAddMenuEntry("Fog EXP", GL_EXP);
 | 
					    glutAddMenuEntry("Fog EXP", GL_EXP);
 | 
				
			||||||
    glutAddMenuEntry("Fog EXP2", GL_EXP2);
 | 
					    glutAddMenuEntry("Fog EXP2", /*GL_EXP2*/ 0xffff);
 | 
				
			||||||
    glutAddMenuEntry("Fog LINEAR", GL_LINEAR);
 | 
					    glutAddMenuEntry("Fog LINEAR", GL_LINEAR);
 | 
				
			||||||
    glutAddMenuEntry("Quit", 0);
 | 
					    glutAddMenuEntry("Quit", 0);
 | 
				
			||||||
    glutAttachMenu(GLUT_RIGHT_BUTTON);
 | 
					    glutAttachMenu(GLUT_RIGHT_BUTTON);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,6 +39,7 @@
 | 
				
			|||||||
 * hello.c
 | 
					 * hello.c
 | 
				
			||||||
 * This is a simple, introductory OpenGL program.
 | 
					 * This is a simple, introductory OpenGL program.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void display(void)
 | 
					void display(void)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -103,8 +103,8 @@ drawRects(GLenum mode)
 | 
				
			|||||||
void
 | 
					void
 | 
				
			||||||
processHits(GLint hits, GLuint buffer[])
 | 
					processHits(GLint hits, GLuint buffer[])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  unsigned int i, j;
 | 
					  GLint i;
 | 
				
			||||||
  GLuint names, *ptr;
 | 
					  GLuint j, names, *ptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  printf("hits = %d\n", hits);
 | 
					  printf("hits = %d\n", hits);
 | 
				
			||||||
  ptr = (GLuint *) buffer;
 | 
					  ptr = (GLuint *) buffer;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -87,8 +87,8 @@ void drawSquares(GLenum mode)
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
void processHits (GLint hits, GLuint buffer[])
 | 
					void processHits (GLint hits, GLuint buffer[])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   unsigned int i, j;
 | 
					   GLint i;
 | 
				
			||||||
   GLuint ii = 0, jj = 0, names, *ptr;
 | 
					   GLuint j, ii = 0, jj = 0, names, *ptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   printf ("hits = %d\n", hits);
 | 
					   printf ("hits = %d\n", hits);
 | 
				
			||||||
   ptr = (GLuint *) buffer;
 | 
					   ptr = (GLuint *) buffer;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,7 @@
 | 
				
			|||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef GL_VERSION_1_1
 | 
					#ifdef GL_VERSION_1_1
 | 
				
			||||||
GLuint list;
 | 
					GLuint list;
 | 
				
			||||||
@@ -149,7 +150,7 @@ static void Benchmark( float xdiff, float ydiff )
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
   int startTime, endTime;
 | 
					   int startTime, endTime;
 | 
				
			||||||
   int draws;
 | 
					   int draws;
 | 
				
			||||||
   double seconds, fps, triPerSecond;
 | 
					   double seconds, fps;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   printf("Benchmarking...\n");
 | 
					   printf("Benchmarking...\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -124,8 +124,8 @@ void drawScene (void)
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
void processHits (GLint hits, GLuint buffer[])
 | 
					void processHits (GLint hits, GLuint buffer[])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   unsigned int i, j;
 | 
					   GLint i;
 | 
				
			||||||
   GLuint names, *ptr;
 | 
					   GLuint j, names, *ptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   printf ("hits = %d\n", hits);
 | 
					   printf ("hits = %d\n", hits);
 | 
				
			||||||
   ptr = (GLuint *) buffer;
 | 
					   ptr = (GLuint *) buffer;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,6 +41,7 @@
 | 
				
			|||||||
 *  This program draws a NURBS surface in the shape of a
 | 
					 *  This program draws a NURBS surface in the shape of a
 | 
				
			||||||
 *  symmetrical hill.
 | 
					 *  symmetrical hill.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GLfloat ctlpoints[4][4][3];
 | 
					GLfloat ctlpoints[4][4][3];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -94,7 +94,7 @@ void CALLBACK vertexCallback(GLvoid *vertex)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   pointer = (GLdouble *) vertex;
 | 
					   pointer = (GLdouble *) vertex;
 | 
				
			||||||
   glColor3dv(pointer+3);
 | 
					   glColor3dv(pointer+3);
 | 
				
			||||||
   glVertex3dv(vertex);
 | 
					   glVertex3dv(pointer);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*  combineCallback is used to create a new vertex when edges
 | 
					/*  combineCallback is used to create a new vertex when edges
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										42
									
								
								progs/samples/Makefile.win
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								progs/samples/Makefile.win
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					# $Id: Makefile.win,v 1.1.2.1 2002/04/15 22:13:31 kschultz Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Mesa 3-D graphics library
 | 
				
			||||||
 | 
					# Version:  3.5
 | 
				
			||||||
 | 
					# Copyright (C) 1995-2001  Brian Paul
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Makefile for GLUT-based demo programs for Windows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!include <win32.mak>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##### MACROS #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TOP    = ..
 | 
				
			||||||
 | 
					INCDIR = ..\include
 | 
				
			||||||
 | 
					LIBDIR = ..\lib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \
 | 
				
			||||||
 | 
						font line logo nurb oglinfo olympic overlay point prim quad select \
 | 
				
			||||||
 | 
						shape sphere star stencil stretch texture tri wave
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SRCS = \
 | 
				
			||||||
 | 
					    accum.c \
 | 
				
			||||||
 | 
					    bitmap1.c \
 | 
				
			||||||
 | 
					    bitmap2.c \
 | 
				
			||||||
 | 
					    blendeq.c \
 | 
				
			||||||
 | 
					    blendxor.c \
 | 
				
			||||||
 | 
					    copy.c \
 | 
				
			||||||
 | 
					    cursor.c depth.c eval.c fog.c \
 | 
				
			||||||
 | 
						font.c line.c logo.c nurb.c olympic.c overlay.c point.c prim.c quad.c select.c \
 | 
				
			||||||
 | 
						shape.c sphere.c star.c stencil.c stretch.c texture.c tri.c wave.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!include "../mesawin32.mak"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##### TARGETS #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clobber::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(EXES) : $*.obj
 | 
				
			||||||
 | 
						@echo $@
 | 
				
			||||||
 | 
						$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)
 | 
				
			||||||
@@ -11,6 +11,10 @@
 | 
				
			|||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,6 +10,10 @@
 | 
				
			|||||||
#include <unistd.h>
 | 
					#include <unistd.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
typedef struct {
 | 
					typedef struct {
 | 
				
			||||||
    int sizeX, sizeY;
 | 
					    size_t sizeX, sizeY;
 | 
				
			||||||
    GLubyte *data;
 | 
					    GLubyte *data;
 | 
				
			||||||
} PPMImage;
 | 
					} PPMImage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -30,7 +30,7 @@ static PPMImage *LoadPPM(const char *filename)
 | 
				
			|||||||
	exit(1);
 | 
						exit(1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    result = malloc(sizeof(PPMImage));
 | 
					    result = (PPMImage *) malloc(sizeof(PPMImage));
 | 
				
			||||||
    if (!result)
 | 
					    if (!result)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
	fprintf(stderr, "Unable to allocate memory\n");
 | 
						fprintf(stderr, "Unable to allocate memory\n");
 | 
				
			||||||
@@ -52,14 +52,15 @@ static PPMImage *LoadPPM(const char *filename)
 | 
				
			|||||||
    while (fgetc(fp) != '\n')
 | 
					    while (fgetc(fp) != '\n')
 | 
				
			||||||
	;
 | 
						;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    result->data = malloc(3 * result->sizeX * result->sizeY);
 | 
					    result->data = (GLubyte *) malloc(3 * result->sizeX * result->sizeY);
 | 
				
			||||||
    if (!result)
 | 
					    if (!result)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
	fprintf(stderr, "Unable to allocate memory\n");
 | 
						fprintf(stderr, "Unable to allocate memory\n");
 | 
				
			||||||
	exit(1);
 | 
						exit(1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (fread(result->data, 3 * result->sizeX, result->sizeY, fp) != result->sizeY)
 | 
					    if (fread(result->data, 3 * result->sizeX, result->sizeY, fp) != 
 | 
				
			||||||
 | 
						result->sizeY)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
	fprintf(stderr, "Error loading image `%s'\n", filename);
 | 
						fprintf(stderr, "Error loading image `%s'\n", filename);
 | 
				
			||||||
	exit(1);
 | 
						exit(1);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -216,11 +216,13 @@ static void CALLBACK ErrorCallback(GLenum which)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY *callback_t)();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void Init(void)
 | 
					static void Init(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    theNurbs = gluNewNurbsRenderer();
 | 
					    theNurbs = gluNewNurbsRenderer();
 | 
				
			||||||
    gluNurbsCallback(theNurbs, GLU_ERROR, ErrorCallback);
 | 
					    gluNurbsCallback(theNurbs, GLU_ERROR, (callback_t) ErrorCallback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    gluNurbsProperty(theNurbs, GLU_SAMPLING_TOLERANCE, 15.0);
 | 
					    gluNurbsProperty(theNurbs, GLU_SAMPLING_TOLERANCE, 15.0);
 | 
				
			||||||
    gluNurbsProperty(theNurbs, GLU_DISPLAY_MODE, GLU_OUTLINE_PATCH);
 | 
					    gluNurbsProperty(theNurbs, GLU_DISPLAY_MODE, GLU_OUTLINE_PATCH);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -102,6 +102,8 @@ static void CALLBACK ErrorHandler(GLenum which)
 | 
				
			|||||||
    fprintf(stderr, "Quad Error: %s\n", gluErrorString(which));
 | 
					    fprintf(stderr, "Quad Error: %s\n", gluErrorString(which));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void (GLAPIENTRY *callback_t)();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void Init(void)
 | 
					static void Init(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    static GLint colorIndexes[3] = {0, 200, 255};
 | 
					    static GLint colorIndexes[3] = {0, 200, 255};
 | 
				
			||||||
@@ -163,7 +165,7 @@ static void Init(void)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quadObj = gluNewQuadric();
 | 
					    quadObj = gluNewQuadric();
 | 
				
			||||||
    gluQuadricCallback(quadObj, GLU_ERROR, ErrorHandler);
 | 
					    gluQuadricCallback(quadObj, GLU_ERROR, (callback_t) ErrorHandler);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    radius1 = 10;
 | 
					    radius1 = 10;
 | 
				
			||||||
    radius2 = 5;
 | 
					    radius2 = 5;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -174,7 +174,7 @@ static void DeleteTri(GLint h)
 | 
				
			|||||||
static void GrowTri(GLint h)
 | 
					static void GrowTri(GLint h)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    float v[2];
 | 
					    float v[2];
 | 
				
			||||||
    float *oldV;
 | 
					    float *oldV = NULL;
 | 
				
			||||||
    GLint i;
 | 
					    GLint i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    v[0] = objects[h].v1[0] + objects[h].v2[0] + objects[h].v3[0];
 | 
					    v[0] = objects[h].v1[0] + objects[h].v2[0] + objects[h].v3[0];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,18 +6,17 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CC = gcc
 | 
					CC = gcc
 | 
				
			||||||
CFLAGS = -g -I../include
 | 
					CFLAGS = -g -I../include -I../util
 | 
				
			||||||
LIBS = -L../lib -lglut -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lm
 | 
					LIBS = -L../lib -lglut -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PROGS = cva \
 | 
					PROGS = cva \
 | 
				
			||||||
	dinoshade \
 | 
						dinoshade \
 | 
				
			||||||
	fogcoord \
 | 
					 | 
				
			||||||
	manytex \
 | 
						manytex \
 | 
				
			||||||
	multipal \
 | 
						multipal \
 | 
				
			||||||
	projtex \
 | 
						projtex \
 | 
				
			||||||
	seccolor \
 | 
					 | 
				
			||||||
	sharedtex \
 | 
						sharedtex \
 | 
				
			||||||
	texline
 | 
						seccolor \
 | 
				
			||||||
 | 
						texline texwrap fogcoord multiwindow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### RULES #####
 | 
					##### RULES #####
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										39
									
								
								progs/tests/Makefile.win
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								progs/tests/Makefile.win
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					# $Id: Makefile.win,v 1.1.2.1 2002/04/15 22:13:00 kschultz Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Mesa 3-D graphics library
 | 
				
			||||||
 | 
					# Version:  3.5
 | 
				
			||||||
 | 
					# Copyright (C) 1995-2001  Brian Paul
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Makefile for GLUT-based demo programs for Windows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!include <win32.mak>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##### MACROS #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TOP    = ..
 | 
				
			||||||
 | 
					INCDIR = ..\include
 | 
				
			||||||
 | 
					LIBDIR = ..\lib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SRCS = cva.c \
 | 
				
			||||||
 | 
						dinoshade.c \
 | 
				
			||||||
 | 
						fogcoord.c \
 | 
				
			||||||
 | 
						manytex.c \
 | 
				
			||||||
 | 
						multipal.c \
 | 
				
			||||||
 | 
						projtex.c \
 | 
				
			||||||
 | 
						seccolor.c \
 | 
				
			||||||
 | 
					#	sharedtex.c \
 | 
				
			||||||
 | 
						texline.c \
 | 
				
			||||||
 | 
						texwrap.c
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					!include "../mesawin32.mak"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##### TARGETS #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clobber::
 | 
				
			||||||
 | 
						@del readtex.c readtex.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(EXES) :$*.obj
 | 
				
			||||||
 | 
						@echo $@
 | 
				
			||||||
 | 
						$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: cva.c,v 1.3 2000/11/30 03:06:56 gareth Exp $ */
 | 
					/* $Id: cva.c,v 1.3.2.1 2002/04/15 22:13:00 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Trivial CVA test, good for testing driver fastpaths (especially
 | 
					 * Trivial CVA test, good for testing driver fastpaths (especially
 | 
				
			||||||
@@ -11,6 +11,9 @@
 | 
				
			|||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#define GL_GLEXT_LEGACY
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -130,7 +133,7 @@ int main( int argc, char **argv )
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
   string = (char *) glGetString( GL_VERSION );
 | 
					   string = (char *) glGetString( GL_VERSION );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   if ( !strstr( string, "1.2" ) ) {
 | 
					   if ( (!strstr( string, "1.2" ))&&(!strstr(string,"1.3"))) {
 | 
				
			||||||
      fprintf( stderr, "This program requires OpenGL 1.2 vertex arrays.\n" );
 | 
					      fprintf( stderr, "This program requires OpenGL 1.2 vertex arrays.\n" );
 | 
				
			||||||
      exit( -1 );
 | 
					      exit( -1 );
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,6 +38,10 @@
 | 
				
			|||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
#include <math.h>       /* for cos(), sin(), and sqrt() */
 | 
					#include <math.h>       /* for cos(), sin(), and sqrt() */
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include <GL/glut.h>    /* OpenGL Utility Toolkit header */
 | 
					#include <GL/glut.h>    /* OpenGL Utility Toolkit header */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Some <math.h> files do not define M_PI... */
 | 
					/* Some <math.h> files do not define M_PI... */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: multipal.c,v 1.1 2000/11/18 17:12:33 brianp Exp $ */
 | 
					/* $Id: multipal.c,v 1.1.2.1 2002/04/15 22:13:00 kschultz Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * GL_ARB_multitexture demo
 | 
					 * GL_ARB_multitexture demo
 | 
				
			||||||
@@ -12,6 +12,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Log: multipal.c,v $
 | 
					 * $Log: multipal.c,v $
 | 
				
			||||||
 | 
					 * Revision 1.1.2.1  2002/04/15 22:13:00  kschultz
 | 
				
			||||||
 | 
					 * Build demos/samples correctly on Windows (Robert Bergkvist) to sync up
 | 
				
			||||||
 | 
					 * with the main branch.  (I should have done this for 4.0.2)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Revision 1.2  2002/01/16 01:03:25  kschultz
 | 
				
			||||||
 | 
					 * get tests working on windows (Robert Bergkvist)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * Revision 1.1  2000/11/18 17:12:33  brianp
 | 
					 * Revision 1.1  2000/11/18 17:12:33  brianp
 | 
				
			||||||
 * test texture palettes with multitexture
 | 
					 * test texture palettes with multitexture
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -52,6 +59,10 @@
 | 
				
			|||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#define GL_GLEXT_LEGACY
 | 
				
			||||||
#include <GL/glut.h>
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "../util/readtex.c"   /* I know, this is a hack. */
 | 
					#include "../util/readtex.c"   /* I know, this is a hack. */
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										237
									
								
								progs/tests/yuv.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										237
									
								
								progs/tests/yuv.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,237 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Test the GL_NV_texture_rectangle and GL_MESA_ycrcb_texture extensions.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Brian Paul   13 September 2002
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <assert.h>
 | 
				
			||||||
 | 
					#include <math.h>
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#define GL_GLEXT_PROTOTYPES
 | 
				
			||||||
 | 
					#include <GL/glut.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "readtex.c"   /* I know, this is a hack. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TEXTURE_FILE "../images/girl.rgb"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
 | 
				
			||||||
 | 
					static GLint ImgWidth, ImgHeight;
 | 
				
			||||||
 | 
					static GLenum ImgFormat;
 | 
				
			||||||
 | 
					static GLubyte *Image = NULL;
 | 
				
			||||||
 | 
					static GLushort *ImageYUV = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void DrawObject(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   glBegin(GL_QUADS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glTexCoord2f(0, 0);
 | 
				
			||||||
 | 
					   glVertex2f(-1.0, -1.0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glTexCoord2f(ImgWidth, 0);
 | 
				
			||||||
 | 
					   glVertex2f(1.0, -1.0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glTexCoord2f(ImgWidth, ImgHeight);
 | 
				
			||||||
 | 
					   glVertex2f(1.0, 1.0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glTexCoord2f(0, ImgHeight);
 | 
				
			||||||
 | 
					   glVertex2f(-1.0, 1.0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glEnd();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void Display( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   glClear( GL_COLOR_BUFFER_BIT );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glPushMatrix();
 | 
				
			||||||
 | 
					      glRotatef(Xrot, 1.0, 0.0, 0.0);
 | 
				
			||||||
 | 
					      glRotatef(Yrot, 0.0, 1.0, 0.0);
 | 
				
			||||||
 | 
					      glRotatef(Zrot, 0.0, 0.0, 1.0);
 | 
				
			||||||
 | 
					      DrawObject();
 | 
				
			||||||
 | 
					   glPopMatrix();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glutSwapBuffers();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void Reshape( int width, int height )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   glViewport( 0, 0, width, height );
 | 
				
			||||||
 | 
					   glMatrixMode( GL_PROJECTION );
 | 
				
			||||||
 | 
					   glLoadIdentity();
 | 
				
			||||||
 | 
					   glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 100.0 );
 | 
				
			||||||
 | 
					   glMatrixMode( GL_MODELVIEW );
 | 
				
			||||||
 | 
					   glLoadIdentity();
 | 
				
			||||||
 | 
					   glTranslatef( 0.0, 0.0, -15.0 );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void Key( unsigned char key, int x, int y )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   (void) x;
 | 
				
			||||||
 | 
					   (void) y;
 | 
				
			||||||
 | 
					   switch (key) {
 | 
				
			||||||
 | 
					      case 27:
 | 
				
			||||||
 | 
					         exit(0);
 | 
				
			||||||
 | 
					         break;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					   glutPostRedisplay();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void SpecialKey( int key, int x, int y )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   float step = 3.0;
 | 
				
			||||||
 | 
					   (void) x;
 | 
				
			||||||
 | 
					   (void) y;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   switch (key) {
 | 
				
			||||||
 | 
					      case GLUT_KEY_UP:
 | 
				
			||||||
 | 
					         Xrot += step;
 | 
				
			||||||
 | 
					         break;
 | 
				
			||||||
 | 
					      case GLUT_KEY_DOWN:
 | 
				
			||||||
 | 
					         Xrot -= step;
 | 
				
			||||||
 | 
					         break;
 | 
				
			||||||
 | 
					      case GLUT_KEY_LEFT:
 | 
				
			||||||
 | 
					         Yrot += step;
 | 
				
			||||||
 | 
					         break;
 | 
				
			||||||
 | 
					      case GLUT_KEY_RIGHT:
 | 
				
			||||||
 | 
					         Yrot -= step;
 | 
				
			||||||
 | 
					         break;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					   glutPostRedisplay();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define CLAMP( X, MIN, MAX )  ( (X)<(MIN) ? (MIN) : ((X)>(MAX) ? (MAX) : (X)) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void ConvertRGBtoYUV(GLint w, GLint h, const GLubyte *src,
 | 
				
			||||||
 | 
					                            GLushort *dest)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   GLint i, j;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   for (i = 0; i < h; i++) {
 | 
				
			||||||
 | 
					      for (j = 0; j < w; j++) {
 | 
				
			||||||
 | 
					         const GLfloat r = (*src++) / 255.0;
 | 
				
			||||||
 | 
					         const GLfloat g = (*src++) / 255.0;
 | 
				
			||||||
 | 
					         const GLfloat b = (*src++) / 255.0;
 | 
				
			||||||
 | 
					         GLfloat y, cr, cb;
 | 
				
			||||||
 | 
					         GLint iy, icr, icb;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					         y  = r * 65.481 + g * 128.553 + b * 24.966 + 16;
 | 
				
			||||||
 | 
					         cb = r * -37.797 + g * -74.203 + b * 112.0 + 128;
 | 
				
			||||||
 | 
					         cr = r * 112.0 + g * -93.786 + b * -18.214 + 128;
 | 
				
			||||||
 | 
					         /*printf("%f %f %f -> %f %f %f\n", r, g, b, y, cb, cr);*/
 | 
				
			||||||
 | 
					         iy  = (GLint) CLAMP(y,  0, 254);
 | 
				
			||||||
 | 
					         icb = (GLint) CLAMP(cb, 0, 254);
 | 
				
			||||||
 | 
					         icr = (GLint) CLAMP(cr, 0, 254);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					         if (j & 1) {
 | 
				
			||||||
 | 
					            /* odd */
 | 
				
			||||||
 | 
					            *dest = (iy << 8) | icr;
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					         else {
 | 
				
			||||||
 | 
					            /* even */
 | 
				
			||||||
 | 
					            *dest = (iy << 8) | icb;
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					         dest++;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void Init( int argc, char *argv[] )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   GLuint texObj = 100;
 | 
				
			||||||
 | 
					   const char *file;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if (!glutExtensionSupported("GL_NV_texture_rectangle")) {
 | 
				
			||||||
 | 
					      printf("Sorry, GL_NV_texture_rectangle is required\n");
 | 
				
			||||||
 | 
					      exit(0);
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if (!glutExtensionSupported("GL_MESA_ycbcr_texture")) {
 | 
				
			||||||
 | 
					      printf("Sorry, GL_MESA_ycbcr_texture is required\n");
 | 
				
			||||||
 | 
					      exit(0);
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glBindTexture(GL_TEXTURE_RECTANGLE_NV, texObj);
 | 
				
			||||||
 | 
					#ifdef LINEAR_FILTER
 | 
				
			||||||
 | 
					   /* linear filtering looks much nicer but is much slower for Mesa */
 | 
				
			||||||
 | 
					   glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
 | 
				
			||||||
 | 
					   glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					   glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
 | 
				
			||||||
 | 
					   glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if (argc > 1)
 | 
				
			||||||
 | 
					      file = argv[1];
 | 
				
			||||||
 | 
					   else
 | 
				
			||||||
 | 
					      file = TEXTURE_FILE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Image = LoadRGBImage(file, &ImgWidth, &ImgHeight, &ImgFormat);
 | 
				
			||||||
 | 
					   if (!Image) {
 | 
				
			||||||
 | 
					      printf("Couldn't read %s\n", TEXTURE_FILE);
 | 
				
			||||||
 | 
					      exit(0);
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
 | 
					   glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0,
 | 
				
			||||||
 | 
					                GL_RGB, ImgWidth, ImgHeight, 0,
 | 
				
			||||||
 | 
					                ImgFormat, GL_UNSIGNED_BYTE, Image);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					   ImageYUV = (GLushort *) malloc(ImgWidth * ImgHeight * sizeof(GLushort));
 | 
				
			||||||
 | 
					   ConvertRGBtoYUV(ImgWidth, ImgHeight, Image, ImageYUV);
 | 
				
			||||||
 | 
					   glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0,
 | 
				
			||||||
 | 
					                GL_YCBCR_MESA, ImgWidth, ImgHeight, 0,
 | 
				
			||||||
 | 
					                GL_YCBCR_MESA, GL_UNSIGNED_SHORT_8_8_MESA, ImageYUV);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   assert(glGetError() == GL_NO_ERROR);
 | 
				
			||||||
 | 
					   glTexSubImage2D(GL_TEXTURE_RECTANGLE_NV, 0,
 | 
				
			||||||
 | 
					                   0, 0, ImgWidth, ImgHeight,
 | 
				
			||||||
 | 
					                   GL_YCBCR_MESA, GL_UNSIGNED_SHORT_8_8_MESA, ImageYUV);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   assert(glGetError() == GL_NO_ERROR);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glEnable(GL_TEXTURE_RECTANGLE_NV);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glShadeModel(GL_FLAT);
 | 
				
			||||||
 | 
					   glClearColor(0.3, 0.3, 0.4, 1.0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if (argc > 1 && strcmp(argv[1], "-info")==0) {
 | 
				
			||||||
 | 
					      printf("GL_RENDERER   = %s\n", (char *) glGetString(GL_RENDERER));
 | 
				
			||||||
 | 
					      printf("GL_VERSION    = %s\n", (char *) glGetString(GL_VERSION));
 | 
				
			||||||
 | 
					      printf("GL_VENDOR     = %s\n", (char *) glGetString(GL_VENDOR));
 | 
				
			||||||
 | 
					      printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main( int argc, char *argv[] )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   glutInit( &argc, argv );
 | 
				
			||||||
 | 
					   glutInitWindowSize( 300, 300 );
 | 
				
			||||||
 | 
					   glutInitWindowPosition( 0, 0 );
 | 
				
			||||||
 | 
					   glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
 | 
				
			||||||
 | 
					   glutCreateWindow(argv[0] );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Init( argc, argv );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glutReshapeFunc( Reshape );
 | 
				
			||||||
 | 
					   glutKeyboardFunc( Key );
 | 
				
			||||||
 | 
					   glutSpecialFunc( SpecialKey );
 | 
				
			||||||
 | 
					   glutDisplayFunc( Display );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   glutMainLoop();
 | 
				
			||||||
 | 
					   return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
# $Id: Makefile.X11,v 1.11 2001/03/23 22:48:35 brianp Exp $
 | 
					# $Id: Makefile.X11,v 1.11.2.1 2002/01/30 21:54:47 brianp Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mesa 3-D graphics library
 | 
					# Mesa 3-D graphics library
 | 
				
			||||||
# Version:  3.5
 | 
					# Version:  4.0.2
 | 
				
			||||||
# Copyright (C) 1995-2001  Brian Paul
 | 
					# Copyright (C) 1995-2001  Brian Paul
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Makefile for non-GLUT (X11, SVGA, etc) demo programs
 | 
					# Makefile for non-GLUT (X11, SVGA, etc) demo programs
 | 
				
			||||||
@@ -12,9 +12,9 @@
 | 
				
			|||||||
INCDIR = ../include
 | 
					INCDIR = ../include
 | 
				
			||||||
LIBDIR = ../lib
 | 
					LIBDIR = ../lib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GL_LIBS = -L$(LIBDIR) -lglut -lGLU -lGL $(APP_LIB_DEPS)
 | 
					GL_LIBS = -L$(LIBDIR) -lGLU -lGL $(APP_LIB_DEPS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB)
 | 
					LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PROGS = glthreads \
 | 
					PROGS = glthreads \
 | 
				
			||||||
	glxdemo \
 | 
						glxdemo \
 | 
				
			||||||
@@ -43,7 +43,7 @@ PROGS = glthreads \
 | 
				
			|||||||
##### TARGETS #####
 | 
					##### TARGETS #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
default:
 | 
					default:
 | 
				
			||||||
	@echo "Specify a target configuration"
 | 
						@echo "Specify a target configuration (i.e. make -f Makefile.X11 linux)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	-rm *.o *~
 | 
						-rm *.o *~
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: glthreads.c,v 1.1 2000/07/20 20:12:17 brianp Exp $ */
 | 
					/* $Id: glthreads.c,v 1.1.4.1 2002/03/08 19:43:36 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (C) 2000  Brian Paul   All Rights Reserved.
 | 
					 * Copyright (C) 2000  Brian Paul   All Rights Reserved.
 | 
				
			||||||
@@ -38,6 +38,7 @@
 | 
				
			|||||||
#include <GL/glx.h>
 | 
					#include <GL/glx.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
#include <unistd.h>
 | 
					#include <unistd.h>
 | 
				
			||||||
#include <pthread.h>
 | 
					#include <pthread.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: glxheads.c,v 1.2 2000/11/10 17:23:07 brianp Exp $ */
 | 
					/* $Id: glxheads.c,v 1.2.2.1 2002/03/08 19:43:36 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Exercise multiple GLX connections on multiple X displays.
 | 
					 * Exercise multiple GLX connections on multiple X displays.
 | 
				
			||||||
@@ -30,6 +30,7 @@
 | 
				
			|||||||
#include <GL/glx.h>
 | 
					#include <GL/glx.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
#include <unistd.h>
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -247,9 +248,9 @@ static void
 | 
				
			|||||||
PrintInfo(const struct head *h)
 | 
					PrintInfo(const struct head *h)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   printf("Name: %s\n", h->DisplayName);
 | 
					   printf("Name: %s\n", h->DisplayName);
 | 
				
			||||||
   printf("  Display:     0x%x\n", h->Dpy);
 | 
					   printf("  Display:     0x%x\n", (int) h->Dpy);
 | 
				
			||||||
   printf("  Window:      0x%x\n", h->Win);
 | 
					   printf("  Window:      0x%x\n", (int) h->Win);
 | 
				
			||||||
   printf("  Context:     0x%x\n", h->Context);
 | 
					   printf("  Context:     0x%x\n", (int) h->Context);
 | 
				
			||||||
   printf("  GL_VERSION:  %s\n", h->Version);
 | 
					   printf("  GL_VERSION:  %s\n", h->Version);
 | 
				
			||||||
   printf("  GL_VENDOR:   %s\n", h->Vendor);
 | 
					   printf("  GL_VENDOR:   %s\n", h->Vendor);
 | 
				
			||||||
   printf("  GL_RENDERER: %s\n", h->Renderer);
 | 
					   printf("  GL_RENDERER: %s\n", h->Renderer);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
/* $Id: glxinfo.c,v 1.14 2001/04/24 20:57:36 brianp Exp $ */
 | 
					/* $Id: glxinfo.c,v 1.14.2.5 2002/09/06 12:59:14 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
					 * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
					 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
				
			||||||
 * copy of this software and associated documentation files (the "Software"),
 | 
					 * copy of this software and associated documentation files (the "Software"),
 | 
				
			||||||
@@ -29,6 +29,8 @@
 | 
				
			|||||||
 *  -v                     print verbose information
 | 
					 *  -v                     print verbose information
 | 
				
			||||||
 *  -display DisplayName   specify the X display to interogate
 | 
					 *  -display DisplayName   specify the X display to interogate
 | 
				
			||||||
 *  -b                     only print ID of "best" visual on screen 0
 | 
					 *  -b                     only print ID of "best" visual on screen 0
 | 
				
			||||||
 | 
					 *  -i                     use indirect rendering connection only
 | 
				
			||||||
 | 
					 *  -l                     print interesting OpenGL limits (added 5 Sep 2002)
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Brian Paul  26 January 2000
 | 
					 * Brian Paul  26 January 2000
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -148,7 +150,59 @@ print_display_info(Display *dpy)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
print_screen_info(Display *dpy, int scrnum, Bool allowDirect)
 | 
					print_limits(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   struct token_name {
 | 
				
			||||||
 | 
					      GLuint count;
 | 
				
			||||||
 | 
					      GLenum token;
 | 
				
			||||||
 | 
					      const char *name;
 | 
				
			||||||
 | 
					   };
 | 
				
			||||||
 | 
					   static const struct token_name limits[] = {
 | 
				
			||||||
 | 
					      { 1, GL_MAX_ATTRIB_STACK_DEPTH, "GL_MAX_ATTRIB_STACK_DEPTH" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_CLIP_PLANES, "GL_MAX_CLIP_PLANES" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_COLOR_MATRIX_STACK_DEPTH, "GL_MAX_COLOR_MATRIX_STACK_DEPTH" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_ELEMENTS_VERTICES, "GL_MAX_ELEMENTS_VERTICES" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_ELEMENTS_INDICES, "GL_MAX_ELEMENTS_INDICES" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_EVAL_ORDER, "GL_MAX_EVAL_ORDER" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_LIGHTS, "GL_MAX_LIGHTS" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_LIST_NESTING, "GL_MAX_LIST_NESTING" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_MODELVIEW_STACK_DEPTH, "GL_MAX_MODELVIEW_STACK_DEPTH" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_NAME_STACK_DEPTH, "GL_MAX_NAME_STACK_DEPTH" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_PIXEL_MAP_TABLE, "GL_MAX_PIXEL_MAP_TABLE" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_PROJECTION_STACK_DEPTH, "GL_MAX_PROJECTION_STACK_DEPTH" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_TEXTURE_STACK_DEPTH, "GL_MAX_TEXTURE_STACK_DEPTH" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_TEXTURE_SIZE, "GL_MAX_TEXTURE_SIZE" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_3D_TEXTURE_SIZE, "GL_MAX_3D_TEXTURE_SIZE" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB, "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV" },
 | 
				
			||||||
 | 
					      { 1, GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_TEXTURE_UNITS_ARB, "GL_MAX_TEXTURE_UNITS_ARB" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_TEXTURE_LOD_BIAS_EXT, "GL_MAX_TEXTURE_LOD_BIAS_EXT" },
 | 
				
			||||||
 | 
					      { 1, GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT" },
 | 
				
			||||||
 | 
					      { 2, GL_MAX_VIEWPORT_DIMS, "GL_MAX_VIEWPORT_DIMS" },
 | 
				
			||||||
 | 
					      { 2, GL_ALIASED_LINE_WIDTH_RANGE, "GL_ALIASED_LINE_WIDTH_RANGE" },
 | 
				
			||||||
 | 
					      { 2, GL_SMOOTH_LINE_WIDTH_RANGE, "GL_SMOOTH_LINE_WIDTH_RANGE" },
 | 
				
			||||||
 | 
					      { 2, GL_ALIASED_POINT_SIZE_RANGE, "GL_ALIASED_POINT_SIZE_RANGE" },
 | 
				
			||||||
 | 
					      { 2, GL_SMOOTH_POINT_SIZE_RANGE, "GL_SMOOTH_POINT_SIZE_RANGE" },
 | 
				
			||||||
 | 
					      { 0, (GLenum) 0, NULL }
 | 
				
			||||||
 | 
					   };
 | 
				
			||||||
 | 
					   GLint i, max[2];
 | 
				
			||||||
 | 
					   printf("OpenGL limits:\n");
 | 
				
			||||||
 | 
					   for (i = 0; limits[i].count; i++) {
 | 
				
			||||||
 | 
					      glGetIntegerv(limits[i].token, max);
 | 
				
			||||||
 | 
					      if (glGetError() == GL_NONE) {
 | 
				
			||||||
 | 
					         if (limits[i].count == 1)
 | 
				
			||||||
 | 
					            printf("    %s = %d\n", limits[i].name, max[0]);
 | 
				
			||||||
 | 
					         else /* XXX fix if we ever query something with more than 2 values */
 | 
				
			||||||
 | 
					            printf("    %s = %d, %d\n", limits[i].name, max[0], max[1]);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					print_screen_info(Display *dpy, int scrnum, Bool allowDirect, GLboolean limits)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   Window win;
 | 
					   Window win;
 | 
				
			||||||
   int attribSingle[] = {
 | 
					   int attribSingle[] = {
 | 
				
			||||||
@@ -218,7 +272,7 @@ print_screen_info(Display *dpy, int scrnum, Bool allowDirect)
 | 
				
			|||||||
      const char *gluExtensions = (const char *) gluGetString(GLU_EXTENSIONS);
 | 
					      const char *gluExtensions = (const char *) gluGetString(GLU_EXTENSIONS);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
      /* Strip the screen number from the display name, if present. */
 | 
					      /* Strip the screen number from the display name, if present. */
 | 
				
			||||||
      if (!(displayName = malloc(strlen(DisplayString(dpy)) + 1))) {
 | 
					      if (!(displayName = (char *) malloc(strlen(DisplayString(dpy)) + 1))) {
 | 
				
			||||||
         fprintf(stderr, "Error: malloc() failed\n");
 | 
					         fprintf(stderr, "Error: malloc() failed\n");
 | 
				
			||||||
         exit(1);
 | 
					         exit(1);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -247,6 +301,8 @@ print_screen_info(Display *dpy, int scrnum, Bool allowDirect)
 | 
				
			|||||||
      printf("OpenGL version string: %s\n", glVersion);
 | 
					      printf("OpenGL version string: %s\n", glVersion);
 | 
				
			||||||
      printf("OpenGL extensions:\n");
 | 
					      printf("OpenGL extensions:\n");
 | 
				
			||||||
      print_extension_list(glExtensions);
 | 
					      print_extension_list(glExtensions);
 | 
				
			||||||
 | 
					      if (limits)
 | 
				
			||||||
 | 
					         print_limits();
 | 
				
			||||||
#ifdef DO_GLU
 | 
					#ifdef DO_GLU
 | 
				
			||||||
      printf("glu version: %s\n", gluVersion);
 | 
					      printf("glu version: %s\n", gluVersion);
 | 
				
			||||||
      printf("glu extensions:\n");
 | 
					      printf("glu extensions:\n");
 | 
				
			||||||
@@ -408,7 +464,7 @@ print_visual_attribs_short_header(void)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
print_visual_attribs_short(const struct visual_attribs *attribs)
 | 
					print_visual_attribs_short(const struct visual_attribs *attribs)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   char *caveat;
 | 
					   char *caveat = NULL;
 | 
				
			||||||
#ifdef GLX_EXT_visual_rating
 | 
					#ifdef GLX_EXT_visual_rating
 | 
				
			||||||
   if (attribs->visualCaveat == GLX_NONE_EXT || attribs->visualCaveat == 0)
 | 
					   if (attribs->visualCaveat == GLX_NONE_EXT || attribs->visualCaveat == 0)
 | 
				
			||||||
      caveat = "None";
 | 
					      caveat = "None";
 | 
				
			||||||
@@ -416,6 +472,8 @@ print_visual_attribs_short(const struct visual_attribs *attribs)
 | 
				
			|||||||
      caveat = "Slow";
 | 
					      caveat = "Slow";
 | 
				
			||||||
   else if (attribs->visualCaveat == GLX_NON_CONFORMANT_VISUAL_EXT)
 | 
					   else if (attribs->visualCaveat == GLX_NON_CONFORMANT_VISUAL_EXT)
 | 
				
			||||||
      caveat = "Ncon";
 | 
					      caveat = "Ncon";
 | 
				
			||||||
 | 
					   else
 | 
				
			||||||
 | 
					      caveat = "None";
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
   caveat = "None";
 | 
					   caveat = "None";
 | 
				
			||||||
#endif 
 | 
					#endif 
 | 
				
			||||||
@@ -486,16 +544,16 @@ print_visual_attribs_long(const struct visual_attribs *attribs)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
print_visual_info(Display *dpy, int scrnum, InfoMode mode)
 | 
					print_visual_info(Display *dpy, int scrnum, InfoMode mode)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   XVisualInfo template;
 | 
					   XVisualInfo theTemplate;
 | 
				
			||||||
   XVisualInfo *visuals;
 | 
					   XVisualInfo *visuals;
 | 
				
			||||||
   int numVisuals;
 | 
					   int numVisuals;
 | 
				
			||||||
   long mask;
 | 
					   long mask;
 | 
				
			||||||
   int i;
 | 
					   int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   /* get list of all visuals on this screen */
 | 
					   /* get list of all visuals on this screen */
 | 
				
			||||||
   template.screen = scrnum;
 | 
					   theTemplate.screen = scrnum;
 | 
				
			||||||
   mask = VisualScreenMask;
 | 
					   mask = VisualScreenMask;
 | 
				
			||||||
   visuals = XGetVisualInfo(dpy, mask, &template, &numVisuals);
 | 
					   visuals = XGetVisualInfo(dpy, mask, &theTemplate, &numVisuals);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   if (mode == Verbose) {
 | 
					   if (mode == Verbose) {
 | 
				
			||||||
      for (i = 0; i < numVisuals; i++) {
 | 
					      for (i = 0; i < numVisuals; i++) {
 | 
				
			||||||
@@ -569,7 +627,7 @@ mesa_hack(Display *dpy, int scrnum)
 | 
				
			|||||||
static int
 | 
					static int
 | 
				
			||||||
find_best_visual(Display *dpy, int scrnum)
 | 
					find_best_visual(Display *dpy, int scrnum)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   XVisualInfo template;
 | 
					   XVisualInfo theTemplate;
 | 
				
			||||||
   XVisualInfo *visuals;
 | 
					   XVisualInfo *visuals;
 | 
				
			||||||
   int numVisuals;
 | 
					   int numVisuals;
 | 
				
			||||||
   long mask;
 | 
					   long mask;
 | 
				
			||||||
@@ -577,9 +635,9 @@ find_best_visual(Display *dpy, int scrnum)
 | 
				
			|||||||
   struct visual_attribs bestVis;
 | 
					   struct visual_attribs bestVis;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   /* get list of all visuals on this screen */
 | 
					   /* get list of all visuals on this screen */
 | 
				
			||||||
   template.screen = scrnum;
 | 
					   theTemplate.screen = scrnum;
 | 
				
			||||||
   mask = VisualScreenMask;
 | 
					   mask = VisualScreenMask;
 | 
				
			||||||
   visuals = XGetVisualInfo(dpy, mask, &template, &numVisuals);
 | 
					   visuals = XGetVisualInfo(dpy, mask, &theTemplate, &numVisuals);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   /* init bestVis with first visual info */
 | 
					   /* init bestVis with first visual info */
 | 
				
			||||||
   get_visual_attribs(dpy, &visuals[0], &bestVis);
 | 
					   get_visual_attribs(dpy, &visuals[0], &bestVis);
 | 
				
			||||||
@@ -627,6 +685,7 @@ usage(void)
 | 
				
			|||||||
   printf("\t-h: This information.\n");
 | 
					   printf("\t-h: This information.\n");
 | 
				
			||||||
   printf("\t-i: Force an indirect rendering context.\n");
 | 
					   printf("\t-i: Force an indirect rendering context.\n");
 | 
				
			||||||
   printf("\t-b: Find the 'best' visual and print it's number.\n");
 | 
					   printf("\t-b: Find the 'best' visual and print it's number.\n");
 | 
				
			||||||
 | 
					   printf("\t-l: Print interesting OpenGLl imits.\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -638,6 +697,7 @@ main(int argc, char *argv[])
 | 
				
			|||||||
   int numScreens, scrnum;
 | 
					   int numScreens, scrnum;
 | 
				
			||||||
   InfoMode mode = Normal;
 | 
					   InfoMode mode = Normal;
 | 
				
			||||||
   GLboolean findBest = GL_FALSE;
 | 
					   GLboolean findBest = GL_FALSE;
 | 
				
			||||||
 | 
					   GLboolean limits = GL_FALSE;
 | 
				
			||||||
   Bool allowDirect = True;
 | 
					   Bool allowDirect = True;
 | 
				
			||||||
   int i;
 | 
					   int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -658,6 +718,9 @@ main(int argc, char *argv[])
 | 
				
			|||||||
      else if (strcmp(argv[i], "-i") == 0) {
 | 
					      else if (strcmp(argv[i], "-i") == 0) {
 | 
				
			||||||
         allowDirect = False;
 | 
					         allowDirect = False;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					      else if (strcmp(argv[i], "-l") == 0) {
 | 
				
			||||||
 | 
					         limits = GL_TRUE;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
      else if (strcmp(argv[i], "-h") == 0) {
 | 
					      else if (strcmp(argv[i], "-h") == 0) {
 | 
				
			||||||
         usage();
 | 
					         usage();
 | 
				
			||||||
         return 0;
 | 
					         return 0;
 | 
				
			||||||
@@ -686,7 +749,7 @@ main(int argc, char *argv[])
 | 
				
			|||||||
      print_display_info(dpy);
 | 
					      print_display_info(dpy);
 | 
				
			||||||
      for (scrnum = 0; scrnum < numScreens; scrnum++) {
 | 
					      for (scrnum = 0; scrnum < numScreens; scrnum++) {
 | 
				
			||||||
         mesa_hack(dpy, scrnum);
 | 
					         mesa_hack(dpy, scrnum);
 | 
				
			||||||
         print_screen_info(dpy, scrnum, allowDirect);
 | 
					         print_screen_info(dpy, scrnum, allowDirect, limits);
 | 
				
			||||||
         printf("\n");
 | 
					         printf("\n");
 | 
				
			||||||
         print_visual_info(dpy, scrnum, mode);
 | 
					         print_visual_info(dpy, scrnum, mode);
 | 
				
			||||||
         if (scrnum + 1 < numScreens)
 | 
					         if (scrnum + 1 < numScreens)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: glxpixmap.c,v 1.2 2000/07/11 16:05:29 brianp Exp $ */
 | 
					/* $Id: glxpixmap.c,v 1.2.6.1 2002/07/12 15:50:46 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
@@ -10,6 +10,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <GL/gl.h>
 | 
					#include <GL/gl.h>
 | 
				
			||||||
 | 
					#define GLX_GLXEXT_PROTOTYPES
 | 
				
			||||||
#include <GL/glx.h>
 | 
					#include <GL/glx.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: manywin.c,v 1.4 2001/04/27 21:19:13 brianp Exp $ */
 | 
					/* $Id: manywin.c,v 1.4.2.1 2001/11/26 17:21:24 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Create N GLX windows/contexts and render to them in round-robin
 | 
					 * Create N GLX windows/contexts and render to them in round-robin
 | 
				
			||||||
@@ -29,6 +29,7 @@
 | 
				
			|||||||
#include <GL/glx.h>
 | 
					#include <GL/glx.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
#include <unistd.h>
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -281,7 +282,7 @@ static void
 | 
				
			|||||||
PrintInfo(const struct head *h)
 | 
					PrintInfo(const struct head *h)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   printf("Name: %s\n", h->DisplayName);
 | 
					   printf("Name: %s\n", h->DisplayName);
 | 
				
			||||||
   printf("  Display:     %p\n", h->Dpy);
 | 
					   printf("  Display:     %p\n", (void *) h->Dpy);
 | 
				
			||||||
   printf("  Window:      0x%x\n", (int) h->Win);
 | 
					   printf("  Window:      0x%x\n", (int) h->Win);
 | 
				
			||||||
   printf("  Context:     0x%x\n", (int) h->Context);
 | 
					   printf("  Context:     0x%x\n", (int) h->Context);
 | 
				
			||||||
   printf("  GL_VERSION:  %s\n", h->Version);
 | 
					   printf("  GL_VERSION:  %s\n", h->Version);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										99
									
								
								src/glu/mesa/Makefile.DJ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								src/glu/mesa/Makefile.DJ
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					# 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 glu makefile v1.1 for Mesa 4.0
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#  Copyright (C) 2002 - Borca Daniel
 | 
				
			||||||
 | 
					#  Email : dborca@yahoo.com
 | 
				
			||||||
 | 
					#  Web   : http://www.geocities.com/dborca
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#  Available options:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#    Environment variables:
 | 
				
			||||||
 | 
					#	CFLAGS
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#    Targets:
 | 
				
			||||||
 | 
					#	all:		build GLU
 | 
				
			||||||
 | 
					#	clean:		remove object files
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: all clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TOP = ..
 | 
				
			||||||
 | 
					LIBDIR = $(TOP)/lib
 | 
				
			||||||
 | 
					GLU_LIB = libglu.a
 | 
				
			||||||
 | 
					GLU_DXE = glu.dxe
 | 
				
			||||||
 | 
					GLU_IMP = libiglu.a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CC = gcc
 | 
				
			||||||
 | 
					CFLAGS += -I$(TOP)/include
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AR = ar
 | 
				
			||||||
 | 
					ARFLAGS = ru
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifneq ($(wildcard $(DJDIR)/lib/dxe2.ld),)
 | 
				
			||||||
 | 
					DXE2GEN = $(wildcard $(addsuffix /dxe2gen.exe,$(subst ;, ,$(PATH))))
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RM = del
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CORE_SOURCES = \
 | 
				
			||||||
 | 
						glu.c \
 | 
				
			||||||
 | 
						mipmap.c \
 | 
				
			||||||
 | 
						nurbs.c \
 | 
				
			||||||
 | 
						nurbscrv.c \
 | 
				
			||||||
 | 
						nurbssrf.c \
 | 
				
			||||||
 | 
						nurbsutl.c \
 | 
				
			||||||
 | 
						polytest.c \
 | 
				
			||||||
 | 
						project.c \
 | 
				
			||||||
 | 
						quadric.c \
 | 
				
			||||||
 | 
						tess.c \
 | 
				
			||||||
 | 
						tesselat.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SOURCES = $(CORE_SOURCES)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OBJECTS = $(SOURCES:.c=.o)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.c.o:
 | 
				
			||||||
 | 
						$(CC) -o $@ -c $(CFLAGS) $<
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all: $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLU_DXE) $(LIBDIR)/$(GLU_IMP)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(LIBDIR)/$(GLU_LIB): $(OBJECTS)
 | 
				
			||||||
 | 
						$(AR) $(ARFLAGS) $(LIBDIR)/$(GLU_LIB) $(OBJECTS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(LIBDIR)/$(GLU_DXE) $(LIBDIR)/$(GLU_IMP): $(OBJECTS)
 | 
				
			||||||
 | 
					ifeq ($(DXE2GEN),)
 | 
				
			||||||
 | 
						$(warning Missing DXE2GEN and/or DXE2.LD! You must have DXE2GEN)
 | 
				
			||||||
 | 
						$(warning somewhere in PATH, and DXE2.LD in DJGPP/LIB directory.)
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						-dxe2gen -o $(LIBDIR)/$(GLU_DXE) -I $(LIBDIR)/$(GLU_IMP) $(OBJECTS) -E djgpp_ -E glu -D "Mesa DJGPP GLU" -U
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						-$(RM) $(subst /,\,*.o)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-include depend
 | 
				
			||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
/* $Id: glu.c,v 1.24 2001/03/20 17:56:10 brianp Exp $ */
 | 
					/* $Id: glu.c,v 1.24.2.1 2002/02/12 03:13:42 brianp Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Mesa 3-D graphics library
 | 
					 * Mesa 3-D graphics library
 | 
				
			||||||
 * Version:  3.5
 | 
					 * Version:  4.0.2
 | 
				
			||||||
 * Copyright (C) 1995-2001  Brian Paul
 | 
					 * Copyright (C) 1995-2002  Brian Paul
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This library is free software; you can redistribute it and/or
 | 
					 * This library is free software; you can redistribute it and/or
 | 
				
			||||||
 * modify it under the terms of the GNU Library General Public
 | 
					 * modify it under the terms of the GNU Library General Public
 | 
				
			||||||
@@ -330,7 +330,7 @@ const GLubyte *GLAPIENTRY
 | 
				
			|||||||
gluGetString(GLenum name)
 | 
					gluGetString(GLenum name)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   static char *extensions = "GL_EXT_abgr";
 | 
					   static char *extensions = "GL_EXT_abgr";
 | 
				
			||||||
   static char *version = "1.1 Mesa 3.5";
 | 
					   static char *version = "1.1 Mesa 4.0.2";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   switch (name) {
 | 
					   switch (name) {
 | 
				
			||||||
   case GLU_EXTENSIONS:
 | 
					   case GLU_EXTENSIONS:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,12 @@
 | 
				
			|||||||
# $Id: Makefile.X11,v 1.5 2001/08/13 16:51:08 brianp Exp $
 | 
					# $Id: Makefile.X11,v 1.5.2.2 2002/01/08 15:58:11 brianp Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mesa 3-D graphics library
 | 
					# Mesa 3-D graphics library
 | 
				
			||||||
# Version:  3.5
 | 
					# Version:  4.0.1
 | 
				
			||||||
# Copyright (C) 1995-2001  Brian Paul
 | 
					# Copyright (C) 1995-2001  Brian Paul
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Makefile for SGI SI GLU library
 | 
					# Makefile for SGI SI GLU library
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.SUFFIXES : .cc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### MACROS #####
 | 
					##### MACROS #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -121,11 +122,10 @@ OBJECTS = $(C_OBJECTS) $(CC_OBJECTS)
 | 
				
			|||||||
##### RULES #####
 | 
					##### RULES #####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.c.o:
 | 
					.c.o:
 | 
				
			||||||
	$(CC) -c $(INCDIRS) $(CFLAGS) -DLIBRARYBUILD $< -o $@
 | 
						$(CC) -c $(INCDIRS) $(CFLAGS) -DNDEBUG -DLIBRARYBUILD $< -o $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.cc.o:
 | 
					.cc.o:
 | 
				
			||||||
	$(CPLUSPLUS) -c $(INCDIRS) $(CCFLAGS) -DLIBRARYBUILD $< -o $@
 | 
						$(CPLUSPLUS) -c $(INCDIRS) $(CCFLAGS) -DNDEBUG -DLIBRARYBUILD $< -o $@
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### TARGETS #####
 | 
					##### TARGETS #####
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +1,5 @@
 | 
				
			|||||||
# Makefile for Win32
 | 
					# Makefile for Win32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Sept 12, 2001
 | 
					 | 
				
			||||||
# Note: The nurbs code is not being built at this time.
 | 
					 | 
				
			||||||
# If you want to work on it, uncomment the definitions
 | 
					 | 
				
			||||||
# noted below to try to compile the sources.
 | 
					 | 
				
			||||||
# There are numerous problems, some of which may be solved
 | 
					 | 
				
			||||||
# by setting some #defines.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
!include <win32.mak>
 | 
					!include <win32.mak>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.SUFFIXES : .cc
 | 
					.SUFFIXES : .cc
 | 
				
			||||||
@@ -116,16 +107,14 @@ all	: gludll
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
gludll	: $(GLUDLL)
 | 
					gludll	: $(GLUDLL)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CFLAGS	= $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -Iinclude -DBUILD_GL32
 | 
					CFLAGS	= $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -Iinclude -DBUILD_GL32 -DLIBRARYBUILD
 | 
				
			||||||
LFLAGS	= $(dlllflags) $(lcommon) $(LFLAGS)
 | 
					LFLAGS	= $(dlllflags) $(lcommon) $(LFLAGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OBJS	= $(GLU_SRCS:.c=.obj)
 | 
					 | 
				
			||||||
LIBS	= ../lib/$(MESALIB) winmm.lib $(guilibsdll)
 | 
					LIBS	= ../lib/$(MESALIB) winmm.lib $(guilibsdll)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Uncomment these definitions to try to compile the NURBS code.
 | 
					OBJS	= $(GLU_SRCS_CC:.cc=.obj) $(GLU_SRCS:.c=.obj)
 | 
				
			||||||
#OBJS	= $(GLU_SRCS_CC:.cc=.obj) $(GLU_SRCS:.c=.obj)
 | 
					NURBSINC = -Ilibnurbs\interface -Ilibnurbs\internals -Ilibnurbs\nurbtess 
 | 
				
			||||||
#NURBSINC = -Ilibnurbs\interface -Ilibnurbs\internals -Ilibnurbs\nurbtess 
 | 
					CFLAGS  = $(CFLAGS) $(NURBSINC)
 | 
				
			||||||
#CFLAGS  = $(CFLAGS) $(NURBSINC)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(GLUDLL): $(OBJS) glu.def
 | 
					$(GLUDLL): $(OBJS) glu.def
 | 
				
			||||||
	$(link) $(LFLAGS) -out:$(GLUDLL) -def:glu.def $(OBJS) $(LIBS)
 | 
						$(link) $(LFLAGS) -out:$(GLUDLL) -def:glu.def $(OBJS) $(LIBS)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,11 @@
 | 
				
			|||||||
DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32'
 | 
					DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32'
 | 
				
			||||||
VERSION 3.5
 | 
					VERSION 4.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXPORTS
 | 
					EXPORTS
 | 
				
			||||||
 | 
						gluBeginCurve
 | 
				
			||||||
	gluBeginPolygon
 | 
						gluBeginPolygon
 | 
				
			||||||
 | 
						gluBeginSurface
 | 
				
			||||||
 | 
						gluBeginTrim
 | 
				
			||||||
	gluBuild1DMipmapLevels
 | 
						gluBuild1DMipmapLevels
 | 
				
			||||||
	gluBuild1DMipmaps
 | 
						gluBuild1DMipmaps
 | 
				
			||||||
	gluBuild2DMipmapLevels
 | 
						gluBuild2DMipmapLevels
 | 
				
			||||||
@@ -11,22 +14,36 @@ EXPORTS
 | 
				
			|||||||
	gluBuild3DMipmaps
 | 
						gluBuild3DMipmaps
 | 
				
			||||||
	gluCheckExtension
 | 
						gluCheckExtension
 | 
				
			||||||
	gluCylinder
 | 
						gluCylinder
 | 
				
			||||||
 | 
						gluDeleteNurbsRenderer
 | 
				
			||||||
	gluDeleteQuadric
 | 
						gluDeleteQuadric
 | 
				
			||||||
	gluDeleteTess
 | 
						gluDeleteTess
 | 
				
			||||||
	gluDisk
 | 
						gluDisk
 | 
				
			||||||
 | 
						gluEndCurve
 | 
				
			||||||
	gluEndPolygon
 | 
						gluEndPolygon
 | 
				
			||||||
 | 
						gluEndSurface
 | 
				
			||||||
 | 
						gluEndTrim
 | 
				
			||||||
	gluErrorString
 | 
						gluErrorString
 | 
				
			||||||
 | 
						gluGetNurbsProperty
 | 
				
			||||||
	gluGetString
 | 
						gluGetString
 | 
				
			||||||
	gluGetTessProperty
 | 
						gluGetTessProperty
 | 
				
			||||||
 | 
						gluLoadSamplingMatrices
 | 
				
			||||||
	gluLookAt
 | 
						gluLookAt
 | 
				
			||||||
 | 
						gluNewNurbsRenderer
 | 
				
			||||||
	gluNewQuadric
 | 
						gluNewQuadric
 | 
				
			||||||
	gluNewTess
 | 
						gluNewTess
 | 
				
			||||||
	gluNextContour
 | 
						gluNextContour
 | 
				
			||||||
 | 
						gluNurbsCallback
 | 
				
			||||||
 | 
						gluNurbsCallbackData
 | 
				
			||||||
 | 
						gluNurbsCallbackDataEXT
 | 
				
			||||||
 | 
						gluNurbsCurve
 | 
				
			||||||
 | 
						gluNurbsProperty
 | 
				
			||||||
 | 
						gluNurbsSurface
 | 
				
			||||||
	gluOrtho2D
 | 
						gluOrtho2D
 | 
				
			||||||
	gluPartialDisk
 | 
						gluPartialDisk
 | 
				
			||||||
	gluPerspective
 | 
						gluPerspective
 | 
				
			||||||
	gluPickMatrix
 | 
						gluPickMatrix
 | 
				
			||||||
	gluProject
 | 
						gluProject
 | 
				
			||||||
 | 
						gluPwlCurve
 | 
				
			||||||
	gluQuadricCallback
 | 
						gluQuadricCallback
 | 
				
			||||||
	gluQuadricDrawStyle
 | 
						gluQuadricDrawStyle
 | 
				
			||||||
	gluQuadricNormals
 | 
						gluQuadricNormals
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:40 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/interface/bezierEval.cc,v 1.1 2001/03/17 00:25:40 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/interface/bezierEval.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -72,8 +72,8 @@ void bezierCurveEval(float u0, float u1, int order, float *ctlpoints, int stride
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  float uprime = (u-u0)/(u1-u0);
 | 
					  float uprime = (u-u0)/(u1-u0);
 | 
				
			||||||
  float *ctlptr = ctlpoints;
 | 
					  float *ctlptr = ctlpoints;
 | 
				
			||||||
  float oneMinusX = 1.0-uprime;
 | 
					  float oneMinusX = 1.0f-uprime;
 | 
				
			||||||
  float XPower = 1.0;
 | 
					  float XPower = 1.0f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int i,k;
 | 
					  int i,k;
 | 
				
			||||||
  for(k=0; k<dimension; k++)
 | 
					  for(k=0; k<dimension; k++)
 | 
				
			||||||
@@ -171,7 +171,7 @@ void bezierCurveEvalDerGen(int der, float u0, float u1, int order, float *ctlpoi
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
void bezierSurfEvalDerGen(int uder, int vder, float u0, float u1, int uorder, float v0, float v1, int vorder, int dimension, float *ctlpoints, int ustride, int vstride, float u, float v, float ret[])
 | 
					void bezierSurfEvalDerGen(int uder, int vder, float u0, float u1, int uorder, float v0, float v1, int vorder, int dimension, float *ctlpoints, int ustride, int vstride, float u, float v, float ret[])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  int i,j,k;
 | 
					  int i;
 | 
				
			||||||
  float newPoints[MAX_ORDER][MAX_DIMENSION];
 | 
					  float newPoints[MAX_ORDER][MAX_DIMENSION];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for(i=0; i<uorder; i++){
 | 
					  for(i=0; i<uorder; i++){
 | 
				
			||||||
@@ -229,7 +229,7 @@ void bezierSurfEvalNormal(float u0, float u1, int uorder, float v0, float v1, in
 | 
				
			|||||||
/*if size is 0, then nothing is done*/
 | 
					/*if size is 0, then nothing is done*/
 | 
				
			||||||
static void normalize(float vec[3])
 | 
					static void normalize(float vec[3])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  float size = sqrt(vec[0]*vec[0] + vec[1]*vec[1] + vec[2]*vec[2]);
 | 
					  float size = (float)sqrt(vec[0]*vec[0] + vec[1]*vec[1] + vec[2]*vec[2]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if(size < TOLERANCE) 
 | 
					  if(size < TOLERANCE) 
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:40 $ $Revision: 1.1 $
 | 
					** $Date: 2002/02/12 03:14:58 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/interface/insurfeval.cc,v 1.1 2001/03/17 00:25:40 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/interface/insurfeval.cc,v 1.1.2.1 2002/02/12 03:14:58 brianp Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "gluos.h"
 | 
					#include "gluos.h"
 | 
				
			||||||
@@ -528,11 +528,11 @@ void OpenGLSurfaceEvaluator::inComputeNormal2(REAL *pu, REAL *pv, REAL *n)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  mag = sqrt(n[0]*n[0] + n[1]*n[1] + n[2]*n[2]);
 | 
					  mag = sqrt(n[0]*n[0] + n[1]*n[1] + n[2]*n[2]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  assert(mag > 0.0); /*better be some threshold*/
 | 
					  if (mag > 0.0) {
 | 
				
			||||||
     n[0] /= mag; 
 | 
					     n[0] /= mag; 
 | 
				
			||||||
     n[1] /= mag;
 | 
					     n[1] /= mag;
 | 
				
			||||||
     n[2] /= mag;
 | 
					     n[2] /= mag;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,8 +35,8 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * mapdesc.c++
 | 
					 * mapdesc.c++
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					 * $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/mapdesc.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/mapdesc.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
@@ -372,13 +372,13 @@ Mapdesc::xformAndCullCheck(
 | 
				
			|||||||
	    unsigned int bits = clipbits( cpts );
 | 
						    unsigned int bits = clipbits( cpts );
 | 
				
			||||||
	    outbits |= bits;
 | 
						    outbits |= bits;
 | 
				
			||||||
	    inbits &= bits;
 | 
						    inbits &= bits;
 | 
				
			||||||
	    if( ( outbits == mask ) && ( inbits != mask ) ) return CULL_ACCEPT;
 | 
						    if( ( outbits == (unsigned int)mask ) && ( inbits != (unsigned int)mask ) ) return CULL_ACCEPT;
 | 
				
			||||||
	} 
 | 
						} 
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if( outbits != mask ) {
 | 
					    if( outbits != (unsigned int)mask ) {
 | 
				
			||||||
	return CULL_TRIVIAL_REJECT;
 | 
						return CULL_TRIVIAL_REJECT;
 | 
				
			||||||
    } else if( inbits == mask ) {
 | 
					    } else if( inbits == (unsigned int)mask ) {
 | 
				
			||||||
	return CULL_TRIVIAL_ACCEPT;
 | 
						return CULL_TRIVIAL_ACCEPT;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
	return CULL_ACCEPT;
 | 
						return CULL_ACCEPT;
 | 
				
			||||||
@@ -404,13 +404,13 @@ Mapdesc::cullCheck( REAL *pts, int uorder, int ustride, int vorder, int vstride
 | 
				
			|||||||
	    unsigned int bits = clipbits( q );
 | 
						    unsigned int bits = clipbits( q );
 | 
				
			||||||
	    outbits |= bits;
 | 
						    outbits |= bits;
 | 
				
			||||||
	    inbits &= bits;
 | 
						    inbits &= bits;
 | 
				
			||||||
	    if( ( outbits == mask ) && ( inbits != mask ) ) return CULL_ACCEPT;
 | 
						    if( ( outbits == (unsigned int)mask ) && ( inbits != (unsigned int)mask ) ) return CULL_ACCEPT;
 | 
				
			||||||
	} 
 | 
						} 
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if( outbits != mask ) {
 | 
					    if( outbits != (unsigned int)mask ) {
 | 
				
			||||||
	return CULL_TRIVIAL_REJECT;
 | 
						return CULL_TRIVIAL_REJECT;
 | 
				
			||||||
    } else if( inbits == mask ) {
 | 
					    } else if( inbits == (unsigned int)mask ) {
 | 
				
			||||||
	return CULL_TRIVIAL_ACCEPT;
 | 
						return CULL_TRIVIAL_ACCEPT;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
	return CULL_ACCEPT;
 | 
						return CULL_ACCEPT;
 | 
				
			||||||
@@ -434,12 +434,12 @@ Mapdesc::cullCheck( REAL *pts, int order, int stride )
 | 
				
			|||||||
	unsigned int bits = clipbits( p );
 | 
						unsigned int bits = clipbits( p );
 | 
				
			||||||
	outbits |= bits;
 | 
						outbits |= bits;
 | 
				
			||||||
	inbits &= bits;
 | 
						inbits &= bits;
 | 
				
			||||||
	if( ( outbits == mask ) && ( inbits != mask ) ) return CULL_ACCEPT;
 | 
						if( ( outbits == (unsigned int)mask ) && ( inbits != (unsigned int)mask ) ) return CULL_ACCEPT;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if( outbits != mask ) {
 | 
					    if( outbits != (unsigned int)mask ) {
 | 
				
			||||||
	return CULL_TRIVIAL_REJECT;
 | 
						return CULL_TRIVIAL_REJECT;
 | 
				
			||||||
    } else if( inbits == mask ) {
 | 
					    } else if( inbits == (unsigned int)mask ) {
 | 
				
			||||||
	return CULL_TRIVIAL_ACCEPT;
 | 
						return CULL_TRIVIAL_ACCEPT;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
	return CULL_ACCEPT;
 | 
						return CULL_ACCEPT;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,8 +35,8 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * mesher.c++
 | 
					 * mesher.c++
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Date: 2001/08/07 17:34:11 $ $Revision: 1.2 $
 | 
					 * $Date: 2001/11/29 16:38:27 $ $Revision: 1.2.2.1 $
 | 
				
			||||||
 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/mesher.cc,v 1.2 2001/08/07 17:34:11 brianp Exp $
 | 
					 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/mesher.cc,v 1.2.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "glimports.h"
 | 
					#include "glimports.h"
 | 
				
			||||||
@@ -82,7 +82,7 @@ Mesher::init( unsigned int npts )
 | 
				
			|||||||
inline void
 | 
					inline void
 | 
				
			||||||
Mesher::push( GridTrimVertex *gt )
 | 
					Mesher::push( GridTrimVertex *gt )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    assert( itop+1 != stacksize );
 | 
					    assert( itop+1 != (int)stacksize );
 | 
				
			||||||
    vdata[++itop] = gt;
 | 
					    vdata[++itop] = gt;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,8 +35,8 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * slicer.c++
 | 
					 * slicer.c++
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Date: 2001/05/01 14:56:00 $ $Revision: 1.2 $
 | 
					 * $Date: 2002/06/30 16:58:50 $ $Revision: 1.2.2.1 $
 | 
				
			||||||
 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/slicer.cc,v 1.2 2001/05/01 14:56:00 brianp Exp $
 | 
					 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/slicer.cc,v 1.2.2.1 2002/06/30 16:58:50 brianp Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -309,7 +309,6 @@ static void triangulateRectAux(PwlArc* top, PwlArc* bot, PwlArc* left, PwlArc* r
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void triangulateRect(Arc_ptr loop, Backend& backend, int TB_or_LR, int ulinear, int vlinear)
 | 
					static void triangulateRect(Arc_ptr loop, Backend& backend, int TB_or_LR, int ulinear, int vlinear)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  int i;
 | 
					 | 
				
			||||||
  //we know the loop is a rectangle, but not sure which is top
 | 
					  //we know the loop is a rectangle, but not sure which is top
 | 
				
			||||||
  Arc_ptr top, bot, left, right;
 | 
					  Arc_ptr top, bot, left, right;
 | 
				
			||||||
  if(loop->tail()[1] == loop->head()[1])
 | 
					  if(loop->tail()[1] == loop->head()[1])
 | 
				
			||||||
@@ -572,8 +571,6 @@ static void triangulateRectCenter(int n_ulines, REAL* u_val,
 | 
				
			|||||||
				  int n_vlines, REAL* v_val,
 | 
									  int n_vlines, REAL* v_val,
 | 
				
			||||||
				  Backend& backend)
 | 
									  Backend& backend)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  TrimVertex trimVert;
 | 
					 | 
				
			||||||
  trimVert.nuid = 0;//????
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // XXX this code was patched by Diego Santa Cruz <Diego.SantaCruz@epfl.ch>
 | 
					  // XXX this code was patched by Diego Santa Cruz <Diego.SantaCruz@epfl.ch>
 | 
				
			||||||
  // to fix a problem in which glMapGrid2f() was called with bad parameters.
 | 
					  // to fix a problem in which glMapGrid2f() was called with bad parameters.
 | 
				
			||||||
@@ -1088,6 +1085,9 @@ void Slicer::slice_new(Arc_ptr loop)
 | 
				
			|||||||
       vMax = jarc->tail()[1];
 | 
					       vMax = jarc->tail()[1];
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (uMax == uMin)
 | 
				
			||||||
 | 
					    return; // prevent divide-by-zero.  Jon Perry.  17 June 2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if(mydu > uMax - uMin)
 | 
					  if(mydu > uMax - uMin)
 | 
				
			||||||
    num_ulines = 2;
 | 
					    num_ulines = 2;
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,8 +35,8 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * sorter.c++
 | 
					 * sorter.c++
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					 * $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/sorter.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					 * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/sorter.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "glimports.h"
 | 
					#include "glimports.h"
 | 
				
			||||||
@@ -84,7 +84,7 @@ Sorter::qs1( char *a,  char *l )
 | 
				
			|||||||
    unsigned int n;
 | 
					    unsigned int n;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start:
 | 
					start:
 | 
				
			||||||
    if((n=l-a) <= es)
 | 
					    if((n=l-a) <= (unsigned int)es)
 | 
				
			||||||
	    return;
 | 
						    return;
 | 
				
			||||||
    n = es * (n / (2*es));
 | 
					    n = es * (n / (2*es));
 | 
				
			||||||
    hp = lp = a+n;
 | 
					    hp = lp = a+n;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/directedLine.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/directedLine.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -596,7 +596,7 @@ Real directedLine::polyArea()
 | 
				
			|||||||
      y2 = temp->next->head()[1];
 | 
					      y2 = temp->next->head()[1];
 | 
				
			||||||
      ret += -( x2*y1-x1*y2);
 | 
					      ret += -( x2*y1-x1*y2);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  return 0.5*ret;
 | 
					  return Real(0.5)*ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*******************split or combine polygons begin********************/
 | 
					/*******************split or combine polygons begin********************/
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/partitionY.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/partitionY.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -231,7 +231,7 @@ Int sweepRangeEqual(sweepRange* src1, sweepRange* src2)
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
inline/*static*/ Real intersectHoriz(Real x1, Real y1, Real x2, Real y2, Real y)
 | 
					inline/*static*/ Real intersectHoriz(Real x1, Real y1, Real x2, Real y2, Real y)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  return ((y2==y1)? (x1+x2)*0.5 : x1 + ((y-y1)/(y2-y1)) * (x2-x1));
 | 
					  return ((y2==y1)? (x1+x2)*Real(0.5) : x1 + ((y-y1)/(y2-y1)) * (x2-x1));
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
  if(y2 == y1) return (x1+x2)*0.5;
 | 
					  if(y2 == y1) return (x1+x2)*0.5;
 | 
				
			||||||
  else return x1 + ((y-y1)/(y2-y1)) * (x2-x1);
 | 
					  else return x1 + ((y-y1)/(y2-y1)) * (x2-x1);
 | 
				
			||||||
@@ -309,7 +309,7 @@ static Int compEdges(directedLine *e1, directedLine *e2)
 | 
				
			|||||||
  Real Ymax = min(e1_Ymax, e2_Ymax);
 | 
					  Real Ymax = min(e1_Ymax, e2_Ymax);
 | 
				
			||||||
  Real Ymin = max(e1_Ymin, e2_Ymin);
 | 
					  Real Ymin = max(e1_Ymin, e2_Ymin);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  Real y = 0.5*(Ymax + Ymin);
 | 
					  Real y = Real(0.5)*(Ymax + Ymin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*  Real x1 = intersectHoriz(e1->head()[0], e1->head()[1], e1->tail()[0], e1->tail()[1], y);
 | 
					/*  Real x1 = intersectHoriz(e1->head()[0], e1->head()[1], e1->tail()[0], e1->tail()[1], y);
 | 
				
			||||||
  Real x2 = intersectHoriz(e2->head()[0], e2->head()[1], e2->tail()[0], e2->tail()[1], y);
 | 
					  Real x2 = intersectHoriz(e2->head()[0], e2->head()[1], e2->tail()[0], e2->tail()[1], y);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/polyDBG.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/polyDBG.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -395,7 +395,7 @@ poly->printList();
 | 
				
			|||||||
*/
 | 
					*/
 | 
				
			||||||
  /*for debug purpose*/
 | 
					  /*for debug purpose*/
 | 
				
			||||||
  assert( (DBG_rayIntersectPoly(v,1,0,poly) % 2 )
 | 
					  assert( (DBG_rayIntersectPoly(v,1,0,poly) % 2 )
 | 
				
			||||||
	 == (DBG_rayIntersectPoly(v,1,0.1234, poly) % 2 )
 | 
						 == (DBG_rayIntersectPoly(v,1,Real(0.1234), poly) % 2 )
 | 
				
			||||||
	 );
 | 
						 );
 | 
				
			||||||
  if(DBG_rayIntersectPoly(v, 1, 0, poly) % 2 == 1)
 | 
					  if(DBG_rayIntersectPoly(v, 1, 0, poly) % 2 == 1)
 | 
				
			||||||
    return 1; 
 | 
					    return 1; 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,20 +31,24 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/polyUtil.h,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/polyUtil.h,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef _POLYUTIL_H
 | 
					#ifndef _POLYUTIL_H
 | 
				
			||||||
#define _POLYUTIL_H
 | 
					#define _POLYUTIL_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "definitions.h"
 | 
					#include "definitions.h"
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					extern "C" {
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
Real area(Real A[2], Real B[2], Real C[2]);
 | 
					Real area(Real A[2], Real B[2], Real C[2]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Int pointLeftLine(Real A[2], Real B[2],  Real P[2]);
 | 
					Int pointLeftLine(Real A[2], Real B[2],  Real P[2]);
 | 
				
			||||||
Int pointLeft2Lines(Real A[2], Real B[2], Real C[2], Real P[2]);
 | 
					Int pointLeft2Lines(Real A[2], Real B[2], Real C[2], Real P[2]);
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,16 +31,23 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2002/04/17 19:30:19 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/quicksort.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/quicksort.cc,v 1.1.2.1 2002/04/17 19:30:19 brianp Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void swap(void *v[], int i, int j);
 | 
					
 | 
				
			||||||
 | 
					static void swap(void *v[], int i, int j)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  void *temp;
 | 
				
			||||||
 | 
					  temp = v[i];
 | 
				
			||||||
 | 
					  v[i] = v[j];
 | 
				
			||||||
 | 
					  v[j] = temp;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*as an example to use this function to
 | 
					/*as an example to use this function to
 | 
				
			||||||
 *sort integers, you need to supply the function
 | 
					 *sort integers, you need to supply the function
 | 
				
			||||||
@@ -58,7 +65,6 @@ void quicksort(void *v[], int left, int right,
 | 
				
			|||||||
	       int (*comp) (void *, void *))
 | 
						       int (*comp) (void *, void *))
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  int i, last;
 | 
					  int i, last;
 | 
				
			||||||
  void swap(void *v[], int , int);
 | 
					 | 
				
			||||||
  if(left >= right) /*do nothing if array contains */
 | 
					  if(left >= right) /*do nothing if array contains */
 | 
				
			||||||
    return;         /*fewer than two elements*/
 | 
					    return;         /*fewer than two elements*/
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@@ -71,12 +77,3 @@ void quicksort(void *v[], int left, int right,
 | 
				
			|||||||
  quicksort(v, left, last-1, comp);
 | 
					  quicksort(v, left, last-1, comp);
 | 
				
			||||||
  quicksort(v, last+1, right, comp);
 | 
					  quicksort(v, last+1, right, comp);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
void swap(void *v[], int i, int j)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  void *temp;
 | 
					 | 
				
			||||||
  temp = v[i];
 | 
					 | 
				
			||||||
  v[i] = v[j];
 | 
					 | 
				
			||||||
  v[j] = temp;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompBot.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompBot.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -327,7 +327,7 @@ Int findBotSeparator(vertexArray* leftChain,
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      oldLeftI = leftCorner-1;
 | 
					      oldLeftI = leftCorner-1;
 | 
				
			||||||
      oldRightI = rightCorner;
 | 
					      oldRightI = rightCorner;
 | 
				
			||||||
      leftMax = leftChain->getVertex(leftCorner)[0] - 1.0 ; //initilize to be left of leftCorner
 | 
					      leftMax = leftChain->getVertex(leftCorner)[0] - Real(1.0) ; //initilize to be left of leftCorner
 | 
				
			||||||
      rightMin = rightChain->getVertex(rightCorner)[0]; 
 | 
					      rightMin = rightChain->getVertex(rightCorner)[0]; 
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  else //rightlower
 | 
					  else //rightlower
 | 
				
			||||||
@@ -335,7 +335,7 @@ Int findBotSeparator(vertexArray* leftChain,
 | 
				
			|||||||
      oldLeftI = leftCorner;
 | 
					      oldLeftI = leftCorner;
 | 
				
			||||||
      oldRightI = rightCorner-1;
 | 
					      oldRightI = rightCorner-1;
 | 
				
			||||||
      leftMax = leftChain->getVertex(leftCorner)[0];
 | 
					      leftMax = leftChain->getVertex(leftCorner)[0];
 | 
				
			||||||
      rightMin = rightChain->getVertex(rightCorner)[0] + 1.0;
 | 
					      rightMin = rightChain->getVertex(rightCorner)[0] + Real(1.0);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //i: the current working leftChain Index
 | 
					  //i: the current working leftChain Index
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompTop.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/sampleCompTop.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -343,7 +343,7 @@ Int findTopSeparator(vertexArray* leftChain,
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      oldLeftI = leftEndIndex+1;
 | 
					      oldLeftI = leftEndIndex+1;
 | 
				
			||||||
      oldRightI = rightEndIndex;
 | 
					      oldRightI = rightEndIndex;
 | 
				
			||||||
      leftMax =  leftChain->getVertex(leftEndIndex)[0] - 1.0; //initilza to left of leftU
 | 
					      leftMax =  leftChain->getVertex(leftEndIndex)[0] - Real(1.0); //initilza to left of leftU
 | 
				
			||||||
      rightMin = rightChain->getVertex(rightEndIndex)[0];
 | 
					      rightMin = rightChain->getVertex(rightEndIndex)[0];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
@@ -351,7 +351,7 @@ Int findTopSeparator(vertexArray* leftChain,
 | 
				
			|||||||
      oldLeftI = leftEndIndex;
 | 
					      oldLeftI = leftEndIndex;
 | 
				
			||||||
      oldRightI = rightEndIndex+1;
 | 
					      oldRightI = rightEndIndex+1;
 | 
				
			||||||
      leftMax =  leftChain->getVertex(leftEndIndex)[0]; 
 | 
					      leftMax =  leftChain->getVertex(leftEndIndex)[0]; 
 | 
				
			||||||
      rightMin = rightChain->getVertex(rightEndIndex)[0] + 1.0;      
 | 
					      rightMin = rightChain->getVertex(rightEndIndex)[0] + Real(1.0);      
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  //i: the current working leftChain index, 
 | 
					  //i: the current working leftChain index, 
 | 
				
			||||||
@@ -826,19 +826,19 @@ static void sampleCompTopSimpleOpt(gridWrap* grid,
 | 
				
			|||||||
         //find l in [j, k-1] so that dec_chain[l][0] 0 is closest to
 | 
					         //find l in [j, k-1] so that dec_chain[l][0] 0 is closest to
 | 
				
			||||||
         // inc_chain[i]
 | 
					         // inc_chain[i]
 | 
				
			||||||
         int l;
 | 
					         int l;
 | 
				
			||||||
         Real tempI = j;
 | 
					         Real tempI = Real(j);
 | 
				
			||||||
         Real tempMin = fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(j)[0]);
 | 
					         Real tempMin = (Real)fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(j)[0]);
 | 
				
			||||||
         for(l=j+1; l<= k-1; l++)
 | 
					         for(l=j+1; l<= k-1; l++)
 | 
				
			||||||
	   {
 | 
						   {
 | 
				
			||||||
	     if(fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(l)[0])
 | 
						     if(fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(l)[0])
 | 
				
			||||||
		<= tempMin)
 | 
							<= tempMin)
 | 
				
			||||||
	       {
 | 
						       {
 | 
				
			||||||
		 tempMin = fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(l)[0]);
 | 
							 tempMin = (Real)fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(l)[0]);
 | 
				
			||||||
		 tempI = l;
 | 
							 tempI = (Real)l;
 | 
				
			||||||
	       }
 | 
						       }
 | 
				
			||||||
	   }
 | 
						   }
 | 
				
			||||||
	 //inc_chain[i] and dec_chain[tempI] are connected.
 | 
						 //inc_chain[i] and dec_chain[tempI] are connected.
 | 
				
			||||||
	 monoTriangulationRecGenOpt(dec_chain->getVertex(tempI),
 | 
						 monoTriangulationRecGenOpt(dec_chain->getVertex((int)tempI),
 | 
				
			||||||
				    botVertex,
 | 
									    botVertex,
 | 
				
			||||||
				    inc_chain, i, inc_end,
 | 
									    inc_chain, i, inc_end,
 | 
				
			||||||
				    dec_chain, (int)(tempI+1), dec_end,
 | 
									    dec_chain, (int)(tempI+1), dec_end,
 | 
				
			||||||
@@ -866,12 +866,12 @@ static void sampleCompTopSimpleOpt(gridWrap* grid,
 | 
				
			|||||||
	  //inc_chain[l][0] is the closet to dec_chain[j][0]
 | 
						  //inc_chain[l][0] is the closet to dec_chain[j][0]
 | 
				
			||||||
	  int tempI = i;
 | 
						  int tempI = i;
 | 
				
			||||||
	  int l;
 | 
						  int l;
 | 
				
			||||||
	  Real tempMin = fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(j)[0]);
 | 
						  Real tempMin = (Real)fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(j)[0]);
 | 
				
			||||||
	  for(l=i+1; l<=k-1; l++)
 | 
						  for(l=i+1; l<=k-1; l++)
 | 
				
			||||||
	    {
 | 
						    {
 | 
				
			||||||
	      if(fabs(inc_chain->getVertex(l)[0] - dec_chain->getVertex(j)[0]) <= tempMin)
 | 
						      if(fabs(inc_chain->getVertex(l)[0] - dec_chain->getVertex(j)[0]) <= tempMin)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
		  tempMin = fabs(inc_chain->getVertex(l)[0] - dec_chain->getVertex(j)[0]);
 | 
							  tempMin = (Real)fabs(inc_chain->getVertex(l)[0] - dec_chain->getVertex(j)[0]);
 | 
				
			||||||
		  tempI = l;
 | 
							  tempI = l;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	    }				 	      
 | 
						    }				 	      
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,10 @@
 | 
				
			|||||||
** published by SGI, but has not been independently verified as being
 | 
					** published by SGI, but has not been independently verified as being
 | 
				
			||||||
** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
					** compliant with the OpenGL(R) version 1.2.1 Specification.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
 | 
					** $Date: 2001/11/29 16:38:27 $ $Revision: 1.1.2.1 $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/sampledLine.cc,v 1.1 2001/03/17 00:25:41 brianp Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/nurbtess/sampledLine.cc,v 1.1.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
@@ -96,7 +96,6 @@ sampledLine::sampledLine(Int n_points, Real2 pts[])
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
sampledLine::sampledLine(Real pt1[2], Real pt2[2])
 | 
					sampledLine::sampledLine(Real pt1[2], Real pt2[2])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  int i;
 | 
					 | 
				
			||||||
  npoints = 2;
 | 
					  npoints = 2;
 | 
				
			||||||
  points = (Real2*) malloc(sizeof(Real2) * 2);
 | 
					  points = (Real2*) malloc(sizeof(Real2) * 2);
 | 
				
			||||||
  assert(points);
 | 
					  assert(points);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,14 +35,14 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
** Author: Eric Veach, July 1994.
 | 
					** Author: Eric Veach, July 1994.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** $Date: 2001/07/20 11:20:32 $ $Revision: 1.2 $
 | 
					** $Date: 2001/11/30 20:12:38 $ $Revision: 1.2.2.1 $
 | 
				
			||||||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libtess/memalloc.h,v 1.2 2001/07/20 11:20:32 joukj Exp $
 | 
					** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libtess/memalloc.h,v 1.2.2.1 2001/11/30 20:12:38 kschultz Exp $
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef __memalloc_simple_h_
 | 
					#ifndef __memalloc_simple_h_
 | 
				
			||||||
#define __memalloc_simple_h_
 | 
					#define __memalloc_simple_h_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __VMS
 | 
					#if defined(__VMS) || defined(darwin)
 | 
				
			||||||
# include <stdlib.h>
 | 
					# include <stdlib.h>
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
# include <malloc.h>
 | 
					# include <malloc.h>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										136
									
								
								src/glut/dos/Makefile.DJ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								src/glut/dos/Makefile.DJ
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
				
			|||||||
 | 
					# 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 glut makefile v1.1 for Mesa 4.0
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#  Copyright (C) 2002 - Borca Daniel
 | 
				
			||||||
 | 
					#  Email : dborca@yahoo.com
 | 
				
			||||||
 | 
					#  Web   : http://www.geocities.com/dborca
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#  Available options:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#    Environment variables:
 | 
				
			||||||
 | 
					#	CFLAGS
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#	GLIDE		absolute path to Glide SDK; used with FX.
 | 
				
			||||||
 | 
					#			default = $(TOP)/include/glide3
 | 
				
			||||||
 | 
					#	FX=1		build for 3dfx Glide3; use it if you have the glide
 | 
				
			||||||
 | 
					#			SDK (designed for your platform), and, of course, a
 | 
				
			||||||
 | 
					#			3dfx card... Note that this disables compilation of
 | 
				
			||||||
 | 
					#			actual DMesa code, as Glide does all the stuff!
 | 
				
			||||||
 | 
					#			default = no
 | 
				
			||||||
 | 
					#	MARK		absolute path to original GLUT.
 | 
				
			||||||
 | 
					#			default = $(TOP)/src-glut
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#    Targets:
 | 
				
			||||||
 | 
					#	all:		build GLUT
 | 
				
			||||||
 | 
					#	clean:		remove object files
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: all clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TOP = ..
 | 
				
			||||||
 | 
					GLIDE ?= $(TOP)/include/glide3
 | 
				
			||||||
 | 
					MARK ?= $(TOP)/src-glut
 | 
				
			||||||
 | 
					LIBDIR = $(TOP)/lib
 | 
				
			||||||
 | 
					GLUT_LIB = libglut.a
 | 
				
			||||||
 | 
					GLUT_DXE = glut.dxe
 | 
				
			||||||
 | 
					GLUT_IMP = libiglut.a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CC = gcc
 | 
				
			||||||
 | 
					CFLAGS += -I$(TOP)/include -I$(MARK)
 | 
				
			||||||
 | 
					ifdef FX
 | 
				
			||||||
 | 
					CFLAGS += -D__DOS__ -I$(GLIDE) -DFX -DFX_GLIDE3 -DFXMESA_USE_ARGB
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AR = ar
 | 
				
			||||||
 | 
					ARFLAGS = ru
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifneq ($(wildcard $(DJDIR)/lib/dxe2.ld),)
 | 
				
			||||||
 | 
					DXE2GEN = $(wildcard $(addsuffix /dxe2gen.exe,$(subst ;, ,$(PATH))))
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RM = del
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CORE_SOURCES = \
 | 
				
			||||||
 | 
						bitmap.c \
 | 
				
			||||||
 | 
						callback.c \
 | 
				
			||||||
 | 
						color.c \
 | 
				
			||||||
 | 
						globals.c \
 | 
				
			||||||
 | 
						init.c \
 | 
				
			||||||
 | 
						menu.c \
 | 
				
			||||||
 | 
						models.c \
 | 
				
			||||||
 | 
						overlay.c \
 | 
				
			||||||
 | 
						state.c \
 | 
				
			||||||
 | 
						teapot.c \
 | 
				
			||||||
 | 
						window.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PC_HW_SOURCES = \
 | 
				
			||||||
 | 
						PC_HW/pc_hw.c \
 | 
				
			||||||
 | 
						PC_HW/pc_keyb.c \
 | 
				
			||||||
 | 
						PC_HW/pc_mouse.c \
 | 
				
			||||||
 | 
						PC_HW/pc_timer.c \
 | 
				
			||||||
 | 
						PC_HW/pc_irq.S
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MARK_SOURCES = \
 | 
				
			||||||
 | 
						$(MARK)/glut_8x13.c \
 | 
				
			||||||
 | 
						$(MARK)/glut_9x15.c \
 | 
				
			||||||
 | 
						$(MARK)/glut_hel10.c \
 | 
				
			||||||
 | 
						$(MARK)/glut_hel12.c \
 | 
				
			||||||
 | 
						$(MARK)/glut_hel18.c \
 | 
				
			||||||
 | 
						$(MARK)/glut_tr10.c \
 | 
				
			||||||
 | 
						$(MARK)/glut_tr24.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SOURCES = $(CORE_SOURCES) $(PC_HW_SOURCES) $(MARK_SOURCES)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.c.o:
 | 
				
			||||||
 | 
						$(CC) -o $@ -c $(CFLAGS) $<
 | 
				
			||||||
 | 
					.S.o:
 | 
				
			||||||
 | 
						$(CC) -o $@ -c $(CFLAGS) $<
 | 
				
			||||||
 | 
					.s.o:
 | 
				
			||||||
 | 
						$(CC) -o $@ -c $(CFLAGS) -x assembler-with-cpp $<
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all: $(LIBDIR)/$(GLUT_LIB) $(LIBDIR)/$(GLUT_DXE) $(LIBDIR)/$(GLUT_IMP)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(LIBDIR)/$(GLUT_LIB): $(OBJECTS)
 | 
				
			||||||
 | 
						$(AR) $(ARFLAGS) $(LIBDIR)/$(GLUT_LIB) $(OBJECTS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(LIBDIR)/$(GLUT_DXE) $(LIBDIR)/$(GLUT_IMP): $(OBJECTS)
 | 
				
			||||||
 | 
					ifeq ($(DXE2GEN),)
 | 
				
			||||||
 | 
						$(warning Missing DXE2GEN and/or DXE2.LD! You must have DXE2GEN)
 | 
				
			||||||
 | 
						$(warning somewhere in PATH, and DXE2.LD in DJGPP/LIB directory.)
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						-dxe2gen -o $(LIBDIR)/$(GLUT_DXE) -I $(LIBDIR)/$(GLUT_IMP) $(OBJECTS) -E djgpp_ -E glut -D "Mesa DJGPP GLUT" -U
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						-$(RM) $(subst /,\,*.o)
 | 
				
			||||||
 | 
						-$(RM) $(subst /,\,PC_HW/*.o)
 | 
				
			||||||
 | 
						-$(RM) $(subst /,\,$(MARK)/*.o)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-include depend
 | 
				
			||||||
							
								
								
									
										141
									
								
								src/glut/dos/PC_HW/pc_hw.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								src/glut/dos/PC_HW/pc_hw.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,141 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * PC/HW routine collection v1.0 for DOS/DJGPP
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  Copyright (C) 2002 - Borca Daniel
 | 
				
			||||||
 | 
					 *  Email : dborca@yahoo.com
 | 
				
			||||||
 | 
					 *  Web   : http://www.geocities.com/dborca
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <dpmi.h>
 | 
				
			||||||
 | 
					#include <fcntl.h>
 | 
				
			||||||
 | 
					#include <sys/stat.h> /* for mode definitions */
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "pc_hw.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * atexit
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define MAX_ATEXIT 32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static volatile int atexitcnt;
 | 
				
			||||||
 | 
					static VFUNC atexittbl[MAX_ATEXIT];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void __attribute__((destructor)) doexit (void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 while (atexitcnt) atexittbl[--atexitcnt]();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int pc_clexit (VFUNC f)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 for (i=0;i<atexitcnt;i++) {
 | 
				
			||||||
 | 
					     if (atexittbl[i]==f) {
 | 
				
			||||||
 | 
					        for (atexitcnt--;i<atexitcnt;i++) atexittbl[i] = atexittbl[i+1];
 | 
				
			||||||
 | 
					        atexittbl[i] = 0;
 | 
				
			||||||
 | 
					        return 0;
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 return -1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int pc_atexit (VFUNC f)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 pc_clexit(f);
 | 
				
			||||||
 | 
					 if (atexitcnt<MAX_ATEXIT) {
 | 
				
			||||||
 | 
					    atexittbl[atexitcnt++] = f;
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 return -1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * locked memory allocation
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void *pc_malloc (size_t size)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 void *p = malloc(size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if (p) {
 | 
				
			||||||
 | 
					    if (_go32_dpmi_lock_data(p, size)) {
 | 
				
			||||||
 | 
					       free(p);
 | 
				
			||||||
 | 
					       return NULL;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return p;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * standard redirection
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static char errname[L_tmpnam];
 | 
				
			||||||
 | 
					static char outname[L_tmpnam];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int h_out, h_outbak;
 | 
				
			||||||
 | 
					static int h_err, h_errbak;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void pc_open_stderr (void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 if (tmpnam(errname)) {
 | 
				
			||||||
 | 
					    h_err = open(errname, O_WRONLY |/* O_BINARY |*/ O_CREAT | O_TRUNC,
 | 
				
			||||||
 | 
					                          S_IREAD | S_IWRITE);
 | 
				
			||||||
 | 
					    h_errbak = dup(2);
 | 
				
			||||||
 | 
					    fflush(stderr);
 | 
				
			||||||
 | 
					    dup2(h_err, 2);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void pc_close_stderr (void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 FILE *f;
 | 
				
			||||||
 | 
					 char *line = alloca(512);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 dup2(h_errbak, 2);
 | 
				
			||||||
 | 
					 close(h_err);
 | 
				
			||||||
 | 
					 close(h_errbak);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 if ((f=fopen(errname, "r"))!=NULL) {
 | 
				
			||||||
 | 
					    while (fgets(line, 512, f)) {
 | 
				
			||||||
 | 
					          fputs(line, stderr);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    fclose(f);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 remove(errname);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void pc_open_stdout (void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 if (tmpnam(outname)) {
 | 
				
			||||||
 | 
					    h_out = open(outname, O_WRONLY |/* O_BINARY |*/ O_CREAT | O_TRUNC,
 | 
				
			||||||
 | 
					                          S_IREAD | S_IWRITE);
 | 
				
			||||||
 | 
					    h_outbak = dup(1);
 | 
				
			||||||
 | 
					    fflush(stdout);
 | 
				
			||||||
 | 
					    dup2(h_out, 1);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void pc_close_stdout (void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 FILE *f;
 | 
				
			||||||
 | 
					 char *line = alloca(512);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 dup2(h_outbak, 1);
 | 
				
			||||||
 | 
					 close(h_out);
 | 
				
			||||||
 | 
					 close(h_outbak);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 if ((f=fopen(outname, "r"))!=NULL) {
 | 
				
			||||||
 | 
					    while (fgets(line, 512, f)) {
 | 
				
			||||||
 | 
					          fputs(line, stdout);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    fclose(f);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 remove(outname);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										225
									
								
								src/glut/dos/PC_HW/pc_hw.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										225
									
								
								src/glut/dos/PC_HW/pc_hw.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,225 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * PC/HW routine collection v1.1 for DOS/DJGPP
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  Copyright (C) 2002 - Borca Daniel
 | 
				
			||||||
 | 
					 *  Email : dborca@yahoo.com
 | 
				
			||||||
 | 
					 *  Web   : http://www.geocities.com/dborca
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef PC_HW_H_included
 | 
				
			||||||
 | 
					#define PC_HW_H_included
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <dpmi.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * misc C definitions
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define FALSE 0
 | 
				
			||||||
 | 
					#define TRUE !FALSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MIN(x,y)     (((x) < (y)) ? (x) : (y))
 | 
				
			||||||
 | 
					#define MAX(x,y)     (((x) > (y)) ? (x) : (y))
 | 
				
			||||||
 | 
					#define MID(x,y,z)   MAX((x), MIN((y), (z)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void (*VFUNC) (void);
 | 
				
			||||||
 | 
					typedef void (*PFUNC) (void *);
 | 
				
			||||||
 | 
					typedef void (*MFUNC) (int x, int y, int b);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * atexit
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					int pc_atexit (VFUNC f);
 | 
				
			||||||
 | 
					int pc_clexit (VFUNC f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * locked memory
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define ENDOFUNC(x)    static void x##_end() { }
 | 
				
			||||||
 | 
					#define LOCKFUNC(x)    _go32_dpmi_lock_code((void *)x, (long)x##_end - (long)x)
 | 
				
			||||||
 | 
					#define LOCKDATA(x)    _go32_dpmi_lock_data((void *)&x, sizeof(x))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void *pc_malloc (size_t size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * IRQ
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define ENABLE()  __asm __volatile ("sti")
 | 
				
			||||||
 | 
					#define DISABLE() __asm __volatile ("cli")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int pc_install_irq (int i, int (*handler) ());
 | 
				
			||||||
 | 
					extern int pc_remove_irq (int i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * keyboard
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define KB_SHIFT_FLAG         0x0001
 | 
				
			||||||
 | 
					#define KB_CTRL_FLAG          0x0002
 | 
				
			||||||
 | 
					#define KB_ALT_FLAG           0x0004
 | 
				
			||||||
 | 
					#define KB_LWIN_FLAG          0x0008
 | 
				
			||||||
 | 
					#define KB_RWIN_FLAG          0x0010
 | 
				
			||||||
 | 
					#define KB_MENU_FLAG          0x0020
 | 
				
			||||||
 | 
					#define KB_SCROLOCK_FLAG      0x0100
 | 
				
			||||||
 | 
					#define KB_NUMLOCK_FLAG       0x0200
 | 
				
			||||||
 | 
					#define KB_CAPSLOCK_FLAG      0x0400
 | 
				
			||||||
 | 
					#define KB_INALTSEQ_FLAG      0x0800
 | 
				
			||||||
 | 
					#define KB_ACCENT1_FLAG       0x1000
 | 
				
			||||||
 | 
					#define KB_ACCENT2_FLAG       0x2000
 | 
				
			||||||
 | 
					#define KB_ACCENT3_FLAG       0x4000
 | 
				
			||||||
 | 
					#define KB_ACCENT4_FLAG       0x8000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEY_A                 1
 | 
				
			||||||
 | 
					#define KEY_B                 2
 | 
				
			||||||
 | 
					#define KEY_C                 3
 | 
				
			||||||
 | 
					#define KEY_D                 4
 | 
				
			||||||
 | 
					#define KEY_E                 5
 | 
				
			||||||
 | 
					#define KEY_F                 6
 | 
				
			||||||
 | 
					#define KEY_G                 7
 | 
				
			||||||
 | 
					#define KEY_H                 8
 | 
				
			||||||
 | 
					#define KEY_I                 9
 | 
				
			||||||
 | 
					#define KEY_J                 10
 | 
				
			||||||
 | 
					#define KEY_K                 11
 | 
				
			||||||
 | 
					#define KEY_L                 12
 | 
				
			||||||
 | 
					#define KEY_M                 13
 | 
				
			||||||
 | 
					#define KEY_N                 14
 | 
				
			||||||
 | 
					#define KEY_O                 15
 | 
				
			||||||
 | 
					#define KEY_P                 16
 | 
				
			||||||
 | 
					#define KEY_Q                 17
 | 
				
			||||||
 | 
					#define KEY_R                 18
 | 
				
			||||||
 | 
					#define KEY_S                 19
 | 
				
			||||||
 | 
					#define KEY_T                 20
 | 
				
			||||||
 | 
					#define KEY_U                 21
 | 
				
			||||||
 | 
					#define KEY_V                 22
 | 
				
			||||||
 | 
					#define KEY_W                 23
 | 
				
			||||||
 | 
					#define KEY_X                 24
 | 
				
			||||||
 | 
					#define KEY_Y                 25
 | 
				
			||||||
 | 
					#define KEY_Z                 26
 | 
				
			||||||
 | 
					#define KEY_0                 27
 | 
				
			||||||
 | 
					#define KEY_1                 28
 | 
				
			||||||
 | 
					#define KEY_2                 29
 | 
				
			||||||
 | 
					#define KEY_3                 30
 | 
				
			||||||
 | 
					#define KEY_4                 31
 | 
				
			||||||
 | 
					#define KEY_5                 32
 | 
				
			||||||
 | 
					#define KEY_6                 33
 | 
				
			||||||
 | 
					#define KEY_7                 34
 | 
				
			||||||
 | 
					#define KEY_8                 35
 | 
				
			||||||
 | 
					#define KEY_9                 36
 | 
				
			||||||
 | 
					#define KEY_0_PAD             37
 | 
				
			||||||
 | 
					#define KEY_1_PAD             38
 | 
				
			||||||
 | 
					#define KEY_2_PAD             39
 | 
				
			||||||
 | 
					#define KEY_3_PAD             40
 | 
				
			||||||
 | 
					#define KEY_4_PAD             41
 | 
				
			||||||
 | 
					#define KEY_5_PAD             42
 | 
				
			||||||
 | 
					#define KEY_6_PAD             43
 | 
				
			||||||
 | 
					#define KEY_7_PAD             44
 | 
				
			||||||
 | 
					#define KEY_8_PAD             45
 | 
				
			||||||
 | 
					#define KEY_9_PAD             46
 | 
				
			||||||
 | 
					#define KEY_F1                47
 | 
				
			||||||
 | 
					#define KEY_F2                48
 | 
				
			||||||
 | 
					#define KEY_F3                49
 | 
				
			||||||
 | 
					#define KEY_F4                50
 | 
				
			||||||
 | 
					#define KEY_F5                51
 | 
				
			||||||
 | 
					#define KEY_F6                52
 | 
				
			||||||
 | 
					#define KEY_F7                53
 | 
				
			||||||
 | 
					#define KEY_F8                54
 | 
				
			||||||
 | 
					#define KEY_F9                55
 | 
				
			||||||
 | 
					#define KEY_F10               56
 | 
				
			||||||
 | 
					#define KEY_F11               57
 | 
				
			||||||
 | 
					#define KEY_F12               58
 | 
				
			||||||
 | 
					#define KEY_ESC               59
 | 
				
			||||||
 | 
					#define KEY_TILDE             60
 | 
				
			||||||
 | 
					#define KEY_MINUS             61
 | 
				
			||||||
 | 
					#define KEY_EQUALS            62
 | 
				
			||||||
 | 
					#define KEY_BACKSPACE         63
 | 
				
			||||||
 | 
					#define KEY_TAB               64
 | 
				
			||||||
 | 
					#define KEY_OPENBRACE         65
 | 
				
			||||||
 | 
					#define KEY_CLOSEBRACE        66
 | 
				
			||||||
 | 
					#define KEY_ENTER             67
 | 
				
			||||||
 | 
					#define KEY_COLON             68
 | 
				
			||||||
 | 
					#define KEY_QUOTE             69
 | 
				
			||||||
 | 
					#define KEY_BACKSLASH         70
 | 
				
			||||||
 | 
					#define KEY_BACKSLASH2        71
 | 
				
			||||||
 | 
					#define KEY_COMMA             72
 | 
				
			||||||
 | 
					#define KEY_STOP              73
 | 
				
			||||||
 | 
					#define KEY_SLASH             74
 | 
				
			||||||
 | 
					#define KEY_SPACE             75
 | 
				
			||||||
 | 
					#define KEY_INSERT            76
 | 
				
			||||||
 | 
					#define KEY_DEL               77
 | 
				
			||||||
 | 
					#define KEY_HOME              78
 | 
				
			||||||
 | 
					#define KEY_END               79
 | 
				
			||||||
 | 
					#define KEY_PGUP              80
 | 
				
			||||||
 | 
					#define KEY_PGDN              81
 | 
				
			||||||
 | 
					#define KEY_LEFT              82
 | 
				
			||||||
 | 
					#define KEY_RIGHT             83
 | 
				
			||||||
 | 
					#define KEY_UP                84
 | 
				
			||||||
 | 
					#define KEY_DOWN              85
 | 
				
			||||||
 | 
					#define KEY_SLASH_PAD         86
 | 
				
			||||||
 | 
					#define KEY_ASTERISK          87
 | 
				
			||||||
 | 
					#define KEY_MINUS_PAD         88
 | 
				
			||||||
 | 
					#define KEY_PLUS_PAD          89
 | 
				
			||||||
 | 
					#define KEY_DEL_PAD           90
 | 
				
			||||||
 | 
					#define KEY_ENTER_PAD         91
 | 
				
			||||||
 | 
					#define KEY_PRTSCR            92
 | 
				
			||||||
 | 
					#define KEY_PAUSE             93
 | 
				
			||||||
 | 
					#define KEY_ABNT_C1           94
 | 
				
			||||||
 | 
					#define KEY_YEN               95
 | 
				
			||||||
 | 
					#define KEY_KANA              96
 | 
				
			||||||
 | 
					#define KEY_CONVERT           97
 | 
				
			||||||
 | 
					#define KEY_NOCONVERT         98
 | 
				
			||||||
 | 
					#define KEY_AT                99
 | 
				
			||||||
 | 
					#define KEY_CIRCUMFLEX        100
 | 
				
			||||||
 | 
					#define KEY_COLON2            101
 | 
				
			||||||
 | 
					#define KEY_KANJI             102
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEY_MODIFIERS         103
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEY_LSHIFT            103
 | 
				
			||||||
 | 
					#define KEY_RSHIFT            104
 | 
				
			||||||
 | 
					#define KEY_LCONTROL          105
 | 
				
			||||||
 | 
					#define KEY_RCONTROL          106
 | 
				
			||||||
 | 
					#define KEY_ALT               107
 | 
				
			||||||
 | 
					#define KEY_ALTGR             108
 | 
				
			||||||
 | 
					#define KEY_LWIN              109
 | 
				
			||||||
 | 
					#define KEY_RWIN              110
 | 
				
			||||||
 | 
					#define KEY_MENU              111
 | 
				
			||||||
 | 
					#define KEY_SCRLOCK           112
 | 
				
			||||||
 | 
					#define KEY_NUMLOCK           113
 | 
				
			||||||
 | 
					#define KEY_CAPSLOCK          114
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEY_MAX               115
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int pc_install_keyb (void);
 | 
				
			||||||
 | 
					void pc_remove_keyb (void);
 | 
				
			||||||
 | 
					int pc_keypressed (void);
 | 
				
			||||||
 | 
					int pc_readkey (void);
 | 
				
			||||||
 | 
					int pc_keydown (int code);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * timer
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					int pc_install_int (PFUNC func, void *parm, unsigned int freq);
 | 
				
			||||||
 | 
					void pc_remove_timer (void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * mouse
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					int pc_install_mouse (void);
 | 
				
			||||||
 | 
					void pc_remove_mouse (void);
 | 
				
			||||||
 | 
					MFUNC pc_install_mouse_handler (MFUNC handler);
 | 
				
			||||||
 | 
					void pc_mouse_area (int x1, int y1, int x2, int y2);
 | 
				
			||||||
 | 
					void pc_mouse_speed (int xspeed, int yspeed);
 | 
				
			||||||
 | 
					int pc_query_mouse (int *x, int *y);
 | 
				
			||||||
 | 
					void pc_show_mouse (void);
 | 
				
			||||||
 | 
					void pc_scare_mouse (void);
 | 
				
			||||||
 | 
					void pc_unscare_mouse (void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * standard redirection
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void pc_open_stdout (void);
 | 
				
			||||||
 | 
					void pc_open_stderr (void);
 | 
				
			||||||
 | 
					void pc_close_stdout (void);
 | 
				
			||||||
 | 
					void pc_close_stderr (void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										180
									
								
								src/glut/dos/PC_HW/pc_irq.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										180
									
								
								src/glut/dos/PC_HW/pc_irq.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,180 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * PC/HW routine collection v1.0 for DOS/DJGPP
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  Copyright (C) 2002 - Borca Daniel
 | 
				
			||||||
 | 
					 *  Email : dborca@yahoo.com
 | 
				
			||||||
 | 
					 *  Web   : http://www.geocities.com/dborca
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							.file	"pc_irq.S"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							.text
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define	IRQ_STACK_SIZE	16384
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define	IRQ_WRAPPER_LEN	(__irq_wrapper_1-__irq_wrapper_0)
 | 
				
			||||||
 | 
					#define	IRQ_OLD		(__irq_old_0-__irq_wrapper_0)
 | 
				
			||||||
 | 
					#define	IRQ_HOOK	(__irq_hook_0-__irq_wrapper_0)
 | 
				
			||||||
 | 
					#define	IRQ_STACK	(__irq_stack_0-__irq_wrapper_0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							.balign	4
 | 
				
			||||||
 | 
					common:
 | 
				
			||||||
 | 
							movw	$0x0400, %ax
 | 
				
			||||||
 | 
							int	$0x31
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							movl	%ss:8(%ebp), %ebx
 | 
				
			||||||
 | 
							cmpl	$15, %ebx
 | 
				
			||||||
 | 
							jbe	0f
 | 
				
			||||||
 | 
						fail:
 | 
				
			||||||
 | 
							orl	$-1, %eax
 | 
				
			||||||
 | 
							popl	%edi
 | 
				
			||||||
 | 
							popl	%ebx
 | 
				
			||||||
 | 
							leave
 | 
				
			||||||
 | 
							ret
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						0:
 | 
				
			||||||
 | 
							movl	%ebx, %edi
 | 
				
			||||||
 | 
							imull	$IRQ_WRAPPER_LEN, %edi
 | 
				
			||||||
 | 
							addl	$__irq_wrapper_0, %edi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							cmpb	$7, %bl
 | 
				
			||||||
 | 
							jbe	1f
 | 
				
			||||||
 | 
							movb	%dl, %dh
 | 
				
			||||||
 | 
							subb	$8, %dh
 | 
				
			||||||
 | 
						1:
 | 
				
			||||||
 | 
							addb	%dh, %bl
 | 
				
			||||||
 | 
							ret
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							.balign	4
 | 
				
			||||||
 | 
							.global	_pc_install_irq
 | 
				
			||||||
 | 
					_pc_install_irq:
 | 
				
			||||||
 | 
							pushl	%ebp
 | 
				
			||||||
 | 
							movl	%esp, %ebp
 | 
				
			||||||
 | 
							pushl	%ebx
 | 
				
			||||||
 | 
							pushl	%edi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							call	common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							cmpl	$0, IRQ_HOOK(%edi)
 | 
				
			||||||
 | 
							jne	fail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pushl	$IRQ_WRAPPER_LEN
 | 
				
			||||||
 | 
							pushl	%edi
 | 
				
			||||||
 | 
							call	__go32_dpmi_lock_code
 | 
				
			||||||
 | 
							addl	$8, %esp
 | 
				
			||||||
 | 
							testl	%eax, %eax
 | 
				
			||||||
 | 
							jnz	fail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pushl	$IRQ_STACK_SIZE
 | 
				
			||||||
 | 
							call	_pc_malloc
 | 
				
			||||||
 | 
							popl	%edx
 | 
				
			||||||
 | 
							testl	%eax, %eax
 | 
				
			||||||
 | 
							jz	fail
 | 
				
			||||||
 | 
							addl	%edx, %eax
 | 
				
			||||||
 | 
							movl	%eax, IRQ_STACK(%edi)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							movl	%ss:12(%ebp), %eax
 | 
				
			||||||
 | 
							movl	%eax, IRQ_HOOK(%edi)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							movw	$0x0204, %ax
 | 
				
			||||||
 | 
							int	$0x31
 | 
				
			||||||
 | 
							movl	%edx, IRQ_OLD(%edi)
 | 
				
			||||||
 | 
							movw	%cx, IRQ_OLD+4(%edi)
 | 
				
			||||||
 | 
							movw	$0x0205, %ax
 | 
				
			||||||
 | 
							movl	%edi, %edx
 | 
				
			||||||
 | 
							movl	%cs, %ecx
 | 
				
			||||||
 | 
							int	$0x31
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						done:
 | 
				
			||||||
 | 
							xorl	%eax, %eax
 | 
				
			||||||
 | 
							popl	%edi
 | 
				
			||||||
 | 
							popl	%ebx
 | 
				
			||||||
 | 
							leave
 | 
				
			||||||
 | 
							ret
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							.balign	4
 | 
				
			||||||
 | 
							.global	_pc_remove_irq
 | 
				
			||||||
 | 
					_pc_remove_irq:
 | 
				
			||||||
 | 
							pushl	%ebp
 | 
				
			||||||
 | 
							movl	%esp, %ebp
 | 
				
			||||||
 | 
							pushl	%ebx
 | 
				
			||||||
 | 
							pushl	%edi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							call	common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							cmpl	$0, IRQ_HOOK(%edi)
 | 
				
			||||||
 | 
							je	fail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							movl	$0, IRQ_HOOK(%edi)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							movw	$0x0205, %ax
 | 
				
			||||||
 | 
							movl	IRQ_OLD(%edi), %edx
 | 
				
			||||||
 | 
							movl	IRQ_OLD+4(%edi), %ecx
 | 
				
			||||||
 | 
							int	$0x31
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							movl	IRQ_STACK(%edi), %eax
 | 
				
			||||||
 | 
							subl	$IRQ_STACK_SIZE, %eax
 | 
				
			||||||
 | 
							pushl	%eax
 | 
				
			||||||
 | 
							call	_free
 | 
				
			||||||
 | 
							popl	%eax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							jmp	done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define	WRAPPER(x)							   ; \
 | 
				
			||||||
 | 
							.balign	4						   ; \
 | 
				
			||||||
 | 
					__irq_wrapper_##x:							   ; \
 | 
				
			||||||
 | 
							pushal							   ; \
 | 
				
			||||||
 | 
							pushl	%ds						   ; \
 | 
				
			||||||
 | 
							pushl	%es						   ; \
 | 
				
			||||||
 | 
							pushl	%fs						   ; \
 | 
				
			||||||
 | 
							pushl	%gs						   ; \
 | 
				
			||||||
 | 
							movl	%ss, %ebx					   ; \
 | 
				
			||||||
 | 
							movl	%esp, %esi					   ; \
 | 
				
			||||||
 | 
							movl	%cs:___djgpp_ds_alias, %ss			   ; \
 | 
				
			||||||
 | 
							movl	%cs:__irq_stack_##x, %esp			   ; \
 | 
				
			||||||
 | 
							pushl	%ss						   ; \
 | 
				
			||||||
 | 
							pushl	%ss						   ; \
 | 
				
			||||||
 | 
							popl	%es						   ; \
 | 
				
			||||||
 | 
							popl	%ds						   ; \
 | 
				
			||||||
 | 
							movl	___djgpp_dos_sel, %fs				   ; \
 | 
				
			||||||
 | 
							pushl	%fs						   ; \
 | 
				
			||||||
 | 
							popl	%gs						   ; \
 | 
				
			||||||
 | 
							call	*__irq_hook_##x					   ; \
 | 
				
			||||||
 | 
							movl	%ebx, %ss					   ; \
 | 
				
			||||||
 | 
							movl	%esi, %esp					   ; \
 | 
				
			||||||
 | 
							testl	%eax, %eax					   ; \
 | 
				
			||||||
 | 
							popl	%gs						   ; \
 | 
				
			||||||
 | 
							popl	%fs						   ; \
 | 
				
			||||||
 | 
							popl	%es						   ; \
 | 
				
			||||||
 | 
							popl	%ds						   ; \
 | 
				
			||||||
 | 
							popal							   ; \
 | 
				
			||||||
 | 
							jz	__irq_ignore_##x				   ; \
 | 
				
			||||||
 | 
					__irq_bypass_##x:							   ; \
 | 
				
			||||||
 | 
							ljmp	*%cs:__irq_old_##x				   ; \
 | 
				
			||||||
 | 
					__irq_ignore_##x:							   ; \
 | 
				
			||||||
 | 
							iret							   ; \
 | 
				
			||||||
 | 
							.balign	4						   ; \
 | 
				
			||||||
 | 
					__irq_old_##x:								   ; \
 | 
				
			||||||
 | 
							.long	0, 0						   ; \
 | 
				
			||||||
 | 
					__irq_hook_##x:								   ; \
 | 
				
			||||||
 | 
							.long	0						   ; \
 | 
				
			||||||
 | 
					__irq_stack_##x:							   ; \
 | 
				
			||||||
 | 
							.long	0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							WRAPPER(0);
 | 
				
			||||||
 | 
							WRAPPER(1);
 | 
				
			||||||
 | 
							WRAPPER(2);
 | 
				
			||||||
 | 
							WRAPPER(3);
 | 
				
			||||||
 | 
							WRAPPER(4);
 | 
				
			||||||
 | 
							WRAPPER(5);
 | 
				
			||||||
 | 
							WRAPPER(6);
 | 
				
			||||||
 | 
							WRAPPER(7);
 | 
				
			||||||
 | 
							WRAPPER(8);
 | 
				
			||||||
 | 
							WRAPPER(9);
 | 
				
			||||||
 | 
							WRAPPER(10);
 | 
				
			||||||
 | 
							WRAPPER(11);
 | 
				
			||||||
 | 
							WRAPPER(12);
 | 
				
			||||||
 | 
							WRAPPER(13);
 | 
				
			||||||
 | 
							WRAPPER(14);
 | 
				
			||||||
 | 
							WRAPPER(15);
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user