If the batch references the buffer, we will have to flush the batch
immediately before mapping it, at which point it will be busy.
(This bug has existed for a long time...even going back to BLT-era...)
Fixes: 779923194c6 ("i965/tex_image: Use meta for instead of the blitter PBO TexImage and GetTexImage")
Fixes: d5d4ba9139a ("i965/tex_subimage: use meta instead of the blitter for PBO TexSubImage")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3616>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3616>
if (pixels == NULL && !_mesa_is_bufferobj(packing->BufferObj))
return;
- bool tex_busy = mt && brw_bo_busy(mt->bo);
+ bool tex_busy = mt &&
+ (brw_batch_references(&brw->batch, mt->bo) || brw_bo_busy(mt->bo));
if (_mesa_is_bufferobj(packing->BufferObj) || tex_busy ||
mt->aux_usage == ISL_AUX_USAGE_CCS_E) {