Mesa (master): r300/compiler: Enable presubtract sources

Tom Stellard tstellar at kemper.freedesktop.org
Fri Sep 10 19:54:07 PDT 2010


Module: Mesa
Branch: master
Commit: 63432ecfce5415fbf07f1781ec77b5ea3efff599
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=63432ecfce5415fbf07f1781ec77b5ea3efff599

Author: Tom Stellard <tstellar at gmail.com>
Date:   Tue Jul 13 21:25:27 2010 -0700

r300/compiler: Enable presubtract sources

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.

---

 src/gallium/drivers/r300/r300_fs.c                 |    1 +
 src/gallium/drivers/r300/r300_vs.c                 |    1 +
 src/mesa/drivers/dri/r300/compiler/r300_fragprog.c |   76 ++++++-
 .../drivers/dri/r300/compiler/r300_fragprog_emit.c |   49 ++++
 .../dri/r300/compiler/r300_fragprog_swizzle.c      |   33 ++-
 .../drivers/dri/r300/compiler/r500_fragprog_emit.c |   37 +++
 .../drivers/dri/r300/compiler/radeon_compiler.h    |    1 +
 .../drivers/dri/r300/compiler/radeon_dataflow.c    |  128 ++++++++---
 .../drivers/dri/r300/compiler/radeon_optimize.c    |  245 ++++++++++++++++++--
 .../dri/r300/compiler/radeon_pair_schedule.c       |  158 +++++++++++++-
 .../dri/r300/compiler/radeon_pair_translate.c      |   53 +++++
 .../drivers/dri/r300/compiler/radeon_program.h     |   11 +-
 .../dri/r300/compiler/radeon_program_constants.h   |   36 +++-
 .../dri/r300/compiler/radeon_program_pair.c        |  185 ++++++++++++++-
 .../dri/r300/compiler/radeon_program_pair.h        |   33 +++-
 .../dri/r300/compiler/radeon_program_print.c       |   87 +++++++-
 .../dri/r300/compiler/radeon_remove_constants.c    |   34 +++-
 17 files changed, 1074 insertions(+), 94 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=63432ecfce5415fbf07f1781ec77b5ea3efff599


More information about the mesa-commit mailing list