Expansion Stage Masks for Efficient UDL Graphics Rasterization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Untransformed display list (UDL) graphics processing systems require transforming geometry data twice, once in the geometry processing phase and again in the rasterization phase, leading to inefficiencies in memory usage and processing delays, particularly for complex scenes.
Innovation Solution
Implement a graphics processing system that generates an expansion transformation stage mask in the geometry processing phase to indicate which sub-primitives will be used in rendering, allowing the rasterization phase to efficiently re-transform untransformed primitives based on this information, reducing unnecessary processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If untransformed display list systems transform geometry data twice (once in geometry processing phase and again in rasterization phase), then memory usage is reduced and on-chip memory can be used efficiently, but processing time increases and performance deteriorates
Solution Approach 1:
The system performs preliminary determination of which sub-primitives will be used in rendering during the geometry processing phase and stores this information in the untransformed display list. This preliminary action allows the rasterization phase to avoid redundant transformations of unused sub-primitives, resolving the contradiction by preparing necessary information in advance without requiring full re-transformation.
2Reliability
If expansion transformation stages generate all sub-primitives without filtering, then completeness of transformed geometry is maintained, but processing time and power consumption increase due to redundant transformations
Solution Approach 1:
The system extracts and stores only the necessary information about which sub-primitives will be used in rendering within the untransformed display list. This extraction allows the rasterization phase to discard unused sub-primitives early, avoiding redundant transformations while maintaining completeness of the transformation pipeline for actually needed primitives.
Solution Approach 2:
The system applies different handling to different sub-primitives based on their usage status. By storing usage information in the untransformed display list, the system can locally optimize the transformation process by fully transforming only those sub-primitives that will be used in rendering, while skipping or discarding unused ones, thus achieving local quality improvement without compromising overall reliability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A graphics processing system for generating a rendering output, the system comprising geometry processing logic and rasterization logic. The geometry processing logic comprising: first transformation logic configured to transform a plurality of untransformed primitives into a plurality of transformed primitives, the first transformation logic configured to implement one or more expansion transformation stages which generate one or more sub-primitives; a primitive block generator configured to: divide the plurality of transformed primitives into a plurality of groups; and generate an untransformed primitive block for each group comprising (i) information identifying the untransformed primitives related to the transformed primitives in the group; and (ii) an expansion transformation stage mask for at least one of the one or more expansion transformation stages that indicates the sub-primitives generated for the untransformed primitives in that untransformed primitive block that are to be used in generating the rendering output. The rasterization logic comprising: second transformation logic configured to re-transform the plurality of untransformed primitives into the plurality of transformed primitives on an untransformed primitive block-basis in accordance with the expansion transformation stage mask for the at least one of the one or more expansion transformation stages; and logic configured to render the transformed primitives to generate the rendering output.