svga: Follow buffer usage semantics properly.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 21 Jan 2010 20:12:33 +0000 (12:12 -0800)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 21 Jan 2010 23:18:40 +0000 (15:18 -0800)
commit0ae076bf40782c48b1b26ca63ed2c349532dd81e
treec47c315f753c09746d80680bf382ee53fb38729d
parentefc08bddb7622e4acfa795b58e1264b64b78ab4f
svga: Follow buffer usage semantics properly.

It's necessary to download buffers from the host always, except if the
buffer is undefined, because:
- just PIPE_BUFFER_USAGE_CPU_WRITE doesn't guarantee all data is written
  -- old contents may still pierce through
- PIPE_BUFFER_USAGE_DISCARD refers to a range, not the whole buffer, so
  unless we track which parts have been modified and not we still need
  to download the data.
src/gallium/drivers/svga/svga_screen_buffer.c
src/gallium/drivers/svga/svga_screen_buffer.h