panfrost: Make sure a clear does not re-use a pre-existing batch

Graphics / Mesa 3D Graphics Library / Mesa - Boris Brezillon [collabora.com] - 8 October 2019 08:07 EDT

glClear()s are expected to be the first thing GL apps do before drawing new things. If there's already an existing batch targetting the same FBO that has draws attached to it, we should make sure the new clear gets a new batch assigned to guaranteed that the FB content is actually cleared with the requested color/depth/stencil values.

We create a panfrost_get_fresh_batch_for_fbo() helper for that and call it from panfrost_clear().

c138ca80d23 panfrost: Make sure a clear does not re-use a pre-existing batch
.gitlab-ci/deqp-panfrost-t760-fails.txt | 118 ----------------------
.gitlab-ci/deqp-panfrost-t860-fails.txt | 152 -----------------------------
src/gallium/drivers/panfrost/pan_context.c | 9 +-
src/gallium/drivers/panfrost/pan_job.c | 21 ++++
src/gallium/drivers/panfrost/pan_job.h | 3 +
5 files changed, 32 insertions(+), 271 deletions(-)

Upstream: cgit.freedesktop.org


  • Share