diff options
author | Nanley Chery <nanley.g.chery@intel.com> | 2021-12-01 13:45:05 -0500 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2021-12-14 07:37:42 +0000 |
commit | 7a8bf62ac83e50e9da7a24ae474bcf5c7b2f43d0 (patch) | |
tree | f24b6f078377c354923942a984f655b809e70791 | |
parent | b77935a83d40746b7a6591b4ca938e5ccd4e8fec (diff) |
iris: Use a num_buckets pointer in add_bucket
Store a pointer to the appropriate cache bucket counter, then increment
the integer it points to. This keeps us from having to add code for
incrementing when a new cache bucket is added.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14012>
-rw-r--r-- | src/gallium/drivers/iris/iris_bufmgr.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c index 71d09fd9afd..30ff727a7f1 100644 --- a/src/gallium/drivers/iris/iris_bufmgr.c +++ b/src/gallium/drivers/iris/iris_bufmgr.c @@ -1993,22 +1993,18 @@ iris_bo_export_gem_handle_for_device(struct iris_bo *bo, int drm_fd, static void add_bucket(struct iris_bufmgr *bufmgr, int size, bool local) { - unsigned int i = local ? - bufmgr->num_local_buckets : bufmgr->num_buckets; + int *num_buckets = local ? + &bufmgr->num_local_buckets : &bufmgr->num_buckets; struct bo_cache_bucket *buckets = local ? bufmgr->local_cache_bucket : bufmgr->cache_bucket; + unsigned int i = (*num_buckets)++; assert(i < ARRAY_SIZE(bufmgr->cache_bucket)); list_inithead(&buckets[i].head); buckets[i].size = size; - if (local) - bufmgr->num_local_buckets++; - else - bufmgr->num_buckets++; - assert(bucket_for_size(bufmgr, size, local) == &buckets[i]); assert(bucket_for_size(bufmgr, size - 2048, local) == &buckets[i]); assert(bucket_for_size(bufmgr, size + 1, local) != &buckets[i]); |