diff options
author | Zou Nan hai <nanhai.zou@intel.com> | 2007-08-02 15:27:13 +0800 |
---|---|---|
committer | Zou Nan hai <nanhai.zou@intel.com> | 2007-08-02 15:27:13 +0800 |
commit | 505453a04e8ba5e394c34401bd9ec320ffce2423 (patch) | |
tree | 8bdbb6a510369eba025bbb12479db74ff72a52cd /src/mesa/drivers/dri/i965/brw_sf_emit.c | |
parent | 246d1d2522858a1bcf525d64ad165f9af11a2b4d (diff) |
fix fd.o bug #11804
glPolygonMode with point sprite on i965
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_sf_emit.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_sf_emit.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_sf_emit.c b/src/mesa/drivers/dri/i965/brw_sf_emit.c index 7ecf9bb560..22911a4649 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_emit.c +++ b/src/mesa/drivers/dri/i965/brw_sf_emit.c @@ -641,6 +641,7 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c ) struct brw_compile *p = &c->func; struct brw_reg ip = brw_ip_reg(); struct brw_reg payload_prim = brw_uw1_reg(BRW_GENERAL_REGISTER_FILE, 1, 0); + struct brw_reg payload_attr = get_element_ud(brw_vec1_reg(BRW_GENERAL_REGISTER_FILE, 1, 0), 0); struct brw_reg primmask; struct brw_instruction *jmp; struct brw_reg v1_null_ud = vec1(retype(brw_null_reg(), BRW_REGISTER_TYPE_UD)); @@ -681,6 +682,14 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c ) } brw_land_fwd_jump(p, jmp); + brw_set_conditionalmod(p, BRW_CONDITIONAL_Z); + brw_AND(p, v1_null_ud, payload_attr, brw_imm_ud(1<<BRW_SPRITE_POINT_ENABLE)); + jmp = brw_JMPI(p, ip, ip, brw_imm_w(0)); + { + brw_emit_point_sprite_setup( c ); + } + brw_land_fwd_jump(p, jmp); + brw_emit_point_setup( c ); } |