Early Depth Testing Using Predicted Values and Update Indications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face limitations in performing early depth testing due to the potential for stored depth values to be updated by other graphics fragments, which can prevent the determination of obscuration before the rendering stage, leading to unnecessary processing.

Innovation Solution

Incorporating depth testing circuitry that stores update indications for depth values, allowing the modification of depth comparison functions to account for pending updates, enabling early depth testing even when stored depth values are not final, and using a 2-bit update indication to efficiently manage storage and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If early depth testing is performed before the rendering stage, then processing efficiency is improved by eliminating obscured fragments earlier, but accuracy deteriorates because stored depth values may be updated by other fragments, leading to potentially incorrect depth comparisons

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddepth testing accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs depth testing before the rendering stage by using predicted depth values from the depth buffer as if they were final. This preliminary depth test allows early elimination of obviously obscured fragments, improving processing efficiency while accepting that some fragments may need re-evaluation later if depth values change during rendering.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the state of depth values by introducing a 'predicted' vs 'final' depth value distinction. During early depth testing, the system uses predicted depth values (0x8000 bias applied) to make depth comparisons, then later adjusts to final depth values after rendering completes, allowing the same depth buffer to serve multiple purposes at different pipeline stages.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If depth testing is performed after the rendering stage, then accuracy is improved because all depth information is final and complete, but productivity deteriorates because no fragments can be eliminated before expensive rendering operations

Engineering Contradiction:
Improvedepth testing accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs a preliminary depth test using predicted depth values before rendering to eliminate obviously obscured fragments early in the pipeline. This preliminary action filters out fragments that will definitely be obscured, reducing the workload for subsequent rendering and final depth testing stages.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent performs an incomplete depth test early using predicted values that may not reflect final depth relationships. This partial depth testing is sufficient to eliminate clearly obscured fragments but intentionally accepts that some fragments requiring re-evaluation will pass through to later stages, balancing early elimination with overall correctness.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the depth buffer stores both depth values and update indications, then early depth testing capability is improved, but device complexity increases due to additional storage requirements

Engineering Contradiction:
Improveearly depth testing capabilityVSAvoiddepth buffer structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges two separate data structures into one: the depth buffer now stores both depth values and update indications (validity flags) in the same memory location. This combining eliminates the need for separate validation bitmaps or auxiliary structures, reducing overall memory bandwidth requirements and simplifying the memory interface while enabling early depth testing with predicted values.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9454844B2Early depth testing in graphics processing
Publication Date: 2016.09.27 ARM LTD
  • US9454844B2 patent drawing
  • US9454844B2 patent drawing
  • US9454844B2 patent drawing

AI summary

An apparatus for processing graphics primitives for display includes rasterization, depth testing, and rendering circuitry. The depth testing circuitry determines if a selected graphics fragment would be obscured when displayed by comparing a depth comparison function and a depth value associated with the selected graphics fragment with a stored depth value. The depth testing circuitry suppresses rendering operations for the fragment if the selected fragment would be obscured. An update indication shows a possible change direction due to the updating for a stored depth value which depends on a received depth comparison function. The depth testing for the selected fragment is performed using the possible change direction shown by the update indication to modify the depth comparison function to allow for updating of the stored depth value by the rendering operations.