ilo: try unblocking a transfer with a staging bo

Graphics / Mesa 3D Graphics Library / Mesa - Chia-I Wu [gmail.com] - 28 July 2014 09:57 UTC

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.

7395432 ilo: try unblocking a transfer with a staging bo
src/gallium/drivers/ilo/ilo_resource.c | 58 +++++++++++-
src/gallium/drivers/ilo/ilo_screen.c | 3 +-
src/gallium/drivers/ilo/ilo_transfer.c | 152 +++++++++++++++++++++++++++++---
src/gallium/drivers/ilo/ilo_transfer.h | 15 +++-
4 files changed, 209 insertions(+), 19 deletions(-)

Upstream: cgit.freedesktop.org


  • Share