From 34e53adc51ade8d53d74b6ae35bec90f1a6b9b29 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 2 Apr 2012 03:01:01 +0200 Subject: [PATCH] r600g: inline r600_upload_index_buffer --- src/gallium/drivers/r600/r600_buffer.c | 9 --------- src/gallium/drivers/r600/r600_pipe.h | 3 --- src/gallium/drivers/r600/r600_state_common.c | 7 +++++-- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/gallium/drivers/r600/r600_buffer.c b/src/gallium/drivers/r600/r600_buffer.c index b165c31..4708d01 100644 --- a/src/gallium/drivers/r600/r600_buffer.c +++ b/src/gallium/drivers/r600/r600_buffer.c @@ -257,12 +257,3 @@ struct pipe_resource *r600_user_buffer_create(struct pipe_screen *screen, rbuffer->buf = NULL; return &rbuffer->b.b.b; } - -void r600_upload_index_buffer(struct r600_context *rctx, - struct pipe_index_buffer *ib, unsigned count) -{ - struct r600_resource *rbuffer = r600_resource(ib->buffer); - - u_upload_data(rctx->vbuf_mgr->uploader, 0, count * ib->index_size, - rbuffer->b.user_ptr, &ib->offset, &ib->buffer); -} diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 1f4368d..a84f9cc 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -398,9 +398,6 @@ struct pipe_resource *r600_buffer_create(struct pipe_screen *screen, struct pipe_resource *r600_user_buffer_create(struct pipe_screen *screen, void *ptr, unsigned bytes, unsigned bind); -void r600_upload_index_buffer(struct r600_context *rctx, - struct pipe_index_buffer *ib, unsigned count); - /* r600_pipe.c */ void r600_flush(struct pipe_context *ctx, struct pipe_fence_handle **fence, diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 1738d30..59336cf 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -744,6 +744,7 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *dinfo) struct r600_atom *state = NULL, *next_state = NULL; struct radeon_winsys_cs *cs = rctx->cs; uint64_t va; + uint8_t *ptr; if ((!info.count && (info.indexed || !info.count_from_stream_output)) || (info.indexed && !rctx->vbuf_mgr->index_buffer.buffer) || @@ -778,8 +779,10 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *dinfo) /* Translate or upload, if needed. */ r600_translate_index_buffer(rctx, &ib, info.count); - if (u_vbuf_resource(ib.buffer)->user_ptr) { - r600_upload_index_buffer(rctx, &ib, info.count); + ptr = u_vbuf_resource(ib.buffer)->user_ptr; + if (ptr) { + u_upload_data(rctx->vbuf_mgr->uploader, 0, info.count * ib.index_size, + ptr, &ib.offset, &ib.buffer); } } else { info.index_bias = info.start; -- 2.7.4