Mesa (master): anv: disallow VK_REMAINING_ARRAY_LAYERS in vkCmdClearAttachments()

Samuel Iglesias Gonsálvez samuelig at kemper.freedesktop.org
Wed Dec 20 05:56:42 UTC 2017


Module: Mesa
Branch: master
Commit: a31f0c4a363d18d860f8f5db165fa200f9c01d42
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a31f0c4a363d18d860f8f5db165fa200f9c01d42

Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Tue Dec 19 08:59:36 2017 +0100

anv: disallow VK_REMAINING_ARRAY_LAYERS in vkCmdClearAttachments()

Vulkan spec doesn't specify that VK_REMAINING_ARRAY_LAYERS is allowed
in the passed VkClearRect struct.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/vulkan/anv_blorp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
index e244468e03..8bb0216d6e 100644
--- a/src/intel/vulkan/anv_blorp.c
+++ b/src/intel/vulkan/anv_blorp.c
@@ -989,6 +989,7 @@ clear_color_attachment(struct anv_cmd_buffer *cmd_buffer,
    for (uint32_t r = 0; r < rectCount; ++r) {
       const VkOffset2D offset = pRects[r].rect.offset;
       const VkExtent2D extent = pRects[r].rect.extent;
+      assert(pRects[r].layerCount != VK_REMAINING_ARRAY_LAYERS);
       blorp_clear_attachments(batch, binding_table,
                               ISL_FORMAT_UNSUPPORTED, pass_att->samples,
                               pRects[r].baseArrayLayer,
@@ -1060,6 +1061,7 @@ clear_depth_stencil_attachment(struct anv_cmd_buffer *cmd_buffer,
       const VkOffset2D offset = pRects[r].rect.offset;
       const VkExtent2D extent = pRects[r].rect.extent;
       VkClearDepthStencilValue value = attachment->clearValue.depthStencil;
+      assert(pRects[r].layerCount != VK_REMAINING_ARRAY_LAYERS);
       blorp_clear_attachments(batch, binding_table,
                               depth_format, pass_att->samples,
                               pRects[r].baseArrayLayer,




More information about the mesa-commit mailing list