Chris Forbes <chr...@ijw.co.nz> writes:

> V2: Check for mapping failure (thanks Brian)
>
> Signed-off-by: Chris Forbes <chr...@ijw.co.nz>
> ---
>  src/mesa/vbo/vbo_primitive_restart.c | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
>
> diff --git a/src/mesa/vbo/vbo_primitive_restart.c 
> b/src/mesa/vbo/vbo_primitive_restart.c
> index 48d04e1..ee84f10 100644
> --- a/src/mesa/vbo/vbo_primitive_restart.c
> +++ b/src/mesa/vbo/vbo_primitive_restart.c
> @@ -180,6 +180,39 @@ vbo_sw_primitive_restart(struct gl_context *ctx,
>     GLboolean map_ib = ib->obj->Name && !ib->obj->Pointer;
>     void *ptr;
>  
> +   /* If there is an indirect buffer, map it and extract the draw params */
> +   if (indirect && prims[0].is_indirect) {
> +      struct _mesa_prim new_prim = *prims;
> +      struct _mesa_index_buffer new_ib = *ib;
> +      const uint32_t *indirect_params;
> +      if (!ctx->Driver.MapBufferRange(ctx, 0, indirect->Size, 
> GL_MAP_READ_BIT,
> +            (struct gl_buffer_object *)indirect)) {

Are you just casting away the const here?  indirect should definitely
not be const, because you're modifying it in calls like this.

Attachment: pgp6eATrP4Ip3.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to