diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_screen.c | 6 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_screen.h | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index d009543e5d8..c973b448260 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -983,10 +983,8 @@ brw_query_renderer_integer(__DRIscreen *dri_screen, * assume that there's some fragmentation, and we start doing extra * flushing, etc. That's the big cliff apps will care about. */ - uint64_t aper_size = get_aperture_size(dri_screen->fd); - const unsigned gpu_mappable_megabytes = - (aper_size / (1024 * 1024)) * 3 / 4; + screen->aperture_threshold / (1024 * 1024); const long system_memory_pages = sysconf(_SC_PHYS_PAGES); const long system_page_size = sysconf(_SC_PAGE_SIZE); @@ -1860,6 +1858,8 @@ __DRIconfig **intelInitScreen2(__DRIscreen *dri_screen) screen->max_gtt_map_object_size = gtt_size / 4; } + screen->aperture_threshold = get_aperture_size(dri_screen->fd) * 3 / 4; + screen->hw_has_swizzling = intel_detect_swizzling(screen); screen->hw_has_timestamp = intel_detect_timestamp(screen); diff --git a/src/mesa/drivers/dri/i965/intel_screen.h b/src/mesa/drivers/dri/i965/intel_screen.h index 8c9ed1662b1..f6727d95cd7 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.h +++ b/src/mesa/drivers/dri/i965/intel_screen.h @@ -50,6 +50,9 @@ struct intel_screen uint64_t max_gtt_map_object_size; + /** Bytes of aperture usage beyond which execbuf is likely to fail. */ + uint64_t aperture_threshold; + bool no_hw; bool hw_has_swizzling; bool has_exec_fence; /**< I915_PARAM_HAS_EXEC_FENCE */ |