Mesa (master): zink: run nir_lower_dynamic_bo_access

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 5 13:44:00 UTC 2021


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Wed Jul 29 15:30:09 2020 -0400

zink: run nir_lower_dynamic_bo_access

this fixes up most cases of dynamic bo loading

Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8314>

---

 src/gallium/drivers/zink/zink_compiler.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c
index eb6068b317e..13413e89176 100644
--- a/src/gallium/drivers/zink/zink_compiler.c
+++ b/src/gallium/drivers/zink/zink_compiler.c
@@ -416,6 +416,8 @@ lower_baseinstance(nir_shader *shader)
    return nir_shader_instructions_pass(shader, lower_baseinstance_instr, nir_metadata_dominance, NULL);
 }
 
+bool nir_lower_dynamic_bo_access(nir_shader *shader);
+
 struct zink_shader *
 zink_shader_create(struct zink_screen *screen, struct nir_shader *nir,
                    const struct pipe_stream_output_info *so_info)
@@ -449,6 +451,8 @@ zink_shader_create(struct zink_screen *screen, struct nir_shader *nir,
    NIR_PASS_V(nir, lower_discard_if);
    NIR_PASS_V(nir, nir_lower_fragcolor);
    NIR_PASS_V(nir, lower_64bit_vertex_attribs);
+   if (nir->info.num_ubos || nir->info.num_ssbos)
+      NIR_PASS_V(nir, nir_lower_dynamic_bo_access);
    NIR_PASS_V(nir, nir_convert_from_ssa, true);
 
    if (zink_debug & ZINK_DEBUG_NIR) {



More information about the mesa-commit mailing list