summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2015-06-04 16:09:47 +0300
committerFrancisco Jerez <[email protected]>2015-06-09 15:18:31 +0300
commite7069fbc701de68b65a876e1b4bfde4f111dd084 (patch)
tree0df33b50b93e5550c9a1dd37e4d348891dbb16ab
parent497d238ae72aa59fb32b21191a1a0444ca09fc10 (diff)
i965/fs: Don't drop force_writemask_all and _sechalf when copying a CSE temporary.
LOAD_PAYLOAD instructions need the same treatment as any other generator instructions, at least FB writes and typed surface messages will need a payload built with non-zero execution controls. Reviewed-by: Matt Turner <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_cse.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp
index 3ddd17c7e3b..822a6a3a2f8 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp
@@ -206,9 +206,10 @@ create_copy_instr(fs_visitor *v, fs_inst *inst, fs_reg src, bool negate)
copy = v->LOAD_PAYLOAD(inst->dst, payload, sources, header_size);
} else {
copy = v->MOV(inst->dst, src);
- copy->force_writemask_all = inst->force_writemask_all;
copy->src[0].negate = negate;
}
+ copy->force_writemask_all = inst->force_writemask_all;
+ copy->force_sechalf = inst->force_sechalf;
assert(copy->regs_written == written);
return copy;