freedreno/a3xx: little extra debug
authorRob Clark <robclark@freedesktop.org>
Sat, 29 Mar 2014 15:42:01 +0000 (11:42 -0400)
committerRob Clark <robclark@freedesktop.org>
Sun, 30 Mar 2014 13:40:00 +0000 (09:40 -0400)
Catch things which should not happen in debug builds.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/a3xx/fd3_program.c
src/gallium/drivers/freedreno/a3xx/ir3_ra.c

index a84351ae88734480bac43e5442ddb98bdbacf11f..09cadf81cbf2cd508a06c474e96db700c1f1f329 100644 (file)
@@ -300,6 +300,8 @@ find_output(const struct fd3_shader_variant *so, fd3_semantic semantic)
                return find_output(so, fd3_semantic_name(TGSI_SEMANTIC_COLOR, idx));
        }
 
+       assert(0);
+
        return 0;
 }
 
index 9d3a7783494a8879a6449dea58b0c46835323094..d926483a222da22ef7885b83d7b4d9ca43d3771a 100644 (file)
@@ -440,6 +440,9 @@ static void ra_assign_reg(struct ir3_visitor *v,
 
        reg->flags &= ~IR3_REG_SSA;
        reg->num = a->num & ~REG_HALF;
+
+       assert(reg->num >= 0);
+
        if (a->num & REG_HALF) {
                reg->flags |= IR3_REG_HALF;
                /* if dst reg being assigned, patch up the instr: */