diff --git a/.pick_status.json b/.pick_status.json index 8d4c3ed21e1..b1bb37bbe6d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3374,7 +3374,7 @@ "description": "zink: set zink_bo is_user_ptr on creation", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/zink/zink_bo.c b/src/gallium/drivers/zink/zink_bo.c index 40dc79e11ca..fee3aa2a660 100644 --- a/src/gallium/drivers/zink/zink_bo.c +++ b/src/gallium/drivers/zink/zink_bo.c @@ -308,6 +308,9 @@ bo_create_internal(struct zink_screen *screen, goto fail; } + VkImportMemoryHostPointerInfoEXT *hpi = vk_find_struct(&mai, IMPORT_MEMORY_HOST_POINTER_INFO_EXT); + bo->u.real.is_user_ptr = hpi && hpi->pHostPointer; + if (init_pb_cache) { bo->u.real.use_reusable_pool = true; pb_cache_init_entry(&screen->pb.bo_cache, bo->cache_entry, &bo->base.base, mem_type_idx);