radeonsi: enable accidentally disabled fast launch with non-indexed tri strips

Only *indexed* triangle strips hang.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8653>
This commit is contained in:
Marek Olšák 2021-01-14 08:23:04 -05:00 committed by Marge Bot
parent ea670ac150
commit 01e3d28829

View file

@ -1965,13 +1965,17 @@ static void si_draw_vbo(struct pipe_context *ctx,
min_direct_count >= 3 && !HAS_TESS && !HAS_GS) {
if (prim == PIPE_PRIM_TRIANGLES && !index_size) {
ngg_culling |= SI_NGG_CULL_GS_FAST_LAUNCH_TRI_LIST;
} else if (prim == PIPE_PRIM_TRIANGLE_STRIP) {
if (!index_size) {
ngg_culling |= SI_NGG_CULL_GS_FAST_LAUNCH_TRI_STRIP;
} else if (!primitive_restart) {
#if 0 /* It's disabled because this hangs: AMD_DEBUG=nggc torcs */
} else if (prim == PIPE_PRIM_TRIANGLE_STRIP && !primitive_restart) {
ngg_culling |= SI_NGG_CULL_GS_FAST_LAUNCH_TRI_STRIP |
SI_NGG_CULL_GS_FAST_LAUNCH_INDEX_SIZE_PACKED(MIN2(index_size, 3));
/* The index buffer will be emulated. */
index_size = 0;
ngg_culling |= SI_NGG_CULL_GS_FAST_LAUNCH_TRI_STRIP |
SI_NGG_CULL_GS_FAST_LAUNCH_INDEX_SIZE_PACKED(MIN2(index_size, 3));
/* The index buffer will be emulated. */
index_size = 0;
#endif
}
}
}