Coarse Visibility Compression for Low-Latency Tile Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The graphics processing system experiences delays due to waiting for compressed visibility data to be made available for rendering, which lowers the efficiency of the graphics pipeline.

Innovation Solution

The system operates in a pipeline delay reduction mode, where it keeps a visible primitive and draw call count, and renders a predetermined number of primitives using uncompressed visibility data while the visibility pass is ongoing, switching to standard mode when a threshold is reached.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the graphics processing system waits for compressed visibility data to be flushed from buffers before rendering, then data availability and reliability are improved, but pipeline delays increase and productivity decreases

Engineering Contradiction:
Improvedata availabilityVSAvoidrendering efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by rendering primitives using uncompressed visibility data before the compressed visibility data is fully flushed from buffers. This allows the rendering pipeline to proceed in advance without waiting for data compression to complete, thereby reducing pipeline delays while maintaining data availability through the use of uncompressed data as a fallback.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically switches between two rendering modes: standard mode (waiting for compressed data) and pipeline delay reduction mode (rendering with uncompressed data). This dynamic adaptation allows the system to optimize between data reliability and productivity based on real-time conditions, switching modes when visibility data counts exceed thresholds.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the system uses uncompressed visibility data for rendering during visibility pass, then pipeline delays are reduced and productivity increases, but data compression benefits are lost

Engineering Contradiction:
Improverendering efficiencyVSAvoidcompression efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system applies partial action by using uncompressed visibility data only for rendering when certain conditions are met (visibility data counts exceed thresholds), rather than always using compressed data. This partial application of uncompressed data allows the system to reduce pipeline delays in specific scenarios while maintaining compression benefits in other scenarios, achieving a balance between productivity and compression efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Duration of action of moving object

If the graphics processing system divides the scene into multiple tiles and performs visibility pass, then rendering time is reduced, but pipeline delays increase due to data compression

Engineering Contradiction:
Improverendering timeVSAvoidpipeline delay
Core Design Contradiction:
Duration of action of moving objectVSLoss of time

Solution Approach 1:

The system segments the rendering process into two independent parts: visibility data generation (compression) and primitive rendering. By dividing the scene into tiles and processing visibility data independently, the system allows rendering to proceed in parallel with compression, reducing the overall rendering time while minimizing pipeline delays through the pipeline delay reduction mode.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12573145B2Pipeline delay reduction for coarse visibility compression
Publication Date: 2026.03.10 ADVANCED MICRO DEVICES INC
  • US12573145B2 patent drawing
  • US12573145B2 patent drawing
  • US12573145B2 patent drawing

AI summary

A processing system divides an image to be rendered into one or more tiles and performs a visibility pass on the primitives of the image. During the visibility pass, the processing system generates visibility data for each primitive of a draw call of the image based on a visible primitive count and a visible draw call count. In response to a primitive of the draw call being visible in the first tile, the processing system increments the visible primitive count and generates visibility data indicating that the primitives of the draw call are to be rendered using draw call index data stored in an on-chip memory. If the primitive is the first visible primitive of the draw call, the processing system further increments the visible draw call count. Additionally, the processing system renders the primitives of the draw call using the draw call index data stored in the on-chip memory.