r500_fragprog: Major refactoring of final emit
authorNicolai Haehnle <nhaehnle@gmail.com>
Fri, 11 Jul 2008 23:14:35 +0000 (01:14 +0200)
committerNicolai Haehnle <nhaehnle@gmail.com>
Sat, 12 Jul 2008 07:36:02 +0000 (09:36 +0200)
commitb6765c34993b08bba4acf20738c8938413ed4daf
treed221e963335dc31af894485a657fb423aa4d79c5
parentd8d086c20b5a43353c4980cf234d8329900585f5
r500_fragprog: Major refactoring of final emit

Use an abstracted instruction scheduling and register allocation algorithm
that we will be able to share with r300_fragprog.

Unlike the original emit code, this code tries to pair instructions that
only use the RGB part of the ALU with instructions that only use the alpha
part. However, the pairing algorithm still has some shortcomings;
for example, it doesn't generate optimal code for the emulation of LIT.
src/mesa/drivers/dri/r300/Makefile
src/mesa/drivers/dri/r300/r300_context.h
src/mesa/drivers/dri/r300/r300_reg.h
src/mesa/drivers/dri/r300/r500_fragprog.c
src/mesa/drivers/dri/r300/r500_fragprog_emit.c
src/mesa/drivers/dri/r300/radeon_program.h
src/mesa/drivers/dri/r300/radeon_program_pair.c [new file with mode: 0644]
src/mesa/drivers/dri/r300/radeon_program_pair.h [new file with mode: 0644]