Hi, 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 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(-) -- 2.0.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev