i965: revert commit 1a15b2169ba6cb100627eb525a20a00537cfb6f0,
authorXiang, Haihao <haihao.xiang@intel.com>
Wed, 12 Sep 2007 07:13:06 +0000 (15:13 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Wed, 12 Sep 2007 07:13:06 +0000 (15:13 +0800)
and keep the instruction state unchanged after calling
brw_emit_tri_setup/brw_emit_line_setup when building setup
thread for SF_UNFILLED_TRIS.

src/mesa/drivers/dri/i965/brw_sf.c
src/mesa/drivers/dri/i965/brw_sf_emit.c

index a655b010fdb741f9070246fa5c9ab1e03df2395e..738ceb0552ea95142555e83b9eaa71b04fd7dcf5 100644 (file)
@@ -43,7 +43,7 @@
 #include "brw_sf.h"
 #include "brw_state.h"
 
-#define DO_SETUP_BITS ((1<<(FRAG_ATTRIB_MAX - MAX_VARYING))-1)
+#define DO_SETUP_BITS ((1<<(FRAG_ATTRIB_MAX)) - 1)
 
 static void compile_sf_prog( struct brw_context *brw,
                             struct brw_sf_prog_key *key )
index 22911a46494fba2925688225d188c8dc95793a01..5e86e428fa8dafc7d74da64c34740958326ae47d 100644 (file)
@@ -663,7 +663,9 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c )
                                               (1<<_3DPRIM_TRIFAN_NOSTIPPLE)));
    jmp = brw_JMPI(p, ip, ip, brw_imm_w(0));
    {
+      brw_push_insn_state(p); 
       brw_emit_tri_setup( c );
+      brw_pop_insn_state(p);
       /* note - thread killed in subroutine */
    }
    brw_land_fwd_jump(p, jmp);
@@ -677,7 +679,9 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c )
                                               (1<<_3DPRIM_LINESTRIP_CONT_BF)));
    jmp = brw_JMPI(p, ip, ip, brw_imm_w(0));
    {
+      brw_push_insn_state(p); 
       brw_emit_line_setup( c );
+      brw_pop_insn_state(p);
       /* note - thread killed in subroutine */
    }
    brw_land_fwd_jump(p, jmp); 
@@ -686,7 +690,9 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c )
    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_push_insn_state(p); 
       brw_emit_point_sprite_setup( c );
+      brw_pop_insn_state(p);
    }
    brw_land_fwd_jump(p, jmp);