From: Alyssa Rosenzweig Date: Tue, 25 Feb 2020 13:16:52 +0000 (-0500) Subject: panfrost: Fix padded_vertex_count generation X-Git-Tag: upstream/20.1.8~3120 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03822a27e64e20e97b0f3c043e8bd3f584a3f93e;p=platform%2Fupstream%2Fmesa.git panfrost: Fix padded_vertex_count generation These two cases were flipped from the notes, leading to underestimates of the padded vertex count, manifesting as visual corruption (random geometry messed up). This issue was raised when noticing the corruption went away when dramaticlaly oversizing max_index on an instanced indexed draw, and then checking that padded_count >= vertex_count -- which turned out *not* to be the case on certain inputs, a clear issue. Hence looking into this routine... Signed-off-by: Alyssa Rosenzweig Reviewed-by: Tomeu Vizoso Part-of: --- diff --git a/src/panfrost/encoder/pan_attributes.c b/src/panfrost/encoder/pan_attributes.c index d4c8ab6..d0d7948 100644 --- a/src/panfrost/encoder/pan_attributes.c +++ b/src/panfrost/encoder/pan_attributes.c @@ -64,7 +64,7 @@ panfrost_large_padded_vertex_count(uint32_t vertex_count) switch (middle_two) { case 0b00: - if (nibble & 1) + if (!(nibble & 1)) return (1 << n) * 9; else return (1 << (n + 1)) * 5;