diff options
author | Samuel Pitoiset <[email protected]> | 2019-06-27 15:06:17 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2019-07-01 14:59:22 +0200 |
commit | 17cb7ea6fced033d4b8daaf8311d09aa693c7fd7 (patch) | |
tree | 2cdf4a90dfd15c9bf3ade8ca7ead63889eaa6d0d /src/amd/vulkan | |
parent | f4d2c47cf60d6c1c99852c8d0eff7860c41764ba (diff) |
radv: fix decompressing DCC levels with compute
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r-- | src/amd/vulkan/radv_meta_fast_clear.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_meta_fast_clear.c b/src/amd/vulkan/radv_meta_fast_clear.c index f18f7637593..a642d6243d4 100644 --- a/src/amd/vulkan/radv_meta_fast_clear.c +++ b/src/amd/vulkan/radv_meta_fast_clear.c @@ -807,11 +807,17 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, device->meta_state.fast_clear_flush.dcc_decompress_compute_pipeline); for (uint32_t l = 0; l < radv_get_levelCount(image, subresourceRange); l++) { + uint32_t width, height; /* Do not decompress levels without DCC. */ if (!radv_dcc_enabled(image, subresourceRange->baseMipLevel + l)) continue; + width = radv_minify(image->info.width, + subresourceRange->baseMipLevel + l); + height = radv_minify(image->info.height, + subresourceRange->baseMipLevel + l); + radv_image_view_init(&iview, cmd_buffer->device, &(VkImageViewCreateInfo) { .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, @@ -863,7 +869,7 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, } }); - radv_unaligned_dispatch(cmd_buffer, image->info.width, image->info.height, 1); + radv_unaligned_dispatch(cmd_buffer, width, height, 1); } /* Mark this image as actually being decompressed. */ |