Vertex Shader Primitive Replication for VR Viewport Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics systems face inefficiencies in primitive replication, particularly in virtual reality applications, due to high CPU and GPU overhead and performance bottlenecks when replicating geometry across multiple viewports, especially when only the position attribute varies.

Innovation Solution

The solution involves transferring geometry replication from the geometry shader to the vertex shader, utilizing a primitive replication hardware feature, and reconfiguring the graphics pipeline to perform primitive replication at the vertex shader, which adjusts position attributes for different viewports, thereby reducing computation overhead and data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If geometry replication is performed in the geometry shader, then primitives can be replicated across multiple viewports, but CPU and GPU overhead increases significantly

Engineering Contradiction:
Improveprimitive replication capabilityVSAvoidCPU and GPU overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the primitive replication function from the geometry shader and implements it as a dedicated hardware feature in the vertex shader stage. This separation removes the replication overhead from the geometry shader processing path, allowing the vertex shader to handle replication efficiently using specialized hardware logic that operates in parallel with the main rendering pipeline.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the rendering pipeline into distinct stages with specialized functions: the vertex shader stage handles primitive replication for multiple viewports, while the geometry shader stage focuses on geometry processing. This segmentation allows each stage to be optimized independently, with the vertex shader using hardware-accelerated replication and the geometry shader processing only the replicated primitives without replication overhead.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If geometry is replicated across multiple viewports with per-viewport position changes, then stereo rendering and cascaded shadow maps can be achieved, but the number of shader instances and data transferred increases

Engineering Contradiction:
Improvemulti-viewport rendering capabilityVSAvoidnumber of shader instances and data
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a universal primitive replication mechanism in the vertex shader that can serve multiple rendering scenarios simultaneously. The same hardware feature supports both stereo rendering (two viewports) and cascaded shadow maps (multiple viewports with different frustums), as well as other multi-viewport applications. This multi-functionality eliminates the need for separate replication logic for each application type, reducing overall shader instance count and data transfer requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent performs primitive replication in advance during the vertex shader stage, before the geometry shader and rasterization stages. By replicating primitives early in the pipeline with hardware acceleration, the system prepares all necessary viewport variations upfront, allowing subsequent stages to process replicated primitives efficiently without redundant data transfer or repeated computation in later stages.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a full geometry pipeline is used for each viewport, then complete processing is achieved, but performance bottlenecks occur due to repeated processing

Engineering Contradiction:
Improveprocessing completenessVSAvoidrendering performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple geometry pipeline executions into a single unified pipeline by performing primitive replication at the vertex shader stage. Instead of running separate geometry pipelines for each viewport, the system replicates primitives once in the vertex shader and then processes all replicated primitives through a single shared geometry shader and rasterization pipeline. This merging eliminates redundant processing while maintaining complete and correct rendering results for all viewports.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3627451B1Vertex shader with primitive replication
Publication Date: 2021.04.07 INTEL CORP
  • EP3627451B1 patent drawingFigure 1~2
  • EP3627451B1 patent drawingFigure 3A~3B
  • EP3627451B1 patent drawingFigure 3C

AI summary

An embodiment of a semiconductor package apparatus may include technology to determine one or more conditions for a set of primitives, and perform primitive replication at a vertex shader based on the determined one or more conditions for the set of primitives. Other embodiments are disclosed and claimed.