[Mesa-dev] [PATCH 0/2] [RFC] r600g/compute: Track better how items are mapped
brunojimen at gmail.com
Thu Aug 7 03:14:22 PDT 2014
This series adds support for actually knowing when an item is not
mapped. Previously, when an item was marked as 'MAPPED_FOR_READING'
we couldn't really remove that status because although we controlled
how items were mapped, we didn't control how they were unmapped.
Patch 1 modifies how items track how they are mapped. As an item can
be mapped multiple times for reading/writing, we should also
know how many times the item is mapped.
Patch 2 adds a new structure that will be used to actually make possible
that r600_compute_global_transfer_unmap is called when we try to unmap
an item, so we can decrement the map count.
Patch 2 is a bit of hack that seems to work, but any suggestions about
it are welcomed.
Thanks in advance!
Bruno Jiménez (2):
r600g/compute: Add a member to the items to track how many maps it has
r600g/compute: Decrement map_count when unmapping items
src/gallium/drivers/r600/compute_memory_pool.c | 5 +--
src/gallium/drivers/r600/compute_memory_pool.h | 1 +
src/gallium/drivers/r600/evergreen_compute.c | 49 +++++++++++++++++++-------
src/gallium/drivers/r600/evergreen_compute.h | 5 +++
4 files changed, 45 insertions(+), 15 deletions(-)
More information about the mesa-dev