From: Eric Anholt Date: Mon, 14 Mar 2011 17:51:19 +0000 (-0700) Subject: i965: Move the destination reg setup for 8/16 wide to the emit code. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c647a2fe98a645723fa5eace7f7f6c5c26f4f8e;p=mesa.git i965: Move the destination reg setup for 8/16 wide to the emit code. Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_eu.h b/src/mesa/drivers/dri/i965/brw_eu.h index 718b3800423..d535f51437a 100644 --- a/src/mesa/drivers/dri/i965/brw_eu.h +++ b/src/mesa/drivers/dri/i965/brw_eu.h @@ -856,7 +856,6 @@ void brw_ff_sync(struct brw_compile *p, void brw_fb_WRITE(struct brw_compile *p, int dispatch_width, - struct brw_reg dest, GLuint msg_reg_nr, struct brw_reg src0, GLuint binding_table_index, diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 71485cd1f71..859068ec4eb 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -1871,7 +1871,6 @@ void brw_dp_READ_4_vs_relative(struct brw_compile *p, void brw_fb_WRITE(struct brw_compile *p, int dispatch_width, - struct brw_reg dest, GLuint msg_reg_nr, struct brw_reg src0, GLuint binding_table_index, @@ -1883,6 +1882,12 @@ void brw_fb_WRITE(struct brw_compile *p, struct intel_context *intel = &p->brw->intel; struct brw_instruction *insn; GLuint msg_control, msg_type; + struct brw_reg dest; + + if (dispatch_width == 16) + dest = retype(vec16(brw_null_reg()), BRW_REGISTER_TYPE_UW); + else + dest = retype(vec8(brw_null_reg()), BRW_REGISTER_TYPE_UW); if (intel->gen >= 6 && binding_table_index == 0) { insn = next_insn(p, BRW_OPCODE_SENDC); diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 5426925e372..44eb1be5108 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2145,7 +2145,6 @@ fs_visitor::generate_fb_write(fs_inst *inst) brw_fb_WRITE(p, 8, /* dispatch_width */ - retype(vec8(brw_null_reg()), BRW_REGISTER_TYPE_UW), inst->base_mrf, implied_header, inst->target, diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index cdc1f367e5c..0b136a81ab7 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_emit.c +++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c @@ -1325,12 +1325,6 @@ static void fire_fb_write( struct brw_wm_compile *c, { struct brw_compile *p = &c->func; struct intel_context *intel = &p->brw->intel; - struct brw_reg dst; - - if (c->dispatch_width == 16) - dst = retype(vec16(brw_null_reg()), BRW_REGISTER_TYPE_UW); - else - dst = retype(vec8(brw_null_reg()), BRW_REGISTER_TYPE_UW); /* Pass through control information: * @@ -1352,7 +1346,6 @@ static void fire_fb_write( struct brw_wm_compile *c, /* send (16) null.0<1>:uw m0 r0.0<8;8,1>:uw 0x85a04000:ud { Align1 EOT } */ brw_fb_WRITE(p, c->dispatch_width, - dst, base_reg, retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW), target,