From a43bfffe1e7464f876f68dfc98b886b47a4d9690 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 8 Jul 2025 23:31:08 +0200 Subject: [PATCH] r600: Correct nir_indirect_supported_mask The option lower_all_io_to_temps was only set to true for FS, consequently the correct mask includes all shaders but the FS. Fixes: a86f32a1aea0c2dabb01421d8b93290cc5cef626 etnaviv,r600,v3d,virgl: report correct nir_options::support_indirect_* Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/r600_pipe_common.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe_common.c b/src/gallium/drivers/r600/r600_pipe_common.c index 1ff16d6afa0..9733728eb35 100644 --- a/src/gallium/drivers/r600/r600_pipe_common.c +++ b/src/gallium/drivers/r600/r600_pipe_common.c @@ -1219,8 +1219,11 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen, } rscreen->nir_options_fs = rscreen->nir_options; - rscreen->nir_options.support_indirect_inputs = BITFIELD_BIT(PIPE_SHADER_TESS_CTRL); - rscreen->nir_options.support_indirect_outputs = BITFIELD_BIT(PIPE_SHADER_TESS_CTRL); + uint8_t indirect_supported_mask = + (uint8_t)BITFIELD_MASK(PIPE_SHADER_TYPES) & + ~BITFIELD_BIT(PIPE_SHADER_FRAGMENT); + rscreen->nir_options.support_indirect_inputs = indirect_supported_mask; + rscreen->nir_options.support_indirect_outputs = indirect_supported_mask; return true; }