diff options
author | Eduardo Lima Mitev <[email protected]> | 2019-01-13 20:10:34 +0100 |
---|---|---|
committer | Eduardo Lima Mitev <[email protected]> | 2019-03-13 21:19:44 +0100 |
commit | 9dd0cfafc9ec4b4efb1e2df0329afc7a5a534231 (patch) | |
tree | 0752c6c7dcdcaec22ab5c4330d69196e6dc653ed /src/freedreno/ir3/meson.build | |
parent | 6ff50a488a12f86069bff88e3ad1b6473a76f014 (diff) |
ir3/nir: Add a new pass 'ir3_nir_lower_io_offsets'
This NIR->NIR pass implements offset computations that are currently
done on the IR3 backend compiler, to give NIR a better chance of
optimizing them.
For now, it supports lowering the dword-offset computation for SSBO
instructions. It will take an SSBO intrinsic and replace it with the
new ir3-specific version that adds an extra source. That source will
hold the SSA value resulting from inserting a division by 4 (an SHR op)
of the original byte-offset source already provided by NIR in one of
the intrinsic sources.
Note that on a6xx the original byte-offset is not needed, so we could
potentially replace that source instead of adding a new one. But to
keep things simple and consistent we always add the new source and
a6xx will just ignore the original one.
Reviewed-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/freedreno/ir3/meson.build')
-rw-r--r-- | src/freedreno/ir3/meson.build | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/freedreno/ir3/meson.build b/src/freedreno/ir3/meson.build index 5f87ca6185b..d210211cc97 100644 --- a/src/freedreno/ir3/meson.build +++ b/src/freedreno/ir3/meson.build @@ -50,6 +50,7 @@ libfreedreno_ir3_files = files( 'ir3_legalize.c', 'ir3_nir.c', 'ir3_nir.h', + 'ir3_nir_lower_io_offsets.c', 'ir3_nir_lower_tg4_to_tex.c', 'ir3_print.c', 'ir3_ra.c', |