From 4f52681a2ddeb9983f68df827bf92f09f6b71f9e Mon Sep 17 00:00:00 2001 From: Caio Marcelo de Oliveira Filho Date: Fri, 30 Apr 2021 00:01:28 -0700 Subject: [PATCH] nir: Don't lower Task/Mesh I/O to temporaries MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit These won't work since a workgroup can span more than one thread, and the temporaries are not shared memory. Reviewed-by: Kenneth Graunke Reviewed-by: Timur Kristóf Part-of: --- src/compiler/nir/nir_lower_io_to_temporaries.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_lower_io_to_temporaries.c b/src/compiler/nir/nir_lower_io_to_temporaries.c index 2cb8235..f767fab 100644 --- a/src/compiler/nir/nir_lower_io_to_temporaries.c +++ b/src/compiler/nir/nir_lower_io_to_temporaries.c @@ -328,7 +328,9 @@ nir_lower_io_to_temporaries(nir_shader *shader, nir_function_impl *entrypoint, { struct lower_io_state state; - if (shader->info.stage == MESA_SHADER_TESS_CTRL) + if (shader->info.stage == MESA_SHADER_TESS_CTRL || + shader->info.stage == MESA_SHADER_TASK || + shader->info.stage == MESA_SHADER_MESH) return; state.shader = shader; -- 2.7.4