Conservative Rasterization Edge Tagging Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the 3D pipeline, clipped triangles are rasterized as convex polygons, leading to overestimation of conservative coverage, where pixels along shared edges are generated multiple times, and underestimation results in holes in the coverage mask, causing performance issues and inconsistent behavior across vendors due to differing hardware implementations.
Innovation Solution
Implement edge tagging logic to differentiate between inner and non-inner edges in convex polygons, using specific edge equations for conservative rasterization to prevent double-generation of pixels and ensure complete coverage, and extend this logic to hierarchical and multisampling scenarios.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If clipped triangles are rasterized as a set of independent triangles, then the rasterization process is simplified, but pixels along shared edges are generated multiple times causing overestimation of conservative coverage
Solution Approach 1:
The convex polygon is divided into multiple triangles for rasterization processing. Each triangle is treated as an independent primitive that can be processed separately by the rasterizer, maintaining hardware efficiency while enabling precise edge classification through the inner edge flag mechanism.
Solution Approach 2:
Different edge equations are applied to different edges based on their classification as inner or non-inner edges. The clipper sets an inner edge flag for each edge, and the rasterizer selects appropriate edge equations (overestimating for non-inner edges, standard for inner edges) based on this flag, achieving local optimization of coverage accuracy.
2Ease of operation
If standard edge equations are used for all edges in conservative rasterization, then the implementation is consistent, but pixels are not accurately detected leading to coverage holes in underestimating mode
Solution Approach 1:
The system applies different edge equations to different edges based on their geometric role. Non-inner edges use overestimating conservative edge equations to ensure complete coverage, while inner edges use standard edge equations. This local differentiation eliminates coverage holes while maintaining implementation consistency through the unified inner edge flag mechanism.
Solution Approach 2:
The edge equation parameters are changed based on the edge type. The clipper sets the inner edge flag parameter for each edge, and the rasterizer changes the edge equation parameters dynamically based on this flag, selecting between overestimating and standard edge equations to achieve accurate pixel detection for each specific edge.
3Adaptability or versatility
If different hardware vendors implement clipping differently, then each vendor can optimize for their architecture, but consistent behavior of conservative rasterization cannot be guaranteed across vendors
Solution Approach 1:
The inner edge flag mechanism provides a universal interface between the clipper and rasterizer that works across different hardware architectures. The clipper universally sets the inner edge flag for all inner edges regardless of implementation details, and the rasterizer universally respects this flag, ensuring consistent behavior across vendors while allowing each to optimize their specific architecture.
Solution Approach 2:
The inner edge flag acts as an intermediary between the clipping stage and rasterization stage. It carries essential geometric information (whether an edge is inner or non-inner) in a vendor-neutral manner, allowing different hardware vendors to implement clipping and rasterization differently while maintaining consistent conservative rasterization behavior through this standardized intermediate representation.
4Reliability
If pixels along shared edges are generated multiple times, then the rasterization is more conservative, but performance deteriorates due to redundant processing
Solution Approach 1:
The system applies overestimating edge equations only to non-inner edges where they are needed for coverage completeness, while using standard edge equations for inner edges where they would cause redundant pixel generation. This local differentiation maintains conservative coverage completeness while eliminating unnecessary performance penalties from redundant processing.
Solution Approach 2:
The edge equation parameters are dynamically changed based on the inner edge flag. For non-inner edges, overestimating parameters are used to ensure coverage completeness. For inner edges, standard parameters are used to avoid redundant pixel generation. This parameter differentiation resolves the contradiction between coverage completeness and performance by applying the appropriate level of conservatism only where needed.
Data Source
AI summary
An apparatus and method are described for conservative rasterization. For example, one embodiment of a graphics processing apparatus comprises: an edge tagging circuit to identify edges of two or more triangles forming a convex polygon as inner edges or non-inner edges; and a rasterizer to responsively perform rasterization of the two or more triangles using a first edge processing circuit for inner edges and a second edge processing circuit for non-inner edges.


