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 <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3950>
This commit is contained in:
Alyssa Rosenzweig
2020-02-25 08:16:52 -05:00
committed by Tomeu Vizoso
parent 23c8597172
commit 03822a27e6
+1 -1
View File
@@ -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;