From: Nanley Chery Date: Mon, 9 Jan 2017 18:44:36 +0000 (-0800) Subject: anv: Prepare for transitioning to the requested final layout X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=968ffd6c868af7226e8f889573eef709888151cb;p=mesa.git anv: Prepare for transitioning to the requested final layout Signed-off-by: Nanley Chery Reviewed-by: Jason Ekstrand --- diff --git a/src/intel/vulkan/anv_pass.c b/src/intel/vulkan/anv_pass.c index ea86fa9ff28..5df6330c6af 100644 --- a/src/intel/vulkan/anv_pass.c +++ b/src/intel/vulkan/anv_pass.c @@ -118,6 +118,7 @@ VkResult anv_CreateRenderPass( subpass->input_attachments[j] = a; pass->attachments[a].usage |= VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT; pass->attachments[a].subpass_usage[i] |= ANV_SUBPASS_USAGE_INPUT; + pass->attachments[a].last_subpass_idx = i; if (desc->pDepthStencilAttachment && a == desc->pDepthStencilAttachment->attachment) @@ -134,6 +135,7 @@ VkResult anv_CreateRenderPass( subpass->color_attachments[j] = a; pass->attachments[a].usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; pass->attachments[a].subpass_usage[i] |= ANV_SUBPASS_USAGE_DRAW; + pass->attachments[a].last_subpass_idx = i; } } @@ -156,6 +158,7 @@ VkResult anv_CreateRenderPass( ANV_SUBPASS_USAGE_RESOLVE_SRC; pass->attachments[a].subpass_usage[i] |= ANV_SUBPASS_USAGE_RESOLVE_DST; + pass->attachments[a].last_subpass_idx = i; } } } diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index a4e6cb282b8..a3a958f7bd3 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1770,6 +1770,9 @@ struct anv_render_pass_attachment { /* An array, indexed by subpass id, of how the attachment will be used. */ enum anv_subpass_usage * subpass_usage; + + /* The subpass id in which the attachment will be used last. */ + uint32_t last_subpass_idx; }; struct anv_render_pass {