Am 30.10.18 um 16:59 schrieb Michel Dänzer: > On 2018-10-30 4:52 p.m., Marek Olšák wrote: >> On Tue, Oct 30, 2018, 11:49 AM Marek Olšák <maraeo@xxxxxxxxx> wrote: >>> On Tue, Oct 30, 2018, 4:20 AM Michel Dänzer <michel@xxxxxxxxxxx> wrote: >>> >>>> On 2018-10-29 10:15 p.m., Marek Olšák wrote: >>>>> You and I discussed this extensively internally a while ago. It's >>>> expected >>>>> and correct behavior. Mesa doesn't unmap some buffers and never will. >>>> It doesn't need to keep mapping the same buffer over and over again >>>> though, does it? >>>> >>> It doesnt map it again. It just doesnt unmap. So the next map call just >>> returns the pointer. It's correct to stop the counter wraparound. >>> >> Mesa doesn't track whether a buffer is already mapped. Libdrm tracks that. >> It's a feature of libdrm to return the same pointer and expect infinite >> number of map calls. > That's not what the reference counting in libdrm is intended for. It's > for keeping track of how many independent callers have mapped the > buffer. Mesa should remember that it mapped a buffer and not map it again. Well if Mesa just wants to query the existing mapping then why not add a amdgpu_bo_get_cpu_ptr() which just queries if a CPU mapping exists and if yes returns the appropriate pointer or NULL otherwise? I mean when we want to abstract everything in libdrm then we just need to add the functions we need to use this abstraction. Christian. _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx