Deferred Vertex Shading in GPU Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) perform computationally intensive vertex fetching and shading operations for both visible and non-visible primitives, leading to increased power consumption and reduced performance due to unnecessary processing of hidden surfaces.

Innovation Solution

Implementing deferred vertex shading, where a GPU generates vertex coordinates for all primitives in a first pass and identifies visible primitives, then generates vertex attributes only for those visible primitives in a subsequent pass, minimizing the need for vertex fetching and shading of non-visible primitives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vertex shading is performed for all primitives including non-visible ones, then complete vertex attribute generation is achieved, but power consumption increases and performance decreases

Engineering Contradiction:
Improvecompleteness of vertex attribute generationVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by performing a first pass through the graphics processing pipeline to generate vertex coordinates and identify visible primitives before performing the computationally intensive vertex attribute generation. This preliminary identification of visible primitives allows the system to avoid unnecessary processing of hidden surfaces in subsequent passes, thereby reducing power consumption while maintaining complete vertex attribute generation for only the necessary visible primitives.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If vertex shading is performed for all primitives including non-visible ones, then complete vertex attribute generation is achieved, but processing speed decreases

Engineering Contradiction:
Improvecompleteness of vertex attribute generationVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs a preliminary pass through the graphics processing pipeline to generate vertex coordinates and identify which primitives are visible before performing the computationally intensive vertex attribute generation. This preliminary identification enables the system to skip attribute generation for hidden surfaces entirely, significantly improving processing speed while ensuring complete and accurate vertex attributes are generated for all visible primitives that actually contribute to the final rendered image.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the vertex processing pipeline into distinct passes: a first pass that generates vertex coordinates and identifies visible primitives, and subsequent passes that perform vertex attribute generation only for the identified visible primitives. This segmentation allows the system to separate the coordination/identification tasks from the intensive attribute computation tasks, improving overall processing efficiency by avoiding redundant computations for hidden surfaces.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If multiple passes are used to process visible primitives, then processing accuracy is improved, but processing time increases

Engineering Contradiction:
Improveaccuracy of visible primitive identificationVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs a preliminary pass that generates vertex coordinates and identifies visible primitives with high accuracy before subsequent attribute generation passes. By completing the identification of visible primitives in advance, the system ensures measurement precision in determining which primitives should receive vertex attributes, while the segmented approach actually reduces total processing time by avoiding redundant computations in later passes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8436854B2Graphics processing unit with deferred vertex shading
Publication Date: 2013.05.07 QUALCOMM INC
  • US8436854B2 patent drawing
  • US8436854B2 patent drawing
  • US8436854B2 patent drawing

AI summary

Techniques are described for processing graphics images with a graphics processing unit (GPU) using deferred vertex shading. An example method includes the following: generating, within a processing pipeline of a graphics processing unit (GPU), vertex coordinates for vertices of each primitive within an image geometry, wherein the vertex coordinates comprise a location and a perspective parameter for each one of the vertices, and wherein the image geometry represents a graphics image; identifying, within the processing pipeline of the GPU, visible primitives within the image geometry based upon the vertex coordinates; and, responsive to identifying the visible primitives, generating, within the processing pipeline of the GPU, vertex attributes only for the vertices of the visible primitives in order to determine surface properties of the graphics image.