diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2018-08-16 12:33:13 +0200 |
---|---|---|
committer | Andres Gomez <agomez@igalia.com> | 2018-08-16 23:22:19 +0300 |
commit | 4477635b6939467727b8e9db19df9e502ad4b0ca (patch) | |
tree | b651793297b5d065ed90a3b5a774d25396053b34 | |
parent | bc6b6cb290d386117f93a5311b4b6d39391c3b0f (diff) |
radv: initialize the DCC predicate correctly when it's compressed
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@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit f9e8456c39136aa41f85f82758a00e5aa2aab334)
-rw-r--r-- | src/amd/vulkan/radv_cmd_buffer.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 84f7bb42c45..52c943f302a 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)) { |