r600g: fix gpr number calculation
authorVadim Girlin <vadimgirlin@gmail.com>
Fri, 16 Dec 2011 03:32:07 +0000 (07:32 +0400)
committerTom Stellard <thomas.stellard@amd.com>
Mon, 23 Apr 2012 12:53:47 +0000 (08:53 -0400)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
src/gallium/drivers/r600/r600_asm.c

index 3298386..0ecca36 100644 (file)
@@ -290,6 +290,9 @@ int r600_bytecode_add_output(struct r600_bytecode *bc, const struct r600_bytecod
 {
        int r;
 
+       if (output->gpr >= bc->ngpr)
+               bc->ngpr = output->gpr + 1;
+
        if (bc->cf_last && (bc->cf_last->inst == output->inst ||
                (bc->cf_last->inst == BC_INST(bc, V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT) &&
                output->inst == BC_INST(bc, V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE))) &&