Quoting Kenneth Graunke (2017-07-05 21:56:53)
> diff --git a/src/mesa/drivers/dri/i965/intel_buffer_objects.c 
> b/src/mesa/drivers/dri/i965/intel_buffer_objects.c
> index a9ac29a6a81..2b0f7b9a698 100644
> --- a/src/mesa/drivers/dri/i965/intel_buffer_objects.c
> +++ b/src/mesa/drivers/dri/i965/intel_buffer_objects.c
> @@ -289,7 +289,10 @@ brw_get_buffer_subdata(struct gl_context *ctx,
>     if (brw_batch_references(&brw->batch, intel_obj->buffer)) {
>        intel_batchbuffer_flush(brw);
>     }
> -   brw_bo_get_subdata(intel_obj->buffer, offset, size, data);
> +
> +   void *map = brw_bo_map(brw, intel_obj->buffer, MAP_READ);

Be paranoid and wrap this in a if (map). Data pointer is provided by the
user? otherwise you probably want to memset it on failure.

> +   memcpy(data, map + offset, size);
> +   brw_bo_unmap(intel_obj->buffer);
>  
>     mark_buffer_inactive(intel_obj);
>  }
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to