From: Rob Clark Date: Mon, 18 May 2020 21:14:51 +0000 (-0700) Subject: freedreno/a6xx: fix vsc assert X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=11470fcde266aa8b864b6a114fc923b2b8e5907a;p=mesa.git 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 Part-of: --- 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