i965/vec4: teach cmod propagation about different execution sizes
We can't propagate the conditional modifier from one instruction to another of a different execution size / group, since that would change the channels affected by the conditional. Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
committed by
Samuel Iglesias Gonsálvez
parent
8f39b3668a
commit
5356d52f31
@@ -76,7 +76,9 @@ opt_cmod_propagation_local(bblock_t *block)
|
||||
scan_inst->dst.writemask != WRITEMASK_XYZW) ||
|
||||
(scan_inst->dst.writemask == WRITEMASK_XYZW &&
|
||||
inst->src[0].swizzle != BRW_SWIZZLE_XYZW) ||
|
||||
(inst->dst.writemask & ~scan_inst->dst.writemask) != 0) {
|
||||
(inst->dst.writemask & ~scan_inst->dst.writemask) != 0 ||
|
||||
scan_inst->exec_size != inst->exec_size ||
|
||||
scan_inst->group != inst->group) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user