A computer system 100 has several processors. A first processor, such as a central processing unit 110, produces data to be used by a second processor, such as a graphics processor (GPU) 180. When the first processor creates a new version of the data, it determines the difference between the previous version and the new version. It writes a list of the differences to a memory 130 shared by the first and second processors. When the second processor needs to use the new version of the data, it reads the difference lists that have been written by the first processor and applies them to the data to produce the current version. The shared memory may be part of the memory in the second processor, to which the first processor has access. A backup copy of the old version of the data may be kept.