Mesa (master): r300/compiler: Enable presubtract sources
Tom Stellard
tstellar at kemper.freedesktop.org
Sat Sep 11 02:54:07 UTC 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