summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2020-12-26 22:13:13 -0500
committerMarge Bot <eric+marge@anholt.net>2021-01-18 01:17:19 +0000
commitc43d00dc915e9f43cd87d752bef1f8dc9ec25e34 (patch)
tree69a4d602d5564389298020c967c3956c36dbe2b5
parent6682c1603ce01956b5ec10da5df69451116b74f6 (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.cpp3
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: