diff options
author | Kenneth Graunke <[email protected]> | 2020-01-29 00:22:02 -0800 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-01-30 10:01:21 +0000 |
commit | bdba744d700717a123232cf24647f11918fc0dcd (patch) | |
tree | fec2659935712cd536f9d664f9db8bc4bf9c9988 | |
parent | d3fa18a1fa2b36e90c52e0f5809900dadf80d83f (diff) |
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 <[email protected]>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3616>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3616>
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_tex_image.c | 3 |
1 files changed, 2 insertions, 1 deletions
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) { |