i965: Clear some undefined fields of g0 when using them for gen6 FB writes.

This doesn't appear to help any testcases I'm looking at, but it looks
like it's required.
This commit is contained in:
Eric Anholt
2010-10-26 10:31:08 -07:00
parent 1732a8bc72
commit 0e8c834ffa
+14
View File
@@ -1961,6 +1961,20 @@ fs_visitor::generate_fb_write(fs_inst *inst)
brw_MOV(p,
brw_message_reg(inst->base_mrf),
brw_vec8_grf(0, 0));
if (inst->target > 0) {
/* Set the render target index for choosing BLEND_STATE. */
brw_MOV(p, retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, 0, 2),
BRW_REGISTER_TYPE_UD),
brw_imm_ud(inst->target));
}
/* Clear viewport index, render target array index. */
brw_AND(p, retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, 0, 0),
BRW_REGISTER_TYPE_UD),
retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UD),
brw_imm_ud(0xf7ff));
implied_header = brw_null_reg();
} else {
implied_header = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW);