diff options
author | Matt Turner <mattst88@gmail.com> | 2014-11-11 18:02:23 -0800 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2014-12-01 16:42:13 -0800 |
commit | e4d0299089fe3ea0a91abb3ec34c5c0436ef9e68 (patch) | |
tree | 92d1ee6f71be0042b3469734a2f3cc8b5f81446b /src/mesa/drivers/dri/i965/brw_fs_generator.cpp | |
parent | f1e5418f402c7ac087b1c127cb4476d0d02e0073 (diff) | |
download | external_mesa3d-e4d0299089fe3ea0a91abb3ec34c5c0436ef9e68.zip external_mesa3d-e4d0299089fe3ea0a91abb3ec34c5c0436ef9e68.tar.gz external_mesa3d-e4d0299089fe3ea0a91abb3ec34c5c0436ef9e68.tar.bz2 |
i965/fs: Treat the FB_WRITE as predicated if we're discarding.
Pre-Haswell hardware couldn't actually predicate it, but it's easier to
pretend as if it's predicated in the visitor since it will generate a
MOV from f0.1.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs_generator.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp index 8d3f093..bbed4cc 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp @@ -163,6 +163,10 @@ fs_generator::generate_fb_write(fs_inst *inst, struct brw_reg payload) const brw_wm_prog_key * const key = (brw_wm_prog_key * const) this->key; struct brw_reg implied_header; + if (brw->gen < 8 && !brw->is_haswell) { + brw_set_default_predicate_control(p, BRW_PREDICATE_NONE); + } + if (inst->base_mrf >= 0) payload = brw_message_reg(inst->base_mrf); |