From: Ian Romanick <ian.d.roman...@intel.com> The old code was an obvious cut-and-paste fail from intel_bufferobj_map.
Cc: Eric Anholt <e...@anholt.net> Cc: Ben Widawsky <b...@bwidawsk.net> --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index 7a0102b..eaf2026 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -374,7 +374,6 @@ intel_bufferobj_map_range(struct gl_context * ctx, { struct intel_context *intel = intel_context(ctx); struct intel_buffer_object *intel_obj = intel_buffer_object(obj); - GLboolean read_only = (access == GL_READ_ONLY_ARB); assert(intel_obj); @@ -386,6 +385,9 @@ intel_bufferobj_map_range(struct gl_context * ctx, obj->AccessFlags = access; if (intel_obj->sys_buffer) { + const GLboolean read_only = (access & GL_MAP_READ_BIT) != 0 + && (access & GL_MAP_WRITE_BIT) == 0; + if (!read_only && intel_obj->source) release_buffer(intel_obj); -- 1.7.4.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev