summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_generator.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index 3787d246801..d21b4e262f5 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -106,9 +106,14 @@ fs_generator::fire_fb_write(fs_inst *inst,
uint32_t msg_control;
if (brw->gen < 6) {
+ brw_push_insn_state(p);
+ brw_set_default_mask_control(p, BRW_MASK_DISABLE);
+ brw_set_default_predicate_control(p, BRW_PREDICATE_NONE);
+ brw_set_default_compression_control(p, BRW_COMPRESSION_NONE);
brw_MOV(p,
brw_message_reg(base_reg + 1),
brw_vec8_grf(1, 0));
+ brw_pop_insn_state(p);
}
if (this->dual_source_output)
@@ -196,6 +201,8 @@ fs_generator::generate_fb_write(fs_inst *inst)
implied_header = brw_null_reg();
}
+ brw_pop_insn_state(p);
+
if (!runtime_check_aads_emit) {
fire_fb_write(inst, inst->base_mrf, implied_header, inst->mlen);
} else {
@@ -221,8 +228,6 @@ fs_generator::generate_fb_write(fs_inst *inst)
brw_land_fwd_jump(p, jmp);
fire_fb_write(inst, inst->base_mrf, implied_header, inst->mlen);
}
-
- brw_pop_insn_state(p);
}
void