summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2010-07-29 15:54:10 +0800
committerChia-I Wu <olv@lunarg.com>2010-07-29 15:55:14 +0800
commit92f9b05499de9f0e8eda11d1a75ba7955c9cc602 (patch)
treeeadac03fd0c5f379a0b1997b8e5bf48e1e5ed9a2
parent2bff1a08d911e8a39661bb65a8ffd684b8782f5b (diff)
gallium: Avoid void pointer arithmetic.
This fixes fdo bug #29286.
-rw-r--r--src/gallium/drivers/i915/i915_context.c4
-rw-r--r--src/gallium/drivers/llvmpipe/lp_draw_arrays.c4
-rw-r--r--src/gallium/drivers/r300/r300_render.c2
-rw-r--r--src/gallium/drivers/softpipe/sp_draw_arrays.c4
4 files changed, 7 insertions, 7 deletions
diff --git a/src/gallium/drivers/i915/i915_context.c b/src/gallium/drivers/i915/i915_context.c
index 496efc99da..2beb9e3091 100644
--- a/src/gallium/drivers/i915/i915_context.c
+++ b/src/gallium/drivers/i915/i915_context.c
@@ -67,8 +67,8 @@ i915_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
* Map index buffer, if present
*/
if (info->indexed && i915->index_buffer.buffer) {
- mapped_indices = i915_buffer(i915->index_buffer.buffer)->data;
- mapped_indices += i915->index_buffer.offset;
+ char *indices = (char *) i915_buffer(i915->index_buffer.buffer)->data;
+ mapped_indices = (void *) (indices + i915->index_buffer.offset);
}
draw_set_mapped_element_buffer_range(draw, (mapped_indices) ?
diff --git a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c
index 22c2836e22..e73b431cb4 100644
--- a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c
+++ b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c
@@ -69,8 +69,8 @@ llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
/* Map index buffer, if present */
if (info->indexed && lp->index_buffer.buffer) {
- mapped_indices = llvmpipe_resource_data(lp->index_buffer.buffer);
- mapped_indices += lp->index_buffer.offset;
+ char *indices = (char *) llvmpipe_resource_data(lp->index_buffer.buffer);
+ mapped_indices = (void *) (indices + lp->index_buffer.offset);
}
draw_set_mapped_element_buffer_range(draw, (mapped_indices) ?
diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index c179b07e86..35d7756584 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -692,7 +692,7 @@ static void r300_swtcl_draw_vbo(struct pipe_context* pipe,
indices = pipe_buffer_map(pipe, r300->index_buffer.buffer,
PIPE_TRANSFER_READ, &ib_transfer);
if (indices)
- indices += r300->index_buffer.offset;
+ indices = (void *) ((char *) indices + r300->index_buffer.offset);
}
draw_set_mapped_element_buffer_range(r300->draw, (indices) ?
diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c
index 3a33cdef96..386c8acb8c 100644
--- a/src/gallium/drivers/softpipe/sp_draw_arrays.c
+++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c
@@ -139,8 +139,8 @@ softpipe_draw_vbo(struct pipe_context *pipe,
/* Map index buffer, if present */
if (info->indexed && sp->index_buffer.buffer) {
- mapped_indices = softpipe_resource(sp->index_buffer.buffer)->data;
- mapped_indices += sp->index_buffer.offset;
+ char *indices = (char *) softpipe_resource(sp->index_buffer.buffer)->data;
+ mapped_indices = (void *) (indices + sp->index_buffer.offset);
}
draw_set_mapped_element_buffer_range(draw, (mapped_indices) ?