zink: don't generate VK_ACCESS_SHADER_READ_BIT barrier for vertex inputs

this is both redundant and illegal

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15827>
This commit is contained in:
Mike Blumenkrantz 2022-04-08 10:13:56 -04:00 committed by Marge Bot
parent 3bd9fcfa3d
commit b6ddf8f0a4
1 changed files with 3 additions and 2 deletions

View File

@ -399,8 +399,9 @@ update_barriers(struct zink_context *ctx, bool is_compute)
if (res->write_bind_count[is_compute])
access |= VK_ACCESS_SHADER_READ_BIT;
/* TODO: there are no other write-only buffer descriptors without deeper shader analysis */
if (res->image_bind_count[is_compute] != res->bind_count[is_compute] ||
res->write_bind_count[is_compute] != res->image_bind_count[is_compute])
if (pipeline != VK_PIPELINE_STAGE_VERTEX_INPUT_BIT &&
(res->image_bind_count[is_compute] != res->bind_count[is_compute] ||
res->write_bind_count[is_compute] != res->image_bind_count[is_compute]))
access |= VK_ACCESS_SHADER_READ_BIT;
} else {
if (res->bind_count[is_compute] != res->write_bind_count[is_compute])