diff --git a/.pick_status.json b/.pick_status.json index 84d23feec5d..5522c9dcdfa 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -604,7 +604,7 @@ "description": "iris: Pin pixel hashing table BO from iris_batch submission instead of from iris_state.", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c index 354cccbf8be..01c180eb644 100644 --- a/src/gallium/drivers/iris/iris_batch.c +++ b/src/gallium/drivers/iris/iris_batch.c @@ -626,6 +626,19 @@ add_aux_map_bos_to_batch(struct iris_batch *batch) } } +static void +add_pixel_hash_table_bo_to_batch(struct iris_batch *batch) +{ + + if (batch->ice->state.pixel_hashing_tables && + batch->name == IRIS_BATCH_RENDER) { + struct iris_bo *bo = iris_resource_bo( + batch->ice->state.pixel_hashing_tables); + ensure_exec_obj_space(batch, 1); + add_bo_to_batch(batch, bo, false); + } +} + static void finish_seqno(struct iris_batch *batch) { @@ -658,6 +671,7 @@ iris_finish_batch(struct iris_batch *batch) } add_aux_map_bos_to_batch(batch); + add_pixel_hash_table_bo_to_batch(batch); finish_seqno(batch); diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 35252a492ab..9a1cfd7010b 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -5936,13 +5936,6 @@ iris_restore_render_saved_bos(struct iris_context *ice, IRIS_DOMAIN_VF_READ); } } - -#if GFX_VERx10 == 125 - iris_use_pinned_bo(batch, iris_resource_bo(ice->state.pixel_hashing_tables), - false, IRIS_DOMAIN_NONE); -#else - assert(!ice->state.pixel_hashing_tables); -#endif } static void