Sub-Primitive Tiling for Graphics Processing Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Tile-based graphics processing systems face inefficiencies in handling geometry data transfer and processing due to increased complexity in computer graphics applications, leading to duplicated geometry processing and high memory usage during the rasterization phase.
Innovation Solution
A graphics processing system that subdivides the rendering space into tiles, utilizing geometry processing logic with shader stages to determine transformed positions of sub-primitives and generate control stream data for sub-primitive indications, allowing the rasterization logic to derive and render sub-primitives efficiently by skipping unnecessary processing stages based on sub-primitive indications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all geometry processing is performed during the rasterization phase, then processing flexibility is improved, but processing time and computational load increase
Solution Approach 1:
The patent performs geometry processing actions in advance during the geometry processing phase, specifically determining which sub-primitives are present in each tile before the rasterization phase begins. This preliminary determination allows the rasterization phase to skip unnecessary processing operations, thereby reducing overall processing time while maintaining the flexibility to handle complex geometry data structures.
2Adaptability or versatility
If geometry data is stored in memory for later processing, then processing reusability is improved, but memory usage increases
Solution Approach 1:
The patent extracts only the essential information about sub-primitive presence and their tile locations during the geometry processing phase, storing this metadata in control stream data rather than storing complete geometry data. This extraction approach maintains the ability to reuse geometry information during rasterization while significantly reducing memory requirements compared to storing full geometry datasets.
Solution Approach 2:
The patent segments geometry processing into distinct phases: a geometry processing phase that determines sub-primitive presence and generates control stream data, and a rasterization phase that executes rendering operations. This segmentation allows different types of data to be stored and processed appropriately in each phase, optimizing both memory usage and processing efficiency.
3Reliability
If duplicated geometry processing is performed during rasterization, then processing completeness is improved, but processing efficiency decreases
Solution Approach 1:
The patent uses feedback from the geometry processing phase to guide the rasterization phase. The control stream data generated during geometry processing provides feedback information about which sub-primitives are present in each tile, allowing the rasterization phase to adjust its operations accordingly. This feedback mechanism ensures processing completeness by maintaining accurate sub-primitive identification while improving efficiency by eliminating duplicated processing operations.
Data Source
AI summary
A graphics processing system configured to use a rendering space which is subdivided into a plurality of tiles, includes geometry processing logic having geometry transform and sub-primitive logic configured to receive graphics data of input graphics data items, and to determine transformed positions within the rendering space of one or more sub-primitives derived from the input graphics data items using a plurality of shader stages; and a tiling unit configured to generate control stream data including sub-primitive indications to indicate which of the sub-primitives are to be used for rendering each tile. The geometry processing logic is configured to write to a memory, for each instance of a pre-determined shader stage, shader stage output data comprising data output from each instance of the pre-determined shader stage used to process the received graphics data.


