summaryrefslogtreecommitdiffstats
path: root/src/freedreno/ir3/meson.build
diff options
context:
space:
mode:
authorEduardo Lima Mitev <[email protected]>2019-01-13 20:10:34 +0100
committerEduardo Lima Mitev <[email protected]>2019-03-13 21:19:44 +0100
commit9dd0cfafc9ec4b4efb1e2df0329afc7a5a534231 (patch)
tree0752c6c7dcdcaec22ab5c4330d69196e6dc653ed /src/freedreno/ir3/meson.build
parent6ff50a488a12f86069bff88e3ad1b6473a76f014 (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.build1
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',