unsigned level = c_surf->u.tex.level;
struct panfrost_slice *slice = &rsrc->slices[level];
- ext->crc_row_stride = slice->checksum_stride;
+ ext->crc_row_stride = slice->crc.stride;
if (rsrc->checksum_bo)
ext->crc_base = rsrc->checksum_bo->ptr.gpu;
else
- ext->crc_base = rsrc->bo->ptr.gpu + slice->checksum_offset;
+ ext->crc_base = rsrc->bo->ptr.gpu + slice->crc.offset;
if ((batch->clear & PIPE_CLEAR_COLOR0) && version >= 7) {
ext->crc_clear_color = batch->clear_color[0][0] |
/* Add a checksum region if necessary */
if (pres->checksummed) {
- slice->checksum_offset = offset;
+ slice->crc.offset = offset;
unsigned size = panfrost_compute_checksum_size(
slice, width, height);
unsigned level = surf->u.tex.level;
struct panfrost_slice *slice = &rsrc->slices[level];
- params.crc_buffer.row_stride = slice->checksum_stride;
- params.crc_buffer.base = bo->ptr.gpu + slice->checksum_offset;
+ params.crc_buffer.row_stride = slice->crc.stride;
+ params.crc_buffer.base = bo->ptr.gpu + slice->crc.offset;
}
}
unsigned tile_count_x = aligned_width / CHECKSUM_TILE_WIDTH;
unsigned tile_count_y = aligned_height / CHECKSUM_TILE_HEIGHT;
- slice->checksum_stride = tile_count_x * CHECKSUM_BYTES_PER_TILE;
+ slice->crc.stride = tile_count_x * CHECKSUM_BYTES_PER_TILE;
- return slice->checksum_stride * tile_count_y;
+ return slice->crc.stride * tile_count_y;
}
unsigned
/* If checksumming is enabled following the slice, what
* is its offset/stride? */
- unsigned checksum_offset;
- unsigned checksum_stride;
+ struct {
+ unsigned offset;
+ unsigned stride;
+ } crc;
/* Has anything been written to this slice? */
bool initialized;