Compare commits
	
		
			85 Commits
		
	
	
		
			mesa-9.1.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_MINOR=1
 | 
			
		||||
MESA_MINOR=0
 | 
			
		||||
MESA_TINY=0
 | 
			
		||||
VERSION=$(MESA_MAJOR).$(MESA_MINOR)
 | 
			
		||||
 | 
			
		||||
@@ -178,6 +178,25 @@ cygnus-linux:
 | 
			
		||||
	"MAKELIB = ../bin/mklib.cygnus-linux" \
 | 
			
		||||
	"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:
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
@@ -344,7 +363,7 @@ hpux10-gcc-sl:
 | 
			
		||||
 | 
			
		||||
# For IRIX 4: don't use -fullwarn because it causes too much garbage
 | 
			
		||||
irix4:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
	"GLU_LIB = libGLU.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
 | 
			
		||||
irix5:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
	"GLU_LIB = libGLU.a" \
 | 
			
		||||
	"GLUT_LIB = libglut.a" \
 | 
			
		||||
@@ -385,7 +404,7 @@ irix5-gcc:
 | 
			
		||||
 | 
			
		||||
# IRIX 5 using Dynamic Shared Objects (DSO)
 | 
			
		||||
irix5-dso:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.so" \
 | 
			
		||||
	"GLU_LIB = libGLU.so" \
 | 
			
		||||
	"GLUT_LIB = libglut.so" \
 | 
			
		||||
@@ -396,34 +415,46 @@ irix5-dso:
 | 
			
		||||
	"MAKELIB = ../bin/mklib.irix5" \
 | 
			
		||||
	"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:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
	"GLU_LIB = libGLU.a" \
 | 
			
		||||
	"GLUT_LIB = libglut.a" \
 | 
			
		||||
	"GLW_LIB = libGLw.a" \
 | 
			
		||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
			
		||||
	"LIBDIR = ../lib32" \
 | 
			
		||||
	"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" \
 | 
			
		||||
	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
			
		||||
 | 
			
		||||
irix6-o32-dso:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(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" \
 | 
			
		||||
	"LIBDIR = ../lib32" \
 | 
			
		||||
	"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" \
 | 
			
		||||
	"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:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
	"GLU_LIB = libGLU.a" \
 | 
			
		||||
	"GLUT_LIB = libglut.a" \
 | 
			
		||||
@@ -431,20 +462,24 @@ irix6-n32:
 | 
			
		||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
			
		||||
	"LIBDIR = ../lib32" \
 | 
			
		||||
	"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" \
 | 
			
		||||
	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
			
		||||
 | 
			
		||||
irix6-n32-dso:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.so" \
 | 
			
		||||
	"GLU_LIB = libGLU.so" \
 | 
			
		||||
	"GLUT_LIB = libglut.so" \
 | 
			
		||||
	"GLW_LIB = libGLw.a" \
 | 
			
		||||
	"OSMESA_LIB = libOSMesa.a" \
 | 
			
		||||
	"GLW_LIB = libGLw.so" \
 | 
			
		||||
	"OSMESA_LIB = libOSMesa.so" \
 | 
			
		||||
	"LIBDIR = ../lib32" \
 | 
			
		||||
	"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" \
 | 
			
		||||
	"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
 | 
			
		||||
#   1552 - variable was set but never used
 | 
			
		||||
irix6-64:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
	"GLU_LIB = libGLU.a" \
 | 
			
		||||
	"GLUT_LIB = libglut.a" \
 | 
			
		||||
@@ -485,7 +520,7 @@ irix6-64:
 | 
			
		||||
	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 | 
			
		||||
 | 
			
		||||
irix6-64-dso:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.so" \
 | 
			
		||||
	"GLU_LIB = libGLU.so" \
 | 
			
		||||
	"GLUT_LIB = libglut.so" \
 | 
			
		||||
@@ -1418,7 +1453,7 @@ vistra:
 | 
			
		||||
# -woff 1521 = "nonstandard preprocessing directive is used"
 | 
			
		||||
# -woff 3496 = "bitwise operator precedence"
 | 
			
		||||
irix-debug:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
	"GLU_LIB = libGLU.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"
 | 
			
		||||
 | 
			
		||||
DEBUG:
 | 
			
		||||
	pmake $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"GL_LIB = libGL.a" \
 | 
			
		||||
	"GLU_LIB = libGLU.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" \
 | 
			
		||||
	"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:
 | 
			
		||||
	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
 | 
			
		||||
	"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
 | 
			
		||||
# Version:  4.1
 | 
			
		||||
# Version:  4.0
 | 
			
		||||
# 
 | 
			
		||||
# 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 cygnus               for Win95/NT using Cygnus-Win32"
 | 
			
		||||
	@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 freebsd              for FreeBSD systems with GCC"
 | 
			
		||||
	@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
 | 
			
		||||
# 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 \
 | 
			
		||||
hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
 | 
			
		||||
irix4 irix5 irix5-gcc irix5-dso irix6-o32 irix6-o32-dso \
 | 
			
		||||
linux linux-static linux-debug linux-static-debug linux-prof \
 | 
			
		||||
irix4 irix5 irix5-gcc irix5-dso \
 | 
			
		||||
linux linux-static linux-debug linux-x11-debug linux-static-debug linux-prof \
 | 
			
		||||
linux-x86 linux-x86-static linux-x86-debug \
 | 
			
		||||
linux-glide linux-386-glide linux-386-opt-glide \
 | 
			
		||||
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 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
 | 
			
		||||
	if [ -d src      ] ; then touch src/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 widgets-sgi ] ; then touch widgets-sgi/depend ; 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
 | 
			
		||||
@@ -299,7 +299,6 @@ linux-osmesa16 linux-osmesa32:
 | 
			
		||||
	-mkdir lib
 | 
			
		||||
	if [ -d src ] ; then touch src/depend ; fi
 | 
			
		||||
	if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
# Remove .o files, emacs backup files, etc.
 | 
			
		||||
clean:
 | 
			
		||||
@@ -322,13 +321,11 @@ clean:
 | 
			
		||||
 | 
			
		||||
# Remove everything that can be remade
 | 
			
		||||
realclean: clean
 | 
			
		||||
	-rm -f lib/*
 | 
			
		||||
	-rm -fr lib lib32 lib64
 | 
			
		||||
	cd demos       && $(MAKE) -f Makefile.X11 realclean || true
 | 
			
		||||
	cd xdemos      && $(MAKE) -f Makefile.X11 realclean || true
 | 
			
		||||
	cd book        && $(MAKE) -f Makefile.X11 realclean || true
 | 
			
		||||
	cd samples     && $(MAKE) -f Makefile.X11 realclean || true
 | 
			
		||||
	cd ggi/demos   && $(MAKE) -f Makefile.X11 realclean || true
 | 
			
		||||
	cd src/GGI/default && $(MAKE) -f Makefile.X11 realclean || true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
@@ -52,10 +52,7 @@ Details and Notes
 | 
			
		||||
  difficult to modify the makefiles to generate them.
 | 
			
		||||
 | 
			
		||||
- 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
 | 
			
		||||
  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.
 | 
			
		||||
  mainly to get the better tessellator code.
 | 
			
		||||
 | 
			
		||||
- The osmesa driver builds and should work on Windows as well as
 | 
			
		||||
  any other platform.
 | 
			
		||||
@@ -68,11 +65,11 @@ Details and Notes
 | 
			
		||||
  paths for the rasterizers.  See src/osmesa/osmesa.c for some good
 | 
			
		||||
  examples.
 | 
			
		||||
 | 
			
		||||
- There is DirectDraw support in the Windows driver, but I do not
 | 
			
		||||
  know if it compiles or works.  If you have an application that
 | 
			
		||||
  does not draw much in a frame, but needs a higher framerate, then
 | 
			
		||||
  it may pay to turn on the DirectDraw code, since DD often performs
 | 
			
		||||
  the off-screen to on-screen blit faster than GDI.
 | 
			
		||||
- There is DirectDraw support in the Windows driver, updated by
 | 
			
		||||
  Daniel Slater.  You'll need to uncomment the #define DDRAW line
 | 
			
		||||
  in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries
 | 
			
		||||
  in src/Makefile.win.  On some systems, you will acheive significantly
 | 
			
		||||
  higher framerates with DirectDraw.
 | 
			
		||||
 | 
			
		||||
- Some of the more specialized code like FX drivers, stereo, and
 | 
			
		||||
  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-
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -898,9 +898,29 @@ Mesa Version History
 | 
			
		||||
	- lighting didn't always produce the correct alpha value
 | 
			
		||||
	- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
4.1  Month, ??, 2002
 | 
			
		||||
4.0.1 December 17, 2001
 | 
			
		||||
    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:
 | 
			
		||||
	- 
 | 
			
		||||
	- 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
 | 
			
		||||
@@ -84,7 +84,7 @@ extern "C" {
 | 
			
		||||
 | 
			
		||||
#define GL_VERSION_1_1   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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
			
		||||
 * 
 | 
			
		||||
@@ -557,6 +557,7 @@
 | 
			
		||||
#define glFogCoordPointerEXT mglFogCoordPointerEXT 
 | 
			
		||||
#define glFogCoorddEXT mglFogCoorddEXT 
 | 
			
		||||
#define glFogCoordfvEXT mglFogCoordfvEXT 
 | 
			
		||||
#define glFogCoorddvEXT mglFogCoorddvEXT 
 | 
			
		||||
#define glFogCoordfEXT mglFogCoordfEXT 
 | 
			
		||||
#define glLightEnviSGIX mglLightEnviSGIX 
 | 
			
		||||
#define glGetFragmentMaterialivSGIX mglGetFragmentMaterialivSGIX 
 | 
			
		||||
@@ -616,6 +617,9 @@
 | 
			
		||||
#define glGetPixelTexGenParameterfvSGIS mglGetPixelTexGenParameterfvSGIS 
 | 
			
		||||
#define glPixelTexGenParameteriSGIS mglPixelTexGenParameteriSGIS 
 | 
			
		||||
#define glPixelTexGenParameterfSGIS mglPixelTexGenParameterfSGIS 
 | 
			
		||||
#define glPixelTexGenParameterivSGIS mglPixelTexGenParameterivSGIS 
 | 
			
		||||
#define glPixelTexGenParameterfvSGIS mglPixelTexGenParameterfvSGIS 
 | 
			
		||||
#define glPixelTexGenSGIX mglPixelTexGenSGIX
 | 
			
		||||
#define glGetColorTableParameterivSGI mglGetColorTableParameterivSGI 
 | 
			
		||||
#define glGetColorTableParameterfvSGI mglGetColorTableParameterfvSGI 
 | 
			
		||||
#define glGetColorTableSGI mglGetColorTableSGI 
 | 
			
		||||
@@ -676,6 +680,62 @@
 | 
			
		||||
#define glSecondaryColor3usEXT mglSecondaryColor3usEXT
 | 
			
		||||
#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. */
 | 
			
		||||
#define __glCoreCreateContext __mglCoreCreateContext
 | 
			
		||||
 
 | 
			
		||||
@@ -250,10 +250,10 @@ typedef struct GLUquadric GLUquadric;
 | 
			
		||||
typedef struct GLUtesselator GLUtesselator;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct GLUnurbs GLUnurbsObj;
 | 
			
		||||
typedef struct GLUquadric GLUquadricObj;
 | 
			
		||||
typedef struct GLUtesselator GLUtesselatorObj;
 | 
			
		||||
typedef struct GLUtesselator GLUtriangulatorObj;
 | 
			
		||||
typedef GLUnurbs GLUnurbsObj;
 | 
			
		||||
typedef GLUquadric GLUquadricObj;
 | 
			
		||||
typedef GLUtesselator GLUtesselatorObj;
 | 
			
		||||
typedef GLUtesselator GLUtriangulatorObj;
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
@@ -172,8 +172,8 @@ extern "C" {
 | 
			
		||||
/*
 | 
			
		||||
 * GLX 1.4 and later:
 | 
			
		||||
 */
 | 
			
		||||
#define GLX_SAMPLE_BUFFERS_SGIS            100000
 | 
			
		||||
#define GLX_SAMPLES_SGIS                   100001
 | 
			
		||||
#define GLX_SAMPLE_BUFFERS              0x186a0 /*100000*/
 | 
			
		||||
#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
 | 
			
		||||
 * Version:  3.0
 | 
			
		||||
 * Version:  4.1
 | 
			
		||||
 * Copyright (C) 1995-1998  Brian Paul
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
#define GLX_MANGLE_H
 | 
			
		||||
 | 
			
		||||
@@ -69,4 +50,8 @@
 | 
			
		||||
#define glXGetVideoSyncSGI mglXGetVideoSyncSGI
 | 
			
		||||
#define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI
 | 
			
		||||
 | 
			
		||||
/* GLX 1.4 */
 | 
			
		||||
#define glXGetProcAddress mglXGetProcAddress
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -413,7 +413,7 @@ typedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSou
 | 
			
		||||
#ifdef GLX_GLXEXT_PROTOTYPES
 | 
			
		||||
extern Display * glXGetCurrentDisplayEXT (void);
 | 
			
		||||
extern int glXQueryContextInfoEXT (Display *, GLXContext, int, int *);
 | 
			
		||||
extern GLXContextID glXGetContextIDEXT (GLXContext);
 | 
			
		||||
extern GLXContextID glXGetContextIDEXT (const GLXContext);
 | 
			
		||||
extern GLXContext glXImportContextEXT (Display *, GLXContextID);
 | 
			
		||||
extern void glXFreeContextEXT (Display *, GLXContext);
 | 
			
		||||
#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
 | 
			
		||||
# Version:  3.5
 | 
			
		||||
@@ -79,22 +79,20 @@ OSMESASRCS = osdemo.c
 | 
			
		||||
 | 
			
		||||
clean::
 | 
			
		||||
 | 
			
		||||
realclean::
 | 
			
		||||
clobber::
 | 
			
		||||
	@del readtex.c readtex.h
 | 
			
		||||
 | 
			
		||||
targets: readtex.c readtex.h $(PROGS)
 | 
			
		||||
 | 
			
		||||
# remove comments when we get non-osmesa pgm working
 | 
			
		||||
$(EXES) : $*.obj
 | 
			
		||||
$(EXES) : $*.obj readtex.c readtex.h
 | 
			
		||||
	@echo $@
 | 
			
		||||
	$(link) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS)
 | 
			
		||||
	$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)
 | 
			
		||||
 | 
			
		||||
$(OSMESAEXES) : $*.obj
 | 
			
		||||
	@echo $@
 | 
			
		||||
	$(link) $(lcommon) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS) $(EXTRALIBS)
 | 
			
		||||
	$(link) $(lcommon) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) $(EXTRALIBS)
 | 
			
		||||
 | 
			
		||||
readtex.c:
 | 
			
		||||
	@copy ../util/readtex.c .
 | 
			
		||||
	-copy ..\util\readtex.c .
 | 
			
		||||
 | 
			
		||||
readtex.h:
 | 
			
		||||
	@copy ../util/readtex.c .
 | 
			
		||||
	-copy ..\util\readtex.h .
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@
 | 
			
		||||
static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
 | 
			
		||||
static GLboolean Anim = GL_TRUE;
 | 
			
		||||
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 )
 | 
			
		||||
{
 | 
			
		||||
   const char *exten = (const char *) glGetString(GL_EXTENSIONS);
 | 
			
		||||
   GLfloat maxBias;
 | 
			
		||||
 | 
			
		||||
   if (!strstr(exten, "GL_EXT_texture_lod_bias")) {
 | 
			
		||||
      printf("Sorry, GL_EXT_texture_lod_bias not supported by this renderer.\n");
 | 
			
		||||
      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_MAG_FILTER, GL_LINEAR);
 | 
			
		||||
   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
 | 
			
		||||
@@ -29,6 +29,7 @@
 | 
			
		||||
#include <GL/glx.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -281,7 +282,7 @@ static void
 | 
			
		||||
PrintInfo(const struct head *h)
 | 
			
		||||
{
 | 
			
		||||
   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("  Context:     0x%x\n", (int) h->Context);
 | 
			
		||||
   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
 | 
			
		||||
# Version:  3.5
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 | 
			
		||||
# Makefile for SGI SI GLU library
 | 
			
		||||
 | 
			
		||||
.SUFFIXES : .cc
 | 
			
		||||
 | 
			
		||||
##### MACROS #####
 | 
			
		||||
 | 
			
		||||
@@ -127,7 +128,6 @@ OBJECTS = $(C_OBJECTS) $(CC_OBJECTS)
 | 
			
		||||
	$(CPLUSPLUS) -c $(INCDIRS) $(CCFLAGS) -DLIBRARYBUILD $< -o $@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
##### TARGETS #####
 | 
			
		||||
 | 
			
		||||
default:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,5 @@
 | 
			
		||||
# 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>
 | 
			
		||||
 | 
			
		||||
.SUFFIXES : .cc
 | 
			
		||||
@@ -116,16 +107,14 @@ all	: gludll
 | 
			
		||||
 | 
			
		||||
gludll	: $(GLUDLL)
 | 
			
		||||
 | 
			
		||||
CFLAGS	= $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -Iinclude -DBUILD_GL32
 | 
			
		||||
CFLAGS	= $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -Iinclude -DBUILD_GL32 -DLIBRARYBUILD
 | 
			
		||||
LFLAGS	= $(dlllflags) $(lcommon) $(LFLAGS)
 | 
			
		||||
 | 
			
		||||
OBJS	= $(GLU_SRCS:.c=.obj)
 | 
			
		||||
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)
 | 
			
		||||
#NURBSINC = -Ilibnurbs\interface -Ilibnurbs\internals -Ilibnurbs\nurbtess 
 | 
			
		||||
#CFLAGS  = $(CFLAGS) $(NURBSINC)
 | 
			
		||||
OBJS	= $(GLU_SRCS_CC:.cc=.obj) $(GLU_SRCS:.c=.obj)
 | 
			
		||||
NURBSINC = -Ilibnurbs\interface -Ilibnurbs\internals -Ilibnurbs\nurbtess 
 | 
			
		||||
CFLAGS  = $(CFLAGS) $(NURBSINC)
 | 
			
		||||
 | 
			
		||||
$(GLUDLL): $(OBJS) glu.def
 | 
			
		||||
	$(link) $(LFLAGS) -out:$(GLUDLL) -def:glu.def $(OBJS) $(LIBS)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,11 @@
 | 
			
		||||
DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32'
 | 
			
		||||
VERSION 3.5
 | 
			
		||||
VERSION 4.0
 | 
			
		||||
 | 
			
		||||
EXPORTS
 | 
			
		||||
	gluBeginCurve
 | 
			
		||||
	gluBeginPolygon
 | 
			
		||||
	gluBeginSurface
 | 
			
		||||
	gluBeginTrim
 | 
			
		||||
	gluBuild1DMipmapLevels
 | 
			
		||||
	gluBuild1DMipmaps
 | 
			
		||||
	gluBuild2DMipmapLevels
 | 
			
		||||
@@ -11,22 +14,36 @@ EXPORTS
 | 
			
		||||
	gluBuild3DMipmaps
 | 
			
		||||
	gluCheckExtension
 | 
			
		||||
	gluCylinder
 | 
			
		||||
	gluDeleteNurbsRenderer
 | 
			
		||||
	gluDeleteQuadric
 | 
			
		||||
	gluDeleteTess
 | 
			
		||||
	gluDisk
 | 
			
		||||
	gluEndCurve
 | 
			
		||||
	gluEndPolygon
 | 
			
		||||
	gluEndSurface
 | 
			
		||||
	gluEndTrim
 | 
			
		||||
	gluErrorString
 | 
			
		||||
	gluGetNurbsProperty
 | 
			
		||||
	gluGetString
 | 
			
		||||
	gluGetTessProperty
 | 
			
		||||
	gluLoadSamplingMatrices
 | 
			
		||||
	gluLookAt
 | 
			
		||||
	gluNewNurbsRenderer
 | 
			
		||||
	gluNewQuadric
 | 
			
		||||
	gluNewTess
 | 
			
		||||
	gluNextContour
 | 
			
		||||
	gluNurbsCallback
 | 
			
		||||
	gluNurbsCallbackData
 | 
			
		||||
	gluNurbsCallbackDataEXT
 | 
			
		||||
	gluNurbsCurve
 | 
			
		||||
	gluNurbsProperty
 | 
			
		||||
	gluNurbsSurface
 | 
			
		||||
	gluOrtho2D
 | 
			
		||||
	gluPartialDisk
 | 
			
		||||
	gluPerspective
 | 
			
		||||
	gluPickMatrix
 | 
			
		||||
	gluProject
 | 
			
		||||
	gluPwlCurve
 | 
			
		||||
	gluQuadricCallback
 | 
			
		||||
	gluQuadricDrawStyle
 | 
			
		||||
	gluQuadricNormals
 | 
			
		||||
 
 | 
			
		||||
@@ -31,10 +31,10 @@
 | 
			
		||||
** published by SGI, but has not been independently verified as being
 | 
			
		||||
** 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>
 | 
			
		||||
@@ -72,8 +72,8 @@ void bezierCurveEval(float u0, float u1, int order, float *ctlpoints, int stride
 | 
			
		||||
{
 | 
			
		||||
  float uprime = (u-u0)/(u1-u0);
 | 
			
		||||
  float *ctlptr = ctlpoints;
 | 
			
		||||
  float oneMinusX = 1.0-uprime;
 | 
			
		||||
  float XPower = 1.0;
 | 
			
		||||
  float oneMinusX = 1.0f-uprime;
 | 
			
		||||
  float XPower = 1.0f;
 | 
			
		||||
 | 
			
		||||
  int i,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[])
 | 
			
		||||
{
 | 
			
		||||
  int i,j,k;
 | 
			
		||||
  int i;
 | 
			
		||||
  float newPoints[MAX_ORDER][MAX_DIMENSION];
 | 
			
		||||
 | 
			
		||||
  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*/
 | 
			
		||||
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) 
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -35,8 +35,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 * mapdesc.c++
 | 
			
		||||
 *
 | 
			
		||||
 * $Date: 2001/03/17 00:25:41 $ $Revision: 1.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 $
 | 
			
		||||
 * $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.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
@@ -372,13 +372,13 @@ Mapdesc::xformAndCullCheck(
 | 
			
		||||
	    unsigned int bits = clipbits( cpts );
 | 
			
		||||
	    outbits |= 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;
 | 
			
		||||
    } else if( inbits == mask ) {
 | 
			
		||||
    } else if( inbits == (unsigned int)mask ) {
 | 
			
		||||
	return CULL_TRIVIAL_ACCEPT;
 | 
			
		||||
    } else {
 | 
			
		||||
	return CULL_ACCEPT;
 | 
			
		||||
@@ -404,13 +404,13 @@ Mapdesc::cullCheck( REAL *pts, int uorder, int ustride, int vorder, int vstride
 | 
			
		||||
	    unsigned int bits = clipbits( q );
 | 
			
		||||
	    outbits |= 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;
 | 
			
		||||
    } else if( inbits == mask ) {
 | 
			
		||||
    } else if( inbits == (unsigned int)mask ) {
 | 
			
		||||
	return CULL_TRIVIAL_ACCEPT;
 | 
			
		||||
    } else {
 | 
			
		||||
	return CULL_ACCEPT;
 | 
			
		||||
@@ -434,12 +434,12 @@ Mapdesc::cullCheck( REAL *pts, int order, int stride )
 | 
			
		||||
	unsigned int bits = clipbits( p );
 | 
			
		||||
	outbits |= 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;
 | 
			
		||||
    } else if( inbits == mask ) {
 | 
			
		||||
    } else if( inbits == (unsigned int)mask ) {
 | 
			
		||||
	return CULL_TRIVIAL_ACCEPT;
 | 
			
		||||
    } else {
 | 
			
		||||
	return CULL_ACCEPT;
 | 
			
		||||
 
 | 
			
		||||
@@ -35,8 +35,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 * mesher.c++
 | 
			
		||||
 *
 | 
			
		||||
 * $Date: 2001/08/07 17:34:11 $ $Revision: 1.2 $
 | 
			
		||||
 * $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 $
 | 
			
		||||
 * $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.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "glimports.h"
 | 
			
		||||
@@ -82,7 +82,7 @@ Mesher::init( unsigned int npts )
 | 
			
		||||
inline void
 | 
			
		||||
Mesher::push( GridTrimVertex *gt )
 | 
			
		||||
{
 | 
			
		||||
    assert( itop+1 != stacksize );
 | 
			
		||||
    assert( itop+1 != (int)stacksize );
 | 
			
		||||
    vdata[++itop] = gt;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -35,8 +35,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 * sorter.c++
 | 
			
		||||
 *
 | 
			
		||||
 * $Date: 2001/03/17 00:25:41 $ $Revision: 1.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 $
 | 
			
		||||
 * $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.2.1 2001/11/29 16:38:27 kschultz Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "glimports.h"
 | 
			
		||||
@@ -84,7 +84,7 @@ Sorter::qs1( char *a,  char *l )
 | 
			
		||||
    unsigned int n;
 | 
			
		||||
 | 
			
		||||
start:
 | 
			
		||||
    if((n=l-a) <= es)
 | 
			
		||||
    if((n=l-a) <= (unsigned int)es)
 | 
			
		||||
	    return;
 | 
			
		||||
    n = es * (n / (2*es));
 | 
			
		||||
    hp = lp = a+n;
 | 
			
		||||
 
 | 
			
		||||
@@ -31,10 +31,10 @@
 | 
			
		||||
** published by SGI, but has not been independently verified as being
 | 
			
		||||
** 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>
 | 
			
		||||
@@ -596,7 +596,7 @@ Real directedLine::polyArea()
 | 
			
		||||
      y2 = temp->next->head()[1];
 | 
			
		||||
      ret += -( x2*y1-x1*y2);
 | 
			
		||||
    }
 | 
			
		||||
  return 0.5*ret;
 | 
			
		||||
  return Real(0.5)*ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*******************split or combine polygons begin********************/
 | 
			
		||||
 
 | 
			
		||||
@@ -31,10 +31,10 @@
 | 
			
		||||
** published by SGI, but has not been independently verified as being
 | 
			
		||||
** 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>
 | 
			
		||||
@@ -231,7 +231,7 @@ Int sweepRangeEqual(sweepRange* src1, sweepRange* src2)
 | 
			
		||||
 */
 | 
			
		||||
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;
 | 
			
		||||
  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 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 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
 | 
			
		||||
** 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>
 | 
			
		||||
@@ -395,7 +395,7 @@ poly->printList();
 | 
			
		||||
*/
 | 
			
		||||
  /*for debug purpose*/
 | 
			
		||||
  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)
 | 
			
		||||
    return 1; 
 | 
			
		||||
 
 | 
			
		||||
@@ -31,20 +31,24 @@
 | 
			
		||||
** published by SGI, but has not been independently verified as being
 | 
			
		||||
** 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
 | 
			
		||||
#define _POLYUTIL_H
 | 
			
		||||
 | 
			
		||||
#include "definitions.h"
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
Real area(Real A[2], Real B[2], Real C[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]);
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -31,10 +31,10 @@
 | 
			
		||||
** published by SGI, but has not been independently verified as being
 | 
			
		||||
** 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>
 | 
			
		||||
@@ -327,7 +327,7 @@ Int findBotSeparator(vertexArray* leftChain,
 | 
			
		||||
    {
 | 
			
		||||
      oldLeftI = leftCorner-1;
 | 
			
		||||
      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]; 
 | 
			
		||||
    }
 | 
			
		||||
  else //rightlower
 | 
			
		||||
@@ -335,7 +335,7 @@ Int findBotSeparator(vertexArray* leftChain,
 | 
			
		||||
      oldLeftI = leftCorner;
 | 
			
		||||
      oldRightI = rightCorner-1;
 | 
			
		||||
      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
 | 
			
		||||
 
 | 
			
		||||
@@ -31,10 +31,10 @@
 | 
			
		||||
** published by SGI, but has not been independently verified as being
 | 
			
		||||
** 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>
 | 
			
		||||
@@ -343,7 +343,7 @@ Int findTopSeparator(vertexArray* leftChain,
 | 
			
		||||
    {
 | 
			
		||||
      oldLeftI = leftEndIndex+1;
 | 
			
		||||
      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];
 | 
			
		||||
    }
 | 
			
		||||
  else
 | 
			
		||||
@@ -351,7 +351,7 @@ Int findTopSeparator(vertexArray* leftChain,
 | 
			
		||||
      oldLeftI = leftEndIndex;
 | 
			
		||||
      oldRightI = rightEndIndex+1;
 | 
			
		||||
      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, 
 | 
			
		||||
@@ -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
 | 
			
		||||
         // inc_chain[i]
 | 
			
		||||
         int l;
 | 
			
		||||
         Real tempI = j;
 | 
			
		||||
         Real tempMin = fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(j)[0]);
 | 
			
		||||
         Real tempI = Real(j);
 | 
			
		||||
         Real tempMin = (Real)fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(j)[0]);
 | 
			
		||||
         for(l=j+1; l<= k-1; l++)
 | 
			
		||||
	   {
 | 
			
		||||
	     if(fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(l)[0])
 | 
			
		||||
		<= tempMin)
 | 
			
		||||
	       {
 | 
			
		||||
		 tempMin = fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(l)[0]);
 | 
			
		||||
		 tempI = l;
 | 
			
		||||
		 tempMin = (Real)fabs(inc_chain->getVertex(i)[0] - dec_chain->getVertex(l)[0]);
 | 
			
		||||
		 tempI = (Real)l;
 | 
			
		||||
	       }
 | 
			
		||||
	   }
 | 
			
		||||
	 //inc_chain[i] and dec_chain[tempI] are connected.
 | 
			
		||||
	 monoTriangulationRecGenOpt(dec_chain->getVertex(tempI),
 | 
			
		||||
	 monoTriangulationRecGenOpt(dec_chain->getVertex((int)tempI),
 | 
			
		||||
				    botVertex,
 | 
			
		||||
				    inc_chain, i, inc_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]
 | 
			
		||||
	  int tempI = i;
 | 
			
		||||
	  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++)
 | 
			
		||||
	    {
 | 
			
		||||
	      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;
 | 
			
		||||
		}
 | 
			
		||||
	    }				 	      
 | 
			
		||||
 
 | 
			
		||||
@@ -31,10 +31,10 @@
 | 
			
		||||
** published by SGI, but has not been independently verified as being
 | 
			
		||||
** 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>
 | 
			
		||||
@@ -96,7 +96,6 @@ sampledLine::sampledLine(Int n_points, Real2 pts[])
 | 
			
		||||
 | 
			
		||||
sampledLine::sampledLine(Real pt1[2], Real pt2[2])
 | 
			
		||||
{
 | 
			
		||||
  int i;
 | 
			
		||||
  npoints = 2;
 | 
			
		||||
  points = (Real2*) malloc(sizeof(Real2) * 2);
 | 
			
		||||
  assert(points);
 | 
			
		||||
 
 | 
			
		||||
@@ -35,14 +35,14 @@
 | 
			
		||||
/*
 | 
			
		||||
** Author: Eric Veach, July 1994.
 | 
			
		||||
**
 | 
			
		||||
** $Date: 2001/07/20 11:20:32 $ $Revision: 1.2 $
 | 
			
		||||
** $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 $
 | 
			
		||||
** $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.2.1 2001/11/30 20:12:38 kschultz Exp $
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __memalloc_simple_h_
 | 
			
		||||
#define __memalloc_simple_h_
 | 
			
		||||
 | 
			
		||||
#ifdef __VMS
 | 
			
		||||
#if defined(__VMS) || defined(darwin)
 | 
			
		||||
# include <stdlib.h>
 | 
			
		||||
#else
 | 
			
		||||
# include <malloc.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -25,8 +25,8 @@ OBJS   = $(SRCS:.c=.obj)
 | 
			
		||||
MS_LIBS   = ../lib/$(MESALIB) ../lib/$(GLULIB) winmm.lib $(guilibsdll)
 | 
			
		||||
SGI_LIBS   = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll)
 | 
			
		||||
 | 
			
		||||
glut32.dll : $(OBJS) glut.def
 | 
			
		||||
	$(link) $(LFLAGS) -out:glut32.dll -def:glut.def $(OBJS) $(MS_LIBS)
 | 
			
		||||
MesaGlut.dll : $(OBJS) glut.def
 | 
			
		||||
	$(link) $(LFLAGS) -out:MesaGlut.dll -def:glut.def $(OBJS) $(MS_LIBS)
 | 
			
		||||
	@echo "copying GLUT dynamic link library to lib directory..."
 | 
			
		||||
	-copy $(GLUTDLL) ..\lib
 | 
			
		||||
	@echo "copying GLUT import library to lib directory..."
 | 
			
		||||
 
 | 
			
		||||
@@ -439,15 +439,15 @@ loadVisuals(int *nitems_return)
 | 
			
		||||
        GLXFBConfigSGIX fbc;
 | 
			
		||||
        int fbconfigID, drawType, renderType;
 | 
			
		||||
 | 
			
		||||
        fbc = glXGetFBConfigFromVisualSGIX(__glutDisplay, vlist[i]);
 | 
			
		||||
        fbc = __glut_glXGetFBConfigFromVisualSGIX(__glutDisplay, vlist[i]);
 | 
			
		||||
        if (fbc) {
 | 
			
		||||
          rc = glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
 | 
			
		||||
          rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
 | 
			
		||||
	    GLX_FBCONFIG_ID_SGIX, &fbconfigID);
 | 
			
		||||
          if ((rc == 0) && (fbconfigID != None)) {
 | 
			
		||||
            rc = glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
 | 
			
		||||
            rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
 | 
			
		||||
	      GLX_DRAWABLE_TYPE_SGIX, &drawType);
 | 
			
		||||
            if ((rc == 0) && (drawType & GLX_WINDOW_BIT_SGIX)) {
 | 
			
		||||
              rc = glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
 | 
			
		||||
              rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
 | 
			
		||||
	        GLX_RENDER_TYPE_SGIX, &renderType);
 | 
			
		||||
              if ((rc == 0) && (renderType & GLX_RGBA_BIT_SGIX)) {
 | 
			
		||||
                mode->fbc = fbc;
 | 
			
		||||
@@ -459,7 +459,7 @@ loadVisuals(int *nitems_return)
 | 
			
		||||
 | 
			
		||||
                /* Start with "j = 1" to skip the GLX_RGBA attribute. */
 | 
			
		||||
                for (j = 1; j < NUM_GLXCAPS; j++) {
 | 
			
		||||
                  rc = glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
                  rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
		    fbc, glxcap[j], &mode->cap[j]);
 | 
			
		||||
                  if (rc != 0) {
 | 
			
		||||
                    mode->valid = 0;
 | 
			
		||||
@@ -509,7 +509,7 @@ loadVisuals(int *nitems_return)
 | 
			
		||||
#define GLX_VISUAL_CAVEAT_EXT 0x20
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
                  rc = glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
                  rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
		    fbc, GLX_VISUAL_CAVEAT_EXT, &rating);
 | 
			
		||||
                  if (rc != 0) {
 | 
			
		||||
                    mode->cap[SLOW] = 0;
 | 
			
		||||
@@ -558,7 +558,7 @@ loadVisuals(int *nitems_return)
 | 
			
		||||
#define GLX_TRANSPARENT_TYPE_EXT 0x23
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
                  rc = glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
                  rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
		    fbc, GLX_TRANSPARENT_TYPE_EXT, &transparent);
 | 
			
		||||
                  if (rc != 0) {
 | 
			
		||||
                    mode->cap[TRANSPARENT] = 0;
 | 
			
		||||
@@ -573,7 +573,7 @@ loadVisuals(int *nitems_return)
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
 | 
			
		||||
                if (multisample) {
 | 
			
		||||
                  rc = glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
                  rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
 | 
			
		||||
		    fbc, GLX_SAMPLES_SGIS, &mode->cap[SAMPLES]);
 | 
			
		||||
                  if (rc != 0) {
 | 
			
		||||
                    mode->cap[SAMPLES] = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -50,4 +50,19 @@ glutExtensionSupported(const char *extension)
 | 
			
		||||
  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 */
 | 
			
		||||
 
 | 
			
		||||
@@ -46,3 +46,210 @@ __glutIsSupportedByGLX(char *extension)
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
#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 (fbc) {
 | 
			
		||||
    window->ctx = glXCreateContextWithConfigSGIX(__glutDisplay, fbc,
 | 
			
		||||
    window->ctx = __glut_glXCreateContextWithConfigSGIX(__glutDisplay, fbc,
 | 
			
		||||
      GLX_RGBA_TYPE_SGIX, None, __glutTryDirect);
 | 
			
		||||
  } else
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,7 @@ glutVideoResizeGet(GLenum param)
 | 
			
		||||
  if (canVideoResize < 0) {
 | 
			
		||||
    canVideoResize = __glutIsSupportedByGLX("GLX_SGIX_video_resize");
 | 
			
		||||
    if (canVideoResize) {
 | 
			
		||||
#if __sgi
 | 
			
		||||
#if defined(__sgi) && __sgi
 | 
			
		||||
      /* This is a hack because IRIX 6.2, 6.3, and some 6.4
 | 
			
		||||
         versions were released with GLX_SGIX_video_resize
 | 
			
		||||
         being advertised by the X server though the video
 | 
			
		||||
@@ -94,7 +94,8 @@ glutVideoResizeGet(GLenum param)
 | 
			
		||||
 | 
			
		||||
#if defined(GLX_GLXEXT_PROTOTYPES)
 | 
			
		||||
#endif
 | 
			
		||||
        glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
 | 
			
		||||
        __glut_glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
          videoResizeChannel, &dx, &dy, &dw, &dh);
 | 
			
		||||
 | 
			
		||||
        /* glXQueryChannelDeltasSGIX is an inherent X server
 | 
			
		||||
@@ -138,7 +139,7 @@ glutVideoResizeGet(GLenum param)
 | 
			
		||||
    if (videoResizeInUse) {
 | 
			
		||||
      int x, y, width, height;
 | 
			
		||||
 | 
			
		||||
      glXQueryChannelRectSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
      __glut_glXQueryChannelRectSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
        videoResizeChannel, &x, &y, &width, &height);
 | 
			
		||||
      switch (param) {
 | 
			
		||||
      case GLUT_VIDEO_RESIZE_X:
 | 
			
		||||
@@ -164,7 +165,7 @@ glutSetupVideoResizing(void)
 | 
			
		||||
{
 | 
			
		||||
#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
 | 
			
		||||
  if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
 | 
			
		||||
    glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
    __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
      videoResizeChannel, __glutCurrentWindow->win);
 | 
			
		||||
    videoResizeInUse = 1;
 | 
			
		||||
  } else
 | 
			
		||||
@@ -178,7 +179,7 @@ glutStopVideoResizing(void)
 | 
			
		||||
#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
 | 
			
		||||
  if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
 | 
			
		||||
    if (videoResizeInUse) {
 | 
			
		||||
      glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
      __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
        videoResizeChannel, None);
 | 
			
		||||
      videoResizeInUse = 0;
 | 
			
		||||
    }
 | 
			
		||||
@@ -196,10 +197,10 @@ glutVideoResize(int x, int y, int width, int height)
 | 
			
		||||
    /* glXChannelRectSyncSGIX introduced in a patch to IRIX
 | 
			
		||||
       6.2; the original unpatched IRIX 6.2 behavior is always
 | 
			
		||||
       GLX_SYNC_SWAP_SGIX. */
 | 
			
		||||
    glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
    __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
      videoResizeChannel, GLX_SYNC_SWAP_SGIX);
 | 
			
		||||
#endif
 | 
			
		||||
    glXChannelRectSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
    __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
      videoResizeChannel, x, y, width, height);
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
@@ -218,10 +219,10 @@ glutVideoPan(int x, int y, int width, int height)
 | 
			
		||||
       accomplish GLX_SYNC_FRAME_SGIX on IRIX unpatched 6.2;
 | 
			
		||||
       this means you'd need a glutSwapBuffers to actually
 | 
			
		||||
       realize the video resize. */
 | 
			
		||||
    glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
    __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
      videoResizeChannel, GLX_SYNC_FRAME_SGIX);
 | 
			
		||||
#endif
 | 
			
		||||
    glXChannelRectSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
    __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen,
 | 
			
		||||
      videoResizeChannel, x, y, width, height);
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -577,7 +577,7 @@ __glutCreateWindow(GLUTwindow * parent,
 | 
			
		||||
  window->renderWin = window->win;
 | 
			
		||||
#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
 | 
			
		||||
  if (fbc) {
 | 
			
		||||
    window->ctx = glXCreateContextWithConfigSGIX(__glutDisplay, fbc,
 | 
			
		||||
    window->ctx = __glut_glXCreateContextWithConfigSGIX(__glutDisplay, fbc,
 | 
			
		||||
      GLX_RGBA_TYPE_SGIX, None, __glutTryDirect);
 | 
			
		||||
  } else
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -764,6 +764,29 @@ extern void __glutDestroyWindow(
 | 
			
		||||
#if !defined(_WIN32)
 | 
			
		||||
/* private routines from glut_glxext.c */
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
/* 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
 | 
			
		||||
# Version:  4.0
 | 
			
		||||
# Version:  4.0.1
 | 
			
		||||
# Copyright (C) 1995-2001  Brian Paul
 | 
			
		||||
 | 
			
		||||
# Makefile for core library
 | 
			
		||||
@@ -200,69 +200,6 @@ OSMESA_OBJECTS = OSmesa/osmesa.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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
	rm -f X86/gen_matypes X86/*.o
 | 
			
		||||
 | 
			
		||||
$(ASM_SOURCES): X86/matypes.h
 | 
			
		||||
 | 
			
		||||
GGI/ggimesa.o: GGI/ggimesa.c
 | 
			
		||||
	$(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 $@
 | 
			
		||||
 | 
			
		||||
# We have X86/matypes.h depend on X86/matypes.h so that if ASM_SOURCES
 | 
			
		||||
# is empty we don't get an invalid Makefile.
 | 
			
		||||
$(ASM_SOURCES) X86/matypes.h: X86/matypes.h
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
##### 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
 | 
			
		||||
@@ -49,6 +49,7 @@
 | 
			
		||||
#define ELTS_VARS
 | 
			
		||||
#define ALLOC_ELTS( nr )
 | 
			
		||||
#define EMIT_ELT( offset, elt )
 | 
			
		||||
#define EMIT_TWO_ELTS( offset, elt0, elt1 )
 | 
			
		||||
#define INCR_ELTS( nr )
 | 
			
		||||
#define ELT_INIT(prim)
 | 
			
		||||
#define GET_CURRENT_VB_MAX_ELTS() 0
 | 
			
		||||
@@ -310,7 +311,7 @@ static void TAG(render_tri_strip_verts)( GLcontext *ctx,
 | 
			
		||||
	 currentsz = dmasz;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (flags & PRIM_PARITY) {
 | 
			
		||||
      if ((flags & PRIM_PARITY) && count - start > 2) {
 | 
			
		||||
	 if (HAVE_TRI_STRIP_1 && 0) {
 | 
			
		||||
	 } else {
 | 
			
		||||
	    EMIT_VERTS( ctx, start, 1 );
 | 
			
		||||
@@ -433,11 +434,6 @@ static void TAG(render_quad_strip_verts)( GLcontext *ctx,
 | 
			
		||||
	 currentsz = dmasz;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (flags & PRIM_PARITY) {
 | 
			
		||||
	    EMIT_VERTS( ctx, start, 1 );
 | 
			
		||||
	    currentsz--;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      dmasz -= (dmasz & 2);
 | 
			
		||||
      currentsz -= (currentsz & 2);
 | 
			
		||||
 | 
			
		||||
@@ -485,7 +481,7 @@ static void TAG(render_quad_strip_verts)( GLcontext *ctx,
 | 
			
		||||
	       NEW_PRIMITIVE();
 | 
			
		||||
	       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( 2, (i+2), (i+1) );
 | 
			
		||||
		  EMIT_TWO_ELTS( 4, (i+3), (i+2) );
 | 
			
		||||
@@ -606,7 +602,7 @@ static void TAG(render_quads_verts)( GLcontext *ctx,
 | 
			
		||||
	    NEW_PRIMITIVE();
 | 
			
		||||
	    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( 2, (i+3), (i+1) );
 | 
			
		||||
	       EMIT_TWO_ELTS( 4, (i+2), (i+3) );
 | 
			
		||||
@@ -866,7 +862,7 @@ static void TAG(render_tri_strip_elts)( GLcontext *ctx,
 | 
			
		||||
	 currentsz = dmasz;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (flags & PRIM_PARITY) {
 | 
			
		||||
      if ((flags & PRIM_PARITY) && count - start > 2) {
 | 
			
		||||
	 TAG(emit_elts)( ctx, elts+start, 1 );
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@@ -1001,7 +997,7 @@ static void TAG(render_quad_strip_elts)( GLcontext *ctx,
 | 
			
		||||
	       NEW_PRIMITIVE();
 | 
			
		||||
	       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( 2, elts[2], elts[1] );
 | 
			
		||||
		  EMIT_TWO_ELTS( 4, elts[3], elts[2] );
 | 
			
		||||
@@ -1069,7 +1065,7 @@ static void TAG(render_quads_elts)( GLcontext *ctx,
 | 
			
		||||
	    NEW_PRIMITIVE();
 | 
			
		||||
	    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( 2, elts[3], elts[1] );
 | 
			
		||||
	       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
 | 
			
		||||
@@ -277,7 +277,7 @@ IMPORT_QUALIFIER void TAG(import_float_spec_colors)( GLcontext *ctx )
 | 
			
		||||
#define INTERP_QUALIFIER static
 | 
			
		||||
#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,
 | 
			
		||||
@@ -289,16 +289,16 @@ INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx,
 | 
			
		||||
   struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
 | 
			
		||||
 | 
			
		||||
   if (VB->ColorPtr[1]) {
 | 
			
		||||
      INTERP_4F( t,
 | 
			
		||||
		 GET_COLOR(VB->ColorPtr[1], dst),
 | 
			
		||||
		 GET_COLOR(VB->ColorPtr[1], out),
 | 
			
		||||
		 GET_COLOR(VB->ColorPtr[1], in) );
 | 
			
		||||
      INTERP_4CHAN( t,
 | 
			
		||||
		    GET_COLOR(VB->ColorPtr[1], dst),
 | 
			
		||||
		    GET_COLOR(VB->ColorPtr[1], out),
 | 
			
		||||
		    GET_COLOR(VB->ColorPtr[1], in) );
 | 
			
		||||
 | 
			
		||||
      if (VB->SecondaryColorPtr[1]) {
 | 
			
		||||
	 INTERP_3F( t,
 | 
			
		||||
		    GET_COLOR(VB->SecondaryColorPtr[1], dst),
 | 
			
		||||
		    GET_COLOR(VB->SecondaryColorPtr[1], out),
 | 
			
		||||
		    GET_COLOR(VB->SecondaryColorPtr[1], in) );
 | 
			
		||||
	 INTERP_3CHAN( t,
 | 
			
		||||
		       GET_COLOR(VB->SecondaryColorPtr[1], dst),
 | 
			
		||||
		       GET_COLOR(VB->SecondaryColorPtr[1], out),
 | 
			
		||||
		       GET_COLOR(VB->SecondaryColorPtr[1], in) );
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
@@ -316,12 +316,12 @@ INTERP_QUALIFIER void TAG(copy_pv_extras)( GLcontext *ctx,
 | 
			
		||||
      struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
 | 
			
		||||
 | 
			
		||||
   if (VB->ColorPtr[1]) {
 | 
			
		||||
      COPY_4FV( GET_COLOR(VB->ColorPtr[1], dst), 
 | 
			
		||||
		GET_COLOR(VB->ColorPtr[1], src) );
 | 
			
		||||
      COPY_CHAN4( GET_COLOR(VB->ColorPtr[1], dst), 
 | 
			
		||||
		  GET_COLOR(VB->ColorPtr[1], src) );
 | 
			
		||||
 | 
			
		||||
      if (VB->SecondaryColorPtr[1]) {
 | 
			
		||||
	 COPY_4FV( GET_COLOR(VB->SecondaryColorPtr[1], dst), 
 | 
			
		||||
		   GET_COLOR(VB->SecondaryColorPtr[1], src) );
 | 
			
		||||
	 COPY_CHAN4( GET_COLOR(VB->SecondaryColorPtr[1], dst), 
 | 
			
		||||
		     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)
 | 
			
		||||
{
 | 
			
		||||
	GLcontext *ctx = ggictx->gl_ctx;
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
	ctx->Driver.WriteRGBASpan	= GGIwrite_rgba_span;
 | 
			
		||||
	ctx->Driver.WriteRGBSpan	= GGIwrite_rgb_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.ReadCI32Pixels = GGIread_ci32_pixels;
 | 
			
		||||
	ctx->Driver.ReadRGBAPixels = GGIread_rgba_pixels;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
	info->red_bits = R;
 | 
			
		||||
	info->green_bits =G;
 | 
			
		||||
	info->blue_bits = B;
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,7 @@
 | 
			
		||||
#include "swrast/s_context.h"
 | 
			
		||||
#include "swrast/s_depth.h"
 | 
			
		||||
#include "swrast/s_triangle.h"
 | 
			
		||||
#include "swrast/s_trispan.h"
 | 
			
		||||
 | 
			
		||||
/**********************************************************************/
 | 
			
		||||
/*****            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)
 | 
			
		||||
{
 | 
			
		||||
	GLcontext *ctx = ggictx->gl_ctx;
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
	ctx->Driver.WriteRGBASpan	= GGIwrite_rgba_span;
 | 
			
		||||
	ctx->Driver.WriteRGBSpan	= GGIwrite_rgb_span;
 | 
			
		||||
	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.ReadCI32Pixels	= GGIread_ci32_pixels;
 | 
			
		||||
	ctx->Driver.ReadRGBAPixels	= GGIread_rgba_pixels;
 | 
			
		||||
	
 | 
			
		||||
#endif
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GGIupdate_state(GLcontext *ctx)
 | 
			
		||||
{
 | 
			
		||||
#if 0
 | 
			
		||||
	ctx->Driver.TriangleFunc = _swsetup_Triangle;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -224,6 +224,7 @@ static void gl_ggiSetupPointers(GLcontext *ctx)
 | 
			
		||||
	ctx->Driver.ColorMask = gl_ggiColorMask;
 | 
			
		||||
	ctx->Driver.Enable = gl_ggiEnable;
 | 
			
		||||
	
 | 
			
		||||
#if 0
 | 
			
		||||
	ctx->Driver.SetDrawBuffer = gl_ggiSetDrawBuffer;
 | 
			
		||||
	ctx->Driver.SetReadBuffer = gl_ggiSetReadBuffer;
 | 
			
		||||
	
 | 
			
		||||
@@ -239,7 +240,7 @@ static void gl_ggiSetupPointers(GLcontext *ctx)
 | 
			
		||||
	ctx->Driver.LineFunc = _swsetup_Line;
 | 
			
		||||
	ctx->Driver.TriangleFunc = _swsetup_Triangle;
 | 
			
		||||
	ctx->Driver.QuadFunc = _swsetup_Quad;
 | 
			
		||||
	
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -327,7 +327,7 @@ fxDDTexDel(GLcontext * ctx, struct gl_texture_object *tObj)
 | 
			
		||||
   tfxTexInfo *ti = fxTMGetTexInfo(tObj);
 | 
			
		||||
 | 
			
		||||
   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)
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -214,7 +214,7 @@ fx_fallback_point( fxMesaContext fxMesa,
 | 
			
		||||
 | 
			
		||||
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", 
 | 
			
		||||
	   v->x, v->y, v->ooz, v->oow);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
DESCRIPTION 'Mesa OSMesa lib for Win32'
 | 
			
		||||
VERSION 3.5
 | 
			
		||||
VERSION 4.0
 | 
			
		||||
 | 
			
		||||
EXPORTS
 | 
			
		||||
	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
 | 
			
		||||
@@ -19,7 +19,11 @@
 | 
			
		||||
 * 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 <GL/wmesa.h>
 | 
			
		||||
@@ -53,7 +57,9 @@
 | 
			
		||||
 | 
			
		||||
/* Dither not tested for Mesa 4.0 */ 
 | 
			
		||||
#ifdef DITHER
 | 
			
		||||
#ifdef USE_WING
 | 
			
		||||
#include <wing.h>
 | 
			
		||||
#endif // USE_WING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef __CYGWIN32__
 | 
			
		||||
@@ -72,8 +78,15 @@
 | 
			
		||||
#include "parallel.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 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 stereoShowing  = GL_FALSE ;
 | 
			
		||||
GLenum stereoBuffer = GL_FALSE;
 | 
			
		||||
@@ -85,6 +98,17 @@ GLint stereo_flag = 0 ;
 | 
			
		||||
static PWMC Current = 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
 | 
			
		||||
 * off-screen DIB, otherwise the DC for the window.
 | 
			
		||||
 */
 | 
			
		||||
@@ -112,13 +136,18 @@ GLubyte pixelDithered;
 | 
			
		||||
    pixelDithered = aWinGHalftoneTranslation[paletteindex];          \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef DDRAW
 | 
			
		||||
static BOOL DDInit( WMesaContext wc, HWND hwnd);
 | 
			
		||||
static void DDFree( WMesaContext wc);
 | 
			
		||||
static HRESULT DDRestoreAll( WMesaContext wc );
 | 
			
		||||
static void DDDeleteOffScreen(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
 | 
			
		||||
 | 
			
		||||
static void FlushToFile(PWMC pwc, PSTR  szFile);
 | 
			
		||||
@@ -208,8 +237,10 @@ BOOL wmDeleteBackingStore(PWMC pwc)
 | 
			
		||||
  SelectObject(pwc->dib.hDC, pwc->hOldBitmap);
 | 
			
		||||
  DeleteDC(pwc->dib.hDC);
 | 
			
		||||
  DeleteObject(pwc->hbmDIB);
 | 
			
		||||
#ifdef USE_MAPPED_FILE
 | 
			
		||||
  UnmapViewOfFile(pwc->dib.base);
 | 
			
		||||
  CloseHandle(pwc->dib.hFileMap);
 | 
			
		||||
#endif
 | 
			
		||||
  return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -254,7 +285,8 @@ BOOL wmCreateBackingStore(PWMC pwc, long lxSize, long lySize)
 | 
			
		||||
  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
 | 
			
		||||
 */
 | 
			
		||||
@@ -282,8 +314,9 @@ BOOL wmSetDIBits(PWMC pwc, UINT uiScanWidth, UINT uiNumScans,
 | 
			
		||||
  }
 | 
			
		||||
  return TRUE;
 | 
			
		||||
}
 | 
			
		||||
#endif // 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(FAST_RASTERIZERS)
 | 
			
		||||
 | 
			
		||||
#define PIXELADDR(X,Y)  \
 | 
			
		||||
  ((GLubyte *)Current->pbPixels + (Current->height-Y-1)* \
 | 
			
		||||
@@ -295,6 +328,7 @@ BOOL wmSetDIBits(PWMC pwc, UINT uiScanWidth, UINT uiNumScans,
 | 
			
		||||
#define PIXELADDR4( X, Y )  \
 | 
			
		||||
((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);
 | 
			
		||||
 | 
			
		||||
@@ -351,13 +385,6 @@ static void clear_color( GLcontext* ctx, const GLchan color[4] )
 | 
			
		||||
static clear(GLcontext* ctx, GLbitfield mask,
 | 
			
		||||
	     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;
 | 
			
		||||
  
 | 
			
		||||
  if (all){
 | 
			
		||||
@@ -372,6 +399,50 @@ static clear(GLcontext* ctx, GLbitfield mask,
 | 
			
		||||
  
 | 
			
		||||
  if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) {
 | 
			
		||||
      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 */
 | 
			
		||||
	  UINT    nBypp = Current->cColorBits / 8;
 | 
			
		||||
	  int     i = 0;
 | 
			
		||||
@@ -434,6 +505,7 @@ static clear(GLcontext* ctx, GLbitfield mask,
 | 
			
		||||
	  }
 | 
			
		||||
	  while (i<lines-1);
 | 
			
		||||
	  mask &= ~DD_BACK_LEFT_BIT;
 | 
			
		||||
#endif // defined(USE_GDI_TO_CLEAR)
 | 
			
		||||
      } /* double-buffer */
 | 
			
		||||
      
 | 
			
		||||
      if (mask & DD_FRONT_LEFT_BIT) {
 | 
			
		||||
@@ -443,7 +515,7 @@ static clear(GLcontext* ctx, GLbitfield mask,
 | 
			
		||||
	  HBRUSH Brush=CreateSolidBrush(Current->clearpixel);
 | 
			
		||||
	  HPEN Old_Pen=SelectObject(DC,Pen);
 | 
			
		||||
	  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_Brush);
 | 
			
		||||
	  DeleteObject(Pen);
 | 
			
		||||
@@ -733,23 +805,25 @@ static void write_mono_rgba_span( const GLcontext* ctx,
 | 
			
		||||
                                  GLuint n, GLint x, GLint y,
 | 
			
		||||
                                  const GLchan color[4], const GLubyte mask[])
 | 
			
		||||
{
 | 
			
		||||
  ULONG pixel =  RGB( color[RCOMP], color[GCOMP], color[BCOMP] );
 | 
			
		||||
  GLuint i;
 | 
			
		||||
  HDC DC=DD_GETDC;
 | 
			
		||||
  PWMC pwc = Current;
 | 
			
		||||
  assert(Current->rgb_flag==GL_TRUE);
 | 
			
		||||
  y=FLIP(y);
 | 
			
		||||
  if(Current->rgb_flag==GL_TRUE){
 | 
			
		||||
  if(Current->rgb_flag==GL_TRUE)
 | 
			
		||||
  {
 | 
			
		||||
	for (i=0; i<n; i++)
 | 
			
		||||
		if (mask[i])
 | 
			
		||||
			wmSetPixel(pwc,y,x+i,color[RCOMP], color[GCOMP], color[BCOMP]);
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
	HDC DC=DD_GETDC;
 | 
			
		||||
    ULONG pixel =  RGB( color[RCOMP], color[GCOMP], color[BCOMP] );
 | 
			
		||||
    for (i=0; i<n; i++)
 | 
			
		||||
      if (mask[i])
 | 
			
		||||
	wmSetPixel(pwc,y,x+i,color[RCOMP], color[GCOMP], color[BCOMP]);
 | 
			
		||||
		SetPixel(DC, y, x+i, pixel);
 | 
			
		||||
	  DD_RELEASEDC;
 | 
			
		||||
  }
 | 
			
		||||
  else {
 | 
			
		||||
    for (i=0; i<n; i++)
 | 
			
		||||
      if (mask[i])
 | 
			
		||||
	SetPixel(DC, y, x+i, pixel);
 | 
			
		||||
  }
 | 
			
		||||
  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 );
 | 
			
		||||
  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.UpdateState = wmesa_update_state;
 | 
			
		||||
  ctx->Driver.SetDrawBuffer = set_draw_buffer;
 | 
			
		||||
@@ -1006,8 +1073,87 @@ static void wmesa_update_state( GLcontext *ctx, GLuint new_state )
 | 
			
		||||
  swdd->ReadRGBASpan        = read_rgba_span;
 | 
			
		||||
  swdd->ReadCI32Pixels      = read_ci32_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;
 | 
			
		||||
  
 | 
			
		||||
  _swrast_InvalidateState( ctx, new_state );
 | 
			
		||||
@@ -1106,7 +1252,11 @@ WMesaContext WMesaCreateContext( HWND hWnd, HPALETTE* Pal,
 | 
			
		||||
#ifdef DITHER
 | 
			
		||||
  if ((true_color_flag==GL_FALSE) && (rgb_flag == GL_TRUE)){
 | 
			
		||||
    c->dither_flag = GL_TRUE;
 | 
			
		||||
#ifdef USE_WING
 | 
			
		||||
    c->hPalHalfTone = WinGCreateHalftonePalette();
 | 
			
		||||
#else
 | 
			
		||||
	c->hPalHalfTone = CreateHalftonePalette(c->hDC);
 | 
			
		||||
#endif
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
    c->dither_flag = GL_FALSE;
 | 
			
		||||
@@ -1209,14 +1359,19 @@ WMesaContext WMesaCreateContext( HWND hWnd, HPALETTE* Pal,
 | 
			
		||||
   */
 | 
			
		||||
  {
 | 
			
		||||
    GLcontext *ctx = c->gl_ctx;
 | 
			
		||||
    
 | 
			
		||||
    _swrast_CreateContext( ctx );
 | 
			
		||||
    _ac_CreateContext( ctx );
 | 
			
		||||
    _tnl_CreateContext( ctx );
 | 
			
		||||
    _swsetup_CreateContext( ctx );
 | 
			
		||||
    
 | 
			
		||||
#ifdef SET_FPOINTERS_ONCE
 | 
			
		||||
    SetFunctionPointers(ctx);
 | 
			
		||||
#endif // SET_FPOINTERS_ONCE
 | 
			
		||||
    _swsetup_Wakeup( ctx );
 | 
			
		||||
  }
 | 
			
		||||
#ifdef COMPILE_SETPIXEL
 | 
			
		||||
  ChooseSetPixel(c);
 | 
			
		||||
#endif
 | 
			
		||||
  return c;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1296,7 +1451,9 @@ void WMesaSwapBuffers( void )
 | 
			
		||||
 | 
			
		||||
void WMesaPaletteChange(HPALETTE Pal)
 | 
			
		||||
{
 | 
			
		||||
#ifndef DDRAW
 | 
			
		||||
  int vRet;
 | 
			
		||||
#endif
 | 
			
		||||
  LPPALETTEENTRY pPal;
 | 
			
		||||
  if (Current && (Current->rgb_flag==GL_FALSE || 
 | 
			
		||||
		  Current->dither_flag == GL_TRUE))
 | 
			
		||||
@@ -1407,33 +1564,121 @@ 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) {
 | 
			
		||||
    LPBYTE  lpb = pwc->pbPixels;
 | 
			
		||||
    UINT    nBypp = pwc->cColorBits >> 3;
 | 
			
		||||
    UINT    nOffset = iPixel % nBypp;
 | 
			
		||||
    
 | 
			
		||||
    lpb += pwc->ScanWidth * iScanLine;
 | 
			
		||||
    lpb += iPixel * nBypp;
 | 
			
		||||
    
 | 
			
		||||
    if(nBypp == 1){
 | 
			
		||||
      if(pwc->dither_flag)
 | 
			
		||||
	*lpb = DITHER_RGB_2_8BIT(r,g,b,iScanLine,iPixel);
 | 
			
		||||
      else
 | 
			
		||||
	*lpb = BGR8(r,g,b);
 | 
			
		||||
    }
 | 
			
		||||
    else if(nBypp == 2)
 | 
			
		||||
      *((LPWORD)lpb) = BGR16(r,g,b);
 | 
			
		||||
    else if (nBypp == 3)
 | 
			
		||||
      *((LPDWORD)lpb) = BGR24(r,g,b);
 | 
			
		||||
    else if (nBypp == 4)
 | 
			
		||||
      *((LPDWORD)lpb) = BGR32(r,g,b);
 | 
			
		||||
  }
 | 
			
		||||
  else{
 | 
			
		||||
    SetPixel(Current->hDC, iPixel, iScanLine, RGB(r,g,b));
 | 
			
		||||
  }
 | 
			
		||||
	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;
 | 
			
		||||
		UINT    nBypp = pwc->cColorBits >> 3;
 | 
			
		||||
    
 | 
			
		||||
		lpb += pwc->ScanWidth * iScanLine;
 | 
			
		||||
		lpb += iPixel * nBypp;
 | 
			
		||||
    
 | 
			
		||||
		if(nBypp == 1)
 | 
			
		||||
		{
 | 
			
		||||
			if(pwc->dither_flag)
 | 
			
		||||
				*lpb = DITHER_RGB_2_8BIT(r,g,b,iScanLine,iPixel);
 | 
			
		||||
			else
 | 
			
		||||
				*lpb = BGR8(r,g,b);
 | 
			
		||||
		}
 | 
			
		||||
		else if(nBypp == 2)
 | 
			
		||||
			*((LPWORD)lpb) = BGR16(r,g,b);
 | 
			
		||||
		else if (nBypp == 3)
 | 
			
		||||
			*((LPDWORD)lpb) = BGR24(r,g,b);
 | 
			
		||||
		else if (nBypp == 4)
 | 
			
		||||
			*((LPDWORD)lpb) = BGR32(r,g,b);
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		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(
 | 
			
		||||
  HDC   hDC,
 | 
			
		||||
@@ -1455,7 +1700,7 @@ void  wmCreateDIBSection(
 | 
			
		||||
    pwc->ScanWidth = 2* pwc->pitch;
 | 
			
		||||
  
 | 
			
		||||
  dwSize = sizeof(BITMAPINFO) + (dwScanWidth * pwc->height);
 | 
			
		||||
  
 | 
			
		||||
#ifdef USE_MAPPED_FILE  
 | 
			
		||||
  pwc->dib.hFileMap = CreateFileMapping((HANDLE)PAGE_FILE,
 | 
			
		||||
					NULL,
 | 
			
		||||
					PAGE_READWRITE | SEC_COMMIT,
 | 
			
		||||
@@ -1476,13 +1721,15 @@ void  wmCreateDIBSection(
 | 
			
		||||
    CloseHandle(pwc->dib.hFileMap);
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  CopyMemory(pwc->dib.base, pbmi, sizeof(BITMAPINFO));
 | 
			
		||||
#endif // USE_MAPPED_FILE
 | 
			
		||||
  
 | 
			
		||||
  hic = CreateIC("display", NULL, NULL, NULL);
 | 
			
		||||
  pwc->dib.hDC = CreateCompatibleDC(hic);
 | 
			
		||||
  
 | 
			
		||||
#ifdef USE_MAPPED_FILE  
 | 
			
		||||
 | 
			
		||||
  pwc->hbmDIB = CreateDIBSection(hic,
 | 
			
		||||
				 &(pwc->bmi),
 | 
			
		||||
@@ -1490,6 +1737,14 @@ void  wmCreateDIBSection(
 | 
			
		||||
				 &(pwc->pbPixels),
 | 
			
		||||
				 pwc->dib.hFileMap,
 | 
			
		||||
				 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->hOldBitmap = SelectObject(pwc->dib.hDC, pwc->hbmDIB);
 | 
			
		||||
  
 | 
			
		||||
@@ -1514,7 +1769,7 @@ BOOL wmFlush(PWMC pwc)
 | 
			
		||||
#ifdef DDRAW
 | 
			
		||||
    if (pwc->lpDDSOffScreen == NULL)
 | 
			
		||||
      if(DDCreateOffScreen(pwc) == GL_FALSE)
 | 
			
		||||
	return;
 | 
			
		||||
	return FALSE;
 | 
			
		||||
    
 | 
			
		||||
    pwc->lpDDSOffScreen->lpVtbl->Unlock(pwc->lpDDSOffScreen, NULL);
 | 
			
		||||
    
 | 
			
		||||
@@ -1565,6 +1820,79 @@ BOOL wmFlush(PWMC pwc)
 | 
			
		||||
 | 
			
		||||
#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)
 | 
			
		||||
{
 | 
			
		||||
  
 | 
			
		||||
@@ -1585,7 +1913,7 @@ void WMesaShowStereo(GLuint list)
 | 
			
		||||
  
 | 
			
		||||
  glGetFloatv(GL_MODELVIEW_MATRIX,cm);
 | 
			
		||||
  glLoadIdentity();
 | 
			
		||||
  gluLookAt(viewDistance/2,0.0,0.0 ,
 | 
			
		||||
  __gluLookAt(viewDistance/2,0.0,0.0 ,
 | 
			
		||||
	    viewDistance/2,0.0,-1.0,
 | 
			
		||||
	    0.0,1.0,0.0 );
 | 
			
		||||
  glMultMatrixf( cm );
 | 
			
		||||
@@ -1595,7 +1923,7 @@ void WMesaShowStereo(GLuint list)
 | 
			
		||||
  
 | 
			
		||||
  glGetFloatv(GL_MODELVIEW_MATRIX,cm);
 | 
			
		||||
  glLoadIdentity();
 | 
			
		||||
  gluLookAt(-viewDistance/2,0.0,0.0 ,
 | 
			
		||||
  __gluLookAt(-viewDistance/2,0.0,0.0 ,
 | 
			
		||||
	    -viewDistance/2,0.0,-1.0,
 | 
			
		||||
	    0.0,1.0,0.0 );
 | 
			
		||||
  glMultMatrixf(cm);
 | 
			
		||||
@@ -1774,7 +2102,7 @@ static void DDFreePrimarySurface(WMesaContext wc)
 | 
			
		||||
static BOOL DDCreatePrimarySurface(WMesaContext wc)
 | 
			
		||||
{
 | 
			
		||||
  HRESULT ddrval;
 | 
			
		||||
  DDSCAPS             ddscaps;
 | 
			
		||||
//  DDSCAPS             ddscaps;
 | 
			
		||||
  wc->ddsd.dwSize = sizeof( wc->ddsd );
 | 
			
		||||
  wc->ddsd.dwFlags = DDSD_CAPS;
 | 
			
		||||
  wc->ddsd.ddsCaps.dwCaps =   DDSCAPS_PRIMARYSURFACE;
 | 
			
		||||
@@ -1786,7 +2114,7 @@ static BOOL DDCreatePrimarySurface(WMesaContext wc)
 | 
			
		||||
      return initFail(wc->hwnd , wc);
 | 
			
		||||
    }
 | 
			
		||||
  if(wc->db_flag == GL_FALSE)
 | 
			
		||||
    wc->lpDDSPrimary->lpVtbl->GetDC(wc->lpDDSPrimary, wc->hDC);
 | 
			
		||||
    wc->lpDDSPrimary->lpVtbl->GetDC(wc->lpDDSPrimary, &(wc->hDC));
 | 
			
		||||
  return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1831,6 +2159,80 @@ static BOOL DDCreateOffScreen(WMesaContext wc)
 | 
			
		||||
  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:
 | 
			
		||||
 *                create the window, initialize data
 | 
			
		||||
@@ -1838,11 +2240,11 @@ static BOOL DDCreateOffScreen(WMesaContext wc)
 | 
			
		||||
static BOOL DDInit( WMesaContext wc, HWND hwnd)
 | 
			
		||||
{
 | 
			
		||||
  HRESULT             ddrval;
 | 
			
		||||
  DWORD dwFrequency;
 | 
			
		||||
  
 | 
			
		||||
  LPDIRECTDRAW            lpDD;           // DirectDraw object
 | 
			
		||||
  LPDIRECTDRAW2            lpDD2;
 | 
			
		||||
//  DWORD dwFrequency;
 | 
			
		||||
  
 | 
			
		||||
//  LPDIRECTDRAW            lpDD;           // DirectDraw object
 | 
			
		||||
//  LPDIRECTDRAW2            lpDD2;
 | 
			
		||||
  LPDIRECTDRAWCLIPPER pcClipper = NULL;
 | 
			
		||||
  
 | 
			
		||||
  wc->fullScreen = displayOptions.fullScreen;
 | 
			
		||||
  wc->gMode = displayOptions.mode;
 | 
			
		||||
@@ -1922,11 +2324,38 @@ static BOOL DDInit( WMesaContext wc, HWND hwnd)
 | 
			
		||||
    return initFail(hwnd, wc);
 | 
			
		||||
  
 | 
			
		||||
  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 */
 | 
			
		||||
 | 
			
		||||
static void DDFree( WMesaContext wc)
 | 
			
		||||
{
 | 
			
		||||
  RemoveContext(wc->hwnd);
 | 
			
		||||
  SetWindowLong(wc->hwnd,GWL_WNDPROC,(LONG)(wc->oldWndProc));
 | 
			
		||||
  wc->oldWndProc = 0;
 | 
			
		||||
  if( wc->lpDD != NULL )
 | 
			
		||||
    {
 | 
			
		||||
      DDFreePrimarySurface(wc);
 | 
			
		||||
@@ -1967,7 +2396,7 @@ void WMesaMove(void)
 | 
			
		||||
 ************************************************/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
#if defined(FAST_RASTERIZERS)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 
 | 
			
		||||
@@ -57,10 +57,23 @@
 | 
			
		||||
#ifndef 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 <GL\gl.h>
 | 
			
		||||
#include "context.h"
 | 
			
		||||
#ifdef DDRAW
 | 
			
		||||
#define DIRECTDRAW_VERSION 0x0100
 | 
			
		||||
	#include <ddraw.h>
 | 
			
		||||
#endif
 | 
			
		||||
//#include "profile.h"
 | 
			
		||||
@@ -79,6 +92,9 @@ typedef struct _dibSection{
 | 
			
		||||
	LPVOID	base;
 | 
			
		||||
}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{
 | 
			
		||||
    GLcontext *gl_ctx;		/* The core GL/Mesa context */
 | 
			
		||||
@@ -132,15 +148,19 @@ typedef struct wmesa_context{
 | 
			
		||||
	LPDIRECTDRAWSURFACE     lpDDSOffScreen;	// DirectDraw off screen surface
 | 
			
		||||
	LPDIRECTDRAWPALETTE     lpDDPal;        // DirectDraw palette
 | 
			
		||||
	BOOL                    bActive;        // is application active?
 | 
			
		||||
	DDSURFACEDESC	        ddsd;
 | 
			
		||||
	int 					fullScreen;
 | 
			
		||||
	int			            gMode ;
 | 
			
		||||
	DDSURFACEDESC	        ddsd;			// surface description
 | 
			
		||||
	int 					fullScreen;		// fullscreen ?
 | 
			
		||||
	int			            gMode ;			// fullscreen mode
 | 
			
		||||
	LONG					oldWndProc;		// old Window proc. we need to hook WM_MOVE message to update the drawing rectangle
 | 
			
		||||
#endif
 | 
			
		||||
	RECT					rectOffScreen;
 | 
			
		||||
	RECT					rectSurface;
 | 
			
		||||
	HWND					hwnd;
 | 
			
		||||
	DWORD					pitch;
 | 
			
		||||
	PBYTE					addrOffScreen;
 | 
			
		||||
#ifdef COMPILE_SETPIXEL
 | 
			
		||||
      SETPIXELTYPE                    wmSetPixel;
 | 
			
		||||
#endif // COMPILE_SETPIXEL
 | 
			
		||||
//#ifdef PROFILE
 | 
			
		||||
//	MESAPROF	profile;
 | 
			
		||||
//#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
 | 
			
		||||
 * Version:  4.1
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -66,7 +66,7 @@
 | 
			
		||||
#define SERVER_MINOR_VERSION 4
 | 
			
		||||
 | 
			
		||||
/* 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? */
 | 
			
		||||
#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
 | 
			
		||||
@@ -1260,7 +1260,7 @@ static GLboolean initialize_visual_and_buffer( int client,
 | 
			
		||||
    * reports bugs.
 | 
			
		||||
    */
 | 
			
		||||
   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 undithered pf = %u\n", v->undithered_pf);
 | 
			
		||||
      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
 | 
			
		||||
@@ -854,7 +854,7 @@ get_string( GLcontext *ctx, GLenum name )
 | 
			
		||||
#endif
 | 
			
		||||
      case GL_VENDOR:
 | 
			
		||||
#ifdef XFree86Server
 | 
			
		||||
         return (const GLubyte *) "VA Linux Systems, Inc.";
 | 
			
		||||
         return (const GLubyte *) "Mesa project: www.mesa3d.org";
 | 
			
		||||
#else
 | 
			
		||||
         return NULL;
 | 
			
		||||
#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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -971,8 +971,7 @@ static struct name_address_offset static_functions[] = {
 | 
			
		||||
#undef NAME
 | 
			
		||||
 | 
			
		||||
	/* ARB 12. GL_ARB_texture_compression */
 | 
			
		||||
#if 000
 | 
			
		||||
#if defined(GL_ARB_texture_compression) && defined(_gloffset_CompressedTexImage3DARB)
 | 
			
		||||
#ifdef GL_ARB_texture_compression
 | 
			
		||||
#define NAME(X) (GLvoid *) X
 | 
			
		||||
#else
 | 
			
		||||
#define NAME(X) (GLvoid *) NotImplemented
 | 
			
		||||
@@ -985,7 +984,6 @@ static struct name_address_offset static_functions[] = {
 | 
			
		||||
	{ "glCompressedTexSubImage1DARB", NAME(glCompressedTexSubImage1DARB), _gloffset_CompressedTexSubImage1DARB },
 | 
			
		||||
	{ "glGetCompressedTexImageARB", NAME(glGetCompressedTexImageARB), _gloffset_GetCompressedTexImageARB },
 | 
			
		||||
#undef NAME
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	/* 2. 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
 | 
			
		||||
#endif
 | 
			
		||||
	{ "glPixelTexGenParameterfSGIS", NAME(glPixelTexGenParameterfSGIS), _gloffset_PixelTexGenParameterfSGIS },
 | 
			
		||||
	{ "glPixelTexGenParameterfvSGIS", NAME(glPixelTexGenParameterfvSGIS), _gloffset_PixelTexGenParameterfvSGIS },
 | 
			
		||||
	{ "glPixelTexGenParameteriSGIS", NAME(glPixelTexGenParameteriSGIS), _gloffset_PixelTexGenParameteriSGIS },
 | 
			
		||||
	{ "glPixelTexGenParameterivSGIS", NAME(glPixelTexGenParameterivSGIS), _gloffset_PixelTexGenParameterivSGIS },
 | 
			
		||||
	{ "glGetPixelTexGenParameterfvSGIS", NAME(glGetPixelTexGenParameterfvSGIS), _gloffset_GetPixelTexGenParameterfvSGIS },
 | 
			
		||||
	{ "glGetPixelTexGenParameterivSGIS", NAME(glGetPixelTexGenParameterivSGIS), _gloffset_GetPixelTexGenParameterivSGIS },
 | 
			
		||||
#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 */
 | 
			
		||||
#ifdef  GL_SGIS_texture4D
 | 
			
		||||
#define NAME(X) (GLvoid *) X
 | 
			
		||||
@@ -1511,7 +1520,7 @@ static struct name_address_offset static_functions[] = {
 | 
			
		||||
	{ "glFogCoordfEXT", NAME(glFogCoordfEXT), _gloffset_FogCoordfEXT },
 | 
			
		||||
	{ "glFogCoordfvEXT", NAME(glFogCoordfvEXT), _gloffset_FogCoordfvEXT },
 | 
			
		||||
	{ "glFogCoorddEXT", NAME(glFogCoorddEXT), _gloffset_FogCoorddEXT },
 | 
			
		||||
	{ "glFogCoorddEXT", NAME(glFogCoorddEXT), _gloffset_FogCoorddEXT },
 | 
			
		||||
	{ "glFogCoorddvEXT", NAME(glFogCoorddvEXT), _gloffset_FogCoorddvEXT },
 | 
			
		||||
	{ "glFogCoordPointerEXT", NAME(glFogCoordPointerEXT), _gloffset_FogCoordPointerEXT },
 | 
			
		||||
#undef NAME
 | 
			
		||||
 | 
			
		||||
@@ -1699,7 +1708,30 @@ static struct name_address_offset static_functions[] = {
 | 
			
		||||
#else
 | 
			
		||||
#define NAME(X) (GLvoid *) NotImplemented
 | 
			
		||||
#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 },
 | 
			
		||||
	{ "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
 | 
			
		||||
 | 
			
		||||
	/* 209. WGL_EXT_multisample */
 | 
			
		||||
 
 | 
			
		||||
@@ -313,7 +313,7 @@ struct _glapi_table
 | 
			
		||||
   void (*Translatef)(GLfloat x, GLfloat y, GLfloat z); /* 304 */
 | 
			
		||||
   void (*Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); /* 305 */
 | 
			
		||||
   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 (*DisableClientState)(GLenum array); /* 309 */
 | 
			
		||||
   void (*DrawArrays)(GLenum mode, GLint first, GLsizei count); /* 310 */
 | 
			
		||||
@@ -328,16 +328,16 @@ struct _glapi_table
 | 
			
		||||
   void (*PolygonOffset)(GLfloat factor, GLfloat units); /* 319 */
 | 
			
		||||
   void (*TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 320 */
 | 
			
		||||
   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 (*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 (*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 (*GenTextures)(GLsizei n, GLenum * textures); /* 328 */
 | 
			
		||||
   void (*DeleteTextures)(GLsizei n, const GLuint * textures); /* 327 */
 | 
			
		||||
   void (*GenTextures)(GLsizei n, GLuint * textures); /* 328 */
 | 
			
		||||
   void (*GetPointerv)(GLenum pname, GLvoid * * params); /* 329 */
 | 
			
		||||
   GLboolean (*IsTexture)(GLenum texture); /* 330 */
 | 
			
		||||
   void (*PrioritizeTextures)(GLsizei n, const GLenum * textures, const GLclampf * priorities); /* 331 */
 | 
			
		||||
   GLboolean (*IsTexture)(GLuint texture); /* 330 */
 | 
			
		||||
   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 (*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 */
 | 
			
		||||
@@ -445,9 +445,9 @@ struct _glapi_table
 | 
			
		||||
   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 (*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 */
 | 
			
		||||
   void (*GenTexturesEXT)(GLsizei n, GLenum * textures); /* 440 */
 | 
			
		||||
   GLboolean (*IsTextureEXT)(GLenum texture); /* 441 */
 | 
			
		||||
   GLboolean (*AreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences); /* 439 */
 | 
			
		||||
   void (*GenTexturesEXT)(GLsizei n, GLuint * textures); /* 440 */
 | 
			
		||||
   GLboolean (*IsTextureEXT)(GLuint texture); /* 441 */
 | 
			
		||||
   void (*DetailTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points); /* 442 */
 | 
			
		||||
   void (*GetDetailTexFuncSGIS)(GLenum target, GLfloat * points); /* 443 */
 | 
			
		||||
   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 (*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 (*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 (*SecondaryColor3bvEXT)(const GLbyte * v); /* 562 */
 | 
			
		||||
   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
 | 
			
		||||
@@ -159,7 +159,7 @@ KEYWORD1 void KEYWORD2 NAME(ClearStencil)(GLint s)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -249,37 +249,37 @@ KEYWORD1 void KEYWORD2 NAME(Color3bv)(const GLbyte *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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(Color3fv, (v), (F, "glColor3fv(%p);", v));
 | 
			
		||||
   DISPATCH(Color3fv, (v), (F, "glColor3fv(%p);", (void *) 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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(Color3sv, (v), (F, "glColor3sv(%p);", v));
 | 
			
		||||
   DISPATCH(Color3sv, (v), (F, "glColor3sv(%p);", (void *) 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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(Color3uiv, (v), (F, "glColor3uiv(%p);", v));
 | 
			
		||||
   DISPATCH(Color3uiv, (v), (F, "glColor3uiv(%p);", (void *) 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)
 | 
			
		||||
@@ -289,37 +289,37 @@ KEYWORD1 void KEYWORD2 NAME(Color4bv)(const GLbyte *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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(Color4fv, (v), (F, "glColor4fv(%p);", v));
 | 
			
		||||
   DISPATCH(Color4fv, (v), (F, "glColor4fv(%p);", (void *) 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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(Color4sv, (v), (F, "glColor4sv(%p);", v));
 | 
			
		||||
   DISPATCH(Color4sv, (v), (F, "glColor4sv(%p);", (void *) 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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(Color4uiv, (v), (F, "glColor4uiv(%p);", v));
 | 
			
		||||
   DISPATCH(Color4uiv, (v), (F, "glColor4uiv(%p);", (void *) 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)
 | 
			
		||||
@@ -469,7 +469,7 @@ KEYWORD1 void KEYWORD2 NAME(EvalPoint2)(GLint i, GLint j)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -494,12 +494,12 @@ KEYWORD1 void KEYWORD2 NAME(Fogi)(GLenum pname, GLint param)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -524,12 +524,12 @@ KEYWORD1 void KEYWORD2 NAME(GetBooleanv)(GLenum pname, GLboolean *params)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -539,62 +539,62 @@ KEYWORD1 GLenum KEYWORD2 NAME(GetError)(void)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -609,27 +609,27 @@ KEYWORD1 const GLubyte * KEYWORD2 NAME(GetString)(GLenum name)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -764,12 +764,12 @@ KEYWORD1 void KEYWORD2 NAME(LightModeli)(GLenum pname, GLint param)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -794,12 +794,12 @@ KEYWORD1 void KEYWORD2 NAME(LoadIdentity)(void)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(LoadMatrixf, (m), (F, "glLoadMatrixf(%p);", m));
 | 
			
		||||
   DISPATCH(LoadMatrixf, (m), (F, "glLoadMatrixf(%p);", (void *) m));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(MultMatrixd, (m), (F, "glMultMatrixd(%p);", m));
 | 
			
		||||
   DISPATCH(MultMatrixd, (m), (F, "glMultMatrixd(%p);", (void *) 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)
 | 
			
		||||
@@ -899,7 +899,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -909,7 +909,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -919,7 +919,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -929,7 +929,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3i)(GLint nx, GLint ny, GLint nz)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -939,7 +939,7 @@ KEYWORD1 void KEYWORD2 NAME(Normal3s)(GLshort nx, GLshort ny, GLshort nz)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1519,7 +1519,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2d)(GLdouble x, GLdouble y)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1529,7 +1529,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2f)(GLfloat x, GLfloat y)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1539,7 +1539,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2i)(GLint x, GLint y)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1549,7 +1549,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex2s)(GLshort x, GLshort y)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1559,7 +1559,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3d)(GLdouble x, GLdouble y, GLdouble z)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1569,7 +1569,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3f)(GLfloat x, GLfloat y, GLfloat z)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1579,7 +1579,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3i)(GLint x, GLint y, GLint z)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1589,7 +1589,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex3s)(GLshort x, GLshort y, GLshort z)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1599,7 +1599,7 @@ KEYWORD1 void KEYWORD2 NAME(Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdoub
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -1684,7 +1684,7 @@ KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage2D)(GLenum target, GLint level, GLint
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -1709,12 +1709,12 @@ KEYWORD1 void KEYWORD2 NAME(EnableClientState)(GLenum cap)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -1734,7 +1734,7 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsTexture)(GLuint texture)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -1749,7 +1749,7 @@ KEYWORD1 void KEYWORD2 NAME(PopClientAttrib)(void)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
@@ -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)
 | 
			
		||||
{
 | 
			
		||||
   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)
 | 
			
		||||
@@ -2703,7 +2703,7 @@ KEYWORD1 void KEYWORD2 NAME(LightEnviSGIX)(GLenum pname, GLint param)
 | 
			
		||||
/* 112. GL_EXT_draw_range_elements */
 | 
			
		||||
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 */
 | 
			
		||||
@@ -2887,9 +2887,9 @@ KEYWORD1 void KEYWORD2 NAME(FogCoordfEXT)(GLfloat 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)
 | 
			
		||||
@@ -2899,12 +2899,12 @@ KEYWORD1 void KEYWORD2 NAME(FogCoorddEXT)(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)
 | 
			
		||||
{
 | 
			
		||||
   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 */
 | 
			
		||||
@@ -3332,22 +3332,22 @@ KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4svARB)(GLenum target, const GLshort *v
 | 
			
		||||
/* ARB 3. GL_ARB_transpose_matrix */
 | 
			
		||||
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])
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(LoadTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", m));
 | 
			
		||||
   DISPATCH(LoadTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", (void *) m));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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])
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(MultTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", m));
 | 
			
		||||
   DISPATCH(MultTransposeMatrixfARB, (m), (F, "glLoadTransposeMatrixfARB(%p)", (void *) m));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* 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])
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(LoadTransposeMatrixdARB, (m), (F, "glLoadTransposeMatrixARB(%p);", m));
 | 
			
		||||
   DISPATCH(LoadTransposeMatrixdARB, (m), (F, "glLoadTransposeMatrixARB(%p);", (void *) m));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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])
 | 
			
		||||
{
 | 
			
		||||
   DISPATCH(MultTransposeMatrixdARB, (m), (F, "glMultTransposeMatrixfARB(%p)", m));
 | 
			
		||||
   DISPATCH(MultTransposeMatrixdARB, (m), (F, "glMultTransposeMatrixfARB(%p)", (void *) m));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
#!/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
 | 
			
		||||
# Version:  3.5
 | 
			
		||||
@@ -45,7 +45,7 @@ def PrintHead():
 | 
			
		||||
	print '#include "glapioffsets.h"'
 | 
			
		||||
	print ''
 | 
			
		||||
	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 '/* The _glapi_Dispatch symbol addresses get relocated into the'
 | 
			
		||||
	print ' * sethi/or instruction sequences below at library init time.'
 | 
			
		||||
@@ -83,6 +83,7 @@ def PrintTail():
 | 
			
		||||
def GenerateDispatchCode(name, offset):
 | 
			
		||||
	print ''
 | 
			
		||||
	print "GLOBL_FN(GL_PREFIX(%s))" % (name)
 | 
			
		||||
	print ".type %s,#function" % (name)
 | 
			
		||||
	print "GL_PREFIX(%s):" % (name)
 | 
			
		||||
	print '#ifdef __sparc_v9__'
 | 
			
		||||
	print '\tsethi\t%hi(0x00000000), %g2'
 | 
			
		||||
@@ -100,6 +101,7 @@ def GenerateDispatchCode(name, offset):
 | 
			
		||||
	print "\tld\t[%%g1 + (4 * _gloffset_%s)], %%g3" % (offset)
 | 
			
		||||
	print '#endif'
 | 
			
		||||
	print '\tjmpl\t%g3, %g0'
 | 
			
		||||
	print '\tnop'
 | 
			
		||||
#enddef
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
#!/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
 | 
			
		||||
# Version:  3.3
 | 
			
		||||
@@ -89,6 +89,7 @@ TypeTable = {
 | 
			
		||||
	'SizeI' : 'GLsizei',
 | 
			
		||||
	'StencilValue' : 'GLint',
 | 
			
		||||
	'String' : 'const GLubyte *',
 | 
			
		||||
	'Texture' : 'GLuint',
 | 
			
		||||
	'TexelInternalFormat' : 'GLint',
 | 
			
		||||
	'TextureComponentCount' : 'GLint',
 | 
			
		||||
	'WinCoord' : 'GLint',
 | 
			
		||||
@@ -297,4 +298,4 @@ def PrintTail():
 | 
			
		||||
 | 
			
		||||
PrintHead()	
 | 
			
		||||
PrintTableEntries()
 | 
			
		||||
PrintTail()
 | 
			
		||||
PrintTail()
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
# Version:  4.0
 | 
			
		||||
# Version:  4.0.1
 | 
			
		||||
# Copyright (C) 1995-2001  Brian Paul
 | 
			
		||||
 | 
			
		||||
# Makefile for core library
 | 
			
		||||
@@ -200,69 +200,6 @@ OSMESA_OBJECTS = OSmesa/osmesa.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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
	rm -f X86/gen_matypes X86/*.o
 | 
			
		||||
 | 
			
		||||
$(ASM_SOURCES): X86/matypes.h
 | 
			
		||||
 | 
			
		||||
GGI/ggimesa.o: GGI/ggimesa.c
 | 
			
		||||
	$(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 $@
 | 
			
		||||
 | 
			
		||||
# We have X86/matypes.h depend on X86/matypes.h so that if ASM_SOURCES
 | 
			
		||||
# is empty we don't get an invalid Makefile.
 | 
			
		||||
$(ASM_SOURCES) X86/matypes.h: X86/matypes.h
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
##### 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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -134,6 +134,9 @@
 | 
			
		||||
/* GL_EXT_texture_filter_anisotropic */
 | 
			
		||||
#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
 | 
			
		||||
#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
 | 
			
		||||
@@ -738,6 +738,7 @@ init_attrib_groups( GLcontext *ctx )
 | 
			
		||||
   ctx->Const.MaxCubeTextureLevels = MAX_CUBE_TEXTURE_LEVELS;
 | 
			
		||||
   ctx->Const.MaxTextureUnits = MAX_TEXTURE_UNITS;
 | 
			
		||||
   ctx->Const.MaxTextureMaxAnisotropy = MAX_TEXTURE_MAX_ANISOTROPY;
 | 
			
		||||
   ctx->Const.MaxTextureLodBias = MAX_TEXTURE_LOD_BIAS;
 | 
			
		||||
   ctx->Const.MaxArrayLockSize = MAX_ARRAY_LOCK_SIZE;
 | 
			
		||||
   ctx->Const.SubPixelBits = SUB_PIXEL_BITS;
 | 
			
		||||
   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
 | 
			
		||||
@@ -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];
 | 
			
		||||
   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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * 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) {
 | 
			
		||||
      if (ctx->Current.RasterPosValid) {
 | 
			
		||||
	 GLfloat texcoord[4], invq;
 | 
			
		||||
 | 
			
		||||
	 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 );
 | 
			
		||||
         _mesa_feedback_vertex( ctx,
 | 
			
		||||
				ctx->Current.RasterPos,
 | 
			
		||||
				ctx->Current.Color,
 | 
			
		||||
				ctx->Current.Index, 
 | 
			
		||||
				texcoord );
 | 
			
		||||
				ctx->Current.RasterColor,
 | 
			
		||||
				ctx->Current.RasterIndex, 
 | 
			
		||||
				ctx->Current.RasterTexCoord );
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   else if (ctx->RenderMode==GL_SELECT) {
 | 
			
		||||
@@ -152,13 +145,15 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
 | 
			
		||||
			      type );
 | 
			
		||||
   }
 | 
			
		||||
   else if (ctx->RenderMode == GL_FEEDBACK) {
 | 
			
		||||
      FLUSH_CURRENT( ctx, 0 );
 | 
			
		||||
      FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_COPY_PIXEL_TOKEN );
 | 
			
		||||
      _mesa_feedback_vertex( ctx, 
 | 
			
		||||
			     ctx->Current.RasterPos,
 | 
			
		||||
			     ctx->Current.Color, 
 | 
			
		||||
			     ctx->Current.Index,
 | 
			
		||||
			     ctx->Current.Texcoord[0] );
 | 
			
		||||
      if (ctx->Current.RasterPosValid) {
 | 
			
		||||
	 FLUSH_CURRENT(ctx, 0);
 | 
			
		||||
         FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_COPY_PIXEL_TOKEN );
 | 
			
		||||
         _mesa_feedback_vertex( ctx,
 | 
			
		||||
				ctx->Current.RasterPos,
 | 
			
		||||
				ctx->Current.RasterColor,
 | 
			
		||||
				ctx->Current.RasterIndex, 
 | 
			
		||||
				ctx->Current.RasterTexCoord );
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   else if (ctx->RenderMode == GL_SELECT) {
 | 
			
		||||
      _mesa_update_hitflag( ctx, ctx->Current.RasterPos[2] );
 | 
			
		||||
@@ -175,7 +170,6 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
 | 
			
		||||
   GET_CURRENT_CONTEXT(ctx);
 | 
			
		||||
   ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   /* Error checking */
 | 
			
		||||
   if (width < 0 || height < 0) {
 | 
			
		||||
      _mesa_error( ctx, GL_INVALID_VALUE, "glBitmap" );
 | 
			
		||||
@@ -201,24 +195,15 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   else if (ctx->RenderMode==GL_FEEDBACK) {
 | 
			
		||||
      GLfloat color[4], texcoord[4], invq;
 | 
			
		||||
 | 
			
		||||
      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 );
 | 
			
		||||
      _mesa_feedback_vertex( ctx,
 | 
			
		||||
                          ctx->Current.RasterPos,
 | 
			
		||||
			  color, ctx->Current.RasterIndex, texcoord );
 | 
			
		||||
      if (ctx->Current.RasterPosValid) {
 | 
			
		||||
	 FLUSH_CURRENT(ctx, 0);
 | 
			
		||||
         FEEDBACK_TOKEN( ctx, (GLfloat) (GLint) GL_BITMAP_TOKEN );
 | 
			
		||||
         _mesa_feedback_vertex( ctx,
 | 
			
		||||
				ctx->Current.RasterPos,
 | 
			
		||||
				ctx->Current.RasterColor,
 | 
			
		||||
				ctx->Current.RasterIndex, 
 | 
			
		||||
				ctx->Current.RasterTexCoord );
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   else if (ctx->RenderMode==GL_SELECT) {
 | 
			
		||||
      /* 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
 | 
			
		||||
 * Version:  4.1
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * 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);
 | 
			
		||||
	 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 */
 | 
			
		||||
      case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
 | 
			
		||||
         if (ctx->Extensions.EXT_texture_filter_anisotropic) {
 | 
			
		||||
@@ -1278,6 +1283,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = ctx->Multisample.SampleAlphaToCoverage;
 | 
			
		||||
@@ -1286,6 +1292,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_ONE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = ctx->Multisample.SampleAlphaToOne;
 | 
			
		||||
@@ -1294,6 +1301,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = ctx->Multisample.SampleCoverage;
 | 
			
		||||
@@ -1302,6 +1310,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_VALUE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = FLOAT_TO_BOOL(ctx->Multisample.SampleCoverageValue);
 | 
			
		||||
@@ -1310,6 +1319,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_INVERT_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = ctx->Multisample.SampleCoverageInvert;
 | 
			
		||||
@@ -1318,6 +1328,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_BUFFERS_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0; /* XXX fix someday */
 | 
			
		||||
@@ -1326,6 +1337,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLES_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0; /* XXX fix someday */
 | 
			
		||||
@@ -1334,6 +1346,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_IBM_rasterpos_clip */
 | 
			
		||||
      case GL_RASTER_POSITION_UNCLIPPED_IBM:
 | 
			
		||||
@@ -1344,6 +1357,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetBoolean");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_MESA_sprite_point */
 | 
			
		||||
      case GL_SPRITE_POINT_MESA:
 | 
			
		||||
@@ -2548,6 +2562,11 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
	 *params = (GLdouble) ctx->Array.FogCoord.Stride;
 | 
			
		||||
	 break;
 | 
			
		||||
 | 
			
		||||
      /* GL_EXT_texture_lod_bias */
 | 
			
		||||
      case GL_MAX_TEXTURE_LOD_BIAS_EXT:
 | 
			
		||||
         *params = (GLdouble) ctx->Const.MaxTextureLodBias;
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_EXT_texture_filter_anisotropic */
 | 
			
		||||
      case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
 | 
			
		||||
         if (ctx->Extensions.EXT_texture_filter_anisotropic) {
 | 
			
		||||
@@ -2568,6 +2587,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLdouble) ctx->Multisample.SampleAlphaToCoverage;
 | 
			
		||||
@@ -2576,6 +2596,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_ONE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLdouble) ctx->Multisample.SampleAlphaToOne;
 | 
			
		||||
@@ -2584,6 +2605,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLdouble) ctx->Multisample.SampleCoverage;
 | 
			
		||||
@@ -2592,6 +2614,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_VALUE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = ctx->Multisample.SampleCoverageValue;
 | 
			
		||||
@@ -2600,6 +2623,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_INVERT_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLdouble) ctx->Multisample.SampleCoverageInvert;
 | 
			
		||||
@@ -2608,6 +2632,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_BUFFERS_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0.0; /* XXX fix someday */
 | 
			
		||||
@@ -2616,6 +2641,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLES_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0.0; /* XXX fix someday */
 | 
			
		||||
@@ -2624,6 +2650,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_IBM_rasterpos_clip */
 | 
			
		||||
      case GL_RASTER_POSITION_UNCLIPPED_IBM:
 | 
			
		||||
@@ -2634,6 +2661,7 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_MESA_sprite_point */
 | 
			
		||||
      case GL_SPRITE_POINT_MESA:
 | 
			
		||||
@@ -3819,6 +3847,11 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
	 *params = (GLfloat) ctx->Array.FogCoord.Stride;
 | 
			
		||||
	 break;
 | 
			
		||||
 | 
			
		||||
      /* GL_EXT_texture_lod_bias */
 | 
			
		||||
      case GL_MAX_TEXTURE_LOD_BIAS_EXT:
 | 
			
		||||
         *params = ctx->Const.MaxTextureLodBias;
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_EXT_texture_filter_anisotropic */
 | 
			
		||||
      case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
 | 
			
		||||
         if (ctx->Extensions.EXT_texture_filter_anisotropic) {
 | 
			
		||||
@@ -3839,6 +3872,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLfloat) ctx->Multisample.SampleAlphaToCoverage;
 | 
			
		||||
@@ -3847,6 +3881,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_ONE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLfloat) ctx->Multisample.SampleAlphaToOne;
 | 
			
		||||
@@ -3855,6 +3890,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLfloat) ctx->Multisample.SampleCoverage;
 | 
			
		||||
@@ -3863,6 +3899,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_VALUE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = ctx->Multisample.SampleCoverageValue;
 | 
			
		||||
@@ -3871,6 +3908,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_INVERT_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLfloat) ctx->Multisample.SampleCoverageInvert;
 | 
			
		||||
@@ -3879,6 +3917,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_BUFFERS_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0.0; /* XXX fix someday */
 | 
			
		||||
@@ -3887,6 +3926,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLES_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0.0; /* XXX fix someday */
 | 
			
		||||
@@ -3895,6 +3935,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_IBM_rasterpos_clip */
 | 
			
		||||
      case GL_RASTER_POSITION_UNCLIPPED_IBM:
 | 
			
		||||
@@ -3905,6 +3946,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
 | 
			
		||||
            GET_FLOAT_ERROR;
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_MESA_sprite_point */
 | 
			
		||||
      case GL_SPRITE_POINT_MESA:
 | 
			
		||||
@@ -5132,6 +5174,11 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
         }
 | 
			
		||||
	 break;
 | 
			
		||||
 | 
			
		||||
      /* GL_EXT_texture_lod_bias */
 | 
			
		||||
      case GL_MAX_TEXTURE_LOD_BIAS_EXT:
 | 
			
		||||
         *params = (GLint) ctx->Const.MaxTextureLodBias;
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_EXT_texture_filter_anisotropic */
 | 
			
		||||
      case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
 | 
			
		||||
         if (ctx->Extensions.EXT_texture_filter_anisotropic) {
 | 
			
		||||
@@ -5152,6 +5199,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLint) ctx->Multisample.SampleAlphaToCoverage;
 | 
			
		||||
@@ -5160,6 +5208,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_ALPHA_TO_ONE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLint) ctx->Multisample.SampleAlphaToOne;
 | 
			
		||||
@@ -5168,6 +5217,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLint) ctx->Multisample.SampleCoverage;
 | 
			
		||||
@@ -5176,6 +5226,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_VALUE_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLint) ctx->Multisample.SampleCoverageValue;
 | 
			
		||||
@@ -5184,6 +5235,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_COVERAGE_INVERT_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = (GLint) ctx->Multisample.SampleCoverageInvert;
 | 
			
		||||
@@ -5192,6 +5244,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLE_BUFFERS_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0; /* XXX fix someday */
 | 
			
		||||
@@ -5200,6 +5253,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SAMPLES_ARB:
 | 
			
		||||
         if (ctx->Extensions.ARB_multisample) {
 | 
			
		||||
            *params = 0; /* XXX fix someday */
 | 
			
		||||
@@ -5208,6 +5262,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_IBM_rasterpos_clip */
 | 
			
		||||
      case GL_RASTER_POSITION_UNCLIPPED_IBM:
 | 
			
		||||
@@ -5218,6 +5273,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
 | 
			
		||||
            _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv");
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      /* GL_MESA_sprite_point */
 | 
			
		||||
      case GL_SPRITE_POINT_MESA:
 | 
			
		||||
@@ -5310,8 +5366,8 @@ _mesa_GetString( GLenum name )
 | 
			
		||||
   GET_CURRENT_CONTEXT(ctx);
 | 
			
		||||
   static const char *vendor = "Brian Paul";
 | 
			
		||||
   static const char *renderer = "Mesa";
 | 
			
		||||
   static const char *version_1_2 = "1.2 Mesa 4.1";
 | 
			
		||||
   static const char *version_1_3 = "1.3 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.0.1";
 | 
			
		||||
 | 
			
		||||
   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
 | 
			
		||||
@@ -64,7 +64,11 @@ struct _mesa_HashTable {
 | 
			
		||||
 */
 | 
			
		||||
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'
 | 
			
		||||
VERSION 3.5
 | 
			
		||||
VERSION 4.0
 | 
			
		||||
 | 
			
		||||
EXPORTS
 | 
			
		||||
	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
 | 
			
		||||
@@ -1165,6 +1165,7 @@ struct gl_constants {
 | 
			
		||||
   GLint MaxCubeTextureLevels;
 | 
			
		||||
   GLuint MaxTextureUnits;
 | 
			
		||||
   GLfloat MaxTextureMaxAnisotropy;	/* GL_EXT_texture_filter_anisotropic */
 | 
			
		||||
   GLfloat MaxTextureLodBias;           /* GL_EXT_texture_lod_bias */
 | 
			
		||||
   GLuint MaxArrayLockSize;
 | 
			
		||||
   GLint SubPixelBits;
 | 
			
		||||
   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
 | 
			
		||||
@@ -665,7 +665,7 @@ texture_error_check( GLcontext *ctx, GLenum target,
 | 
			
		||||
          _mesa_error( ctx, GL_INVALID_ENUM, "glTexImage2D(target)" );
 | 
			
		||||
          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;
 | 
			
		||||
      else
 | 
			
		||||
         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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * 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])
 | 
			
		||||
	    return;
 | 
			
		||||
	 FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
	 texUnit->LodBias = param[0];
 | 
			
		||||
         texUnit->LodBias = CLAMP(param[0], -ctx->Const.MaxTextureLodBias,
 | 
			
		||||
                                  ctx->Const.MaxTextureLodBias);
 | 
			
		||||
	 break;
 | 
			
		||||
      default:
 | 
			
		||||
         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_NEAREST_MIPMAP_LINEAR
 | 
			
		||||
             || eparam==GL_LINEAR_MIPMAP_LINEAR) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->MinFilter = eparam;
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -909,6 +911,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
         if (eparam==GL_NEAREST || eparam==GL_LINEAR) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->MagFilter = eparam;
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -926,6 +929,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
              ctx->Extensions.ARB_texture_border_clamp) ||
 | 
			
		||||
             (eparam == GL_MIRRORED_REPEAT_ARB &&
 | 
			
		||||
              ctx->Extensions.ARB_texture_mirrored_repeat)) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->WrapS = eparam;
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -943,6 +947,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
              ctx->Extensions.ARB_texture_border_clamp) ||
 | 
			
		||||
             (eparam == GL_MIRRORED_REPEAT_ARB &&
 | 
			
		||||
              ctx->Extensions.ARB_texture_mirrored_repeat)) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->WrapT = eparam;
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -960,6 +965,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
              ctx->Extensions.ARB_texture_border_clamp) ||
 | 
			
		||||
             (eparam == GL_MIRRORED_REPEAT_ARB &&
 | 
			
		||||
              ctx->Extensions.ARB_texture_mirrored_repeat)) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->WrapR = eparam;
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -967,15 +973,22 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
      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[1], params[1]);
 | 
			
		||||
         UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[2], params[2]);
 | 
			
		||||
         UNCLAMPED_FLOAT_TO_CHAN(texObj->BorderColor[3], params[3]);
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_TEXTURE_MIN_LOD:
 | 
			
		||||
         if (texObj->MinLod == params[0])
 | 
			
		||||
            return;
 | 
			
		||||
         FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
         texObj->MinLod = params[0];
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_TEXTURE_MAX_LOD:
 | 
			
		||||
         if (texObj->MaxLod == params[0])
 | 
			
		||||
            return;
 | 
			
		||||
         FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
         texObj->MaxLod = params[0];
 | 
			
		||||
         break;
 | 
			
		||||
      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)" );
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
         texObj->BaseLevel = (GLint) params[0];
 | 
			
		||||
         break;
 | 
			
		||||
      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)" );
 | 
			
		||||
            return;
 | 
			
		||||
         }
 | 
			
		||||
         FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
         texObj->MaxLevel = (GLint) params[0];
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_TEXTURE_PRIORITY:
 | 
			
		||||
         /* (keithh@netcomuk.co.uk) */
 | 
			
		||||
         FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
         texObj->Priority = CLAMP( params[0], 0.0F, 1.0F );
 | 
			
		||||
         break;
 | 
			
		||||
      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)" );
 | 
			
		||||
	       return;
 | 
			
		||||
	    }
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->MaxAnisotropy = params[0];
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -1012,6 +1029,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_TEXTURE_COMPARE_SGIX:
 | 
			
		||||
         if (ctx->Extensions.SGIX_shadow) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->CompareFlag = params[0] ? GL_TRUE : GL_FALSE;
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -1025,6 +1043,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
            GLenum op = (GLenum) params[0];
 | 
			
		||||
            if (op == GL_TEXTURE_LEQUAL_R_SGIX ||
 | 
			
		||||
                op == GL_TEXTURE_GEQUAL_R_SGIX) {
 | 
			
		||||
               FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
               texObj->CompareOperator = op;
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
@@ -1039,6 +1058,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_SHADOW_AMBIENT_SGIX:
 | 
			
		||||
         if (ctx->Extensions.SGIX_shadow_ambient) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            UNCLAMPED_FLOAT_TO_CHAN(texObj->ShadowAmbient, params[0]);
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -1049,6 +1069,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
         break;
 | 
			
		||||
      case GL_GENERATE_MIPMAP_SGIS:
 | 
			
		||||
         if (ctx->Extensions.SGIS_generate_mipmap) {
 | 
			
		||||
            FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 | 
			
		||||
            texObj->GenerateMipmap = params[0] ? GL_TRUE : GL_FALSE;
 | 
			
		||||
         }
 | 
			
		||||
         else {
 | 
			
		||||
@@ -1066,7 +1087,6 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 | 
			
		||||
         return;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   ctx->NewState |= _NEW_TEXTURE;
 | 
			
		||||
   texObj->Complete = GL_FALSE;
 | 
			
		||||
 | 
			
		||||
   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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * 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 )
 | 
			
		||||
{
 | 
			
		||||
   PRE_LOOPBACK( FogCoordfEXT );
 | 
			
		||||
   glFogCoordfEXT( a );
 | 
			
		||||
   _glapi_Dispatch->FogCoordfEXT( a );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void TAG(FogCoordfvEXT)( const GLfloat *v )
 | 
			
		||||
{
 | 
			
		||||
   PRE_LOOPBACK( FogCoordfvEXT );
 | 
			
		||||
   glFogCoordfvEXT( v );
 | 
			
		||||
   _glapi_Dispatch->FogCoordfvEXT( v );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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 )
 | 
			
		||||
{
 | 
			
		||||
   PRE_LOOPBACK( SecondaryColor3fEXT );
 | 
			
		||||
   glSecondaryColor3fEXT( a, b, c );
 | 
			
		||||
   _glapi_Dispatch->SecondaryColor3fEXT( a, b, c );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void TAG(SecondaryColor3fvEXT)( const GLfloat *v )
 | 
			
		||||
{
 | 
			
		||||
   PRE_LOOPBACK( SecondaryColor3fvEXT );
 | 
			
		||||
   glSecondaryColor3fvEXT( v );
 | 
			
		||||
   _glapi_Dispatch->SecondaryColor3fvEXT( v );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void TAG(SecondaryColor3ubEXT)( GLubyte a, GLubyte b, GLubyte c )
 | 
			
		||||
{
 | 
			
		||||
   PRE_LOOPBACK( SecondaryColor3ubEXT );
 | 
			
		||||
   glSecondaryColor3ubEXT( a, b, c );
 | 
			
		||||
   _glapi_Dispatch->SecondaryColor3ubEXT( a, b, c );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void TAG(SecondaryColor3ubvEXT)( const GLubyte *v )
 | 
			
		||||
{
 | 
			
		||||
   PRE_LOOPBACK( SecondaryColor3ubvEXT );
 | 
			
		||||
   glSecondaryColor3ubvEXT( v );
 | 
			
		||||
   _glapi_Dispatch->SecondaryColor3ubvEXT( v );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -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.halfWidth = 0.5F * ctx->Line.Width;
 | 
			
		||||
 | 
			
		||||
   if (line.len == 0.0)
 | 
			
		||||
   if (line.len == 0.0 || IS_INF_OR_NAN(line.len))
 | 
			
		||||
      return;
 | 
			
		||||
 | 
			
		||||
   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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * 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],
 | 
			
		||||
                  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] = {
 | 
			
		||||
      /* start with the four corners */
 | 
			
		||||
      { 0.00+B, 0.00+B },
 | 
			
		||||
      { 0.75+B, 0.00+B },
 | 
			
		||||
      { 0.00+B, 0.75+B },
 | 
			
		||||
      { 0.75+B, 0.75+B },
 | 
			
		||||
      { POS(0, 2), POS(0, 0) },
 | 
			
		||||
      { POS(3, 3), POS(0, 2) },
 | 
			
		||||
      { POS(0, 0), POS(3, 1) },
 | 
			
		||||
      { POS(3, 1), POS(3, 3) },
 | 
			
		||||
      /* continue with interior samples */
 | 
			
		||||
      { 0.25+B, 0.00+B },
 | 
			
		||||
      { 0.50+B, 0.00+B },
 | 
			
		||||
      { 0.00+B, 0.25+B },
 | 
			
		||||
      { 0.25+B, 0.25+B },
 | 
			
		||||
      { 0.50+B, 0.25+B },
 | 
			
		||||
      { 0.75+B, 0.25+B },
 | 
			
		||||
      { 0.00+B, 0.50+B },
 | 
			
		||||
      { 0.25+B, 0.50+B },
 | 
			
		||||
      { 0.50+B, 0.50+B },
 | 
			
		||||
      { 0.75+B, 0.50+B },
 | 
			
		||||
      { 0.25+B, 0.75+B },
 | 
			
		||||
      { 0.50+B, 0.75+B }
 | 
			
		||||
      { POS(1, 1), POS(0, 1) },
 | 
			
		||||
      { POS(2, 0), POS(0, 3) },
 | 
			
		||||
      { POS(0, 3), POS(1, 3) },
 | 
			
		||||
      { POS(1, 2), POS(1, 0) },
 | 
			
		||||
      { POS(2, 3), POS(1, 2) },
 | 
			
		||||
      { POS(3, 2), POS(1, 1) },
 | 
			
		||||
      { POS(0, 1), POS(2, 2) },
 | 
			
		||||
      { POS(1, 0), POS(2, 1) },
 | 
			
		||||
      { POS(2, 1), POS(2, 3) },
 | 
			
		||||
      { POS(3, 0), POS(2, 0) },
 | 
			
		||||
      { POS(1, 3), POS(3, 0) },
 | 
			
		||||
      { POS(2, 2), POS(3, 2) }
 | 
			
		||||
   };
 | 
			
		||||
 | 
			
		||||
   const GLfloat x = (GLfloat) winx;
 | 
			
		||||
   const GLfloat y = (GLfloat) winy;
 | 
			
		||||
   const GLfloat dx0 = v1[0] - v0[0];
 | 
			
		||||
@@ -226,28 +242,25 @@ static GLint
 | 
			
		||||
compute_coveragei(const GLfloat v0[3], const GLfloat v1[3],
 | 
			
		||||
                  const GLfloat v2[3], GLint winx, GLint winy)
 | 
			
		||||
{
 | 
			
		||||
   /* NOTE: 15 samples instead of 16.
 | 
			
		||||
    * A better sample distribution could be used.
 | 
			
		||||
    */
 | 
			
		||||
   /* NOTE: 15 samples instead of 16. */
 | 
			
		||||
   static const GLfloat samples[15][2] = {
 | 
			
		||||
      /* start with the four corners */
 | 
			
		||||
      { 0.00+B, 0.00+B },
 | 
			
		||||
      { 0.75+B, 0.00+B },
 | 
			
		||||
      { 0.00+B, 0.75+B },
 | 
			
		||||
      { 0.75+B, 0.75+B },
 | 
			
		||||
      { POS(0, 2), POS(0, 0) },
 | 
			
		||||
      { POS(3, 3), POS(0, 2) },
 | 
			
		||||
      { POS(0, 0), POS(3, 1) },
 | 
			
		||||
      { POS(3, 1), POS(3, 3) },
 | 
			
		||||
      /* continue with interior samples */
 | 
			
		||||
      { 0.25+B, 0.00+B },
 | 
			
		||||
      { 0.50+B, 0.00+B },
 | 
			
		||||
      { 0.00+B, 0.25+B },
 | 
			
		||||
      { 0.25+B, 0.25+B },
 | 
			
		||||
      { 0.50+B, 0.25+B },
 | 
			
		||||
      { 0.75+B, 0.25+B },
 | 
			
		||||
      { 0.00+B, 0.50+B },
 | 
			
		||||
      { 0.25+B, 0.50+B },
 | 
			
		||||
      /*{ 0.50, 0.50 },*/
 | 
			
		||||
      { 0.75+B, 0.50+B },
 | 
			
		||||
      { 0.25+B, 0.75+B },
 | 
			
		||||
      { 0.50+B, 0.75+B }
 | 
			
		||||
      { POS(1, 1), POS(0, 1) },
 | 
			
		||||
      { POS(2, 0), POS(0, 3) },
 | 
			
		||||
      { POS(0, 3), POS(1, 3) },
 | 
			
		||||
      { POS(1, 2), POS(1, 0) },
 | 
			
		||||
      { POS(2, 3), POS(1, 2) },
 | 
			
		||||
      { POS(3, 2), POS(1, 1) },
 | 
			
		||||
      { POS(0, 1), POS(2, 2) },
 | 
			
		||||
      { POS(1, 0), POS(2, 1) },
 | 
			
		||||
      { POS(2, 1), POS(2, 3) },
 | 
			
		||||
      { POS(3, 0), POS(2, 0) },
 | 
			
		||||
      { POS(1, 3), POS(3, 0) }
 | 
			
		||||
   };
 | 
			
		||||
   const GLfloat x = (GLfloat) winx;
 | 
			
		||||
   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
 | 
			
		||||
@@ -149,7 +149,7 @@
 | 
			
		||||
      const GLfloat area = majDx * botDy - botDx * majDy;
 | 
			
		||||
      ltor = (GLboolean) (area < 0.0F);
 | 
			
		||||
      /* Do backface culling */
 | 
			
		||||
      if (area * bf < 0 || area * area < .0025)
 | 
			
		||||
      if (area * bf < 0 || area == 0 || IS_INF_OR_NAN(area))
 | 
			
		||||
	 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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -25,7 +25,6 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "glheader.h"
 | 
			
		||||
#include "context.h"
 | 
			
		||||
#include "macros.h"
 | 
			
		||||
@@ -46,6 +45,48 @@
 | 
			
		||||
#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.
 | 
			
		||||
 */
 | 
			
		||||
@@ -341,7 +382,7 @@ blend_general( GLcontext *ctx, GLuint n, const GLubyte mask[],
 | 
			
		||||
            default:
 | 
			
		||||
               /* this should never happen */
 | 
			
		||||
               _mesa_problem(ctx, "Bad blend source RGB factor in do_blend");
 | 
			
		||||
	       return;
 | 
			
		||||
               return;
 | 
			
		||||
         }
 | 
			
		||||
 | 
			
		||||
         /* Source Alpha factor */
 | 
			
		||||
@@ -611,6 +652,12 @@ void _swrast_choose_blend_func( GLcontext *ctx )
 | 
			
		||||
   else if (eq==GL_MAX_EXT) {
 | 
			
		||||
      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 {
 | 
			
		||||
      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
 | 
			
		||||
@@ -995,7 +995,7 @@ _mesa_print_line_function(GLcontext *ctx)
 | 
			
		||||
   else if (swrast->Line == flat_multitextured_line)
 | 
			
		||||
      printf("flat_multitextured_line\n");
 | 
			
		||||
   else
 | 
			
		||||
      printf("Driver func %p\n", swrast->Line);
 | 
			
		||||
      printf("Driver func %p\n", (void *) swrast->Line);
 | 
			
		||||
}
 | 
			
		||||
#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
 | 
			
		||||
@@ -180,6 +180,13 @@
 | 
			
		||||
   }
 | 
			
		||||
#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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -119,6 +119,14 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
 | 
			
		||||
   size = ctx->Point._Size;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
   /* Cull primitives with malformed coordinates.
 | 
			
		||||
    */
 | 
			
		||||
   {
 | 
			
		||||
      float tmp = vert->win[0] + vert->win[1];
 | 
			
		||||
      if (IS_INF_OR_NAN(tmp))
 | 
			
		||||
	 return;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
#if FLAGS & SPRITE
 | 
			
		||||
   {
 | 
			
		||||
      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
 | 
			
		||||
@@ -92,7 +92,7 @@ static void flat_ci_triangle( GLcontext *ctx,
 | 
			
		||||
      span.fog += span.fogStep;						\
 | 
			
		||||
   }									\
 | 
			
		||||
   _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"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -199,7 +199,7 @@
 | 
			
		||||
      if (area * bf < 0.0)
 | 
			
		||||
         return;
 | 
			
		||||
 | 
			
		||||
      if (area == 0.0F)
 | 
			
		||||
      if (area == 0.0F || IS_INF_OR_NAN(area))
 | 
			
		||||
         return;
 | 
			
		||||
 | 
			
		||||
      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
 | 
			
		||||
@@ -133,8 +133,6 @@ _tnl_DrawArrays(GLenum mode, GLint start, GLsizei count)
 | 
			
		||||
            start = ctx->Array.LockFirst;
 | 
			
		||||
	 if (start + count > (GLint) ctx->Array.LockCount)
 | 
			
		||||
            count = ctx->Array.LockCount - start;
 | 
			
		||||
	 if (start >= count)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
	 /* Locked drawarrays.  Reuse any previously transformed data.
 | 
			
		||||
	  */
 | 
			
		||||
@@ -160,7 +158,7 @@ _tnl_DrawArrays(GLenum mode, GLint start, GLsizei count)
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
      int bufsz = (ctx->Const.MaxArrayLockSize - 4) & ~3;
 | 
			
		||||
      int bufsz = 256;		/* use a small buffer for cache goodness */
 | 
			
		||||
      int j, nr;
 | 
			
		||||
      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
 | 
			
		||||
@@ -103,9 +103,10 @@ _tnl_exec_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
 | 
			
		||||
      struct immediate *im = TNL_CURRENT_IM(ctx);
 | 
			
		||||
 | 
			
		||||
      if (compiling) {
 | 
			
		||||
	 struct immediate *IM = _tnl_alloc_immediate( ctx );
 | 
			
		||||
	 FLUSH_VERTICES( ctx, 0 );
 | 
			
		||||
	 SET_IMMEDIATE( ctx, _tnl_alloc_immediate( ctx ) );
 | 
			
		||||
	 TNL_CURRENT_IM(ctx)->ref_count++;	 
 | 
			
		||||
	 SET_IMMEDIATE( ctx, IM );
 | 
			
		||||
	 IM->ref_count++;	 
 | 
			
		||||
	 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);
 | 
			
		||||
 | 
			
		||||
      if (compiling) {
 | 
			
		||||
	 struct immediate *IM =  _tnl_alloc_immediate( ctx );
 | 
			
		||||
	 FLUSH_VERTICES( ctx, 0 );
 | 
			
		||||
	 SET_IMMEDIATE( ctx, _tnl_alloc_immediate( ctx ) );
 | 
			
		||||
	 TNL_CURRENT_IM(ctx)->ref_count++;	 
 | 
			
		||||
	 SET_IMMEDIATE( ctx, IM );
 | 
			
		||||
	 IM->ref_count++;	 
 | 
			
		||||
	 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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -34,7 +34,7 @@
 | 
			
		||||
#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 )
 | 
			
		||||
{
 | 
			
		||||
@@ -130,6 +130,11 @@ void _tnl_free_immediate( struct immediate *IM )
 | 
			
		||||
 | 
			
		||||
   ASSERT(IM->ref_count == 0);
 | 
			
		||||
 | 
			
		||||
   if (IM->NormalLengthPtr) {
 | 
			
		||||
      ALIGN_FREE(IM->NormalLengthPtr);
 | 
			
		||||
      IM->NormalLengthPtr = NULL;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   if (!tnl) {
 | 
			
		||||
      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
 | 
			
		||||
@@ -229,7 +229,7 @@ static void fixup_compiled_primitives( GLcontext *ctx, struct immediate *IM )
 | 
			
		||||
       * set copystart because it might skip materials?
 | 
			
		||||
       */
 | 
			
		||||
      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->PrimitiveLength[IM->CopyStart] = i - IM->CopyStart;
 | 
			
		||||
	 if (IM->Flag[i] & VERT_END_VB) {
 | 
			
		||||
@@ -293,7 +293,7 @@ execute_compiled_cassette( GLcontext *ctx, void *data )
 | 
			
		||||
   TNLvertexcassette *node = (TNLvertexcassette *)data;
 | 
			
		||||
   struct immediate *IM = node->IM;
 | 
			
		||||
 | 
			
		||||
/*     fprintf(stderr, "%s\n", __FUNCTION__); */
 | 
			
		||||
/*     fprintf(stderr, "%s IM: %d\n", __FUNCTION__, IM->id);  */
 | 
			
		||||
 | 
			
		||||
   IM->Start = node->Start;
 | 
			
		||||
   IM->CopyStart = node->Start;
 | 
			
		||||
@@ -309,6 +309,7 @@ execute_compiled_cassette( GLcontext *ctx, void *data )
 | 
			
		||||
   IM->MaterialOrMask = node->MaterialOrMask;
 | 
			
		||||
   IM->MaterialAndMask = node->MaterialAndMask;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   if ((MESA_VERBOSE & VERBOSE_DISPLAY_LIST) &&
 | 
			
		||||
       (MESA_VERBOSE & VERBOSE_IMMEDIATE))
 | 
			
		||||
      _tnl_print_cassette( IM );
 | 
			
		||||
@@ -421,16 +422,22 @@ _tnl_BeginCallList( GLcontext *ctx, GLuint list )
 | 
			
		||||
{
 | 
			
		||||
   (void) ctx;
 | 
			
		||||
   (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
 | 
			
		||||
_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);
 | 
			
		||||
 | 
			
		||||
      if (prim & PRIM_BEGIN) {
 | 
			
		||||
/*  	 fprintf(stderr, "begin %s\n", _mesa_prim_name[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) {
 | 
			
		||||
/*  	       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]);
 | 
			
		||||
	 }
 | 
			
		||||
 | 
			
		||||
	 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] );
 | 
			
		||||
	 }
 | 
			
		||||
 | 
			
		||||
@@ -633,8 +635,6 @@ static void loopback_compiled_cassette( GLcontext *ctx, struct immediate *IM )
 | 
			
		||||
	    emit_material( IM->Material[i], IM->MaterialMask[i] );
 | 
			
		||||
 | 
			
		||||
	 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] );
 | 
			
		||||
	 }
 | 
			
		||||
	 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) {
 | 
			
		||||
/*  	 fprintf(stderr, "end\n"); */
 | 
			
		||||
	 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
 | 
			
		||||
@@ -555,6 +555,13 @@ void _tnl_imm_destroy( GLcontext *ctx )
 | 
			
		||||
      TNL_CURRENT_IM(ctx)->ref_count--;
 | 
			
		||||
      if (TNL_CURRENT_IM(ctx)->ref_count == 0)
 | 
			
		||||
	 _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
 | 
			
		||||
@@ -735,7 +735,11 @@ _tnl_get_exec_copy_verts( GLcontext *ctx, struct immediate *IM )
 | 
			
		||||
      tnl->ExecCopySource = IM;
 | 
			
		||||
      tnl->ExecCopyCount = 0;
 | 
			
		||||
      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))
 | 
			
		||||
	 ovf = (IM->Count - last - pintro) % pincr;
 | 
			
		||||
@@ -761,7 +765,10 @@ _tnl_get_purged_copy_verts( GLcontext *ctx, struct immediate *IM )
 | 
			
		||||
      GLuint ovf = 0, i;
 | 
			
		||||
 | 
			
		||||
      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))
 | 
			
		||||
	 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
 | 
			
		||||
@@ -560,7 +560,6 @@ static void TAG(light_fast_rgba_single)( GLcontext *ctx,
 | 
			
		||||
   do {
 | 
			
		||||
      
 | 
			
		||||
      if ( CHECK_COLOR_MATERIAL(j) ) {
 | 
			
		||||
/*  	 fprintf(stderr, "colormaterial at %d (%p)\n", j, CMcolor); */
 | 
			
		||||
	 _mesa_update_color_material( ctx, CMcolor );
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@@ -590,13 +589,6 @@ static void TAG(light_fast_rgba_single)( GLcontext *ctx,
 | 
			
		||||
      do {
 | 
			
		||||
	 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 (IDX & LIGHT_TWOSIDE) {
 | 
			
		||||
	       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]);
 | 
			
		||||
	 if (IDX & LIGHT_TWOSIDE)
 | 
			
		||||
	    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));
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 * Version:  3.5
 | 
			
		||||
 * Version:  4.0.1
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
@@ -142,7 +142,7 @@ do {							\
 | 
			
		||||
 | 
			
		||||
#define TAG(x) clip_##x##_verts
 | 
			
		||||
#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 PRESERVE_VB_DEFS
 | 
			
		||||
#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 triangle_func TriangleFunc = tnl->Driver.Render.Triangle;	\
 | 
			
		||||
   const quad_func QuadFunc = tnl->Driver.Render.Quad;		\
 | 
			
		||||
   const GLboolean stipple = ctx->Line.StippleFlag;		\
 | 
			
		||||
   (void) (LineFunc && TriangleFunc && QuadFunc);		\
 | 
			
		||||
   (void) elt;
 | 
			
		||||
   (void) elt; (void) stipple;
 | 
			
		||||
 | 
			
		||||
#define RESET_STIPPLE tnl->Driver.Render.ResetLineStipple( ctx )
 | 
			
		||||
#define RESET_OCCLUSION ctx->OcclusionResult = GL_TRUE
 | 
			
		||||
@@ -318,7 +319,7 @@ static GLboolean run_render( GLcontext *ctx,
 | 
			
		||||
   do
 | 
			
		||||
   {
 | 
			
		||||
      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];
 | 
			
		||||
	 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
 | 
			
		||||
@@ -80,7 +80,9 @@ void _mesa_init_3dnow_transform_asm( void )
 | 
			
		||||
   ASSIGN_XFORM_GROUP( 3dnow, 3 );
 | 
			
		||||
   ASSIGN_XFORM_GROUP( 3dnow, 4 );
 | 
			
		||||
 | 
			
		||||
   ASSIGN_NORM_GROUP( 3dnow );
 | 
			
		||||
/* Normalize function is broken - see demos/morph3d for example.
 | 
			
		||||
 */
 | 
			
		||||
/*     ASSIGN_NORM_GROUP( 3dnow ); */
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
   _math_test_all_transform_functions( "3DNow!" );
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user