vc4: Skip raddr dependencies for 32-bit immediate loads.
authorEric Anholt <eric@anholt.net>
Tue, 9 Dec 2014 22:23:39 +0000 (14:23 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 10 Dec 2014 02:32:36 +0000 (18:32 -0800)
These don't have raddr fields.

src/gallium/drivers/vc4/vc4_qpu_schedule.c

index 4bb9b3a53170be42f84eccc871c6c4c6c812b06a..8df816fa211bc05909ce57095e1e50751c575803 100644 (file)
@@ -334,8 +334,11 @@ calculate_deps(struct schedule_state *state, struct schedule_node *n)
         uint32_t mul_b = QPU_GET_FIELD(inst, QPU_MUL_B);
         uint32_t sig = QPU_GET_FIELD(inst, QPU_SIG);
 
-        process_raddr_deps(state, n, raddr_a, true);
-        process_raddr_deps(state, n, raddr_b, false);
+        if (sig != QPU_SIG_LOAD_IMM) {
+                process_raddr_deps(state, n, raddr_a, true);
+                process_raddr_deps(state, n, raddr_b, false);
+        }
+
         if (add_op != QPU_A_NOP) {
                 process_mux_deps(state, n, add_a);
                 process_mux_deps(state, n, add_b);