svga: reduce unmapping/remapping of the default constant buffer
authorBrian Paul <brianp@vmware.com>
Mon, 15 Aug 2016 15:16:05 +0000 (09:16 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 17 Sep 2016 16:09:00 +0000 (10:09 -0600)
commitee5f5e226906ff4e18f34d0e7d41aa82dcf51f70
tree296e3b0072c6bbe485ac4b32e4a95f16c67ba858
parentce3b34b72702195694ee8fc64c8259d4a16711ab
svga: reduce unmapping/remapping of the default constant buffer

Previously, every time we put shader constants into the default constant
buffer we called u_upload_alloc(), which mapped the buffer, and
u_upload_unmap().  We had to unmap the buffer before calling
svga_buffer_handle() to get the winsys handle for the buffer.  But we
really only need to do that the first time we reference the const buffer.
Now we try to keep the upload manager's buffer mapped until we fill it or
flush the command buffer.

v2: add additional comment on the buffer unmapping code in
svga_context_flush(), per Charmaine.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/drivers/svga/svga_context.c
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_state_constants.c