v3d: Primitive Counts Feedback needs an extra 32-bit padding.
authorJose Maria Casanova Crespo <jmcasanova@igalia.com>
Wed, 8 Apr 2020 18:51:52 +0000 (20:51 +0200)
committerJose Maria Casanova Crespo <jmcasanova@igalia.com>
Fri, 10 Apr 2020 08:02:56 +0000 (10:02 +0200)
commitb06fdb8edd9ef999ee8707335888f7609c144102
treea3828736c0d75dd79ddfb2424b93cbb9c737a387
parent38622de2ec3328d601f415b9f910210bf64caf6f
v3d: Primitive Counts Feedback needs an extra 32-bit padding.

Store Primitive Counts operations write 7 counters in 32-bit words
but also a padding 32-bit with 0. So we need 8 32-bit words instead
of the current 7 allocated.

This was causing an corruption in the next buffer when Transform
Feedback was enabled that were exposed on tests like:
dEQP-GLES3.functional.transform_feedback.*.points.*

This patch fixes 196 tests that were failing when they were run isolated
but they were passing when run using cts-runner.

Fixes: 0f2d1dfe65bf ("v3d: use the GPU to record primitives written to transform feedback")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2674
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4501>
src/gallium/drivers/v3d/v3dx_state.c