radeonsi: set VS_OUT_MISC_SIDE_BUS_ENA=1 for clip distance exports on gfx10.3
authorMarek Olšák <marek.olsak@amd.com>
Mon, 12 Sep 2022 16:48:28 +0000 (12:48 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 20 Sep 2022 04:26:46 +0000 (04:26 +0000)
This should improve performance of clip distances.

Reviewed-by: Pierre-eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18639>

src/gallium/drivers/radeonsi/si_state_shaders.cpp

index 1b6154d..fb301bd 100644 (file)
@@ -1336,7 +1336,9 @@ static unsigned si_get_vs_out_cntl(const struct si_shader_selector *sel,
           S_02881C_USE_VTX_RENDER_TARGET_INDX(sel->info.writes_layer) |
           S_02881C_USE_VTX_VIEWPORT_INDX(sel->info.writes_viewport_index) |
           S_02881C_VS_OUT_MISC_VEC_ENA(misc_vec_ena) |
-          S_02881C_VS_OUT_MISC_SIDE_BUS_ENA(misc_vec_ena);
+          S_02881C_VS_OUT_MISC_SIDE_BUS_ENA(misc_vec_ena ||
+                                            (sel->screen->info.gfx_level >= GFX10_3 &&
+                                             shader->info.nr_pos_exports > 1));
 }
 
 /**