Re-initialize viewport shadows each time.
authorKeith Whitwell <keith@tungstengraphics.com>
Thu, 19 May 2005 19:01:47 +0000 (19:01 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Thu, 19 May 2005 19:01:47 +0000 (19:01 +0000)
src/mesa/tnl/t_vertex.c

index 7732425dd1634d0108010a28adc0884e339d93c3..f4847f757814c1810b0c2c6cea7751789a78adb2 100644 (file)
@@ -288,14 +288,6 @@ GLuint _tnl_install_attrs( GLcontext *ctx, const struct tnl_attr_map *map,
 
    if (vp) {
       vtx->need_viewport = GL_TRUE;
-      vtx->vp_scale[0] = vp[MAT_SX];
-      vtx->vp_scale[1] = vp[MAT_SY];
-      vtx->vp_scale[2] = vp[MAT_SZ];
-      vtx->vp_scale[3] = 1.0;
-      vtx->vp_xlate[0] = vp[MAT_TX];
-      vtx->vp_xlate[1] = vp[MAT_TY];
-      vtx->vp_xlate[2] = vp[MAT_TZ];
-      vtx->vp_xlate[3] = 0.0;
    }
 
    for (j = 0, i = 0; i < nr; i++) {
@@ -389,6 +381,17 @@ static void update_input_ptrs( GLcontext *ctx, GLuint start )
 
       a[j].inputptr = ((GLubyte *)vptr->data) + start * vptr->stride;
    }
+   
+   if (a->vp) {
+      vtx->vp_scale[0] = a->vp[MAT_SX];
+      vtx->vp_scale[1] = a->vp[MAT_SY];
+      vtx->vp_scale[2] = a->vp[MAT_SZ];
+      vtx->vp_scale[3] = 1.0;
+      vtx->vp_xlate[0] = a->vp[MAT_TX];
+      vtx->vp_xlate[1] = a->vp[MAT_TY];
+      vtx->vp_xlate[2] = a->vp[MAT_TZ];
+      vtx->vp_xlate[3] = 0.0;
+   }
 }