diff --git a/.pick_status.json b/.pick_status.json index ddb9665e7c7..6d866d40b8d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4954,7 +4954,7 @@ "description": "zink: Return zink_device in create_logical_device", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "015eda4a4186c75538a0aa915e380c5ce5863319", "notes": null diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 7ec86d0090a..0faa0e15770 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -2661,7 +2661,7 @@ hack_it_up: return 1; } -static VkDevice +static struct zink_device* get_device(struct zink_screen *screen, VkDeviceCreateInfo *dci) { VkDevice dev = VK_NULL_HANDLE; @@ -2677,7 +2677,7 @@ get_device(struct zink_screen *screen, VkDeviceCreateInfo *dci) continue; zdev->refcount++; simple_mtx_unlock(&device_lock); - return zdev->dev; + return zdev; } VkResult result = VKSCR(CreateDevice)(screen->pdev, dci, NULL, &dev); @@ -2690,10 +2690,10 @@ get_device(struct zink_screen *screen, VkDeviceCreateInfo *dci) zdev->dev = dev; _mesa_set_add(&device_table, zdev); simple_mtx_unlock(&device_lock); - return dev; + return zdev; } -static VkDevice +static struct zink_device* zink_create_logical_device(struct zink_screen *screen) { VkDeviceQueueCreateInfo qci[2] = {0}; @@ -3453,7 +3453,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev init_driver_workarounds(screen); - screen->dev = zink_create_logical_device(screen); + screen->dev = zink_create_logical_device(screen)->dev; if (!screen->dev) goto fail;