Fragment Tracking Record for Reducing Graphics Overdraw

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies due to sequential processing of primitives, leading to redundant operations as primitives are not always processed in perfect front-to-back order, resulting in 'overdraw' where sampling positions are shaded multiple times, causing unnecessary processing.

Innovation Solution

Implementing a method where metadata is stored to indicate when a subsequently received primitive covers a previously received primitive, allowing later stages to skip fragment processing steps for the covered primitive, thereby reducing redundant operations through a 'fragment tracking record' system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If primitives are processed sequentially in current graphics processing systems, then the processing pipeline is simple to implement, but redundant rendering operations occur causing overdraw and reduced productivity

Engineering Contradiction:
Improverendering efficiencyVSAvoidprocessing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing depth testing and determining coverage relationships between primitives before executing the full rendering pipeline. The system identifies which primitives will be overdrawn by subsequent primitives and marks them for early discard, preventing redundant processing of fragments that would ultimately be discarded anyway. This advance planning resolves the contradiction by eliminating wasted rendering operations without requiring complex reordering of the processing pipeline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by having later-stage processing information (depth values, coverage data) feed back to earlier stages to inform discard decisions. The system uses depth buffer information and primitive coverage data to determine whether previously rendered primitives will be obscured, then feeds this information back to the rendering stage to skip unnecessary fragment processing. This feedback mechanism enables the system to maintain simple sequential processing while achieving higher rendering efficiency through intelligent discard operations.

Inventive Principle:
Principle #23Feedback

2Loss of energy

If primitives are rendered without tracking coverage, then processing is faster and simpler, but memory bandwidth is wasted due to redundant write operations

Engineering Contradiction:
Improvememory bandwidth usageVSAvoidmetadata tracking complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent applies local quality by implementing selective tracking of coverage information only for primitives that require it, rather than universally tracking all primitives. The system uses per-primitive metadata flags and depth buffer comparisons to determine which primitives need coverage tracking, applying the tracking mechanism locally only where beneficial. This resolves the contradiction by reducing memory bandwidth waste through targeted tracking without imposing system-wide complexity overhead.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements discarding and recovering by using metadata to track which primitives have been rendered and their coverage areas, then discarding redundant rendering operations for primitives that will be overdrawn. The system recovers memory bandwidth by skipping fragment processing and depth buffer writes for primitives identified as completely covered by subsequent primitives. This selective discard approach reduces unnecessary memory operations while maintaining correctness for visible primitives.

Inventive Principle:
Principle #34Discarding and recovering

3Loss of time

If all fragment processing steps are performed for every primitive, then rendering accuracy is maintained, but processing time increases due to redundant operations on covered primitives

Engineering Contradiction:
Improveprocessing timeVSAvoidrendering accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent applies preliminary anti-action by performing preliminary depth testing and coverage analysis to identify primitives that will be completely obscured by subsequent primitives, then preemptively discarding their fragment processing. This preliminary identification and discard of redundant operations reduces processing time without affecting rendering accuracy, since the discarded primitives would not contribute to the final image anyway. The system maintains reliability by ensuring that only primitives potentially visible in the final render undergo full processing.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The patent implements preliminary action by executing depth buffer comparisons and coverage determination before committing to full fragment processing. The system uses preliminary depth testing to identify primitives that lie behind other primitives in the depth buffer, then performs preliminary discard decisions to avoid unnecessary processing. This preliminary action maintains rendering accuracy by preserving full processing for visible primitives while eliminating waste for hidden ones, resolving the time-accuracy tradeoff.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10726610B2Efficient graphics processing using metadata
Publication Date: 2020.07.28 ARM LTD
  • US10726610B2 patent drawing
  • US10726610B2 patent drawing
  • US10726610B2 patent drawing

AI summary

A graphics processing system maintains a fragment tracking record that stores metadata relating to one or more previously received primitives. The metadata can indicate that the one or more previously received primitives are suitably covered by a subsequently received primitive such that one or more fragment processing operations need not be performed in respect of those one or more previously received primitives. The metadata stored for the one or more previously received primitives can then later be queried by one or more later stages of the graphics processing system to determine whether one or more fragments for the one or more previously received primitives can be at least partially discarded or “killed”.