[Mesa-dev] [PATCH 13/18] anv/pass: Store subpass attachment reference list

Jason Ekstrand jason at jlekstrand.net
Tue Feb 28 05:22:13 UTC 2017


On Feb 27, 2017 5:21 PM, "Nanley Chery" <nanleychery at gmail.com> wrote:

We'll loop through this array when performing automatic layout
transitions.

Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
---
 src/intel/vulkan/anv_pass.c    | 6 +++++-
 src/intel/vulkan/anv_private.h | 7 +++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/anv_pass.c b/src/intel/vulkan/anv_pass.c
index 5bd205d2f0..9d7fa7f83a 100644
--- a/src/intel/vulkan/anv_pass.c
+++ b/src/intel/vulkan/anv_pass.c
@@ -86,9 +86,11 @@ VkResult anv_CreateRenderPass(
       const VkSubpassDescription *desc = &pCreateInfo->pSubpasses[i];

       subpass_attachment_count +=
+      pass->subpasses[i].attachment_count =
          desc->inputAttachmentCount +
          desc->colorAttachmentCount +
-         (desc->pResolveAttachments ? desc->colorAttachmentCount : 0);
+         (desc->pResolveAttachments ? desc->colorAttachmentCount : 0) +
+         (desc->pDepthStencilAttachment != NULL);
    }

    pass->subpass_attachments =
@@ -108,6 +110,7 @@ VkResult anv_CreateRenderPass(

       subpass->input_count = desc->inputAttachmentCount;
       subpass->color_count = desc->colorAttachmentCount;
+      subpass->attachments = p;

       if (desc->inputAttachmentCount > 0) {
          subpass->input_attachments = p;
@@ -169,6 +172,7 @@ VkResult anv_CreateRenderPass(

       if (desc->pDepthStencilAttachment) {
          uint32_t a = desc->pDepthStencilAttachment->attachment;
+         *p++ =


Something looks funny about this line.  I could easily believe its correct
but it should probably be indented differently or something.

          subpass->depth_stencil_attachment = *desc->
pDepthStencilAttachment;
          if (a != VK_ATTACHMENT_UNUSED) {
             pass->attachments[a].usage |=
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 6e274a5a3a..7fba4e92b8 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1825,6 +1825,13 @@ struct anv_framebuffer {
 };

 struct anv_subpass {
+   uint32_t                                     attachment_count;
+
+   /**
+    * A pointer to all attachment references used in this subpass.
+    * Only valid if ::attachment_count > 0.
+    */
+   VkAttachmentReference *                      attachments;
    uint32_t                                     input_count;
    VkAttachmentReference *                      input_attachments;
    uint32_t                                     color_count;
--
2.11.1

_______________________________________________
mesa-dev mailing list
mesa-dev at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170227/6edbbf29/attachment.html>


More information about the mesa-dev mailing list