diff options
Diffstat (limited to 'src/intel/vulkan')
-rw-r--r-- | src/intel/vulkan/anv_pass.c | 3 | ||||
-rw-r--r-- | src/intel/vulkan/anv_private.h | 3 |
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 { |