diff --git a/src/gallium/drivers/panfrost/pan_mfbd.c b/src/gallium/drivers/panfrost/pan_mfbd.c index 7cc1aa8cda8..7fe9b960ff2 100644 --- a/src/gallium/drivers/panfrost/pan_mfbd.c +++ b/src/gallium/drivers/panfrost/pan_mfbd.c @@ -256,11 +256,11 @@ panfrost_mfbd_zs_crc_ext_set_bufs(struct panfrost_batch *batch, 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] | diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index bf8ec468cf2..5e4a7207815 100644 --- a/src/gallium/drivers/panfrost/pan_resource.c +++ b/src/gallium/drivers/panfrost/pan_resource.c @@ -420,7 +420,7 @@ panfrost_setup_slices(struct panfrost_device *dev, /* 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); diff --git a/src/gallium/drivers/panfrost/pan_sfbd.c b/src/gallium/drivers/panfrost/pan_sfbd.c index c82bc9b28ee..3fcaf3ce8da 100644 --- a/src/gallium/drivers/panfrost/pan_sfbd.c +++ b/src/gallium/drivers/panfrost/pan_sfbd.c @@ -232,8 +232,8 @@ panfrost_sfbd_fragment(struct panfrost_batch *batch, bool has_draws) 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; } } diff --git a/src/panfrost/lib/pan_texture.c b/src/panfrost/lib/pan_texture.c index 1cf6f774fff..05c9c48ffef 100644 --- a/src/panfrost/lib/pan_texture.c +++ b/src/panfrost/lib/pan_texture.c @@ -509,9 +509,9 @@ panfrost_compute_checksum_size( 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 diff --git a/src/panfrost/lib/pan_texture.h b/src/panfrost/lib/pan_texture.h index 5aebaaef454..d2343f3109d 100644 --- a/src/panfrost/lib/pan_texture.h +++ b/src/panfrost/lib/pan_texture.h @@ -50,8 +50,10 @@ struct panfrost_slice { /* 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;