[Mesa-dev] [PATCH 2/4] i965: Use drm_intel_get_aperture_sizes instead of hard-coded 2GiB
Ian Romanick
idr at freedesktop.org
Mon Nov 11 11:19:07 PST 2013
From: Ian Romanick <ian.d.romanick at intel.com>
Systems with little physical memory installed will report less than
2GiB, and some systems may (hypothetically?) have a larger address space
for the GPU. My IVB still reports 1534.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: Daniel Vetter <daniel at ffwll.ch>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
---
src/mesa/drivers/dri/i965/intel_screen.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index e39d654..592150b 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -823,10 +823,14 @@ brw_query_renderer_integer(__DRIscreen *psp, int param, int *value)
/* Once a batch uses more than 75% of the maximum mappable size, we
* assume that there's some fragmentation, and we start doing extra
* flushing, etc. That's the big cliff apps will care about.
- *
- * Can only map 2G onto the GPU through the GTT.
*/
- const unsigned gpu_mappable_megabytes = 2 * 1024 * 3 / 4;
+ size_t aper_size;
+ size_t mappable_size;
+
+ drm_intel_get_aperture_sizes(psp->fd, &mappable_size, &aper_size);
+
+ const unsigned gpu_mappable_megabytes =
+ (aper_size / (1024 * 1024)) * 3 / 4;
const long system_memory_pages = sysconf(_SC_PHYS_PAGES);
const long system_page_size = sysconf(_SC_PAGE_SIZE);
--
1.8.1.4
More information about the mesa-dev
mailing list