iris: make blorp pin the binder

This commit is contained in:
Kenneth Graunke 2018-04-23 11:01:00 -07:00
parent 063fc7bbb0
commit 01fe6df0ed
2 changed files with 4 additions and 0 deletions

View File

@ -33,6 +33,9 @@ void *
iris_binder_reserve(struct iris_binder *binder, unsigned size,
uint32_t *out_offset)
{
/* XXX: if we ever make this allocate a new BO, then make binder_reserve
* return the BO, so at least verify use_pinned_bo gets the right one
*/
/* XXX: Implement a real ringbuffer, for now just croak if run out */
assert(size > 0);
assert(binder->insert_point + size <= BINDER_SIZE);

View File

@ -132,6 +132,7 @@ blorp_alloc_binding_table(struct blorp_batch *blorp_batch,
uint32_t *bt_map = iris_binder_reserve(&ice->state.binder,
num_entries * sizeof(uint32_t),
bt_offset);
iris_use_pinned_bo(batch, ice->state.binder.bo, false);
for (unsigned i = 0; i < num_entries; i++) {
surface_maps[i] = stream_state(batch, ice->state.surface_uploader,