iris: Properly tell the decoder about inherited binder addresses

iris may rely on 3DSTATE_BINDING_TABLE_POOL_ALLOC's address being
inherited from a previous batch.  So, we need to tell the decoder
about the address in case it sees binding tables to decode before
it encounters such a command in the batch.

We used to update surface_base, now we update bt_pool_base instead.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15625>
This commit is contained in:
Kenneth Graunke 2022-03-28 16:53:33 -07:00
parent 9bc97e4fc1
commit 50467aa558
1 changed files with 2 additions and 0 deletions

View File

@ -525,6 +525,8 @@ iris_batch_reset(struct iris_batch *batch)
batch->contains_fence_signal = false;
if (devinfo->ver < 11)
batch->decoder.surface_base = batch->last_binder_address;
else
batch->decoder.bt_pool_base = batch->last_binder_address;
create_batch(batch);
assert(batch->bo->index == 0);