freedreno/a6xx: Fix z/s preserving sysmem clear blit

Need to ignore color attachments in that logic.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10466
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28249>
This commit is contained in:
Rob Clark 2024-03-18 14:39:50 -07:00 committed by Marge Bot
parent 42ad4c6e6e
commit 5ee8fd6b49

View file

@ -1533,6 +1533,7 @@ needs_resolve(struct pipe_surface *psurf)
static uint32_t
fd6_unknown_8c01(enum pipe_format format, unsigned buffers)
{
buffers &= FD_BUFFER_DEPTH | FD_BUFFER_STENCIL;
if (format == PIPE_FORMAT_Z24_UNORM_S8_UINT) {
if (buffers == FD_BUFFER_DEPTH)
return 0x08000041;
@ -1770,7 +1771,7 @@ emit_sysmem_clears(struct fd_batch *batch, struct fd_batch_subpass *subpass)
}
}
fd6_emit_flushes(ctx, ring, FD6_FLUSH_CCU_COLOR);
fd6_emit_flushes(ctx, ring, FD6_FLUSH_CCU_COLOR | FD6_INVALIDATE_CCU_COLOR);
trace_end_clears(&batch->trace, ring);
}