From a76bdcd34c13ef11d0ecf5e220cff4788a433a45 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 7 Apr 2023 12:18:19 -0400 Subject: [PATCH] zink: run bo lowering passes for separate shader compile with uniform inlining this is otherwise unable to pass ntv Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 1d4c3b42e3b..ddbaf8cd195 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -3656,6 +3656,11 @@ zink_shader_compile_separate(struct zink_screen *screen, struct zink_shader *zs) default: break; } } + if (screen->driconf.inline_uniforms) { + NIR_PASS_V(nir, nir_lower_io_to_scalar, nir_var_mem_global | nir_var_mem_ubo | nir_var_mem_ssbo | nir_var_mem_shared); + NIR_PASS_V(nir, rewrite_bo_access, screen); + NIR_PASS_V(nir, remove_bo_access, zs); + } optimize_nir(nir, zs); zink_descriptor_shader_init(screen, zs); struct zink_shader_object obj = compile_module(screen, zs, nir, true);