diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2011-03-09 12:39:14 +0100 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2011-03-10 14:30:50 +0100 |
commit | 6d4e337f3890105c7d8a2f132412c137d2570d25 (patch) | |
tree | dda501f467a5d7213902159cc8574628241428d0 /src/gallium/drivers/svga/svga_state_vdecl.c | |
parent | 9b7f3776359640d452697f3a487a345820abebf0 (diff) | |
download | external_mesa3d-6d4e337f3890105c7d8a2f132412c137d2570d25.zip external_mesa3d-6d4e337f3890105c7d8a2f132412c137d2570d25.tar.gz external_mesa3d-6d4e337f3890105c7d8a2f132412c137d2570d25.tar.bz2 |
gallium/svga: Only upload parts of vertexarrays that are actually used
Make sure we only upload parts of vertex arrays that are actually used
by a draw command.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_vdecl.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_state_vdecl.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gallium/drivers/svga/svga_state_vdecl.c b/src/gallium/drivers/svga/svga_state_vdecl.c index 2f85f94..5bd51ca 100644 --- a/src/gallium/drivers/svga/svga_state_vdecl.c +++ b/src/gallium/drivers/svga/svga_state_vdecl.c @@ -59,8 +59,8 @@ upload_user_buffers( struct svga_context *svga ) if (!buffer->uploaded.buffer) { boolean flushed; ret = u_upload_buffer( svga->upload_vb, - 0, 0, - buffer->b.b.width0, + 0, buffer->source_offset, + buffer->b.b.width0 - buffer->source_offset, &buffer->b.b, &buffer->uploaded.offset, &buffer->uploaded.buffer, @@ -69,16 +69,19 @@ upload_user_buffers( struct svga_context *svga ) return ret; if (0) - debug_printf("%s: %d: orig buf %p upl buf %p ofs %d sz %d\n", + debug_printf("%s: %d: orig buf %p upl buf %p ofs %d sofs %d" + " sz %d\n", __FUNCTION__, i, buffer, buffer->uploaded.buffer, buffer->uploaded.offset, + buffer->source_offset, buffer->b.b.width0); } svga->curr.vb[i].buffer_offset = buffer->uploaded.offset; + svga_buffer(buffer->uploaded.buffer)->source_offset = buffer->source_offset; } } |