diff options
author | Dave Airlie <airlied@redhat.com> | 2010-07-18 18:47:08 +1000 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-07-18 18:11:29 +0200 |
commit | 4eaf591d1504f61e131f77f01711d27a75d02e90 (patch) | |
tree | c6e634f652b0418734a1afc3b45d97d0c9f18bed /src/gallium/drivers/r300/r300_screen_buffer.c | |
parent | 14e362c79aedd9b463c74ef2e56ad96101ceb2af (diff) |
r300g: u_upload optimisation
fix vb/ib uploads
Diffstat (limited to 'src/gallium/drivers/r300/r300_screen_buffer.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_screen_buffer.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_screen_buffer.c b/src/gallium/drivers/r300/r300_screen_buffer.c index bb5d4fac06..b19b5b5cce 100644 --- a/src/gallium/drivers/r300/r300_screen_buffer.c +++ b/src/gallium/drivers/r300/r300_screen_buffer.c @@ -62,7 +62,8 @@ int r300_upload_index_buffer(struct r300_context *r300, struct pipe_resource **index_buffer, unsigned index_size, unsigned start, - unsigned count) + unsigned count, + unsigned *out_offset) { struct pipe_resource *upload_buffer = NULL; unsigned index_offset = start * index_size; @@ -79,7 +80,10 @@ int r300_upload_index_buffer(struct r300_context *r300, goto done; } *index_buffer = upload_buffer; - } + *out_offset = index_offset / index_size; + } else + *out_offset = start; + done: // if (upload_buffer) // pipe_resource_reference(&upload_buffer, NULL); |