Module: Mesa Branch: main Commit: 4807c1e173e8aef4cba7ba60e6ed38248cb4d7a9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4807c1e173e8aef4cba7ba60e6ed38248cb4d7a9
Author: Rob Clark <robdcl...@chromium.org> Date: Sun Nov 12 11:08:28 2023 -0800 freedreno: Always attach bo to submit Even if app triggers undefined behaviour by using a rsc on multiple contexts without a flush, we still should attach the bo to the batch. Fixes: b43e5aec0d2c ("freedreno/batch: Move submit bo tracking to batch") Signed-off-by: Rob Clark <robdcl...@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26162> --- src/gallium/drivers/freedreno/freedreno_batch.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/freedreno/freedreno_batch.c b/src/gallium/drivers/freedreno/freedreno_batch.c index 6af2c7af5b0..9c458e33e7d 100644 --- a/src/gallium/drivers/freedreno/freedreno_batch.c +++ b/src/gallium/drivers/freedreno/freedreno_batch.c @@ -549,8 +549,10 @@ fd_batch_resource_write(struct fd_batch *batch, struct fd_resource *rsc) * ctx dependencies and let the app have the undefined behavior * it asked for: */ - if (track->write_batch->ctx != batch->ctx) + if (track->write_batch->ctx != batch->ctx) { + fd_ringbuffer_attach_bo(batch->draw, rsc->bo); return; + } flush_write_batch(rsc); } @@ -599,6 +601,7 @@ fd_batch_resource_read_slowpath(struct fd_batch *batch, struct fd_resource *rsc) * by avoiding cross-ctx dependencies and let the app have the * undefined behavior it asked for: */ + fd_ringbuffer_attach_bo(batch->draw, rsc->bo); return; }