[Mesa-stable] [Mesa-dev] [PATCH] radv: initialize the DCC predicate correctly when it's compressed

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Thu Aug 16 10:47:17 UTC 2018


Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

On Thu, Aug 16, 2018 at 12:33 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> We have to do a fast-clear eliminate when clearing DCC
> metadata with 0x20202020. I don't know if that fixes anything
> but that seems correct to me.
>
> CC: 18.2 <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/amd/vulkan/radv_cmd_buffer.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
> index 84f7bb42c4..52c943f302 100644
> --- a/src/amd/vulkan/radv_cmd_buffer.c
> +++ b/src/amd/vulkan/radv_cmd_buffer.c
> @@ -4127,15 +4127,18 @@ static void radv_init_color_image_metadata(struct radv_cmd_buffer *cmd_buffer,
>
>         if (radv_image_has_dcc(image)) {
>                 uint32_t value = 0xffffffffu; /* Fully expanded mode. */
> +               bool need_decompress_pass = false;
>
>                 if (radv_layout_dcc_compressed(image, dst_layout,
>                                                dst_queue_mask)) {
>                         value = 0x20202020u;
> +                       need_decompress_pass = true;
>                 }
>
>                 radv_initialize_dcc(cmd_buffer, image, value);
>
> -               radv_set_dcc_need_cmask_elim_pred(cmd_buffer, image, false);
> +               radv_set_dcc_need_cmask_elim_pred(cmd_buffer, image,
> +                                                 need_decompress_pass);
>         }
>
>         if (radv_image_has_cmask(image) || radv_image_has_dcc(image)) {
> --
> 2.18.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-stable mailing list