summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorNanley Chery <[email protected]>2017-01-09 10:44:36 -0800
committerNanley Chery <[email protected]>2017-01-12 20:52:20 -0800
commit968ffd6c868af7226e8f889573eef709888151cb (patch)
treeef9bf89d4ef913dc5a05a3dbcd95197d5775aab8 /src/intel
parent104ce1dbab44f8d11d5dcc90d3f1cc8c466893d8 (diff)
anv: Prepare for transitioning to the requested final layout
Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/vulkan/anv_pass.c3
-rw-r--r--src/intel/vulkan/anv_private.h3
2 files changed, 6 insertions, 0 deletions
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 {