Graphics Tiling Unit Subset Tile Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The inefficiency in graphics processing systems due to the high number of tiling calculations required to determine which tiles a primitive is in, leading to increased power consumption and reduced performance, especially as the number of primitives in images increases.
Innovation Solution
Implementing a method where tiling tests are performed for a subset of tiles, and the results are used to determine if the primitive is in other tiles within a bounded region, reducing the need for extensive floating-point operations and calculations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If tiling tests are performed for all tiles in the rendering space, then accurate determination of primitive-tile relationships is achieved, but the number of floating-point operations and power consumption increases significantly
Solution Approach 1:
The rendering space is divided into multiple tiles, and the tiling process is segmented into two stages: first determining which tiles contain primitive vertices (coarse segmentation), then performing detailed edge equation calculations only for tiles that may contain portions of the primitive (fine segmentation). This segmentation reduces the total number of calculations required while maintaining accuracy.
Solution Approach 2:
The patent performs edge equation calculations for more tiles than strictly necessary (including tiles that contain vertices but may not contain the actual primitive), then uses a bounding box approach to eliminate obviously excluded tiles. This partial action approach simplifies the logic and reduces the need for exhaustive calculations on every tile, lowering power consumption while maintaining accuracy.
2Reliability
If tiling tests are performed for all tiles in the rendering space, then complete coverage of primitives is ensured, but the rendering speed decreases due to extensive calculations
Solution Approach 1:
The patent performs preliminary actions by first identifying tiles that contain primitive vertices and creating a bounding box around these tiles before performing detailed edge equation calculations. This preliminary filtering step eliminates many tiles that cannot possibly contain portions of the primitive, allowing the system to maintain complete coverage while significantly reducing the number of calculations required and improving rendering speed.
3Adaptability or versatility
If the number of primitives in images increases to improve image complexity, then image quality improves, but the number of tiling calculations increases leading to reduced performance
Solution Approach 1:
The patent segments the tiling process into multiple stages: vertex-based tile identification, bounding box calculation, and selective edge equation evaluation. This segmentation allows the system to handle increased numbers of primitives more efficiently by avoiding redundant calculations on tiles that cannot contain primitive portions, thereby maintaining processing performance even as image complexity increases.
4Measurement precision
If edge equation calculations are performed for all tiles to accurately determine primitive presence, then tiling accuracy is maximized, but the device complexity and computational overhead increase
Solution Approach 1:
The patent performs edge equation calculations for a superset of tiles that includes all tiles containing vertices and tiles within the bounding box, then uses the results to determine actual primitive-tile relationships. This partial action approach maintains tiling accuracy while reducing computational overhead by avoiding calculations on tiles that are clearly excluded by the vertex-based filtering and bounding box approaches.
Data Source
AI summary
In tile-based graphics processing systems, a tiling unit determines which tiles of a rendering space a primitive is in, such that the primitives in a tile can be rendered. Rather than performing tiling calculations for each tile in a bounding box for a primitive, tiling tests can be performed for a subset of the tiles. Then the results of the tiling tests for the subset of tiles can be used to determine whether the primitive is in other tiles which are located within a region bounded by two or more of the tiles of the subset. In this way the tiling process can be implemented without performing tiling calculations for all of the tiles in the bounding box for a primitive. Reducing the number of tiling calculations can help to improve the efficiency of the graphics processing system (in terms of speed and power consumption) for rendering a primitive.


