radeonsi: fix si_num_prims_for_vertices for PIPE_PRIM_POLYGON
authorMarek Olšák <marek.olsak@amd.com>
Sun, 27 Dec 2020 03:13:13 +0000 (22:13 -0500)
committerMarge Bot <eric+marge@anholt.net>
Mon, 18 Jan 2021 01:17:19 +0000 (01:17 +0000)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>

src/gallium/drivers/radeonsi/si_state_draw.cpp

index 26598a1..7f9bdc6 100644 (file)
@@ -341,7 +341,8 @@ static unsigned si_num_prims_for_vertices(enum pipe_prim_type prim,
    case PIPE_PRIM_PATCHES:
       return count / vertices_per_patch;
    case PIPE_PRIM_POLYGON:
-      return count >= 3;
+      /* It's a triangle fan with different edge flags. */
+      return count >= 3 ? count - 2 : 0;
    case SI_PRIM_RECTANGLE_LIST:
       return count / 3;
    default: