1. A method comprising: converting, with one or more processors, an unaligned block transfer (BLT) command into multiple aligned BLT commands, wherein the unaligned BLT command specifies a first surface width for at least one of the surfaces associated with the unaligned BLT command and a first BLT region, the at least one of the surfaces corresponding to a two-dimensional array of pixel data, and wherein converting the unaligned BLT command comprises: determining a second surface width based on the first surface width, wherein the second surface width is N times the first surface width, where N is an integer greater than or equal to two; and generating the multiple aligned BLT commands such that each of the multiple aligned BLT commands specifies the second surface width for at least one of the surfaces associated with each of the multiple aligned BLT commands, the multiple aligned BLT commands specifying: a source virtual surface and a destination virtual surface, the source virtual surface and the destination virtual surface each specifying the second surface width, and a plurality of source regions associated with the aligned source virtual surface and a plurality of destination regions associated with the aligned destination virtual surface, the plurality of source regions created by splitting the first BLT region associated with the unaligned BLT command into a plurality of non-contiguous regions associated with one or more of the multiple aligned BLT commands.