diff options
author | Kenneth Graunke <[email protected]> | 2018-04-23 11:01:00 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:06 -0800 |
commit | 01fe6df0eda62842a0b2332bce2a5a47acd10a70 (patch) | |
tree | 972f24f6bb71857ae0a4d09fc4cd52e0da2b98a4 | |
parent | 063fc7bbb0b125f1b3dc82721b40074aa35d60b5 (diff) |
iris: make blorp pin the binder
-rw-r--r-- | src/gallium/drivers/iris/iris_binder.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/iris/iris_blorp.c | 1 |
2 files changed, 4 insertions, 0 deletions
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, |