From: Kenneth Graunke Date: Mon, 23 Apr 2018 18:01:00 +0000 (-0700) Subject: iris: make blorp pin the binder X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=01fe6df0eda62842a0b2332bce2a5a47acd10a70;p=mesa.git iris: make blorp pin the binder --- diff --git a/src/gallium/drivers/iris/iris_binder.c b/src/gallium/drivers/iris/iris_binder.c index b989a9c0ca7..408e2007ae2 100644 --- a/src/gallium/drivers/iris/iris_binder.c +++ b/src/gallium/drivers/iris/iris_binder.c @@ -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); diff --git a/src/gallium/drivers/iris/iris_blorp.c b/src/gallium/drivers/iris/iris_blorp.c index c61fb1b483e..6b43a86a658 100644 --- a/src/gallium/drivers/iris/iris_blorp.c +++ b/src/gallium/drivers/iris/iris_blorp.c @@ -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,