Mesa (main): iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jul 21 20:54:55 UTC 2022
Module: Mesa
Branch: main
Commit: 180aa4f3b214b7da3ca23976c27ada4a07bac411
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=180aa4f3b214b7da3ca23976c27ada4a07bac411
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Jul 15 10:16:19 2022 -0700
iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Suggested-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>
---
src/gallium/drivers/iris/iris_bufmgr.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c
index 6c72e24a1e5..e04712a2540 100644
--- a/src/gallium/drivers/iris/iris_bufmgr.c
+++ b/src/gallium/drivers/iris/iris_bufmgr.c
@@ -1079,8 +1079,14 @@ iris_bo_alloc(struct iris_bufmgr *bufmgr,
(bufmgr->vram.size > 0 && !local) ||
(flags & BO_ALLOC_COHERENT);
bool is_scanout = (flags & BO_ALLOC_SCANOUT) != 0;
- enum iris_mmap_mode mmap_mode =
- !local && is_coherent && !is_scanout ? IRIS_MMAP_WB : IRIS_MMAP_WC;
+
+ enum iris_mmap_mode mmap_mode;
+ if (!bufmgr->all_vram_mappable && heap == IRIS_HEAP_DEVICE_LOCAL)
+ mmap_mode = IRIS_MMAP_NONE;
+ else if (!local && is_coherent && !is_scanout)
+ mmap_mode = IRIS_MMAP_WB;
+ else
+ mmap_mode = IRIS_MMAP_WC;
simple_mtx_lock(&bufmgr->lock);
More information about the mesa-commit
mailing list