From: Ian Romanick Date: Mon, 11 Nov 2013 18:57:55 +0000 (-0800) Subject: i965: Use drm_intel_get_aperture_sizes instead of hard-coded 2GiB X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb6182bdfa7c8a5a773ec21112886f742df99840;p=mesa.git i965: Use drm_intel_get_aperture_sizes instead of hard-coded 2GiB 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 Reviewed-by: Daniel Vetter Cc: "10.0" --- diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 6bcfe2c3115..10ebfb10b8e 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -824,10 +824,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);