Mesa (main): nir: Don't lower Task/Mesh I/O to temporaries

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Aug 28 04:47:08 UTC 2021


Module: Mesa
Branch: main
Commit: 4f52681a2ddeb9983f68df827bf92f09f6b71f9e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f52681a2ddeb9983f68df827bf92f09f6b71f9e

Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Fri Apr 30 00:01:28 2021 -0700

nir: Don't lower Task/Mesh I/O to temporaries

These won't work since a workgroup can span more than one thread, and
the temporaries are not shared memory.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Timur Kristóf <timur.kristof at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10600>

---

 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 2cb82353594..f767fab0eff 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;



More information about the mesa-commit mailing list