Raster Tile Traversal for Graphics Pipeline Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing 3-D rendering architectures struggle to scale with increasingly complex graphics applications, leading to increased power consumption and reduced fabrication yield when attempting to enhance performance.

Innovation Solution

A rasterization process that generates tiles of pixels from graphics primitives, performs parameter evaluations to eliminate noncontributing pixels, and uses a boustrophedonic pattern for efficient traversal, allowing only contributing pixels to proceed to the shader stage, thereby optimizing hardware usage and reducing unnecessary processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional unidirectional rasterization methods are used to process all pixels, then complete pixel coverage is achieved, but processing time and power consumption increase due to rendering non-contributing pixels

Engineering Contradiction:
Improverendering throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by performing depth and stencil tests on pixel tiles before full shader processing. The rasterization engine pre-evaluates depth values and stencil states for groups of pixels, eliminating non-contributing pixels early in the pipeline before they consume significant processing resources in later shader stages.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the pixel processing pipeline into distinct stages: rasterization generates pixel tiles, a parameter evaluation stage performs depth/stencil tests on these tiles, and only contributing pixels proceed to shader processing. This segmentation allows independent optimization of each stage and enables early elimination of non-contributing pixels.

Inventive Principle:
Principle #1Segmentation

2Productivity

If more parallel execution units are incorporated to increase rendering performance, then processing speed improves, but integrated circuit die size and manufacturing complexity increase

Engineering Contradiction:
Improverendering performanceVSAvoidintegrated circuit die size
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements partial action by processing only contributing pixels through the full shader pipeline. Pixels that fail depth or stencil tests are eliminated early and do not proceed to resource-intensive shader processing. This partial processing approach achieves high performance without requiring excessive parallel execution units for every possible pixel.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If clock speed is increased to improve rendering performance, then processing speed increases, but power consumption and heat generation increase

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent extracts and eliminates non-contributing pixels from the processing pipeline before they consume significant energy. By removing pixels that will not contribute to the final image (based on depth and stencil evaluation) early in the pipeline, the system reduces the total number of operations required, thereby reducing power consumption without requiring proportional increases in clock speed.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7692654B1Nondeterministic pixel location and identification in a raster unit of a graphics pipeline
Publication Date: 2010.04.06 NVIDIA CORP
  • US7692654B1 patent drawing
  • US7692654B1 patent drawing
  • US7692654B1 patent drawing

AI summary

In a graphics pipeline of a graphics processor, a method for determining pixel location subsequent to rasterization. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive to generate a plurality of tiles related to the graphics primitive. The method further includes performing a parameter evaluation on each of the plurality of tiles to eliminate noncontributing pixels and to generate a plurality of pixels related to the graphics primitive. A starting location is generated for a first of the plurality of pixels. For each subsequent pixel of the plurality of pixels, a vector to a starting location for each subsequent pixel is generated. Shader processing is performed on the plurality of pixels in a shader stage of the graphics processor by using the start location for the first pixel and the vector for each subsequent pixel.