summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2016-03-15 18:58:43 -0700
committerEric Anholt <[email protected]>2016-03-16 11:28:34 -0700
commit7c9fc439150188612c7fe595cbe0180fcea3e705 (patch)
treefd81f0777d1a94e7bca68fc466652b3dd6e259ba /src/gallium
parentb4f45f319cc5cb833b4581447c45656cdeed025a (diff)
vc4: Don't make a temporary for setting flags.
The register allocator doesn't really do anything about the temp, so it doesn't seem like it should matter. However, the scheduler would think that a new def is being created. This doesn't change anything yet, but it avoids a bunch of regressions in the next commit.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/vc4/vc4_qir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir.c b/src/gallium/drivers/vc4/vc4_qir.c
index fd1192f340c..125a9525e1b 100644
--- a/src/gallium/drivers/vc4/vc4_qir.c
+++ b/src/gallium/drivers/vc4/vc4_qir.c
@@ -495,7 +495,8 @@ qir_SF(struct vc4_compile *c, struct qreg src)
!c->defs[src.index] ||
last_inst != c->defs[src.index] ||
qir_is_multi_instruction(last_inst)) {
- src = qir_MOV(c, src);
+ struct qreg null = { QFILE_NULL, 0 };
+ last_inst = qir_MOV_dest(c, null, src);
last_inst = (struct qinst *)c->instructions.prev;
}
last_inst->sf = true;