Fragment Depth Testing for Shader-Dependent Rendering Stalls

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing systems face performance degradation due to latency and reduced efficiency when processing a mix of punch-through and non-punch-through objects, as the rendering pipeline stalls while waiting for shader-dependent properties of punch-through fragments to be resolved.

Innovation Solution

Implement an early depth test followed by shader program execution for punch-through fragments, and a conservative early depth test for non-punch-through fragments, allowing simultaneous processing of both types without stalling, and a late depth test to confirm visibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the rendering pipeline waits for shader-dependent properties of punch-through fragments to be resolved before processing non-punch-through fragments, then processing accuracy is maintained, but processing speed and throughput deteriorate due to pipeline stalls

Engineering Contradiction:
Improveprocessing accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs an early depth test on punch-through fragments before shader execution to preliminarily determine which fragments can be discarded. This preliminary action allows non-punch-through fragments to be processed in parallel without waiting for complete shader resolution of punch-through fragments, maintaining accuracy while improving throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The depth testing process is segmented into two stages: an early depth test performed before shader execution and a late depth test performed after. This segmentation allows different processing paths for punch-through and non-punch-through fragments, enabling parallel processing while maintaining correctness.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the early depth test is performed conservatively for non-punch-through fragments, then processing throughput is improved by allowing parallel execution, but measurement precision may deteriorate due to false positive results

Engineering Contradiction:
Improveprocessing throughputVSAvoiddepth test accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies a conservative early depth test that may produce false positives (fragments appearing to pass when they might fail). This excessive action in terms of conservatism ensures that no fragments are incorrectly discarded, allowing parallel processing of non-punch-through fragments while maintaining correctness through the conservative approach.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The conservative early depth test acts as an intermediary that provides a preliminary filter without making definitive decisions. It allows the pipeline to proceed with parallel processing while the conservative nature ensures that potential errors are avoided, mediating between the need for speed and accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If shader programs are executed for all fragments before hidden surface removal, then processing simplicity is maintained, but energy consumption and processing time increase due to unnecessary shader execution on occluded fragments

Engineering Contradiction:
Improveprocessing simplicityVSAvoidenergy consumption
Core Design Contradiction:
Device complexityVSUse of energy by stationary object

Solution Approach 1:

The patent performs preliminary depth testing (early depth test) before executing shader programs. This preliminary action identifies and discards fragments that fail the depth test, preventing unnecessary shader execution on occluded fragments and reducing energy consumption while maintaining processing simplicity for surviving fragments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent discards fragments that fail the early depth test before shader execution, avoiding wasted energy on processing that will not contribute to the final image. This selective discarding recovers energy resources by preventing unnecessary computation on occluded fragments.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP4296964B1Processing fragments which have a shader-dependent property in a graphics processing system
Publication Date: 2026.03.18 IMAGINATION TECH LTD
  • EP4296964B1 patent drawingFigure 1
  • EP4296964B1 patent drawingFigure 2a
  • EP4296964B1 patent drawingFigure 2b

AI summary

Methods and graphics processing units are provided for processing a plurality of fragments a graphics processing system. The system comprises: (i) hidden surface removal logic, and (ii) processing logic configured to execute shader programs for fragments. A first fragment to be processed is received, wherein the first fragment has a shader-dependent property. The first fragment is processed by: performing an early depth test on the first fragment with the hidden surface removal logic using a depth buffer; in response to the first fragment passing the early depth test, executing one or more instructions of a shader program for the first fragment on the processing logic to determine the property of the first fragment; and after the determination of the property of the first fragment, performing a late depth test on the first fragment with the hidden surface removal logic using the depth buffer. After said receiving a first fragment, a second fragment to be processed is received, wherein the second fragment does not have a shader-dependent property. The second fragment is processed by, before said late depth test is performed on the first fragment, performing an early depth test on the second fragment with the hidden surface removal logic.