summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-06-20 11:32:22 -0600
committerKeith Whitwell <keith@tungstengraphics.com>2008-09-21 22:13:55 -0700
commit394c1d1c53074f82d2664f655f948f8966f46b9d (patch)
tree7e2c0cbb8b60fcf6ec98a4863b6c8b21e5b7d3bf
parentbb00f09f1bfb195206ffac6481d83ecf57fd37ce (diff)
mesa: initial support for fixed-pt vertex arrays
-rw-r--r--src/mesa/main/glheader.h5
-rw-r--r--src/mesa/main/mfeatures.h1
-rw-r--r--src/mesa/main/varray.c20
3 files changed, 26 insertions, 0 deletions
diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h
index 602d6f5694..e155f5eb9f 100644
--- a/src/mesa/main/glheader.h
+++ b/src/mesa/main/glheader.h
@@ -161,6 +161,11 @@
#include "GL/glext.h"
+#ifndef GL_FIXED
+#define GL_FIXED 0x140C
+#endif
+
+
#if !defined(CAPI) && defined(WIN32) && !defined(BUILD_FOR_SNAP)
#define CAPI _cdecl
#endif
diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h
index 4e384b0b3b..6563bdd19f 100644
--- a/src/mesa/main/mfeatures.h
+++ b/src/mesa/main/mfeatures.h
@@ -46,6 +46,7 @@
#define FEATURE_drawpix _HAVE_FULL_GL
#define FEATURE_evaluators _HAVE_FULL_GL
#define FEATURE_feedback _HAVE_FULL_GL
+#define FEATURE_fixedpt 0
#define FEATURE_histogram _HAVE_FULL_GL
#define FEATURE_pixel_transfer _HAVE_FULL_GL
#define FEATURE_texgen _HAVE_FULL_GL
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index 67dd093f2a..c27f1aa7b8 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -116,6 +116,11 @@ _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
case GL_DOUBLE:
elementSize = size * sizeof(GLdouble);
break;
+#if FEATURE_fixedpt
+ case GL_FIXED:
+ elementSize = size * sizeof(GLfixed);
+ break;
+#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glVertexPointer(type)" );
return;
@@ -161,6 +166,11 @@ _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
case GL_DOUBLE:
elementSize = 3 * sizeof(GLdouble);
break;
+#if FEATURE_fixedpt
+ case GL_FIXED:
+ elementSize = 3 * sizeof(GLfixed);
+ break;
+#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glNormalPointer(type)" );
return;
@@ -219,6 +229,11 @@ _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
case GL_DOUBLE:
elementSize = size * sizeof(GLdouble);
break;
+#if FEATURE_fixedpt
+ case GL_FIXED:
+ elementSize = size * sizeof(GLfixed);
+ break;
+#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glColorPointer(type)" );
return;
@@ -400,6 +415,11 @@ _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
case GL_DOUBLE:
elementSize = size * sizeof(GLdouble);
break;
+#if FEATURE_fixedpt
+ case GL_FIXED:
+ elementSize = size * sizeof(GLfixed);
+ break;
+#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glTexCoordPointer(type)" );
return;