Patent ID: 7508397
Filing Date: 2009-03-24
Classification: G06F,G06T,G09G

Abstract:
1. A method for modifying data in memory associated with an image comprising: processing a plurality of data operations in a graphics pipeline, wherein the plurality of data operations are configured to modify data stored in a portion memory corresponding to the image, the plurality of data operations including a first data operation involving a first read operation followed by a first write operation and a second data operation involving a second read operation followed by a second write operation, wherein each of the first data operation and the second data operation is a BLIT operation; dividing the first read operation into a first set of read sub-operations, wherein each read sub-operation reads a subset of data associated with the first read operation, wherein a size of the subset of data associated with each of the first set of read sub-operations is determined at least in part by read granularity of the memory, write granularity of the memory or a combination thereof, and wherein the first write operation further comprises writing the subset of data read by each read sub-operation of the first set of read sub-operations; dividing the second read operation into a second set of read sub-operations, wherein each read sub-operation reads a subset of data associated with the second read operation, wherein a size of the subset of data associated with each of the second set of read sub-operations is determined at least in part by read granularity of the memory, write granularity of the memory or a combination thereof, and wherein the second write operation further comprises writing the subset of data read by each read sub-operation of the second set of read sub-operations; starting the first read operation, wherein starting the first read operation further comprises: determining whether data associated with the first data operation overlaps with data associated with the second data operation, wherein the determining step comprises determining whether a destination pixel area associated with the first write operation overlaps with a source pixel area associated with the second read operation, wherein determining whether an overlap occurs includes translating the coordinates of the destination pixel area associated with the first write operation to a first range of memory addresses and translating the source pixel area associated with the second read operation to a second range of memory addresses, and wherein an overlap occurs if the first range of memory addresses overlaps the second range of memory addresses; if data associated with the first data operation overlaps with data associated with the second data operation, starting the second read operation after the first write operation is completed; and if the data associated with the first data operation does not overlap with data associated with the second data operation, starting the second read operation before the first write operation is completed, wherein starting the second read operation further comprises: