From 3e32ea3232fa773172a7ed20ad08f88dce96e4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 24 Dec 2024 13:56:29 -0500 Subject: [PATCH] st/mesa: assert that all incoming shaders use lowered IO Reviewed-by: Alyssa Rosenzweig Part-of: --- src/mesa/state_tracker/st_nir_builtins.c | 2 ++ src/mesa/state_tracker/st_program.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/mesa/state_tracker/st_nir_builtins.c b/src/mesa/state_tracker/st_nir_builtins.c index b7cfebec9aa..fecf4846810 100644 --- a/src/mesa/state_tracker/st_nir_builtins.c +++ b/src/mesa/state_tracker/st_nir_builtins.c @@ -74,6 +74,8 @@ st_nir_finish_builtin_nir(struct st_context *st, nir_shader *nir) if (!screen->caps.nir_images_as_deref) NIR_PASS(_, nir, gl_nir_lower_images, false); + assert(nir->info.stage == MESA_SHADER_COMPUTE || nir->info.io_lowered); + if (nir->info.io_lowered && !(nir->options->io_options & nir_io_has_intrinsics)) { NIR_PASS(_, nir, st_nir_unlower_io_to_vars); diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 77fac642ed3..3c2f6d49d65 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -853,6 +853,9 @@ st_create_common_variant(struct st_context *st, key->is_draw_shader); } + assert(state.ir.nir->info.stage == MESA_SHADER_COMPUTE || + state.ir.nir->info.io_lowered); + /* This should be after all passes that touch IO. */ if (state.ir.nir->info.io_lowered && (!(state.ir.nir->options->io_options & nir_io_has_intrinsics) || @@ -1245,6 +1248,8 @@ st_create_fp_variant(struct st_context *st, finalize = true; } + assert(state.ir.nir->info.io_lowered); + /* This should be after all passes that touch IO. */ if (state.ir.nir->info.io_lowered && !(state.ir.nir->options->io_options & nir_io_has_intrinsics)) {