Primitive Replication for Multi-Viewport Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in replicating primitives across multiple viewports, leading to performance overhead and reduced GPU performance, especially in applications like stereo rendering, cube map rendering, and cascaded shadow maps, due to the separation of similar geometry objects and lack of cache reuse.

Innovation Solution

Implementing a graphics processor system with a cull geometry pipeline and a replay geometry pipeline that replicate primitives for multiple viewports with per-viewport position attribute adjustments, allowing for primitive replication at the raster stage and reducing the need for geometry stage replication, thereby improving CPU-level overhead and enabling operations like stereo rendering and cascaded shadow map generation in a single pass.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If primitives are replicated at the geometry stage for multiple viewports, then all viewports can be rendered in a single pass, but vertex shading and tessellation are repeated for each viewport, increasing GPU processing overhead

Engineering Contradiction:
Improverendering throughputVSAvoidGPU processing overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the rendering pipeline into two distinct stages: geometry processing (vertex shading, tessellation) and rasterization. By separating these stages and replicating primitives only at the rasterization stage rather than at the geometry stage, the system avoids repeating computationally expensive vertex shading and tessellation operations for each viewport, thereby reducing GPU processing overhead while maintaining high rendering throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary geometry processing for a single viewport, generating position attributes and assembling primitives once. These processed primitives are then replicated to multiple viewports at the rasterization stage with minimal additional processing (only position attribute adjustments), rather than performing complete geometry processing for each viewport separately

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If similar geometry objects are separated for different viewports, then each viewport can be processed independently, but cache reuse is reduced and CPU-level overhead increases

Engineering Contradiction:
Improveindependent viewport processingVSAvoidcache reuse
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges the processing of similar geometry objects across multiple viewports by maintaining a single geometry processing pipeline that handles all viewports. The same vertex data and geometry primitives are processed once and then replicated to multiple viewports, maximizing cache reuse of vertex attributes and geometry data while still allowing independent viewport rendering through the replication mechanism

Inventive Principle:
Principle #5Merging (Combining)

3Manufacturing precision

If vertex shading and tessellation are performed for each viewport separately, then each viewport receives optimized geometry, but the processing time and CPU overhead increase significantly

Engineering Contradiction:
Improvegeometry accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs vertex shading and tessellation once as a preliminary action for the geometry, generating position attributes that are then replicated and adjusted for multiple viewports. This preliminary geometry processing ensures accuracy is maintained while avoiding the time penalty of repeating these computationally intensive operations for each viewport separately

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying to replicate the processed geometry primitives from a single viewport processing to multiple viewports. Instead of regenerating geometry for each viewport, the system creates copies of the processed primitives with adjusted position attributes, significantly reducing processing time while maintaining geometry accuracy through the use of position attribute transformations

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11087542B2Replicating primitives across multiple viewports
Publication Date: 2021.08.10 INTEL CORP
  • US11087542B2 patent drawing
  • US11087542B2 patent drawing
  • US11087542B2 patent drawing

AI summary

An embodiment of a graphics processor pipeline apparatus may include a vertex fetcher to fetch vertices, a vertex shader communicatively coupled to the vertex fetcher to shade the fetched vertices, a primitive assembler communicatively coupled to the vertex shader to assemble primitives, and a primitive replicator communicatively coupled to the primitive assembler to replicate primitives for at least a first and a second viewport.