diff --git a/.pick_status.json b/.pick_status.json index a5f9e4d405b..a2b953aaf7f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -553,7 +553,7 @@ "description": "zink: read shader image r/w usage from incoming data struct", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index fef3d643dbe..d5a8a43026d 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -1475,11 +1475,11 @@ zink_set_shader_images(struct pipe_context *pctx, /* no refs */ memcpy(&image_view->base, images + i, sizeof(struct pipe_image_view)); VkAccessFlags access = 0; - if (image_view->base.access & PIPE_IMAGE_ACCESS_WRITE) { + if (images[i].access & PIPE_IMAGE_ACCESS_WRITE) { res->write_bind_count[p_stage == PIPE_SHADER_COMPUTE]++; access |= VK_ACCESS_SHADER_WRITE_BIT; } - if (image_view->base.access & PIPE_IMAGE_ACCESS_READ) { + if (images[i].access & PIPE_IMAGE_ACCESS_READ) { access |= VK_ACCESS_SHADER_READ_BIT; } res->image_bind_count[p_stage == PIPE_SHADER_COMPUTE]++;