Compare commits
85 Commits
bisect-tem
...
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