Method
CoglBuffermap_range
Declaration [src]
void*
cogl_buffer_map_range (
CoglBuffer* buffer,
size_t offset,
size_t size,
CoglBufferAccess access,
CoglBufferMapHint hints,
GError** error
)
Description [src]
Maps a sub-region of the buffer into the application’s address space for direct access.
It is strongly recommended that you pass
COGL_BUFFER_MAP_HINT_DISCARD
as a hint if you are going to replace
all the buffer’s data. This way if the buffer is currently being
used by the GPU then the driver won’t have to stall the CPU and
wait for the hardware to finish because it can instead allocate a
new buffer to map. You can pass
COGL_BUFFER_MAP_HINT_DISCARD_RANGE
instead if you want the
regions outside of the mapping to be retained.
The behaviour is undefined if you access the buffer in a way
conflicting with the access
mask you pass. It is also an error to
release your last reference while the buffer is mapped.
Parameters
offset
-
Type:
size_t
Offset within the buffer to start the mapping.
size
-
Type:
size_t
The size of data to map.
access
-
Type:
CoglBufferAccess
How the mapped buffer will be used by the application.
hints
-
Type:
CoglBufferMapHint
A mask of
CoglBufferMapHint
s that tell Cogl how the data will be modified once mapped. error
-
Type:
GError **
The return location for a recoverable error.
The argument can be NULL
.If the return location is not NULL
, then you must initialize it to aNULL
GError*
.The argument will be left initialized to NULL
by the method if there are no errors.In case of error, the argument will be set to a newly allocated GError
; the caller will take ownership of the data, and be responsible for freeing it.