summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_qir.c
diff options
context:
space:
mode:
authorJordan Justen <[email protected]>2016-03-17 01:38:05 -0700
committerJordan Justen <[email protected]>2016-03-17 01:44:07 -0700
commit3fd308a357b9057447d21c67718d13524dbbb40d (patch)
tree9f59a4b5c5fd2a2edefed9a51377221f6ddc3a20 /src/gallium/drivers/vc4/vc4_qir.c
parent5464f0c046ac68630355932639f18a02dc4b2d92 (diff)
parent7d021cb15e6d67ecef8b020fd36c4a680bcc9c39 (diff)
Merge remote-tracking branch 'origin/master' into vulkan
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_qir.c')
-rw-r--r--src/gallium/drivers/vc4/vc4_qir.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir.c b/src/gallium/drivers/vc4/vc4_qir.c
index 65f0067c61e..e73e3899410 100644
--- a/src/gallium/drivers/vc4/vc4_qir.c
+++ b/src/gallium/drivers/vc4/vc4_qir.c
@@ -69,7 +69,6 @@ static const struct qir_op_info qir_op_info[] = {
[QOP_RSQ] = { "rsq", 1, 1, false, true },
[QOP_EXP2] = { "exp2", 1, 2, false, true },
[QOP_LOG2] = { "log2", 1, 2, false, true },
- [QOP_TLB_DISCARD_SETUP] = { "discard", 0, 1, true },
[QOP_TLB_STENCIL_SETUP] = { "tlb_stencil_setup", 0, 1, true },
[QOP_TLB_Z_WRITE] = { "tlb_z", 0, 1, true },
[QOP_TLB_COLOR_WRITE] = { "tlb_color", 0, 1, true },
@@ -488,11 +487,15 @@ qir_SF(struct vc4_compile *c, struct qreg src)
if (!list_empty(&c->instructions))
last_inst = (struct qinst *)c->instructions.prev;
+ /* We don't have any way to guess which kind of MOV is implied. */
+ assert(!src.pack);
+
if (src.file != QFILE_TEMP ||
!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;