1. A method comprising: transferring, by a graphics processor unit (GPU), shader variable data to a memory buffer external to the GPU, wherein transferring the shader variable data comprises: determining, by the GPU, a base address and a number of sleep cycles; counting, by the GPU, a number of vertices or pixels processed to derive an offset; deriving, by the GPU, a memory address based on the base address and said offset; checking, by the GPU, if an entry corresponding to said memory address has been read by a second, different processor unit; if the entry has been read by the second processor unit, writing, by the GPU, the shader variable data to said memory address; and if the entry has not been read by the second processor unit, waiting, by the GPU, said number of sleep cycles before performing said checking again.