diff options
author | Zou Nan hai <nanhai.zou@intel.com> | 2007-08-31 13:42:20 +0800 |
---|---|---|
committer | Zou Nan hai <nanhai.zou@intel.com> | 2007-08-31 13:42:20 +0800 |
commit | b47c9f8c915ae4ca8c7fa5ee3b6b64f17c38b569 (patch) | |
tree | f6a281141e4e0841af8597b9f330c3bd6afd0fd3 /src/mesa/drivers/dri/i965/brw_clip_line.c | |
parent | 22bc3cdd49eb81d48ad4b8f06be0b9a9de624c91 (diff) |
optimize 965 clip
1. increase clip thread number to 2
2. do cliptest for -rhw
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_clip_line.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_clip_line.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_clip_line.c b/src/mesa/drivers/dri/i965/brw_clip_line.c index 0103be43458..9ad00676d4b 100644 --- a/src/mesa/drivers/dri/i965/brw_clip_line.c +++ b/src/mesa/drivers/dri/i965/brw_clip_line.c @@ -147,6 +147,13 @@ static void clip_and_emit_line( struct brw_clip_compile *c ) brw_clip_init_planes(c); brw_clip_init_clipmask(c); + /* -ve rhw workaround */ + brw_set_conditionalmod(p, BRW_CONDITIONAL_NZ); + brw_AND(p, brw_null_reg(), get_element_ud(c->reg.R0, 2), + brw_imm_ud(1<<20)); + brw_OR(p, c->reg.planemask, c->reg.planemask, brw_imm_ud(0x3f)); + brw_set_predicate_control(p, BRW_PREDICATE_NONE); + plane_loop = brw_DO(p, BRW_EXECUTE_1); { /* if (planemask & 1) |