On Thu, Oct 11, 2012 at 10:05 PM, Stéphane Marchesin <stephane.marche...@gmail.com> wrote: > On Tue, Oct 9, 2012 at 6:04 PM, Marek Olšák <mar...@gmail.com> wrote: >> Hi, >> >> this is actually a very small cleanup that got unexpectedly big. I >> really underestimated the size of gallium. >> >> It's part of the plan discussed here: >> http://www.mail-archive.com/mesa-dev@lists.freedesktop.org/msg17930.html >> >> The idea is that get_transfer+transfer_map is folded into >> transfer_map, and transfer_unmap+transfer_destroy is folded into >> transfer_unmap. transfer_map must create and return the transfer >> object and transfer_unmap must destroy it. transfer_map is successful >> if the returned buffer pointer is not NULL. If transfer_map fails, the >> pointer to the transfer object remains unchanged (i.e. doesn't have to >> be NULL). >> >> I couldn't send the patch to mesa-dev, because it's too big. It's here: >> http://cgit.freedesktop.org/~mareko/mesa/commit/?h=transfer&id=7a102748a1240c4b2624c6727b480078d2905012 >> >> 103 files changed, 1204 insertions, 2014 deletions >> >> There are no piglit regressions on r600g, softpipe, and llvmpipe. I >> haven't tested the other drivers nor have I tested the state trackers >> not covered by piglit. >> > > So is the long term goal to get rid of the map/unmap completely and > use inline_write instead? That could save a copy for texture uploads > in cases where map() is also a copy.
No, we don't plan to get rid of map/unmap. You can skip the GPU->CPU copy in "map" if one of the PIPE_TRANSFER_DISCARD_* flags is set. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev