summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-04-23 11:01:00 -0700
committerKenneth Graunke <[email protected]>2019-02-21 10:26:06 -0800
commit01fe6df0eda62842a0b2332bce2a5a47acd10a70 (patch)
tree972f24f6bb71857ae0a4d09fc4cd52e0da2b98a4
parent063fc7bbb0b125f1b3dc82721b40074aa35d60b5 (diff)
iris: make blorp pin the binder
-rw-r--r--src/gallium/drivers/iris/iris_binder.c3
-rw-r--r--src/gallium/drivers/iris/iris_blorp.c1
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,