r300: more informative too many ALU instructions error
authorPavel Ondračka <pavel.ondracka@gmail.com>
Tue, 15 Nov 2022 12:33:19 +0000 (13:33 +0100)
committerMarge Bot <emma+marge@anholt.net>
Mon, 21 Nov 2022 13:54:39 +0000 (13:54 +0000)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19766>

src/gallium/drivers/r300/compiler/r300_fragprog_emit.c

index 1aac64b..5d2b956 100644 (file)
@@ -157,7 +157,11 @@ static int emit_alu(struct r300_emit_state * emit, struct rc_pair_instruction* i
        PROG_CODE;
 
        if (code->alu.length >= c->Base.max_alu_insts) {
-               error("Too many ALU instructions");
+               /* rc_recompute_ips does not give an exact count, because it counts extra stuff
+                * like BEGINTEX, but here it is intended to be only approximative anyway,
+                * just to give some idea how close to the limit we are. */
+               rc_error(&c->Base, "Too many ALU instructions used: %u, max: %u.\n",
+                        rc_recompute_ips(&c->Base), c->Base.max_alu_insts);
                return 0;
        }