Nvidia has patented a method of optimizing the GPU pixel processing pipeline. According to company spokesperson Hector Marinez, patent no. 7609272 "helps" the shader process textures in a way that makes "full" use of any extra circuits.
"Previously, when a large texture needed to be read, one instruction would be issued, and one shader circuit would need to make several passes while other circuits sat idle," said Marinez.
??"But [Nvidia] patent authors Emmett Kilgariff and Rui Bastos figured out a way to allow for a partial texture load. By breaking the texture load into smaller pieces – able to be completed in one pass each – all circuits can keep firing."
Marinez explained that textures can be 32-bit, 64-bit, or 128-bit. However, anything larger than 32-bit requires more than one pass.
"Before Bastos and Kilgariff's invention, texture lookups were monolithic instructions that took multiple cycles to be executed, leaving other shader functional units to sit idle."
?He added that the idle pipe units allowed the graphics card to process more than one instruction per cycle by fitting other, non-textured instructions in the slots.
"But to do that, the monolithic texture-load instructions had to be split into chunks. Break a 128-bit texture into four pieces – each of which can be completed in one pass – and that lets one cycle-hungry instruction be broken into four instructions. Doing this means that other circuits keep processing instructions – no more waiting," said Marinez.
"Kilgariff and Bastos [also] discovered they could reorder instructions for greater efficiency. For instance, if a texture for instruction 1 is not immediately available, the shader circuit could get to work on instruction 2. Instructions don't back up in a queue [and] textures render faster, [providing] more seamless game play."
Elements of patent no. 7609272 has already been implemented in a number of Nvidia GPUs, including the GeForce 6 family of products. The patent was also featured in the RSX – or Reality Synthesizer – GPU co-developed by Nvidia for the Sony PlayStation 3.