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>
uint64_t size;
if (cmd_buffer->device->physical_device->rad_info.chip_class >= GFX10) {
- /* Mipmap levels aren't implemented. */
- assert(level == 0);
-
- offset += image->planes[0].surface.dcc_slice_size * range->baseArrayLayer;
- size = image->planes[0].surface.dcc_slice_size * layer_count;
+ /* DCC for mipmaps+layers is currently disabled. */
+ offset += image->planes[0].surface.dcc_slice_size * range->baseArrayLayer +
+ image->planes[0].surface.u.gfx9.dcc_levels[level].offset;
+ size = image->planes[0].surface.u.gfx9.dcc_levels[level].size * layer_count;
} else if (cmd_buffer->device->physical_device->rad_info.chip_class == GFX9) {
/* Mipmap levels and layers aren't implemented. */
assert(level == 0);