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@whitecape.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10600>
This commit is contained in:
Caio Marcelo de Oliveira Filho 2021-04-30 00:01:28 -07:00 committed by Marge Bot
parent 27697d5eb8
commit 4f52681a2d
1 changed files with 3 additions and 1 deletions

View File

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