ilo: try unblocking a transfer with a staging bo
authorChia-I Wu <olvaffe@gmail.com>
Mon, 28 Jul 2014 01:28:05 +0000 (09:28 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Mon, 28 Jul 2014 14:57:22 +0000 (22:57 +0800)
commit7395432f2e792f8719b03bb39b0cf5cba8ba583b
tree4a6a726b1aad0db6f8e48463cf13db5c5f6985e8
parent0a0e57b0705925d2350b79a32d007d29980499d6
ilo: try unblocking a transfer with a staging bo

When mapping a busy resource with PIPE_TRANSFER_DISCARD_RANGE or
PIPE_TRANSFER_FLUSH_EXPLICIT, we can avoid blocking by allocating and mapping
a staging bo, and emit pipelined copies at proper places.  Since the staging
bo is never bound to GPU, we give it packed layout to save space.
src/gallium/drivers/ilo/ilo_resource.c
src/gallium/drivers/ilo/ilo_screen.c
src/gallium/drivers/ilo/ilo_transfer.c
src/gallium/drivers/ilo/ilo_transfer.h