Mesa (master): i965: Always use CPU mappings for BOs on LLC platforms.
Eric Anholt
anholt at kemper.freedesktop.org
Fri Mar 14 20:01:00 UTC 2014
Module: Mesa
Branch: master
Commit: 1990da2568a0da79c6011bd83e7f7fb8bb099827
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1990da2568a0da79c6011bd83e7f7fb8bb099827
Author: Eric Anholt <eric at anholt.net>
Date: Thu Feb 27 10:05:39 2014 -0800
i965: Always use CPU mappings for BOs on LLC platforms.
It looks like there's no big difference for write-only workloads, but
using a CPU map means that if they happen to read without having set the
MAP_READ_BIT, they get 100x the performance for those reads.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/intel_buffer_objects.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/intel_buffer_objects.c b/src/mesa/drivers/dri/i965/intel_buffer_objects.c
index e496836..260308a 100644
--- a/src/mesa/drivers/dri/i965/intel_buffer_objects.c
+++ b/src/mesa/drivers/dri/i965/intel_buffer_objects.c
@@ -429,7 +429,7 @@ intel_bufferobj_map_range(struct gl_context * ctx,
if (access & GL_MAP_UNSYNCHRONIZED_BIT)
drm_intel_gem_bo_map_unsynchronized(intel_obj->buffer);
- else if (!(access & GL_MAP_READ_BIT)) {
+ else if (!brw->has_llc && !(access & GL_MAP_READ_BIT)) {
drm_intel_gem_bo_map_gtt(intel_obj->buffer);
intel_bufferobj_mark_inactive(intel_obj);
} else {
More information about the mesa-commit
mailing list