[Mesa-dev] [PATCH] radv: handle dcc in explicit image resolve path.

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Tue Feb 7 22:13:48 UTC 2017



On Tue, Feb 7, 2017, at 23:05, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> We need to initialize dcc like we do in the subpass path.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/amd/vulkan/radv_meta_resolve.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/amd/vulkan/radv_meta_resolve.c
> b/src/amd/vulkan/radv_meta_resolve.c
> index 66f1466..e7d47c2b 100644
> --- a/src/amd/vulkan/radv_meta_resolve.c
> +++ b/src/amd/vulkan/radv_meta_resolve.c
> @@ -116,7 +116,7 @@ create_pass(struct radv_device *device)
>  							       },
>  							       {
>  								       .attachment = 1,
> -                                                                     
> .layout = VK_IMAGE_LAYOUT_GENERAL,
> +                                                                     
> .layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,

If you change this, you also need to change the initialLayout and the
finalLayout.
 
>  							       },
>  						       },
>  						       .pResolveAttachments = NULL,
> @@ -428,6 +428,9 @@ void radv_CmdResolveImage(
>  	if (src_image->array_size > 1)
>  		radv_finishme("vkCmdResolveImage: multisample array images");
>  
> +       if (dest_image->surface.dcc_size) {
> +               radv_initialize_dcc(cmd_buffer, dest_image, 0xffffffff);
> +       }

Ok.
>  	for (uint32_t r = 0; r < region_count; ++r) {
>  		const VkImageResolve *region = &regions[r];
>  
> -- 
> 2.7.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list