zink: run nir_lower_dynamic_bo_access

this fixes up most cases of dynamic bo loading

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8314>
This commit is contained in:
Mike Blumenkrantz 2020-07-29 15:30:09 -04:00
parent 35e346f428
commit dbba989907
1 changed files with 4 additions and 0 deletions

View File

@ -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) {