diff options
author | Marek Olšák <marek.olsak@amd.com> | 2020-12-26 22:13:13 -0500 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-01-18 01:17:19 +0000 |
commit | c43d00dc915e9f43cd87d752bef1f8dc9ec25e34 (patch) | |
tree | 69a4d602d5564389298020c967c3956c36dbe2b5 | |
parent | 6682c1603ce01956b5ec10da5df69451116b74f6 (diff) |
radeonsi: fix si_num_prims_for_vertices for PIPE_PRIM_POLYGON
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state_draw.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.cpp b/src/gallium/drivers/radeonsi/si_state_draw.cpp index 26598a1ddf4..7f9bdc63ac7 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.cpp +++ b/src/gallium/drivers/radeonsi/si_state_draw.cpp @@ -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: |