Hierarchical Depth Buffer Optimization via Four-Corner Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern graphics processors face inefficiencies in performing coarse depth pre-shader depth tests due to the need for accurate min/max depth value generation for occlusion culling, which is crucial for optimizing the depth buffer but challenging with compressed depth data.

Innovation Solution

The implementation of a hierarchical Z buffer system that employs a four-corner depth testing method, where depth values are interpolated across a rectangular source data group to compare corner values with destination depth values, reducing the number of depth tests required and improving accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If traditional compressed depth buffer with min/max range comparison is used, then memory bandwidth is reduced, but depth testing accuracy deteriorates

Engineering Contradiction:
Improvememory bandwidth consumptionVSAvoiddepth testing accuracy
Core Design Contradiction:
Loss of energyVSMeasurement precision

Solution Approach 1:

The patent divides the depth buffer into hierarchical levels (coarse depth buffer and fine depth buffer). The coarse depth buffer stores min/max values for large rectangular regions, while the fine depth buffer stores individual pixel depth values. This segmentation allows the system to use coarse comparisons for broad occlusion culling (reducing memory bandwidth) and fine comparisons for precise depth testing (maintaining accuracy).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary depth testing using the coarse depth buffer before accessing the fine depth buffer. By computing min/max depth values for rectangular regions and comparing these preliminary values first, the system can eliminate many pixels early without accessing the detailed fine depth buffer, thus reducing memory bandwidth consumption while maintaining final accuracy through the two-stage approach.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If more depth tests are performed to improve accuracy, then measurement precision improves, but processing time increases

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

Solution Approach 1:

The hierarchical depth buffer divides depth testing into two segments: coarse testing using min/max values for rapid elimination of invisible pixels, and fine testing using individual pixel values for accurate depth comparison. This segmentation reduces the total number of tests needed compared to traditional per-pixel testing, decreasing processing time while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary occlusion culling using coarse depth buffer min/max values before performing detailed depth tests. This preliminary action eliminates pixels that are definitely occluded without requiring full accuracy tests, reducing the number of subsequent detailed tests and overall processing time while maintaining final depth testing accuracy.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If hierarchical depth buffer with four-corner testing is used, then productivity improves, but device complexity increases

Engineering Contradiction:
Improvedepth testing efficiencyVSAvoiddepth buffer structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the depth buffer into hierarchical levels with different granularities. The coarse depth buffer organizes data by rectangular regions with min/max values, while the fine depth buffer maintains per-pixel data. This segmentation enables the four-corner testing method to efficiently cull occluded regions while maintaining detailed depth information where needed, improving productivity despite the added structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hierarchical depth buffer implements a nested structure where the coarse depth buffer (containing min/max values for large regions) is nested within the fine depth buffer (containing individual pixel values). This nested organization allows the system to perform efficient four-corner testing at the coarse level while having access to detailed fine-level data when needed, improving depth testing efficiency while managing complexity through hierarchical nesting.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10839595B2Apparatus and method for optimizing a hierarchical depth buffer
Publication Date: 2020.11.17 INTEL CORP
  • US10839595B2 patent drawing
  • US10839595B2 patent drawing
  • US10839595B2 patent drawing

AI summary

Apparatus and method for optimizing a hierarchical depth buffer. For example, one embodiment of a method comprises: rasterizing primitives of a current graphics image to generate pixels; generating coverage data associated with a first primitive to identify pixels in a first tile of pixels which are partially covered or fully covered by the first primitive; estimating potential minimum (min) and maximum (max) values for the first primitive at edges of a bounding box surrounding the first primitive within the first tile; and adjusting the potential min and/or max values to be closer to actual min and/or max values, respectively, upon a determination that the potential min and/or max values identify one or more pixels which are not partially or fully covered by the primitive.