Signed-off-by: Ben Widawsky <b...@bwidawsk.net> --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index d35a50e..18bed4d 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -296,8 +296,6 @@ intel_bufferobj_get_subdata(struct gl_context * ctx, } } - - /** * Called via glMapBufferRange and glMapBuffer * @@ -401,8 +399,16 @@ intel_bufferobj_map_range(struct gl_context * ctx, } if (!(access & GL_MAP_READ_BIT)) { - drm_intel_gem_bo_map_gtt(intel_obj->buffer); - intel_obj->mapped_gtt = GL_TRUE; + if (intel->gen >= 6) { + drm_intel_gem_bo_map_wo(intel_obj->buffer); + intel_obj->mapped_gtt = GL_FALSE; + } else if (access & GL_MAP_UNSYNCHRONIZED_BIT) { + drm_intel_gem_bo_map_gtt_wo(intel_obj->buffer, 0, 1); + intel_obj->mapped_gtt = GL_TRUE; + } else { + drm_intel_gem_bo_map_gtt(intel_obj->buffer); + intel_obj->mapped_gtt = GL_TRUE; + } } else { drm_intel_bo_map(intel_obj->buffer, (access & GL_MAP_WRITE_BIT) != 0); intel_obj->mapped_gtt = GL_FALSE; -- 1.7.6.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx