[Mesa-dev] [PATCH 0/3] r600g/compute: Implement grow+defrag for compute_memory_pool
Bruno Jiménez
brunojimen at gmail.com
Sat Jul 19 10:35:48 PDT 2014
Hi,
This series is a follow up for the 'Adding support for defragmenting
compute_memory_pool' series. It also sits on top of the patch I sent
here: http://lists.freedesktop.org/archives/mesa-dev/2014-July/062923.html
It modifies the function 'compute_memory_grow_pool' so it can defrag
the pool at the same time as it grows it, thus reducing the total amount
of copies to one per item in the case grow+defrag. In the case where
the pool needs to grow, but it's not fragmented, then we copy only
the 'real' data that the items have, instead of copying the whole
resource, data and garbage at the same time.
The fallback path for grow+defrag isn't very good, but hopefully
it won't be used much.
As usual, if you have any doubt about any of the patches, just ask.
Thanks in advance!
Bruno
Bruno Jiménez (3):
r600g/compute: Allow compute_memory_move_item to move items between
resources
r600g/compute: Allow compute_memory_defrag to defragment between
resources
r600g/compute: Defrag the pool at the same time as we grow it
src/gallium/drivers/r600/compute_memory_pool.c | 86 +++++++++++++-------------
src/gallium/drivers/r600/compute_memory_pool.h | 4 +-
2 files changed, 47 insertions(+), 43 deletions(-)
--
2.0.2
More information about the mesa-dev
mailing list