diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2021-01-13 10:31:15 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-01-13 13:42:04 +0000 |
commit | 5537c9de73a2af8a9203d261ed914df92b7ae467 (patch) | |
tree | d1b5bea43361301b1ea57c0574167f9876f2975c /src | |
parent | a4876f055c705a6ca4c083dbe54b9b181558c714 (diff) |
radv: prevent fast-clearing uncompressed DCC levels
When size is 0, this means the level can't be compressed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8468>
Diffstat (limited to 'src')
-rw-r--r-- | src/amd/vulkan/radv_meta_clear.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c index 021232708ec..4cad6c57bb4 100644 --- a/src/amd/vulkan/radv_meta_clear.c +++ b/src/amd/vulkan/radv_meta_clear.c @@ -1437,6 +1437,10 @@ radv_clear_dcc(struct radv_cmd_buffer *cmd_buffer, size = surf_level->dcc_slice_fast_clear_size * radv_get_layerCount(image, range); } + /* Do not clear this level if it can't be compressed. */ + if (!size) + continue; + flush_bits |= radv_fill_buffer(cmd_buffer, image->bo, offset, size, value); } |