From a363bb2cd0e2a141f2c60be005009703bffcbe4e Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 10 Apr 2018 01:18:25 -0700 Subject: [PATCH] i965: Allocate VMA in userspace for full-PPGTT systems. This patch enables soft-pinning of all buffers, allowing us to skip relocation processing entirely. All systems with full PPGTT and > 4GB of VMA should gain these benefits. This should be most Gen8+. Unfortunately, this excludes a few systems: - Cherryview (only has 32-bit addressing, despite 48-bit pointers) - Broadwell with a 32-bit kernel - Anybody running pre-4.5 kernel. We may enable it for Cherryview in the future, but it would require some tweaks to the memory zone. Reviewed-by: Jordan Justen --- src/mesa/drivers/dri/i965/brw_bufmgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c index 121e952..b5e3eb6 100644 --- a/src/mesa/drivers/dri/i965/brw_bufmgr.c +++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c @@ -1724,7 +1724,7 @@ brw_bufmgr_init(struct gen_device_info *devinfo, int fd) bufmgr->initial_kflags |= EXEC_OBJECT_SUPPORTS_48B_ADDRESS; /* Allocate VMA in userspace if we have softpin and full PPGTT. */ - if (false && gem_param(fd, I915_PARAM_HAS_EXEC_SOFTPIN) > 0 && + if (gem_param(fd, I915_PARAM_HAS_EXEC_SOFTPIN) > 0 && gem_param(fd, I915_PARAM_HAS_ALIASING_PPGTT) > 1) { bufmgr->initial_kflags |= EXEC_OBJECT_PINNED; -- 2.7.4