ail: Save level_offsets_compressed_B

So we can bind specific mip levels for rendering into compressed Z/S.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20123>
This commit is contained in:
Alyssa Rosenzweig 2022-11-28 19:21:21 -05:00
parent 3895545b83
commit b28fe26d7c
2 changed files with 7 additions and 0 deletions

View file

@ -198,6 +198,8 @@ ail_initialize_compression(struct ail_layout *layout)
if (width_px < 16 && height_px < 16)
break;
layout->level_offsets_compressed_B[l] = compbuf_B;
/* The compression buffer seems to have 8 bytes per 16 x 16 pixel block. */
unsigned cmpw_el = DIV_ROUND_UP(util_next_power_of_two(width_px), 16);
unsigned cmph_el = DIV_ROUND_UP(util_next_power_of_two(height_px), 16);

View file

@ -110,6 +110,11 @@ struct ail_layout {
*/
uint32_t level_offsets_B[AIL_MAX_MIP_LEVELS];
/**
* For the compressed buffer, offsets of mip levels within a layer.
*/
uint32_t level_offsets_compressed_B[AIL_MAX_MIP_LEVELS];
/**
* If tiling is TWIDDLED, the tile size used for each mip level within a
* layer. Calculating tile sizes is the sole responsibility of