r300/compiler: r500 hw support for break and continue in loops.
authorTom Stellard <tstellar@gmail.com>
Tue, 3 Aug 2010 22:23:23 +0000 (15:23 -0700)
committerTom Stellard <tstellar@gmail.com>
Wed, 4 Aug 2010 02:11:08 +0000 (19:11 -0700)
commit2824d5687a19e42ba0da8fd08e80610c4469a3b3
tree62c397d260f054fc1fd502c796963b7ecbc78605
parent9dcc5006660037665fe98bf2d9fb966e620a038b
r300/compiler: r500 hw support for break and continue in loops.

The BGNLOOP and ENDLOOP instructions are now being used correctly, which
makes break and continue possible.  The deadcode pass has been modified to
handle breaks, and the compiler is more careful about which loops are
unrolled.
src/gallium/drivers/r300/r300_fs.c
src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c
src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c
src/mesa/drivers/dri/r300/compiler/r500_fragprog.c
src/mesa/drivers/dri/r300/compiler/r500_fragprog.h
src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
src/mesa/drivers/dri/r300/compiler/radeon_code.h
src/mesa/drivers/dri/r300/compiler/radeon_dataflow_deadcode.c
src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.c
src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h
src/mesa/drivers/dri/r300/compiler/radeon_optimize.c