Z-Only Fragment Compaction for Shader Pipeline Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The programmable fragment processor in graphics processing subsystems is often a bottleneck in rendering performance due to the need to execute shader programs for each fragment, resulting in high computational requirements, especially with many empty z-only fragment groups produced by algorithms like shadow algorithms.
Innovation Solution
Discarding empty z-only fragment groups instead of processing them, and forwarding only those covered by geometric primitives to the shader pipeline, allowing for improved load balancing and resource management among shader pipelines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If empty z-only fragment groups are processed through the shader pipeline, then shader throughput decreases and more pipelines are required, but processing them ensures complete coverage of all fragment groups
Solution Approach 1:
The patent extracts and identifies empty z-only fragment groups (those not covered by any geometric primitive) and removes them from the processing stream before they reach the shader pipelines. This is accomplished through a compactor that detects when a fragment group contains only z-values without corresponding geometric coverage, and discards these empty groups. By taking out these unnecessary processing elements, the system achieves higher shader throughput and requires fewer pipelines while maintaining correct rendering output.
2Reliability
If all fragment groups are forwarded to shader pipelines, then rendering completeness is maintained, but computational requirements and processing time increase
Solution Approach 1:
The patent applies preliminary action by performing a coverage check on fragment groups before they are forwarded to the shader pipelines. The compactor examines each fragment group to determine whether it is covered by a geometric primitive in advance of shader processing. By performing this preliminary filtering action, the system ensures that only necessary fragment groups proceed to the computationally intensive shader stage, maintaining rendering completeness for covered fragments while eliminating wasteful processing time on empty fragment groups.
Data Source
AI summary
Methods and systems for processing fragment groups are described. Fragment groups that include z-only pixels are accessed. A z-only pixel has associated therewith two or more z-values instead of a single z-value. Fragment groups that are not covered by a geometric primitive are discarded, while fragment groups that are covered by a geometric primitive are forwarded to a shader pipeline.


