i965: Avoid vs header computation for negative rhw on G4X.
authorEric Anholt <eric@anholt.net>
Sun, 2 Nov 2008 20:19:02 +0000 (12:19 -0800)
committerEric Anholt <eric@anholt.net>
Sun, 2 Nov 2008 20:30:01 +0000 (12:30 -0800)
This cuts one MOV out when setting a zero header.

src/mesa/drivers/dri/i965/brw_vs_emit.c

index 0b6c6b2a0af288256bd3960a457f8eef7b024837..ed0e1d5273c34e55a2b6b8d7fb7ddaa1ae683f14 100644 (file)
@@ -829,12 +829,12 @@ static void emit_vertex_write( struct brw_vs_compile *c)
       ndc = pos;
    }
 
-   /* This includes the workaround for -ve rhw, so is no longer an
-    * optional step:
+   /* Update the header for point size, user clipping flags, and -ve rhw
+    * workaround.
     */
    if ((c->prog_data.outputs_written & (1<<VERT_RESULT_PSIZ)) ||
        c->key.nr_userclip ||
-       !c->key.know_w_is_one)
+       (!BRW_IS_G4X(p->brw) && !c->key.know_w_is_one))
    {
       struct brw_reg header1 = retype(get_tmp(c), BRW_REGISTER_TYPE_UD);
       GLuint i;