From dac830b5adcab3eded96b1fbb2c35934484954cc Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 21 Mar 2022 14:51:19 -0400 Subject: [PATCH] zink: run the cubemap -> array compiler pass if the shader key is set Reviewed-by: Erik Faye-Lund Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index a9fd4614623..cf8a5c2eef4 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -38,6 +38,9 @@ #include "util/u_memory.h" +bool +zink_lower_cubemap_to_array(nir_shader *s, uint32_t nonseamless_cube_mask); + static void create_vs_pushconst(nir_shader *nir) { @@ -1363,6 +1366,10 @@ zink_shader_compile(struct zink_screen *screen, struct zink_shader *zs, nir_shad break; default: break; } + if (key->base.nonseamless_cube_mask) { + NIR_PASS_V(nir, zink_lower_cubemap_to_array, key->base.nonseamless_cube_mask); + need_optimize = true; + } } if (screen->driconf.inline_uniforms) { NIR_PASS_V(nir, nir_lower_io_to_scalar, nir_var_mem_ubo | nir_var_mem_ssbo | nir_var_mem_shared);