[Mesa-dev] [PATCH] radv: perform subpass transitions for resolve attachments

Rhys Perry pendingchaos02 at gmail.com
Fri Nov 16 14:52:26 UTC 2018


Actually I just realized that something like
https://gitlab.freedesktop.org/mesa/mesa/blob/fe3f13cc5a8/src/amd/vulkan/radv_meta_resolve.c#L678-681
would probably be better.
On Fri, 16 Nov 2018 at 14:45, Rhys Perry <pendingchaos02 at gmail.com> wrote:
>
> Fixes Sascha Willems's multisampling example on my Vega 64.
>
> dEQP-VK.renderpass.multisample_resolve.* didn't exhibit issues
> because of it's images being 32x32 which disabled DCC/CMASK and
> made these transitions unnecessary.
>
> Signed-of-by: Rhys Perry <pendingchaos02 at gmail.com>
> CC: <mesa-stable at lists.freedesktop.org>
> ---
>  src/amd/vulkan/radv_cmd_buffer.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
> index ee5373950f..ab1ed8173e 100644
> --- a/src/amd/vulkan/radv_cmd_buffer.c
> +++ b/src/amd/vulkan/radv_cmd_buffer.c
> @@ -2271,6 +2271,12 @@ radv_cmd_buffer_set_subpass(struct radv_cmd_buffer *cmd_buffer,
>                                                                      subpass->color_attachments[i]);
>                 }
>
> +               for (unsigned i = 0; subpass->has_resolve && i < subpass->color_count; ++i) {
> +                       if (subpass->resolve_attachments[i].attachment != VK_ATTACHMENT_UNUSED)
> +                               radv_handle_subpass_image_transition(cmd_buffer,
> +                                                                    subpass->resolve_attachments[i]);
> +               }
> +
>                 for (unsigned i = 0; i < subpass->input_count; ++i) {
>                         radv_handle_subpass_image_transition(cmd_buffer,
>                                                         subpass->input_attachments[i]);
> --
> 2.19.1
>


More information about the mesa-dev mailing list