diff options
author | Iago Toral Quiroga <[email protected]> | 2018-07-17 11:10:34 +0200 |
---|---|---|
committer | Iago Toral Quiroga <[email protected]> | 2018-07-27 14:48:29 +0200 |
commit | 615aaedb934bb573bf1486de0f4d3b5742da9065 (patch) | |
tree | 831025b4cc1d94f99849ecdcaaa3a7de7ebc7bda /src | |
parent | df679b1643cdf7cb9110a7898cec7617f8154d2d (diff) |
intel/compiler: fix lower conversions to account for predication
The pass can create a temporary result for the instruction and then
moves from it to the original destination, however, if the original
instruction was predicated, the mov has to be predicated as well.
Reviewed-by: Jose Maria Casanova Crespo <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/compiler/brw_fs_lower_conversions.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs_lower_conversions.cpp b/src/intel/compiler/brw_fs_lower_conversions.cpp index e27e2402746..145fb55f995 100644 --- a/src/intel/compiler/brw_fs_lower_conversions.cpp +++ b/src/intel/compiler/brw_fs_lower_conversions.cpp @@ -98,7 +98,10 @@ fs_visitor::lower_conversions() * size_written accordingly. */ inst->size_written = inst->dst.component_size(inst->exec_size); - ibld.at(block, inst->next).MOV(dst, strided_temp)->saturate = saturate; + + fs_inst *mov = ibld.at(block, inst->next).MOV(dst, strided_temp); + mov->saturate = saturate; + mov->predicate = inst->predicate; progress = true; } |