summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
AgeCommit message (Collapse)Author
2011-01-23r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák
The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
2010-11-26r300/compiler: add a function for swizzling a maskMarek Olšák
2010-11-21r300/compiler: Use presubtract operations as much as possibleTom Stellard
Previously, presubtract operations where only being used by instructions with less than three source source registers.
2010-11-21r300/compiler: Track readers through branches in rc_get_readers()Tom Stellard
2010-11-21r300/compiler: Add rc_get_readers()Tom Stellard
2010-11-21r300/compiler: Make sure presubtract sources use supported swizzlesTom Stellard
NOTE: This is a candidate for the 7.9 branch.
2010-10-30r300/compiler: Don't clobber presubtract sources during optimizationsTom Stellard
https://bugs.freedesktop.org/show_bug.cgi?id=28294
2010-10-27r300/compiler: Use rc_get_readers_normal() for presubtract optimizationsTom Stellard
2010-10-18r300/compiler: Add a new function for more efficient dataflow analysisTom Stellard
rc_get_readers_normal() supplies a list of readers for a given instruction. This function is now being used by the copy propagate optimization and will eventually be used by most other optimization passes as well.
2010-10-18r300/compiler: Clear empty registers after constant foldingTom Stellard
2010-09-29r300/compiler: Move declaration before code.Vinson Lee
Fixes these GCC warning on linux-x86 build. radeon_optimize.c: In function ‘constant_folding’: radeon_optimize.c:419: warning: ISO C90 forbids mixed declarations and code radeon_optimize.c:425: warning: ISO C90 forbids mixed declarations and code radeon_optimize.c:432: warning: ISO C90 forbids mixed declarations and code
2010-09-28r300/compiler: do not use copy propagation if SaturateMode is usedMarek Olšák
NOTE: This is a candidate for the 7.9 branch.
2010-09-25r300/compiler: Fix two mistakes in the presubtract optimization pass.Tom Stellard
1. We can't turn an instruction into a presubtract operation if it writes to one of the registers it reads from. 2. If we turn an instruction into a presubtract operation, we can't remove that intruction unless all readers can use the presubtract operation. This fixes fdo bug 30337. This is a candidate for the 7.9 branch.
2010-09-10r300/compiler: Reorganize presub_helper()Tom Stellard
2010-09-10r300/compiler: Don't use presubtract in TEX instructionsTom Stellard
2010-09-10r300/compiler: Fix dataflow bug in presub_helper()Tom Stellard
2010-09-10r300/compiler: Fix copy propigation for some presub instructionsTom Stellard
2010-09-10r300/compiler: Add peephole optimization for the 'sub' presubtract operationTom Stellard
2010-09-10r300/compiler: Add peephole optimization for the 'add' presubtract operationTom Stellard
2010-09-10r300/compiler: Enable presubtract sourcesTom Stellard
The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation.
2010-09-04r300/compiler: fix handling of indexed temporaries in peepholeMarek Olšák
2010-09-04r300/compiler: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák
2010-09-04r300/compiler: refactor fragment shader compilationMarek Olšák
This cleans up the mess in r3xx_compile_fragment_program.
2010-08-03r300/compiler: r500 hw support for break and continue in loops.Tom Stellard
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.
2010-07-03r300/compiler: Don't continue copy propagation inside loops.Tom Stellard
2010-07-03r300/compiler: In the peephole optimizer, ELSE should mark the end of aTom Stellard
block.
2010-05-19r300/compiler: Implement constant foldingNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2010-05-16r300/compiler: fix peephole optimizerTom Stellard
Tested-by: Marek Olšák <maraeo@gmail.com>
2010-05-16r300/compiler: Implement simple peephole optimizerNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>