A memory control unit controls the transfer of image data from a video
buffer to a frame buffer, and from the frame buffer to a display, to be
performed block by block. Image data is written from a video buffer to
the frame buffer one block at a time. When image data for the entire
block has been written to the frame buffer, the data for that block can
be refreshed on the display. Image data for the next frame can only be
written to the frame buffer once the data in that block has been
refreshed on the display. In this way, image tearing can be eliminated.
Images can also be successfully rendered when the direction of writing
data to the frame buffer is perpendicular to the direction of copying
data from the frame buffer and refreshing the display. Thus, landscape
images can be rendered on a portrait display, without the need for double
buffering.