summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_bufmgr.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-05-03 11:58:57 -0700
committerKenneth Graunke <[email protected]>2019-05-03 19:48:37 -0700
commit068a700195329fc4cb18ea837fe18540ceb498a4 (patch)
tree1f95bd21f2afe17427a07e7affb48f04adbaf714 /src/gallium/drivers/iris/iris_bufmgr.c
parent21062e21d9612aa2c7b27de4131ed11e9f175fb4 (diff)
iris: leave the top 4Gb of the high heap VMA unused
This ports commit 9e7b0988d6e98690eb8902e477b51713a6ef9cae from anv to iris. Thanks to Lionel for noticing that it was missing!
Diffstat (limited to 'src/gallium/drivers/iris/iris_bufmgr.c')
-rw-r--r--src/gallium/drivers/iris/iris_bufmgr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c
index c38b960c5dd..221b21d029c 100644
--- a/src/gallium/drivers/iris/iris_bufmgr.c
+++ b/src/gallium/drivers/iris/iris_bufmgr.c
@@ -1681,9 +1681,13 @@ iris_bufmgr_init(struct gen_device_info *devinfo, int fd)
util_vma_heap_init(&bufmgr->vma_allocator[IRIS_MEMZONE_DYNAMIC],
IRIS_MEMZONE_DYNAMIC_START + IRIS_BORDER_COLOR_POOL_SIZE,
_4GB_minus_1 - IRIS_BORDER_COLOR_POOL_SIZE);
+
+ /* Leave the last 4GB out of the high vma range, so that no state
+ * base address + size can overflow 48 bits.
+ */
util_vma_heap_init(&bufmgr->vma_allocator[IRIS_MEMZONE_OTHER],
IRIS_MEMZONE_OTHER_START,
- gtt_size - IRIS_MEMZONE_OTHER_START);
+ (gtt_size - _4GB) - IRIS_MEMZONE_OTHER_START);
// XXX: driconf
bufmgr->bo_reuse = env_var_as_boolean("bo_reuse", true);