radv: make sure to sync after resolving using the compute path
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 17 Apr 2018 13:08:11 +0000 (15:08 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 19 Apr 2018 07:09:55 +0000 (09:09 +0200)
This fixes some random CTS failures:

dEQP-VK.renderpass.multisample.*.

Performing a fast-clear eliminate is still useless, but it
seems that we need to sync.

Found while running CTS with RADV_DEBUG=zerovram.

Fixes: 56a171a499c ("radv: don't fast-clear eliminate after resolving a subpass with compute")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_meta_resolve_cs.c

index 628208d6356c90ed850ca1b2daae8fb54094af80..ede55f6d0054e53c6df47793a39cd6603c7a9947 100644 (file)
@@ -516,5 +516,8 @@ radv_cmd_buffer_resolve_subpass_cs(struct radv_cmd_buffer *cmd_buffer)
                             &(VkExtent2D) { fb->width, fb->height });
        }
 
+       cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_CS_PARTIAL_FLUSH |
+                                       RADV_CMD_FLAG_INV_VMEM_L1;
+
        radv_meta_restore(&saved_state, cmd_buffer);
 }