diff options
author | Nanley Chery <[email protected]> | 2017-01-02 00:44:08 -0800 |
---|---|---|
committer | Nanley Chery <[email protected]> | 2017-01-12 20:52:20 -0800 |
commit | 104ce1dbab44f8d11d5dcc90d3f1cc8c466893d8 (patch) | |
tree | 2ca962b1e890ca914d28e95d02feafa0edc13c81 /src/intel/vulkan/anv_private.h | |
parent | 2e2cf78a5104b3e08fea039d1b2d20a137d6a371 (diff) |
anv: Store depth stencil layouts
Store the current and requested depth stencil layouts so that we can
perform the appropriate HiZ resolves for a given transition while
recording a render pass.
Signed-off-by: Nanley Chery <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_private.h')
-rw-r--r-- | src/intel/vulkan/anv_private.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 096d9011be0..a4e6cb282b8 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1097,6 +1097,7 @@ struct anv_attachment_state { struct anv_state color_rt_state; struct anv_state input_att_state; + VkImageLayout current_layout; VkImageAspectFlags pending_clear_aspects; bool fast_clear; VkClearValue clear_value; @@ -1733,7 +1734,12 @@ struct anv_subpass { uint32_t color_count; uint32_t * color_attachments; uint32_t * resolve_attachments; + + /* TODO: Consider storing the depth/stencil VkAttachmentReference + * instead of its two structure members (below) individually. + */ uint32_t depth_stencil_attachment; + VkImageLayout depth_stencil_layout; /** Subpass has a depth/stencil self-dependency */ bool has_ds_self_dep; @@ -1750,12 +1756,17 @@ enum anv_subpass_usage { }; struct anv_render_pass_attachment { + /* TODO: Consider using VkAttachmentDescription instead of storing each of + * its members individually. + */ VkFormat format; uint32_t samples; VkImageUsageFlags usage; VkAttachmentLoadOp load_op; VkAttachmentStoreOp store_op; VkAttachmentLoadOp stencil_load_op; + VkImageLayout initial_layout; + VkImageLayout final_layout; /* An array, indexed by subpass id, of how the attachment will be used. */ enum anv_subpass_usage * subpass_usage; |