mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 19:20:08 +01:00
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:
parent
ea670ac150
commit
01e3d28829
1 changed files with 9 additions and 5 deletions
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue