iris: Emit flushes for push constant source buffers
Push constant loading is not coherent with L3 according to the document that describes the hardware change for the vertex buffer L3 Bypass Disable field. If we've updated a push constant buffer with say, a blorp_buffer_copy, we may need to flush both the render cache and the tile cache. Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Rohan Garg <rohan.garg@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15275>
This commit is contained in:
committed by
Marge Bot
parent
bbd5714a7e
commit
1c8b4940eb
@@ -5617,6 +5617,9 @@ setup_constant_buffers(struct iris_context *ice,
|
||||
|
||||
assert(cbuf->buffer_offset % 32 == 0);
|
||||
|
||||
if (res)
|
||||
iris_emit_buffer_barrier_for(batch, res->bo, IRIS_DOMAIN_OTHER_READ);
|
||||
|
||||
push_bos->buffers[n].length = range->length;
|
||||
push_bos->buffers[n].addr =
|
||||
res ? ro_bo(res->bo, range->start * 32 + cbuf->buffer_offset)
|
||||
|
||||
Reference in New Issue
Block a user