Compare commits
	
		
			85 Commits
		
	
	
		
			mesa-11.2.
			...
			mesa_4_0_1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 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 | 
							
								
								
									
										97
									
								
								Make-config
									
									
									
									
									
								
							
							
						
						
									
										97
									
								
								Make-config
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | |||||||
| # $Id: Make-config,v 1.51 2001/10/22 22:45:18 brianp Exp $ | # $Id: Make-config,v 1.50.2.4 2001/12/14 17:46:20 kschultz Exp $ | ||||||
|  |  | ||||||
| MESA_MAJOR=4 | MESA_MAJOR=4 | ||||||
| MESA_MINOR=1 | MESA_MINOR=0 | ||||||
| MESA_TINY=0 | MESA_TINY=0 | ||||||
| VERSION=$(MESA_MAJOR).$(MESA_MINOR) | VERSION=$(MESA_MAJOR).$(MESA_MINOR) | ||||||
|  |  | ||||||
| @@ -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" \ | ||||||
| @@ -1418,7 +1453,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 +1466,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" \ | ||||||
| @@ -1460,6 +1495,24 @@ linux-debug: | |||||||
| 	"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 -L/usr/local/glide/lib -lglide2x" | ||||||
|  |  | ||||||
|  | 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 \ | ||||||
| 	"GL_LIB = libGL.a" \ | 	"GL_LIB = libGL.a" \ | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								Makefile.X11
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								Makefile.X11
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | |||||||
| # $Id: Makefile.X11,v 1.57 2001/10/22 22:45:18 brianp Exp $ | # $Id: Makefile.X11,v 1.56.2.3 2001/12/14 17:11:46 kschultz Exp $ | ||||||
|  |  | ||||||
| # Mesa 3-D graphics library | # Mesa 3-D graphics library | ||||||
| # Version:  4.1 | # Version:  4.0 | ||||||
| #  | #  | ||||||
| # Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | # Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
| #  | #  | ||||||
| @@ -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" | ||||||
| @@ -137,11 +138,11 @@ 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-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 \ | ||||||
| @@ -171,12 +172,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 +300,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,13 +321,11 @@ 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 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| File: docs/README.WIN32 | File: docs/README.WIN32 | ||||||
|  |  | ||||||
| Last updated: Oct 15, 2001 - Karl Schultz - kschultz@users.sourceforge.net | Last updated: Nov 29, 2001 - Karl Schultz - kschultz@users.sourceforge.net | ||||||
|  |  | ||||||
| Quick Start | Quick Start | ||||||
|  |  | ||||||
| @@ -52,10 +52,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 +65,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.1 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.1/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.1 2001/11/23 20:47:25 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 $ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| $Id: VERSIONS,v 1.74 2001/10/22 22:45:18 brianp Exp $ | $Id: VERSIONS,v 1.73.2.14 2001/12/15 00:50:55 brianp Exp $ | ||||||
|  |  | ||||||
|  |  | ||||||
| Mesa Version History | Mesa Version History | ||||||
| @@ -898,9 +898,29 @@ Mesa Version History | |||||||
| 	- lighting didn't always produce the correct alpha value | 	- lighting didn't always produce the correct alpha value | ||||||
| 	- 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.0.1 December 17, 2001 | ||||||
| 4.1  Month, ??, 2002 |  | ||||||
|     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) | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: gl.h,v 1.59 2001/09/23 16:06:13 brianp Exp $ */ | /* $Id: gl.h,v 1.59.2.1 2001/11/09 21:54:05 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -84,7 +84,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 | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: gl_mangle.h,v 1.7 2001/09/21 17:23:30 brianp Exp $ */ | /* $Id: gl_mangle.h,v 1.7.2.2 2001/12/13 19:07:28 kschultz Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  *  |  *  | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  *  |  *  | ||||||
| @@ -557,6 +557,7 @@ | |||||||
| #define glFogCoordPointerEXT mglFogCoordPointerEXT  | #define glFogCoordPointerEXT mglFogCoordPointerEXT  | ||||||
| #define glFogCoorddEXT mglFogCoorddEXT  | #define glFogCoorddEXT mglFogCoorddEXT  | ||||||
| #define glFogCoordfvEXT mglFogCoordfvEXT  | #define glFogCoordfvEXT mglFogCoordfvEXT  | ||||||
|  | #define glFogCoorddvEXT mglFogCoorddvEXT  | ||||||
| #define glFogCoordfEXT mglFogCoordfEXT  | #define glFogCoordfEXT mglFogCoordfEXT  | ||||||
| #define glLightEnviSGIX mglLightEnviSGIX  | #define glLightEnviSGIX mglLightEnviSGIX  | ||||||
| #define glGetFragmentMaterialivSGIX mglGetFragmentMaterialivSGIX  | #define glGetFragmentMaterialivSGIX mglGetFragmentMaterialivSGIX  | ||||||
| @@ -616,6 +617,9 @@ | |||||||
| #define glGetPixelTexGenParameterfvSGIS mglGetPixelTexGenParameterfvSGIS  | #define glGetPixelTexGenParameterfvSGIS mglGetPixelTexGenParameterfvSGIS  | ||||||
| #define glPixelTexGenParameteriSGIS mglPixelTexGenParameteriSGIS  | #define glPixelTexGenParameteriSGIS mglPixelTexGenParameteriSGIS  | ||||||
| #define glPixelTexGenParameterfSGIS mglPixelTexGenParameterfSGIS  | #define glPixelTexGenParameterfSGIS mglPixelTexGenParameterfSGIS  | ||||||
|  | #define glPixelTexGenParameterivSGIS mglPixelTexGenParameterivSGIS  | ||||||
|  | #define glPixelTexGenParameterfvSGIS mglPixelTexGenParameterfvSGIS  | ||||||
|  | #define glPixelTexGenSGIX mglPixelTexGenSGIX | ||||||
| #define glGetColorTableParameterivSGI mglGetColorTableParameterivSGI  | #define glGetColorTableParameterivSGI mglGetColorTableParameterivSGI  | ||||||
| #define glGetColorTableParameterfvSGI mglGetColorTableParameterfvSGI  | #define glGetColorTableParameterfvSGI mglGetColorTableParameterfvSGI  | ||||||
| #define glGetColorTableSGI mglGetColorTableSGI  | #define glGetColorTableSGI mglGetColorTableSGI  | ||||||
| @@ -676,6 +680,62 @@ | |||||||
| #define glSecondaryColor3usEXT mglSecondaryColor3usEXT | #define glSecondaryColor3usEXT mglSecondaryColor3usEXT | ||||||
| #define glSecondaryColor3sEXT mglSecondaryColor3sEXT | #define glSecondaryColor3sEXT mglSecondaryColor3sEXT | ||||||
|  |  | ||||||
|  | /* 1.3 */ | ||||||
|  | #define glActiveTexture mglActiveTexture | ||||||
|  | #define glClientActiveTexture mglClientActiveTexture | ||||||
|  | #define glSampleCoverage mglSampleCoverage  | ||||||
|  | #define glSamplePass mglSamplePass | ||||||
|  | #define glMultTransposeMatrixf mglMultTransposeMatrixf  | ||||||
|  | #define glMultTransposeMatrixd mglMultTransposeMatrixd  | ||||||
|  | #define glLoadTransposeMatrixf mglLoadTransposeMatrixf  | ||||||
|  | #define glLoadTransposeMatrixd mglLoadTransposeMatrixd  | ||||||
|  | #define glGetCompressedTexImage mglGetCompressedTexImage | ||||||
|  | #define glGetCompressedTexImageARB mglGetCompressedTexImageARB | ||||||
|  | #define glCompressedTexSubImage3D mglCompressedTexSubImage3D | ||||||
|  | #define glCompressedTexSubImage2D mglCompressedTexSubImage2D | ||||||
|  | #define glCompressedTexSubImage1D mglCompressedTexSubImage1D | ||||||
|  | #define glCompressedTexImage3D mglCompressedTexImage3D | ||||||
|  | #define glCompressedTexImage2D mglCompressedTexImage2D | ||||||
|  | #define glCompressedTexImage1D mglCompressedTexImage1D | ||||||
|  | #define glCompressedTexSubImage3DARB mglCompressedTexSubImage3DARB | ||||||
|  | #define glCompressedTexSubImage2DARB mglCompressedTexSubImage2DARB | ||||||
|  | #define glCompressedTexSubImage1DARB mglCompressedTexSubImage1DARB | ||||||
|  | #define glCompressedTexImage3DARB mglCompressedTexImage3DARB | ||||||
|  | #define glCompressedTexImage2DARB mglCompressedTexImage2DARB | ||||||
|  | #define glCompressedTexImage1DARB mglCompressedTexImage1DARB | ||||||
|  | #define glMultiTexCoord1d mglMultiTexCoord1d | ||||||
|  | #define glMultiTexCoord1dv mglMultiTexCoord1dv | ||||||
|  | #define glMultiTexCoord1f mglMultiTexCoord1f | ||||||
|  | #define glMultiTexCoord1fv mglMultiTexCoord1fv | ||||||
|  | #define glMultiTexCoord1i mglMultiTexCoord1i | ||||||
|  | #define glMultiTexCoord1iv mglMultiTexCoord1iv | ||||||
|  | #define glMultiTexCoord1s mglMultiTexCoord1s | ||||||
|  | #define glMultiTexCoord1sv mglMultiTexCoord1sv | ||||||
|  | #define glMultiTexCoord2d mglMultiTexCoord2d | ||||||
|  | #define glMultiTexCoord2dv mglMultiTexCoord2dv | ||||||
|  | #define glMultiTexCoord2f mglMultiTexCoord2f | ||||||
|  | #define glMultiTexCoord2fv mglMultiTexCoord2fv | ||||||
|  | #define glMultiTexCoord2i mglMultiTexCoord2i | ||||||
|  | #define glMultiTexCoord2iv mglMultiTexCoord2iv | ||||||
|  | #define glMultiTexCoord2s mglMultiTexCoord2s | ||||||
|  | #define glMultiTexCoord2sv mglMultiTexCoord2sv | ||||||
|  | #define glMultiTexCoord3d mglMultiTexCoord3d | ||||||
|  | #define glMultiTexCoord3dv mglMultiTexCoord3dv | ||||||
|  | #define glMultiTexCoord3f mglMultiTexCoord3f | ||||||
|  | #define glMultiTexCoord3fv mglMultiTexCoord3fv | ||||||
|  | #define glMultiTexCoord3i mglMultiTexCoord3i | ||||||
|  | #define glMultiTexCoord3iv mglMultiTexCoord3iv | ||||||
|  | #define glMultiTexCoord3s mglMultiTexCoord3s | ||||||
|  | #define glMultiTexCoord3sv mglMultiTexCoord3sv | ||||||
|  | #define glMultiTexCoord4d mglMultiTexCoord4d | ||||||
|  | #define glMultiTexCoord4dv mglMultiTexCoord4dv | ||||||
|  | #define glMultiTexCoord4f mglMultiTexCoord4f | ||||||
|  | #define glMultiTexCoord4fv mglMultiTexCoord4fv | ||||||
|  | #define glMultiTexCoord4i mglMultiTexCoord4i | ||||||
|  | #define glMultiTexCoord4iv mglMultiTexCoord4iv | ||||||
|  | #define glMultiTexCoord4s mglMultiTexCoord4s | ||||||
|  | #define glMultiTexCoord4sv mglMultiTexCoord4sv | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Internal symbols which may collide with other OpenGL implementations. */ | /* Internal symbols which may collide with other OpenGL implementations. */ | ||||||
| #define __glCoreCreateContext __mglCoreCreateContext | #define __glCoreCreateContext __mglCoreCreateContext | ||||||
|   | |||||||
| @@ -250,10 +250,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,4 +1,4 @@ | |||||||
| /* $Id: glx.h,v 1.33 2001/09/24 14:15:58 brianp Exp $ */ | /* $Id: glx.h,v 1.33.2.1 2001/12/14 03:20:57 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -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*/ | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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.1 2001/11/09 22:00:26 brianp 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 | ||||||
|  |  | ||||||
| @@ -69,4 +50,8 @@ | |||||||
| #define glXGetVideoSyncSGI mglXGetVideoSyncSGI | #define glXGetVideoSyncSGI mglXGetVideoSyncSGI | ||||||
| #define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI | #define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI | ||||||
|  |  | ||||||
|  | /* GLX 1.4 */ | ||||||
|  | #define glXGetProcAddress mglXGetProcAddress | ||||||
|  |  | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -413,7 +413,7 @@ 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 */ | ||||||
|   | |||||||
| @@ -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.1 2001/10/26 21:03:15 kschultz Exp $ | ||||||
|  |  | ||||||
| # Mesa 3-D graphics library | # Mesa 3-D graphics library | ||||||
| # Version:  3.5 | # Version:  3.5 | ||||||
| @@ -79,22 +79,20 @@ OSMESASRCS = osdemo.c | |||||||
|  |  | ||||||
| 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) | ||||||
|  |  | ||||||
| readtex.c: | readtex.c: | ||||||
| 	@copy ../util/readtex.c . | 	-copy ..\util\readtex.c . | ||||||
|  |  | ||||||
| readtex.h: | readtex.h: | ||||||
| 	@copy ../util/readtex.c . | 	-copy ..\util\readtex.h . | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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: 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); | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| # $Id: Makefile.X11,v 1.5 2001/08/13 16:51:08 brianp Exp $ | # $Id: Makefile.X11,v 1.5.2.1 2001/12/14 17:18:08 kschultz Exp $ | ||||||
|  |  | ||||||
| # Mesa 3-D graphics library | # Mesa 3-D graphics library | ||||||
| # Version:  3.5 | # Version:  3.5 | ||||||
| @@ -6,6 +6,7 @@ | |||||||
|  |  | ||||||
| # Makefile for SGI SI GLU library | # Makefile for SGI SI GLU library | ||||||
|  |  | ||||||
|  | .SUFFIXES : .cc | ||||||
|  |  | ||||||
| ##### MACROS ##### | ##### MACROS ##### | ||||||
|  |  | ||||||
| @@ -127,7 +128,6 @@ OBJECTS = $(C_OBJECTS) $(CC_OBJECTS) | |||||||
| 	$(CPLUSPLUS) -c $(INCDIRS) $(CCFLAGS) -DLIBRARYBUILD $< -o $@ | 	$(CPLUSPLUS) -c $(INCDIRS) $(CCFLAGS) -DLIBRARYBUILD $< -o $@ | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ##### TARGETS ##### | ##### TARGETS ##### | ||||||
|  |  | ||||||
| default: | default: | ||||||
|   | |||||||
| @@ -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)  | ||||||
|     { |     { | ||||||
|   | |||||||
| @@ -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 @@ | |||||||
| /* | /* | ||||||
|  * 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,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> | ||||||
|   | |||||||
| @@ -25,8 +25,8 @@ OBJS   = $(SRCS:.c=.obj) | |||||||
| MS_LIBS   = ../lib/$(MESALIB) ../lib/$(GLULIB) winmm.lib $(guilibsdll) | MS_LIBS   = ../lib/$(MESALIB) ../lib/$(GLULIB) winmm.lib $(guilibsdll) | ||||||
| SGI_LIBS   = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll) | SGI_LIBS   = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll) | ||||||
|  |  | ||||||
| glut32.dll : $(OBJS) glut.def | MesaGlut.dll : $(OBJS) glut.def | ||||||
| 	$(link) $(LFLAGS) -out:glut32.dll -def:glut.def $(OBJS) $(MS_LIBS) | 	$(link) $(LFLAGS) -out:MesaGlut.dll -def:glut.def $(OBJS) $(MS_LIBS) | ||||||
| 	@echo "copying GLUT dynamic link library to lib directory..." | 	@echo "copying GLUT dynamic link library to lib directory..." | ||||||
| 	-copy $(GLUTDLL) ..\lib | 	-copy $(GLUTDLL) ..\lib | ||||||
| 	@echo "copying GLUT import library to lib directory..." | 	@echo "copying GLUT import library to lib directory..." | ||||||
|   | |||||||
| @@ -439,15 +439,15 @@ loadVisuals(int *nitems_return) | |||||||
|         GLXFBConfigSGIX fbc; |         GLXFBConfigSGIX fbc; | ||||||
|         int fbconfigID, drawType, renderType; |         int fbconfigID, drawType, renderType; | ||||||
|  |  | ||||||
|         fbc = glXGetFBConfigFromVisualSGIX(__glutDisplay, vlist[i]); |         fbc = __glut_glXGetFBConfigFromVisualSGIX(__glutDisplay, vlist[i]); | ||||||
|         if (fbc) { |         if (fbc) { | ||||||
|           rc = glXGetFBConfigAttribSGIX(__glutDisplay, fbc, |           rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc, | ||||||
| 	    GLX_FBCONFIG_ID_SGIX, &fbconfigID); | 	    GLX_FBCONFIG_ID_SGIX, &fbconfigID); | ||||||
|           if ((rc == 0) && (fbconfigID != None)) { |           if ((rc == 0) && (fbconfigID != None)) { | ||||||
|             rc = glXGetFBConfigAttribSGIX(__glutDisplay, fbc, |             rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc, | ||||||
| 	      GLX_DRAWABLE_TYPE_SGIX, &drawType); | 	      GLX_DRAWABLE_TYPE_SGIX, &drawType); | ||||||
|             if ((rc == 0) && (drawType & GLX_WINDOW_BIT_SGIX)) { |             if ((rc == 0) && (drawType & GLX_WINDOW_BIT_SGIX)) { | ||||||
|               rc = glXGetFBConfigAttribSGIX(__glutDisplay, fbc, |               rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc, | ||||||
| 	        GLX_RENDER_TYPE_SGIX, &renderType); | 	        GLX_RENDER_TYPE_SGIX, &renderType); | ||||||
|               if ((rc == 0) && (renderType & GLX_RGBA_BIT_SGIX)) { |               if ((rc == 0) && (renderType & GLX_RGBA_BIT_SGIX)) { | ||||||
|                 mode->fbc = fbc; |                 mode->fbc = fbc; | ||||||
| @@ -459,7 +459,7 @@ loadVisuals(int *nitems_return) | |||||||
|  |  | ||||||
|                 /* Start with "j = 1" to skip the GLX_RGBA attribute. */ |                 /* Start with "j = 1" to skip the GLX_RGBA attribute. */ | ||||||
|                 for (j = 1; j < NUM_GLXCAPS; j++) { |                 for (j = 1; j < NUM_GLXCAPS; j++) { | ||||||
|                   rc = glXGetFBConfigAttribSGIX(__glutDisplay, |                   rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, | ||||||
| 		    fbc, glxcap[j], &mode->cap[j]); | 		    fbc, glxcap[j], &mode->cap[j]); | ||||||
|                   if (rc != 0) { |                   if (rc != 0) { | ||||||
|                     mode->valid = 0; |                     mode->valid = 0; | ||||||
| @@ -509,7 +509,7 @@ loadVisuals(int *nitems_return) | |||||||
| #define GLX_VISUAL_CAVEAT_EXT 0x20 | #define GLX_VISUAL_CAVEAT_EXT 0x20 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|                   rc = glXGetFBConfigAttribSGIX(__glutDisplay, |                   rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, | ||||||
| 		    fbc, GLX_VISUAL_CAVEAT_EXT, &rating); | 		    fbc, GLX_VISUAL_CAVEAT_EXT, &rating); | ||||||
|                   if (rc != 0) { |                   if (rc != 0) { | ||||||
|                     mode->cap[SLOW] = 0; |                     mode->cap[SLOW] = 0; | ||||||
| @@ -558,7 +558,7 @@ loadVisuals(int *nitems_return) | |||||||
| #define GLX_TRANSPARENT_TYPE_EXT 0x23 | #define GLX_TRANSPARENT_TYPE_EXT 0x23 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|                   rc = glXGetFBConfigAttribSGIX(__glutDisplay, |                   rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, | ||||||
| 		    fbc, GLX_TRANSPARENT_TYPE_EXT, &transparent); | 		    fbc, GLX_TRANSPARENT_TYPE_EXT, &transparent); | ||||||
|                   if (rc != 0) { |                   if (rc != 0) { | ||||||
|                     mode->cap[TRANSPARENT] = 0; |                     mode->cap[TRANSPARENT] = 0; | ||||||
| @@ -573,7 +573,7 @@ loadVisuals(int *nitems_return) | |||||||
| #endif | #endif | ||||||
| #if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample) | #if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample) | ||||||
|                 if (multisample) { |                 if (multisample) { | ||||||
|                   rc = glXGetFBConfigAttribSGIX(__glutDisplay, |                   rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, | ||||||
| 		    fbc, GLX_SAMPLES_SGIS, &mode->cap[SAMPLES]); | 		    fbc, GLX_SAMPLES_SGIS, &mode->cap[SAMPLES]); | ||||||
|                   if (rc != 0) { |                   if (rc != 0) { | ||||||
|                     mode->cap[SAMPLES] = 0; |                     mode->cap[SAMPLES] = 0; | ||||||
|   | |||||||
| @@ -50,4 +50,19 @@ glutExtensionSupported(const char *extension) | |||||||
|   return 0; |   return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* XXX This isn't an official GLUT function, yet */ | ||||||
|  | void * APIENTRY  | ||||||
|  | glutGetProcAddress(const char *procName) | ||||||
|  | { | ||||||
|  | #if defined(_WIN32) | ||||||
|  |   return (void *) wglGetProcAddress((LPCSTR) procName); | ||||||
|  | #elif defined(GLX_ARB_get_proc_address) | ||||||
|  |   return (void *) glXGetProcAddressARB((const GLubyte *) procName); | ||||||
|  | #else | ||||||
|  |   return NULL; | ||||||
|  | #endif | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| /* ENDCENTRY */ | /* ENDCENTRY */ | ||||||
|   | |||||||
| @@ -46,3 +46,210 @@ __glutIsSupportedByGLX(char *extension) | |||||||
|   return 0; |   return 0; | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Wrapping of GLX extension functions. | ||||||
|  |  * Technically, we should do a runtime test to see if we've got the | ||||||
|  |  * glXGetProcAddressARB() function.  I think GLX_ARB_get_proc_address | ||||||
|  |  * is pretty widely supported now and any system that has | ||||||
|  |  * GLX_ARB_get_proc_address defined in its header files should be OK | ||||||
|  |  * at runtime. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | int | ||||||
|  | __glut_glXBindChannelToWindowSGIX(Display *dpy, int screen, | ||||||
|  |                                   int channel, Window window) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef int (*glXBindChannelToWindowSGIX_t) (Display *, int, int, Window); | ||||||
|  |   static glXBindChannelToWindowSGIX_t glXBindChannelToWindowSGIX_ptr = NULL; | ||||||
|  |   if (!glXBindChannelToWindowSGIX_ptr) { | ||||||
|  |     glXBindChannelToWindowSGIX_ptr = (glXBindChannelToWindowSGIX_t) | ||||||
|  |       glXGetProcAddressARB((const GLubyte *) "glXBindChannelToWindowSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXBindChannelToWindowSGIX_ptr) | ||||||
|  |     return (*glXBindChannelToWindowSGIX_ptr)(dpy, screen, channel, window); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_video_resize) | ||||||
|  |   return glXBindChannelToWindowSGIX(dpy, screen, channel, window); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif    | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int | ||||||
|  | __glut_glXChannelRectSGIX(Display *dpy, int screen, int channel, | ||||||
|  |                           int x, int y, int w, int h) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef int (*glXChannelRectSGIX_t)(Display *, int, int, int, int, int, int); | ||||||
|  |   static glXChannelRectSGIX_t glXChannelRectSGIX_ptr = NULL; | ||||||
|  |   if (!glXChannelRectSGIX_ptr) { | ||||||
|  |     glXChannelRectSGIX_ptr = (glXChannelRectSGIX_t) | ||||||
|  |       glXGetProcAddressARB((const GLubyte *) "glXChannelRectSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXChannelRectSGIX_ptr) | ||||||
|  |     return (*glXChannelRectSGIX_ptr)(dpy, screen, channel, x, y, w, h); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_video_resize) | ||||||
|  |   return glXChannelRectSGIX(dpy, screen, channel, x, y, w, h); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif    | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int | ||||||
|  | __glut_glXQueryChannelRectSGIX(Display *dpy, int screen, int channel, | ||||||
|  |                                int *x, int *y, int *w, int *h) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef int (*glXQueryChannelRectSGIX_t)(Display *, int, int, | ||||||
|  |                                            int *, int *, int *, int *); | ||||||
|  |   static glXQueryChannelRectSGIX_t glXQueryChannelRectSGIX_ptr = NULL; | ||||||
|  |   if (!glXQueryChannelRectSGIX_ptr) { | ||||||
|  |     glXQueryChannelRectSGIX_ptr = (glXQueryChannelRectSGIX_t) | ||||||
|  |       glXGetProcAddressARB((const GLubyte *) "glXQueryChannelRectSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXQueryChannelRectSGIX_ptr) | ||||||
|  |     return (*glXQueryChannelRectSGIX_ptr)(dpy, screen, channel, x, y, w, h); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_video_resize) | ||||||
|  |   return glXQueryChannelRectSGIX(dpy, screen, channel, x, y, w, h); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif    | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int | ||||||
|  | __glut_glXQueryChannelDeltasSGIX(Display *dpy, int screen, int channel, | ||||||
|  |                                  int *dx, int *dy, int *dw, int *dh) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef int (*glXQueryChannelDeltasSGIX_t)(Display *, int, int, | ||||||
|  |                                              int *, int *, int *, int *); | ||||||
|  |   static glXQueryChannelDeltasSGIX_t glXQueryChannelDeltasSGIX_ptr = NULL; | ||||||
|  |   if (!glXQueryChannelDeltasSGIX_ptr) { | ||||||
|  |     glXQueryChannelDeltasSGIX_ptr = (glXQueryChannelDeltasSGIX_t) | ||||||
|  |       glXGetProcAddressARB((const GLubyte *) "glXQueryChannelDeltasSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXQueryChannelDeltasSGIX_ptr) | ||||||
|  |     return (*glXQueryChannelDeltasSGIX_ptr)(dpy, screen, channel, | ||||||
|  |                                             dx, dy, dw, dh); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_video_resize) | ||||||
|  |   return glXQueryChannelDeltasSGIX(dpy, screen, channel, dx, dy, dw, dh); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif    | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int | ||||||
|  | __glut_glXChannelRectSyncSGIX(Display *dpy, int screen, | ||||||
|  |                               int channel, GLenum synctype) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef int (*glXChannelRectSyncSGIX_t)(Display *, int, int, GLenum); | ||||||
|  |   static glXChannelRectSyncSGIX_t glXChannelRectSyncSGIX_ptr = NULL; | ||||||
|  |   if (!glXChannelRectSyncSGIX_ptr) { | ||||||
|  |     glXChannelRectSyncSGIX_ptr = (glXChannelRectSyncSGIX_t) | ||||||
|  |       glXGetProcAddressARB((const GLubyte *) "glXChannelRectSyncSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXChannelRectSyncSGIX_ptr) | ||||||
|  |     return (*glXChannelRectSyncSGIX_ptr)(dpy, screen, channel, synctype); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_video_resize) | ||||||
|  |   return glXChannelRectSyncSGIX(dpy, screen, channel, synctype); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif    | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | GLXContext | ||||||
|  | __glut_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, | ||||||
|  |                                       int render_type, GLXContext share_list, | ||||||
|  |                                       Bool direct) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef GLXContext (*glXCreateContextWithConfigSGIX_t)(Display *, | ||||||
|  |                                  GLXFBConfigSGIX, int, GLXContext, Bool); | ||||||
|  |   static glXCreateContextWithConfigSGIX_t glXCreateContextWithConfig_ptr = NULL; | ||||||
|  |   if (!glXCreateContextWithConfig_ptr) { | ||||||
|  |     glXCreateContextWithConfig_ptr = (glXCreateContextWithConfigSGIX_t) | ||||||
|  |        glXGetProcAddressARB((const GLubyte *) "glXCreateContextWithConfigSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXCreateContextWithConfig_ptr) | ||||||
|  |     return (*glXCreateContextWithConfig_ptr)(dpy, config, render_type, | ||||||
|  |                                              share_list, direct); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_fbconfig) | ||||||
|  |   return glXCreateContextWithConfigSGIX(dpy, config, render_type, | ||||||
|  |                                         share_list, direct); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int | ||||||
|  | __glut_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, | ||||||
|  |                                 int attribute, int *value) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef int (*glXGetFBConfigAttribSGIX_t)(Display *, | ||||||
|  |                                             GLXFBConfigSGIX, int, int *); | ||||||
|  |   static glXGetFBConfigAttribSGIX_t glXGetFBConfigAttrib_ptr = NULL; | ||||||
|  |   if (!glXGetFBConfigAttrib_ptr) { | ||||||
|  |     glXGetFBConfigAttrib_ptr = (glXGetFBConfigAttribSGIX_t) | ||||||
|  |        glXGetProcAddressARB((const GLubyte *) "glXGetFBConfigAttribSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXGetFBConfigAttrib_ptr) | ||||||
|  |     return (*glXGetFBConfigAttrib_ptr)(dpy, config, attribute, value); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_fbconfig) | ||||||
|  |   return glXGetFBConfigAttribSGIX(dpy, config, attribute, value); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | GLXFBConfigSGIX | ||||||
|  | __glut_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis) | ||||||
|  | { | ||||||
|  | #ifdef GLX_ARB_get_proc_address | ||||||
|  |   typedef GLXFBConfigSGIX (*glXGetFBConfigFromVisualSGIX_t)(Display *, | ||||||
|  |                                                             XVisualInfo *); | ||||||
|  |   static glXGetFBConfigFromVisualSGIX_t glXGetFBConfigFromVisual_ptr = NULL; | ||||||
|  |   if (!glXGetFBConfigFromVisual_ptr) { | ||||||
|  |     glXGetFBConfigFromVisual_ptr = (glXGetFBConfigFromVisualSGIX_t) | ||||||
|  |        glXGetProcAddressARB((const GLubyte *) "glXGetFBConfigFromVisualSGIX"); | ||||||
|  |   } | ||||||
|  |   if (glXGetFBConfigFromVisual_ptr) | ||||||
|  |     return (*glXGetFBConfigFromVisual_ptr)(dpy, vis); | ||||||
|  |   else | ||||||
|  |     return 0; | ||||||
|  | #elif defined(GLX_SGIX_fbconfig) | ||||||
|  |   return glXGetFBConfigFromVisualSGIX(dpy, vis); | ||||||
|  | #else | ||||||
|  |   return 0; | ||||||
|  | #endif | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -395,7 +395,7 @@ glutEstablishOverlay(void) | |||||||
|   } |   } | ||||||
| #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig) | #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig) | ||||||
|   if (fbc) { |   if (fbc) { | ||||||
|     window->ctx = glXCreateContextWithConfigSGIX(__glutDisplay, fbc, |     window->ctx = __glut_glXCreateContextWithConfigSGIX(__glutDisplay, fbc, | ||||||
|       GLX_RGBA_TYPE_SGIX, None, __glutTryDirect); |       GLX_RGBA_TYPE_SGIX, None, __glutTryDirect); | ||||||
|   } else |   } else | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -57,7 +57,7 @@ glutVideoResizeGet(GLenum param) | |||||||
|   if (canVideoResize < 0) { |   if (canVideoResize < 0) { | ||||||
|     canVideoResize = __glutIsSupportedByGLX("GLX_SGIX_video_resize"); |     canVideoResize = __glutIsSupportedByGLX("GLX_SGIX_video_resize"); | ||||||
|     if (canVideoResize) { |     if (canVideoResize) { | ||||||
| #if __sgi | #if defined(__sgi) && __sgi | ||||||
|       /* This is a hack because IRIX 6.2, 6.3, and some 6.4 |       /* This is a hack because IRIX 6.2, 6.3, and some 6.4 | ||||||
|          versions were released with GLX_SGIX_video_resize |          versions were released with GLX_SGIX_video_resize | ||||||
|          being advertised by the X server though the video |          being advertised by the X server though the video | ||||||
| @@ -94,7 +94,8 @@ glutVideoResizeGet(GLenum param) | |||||||
|  |  | ||||||
| #if defined(GLX_GLXEXT_PROTOTYPES) | #if defined(GLX_GLXEXT_PROTOTYPES) | ||||||
| #endif | #endif | ||||||
|         glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen, |  | ||||||
|  |         __glut_glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen, | ||||||
|           videoResizeChannel, &dx, &dy, &dw, &dh); |           videoResizeChannel, &dx, &dy, &dw, &dh); | ||||||
|  |  | ||||||
|         /* glXQueryChannelDeltasSGIX is an inherent X server |         /* glXQueryChannelDeltasSGIX is an inherent X server | ||||||
| @@ -138,7 +139,7 @@ glutVideoResizeGet(GLenum param) | |||||||
|     if (videoResizeInUse) { |     if (videoResizeInUse) { | ||||||
|       int x, y, width, height; |       int x, y, width, height; | ||||||
|  |  | ||||||
|       glXQueryChannelRectSGIX(__glutDisplay, __glutScreen, |       __glut_glXQueryChannelRectSGIX(__glutDisplay, __glutScreen, | ||||||
|         videoResizeChannel, &x, &y, &width, &height); |         videoResizeChannel, &x, &y, &width, &height); | ||||||
|       switch (param) { |       switch (param) { | ||||||
|       case GLUT_VIDEO_RESIZE_X: |       case GLUT_VIDEO_RESIZE_X: | ||||||
| @@ -164,7 +165,7 @@ glutSetupVideoResizing(void) | |||||||
| { | { | ||||||
| #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) | #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) | ||||||
|   if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) { |   if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) { | ||||||
|     glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen, |     __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen, | ||||||
|       videoResizeChannel, __glutCurrentWindow->win); |       videoResizeChannel, __glutCurrentWindow->win); | ||||||
|     videoResizeInUse = 1; |     videoResizeInUse = 1; | ||||||
|   } else |   } else | ||||||
| @@ -178,7 +179,7 @@ glutStopVideoResizing(void) | |||||||
| #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) | #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) | ||||||
|   if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) { |   if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) { | ||||||
|     if (videoResizeInUse) { |     if (videoResizeInUse) { | ||||||
|       glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen, |       __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen, | ||||||
|         videoResizeChannel, None); |         videoResizeChannel, None); | ||||||
|       videoResizeInUse = 0; |       videoResizeInUse = 0; | ||||||
|     } |     } | ||||||
| @@ -196,10 +197,10 @@ glutVideoResize(int x, int y, int width, int height) | |||||||
|     /* glXChannelRectSyncSGIX introduced in a patch to IRIX |     /* glXChannelRectSyncSGIX introduced in a patch to IRIX | ||||||
|        6.2; the original unpatched IRIX 6.2 behavior is always |        6.2; the original unpatched IRIX 6.2 behavior is always | ||||||
|        GLX_SYNC_SWAP_SGIX. */ |        GLX_SYNC_SWAP_SGIX. */ | ||||||
|     glXChannelRectSyncSGIX(__glutDisplay, __glutScreen, |     __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen, | ||||||
|       videoResizeChannel, GLX_SYNC_SWAP_SGIX); |       videoResizeChannel, GLX_SYNC_SWAP_SGIX); | ||||||
| #endif | #endif | ||||||
|     glXChannelRectSGIX(__glutDisplay, __glutScreen, |     __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen, | ||||||
|       videoResizeChannel, x, y, width, height); |       videoResizeChannel, x, y, width, height); | ||||||
|   } |   } | ||||||
| #endif | #endif | ||||||
| @@ -218,10 +219,10 @@ glutVideoPan(int x, int y, int width, int height) | |||||||
|        accomplish GLX_SYNC_FRAME_SGIX on IRIX unpatched 6.2; |        accomplish GLX_SYNC_FRAME_SGIX on IRIX unpatched 6.2; | ||||||
|        this means you'd need a glutSwapBuffers to actually |        this means you'd need a glutSwapBuffers to actually | ||||||
|        realize the video resize. */ |        realize the video resize. */ | ||||||
|     glXChannelRectSyncSGIX(__glutDisplay, __glutScreen, |     __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen, | ||||||
|       videoResizeChannel, GLX_SYNC_FRAME_SGIX); |       videoResizeChannel, GLX_SYNC_FRAME_SGIX); | ||||||
| #endif | #endif | ||||||
|     glXChannelRectSGIX(__glutDisplay, __glutScreen, |     __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen, | ||||||
|       videoResizeChannel, x, y, width, height); |       videoResizeChannel, x, y, width, height); | ||||||
|   } |   } | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -577,7 +577,7 @@ __glutCreateWindow(GLUTwindow * parent, | |||||||
|   window->renderWin = window->win; |   window->renderWin = window->win; | ||||||
| #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig) | #if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig) | ||||||
|   if (fbc) { |   if (fbc) { | ||||||
|     window->ctx = glXCreateContextWithConfigSGIX(__glutDisplay, fbc, |     window->ctx = __glut_glXCreateContextWithConfigSGIX(__glutDisplay, fbc, | ||||||
|       GLX_RGBA_TYPE_SGIX, None, __glutTryDirect); |       GLX_RGBA_TYPE_SGIX, None, __glutTryDirect); | ||||||
|   } else |   } else | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -764,6 +764,29 @@ extern void __glutDestroyWindow( | |||||||
| #if !defined(_WIN32) | #if !defined(_WIN32) | ||||||
| /* private routines from glut_glxext.c */ | /* private routines from glut_glxext.c */ | ||||||
| extern int __glutIsSupportedByGLX(char *); | extern int __glutIsSupportedByGLX(char *); | ||||||
|  | extern int __glut_glXBindChannelToWindowSGIX(Display *dpy, int screen, | ||||||
|  |                                              int channel, Window window); | ||||||
|  | extern int __glut_glXChannelRectSGIX(Display *dpy, int screen, int channel, | ||||||
|  |                                      int x, int y, int w, int h); | ||||||
|  | extern int __glut_glXQueryChannelRectSGIX(Display *dpy, int screen, | ||||||
|  |                                           int channel, int *x, int *y, | ||||||
|  |                                           int *w, int *h); | ||||||
|  | extern int __glut_glXQueryChannelDeltasSGIX(Display *dpy, int screen, | ||||||
|  |                                             int channel, int *dx, int *dy, | ||||||
|  |                                             int *dw, int *dh); | ||||||
|  | extern int __glut_glXChannelRectSyncSGIX(Display *dpy, int screen, int channel, | ||||||
|  |                                          GLenum synctype); | ||||||
|  | extern GLXContext __glut_glXCreateContextWithConfigSGIX(Display *dpy, | ||||||
|  |                                                         GLXFBConfigSGIX config, | ||||||
|  |                                                         int render_type, | ||||||
|  |                                                         GLXContext share_list, | ||||||
|  |                                                         Bool direct); | ||||||
|  | extern int __glut_glXGetFBConfigAttribSGIX(Display *dpy, | ||||||
|  |                                            GLXFBConfigSGIX config, | ||||||
|  |                                            int attribute, | ||||||
|  |                                            int *value); | ||||||
|  | extern GLXFBConfigSGIX __glut_glXGetFBConfigFromVisualSGIX(Display *dpy, | ||||||
|  |                                                            XVisualInfo *vis); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /* private routines from glut_input.c */ | /* private routines from glut_input.c */ | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| # $Id: Makefile.X11,v 1.58 2001/09/23 16:11:26 brianp Exp $ | # $Id: Makefile.X11,v 1.58.2.2 2001/12/14 16:33:06 kschultz Exp $ | ||||||
|  |  | ||||||
| # Mesa 3-D graphics library | # Mesa 3-D graphics library | ||||||
| # Version:  4.0 | # Version:  4.0.1 | ||||||
| # Copyright (C) 1995-2001  Brian Paul | # Copyright (C) 1995-2001  Brian Paul | ||||||
|  |  | ||||||
| # Makefile for core library | # Makefile for core library | ||||||
| @@ -200,69 +200,6 @@ OSMESA_OBJECTS = OSmesa/osmesa.o | |||||||
| 	$(CC) -c -I. $(CFLAGS) $< -o $@ | 	$(CC) -c -I. $(CFLAGS) $< -o $@ | ||||||
|  |  | ||||||
|  |  | ||||||
| # UGH! These rules shouldn't be needed but IRIX's make (and others?) needs them |  | ||||||
| X/glxapi.o: X/glxapi.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/fakeglx.o: X/fakeglx.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xfonts.o: X/xfonts.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_api.o: X/xm_api.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_dd.o: X/xm_dd.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_span.o: X/xm_span.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_line.o: X/xm_line.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_tri.o: X/xm_tri.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| SVGA/svgamesa.o: SVGA/svgamesa.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa8.o: SVGA/svgamesa8.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa15.o: SVGA/svgamesa15.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa16.o: SVGA/svgamesa16.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa24.o: SVGA/svgamesa24.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa32.o: SVGA/svgamesa32.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| OSmesa/osmesa.o: OSmesa/osmesa.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| FX/fxapi.o: FX/fxapi.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxclip.o: FX/fxclip.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxdd.o: FX/fxdd.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxddspan.o: FX/fxddspan.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxddtex.o: FX/fxddtex.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxfastpath.o: FX/fxfastpath.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxpipeline.o: FX/fxpipeline.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxrender.o: FX/fxrender.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxsanity.o: FX/fxsanity.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxsetup.o: FX/fxsetup.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxtrifuncs.o: FX/fxtrifuncs.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxtexman.o: FX/fxtexman.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxvsetup.o: FX/fxvsetup.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxglidew.o: FX/fxglidew.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| FX/X86/fx_3dnow_fastpath.o: FX/X86/fx_3dnow_fastpath.S | FX/X86/fx_3dnow_fastpath.o: FX/X86/fx_3dnow_fastpath.S | ||||||
|  |  | ||||||
| X86/x86.o: X86/x86.c | X86/x86.o: X86/x86.c | ||||||
| @@ -279,26 +216,9 @@ X86/matypes.h: mtypes.h tnl/t_context.h X86/gen_matypes.c | |||||||
| 	./X86/gen_matypes > X86/matypes.h | 	./X86/gen_matypes > X86/matypes.h | ||||||
| 	rm -f X86/gen_matypes X86/*.o | 	rm -f X86/gen_matypes X86/*.o | ||||||
|  |  | ||||||
| $(ASM_SOURCES): X86/matypes.h | # We have X86/matypes.h depend on X86/matypes.h so that if ASM_SOURCES | ||||||
|  | # is empty we don't get an invalid Makefile. | ||||||
| GGI/ggimesa.o: GGI/ggimesa.c | $(ASM_SOURCES) X86/matypes.h: X86/matypes.h | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| Trace/tr_2string.o: Trace/tr_2string.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_attrib.o: Trace/tr_attrib.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_context.o: Trace/tr_context.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_control.o: Trace/tr_control.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_error.o: Trace/tr_error.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_print.o: Trace/tr_print.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_wrapper.o: Trace/tr_wrapper.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ##### TARGETS ##### | ##### TARGETS ##### | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_dd_dmatmp.h,v 1.10 2001/04/09 15:41:11 alanh Exp $ */ | /* $Id: t_dd_dmatmp.h,v 1.10.2.2 2001/12/11 15:12:57 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -49,6 +49,7 @@ | |||||||
| #define ELTS_VARS | #define ELTS_VARS | ||||||
| #define ALLOC_ELTS( nr ) | #define ALLOC_ELTS( nr ) | ||||||
| #define EMIT_ELT( offset, elt ) | #define EMIT_ELT( offset, elt ) | ||||||
|  | #define EMIT_TWO_ELTS( offset, elt0, elt1 ) | ||||||
| #define INCR_ELTS( nr ) | #define INCR_ELTS( nr ) | ||||||
| #define ELT_INIT(prim) | #define ELT_INIT(prim) | ||||||
| #define GET_CURRENT_VB_MAX_ELTS() 0 | #define GET_CURRENT_VB_MAX_ELTS() 0 | ||||||
| @@ -310,7 +311,7 @@ static void TAG(render_tri_strip_verts)( GLcontext *ctx, | |||||||
| 	 currentsz = dmasz; | 	 currentsz = dmasz; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       if (flags & PRIM_PARITY) { |       if ((flags & PRIM_PARITY) && count - start > 2) { | ||||||
| 	 if (HAVE_TRI_STRIP_1 && 0) { | 	 if (HAVE_TRI_STRIP_1 && 0) { | ||||||
| 	 } else { | 	 } else { | ||||||
| 	    EMIT_VERTS( ctx, start, 1 ); | 	    EMIT_VERTS( ctx, start, 1 ); | ||||||
| @@ -433,11 +434,6 @@ static void TAG(render_quad_strip_verts)( GLcontext *ctx, | |||||||
| 	 currentsz = dmasz; | 	 currentsz = dmasz; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       if (flags & PRIM_PARITY) { |  | ||||||
| 	    EMIT_VERTS( ctx, start, 1 ); |  | ||||||
| 	    currentsz--; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       dmasz -= (dmasz & 2); |       dmasz -= (dmasz & 2); | ||||||
|       currentsz -= (currentsz & 2); |       currentsz -= (currentsz & 2); | ||||||
|  |  | ||||||
| @@ -485,7 +481,7 @@ static void TAG(render_quad_strip_verts)( GLcontext *ctx, | |||||||
| 	       NEW_PRIMITIVE(); | 	       NEW_PRIMITIVE(); | ||||||
| 	       ALLOC_ELTS_NEW_PRIMITIVE( quads*6 ); | 	       ALLOC_ELTS_NEW_PRIMITIVE( quads*6 ); | ||||||
|  |  | ||||||
| 	       for ( i = 0 ; i < quads*2 ; i+=2 ) { | 	       for ( i = j-start ; i < j-start+quads*2 ; i+=2 ) { | ||||||
| 		  EMIT_TWO_ELTS( 0, (i+0), (i+1) ); | 		  EMIT_TWO_ELTS( 0, (i+0), (i+1) ); | ||||||
| 		  EMIT_TWO_ELTS( 2, (i+2), (i+1) ); | 		  EMIT_TWO_ELTS( 2, (i+2), (i+1) ); | ||||||
| 		  EMIT_TWO_ELTS( 4, (i+3), (i+2) ); | 		  EMIT_TWO_ELTS( 4, (i+3), (i+2) ); | ||||||
| @@ -606,7 +602,7 @@ static void TAG(render_quads_verts)( GLcontext *ctx, | |||||||
| 	    NEW_PRIMITIVE(); | 	    NEW_PRIMITIVE(); | ||||||
| 	    ALLOC_ELTS_NEW_PRIMITIVE( quads*6 ); | 	    ALLOC_ELTS_NEW_PRIMITIVE( quads*6 ); | ||||||
|  |  | ||||||
| 	    for ( i = 0 ; i < quads*4 ; i+=4 ) { | 	    for ( i = j-start ; i < j-start+quads*4 ; i+=4 ) { | ||||||
| 	       EMIT_TWO_ELTS( 0, (i+0), (i+1) ); | 	       EMIT_TWO_ELTS( 0, (i+0), (i+1) ); | ||||||
| 	       EMIT_TWO_ELTS( 2, (i+3), (i+1) ); | 	       EMIT_TWO_ELTS( 2, (i+3), (i+1) ); | ||||||
| 	       EMIT_TWO_ELTS( 4, (i+2), (i+3) ); | 	       EMIT_TWO_ELTS( 4, (i+2), (i+3) ); | ||||||
| @@ -866,7 +862,7 @@ static void TAG(render_tri_strip_elts)( GLcontext *ctx, | |||||||
| 	 currentsz = dmasz; | 	 currentsz = dmasz; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       if (flags & PRIM_PARITY) { |       if ((flags & PRIM_PARITY) && count - start > 2) { | ||||||
| 	 TAG(emit_elts)( ctx, elts+start, 1 ); | 	 TAG(emit_elts)( ctx, elts+start, 1 ); | ||||||
|       } |       } | ||||||
|  |  | ||||||
| @@ -1001,7 +997,7 @@ static void TAG(render_quad_strip_elts)( GLcontext *ctx, | |||||||
| 	       NEW_PRIMITIVE(); | 	       NEW_PRIMITIVE(); | ||||||
| 	       ALLOC_ELTS_NEW_PRIMITIVE( quads*6 ); | 	       ALLOC_ELTS_NEW_PRIMITIVE( quads*6 ); | ||||||
|  |  | ||||||
| 	       for ( i = 0 ; i < quads ; i++, elts += 2 ) { | 	       for ( i = j-start ; i < j-start+quads ; i++, elts += 2 ) { | ||||||
| 		  EMIT_TWO_ELTS( 0, elts[0], elts[1] ); | 		  EMIT_TWO_ELTS( 0, elts[0], elts[1] ); | ||||||
| 		  EMIT_TWO_ELTS( 2, elts[2], elts[1] ); | 		  EMIT_TWO_ELTS( 2, elts[2], elts[1] ); | ||||||
| 		  EMIT_TWO_ELTS( 4, elts[3], elts[2] ); | 		  EMIT_TWO_ELTS( 4, elts[3], elts[2] ); | ||||||
| @@ -1069,7 +1065,7 @@ static void TAG(render_quads_elts)( GLcontext *ctx, | |||||||
| 	    NEW_PRIMITIVE(); | 	    NEW_PRIMITIVE(); | ||||||
| 	    ALLOC_ELTS_NEW_PRIMITIVE( quads * 6 ); | 	    ALLOC_ELTS_NEW_PRIMITIVE( quads * 6 ); | ||||||
|  |  | ||||||
| 	    for ( i = 0 ; i < quads ; i++, elts += 4 ) { | 	    for ( i = j-start ; i < j-start+quads ; i++, elts += 4 ) { | ||||||
| 	       EMIT_TWO_ELTS( 0, elts[0], elts[1] ); | 	       EMIT_TWO_ELTS( 0, elts[0], elts[1] ); | ||||||
| 	       EMIT_TWO_ELTS( 2, elts[3], elts[1] ); | 	       EMIT_TWO_ELTS( 2, elts[3], elts[1] ); | ||||||
| 	       EMIT_TWO_ELTS( 4, elts[2], elts[3] ); | 	       EMIT_TWO_ELTS( 4, elts[2], elts[3] ); | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_dd_vb.c,v 1.15 2001/05/14 09:00:52 keithw Exp $ */ | /* $Id: t_dd_vb.c,v 1.15.2.1 2001/12/13 10:57:41 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -277,7 +277,7 @@ IMPORT_QUALIFIER void TAG(import_float_spec_colors)( GLcontext *ctx ) | |||||||
| #define INTERP_QUALIFIER static | #define INTERP_QUALIFIER static | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #define GET_COLOR(ptr, idx) (((GLfloat (*)[4])((ptr)->Ptr))[idx]) | #define GET_COLOR(ptr, idx) (((GLchan (*)[4])((ptr)->Ptr))[idx]) | ||||||
|  |  | ||||||
|  |  | ||||||
| INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx, | INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx, | ||||||
| @@ -289,13 +289,13 @@ INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx, | |||||||
|    struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb; |    struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb; | ||||||
|  |  | ||||||
|    if (VB->ColorPtr[1]) { |    if (VB->ColorPtr[1]) { | ||||||
|       INTERP_4F( t, |       INTERP_4CHAN( t, | ||||||
| 		    GET_COLOR(VB->ColorPtr[1], dst), | 		    GET_COLOR(VB->ColorPtr[1], dst), | ||||||
| 		    GET_COLOR(VB->ColorPtr[1], out), | 		    GET_COLOR(VB->ColorPtr[1], out), | ||||||
| 		    GET_COLOR(VB->ColorPtr[1], in) ); | 		    GET_COLOR(VB->ColorPtr[1], in) ); | ||||||
|  |  | ||||||
|       if (VB->SecondaryColorPtr[1]) { |       if (VB->SecondaryColorPtr[1]) { | ||||||
| 	 INTERP_3F( t, | 	 INTERP_3CHAN( t, | ||||||
| 		       GET_COLOR(VB->SecondaryColorPtr[1], dst), | 		       GET_COLOR(VB->SecondaryColorPtr[1], dst), | ||||||
| 		       GET_COLOR(VB->SecondaryColorPtr[1], out), | 		       GET_COLOR(VB->SecondaryColorPtr[1], out), | ||||||
| 		       GET_COLOR(VB->SecondaryColorPtr[1], in) ); | 		       GET_COLOR(VB->SecondaryColorPtr[1], in) ); | ||||||
| @@ -316,11 +316,11 @@ INTERP_QUALIFIER void TAG(copy_pv_extras)( GLcontext *ctx, | |||||||
|       struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb; |       struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb; | ||||||
|  |  | ||||||
|    if (VB->ColorPtr[1]) { |    if (VB->ColorPtr[1]) { | ||||||
|       COPY_4FV( GET_COLOR(VB->ColorPtr[1], dst),  |       COPY_CHAN4( GET_COLOR(VB->ColorPtr[1], dst),  | ||||||
| 		  GET_COLOR(VB->ColorPtr[1], src) ); | 		  GET_COLOR(VB->ColorPtr[1], src) ); | ||||||
|  |  | ||||||
|       if (VB->SecondaryColorPtr[1]) { |       if (VB->SecondaryColorPtr[1]) { | ||||||
| 	 COPY_4FV( GET_COLOR(VB->SecondaryColorPtr[1], dst),  | 	 COPY_CHAN4( GET_COLOR(VB->SecondaryColorPtr[1], dst),  | ||||||
| 		     GET_COLOR(VB->SecondaryColorPtr[1], src) ); | 		     GET_COLOR(VB->SecondaryColorPtr[1], src) ); | ||||||
|       } |       } | ||||||
|    } |    } | ||||||
|   | |||||||
| @@ -295,7 +295,7 @@ void GGIread_rgba_pixels(const GLcontext *ctx, | |||||||
| int GGIsetup_driver(GGIMesaContext ggictx, struct ggi_mesa_info *info) | int GGIsetup_driver(GGIMesaContext ggictx, struct ggi_mesa_info *info) | ||||||
| { | { | ||||||
| 	GLcontext *ctx = ggictx->gl_ctx; | 	GLcontext *ctx = ggictx->gl_ctx; | ||||||
|  | #if 0 | ||||||
| 	ctx->Driver.WriteRGBASpan	= GGIwrite_rgba_span; | 	ctx->Driver.WriteRGBASpan	= GGIwrite_rgba_span; | ||||||
| 	ctx->Driver.WriteRGBSpan	= GGIwrite_rgb_span; | 	ctx->Driver.WriteRGBSpan	= GGIwrite_rgb_span; | ||||||
| //	ctx->Driver.WriteMonoRGBASpan	= GGIwrite_mono_span; | //	ctx->Driver.WriteMonoRGBASpan	= GGIwrite_mono_span; | ||||||
| @@ -312,7 +312,7 @@ int GGIsetup_driver(GGIMesaContext ggictx, struct ggi_mesa_info *info) | |||||||
| 	ctx->Driver.ReadRGBASpan = GGIread_rgba_span; | 	ctx->Driver.ReadRGBASpan = GGIread_rgba_span; | ||||||
| 	ctx->Driver.ReadCI32Pixels = GGIread_ci32_pixels; | 	ctx->Driver.ReadCI32Pixels = GGIread_ci32_pixels; | ||||||
| 	ctx->Driver.ReadRGBAPixels = GGIread_rgba_pixels; | 	ctx->Driver.ReadRGBAPixels = GGIread_rgba_pixels; | ||||||
|  | #endif | ||||||
| 	info->red_bits = R; | 	info->red_bits = R; | ||||||
| 	info->green_bits =G; | 	info->green_bits =G; | ||||||
| 	info->blue_bits = B; | 	info->blue_bits = B; | ||||||
|   | |||||||
| @@ -33,6 +33,7 @@ | |||||||
| #include "swrast/s_context.h" | #include "swrast/s_context.h" | ||||||
| #include "swrast/s_depth.h" | #include "swrast/s_depth.h" | ||||||
| #include "swrast/s_triangle.h" | #include "swrast/s_triangle.h" | ||||||
|  | #include "swrast/s_trispan.h" | ||||||
|  |  | ||||||
| /**********************************************************************/ | /**********************************************************************/ | ||||||
| /*****            Write spans of pixels                           *****/ | /*****            Write spans of pixels                           *****/ | ||||||
| @@ -303,7 +304,7 @@ static swrast_tri_func ggimesa_stubs_get_triangle_func(GLcontext *ctx); | |||||||
| int GGIsetup_driver(GGIMesaContext ggictx, struct ggi_mesa_info *info) | int GGIsetup_driver(GGIMesaContext ggictx, struct ggi_mesa_info *info) | ||||||
| { | { | ||||||
| 	GLcontext *ctx = ggictx->gl_ctx; | 	GLcontext *ctx = ggictx->gl_ctx; | ||||||
|  | #if 0 | ||||||
| 	ctx->Driver.WriteRGBASpan	= GGIwrite_rgba_span; | 	ctx->Driver.WriteRGBASpan	= GGIwrite_rgba_span; | ||||||
| 	ctx->Driver.WriteRGBSpan	= GGIwrite_rgb_span; | 	ctx->Driver.WriteRGBSpan	= GGIwrite_rgb_span; | ||||||
| 	ctx->Driver.WriteRGBAPixels     = GGIwrite_rgba_pixels; | 	ctx->Driver.WriteRGBAPixels     = GGIwrite_rgba_pixels; | ||||||
| @@ -316,13 +317,15 @@ int GGIsetup_driver(GGIMesaContext ggictx, struct ggi_mesa_info *info) | |||||||
| 	ctx->Driver.ReadRGBASpan	= GGIread_rgba_span; | 	ctx->Driver.ReadRGBASpan	= GGIread_rgba_span; | ||||||
| 	ctx->Driver.ReadCI32Pixels	= GGIread_ci32_pixels; | 	ctx->Driver.ReadCI32Pixels	= GGIread_ci32_pixels; | ||||||
| 	ctx->Driver.ReadRGBAPixels	= GGIread_rgba_pixels; | 	ctx->Driver.ReadRGBAPixels	= GGIread_rgba_pixels; | ||||||
| 	 | #endif | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| void GGIupdate_state(GLcontext *ctx) | void GGIupdate_state(GLcontext *ctx) | ||||||
| { | { | ||||||
|  | #if 0 | ||||||
| 	ctx->Driver.TriangleFunc = _swsetup_Triangle; | 	ctx->Driver.TriangleFunc = _swsetup_Triangle; | ||||||
|  | #endif | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -224,6 +224,7 @@ static void gl_ggiSetupPointers(GLcontext *ctx) | |||||||
| 	ctx->Driver.ColorMask = gl_ggiColorMask; | 	ctx->Driver.ColorMask = gl_ggiColorMask; | ||||||
| 	ctx->Driver.Enable = gl_ggiEnable; | 	ctx->Driver.Enable = gl_ggiEnable; | ||||||
| 	 | 	 | ||||||
|  | #if 0 | ||||||
| 	ctx->Driver.SetDrawBuffer = gl_ggiSetDrawBuffer; | 	ctx->Driver.SetDrawBuffer = gl_ggiSetDrawBuffer; | ||||||
| 	ctx->Driver.SetReadBuffer = gl_ggiSetReadBuffer; | 	ctx->Driver.SetReadBuffer = gl_ggiSetReadBuffer; | ||||||
| 	 | 	 | ||||||
| @@ -239,7 +240,7 @@ static void gl_ggiSetupPointers(GLcontext *ctx) | |||||||
| 	ctx->Driver.LineFunc = _swsetup_Line; | 	ctx->Driver.LineFunc = _swsetup_Line; | ||||||
| 	ctx->Driver.TriangleFunc = _swsetup_Triangle; | 	ctx->Driver.TriangleFunc = _swsetup_Triangle; | ||||||
| 	ctx->Driver.QuadFunc = _swsetup_Quad; | 	ctx->Driver.QuadFunc = _swsetup_Quad; | ||||||
| 	 | #endif | ||||||
| } | } | ||||||
|  |  | ||||||
| static int gl_ggiInitInfo(GGIMesaContext ctx, struct ggi_mesa_info *info) | static int gl_ggiInitInfo(GGIMesaContext ctx, struct ggi_mesa_info *info) | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: fxddtex.c,v 1.45 2001/09/23 16:50:01 brianp Exp $ */ | /* $Id: fxddtex.c,v 1.45.2.1 2001/11/06 16:00:58 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -327,7 +327,7 @@ fxDDTexDel(GLcontext * ctx, struct gl_texture_object *tObj) | |||||||
|    tfxTexInfo *ti = fxTMGetTexInfo(tObj); |    tfxTexInfo *ti = fxTMGetTexInfo(tObj); | ||||||
|  |  | ||||||
|    if (MESA_VERBOSE & VERBOSE_DRIVER) { |    if (MESA_VERBOSE & VERBOSE_DRIVER) { | ||||||
|       fprintf(stderr, "fxmesa: fxDDTexDel(%d,%p)\n", tObj->Name, ti); |       fprintf(stderr, "fxmesa: fxDDTexDel(%d,%p)\n", tObj->Name, (void *) ti); | ||||||
|    } |    } | ||||||
|  |  | ||||||
|    if (!ti) |    if (!ti) | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: fxtris.c,v 1.17 2001/09/23 16:50:01 brianp Exp $ */ | /* $Id: fxtris.c,v 1.17.2.1 2001/11/06 16:00:58 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -214,7 +214,7 @@ fx_fallback_point( fxMesaContext fxMesa, | |||||||
|  |  | ||||||
| static void fx_print_vertex( GLcontext *ctx, const GrVertex *v ) | static void fx_print_vertex( GLcontext *ctx, const GrVertex *v ) | ||||||
| { | { | ||||||
|    fprintf(stderr, "vertex at %p\n", v); |    fprintf(stderr, "vertex at %p\n", (void *) v); | ||||||
|  |  | ||||||
|    fprintf(stderr, "x %f y %f z %f oow %f\n",  |    fprintf(stderr, "x %f y %f z %f oow %f\n",  | ||||||
| 	   v->x, v->y, v->ooz, v->oow); | 	   v->x, v->y, v->ooz, v->oow); | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| DESCRIPTION 'Mesa OSMesa lib for Win32' | DESCRIPTION 'Mesa OSMesa lib for Win32' | ||||||
| VERSION 3.5 | VERSION 4.0 | ||||||
|  |  | ||||||
| EXPORTS | EXPORTS | ||||||
| 	OSMesaCreateContext | 	OSMesaCreateContext | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: wmesa.c,v 1.22 2001/10/05 15:47:28 kschultz Exp $ */ | /* $Id: wmesa.c,v 1.22.2.1 2001/11/01 22:52:18 kschultz Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Windows (Win32) device driver for Mesa 3.4 |  * Windows (Win32) device driver for Mesa 3.4 | ||||||
| @@ -19,7 +19,11 @@ | |||||||
|  * Updated for Mesa 4.0 by Karl Schultz (kschultz@sourceforge.net) |  * Updated for Mesa 4.0 by Karl Schultz (kschultz@sourceforge.net) | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  | #ifdef NDEBUG | ||||||
|  | #pragma auto_inline(on) | ||||||
|  | #pragma inline_depth(255) | ||||||
|  | #pragma inline_recursion(on) | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #include "wmesadef.h" | #include "wmesadef.h" | ||||||
| #include <GL/wmesa.h> | #include <GL/wmesa.h> | ||||||
| @@ -53,7 +57,9 @@ | |||||||
|  |  | ||||||
| /* Dither not tested for Mesa 4.0 */  | /* Dither not tested for Mesa 4.0 */  | ||||||
| #ifdef DITHER | #ifdef DITHER | ||||||
|  | #ifdef USE_WING | ||||||
| #include <wing.h> | #include <wing.h> | ||||||
|  | #endif // USE_WING | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef __CYGWIN32__ | #ifdef __CYGWIN32__ | ||||||
| @@ -72,8 +78,15 @@ | |||||||
| #include "parallel.h" | #include "parallel.h" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
| /* File global varaibles */ | /* File global varaibles */ | ||||||
| struct DISPLAY_OPTIONS displayOptions; | struct DISPLAY_OPTIONS displayOptions =  | ||||||
|  | { | ||||||
|  | 	0,		// stereo | ||||||
|  | 	0,		// fullScreen | ||||||
|  | 	0,		// full screen mode (1,2,3,4) | ||||||
|  | 	0		// bpp (8,16,24,32) | ||||||
|  | }; | ||||||
| GLenum stereoCompile = GL_FALSE ; | GLenum stereoCompile = GL_FALSE ; | ||||||
| GLenum stereoShowing  = GL_FALSE ; | GLenum stereoShowing  = GL_FALSE ; | ||||||
| GLenum stereoBuffer = GL_FALSE; | GLenum stereoBuffer = GL_FALSE; | ||||||
| @@ -85,6 +98,17 @@ GLint stereo_flag = 0 ; | |||||||
| static PWMC Current = NULL; | static PWMC Current = NULL; | ||||||
| WMesaContext WC = NULL; | WMesaContext WC = NULL; | ||||||
|  |  | ||||||
|  | #ifdef COMPILE_SETPIXEL | ||||||
|  |  | ||||||
|  | __forceinline void wmSetPixel(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
|  | { | ||||||
|  | 	pwc->wmSetPixel(pwc,iScanLine,iPixel,r,g,b); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void ChooseSetPixel(PWMC pwc); | ||||||
|  |  | ||||||
|  | #endif // COMPILE_SETPIXEL | ||||||
|  |  | ||||||
| /* If we are double-buffering, we want to get the DC for the | /* If we are double-buffering, we want to get the DC for the | ||||||
|  * off-screen DIB, otherwise the DC for the window. |  * off-screen DIB, otherwise the DC for the window. | ||||||
|  */ |  */ | ||||||
| @@ -112,13 +136,18 @@ GLubyte pixelDithered; | |||||||
|     pixelDithered = aWinGHalftoneTranslation[paletteindex];          \ |     pixelDithered = aWinGHalftoneTranslation[paletteindex];          \ | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| #ifdef DDRAW | #ifdef DDRAW | ||||||
| static BOOL DDInit( WMesaContext wc, HWND hwnd); | static BOOL DDInit( WMesaContext wc, HWND hwnd); | ||||||
| static void DDFree( WMesaContext wc); | static void DDFree( WMesaContext wc); | ||||||
| static HRESULT DDRestoreAll( WMesaContext wc ); | static HRESULT DDRestoreAll( WMesaContext wc ); | ||||||
| static void DDDeleteOffScreen(WMesaContext wc); | static void DDDeleteOffScreen(WMesaContext wc); | ||||||
| static BOOL DDCreateOffScreen(WMesaContext wc); | static BOOL DDCreateOffScreen(WMesaContext wc); | ||||||
|  |  | ||||||
|  | // define this to use the GDI Rectangle call to | ||||||
|  | // clear the back buffer. Otherwise will manually | ||||||
|  | // set the pixels. On an NVidia GEForce 2MX under Windows XP | ||||||
|  | // and DirectX 8 , defining this makes apps run much much faster | ||||||
|  | #define USE_GDI_TO_CLEAR 1 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| static void FlushToFile(PWMC pwc, PSTR  szFile); | static void FlushToFile(PWMC pwc, PSTR  szFile); | ||||||
| @@ -208,8 +237,10 @@ BOOL wmDeleteBackingStore(PWMC pwc) | |||||||
|   SelectObject(pwc->dib.hDC, pwc->hOldBitmap); |   SelectObject(pwc->dib.hDC, pwc->hOldBitmap); | ||||||
|   DeleteDC(pwc->dib.hDC); |   DeleteDC(pwc->dib.hDC); | ||||||
|   DeleteObject(pwc->hbmDIB); |   DeleteObject(pwc->hbmDIB); | ||||||
|  | #ifdef USE_MAPPED_FILE | ||||||
|   UnmapViewOfFile(pwc->dib.base); |   UnmapViewOfFile(pwc->dib.base); | ||||||
|   CloseHandle(pwc->dib.hFileMap); |   CloseHandle(pwc->dib.hFileMap); | ||||||
|  | #endif | ||||||
|   return TRUE; |   return TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -254,7 +285,8 @@ BOOL wmCreateBackingStore(PWMC pwc, long lxSize, long lySize) | |||||||
|   return TRUE; |   return TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #if 0 | ||||||
|  | // D.R.S. 10/30/01 - this function is never referenced | ||||||
| /* | /* | ||||||
|  * This function copies one scan line in a DIB section to another |  * This function copies one scan line in a DIB section to another | ||||||
|  */ |  */ | ||||||
| @@ -282,8 +314,9 @@ BOOL wmSetDIBits(PWMC pwc, UINT uiScanWidth, UINT uiNumScans, | |||||||
|   } |   } | ||||||
|   return TRUE; |   return TRUE; | ||||||
| } | } | ||||||
|  | #endif // 0 | ||||||
|  |  | ||||||
|  | #if defined(FAST_RASTERIZERS) | ||||||
|  |  | ||||||
| #define PIXELADDR(X,Y)  \ | #define PIXELADDR(X,Y)  \ | ||||||
|   ((GLubyte *)Current->pbPixels + (Current->height-Y-1)* \ |   ((GLubyte *)Current->pbPixels + (Current->height-Y-1)* \ | ||||||
| @@ -295,6 +328,7 @@ BOOL wmSetDIBits(PWMC pwc, UINT uiScanWidth, UINT uiNumScans, | |||||||
| #define PIXELADDR4( X, Y )  \ | #define PIXELADDR4( X, Y )  \ | ||||||
| ((GLubyte *)wmesa->pbPixels + (wmesa->height-Y-1)* wmesa->ScanWidth + (X)*4) | ((GLubyte *)wmesa->pbPixels + (wmesa->height-Y-1)* wmesa->ScanWidth + (X)*4) | ||||||
|  |  | ||||||
|  | #endif // 0 | ||||||
|  |  | ||||||
| BYTE DITHER_RGB_2_8BIT( int r, int g, int b, int x, int y); | BYTE DITHER_RGB_2_8BIT( int r, int g, int b, int x, int y); | ||||||
|  |  | ||||||
| @@ -351,13 +385,6 @@ static void clear_color( GLcontext* ctx, const GLchan color[4] ) | |||||||
| static clear(GLcontext* ctx, GLbitfield mask, | static clear(GLcontext* ctx, GLbitfield mask, | ||||||
| 	     GLboolean all, GLint x, GLint y, GLint width, GLint height) | 	     GLboolean all, GLint x, GLint y, GLint width, GLint height) | ||||||
| { | { | ||||||
|   DWORD   dwColor; |  | ||||||
|   WORD    wColor; |  | ||||||
|   BYTE    bColor; |  | ||||||
|   LPDWORD lpdw = (LPDWORD)Current->pbPixels; |  | ||||||
|   LPWORD  lpw = (LPWORD)Current->pbPixels; |  | ||||||
|   LPBYTE  lpb = Current->pbPixels; |  | ||||||
|   int     lines; |  | ||||||
|   const   GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask; |   const   GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask; | ||||||
|    |    | ||||||
|   if (all){ |   if (all){ | ||||||
| @@ -372,6 +399,50 @@ static clear(GLcontext* ctx, GLbitfield mask, | |||||||
|    |    | ||||||
|   if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) { |   if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) { | ||||||
|       if (mask & DD_BACK_LEFT_BIT) { |       if (mask & DD_BACK_LEFT_BIT) { | ||||||
|  | #if defined(USE_GDI_TO_CLEAR) | ||||||
|  | #if defined(DDRAW) | ||||||
|  | 	// D.R.S. 10/29/01 on my system (Pentium 4 with nvidia GeForce2 MX card,  | ||||||
|  | 	// this is almose 100 times faster that the code below | ||||||
|  | 	HDC DC=NULL; | ||||||
|  | 	HPEN Pen=CreatePen(PS_SOLID,1,Current->clearpixel); | ||||||
|  | 	HBRUSH Brush=CreateSolidBrush(Current->clearpixel); | ||||||
|  | 	HPEN Old_Pen=NULL; | ||||||
|  | 	HBRUSH Old_Brush=NULL; | ||||||
|  | 	Current->lpDDSOffScreen->lpVtbl->Unlock(Current->lpDDSOffScreen,NULL); | ||||||
|  | 	Current->lpDDSOffScreen->lpVtbl->GetDC(Current->lpDDSOffScreen,&DC); | ||||||
|  | 	Old_Pen=SelectObject(DC,Pen); | ||||||
|  | 	Old_Brush=SelectObject(DC,Brush); | ||||||
|  | 	Rectangle(DC,x,y,x+width,y+height); | ||||||
|  | 	SelectObject(DC,Old_Pen); | ||||||
|  | 	SelectObject(DC,Old_Brush); | ||||||
|  | 	DeleteObject(Pen); | ||||||
|  | 	DeleteObject(Brush); | ||||||
|  | 	Current->lpDDSOffScreen->lpVtbl->ReleaseDC(Current->lpDDSOffScreen,DC); | ||||||
|  | 	while (Current->lpDDSOffScreen->lpVtbl->Lock(Current->lpDDSOffScreen,NULL, &(Current->ddsd), 0, NULL) == DDERR_WASSTILLDRAWING); | ||||||
|  | 	  mask &= ~DD_BACK_LEFT_BIT; | ||||||
|  | #else | ||||||
|  | 	  /* single-buffer */ | ||||||
|  | 	  HDC DC=DD_GETDC; | ||||||
|  | 	  HPEN Pen=CreatePen(PS_SOLID,1,Current->clearpixel); | ||||||
|  | 	  HBRUSH Brush=CreateSolidBrush(Current->clearpixel); | ||||||
|  | 	  HPEN Old_Pen=SelectObject(DC,Pen); | ||||||
|  | 	  HBRUSH Old_Brush=SelectObject(DC,Brush); | ||||||
|  | 	  Rectangle(DC,x+Current->rectSurface.left,Current->rectSurface.top+y,x+width+Current->rectSurface.left,y+height+Current->rectSurface.top); | ||||||
|  | 	  SelectObject(DC,Old_Pen); | ||||||
|  | 	  SelectObject(DC,Old_Brush); | ||||||
|  | 	  DeleteObject(Pen); | ||||||
|  | 	  DeleteObject(Brush); | ||||||
|  | 	  DD_RELEASEDC; | ||||||
|  | 	  mask &= ~DD_BACK_LEFT_BIT; | ||||||
|  | #endif // DDRAW | ||||||
|  | #else | ||||||
|  | 	  DWORD   dwColor; | ||||||
|  | 	  WORD    wColor; | ||||||
|  | 	  BYTE    bColor; | ||||||
|  | 	  LPDWORD lpdw = (LPDWORD)Current->pbPixels; | ||||||
|  | 	  LPWORD  lpw = (LPWORD)Current->pbPixels; | ||||||
|  | 	  LPBYTE  lpb = Current->pbPixels; | ||||||
|  | 	  int     lines; | ||||||
| 	  /* Double-buffering - clear back buffer */ | 	  /* Double-buffering - clear back buffer */ | ||||||
| 	  UINT    nBypp = Current->cColorBits / 8; | 	  UINT    nBypp = Current->cColorBits / 8; | ||||||
| 	  int     i = 0; | 	  int     i = 0; | ||||||
| @@ -434,6 +505,7 @@ static clear(GLcontext* ctx, GLbitfield mask, | |||||||
| 	  } | 	  } | ||||||
| 	  while (i<lines-1); | 	  while (i<lines-1); | ||||||
| 	  mask &= ~DD_BACK_LEFT_BIT; | 	  mask &= ~DD_BACK_LEFT_BIT; | ||||||
|  | #endif // defined(USE_GDI_TO_CLEAR) | ||||||
|       } /* double-buffer */ |       } /* double-buffer */ | ||||||
|        |        | ||||||
|       if (mask & DD_FRONT_LEFT_BIT) { |       if (mask & DD_FRONT_LEFT_BIT) { | ||||||
| @@ -443,7 +515,7 @@ static clear(GLcontext* ctx, GLbitfield mask, | |||||||
| 	  HBRUSH Brush=CreateSolidBrush(Current->clearpixel); | 	  HBRUSH Brush=CreateSolidBrush(Current->clearpixel); | ||||||
| 	  HPEN Old_Pen=SelectObject(DC,Pen); | 	  HPEN Old_Pen=SelectObject(DC,Pen); | ||||||
| 	  HBRUSH Old_Brush=SelectObject(DC,Brush); | 	  HBRUSH Old_Brush=SelectObject(DC,Brush); | ||||||
| 	  Rectangle(DC,x,y,x+width,y+height); | 	  Rectangle(DC,x+Current->rectSurface.left,Current->rectSurface.top+y,x+width+Current->rectSurface.left,y+height+Current->rectSurface.top); | ||||||
| 	  SelectObject(DC,Old_Pen); | 	  SelectObject(DC,Old_Pen); | ||||||
| 	  SelectObject(DC,Old_Brush); | 	  SelectObject(DC,Old_Brush); | ||||||
| 	  DeleteObject(Pen); | 	  DeleteObject(Pen); | ||||||
| @@ -733,23 +805,25 @@ static void write_mono_rgba_span( const GLcontext* ctx, | |||||||
|                                   GLuint n, GLint x, GLint y, |                                   GLuint n, GLint x, GLint y, | ||||||
|                                   const GLchan color[4], const GLubyte mask[]) |                                   const GLchan color[4], const GLubyte mask[]) | ||||||
| { | { | ||||||
|   ULONG pixel =  RGB( color[RCOMP], color[GCOMP], color[BCOMP] ); |  | ||||||
|   GLuint i; |   GLuint i; | ||||||
|   HDC DC=DD_GETDC; |  | ||||||
|   PWMC pwc = Current; |   PWMC pwc = Current; | ||||||
|   assert(Current->rgb_flag==GL_TRUE); |   assert(Current->rgb_flag==GL_TRUE); | ||||||
|   y=FLIP(y); |   y=FLIP(y); | ||||||
|   if(Current->rgb_flag==GL_TRUE){ |   if(Current->rgb_flag==GL_TRUE) | ||||||
|  |   { | ||||||
| 	for (i=0; i<n; i++) | 	for (i=0; i<n; i++) | ||||||
| 		if (mask[i]) | 		if (mask[i]) | ||||||
| 			wmSetPixel(pwc,y,x+i,color[RCOMP], color[GCOMP], color[BCOMP]); | 			wmSetPixel(pwc,y,x+i,color[RCOMP], color[GCOMP], color[BCOMP]); | ||||||
|   } |   } | ||||||
|   else { |   else | ||||||
|  |   { | ||||||
|  | 	HDC DC=DD_GETDC; | ||||||
|  |     ULONG pixel =  RGB( color[RCOMP], color[GCOMP], color[BCOMP] ); | ||||||
|     for (i=0; i<n; i++) |     for (i=0; i<n; i++) | ||||||
|       if (mask[i]) |       if (mask[i]) | ||||||
| 		SetPixel(DC, y, x+i, pixel); | 		SetPixel(DC, y, x+i, pixel); | ||||||
|   } |  | ||||||
| 	  DD_RELEASEDC; | 	  DD_RELEASEDC; | ||||||
|  |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -932,18 +1006,11 @@ static const GLubyte *get_string(GLcontext *ctx, GLenum name) | |||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| static void wmesa_update_state( GLcontext *ctx, GLuint new_state ) | static void wmesa_update_state( GLcontext *ctx, GLuint new_state ); | ||||||
|  |  | ||||||
|  | static void SetFunctionPointers(GLcontext *ctx) | ||||||
| { | { | ||||||
|   struct swrast_device_driver *swdd = _swrast_GetDeviceDriverReference( ctx ); |   struct swrast_device_driver *swdd = _swrast_GetDeviceDriverReference( ctx ); | ||||||
|   TNLcontext *tnl = TNL_CONTEXT(ctx); |  | ||||||
|    |  | ||||||
|   /* |  | ||||||
|    * XXX these function pointers could be initialized just once during |  | ||||||
|    * context creation since they don't depend on any state changes. |  | ||||||
|    * kws - This is true - this function gets called a lot and it |  | ||||||
|    * would be good to minimize setting all this when not needed. |  | ||||||
|    */ |  | ||||||
|    |  | ||||||
|   ctx->Driver.GetString = get_string; |   ctx->Driver.GetString = get_string; | ||||||
|   ctx->Driver.UpdateState = wmesa_update_state; |   ctx->Driver.UpdateState = wmesa_update_state; | ||||||
|   ctx->Driver.SetDrawBuffer = set_draw_buffer; |   ctx->Driver.SetDrawBuffer = set_draw_buffer; | ||||||
| @@ -1007,7 +1074,86 @@ static void wmesa_update_state( GLcontext *ctx, GLuint new_state ) | |||||||
|   swdd->ReadCI32Pixels      = read_ci32_pixels; |   swdd->ReadCI32Pixels      = read_ci32_pixels; | ||||||
|   swdd->ReadRGBAPixels      = read_rgba_pixels; |   swdd->ReadRGBAPixels      = read_rgba_pixels; | ||||||
|   |   | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static void wmesa_update_state( GLcontext *ctx, GLuint new_state ) | ||||||
|  | { | ||||||
|  |   struct swrast_device_driver *swdd = _swrast_GetDeviceDriverReference( ctx ); | ||||||
|  |   TNLcontext *tnl = TNL_CONTEXT(ctx); | ||||||
|  |    | ||||||
|  |   /* | ||||||
|  |    * XXX these function pointers could be initialized just once during | ||||||
|  |    * context creation since they don't depend on any state changes. | ||||||
|  |    * kws - This is true - this function gets called a lot and it | ||||||
|  |    * would be good to minimize setting all this when not needed. | ||||||
|  |    */ | ||||||
|  | #ifndef SET_FPOINTERS_ONCE   | ||||||
|  |   SetFunctionPointers(ctx); | ||||||
|  | #if 0 | ||||||
|  |   ctx->Driver.GetString = get_string; | ||||||
|  |   ctx->Driver.UpdateState = wmesa_update_state; | ||||||
|  |   ctx->Driver.SetDrawBuffer = set_draw_buffer; | ||||||
|  |   ctx->Driver.ResizeBuffersMESA = _swrast_alloc_buffers; | ||||||
|  |   ctx->Driver.GetBufferSize = buffer_size; | ||||||
|  |    | ||||||
|  |   ctx->Driver.Accum = _swrast_Accum; | ||||||
|  |   ctx->Driver.Bitmap = _swrast_Bitmap; | ||||||
|  |   ctx->Driver.Clear = clear; | ||||||
|  |    | ||||||
|  |   ctx->Driver.Flush = flush; | ||||||
|  |   ctx->Driver.ClearIndex = clear_index; | ||||||
|  |   ctx->Driver.ClearColor = clear_color; | ||||||
|  |   ctx->Driver.Enable = enable; | ||||||
|  |    | ||||||
|  |   ctx->Driver.CopyPixels = _swrast_CopyPixels; | ||||||
|  |   ctx->Driver.DrawPixels = _swrast_DrawPixels; | ||||||
|  |   ctx->Driver.ReadPixels = _swrast_ReadPixels; | ||||||
|  |    | ||||||
|  |   ctx->Driver.ChooseTextureFormat = _mesa_choose_tex_format; | ||||||
|  |   ctx->Driver.TexImage1D = _mesa_store_teximage1d; | ||||||
|  |   ctx->Driver.TexImage2D = _mesa_store_teximage2d; | ||||||
|  |   ctx->Driver.TexImage3D = _mesa_store_teximage3d; | ||||||
|  |   ctx->Driver.TexSubImage1D = _mesa_store_texsubimage1d; | ||||||
|  |   ctx->Driver.TexSubImage2D = _mesa_store_texsubimage2d; | ||||||
|  |   ctx->Driver.TexSubImage3D = _mesa_store_texsubimage3d; | ||||||
|  |   ctx->Driver.TestProxyTexImage = _mesa_test_proxy_teximage; | ||||||
|  |    | ||||||
|  |   ctx->Driver.CopyTexImage1D = _swrast_copy_teximage1d; | ||||||
|  |   ctx->Driver.CopyTexImage2D = _swrast_copy_teximage2d; | ||||||
|  |   ctx->Driver.CopyTexSubImage1D = _swrast_copy_texsubimage1d; | ||||||
|  |   ctx->Driver.CopyTexSubImage2D = _swrast_copy_texsubimage2d; | ||||||
|  |   ctx->Driver.CopyTexSubImage3D = _swrast_copy_texsubimage3d; | ||||||
|  |   ctx->Driver.CopyColorTable = _swrast_CopyColorTable; | ||||||
|  |   ctx->Driver.CopyColorSubTable = _swrast_CopyColorSubTable; | ||||||
|  |   ctx->Driver.CopyConvolutionFilter1D = _swrast_CopyConvolutionFilter1D; | ||||||
|  |   ctx->Driver.CopyConvolutionFilter2D = _swrast_CopyConvolutionFilter2D; | ||||||
|  |    | ||||||
|  |   ctx->Driver.BaseCompressedTexFormat = _mesa_base_compressed_texformat; | ||||||
|  |   ctx->Driver.CompressedTextureSize = _mesa_compressed_texture_size; | ||||||
|  |   ctx->Driver.GetCompressedTexImage = _mesa_get_compressed_teximage; | ||||||
|  |    | ||||||
|  |    | ||||||
|  |   swdd->SetReadBuffer = set_read_buffer; | ||||||
|  |    | ||||||
|  |    | ||||||
|  |   /* Pixel/span writing functions: */ | ||||||
|  |   swdd->WriteRGBASpan        = write_rgba_span; | ||||||
|  |   swdd->WriteRGBSpan         = write_rgb_span; | ||||||
|  |   swdd->WriteMonoRGBASpan    = write_mono_rgba_span; | ||||||
|  |   swdd->WriteRGBAPixels      = write_rgba_pixels; | ||||||
|  |   swdd->WriteMonoRGBAPixels  = write_mono_rgba_pixels; | ||||||
|  |   swdd->WriteCI32Span        = write_ci32_span; | ||||||
|  |   swdd->WriteCI8Span         = write_ci8_span; | ||||||
|  |   swdd->WriteMonoCISpan      = write_mono_ci_span; | ||||||
|  |   swdd->WriteCI32Pixels      = write_ci32_pixels; | ||||||
|  |   swdd->WriteMonoCIPixels    = write_mono_ci_pixels; | ||||||
|  |    | ||||||
|  |   swdd->ReadCI32Span        = read_ci32_span; | ||||||
|  |   swdd->ReadRGBASpan        = read_rgba_span; | ||||||
|  |   swdd->ReadCI32Pixels      = read_ci32_pixels; | ||||||
|  |   swdd->ReadRGBAPixels      = read_rgba_pixels; | ||||||
|  | #endif // 0   | ||||||
|  | #endif //  !SET_FPOINTERS_ONCE   | ||||||
|   tnl->Driver.RunPipeline = _tnl_run_pipeline; |   tnl->Driver.RunPipeline = _tnl_run_pipeline; | ||||||
|    |    | ||||||
|   _swrast_InvalidateState( ctx, new_state ); |   _swrast_InvalidateState( ctx, new_state ); | ||||||
| @@ -1106,7 +1252,11 @@ WMesaContext WMesaCreateContext( HWND hWnd, HPALETTE* Pal, | |||||||
| #ifdef DITHER | #ifdef DITHER | ||||||
|   if ((true_color_flag==GL_FALSE) && (rgb_flag == GL_TRUE)){ |   if ((true_color_flag==GL_FALSE) && (rgb_flag == GL_TRUE)){ | ||||||
|     c->dither_flag = GL_TRUE; |     c->dither_flag = GL_TRUE; | ||||||
|  | #ifdef USE_WING | ||||||
|     c->hPalHalfTone = WinGCreateHalftonePalette(); |     c->hPalHalfTone = WinGCreateHalftonePalette(); | ||||||
|  | #else | ||||||
|  | 	c->hPalHalfTone = CreateHalftonePalette(c->hDC); | ||||||
|  | #endif | ||||||
|   } |   } | ||||||
|   else |   else | ||||||
|     c->dither_flag = GL_FALSE; |     c->dither_flag = GL_FALSE; | ||||||
| @@ -1209,14 +1359,19 @@ WMesaContext WMesaCreateContext( HWND hWnd, HPALETTE* Pal, | |||||||
|    */ |    */ | ||||||
|   { |   { | ||||||
|     GLcontext *ctx = c->gl_ctx; |     GLcontext *ctx = c->gl_ctx; | ||||||
|      |  | ||||||
|     _swrast_CreateContext( ctx ); |     _swrast_CreateContext( ctx ); | ||||||
|     _ac_CreateContext( ctx ); |     _ac_CreateContext( ctx ); | ||||||
|     _tnl_CreateContext( ctx ); |     _tnl_CreateContext( ctx ); | ||||||
|     _swsetup_CreateContext( ctx ); |     _swsetup_CreateContext( ctx ); | ||||||
|      |      | ||||||
|  | #ifdef SET_FPOINTERS_ONCE | ||||||
|  |     SetFunctionPointers(ctx); | ||||||
|  | #endif // SET_FPOINTERS_ONCE | ||||||
|     _swsetup_Wakeup( ctx ); |     _swsetup_Wakeup( ctx ); | ||||||
|   } |   } | ||||||
|  | #ifdef COMPILE_SETPIXEL | ||||||
|  |   ChooseSetPixel(c); | ||||||
|  | #endif | ||||||
|   return c; |   return c; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1296,7 +1451,9 @@ void WMesaSwapBuffers( void ) | |||||||
|  |  | ||||||
| void WMesaPaletteChange(HPALETTE Pal) | void WMesaPaletteChange(HPALETTE Pal) | ||||||
| { | { | ||||||
|  | #ifndef DDRAW | ||||||
|   int vRet; |   int vRet; | ||||||
|  | #endif | ||||||
|   LPPALETTEENTRY pPal; |   LPPALETTEENTRY pPal; | ||||||
|   if (Current && (Current->rgb_flag==GL_FALSE ||  |   if (Current && (Current->rgb_flag==GL_FALSE ||  | ||||||
| 		  Current->dither_flag == GL_TRUE)) | 		  Current->dither_flag == GL_TRUE)) | ||||||
| @@ -1407,17 +1564,43 @@ void wmCreatePalette( PWMC pwdc ) | |||||||
|    |    | ||||||
| } | } | ||||||
|  |  | ||||||
| void wmSetPixel(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) |  | ||||||
|  | void  | ||||||
|  | #ifdef COMPILE_SETPIXEL | ||||||
|  |  | ||||||
|  | wmSetPixelDefault(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
| { | { | ||||||
|   if (Current->db_flag) { | 	if (Current->db_flag) | ||||||
|  | 	{ | ||||||
|  | #ifdef DDRAW | ||||||
|  | 		HDC hdc = NULL; | ||||||
|  | 		Current->lpDDSOffScreen->lpVtbl->Unlock(Current->lpDDSOffScreen,NULL); | ||||||
|  | 		Current->lpDDSOffScreen->lpVtbl->GetDC(Current->lpDDSOffScreen,&hdc); | ||||||
|  | 		SetPixelV(hdc,iPixel, iScanLine, RGB(r,g,b)); | ||||||
|  | 		Current->lpDDSOffScreen->lpVtbl->ReleaseDC(Current->lpDDSOffScreen,hdc); | ||||||
|  | 		while (Current->lpDDSOffScreen->lpVtbl->Lock(Current->lpDDSOffScreen,NULL, &(Current->ddsd), 0, NULL) == DDERR_WASSTILLDRAWING); | ||||||
|  | #else | ||||||
|  | 		SetPixelV(Current->hDC, iPixel, iScanLine, RGB(r,g,b)); | ||||||
|  | #endif | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		SetPixelV(Current->hDC, iPixel+pwc->rectSurface.left, pwc->rectSurface.top+iScanLine, RGB(r,g,b)); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | #else | ||||||
|  | wmSetPixel(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
|  | { | ||||||
|  | 	if (Current->db_flag) | ||||||
|  | 	{ | ||||||
| 		LPBYTE  lpb = pwc->pbPixels; | 		LPBYTE  lpb = pwc->pbPixels; | ||||||
| 		UINT    nBypp = pwc->cColorBits >> 3; | 		UINT    nBypp = pwc->cColorBits >> 3; | ||||||
|     UINT    nOffset = iPixel % nBypp; |  | ||||||
|      |      | ||||||
| 		lpb += pwc->ScanWidth * iScanLine; | 		lpb += pwc->ScanWidth * iScanLine; | ||||||
| 		lpb += iPixel * nBypp; | 		lpb += iPixel * nBypp; | ||||||
|      |      | ||||||
|     if(nBypp == 1){ | 		if(nBypp == 1) | ||||||
|  | 		{ | ||||||
| 			if(pwc->dither_flag) | 			if(pwc->dither_flag) | ||||||
| 				*lpb = DITHER_RGB_2_8BIT(r,g,b,iScanLine,iPixel); | 				*lpb = DITHER_RGB_2_8BIT(r,g,b,iScanLine,iPixel); | ||||||
| 			else | 			else | ||||||
| @@ -1430,10 +1613,72 @@ void wmSetPixel(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | |||||||
| 		else if (nBypp == 4) | 		else if (nBypp == 4) | ||||||
| 			*((LPDWORD)lpb) = BGR32(r,g,b); | 			*((LPDWORD)lpb) = BGR32(r,g,b); | ||||||
| 	} | 	} | ||||||
|   else{ | 	else | ||||||
|  | 	{ | ||||||
| 		SetPixel(Current->hDC, iPixel, iScanLine, RGB(r,g,b)); | 		SetPixel(Current->hDC, iPixel, iScanLine, RGB(r,g,b)); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | #endif | ||||||
|  | #ifdef COMPILE_SETPIXEL | ||||||
|  | void wmSetPixel4(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
|  | { | ||||||
|  | 	LPDWORD lpdw = ((LPDWORD)(pwc->pbPixels + pwc->ScanWidth * iScanLine)) + iPixel; | ||||||
|  | 	*lpdw = BGR32(r,g,b); | ||||||
|  | //	LPBYTE  lpb = pwc->pbPixels + pwc->ScanWidth * iScanLine + iPixel + iPixel + iPixel + iPixel; | ||||||
|  | //	*((LPDWORD)lpb) = BGR32(r,g,b); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void wmSetPixel3(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
|  | { | ||||||
|  | 	LPBYTE  lpb = pwc->pbPixels + pwc->ScanWidth * iScanLine + iPixel + iPixel + iPixel; | ||||||
|  | 	*((LPDWORD)lpb) = BGR24(r,g,b); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void wmSetPixel2(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
|  | { | ||||||
|  | 	LPWORD lpw = ((LPWORD)(pwc->pbPixels + pwc->ScanWidth * iScanLine)) + iPixel; | ||||||
|  | 	*lpw = BGR16(r,g,b); | ||||||
|  | //	LPBYTE  lpb = pwc->pbPixels + pwc->ScanWidth * iScanLine + iPixel + iPixel; | ||||||
|  | //	*((LPWORD)lpb) = BGR16(r,g,b); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void wmSetPixel1(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
|  | { | ||||||
|  | 	LPBYTE  lpb = pwc->pbPixels + pwc->ScanWidth * iScanLine + iPixel; | ||||||
|  | 	*lpb = BGR8(r,g,b); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void wmSetPixel1Dither(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b) | ||||||
|  | { | ||||||
|  | 	LPBYTE  lpb = pwc->pbPixels + pwc->ScanWidth * iScanLine + iPixel; | ||||||
|  | 	*lpb = DITHER_RGB_2_8BIT(r,g,b,iScanLine,iPixel); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void ChooseSetPixel(PWMC pwc) | ||||||
|  | { | ||||||
|  | 	UINT nBypp = (pwc ) ? pwc->cColorBits >> 3 : 0; | ||||||
|  | 	switch(nBypp) | ||||||
|  | 	{ | ||||||
|  | 		case 1: | ||||||
|  | 			pwc->wmSetPixel = pwc->dither_flag ? &wmSetPixel1Dither : &wmSetPixel1; | ||||||
|  | 			break; | ||||||
|  | 		case 2: | ||||||
|  | 			pwc->wmSetPixel = &wmSetPixel2; | ||||||
|  | 			break; | ||||||
|  | 		case 3: | ||||||
|  | 			pwc->wmSetPixel = &wmSetPixel3; | ||||||
|  | 			break; | ||||||
|  | 		case 4: | ||||||
|  | 			pwc->wmSetPixel = &wmSetPixel4; | ||||||
|  | 			break; | ||||||
|  | 		default: | ||||||
|  | 			pwc->wmSetPixel = &wmSetPixelDefault; | ||||||
|  | 			break; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #endif | ||||||
|  |  | ||||||
| void  wmCreateDIBSection( | void  wmCreateDIBSection( | ||||||
|   HDC   hDC, |   HDC   hDC, | ||||||
| @@ -1455,7 +1700,7 @@ void  wmCreateDIBSection( | |||||||
|     pwc->ScanWidth = 2* pwc->pitch; |     pwc->ScanWidth = 2* pwc->pitch; | ||||||
|    |    | ||||||
|   dwSize = sizeof(BITMAPINFO) + (dwScanWidth * pwc->height); |   dwSize = sizeof(BITMAPINFO) + (dwScanWidth * pwc->height); | ||||||
|    | #ifdef USE_MAPPED_FILE   | ||||||
|   pwc->dib.hFileMap = CreateFileMapping((HANDLE)PAGE_FILE, |   pwc->dib.hFileMap = CreateFileMapping((HANDLE)PAGE_FILE, | ||||||
| 					NULL, | 					NULL, | ||||||
| 					PAGE_READWRITE | SEC_COMMIT, | 					PAGE_READWRITE | SEC_COMMIT, | ||||||
| @@ -1479,10 +1724,12 @@ void  wmCreateDIBSection( | |||||||
|  |  | ||||||
|  |  | ||||||
|   CopyMemory(pwc->dib.base, pbmi, sizeof(BITMAPINFO)); |   CopyMemory(pwc->dib.base, pbmi, sizeof(BITMAPINFO)); | ||||||
|  | #endif // USE_MAPPED_FILE | ||||||
|    |    | ||||||
|   hic = CreateIC("display", NULL, NULL, NULL); |   hic = CreateIC("display", NULL, NULL, NULL); | ||||||
|   pwc->dib.hDC = CreateCompatibleDC(hic); |   pwc->dib.hDC = CreateCompatibleDC(hic); | ||||||
|    |    | ||||||
|  | #ifdef USE_MAPPED_FILE   | ||||||
|  |  | ||||||
|   pwc->hbmDIB = CreateDIBSection(hic, |   pwc->hbmDIB = CreateDIBSection(hic, | ||||||
| 				 &(pwc->bmi), | 				 &(pwc->bmi), | ||||||
| @@ -1490,6 +1737,14 @@ void  wmCreateDIBSection( | |||||||
| 				 &(pwc->pbPixels), | 				 &(pwc->pbPixels), | ||||||
| 				 pwc->dib.hFileMap, | 				 pwc->dib.hFileMap, | ||||||
| 				 0); | 				 0); | ||||||
|  | #else | ||||||
|  |   pwc->hbmDIB = CreateDIBSection(hic, | ||||||
|  | 				 &(pwc->bmi), | ||||||
|  | 				 (iUsage ? DIB_PAL_COLORS : DIB_RGB_COLORS), | ||||||
|  | 				 &(pwc->pbPixels), | ||||||
|  | 				 0, | ||||||
|  | 				 0); | ||||||
|  | #endif // USE_MAPPED_FILE | ||||||
|   pwc->ScreenMem = pwc->addrOffScreen = pwc->pbPixels; |   pwc->ScreenMem = pwc->addrOffScreen = pwc->pbPixels; | ||||||
|   pwc->hOldBitmap = SelectObject(pwc->dib.hDC, pwc->hbmDIB); |   pwc->hOldBitmap = SelectObject(pwc->dib.hDC, pwc->hbmDIB); | ||||||
|    |    | ||||||
| @@ -1514,7 +1769,7 @@ BOOL wmFlush(PWMC pwc) | |||||||
| #ifdef DDRAW | #ifdef DDRAW | ||||||
|     if (pwc->lpDDSOffScreen == NULL) |     if (pwc->lpDDSOffScreen == NULL) | ||||||
|       if(DDCreateOffScreen(pwc) == GL_FALSE) |       if(DDCreateOffScreen(pwc) == GL_FALSE) | ||||||
| 	return; | 	return FALSE; | ||||||
|      |      | ||||||
|     pwc->lpDDSOffScreen->lpVtbl->Unlock(pwc->lpDDSOffScreen, NULL); |     pwc->lpDDSOffScreen->lpVtbl->Unlock(pwc->lpDDSOffScreen, NULL); | ||||||
|      |      | ||||||
| @@ -1565,6 +1820,79 @@ BOOL wmFlush(PWMC pwc) | |||||||
|  |  | ||||||
| #if !defined(NO_STEREO) | #if !defined(NO_STEREO) | ||||||
|  |  | ||||||
|  | static void __gluMakeIdentityf(GLfloat m[16]) | ||||||
|  | { | ||||||
|  |     m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0; | ||||||
|  |     m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0; | ||||||
|  |     m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0; | ||||||
|  |     m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static void normalize(float v[3]) | ||||||
|  | { | ||||||
|  |     float r; | ||||||
|  |  | ||||||
|  |     r = sqrt( v[0]*v[0] + v[1]*v[1] + v[2]*v[2] ); | ||||||
|  |     if (r == 0.0) return; | ||||||
|  |  | ||||||
|  |     v[0] /= r; | ||||||
|  |     v[1] /= r; | ||||||
|  |     v[2] /= r; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static void cross(float v1[3], float v2[3], float result[3]) | ||||||
|  | { | ||||||
|  |     result[0] = v1[1]*v2[2] - v1[2]*v2[1]; | ||||||
|  |     result[1] = v1[2]*v2[0] - v1[0]*v2[2]; | ||||||
|  |     result[2] = v1[0]*v2[1] - v1[1]*v2[0]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | static void  | ||||||
|  | __gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, | ||||||
|  | 	  GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, | ||||||
|  | 	  GLdouble upz) | ||||||
|  | { | ||||||
|  |     int i; | ||||||
|  |     float forward[3], side[3], up[3]; | ||||||
|  |     GLfloat m[4][4]; | ||||||
|  |  | ||||||
|  |     forward[0] = centerx - eyex; | ||||||
|  |     forward[1] = centery - eyey; | ||||||
|  |     forward[2] = centerz - eyez; | ||||||
|  |  | ||||||
|  |     up[0] = upx; | ||||||
|  |     up[1] = upy; | ||||||
|  |     up[2] = upz; | ||||||
|  |  | ||||||
|  |     normalize(forward); | ||||||
|  |  | ||||||
|  |     /* Side = forward x up */ | ||||||
|  |     cross(forward, up, side); | ||||||
|  |     normalize(side); | ||||||
|  |  | ||||||
|  |     /* Recompute up as: up = side x forward */ | ||||||
|  |     cross(side, forward, up); | ||||||
|  |  | ||||||
|  |     __gluMakeIdentityf(&m[0][0]); | ||||||
|  |     m[0][0] = side[0]; | ||||||
|  |     m[1][0] = side[1]; | ||||||
|  |     m[2][0] = side[2]; | ||||||
|  |  | ||||||
|  |     m[0][1] = up[0]; | ||||||
|  |     m[1][1] = up[1]; | ||||||
|  |     m[2][1] = up[2]; | ||||||
|  |  | ||||||
|  |     m[0][2] = -forward[0]; | ||||||
|  |     m[1][2] = -forward[1]; | ||||||
|  |     m[2][2] = -forward[2]; | ||||||
|  |  | ||||||
|  |     glMultMatrixf(&m[0][0]); | ||||||
|  |     glTranslated(-eyex, -eyey, -eyez); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | GLfloat viewDistance = 1.0; | ||||||
|  |  | ||||||
| void WMesaShowStereo(GLuint list) | void WMesaShowStereo(GLuint list) | ||||||
| { | { | ||||||
|    |    | ||||||
| @@ -1585,7 +1913,7 @@ void WMesaShowStereo(GLuint list) | |||||||
|    |    | ||||||
|   glGetFloatv(GL_MODELVIEW_MATRIX,cm); |   glGetFloatv(GL_MODELVIEW_MATRIX,cm); | ||||||
|   glLoadIdentity(); |   glLoadIdentity(); | ||||||
|   gluLookAt(viewDistance/2,0.0,0.0 , |   __gluLookAt(viewDistance/2,0.0,0.0 , | ||||||
| 	    viewDistance/2,0.0,-1.0, | 	    viewDistance/2,0.0,-1.0, | ||||||
| 	    0.0,1.0,0.0 ); | 	    0.0,1.0,0.0 ); | ||||||
|   glMultMatrixf( cm ); |   glMultMatrixf( cm ); | ||||||
| @@ -1595,7 +1923,7 @@ void WMesaShowStereo(GLuint list) | |||||||
|    |    | ||||||
|   glGetFloatv(GL_MODELVIEW_MATRIX,cm); |   glGetFloatv(GL_MODELVIEW_MATRIX,cm); | ||||||
|   glLoadIdentity(); |   glLoadIdentity(); | ||||||
|   gluLookAt(-viewDistance/2,0.0,0.0 , |   __gluLookAt(-viewDistance/2,0.0,0.0 , | ||||||
| 	    -viewDistance/2,0.0,-1.0, | 	    -viewDistance/2,0.0,-1.0, | ||||||
| 	    0.0,1.0,0.0 ); | 	    0.0,1.0,0.0 ); | ||||||
|   glMultMatrixf(cm); |   glMultMatrixf(cm); | ||||||
| @@ -1774,7 +2102,7 @@ static void DDFreePrimarySurface(WMesaContext wc) | |||||||
| static BOOL DDCreatePrimarySurface(WMesaContext wc) | static BOOL DDCreatePrimarySurface(WMesaContext wc) | ||||||
| { | { | ||||||
|   HRESULT ddrval; |   HRESULT ddrval; | ||||||
|   DDSCAPS             ddscaps; | //  DDSCAPS             ddscaps; | ||||||
|   wc->ddsd.dwSize = sizeof( wc->ddsd ); |   wc->ddsd.dwSize = sizeof( wc->ddsd ); | ||||||
|   wc->ddsd.dwFlags = DDSD_CAPS; |   wc->ddsd.dwFlags = DDSD_CAPS; | ||||||
|   wc->ddsd.ddsCaps.dwCaps =   DDSCAPS_PRIMARYSURFACE; |   wc->ddsd.ddsCaps.dwCaps =   DDSCAPS_PRIMARYSURFACE; | ||||||
| @@ -1786,7 +2114,7 @@ static BOOL DDCreatePrimarySurface(WMesaContext wc) | |||||||
|       return initFail(wc->hwnd , wc); |       return initFail(wc->hwnd , wc); | ||||||
|     } |     } | ||||||
|   if(wc->db_flag == GL_FALSE) |   if(wc->db_flag == GL_FALSE) | ||||||
|     wc->lpDDSPrimary->lpVtbl->GetDC(wc->lpDDSPrimary, wc->hDC); |     wc->lpDDSPrimary->lpVtbl->GetDC(wc->lpDDSPrimary, &(wc->hDC)); | ||||||
|   return TRUE; |   return TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1831,6 +2159,80 @@ static BOOL DDCreateOffScreen(WMesaContext wc) | |||||||
|   return TRUE; |   return TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | typedef | ||||||
|  | struct tagWMesaContextList | ||||||
|  | { | ||||||
|  | 	WMesaContext wc; | ||||||
|  | 	struct tagWMesaContextList *next; | ||||||
|  | }WMesaContextList; | ||||||
|  |  | ||||||
|  | WMesaContextList *head = 0; | ||||||
|  |  | ||||||
|  | void AddContext(WMesaContext wc) | ||||||
|  | { | ||||||
|  | 	WMesaContextList *lst = (WMesaContextList *)malloc(sizeof(WMesaContextList)); | ||||||
|  | 	lst->wc = wc; | ||||||
|  | 	if( head ) | ||||||
|  | 		lst->next = head; | ||||||
|  | 	head = lst; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | WMesaContext FindContext(HWND hWnd) | ||||||
|  | { | ||||||
|  | 	WMesaContextList *tmp = head; | ||||||
|  | 	while(tmp) | ||||||
|  | 	{ | ||||||
|  | 		if( tmp->wc->hwnd == hWnd ) | ||||||
|  | 			return tmp->wc; | ||||||
|  | 		tmp = tmp->next; | ||||||
|  | 	} | ||||||
|  | 	return NULL; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void RemoveContext(HWND hWnd) | ||||||
|  | { | ||||||
|  | 	WMesaContextList *tmp = head; | ||||||
|  | 	if(tmp ) | ||||||
|  | 	{ | ||||||
|  | 		if( tmp->wc->hwnd == hWnd ) | ||||||
|  | 		{ | ||||||
|  | 			WMesaContextList *lst = tmp; | ||||||
|  |  | ||||||
|  | 			head = tmp->next; | ||||||
|  | 			free((void *)lst); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 			while(tmp->next) | ||||||
|  | 			{ | ||||||
|  | 				if( tmp->next->wc->hwnd == hWnd ) | ||||||
|  | 				{ | ||||||
|  | 					WMesaContextList *lst = tmp->next; | ||||||
|  | 					tmp->next = tmp->next->next; | ||||||
|  | 					free((void *)lst); | ||||||
|  | 				} | ||||||
|  | 				tmp = tmp->next; | ||||||
|  | 			} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static LRESULT CALLBACK MyWndProc(HWND hwnd,UINT message,WPARAM wParam, LPARAM lParam) | ||||||
|  | { | ||||||
|  | 	WMesaContext wc = Current->hwnd == hwnd ? Current : FindContext(hwnd); | ||||||
|  | 	 if( wc ) | ||||||
|  | 	 { | ||||||
|  | 		LRESULT lret = CallWindowProc((WNDPROC)(wc->oldWndProc),hwnd,message,wParam,lParam); | ||||||
|  | 		if( message = WM_MOVE ) | ||||||
|  | 		{ | ||||||
|  | 			 POINT pt = {0}; | ||||||
|  | 			GetClientRect( wc->hwnd, &(wc->rectSurface) ); | ||||||
|  | 			ClientToScreen( hwnd, &pt ); | ||||||
|  | 			OffsetRect(&(wc->rectSurface), pt.x, pt.y); | ||||||
|  | 		 } | ||||||
|  | 		return lret; | ||||||
|  | 	} | ||||||
|  | 	 return 0L; | ||||||
|  | } | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * doInit - do work required for every instance of the application: |  * doInit - do work required for every instance of the application: | ||||||
|  *                create the window, initialize data |  *                create the window, initialize data | ||||||
| @@ -1838,11 +2240,11 @@ static BOOL DDCreateOffScreen(WMesaContext wc) | |||||||
| static BOOL DDInit( WMesaContext wc, HWND hwnd) | static BOOL DDInit( WMesaContext wc, HWND hwnd) | ||||||
| { | { | ||||||
|   HRESULT             ddrval; |   HRESULT             ddrval; | ||||||
|   DWORD dwFrequency; | //  DWORD dwFrequency; | ||||||
|    |  | ||||||
|   LPDIRECTDRAW            lpDD;           // DirectDraw object |  | ||||||
|   LPDIRECTDRAW2            lpDD2; |  | ||||||
|    |    | ||||||
|  | //  LPDIRECTDRAW            lpDD;           // DirectDraw object | ||||||
|  | //  LPDIRECTDRAW2            lpDD2; | ||||||
|  |   LPDIRECTDRAWCLIPPER pcClipper = NULL; | ||||||
|    |    | ||||||
|   wc->fullScreen = displayOptions.fullScreen; |   wc->fullScreen = displayOptions.fullScreen; | ||||||
|   wc->gMode = displayOptions.mode; |   wc->gMode = displayOptions.mode; | ||||||
| @@ -1922,11 +2324,38 @@ static BOOL DDInit( WMesaContext wc, HWND hwnd) | |||||||
|     return initFail(hwnd, wc); |     return initFail(hwnd, wc); | ||||||
|    |    | ||||||
|   if(wc->db_flag) |   if(wc->db_flag) | ||||||
|     return DDCreateOffScreen(wc); |     DDCreateOffScreen(wc); | ||||||
|  |  | ||||||
|  |     if( FAILED( ddrval = wc->lpDD->lpVtbl->CreateClipper(wc->lpDD, 0, &pcClipper, NULL ) ) ) | ||||||
|  |         return E_FAIL; | ||||||
|  |  | ||||||
|  |     if( FAILED( ddrval = pcClipper->lpVtbl->SetHWnd(pcClipper,  0, wc->hwnd ) ) ) | ||||||
|  |     { | ||||||
|  |         pcClipper->lpVtbl->Release(pcClipper); | ||||||
|  |         return E_FAIL; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if( FAILED( ddrval = wc->lpDDSPrimary->lpVtbl->SetClipper(wc->lpDDSPrimary,  pcClipper ) ) ) | ||||||
|  |     { | ||||||
|  |         pcClipper->lpVtbl->Release(pcClipper); | ||||||
|  |         return E_FAIL; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // Done with clipper | ||||||
|  |     pcClipper->lpVtbl->Release(pcClipper); | ||||||
|  | 	AddContext(wc); | ||||||
|  | 	// Hook the window so we can update the drawing rectangle when the window moves | ||||||
|  | 	wc->oldWndProc = SetWindowLong(wc->hwnd,GWL_WNDPROC,(LONG)MyWndProc); | ||||||
|  |  | ||||||
|  | 	return TRUE; | ||||||
|  |  | ||||||
| } /* DDInit */ | } /* DDInit */ | ||||||
|  |  | ||||||
| static void DDFree( WMesaContext wc) | static void DDFree( WMesaContext wc) | ||||||
| { | { | ||||||
|  |   RemoveContext(wc->hwnd); | ||||||
|  |   SetWindowLong(wc->hwnd,GWL_WNDPROC,(LONG)(wc->oldWndProc)); | ||||||
|  |   wc->oldWndProc = 0; | ||||||
|   if( wc->lpDD != NULL ) |   if( wc->lpDD != NULL ) | ||||||
|     { |     { | ||||||
|       DDFreePrimarySurface(wc); |       DDFreePrimarySurface(wc); | ||||||
| @@ -1967,7 +2396,7 @@ void WMesaMove(void) | |||||||
|  ************************************************/ |  ************************************************/ | ||||||
|  |  | ||||||
|  |  | ||||||
| #if 0 | #if defined(FAST_RASTERIZERS) | ||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
|   | |||||||
| @@ -57,10 +57,23 @@ | |||||||
| #ifndef DDMESADEF_H | #ifndef DDMESADEF_H | ||||||
| #define DDMESADEF_H | #define DDMESADEF_H | ||||||
|  |  | ||||||
|  | // uncomment this to use DirectDraw driver | ||||||
|  | //#define DDRAW 1 | ||||||
|  | // uncomment this to use a pointer to a function for setting the pixels | ||||||
|  | // in the buffer | ||||||
|  | #define COMPILE_SETPIXEL 1 | ||||||
|  | // uncomment this to enable the fast win32 rasterizers ( commented out for MesaGL 4.0 ) | ||||||
|  | // #define FAST_RASTERIZERS 1 | ||||||
|  | // uncomment this to enable setting function pointers once inside of | ||||||
|  | // WMesaCreateContext instead of on every call to wmesa_update_state() | ||||||
|  | #define SET_FPOINTERS_ONCE 1 | ||||||
|  |  | ||||||
|  |  | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
| #include <GL\gl.h> | #include <GL\gl.h> | ||||||
| #include "context.h" | #include "context.h" | ||||||
| #ifdef DDRAW | #ifdef DDRAW | ||||||
|  | #define DIRECTDRAW_VERSION 0x0100 | ||||||
| 	#include <ddraw.h> | 	#include <ddraw.h> | ||||||
| #endif | #endif | ||||||
| //#include "profile.h" | //#include "profile.h" | ||||||
| @@ -79,6 +92,9 @@ typedef struct _dibSection{ | |||||||
| 	LPVOID	base; | 	LPVOID	base; | ||||||
| }WMDIBSECTION, *PWMDIBSECTION; | }WMDIBSECTION, *PWMDIBSECTION; | ||||||
|  |  | ||||||
|  | #ifdef COMPILE_SETPIXEL | ||||||
|  | typedef void (*SETPIXELTYPE)(struct wmesa_context *pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| typedef struct wmesa_context{ | typedef struct wmesa_context{ | ||||||
|     GLcontext *gl_ctx;		/* The core GL/Mesa context */ |     GLcontext *gl_ctx;		/* The core GL/Mesa context */ | ||||||
| @@ -132,15 +148,19 @@ typedef struct wmesa_context{ | |||||||
| 	LPDIRECTDRAWSURFACE     lpDDSOffScreen;	// DirectDraw off screen surface | 	LPDIRECTDRAWSURFACE     lpDDSOffScreen;	// DirectDraw off screen surface | ||||||
| 	LPDIRECTDRAWPALETTE     lpDDPal;        // DirectDraw palette | 	LPDIRECTDRAWPALETTE     lpDDPal;        // DirectDraw palette | ||||||
| 	BOOL                    bActive;        // is application active? | 	BOOL                    bActive;        // is application active? | ||||||
| 	DDSURFACEDESC	        ddsd; | 	DDSURFACEDESC	        ddsd;			// surface description | ||||||
| 	int 					fullScreen; | 	int 					fullScreen;		// fullscreen ? | ||||||
| 	int			            gMode ; | 	int			            gMode ;			// fullscreen mode | ||||||
|  | 	LONG					oldWndProc;		// old Window proc. we need to hook WM_MOVE message to update the drawing rectangle | ||||||
| #endif | #endif | ||||||
| 	RECT					rectOffScreen; | 	RECT					rectOffScreen; | ||||||
| 	RECT					rectSurface; | 	RECT					rectSurface; | ||||||
| 	HWND					hwnd; | 	HWND					hwnd; | ||||||
| 	DWORD					pitch; | 	DWORD					pitch; | ||||||
| 	PBYTE					addrOffScreen; | 	PBYTE					addrOffScreen; | ||||||
|  | #ifdef COMPILE_SETPIXEL | ||||||
|  |       SETPIXELTYPE                    wmSetPixel; | ||||||
|  | #endif // COMPILE_SETPIXEL | ||||||
| //#ifdef PROFILE | //#ifdef PROFILE | ||||||
| //	MESAPROF	profile; | //	MESAPROF	profile; | ||||||
| //#endif | //#endif | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: fakeglx.c,v 1.59 2001/10/22 22:45:18 brianp Exp $ */ | /* $Id: fakeglx.c,v 1.58.2.1 2001/11/25 18:50:20 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  4.1 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -66,7 +66,7 @@ | |||||||
| #define SERVER_MINOR_VERSION 4 | #define SERVER_MINOR_VERSION 4 | ||||||
|  |  | ||||||
| /* This is appended onto the glXGetClient/ServerString version strings. */ | /* This is appended onto the glXGetClient/ServerString version strings. */ | ||||||
| #define MESA_GLX_VERSION "Mesa 4.1" | #define MESA_GLX_VERSION "Mesa 4.0.1" | ||||||
|  |  | ||||||
| /* Who implemented this GLX? */ | /* Who implemented this GLX? */ | ||||||
| #define VENDOR "Brian Paul" | #define VENDOR "Brian Paul" | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: xm_api.c,v 1.29 2001/09/12 03:32:29 brianp Exp $ */ | /* $Id: xm_api.c,v 1.29.2.1 2001/11/06 16:00:58 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -1260,7 +1260,7 @@ static GLboolean initialize_visual_and_buffer( int client, | |||||||
|     * reports bugs. |     * reports bugs. | ||||||
|     */ |     */ | ||||||
|    if (getenv("MESA_INFO")) { |    if (getenv("MESA_INFO")) { | ||||||
|       fprintf(stderr, "X/Mesa visual = %p\n", v); |       fprintf(stderr, "X/Mesa visual = %p\n", (void *) v); | ||||||
|       fprintf(stderr, "X/Mesa dithered pf = %u\n", v->dithered_pf); |       fprintf(stderr, "X/Mesa dithered pf = %u\n", v->dithered_pf); | ||||||
|       fprintf(stderr, "X/Mesa undithered pf = %u\n", v->undithered_pf); |       fprintf(stderr, "X/Mesa undithered pf = %u\n", v->undithered_pf); | ||||||
|       fprintf(stderr, "X/Mesa level = %d\n", v->level); |       fprintf(stderr, "X/Mesa level = %d\n", v->level); | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: xm_dd.c,v 1.26 2001/09/12 03:32:29 brianp Exp $ */ | /* $Id: xm_dd.c,v 1.26.2.1 2001/11/28 11:54:45 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -854,7 +854,7 @@ get_string( GLcontext *ctx, GLenum name ) | |||||||
| #endif | #endif | ||||||
|       case GL_VENDOR: |       case GL_VENDOR: | ||||||
| #ifdef XFree86Server | #ifdef XFree86Server | ||||||
|          return (const GLubyte *) "VA Linux Systems, Inc."; |          return (const GLubyte *) "Mesa project: www.mesa3d.org"; | ||||||
| #else | #else | ||||||
|          return NULL; |          return NULL; | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: glapi.c,v 1.58 2001/10/17 13:34:08 brianp Exp $ */ | /* $Id: glapi.c,v 1.58.2.1 2001/11/18 23:24:49 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -971,8 +971,7 @@ static struct name_address_offset static_functions[] = { | |||||||
| #undef NAME | #undef NAME | ||||||
|  |  | ||||||
| 	/* ARB 12. GL_ARB_texture_compression */ | 	/* ARB 12. GL_ARB_texture_compression */ | ||||||
| #if 000 | #ifdef GL_ARB_texture_compression | ||||||
| #if defined(GL_ARB_texture_compression) && defined(_gloffset_CompressedTexImage3DARB) |  | ||||||
| #define NAME(X) (GLvoid *) X | #define NAME(X) (GLvoid *) X | ||||||
| #else | #else | ||||||
| #define NAME(X) (GLvoid *) NotImplemented | #define NAME(X) (GLvoid *) NotImplemented | ||||||
| @@ -985,7 +984,6 @@ static struct name_address_offset static_functions[] = { | |||||||
| 	{ "glCompressedTexSubImage1DARB", NAME(glCompressedTexSubImage1DARB), _gloffset_CompressedTexSubImage1DARB }, | 	{ "glCompressedTexSubImage1DARB", NAME(glCompressedTexSubImage1DARB), _gloffset_CompressedTexSubImage1DARB }, | ||||||
| 	{ "glGetCompressedTexImageARB", NAME(glGetCompressedTexImageARB), _gloffset_GetCompressedTexImageARB }, | 	{ "glGetCompressedTexImageARB", NAME(glGetCompressedTexImageARB), _gloffset_GetCompressedTexImageARB }, | ||||||
| #undef NAME | #undef NAME | ||||||
| #endif |  | ||||||
|  |  | ||||||
| 	/* 2. GL_EXT_blend_color */ | 	/* 2. GL_EXT_blend_color */ | ||||||
| #ifdef GL_EXT_blend_color | #ifdef GL_EXT_blend_color | ||||||
| @@ -1109,11 +1107,22 @@ static struct name_address_offset static_functions[] = { | |||||||
| #define NAME(X) (GLvoid *) NotImplemented | #define NAME(X) (GLvoid *) NotImplemented | ||||||
| #endif | #endif | ||||||
| 	{ "glPixelTexGenParameterfSGIS", NAME(glPixelTexGenParameterfSGIS), _gloffset_PixelTexGenParameterfSGIS }, | 	{ "glPixelTexGenParameterfSGIS", NAME(glPixelTexGenParameterfSGIS), _gloffset_PixelTexGenParameterfSGIS }, | ||||||
|  | 	{ "glPixelTexGenParameterfvSGIS", NAME(glPixelTexGenParameterfvSGIS), _gloffset_PixelTexGenParameterfvSGIS }, | ||||||
| 	{ "glPixelTexGenParameteriSGIS", NAME(glPixelTexGenParameteriSGIS), _gloffset_PixelTexGenParameteriSGIS }, | 	{ "glPixelTexGenParameteriSGIS", NAME(glPixelTexGenParameteriSGIS), _gloffset_PixelTexGenParameteriSGIS }, | ||||||
|  | 	{ "glPixelTexGenParameterivSGIS", NAME(glPixelTexGenParameterivSGIS), _gloffset_PixelTexGenParameterivSGIS }, | ||||||
| 	{ "glGetPixelTexGenParameterfvSGIS", NAME(glGetPixelTexGenParameterfvSGIS), _gloffset_GetPixelTexGenParameterfvSGIS }, | 	{ "glGetPixelTexGenParameterfvSGIS", NAME(glGetPixelTexGenParameterfvSGIS), _gloffset_GetPixelTexGenParameterfvSGIS }, | ||||||
| 	{ "glGetPixelTexGenParameterivSGIS", NAME(glGetPixelTexGenParameterivSGIS), _gloffset_GetPixelTexGenParameterivSGIS }, | 	{ "glGetPixelTexGenParameterivSGIS", NAME(glGetPixelTexGenParameterivSGIS), _gloffset_GetPixelTexGenParameterivSGIS }, | ||||||
| #undef NAME | #undef NAME | ||||||
|  |  | ||||||
|  | 	/* 15a. GL_SGIX_pixel_texture */ | ||||||
|  | #ifdef GL_SGIX_pixel_texture | ||||||
|  | #define NAME(X) (GLvoid *) X | ||||||
|  | #else | ||||||
|  | #define NAME(X) (GLvoid *) NotImplemented | ||||||
|  | #endif | ||||||
|  | 	{ "glPixelTexGenSGIX", NAME(glPixelTexGenSGIX), _gloffset_PixelTexGenSGIX }, | ||||||
|  | #undef NAME | ||||||
|  |  | ||||||
| 	/* 16. GL_SGIS_texture4D */ | 	/* 16. GL_SGIS_texture4D */ | ||||||
| #ifdef  GL_SGIS_texture4D | #ifdef  GL_SGIS_texture4D | ||||||
| #define NAME(X) (GLvoid *) X | #define NAME(X) (GLvoid *) X | ||||||
| @@ -1511,7 +1520,7 @@ static struct name_address_offset static_functions[] = { | |||||||
| 	{ "glFogCoordfEXT", NAME(glFogCoordfEXT), _gloffset_FogCoordfEXT }, | 	{ "glFogCoordfEXT", NAME(glFogCoordfEXT), _gloffset_FogCoordfEXT }, | ||||||
| 	{ "glFogCoordfvEXT", NAME(glFogCoordfvEXT), _gloffset_FogCoordfvEXT }, | 	{ "glFogCoordfvEXT", NAME(glFogCoordfvEXT), _gloffset_FogCoordfvEXT }, | ||||||
| 	{ "glFogCoorddEXT", NAME(glFogCoorddEXT), _gloffset_FogCoorddEXT }, | 	{ "glFogCoorddEXT", NAME(glFogCoorddEXT), _gloffset_FogCoorddEXT }, | ||||||
| 	{ "glFogCoorddEXT", NAME(glFogCoorddEXT), _gloffset_FogCoorddEXT }, | 	{ "glFogCoorddvEXT", NAME(glFogCoorddvEXT), _gloffset_FogCoorddvEXT }, | ||||||
| 	{ "glFogCoordPointerEXT", NAME(glFogCoordPointerEXT), _gloffset_FogCoordPointerEXT }, | 	{ "glFogCoordPointerEXT", NAME(glFogCoordPointerEXT), _gloffset_FogCoordPointerEXT }, | ||||||
| #undef NAME | #undef NAME | ||||||
|  |  | ||||||
| @@ -1699,7 +1708,30 @@ static struct name_address_offset static_functions[] = { | |||||||
| #else | #else | ||||||
| #define NAME(X) (GLvoid *) NotImplemented | #define NAME(X) (GLvoid *) NotImplemented | ||||||
| #endif | #endif | ||||||
|  |         { "glWindowPos2iMESA", NAME(glWindowPos2iMESA), _gloffset_WindowPos2iMESA }, | ||||||
|  |         { "glWindowPos2sMESA", NAME(glWindowPos2sMESA), _gloffset_WindowPos2sMESA }, | ||||||
|  | 	{ "glWindowPos2fMESA", NAME(glWindowPos2fMESA), _gloffset_WindowPos2fMESA }, | ||||||
|  | 	{ "glWindowPos2dMESA", NAME(glWindowPos2dMESA), _gloffset_WindowPos2dMESA }, | ||||||
|  | 	{ "glWindowPos2ivMESA", NAME(glWindowPos2ivMESA), _gloffset_WindowPos2ivMESA }, | ||||||
|  | 	{ "glWindowPos2svMESA", NAME(glWindowPos2svMESA), _gloffset_WindowPos2svMESA }, | ||||||
|  | 	{ "glWindowPos2fvMESA", NAME(glWindowPos2fvMESA), _gloffset_WindowPos2fvMESA }, | ||||||
|  | 	{ "glWindowPos2dvMESA", NAME(glWindowPos2dvMESA), _gloffset_WindowPos2dvMESA }, | ||||||
|  | 	{ "glWindowPos3iMESA", NAME(glWindowPos3iMESA), _gloffset_WindowPos3iMESA }, | ||||||
|  | 	{ "glWindowPos3sMESA", NAME(glWindowPos3sMESA), _gloffset_WindowPos3sMESA }, | ||||||
|  | 	{ "glWindowPos3fMESA", NAME(glWindowPos3fMESA), _gloffset_WindowPos3fMESA }, | ||||||
|  | 	{ "glWindowPos3dMESA", NAME(glWindowPos3dMESA), _gloffset_WindowPos3dMESA }, | ||||||
|  | 	{ "glWindowPos3ivMESA", NAME(glWindowPos3ivMESA), _gloffset_WindowPos3ivMESA }, | ||||||
|  | 	{ "glWindowPos3svMESA", NAME(glWindowPos3svMESA), _gloffset_WindowPos3svMESA }, | ||||||
|  | 	{ "glWindowPos3fvMESA", NAME(glWindowPos3fvMESA), _gloffset_WindowPos3fvMESA }, | ||||||
|  | 	{ "glWindowPos3dvMESA", NAME(glWindowPos3dvMESA), _gloffset_WindowPos3dvMESA }, | ||||||
|  | 	{ "glWindowPos4iMESA", NAME(glWindowPos4iMESA), _gloffset_WindowPos4iMESA }, | ||||||
|  | 	{ "glWindowPos4sMESA", NAME(glWindowPos4sMESA), _gloffset_WindowPos4sMESA }, | ||||||
| 	{ "glWindowPos4fMESA", NAME(glWindowPos4fMESA), _gloffset_WindowPos4fMESA }, | 	{ "glWindowPos4fMESA", NAME(glWindowPos4fMESA), _gloffset_WindowPos4fMESA }, | ||||||
|  | 	{ "glWindowPos4dMESA", NAME(glWindowPos4dMESA), _gloffset_WindowPos4dMESA }, | ||||||
|  | 	{ "glWindowPos4ivMESA", NAME(glWindowPos4ivMESA), _gloffset_WindowPos4ivMESA }, | ||||||
|  | 	{ "glWindowPos4svMESA", NAME(glWindowPos4svMESA), _gloffset_WindowPos4svMESA }, | ||||||
|  | 	{ "glWindowPos4fvMESA", NAME(glWindowPos4fvMESA), _gloffset_WindowPos4fvMESA }, | ||||||
|  | 	{ "glWindowPos4dvMESA", NAME(glWindowPos4dvMESA), _gloffset_WindowPos4dvMESA }, | ||||||
| #undef NAME | #undef NAME | ||||||
|  |  | ||||||
| 	/* 209. WGL_EXT_multisample */ | 	/* 209. WGL_EXT_multisample */ | ||||||
|   | |||||||
| @@ -313,7 +313,7 @@ struct _glapi_table | |||||||
|    void (*Translatef)(GLfloat x, GLfloat y, GLfloat z); /* 304 */ |    void (*Translatef)(GLfloat x, GLfloat y, GLfloat z); /* 304 */ | ||||||
|    void (*Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); /* 305 */ |    void (*Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); /* 305 */ | ||||||
|    void (*ArrayElement)(GLint i); /* 306 */ |    void (*ArrayElement)(GLint i); /* 306 */ | ||||||
|    void (*BindTexture)(GLenum target, GLenum texture); /* 307 */ |    void (*BindTexture)(GLenum target, GLuint texture); /* 307 */ | ||||||
|    void (*ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 308 */ |    void (*ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 308 */ | ||||||
|    void (*DisableClientState)(GLenum array); /* 309 */ |    void (*DisableClientState)(GLenum array); /* 309 */ | ||||||
|    void (*DrawArrays)(GLenum mode, GLint first, GLsizei count); /* 310 */ |    void (*DrawArrays)(GLenum mode, GLint first, GLsizei count); /* 310 */ | ||||||
| @@ -328,16 +328,16 @@ struct _glapi_table | |||||||
|    void (*PolygonOffset)(GLfloat factor, GLfloat units); /* 319 */ |    void (*PolygonOffset)(GLfloat factor, GLfloat units); /* 319 */ | ||||||
|    void (*TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 320 */ |    void (*TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 320 */ | ||||||
|    void (*VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 321 */ |    void (*VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 321 */ | ||||||
|    GLboolean (*AreTexturesResident)(GLsizei n, const GLenum * textures, GLboolean * residences); /* 322 */ |    GLboolean (*AreTexturesResident)(GLsizei n, const GLuint * textures, GLboolean * residences); /* 322 */ | ||||||
|    void (*CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); /* 323 */ |    void (*CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); /* 323 */ | ||||||
|    void (*CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); /* 324 */ |    void (*CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); /* 324 */ | ||||||
|    void (*CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); /* 325 */ |    void (*CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); /* 325 */ | ||||||
|    void (*CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 326 */ |    void (*CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 326 */ | ||||||
|    void (*DeleteTextures)(GLsizei n, const GLenum * textures); /* 327 */ |    void (*DeleteTextures)(GLsizei n, const GLuint * textures); /* 327 */ | ||||||
|    void (*GenTextures)(GLsizei n, GLenum * textures); /* 328 */ |    void (*GenTextures)(GLsizei n, GLuint * textures); /* 328 */ | ||||||
|    void (*GetPointerv)(GLenum pname, GLvoid * * params); /* 329 */ |    void (*GetPointerv)(GLenum pname, GLvoid * * params); /* 329 */ | ||||||
|    GLboolean (*IsTexture)(GLenum texture); /* 330 */ |    GLboolean (*IsTexture)(GLuint texture); /* 330 */ | ||||||
|    void (*PrioritizeTextures)(GLsizei n, const GLenum * textures, const GLclampf * priorities); /* 331 */ |    void (*PrioritizeTextures)(GLsizei n, const GLuint * textures, const GLclampf * priorities); /* 331 */ | ||||||
|    void (*TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); /* 332 */ |    void (*TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); /* 332 */ | ||||||
|    void (*TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 333 */ |    void (*TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 333 */ | ||||||
|    void (*PopClientAttrib)(void); /* 334 */ |    void (*PopClientAttrib)(void); /* 334 */ | ||||||
| @@ -445,9 +445,9 @@ struct _glapi_table | |||||||
|    void (*GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 436 */ |    void (*GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 436 */ | ||||||
|    void (*TexImage4DSGIS)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 437 */ |    void (*TexImage4DSGIS)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 437 */ | ||||||
|    void (*TexSubImage4DSGIS)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid * pixels); /* 438 */ |    void (*TexSubImage4DSGIS)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid * pixels); /* 438 */ | ||||||
|    GLboolean (*AreTexturesResidentEXT)(GLsizei n, const GLenum * textures, GLboolean * residences); /* 439 */ |    GLboolean (*AreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences); /* 439 */ | ||||||
|    void (*GenTexturesEXT)(GLsizei n, GLenum * textures); /* 440 */ |    void (*GenTexturesEXT)(GLsizei n, GLuint * textures); /* 440 */ | ||||||
|    GLboolean (*IsTextureEXT)(GLenum texture); /* 441 */ |    GLboolean (*IsTextureEXT)(GLuint texture); /* 441 */ | ||||||
|    void (*DetailTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points); /* 442 */ |    void (*DetailTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points); /* 442 */ | ||||||
|    void (*GetDetailTexFuncSGIS)(GLenum target, GLfloat * points); /* 443 */ |    void (*GetDetailTexFuncSGIS)(GLenum target, GLfloat * points); /* 443 */ | ||||||
|    void (*SharpenTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points); /* 444 */ |    void (*SharpenTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points); /* 444 */ | ||||||
| @@ -566,7 +566,7 @@ struct _glapi_table | |||||||
|    void (*CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 557 */ |    void (*CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 557 */ | ||||||
|    void (*CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 558 */ |    void (*CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 558 */ | ||||||
|    void (*CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 559 */ |    void (*CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 559 */ | ||||||
|    void (*GetCompressedTexImageARB)(GLenum target, GLint level, void * img); /* 560 */ |    void (*GetCompressedTexImageARB)(GLenum target, GLint level, GLvoid * img); /* 560 */ | ||||||
|    void (*SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 561 */ |    void (*SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 561 */ | ||||||
|    void (*SecondaryColor3bvEXT)(const GLbyte * v); /* 562 */ |    void (*SecondaryColor3bvEXT)(const GLbyte * v); /* 562 */ | ||||||
|    void (*SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 563 */ |    void (*SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 563 */ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: glapitemp.h,v 1.31 2001/10/17 13:29:02 brianp Exp $ */ | /* $Id: glapitemp.h,v 1.31.2.1 2001/11/01 00:38:37 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -159,7 +159,7 @@ KEYWORD1 void KEYWORD2 NAME(ClearStencil)(GLint s) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(ClipPlane)(GLenum plane, const GLdouble *equation) | KEYWORD1 void KEYWORD2 NAME(ClipPlane)(GLenum plane, const GLdouble *equation) | ||||||
| { | { | ||||||
|    DISPATCH(ClipPlane, (plane, equation), (F, "glClipPlane(%p);", equation)); |    DISPATCH(ClipPlane, (plane, equation), (F, "glClipPlane(%p);", (void *) equation)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3b)(GLbyte red, GLbyte green, GLbyte blue) | KEYWORD1 void KEYWORD2 NAME(Color3b)(GLbyte red, GLbyte green, GLbyte blue) | ||||||
| @@ -249,37 +249,37 @@ KEYWORD1 void KEYWORD2 NAME(Color3bv)(const GLbyte *v) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3dv)(const GLdouble *v) | KEYWORD1 void KEYWORD2 NAME(Color3dv)(const GLdouble *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color3dv, (v), (F, "glColor3dv(%p);", v)); |    DISPATCH(Color3dv, (v), (F, "glColor3dv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3fv)(const GLfloat *v) | KEYWORD1 void KEYWORD2 NAME(Color3fv)(const GLfloat *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color3fv, (v), (F, "glColor3fv(%p);", v)); |    DISPATCH(Color3fv, (v), (F, "glColor3fv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3iv)(const GLint *v) | KEYWORD1 void KEYWORD2 NAME(Color3iv)(const GLint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color3iv, (v), (F, "glColor3iv(%p);", v)); |    DISPATCH(Color3iv, (v), (F, "glColor3iv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3sv)(const GLshort *v) | KEYWORD1 void KEYWORD2 NAME(Color3sv)(const GLshort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color3sv, (v), (F, "glColor3sv(%p);", v)); |    DISPATCH(Color3sv, (v), (F, "glColor3sv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3ubv)(const GLubyte *v) | KEYWORD1 void KEYWORD2 NAME(Color3ubv)(const GLubyte *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color3ubv, (v), (F, "glColor3ubv(%p);", v)); |    DISPATCH(Color3ubv, (v), (F, "glColor3ubv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3uiv)(const GLuint *v) | KEYWORD1 void KEYWORD2 NAME(Color3uiv)(const GLuint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color3uiv, (v), (F, "glColor3uiv(%p);", v)); |    DISPATCH(Color3uiv, (v), (F, "glColor3uiv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color3usv)(const GLushort *v) | KEYWORD1 void KEYWORD2 NAME(Color3usv)(const GLushort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color3usv, (v), (F, "glColor3usv(%p);", v)); |    DISPATCH(Color3usv, (v), (F, "glColor3usv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4bv)(const GLbyte *v) | KEYWORD1 void KEYWORD2 NAME(Color4bv)(const GLbyte *v) | ||||||
| @@ -289,37 +289,37 @@ KEYWORD1 void KEYWORD2 NAME(Color4bv)(const GLbyte *v) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4dv)(const GLdouble *v) | KEYWORD1 void KEYWORD2 NAME(Color4dv)(const GLdouble *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color4dv, (v), (F, "glColor4dv(%p);", v)); |    DISPATCH(Color4dv, (v), (F, "glColor4dv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4fv)(const GLfloat *v) | KEYWORD1 void KEYWORD2 NAME(Color4fv)(const GLfloat *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color4fv, (v), (F, "glColor4fv(%p);", v)); |    DISPATCH(Color4fv, (v), (F, "glColor4fv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4iv)(const GLint *v) | KEYWORD1 void KEYWORD2 NAME(Color4iv)(const GLint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color4iv, (v), (F, "glColor4iv(%p);", v)); |    DISPATCH(Color4iv, (v), (F, "glColor4iv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4sv)(const GLshort *v) | KEYWORD1 void KEYWORD2 NAME(Color4sv)(const GLshort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color4sv, (v), (F, "glColor4sv(%p);", v)); |    DISPATCH(Color4sv, (v), (F, "glColor4sv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4ubv)(const GLubyte *v) | KEYWORD1 void KEYWORD2 NAME(Color4ubv)(const GLubyte *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color4ubv, (v), (F, "glColor4ubv(%p);", v)); |    DISPATCH(Color4ubv, (v), (F, "glColor4ubv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4uiv)(const GLuint *v) | KEYWORD1 void KEYWORD2 NAME(Color4uiv)(const GLuint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color4uiv, (v), (F, "glColor4uiv(%p);", v)); |    DISPATCH(Color4uiv, (v), (F, "glColor4uiv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Color4usv)(const GLushort *v) | KEYWORD1 void KEYWORD2 NAME(Color4usv)(const GLushort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Color4usv, (v), (F, "glColor4usv(%p);", v)); |    DISPATCH(Color4usv, (v), (F, "glColor4usv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) | KEYWORD1 void KEYWORD2 NAME(ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) | ||||||
| @@ -469,7 +469,7 @@ KEYWORD1 void KEYWORD2 NAME(EvalPoint2)(GLint i, GLint j) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(FeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer) | KEYWORD1 void KEYWORD2 NAME(FeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer) | ||||||
| { | { | ||||||
|    DISPATCH(FeedbackBuffer, (size, type, buffer), (F, "glFeedbackBuffer(%d, 0x%x, %p);", size, type, buffer)); |    DISPATCH(FeedbackBuffer, (size, type, buffer), (F, "glFeedbackBuffer(%d, 0x%x, %p);", size, type, (void *) buffer)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Finish)(void) | KEYWORD1 void KEYWORD2 NAME(Finish)(void) | ||||||
| @@ -494,12 +494,12 @@ KEYWORD1 void KEYWORD2 NAME(Fogi)(GLenum pname, GLint param) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Fogfv)(GLenum pname, const GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(Fogfv)(GLenum pname, const GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(Fogfv, (pname, params), (F, "glFogfv(0x%x, %p);", pname, params)); |    DISPATCH(Fogfv, (pname, params), (F, "glFogfv(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Fogiv)(GLenum pname, const GLint *params) | KEYWORD1 void KEYWORD2 NAME(Fogiv)(GLenum pname, const GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(Fogiv, (pname, params), (F, "glFogiv(0x%x, %p);", pname, params)); |    DISPATCH(Fogiv, (pname, params), (F, "glFogiv(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(FrontFace)(GLenum mode) | KEYWORD1 void KEYWORD2 NAME(FrontFace)(GLenum mode) | ||||||
| @@ -524,12 +524,12 @@ KEYWORD1 void KEYWORD2 NAME(GetBooleanv)(GLenum pname, GLboolean *params) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetClipPlane)(GLenum plane, GLdouble *equation) | KEYWORD1 void KEYWORD2 NAME(GetClipPlane)(GLenum plane, GLdouble *equation) | ||||||
| { | { | ||||||
|    DISPATCH(GetClipPlane, (plane, equation), (F, "glGetClipPlane(x0%x, %p);", plane, equation)); |    DISPATCH(GetClipPlane, (plane, equation), (F, "glGetClipPlane(x0%x, %p);", plane, (void *) equation)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetDoublev)(GLenum pname, GLdouble *params) | KEYWORD1 void KEYWORD2 NAME(GetDoublev)(GLenum pname, GLdouble *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetDoublev, (pname, params), (F, "glGetDoublev(0x%x, %p);", pname, params)); |    DISPATCH(GetDoublev, (pname, params), (F, "glGetDoublev(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 GLenum KEYWORD2 NAME(GetError)(void) | KEYWORD1 GLenum KEYWORD2 NAME(GetError)(void) | ||||||
| @@ -539,62 +539,62 @@ KEYWORD1 GLenum KEYWORD2 NAME(GetError)(void) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetFloatv)(GLenum pname, GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(GetFloatv)(GLenum pname, GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetFloatv, (pname, params), (F, "glGetFloatv(0x%x, %p);", pname, params)); |    DISPATCH(GetFloatv, (pname, params), (F, "glGetFloatv(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetIntegerv)(GLenum pname, GLint *params) | KEYWORD1 void KEYWORD2 NAME(GetIntegerv)(GLenum pname, GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetIntegerv, (pname, params), (F, "glGetIntegerv(0x%x, %p);", pname, params)); |    DISPATCH(GetIntegerv, (pname, params), (F, "glGetIntegerv(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetLightfv)(GLenum light, GLenum pname, GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(GetLightfv)(GLenum light, GLenum pname, GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetLightfv, (light, pname, params), (F, "glGetLightfv(0x%x, 0x%x, %p);", light, pname, params)); |    DISPATCH(GetLightfv, (light, pname, params), (F, "glGetLightfv(0x%x, 0x%x, %p);", light, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetLightiv)(GLenum light, GLenum pname, GLint *params) | KEYWORD1 void KEYWORD2 NAME(GetLightiv)(GLenum light, GLenum pname, GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetLightiv, (light, pname, params), (F, "glGetLightiv(0x%x, 0x%x, %p);", light, pname, params)); |    DISPATCH(GetLightiv, (light, pname, params), (F, "glGetLightiv(0x%x, 0x%x, %p);", light, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetMapdv)(GLenum target, GLenum query, GLdouble *v) | KEYWORD1 void KEYWORD2 NAME(GetMapdv)(GLenum target, GLenum query, GLdouble *v) | ||||||
| { | { | ||||||
|    DISPATCH(GetMapdv, (target, query, v), (F, "glGetMapdv(0x%x, 0x%x, %p);", target, query, v)); |    DISPATCH(GetMapdv, (target, query, v), (F, "glGetMapdv(0x%x, 0x%x, %p);", target, query, (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetMapfv)(GLenum target, GLenum query, GLfloat *v) | KEYWORD1 void KEYWORD2 NAME(GetMapfv)(GLenum target, GLenum query, GLfloat *v) | ||||||
| { | { | ||||||
|    DISPATCH(GetMapfv, (target, query, v), (F, "glGetMapfv(0x%x, 0x%x, %p);", target, query, v)); |    DISPATCH(GetMapfv, (target, query, v), (F, "glGetMapfv(0x%x, 0x%x, %p);", target, query, (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetMapiv)(GLenum target, GLenum query, GLint *v) | KEYWORD1 void KEYWORD2 NAME(GetMapiv)(GLenum target, GLenum query, GLint *v) | ||||||
| { | { | ||||||
|    DISPATCH(GetMapiv, (target, query, v), (F, "glGetMapiv(0x%x, 0x%x, %p);", target, query, v)); |    DISPATCH(GetMapiv, (target, query, v), (F, "glGetMapiv(0x%x, 0x%x, %p);", target, query, (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetMaterialfv)(GLenum face, GLenum pname, GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(GetMaterialfv)(GLenum face, GLenum pname, GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetMaterialfv, (face, pname, params), (F, "glGetMaterialfv(0x%x, 0x%x, %p;", face, pname, params)); |    DISPATCH(GetMaterialfv, (face, pname, params), (F, "glGetMaterialfv(0x%x, 0x%x, %p;", face, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetMaterialiv)(GLenum face, GLenum pname, GLint *params) | KEYWORD1 void KEYWORD2 NAME(GetMaterialiv)(GLenum face, GLenum pname, GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetMaterialiv, (face, pname, params), (F, "glGetMaterialiv(0x%x, 0x%x, %p);", face, pname, params)); |    DISPATCH(GetMaterialiv, (face, pname, params), (F, "glGetMaterialiv(0x%x, 0x%x, %p);", face, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetPixelMapfv)(GLenum map, GLfloat *values) | KEYWORD1 void KEYWORD2 NAME(GetPixelMapfv)(GLenum map, GLfloat *values) | ||||||
| { | { | ||||||
|    DISPATCH(GetPixelMapfv, (map, values), (F, "glGetPixelMapfv(0x%x, %p);", map, values)); |    DISPATCH(GetPixelMapfv, (map, values), (F, "glGetPixelMapfv(0x%x, %p);", map, (void *) values)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetPixelMapuiv)(GLenum map, GLuint *values) | KEYWORD1 void KEYWORD2 NAME(GetPixelMapuiv)(GLenum map, GLuint *values) | ||||||
| { | { | ||||||
|    DISPATCH(GetPixelMapuiv, (map, values), (F, "glGetPixelMapuiv(0x%x, %p);", map, values)); |    DISPATCH(GetPixelMapuiv, (map, values), (F, "glGetPixelMapuiv(0x%x, %p);", map, (void *) values)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetPixelMapusv)(GLenum map, GLushort *values) | KEYWORD1 void KEYWORD2 NAME(GetPixelMapusv)(GLenum map, GLushort *values) | ||||||
| { | { | ||||||
|    DISPATCH(GetPixelMapusv, (map, values), (F, "glGetPixelMapusv(0x%x, %p);", map, values)); |    DISPATCH(GetPixelMapusv, (map, values), (F, "glGetPixelMapusv(0x%x, %p);", map, (void *) values)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetPolygonStipple)(GLubyte *mask) | KEYWORD1 void KEYWORD2 NAME(GetPolygonStipple)(GLubyte *mask) | ||||||
| @@ -609,27 +609,27 @@ KEYWORD1 const GLubyte * KEYWORD2 NAME(GetString)(GLenum name) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(GetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexEnvfv, (target, pname, params), (F, "glGettexEnvfv(0x%x, 0x%x, %p);", target, pname, params)); |    DISPATCH(GetTexEnvfv, (target, pname, params), (F, "glGettexEnvfv(0x%x, 0x%x, %p);", target, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexEnviv)(GLenum target, GLenum pname, GLint *params) | KEYWORD1 void KEYWORD2 NAME(GetTexEnviv)(GLenum target, GLenum pname, GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexEnviv, (target, pname, params), (F, "glGetTexEnviv(0x%x, 0x%x, %p);", target, pname, params)); |    DISPATCH(GetTexEnviv, (target, pname, params), (F, "glGetTexEnviv(0x%x, 0x%x, %p);", target, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexGeniv)(GLenum target, GLenum pname, GLint *params) | KEYWORD1 void KEYWORD2 NAME(GetTexGeniv)(GLenum target, GLenum pname, GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexGeniv, (target, pname, params), (F, "glGetTexGeniv(0x%x, 0x%x, %p);", target, pname, params)); |    DISPATCH(GetTexGeniv, (target, pname, params), (F, "glGetTexGeniv(0x%x, 0x%x, %p);", target, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexGendv)(GLenum target, GLenum pname, GLdouble *params) | KEYWORD1 void KEYWORD2 NAME(GetTexGendv)(GLenum target, GLenum pname, GLdouble *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexGendv, (target, pname, params), (F, "glGetTexGendv(0x%x, 0x%x, %p;", target, pname, params)); |    DISPATCH(GetTexGendv, (target, pname, params), (F, "glGetTexGendv(0x%x, 0x%x, %p;", target, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexGenfv)(GLenum target, GLenum pname, GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(GetTexGenfv)(GLenum target, GLenum pname, GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexGenfv, (target, pname, params), (F, "glGetTexGenfv(0x%x, 0x%x, %p);", target, pname, params)); |    DISPATCH(GetTexGenfv, (target, pname, params), (F, "glGetTexGenfv(0x%x, 0x%x, %p);", target, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) | KEYWORD1 void KEYWORD2 NAME(GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) | ||||||
| @@ -639,22 +639,22 @@ KEYWORD1 void KEYWORD2 NAME(GetTexImage)(GLenum target, GLint level, GLenum form | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexLevelParameterfv, (target, level, pname, params), (F, "glGetTexLevelParameterfv(0x%x, %d, 0x%x, %p);", target, level, pname, params)); |    DISPATCH(GetTexLevelParameterfv, (target, level, pname, params), (F, "glGetTexLevelParameterfv(0x%x, %d, 0x%x, %p);", target, level, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params) | KEYWORD1 void KEYWORD2 NAME(GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexLevelParameteriv, (target, level, pname, params), (F, "glGetTexLevelParameteriv(0x%x, %d, 0x%x, %p);", target, level, pname, params)); |    DISPATCH(GetTexLevelParameteriv, (target, level, pname, params), (F, "glGetTexLevelParameteriv(0x%x, %d, 0x%x, %p);", target, level, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexParameterfv, (target, pname, params), (F, "glGetTexParameterfv(0x%x, 0x%x, %p);", target, pname, params)); |    DISPATCH(GetTexParameterfv, (target, pname, params), (F, "glGetTexParameterfv(0x%x, 0x%x, %p);", target, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetTexParameteriv)(GLenum target, GLenum pname, GLint *params) | KEYWORD1 void KEYWORD2 NAME(GetTexParameteriv)(GLenum target, GLenum pname, GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(GetTexParameteriv, (target, pname, params), (F, "glGetTexParameteriv(0x%x, 0x%x, %p);", target, pname, params)); |    DISPATCH(GetTexParameteriv, (target, pname, params), (F, "glGetTexParameteriv(0x%x, 0x%x, %p);", target, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Hint)(GLenum target, GLenum mode) | KEYWORD1 void KEYWORD2 NAME(Hint)(GLenum target, GLenum mode) | ||||||
| @@ -744,12 +744,12 @@ KEYWORD1 void KEYWORD2 NAME(Lighti)(GLenum light, GLenum pname, GLint param) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Lightfv)(GLenum light, GLenum pname, const GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(Lightfv)(GLenum light, GLenum pname, const GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(Lightfv, (light, pname, params), (F, "glLightfv(0x%x, 0x%x, %p);", light, pname, params)); |    DISPATCH(Lightfv, (light, pname, params), (F, "glLightfv(0x%x, 0x%x, %p);", light, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Lightiv)(GLenum light, GLenum pname, const GLint *params) | KEYWORD1 void KEYWORD2 NAME(Lightiv)(GLenum light, GLenum pname, const GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(Lightiv, (light, pname, params), (F, "glLightiv(0x%x, 0x%x, %p);", light, pname, params)); |    DISPATCH(Lightiv, (light, pname, params), (F, "glLightiv(0x%x, 0x%x, %p);", light, pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LightModelf)(GLenum pname, GLfloat param) | KEYWORD1 void KEYWORD2 NAME(LightModelf)(GLenum pname, GLfloat param) | ||||||
| @@ -764,12 +764,12 @@ KEYWORD1 void KEYWORD2 NAME(LightModeli)(GLenum pname, GLint param) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LightModelfv)(GLenum pname, const GLfloat *params) | KEYWORD1 void KEYWORD2 NAME(LightModelfv)(GLenum pname, const GLfloat *params) | ||||||
| { | { | ||||||
|    DISPATCH(LightModelfv, (pname, params), (F, "glLightModelfv(0x%x, %p);", pname, params)); |    DISPATCH(LightModelfv, (pname, params), (F, "glLightModelfv(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LightModeliv)(GLenum pname, const GLint *params) | KEYWORD1 void KEYWORD2 NAME(LightModeliv)(GLenum pname, const GLint *params) | ||||||
| { | { | ||||||
|    DISPATCH(LightModeliv, (pname, params), (F, "glLightModeliv(0x%x, %p);", pname, params)); |    DISPATCH(LightModeliv, (pname, params), (F, "glLightModeliv(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LineWidth)(GLfloat width) | KEYWORD1 void KEYWORD2 NAME(LineWidth)(GLfloat width) | ||||||
| @@ -794,12 +794,12 @@ KEYWORD1 void KEYWORD2 NAME(LoadIdentity)(void) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LoadMatrixd)(const GLdouble *m) | KEYWORD1 void KEYWORD2 NAME(LoadMatrixd)(const GLdouble *m) | ||||||
| { | { | ||||||
|    DISPATCH(LoadMatrixd, (m), (F, "glLoadMatirxd(%p);", m)); |    DISPATCH(LoadMatrixd, (m), (F, "glLoadMatirxd(%p);", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LoadMatrixf)(const GLfloat *m) | KEYWORD1 void KEYWORD2 NAME(LoadMatrixf)(const GLfloat *m) | ||||||
| { | { | ||||||
|    DISPATCH(LoadMatrixf, (m), (F, "glLoadMatrixf(%p);", m)); |    DISPATCH(LoadMatrixf, (m), (F, "glLoadMatrixf(%p);", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LoadName)(GLuint name) | KEYWORD1 void KEYWORD2 NAME(LoadName)(GLuint name) | ||||||
| @@ -879,12 +879,12 @@ KEYWORD1 void KEYWORD2 NAME(MatrixMode)(GLenum mode) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(MultMatrixd)(const GLdouble *m) | KEYWORD1 void KEYWORD2 NAME(MultMatrixd)(const GLdouble *m) | ||||||
| { | { | ||||||
|    DISPATCH(MultMatrixd, (m), (F, "glMultMatrixd(%p);", m)); |    DISPATCH(MultMatrixd, (m), (F, "glMultMatrixd(%p);", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(MultMatrixf)(const GLfloat *m) | KEYWORD1 void KEYWORD2 NAME(MultMatrixf)(const GLfloat *m) | ||||||
| { | { | ||||||
|    DISPATCH(MultMatrixf, (m), (F, "glMultMatrixf(%p);", m)); |    DISPATCH(MultMatrixf, (m), (F, "glMultMatrixf(%p);", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(NewList)(GLuint list, GLenum mode) | KEYWORD1 void KEYWORD2 NAME(NewList)(GLuint list, GLenum mode) | ||||||
| @@ -899,7 +899,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3bv)(const GLbyte *v) | KEYWORD1 void KEYWORD2 NAME(Normal3bv)(const GLbyte *v) | ||||||
| { | { | ||||||
|    DISPATCH(Normal3bv, (v), (F, "glNormal3bv(%p);", v)); |    DISPATCH(Normal3bv, (v), (F, "glNormal3bv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz) | KEYWORD1 void KEYWORD2 NAME(Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz) | ||||||
| @@ -909,7 +909,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3dv)(const GLdouble *v) | KEYWORD1 void KEYWORD2 NAME(Normal3dv)(const GLdouble *v) | ||||||
| { | { | ||||||
|    DISPATCH(Normal3dv, (v), (F, "glNormal3dv(%p);", v)); |    DISPATCH(Normal3dv, (v), (F, "glNormal3dv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz) | KEYWORD1 void KEYWORD2 NAME(Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz) | ||||||
| @@ -919,7 +919,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3fv)(const GLfloat *v) | KEYWORD1 void KEYWORD2 NAME(Normal3fv)(const GLfloat *v) | ||||||
| { | { | ||||||
|    DISPATCH(Normal3fv, (v), (F, "glNormal3fv(%p);", v)); |    DISPATCH(Normal3fv, (v), (F, "glNormal3fv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3i)(GLint nx, GLint ny, GLint nz) | KEYWORD1 void KEYWORD2 NAME(Normal3i)(GLint nx, GLint ny, GLint nz) | ||||||
| @@ -929,7 +929,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3i)(GLint nx, GLint ny, GLint nz) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3iv)(const GLint *v) | KEYWORD1 void KEYWORD2 NAME(Normal3iv)(const GLint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Normal3iv, (v), (F, "glNormal3iv(%p);", v)); |    DISPATCH(Normal3iv, (v), (F, "glNormal3iv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3s)(GLshort nx, GLshort ny, GLshort nz) | KEYWORD1 void KEYWORD2 NAME(Normal3s)(GLshort nx, GLshort ny, GLshort nz) | ||||||
| @@ -939,7 +939,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3s)(GLshort nx, GLshort ny, GLshort nz) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Normal3sv)(const GLshort *v) | KEYWORD1 void KEYWORD2 NAME(Normal3sv)(const GLshort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Normal3sv, (v), (F, "glNormal3sv(%p);", v)); |    DISPATCH(Normal3sv, (v), (F, "glNormal3sv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval) | KEYWORD1 void KEYWORD2 NAME(Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval) | ||||||
| @@ -1519,7 +1519,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2d)(GLdouble x, GLdouble y) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex2dv)(const GLdouble *v) | KEYWORD1 void KEYWORD2 NAME(Vertex2dv)(const GLdouble *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex2dv, (v), (F, "glVertex2dv(%p);", v)); |    DISPATCH(Vertex2dv, (v), (F, "glVertex2dv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex2f)(GLfloat x, GLfloat y) | KEYWORD1 void KEYWORD2 NAME(Vertex2f)(GLfloat x, GLfloat y) | ||||||
| @@ -1529,7 +1529,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2f)(GLfloat x, GLfloat y) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex2fv)(const GLfloat *v) | KEYWORD1 void KEYWORD2 NAME(Vertex2fv)(const GLfloat *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex2fv, (v), (F, "glVertex2fv(%p);", v)); |    DISPATCH(Vertex2fv, (v), (F, "glVertex2fv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex2i)(GLint x, GLint y) | KEYWORD1 void KEYWORD2 NAME(Vertex2i)(GLint x, GLint y) | ||||||
| @@ -1539,7 +1539,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2i)(GLint x, GLint y) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex2iv)(const GLint *v) | KEYWORD1 void KEYWORD2 NAME(Vertex2iv)(const GLint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex2iv, (v), (F, "glVertex2iv(%p);", v)); |    DISPATCH(Vertex2iv, (v), (F, "glVertex2iv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex2s)(GLshort x, GLshort y) | KEYWORD1 void KEYWORD2 NAME(Vertex2s)(GLshort x, GLshort y) | ||||||
| @@ -1549,7 +1549,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2s)(GLshort x, GLshort y) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex2sv)(const GLshort *v) | KEYWORD1 void KEYWORD2 NAME(Vertex2sv)(const GLshort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex2sv, (v), (F, "glVertex2sv(%p);", v)); |    DISPATCH(Vertex2sv, (v), (F, "glVertex2sv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3d)(GLdouble x, GLdouble y, GLdouble z) | KEYWORD1 void KEYWORD2 NAME(Vertex3d)(GLdouble x, GLdouble y, GLdouble z) | ||||||
| @@ -1559,7 +1559,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3d)(GLdouble x, GLdouble y, GLdouble z) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3dv)(const GLdouble *v) | KEYWORD1 void KEYWORD2 NAME(Vertex3dv)(const GLdouble *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex3dv, (v), (F, "glVertex3dv(%p);", v)); |    DISPATCH(Vertex3dv, (v), (F, "glVertex3dv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3f)(GLfloat x, GLfloat y, GLfloat z) | KEYWORD1 void KEYWORD2 NAME(Vertex3f)(GLfloat x, GLfloat y, GLfloat z) | ||||||
| @@ -1569,7 +1569,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3f)(GLfloat x, GLfloat y, GLfloat z) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3fv)(const GLfloat *v) | KEYWORD1 void KEYWORD2 NAME(Vertex3fv)(const GLfloat *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex3fv, (v), (F, "glVertex3fv(%p);", v)); |    DISPATCH(Vertex3fv, (v), (F, "glVertex3fv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3i)(GLint x, GLint y, GLint z) | KEYWORD1 void KEYWORD2 NAME(Vertex3i)(GLint x, GLint y, GLint z) | ||||||
| @@ -1579,7 +1579,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3i)(GLint x, GLint y, GLint z) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3iv)(const GLint *v) | KEYWORD1 void KEYWORD2 NAME(Vertex3iv)(const GLint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex3iv, (v), (F, "glVertex3iv(%p);", v)); |    DISPATCH(Vertex3iv, (v), (F, "glVertex3iv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3s)(GLshort x, GLshort y, GLshort z) | KEYWORD1 void KEYWORD2 NAME(Vertex3s)(GLshort x, GLshort y, GLshort z) | ||||||
| @@ -1589,7 +1589,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3s)(GLshort x, GLshort y, GLshort z) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex3sv)(const GLshort *v) | KEYWORD1 void KEYWORD2 NAME(Vertex3sv)(const GLshort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex3sv, (v), (F, "glVertex3sv(%p);", v)); |    DISPATCH(Vertex3sv, (v), (F, "glVertex3sv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) | KEYWORD1 void KEYWORD2 NAME(Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) | ||||||
| @@ -1599,7 +1599,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdoub | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4dv)(const GLdouble *v) | KEYWORD1 void KEYWORD2 NAME(Vertex4dv)(const GLdouble *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex4dv, (v), (F, "glVertex4dv(%p);", v)); |    DISPATCH(Vertex4dv, (v), (F, "glVertex4dv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) | KEYWORD1 void KEYWORD2 NAME(Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) | ||||||
| @@ -1609,7 +1609,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4fv)(const GLfloat *v) | KEYWORD1 void KEYWORD2 NAME(Vertex4fv)(const GLfloat *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex4fv, (v), (F, "glVertex4fv(%p);", v)); |    DISPATCH(Vertex4fv, (v), (F, "glVertex4fv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4i)(GLint x, GLint y, GLint z, GLint w) | KEYWORD1 void KEYWORD2 NAME(Vertex4i)(GLint x, GLint y, GLint z, GLint w) | ||||||
| @@ -1619,7 +1619,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex4i)(GLint x, GLint y, GLint z, GLint w) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4iv)(const GLint *v) | KEYWORD1 void KEYWORD2 NAME(Vertex4iv)(const GLint *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex4iv, (v), (F, "glVertex4iv(%p);", v)); |    DISPATCH(Vertex4iv, (v), (F, "glVertex4iv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w) | KEYWORD1 void KEYWORD2 NAME(Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w) | ||||||
| @@ -1629,7 +1629,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(Vertex4sv)(const GLshort *v) | KEYWORD1 void KEYWORD2 NAME(Vertex4sv)(const GLshort *v) | ||||||
| { | { | ||||||
|    DISPATCH(Vertex4sv, (v), (F, "glVertex4sv(%p);", v)); |    DISPATCH(Vertex4sv, (v), (F, "glVertex4sv(%p);", (void *) v)); | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1644,7 +1644,7 @@ KEYWORD1 void KEYWORD2 NAME(Viewport)(GLint x, GLint y, GLsizei width, GLsizei h | |||||||
|  |  | ||||||
| KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences) | KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences) | ||||||
| { | { | ||||||
|    RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResident(%d, %p, %p);", n, textures, residences)); |    RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResident(%d, %p, %p);", n, (void *) textures, (void *) residences)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(ArrayElement)(GLint i) | KEYWORD1 void KEYWORD2 NAME(ArrayElement)(GLint i) | ||||||
| @@ -1684,7 +1684,7 @@ KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage2D)(GLenum target, GLint level, GLint | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(DeleteTextures)(GLsizei n, const GLuint *textures) | KEYWORD1 void KEYWORD2 NAME(DeleteTextures)(GLsizei n, const GLuint *textures) | ||||||
| { | { | ||||||
|    DISPATCH(DeleteTextures, (n, textures), (F, "glDeleteTextures(%d, %p);", n, textures)); |    DISPATCH(DeleteTextures, (n, textures), (F, "glDeleteTextures(%d, %p);", n, (void *) textures)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(DisableClientState)(GLenum cap) | KEYWORD1 void KEYWORD2 NAME(DisableClientState)(GLenum cap) | ||||||
| @@ -1699,7 +1699,7 @@ KEYWORD1 void KEYWORD2 NAME(DrawArrays)(GLenum mode, GLint first, GLsizei count) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(EdgeFlagPointer)(GLsizei stride, const GLvoid *ptr) | KEYWORD1 void KEYWORD2 NAME(EdgeFlagPointer)(GLsizei stride, const GLvoid *ptr) | ||||||
| { | { | ||||||
|    DISPATCH(EdgeFlagPointer, (stride, ptr), (F, "glEdgeFlagPointer(%d, %p);", stride, ptr)); |    DISPATCH(EdgeFlagPointer, (stride, ptr), (F, "glEdgeFlagPointer(%d, %p);", stride, (void *) ptr)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(EnableClientState)(GLenum cap) | KEYWORD1 void KEYWORD2 NAME(EnableClientState)(GLenum cap) | ||||||
| @@ -1709,12 +1709,12 @@ KEYWORD1 void KEYWORD2 NAME(EnableClientState)(GLenum cap) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GenTextures)(GLsizei n, GLuint *textures) | KEYWORD1 void KEYWORD2 NAME(GenTextures)(GLsizei n, GLuint *textures) | ||||||
| { | { | ||||||
|    DISPATCH(GenTextures, (n, textures), (F, "glGenTextures(%d, %p);", n, textures)); |    DISPATCH(GenTextures, (n, textures), (F, "glGenTextures(%d, %p);", n, (void *) textures)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(GetPointerv)(GLenum pname, GLvoid **params) | KEYWORD1 void KEYWORD2 NAME(GetPointerv)(GLenum pname, GLvoid **params) | ||||||
| { | { | ||||||
|    DISPATCH(GetPointerv, (pname, params), (F, "glGetPointerv(0x%x, %p);", pname, params)); |    DISPATCH(GetPointerv, (pname, params), (F, "glGetPointerv(0x%x, %p);", pname, (void *) params)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(IndexPointer)(GLenum type, GLsizei stride, const GLvoid *ptr) | KEYWORD1 void KEYWORD2 NAME(IndexPointer)(GLenum type, GLsizei stride, const GLvoid *ptr) | ||||||
| @@ -1734,7 +1734,7 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsTexture)(GLuint texture) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(NormalPointer)(GLenum type, GLsizei stride, const GLvoid *ptr) | KEYWORD1 void KEYWORD2 NAME(NormalPointer)(GLenum type, GLsizei stride, const GLvoid *ptr) | ||||||
| { | { | ||||||
|    DISPATCH(NormalPointer, (type, stride, ptr), (F, "glNormalPointer(0x%x, %d, %p);", type, stride, ptr)); |    DISPATCH(NormalPointer, (type, stride, ptr), (F, "glNormalPointer(0x%x, %d, %p);", type, stride, (void *) ptr)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(PolygonOffset)(GLfloat factor, GLfloat units) | KEYWORD1 void KEYWORD2 NAME(PolygonOffset)(GLfloat factor, GLfloat units) | ||||||
| @@ -1749,7 +1749,7 @@ KEYWORD1 void KEYWORD2 NAME(PopClientAttrib)(void) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(PrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities) | KEYWORD1 void KEYWORD2 NAME(PrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities) | ||||||
| { | { | ||||||
|    DISPATCH(PrioritizeTextures, (n, textures, priorities), (F, "glPrioritizeTextures(%d, %p, %p);", n, textures, priorities)); |    DISPATCH(PrioritizeTextures, (n, textures, priorities), (F, "glPrioritizeTextures(%d, %p, %p);", n, (void *) textures, (void *) priorities)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(PushClientAttrib)(GLbitfield mask) | KEYWORD1 void KEYWORD2 NAME(PushClientAttrib)(GLbitfield mask) | ||||||
| @@ -2280,7 +2280,7 @@ KEYWORD1 void KEYWORD2 NAME(PrioritizeTexturesEXT)(GLsizei n, const GLuint *text | |||||||
|  |  | ||||||
| KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResidentEXT)(GLsizei n, const GLuint *textures, GLboolean *residences) | KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResidentEXT)(GLsizei n, const GLuint *textures, GLboolean *residences) | ||||||
| { | { | ||||||
|    RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResidentEXT(%d %p %p);", n, textures, residences)); |    RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResidentEXT(%d %p %p);", n, (void *) textures, (void *) residences)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 GLboolean KEYWORD2 NAME(IsTextureEXT)(GLuint texture) | KEYWORD1 GLboolean KEYWORD2 NAME(IsTextureEXT)(GLuint texture) | ||||||
| @@ -2703,7 +2703,7 @@ KEYWORD1 void KEYWORD2 NAME(LightEnviSGIX)(GLenum pname, GLint param) | |||||||
| /* 112. GL_EXT_draw_range_elements */ | /* 112. GL_EXT_draw_range_elements */ | ||||||
| KEYWORD1 void KEYWORD2 NAME(DrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) | KEYWORD1 void KEYWORD2 NAME(DrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) | ||||||
| { | { | ||||||
|    DISPATCH(DrawRangeElements, (mode, start, end, count, type, indices), (F, "glDrawRangeElementsEXT(0x%x, %u %u %d 0x%x %p);", mode, start, end, count, type, indices)); |    DISPATCH(DrawRangeElements, (mode, start, end, count, type, indices), (F, "glDrawRangeElementsEXT(0x%x, %u %u %d 0x%x %p);", mode, start, end, count, type, (void *) indices)); | ||||||
| } | } | ||||||
|  |  | ||||||
| /* 117. GL_EXT_light_texture */ | /* 117. GL_EXT_light_texture */ | ||||||
| @@ -2887,9 +2887,9 @@ KEYWORD1 void KEYWORD2 NAME(FogCoordfEXT)(GLfloat coord) | |||||||
|    DISPATCH(FogCoordfEXT, (coord), (F, "glFogCoordfEXT(%g);", coord)); |    DISPATCH(FogCoordfEXT, (coord), (F, "glFogCoordfEXT(%g);", coord)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(FogCoordfvEXT)(const GLfloat * coord) | KEYWORD1 void KEYWORD2 NAME(FogCoordfvEXT)(const GLfloat *coord) | ||||||
| { | { | ||||||
|    DISPATCH(FogCoordfvEXT, (coord), (F, "glFogCoordfvEXT(%p);", coord)); |    DISPATCH(FogCoordfvEXT, (coord), (F, "glFogCoordfvEXT(%p);", (void *) coord)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(FogCoorddEXT)(GLdouble coord) | KEYWORD1 void KEYWORD2 NAME(FogCoorddEXT)(GLdouble coord) | ||||||
| @@ -2899,12 +2899,12 @@ KEYWORD1 void KEYWORD2 NAME(FogCoorddEXT)(GLdouble coord) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(FogCoorddvEXT)(const GLdouble * coord) | KEYWORD1 void KEYWORD2 NAME(FogCoorddvEXT)(const GLdouble * coord) | ||||||
| { | { | ||||||
|    DISPATCH(FogCoorddvEXT, (coord), (F, "glFogCoorddvEXT(%p);", coord)); |    DISPATCH(FogCoorddvEXT, (coord), (F, "glFogCoorddvEXT(%p);", (void *) coord)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer) | KEYWORD1 void KEYWORD2 NAME(FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer) | ||||||
| { | { | ||||||
|    DISPATCH(FogCoordPointerEXT, (type, stride, pointer), (F, "glFogCoordPointerEXT(0x%x, %d, %p);", type, stride, pointer)); |    DISPATCH(FogCoordPointerEXT, (type, stride, pointer), (F, "glFogCoordPointerEXT(0x%x, %d, %p);", type, stride, (void *) pointer)); | ||||||
| } | } | ||||||
|  |  | ||||||
| /* 173. GL_EXT/INGR_blend_func_separate */ | /* 173. GL_EXT/INGR_blend_func_separate */ | ||||||
| @@ -3332,22 +3332,22 @@ KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4svARB)(GLenum target, const GLshort *v | |||||||
| /* ARB 3. GL_ARB_transpose_matrix */ | /* ARB 3. GL_ARB_transpose_matrix */ | ||||||
| KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixdARB)(const GLdouble m[16]) | KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixdARB)(const GLdouble m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(LoadTransposeMatrixdARB, (m), (F, "glLoadTransposeMatrixARB(%p);", m)); |    DISPATCH(LoadTransposeMatrixdARB, (m), (F, "glLoadTransposeMatrixARB(%p);", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixfARB)(const GLfloat m[16]) | KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixfARB)(const GLfloat m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(LoadTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", m)); |    DISPATCH(LoadTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixdARB)(const GLdouble m[16]) | KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixdARB)(const GLdouble m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(MultTransposeMatrixdARB, (m), (F, "glMultTransposeMatrixfARB(%p)", m)); |    DISPATCH(MultTransposeMatrixdARB, (m), (F, "glMultTransposeMatrixfARB(%p)", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixfARB)(const GLfloat m[16]) | KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixfARB)(const GLfloat m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(MultTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", m)); |    DISPATCH(MultTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| /* ARB 5. GL_ARB_multisample */ | /* ARB 5. GL_ARB_multisample */ | ||||||
| @@ -3610,22 +3610,22 @@ KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4sv)(GLenum target, const GLshort *v) | |||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixd)(const GLdouble m[16]) | KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixd)(const GLdouble m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(LoadTransposeMatrixdARB, (m), (F, "glLoadTransposeMatrixARB(%p);", m)); |    DISPATCH(LoadTransposeMatrixdARB, (m), (F, "glLoadTransposeMatrixARB(%p);", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixf)(const GLfloat m[16]) | KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixf)(const GLfloat m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(LoadTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", m)); |    DISPATCH(LoadTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixd)(const GLdouble m[16]) | KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixd)(const GLdouble m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(MultTransposeMatrixdARB, (m), (F, "glMultTransposeMatrixfARB(%p)", m)); |    DISPATCH(MultTransposeMatrixdARB, (m), (F, "glMultTransposeMatrixfARB(%p)", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixf)(const GLfloat m[16]) | KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixf)(const GLfloat m[16]) | ||||||
| { | { | ||||||
|    DISPATCH(MultTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", m)); |    DISPATCH(MultTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", (void *) m)); | ||||||
| } | } | ||||||
|  |  | ||||||
| KEYWORD1 void KEYWORD2 NAME(SampleCoverage)(GLclampf value, GLboolean invert) | KEYWORD1 void KEYWORD2 NAME(SampleCoverage)(GLclampf value, GLboolean invert) | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| #!/usr/bin/env python | #!/usr/bin/env python | ||||||
|  |  | ||||||
| # $Id: glsparcasm.py,v 1.4 2001/08/03 13:16:31 davem69 Exp $ | # $Id: glsparcasm.py,v 1.4.2.1 2001/12/17 19:44:54 brianp Exp $ | ||||||
|  |  | ||||||
| # Mesa 3-D graphics library | # Mesa 3-D graphics library | ||||||
| # Version:  3.5 | # Version:  3.5 | ||||||
| @@ -45,7 +45,7 @@ def PrintHead(): | |||||||
| 	print '#include "glapioffsets.h"' | 	print '#include "glapioffsets.h"' | ||||||
| 	print '' | 	print '' | ||||||
| 	print '#define GL_PREFIX(n) gl##n' | 	print '#define GL_PREFIX(n) gl##n' | ||||||
| 	print '#define GLOBL_FN(x) .globl x ; .type x,#function' | 	print '#define GLOBL_FN(x) .globl x' | ||||||
| 	print '' | 	print '' | ||||||
| 	print '/* The _glapi_Dispatch symbol addresses get relocated into the' | 	print '/* The _glapi_Dispatch symbol addresses get relocated into the' | ||||||
| 	print ' * sethi/or instruction sequences below at library init time.' | 	print ' * sethi/or instruction sequences below at library init time.' | ||||||
| @@ -83,6 +83,7 @@ def PrintTail(): | |||||||
| def GenerateDispatchCode(name, offset): | def GenerateDispatchCode(name, offset): | ||||||
| 	print '' | 	print '' | ||||||
| 	print "GLOBL_FN(GL_PREFIX(%s))" % (name) | 	print "GLOBL_FN(GL_PREFIX(%s))" % (name) | ||||||
|  | 	print ".type %s,#function" % (name) | ||||||
| 	print "GL_PREFIX(%s):" % (name) | 	print "GL_PREFIX(%s):" % (name) | ||||||
| 	print '#ifdef __sparc_v9__' | 	print '#ifdef __sparc_v9__' | ||||||
| 	print '\tsethi\t%hi(0x00000000), %g2' | 	print '\tsethi\t%hi(0x00000000), %g2' | ||||||
| @@ -100,6 +101,7 @@ def GenerateDispatchCode(name, offset): | |||||||
| 	print "\tld\t[%%g1 + (4 * _gloffset_%s)], %%g3" % (offset) | 	print "\tld\t[%%g1 + (4 * _gloffset_%s)], %%g3" % (offset) | ||||||
| 	print '#endif' | 	print '#endif' | ||||||
| 	print '\tjmpl\t%g3, %g0' | 	print '\tjmpl\t%g3, %g0' | ||||||
|  | 	print '\tnop' | ||||||
| #enddef | #enddef | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| #!/usr/bin/env python | #!/usr/bin/env python | ||||||
|  |  | ||||||
| # $Id: gltable.py,v 1.2 2000/05/11 17:44:42 brianp Exp $ | # $Id: gltable.py,v 1.2.6.1 2001/12/17 19:45:21 brianp Exp $ | ||||||
|  |  | ||||||
| # Mesa 3-D graphics library | # Mesa 3-D graphics library | ||||||
| # Version:  3.3 | # Version:  3.3 | ||||||
| @@ -89,6 +89,7 @@ TypeTable = { | |||||||
| 	'SizeI' : 'GLsizei', | 	'SizeI' : 'GLsizei', | ||||||
| 	'StencilValue' : 'GLint', | 	'StencilValue' : 'GLint', | ||||||
| 	'String' : 'const GLubyte *', | 	'String' : 'const GLubyte *', | ||||||
|  | 	'Texture' : 'GLuint', | ||||||
| 	'TexelInternalFormat' : 'GLint', | 	'TexelInternalFormat' : 'GLint', | ||||||
| 	'TextureComponentCount' : 'GLint', | 	'TextureComponentCount' : 'GLint', | ||||||
| 	'WinCoord' : 'GLint', | 	'WinCoord' : 'GLint', | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| # $Id: Makefile.X11,v 1.58 2001/09/23 16:11:26 brianp Exp $ | # $Id: Makefile.X11,v 1.58.2.2 2001/12/14 16:33:06 kschultz Exp $ | ||||||
|  |  | ||||||
| # Mesa 3-D graphics library | # Mesa 3-D graphics library | ||||||
| # Version:  4.0 | # Version:  4.0.1 | ||||||
| # Copyright (C) 1995-2001  Brian Paul | # Copyright (C) 1995-2001  Brian Paul | ||||||
|  |  | ||||||
| # Makefile for core library | # Makefile for core library | ||||||
| @@ -200,69 +200,6 @@ OSMESA_OBJECTS = OSmesa/osmesa.o | |||||||
| 	$(CC) -c -I. $(CFLAGS) $< -o $@ | 	$(CC) -c -I. $(CFLAGS) $< -o $@ | ||||||
|  |  | ||||||
|  |  | ||||||
| # UGH! These rules shouldn't be needed but IRIX's make (and others?) needs them |  | ||||||
| X/glxapi.o: X/glxapi.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/fakeglx.o: X/fakeglx.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xfonts.o: X/xfonts.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_api.o: X/xm_api.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_dd.o: X/xm_dd.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_span.o: X/xm_span.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_line.o: X/xm_line.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| X/xm_tri.o: X/xm_tri.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| SVGA/svgamesa.o: SVGA/svgamesa.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa8.o: SVGA/svgamesa8.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa15.o: SVGA/svgamesa15.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa16.o: SVGA/svgamesa16.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa24.o: SVGA/svgamesa24.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| SVGA/svgamesa32.o: SVGA/svgamesa32.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| OSmesa/osmesa.o: OSmesa/osmesa.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| FX/fxapi.o: FX/fxapi.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxclip.o: FX/fxclip.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxdd.o: FX/fxdd.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxddspan.o: FX/fxddspan.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxddtex.o: FX/fxddtex.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxfastpath.o: FX/fxfastpath.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxpipeline.o: FX/fxpipeline.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxrender.o: FX/fxrender.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxsanity.o: FX/fxsanity.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxsetup.o: FX/fxsetup.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxtrifuncs.o: FX/fxtrifuncs.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxtexman.o: FX/fxtexman.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxvsetup.o: FX/fxvsetup.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| FX/fxglidew.o: FX/fxglidew.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| FX/X86/fx_3dnow_fastpath.o: FX/X86/fx_3dnow_fastpath.S | FX/X86/fx_3dnow_fastpath.o: FX/X86/fx_3dnow_fastpath.S | ||||||
|  |  | ||||||
| X86/x86.o: X86/x86.c | X86/x86.o: X86/x86.c | ||||||
| @@ -279,26 +216,9 @@ X86/matypes.h: mtypes.h tnl/t_context.h X86/gen_matypes.c | |||||||
| 	./X86/gen_matypes > X86/matypes.h | 	./X86/gen_matypes > X86/matypes.h | ||||||
| 	rm -f X86/gen_matypes X86/*.o | 	rm -f X86/gen_matypes X86/*.o | ||||||
|  |  | ||||||
| $(ASM_SOURCES): X86/matypes.h | # We have X86/matypes.h depend on X86/matypes.h so that if ASM_SOURCES | ||||||
|  | # is empty we don't get an invalid Makefile. | ||||||
| GGI/ggimesa.o: GGI/ggimesa.c | $(ASM_SOURCES) X86/matypes.h: X86/matypes.h | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
| Trace/tr_2string.o: Trace/tr_2string.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_attrib.o: Trace/tr_attrib.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_context.o: Trace/tr_context.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_control.o: Trace/tr_control.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_error.o: Trace/tr_error.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_print.o: Trace/tr_print.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
| Trace/tr_wrapper.o: Trace/tr_wrapper.c |  | ||||||
| 	$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ##### TARGETS ##### | ##### TARGETS ##### | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: config.h,v 1.34 2001/07/16 15:54:23 brianp Exp $ */ | /* $Id: config.h,v 1.34.2.2 2001/11/28 17:18:20 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -134,6 +134,9 @@ | |||||||
| /* GL_EXT_texture_filter_anisotropic */ | /* GL_EXT_texture_filter_anisotropic */ | ||||||
| #define MAX_TEXTURE_MAX_ANISOTROPY 16.0 | #define MAX_TEXTURE_MAX_ANISOTROPY 16.0 | ||||||
|  |  | ||||||
|  | /* GL_EXT_texture_lod_bias */ | ||||||
|  | #define MAX_TEXTURE_LOD_BIAS 4.0 | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
| @@ -170,7 +173,7 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Bits per color channel (must be 8 at this time!) |  * Bits per color channel:  8, 16 or 32 | ||||||
|  */ |  */ | ||||||
| #ifndef CHAN_BITS | #ifndef CHAN_BITS | ||||||
| #define CHAN_BITS 8 | #define CHAN_BITS 8 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: context.c,v 1.148 2001/10/18 08:04:57 joukj Exp $ */ | /* $Id: context.c,v 1.148.2.1 2001/11/06 15:51:06 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -738,6 +738,7 @@ init_attrib_groups( GLcontext *ctx ) | |||||||
|    ctx->Const.MaxCubeTextureLevels = MAX_CUBE_TEXTURE_LEVELS; |    ctx->Const.MaxCubeTextureLevels = MAX_CUBE_TEXTURE_LEVELS; | ||||||
|    ctx->Const.MaxTextureUnits = MAX_TEXTURE_UNITS; |    ctx->Const.MaxTextureUnits = MAX_TEXTURE_UNITS; | ||||||
|    ctx->Const.MaxTextureMaxAnisotropy = MAX_TEXTURE_MAX_ANISOTROPY; |    ctx->Const.MaxTextureMaxAnisotropy = MAX_TEXTURE_MAX_ANISOTROPY; | ||||||
|  |    ctx->Const.MaxTextureLodBias = MAX_TEXTURE_LOD_BIAS; | ||||||
|    ctx->Const.MaxArrayLockSize = MAX_ARRAY_LOCK_SIZE; |    ctx->Const.MaxArrayLockSize = MAX_ARRAY_LOCK_SIZE; | ||||||
|    ctx->Const.SubPixelBits = SUB_PIXEL_BITS; |    ctx->Const.SubPixelBits = SUB_PIXEL_BITS; | ||||||
|    ctx->Const.MinPointSize = MIN_POINT_SIZE; |    ctx->Const.MinPointSize = MIN_POINT_SIZE; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: dlist.c,v 1.76 2001/09/18 16:16:21 kschultz Exp $ */ | /* $Id: dlist.c,v 1.76.2.1 2001/12/13 19:55:00 kschultz Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -3130,7 +3130,7 @@ static void save_TexParameterf( GLenum target, GLenum pname, GLfloat param ) | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| static void save_TexParameteri( GLenum target, GLenum pname, const GLint param ) | static void save_TexParameteri( GLenum target, GLenum pname, GLint param ) | ||||||
| { | { | ||||||
|    GLfloat fparam[4]; |    GLfloat fparam[4]; | ||||||
|    fparam[0] = (GLfloat) param; |    fparam[0] = (GLfloat) param; | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: drawpix.c,v 1.56 2001/06/26 21:15:35 brianp Exp $ */ | /* $Id: drawpix.c,v 1.56.2.1 2001/12/13 19:12:30 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -72,20 +72,13 @@ _mesa_DrawPixels( GLsizei width, GLsizei height, | |||||||
|    } |    } | ||||||
|    else if (ctx->RenderMode==GL_FEEDBACK) { |    else if (ctx->RenderMode==GL_FEEDBACK) { | ||||||
|       if (ctx->Current.RasterPosValid) { |       if (ctx->Current.RasterPosValid) { | ||||||
| 	 GLfloat texcoord[4], invq; |  | ||||||
|  |  | ||||||
| 	 FLUSH_CURRENT(ctx, 0); | 	 FLUSH_CURRENT(ctx, 0); | ||||||
|          invq = 1.0F / ctx->Current.Texcoord[0][3]; |  | ||||||
|          texcoord[0] = ctx->Current.Texcoord[0][0] * invq; |  | ||||||
|          texcoord[1] = ctx->Current.Texcoord[0][1] * invq; |  | ||||||
|          texcoord[2] = ctx->Current.Texcoord[0][2] * invq; |  | ||||||
|          texcoord[3] = ctx->Current.Texcoord[0][3]; |  | ||||||
|          FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_DRAW_PIXEL_TOKEN ); |          FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_DRAW_PIXEL_TOKEN ); | ||||||
|          _mesa_feedback_vertex( ctx, |          _mesa_feedback_vertex( ctx, | ||||||
| 				ctx->Current.RasterPos, | 				ctx->Current.RasterPos, | ||||||
| 				ctx->Current.Color, | 				ctx->Current.RasterColor, | ||||||
| 				ctx->Current.Index,  | 				ctx->Current.RasterIndex,  | ||||||
| 				texcoord ); | 				ctx->Current.RasterTexCoord ); | ||||||
|       } |       } | ||||||
|    } |    } | ||||||
|    else if (ctx->RenderMode==GL_SELECT) { |    else if (ctx->RenderMode==GL_SELECT) { | ||||||
| @@ -152,13 +145,15 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height, | |||||||
| 			      type ); | 			      type ); | ||||||
|    } |    } | ||||||
|    else if (ctx->RenderMode == GL_FEEDBACK) { |    else if (ctx->RenderMode == GL_FEEDBACK) { | ||||||
|       FLUSH_CURRENT( ctx, 0 ); |       if (ctx->Current.RasterPosValid) { | ||||||
|  | 	 FLUSH_CURRENT(ctx, 0); | ||||||
|          FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_COPY_PIXEL_TOKEN ); |          FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_COPY_PIXEL_TOKEN ); | ||||||
|          _mesa_feedback_vertex( ctx, |          _mesa_feedback_vertex( ctx, | ||||||
| 				ctx->Current.RasterPos, | 				ctx->Current.RasterPos, | ||||||
| 			     ctx->Current.Color,  | 				ctx->Current.RasterColor, | ||||||
| 			     ctx->Current.Index, | 				ctx->Current.RasterIndex,  | ||||||
| 			     ctx->Current.Texcoord[0] ); | 				ctx->Current.RasterTexCoord ); | ||||||
|  |       } | ||||||
|    } |    } | ||||||
|    else if (ctx->RenderMode == GL_SELECT) { |    else if (ctx->RenderMode == GL_SELECT) { | ||||||
|       _mesa_update_hitflag( ctx, ctx->Current.RasterPos[2] ); |       _mesa_update_hitflag( ctx, ctx->Current.RasterPos[2] ); | ||||||
| @@ -175,7 +170,6 @@ _mesa_Bitmap( GLsizei width, GLsizei height, | |||||||
|    GET_CURRENT_CONTEXT(ctx); |    GET_CURRENT_CONTEXT(ctx); | ||||||
|    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); |    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); | ||||||
|  |  | ||||||
|  |  | ||||||
|    /* Error checking */ |    /* Error checking */ | ||||||
|    if (width < 0 || height < 0) { |    if (width < 0 || height < 0) { | ||||||
|       _mesa_error( ctx, GL_INVALID_VALUE, "glBitmap" ); |       _mesa_error( ctx, GL_INVALID_VALUE, "glBitmap" ); | ||||||
| @@ -201,24 +195,15 @@ _mesa_Bitmap( GLsizei width, GLsizei height, | |||||||
|       } |       } | ||||||
|    } |    } | ||||||
|    else if (ctx->RenderMode==GL_FEEDBACK) { |    else if (ctx->RenderMode==GL_FEEDBACK) { | ||||||
|       GLfloat color[4], texcoord[4], invq; |       if (ctx->Current.RasterPosValid) { | ||||||
|  | 	 FLUSH_CURRENT(ctx, 0); | ||||||
|       color[0] = ctx->Current.RasterColor[0]; |  | ||||||
|       color[1] = ctx->Current.RasterColor[1]; |  | ||||||
|       color[2] = ctx->Current.RasterColor[2]; |  | ||||||
|       color[3] = ctx->Current.RasterColor[3]; |  | ||||||
|       if (ctx->Current.Texcoord[0][3] == 0.0) |  | ||||||
|          invq = 1.0F; |  | ||||||
|       else |  | ||||||
|          invq = 1.0F / ctx->Current.RasterTexCoord[3]; |  | ||||||
|       texcoord[0] = ctx->Current.RasterTexCoord[0] * invq; |  | ||||||
|       texcoord[1] = ctx->Current.RasterTexCoord[1] * invq; |  | ||||||
|       texcoord[2] = ctx->Current.RasterTexCoord[2] * invq; |  | ||||||
|       texcoord[3] = ctx->Current.RasterTexCoord[3]; |  | ||||||
|          FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_BITMAP_TOKEN ); |          FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_BITMAP_TOKEN ); | ||||||
|          _mesa_feedback_vertex( ctx, |          _mesa_feedback_vertex( ctx, | ||||||
| 				ctx->Current.RasterPos, | 				ctx->Current.RasterPos, | ||||||
| 			  color, ctx->Current.RasterIndex, texcoord ); | 				ctx->Current.RasterColor, | ||||||
|  | 				ctx->Current.RasterIndex,  | ||||||
|  | 				ctx->Current.RasterTexCoord ); | ||||||
|  |       } | ||||||
|    } |    } | ||||||
|    else if (ctx->RenderMode==GL_SELECT) { |    else if (ctx->RenderMode==GL_SELECT) { | ||||||
|       /* Bitmaps don't generate selection hits.  See appendix B of 1.1 spec. */ |       /* Bitmaps don't generate selection hits.  See appendix B of 1.1 spec. */ | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: get.c,v 1.70 2001/10/22 22:45:18 brianp Exp $ */ | /* $Id: get.c,v 1.69.2.3 2001/11/25 18:50:19 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  4.1 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -1258,6 +1258,11 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
| 	 *params = INT_TO_BOOL(ctx->Array.FogCoord.Stride); | 	 *params = INT_TO_BOOL(ctx->Array.FogCoord.Stride); | ||||||
| 	 break; | 	 break; | ||||||
|  |  | ||||||
|  |       /* GL_EXT_texture_lod_bias */ | ||||||
|  |       case GL_MAX_TEXTURE_LOD_BIAS_EXT: | ||||||
|  |          *params = FLOAT_TO_BOOL(ctx->Const.MaxTextureLodBias); | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_EXT_texture_filter_anisotropic */ |       /* GL_EXT_texture_filter_anisotropic */ | ||||||
|       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: |       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: | ||||||
|          if (ctx->Extensions.EXT_texture_filter_anisotropic) { |          if (ctx->Extensions.EXT_texture_filter_anisotropic) { | ||||||
| @@ -1278,6 +1283,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: |       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = ctx->Multisample.SampleAlphaToCoverage; |             *params = ctx->Multisample.SampleAlphaToCoverage; | ||||||
| @@ -1286,6 +1292,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_ONE_ARB: |       case GL_SAMPLE_ALPHA_TO_ONE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = ctx->Multisample.SampleAlphaToOne; |             *params = ctx->Multisample.SampleAlphaToOne; | ||||||
| @@ -1294,6 +1301,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_ARB: |       case GL_SAMPLE_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = ctx->Multisample.SampleCoverage; |             *params = ctx->Multisample.SampleCoverage; | ||||||
| @@ -1302,6 +1310,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_VALUE_ARB: |       case GL_SAMPLE_COVERAGE_VALUE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = FLOAT_TO_BOOL(ctx->Multisample.SampleCoverageValue); |             *params = FLOAT_TO_BOOL(ctx->Multisample.SampleCoverageValue); | ||||||
| @@ -1310,6 +1319,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_INVERT_ARB: |       case GL_SAMPLE_COVERAGE_INVERT_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = ctx->Multisample.SampleCoverageInvert; |             *params = ctx->Multisample.SampleCoverageInvert; | ||||||
| @@ -1318,6 +1328,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_BUFFERS_ARB: |       case GL_SAMPLE_BUFFERS_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0; /* XXX fix someday */ |             *params = 0; /* XXX fix someday */ | ||||||
| @@ -1326,6 +1337,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLES_ARB: |       case GL_SAMPLES_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0; /* XXX fix someday */ |             *params = 0; /* XXX fix someday */ | ||||||
| @@ -1334,6 +1346,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_IBM_rasterpos_clip */ |       /* GL_IBM_rasterpos_clip */ | ||||||
|       case GL_RASTER_POSITION_UNCLIPPED_IBM: |       case GL_RASTER_POSITION_UNCLIPPED_IBM: | ||||||
| @@ -1344,6 +1357,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBoolean"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetBoolean"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_MESA_sprite_point */ |       /* GL_MESA_sprite_point */ | ||||||
|       case GL_SPRITE_POINT_MESA: |       case GL_SPRITE_POINT_MESA: | ||||||
| @@ -2548,6 +2562,11 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
| 	 *params = (GLdouble) ctx->Array.FogCoord.Stride; | 	 *params = (GLdouble) ctx->Array.FogCoord.Stride; | ||||||
| 	 break; | 	 break; | ||||||
|  |  | ||||||
|  |       /* GL_EXT_texture_lod_bias */ | ||||||
|  |       case GL_MAX_TEXTURE_LOD_BIAS_EXT: | ||||||
|  |          *params = (GLdouble) ctx->Const.MaxTextureLodBias; | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_EXT_texture_filter_anisotropic */ |       /* GL_EXT_texture_filter_anisotropic */ | ||||||
|       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: |       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: | ||||||
|          if (ctx->Extensions.EXT_texture_filter_anisotropic) { |          if (ctx->Extensions.EXT_texture_filter_anisotropic) { | ||||||
| @@ -2568,6 +2587,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: |       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLdouble) ctx->Multisample.SampleAlphaToCoverage; |             *params = (GLdouble) ctx->Multisample.SampleAlphaToCoverage; | ||||||
| @@ -2576,6 +2596,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_ONE_ARB: |       case GL_SAMPLE_ALPHA_TO_ONE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLdouble) ctx->Multisample.SampleAlphaToOne; |             *params = (GLdouble) ctx->Multisample.SampleAlphaToOne; | ||||||
| @@ -2584,6 +2605,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_ARB: |       case GL_SAMPLE_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLdouble) ctx->Multisample.SampleCoverage; |             *params = (GLdouble) ctx->Multisample.SampleCoverage; | ||||||
| @@ -2592,6 +2614,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_VALUE_ARB: |       case GL_SAMPLE_COVERAGE_VALUE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = ctx->Multisample.SampleCoverageValue; |             *params = ctx->Multisample.SampleCoverageValue; | ||||||
| @@ -2600,6 +2623,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_INVERT_ARB: |       case GL_SAMPLE_COVERAGE_INVERT_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLdouble) ctx->Multisample.SampleCoverageInvert; |             *params = (GLdouble) ctx->Multisample.SampleCoverageInvert; | ||||||
| @@ -2608,6 +2632,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_BUFFERS_ARB: |       case GL_SAMPLE_BUFFERS_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0.0; /* XXX fix someday */ |             *params = 0.0; /* XXX fix someday */ | ||||||
| @@ -2616,6 +2641,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLES_ARB: |       case GL_SAMPLES_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0.0; /* XXX fix someday */ |             *params = 0.0; /* XXX fix someday */ | ||||||
| @@ -2624,6 +2650,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_IBM_rasterpos_clip */ |       /* GL_IBM_rasterpos_clip */ | ||||||
|       case GL_RASTER_POSITION_UNCLIPPED_IBM: |       case GL_RASTER_POSITION_UNCLIPPED_IBM: | ||||||
| @@ -2634,6 +2661,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_MESA_sprite_point */ |       /* GL_MESA_sprite_point */ | ||||||
|       case GL_SPRITE_POINT_MESA: |       case GL_SPRITE_POINT_MESA: | ||||||
| @@ -3819,6 +3847,11 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
| 	 *params = (GLfloat) ctx->Array.FogCoord.Stride; | 	 *params = (GLfloat) ctx->Array.FogCoord.Stride; | ||||||
| 	 break; | 	 break; | ||||||
|  |  | ||||||
|  |       /* GL_EXT_texture_lod_bias */ | ||||||
|  |       case GL_MAX_TEXTURE_LOD_BIAS_EXT: | ||||||
|  |          *params = ctx->Const.MaxTextureLodBias; | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_EXT_texture_filter_anisotropic */ |       /* GL_EXT_texture_filter_anisotropic */ | ||||||
|       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: |       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: | ||||||
|          if (ctx->Extensions.EXT_texture_filter_anisotropic) { |          if (ctx->Extensions.EXT_texture_filter_anisotropic) { | ||||||
| @@ -3839,6 +3872,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: |       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLfloat) ctx->Multisample.SampleAlphaToCoverage; |             *params = (GLfloat) ctx->Multisample.SampleAlphaToCoverage; | ||||||
| @@ -3847,6 +3881,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_ONE_ARB: |       case GL_SAMPLE_ALPHA_TO_ONE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLfloat) ctx->Multisample.SampleAlphaToOne; |             *params = (GLfloat) ctx->Multisample.SampleAlphaToOne; | ||||||
| @@ -3855,6 +3890,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_ARB: |       case GL_SAMPLE_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLfloat) ctx->Multisample.SampleCoverage; |             *params = (GLfloat) ctx->Multisample.SampleCoverage; | ||||||
| @@ -3863,6 +3899,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_VALUE_ARB: |       case GL_SAMPLE_COVERAGE_VALUE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = ctx->Multisample.SampleCoverageValue; |             *params = ctx->Multisample.SampleCoverageValue; | ||||||
| @@ -3871,6 +3908,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_INVERT_ARB: |       case GL_SAMPLE_COVERAGE_INVERT_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLfloat) ctx->Multisample.SampleCoverageInvert; |             *params = (GLfloat) ctx->Multisample.SampleCoverageInvert; | ||||||
| @@ -3879,6 +3917,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_BUFFERS_ARB: |       case GL_SAMPLE_BUFFERS_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0.0; /* XXX fix someday */ |             *params = 0.0; /* XXX fix someday */ | ||||||
| @@ -3887,6 +3926,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLES_ARB: |       case GL_SAMPLES_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0.0; /* XXX fix someday */ |             *params = 0.0; /* XXX fix someday */ | ||||||
| @@ -3895,6 +3935,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_IBM_rasterpos_clip */ |       /* GL_IBM_rasterpos_clip */ | ||||||
|       case GL_RASTER_POSITION_UNCLIPPED_IBM: |       case GL_RASTER_POSITION_UNCLIPPED_IBM: | ||||||
| @@ -3905,6 +3946,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) | |||||||
|             GET_FLOAT_ERROR; |             GET_FLOAT_ERROR; | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_MESA_sprite_point */ |       /* GL_MESA_sprite_point */ | ||||||
|       case GL_SPRITE_POINT_MESA: |       case GL_SPRITE_POINT_MESA: | ||||||
| @@ -5132,6 +5174,11 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|          } |          } | ||||||
| 	 break; | 	 break; | ||||||
|  |  | ||||||
|  |       /* GL_EXT_texture_lod_bias */ | ||||||
|  |       case GL_MAX_TEXTURE_LOD_BIAS_EXT: | ||||||
|  |          *params = (GLint) ctx->Const.MaxTextureLodBias; | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_EXT_texture_filter_anisotropic */ |       /* GL_EXT_texture_filter_anisotropic */ | ||||||
|       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: |       case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: | ||||||
|          if (ctx->Extensions.EXT_texture_filter_anisotropic) { |          if (ctx->Extensions.EXT_texture_filter_anisotropic) { | ||||||
| @@ -5152,6 +5199,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: |       case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLint) ctx->Multisample.SampleAlphaToCoverage; |             *params = (GLint) ctx->Multisample.SampleAlphaToCoverage; | ||||||
| @@ -5160,6 +5208,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_ALPHA_TO_ONE_ARB: |       case GL_SAMPLE_ALPHA_TO_ONE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLint) ctx->Multisample.SampleAlphaToOne; |             *params = (GLint) ctx->Multisample.SampleAlphaToOne; | ||||||
| @@ -5168,6 +5217,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_ARB: |       case GL_SAMPLE_COVERAGE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLint) ctx->Multisample.SampleCoverage; |             *params = (GLint) ctx->Multisample.SampleCoverage; | ||||||
| @@ -5176,6 +5226,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_VALUE_ARB: |       case GL_SAMPLE_COVERAGE_VALUE_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLint) ctx->Multisample.SampleCoverageValue; |             *params = (GLint) ctx->Multisample.SampleCoverageValue; | ||||||
| @@ -5184,6 +5235,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_COVERAGE_INVERT_ARB: |       case GL_SAMPLE_COVERAGE_INVERT_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = (GLint) ctx->Multisample.SampleCoverageInvert; |             *params = (GLint) ctx->Multisample.SampleCoverageInvert; | ||||||
| @@ -5192,6 +5244,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLE_BUFFERS_ARB: |       case GL_SAMPLE_BUFFERS_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0; /* XXX fix someday */ |             *params = 0; /* XXX fix someday */ | ||||||
| @@ -5200,6 +5253,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|       case GL_SAMPLES_ARB: |       case GL_SAMPLES_ARB: | ||||||
|          if (ctx->Extensions.ARB_multisample) { |          if (ctx->Extensions.ARB_multisample) { | ||||||
|             *params = 0; /* XXX fix someday */ |             *params = 0; /* XXX fix someday */ | ||||||
| @@ -5208,6 +5262,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_IBM_rasterpos_clip */ |       /* GL_IBM_rasterpos_clip */ | ||||||
|       case GL_RASTER_POSITION_UNCLIPPED_IBM: |       case GL_RASTER_POSITION_UNCLIPPED_IBM: | ||||||
| @@ -5218,6 +5273,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); |             _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv"); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          break; | ||||||
|  |  | ||||||
|       /* GL_MESA_sprite_point */ |       /* GL_MESA_sprite_point */ | ||||||
|       case GL_SPRITE_POINT_MESA: |       case GL_SPRITE_POINT_MESA: | ||||||
| @@ -5310,8 +5366,8 @@ _mesa_GetString( GLenum name ) | |||||||
|    GET_CURRENT_CONTEXT(ctx); |    GET_CURRENT_CONTEXT(ctx); | ||||||
|    static const char *vendor = "Brian Paul"; |    static const char *vendor = "Brian Paul"; | ||||||
|    static const char *renderer = "Mesa"; |    static const char *renderer = "Mesa"; | ||||||
|    static const char *version_1_2 = "1.2 Mesa 4.1"; |    static const char *version_1_2 = "1.2 Mesa 4.0.1"; | ||||||
|    static const char *version_1_3 = "1.3 Mesa 4.1"; |    static const char *version_1_3 = "1.3 Mesa 4.0.1"; | ||||||
|  |  | ||||||
|    ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0); |    ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: hash.c,v 1.10 2001/03/12 00:48:38 gareth Exp $ */ | /* $Id: hash.c,v 1.10.2.1 2001/11/02 00:56:45 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -64,7 +64,11 @@ struct _mesa_HashTable { | |||||||
|  */ |  */ | ||||||
| struct _mesa_HashTable *_mesa_NewHashTable(void) | struct _mesa_HashTable *_mesa_NewHashTable(void) | ||||||
| { | { | ||||||
|    return CALLOC_STRUCT(_mesa_HashTable); |    struct _mesa_HashTable *table = CALLOC_STRUCT(_mesa_HashTable); | ||||||
|  |    if (table) { | ||||||
|  |       _glthread_INIT_MUTEX(table->Mutex); | ||||||
|  |    } | ||||||
|  |    return table; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| DESCRIPTION 'Mesa (OpenGL work-alike) for Win32' | DESCRIPTION 'Mesa (OpenGL work-alike) for Win32' | ||||||
| VERSION 3.5 | VERSION 4.0 | ||||||
|  |  | ||||||
| EXPORTS | EXPORTS | ||||||
| 	glAccum | 	glAccum | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: mtypes.h,v 1.51 2001/10/17 13:31:07 brianp Exp $ */ | /* $Id: mtypes.h,v 1.51.2.1 2001/11/06 15:51:07 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -1165,6 +1165,7 @@ struct gl_constants { | |||||||
|    GLint MaxCubeTextureLevels; |    GLint MaxCubeTextureLevels; | ||||||
|    GLuint MaxTextureUnits; |    GLuint MaxTextureUnits; | ||||||
|    GLfloat MaxTextureMaxAnisotropy;	/* GL_EXT_texture_filter_anisotropic */ |    GLfloat MaxTextureMaxAnisotropy;	/* GL_EXT_texture_filter_anisotropic */ | ||||||
|  |    GLfloat MaxTextureLodBias;           /* GL_EXT_texture_lod_bias */ | ||||||
|    GLuint MaxArrayLockSize; |    GLuint MaxArrayLockSize; | ||||||
|    GLint SubPixelBits; |    GLint SubPixelBits; | ||||||
|    GLfloat MinPointSize, MaxPointSize;		/* aliased */ |    GLfloat MinPointSize, MaxPointSize;		/* aliased */ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: teximage.c,v 1.104 2001/09/18 23:06:14 kschultz Exp $ */ | /* $Id: teximage.c,v 1.104.2.1 2001/11/03 04:10:08 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -665,7 +665,7 @@ texture_error_check( GLcontext *ctx, GLenum target, | |||||||
|           _mesa_error( ctx, GL_INVALID_ENUM, "glTexImage2D(target)" ); |           _mesa_error( ctx, GL_INVALID_ENUM, "glTexImage2D(target)" ); | ||||||
|           return GL_TRUE; |           return GL_TRUE; | ||||||
|       } |       } | ||||||
|       if (target == GL_PROXY_TEXTURE_2D && target == GL_TEXTURE_2D) |       if (target == GL_PROXY_TEXTURE_2D || target == GL_TEXTURE_2D) | ||||||
|          maxLevels = ctx->Const.MaxTextureLevels; |          maxLevels = ctx->Const.MaxTextureLevels; | ||||||
|       else |       else | ||||||
|          maxLevels = ctx->Const.MaxCubeTextureLevels; |          maxLevels = ctx->Const.MaxCubeTextureLevels; | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: texstate.c,v 1.58 2001/10/17 13:31:07 brianp Exp $ */ | /* $Id: texstate.c,v 1.58.2.2 2001/12/13 16:02:32 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -413,7 +413,8 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) | |||||||
| 	 if (texUnit->LodBias == param[0]) | 	 if (texUnit->LodBias == param[0]) | ||||||
| 	    return; | 	    return; | ||||||
| 	 FLUSH_VERTICES(ctx, _NEW_TEXTURE); | 	 FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
| 	 texUnit->LodBias = param[0]; |          texUnit->LodBias = CLAMP(param[0], -ctx->Const.MaxTextureLodBias, | ||||||
|  |                                   ctx->Const.MaxTextureLodBias); | ||||||
| 	 break; | 	 break; | ||||||
|       default: |       default: | ||||||
|          TE_ERROR(GL_INVALID_ENUM, "glTexEnv(pname=%s)", pname); |          TE_ERROR(GL_INVALID_ENUM, "glTexEnv(pname=%s)", pname); | ||||||
| @@ -896,6 +897,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|              || eparam==GL_LINEAR_MIPMAP_NEAREST |              || eparam==GL_LINEAR_MIPMAP_NEAREST | ||||||
|              || eparam==GL_NEAREST_MIPMAP_LINEAR |              || eparam==GL_NEAREST_MIPMAP_LINEAR | ||||||
|              || eparam==GL_LINEAR_MIPMAP_LINEAR) { |              || eparam==GL_LINEAR_MIPMAP_LINEAR) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->MinFilter = eparam; |             texObj->MinFilter = eparam; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -909,6 +911,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|             return; |             return; | ||||||
|  |  | ||||||
|          if (eparam==GL_NEAREST || eparam==GL_LINEAR) { |          if (eparam==GL_NEAREST || eparam==GL_LINEAR) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->MagFilter = eparam; |             texObj->MagFilter = eparam; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -926,6 +929,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|               ctx->Extensions.ARB_texture_border_clamp) || |               ctx->Extensions.ARB_texture_border_clamp) || | ||||||
|              (eparam == GL_MIRRORED_REPEAT_ARB && |              (eparam == GL_MIRRORED_REPEAT_ARB && | ||||||
|               ctx->Extensions.ARB_texture_mirrored_repeat)) { |               ctx->Extensions.ARB_texture_mirrored_repeat)) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->WrapS = eparam; |             texObj->WrapS = eparam; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -943,6 +947,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|               ctx->Extensions.ARB_texture_border_clamp) || |               ctx->Extensions.ARB_texture_border_clamp) || | ||||||
|              (eparam == GL_MIRRORED_REPEAT_ARB && |              (eparam == GL_MIRRORED_REPEAT_ARB && | ||||||
|               ctx->Extensions.ARB_texture_mirrored_repeat)) { |               ctx->Extensions.ARB_texture_mirrored_repeat)) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->WrapT = eparam; |             texObj->WrapT = eparam; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -960,6 +965,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|               ctx->Extensions.ARB_texture_border_clamp) || |               ctx->Extensions.ARB_texture_border_clamp) || | ||||||
|              (eparam == GL_MIRRORED_REPEAT_ARB && |              (eparam == GL_MIRRORED_REPEAT_ARB && | ||||||
|               ctx->Extensions.ARB_texture_mirrored_repeat)) { |               ctx->Extensions.ARB_texture_mirrored_repeat)) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->WrapR = eparam; |             texObj->WrapR = eparam; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -967,15 +973,22 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|          } |          } | ||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_BORDER_COLOR: |       case GL_TEXTURE_BORDER_COLOR: | ||||||
|  |          FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[0], params[0]); |          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[0], params[0]); | ||||||
|          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[1], params[1]); |          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[1], params[1]); | ||||||
|          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[2], params[2]); |          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[2], params[2]); | ||||||
|          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[3], params[3]); |          UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[3], params[3]); | ||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_MIN_LOD: |       case GL_TEXTURE_MIN_LOD: | ||||||
|  |          if (texObj->MinLod == params[0]) | ||||||
|  |             return; | ||||||
|  |          FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|          texObj->MinLod = params[0]; |          texObj->MinLod = params[0]; | ||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_MAX_LOD: |       case GL_TEXTURE_MAX_LOD: | ||||||
|  |          if (texObj->MaxLod == params[0]) | ||||||
|  |             return; | ||||||
|  |          FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|          texObj->MaxLod = params[0]; |          texObj->MaxLod = params[0]; | ||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_BASE_LEVEL: |       case GL_TEXTURE_BASE_LEVEL: | ||||||
| @@ -983,6 +996,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); |             _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|          texObj->BaseLevel = (GLint) params[0]; |          texObj->BaseLevel = (GLint) params[0]; | ||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_MAX_LEVEL: |       case GL_TEXTURE_MAX_LEVEL: | ||||||
| @@ -990,10 +1004,12 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|             _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); |             _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); | ||||||
|             return; |             return; | ||||||
|          } |          } | ||||||
|  |          FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|          texObj->MaxLevel = (GLint) params[0]; |          texObj->MaxLevel = (GLint) params[0]; | ||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_PRIORITY: |       case GL_TEXTURE_PRIORITY: | ||||||
|          /* (keithh@netcomuk.co.uk) */ |          /* (keithh@netcomuk.co.uk) */ | ||||||
|  |          FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|          texObj->Priority = CLAMP( params[0], 0.0F, 1.0F ); |          texObj->Priority = CLAMP( params[0], 0.0F, 1.0F ); | ||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_MAX_ANISOTROPY_EXT: |       case GL_TEXTURE_MAX_ANISOTROPY_EXT: | ||||||
| @@ -1002,6 +1018,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
| 	       _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); | 	       _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); | ||||||
| 	       return; | 	       return; | ||||||
| 	    } | 	    } | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->MaxAnisotropy = params[0]; |             texObj->MaxAnisotropy = params[0]; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -1012,6 +1029,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|          break; |          break; | ||||||
|       case GL_TEXTURE_COMPARE_SGIX: |       case GL_TEXTURE_COMPARE_SGIX: | ||||||
|          if (ctx->Extensions.SGIX_shadow) { |          if (ctx->Extensions.SGIX_shadow) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->CompareFlag = params[0] ? GL_TRUE : GL_FALSE; |             texObj->CompareFlag = params[0] ? GL_TRUE : GL_FALSE; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -1025,6 +1043,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|             GLenum op = (GLenum) params[0]; |             GLenum op = (GLenum) params[0]; | ||||||
|             if (op == GL_TEXTURE_LEQUAL_R_SGIX || |             if (op == GL_TEXTURE_LEQUAL_R_SGIX || | ||||||
|                 op == GL_TEXTURE_GEQUAL_R_SGIX) { |                 op == GL_TEXTURE_GEQUAL_R_SGIX) { | ||||||
|  |                FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|                texObj->CompareOperator = op; |                texObj->CompareOperator = op; | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
| @@ -1039,6 +1058,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|          break; |          break; | ||||||
|       case GL_SHADOW_AMBIENT_SGIX: |       case GL_SHADOW_AMBIENT_SGIX: | ||||||
|          if (ctx->Extensions.SGIX_shadow_ambient) { |          if (ctx->Extensions.SGIX_shadow_ambient) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             UNCLAMPED_FLOAT_TO_CHAN(texObj->ShadowAmbient, params[0]); |             UNCLAMPED_FLOAT_TO_CHAN(texObj->ShadowAmbient, params[0]); | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -1049,6 +1069,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|          break; |          break; | ||||||
|       case GL_GENERATE_MIPMAP_SGIS: |       case GL_GENERATE_MIPMAP_SGIS: | ||||||
|          if (ctx->Extensions.SGIS_generate_mipmap) { |          if (ctx->Extensions.SGIS_generate_mipmap) { | ||||||
|  |             FLUSH_VERTICES(ctx, _NEW_TEXTURE); | ||||||
|             texObj->GenerateMipmap = params[0] ? GL_TRUE : GL_FALSE; |             texObj->GenerateMipmap = params[0] ? GL_TRUE : GL_FALSE; | ||||||
|          } |          } | ||||||
|          else { |          else { | ||||||
| @@ -1066,7 +1087,6 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) | |||||||
|          return; |          return; | ||||||
|    } |    } | ||||||
|  |  | ||||||
|    ctx->NewState |= _NEW_TEXTURE; |  | ||||||
|    texObj->Complete = GL_FALSE; |    texObj->Complete = GL_FALSE; | ||||||
|  |  | ||||||
|    if (ctx->Driver.TexParameter) { |    if (ctx->Driver.TexParameter) { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: vtxfmt_tmp.h,v 1.4 2001/03/12 00:48:39 gareth Exp $ */ | /* $Id: vtxfmt_tmp.h,v 1.4.2.1 2001/11/26 23:45:36 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -136,13 +136,13 @@ static void TAG(EvalPoint2)( GLint a, GLint b ) | |||||||
| static void TAG(FogCoordfEXT)( GLfloat a ) | static void TAG(FogCoordfEXT)( GLfloat a ) | ||||||
| { | { | ||||||
|    PRE_LOOPBACK( FogCoordfEXT ); |    PRE_LOOPBACK( FogCoordfEXT ); | ||||||
|    glFogCoordfEXT( a ); |    _glapi_Dispatch->FogCoordfEXT( a ); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void TAG(FogCoordfvEXT)( const GLfloat *v ) | static void TAG(FogCoordfvEXT)( const GLfloat *v ) | ||||||
| { | { | ||||||
|    PRE_LOOPBACK( FogCoordfvEXT ); |    PRE_LOOPBACK( FogCoordfvEXT ); | ||||||
|    glFogCoordfvEXT( v ); |    _glapi_Dispatch->FogCoordfvEXT( v ); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void TAG(Indexi)( GLint a ) | static void TAG(Indexi)( GLint a ) | ||||||
| @@ -228,25 +228,25 @@ static void TAG(Normal3fv)( const GLfloat *v ) | |||||||
| static void TAG(SecondaryColor3fEXT)( GLfloat a, GLfloat b, GLfloat c ) | static void TAG(SecondaryColor3fEXT)( GLfloat a, GLfloat b, GLfloat c ) | ||||||
| { | { | ||||||
|    PRE_LOOPBACK( SecondaryColor3fEXT ); |    PRE_LOOPBACK( SecondaryColor3fEXT ); | ||||||
|    glSecondaryColor3fEXT( a, b, c ); |    _glapi_Dispatch->SecondaryColor3fEXT( a, b, c ); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void TAG(SecondaryColor3fvEXT)( const GLfloat *v ) | static void TAG(SecondaryColor3fvEXT)( const GLfloat *v ) | ||||||
| { | { | ||||||
|    PRE_LOOPBACK( SecondaryColor3fvEXT ); |    PRE_LOOPBACK( SecondaryColor3fvEXT ); | ||||||
|    glSecondaryColor3fvEXT( v ); |    _glapi_Dispatch->SecondaryColor3fvEXT( v ); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void TAG(SecondaryColor3ubEXT)( GLubyte a, GLubyte b, GLubyte c ) | static void TAG(SecondaryColor3ubEXT)( GLubyte a, GLubyte b, GLubyte c ) | ||||||
| { | { | ||||||
|    PRE_LOOPBACK( SecondaryColor3ubEXT ); |    PRE_LOOPBACK( SecondaryColor3ubEXT ); | ||||||
|    glSecondaryColor3ubEXT( a, b, c ); |    _glapi_Dispatch->SecondaryColor3ubEXT( a, b, c ); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void TAG(SecondaryColor3ubvEXT)( const GLubyte *v ) | static void TAG(SecondaryColor3ubvEXT)( const GLubyte *v ) | ||||||
| { | { | ||||||
|    PRE_LOOPBACK( SecondaryColor3ubvEXT ); |    PRE_LOOPBACK( SecondaryColor3ubvEXT ); | ||||||
|    glSecondaryColor3ubvEXT( v ); |    _glapi_Dispatch->SecondaryColor3ubvEXT( v ); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void TAG(TexCoord1f)( GLfloat a ) | static void TAG(TexCoord1f)( GLfloat a ) | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: s_aalinetemp.h,v 1.14 2001/09/19 20:30:44 kschultz Exp $ */ | /* $Id: s_aalinetemp.h,v 1.14.2.1 2001/12/05 10:22:55 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -162,7 +162,7 @@ NAME(line)(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1) | |||||||
|    line.len = (GLfloat) sqrt(line.dx * line.dx + line.dy * line.dy); |    line.len = (GLfloat) sqrt(line.dx * line.dx + line.dy * line.dy); | ||||||
|    line.halfWidth = 0.5F * ctx->Line.Width; |    line.halfWidth = 0.5F * ctx->Line.Width; | ||||||
|  |  | ||||||
|    if (line.len == 0.0) |    if (line.len == 0.0 || IS_INF_OR_NAN(line.len)) | ||||||
|       return; |       return; | ||||||
|  |  | ||||||
|    line.xAdj = line.dx / line.len * line.halfWidth; |    line.xAdj = line.dx / line.len * line.halfWidth; | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: s_aatriangle.c,v 1.19 2001/09/19 20:30:44 kschultz Exp $ */ | /* $Id: s_aatriangle.c,v 1.19.2.1 2001/11/13 00:24:51 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -142,27 +142,43 @@ static GLfloat | |||||||
| compute_coveragef(const GLfloat v0[3], const GLfloat v1[3], | compute_coveragef(const GLfloat v0[3], const GLfloat v1[3], | ||||||
|                   const GLfloat v2[3], GLint winx, GLint winy) |                   const GLfloat v2[3], GLint winx, GLint winy) | ||||||
| { | { | ||||||
| #define B 0.125 |    /* Given a position [0,3]x[0,3] return the sub-pixel sample position. | ||||||
|  |     * Contributed by Ray Tice. | ||||||
|  |     * | ||||||
|  |     * Jitter sample positions - | ||||||
|  |     * - average should be .5 in x & y for each column | ||||||
|  |     * - each of the 16 rows and columns should be used once | ||||||
|  |     * - the rectangle formed by the first four points | ||||||
|  |     *   should contain the other points | ||||||
|  |     * - the distrubition should be fairly even in any given direction | ||||||
|  |     * | ||||||
|  |     * The pattern drawn below isn't optimal, but it's better than a regular | ||||||
|  |     * grid.  In the drawing, the center of each subpixel is surrounded by | ||||||
|  |     * four dots.  The "x" marks the jittered position relative to the | ||||||
|  |     * subpixel center. | ||||||
|  |     */ | ||||||
|  | #define POS(a, b) (0.5+a*4+b)/16 | ||||||
|    static const GLfloat samples[16][2] = { |    static const GLfloat samples[16][2] = { | ||||||
|       /* start with the four corners */ |       /* start with the four corners */ | ||||||
|       { 0.00+B, 0.00+B }, |       { POS(0, 2), POS(0, 0) }, | ||||||
|       { 0.75+B, 0.00+B }, |       { POS(3, 3), POS(0, 2) }, | ||||||
|       { 0.00+B, 0.75+B }, |       { POS(0, 0), POS(3, 1) }, | ||||||
|       { 0.75+B, 0.75+B }, |       { POS(3, 1), POS(3, 3) }, | ||||||
|       /* continue with interior samples */ |       /* continue with interior samples */ | ||||||
|       { 0.25+B, 0.00+B }, |       { POS(1, 1), POS(0, 1) }, | ||||||
|       { 0.50+B, 0.00+B }, |       { POS(2, 0), POS(0, 3) }, | ||||||
|       { 0.00+B, 0.25+B }, |       { POS(0, 3), POS(1, 3) }, | ||||||
|       { 0.25+B, 0.25+B }, |       { POS(1, 2), POS(1, 0) }, | ||||||
|       { 0.50+B, 0.25+B }, |       { POS(2, 3), POS(1, 2) }, | ||||||
|       { 0.75+B, 0.25+B }, |       { POS(3, 2), POS(1, 1) }, | ||||||
|       { 0.00+B, 0.50+B }, |       { POS(0, 1), POS(2, 2) }, | ||||||
|       { 0.25+B, 0.50+B }, |       { POS(1, 0), POS(2, 1) }, | ||||||
|       { 0.50+B, 0.50+B }, |       { POS(2, 1), POS(2, 3) }, | ||||||
|       { 0.75+B, 0.50+B }, |       { POS(3, 0), POS(2, 0) }, | ||||||
|       { 0.25+B, 0.75+B }, |       { POS(1, 3), POS(3, 0) }, | ||||||
|       { 0.50+B, 0.75+B } |       { POS(2, 2), POS(3, 2) } | ||||||
|    }; |    }; | ||||||
|  |  | ||||||
|    const GLfloat x = (GLfloat) winx; |    const GLfloat x = (GLfloat) winx; | ||||||
|    const GLfloat y = (GLfloat) winy; |    const GLfloat y = (GLfloat) winy; | ||||||
|    const GLfloat dx0 = v1[0] - v0[0]; |    const GLfloat dx0 = v1[0] - v0[0]; | ||||||
| @@ -226,28 +242,25 @@ static GLint | |||||||
| compute_coveragei(const GLfloat v0[3], const GLfloat v1[3], | compute_coveragei(const GLfloat v0[3], const GLfloat v1[3], | ||||||
|                   const GLfloat v2[3], GLint winx, GLint winy) |                   const GLfloat v2[3], GLint winx, GLint winy) | ||||||
| { | { | ||||||
|    /* NOTE: 15 samples instead of 16. |    /* NOTE: 15 samples instead of 16. */ | ||||||
|     * A better sample distribution could be used. |  | ||||||
|     */ |  | ||||||
|    static const GLfloat samples[15][2] = { |    static const GLfloat samples[15][2] = { | ||||||
|       /* start with the four corners */ |       /* start with the four corners */ | ||||||
|       { 0.00+B, 0.00+B }, |       { POS(0, 2), POS(0, 0) }, | ||||||
|       { 0.75+B, 0.00+B }, |       { POS(3, 3), POS(0, 2) }, | ||||||
|       { 0.00+B, 0.75+B }, |       { POS(0, 0), POS(3, 1) }, | ||||||
|       { 0.75+B, 0.75+B }, |       { POS(3, 1), POS(3, 3) }, | ||||||
|       /* continue with interior samples */ |       /* continue with interior samples */ | ||||||
|       { 0.25+B, 0.00+B }, |       { POS(1, 1), POS(0, 1) }, | ||||||
|       { 0.50+B, 0.00+B }, |       { POS(2, 0), POS(0, 3) }, | ||||||
|       { 0.00+B, 0.25+B }, |       { POS(0, 3), POS(1, 3) }, | ||||||
|       { 0.25+B, 0.25+B }, |       { POS(1, 2), POS(1, 0) }, | ||||||
|       { 0.50+B, 0.25+B }, |       { POS(2, 3), POS(1, 2) }, | ||||||
|       { 0.75+B, 0.25+B }, |       { POS(3, 2), POS(1, 1) }, | ||||||
|       { 0.00+B, 0.50+B }, |       { POS(0, 1), POS(2, 2) }, | ||||||
|       { 0.25+B, 0.50+B }, |       { POS(1, 0), POS(2, 1) }, | ||||||
|       /*{ 0.50, 0.50 },*/ |       { POS(2, 1), POS(2, 3) }, | ||||||
|       { 0.75+B, 0.50+B }, |       { POS(3, 0), POS(2, 0) }, | ||||||
|       { 0.25+B, 0.75+B }, |       { POS(1, 3), POS(3, 0) } | ||||||
|       { 0.50+B, 0.75+B } |  | ||||||
|    }; |    }; | ||||||
|    const GLfloat x = (GLfloat) winx; |    const GLfloat x = (GLfloat) winx; | ||||||
|    const GLfloat y = (GLfloat) winy; |    const GLfloat y = (GLfloat) winy; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: s_aatritemp.h,v 1.21 2001/09/19 20:30:44 kschultz Exp $ */ | /* $Id: s_aatritemp.h,v 1.21.2.1 2001/12/05 10:22:55 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -149,7 +149,7 @@ | |||||||
|       const GLfloat area = majDx * botDy - botDx * majDy; |       const GLfloat area = majDx * botDy - botDx * majDy; | ||||||
|       ltor = (GLboolean) (area < 0.0F); |       ltor = (GLboolean) (area < 0.0F); | ||||||
|       /* Do backface culling */ |       /* Do backface culling */ | ||||||
|       if (area * bf < 0 || area * area < .0025) |       if (area * bf < 0 || area == 0 || IS_INF_OR_NAN(area)) | ||||||
| 	 return; | 	 return; | ||||||
|    } |    } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: s_blend.c,v 1.9 2001/07/16 20:45:55 brianp Exp $ */ | /* $Id: s_blend.c,v 1.9.2.1 2001/12/13 16:14:17 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -25,7 +25,6 @@ | |||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #include "glheader.h" | #include "glheader.h" | ||||||
| #include "context.h" | #include "context.h" | ||||||
| #include "macros.h" | #include "macros.h" | ||||||
| @@ -46,6 +45,48 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Special case for glBlendFunc(GL_ZERO, GL_ONE) | ||||||
|  |  */ | ||||||
|  | static void _BLENDAPI | ||||||
|  | blend_noop( GLcontext *ctx, GLuint n, const GLubyte mask[], | ||||||
|  |             GLchan rgba[][4], CONST GLchan dest[][4] ) | ||||||
|  | { | ||||||
|  |    int i; | ||||||
|  |    ASSERT(ctx->Color.BlendEquation==GL_FUNC_ADD_EXT); | ||||||
|  |    ASSERT(ctx->Color.BlendSrcRGB==GL_ZERO); | ||||||
|  |    ASSERT(ctx->Color.BlendDstRGB==GL_ONE); | ||||||
|  |    (void) ctx; | ||||||
|  |  | ||||||
|  |    for (i = 0; i < n; i++) { | ||||||
|  |       if (mask[i]) { | ||||||
|  |          rgba[i][RCOMP] = dest[i][RCOMP]; | ||||||
|  |          rgba[i][GCOMP] = dest[i][GCOMP]; | ||||||
|  |          rgba[i][BCOMP] = dest[i][BCOMP]; | ||||||
|  |          rgba[i][ACOMP] = dest[i][ACOMP]; | ||||||
|  |       } | ||||||
|  |    } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Special case for glBlendFunc(GL_ONE, GL_ZERO) | ||||||
|  |  */ | ||||||
|  | static void _BLENDAPI | ||||||
|  | blend_replace( GLcontext *ctx, GLuint n, const GLubyte mask[], | ||||||
|  |                GLchan rgba[][4], CONST GLchan dest[][4] ) | ||||||
|  | { | ||||||
|  |    ASSERT(ctx->Color.BlendEquation==GL_FUNC_ADD_EXT); | ||||||
|  |    ASSERT(ctx->Color.BlendSrcRGB==GL_ONE); | ||||||
|  |    ASSERT(ctx->Color.BlendDstRGB==GL_ZERO); | ||||||
|  |    (void) ctx; | ||||||
|  |    (void) n; | ||||||
|  |    (void) mask; | ||||||
|  |    (void) rgba; | ||||||
|  |    (void) dest; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Common transparency blending mode. |  * Common transparency blending mode. | ||||||
|  */ |  */ | ||||||
| @@ -611,6 +652,12 @@ void _swrast_choose_blend_func( GLcontext *ctx ) | |||||||
|    else if (eq==GL_MAX_EXT) { |    else if (eq==GL_MAX_EXT) { | ||||||
|       SWRAST_CONTEXT(ctx)->BlendFunc = blend_max; |       SWRAST_CONTEXT(ctx)->BlendFunc = blend_max; | ||||||
|    } |    } | ||||||
|  |    else if (eq==GL_FUNC_ADD_EXT && srcRGB == GL_ZERO && dstRGB == GL_ONE) { | ||||||
|  |       SWRAST_CONTEXT(ctx)->BlendFunc = blend_noop; | ||||||
|  |    } | ||||||
|  |    else if (eq==GL_FUNC_ADD_EXT && srcRGB == GL_ONE && dstRGB == GL_ZERO) { | ||||||
|  |       SWRAST_CONTEXT(ctx)->BlendFunc = blend_replace; | ||||||
|  |    } | ||||||
|    else { |    else { | ||||||
|       SWRAST_CONTEXT(ctx)->BlendFunc = blend_general; |       SWRAST_CONTEXT(ctx)->BlendFunc = blend_general; | ||||||
|    } |    } | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: s_lines.c,v 1.21 2001/08/20 21:45:15 brianp Exp $ */ | /* $Id: s_lines.c,v 1.21.2.1 2001/11/06 16:00:58 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -995,7 +995,7 @@ _mesa_print_line_function(GLcontext *ctx) | |||||||
|    else if (swrast->Line == flat_multitextured_line) |    else if (swrast->Line == flat_multitextured_line) | ||||||
|       printf("flat_multitextured_line\n"); |       printf("flat_multitextured_line\n"); | ||||||
|    else |    else | ||||||
|       printf("Driver func %p\n", swrast->Line); |       printf("Driver func %p\n", (void *) swrast->Line); | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: s_linetemp.h,v 1.9 2001/07/13 20:07:37 brianp Exp $ */ | /* $Id: s_linetemp.h,v 1.9.2.1 2001/12/05 10:22:55 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -180,6 +180,13 @@ | |||||||
|    } |    } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |    /* Cull primitives with malformed coordinates. | ||||||
|  |     */ | ||||||
|  |    { | ||||||
|  |       float tmp = vert0->win[0] + vert0->win[1] + vert1->win[0] + vert1->win[1]; | ||||||
|  |       if (IS_INF_OR_NAN(tmp)) | ||||||
|  | 	 return; | ||||||
|  |    } | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Despite being clipped to the view volume, the line's window coordinates |  * Despite being clipped to the view volume, the line's window coordinates | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: s_pointtemp.h,v 1.10 2001/09/19 20:30:44 kschultz Exp $ */ | /* $Id: s_pointtemp.h,v 1.10.2.1 2001/12/05 10:22:55 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -119,6 +119,14 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) | |||||||
|    size = ctx->Point._Size; |    size = ctx->Point._Size; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |    /* Cull primitives with malformed coordinates. | ||||||
|  |     */ | ||||||
|  |    { | ||||||
|  |       float tmp = vert->win[0] + vert->win[1]; | ||||||
|  |       if (IS_INF_OR_NAN(tmp)) | ||||||
|  | 	 return; | ||||||
|  |    } | ||||||
|  |  | ||||||
| #if FLAGS & SPRITE | #if FLAGS & SPRITE | ||||||
|    { |    { | ||||||
|       SWcontext *swctx = SWRAST_CONTEXT(ctx); |       SWcontext *swctx = SWRAST_CONTEXT(ctx); | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: s_triangle.c,v 1.39 2001/09/19 22:21:13 brianp Exp $ */ | /* $Id: s_triangle.c,v 1.39.2.1 2001/11/28 16:11:14 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -92,7 +92,7 @@ static void flat_ci_triangle( GLcontext *ctx, | |||||||
|       span.fog += span.fogStep;						\ |       span.fog += span.fogStep;						\ | ||||||
|    }									\ |    }									\ | ||||||
|    _mesa_write_monoindex_span(ctx, span.count, span.x, span.y,		\ |    _mesa_write_monoindex_span(ctx, span.count, span.x, span.y,		\ | ||||||
| 	                      zSpan, fogSpan, v0->index, NULL, GL_POLYGON ); | 	                      zSpan, fogSpan, v2->index, NULL, GL_POLYGON ); | ||||||
|  |  | ||||||
| #include "s_tritemp.h" | #include "s_tritemp.h" | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: s_tritemp.h,v 1.27 2001/09/19 20:30:44 kschultz Exp $ */ | /* $Id: s_tritemp.h,v 1.27.2.1 2001/12/05 10:22:55 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -199,7 +199,7 @@ | |||||||
|       if (area * bf < 0.0) |       if (area * bf < 0.0) | ||||||
|          return; |          return; | ||||||
|  |  | ||||||
|       if (area == 0.0F) |       if (area == 0.0F || IS_INF_OR_NAN(area)) | ||||||
|          return; |          return; | ||||||
|  |  | ||||||
|       oneOverArea = 1.0F / area; |       oneOverArea = 1.0F / area; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_array_api.c,v 1.19 2001/09/14 17:00:42 brianp Exp $ */ | /* $Id: t_array_api.c,v 1.19.2.2 2001/11/29 15:15:11 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -133,8 +133,6 @@ _tnl_DrawArrays(GLenum mode, GLint start, GLsizei count) | |||||||
|             start = ctx->Array.LockFirst; |             start = ctx->Array.LockFirst; | ||||||
| 	 if (start + count > (GLint) ctx->Array.LockCount) | 	 if (start + count > (GLint) ctx->Array.LockCount) | ||||||
|             count = ctx->Array.LockCount - start; |             count = ctx->Array.LockCount - start; | ||||||
| 	 if (start >= count) |  | ||||||
|             return; |  | ||||||
|  |  | ||||||
| 	 /* Locked drawarrays.  Reuse any previously transformed data. | 	 /* Locked drawarrays.  Reuse any previously transformed data. | ||||||
| 	  */ | 	  */ | ||||||
| @@ -160,7 +158,7 @@ _tnl_DrawArrays(GLenum mode, GLint start, GLsizei count) | |||||||
|       } |       } | ||||||
|    } |    } | ||||||
|    else { |    else { | ||||||
|       int bufsz = (ctx->Const.MaxArrayLockSize - 4) & ~3; |       int bufsz = 256;		/* use a small buffer for cache goodness */ | ||||||
|       int j, nr; |       int j, nr; | ||||||
|       int minimum, modulo, skip; |       int minimum, modulo, skip; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_eval_api.c,v 1.7 2001/05/14 09:00:51 keithw Exp $ */ | /* $Id: t_eval_api.c,v 1.7.2.1 2001/12/03 17:39:09 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -103,9 +103,10 @@ _tnl_exec_EvalMesh1( GLenum mode, GLint i1, GLint i2 ) | |||||||
|       struct immediate *im = TNL_CURRENT_IM(ctx); |       struct immediate *im = TNL_CURRENT_IM(ctx); | ||||||
|  |  | ||||||
|       if (compiling) { |       if (compiling) { | ||||||
|  | 	 struct immediate *IM = _tnl_alloc_immediate( ctx ); | ||||||
| 	 FLUSH_VERTICES( ctx, 0 ); | 	 FLUSH_VERTICES( ctx, 0 ); | ||||||
| 	 SET_IMMEDIATE( ctx, _tnl_alloc_immediate( ctx ) ); | 	 SET_IMMEDIATE( ctx, IM ); | ||||||
| 	 TNL_CURRENT_IM(ctx)->ref_count++;	  | 	 IM->ref_count++;	  | ||||||
| 	 ctx->CompileFlag = GL_FALSE; | 	 ctx->CompileFlag = GL_FALSE; | ||||||
|       } |       } | ||||||
|  |  | ||||||
| @@ -161,9 +162,10 @@ _tnl_exec_EvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ) | |||||||
|       struct immediate *im = TNL_CURRENT_IM(ctx); |       struct immediate *im = TNL_CURRENT_IM(ctx); | ||||||
|  |  | ||||||
|       if (compiling) { |       if (compiling) { | ||||||
|  | 	 struct immediate *IM =  _tnl_alloc_immediate( ctx ); | ||||||
| 	 FLUSH_VERTICES( ctx, 0 ); | 	 FLUSH_VERTICES( ctx, 0 ); | ||||||
| 	 SET_IMMEDIATE( ctx, _tnl_alloc_immediate( ctx ) ); | 	 SET_IMMEDIATE( ctx, IM ); | ||||||
| 	 TNL_CURRENT_IM(ctx)->ref_count++;	  | 	 IM->ref_count++;	  | ||||||
| 	 ctx->CompileFlag = GL_FALSE; | 	 ctx->CompileFlag = GL_FALSE; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: t_imm_alloc.c,v 1.10 2001/09/07 06:55:59 joukj Exp $ */ | /* $Id: t_imm_alloc.c,v 1.10.2.1 2001/12/15 00:48:41 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -34,7 +34,7 @@ | |||||||
| #include "t_imm_alloc.h" | #include "t_imm_alloc.h" | ||||||
|  |  | ||||||
|  |  | ||||||
|    static int id = 0; | static int id = 0;  /* give each struct immediate a unique ID number */ | ||||||
|  |  | ||||||
| static struct immediate *real_alloc_immediate( GLcontext *ctx ) | static struct immediate *real_alloc_immediate( GLcontext *ctx ) | ||||||
| { | { | ||||||
| @@ -130,6 +130,11 @@ void _tnl_free_immediate( struct immediate *IM ) | |||||||
|  |  | ||||||
|    ASSERT(IM->ref_count == 0); |    ASSERT(IM->ref_count == 0); | ||||||
|  |  | ||||||
|  |    if (IM->NormalLengthPtr) { | ||||||
|  |       ALIGN_FREE(IM->NormalLengthPtr); | ||||||
|  |       IM->NormalLengthPtr = NULL; | ||||||
|  |    } | ||||||
|  |  | ||||||
|    if (!tnl) { |    if (!tnl) { | ||||||
|       real_free_immediate( IM ); |       real_free_immediate( IM ); | ||||||
|    }  |    }  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_imm_dlist.c,v 1.29 2001/09/14 21:30:31 brianp Exp $ */ | /* $Id: t_imm_dlist.c,v 1.29.2.4 2001/12/13 10:57:55 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -229,7 +229,7 @@ static void fixup_compiled_primitives( GLcontext *ctx, struct immediate *IM ) | |||||||
|        * set copystart because it might skip materials? |        * set copystart because it might skip materials? | ||||||
|        */ |        */ | ||||||
|       ASSERT(IM->Start == IM->CopyStart); |       ASSERT(IM->Start == IM->CopyStart); | ||||||
|       if (i > IM->CopyStart) { |       if (i > IM->CopyStart || !(IM->Flag[IM->Start] & VERT_BEGIN)) { | ||||||
| 	 IM->Primitive[IM->CopyStart] = GL_POLYGON+1; | 	 IM->Primitive[IM->CopyStart] = GL_POLYGON+1; | ||||||
| 	 IM->PrimitiveLength[IM->CopyStart] = i - IM->CopyStart; | 	 IM->PrimitiveLength[IM->CopyStart] = i - IM->CopyStart; | ||||||
| 	 if (IM->Flag[i] & VERT_END_VB) { | 	 if (IM->Flag[i] & VERT_END_VB) { | ||||||
| @@ -293,7 +293,7 @@ execute_compiled_cassette( GLcontext *ctx, void *data ) | |||||||
|    TNLvertexcassette *node = (TNLvertexcassette *)data; |    TNLvertexcassette *node = (TNLvertexcassette *)data; | ||||||
|    struct immediate *IM = node->IM; |    struct immediate *IM = node->IM; | ||||||
|  |  | ||||||
| /*     fprintf(stderr, "%s\n", __FUNCTION__); */ | /*     fprintf(stderr, "%s IM: %d\n", __FUNCTION__, IM->id);  */ | ||||||
|  |  | ||||||
|    IM->Start = node->Start; |    IM->Start = node->Start; | ||||||
|    IM->CopyStart = node->Start; |    IM->CopyStart = node->Start; | ||||||
| @@ -309,6 +309,7 @@ execute_compiled_cassette( GLcontext *ctx, void *data ) | |||||||
|    IM->MaterialOrMask = node->MaterialOrMask; |    IM->MaterialOrMask = node->MaterialOrMask; | ||||||
|    IM->MaterialAndMask = node->MaterialAndMask; |    IM->MaterialAndMask = node->MaterialAndMask; | ||||||
|  |  | ||||||
|  |  | ||||||
|    if ((MESA_VERBOSE & VERBOSE_DISPLAY_LIST) && |    if ((MESA_VERBOSE & VERBOSE_DISPLAY_LIST) && | ||||||
|        (MESA_VERBOSE & VERBOSE_IMMEDIATE)) |        (MESA_VERBOSE & VERBOSE_IMMEDIATE)) | ||||||
|       _tnl_print_cassette( IM ); |       _tnl_print_cassette( IM ); | ||||||
| @@ -421,16 +422,22 @@ _tnl_BeginCallList( GLcontext *ctx, GLuint list ) | |||||||
| { | { | ||||||
|    (void) ctx; |    (void) ctx; | ||||||
|    (void) list; |    (void) list; | ||||||
|    FLUSH_CURRENT(ctx, 0); |    FLUSH_CURRENT(ctx, 0);	/* Current immediate is emptied on CallList */ | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Called at the tail of a CallList.  Nothing to do. | /* Called at the tail of a CallList.  Make current immediate aware of | ||||||
|  |  * any new to-be-copied vertices. | ||||||
|  */ |  */ | ||||||
| void | void | ||||||
| _tnl_EndCallList( GLcontext *ctx ) | _tnl_EndCallList( GLcontext *ctx ) | ||||||
| { | { | ||||||
|    (void) ctx; |    GLuint beginstate = 0; | ||||||
|  |  | ||||||
|  |    if (ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END) | ||||||
|  |       beginstate = VERT_BEGIN_0|VERT_BEGIN_1; | ||||||
|  |  | ||||||
|  |    _tnl_reset_exec_input( ctx, TNL_CURRENT_IM(ctx)->Start, beginstate, 0 ); | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -591,7 +598,6 @@ static void loopback_compiled_cassette( GLcontext *ctx, struct immediate *IM ) | |||||||
|       ASSERT((prim & PRIM_MODE_MASK) <= GL_POLYGON+1); |       ASSERT((prim & PRIM_MODE_MASK) <= GL_POLYGON+1); | ||||||
|  |  | ||||||
|       if (prim & PRIM_BEGIN) { |       if (prim & PRIM_BEGIN) { | ||||||
| /*  	 fprintf(stderr, "begin %s\n", _mesa_prim_name[prim&PRIM_MODE_MASK]); */ |  | ||||||
| 	 glBegin(prim & PRIM_MODE_MASK); | 	 glBegin(prim & PRIM_MODE_MASK); | ||||||
|       } |       } | ||||||
|  |  | ||||||
| @@ -606,14 +612,10 @@ static void loopback_compiled_cassette( GLcontext *ctx, struct immediate *IM ) | |||||||
| 	 } | 	 } | ||||||
|  |  | ||||||
| 	 if (flags[i] & VERT_NORM) { | 	 if (flags[i] & VERT_NORM) { | ||||||
| /*  	       fprintf(stderr, "normal %d: %f %f %f\n", i, */ |  | ||||||
| /*  		       IM->Normal[i][0], IM->Normal[i][1], IM->Normal[i][2]);  */ |  | ||||||
| 	    glNormal3fv(IM->Normal[i]); | 	    glNormal3fv(IM->Normal[i]); | ||||||
| 	 } | 	 } | ||||||
|  |  | ||||||
| 	 if (flags[i] & VERT_RGBA) { | 	 if (flags[i] & VERT_RGBA) { | ||||||
| /*  	       fprintf(stderr, "color %d: %f %f %f\n", i, */ |  | ||||||
| /*  		       IM->Color[i][0], IM->Color[i][1], IM->Color[i][2]);  */ |  | ||||||
| 	    glColor4fv( IM->Color[i] ); | 	    glColor4fv( IM->Color[i] ); | ||||||
| 	 } | 	 } | ||||||
|  |  | ||||||
| @@ -633,8 +635,6 @@ static void loopback_compiled_cassette( GLcontext *ctx, struct immediate *IM ) | |||||||
| 	    emit_material( IM->Material[i], IM->MaterialMask[i] ); | 	    emit_material( IM->Material[i], IM->MaterialMask[i] ); | ||||||
|  |  | ||||||
| 	 if (flags[i]&VERT_OBJ_234) { | 	 if (flags[i]&VERT_OBJ_234) { | ||||||
| /*  	       fprintf(stderr, "vertex %d: %f %f %f\n", i, */ |  | ||||||
| /*  		       IM->Obj[i][0], IM->Obj[i][1], IM->Obj[i][2]); */ |  | ||||||
| 	    vertex( IM->Obj[i] ); | 	    vertex( IM->Obj[i] ); | ||||||
| 	 } | 	 } | ||||||
| 	 else if (flags[i] & VERT_EVAL_C1) | 	 else if (flags[i] & VERT_EVAL_C1) | ||||||
| @@ -648,7 +648,6 @@ static void loopback_compiled_cassette( GLcontext *ctx, struct immediate *IM ) | |||||||
|       } |       } | ||||||
|  |  | ||||||
|       if (prim & PRIM_END) { |       if (prim & PRIM_END) { | ||||||
| /*  	 fprintf(stderr, "end\n"); */ |  | ||||||
| 	 glEnd(); | 	 glEnd(); | ||||||
|       } |       } | ||||||
|    } |    } | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_imm_exec.c,v 1.29 2001/08/02 22:39:51 keithw Exp $ */ | /* $Id: t_imm_exec.c,v 1.29.2.1 2001/11/30 15:42:32 alanh Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -555,6 +555,13 @@ void _tnl_imm_destroy( GLcontext *ctx ) | |||||||
|       TNL_CURRENT_IM(ctx)->ref_count--; |       TNL_CURRENT_IM(ctx)->ref_count--; | ||||||
|       if (TNL_CURRENT_IM(ctx)->ref_count == 0) |       if (TNL_CURRENT_IM(ctx)->ref_count == 0) | ||||||
| 	 _tnl_free_immediate( TNL_CURRENT_IM(ctx) ); | 	 _tnl_free_immediate( TNL_CURRENT_IM(ctx) ); | ||||||
|       SET_IMMEDIATE(ctx, 0); |       /*  | ||||||
|  |        * Don't use SET_IMMEDIATE here, or else we'll whack the | ||||||
|  |        * _tnl_CurrentInput pointer - not good when another  | ||||||
|  |        * context has already been made current. | ||||||
|  |        * So we just set the context's own tnl immediate pointer | ||||||
|  |        * to 0. | ||||||
|  |        */ | ||||||
|  |       ctx->swtnl_im = 0; | ||||||
|    } |    } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_imm_fixup.c,v 1.26 2001/08/03 00:16:36 keithw Exp $ */ | /* $Id: t_imm_fixup.c,v 1.26.2.2 2001/12/03 17:46:57 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -735,7 +735,11 @@ _tnl_get_exec_copy_verts( GLcontext *ctx, struct immediate *IM ) | |||||||
|       tnl->ExecCopySource = IM; |       tnl->ExecCopySource = IM; | ||||||
|       tnl->ExecCopyCount = 0; |       tnl->ExecCopyCount = 0; | ||||||
|       tnl->ExecCopyTexSize = IM->CopyTexSize; |       tnl->ExecCopyTexSize = IM->CopyTexSize; | ||||||
|       tnl->ExecParity = IM->PrimitiveLength[IM->LastPrimitive] & 1; |  | ||||||
|  |       if (IM->LastPrimitive != IM->CopyStart) | ||||||
|  | 	 tnl->ExecParity = 0; | ||||||
|  | 	  | ||||||
|  |       tnl->ExecParity ^= IM->PrimitiveLength[IM->LastPrimitive] & 1; | ||||||
|  |  | ||||||
|       if (pincr != 1 && (IM->Count - last - pintro)) |       if (pincr != 1 && (IM->Count - last - pintro)) | ||||||
| 	 ovf = (IM->Count - last - pintro) % pincr; | 	 ovf = (IM->Count - last - pintro) % pincr; | ||||||
| @@ -761,7 +765,10 @@ _tnl_get_purged_copy_verts( GLcontext *ctx, struct immediate *IM ) | |||||||
|       GLuint ovf = 0, i; |       GLuint ovf = 0, i; | ||||||
|  |  | ||||||
|       tnl->ExecCopyCount = 0; |       tnl->ExecCopyCount = 0; | ||||||
|       tnl->ExecParity = IM->PrimitiveLength[last] & 1; |       if (IM->LastPrimitive != IM->CopyStart) | ||||||
|  | 	 tnl->ExecParity = 0; | ||||||
|  | 	  | ||||||
|  |       tnl->ExecParity ^= IM->PrimitiveLength[IM->LastPrimitive] & 1; | ||||||
|  |  | ||||||
|       if (pincr != 1 && (IM->Count - last - pintro)) |       if (pincr != 1 && (IM->Count - last - pintro)) | ||||||
| 	 ovf = (IM->Count - last - pintro) % pincr; | 	 ovf = (IM->Count - last - pintro) % pincr; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: t_vb_lighttmp.h,v 1.19 2001/10/20 00:13:45 keithw Exp $ */ | /* $Id: t_vb_lighttmp.h,v 1.19.2.1 2001/12/03 17:40:43 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -560,7 +560,6 @@ static void TAG(light_fast_rgba_single)( GLcontext *ctx, | |||||||
|    do { |    do { | ||||||
|        |        | ||||||
|       if ( CHECK_COLOR_MATERIAL(j) ) { |       if ( CHECK_COLOR_MATERIAL(j) ) { | ||||||
| /*  	 fprintf(stderr, "colormaterial at %d (%p)\n", j, CMcolor); */ |  | ||||||
| 	 _mesa_update_color_material( ctx, CMcolor ); | 	 _mesa_update_color_material( ctx, CMcolor ); | ||||||
|       } |       } | ||||||
|  |  | ||||||
| @@ -590,13 +589,6 @@ static void TAG(light_fast_rgba_single)( GLcontext *ctx, | |||||||
|       do { |       do { | ||||||
| 	 GLfloat n_dot_VP = DOT3(normal, light->_VP_inf_norm); | 	 GLfloat n_dot_VP = DOT3(normal, light->_VP_inf_norm); | ||||||
|  |  | ||||||
| /*  	 if (j < 5) */ |  | ||||||
| /*  	    fprintf(stderr, "light normal %d: %f %f %f\n",  */ |  | ||||||
| /*  		    j,  */ |  | ||||||
| /*  		    normal[0], */ |  | ||||||
| /*  		    normal[1], */ |  | ||||||
| /*  		    normal[2]); */ |  | ||||||
|  |  | ||||||
| 	 if (n_dot_VP < 0.0F) { | 	 if (n_dot_VP < 0.0F) { | ||||||
| 	    if (IDX & LIGHT_TWOSIDE) { | 	    if (IDX & LIGHT_TWOSIDE) { | ||||||
| 	       GLfloat n_dot_h = -DOT3(normal, light->_h_inf_norm); | 	       GLfloat n_dot_h = -DOT3(normal, light->_h_inf_norm); | ||||||
| @@ -639,14 +631,6 @@ static void TAG(light_fast_rgba_single)( GLcontext *ctx, | |||||||
| 	 COPY_CHAN4(Fcolor[j], Fcolor[j-1]); | 	 COPY_CHAN4(Fcolor[j], Fcolor[j-1]); | ||||||
| 	 if (IDX & LIGHT_TWOSIDE) | 	 if (IDX & LIGHT_TWOSIDE) | ||||||
| 	    COPY_CHAN4(Bcolor[j], Bcolor[j-1]); | 	    COPY_CHAN4(Bcolor[j], Bcolor[j-1]); | ||||||
|  |  | ||||||
| /*  	 if (j < 5) */ |  | ||||||
| /*  	    fprintf(stderr, "skip normal %d: %f %f %f\n",  */ |  | ||||||
| /*  		    j,  */ |  | ||||||
| /*  		    normal[0], */ |  | ||||||
| /*  		    normal[1], */ |  | ||||||
| /*  		    normal[2]); */ |  | ||||||
|  |  | ||||||
|       } |       } | ||||||
|  |  | ||||||
|    } while (!CHECK_END_VB(j)); |    } while (!CHECK_END_VB(j)); | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| /* $Id: t_vb_render.c,v 1.22 2001/07/12 22:09:22 keithw Exp $ */ | /* $Id: t_vb_render.c,v 1.22.2.3 2001/12/17 01:46:38 brianp Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
|  * Version:  3.5 |  * Version:  4.0.1 | ||||||
|  * |  * | ||||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. |  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||||
|  * |  * | ||||||
| @@ -142,7 +142,7 @@ do {							\ | |||||||
|  |  | ||||||
| #define TAG(x) clip_##x##_verts | #define TAG(x) clip_##x##_verts | ||||||
| #define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x ) | #define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x ) | ||||||
| #define RESET_STIPPLE if (stipple) tnl->Driver.Render.ResetLineStipple( ctx ) | #define RESET_STIPPLE tnl->Driver.Render.ResetLineStipple( ctx ) | ||||||
| #define RESET_OCCLUSION ctx->OcclusionResult = GL_TRUE | #define RESET_OCCLUSION ctx->OcclusionResult = GL_TRUE | ||||||
| #define PRESERVE_VB_DEFS | #define PRESERVE_VB_DEFS | ||||||
| #include "t_vb_rendertmp.h" | #include "t_vb_rendertmp.h" | ||||||
| @@ -225,8 +225,9 @@ static void clip_elt_triangles( GLcontext *ctx, | |||||||
|    const line_func LineFunc = tnl->Driver.Render.Line;		\ |    const line_func LineFunc = tnl->Driver.Render.Line;		\ | ||||||
|    const triangle_func TriangleFunc = tnl->Driver.Render.Triangle;	\ |    const triangle_func TriangleFunc = tnl->Driver.Render.Triangle;	\ | ||||||
|    const quad_func QuadFunc = tnl->Driver.Render.Quad;		\ |    const quad_func QuadFunc = tnl->Driver.Render.Quad;		\ | ||||||
|  |    const GLboolean stipple = ctx->Line.StippleFlag;		\ | ||||||
|    (void) (LineFunc && TriangleFunc && QuadFunc);		\ |    (void) (LineFunc && TriangleFunc && QuadFunc);		\ | ||||||
|    (void) elt; |    (void) elt; (void) stipple; | ||||||
|  |  | ||||||
| #define RESET_STIPPLE tnl->Driver.Render.ResetLineStipple( ctx ) | #define RESET_STIPPLE tnl->Driver.Render.ResetLineStipple( ctx ) | ||||||
| #define RESET_OCCLUSION ctx->OcclusionResult = GL_TRUE | #define RESET_OCCLUSION ctx->OcclusionResult = GL_TRUE | ||||||
| @@ -318,7 +319,7 @@ static GLboolean run_render( GLcontext *ctx, | |||||||
|    do |    do | ||||||
|    { |    { | ||||||
|       GLuint i, length, flags = 0; |       GLuint i, length, flags = 0; | ||||||
|       for (i = 0 ; !(flags & PRIM_LAST) ; i += length) |       for (i = VB->FirstPrimitive ; !(flags & PRIM_LAST) ; i += length) | ||||||
|       { |       { | ||||||
| 	 flags = VB->Primitive[i]; | 	 flags = VB->Primitive[i]; | ||||||
| 	 length= VB->PrimitiveLength[i]; | 	 length= VB->PrimitiveLength[i]; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: 3dnow.c,v 1.19 2001/03/30 14:44:43 gareth Exp $ */ | /* $Id: 3dnow.c,v 1.19.2.1 2001/11/19 13:50:35 keithw Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Mesa 3-D graphics library |  * Mesa 3-D graphics library | ||||||
| @@ -80,7 +80,9 @@ void _mesa_init_3dnow_transform_asm( void ) | |||||||
|    ASSIGN_XFORM_GROUP( 3dnow, 3 ); |    ASSIGN_XFORM_GROUP( 3dnow, 3 ); | ||||||
|    ASSIGN_XFORM_GROUP( 3dnow, 4 ); |    ASSIGN_XFORM_GROUP( 3dnow, 4 ); | ||||||
|  |  | ||||||
|    ASSIGN_NORM_GROUP( 3dnow ); | /* Normalize function is broken - see demos/morph3d for example. | ||||||
|  |  */ | ||||||
|  | /*     ASSIGN_NORM_GROUP( 3dnow ); */ | ||||||
|  |  | ||||||
| #ifdef DEBUG | #ifdef DEBUG | ||||||
|    _math_test_all_transform_functions( "3DNow!" ); |    _math_test_all_transform_functions( "3DNow!" ); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user