Module: Mesa Branch: master Commit: d0657ee837955a7d9f8e1a9a5f0202b6d6dd2970 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0657ee837955a7d9f8e1a9a5f0202b6d6dd2970
Author: Marek Olšák <[email protected]> Date: Thu Nov 12 11:56:25 2020 -0500 radeonsi: fix NGG streamout regression num_stream_output_components has to be set for non-GS too. Fixes: 81d106d6eca - radeonsi: lower IO intrinsics - complete rewrite of input/output scanning Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7542> --- src/gallium/drivers/radeonsi/si_shader_nir.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c index 3400da04ef6..0598d4d05ed 100644 --- a/src/gallium/drivers/radeonsi/si_shader_nir.c +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c @@ -139,18 +139,16 @@ static void scan_io_usage(struct si_shader_info *info, nir_intrinsic_instr *intr info->output_readmask[loc] |= mask; } else if (mask) { /* Output stores. */ - if (info->stage == MESA_SHADER_GEOMETRY) { - unsigned gs_streams = (uint32_t)nir_intrinsic_io_semantics(intr).gs_streams << - (nir_intrinsic_component(intr) * 2); - unsigned new_mask = mask & ~info->output_usagemask[loc]; - - for (unsigned i = 0; i < 4; i++) { - unsigned stream = (gs_streams >> (i * 2)) & 0x3; - - if (new_mask & (1 << i)) { - info->output_streams[loc] |= stream << (i * 2); - info->num_stream_output_components[stream]++; - } + unsigned gs_streams = (uint32_t)nir_intrinsic_io_semantics(intr).gs_streams << + (nir_intrinsic_component(intr) * 2); + unsigned new_mask = mask & ~info->output_usagemask[loc]; + + for (unsigned i = 0; i < 4; i++) { + unsigned stream = (gs_streams >> (i * 2)) & 0x3; + + if (new_mask & (1 << i)) { + info->output_streams[loc] |= stream << (i * 2); + info->num_stream_output_components[stream]++; } } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
