Tile-Based GPU Interpolation Coefficient Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In tile-based graphics processing units (GPUs), when primitives cover multiple tiles, the GPU performs redundant operations on each tile, leading to increased computational load and power consumption due to repeated calculations for the same primitive.
Innovation Solution
A GPU architecture that includes a coefficient generator for producing interpolation coefficients based on vertex coordinates, an interpolator for calculating barycentric coordinates, and storage for caching these coefficients, allowing for efficient interpolation and rasterization across tiles, reducing redundant calculations by storing and reusing interpolation coefficients for pixels in larger tiles that encompass smaller tiles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the GPU performs rendering operations on each tile individually when a primitive covers multiple tiles, then the rendering can be completed for all tiles, but the same operation is repeatedly performed on the same primitive leading to increased computational load
Solution Approach 1:
The patent performs rasterization and generates interpolation coefficients for a first tile that encompasses multiple tiles. The results are stored and reused when rendering the second tile, which is contained within the first tile. This preliminary action of rendering the encompassing tile first eliminates the need to repeat rasterization operations for contained tiles, reducing computational load and power consumption while maintaining rendering productivity.
2Productivity
If the GPU performs rendering operations on each tile individually when a primitive covers multiple tiles, then the rendering can be completed for all tiles, but redundant calculations are performed leading to increased computational load
Solution Approach 1:
The patent performs rasterization and generates interpolation coefficients for a first tile that encompasses multiple tiles. The results are stored and reused when rendering the second tile, which is contained within the first tile. This preliminary action of rendering the encompassing tile first eliminates the need to repeat rasterization operations for contained tiles, reducing computational load and power consumption while maintaining rendering productivity.
3Productivity
If the GPU performs rendering operations on each tile individually when a primitive covers multiple tiles, then the rendering can be completed for all tiles, but the same operation is repeatedly performed leading to reduced efficiency
Solution Approach 1:
The patent performs rasterization and generates interpolation coefficients for a first tile that encompasses multiple tiles. The results are stored and reused when rendering the second tile, which is contained within the first tile. This preliminary action of rendering the encompassing tile first eliminates the need to repeat rasterization operations for contained tiles, reducing computational load and power consumption while maintaining rendering productivity.
Data Source
AI summary
A graphics processing unit (GPU) that performs rendering in units of tiles includes a coefficient generator that produces an interpolation coefficient based on coordinates of vertices of a primitive included in a first tile and a second tile; an interpolator that produces barycentric coordinates in respective pixels for the first tile of the primitive and pixel values in the first tile corresponding to the primitive, based on the interpolation coefficient, and a storage configured to store the interpolation coefficient. The GPU produces barycentric coordinates in and pixel values of respective pixels for a second tile of the primitive, based on the interpolation coefficient stored in the storage.


