Mesa (master): freedreno/gmem: add some asserts
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue May 26 19:45:23 UTC 2020
Module: Mesa
Branch: master
Commit: 9b91d88b3390d264d06ccc11142325e99780e808
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b91d88b3390d264d06ccc11142325e99780e808
Author: Rob Clark <robdclark at chromium.org>
Date: Sat May 23 12:21:20 2020 -0700
freedreno/gmem: add some asserts
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189>
---
src/gallium/drivers/freedreno/freedreno_gmem.c | 5 ++++-
src/gallium/drivers/freedreno/gmemtool.c | 4 ++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.c b/src/gallium/drivers/freedreno/freedreno_gmem.c
index a2bbd0acb29..3becea434df 100644
--- a/src/gallium/drivers/freedreno/freedreno_gmem.c
+++ b/src/gallium/drivers/freedreno/freedreno_gmem.c
@@ -364,12 +364,13 @@ gmem_stateobj_init(struct fd_screen *screen, struct gmem_key *key)
yoff = key->miny;
memset(tile_n, 0, sizeof(tile_n));
for (i = 0; i < nbins_y; i++) {
- uint32_t bw, bh;
+ int bw, bh;
xoff = key->minx;
/* clip bin height: */
bh = MIN2(gmem->bin_h, key->miny + key->height - yoff);
+ assert(bh > 0);
for (j = 0; j < nbins_x; j++) {
struct fd_tile *tile = &gmem->tile[t];
@@ -383,6 +384,8 @@ gmem_stateobj_init(struct fd_screen *screen, struct gmem_key *key)
/* clip bin width: */
bw = MIN2(gmem->bin_w, key->minx + key->width - xoff);
+ assert(bw > 0);
+
tile->n = !is_a20x(screen) ? tile_n[p]++ :
((i % tpp_y + 1) << 3 | (j % tpp_x + 1));
tile->p = p;
diff --git a/src/gallium/drivers/freedreno/gmemtool.c b/src/gallium/drivers/freedreno/gmemtool.c
index 2185f58c351..c0862bc5ad9 100644
--- a/src/gallium/drivers/freedreno/gmemtool.c
+++ b/src/gallium/drivers/freedreno/gmemtool.c
@@ -177,6 +177,10 @@ main(int argc, char **argv)
key.gmem_page_align = gpu_info->gmem_page_align;
struct fd_gmem_stateobj *gmem = gmem_stateobj_init(&screen, &key);
dump_gmem_state(gmem);
+
+ assert((gmem->bin_w * gmem->nbins_x) >= key.width);
+ assert((gmem->bin_h * gmem->nbins_y) >= key.height);
+
ralloc_free(gmem);
}
More information about the mesa-commit
mailing list