diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 6b440b2f49a..235f5812780 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -207,9 +207,11 @@ get_image_usage_for_feats(struct zink_screen *screen, VkFormatFeatureFlags feats } if (bind & PIPE_BIND_RENDER_TARGET) { - if (feats & VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT) + if (feats & VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT) { usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; - else + if ((bind & (PIPE_BIND_LINEAR | PIPE_BIND_SHARED)) != (PIPE_BIND_LINEAR | PIPE_BIND_SHARED)) + usage |= VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT; + } else return 0; }