aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_vs_emit.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2008-11-02 12:19:02 -0800
committerEric Anholt <[email protected]>2008-11-02 12:30:01 -0800
commit9fd4c27ae3e189df804b86843a6aad0e70640533 (patch)
tree57f6fe77b18f9e5ee14c4533182a17d93cd4af8c /src/mesa/drivers/dri/i965/brw_vs_emit.c
parent34b1776e8d965605d12807884c9c447214d57281 (diff)
i965: Avoid vs header computation for negative rhw on G4X.
This cuts one MOV out when setting a zero header.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vs_emit.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vs_emit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c
index 0b6c6b2a0af..ed0e1d5273c 100644
--- a/src/mesa/drivers/dri/i965/brw_vs_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c
@@ -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;