Hierarchical Depth Buffer Culling via Mask Accumulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processing units (GPUs) face inefficiencies in hierarchical depth buffer culling due to the widening of min/max ranges when dealing with a large number of small primitives that do not span entire tiles, leading to reduced culling efficiency.
Innovation Solution
The implementation of mask accumulation techniques allows for improved hierarchical depth buffer culling by using the worst-case source min/max values when the summated mask completely overlaps a tile, rather than relying on old destination values, thereby enhancing culling efficiency without compromising precision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional per-pixel depth buffer testing is used, then depth testing accuracy is maintained, but processing time increases and culling efficiency decreases
Solution Approach 1:
The patent divides the depth buffer into hierarchical levels: a coarse Hi-Z buffer that covers entire tiles and finer per-pixel depth buffers. This segmentation allows the system to perform quick coarse-depth tests on aggregated tile data first, eliminating entire tiles that are occluded, before performing detailed per-pixel depth testing only on visible tiles, thus reducing overall processing time while maintaining accuracy
Solution Approach 2:
The patent performs preliminary coarse depth testing using the Hi-Z buffer before executing pixel or fragment shader operations. By pre-computing min/max depth ranges for each tile and performing early occlusion detection at the tile level, the system eliminates invisible primitives before they reach the expensive per-pixel rendering stage, achieving time savings without sacrificing depth testing precision
2Measurement precision
If min/max ranges are updated for every incoming source, then depth test accuracy is maintained, but culling efficiency reduces due to steady widening of ranges
Solution Approach 1:
The patent merges multiple per-pixel depth values within a tile into aggregated min/max range values stored in the Hi-Z buffer. By combining depth information from multiple pixels into single representative values for the entire tile, the system maintains sufficient depth testing accuracy while dramatically reducing the number of depth comparisons needed, thereby improving culling efficiency
Solution Approach 2:
The patent changes the depth buffer representation from storing individual per-pixel depth values to storing aggregated min/max range parameters for each tile in the Hi-Z buffer. This parameter transformation allows the system to perform depth testing with fewer, coarser parameters that still provide adequate precision for culling purposes, resolving the contradiction between accuracy and efficiency
Data Source
AI summary
Embodiments described herein provide for a technique to improve the culling efficiency of coarse depth testing. One embodiment provides for a graphics processor that is configured to perform a method to track a history of source fragments that are tested against a destination tile. When a combination of partial fragments sum to full coverage, the most conservative source far depth value is used instead of the previous destination far depth value. When the combination sums to partial coverage, the previous destination far depth value is retained.


