Concurrent Visibility and Geometry Processing for Tiled Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing techniques incur inefficiencies and duplicate data processing due to the sequential execution of visibility passes and vertex shading across tiles, leading to increased frame latency and unnecessary work, especially when primitives do not overlap or are rendered out of order.

Innovation Solution

The method involves concurrently executing a visibility pass and front-end geometry processing for a tile at one hardware block while performing back-end processing at another, allowing for simultaneous execution of visibility determination and primitive location processing, thereby reducing redundant work and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If visibility pass and vertex shading are executed sequentially across tiles, then processing order is maintained, but frame latency increases and duplicate data processing occurs

Engineering Contradiction:
Improveframe latencyVSAvoidprocessing coordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The visibility pass is executed in advance for all tiles before vertex shading begins, so that primitive location information is predetermined and available when geometry processing starts. This preliminary execution of the visibility pass eliminates the need for sequential coordination between visibility checks and shading across tiles, reducing frame latency while maintaining processing correctness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The rendering process is divided into distinct segments: a global visibility pass that determines primitive locations across all tiles, followed by tile-by-tile geometry processing and back-end processing. This segmentation allows each phase to be optimized independently - the visibility pass processes all primitives globally, while subsequent processing can proceed in parallel across tiles without duplicate visibility checks.

Inventive Principle:
Principle #1Segmentation

2Productivity

If visibility pass is executed for each tile before geometry processing, then processing accuracy is maintained, but redundant work increases and efficiency decreases

Engineering Contradiction:
Improverendering efficiencyVSAvoidduplicate data processing
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The visibility pass is merged into a single global execution that processes all primitives for all tiles simultaneously, rather than executing separate visibility passes for each tile. This merging eliminates redundant visibility checks and primitive location determinations, reducing duplicate data processing while maintaining the accuracy of primitive-to-tile assignment. The combined visibility pass produces a unified set of location information that serves all subsequent tile processing.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If primitives are rendered in order specified by application, then rendering correctness is ensured, but data reuse is limited and cache efficiency decreases

Engineering Contradiction:
Improverendering correctnessVSAvoiddata reuse efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The visibility pass preliminarily determines the correct tile locations for all primitives in the order specified by the application, storing this location information before geometry processing begins. This preliminary determination allows the rendering system to maintain application-specified render order for correctness while enabling optimized data access patterns during actual geometry processing, as the location information is already available to guide data reuse and cache utilization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11741653B2Overlapping visibility and render passes for same frame
Publication Date: 2023.08.29 ADVANCED MICRO DEVICES INC
  • US11741653B2 patent drawing
  • US11741653B2 patent drawing
  • US11741653B2 patent drawing

AI summary

A method of tiled rendering of an image for display is provided which comprises receiving an image comprising one or more three dimensional (3D) objects and executing a visibility pass for determining locations of primitives of the image. The method also comprises executing, concurrently with the executing of the visibility pass, front end geometry processing of one of the primitives determined, from the visibility pass, to be in a first one of a plurality of tiles of the image and executing, concurrently with the executing of the visibility pass, back end processing of the one primitive in the first tile.