Luna::RHI::IBuffer::map
virtual RV map(usize read_begin, usize read_end, void **data)=0
Maps the resource data to system memory and enables CPU access to the resource data. Map/unmap operations are reference counted, for each map operation, you need to call unmap once to finally unmap the memory.
Parameters
-
in read_begin
The offset, in bytes, of the beginning of the data range that will be read by CPU.
-
in read_end
The offset, in bytes, of the ending of the data range that will be read by CPU.
-
out data
Returns the pointer to the mapped memory. The returned pointer is not offsetted by
read_beginand always points to the beginning of the resource data, but only data in [pointer + read_begin, pointer + read_end) range is valid for reading from CPU.
If read_end <= read_begin, no data will be read by CPU, which is required if resource heap type is not MemoryType::readback.
If read_end is larger than the subresource size (like setting to USIZE_MAX), the read range will be clamped to [read_begin, resource_size).