draw: associate rhw divide with clipping not viewport flag
[mesa.git] / src / gallium / auxiliary / draw / draw_vs_exec.c
index c8ed17c00a2069bfe799b824c4c120878e8aae0c..c6e503686a6d7cd662e680d61d6390c5d13d100a 100644 (file)
@@ -143,6 +143,12 @@ vs_exec_run( struct draw_vertex_shader *shader,
 
       if (!draw->rasterizer->bypass_clipping) {
          vOut[j]->clipmask = compute_clipmask(vOut[j]->clip, draw->plane, draw->nr_planes);
+
+         /* divide by w */
+         w = 1.0f / w;
+         x *= w;
+         y *= w;
+         z *= w;         
       }
       else {
          vOut[j]->clipmask = 0;
@@ -150,12 +156,6 @@ vs_exec_run( struct draw_vertex_shader *shader,
       vOut[j]->edgeflag = 1;
 
       if (!draw->identity_viewport) {
-         /* divide by w */
-         w = 1.0f / w;
-         x *= w;
-         y *= w;
-         z *= w;
-         
          /* Viewport mapping */
          vOut[j]->data[0][0] = x * scale[0] + trans[0];
          vOut[j]->data[0][1] = y * scale[1] + trans[1];