Mesa (main): freedreno/a6xx: Add missing PC_CCU_INVALIDATE_x

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 26 21:30:21 UTC 2021


Module: Mesa
Branch: main
Commit: 53c39f710ffa86fbc1107002b818cb5ed8ddd1f0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=53c39f710ffa86fbc1107002b818cb5ed8ddd1f0

Author: Rob Clark <robdclark at chromium.org>
Date:   Fri Jul 23 17:10:51 2021 -0700

freedreno/a6xx: Add missing PC_CCU_INVALIDATE_x

The kernel normally inserts these between submits, but when we merge
submits in userspace we need to add them ourselves.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5114
Fixes: cccdc513e3e ("freedreno/drm/sp: Implement deferred submit merging")
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12049>

---

 src/gallium/drivers/freedreno/a6xx/fd6_emit.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.h b/src/gallium/drivers/freedreno/a6xx/fd6_emit.h
index e829970a4cb..5d54f8d8a1a 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.h
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.h
@@ -170,6 +170,8 @@ fd6_event_write(struct fd_batch *batch, struct fd_ringbuffer *ring,
 static inline void
 fd6_cache_inv(struct fd_batch *batch, struct fd_ringbuffer *ring)
 {
+   fd6_event_write(batch, ring, PC_CCU_INVALIDATE_COLOR, false);
+   fd6_event_write(batch, ring, PC_CCU_INVALIDATE_DEPTH, false);
    fd6_event_write(batch, ring, CACHE_INVALIDATE, false);
 }
 



More information about the mesa-commit mailing list