Depth Binning Hardware for Reducing Pixel Overdraw

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Pixel overdraw in graphics processing pipelines leads to increased power consumption and performance degradation without improving rendering quality, as the shader output for one pixel can be overridden by later pixels, resulting in redundant workload.

Innovation Solution

Implementing depth culling techniques such as depth binning and two-pass rendering, where primitives are sorted into depth bins and processed in near-to-far order, and using a buffer to initiate two-pass processing through the screen space pipeline to update depth values and cull fragments aggressively, reducing the need for redundant pixel shader processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pixels are processed in arbitrary order without depth sorting, then processing simplicity is maintained, but redundant pixel shader workload increases causing power consumption and performance degradation

Engineering Contradiction:
Improverendering throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by performing depth binning and sorting primitives into near-to-far order before pixel shader processing. The binner hardware sorts primitives into depth bins in advance, so that when fragments are processed, the depth buffer already contains accurate depth information from nearer primitives. This preliminary organization enables aggressive depth culling to eliminate redundant pixel shader executions for fragments that will be occluded, thereby reducing power consumption while maintaining rendering throughput.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If depth sorting is implemented to reduce overdraw, then pixel shader workload is reduced, but processing time and pipeline complexity increase

Engineering Contradiction:
Improveeffective rendering outputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the depth range into multiple discrete depth bins and sorting primitives into these bins. Instead of performing a complete sort of all primitives, the binner hardware segments them into a smaller number of depth bins (e.g., 8-16 bins). This segmented approach reduces the sorting complexity and time compared to a full sort, while still enabling effective depth culling within each bin and across bins, thereby reducing pixel shader workload without excessive processing time penalty.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies parameter changes by transforming the continuous depth parameter into discrete depth bin indices. The binner hardware computes bin indices from primitive depth values and uses these discrete indices for sorting and processing. This parameter transformation simplifies the sorting operation and enables efficient hardware implementation, reducing the time complexity from O(n log n) for continuous sorting to a more manageable discrete binning operation, thus reducing processing time while maintaining the benefit of reduced overdraw.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If aggressive depth culling is applied, then redundant processing is eliminated, but rendering quality may be compromised if depth information is inaccurate

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidrendering accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing a first pass through the primitive list to compute depth bins and update the depth buffer, before performing the actual rendering pass. This preliminary depth buffer update ensures that when aggressive depth culling is applied in the second pass, the depth comparisons are made against accurate depth values from nearer primitives. This two-pass approach with preliminary depth buffer population maintains rendering accuracy while enabling aggressive culling to improve processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11195326B2Method and system for depth pre-processing and geometry sorting using binning hardware
Publication Date: 2021.12.07 ADVANCED MICRO DEVICES INC
  • US11195326B2 patent drawing
  • US11195326B2 patent drawing
  • US11195326B2 patent drawing

AI summary

Described herein are techniques for improving the effectiveness of depth culling. In a first technique, a binner is used to sort primitives into depth bins. Each depth bin covers a range of depths. The binner transmits the depth bins to the screen space pipeline for processing in near-to-far order. Processing the near bins first results in the depth buffer being updated, allowing fragments for the primitives in the farther bins to be culled more aggressively than if the depth binning did not occur. In a second technique, a buffer is used to initiate two-pass processing through the screen space pipeline. In the first pass, primitives are sent down to update the depth block and are then culled. The fragments are processed normally in the second pass, with the benefit of the updated depth values.