Mesa (main): ac/surface: store CMASK pitch and height to radeon_surf
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Aug 3 07:24:06 UTC 2021
Module: Mesa
Branch: main
Commit: 1f12c3ccc1db533485a020af1891d1ecd65ad12b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f12c3ccc1db533485a020af1891d1ecd65ad12b
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Jul 29 09:04:45 2021 +0200
ac/surface: store CMASK pitch and height to radeon_surf
Only GFX9+ is currently supported.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Acked-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12140>
---
src/amd/common/ac_surface.c | 2 ++
src/amd/common/ac_surface.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 9b9e4dd1dcd..ff7bb44a4ab 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -1903,6 +1903,8 @@ static int gfx9_compute_miptree(struct ac_addrlib *addrlib, const struct radeon_
surf->cmask_size = cout.cmaskBytes;
surf->cmask_alignment_log2 = util_logbase2(cout.baseAlign);
surf->cmask_slice_size = cout.sliceSize;
+ surf->cmask_pitch = cout.pitch;
+ surf->cmask_height = cout.height;
surf->u.gfx9.color.cmask_level0.offset = meta_mip_info[0].offset;
surf->u.gfx9.color.cmask_level0.size = meta_mip_info[0].sliceSize;
}
diff --git a/src/amd/common/ac_surface.h b/src/amd/common/ac_surface.h
index d6af39ec466..4f328132ff9 100644
--- a/src/amd/common/ac_surface.h
+++ b/src/amd/common/ac_surface.h
@@ -368,6 +368,8 @@ struct radeon_surf {
uint32_t cmask_size;
uint32_t cmask_slice_size;
+ uint16_t cmask_pitch; /* GFX9+ */
+ uint16_t cmask_height; /* GFX9+ */
/* All buffers combined. */
uint64_t meta_offset; /* DCC or HTILE */
More information about the mesa-commit
mailing list