Tile Primitive Assignment Using Mesh Depth Threshold Culling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increased number of primitives within a tile in graphics processing systems leads to larger display lists, consuming more memory and increasing communication overhead between the GPU and memory, as full depth tests are required for each primitive.
Innovation Solution
A method and tiling unit that identifies primitives forming a mesh, determines intersection points with tile edges, and updates depth thresholds based on mesh coverage to selectively include primitives in display lists, reducing the need for full depth tests and memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the number of primitives within a tile is increased, then the rendering completeness is improved, but the display list size increases and memory usage increases
Solution Approach 1:
The patent performs preliminary depth threshold updates during the tiling phase before display list generation. By calculating and storing depth thresholds for each tile based on primitive depth values, the system enables subsequent culling operations to efficiently eliminate primitives that cannot contribute to the final image, thereby reducing display list size while maintaining rendering completeness
Solution Approach 2:
The patent introduces depth threshold parameters for each tile that dynamically change based on the depth values of primitives processed so far. These depth thresholds serve as filtering criteria that adapt during rendering, allowing the system to selectively include or exclude primitives from display lists based on whether they can potentially contribute visible fragments, thus optimizing the balance between completeness and memory usage
2Measurement precision
If full depth tests are performed for each primitive, then the rendering accuracy is improved, but the processing time increases
Solution Approach 1:
The patent performs preliminary depth threshold calculations during the tiling phase, before actual rendering. By pre-computing depth thresholds based on primitive depth values and storing them in depth threshold storage, the system avoids performing redundant full depth tests during rendering, thereby reducing processing time while maintaining rendering accuracy through selective culling
Solution Approach 2:
The patent applies different processing strategies to different tiles based on their local depth characteristics. Each tile maintains its own depth threshold that reflects the local depth distribution of primitives in that region. This allows the system to perform accurate depth comparisons only where necessary, rather than uniformly applying full depth tests to all primitives across all tiles, thus optimizing the balance between accuracy and processing time
3Reliability
If the display list includes all primitives, then the rendering completeness is improved, but the communication overhead between GPU and memory increases
Solution Approach 1:
The patent performs preliminary culling operations during the tiling phase by comparing primitive depth values against computed depth thresholds. Primitives that fail the depth threshold test are identified and excluded from their respective display lists before the rendering phase begins. This preliminary filtering significantly reduces the number of primitives that need to be communicated between memory and GPU during rendering, thereby reducing communication overhead while maintaining rendering completeness for all potentially visible primitives
Solution Approach 2:
The patent extracts and removes primitives that cannot contribute to the final image by comparing their depth values against tile-specific depth thresholds. These culled primitives are excluded from display lists, effectively removing them from the data stream that would otherwise be communicated between memory and GPU. This extraction process reduces communication overhead by eliminating unnecessary data transfer while preserving all primitives that could potentially contribute visible fragments
Data Source
AI summary
A tiling unit assigning primitives to tiles in a graphics processing system which has a rendering space subdivided into a plurality of tiles. Each tile can comprise one or more polygonal region. Mesh logic of the tiling unit can determine that a plurality of primitives form a mesh and can determine whether the mesh entirely covers a region. If the mesh entirely covers the region then a depth threshold for the region can be updated so that subsequent primitives which lie behind the depth threshold are culled (i.e. not included in the display list for a tile). This helps to reduce the number of primitive IDs included in a display list for a tile which reduces the amount of memory used by the display list and reduces the number of primitives which a hidden surface removal (HSR) module needs to fetch to perform HSR on the tile.


