From: Kenneth Graunke Date: Wed, 29 Jan 2020 08:22:02 +0000 (-0800) Subject: i965: Use brw_batch_references in tex_busy check X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bdba744d700717a123232cf24647f11918fc0dcd;p=mesa.git i965: Use brw_batch_references in tex_busy check 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 Tested-by: Marge Bot Part-of: --- diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index fba925dee5a..bc72827802c 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -325,7 +325,8 @@ intel_upload_tex(struct gl_context * ctx, 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) {