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: b43e5aec0d ("freedreno/batch: Move submit bo tracking to batch")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26162>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user