summaryrefslogtreecommitdiff
path: root/src/mesa/main/varray.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main/varray.c')
-rw-r--r--src/mesa/main/varray.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index 62e5019dc9..78cff94bd0 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -1,4 +1,4 @@
-/* $Id: varray.c,v 1.24 2000/10/18 15:02:59 brianp Exp $ */
+/* $Id: varray.c,v 1.25 2000/10/20 19:54:49 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -490,11 +490,18 @@ void gl_exec_array_elements( GLcontext *ctx, struct immediate *IM,
#if MAX_TEXTURE_UNITS > 2
if (translate & VERT_TEX2_ANY)
- (ctx->Array.TexCoordEltFunc[1])( IM->TexCoord[2],
+ (ctx->Array.TexCoordEltFunc[2])( IM->TexCoord[2],
&ctx->Array.TexCoord[2],
flags, elts, (VERT_ELT|VERT_TEX2_ANY),
start, count);
#endif
+#if MAX_TEXTURE_UNITS > 3
+ if (translate & VERT_TEX3_ANY)
+ (ctx->Array.TexCoordEltFunc[3])( IM->TexCoord[3],
+ &ctx->Array.TexCoord[3],
+ flags, elts, (VERT_ELT|VERT_TEX3_ANY),
+ start, count);
+#endif
for (i = start ; i < count ; i++)
if (flags[i] & VERT_ELT)
@@ -711,6 +718,13 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
TexCoord[2], start, n );
}
#endif
+#if MAX_TEXTURE_UNITS > 3
+ if (required & VERT_TEX3_ANY) {
+ IM->v.TexCoord[3].size = TexCoord[3]->Size;
+ ctx->Array.TexCoordFunc[3]( IM->TexCoord[3] + VB_START,
+ TexCoord[3], start, n );
+ }
+#endif
VB->ObjPtr = &IM->v.Obj;
VB->NormalPtr = &IM->v.Normal;