Mesa (master): ac/surface: override all offsets including metadata offsets
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu May 7 20:37:52 UTC 2020
Module: Mesa
Branch: master
Commit: c9e73624022a482ffe0a41d0cae007e04cc61dc4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9e73624022a482ffe0a41d0cae007e04cc61dc4
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon May 4 07:53:38 2020 -0400
ac/surface: override all offsets including metadata offsets
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863>
---
src/amd/common/ac_surface.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 577b2d487eb..86519f216e1 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -2204,6 +2204,8 @@ void ac_surface_override_offset_stride(const struct radeon_info *info,
(uint64_t)pitch * surf->u.gfx9.surf_height * surf->bpe;
}
surf->u.gfx9.surf_offset = offset;
+ if (surf->u.gfx9.stencil_offset)
+ surf->u.gfx9.stencil_offset += offset;
} else {
surf->u.legacy.level[0].nblk_x = pitch;
surf->u.legacy.level[0].slice_size_dw =
@@ -2214,4 +2216,17 @@ void ac_surface_override_offset_stride(const struct radeon_info *info,
surf->u.legacy.level[i].offset += offset;
}
}
+
+ if (surf->htile_offset)
+ surf->htile_offset += offset;
+ if (surf->fmask_offset)
+ surf->fmask_offset += offset;
+ if (surf->cmask_offset)
+ surf->cmask_offset += offset;
+ if (surf->dcc_offset)
+ surf->dcc_offset += offset;
+ if (surf->display_dcc_offset)
+ surf->display_dcc_offset += offset;
+ if (surf->dcc_retile_map_offset)
+ surf->dcc_retile_map_offset += offset;
}
More information about the mesa-commit
mailing list