radv: fix implementation of VK_KHR_create_renderpass2 for multiviews
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 13 Jul 2018 12:14:52 +0000 (14:14 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 17 Jul 2018 07:04:35 +0000 (09:04 +0200)
The Vulkan 1.1.80 spec says:

"viewMask has the same effect for the described subpass as
 VkRenderPassMultiviewCreateInfo::pViewMasks has on each
 corresponding subpass."

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_pass.c

index 2191093391c85655c5dbb0c55f68db280422221b..f2884ffc01a739a2964cab2b1c4180288f632c4f 100644 (file)
@@ -226,16 +226,6 @@ VkResult radv_CreateRenderPass2KHR(
        pass->subpass_count = pCreateInfo->subpassCount;
        pass->attachments = (void *) pass + attachments_offset;
 
-       vk_foreach_struct(ext, pCreateInfo->pNext) {
-               switch(ext->sType) {
-               case  VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR:
-                       multiview_info = ( VkRenderPassMultiviewCreateInfoKHR*)ext;
-                       break;
-               default:
-                       break;
-               }
-       }
-
        for (uint32_t i = 0; i < pCreateInfo->attachmentCount; i++) {
                struct radv_render_pass_attachment *att = &pass->attachments[i];
 
@@ -280,8 +270,7 @@ VkResult radv_CreateRenderPass2KHR(
 
                subpass->input_count = desc->inputAttachmentCount;
                subpass->color_count = desc->colorAttachmentCount;
-               if (multiview_info)
-                       subpass->view_mask = multiview_info->pViewMasks[i];
+               subpass->view_mask = desc->viewMask;
 
                if (desc->inputAttachmentCount > 0) {
                        subpass->input_attachments = p;