radv: Do not setup attachments without a framebuffer.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 10 Aug 2019 13:04:30 +0000 (15:04 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 12 Aug 2019 15:19:24 +0000 (17:19 +0200)
Test that found this: dEQP-VK.geometry.layered.1d_array.secondary_cmd_buffer

Fixes: 49e6c2fb78c "radv: Store color/depth surface info in attachment info instead of framebuffer."
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_cmd_buffer.c

index 55b7a0a505539ace1184425c8cf9949c80db2f33..187e8c5c2520c9e3603fcab976d2ff56000f3f26 100644 (file)
@@ -3207,9 +3207,11 @@ VkResult radv_BeginCommandBuffer(
                struct radv_subpass *subpass =
                        &cmd_buffer->state.pass->subpasses[pBeginInfo->pInheritanceInfo->subpass];
 
-               result = radv_cmd_state_setup_attachments(cmd_buffer, cmd_buffer->state.pass, NULL);
-               if (result != VK_SUCCESS)
-                       return result;
+               if (cmd_buffer->state.framebuffer) {
+                       result = radv_cmd_state_setup_attachments(cmd_buffer, cmd_buffer->state.pass, NULL);
+                       if (result != VK_SUCCESS)
+                               return result;
+               }
 
                radv_cmd_buffer_set_subpass(cmd_buffer, subpass);
        }