Hierarchical Depth Buffer Culling via Mask Accumulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedepth testing accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvedepth test accuracyVSAvoidculling efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

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

Inventive Principle:
Principle #5Merging (Combining)

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12020370B2Enhancing hierarchical depth buffer culling efficiency via mask accumulation
Publication Date: 2024.06.25 INTEL CORP
  • US12020370B2 patent drawing
  • US12020370B2 patent drawing
  • US12020370B2 patent drawing

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.