From 8d0a540020f6389ca5efcd0e1fbef45a4a1f5b6a Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 29 Jan 2011 13:58:02 +0100 Subject: r300g: rework vertex format fallback 1) Only translate the [min_index, max_index] range. 2) Upload translated vertices via the uploader. 3) Rename valid_vertex_buffer[] to real_vertex_buffer[] --- src/gallium/drivers/r300/r300_screen_buffer.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/gallium/drivers/r300/r300_screen_buffer.c') diff --git a/src/gallium/drivers/r300/r300_screen_buffer.c b/src/gallium/drivers/r300/r300_screen_buffer.c index cc3c1d7687..af6fa1048c 100644 --- a/src/gallium/drivers/r300/r300_screen_buffer.c +++ b/src/gallium/drivers/r300/r300_screen_buffer.c @@ -87,7 +87,7 @@ void r300_upload_user_buffers(struct r300_context *r300, int i, nr = r300->velems->count; unsigned count = max_index + 1 - min_index; boolean flushed; - boolean uploaded[16] = {0}; + boolean uploaded[32] = {0}; for (i = 0; i < nr; i++) { unsigned index = r300->velems->velem[i].vertex_buffer_index; @@ -105,16 +105,10 @@ void r300_upload_user_buffers(struct r300_context *r300, size = r300->velems->hw_format_size[i]; } - DBG(r300, DBG_UPLOAD, - "Uploading %i bytes, index: %i, buffer: %p, userptr: %p " - "offset: %i, stride: %i.\n", - size, index, userbuf, userbuf->user_buffer, - vb->buffer_offset, vb->stride); - u_upload_data(r300->upload_vb, first, size, userbuf->user_buffer + first, &vb->buffer_offset, - &r300->valid_vertex_buffer[index], + &r300->real_vertex_buffer[index], &flushed); vb->buffer_offset -= first; @@ -127,10 +121,9 @@ void r300_upload_user_buffers(struct r300_context *r300, } uploaded[index] = TRUE; } else { - assert(r300->valid_vertex_buffer[index]); + assert(r300->real_vertex_buffer[index]); } } - DBG(r300, DBG_UPLOAD, "-------\n"); } static void r300_buffer_destroy(struct pipe_screen *screen, -- cgit v1.2.3