aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2020-05-18 14:14:51 -0700
committerMarge Bot <[email protected]>2020-05-29 19:35:08 +0000
commit11470fcde266aa8b864b6a114fc923b2b8e5907a (patch)
tree8c71a7e9c05e556db2bb41eb7f7b25463184eb20 /src/gallium/drivers/freedreno
parentf6f7bc2979926faff3abecfb52533e7043fc05a5 (diff)
freedreno/a6xx: fix vsc assert
Fixes a debug build assert seeing with an android app. Not quite sure which path was passing us draw_info w/ instance_count==0. But we should just treat non-instanced draws as having a single instance. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5091>
Diffstat (limited to 'src/gallium/drivers/freedreno')
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_vsc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_vsc.c b/src/gallium/drivers/freedreno/a6xx/fd6_vsc.c
index daf97fe48ac..43b8c2753a9 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_vsc.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_vsc.c
@@ -114,12 +114,11 @@ draw_stream_size_bits(const struct pipe_draw_info *info, unsigned num_bins,
unsigned prim_strm_bits)
{
unsigned ndwords = prim_strm_bits / dword;
- assert(info->instance_count > 0);
return (bitfield_size_bits(num_bins) /* bitfield of bins */
+ 1 /* last-instance-bit */
+ number_size_bits(ndwords) /* size of corresponding prim strm */
+ 1 /* checksum */
- ) * info->instance_count;
+ ) * MAX2(1, info->instance_count);
}
void