Function ocl_core::enqueue_map_buffer [] [src]

pub unsafe fn enqueue_map_buffer<T: OclPrm>(command_queue: &CommandQueue,
                                            buffer: &Mem,
                                            block: bool,
                                            map_flags: MapFlags,
                                            offset: usize,
                                            size: usize,
                                            wait_list: Option<&ClWaitList>,
                                            new_event: Option<&mut ClEventPtrNew>)
                                            -> OclResult<*mut c_void>

[UNTESTED] Enqueues a command to map a region of the buffer object given by buffer into the host address space and returns a pointer to this mapped region.

SDK Docs

Stability

This function will eventually return a safe wrapper for the mapped host memory. Until then, just create a Vec from the returned pointer using size / size_of::() as the length and capacity.

Safety

Caller must ensure that the returned pointer is not used until the map is complete. Use new_event to monitor it. [TEMPORARY] It also must be ensured that memory referred to by the returned pointer is not dropped, reused, or otherwise interfered with until enqueue_unmap_mem_object is called.

TODO: Return a new wrapped type representing the newly mapped memory.