summaryrefslogtreecommitdiff
path: root/xc/lib/GL/mesa/src/drv
diff options
context:
space:
mode:
Diffstat (limited to 'xc/lib/GL/mesa/src/drv')
-rw-r--r--xc/lib/GL/mesa/src/drv/Imakefile2
-rw-r--r--xc/lib/GL/mesa/src/drv/ffb/Imakefile4
-rw-r--r--xc/lib/GL/mesa/src/drv/gamma/Imakefile8
-rw-r--r--xc/lib/GL/mesa/src/drv/gamma/gamma_gl.c888
-rw-r--r--xc/lib/GL/mesa/src/drv/gamma/gamma_gl.h7
-rw-r--r--xc/lib/GL/mesa/src/drv/gamma/gamma_init.h99
-rw-r--r--xc/lib/GL/mesa/src/drv/gamma/gamma_inithw.c6
-rw-r--r--xc/lib/GL/mesa/src/drv/gamma/gamma_regs.h11
-rw-r--r--xc/lib/GL/mesa/src/drv/gamma/gamma_xmesa.c103
-rw-r--r--xc/lib/GL/mesa/src/drv/i810/Imakefile4
-rw-r--r--xc/lib/GL/mesa/src/drv/i810/i810_xmesa.c4
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/Imakefile6
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mga_xmesa.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgabuffers.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgacontext.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgadd.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgaioctl.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgaioctl.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgaspan.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgastate.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgatex.c17
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgatex.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgatexmem.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgatris.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgatris.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/mga/mgavb.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/Imakefile4
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_context.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_context.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_dd.c16
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_dd.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_eltpath.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_elttmp.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_ioctl.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_ioctl.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_lock.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_lock.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_screen.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_screen.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_span.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_span.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_state.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_state.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tex.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tex.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_texobj.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tris.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tris.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_vb.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_vb.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/sis/sis_alloc.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/sis/sis_xmesa.c35
-rw-r--r--xc/lib/GL/mesa/src/drv/tdfx/Imakefile4
-rw-r--r--xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c2
60 files changed, 1042 insertions, 262 deletions
diff --git a/xc/lib/GL/mesa/src/drv/Imakefile b/xc/lib/GL/mesa/src/drv/Imakefile
index 0f0dcebf5..6639512c2 100644
--- a/xc/lib/GL/mesa/src/drv/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/Imakefile,v 1.16 2000/12/04 18:54:13 dawes Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/Imakefile,v 1.17 2001/01/08 01:07:17 martin Exp $
#define DoNormalLib NormalLibGlx
#define DoSharedLib SharedLibGlx
diff --git a/xc/lib/GL/mesa/src/drv/ffb/Imakefile b/xc/lib/GL/mesa/src/drv/ffb/Imakefile
index b3ae59e4f..338faa722 100644
--- a/xc/lib/GL/mesa/src/drv/ffb/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/ffb/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/ffb/Imakefile,v 1.6 2000/10/20 12:57:22 alanh Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/ffb/Imakefile,v 1.7 2001/02/16 01:26:09 dawes Exp $
#include <Threads.tmpl>
@@ -229,7 +229,7 @@ NormalLintTarget($(SRCS))
LIBNAME = ffb_dri.so
ALL_OBJS = $(OBJS)
ALL_DEPS = DONE
-SharedDepModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
+SharedDriModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
InstallDynamicModule($(LIBNAME),$(MODULEDIR),dri)
#endif
diff --git a/xc/lib/GL/mesa/src/drv/gamma/Imakefile b/xc/lib/GL/mesa/src/drv/gamma/Imakefile
index 48387680e..c1bb6d990 100644
--- a/xc/lib/GL/mesa/src/drv/gamma/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/gamma/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/gamma/Imakefile,v 1.16 2000/12/12 23:24:27 dawes Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/gamma/Imakefile,v 1.18 2001/02/16 01:26:10 dawes Exp $
#include <Threads.tmpl>
@@ -64,7 +64,7 @@ MESA_INCLUDES = -I. -I.. -I../../include \
gamma_matrix.c \
gamma_inithw.c \
gamma_texture.c \
- /* gamma_dlist.c */
+ gamma_dlist.c
GAMMAOBJS = gamma_gl.o \
gamma_xmesa.o \
@@ -72,7 +72,7 @@ MESA_INCLUDES = -I. -I.. -I../../include \
gamma_matrix.o \
gamma_inithw.o \
gamma_texture.o \
- /* gamma_dlist.o */
+ gamma_dlist.o
MESASRCS = ../../aatriangle.c \
../../accum.c \
@@ -348,7 +348,7 @@ NormalLintTarget($(SRCS))
LIBNAME = gamma_dri.so
ALL_OBJS = $(OBJS)
ALL_DEPS = DONE
-SharedDepModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
+SharedDriModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
InstallDynamicModule($(LIBNAME),$(MODULEDIR),dri)
#ifdef GlxSoProf
diff --git a/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.c b/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.c
index 930039fa4..d859e5d50 100644
--- a/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.c
+++ b/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_gl.c,v 1.7 2000/11/27 10:59:36 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_gl.c,v 1.9 2001/02/07 13:26:16 alanh Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -39,14 +39,89 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <math.h>
#include "gamma_gl.h"
#include "gamma_init.h"
+#include "gamma_dlist.h"
#include "glint_dri.h"
-#ifdef RANDOMIZE_COLORS
-#include <stdlib.h>
+
+/* Here for now, will change get.c to move them into macros.h later */
+
+#define FLOAT_TO_BOOL(X) ( (X)==0.0F ? GL_FALSE : GL_TRUE )
+#define INT_TO_BOOL(I) ( (I)==0 ? GL_FALSE : GL_TRUE )
+#define ENUM_TO_BOOL(E) ( (E)==0 ? GL_FALSE : GL_TRUE )
+
+void gamma_error( GLenum error, const char *s )
+{
+ GLboolean debug;
+
+#ifdef DEBUG
+ debug = GL_TRUE;
+#else
+ if (getenv("MESA_DEBUG")) {
+ debug = GL_TRUE;
+ }
+ else {
+ debug = GL_FALSE;
+ }
#endif
+ if (debug) {
+ char errstr[1000];
+
+ switch (error) {
+ case GL_NO_ERROR:
+ strcpy( errstr, "GL_NO_ERROR" );
+ break;
+ case GL_INVALID_VALUE:
+ strcpy( errstr, "GL_INVALID_VALUE" );
+ break;
+ case GL_INVALID_ENUM:
+ strcpy( errstr, "GL_INVALID_ENUM" );
+ break;
+ case GL_INVALID_OPERATION:
+ strcpy( errstr, "GL_INVALID_OPERATION" );
+ break;
+ case GL_STACK_OVERFLOW:
+ strcpy( errstr, "GL_STACK_OVERFLOW" );
+ break;
+ case GL_STACK_UNDERFLOW:
+ strcpy( errstr, "GL_STACK_UNDERFLOW" );
+ break;
+ case GL_OUT_OF_MEMORY:
+ strcpy( errstr, "GL_OUT_OF_MEMORY" );
+ break;
+ default:
+ strcpy( errstr, "unknown" );
+ break;
+ }
+ fprintf( stderr, "Mesa user error: %s in %s\n", errstr, s );
+ }
+
+ if (gCCPriv->ErrorValue==GL_NO_ERROR) {
+ gCCPriv->ErrorValue = error;
+ }
+
+ /* _gamma_Error( ); use hwLog or something later */
+}
+
+
void _gamma_Accum(GLenum op, GLfloat value)
{
DEBUG_GLCMDS(("Accum: %d %f\n", (int)op, value));
+
+ switch (op) {
+ case GL_ACCUM:
+ break;
+ case GL_LOAD:
+ break;
+ case GL_ADD:
+ break;
+ case GL_MULT:
+ break;
+ case GL_RETURN:
+ break;
+ default:
+ gCCPriv->ErrorValue = GL_INVALID_ENUM;
+ return;
+ }
}
void _gamma_AlphaFunc(GLenum func, GLclampf ref)
@@ -350,6 +425,7 @@ void _gamma_BlendFunc(GLenum sfactor, GLenum dfactor)
}
}
+#if 0 /* Now in dlist.c */
void _gamma_CallList(GLuint list)
{
DEBUG_GLCMDS(("CallList: %d\n", (unsigned int)list));
@@ -359,6 +435,7 @@ void _gamma_CallLists(GLsizei n, GLenum type, const GLvoid *lists)
{
DEBUG_GLCMDS(("CallLists: %d %04x\n", (int)n, (int)type));
}
+#endif
void _gamma_Clear(GLbitfield mask)
{
@@ -445,7 +522,7 @@ void _gamma_Clear(GLbitfield mask)
temp = (gCCPriv->LBReadMode & LBPartialProdMask) | LBWindowOriginBot;
/* UGH - move this later ! */
- if (gDRIPriv->numMXDevices == 2) temp |= LBScanLineInt2;
+ if (gDRIPriv->numMultiDevices == 2) temp |= LBScanLineInt2;
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITE(gCCPriv->buf, LBReadMode, temp);
@@ -634,28 +711,16 @@ void _gamma_ClipPlane(GLenum plane, const GLdouble *equation)
void _gamma_Color3b(GLbyte red, GLbyte green, GLbyte blue)
{
- GLfloat r,g,b;
-
DEBUG_GLCMDS(("Color3b: %d %d %d\n", red, green, blue));
- r = BYTE_TO_FLOAT(red);
- g = BYTE_TO_FLOAT(green);
- b = BYTE_TO_FLOAT(blue);
-
- _gamma_Color3f(r,g,b);
+ _gamma_Color3f((GLfloat)red,(GLfloat)green,(GLfloat)blue);
}
void _gamma_Color3bv(const GLbyte *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Color3bv: %d %d %d\n", v[0], v[1], v[2]));
- p[0] = BYTE_TO_FLOAT(v[0]);
- p[1] = BYTE_TO_FLOAT(v[1]);
- p[2] = BYTE_TO_FLOAT(v[2]);
-
- _gamma_Color3f(p[0],p[1],p[2]);
+ _gamma_Color3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
}
void _gamma_Color3d(GLdouble red, GLdouble green, GLdouble blue)
@@ -669,13 +734,18 @@ void _gamma_Color3dv(const GLdouble *v)
{
DEBUG_GLCMDS(("Color3dv: %f %f %f\n", v[0], v[1], v[2]));
- _gamma_Color3fv((GLfloat*)v);
+ _gamma_Color3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
}
void _gamma_Color3f(GLfloat red, GLfloat green, GLfloat blue)
{
DEBUG_GLCMDS(("Color3f: %f %f %f\n", red, green, blue));
+ gCCPriv->Current.Color[0] = red;
+ gCCPriv->Current.Color[1] = green;
+ gCCPriv->Current.Color[2] = blue;
+ gCCPriv->Current.Color[3] = 1.0f;
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 3);
WRITEF(gCCPriv->buf, Cb, blue);
WRITEF(gCCPriv->buf, Cg, green);
@@ -686,62 +756,35 @@ void _gamma_Color3fv(const GLfloat *v)
{
DEBUG_GLCMDS(("Color3fv: %f %f %f\n", v[0], v[1], v[2]));
- CHECK_DMA_BUFFER(gCC, gCCPriv, 3);
- WRITEF(gCCPriv->buf, Cb, v[2]);
- WRITEF(gCCPriv->buf, Cg, v[1]);
- WRITEF(gCCPriv->buf, Cr3, v[0]);
+ _gamma_Color3f(v[0],v[1],v[2]);
}
void _gamma_Color3i(GLint red, GLint green, GLint blue)
{
- GLfloat r,g,b;
-
DEBUG_GLCMDS(("Color3i: %d %d %d\n", (int)red, (int)green, (int)blue));
- r = INT_TO_FLOAT(red);
- g = INT_TO_FLOAT(green);
- b = INT_TO_FLOAT(blue);
-
- _gamma_Color3f(r,g,b);
+ _gamma_Color3f((GLfloat)red,(GLfloat)green,(GLfloat)blue);
}
void _gamma_Color3iv(const GLint *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Color3iv: %d %d %d\n", (int)v[0], (int)v[1], (int)v[2]));
- p[0] = INT_TO_FLOAT(v[0]);
- p[1] = INT_TO_FLOAT(v[1]);
- p[2] = INT_TO_FLOAT(v[2]);
-
- _gamma_Color3f(p[0],p[1],p[2]);
+ _gamma_Color3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
}
void _gamma_Color3s(GLshort red, GLshort green, GLshort blue)
{
- GLfloat r,g,b;
-
DEBUG_GLCMDS(("Color3s: %d %d %d\n", red, green, blue));
- r = SHORT_TO_FLOAT(red);
- g = SHORT_TO_FLOAT(green);
- b = SHORT_TO_FLOAT(blue);
-
- _gamma_Color3f(r,g,b);
+ _gamma_Color3f((GLfloat)red,(GLfloat)green,(GLfloat)blue);
}
void _gamma_Color3sv(const GLshort *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Color3sv: %d %d %d\n", v[0], v[1], v[2]));
- p[0] = SHORT_TO_FLOAT(v[0]);
- p[1] = SHORT_TO_FLOAT(v[1]);
- p[2] = SHORT_TO_FLOAT(v[2]);
-
- _gamma_Color3f(p[0],p[1],p[2]);
+ _gamma_Color3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
}
void _gamma_Color3ub(GLubyte red, GLubyte green, GLubyte blue)
@@ -770,56 +813,32 @@ void _gamma_Color3ubv(const GLubyte *v)
void _gamma_Color3ui(GLuint red, GLuint green, GLuint blue)
{
- GLfloat r,g,b;
-
DEBUG_GLCMDS(("Color3ui: %d %d %d\n",
(unsigned int)red, (unsigned int)green, (unsigned int)blue));
- r = UINT_TO_FLOAT(red);
- g = UINT_TO_FLOAT(green);
- b = UINT_TO_FLOAT(blue);
-
- _gamma_Color3f(r,g,b);
+ _gamma_Color3f((GLfloat)red,(GLfloat)green,(GLfloat)blue);
}
void _gamma_Color3uiv(const GLuint *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Color3uiv: %d %d %d\n",
(unsigned int)v[0], (unsigned int)v[1], (unsigned int)v[2]));
- p[0] = UINT_TO_FLOAT(v[0]);
- p[1] = UINT_TO_FLOAT(v[1]);
- p[2] = UINT_TO_FLOAT(v[2]);
-
- _gamma_Color3f(p[0],p[1],p[2]);
+ _gamma_Color3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
}
void _gamma_Color3us(GLushort red, GLushort green, GLushort blue)
{
- GLfloat r,g,b;
-
DEBUG_GLCMDS(("Color3us: %d %d %d\n", red, green, blue));
- r = USHORT_TO_FLOAT(red);
- g = USHORT_TO_FLOAT(green);
- b = USHORT_TO_FLOAT(blue);
-
- _gamma_Color3f(r,g,b);
+ _gamma_Color3f((GLfloat)red,(GLfloat)green,(GLfloat)blue);
}
void _gamma_Color3usv(const GLushort *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Color3usv: %d %d %d\n", v[0], v[1], v[2]));
- p[0] = USHORT_TO_FLOAT(v[0]);
- p[1] = USHORT_TO_FLOAT(v[1]);
- p[2] = USHORT_TO_FLOAT(v[2]);
-
- _gamma_Color3f(p[0],p[1],p[2]);
+ _gamma_Color3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
}
void _gamma_Color4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
@@ -847,7 +866,7 @@ void _gamma_Color4bv(const GLbyte *v)
p[2] = BYTE_TO_FLOAT(v[2]);
p[3] = BYTE_TO_FLOAT(v[3]);
- _gamma_Color4f(p[0],p[1],p[2],p[3]);
+ _gamma_Color4fv(p);
}
void _gamma_Color4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
@@ -861,13 +880,18 @@ void _gamma_Color4dv(const GLdouble *v)
{
DEBUG_GLCMDS(("Color4dv: %f %f %f %f\n", v[0], v[1], v[2], v[3]));
- _gamma_Color4fv((GLfloat*)v);
+ _gamma_Color4f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2],(GLfloat)v[3]);
}
void _gamma_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
{
DEBUG_GLCMDS(("Color4f: %f %f %f %f\n", red, green, blue, alpha));
+ gCCPriv->Current.Color[0] = red;
+ gCCPriv->Current.Color[1] = green;
+ gCCPriv->Current.Color[2] = blue;
+ gCCPriv->Current.Color[3] = alpha;
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 4);
WRITEF(gCCPriv->buf, Ca, alpha);
WRITEF(gCCPriv->buf, Cb, blue);
@@ -879,6 +903,11 @@ void _gamma_Color4fv(const GLfloat *v)
{
DEBUG_GLCMDS(("Color4fv: %f %f %f %f\n", v[0], v[1], v[2], v[3]));
+ gCCPriv->Current.Color[0] = v[0];
+ gCCPriv->Current.Color[1] = v[1];
+ gCCPriv->Current.Color[2] = v[2];
+ gCCPriv->Current.Color[3] = v[3];
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 4);
WRITEF(gCCPriv->buf, Ca, v[3]);
WRITEF(gCCPriv->buf, Cb, v[2]);
@@ -913,7 +942,7 @@ void _gamma_Color4iv(const GLint *v)
p[2] = INT_TO_FLOAT(v[2]);
p[3] = INT_TO_FLOAT(v[3]);
- _gamma_Color4f(p[0],p[1],p[2],p[3]);
+ _gamma_Color4fv(p);
}
void _gamma_Color4s(GLshort red, GLshort green, GLshort blue, GLshort alpha)
@@ -941,7 +970,7 @@ void _gamma_Color4sv(const GLshort *v)
p[2] = SHORT_TO_FLOAT(v[2]);
p[3] = SHORT_TO_FLOAT(v[3]);
- _gamma_Color4f(p[0],p[1],p[2],p[3]);
+ _gamma_Color4fv(p);
}
void _gamma_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
@@ -997,7 +1026,7 @@ void _gamma_Color4uiv(const GLuint *v)
p[2] = UINT_TO_FLOAT(v[2]);
p[3] = UINT_TO_FLOAT(v[3]);
- _gamma_Color4f(p[0],p[1],p[2],p[3]);
+ _gamma_Color4fv(p);
}
void _gamma_Color4us(GLushort red, GLushort green, GLushort blue, GLushort alpha)
@@ -1025,7 +1054,7 @@ void _gamma_Color4usv(const GLushort *v)
p[2] = USHORT_TO_FLOAT(v[2]);
p[3] = USHORT_TO_FLOAT(v[3]);
- _gamma_Color4f(p[0],p[1],p[2],p[3]);
+ _gamma_Color4fv(p);
}
void _gamma_ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
@@ -1037,8 +1066,7 @@ void _gamma_ColorMaterial(GLenum face, GLenum mode)
{
DEBUG_GLCMDS(("ColorMaterial: %04x %04x\n", (int)face, (int)mode));
- gCCPriv->MaterialMode &= ~MaterialModeEnable;
- gCCPriv->ColorMaterialMode = ColorMaterialModeDisable;
+ gCCPriv->ColorMaterialMode &= ~ColorMaterialModeMask;
switch (face) {
case GL_FRONT:
@@ -1070,15 +1098,56 @@ void _gamma_ColorMaterial(GLenum face, GLenum mode)
break;
}
- CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITE(gCCPriv->buf, ColorMaterialMode, gCCPriv->ColorMaterialMode);
- WRITE(gCCPriv->buf, MaterialMode, gCCPriv->MaterialMode);
}
void _gamma_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
DEBUG_GLCMDS(("ColorPointer: %d %04x %d\n",
(int)size, (int)type, (int)stride));
+
+ if (size<3 || size>4) {
+ gamma_error( GL_INVALID_VALUE, "glColorPointer(size)" );
+ return;
+ }
+ if (stride<0) {
+ gamma_error( GL_INVALID_VALUE, "glColorPointer(stride)" );
+ return;
+ }
+ switch (type) {
+ case GL_BYTE:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLbyte);
+ break;
+ case GL_UNSIGNED_BYTE:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLubyte);
+ break;
+ case GL_SHORT:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLshort);
+ break;
+ case GL_UNSIGNED_SHORT:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLushort);
+ break;
+ case GL_INT:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLint);
+ break;
+ case GL_UNSIGNED_INT:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLuint);
+ break;
+ case GL_FLOAT:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLfloat);
+ break;
+ case GL_DOUBLE:
+ gCCPriv->Array.ColorStrideB = stride ? stride : size*sizeof(GLdouble);
+ break;
+ default:
+ gamma_error( GL_INVALID_ENUM, "glColorPointer(type)" );
+ return;
+ }
+ gCCPriv->Array.ColorSize = size;
+ gCCPriv->Array.ColorType = type;
+ gCCPriv->Array.ColorStride = stride;
+ gCCPriv->Array.ColorPtr = (void *) pointer;
}
void _gamma_CopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
@@ -1140,10 +1209,12 @@ void _gamma_CullFace(GLenum mode)
WRITE(gCCPriv->buf, GeometryMode, gCCPriv->GeometryMode);
}
+#if 0 /* Now in dlist.c */
void _gamma_DeleteLists(GLuint list, GLsizei range)
{
DEBUG_GLCMDS(("DeleteLists: %d %d\n", (unsigned int)list, (int)range));
}
+#endif
void _gamma_DeleteTextures(GLsizei n, const GLuint *textures)
{
@@ -1262,7 +1333,7 @@ void _gamma_Disable(GLenum cap)
gCCPriv->Window &= ~W_DepthFCP;
/* Turn depth mode off */
- CHECK_DMA_BUFFER(gCC, gCCPriv, 4);
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 3);
WRITE(gCCPriv->buf, DepthMode, gCCPriv->DepthMode);
WRITE(gCCPriv->buf, DeltaMode, gCCPriv->DeltaMode);
WRITE(gCCPriv->buf, LBReadModeAnd, ~LBReadDstEnable);
@@ -1314,6 +1385,22 @@ void _gamma_Disable(GLenum cap)
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITE(gCCPriv->buf, Light1Mode, gCCPriv->Light1Mode);
break;
+ case GL_LOGIC_OP:
+ gCCPriv->LogicalOpMode &= ~LogicalOpModeEnable;
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
+ WRITE(gCCPriv->buf, LogicalOpMode, gCCPriv->LogicalOpMode);
+ break;
+ case GL_NORMALIZE:
+ gCCPriv->NormalizeMode &= ~NormalizeModeEnable;
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
+ WRITE(gCCPriv->buf, NormalizeMode, gCCPriv->NormalizeMode);
+ WRITE(gCCPriv->buf, TransformModeOr, 0xc);
+ break;
+ case GL_SCISSOR_TEST:
+ gCCPriv->ScissorMode &= ~UserScissorEnable;
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
+ WRITE(gCCPriv->buf, ScissorMode, gCCPriv->ScissorMode);
+ break;
case GL_TEXTURE_2D:
gCCPriv->Texture2DEnabled = GL_FALSE;
gCCPriv->Begin &= ~B_TextureEnable;
@@ -1344,6 +1431,29 @@ void _gamma_Disable(GLenum cap)
void _gamma_DisableClientState(GLenum array)
{
DEBUG_GLCMDS(("DisableClientState: %04x\n", (int)array));
+
+ switch (array) {
+ case GL_VERTEX_ARRAY:
+ gCCPriv->Array.VertexEnabled = GL_FALSE;
+ break;
+ case GL_NORMAL_ARRAY:
+ gCCPriv->Array.NormalEnabled = GL_FALSE;
+ break;
+ case GL_COLOR_ARRAY:
+ gCCPriv->Array.ColorEnabled = GL_FALSE;
+ break;
+ case GL_INDEX_ARRAY:
+ gCCPriv->Array.IndexEnabled = GL_FALSE;
+ break;
+ case GL_TEXTURE_COORD_ARRAY:
+ gCCPriv->Array.TexCoordEnabled = GL_FALSE;
+ break;
+ case GL_EDGE_FLAG_ARRAY:
+ gCCPriv->Array.EdgeFlagEnabled = GL_FALSE;
+ break;
+ default:
+ gamma_error( GL_INVALID_ENUM, "glEnable/DisableClientState" );
+ }
}
void _gamma_DrawArrays(GLenum mode, GLint first, GLsizei count)
@@ -1406,7 +1516,7 @@ void _gamma_Enable(GLenum cap)
#endif
/* Turn depth mode on */
- CHECK_DMA_BUFFER(gCC, gCCPriv, 4);
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 3);
WRITE(gCCPriv->buf, DepthMode, gCCPriv->DepthMode);
WRITE(gCCPriv->buf, DeltaMode, gCCPriv->DeltaMode);
WRITE(gCCPriv->buf, LBReadModeOr, LBReadDstEnable);
@@ -1464,6 +1574,22 @@ void _gamma_Enable(GLenum cap)
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITE(gCCPriv->buf, Light1Mode, gCCPriv->Light1Mode);
break;
+ case GL_LOGIC_OP:
+ gCCPriv->LogicalOpMode |= LogicalOpModeEnable;
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
+ WRITE(gCCPriv->buf, LogicalOpMode, gCCPriv->LogicalOpMode);
+ break;
+ case GL_NORMALIZE:
+ gCCPriv->NormalizeMode |= NormalizeModeEnable;
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
+ WRITE(gCCPriv->buf, NormalizeMode, gCCPriv->NormalizeMode);
+ WRITE(gCCPriv->buf, TransformModeAnd, 0xffffff3f);
+ break;
+ case GL_SCISSOR_TEST:
+ gCCPriv->ScissorMode |= UserScissorEnable;
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
+ WRITE(gCCPriv->buf, ScissorMode, gCCPriv->ScissorMode);
+ break;
case GL_TEXTURE_2D:
gCCPriv->Texture2DEnabled = GL_TRUE;
#ifndef TURN_OFF_TEXTURES
@@ -1496,6 +1622,29 @@ void _gamma_Enable(GLenum cap)
void _gamma_EnableClientState(GLenum array)
{
DEBUG_GLCMDS(("EnableClientState: %04x\n", (int)array));
+
+ switch (array) {
+ case GL_VERTEX_ARRAY:
+ gCCPriv->Array.VertexEnabled = GL_TRUE;
+ break;
+ case GL_NORMAL_ARRAY:
+ gCCPriv->Array.NormalEnabled = GL_TRUE;
+ break;
+ case GL_COLOR_ARRAY:
+ gCCPriv->Array.ColorEnabled = GL_TRUE;
+ break;
+ case GL_INDEX_ARRAY:
+ gCCPriv->Array.IndexEnabled = GL_TRUE;
+ break;
+ case GL_TEXTURE_COORD_ARRAY:
+ gCCPriv->Array.TexCoordEnabled = GL_TRUE;
+ break;
+ case GL_EDGE_FLAG_ARRAY:
+ gCCPriv->Array.EdgeFlagEnabled = GL_TRUE;
+ break;
+ default:
+ gamma_error( GL_INVALID_ENUM, "glEnable/DisableClientState" );
+ }
}
void _gamma_End(void)
@@ -1519,10 +1668,12 @@ void _gamma_End(void)
#endif
}
+#if 0 /* Now in dlist.c */
void _gamma_EndList(void)
{
DEBUG_GLCMDS(("EndList\n"));
}
+#endif
void _gamma_EvalCoord1d(GLdouble u)
{
@@ -1620,8 +1771,10 @@ void _gamma_Fogfv(GLenum pname, const GLfloat *params)
switch (pname) {
case GL_FOG_COLOR:
- color = ((int)params[3]<<24) | ((int)params[2]<<16) |
- ((int)params[1]<<8) | ((int)params[0]);
+ color = (FLOAT_TO_UBYTE(params[3])<<24) |
+ (FLOAT_TO_UBYTE(params[2])<<16) |
+ (FLOAT_TO_UBYTE(params[1])<<8) |
+ (FLOAT_TO_UBYTE(params[0]));
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITE(gCCPriv->buf, FogColor, color);
break;
@@ -1704,12 +1857,14 @@ void _gamma_Frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top
gammaLoadHWMatrix();
}
+#if 0 /* Now in dlist.c */
GLuint _gamma_GenLists(GLsizei range)
{
DEBUG_GLCMDS(("GenLists: %d\n", (int)range));
return GL_TRUE;
}
+#endif
void _gamma_GenTextures(GLsizei n, GLuint *textures)
{
@@ -1718,7 +1873,36 @@ void _gamma_GenTextures(GLsizei n, GLuint *textures)
void _gamma_GetBooleanv(GLenum val, GLboolean *b)
{
+ int loop;
+
DEBUG_GLCMDS(("GetBooleanv: %04x\n", (int)val));
+
+ switch (val) {
+ case GL_CURRENT_COLOR:
+ b[0] = FLOAT_TO_BOOL(gCCPriv->Current.Color[0]);
+ b[1] = FLOAT_TO_BOOL(gCCPriv->Current.Color[1]);
+ b[2] = FLOAT_TO_BOOL(gCCPriv->Current.Color[2]);
+ b[3] = FLOAT_TO_BOOL(gCCPriv->Current.Color[3]);
+ break;
+ case GL_CURRENT_NORMAL:
+ b[0] = FLOAT_TO_BOOL(gCCPriv->Current.Normal[0]);
+ b[1] = FLOAT_TO_BOOL(gCCPriv->Current.Normal[1]);
+ b[2] = FLOAT_TO_BOOL(gCCPriv->Current.Normal[2]);
+ break;
+ case GL_MAX_TEXTURE_SIZE:
+ *b = FLOAT_TO_BOOL(GAMMA_MAX_TEXTURE_SIZE);
+ break;
+ case GL_MODELVIEW_MATRIX:
+ for (loop = 0; loop < 16; loop++)
+ b[loop] = FLOAT_TO_BOOL(gCCPriv->ModelView[loop]);
+ break;
+ case GL_CURRENT_TEXTURE_COORDS:
+ b[0] = FLOAT_TO_BOOL(gCCPriv->Current.TexCoord[0]);
+ b[1] = FLOAT_TO_BOOL(gCCPriv->Current.TexCoord[1]);
+ b[2] = FLOAT_TO_BOOL(gCCPriv->Current.TexCoord[2]);
+ b[3] = FLOAT_TO_BOOL(gCCPriv->Current.TexCoord[3]);
+ break;
+ }
}
void _gamma_GetClipPlane(GLenum plane, GLdouble *equation)
@@ -1729,25 +1913,75 @@ void _gamma_GetClipPlane(GLenum plane, GLdouble *equation)
void _gamma_GetDoublev(GLenum val, GLdouble *d)
{
+ int loop;
+
DEBUG_GLCMDS(("GetDoublev: %04x\n", (int)val));
+
+ switch (val) {
+ case GL_CURRENT_COLOR:
+ d[0] = (GLdouble)gCCPriv->Current.Color[0];
+ d[1] = (GLdouble)gCCPriv->Current.Color[1];
+ d[2] = (GLdouble)gCCPriv->Current.Color[2];
+ d[3] = (GLdouble)gCCPriv->Current.Color[3];
+ break;
+ case GL_CURRENT_NORMAL:
+ d[0] = (GLdouble)gCCPriv->Current.Normal[0];
+ d[1] = (GLdouble)gCCPriv->Current.Normal[1];
+ d[2] = (GLdouble)gCCPriv->Current.Normal[2];
+ break;
+ case GL_MAX_TEXTURE_SIZE:
+ *d = (GLdouble)INT_TO_FLOAT(GAMMA_MAX_TEXTURE_SIZE);
+ break;
+ case GL_MODELVIEW_MATRIX:
+ for (loop = 0; loop < 16; loop++)
+ d[loop] = (GLdouble)gCCPriv->ModelView[loop];
+ break;
+ case GL_CURRENT_TEXTURE_COORDS:
+ d[0] = (GLdouble)gCCPriv->Current.TexCoord[0];
+ d[1] = (GLdouble)gCCPriv->Current.TexCoord[1];
+ d[2] = (GLdouble)gCCPriv->Current.TexCoord[2];
+ d[3] = (GLdouble)gCCPriv->Current.TexCoord[3];
+ break;
+ }
}
GLenum _gamma_GetError(void)
{
DEBUG_GLCMDS(("GetError\n"));
- return 0;
+
+ return gCCPriv->ErrorValue;
}
void _gamma_GetFloatv(GLenum val, GLfloat *f)
{
- int i;
+ int loop;
DEBUG_GLCMDS(("GetFloatv: %04x\n", (int)val));
switch (val) {
+ case GL_CURRENT_COLOR:
+ f[0] = gCCPriv->Current.Color[0];
+ f[1] = gCCPriv->Current.Color[1];
+ f[2] = gCCPriv->Current.Color[2];
+ f[3] = gCCPriv->Current.Color[3];
+ break;
+ case GL_CURRENT_NORMAL:
+ f[0] = gCCPriv->Current.Normal[0];
+ f[1] = gCCPriv->Current.Normal[1];
+ f[2] = gCCPriv->Current.Normal[2];
+ break;
+ case GL_MAX_TEXTURE_SIZE:
+ *f = INT_TO_FLOAT(GAMMA_MAX_TEXTURE_SIZE);
+ break;
case GL_MODELVIEW_MATRIX:
- for (i = 0; i < 16; i++)
- f[i] = gCCPriv->ModelView[i];
+ for (loop = 0; loop < 16; loop++)
+ f[loop] = gCCPriv->ModelView[loop];
+ break;
+ case GL_CURRENT_TEXTURE_COORDS:
+ f[0] = gCCPriv->Current.TexCoord[0];
+ f[1] = gCCPriv->Current.TexCoord[1];
+ f[2] = gCCPriv->Current.TexCoord[2];
+ f[3] = gCCPriv->Current.TexCoord[3];
break;
default:
break;
@@ -1756,11 +1990,34 @@ void _gamma_GetFloatv(GLenum val, GLfloat *f)
void _gamma_GetIntegerv(GLenum val, GLint *i)
{
+ int loop;
+
DEBUG_GLCMDS(("GetIntegerv: %04x\n", (int)val));
switch (val) {
+ case GL_CURRENT_COLOR:
+ i[0] = FLOAT_TO_INT(gCCPriv->Current.Color[0]);
+ i[1] = FLOAT_TO_INT(gCCPriv->Current.Color[1]);
+ i[2] = FLOAT_TO_INT(gCCPriv->Current.Color[2]);
+ i[3] = FLOAT_TO_INT(gCCPriv->Current.Color[3]);
+ break;
+ case GL_CURRENT_NORMAL:
+ i[0] = FLOAT_TO_INT(gCCPriv->Current.Normal[0]);
+ i[1] = FLOAT_TO_INT(gCCPriv->Current.Normal[1]);
+ i[2] = FLOAT_TO_INT(gCCPriv->Current.Normal[2]);
+ break;
case GL_MAX_TEXTURE_SIZE:
- *i = 2048;
+ *i = GAMMA_MAX_TEXTURE_SIZE;
+ break;
+ case GL_MODELVIEW_MATRIX:
+ for (loop = 0; loop < 16; loop++)
+ i[loop] = FLOAT_TO_INT(gCCPriv->ModelView[loop]);
+ break;
+ case GL_CURRENT_TEXTURE_COORDS:
+ i[0] = FLOAT_TO_INT(gCCPriv->Current.TexCoord[0]);
+ i[1] = FLOAT_TO_INT(gCCPriv->Current.TexCoord[1]);
+ i[2] = FLOAT_TO_INT(gCCPriv->Current.TexCoord[2]);
+ i[3] = FLOAT_TO_INT(gCCPriv->Current.TexCoord[3]);
break;
}
}
@@ -1967,12 +2224,14 @@ GLboolean _gamma_IsEnabled(GLenum cap)
return GL_TRUE;
}
+#if 0 /* Now in dlist.c */
GLboolean _gamma_IsList(GLuint list)
{
DEBUG_GLCMDS(("IsList: %04x\n", (unsigned int)list));
return GL_TRUE;
}
+#endif
GLboolean _gamma_IsTexture(GLuint texture)
{
@@ -2001,7 +2260,7 @@ void _gamma_LightModelfv(GLenum pname, const GLfloat *params)
WRITEF(gCCPriv->buf, SceneAmbientColorRed, params[0]);
break;
case GL_LIGHT_MODEL_LOCAL_VIEWER:
- if ((int)params[0] != 0)
+ if (params[0] != 0.0)
gCCPriv->LightingMode |= LightingModeLocalViewer;
else
gCCPriv->LightingMode &= ~LightingModeLocalViewer;
@@ -2009,7 +2268,7 @@ void _gamma_LightModelfv(GLenum pname, const GLfloat *params)
WRITE(gCCPriv->buf, LightingMode, gCCPriv->LightingMode);
break;
case GL_LIGHT_MODEL_TWO_SIDE:
- if ((int)params[0] != 0) {
+ if (params[0] == 1.0f) {
gCCPriv->LightingMode |= LightingModeTwoSides;
gCCPriv->MaterialMode |= MaterialModeTwoSides;
} else {
@@ -2039,7 +2298,7 @@ void _gamma_Lightf(GLenum light, GLenum pname, GLfloat param)
void _gamma_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
{
- GLfloat l,x,y,z;
+ GLfloat l,x,y,z,w;
DEBUG_GLCMDS(("Lightfv: %04x %04x %f\n",
(int)light, (int)pname, *params));
@@ -2069,12 +2328,13 @@ void _gamma_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
break;
case GL_POSITION:
/* Normalize <x,y,z> */
- x = params[0]; y = params[1]; z = params[2];
- l = sqrt(x*x + y*y + z*z);
+ x = params[0]; y = params[1]; z = params[2]; w = params[3];
+ l = sqrt(x*x + y*y + z*z + w*w);
+ w /= l;
x /= l;
y /= l;
z /= l;
- if ((int)params[3] != 0) {
+ if (params[3] != 0.0) {
gCCPriv->Light0Mode |= Light0ModeAttenuation;
gCCPriv->Light0Mode |= Light0ModeLocal;
} else {
@@ -2083,30 +2343,30 @@ void _gamma_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
}
CHECK_DMA_BUFFER(gCC, gCCPriv, 5);
WRITE(gCCPriv->buf, Light0Mode, gCCPriv->Light0Mode);
- WRITEF(gCCPriv->buf, Light0PositionW, params[3]);
+ WRITEF(gCCPriv->buf, Light0PositionW, w);
WRITEF(gCCPriv->buf, Light0PositionZ, z);
WRITEF(gCCPriv->buf, Light0PositionY, y);
WRITEF(gCCPriv->buf, Light0PositionX, x);
break;
case GL_SPOT_DIRECTION:
CHECK_DMA_BUFFER(gCC, gCCPriv, 3);
- WRITEF(gCCPriv->buf, Light0SpotlightDirectionZ, params[3]);
- WRITEF(gCCPriv->buf, Light0SpotlightDirectionY, params[2]);
- WRITEF(gCCPriv->buf, Light0SpotlightDirectionX, params[1]);
- /* WRITEF(gCCPriv->buf, Light0SpotlightDirectionW, params[0]); */
+ /* WRITEF(gCCPriv->buf, Light0SpotlightDirectionW, params[3]); */
+ WRITEF(gCCPriv->buf, Light0SpotlightDirectionZ, params[2]);
+ WRITEF(gCCPriv->buf, Light0SpotlightDirectionY, params[1]);
+ WRITEF(gCCPriv->buf, Light0SpotlightDirectionX, params[0]);
break;
case GL_SPOT_EXPONENT:
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITEF(gCCPriv->buf, Light0SpotlightExponent, params[0]);
break;
case GL_SPOT_CUTOFF:
- if ((int)params[0] != -1)
+ if (params[0] != 180.0)
gCCPriv->Light0Mode |= Light0ModeSpotLight;
else
gCCPriv->Light0Mode &= ~Light0ModeSpotLight;
CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
WRITE(gCCPriv->buf, Light0Mode, gCCPriv->Light0Mode);
- WRITEF(gCCPriv->buf, Light0CosSpotlightCutoffAngle, params[0]);
+ WRITEF(gCCPriv->buf, Light0CosSpotlightCutoffAngle, cos(params[0]*DEG2RAD));
break;
case GL_CONSTANT_ATTENUATION:
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
@@ -2152,7 +2412,7 @@ void _gamma_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
x /= l;
y /= l;
z /= l;
- if ((int)params[3] != 0) {
+ if (params[3] != 0.0) {
gCCPriv->Light1Mode |= Light1ModeAttenuation;
gCCPriv->Light1Mode |= Light1ModeLocal;
} else {
@@ -2168,23 +2428,23 @@ void _gamma_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
break;
case GL_SPOT_DIRECTION:
CHECK_DMA_BUFFER(gCC, gCCPriv, 3);
- WRITEF(gCCPriv->buf, Light1SpotlightDirectionZ, params[3]);
- WRITEF(gCCPriv->buf, Light1SpotlightDirectionY, params[2]);
- WRITEF(gCCPriv->buf, Light1SpotlightDirectionX, params[1]);
- /* WRITEF(gCCPriv->buf, Light1SpotlightDirectionW, params[0]); */
+ /* WRITEF(gCCPriv->buf, Light1SpotlightDirectionW, params[3]); */
+ WRITEF(gCCPriv->buf, Light1SpotlightDirectionZ, params[2]);
+ WRITEF(gCCPriv->buf, Light1SpotlightDirectionY, params[1]);
+ WRITEF(gCCPriv->buf, Light1SpotlightDirectionX, params[0]);
break;
case GL_SPOT_EXPONENT:
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITEF(gCCPriv->buf, Light1SpotlightExponent, params[0]);
break;
case GL_SPOT_CUTOFF:
- if ((int)params[0] != -1)
+ if (params[0] != 180.0)
gCCPriv->Light1Mode |= Light1ModeSpotLight;
else
gCCPriv->Light1Mode &= ~Light1ModeSpotLight;
CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
WRITE(gCCPriv->buf, Light1Mode, gCCPriv->Light1Mode);
- WRITEF(gCCPriv->buf, Light1CosSpotlightCutoffAngle, params[0]);
+ WRITEF(gCCPriv->buf, Light1CosSpotlightCutoffAngle, cos(params[0]*DEG2RAD));
break;
case GL_CONSTANT_ATTENUATION:
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
@@ -2220,10 +2480,12 @@ void _gamma_LineWidth(GLfloat width)
DEBUG_GLCMDS(("LineWidth: %f\n", width));
}
+#if 0 /* Now in dlist.c */
void _gamma_ListBase(GLuint base)
{
DEBUG_GLCMDS(("ListBase: %d\n", (unsigned int)base));
}
+#endif
void _gamma_LoadIdentity(void)
{
@@ -2261,6 +2523,13 @@ void _gamma_LoadName(GLuint name)
void _gamma_LogicOp(GLenum opcode)
{
DEBUG_GLCMDS(("LogicOp: %04x\n", (int)opcode));
+
+ gCCPriv->LogicalOpMode &= ~LogicalOpModeMask;
+
+ gCCPriv->LogicalOpMode |= (opcode & 0x0f) << 1;
+
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
+ WRITE(gCCPriv->buf, LogicalOpMode, gCCPriv->LogicalOpMode);
}
void _gamma_Map1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *pnts)
@@ -2318,6 +2587,8 @@ void _gamma_MapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GL
void _gamma_Materialf(GLenum face, GLenum pname, GLfloat param)
{
DEBUG_GLCMDS(("Materialf: %04x %04x %f\n", (int)face, (int)pname, param));
+
+ _gamma_Materialfv(face, pname, &param);
}
void _gamma_Materialfv(GLenum face, GLenum pname, const GLfloat *params)
@@ -2453,7 +2724,6 @@ void _gamma_MatrixMode(GLenum mode)
/* ERROR!!! */
break;
}
-
}
void _gamma_MultMatrixd(const GLdouble *m)
@@ -2476,15 +2746,15 @@ void _gamma_MultMatrixf(const GLfloat *m)
gammaLoadHWMatrix();
}
+#if 0 /* Now in dlist.c */
void _gamma_NewList(GLuint list, GLenum mode)
{
DEBUG_GLCMDS(("NewList: %d %04x\n", (unsigned int)list, (int)mode));
}
+#endif
void _gamma_Normal3b(GLbyte nx, GLbyte ny, GLbyte nz)
{
- GLfloat x,y,z;
-
DEBUG_GLCMDS(("Normal3b: %d %d %d\n", nx, ny, nz));
_gamma_Normal3f((GLfloat)nx,(GLfloat)ny,(GLfloat)nz);
@@ -2492,8 +2762,6 @@ void _gamma_Normal3b(GLbyte nx, GLbyte ny, GLbyte nz)
void _gamma_Normal3bv(const GLbyte *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Normal3bv: %d %d %d\n", v[0], v[1], v[2]));
_gamma_Normal3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
@@ -2517,6 +2785,10 @@ void _gamma_Normal3f(GLfloat nx, GLfloat ny, GLfloat nz)
{
DEBUG_GLCMDS(("Normal3f: %f %f %f\n", nx, ny, nz));
+ gCCPriv->Current.Normal[0] = nx;
+ gCCPriv->Current.Normal[1] = ny;
+ gCCPriv->Current.Normal[2] = nz;
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 3);
WRITEF(gCCPriv->buf, Nz, nz);
WRITEF(gCCPriv->buf, Ny, ny);
@@ -2532,8 +2804,6 @@ void _gamma_Normal3fv(const GLfloat *v)
void _gamma_Normal3i(GLint nx, GLint ny, GLint nz)
{
- GLfloat x,y,z;
-
DEBUG_GLCMDS(("Normal3i: %d %d %d\n", (int)nx, (int)ny, (int)nz));
_gamma_Normal3f((GLfloat)nx,(GLfloat)ny,(GLfloat)nz);
@@ -2541,8 +2811,6 @@ void _gamma_Normal3i(GLint nx, GLint ny, GLint nz)
void _gamma_Normal3iv(const GLint *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Normal3iv: %d %d %d\n", (int)v[0], (int)v[1], (int)v[2]));
_gamma_Normal3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
@@ -2550,8 +2818,6 @@ void _gamma_Normal3iv(const GLint *v)
void _gamma_Normal3s(GLshort nx, GLshort ny, GLshort nz)
{
- GLfloat x,y,z;
-
DEBUG_GLCMDS(("Normal3s: %d %d %d\n", nx, ny, nz));
_gamma_Normal3f((GLfloat)nx,(GLfloat)ny,(GLfloat)nz);
@@ -2559,8 +2825,6 @@ void _gamma_Normal3s(GLshort nx, GLshort ny, GLshort nz)
void _gamma_Normal3sv(const GLshort *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Normal3sv: %d %d %d\n", v[0], v[1], v[2]));
_gamma_Normal3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
@@ -2569,6 +2833,34 @@ void _gamma_Normal3sv(const GLshort *v)
void _gamma_NormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
{
DEBUG_GLCMDS(("NormalPointer: %04x %d\n", (int)type, (int)stride));
+
+ if (stride<0) {
+ gamma_error( GL_INVALID_VALUE, "glNormalPointer(stride)" );
+ return;
+ }
+ switch (type) {
+ case GL_BYTE:
+ gCCPriv->Array.NormalStrideB = stride ? stride : 3*sizeof(GLbyte);
+ break;
+ case GL_SHORT:
+ gCCPriv->Array.NormalStrideB = stride ? stride : 3*sizeof(GLshort);
+ break;
+ case GL_INT:
+ gCCPriv->Array.NormalStrideB = stride ? stride : 3*sizeof(GLint);
+ break;
+ case GL_FLOAT:
+ gCCPriv->Array.NormalStrideB = stride ? stride : 3*sizeof(GLfloat);
+ break;
+ case GL_DOUBLE:
+ gCCPriv->Array.NormalStrideB = stride ? stride : 3*sizeof(GLdouble);
+ break;
+ default:
+ gamma_error( GL_INVALID_ENUM, "glNormalPointer(type)" );
+ return;
+ }
+ gCCPriv->Array.NormalType = type;
+ gCCPriv->Array.NormalStride = stride;
+ gCCPriv->Array.NormalPtr = (void *) pointer;
}
void _gamma_Ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
@@ -2844,22 +3136,38 @@ void _gamma_PushName(GLuint name)
void _gamma_RasterPos2d(GLdouble x, GLdouble y)
{
+ DEBUG_GLCMDS(("RasterPos2d: %f %f\n", x, y));
+
+ _gamma_RasterPos2f((GLfloat)x,(GLfloat)y);
}
void _gamma_RasterPos2dv(const GLdouble *v)
{
+ _gamma_RasterPos2f((GLfloat)v[0],(GLfloat)v[1]);
}
void _gamma_RasterPos2f(GLfloat x, GLfloat y)
{
+ DEBUG_GLCMDS(("RasterPos2f: %f %f\n", x, y));
+
+ gCCPriv->Current.RasterPos[0] = x;
+ gCCPriv->Current.RasterPos[1] = y;
+ gCCPriv->Current.RasterPos[2] = 0.0f;
+ gCCPriv->Current.RasterPos[3] = 1.0f;
+
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
+ WRITEF(gCCPriv->buf, RPy, y);
+ WRITEF(gCCPriv->buf, RPx2, x);
}
void _gamma_RasterPos2fv(const GLfloat *v)
{
+ _gamma_RasterPos2f(v[0],v[1]);
}
void _gamma_RasterPos2i(GLint x, GLint y)
{
+ _gamma_RasterPos2f((GLfloat)x,(GLfloat)y);
}
void _gamma_RasterPos2iv(const GLint *v)
@@ -3118,8 +3426,21 @@ void _gamma_Scalef(GLfloat x, GLfloat y, GLfloat z)
void _gamma_Scissor(GLint x, GLint y, GLsizei width, GLsizei height)
{
+ GLint x1, y1, x2, y2;
+
DEBUG_GLCMDS(("Scissor: %d %d %d %d\n",
(int)x, (int)y, (int)width, (int)height));
+
+ x1 = gCC->driDrawablePriv->x + x;
+ y1 = gCC->driScreenPriv->fbHeight -
+ (gCC->driDrawablePriv->y +
+ gCC->driDrawablePriv->h) + y;
+ x2 = x1 + width;
+ y2 = y1 + height;
+
+ CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
+ WRITE(gCCPriv->buf, ScissorMinXY, (y1&0xffff)<<16 | (x1&0xffff));
+ WRITE(gCCPriv->buf, ScissorMaxXY, (y2&0xffff)<<16 | (x2&0xffff));
}
void _gamma_SelectBuffer(GLsizei numnames, GLuint *buffer)
@@ -3188,6 +3509,11 @@ void _gamma_TexCoord1f(GLfloat s)
{
DEBUG_GLCMDS(("TexCoord1f: %f\n", s));
+ gCCPriv->Current.TexCoord[0] = s;
+ gCCPriv->Current.TexCoord[1] = 0.0f;
+ gCCPriv->Current.TexCoord[2] = 0.0f;
+ gCCPriv->Current.TexCoord[3] = 1.0f;
+
WRITEF(gCCPriv->buf, Ts1, s);
}
@@ -3195,6 +3521,11 @@ void _gamma_TexCoord1fv(const GLfloat *v)
{
DEBUG_GLCMDS(("TexCoord1fv: %f\n", *v));
+ gCCPriv->Current.TexCoord[0] = v[0];
+ gCCPriv->Current.TexCoord[1] = 0.0f;
+ gCCPriv->Current.TexCoord[2] = 0.0f;
+ gCCPriv->Current.TexCoord[3] = 1.0f;
+
WRITEF(gCCPriv->buf, Ts1, v[0]);
}
@@ -3260,6 +3591,11 @@ void _gamma_TexCoord2f(GLfloat s, GLfloat t)
{
DEBUG_GLCMDS(("TexCoord2f: %f %f\n", s, t));
+ gCCPriv->Current.TexCoord[0] = s;
+ gCCPriv->Current.TexCoord[1] = t;
+ gCCPriv->Current.TexCoord[2] = 0.0f;
+ gCCPriv->Current.TexCoord[3] = 1.0f;
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
WRITEF(gCCPriv->buf, Tt2, t);
WRITEF(gCCPriv->buf, Ts2, s);
@@ -3269,6 +3605,11 @@ void _gamma_TexCoord2fv(const GLfloat *v)
{
DEBUG_GLCMDS(("TexCoord2fv: %f %f\n", v[0], v[1]));
+ gCCPriv->Current.TexCoord[0] = v[0];
+ gCCPriv->Current.TexCoord[1] = v[1];
+ gCCPriv->Current.TexCoord[2] = 0.0f;
+ gCCPriv->Current.TexCoord[3] = 1.0f;
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 2);
WRITEF(gCCPriv->buf, Tt2, v[1]);
WRITEF(gCCPriv->buf, Ts2, v[0]);
@@ -3429,6 +3770,11 @@ void _gamma_TexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
{
DEBUG_GLCMDS(("TexCoord4f: %f %f %f %f\n", s, t, r, q));
+ gCCPriv->Current.TexCoord[0] = s;
+ gCCPriv->Current.TexCoord[1] = t;
+ gCCPriv->Current.TexCoord[2] = t;
+ gCCPriv->Current.TexCoord[3] = q;
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 4);
WRITEF(gCCPriv->buf, Tq4, q);
WRITEF(gCCPriv->buf, Tr4, r);
@@ -3440,6 +3786,11 @@ void _gamma_TexCoord4fv(const GLfloat *v)
{
DEBUG_GLCMDS(("TexCoord4fv: %f %f %f %f\n", v[0], v[1], v[2], v[3]));
+ gCCPriv->Current.TexCoord[0] = v[0];
+ gCCPriv->Current.TexCoord[1] = v[1];
+ gCCPriv->Current.TexCoord[2] = v[2];
+ gCCPriv->Current.TexCoord[3] = v[3];
+
CHECK_DMA_BUFFER(gCC, gCCPriv, 4);
WRITEF(gCCPriv->buf, Tq4, v[3]);
WRITEF(gCCPriv->buf, Tr4, v[2]);
@@ -3508,6 +3859,36 @@ void _gamma_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoi
{
DEBUG_GLCMDS(("TexCoordPointer: %d %04x %d\n",
(int)size, (int)type, (int)stride));
+
+ if (size<1 || size>4) {
+ gamma_error( GL_INVALID_VALUE, "glTexCoordPointer(size)" );
+ return;
+ }
+ if (stride<0) {
+ gamma_error( GL_INVALID_VALUE, "glTexCoordPointer(stride)" );
+ return;
+ }
+ switch (type) {
+ case GL_SHORT:
+ gCCPriv->Array.TexCoordStrideB = stride ? stride : size*sizeof(GLshort);
+ break;
+ case GL_INT:
+ gCCPriv->Array.TexCoordStrideB = stride ? stride : size*sizeof(GLint);
+ break;
+ case GL_FLOAT:
+ gCCPriv->Array.TexCoordStrideB = stride ? stride : size*sizeof(GLfloat);
+ break;
+ case GL_DOUBLE:
+ gCCPriv->Array.TexCoordStrideB = stride ? stride : size*sizeof(GLdouble);
+ break;
+ default:
+ gamma_error( GL_INVALID_ENUM, "glTexCoordPointer(type)" );
+ return;
+ }
+ gCCPriv->Array.TexCoordSize = size;
+ gCCPriv->Array.TexCoordType = type;
+ gCCPriv->Array.TexCoordStride = stride;
+ gCCPriv->Array.TexCoordPtr = (void *) pointer;
}
void _gamma_TexEnvf(GLenum target, GLenum pname, GLfloat param)
@@ -4158,8 +4539,6 @@ void _gamma_Vertex2fv(const GLfloat *v)
void _gamma_Vertex2i(GLint x, GLint y)
{
- GLfloat a,b;
-
DEBUG_GLCMDS(("Vertex2i: %d %d\n", (int)x, (int)y));
_gamma_Vertex2f((GLfloat)x,(GLfloat)y);
@@ -4167,8 +4546,6 @@ void _gamma_Vertex2i(GLint x, GLint y)
void _gamma_Vertex2iv(const GLint *v)
{
- GLfloat p[2];
-
DEBUG_GLCMDS(("Vertex2iv: %d %d\n", (int)v[0], (int)v[1]));
_gamma_Vertex2f((GLfloat)v[0],(GLfloat)v[1]);
@@ -4176,8 +4553,6 @@ void _gamma_Vertex2iv(const GLint *v)
void _gamma_Vertex2s(GLshort x, GLshort y)
{
- GLfloat a,b;
-
DEBUG_GLCMDS(("Vertex2s: %d %d\n", x, y));
_gamma_Vertex2f((GLfloat)x,(GLfloat)y);
@@ -4185,8 +4560,6 @@ void _gamma_Vertex2s(GLshort x, GLshort y)
void _gamma_Vertex2sv(const GLshort *v)
{
- GLfloat p[2];
-
DEBUG_GLCMDS(("Vertex2sv: %d %d\n", v[0], v[1]));
_gamma_Vertex2f((GLfloat)v[0],(GLfloat)v[1]);
@@ -4225,8 +4598,6 @@ void _gamma_Vertex3fv(const GLfloat *v)
void _gamma_Vertex3i(GLint x, GLint y, GLint z)
{
- GLfloat a,b,c;
-
DEBUG_GLCMDS(("Vertex3i: %d %d %d\n", (int)x, (int)y, (int)z));
_gamma_Vertex3f((GLfloat)x,(GLfloat)y,(GLfloat)z);
@@ -4234,8 +4605,6 @@ void _gamma_Vertex3i(GLint x, GLint y, GLint z)
void _gamma_Vertex3iv(const GLint *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Vertex3iv: %d %d %d\n", (int)v[0], (int)v[1], (int)v[2]));
_gamma_Vertex3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
@@ -4243,8 +4612,6 @@ void _gamma_Vertex3iv(const GLint *v)
void _gamma_Vertex3s(GLshort x, GLshort y, GLshort z)
{
- GLfloat a,b,c;
-
DEBUG_GLCMDS(("Vertex3s: %d %d %d\n", x, y, z));
_gamma_Vertex3f((GLfloat)x,(GLfloat)y,(GLfloat)z);
@@ -4252,8 +4619,6 @@ void _gamma_Vertex3s(GLshort x, GLshort y, GLshort z)
void _gamma_Vertex3sv(const GLshort *v)
{
- GLfloat p[3];
-
DEBUG_GLCMDS(("Vertex3sv: %d %d %d\n", v[0], v[1], v[2]));
_gamma_Vertex3f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2]);
@@ -4293,8 +4658,6 @@ void _gamma_Vertex4fv(const GLfloat *v)
void _gamma_Vertex4i(GLint x, GLint y, GLint z, GLint w)
{
- GLfloat a,b,c,d;
-
DEBUG_GLCMDS(("Vertex4i: %d %d %d %d\n", (int)x, (int)y, (int)z, (int)w));
_gamma_Vertex4f((GLfloat)x,(GLfloat)y,(GLfloat)z,(GLfloat)w);
@@ -4302,8 +4665,6 @@ void _gamma_Vertex4i(GLint x, GLint y, GLint z, GLint w)
void _gamma_Vertex4iv(const GLint *v)
{
- GLfloat p[4];
-
DEBUG_GLCMDS(("Vertex4iv: %d %d %d %d\n",
(int)v[0], (int)v[1], (int)v[2], (int)v[3]));
@@ -4312,8 +4673,6 @@ void _gamma_Vertex4iv(const GLint *v)
void _gamma_Vertex4s(GLshort x, GLshort y, GLshort z, GLshort w)
{
- GLfloat a,b,c,d;
-
DEBUG_GLCMDS(("Vertex4s: %d %d %d %d\n", x, y, z, w));
_gamma_Vertex4f((GLfloat)x,(GLfloat)y,(GLfloat)z,(GLfloat)w);
@@ -4321,8 +4680,6 @@ void _gamma_Vertex4s(GLshort x, GLshort y, GLshort z, GLshort w)
void _gamma_Vertex4sv(const GLshort *v)
{
- GLfloat p[4];
-
DEBUG_GLCMDS(("Vertex4sv: %d %d %d %d\n", v[0], v[1], v[2], v[3]));
_gamma_Vertex4f((GLfloat)v[0],(GLfloat)v[1],(GLfloat)v[2],(GLfloat)v[3]);
@@ -4332,6 +4689,36 @@ void _gamma_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid
{
DEBUG_GLCMDS(("VertexPointer: %d %04x %d\n",
(int)size, (int)type, (int)stride));
+
+ if (size<2 || size>4) {
+ gamma_error( GL_INVALID_VALUE, "glVertexPointer(size)" );
+ return;
+ }
+ if (stride<0) {
+ gamma_error( GL_INVALID_VALUE, "glVertexPointer(stride)" );
+ return;
+ }
+ switch (type) {
+ case GL_SHORT:
+ gCCPriv->Array.VertexStrideB = stride ? stride : size*sizeof(GLshort);
+ break;
+ case GL_INT:
+ gCCPriv->Array.VertexStrideB = stride ? stride : size*sizeof(GLint);
+ break;
+ case GL_FLOAT:
+ gCCPriv->Array.VertexStrideB = stride ? stride : size*sizeof(GLfloat);
+ break;
+ case GL_DOUBLE:
+ gCCPriv->Array.VertexStrideB = stride ? stride : size*sizeof(GLdouble);
+ break;
+ default:
+ gamma_error( GL_INVALID_ENUM, "glVertexPointer(type)" );
+ return;
+ }
+ gCCPriv->Array.VertexSize = size;
+ gCCPriv->Array.VertexType = type;
+ gCCPriv->Array.VertexStride = stride;
+ gCCPriv->Array.VertexPtr = (void *) pointer;
}
void _gamma_Viewport(GLint x, GLint y, GLsizei width, GLsizei height)
@@ -4357,10 +4744,10 @@ void _gamma_Viewport(GLint x, GLint y, GLsizei width, GLsizei height)
oy = y + sy;
CHECK_DMA_BUFFER(gCC, gCCPriv, 4);
- WRITEF(gCCPriv->buf, ViewPortScaleX, sx);
- WRITEF(gCCPriv->buf, ViewPortScaleY, sy);
WRITEF(gCCPriv->buf, ViewPortOffsetX, ox);
WRITEF(gCCPriv->buf, ViewPortOffsetY, oy);
+ WRITEF(gCCPriv->buf, ViewPortScaleX, sx);
+ WRITEF(gCCPriv->buf, ViewPortScaleY, sy);
#if 1 /* Err - this shouldn't be needed, but something isn't flushing */
FLUSH_DMA_BUFFER(gCC,gCCPriv);
#endif
@@ -4395,7 +4782,7 @@ init_no_op_table(struct _glapi_table *table)
void
-_gamma_init_dispatch(struct _glapi_table *dispatch)
+_gamma_init_exec(struct _glapi_table *dispatch)
{
init_no_op_table(dispatch);
@@ -4710,7 +5097,7 @@ _gamma_init_dispatch(struct _glapi_table *dispatch)
/* 1.1 */
dispatch->AreTexturesResident = _gamma_AreTexturesResident;
- dispatch->ArrayElement = _gamma_ArrayElement;
+ dispatch->ArrayElement = gl_save_ArrayElement; /*_gamma_ArrayElement;*/
dispatch->BindTexture = _gamma_BindTexture;
dispatch->ColorPointer = _gamma_ColorPointer;
dispatch->CopyTexImage1D = _gamma_CopyTexImage1D;
@@ -4740,5 +5127,186 @@ _gamma_init_dispatch(struct _glapi_table *dispatch)
dispatch->VertexPointer = _gamma_VertexPointer;
}
-
+void
+_gamma_init_save(struct _glapi_table *table)
+{
+ init_no_op_table(table);
+
+ table->Accum = gl_save_Accum;
+ table->AlphaFunc = gl_save_AlphaFunc;
+ table->AreTexturesResident = _gamma_AreTexturesResident; /* NOT SAVED */
+ table->ArrayElement = gl_save_ArrayElement;
+ table->Begin = gl_save_Begin;
+ table->BindTexture = gl_save_BindTexture;
+ table->Bitmap = gl_save_Bitmap;
+ table->BlendFunc = gl_save_BlendFunc;
+ table->CallList = gl_save_CallList;
+ table->CallLists = gl_save_CallLists;
+ table->Clear = gl_save_Clear;
+ table->ClearAccum = gl_save_ClearAccum;
+ table->ClearColor = gl_save_ClearColor;
+ table->ClearDepth = gl_save_ClearDepth;
+ table->ClearIndex = gl_save_ClearIndex;
+ table->ClearStencil = gl_save_ClearStencil;
+ table->ClipPlane = gl_save_ClipPlane;
+ table->Color3f = gl_save_Color3f;
+ table->Color3fv = gl_save_Color3fv;
+ table->Color4f = gl_save_Color4f;
+ table->Color4fv = gl_save_Color4fv;
+ table->Color4ub = gl_save_Color4ub;
+ table->Color4ubv = gl_save_Color4ubv;
+ table->ColorMask = gl_save_ColorMask;
+ table->ColorMaterial = gl_save_ColorMaterial;
+ table->ColorPointer = _gamma_ColorPointer; /* NOT SAVED */
+ table->CopyPixels = gl_save_CopyPixels;
+ table->CopyTexImage1D = gl_save_CopyTexImage1D;
+ table->CopyTexImage2D = gl_save_CopyTexImage2D;
+ table->CopyTexSubImage1D = gl_save_CopyTexSubImage1D;
+ table->CopyTexSubImage2D = gl_save_CopyTexSubImage2D;
+ table->CullFace = gl_save_CullFace;
+ table->DeleteLists = _gamma_DeleteLists; /* NOT SAVED */
+ table->DeleteTextures = _gamma_DeleteTextures; /* NOT SAVED */
+ table->DepthFunc = gl_save_DepthFunc;
+ table->DepthMask = gl_save_DepthMask;
+ table->DepthRange = gl_save_DepthRange;
+ table->Disable = gl_save_Disable;
+ table->DisableClientState = _gamma_DisableClientState; /* NOT SAVED */
+ table->DrawArrays = gl_save_DrawArrays;
+ table->DrawBuffer = gl_save_DrawBuffer;
+ table->DrawElements = gl_save_DrawElements;
+ table->DrawPixels = gl_save_DrawPixels;
+ table->EdgeFlag = gl_save_EdgeFlag;
+ table->EdgeFlagPointer = _gamma_EdgeFlagPointer; /* NOT SAVED */
+ table->Enable = gl_save_Enable;
+ table->EnableClientState = _gamma_EnableClientState; /* NOT SAVED */
+ table->End = gl_save_End;
+ table->EndList = _gamma_EndList; /* NOT SAVED */
+ table->EvalCoord1f = gl_save_EvalCoord1f;
+ table->EvalCoord2f = gl_save_EvalCoord2f;
+ table->EvalMesh1 = gl_save_EvalMesh1;
+ table->EvalMesh2 = gl_save_EvalMesh2;
+ table->EvalPoint1 = gl_save_EvalPoint1;
+ table->EvalPoint2 = gl_save_EvalPoint2;
+ table->FeedbackBuffer = _gamma_FeedbackBuffer; /* NOT SAVED */
+ table->Finish = _gamma_Finish; /* NOT SAVED */
+ table->Flush = _gamma_Flush; /* NOT SAVED */
+ table->Fogfv = gl_save_Fogfv;
+ table->FrontFace = gl_save_FrontFace;
+ table->Frustum = gl_save_Frustum;
+ table->GenLists = _gamma_GenLists; /* NOT SAVED */
+ table->GenTextures = _gamma_GenTextures; /* NOT SAVED */
+
+ /* NONE OF THESE COMMANDS ARE COMPILED INTO DISPLAY LISTS */
+ table->GetBooleanv = _gamma_GetBooleanv;
+ table->GetClipPlane = _gamma_GetClipPlane;
+ table->GetDoublev = _gamma_GetDoublev;
+ table->GetError = _gamma_GetError;
+ table->GetFloatv = _gamma_GetFloatv;
+ table->GetIntegerv = _gamma_GetIntegerv;
+ table->GetString = _gamma_GetString;
+ table->GetLightfv = _gamma_GetLightfv;
+ table->GetLightiv = _gamma_GetLightiv;
+ table->GetMapdv = _gamma_GetMapdv;
+ table->GetMapfv = _gamma_GetMapfv;
+ table->GetMapiv = _gamma_GetMapiv;
+ table->GetMaterialfv = _gamma_GetMaterialfv;
+ table->GetMaterialiv = _gamma_GetMaterialiv;
+ table->GetPixelMapfv = _gamma_GetPixelMapfv;
+ table->GetPixelMapuiv = _gamma_GetPixelMapuiv;
+ table->GetPixelMapusv = _gamma_GetPixelMapusv;
+ table->GetPointerv = _gamma_GetPointerv;
+ table->GetPolygonStipple = _gamma_GetPolygonStipple;
+ table->GetTexEnvfv = _gamma_GetTexEnvfv;
+ table->GetTexEnviv = _gamma_GetTexEnviv;
+ table->GetTexGendv = _gamma_GetTexGendv;
+ table->GetTexGenfv = _gamma_GetTexGenfv;
+ table->GetTexGeniv = _gamma_GetTexGeniv;
+ table->GetTexImage = _gamma_GetTexImage;
+ table->GetTexLevelParameterfv = _gamma_GetTexLevelParameterfv;
+ table->GetTexLevelParameteriv = _gamma_GetTexLevelParameteriv;
+ table->GetTexParameterfv = _gamma_GetTexParameterfv;
+ table->GetTexParameteriv = _gamma_GetTexParameteriv;
+
+ table->Hint = gl_save_Hint;
+ table->IndexMask = gl_save_IndexMask;
+ table->Indexf = gl_save_Indexf;
+ table->Indexi = gl_save_Indexi;
+ table->IndexPointer = _gamma_IndexPointer; /* NOT SAVED */
+ table->InitNames = gl_save_InitNames;
+ table->InterleavedArrays = _gamma_InterleavedArrays; /* NOT SAVED */
+ table->IsEnabled = _gamma_IsEnabled; /* NOT SAVED */
+ table->IsTexture = _gamma_IsTexture; /* NOT SAVED */
+ table->IsList = _gamma_IsList; /* NOT SAVED */
+ table->LightModelfv = gl_save_LightModelfv;
+ table->Lightfv = gl_save_Lightfv;
+ table->LineStipple = gl_save_LineStipple;
+ table->LineWidth = gl_save_LineWidth;
+ table->ListBase = gl_save_ListBase;
+ table->LoadIdentity = gl_save_LoadIdentity;
+ table->LoadMatrixf = gl_save_LoadMatrixf;
+ table->LoadName = gl_save_LoadName;
+ table->LogicOp = gl_save_LogicOp;
+ table->Map1f = gl_save_Map1f;
+ table->Map2f = gl_save_Map2f;
+ table->MapGrid1f = gl_save_MapGrid1f;
+ table->MapGrid2f = gl_save_MapGrid2f;
+ table->Materialfv = gl_save_Materialfv;
+ table->MatrixMode = gl_save_MatrixMode;
+ table->MultMatrixf = gl_save_MultMatrixf;
+ table->NewList = gl_save_NewList;
+ table->Normal3f = gl_save_Normal3f;
+ table->Normal3fv = gl_save_Normal3fv;
+ table->NormalPointer = _gamma_NormalPointer; /* NOT SAVED */
+ table->Ortho = gl_save_Ortho;
+ table->PassThrough = gl_save_PassThrough;
+ table->PixelMapfv = gl_save_PixelMapfv;
+ table->PixelStorei = _gamma_PixelStorei; /* NOT SAVED */
+ table->PixelTransferf = gl_save_PixelTransferf;
+ table->PixelZoom = gl_save_PixelZoom;
+ table->PointSize = gl_save_PointSize;
+ table->PolygonMode = gl_save_PolygonMode;
+ table->PolygonOffset = gl_save_PolygonOffset;
+ table->PolygonStipple = gl_save_PolygonStipple;
+ table->PopAttrib = gl_save_PopAttrib;
+ table->PopClientAttrib = _gamma_PopClientAttrib; /* NOT SAVED */
+ table->PopMatrix = gl_save_PopMatrix;
+ table->PopName = gl_save_PopName;
+ table->PrioritizeTextures = gl_save_PrioritizeTextures;
+ table->PushAttrib = gl_save_PushAttrib;
+ table->PushClientAttrib = _gamma_PushClientAttrib; /* NOT SAVED */
+ table->PushMatrix = gl_save_PushMatrix;
+ table->PushName = gl_save_PushName;
+ table->RasterPos4f = gl_save_RasterPos4f;
+ table->ReadBuffer = gl_save_ReadBuffer;
+ table->ReadPixels = _gamma_ReadPixels; /* NOT SAVED */
+ table->Rectf = gl_save_Rectf;
+ table->RenderMode = _gamma_RenderMode; /* NOT SAVED */
+ table->Rotatef = gl_save_Rotatef;
+ table->Scalef = gl_save_Scalef;
+ table->Scissor = gl_save_Scissor;
+ table->SelectBuffer = _gamma_SelectBuffer; /* NOT SAVED */
+ table->ShadeModel = gl_save_ShadeModel;
+ table->StencilFunc = gl_save_StencilFunc;
+ table->StencilMask = gl_save_StencilMask;
+ table->StencilOp = gl_save_StencilOp;
+ table->TexCoord2f = gl_save_TexCoord2f;
+ table->TexCoord2fv = gl_save_TexCoord2fv;
+ table->TexCoord3fv = gl_save_TexCoord3fv;
+ table->TexCoord4f = gl_save_TexCoord4f;
+ table->TexCoordPointer = _gamma_TexCoordPointer; /* NOT SAVED */
+ table->TexEnvfv = gl_save_TexEnvfv;
+ table->TexGenfv = gl_save_TexGenfv;
+ table->TexImage1D = gl_save_TexImage1D;
+ table->TexImage2D = gl_save_TexImage2D;
+ table->TexSubImage1D = gl_save_TexSubImage1D;
+ table->TexSubImage2D = gl_save_TexSubImage2D;
+ table->TexParameterfv = gl_save_TexParameterfv;
+ table->Translatef = gl_save_Translatef;
+ table->Vertex2f = gl_save_Vertex2f;
+ table->Vertex3f = gl_save_Vertex3f;
+ table->Vertex4f = gl_save_Vertex4f;
+ table->Vertex3fv = gl_save_Vertex3fv;
+ table->VertexPointer = _gamma_VertexPointer; /* NOT SAVED */
+ table->Viewport = gl_save_Viewport;
+}
#endif
diff --git a/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.h b/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.h
index 37fd75eca..212f91895 100644
--- a/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.h
+++ b/xc/lib/GL/mesa/src/drv/gamma/gamma_gl.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_gl.h,v 1.4 2000/03/02 16:07:36 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_gl.h,v 1.5 2001/02/07 13:26:16 alanh Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -38,6 +38,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "GL/gl.h"
#include "glapi.h"
+extern void gamma_error(GLenum error, const char *s);
+
extern void _gamma_Accum(GLenum op, GLfloat value);
extern void _gamma_AlphaFunc(GLenum func, GLclampf ref);
extern GLboolean _gamma_AreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);
@@ -376,6 +378,7 @@ extern void _gamma_VertexPointer(GLint size, GLenum type, GLsizei stride, const
extern void _gamma_Viewport(GLint x, GLint y, GLsizei width, GLsizei height);
-extern void _gamma_init_dispatch(struct _glapi_table *dispatch);
+extern void _gamma_init_exec(struct _glapi_table *dispatch);
+extern void _gamma_init_save(struct _glapi_table *dispatch);
#endif /* _GAMMA_GL_H_ */
diff --git a/xc/lib/GL/mesa/src/drv/gamma/gamma_init.h b/xc/lib/GL/mesa/src/drv/gamma/gamma_init.h
index 6714bbc26..ecf33b959 100644
--- a/xc/lib/GL/mesa/src/drv/gamma/gamma_init.h
+++ b/xc/lib/GL/mesa/src/drv/gamma/gamma_init.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_init.h,v 1.3 2000/06/17 00:02:56 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_init.h,v 1.4 2001/02/07 13:26:16 alanh Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -63,11 +63,69 @@ typedef union {
#define GAMMA_STENCIL_BUFFER 0x00000008
#define GAMMA_ACCUM_BUFFER 0x00000010
+#define GAMMA_MAX_TEXTURE_SIZE 2048
+
/* These are the minimum requirements and should probably be increased */
#define MAX_MODELVIEW_STACK 16
#define MAX_PROJECTION_STACK 2
#define MAX_TEXTURE_STACK 2
+struct gamma_current_attrib {
+/* GLubyte ByteColor[4]; old */ /* Current RGBA color */
+ GLuint Index; /* Current color index */
+ GLfloat Color[4]; /* Current RGBA color */
+ GLfloat Normal[3]; /* Current normal vector */
+ GLfloat TexCoord[4]; /* points into MultiTexCoord */
+ GLfloat RasterPos[4]; /* Current raster position */
+ GLfloat RasterDistance; /* Current raster distance */
+ GLfloat RasterColor[4]; /* Current raster color */
+ GLuint RasterIndex; /* Current raster index */
+ GLfloat *RasterTexCoord; /* Current raster texcoord*/
+ GLboolean RasterPosValid; /* Raster po valid flag */
+ GLboolean EdgeFlag; /* Current edge flag */
+};
+
+struct gamma_array_attrib {
+ GLint VertexSize;
+ GLenum VertexType;
+ GLsizei VertexStride; /* user-specified stride */
+ GLsizei VertexStrideB; /* actual stride in bytes */
+ void *VertexPtr;
+ GLboolean VertexEnabled;
+
+ GLenum NormalType;
+ GLsizei NormalStride; /* user-specified stride */
+ GLsizei NormalStrideB; /* actual stride in bytes */
+ void *NormalPtr;
+ GLboolean NormalEnabled;
+
+ GLint ColorSize;
+ GLenum ColorType;
+ GLsizei ColorStride; /* user-specified stride */
+ GLsizei ColorStrideB; /* actual stride in bytes */
+ void *ColorPtr;
+ GLboolean ColorEnabled;
+
+ GLenum IndexType;
+ GLsizei IndexStride; /* user-specified stride */
+ GLsizei IndexStrideB; /* actual stride in bytes */
+ void *IndexPtr;
+ GLboolean IndexEnabled;
+
+ GLsizei EdgeFlagStride; /* user-specified stride */
+ GLsizei EdgeFlagStrideB; /* actual stride in bytes */
+ GLboolean *EdgeFlagPtr;
+ GLboolean EdgeFlagEnabled;
+
+ GLint TexCoordSize;
+ GLenum TexCoordType;
+ GLsizei TexCoordStride; /* user-specified stride */
+ GLsizei TexCoordStrideB; /* actual stride in bytes */
+ void *TexCoordPtr;
+ GLboolean TexCoordEnabled;
+ GLint TexCoordInterleaveFactor;
+};
+
typedef struct {
drmContext hHWContext;
@@ -91,11 +149,34 @@ typedef struct {
int EnabledFlags;
int DepthSize;
int Begin;
+ GLenum ErrorValue;
+
+ struct _glapi_table *Exec;
+ struct _glapi_table *Save;
+ struct _glapi_table *API;
+
+ struct _mesa_HashTable *DisplayList;
+
+ struct gl_list_attrib List;
+ struct gl_pixelstore_attrib Unpack; /* Pixel unpacking */
+
+ struct gamma_array_attrib Array; /* From Mesa v3.0 */
+ struct gamma_current_attrib Current; /* From Mesa v3.0 */
+
+ /* Display lists */
+ GLuint CallDepth; /* Current recursion calling depth */
+ GLboolean ExecuteFlag; /* Execute GL commands? */
+ GLboolean CompileFlag; /* Compile GL commands into display list? */
+ Node *CurrentListPtr; /* Head of list being compiled */
+ GLuint CurrentListNum; /* Number of the list being compiled */
+ Node *CurrentBlock; /* Pointer to current block of nodes */
+ GLuint CurrentPos; /* Index into current block of nodes */
float ClearColor[4];
float ClearDepth;
int MatrixMode;
int DepthMode;
+ int TransformMode;
float zNear, zFar;
int LBReadMode;
int FBReadMode;
@@ -110,9 +191,25 @@ typedef struct {
int DeltaMode;
int ColorMaterialMode;
int MaterialMode;
+ int NormalizeMode;
int LightingMode;
int Light0Mode;
int Light1Mode;
+ int Light2Mode;
+ int Light3Mode;
+ int Light4Mode;
+ int Light5Mode;
+ int Light6Mode;
+ int Light7Mode;
+ int Light8Mode;
+ int Light9Mode;
+ int Light10Mode;
+ int Light11Mode;
+ int Light12Mode;
+ int Light13Mode;
+ int Light14Mode;
+ int Light15Mode;
+ int LogicalOpMode;
int ScissorMode;
int Window; /* GID part probably should be in draw priv */
diff --git a/xc/lib/GL/mesa/src/drv/gamma/gamma_inithw.c b/xc/lib/GL/mesa/src/drv/gamma/gamma_inithw.c
index 83cec4bcb..6c87559bf 100644
--- a/xc/lib/GL/mesa/src/drv/gamma/gamma_inithw.c
+++ b/xc/lib/GL/mesa/src/drv/gamma/gamma_inithw.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_inithw.c,v 1.6 2000/11/27 10:59:37 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_inithw.c,v 1.7 2001/01/31 16:15:37 alanh Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -43,7 +43,7 @@ void gammaInitHW(gammaContextPrivate *gcp)
__DRIscreenPrivate *driScrnPriv = gcp->gammaScrnPriv->driScrnPriv;
GLINTDRIPtr gDRIPriv = (GLINTDRIPtr)driScrnPriv->pDevPriv;
- if (gDRIPriv->numMXDevices == 2) {
+ if (gDRIPriv->numMultiDevices == 2) {
/* Set up each MX's ScanLineOwnership for OpenGL */
CHECK_DMA_BUFFER(nullCC, gcp, 4);
WRITE(gcp->buf, BroadcastMask, 1);
@@ -142,7 +142,7 @@ void gammaInitHW(gammaContextPrivate *gcp)
WRITE(gcp->buf, AlphaTestMode, gcp->AlphaTestMode);
WRITE(gcp->buf, AlphaBlendMode, gcp->AlphaBlendMode);
WRITE(gcp->buf, DitherMode, DitherModeEnable | DM_ColorOrder_RGB);
- if (gDRIPriv->numMXDevices == 2)
+ if (gDRIPriv->numMultiDevices == 2)
WRITE(gcp->buf, RasterizerMode, RM_MultiGLINT | RM_BiasCoordNearHalf);
else
WRITE(gcp->buf, RasterizerMode, RM_BiasCoordNearHalf);
diff --git a/xc/lib/GL/mesa/src/drv/gamma/gamma_regs.h b/xc/lib/GL/mesa/src/drv/gamma/gamma_regs.h
index 85c2b925a..613385909 100644
--- a/xc/lib/GL/mesa/src/drv/gamma/gamma_regs.h
+++ b/xc/lib/GL/mesa/src/drv/gamma/gamma_regs.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_regs.h,v 1.3 2000/06/17 00:02:56 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_regs.h,v 1.4 2001/02/07 13:26:17 alanh Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -487,8 +487,9 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/* LightingMode */
#define LightingModeDisable 0x00000000
#define LightingModeEnable 0x00000001
-#define LightingModeTwoSides 0x00000002
+#define LightingModeTwoSides 0x00000004
#define LightingModeLocalViewer 0x00000008
+#define LightingModeSpecularEnable 0x00008000
/* Light0Mode */
#define Light0ModeDisable 0x00000000
@@ -552,6 +553,11 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define PM_AntialiasQuality_4x4 0x00000000
#define PM_AntialiasQuality_8x8 0x00000002
+/* LogicalOpMode */
+#define LogicalOpModeDisable 0x00000000
+#define LogicalOpModeEnable 0x00000001
+#define LogicalOpModeMask 0x0000001e
+
/* LineMode */
#define LM_StippleDisable 0x00000000
#define LM_StippleEnable 0x00000001
@@ -577,6 +583,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define XM_XformNormals 0x00000004
#define XM_XformFaceNormals 0x00000008
#define XM_XformTexture 0x00000010
+#define XM_XMask 0x00000013
#define XM_TexGenModeS_None 0x00000000
#define XM_TexGenModeS_ObjLinear 0x00000020
#define XM_TexGenModeS_EyeLinear 0x00000040
diff --git a/xc/lib/GL/mesa/src/drv/gamma/gamma_xmesa.c b/xc/lib/GL/mesa/src/drv/gamma/gamma_xmesa.c
index 81fbc4c97..27b346707 100644
--- a/xc/lib/GL/mesa/src/drv/gamma/gamma_xmesa.c
+++ b/xc/lib/GL/mesa/src/drv/gamma/gamma_xmesa.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_xmesa.c,v 1.8 2000/12/07 20:26:05 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_xmesa.c,v 1.11 2001/02/07 13:26:17 alanh Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -40,26 +40,26 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "gamma_gl.h"
#include "glapi.h"
#include "glint_dri.h"
+#include "gamma_dlist.h"
#include "context.h"
#include "mmath.h"
+#include "hash.h"
__DRIcontextPrivate *nullCC = NULL;
__DRIcontextPrivate *gCC = NULL;
gammaContextPrivate *gCCPriv = NULL;
-static struct _glapi_table *Dispatch = NULL;
-
-
GLboolean XMesaInitDriver(__DRIscreenPrivate *sPriv)
{
gammaScreenPrivate *gsp;
+#if 0
/* Check the DRI version */
{
int major, minor, patch;
if (XF86DRIQueryVersion(sPriv->display, &major, &minor, &patch)) {
- if (major != 3 || minor < 0) {
+ if (major != 4 || minor < 0) {
char msg[1000];
sprintf(msg, "gamma DRI driver expected DRI version 4.0.x but got version %d.%d.%d", major, minor, patch);
__driMesaMessage(msg);
@@ -85,6 +85,7 @@ GLboolean XMesaInitDriver(__DRIscreenPrivate *sPriv)
__driMesaMessage(msg);
return GL_FALSE;
}
+#endif
/* Allocate the private area */
gsp = (gammaScreenPrivate *)Xmalloc(sizeof(gammaScreenPrivate));
@@ -146,17 +147,25 @@ GLboolean XMesaCreateContext( Display *dpy,
gammaScreenPrivate *gPriv = (gammaScreenPrivate *)driScrnPriv->private;
GLINTDRIPtr gDRIPriv = (GLINTDRIPtr)driScrnPriv->pDevPriv;
- if (!Dispatch) {
- GLuint size = _glapi_get_dispatch_table_size() * sizeof(GLvoid *);
- Dispatch = (struct _glapi_table *) malloc(size);
- _gamma_init_dispatch(Dispatch);
- }
-
cPriv = (gammaContextPrivate *)Xmalloc(sizeof(gammaContextPrivate));
if (!cPriv) {
return GL_FALSE;
}
+ if (!cPriv->Exec) {
+ GLuint size = _glapi_get_dispatch_table_size() * sizeof(GLvoid *);
+ cPriv->Exec = (struct _glapi_table *) malloc(size);
+ _gamma_init_exec(cPriv->Exec);
+ }
+
+ cPriv->API = cPriv->Exec;
+
+ if (!cPriv->Save) {
+ GLuint size = _glapi_get_dispatch_table_size() * sizeof(GLvoid *);
+ cPriv->Save = (struct _glapi_table *) malloc(size);
+ _gamma_init_save(cPriv->Save);
+ }
+
cPriv->hHWContext = driContextPriv->hHWContext;
GET_FIRST_DMA(driScrnPriv->fd, cPriv->hHWContext,
1, &cPriv->bufIndex, &cPriv->bufSize,
@@ -168,6 +177,54 @@ GLboolean XMesaCreateContext( Display *dpy,
&cPriv->WCbuf, &cPriv->WCbufCount, gPriv);
#endif
+ gamma_init_lists();
+
+ /* Display List stuff */
+ cPriv->DisplayList = _mesa_NewHashTable();
+ cPriv->List.ListBase = 0;
+ cPriv->CallDepth = 0;
+ cPriv->ExecuteFlag = GL_TRUE;
+ cPriv->CompileFlag = GL_FALSE;
+ cPriv->CurrentListPtr = NULL;
+ cPriv->CurrentBlock = NULL;
+ cPriv->CurrentListNum = 0;
+ cPriv->CurrentPos = 0;
+
+ /* Vertex arrays */
+ cPriv->Array.VertexSize = 4;
+ cPriv->Array.VertexType = GL_FLOAT;
+ cPriv->Array.VertexStride = 0;
+ cPriv->Array.VertexStrideB = 0;
+ cPriv->Array.VertexPtr = NULL;
+ cPriv->Array.VertexEnabled = GL_FALSE;
+ cPriv->Array.NormalType = GL_FLOAT;
+ cPriv->Array.NormalStride = 0;
+ cPriv->Array.NormalStrideB = 0;
+ cPriv->Array.NormalPtr = NULL;
+ cPriv->Array.NormalEnabled = GL_FALSE;
+ cPriv->Array.ColorSize = 4;
+ cPriv->Array.ColorType = GL_FLOAT;
+ cPriv->Array.ColorStride = 0;
+ cPriv->Array.ColorStrideB = 0;
+ cPriv->Array.ColorPtr = NULL;
+ cPriv->Array.ColorEnabled = GL_FALSE;
+ cPriv->Array.IndexType = GL_FLOAT;
+ cPriv->Array.IndexStride = 0;
+ cPriv->Array.IndexStrideB = 0;
+ cPriv->Array.IndexPtr = NULL;
+ cPriv->Array.IndexEnabled = GL_FALSE;
+ cPriv->Array.EdgeFlagStride = 0;
+ cPriv->Array.EdgeFlagStrideB = 0;
+ cPriv->Array.EdgeFlagPtr = NULL;
+ cPriv->Array.EdgeFlagEnabled = GL_FALSE;
+
+ cPriv->Unpack.Alignment = 4;
+ cPriv->Unpack.RowLength = 0;
+ cPriv->Unpack.SkipPixels = 0;
+ cPriv->Unpack.SkipRows = 0;
+ cPriv->Unpack.SwapBytes = GL_FALSE;
+ cPriv->Unpack.LsbFirst = GL_FALSE;
+
cPriv->ClearColor[0] = 0.0;
cPriv->ClearColor[1] = 0.0;
cPriv->ClearColor[2] = 0.0;
@@ -206,7 +263,7 @@ GLboolean XMesaCreateContext( Display *dpy,
FBWindowOriginBot |
gDRIPriv->pprod);
- if (gDRIPriv->numMXDevices == 2) {
+ if (gDRIPriv->numMultiDevices == 2) {
cPriv->LBReadMode |= LBScanLineInt2;
cPriv->FBReadMode |= FBScanLineInt2;
cPriv->FBWindowBase =driScrnPriv->fbWidth*(driScrnPriv->fbHeight/2 - 1);
@@ -352,14 +409,32 @@ GLboolean XMesaCreateContext( Display *dpy,
cPriv->gammaScrnPriv = gPriv;
- cPriv->LightingMode = LightingModeDisable;
+ cPriv->LightingMode = LightingModeDisable | LightingModeSpecularEnable;
cPriv->Light0Mode = LNM_Off;
cPriv->Light1Mode = LNM_Off;
+ cPriv->Light2Mode = LNM_Off;
+ cPriv->Light3Mode = LNM_Off;
+ cPriv->Light4Mode = LNM_Off;
+ cPriv->Light5Mode = LNM_Off;
+ cPriv->Light6Mode = LNM_Off;
+ cPriv->Light7Mode = LNM_Off;
+ cPriv->Light8Mode = LNM_Off;
+ cPriv->Light9Mode = LNM_Off;
+ cPriv->Light10Mode = LNM_Off;
+ cPriv->Light11Mode = LNM_Off;
+ cPriv->Light12Mode = LNM_Off;
+ cPriv->Light13Mode = LNM_Off;
+ cPriv->Light14Mode = LNM_Off;
+ cPriv->Light15Mode = LNM_Off;
+
+ cPriv->LogicalOpMode = LogicalOpModeDisable;
cPriv->MaterialMode = MaterialModeDisable;
cPriv->ScissorMode = UserScissorDisable | ScreenScissorDisable;
+ cPriv->TransformMode = XM_UseModelViewProjMatrix;
+
driContextPriv->driverPrivate = cPriv;
/* Initialize the HW to a known state */
@@ -509,7 +584,7 @@ GLboolean XMesaMakeCurrent(__DRIcontextPrivate *driContextPriv,
CHECK_DMA_BUFFER(gCC, gCCPriv, 1);
WRITE(gCCPriv->buf, GLINTWindow, gCCPriv->Window);
- _glapi_set_dispatch(Dispatch);
+ _glapi_set_dispatch(gCCPriv->API);
_gamma_Viewport(0, 0, driDrawPriv->w, driDrawPriv->h);
} else {
diff --git a/xc/lib/GL/mesa/src/drv/i810/Imakefile b/xc/lib/GL/mesa/src/drv/i810/Imakefile
index 1353d4273..298472656 100644
--- a/xc/lib/GL/mesa/src/drv/i810/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/i810/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/i810/Imakefile,v 1.13 2000/12/12 23:24:27 dawes Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/i810/Imakefile,v 1.14 2001/02/16 01:26:10 dawes Exp $
#include <Threads.tmpl>
@@ -356,7 +356,7 @@ NormalLintTarget($(SRCS))
LIBNAME = i810_dri.so
ALL_OBJS = $(OBJS)
ALL_DEPS = DONE
-SharedDepModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
+SharedDriModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
InstallDynamicModule($(LIBNAME),$(MODULEDIR),dri)
#ifdef GlxSoProf
diff --git a/xc/lib/GL/mesa/src/drv/i810/i810_xmesa.c b/xc/lib/GL/mesa/src/drv/i810/i810_xmesa.c
index 2208de78a..57699162c 100644
--- a/xc/lib/GL/mesa/src/drv/i810/i810_xmesa.c
+++ b/xc/lib/GL/mesa/src/drv/i810/i810_xmesa.c
@@ -24,7 +24,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/lib/GL/mesa/src/drv/i810/i810_xmesa.c,v 1.9 2000/12/07 20:26:06 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/i810/i810_xmesa.c,v 1.11 2000/12/21 14:06:56 alanh Exp $ */
/*
* Authors:
@@ -157,7 +157,7 @@ GLboolean XMesaInitDriver(__DRIscreenPrivate *sPriv)
if (sPriv->drmMajor != 1 ||
sPriv->drmMinor < 1) {
char msg[1000];
- sprintf(msg, "i810 DRI driver expected DRM driver version 1.0.x but got version %d.%d.%d", sPriv->drmMajor, sPriv->drmMinor, sPriv->drmPatch);
+ sprintf(msg, "i810 DRI driver expected DRM driver version 1.1.x but got version %d.%d.%d", sPriv->drmMajor, sPriv->drmMinor, sPriv->drmPatch);
__driMesaMessage(msg);
return GL_FALSE;
}
diff --git a/xc/lib/GL/mesa/src/drv/mga/Imakefile b/xc/lib/GL/mesa/src/drv/mga/Imakefile
index e4c73ddc0..2d173bf11 100644
--- a/xc/lib/GL/mesa/src/drv/mga/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/mga/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/mga/Imakefile,v 1.13 2000/12/12 23:24:28 dawes Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/mga/Imakefile,v 1.15 2001/02/16 01:26:11 dawes Exp $
#include <Threads.tmpl>
@@ -72,6 +72,7 @@ MESA_INCLUDES = -I. -I.. -I../../include \
mgafastpath.c \
mgaioctl.c \
mgapipeline.c \
+ mgapixel.c \
mgaspan.c \
mgastate.c \
mgatex.c \
@@ -87,6 +88,7 @@ MESA_INCLUDES = -I. -I.. -I../../include \
mgafastpath.o \
mgaioctl.o \
mgapipeline.o \
+ mgapixel.o \
mgaspan.o \
mgastate.o \
mgatex.o \
@@ -373,7 +375,7 @@ NormalLintTarget($(SRCS))
LIBNAME = mga_dri.so
ALL_OBJS = $(OBJS)
ALL_DEPS = DONE
-SharedDepModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
+SharedDriModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
InstallDynamicModule($(LIBNAME),$(MODULEDIR),dri)
#ifdef GlxSoProf
diff --git a/xc/lib/GL/mesa/src/drv/mga/mga_xmesa.c b/xc/lib/GL/mesa/src/drv/mga/mga_xmesa.c
index d10969df4..ad5bb0f8d 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mga_xmesa.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mga_xmesa.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mga_xmesa.c,v 1.8 2000/12/07 20:26:06 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mga_xmesa.c,v 1.10 2001/01/08 01:07:18 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgabuffers.c b/xc/lib/GL/mesa/src/drv/mga/mgabuffers.c
index fc021873c..37c7f9acb 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgabuffers.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgabuffers.c
@@ -24,7 +24,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgabuffers.c,v 1.4 2000/09/24 13:51:05 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgabuffers.c,v 1.5 2001/01/08 01:07:18 martin Exp $ */
/*
* Authors:
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgacontext.h b/xc/lib/GL/mesa/src/drv/mga/mgacontext.h
index c82b70cc8..ff97d8e24 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgacontext.h
+++ b/xc/lib/GL/mesa/src/drv/mga/mgacontext.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgacontext.h,v 1.1 2000/09/24 13:51:06 alanh Exp $*/
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgacontext.h,v 1.2 2001/01/08 01:07:18 martin Exp $*/
/*
* GLX Hardware Device Driver for Matrox Millenium G200
* Copyright (C) 1999 Wittawat Yamwong
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgadd.c b/xc/lib/GL/mesa/src/drv/mga/mgadd.c
index f7244b353..5e33dd85d 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgadd.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgadd.c
@@ -23,7 +23,7 @@
*
* Wittawat Yamwong <Wittawat.Yamwong@stud.uni-hannover.de>
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgadd.c,v 1.6 2000/11/08 05:02:45 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgadd.c,v 1.7 2001/01/08 01:07:18 martin Exp $ */
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgaioctl.c b/xc/lib/GL/mesa/src/drv/mga/mgaioctl.c
index 4624cee1e..48dfde9dc 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgaioctl.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgaioctl.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgaioctl.c,v 1.8 2000/11/08 05:02:45 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgaioctl.c,v 1.9 2001/01/08 01:07:18 martin Exp $ */
#include <stdio.h>
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgaioctl.h b/xc/lib/GL/mesa/src/drv/mga/mgaioctl.h
index b8207e540..5dd50b1a3 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgaioctl.h
+++ b/xc/lib/GL/mesa/src/drv/mga/mgaioctl.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgaioctl.h,v 1.5 2000/09/24 13:51:07 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgaioctl.h,v 1.6 2001/01/08 01:07:18 martin Exp $ */
#ifndef MGA_IOCTL_H
#define MGA_IOCTL_H
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgaspan.c b/xc/lib/GL/mesa/src/drv/mga/mgaspan.c
index dae4f0953..0a82af79d 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgaspan.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgaspan.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgaspan.c,v 1.5 2000/09/24 13:51:07 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgaspan.c,v 1.6 2001/01/08 01:07:18 martin Exp $ */
#include "types.h"
#include "mgadd.h"
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgastate.c b/xc/lib/GL/mesa/src/drv/mga/mgastate.c
index 8e60f00d3..2b824343a 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgastate.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgastate.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgastate.c,v 1.6 2000/11/08 05:02:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgastate.c,v 1.7 2001/01/08 01:07:18 martin Exp $ */
#include <stdio.h>
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgatex.c b/xc/lib/GL/mesa/src/drv/mga/mgatex.c
index 35945224a..a97e1f3e0 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgatex.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgatex.c
@@ -25,7 +25,7 @@
* 9/20/99 rewrite by John Carmack <johnc@idsoftware.com>
* 13/1/00 port to DRI by Keith Whitwell <keithw@precisioninsight.com>
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatex.c,v 1.7 2000/11/08 05:02:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatex.c,v 1.8 2001/01/08 01:07:18 martin Exp $ */
#include <stdlib.h>
#include <stdio.h>
@@ -853,17 +853,12 @@ static void mgaDDTexSubImage( GLcontext *ctx, GLenum target,
t = (mgaTextureObjectPtr) tObj->DriverData;
if ( t ) {
if (t->bound) FLUSH_BATCH(mmesa);
- /* if this is the current object, it will force an update */
- mgaDestroyTexObj( mmesa, t );
- mmesa->new_state |= MGA_NEW_TEXTURE;
+ LOCK_HARDWARE( mmesa );
+ /* the texture currently exists, so directly update it */
+ mgaUploadSubImageLocked( mmesa, t, level,
+ xoffset, yoffset, width, height );
+ UNLOCK_HARDWARE( mmesa );
}
-
-
-
-#if 0
- /* the texture currently exists, so directly update it */
- mgaUploadSubImage( t, level, xoffset, yoffset, width, height );
-#endif
}
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgatex.h b/xc/lib/GL/mesa/src/drv/mga/mgatex.h
index bae170829..bd977f1e8 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgatex.h
+++ b/xc/lib/GL/mesa/src/drv/mga/mgatex.h
@@ -24,7 +24,7 @@
* John Carmack <johnc@idsoftware.com>
* Keith Whitwell <keithw@precisioninsight.com>
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatex.h,v 1.4 2000/09/24 13:51:07 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatex.h,v 1.5 2001/01/08 01:07:19 martin Exp $ */
#ifndef MGATEX_INC
#define MGATEX_INC
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgatexmem.c b/xc/lib/GL/mesa/src/drv/mga/mgatexmem.c
index 1161ab580..27f38c296 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgatexmem.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgatexmem.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatexmem.c,v 1.1 2000/09/24 13:51:08 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatexmem.c,v 1.2 2001/01/08 01:07:19 martin Exp $ */
#include <stdlib.h>
#include <stdio.h>
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgatris.c b/xc/lib/GL/mesa/src/drv/mga/mgatris.c
index 4caa1bfa4..36e51ce28 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgatris.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgatris.c
@@ -23,7 +23,7 @@
*
* Wittawat Yamwong <Wittawat.Yamwong@stud.uni-hannover.de>
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatris.c,v 1.5 2000/09/24 13:51:08 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatris.c,v 1.6 2001/01/08 01:07:19 martin Exp $ */
#include <stdio.h>
#include <math.h>
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgatris.h b/xc/lib/GL/mesa/src/drv/mga/mgatris.h
index 9880bbdf1..2711d43d1 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgatris.h
+++ b/xc/lib/GL/mesa/src/drv/mga/mgatris.h
@@ -23,7 +23,7 @@
*
* Wittawat Yamwong <Wittawat.Yamwong@stud.uni-hannover.de>
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatris.h,v 1.5 2000/09/24 13:51:08 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgatris.h,v 1.6 2001/01/08 01:07:19 martin Exp $ */
#ifndef MGATIS_INC
#define MGATIS_INC
diff --git a/xc/lib/GL/mesa/src/drv/mga/mgavb.c b/xc/lib/GL/mesa/src/drv/mga/mgavb.c
index 1dfc89d2b..ffa5025a5 100644
--- a/xc/lib/GL/mesa/src/drv/mga/mgavb.c
+++ b/xc/lib/GL/mesa/src/drv/mga/mgavb.c
@@ -23,7 +23,7 @@
*
* Wittawat Yamwong <Wittawat.Yamwong@stud.uni-hannover.de>
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgavb.c,v 1.7 2000/11/08 05:02:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mgavb.c,v 1.8 2001/01/08 01:07:19 martin Exp $ */
#include "mgacontext.h"
#include "mgavb.h"
diff --git a/xc/lib/GL/mesa/src/drv/r128/Imakefile b/xc/lib/GL/mesa/src/drv/r128/Imakefile
index 3330a991b..de16045ff 100644
--- a/xc/lib/GL/mesa/src/drv/r128/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/r128/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/r128/Imakefile,v 1.11 2000/12/12 23:24:28 dawes Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/r128/Imakefile,v 1.12 2001/02/16 01:26:11 dawes Exp $
#include <Threads.tmpl>
@@ -376,7 +376,7 @@ NormalLintTarget($(SRCS))
LIBNAME = r128_dri.so
ALL_OBJS = $(OBJS)
ALL_DEPS = DONE
-SharedDepModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
+SharedDriModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
InstallDynamicModule($(LIBNAME),$(MODULEDIR),dri)
#ifdef GlxSoProf
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_context.c b/xc/lib/GL/mesa/src/drv/r128/r128_context.c
index 7c6afa8c0..c8926249c 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_context.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_context.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.c,v 1.4 2000/12/12 17:17:06 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.c,v 1.5 2001/01/08 01:07:20 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_context.h b/xc/lib/GL/mesa/src/drv/r128/r128_context.h
index 39fdcdb70..a2400c199 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_context.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_context.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.h,v 1.4 2000/12/12 17:17:06 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.h,v 1.5 2001/01/08 01:07:20 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_dd.c b/xc/lib/GL/mesa/src/drv/r128/r128_dd.c
index 69bbc600c..e5825eb89 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_dd.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_dd.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.c,v 1.6 2000/12/15 22:48:38 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.c,v 1.9 2001/01/11 03:36:54 tsi Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
@@ -70,7 +70,7 @@ static const GLubyte *r128DDGetString( GLcontext *ctx, GLenum name )
switch ( name ) {
case GL_VENDOR:
- return (const GLubyte *)"VA Linux Systems, Inc.";
+ return (GLubyte *)"VA Linux Systems, Inc.";
case GL_RENDERER:
sprintf( (void *)buffer, "Mesa DRI Rage128 " R128_DATE );
@@ -88,13 +88,13 @@ static const GLubyte *r128DDGetString( GLcontext *ctx, GLenum name )
*/
switch ( rmesa->r128Screen->AGPMode ) {
case 1:
- strncat( buffer, " AGP 1x", 7 );
+ strncat( (pointer)buffer, " AGP 1x", 7 );
break;
case 2:
- strncat( buffer, " AGP 2x", 7 );
+ strncat( (pointer)buffer, " AGP 2x", 7 );
break;
case 4:
- strncat( buffer, " AGP 4x", 7 );
+ strncat( (pointer)buffer, " AGP 4x", 7 );
break;
}
@@ -102,7 +102,7 @@ static const GLubyte *r128DDGetString( GLcontext *ctx, GLenum name )
*/
#ifdef USE_X86_ASM
if ( gl_x86_cpu_features ) {
- strncat( buffer, " x86", 4 );
+ strncat( (pointer)buffer, " x86", 4 );
}
#endif
#ifdef USE_MMX_ASM
@@ -112,12 +112,12 @@ static const GLubyte *r128DDGetString( GLcontext *ctx, GLenum name )
#endif
#ifdef USE_3DNOW_ASM
if ( cpu_has_3dnow ) {
- strncat( buffer, "/3DNow!", 7 );
+ strncat( (pointer)buffer, "/3DNow!", 7 );
}
#endif
#ifdef USE_KATMAI_ASM
if ( cpu_has_xmm ) {
- strncat( buffer, "/SSE", 4 );
+ strncat( (pointer)buffer, "/SSE", 4 );
}
#endif
return buffer;
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_dd.h b/xc/lib/GL/mesa/src/drv/r128/r128_dd.h
index 005949053..17061f332 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_dd.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_dd.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.h,v 1.2 2000/12/04 19:21:45 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.h,v 1.3 2001/01/08 01:07:20 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_eltpath.c b/xc/lib/GL/mesa/src/drv/r128/r128_eltpath.c
index 74c29812f..25548c649 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_eltpath.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_eltpath.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_eltpath.c,v 1.2 2000/12/07 20:26:08 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_eltpath.c,v 1.3 2001/01/08 01:07:20 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_elttmp.h b/xc/lib/GL/mesa/src/drv/r128/r128_elttmp.h
index e477bd7b9..11e30fbfe 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_elttmp.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_elttmp.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_elttmp.h,v 1.1 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_elttmp.h,v 1.2 2001/01/08 01:07:20 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c b/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c
index df382c641..44c996125 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c,v 1.4 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c,v 1.5 2001/01/08 01:07:20 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h b/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h
index 8a7cef504..4370a553c 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h,v 1.2 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h,v 1.3 2001/01/08 01:07:20 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.c b/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.c
index e886d0f45..78a3b2c6e 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_ioctl.c,v 1.2 2000/12/12 17:17:07 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_ioctl.c,v 1.3 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.h b/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.h
index aafd0859b..76f777912 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_ioctl.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_ioctl.h,v 1.1 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_ioctl.h,v 1.2 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_lock.c b/xc/lib/GL/mesa/src/drv/r128/r128_lock.c
index 6cf285b7f..b655b6d97 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_lock.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_lock.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_lock.c,v 1.1 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_lock.c,v 1.2 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_lock.h b/xc/lib/GL/mesa/src/drv/r128/r128_lock.h
index 2da57bb44..e734ba29d 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_lock.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_lock.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_lock.h,v 1.3 2000/12/07 15:43:37 tsi Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_lock.h,v 1.4 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c
index e42fa4075..7c85141be 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c,v 1.3 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c,v 1.4 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h
index 5e40bd6f6..1cfb27d44 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h,v 1.3 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h,v 1.4 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_screen.c b/xc/lib/GL/mesa/src/drv/r128/r128_screen.c
index 7c010519e..f93fec973 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_screen.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_screen.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.c,v 1.3 2000/12/04 19:21:46 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.c,v 1.4 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_screen.h b/xc/lib/GL/mesa/src/drv/r128/r128_screen.h
index 8f88e5cb8..15ae1fd8c 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_screen.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_screen.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.h,v 1.3 2000/12/04 19:21:47 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.h,v 1.4 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_span.c b/xc/lib/GL/mesa/src/drv/r128/r128_span.c
index 5ea23c010..003b8eeb6 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_span.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_span.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.c,v 1.4 2000/12/12 17:17:07 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.c,v 1.5 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_span.h b/xc/lib/GL/mesa/src/drv/r128/r128_span.h
index fefa5bd67..44356c5b2 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_span.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_span.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.h,v 1.2 2000/12/04 19:21:47 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.h,v 1.3 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_state.c b/xc/lib/GL/mesa/src/drv/r128/r128_state.c
index 82df63edc..0d12e8ce9 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_state.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_state.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.c,v 1.6 2000/12/12 17:17:07 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.c,v 1.7 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_state.h b/xc/lib/GL/mesa/src/drv/r128/r128_state.h
index 97b01c7fa..c51ac2394 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_state.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_state.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.h,v 1.2 2000/12/04 19:21:47 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.h,v 1.3 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tex.c b/xc/lib/GL/mesa/src/drv/r128/r128_tex.c
index c6bef883b..8bd2c23f9 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tex.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tex.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.c,v 1.6 2000/12/04 19:21:47 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.c,v 1.7 2001/01/08 01:07:21 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tex.h b/xc/lib/GL/mesa/src/drv/r128/r128_tex.h
index 92d4c4e3f..e1f67a56d 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tex.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tex.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.h,v 1.3 2000/12/12 17:17:08 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.h,v 1.4 2001/01/08 01:07:23 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h b/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h
index b1611468a..9939c219b 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_texobj.h,v 1.3 2000/12/04 19:21:47 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_texobj.h,v 1.4 2001/01/08 01:07:24 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tris.c b/xc/lib/GL/mesa/src/drv/r128/r128_tris.c
index aeddb8f95..4d83e27e0 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tris.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tris.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.c,v 1.3 2000/12/04 19:21:47 dawes Exp $ */ /* -*- c-basic-offset: 3 -*- */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.c,v 1.4 2001/01/08 01:07:24 martin Exp $ */ /* -*- c-basic-offset: 3 -*- */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tris.h b/xc/lib/GL/mesa/src/drv/r128/r128_tris.h
index 18a051db3..99c816dec 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tris.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tris.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.h,v 1.3 2000/12/04 19:21:47 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.h,v 1.4 2001/01/08 01:07:24 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h b/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h
index 52a63e628..a9ca8d1bc 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h,v 1.4 2000/12/04 22:46:01 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h,v 1.5 2001/01/08 01:07:24 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_vb.c b/xc/lib/GL/mesa/src/drv/r128/r128_vb.c
index 3ebacd027..06a63e152 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_vb.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_vb.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.c,v 1.10 2000/12/12 17:17:08 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.c,v 1.11 2001/01/08 01:07:24 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_vb.h b/xc/lib/GL/mesa/src/drv/r128/r128_vb.h
index 2e33dcc1b..1a00d9eea 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_vb.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_vb.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.h,v 1.3 2000/12/04 19:21:48 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.h,v 1.4 2001/01/08 01:07:24 martin Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c b/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c
index 8fe81d7ac..7654180b8 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c,v 1.4 2000/12/12 17:17:08 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c,v 1.7 2001/01/23 18:14:38 alanh Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_alloc.c b/xc/lib/GL/mesa/src/drv/sis/sis_alloc.c
index e166aa96f..b2badf3f9 100644
--- a/xc/lib/GL/mesa/src/drv/sis/sis_alloc.c
+++ b/xc/lib/GL/mesa/src/drv/sis/sis_alloc.c
@@ -24,7 +24,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/lib/GL/mesa/src/drv/sis/sis_alloc.c,v 1.6 2000/09/26 15:56:48 tsi Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/sis/sis_alloc.c,v 1.7 2001/01/08 01:07:29 martin Exp $ */
/*
* Authors:
diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_xmesa.c b/xc/lib/GL/mesa/src/drv/sis/sis_xmesa.c
index 24a7e84b9..9e1eb105c 100644
--- a/xc/lib/GL/mesa/src/drv/sis/sis_xmesa.c
+++ b/xc/lib/GL/mesa/src/drv/sis/sis_xmesa.c
@@ -24,7 +24,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/lib/GL/mesa/src/drv/sis/sis_xmesa.c,v 1.6 2000/12/07 20:26:10 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/sis/sis_xmesa.c,v 1.9 2000/12/22 09:20:04 alanh Exp $ */
/*
* Authors:
@@ -76,6 +76,39 @@ GLboolean XMesaInitDriver (__DRIscreenPrivate * driScrnPriv)
{
SISDRIPtr priv = (SISDRIPtr) driScrnPriv->pDevPriv;
+ /* Check the DRI version */
+ {
+ int major, minor, patch;
+ if (XF86DRIQueryVersion(driScrnPriv->display, &major, &minor, &patch)) {
+ if (major != 3 || minor != 1 || patch < 0) {
+ char msg[1000];
+ sprintf(msg, "sis DRI driver expected DRI version 3.1.x but got version %d.%d.%d", major, minor, patch);
+ __driMesaMessage(msg);
+ return GL_FALSE;
+ }
+ }
+ }
+
+ /* Check that the DDX driver version is compatible */
+ if (driScrnPriv->ddxMajor != 1 ||
+ driScrnPriv->ddxMinor != 0 ||
+ driScrnPriv->ddxPatch < 0) {
+ char msg[1000];
+ sprintf(msg, "sis DRI driver expected DDX driver version 1.0.x but got version %d.%d.%d", driScrnPriv->ddxMajor, driScrnPriv->ddxMinor, driScrnPriv->ddxPatch);
+ __driMesaMessage(msg);
+ return GL_FALSE;
+ }
+
+ /* Check that the DRM driver version is compatible */
+ if (driScrnPriv->drmMajor != 1 ||
+ driScrnPriv->drmMinor != 0 ||
+ driScrnPriv->drmPatch < 0) {
+ char msg[1000];
+ sprintf(msg, "sis DRI driver expected DRM driver version 1.0.x but got version %d.%d.%d", driScrnPriv->drmMajor, driScrnPriv->drmMinor, driScrnPriv->drmPatch);
+ __driMesaMessage(msg);
+ return GL_FALSE;
+ }
+
assert (driScrnPriv->devPrivSize == sizeof (SISDRIRec));
/* Fixme: in quake3, when context changed, XMesaInitDriver is called
diff --git a/xc/lib/GL/mesa/src/drv/tdfx/Imakefile b/xc/lib/GL/mesa/src/drv/tdfx/Imakefile
index 9f45df60d..26251e6f2 100644
--- a/xc/lib/GL/mesa/src/drv/tdfx/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/tdfx/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/tdfx/Imakefile,v 1.19 2000/12/12 23:24:28 dawes Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/tdfx/Imakefile,v 1.20 2001/02/16 01:26:11 dawes Exp $
#include <Threads.tmpl>
@@ -368,7 +368,7 @@ NormalLintTarget($(SRCS))
LIBNAME = tdfx_dri.so
ALL_OBJS = $(OBJS)
ALL_DEPS = DONE
-SharedDepModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
+SharedDriModuleTarget($(LIBNAME),$(ALL_DEPS),$(ALL_OBJS))
InstallDynamicModule($(LIBNAME),$(MODULEDIR),dri)
#ifdef GlxSoProf
diff --git a/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c b/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c
index 00935e2de..2973d3e60 100644
--- a/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c
+++ b/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c
@@ -23,7 +23,7 @@
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-/* $XFree86$ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c,v 1.11 2000/12/21 13:58:56 alanh Exp $ */
/*
* Original rewrite: