zink: use a zink_render_pass_pipeline_state bit for fbfetch

improve compatibility detection

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16621>
This commit is contained in:
Mike Blumenkrantz 2022-05-19 19:37:05 -04:00 committed by Marge Bot
parent 54b7227f15
commit f4aa727e44
2 changed files with 3 additions and 1 deletions

View file

@ -83,6 +83,7 @@ create_render_pass2(struct zink_screen *screen, struct zink_render_pass_state *s
memcpy(&input_attachments[input_count++], &color_refs[i], sizeof(VkAttachmentReference2));
dep_pipeline |= VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
dep_access |= VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
pstate->fbfetch = 1;
}
dep_access |= VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
if (attachments[i].loadOp == VK_ATTACHMENT_LOAD_OP_LOAD)

View file

@ -65,7 +65,8 @@ struct zink_pipeline_rt {
};
struct zink_render_pass_pipeline_state {
uint32_t num_attachments:26;
uint32_t num_attachments:25;
uint32_t fbfetch:1;
uint32_t num_cresolves:4;
uint32_t num_zsresolves:1;
bool samples:1; //for fs samplemask