Mesa (master): r300/compiler: New dataflow structures and passes
Nicolai Hähnle
nh at kemper.freedesktop.org
Wed Oct 7 18:48:18 UTC 2009
Module: Mesa
Branch: master
Commit: e95e76e1255a3ad0ce604271301d090337b2e82b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e95e76e1255a3ad0ce604271301d090337b2e82b
Author: Nicolai Hähnle <nhaehnle at gmail.com>
Date: Sun Sep 6 11:47:40 2009 +0200
r300/compiler: New dataflow structures and passes
This replaces the old NQSSADCE code with the same functionality, but quite
different design. Instead of doing a single integerated pass, we now build
explicit data structures representing the dataflow.
This will enable analysis of flow control instruction, and could potentially
open an avenue for several dataflow based optimizations, such as peephole
optimization, fusing MUL+ADD to MAD, and so on.
---
src/mesa/drivers/dri/r300/compiler/Makefile | 8 +-
.../dri/r300/compiler/r300_fragprog_swizzle.c | 35 +-
.../dri/r300/compiler/r300_fragprog_swizzle.h | 7 +-
src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c | 38 +--
src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c | 50 ++--
src/mesa/drivers/dri/r300/compiler/r500_fragprog.c | 24 +-
src/mesa/drivers/dri/r300/compiler/r500_fragprog.h | 6 +-
.../drivers/dri/r300/compiler/radeon_compiler.c | 35 ++
.../drivers/dri/r300/compiler/radeon_compiler.h | 26 ++
.../drivers/dri/r300/compiler/radeon_dataflow.c | 106 ++++++
.../drivers/dri/r300/compiler/radeon_dataflow.h | 113 ++++++
.../dri/r300/compiler/radeon_dataflow_annotate.c | 365 ++++++++++++++++++++
.../dri/r300/compiler/radeon_dataflow_dealias.c | 150 ++++++++
.../dri/r300/compiler/radeon_dataflow_swizzles.c | 126 +++++++
.../drivers/dri/r300/compiler/radeon_nqssadce.c | 267 --------------
.../drivers/dri/r300/compiler/radeon_nqssadce.h | 92 -----
.../drivers/dri/r300/compiler/radeon_opcodes.c | 87 +++--
.../drivers/dri/r300/compiler/radeon_opcodes.h | 8 +
.../drivers/dri/r300/compiler/radeon_program.c | 150 +--------
.../drivers/dri/r300/compiler/radeon_program.h | 110 +-----
.../dri/r300/compiler/radeon_program_constants.h | 128 +++++++
.../dri/r300/compiler/radeon_program_print.c | 214 ++++++++++++
.../drivers/dri/r300/compiler/radeon_swizzle.h | 57 +++
src/mesa/drivers/dri/r300/r300_vertprog.c | 1 -
24 files changed, 1486 insertions(+), 717 deletions(-)
Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=e95e76e1255a3ad0ce604271301d090337b2e82b
More information about the mesa-commit
mailing list