aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_opt_copy_propagation.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2015-01-10 14:07:12 +1300
committerEric Anholt <[email protected]>2015-01-10 14:35:24 +1300
commita58ae83882b3ad3ecb53271f42cf1fd8f9c2907c (patch)
tree2a7cd5a8057ffb943091a1db1e950d16a2e64461 /src/gallium/drivers/vc4/vc4_opt_copy_propagation.c
parent06b6a72a3e4a36310cd664aa7e881881aeab146f (diff)
vc4: Redo VPM reads as a read file.
This will let us do copy propagation of the VPM reads.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_opt_copy_propagation.c')
-rw-r--r--src/gallium/drivers/vc4/vc4_opt_copy_propagation.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/vc4/vc4_opt_copy_propagation.c b/src/gallium/drivers/vc4/vc4_opt_copy_propagation.c
index 5ead3787ac5..07e1cb14b0d 100644
--- a/src/gallium/drivers/vc4/vc4_opt_copy_propagation.c
+++ b/src/gallium/drivers/vc4/vc4_opt_copy_propagation.c
@@ -87,9 +87,10 @@ qir_opt_copy_propagation(struct vc4_compile *c)
if (inst->op == QOP_MOV &&
inst->dst.file == QFILE_TEMP &&
- (inst->src[0].file != QFILE_TEMP ||
- (defs[inst->src[0].index]->op != QOP_TEX_RESULT &&
- defs[inst->src[0].index]->op != QOP_TLB_COLOR_READ))) {
+ inst->src[0].file != QFILE_VPM &&
+ !(inst->src[0].file == QFILE_TEMP &&
+ (defs[inst->src[0].index]->op == QOP_TEX_RESULT ||
+ defs[inst->src[0].index]->op == QOP_TLB_COLOR_READ))) {
movs[inst->dst.index] = inst->src[0];
}
}