====== CloneVRAMPagesDefer ====== Copies one page of VRAM to a contiguous range of VRAM pages asynchronously. ==== Synopsis ==== ''%%Err CloneVRAMPagesDefer (Item ioreq,void *dest,void *src,uint32 numpages,uint32 mask)%%'' ==== Description ==== This call is a convenience call for SPORT device transfers. It copies the specified src VRAM page to a number of VRAM pages, starting at the specified dest address and specified numPages number of pages. The mask argument controls which bits of the destination are modified by bits of the source. This call uses the SPORT device to do the transfer. It does not wait for the transfer to complete, but returns immediately. This allows the application to continue its work while the SPORT I/O request is in the queue. When using a deferred request such as this, use ''%%WaitIO()%%'' to wait until the I/O request completes. ==== Arguments ==== * **ioreq** Item number of the I/O request. * **dest** Pointer to the first byte of the first page of the destination VRAM. * **src** Pointer to the first byte of the page of source VRAM. * **numpages** Number of destination pages to receive the copy of the source page. * **mask** Write mask, which controls which bits of the source are copied to the destination. ==== Return Value ==== The call returns a non-negative value if successful or an error code (a negative value) if an error occurs. ==== Notes ==== The use of a mask value other than all 1s (0xFFFFFFFF) is discouraged. Future systems may not support this feature in a performance-conscious manner. ==== Implementation ==== Convenience call implemented in graphics.lib V20. ==== Associated Files ==== graphics.h, graphics.lib ==== See Also ==== ''%%CopyVRAMPages%%''(), [[:documentation:development:opera:pf25:ppgfldr:ggsfldr:gprfldr:01gpr068#xref23837|SetVRAMPages]](), [[:documentation:development:opera:pf25:ppgfldr:ggsfldr:gprfldr:01gpr069#xref40027|SetVRAMPagesDefer]](), [[:documentation:development:opera:pf25:ppgfldr:ggsfldr:gprfldr:01gpr006#xref39220|CopyVRAMPagesDefer]](), [[:documentation:development:opera:pf25:ppgfldr:ggsfldr:gprfldr:01gpr002#xref11416|CloneVRAMPages]](), [[:documentation:development:opera:pf25:ppgfldr:ggsfldr:gprfldr:01gpr036#xref18489|GetVRAMIOReq]](), [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr079#xref32894|GetPageSize]]()