Mesa (master): freedreno: a2xx: ir2 update

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 14 16:52:29 UTC 2018


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

Author: Jonathan Marek <jonathan at marek.ca>
Date:   Tue Jul 24 08:58:24 2018 -0400

freedreno: a2xx: ir2 update

this patch brings a number of changes to ir2:
-ir2 now generates CF clauses as necessary during assembly. this simplifies
 fd2_program/fd2_compiler and is necessary to implement optimization passes
-ir2 now has separate vector/scalar instructions. this will make it easier
 to implementing scheduling of scalar+vector instructions together. dst_reg
 is also now seperate from src registers instead of a single list
-ir2 now implements register allocation. this makes it possible to compile
 shaders which have more than 64 TGSI registers
-ir2 now implements the following optimizations: removal of IN/OUT MOV
 instructions generated by TGSI and removal of unused instructions when
 some exports are disabled
-ir2 now allows full 8-bit index for constants
-ir2_alloc no longer allocates 4 times too many bytes

Signed-off-by: Jonathan Marek <jonathan at marek.ca>
Signed-off-by: Rob Clark <robdclark at gmail.com>

---

 src/gallium/drivers/freedreno/a2xx/fd2_compiler.c | 210 ++-----
 src/gallium/drivers/freedreno/a2xx/fd2_program.c  |  75 +--
 src/gallium/drivers/freedreno/a2xx/instr-a2xx.h   |  28 +-
 src/gallium/drivers/freedreno/a2xx/ir-a2xx.c      | 734 +++++++++++++---------
 src/gallium/drivers/freedreno/a2xx/ir-a2xx.h      | 113 ++--
 5 files changed, 615 insertions(+), 545 deletions(-)

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



More information about the mesa-commit mailing list