radv: enable DGC preprocessing for IBO

This seems to improve performance for Starfield by +1% and Halo Infinite
by +15%!

Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10025
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26172>
This commit is contained in:
Samuel Pitoiset 2023-11-13 10:02:49 +01:00 committed by Marge Bot
parent e59a16bbb8
commit 02ef01fa95

View file

@ -1505,10 +1505,6 @@ radv_dgc_can_preprocess(const struct radv_indirect_command_layout *layout, struc
* So we can always preprocess compute layouts.
*/
if (layout->pipeline_bind_point != VK_PIPELINE_BIND_POINT_COMPUTE) {
/* We embed the index buffer extent in indirect draw packets, but that isn't available at preprocess time. */
if (layout->indexed && !layout->binds_index_buffer)
return false;
/* VBO binding (in particular partial VBO binding) uses some draw state which we don't generate at preprocess time
* yet. */
if (layout->bind_vbo_mask)