Mesa (master): broadcom/vc5: On QPU pack error, dump the instruction and return cleanly.

Eric Anholt anholt at kemper.freedesktop.org
Mon Mar 19 23:45:03 UTC 2018


Module: Mesa
Branch: master
Commit: 34dc64f6274db73851b0f1e5f0440a9785cafd6c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=34dc64f6274db73851b0f1e5f0440a9785cafd6c

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Mar 14 14:39:51 2018 -0700

broadcom/vc5: On QPU pack error, dump the instruction and return cleanly.

This is nice for debugging when you've made a bad instruction.

---

 src/broadcom/compiler/vir_to_qpu.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/broadcom/compiler/vir_to_qpu.c b/src/broadcom/compiler/vir_to_qpu.c
index 568a004803..83b1936cbd 100644
--- a/src/broadcom/compiler/vir_to_qpu.c
+++ b/src/broadcom/compiler/vir_to_qpu.c
@@ -388,7 +388,13 @@ v3d_vir_to_qpu(struct v3d_compile *c, struct qpu_reg *temp_registers)
         vir_for_each_inst_inorder(inst, c) {
                 bool ok = v3d_qpu_instr_pack(c->devinfo, &inst->qpu,
                                              &c->qpu_insts[i++]);
-                assert(ok); (void) ok;
+                if (!ok) {
+                        fprintf(stderr, "Failed to pack instruction:\n");
+                        vir_dump_inst(c, inst);
+                        fprintf(stderr, "\n");
+                        c->failed = true;
+                        return;
+                }
         }
         assert(i == c->qpu_inst_count);
 




More information about the mesa-commit mailing list