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

Author: Jason Ekstrand <[email protected]>
Date:   Thu Feb  4 01:36:06 2021 -0600

vulkan: Add some asserts and checks for multiview in CreateRenderPass

Reviewed-by: Eric Anholt <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8857>

---

 src/vulkan/util/vk_render_pass.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/vulkan/util/vk_render_pass.c b/src/vulkan/util/vk_render_pass.c
index 0fc340a71c0..3c91438c3f2 100644
--- a/src/vulkan/util/vk_render_pass.c
+++ b/src/vulkan/util/vk_render_pass.c
@@ -138,8 +138,10 @@ vk_common_CreateRenderPass(VkDevice _device,
          .colorAttachmentCount = 
pCreateInfo->pSubpasses[i].colorAttachmentCount,
       };
 
-      if (multiview_info && multiview_info->subpassCount)
+      if (multiview_info && multiview_info->subpassCount) {
+         assert(multiview_info->subpassCount == pCreateInfo->subpassCount);
          subpasses[i].viewMask = multiview_info->pViewMasks[i];
+      }
 
       subpasses[i].pInputAttachments = reference_ptr;
       translate_references(&reference_ptr,
@@ -200,8 +202,10 @@ vk_common_CreateRenderPass(VkDevice _device,
          .viewOffset = 0,
       };
 
-      if (multiview_info && multiview_info->dependencyCount)
+      if (multiview_info && multiview_info->dependencyCount) {
+         assert(multiview_info->dependencyCount == 
pCreateInfo->dependencyCount);
          dependencies[i].viewOffset = multiview_info->pViewOffsets[i];
+      }
    }
 
    *create_info = (VkRenderPassCreateInfo2) {
@@ -216,7 +220,7 @@ vk_common_CreateRenderPass(VkDevice _device,
       .pDependencies = dependencies,
    };
 
-   if (multiview_info) {
+   if (multiview_info && multiview_info->correlationMaskCount > 0) {
       create_info->correlatedViewMaskCount = 
multiview_info->correlationMaskCount;
       create_info->pCorrelatedViewMasks = multiview_info->pCorrelationMasks;
    }

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

Reply via email to