From 43efccb65701e716d837d5d93b8b6e8fed0cec26 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 27 Sep 2019 14:55:58 -0400 Subject: [PATCH] tgsi_to_nir: use pipe_screen::finalize_nir Reviewed-by: Kenneth Graunke --- src/gallium/auxiliary/nir/tgsi_to_nir.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c index 3753ac75e92..bd0b47a856f 100644 --- a/src/gallium/auxiliary/nir/tgsi_to_nir.c +++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c @@ -2626,7 +2626,7 @@ ttn_optimize_nir(nir_shader *nir) * so we have to do it here too. */ static void -ttn_finalize_nir(struct ttn_compile *c) +ttn_finalize_nir(struct ttn_compile *c, struct pipe_screen *screen) { struct nir_shader *nir = c->build.shader; @@ -2644,8 +2644,13 @@ ttn_finalize_nir(struct ttn_compile *c) if (!c->cap_samplers_as_deref) NIR_PASS_V(nir, nir_lower_samplers); - ttn_optimize_nir(nir); - nir_shader_gather_info(nir, c->build.impl); + if (screen->finalize_nir) { + screen->finalize_nir(screen, nir, true); + } else { + ttn_optimize_nir(nir); + nir_shader_gather_info(nir, c->build.impl); + } + nir_validate_shader(nir, "TTN: after all optimizations"); } @@ -2658,7 +2663,7 @@ tgsi_to_nir(const void *tgsi_tokens, c = ttn_compile_init(tgsi_tokens, NULL, screen); s = c->build.shader; - ttn_finalize_nir(c); + ttn_finalize_nir(c, screen); ralloc_free(c); return s; -- 2.30.2