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 <mattst88@gmail.com>
This commit is contained in:
Francisco Jerez 2015-06-04 16:09:47 +03:00
parent 497d238ae7
commit e7069fbc70
1 changed files with 2 additions and 1 deletions

View File

@ -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;