summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/meson.build
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2018-06-28 19:16:58 -0700
committerJason Ekstrand <[email protected]>2018-07-02 12:09:45 -0700
commit1235850522cd5e7b07701f7065996430ca1514b6 (patch)
treea9a412e5dd7bf31ef9f8a1df6ae423a05fbd2b3a /src/compiler/nir/meson.build
parentc90f221e0a1f89332189dd5ec79dccf6b251ecf5 (diff)
nir: Add a large constants optimization pass
This pass searches for reasonably large local variables which can be statically proven to be constant and moves them into shader constant data. This is especially useful when large tables are baked into the shader source code because they can be moved into a UBO by the driver to reduce register pressure and make indirect access cheaper. v2 (Jason Ekstrand): - Use a size/align function to ensure we get the right alignments - Use the newly added deref offset helpers Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/compiler/nir/meson.build')
-rw-r--r--src/compiler/nir/meson.build1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/nir/meson.build b/src/compiler/nir/meson.build
index eb7fb7b121e..28aa8de7014 100644
--- a/src/compiler/nir/meson.build
+++ b/src/compiler/nir/meson.build
@@ -160,6 +160,7 @@ files_libnir = files(
'nir_opt_global_to_local.c',
'nir_opt_if.c',
'nir_opt_intrinsics.c',
+ 'nir_opt_large_constants.c',
'nir_opt_loop_unroll.c',
'nir_opt_move_comparisons.c',
'nir_opt_move_load_ubo.c',