zink: run the cubemap -> array compiler pass if the shader key is set

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536>
This commit is contained in:
Mike Blumenkrantz
2022-03-21 14:51:19 -04:00
committed by Marge Bot
parent f97014c3da
commit dac830b5ad

View File

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