summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/tnl/t_imm_exec.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mesa/tnl/t_imm_exec.c b/src/mesa/tnl/t_imm_exec.c
index 4cf95bb896..e0aef5790d 100644
--- a/src/mesa/tnl/t_imm_exec.c
+++ b/src/mesa/tnl/t_imm_exec.c
@@ -139,12 +139,6 @@ void _tnl_copy_to_current( GLcontext *ctx, struct immediate *IM,
COPY_4FV( ctx->Current.Attrib[VERT_ATTRIB_NORMAL],
IM->Attrib[VERT_ATTRIB_NORMAL][count]);
- if (flag & VERT_BIT_INDEX)
- ctx->Current.Index = IM->Index[count];
-
- if (flag & VERT_BIT_EDGEFLAG)
- ctx->Current.EdgeFlag = IM->EdgeFlag[count];
-
if (flag & VERT_BIT_COLOR0) {
COPY_4FV(ctx->Current.Attrib[VERT_ATTRIB_COLOR0],
IM->Attrib[VERT_ATTRIB_COLOR0][count]);
@@ -162,6 +156,12 @@ void _tnl_copy_to_current( GLcontext *ctx, struct immediate *IM,
if (flag & VERT_BIT_FOG)
ctx->Current.Attrib[VERT_ATTRIB_FOG][0] = IM->Attrib[VERT_ATTRIB_FOG][count][0];
+ if (flag & VERT_BIT_SIX)
+ COPY_4FV(ctx->Current.Attrib[VERT_ATTRIB_SIX], IM->Attrib[VERT_ATTRIB_SIX][count]);
+
+ if (flag & VERT_BIT_SEVEN)
+ COPY_4FV(ctx->Current.Attrib[VERT_ATTRIB_SEVEN], IM->Attrib[VERT_ATTRIB_SEVEN][count]);
+
if (flag & VERT_BITS_TEX_ANY) {
GLuint i;
for (i = 0 ; i < ctx->Const.MaxTextureCoordUnits ; i++) {
@@ -172,6 +172,12 @@ void _tnl_copy_to_current( GLcontext *ctx, struct immediate *IM,
}
}
+ if (flag & VERT_BIT_INDEX)
+ ctx->Current.Index = IM->Index[count];
+
+ if (flag & VERT_BIT_EDGEFLAG)
+ ctx->Current.EdgeFlag = IM->EdgeFlag[count];
+
if (flag & VERT_BIT_MATERIAL) {
_mesa_update_material( ctx,
IM->Material[IM->LastMaterial],