softpipe: Make softpipe transfers in-order.
authorJosé Fonseca <jfonseca@vmware.com>
Sun, 25 Apr 2010 16:03:48 +0000 (17:03 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Sun, 25 Apr 2010 22:41:48 +0000 (23:41 +0100)
commit53e94bd4adb218c5974c522389c3bcf40f3fa7e8
treebc8061898c4f8b0852645124a0c2a6cccdf16880
parent43b85af56efbe6eb06f4e62d23e9f6f583c5ec2e
softpipe: Make softpipe transfers in-order.

Transfer, being now a context operation, should happen in order with
all other contexts operations. If there is rendering pending on the
resource then the driver must flush and potentially wait itself
internally.

Instead of avoiding using transfers internally (as done in llvmpipe) I've
opted to simply pass PIPE_TRANSFER_UNSYNCHRONIZED in all internal
transfers, to avoid infinite recursion.
src/gallium/drivers/softpipe/sp_flush.c
src/gallium/drivers/softpipe/sp_flush.h
src/gallium/drivers/softpipe/sp_tex_tile_cache.c
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/softpipe/sp_tile_cache.c