A blit operation takes an arbitrary rectangular assignment of memory, defined by a source rectangle, and copies it to another place in memory that is defined by a destination rectangle. The Windowing API environment provides a simple blitting implementation.
Blits are batch-processed in a separate command buffer that is associated with a context. Consequently, if you intermix blits and other function calls, the blits will execute first, then any delayed function calls. Flushing blits does not flush the other commands. Buffers used as source or destination in blits must have a SCREEN_NATIVE_USAGE.