diff options
author | Jordan Justen <[email protected]> | 2016-03-17 01:38:05 -0700 |
---|---|---|
committer | Jordan Justen <[email protected]> | 2016-03-17 01:44:07 -0700 |
commit | 3fd308a357b9057447d21c67718d13524dbbb40d (patch) | |
tree | 9f59a4b5c5fd2a2edefed9a51377221f6ddc3a20 /src/gallium/drivers/vc4/vc4_qir.c | |
parent | 5464f0c046ac68630355932639f18a02dc4b2d92 (diff) | |
parent | 7d021cb15e6d67ecef8b020fd36c4a680bcc9c39 (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.c | 7 |
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; |