From: Iago Toral Quiroga Date: Thu, 22 Jul 2021 11:49:48 +0000 (+0200) Subject: v3dv: don't merge subpasses with different view masks X-Git-Tag: upstream/22.3.5~19851 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f46f5eac7ce95e5e59969d60df3895db76c362a0;p=platform%2Fupstream%2Fmesa.git v3dv: don't merge subpasses with different view masks Reviewed-by: Alejandro PiƱeiro Part-of: --- diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c index 68bc716..36cf6eb 100644 --- a/src/broadcom/vulkan/v3dv_cmd_buffer.c +++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c @@ -398,6 +398,13 @@ cmd_buffer_can_merge_subpass(struct v3dv_cmd_buffer *cmd_buffer, struct v3dv_subpass *prev_subpass = &state->pass->subpasses[state->subpass_idx]; struct v3dv_subpass *subpass = &state->pass->subpasses[subpass_idx]; + /* Don't merge if the subpasses have different view masks, since in that + * case the framebuffer setup is different and we need to emit different + * RCLs. + */ + if (subpass->view_mask != prev_subpass->view_mask) + return false; + /* Because the list of subpass attachments can include VK_ATTACHMENT_UNUSED, * we need to check that for each subpass all its used attachments are * used by the other subpass.