aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915/i915_fpc_optimize.c
Commit message (Collapse)AuthorAgeFilesLines
* i915g: Add more optimizationsStéphane Marchesin2013-09-041-49/+359
| | | | | | | | | This patch adds liveness analysis to i915g and a couple optimizations which benefit from it. One interesting optimization turns (fake) indirect texture accesses into direct texture accesses (the i915 supports a maximum of 4 indirect texture accesses). Among other things this fixes a bunch of piglit tests.
* tgsi: rename the TGSI fragment kill opcodesBrian Paul2013-07-121-2/+2
| | | | | | | | | | | | | | | | | | | | | TGSI_OPCODE_KIL and KILP had confusing names. The former was conditional kill (if any src component < 0). The later was unconditional kill. At one time KILP was supposed to work with NV-style condition codes/predicates but we never had that in TGSI. This patch renames both opcodes: TGSI_OPCODE_KIL -> KILL_IF (kill if src.xyzw < 0) TGSI_OPCODE_KILP -> KILL (unconditional kill) Note: I didn't just transpose the opcode names to help ensure that I didn't miss updating any code anywhere. I believe I've updated all the relevant code and comments but I'm not 100% sure that some drivers had this right in the first place. For example, the radeon driver might have llvm.AMDGPU.kill and llvm.AMDGPU.kilp mixed up. Driver authors should review their code. Reviewed-by: Jose Fonseca <[email protected]>
* i915g: More ops commute.Stéphane Marchesin2012-06-151-6/+19
| | | | This allows using the optimizations more broadly.
* i915g: Fix bugs in the shader optimizer.Stéphane Marchesin2012-01-111-46/+80
|
* i915g: Only apply the optimization to output vars.Stéphane Marchesin2011-12-271-0/+1
| | | | | This is a bit overkill, but otherwise we need to rename subsequent uses, which is a future TODO. Reported by CME.
* i915g: Fix peephole optimization for MOVs.Stéphane Marchesin2011-09-221-0/+8
|
* i915g: Add an optimization to get rid of useless movs, in particular at the ↵Stéphane Marchesin2011-09-211-3/+38
| | | | end of some shaders.
* i915g: Fix bug in shader optimizer.Stéphane Marchesin2011-09-211-2/+2
|
* i915g: Make optimization more generic.Stéphane Marchesin2011-07-071-27/+58
|
* i915g: Apply optimization to ADDS/MUL and only if we're not saturating.Stéphane Marchesin2011-07-071-6/+27
|
* i915g: move code after declarationBrian Paul2011-07-061-1/+2
|
* i915g: Fix optimize so that it actually gets used.Stéphane Marchesin2011-07-061-1/+1
|
* i915g: Fix optimization, also make it more generic.Stéphane Marchesin2011-07-061-2/+26
|
* i915g: introduce the tiny shader optimizer.Stéphane Marchesin2011-07-061-0/+182