Fix issue with index buffers that do not contain 0 index. Use core BaseVertex functionality to offset index buffer indices, instead of offsetting vertex buffer to point before the buffer origin. --- src/gallium/drivers/swr/swr_draw.cpp | 2 +- src/gallium/drivers/swr/swr_state.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/swr/swr_draw.cpp b/src/gallium/drivers/swr/swr_draw.cpp index c4d5e5c..88000e5 100644 --- a/src/gallium/drivers/swr/swr_draw.cpp +++ b/src/gallium/drivers/swr/swr_draw.cpp @@ -200,7 +200,7 @@ swr_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) info->count, info->instance_count, info->start, - info->index_bias, + info->index_bias - info->min_index, info->start_instance); else SwrDrawInstanced(ctx->swrContext, diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp index f1f4963..f03f814 100644 --- a/src/gallium/drivers/swr/swr_state.cpp +++ b/src/gallium/drivers/swr/swr_state.cpp @@ -1133,7 +1133,7 @@ swr_update_derived(struct pipe_context *pipe, memcpy(scratch, ptr, size); ptr = scratch; scratch += size; - p_data = (const uint8_t *)ptr - base; + p_data = (const uint8_t *)ptr; } swrVertexBuffers[i] = {0}; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev