Module: Mesa
Branch: 17.3
Commit: 220b67ffa13d9a74d067ce6789c10621bd6be89c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=220b67ffa13d9a74d067ce6789c10621bd6be89c

Author: Lionel Landwerlin <[email protected]>
Date:   Thu Apr 12 11:06:47 2018 -0700

anv: fix number of planes for depth & stencil

We're not counting correctly with depth & stencil images.

Additionally we need to move an assert that is meant just for color
attachments.

v2: Move an assert() (Reported by Craig)
    Change aspect mask checks (Francesco)

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: a62a97933578a ("anv: enable multiple planes per image/imageView")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105994
Reviewed-by: Nanley Chery <[email protected]>
(cherry picked from commit 0a6547014fbe5371f5b7253f2c2640ad0026b184)
[Juan A. Suarez: resolve trivial conflicts]
Signed-off-by: Juan A. Suarez Romero <[email protected]>

Conflicts:
        src/intel/vulkan/genX_cmd_buffer.c

---

 src/intel/vulkan/anv_private.h     | 4 ++++
 src/intel/vulkan/genX_cmd_buffer.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 8de5103453..e9c03e1762 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -2246,6 +2246,10 @@ anv_image_aspect_get_planes(VkImageAspectFlags 
aspect_mask)
    if (aspect_mask & VK_IMAGE_ASPECT_PLANE_2_BIT_KHR)
       planes++;
 
+   if ((aspect_mask & VK_IMAGE_ASPECT_DEPTH_BIT) != 0 &&
+       (aspect_mask & VK_IMAGE_ASPECT_STENCIL_BIT) != 0)
+      planes++;
+
    return planes;
 }
 
diff --git a/src/intel/vulkan/genX_cmd_buffer.c 
b/src/intel/vulkan/genX_cmd_buffer.c
index 9eba585d5d..67114a1dc0 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -968,10 +968,10 @@ genX(cmd_buffer_setup_attachments)(struct anv_cmd_buffer 
*cmd_buffer,
 
          struct anv_image_view *iview = framebuffer->attachments[i];
          anv_assert(iview->vk_format == att->format);
-         anv_assert(iview->n_planes == 1);
 
          union isl_color_value clear_color = { .u32 = { 0, } };
          if (att_aspects & VK_IMAGE_ASPECT_ANY_COLOR_BIT) {
+            anv_assert(iview->n_planes == 1);
             assert(att_aspects == VK_IMAGE_ASPECT_COLOR_BIT);
             color_attachment_compute_aux_usage(cmd_buffer->device,
                                                state, i, begin->renderArea,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to