Tessellation Pipeline Optimization via Compute Kernel

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing unit (GPU) pipelines for tessellation are inefficient due to the necessity of early stages like vertex shaders and hull shaders, which consume resources even when not necessary, and lack flexibility in tessellation factor calculation.

Innovation Solution

The proposed solution eliminates unnecessary pipeline stages by using pre-supplied patches, patch data, and tessellation factors, and employs a compute kernel to generate or retrieve necessary information, allowing for scalable tessellation factors based on camera distance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional GPU pipelines use early stages like vertex shaders and hull shaders for tessellation, then the pipeline can process patches systematically, but computational resources are consumed even when tessellation is not necessary

Engineering Contradiction:
Improvetessellation processing efficiencyVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and eliminates the vertex shader and hull shader stages from the traditional tessellation pipeline, retaining only the essential tessellator and domain shader stages. This extraction removes unnecessary computational overhead while preserving the core tessellation functionality, directly addressing the contradiction between systematic processing and resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary action by pre-supplying patches, patch data, and tessellation factors to the tessellator, eliminating the need for earlier shader stages to generate this information. This approach allows the pipeline to skip unnecessary intermediate processing steps while maintaining the required functionality.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If traditional pipelines use fixed tessellation factors, then the processing is simple, but there is lack of flexibility in adapting to different rendering requirements

Engineering Contradiction:
Improvetessellation factor flexibilityVSAvoidpipeline configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamics by making tessellation factors adjustable and adaptable rather than fixed. The system can dynamically modify tessellation factors based on rendering requirements, camera distance, and patch characteristics, enabling flexible adaptation to different scenarios without requiring complex pipeline reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies parameter changes by allowing tessellation factors to be modified as variables rather than fixed values. This enables the system to adjust tessellation intensity and distribution based on different rendering needs, achieving versatility through parameter modification rather than pipeline complexity.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If more tessellation is applied to increase graphic detail, then the rendered graphic shows more detail, but computational overhead increases

Engineering Contradiction:
Improvegraphic rendering detailVSAvoidrendering throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent applies local quality by enabling different tessellation factors for different patches and regions of the scene. Instead of uniformly increasing tessellation everywhere, the system can selectively apply higher tessellation only where needed (e.g., near camera, in areas requiring detail), thereby maintaining rendering detail where required while preserving throughput elsewhere.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by applying tessellation only to the extent necessary for each specific patch and rendering requirement, rather than applying maximum tessellation uniformly. This allows the system to achieve sufficient detail for each region without the excessive computational overhead of universal high-resolution tessellation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3255612B1System and method for tessellation in an improved graphics pipeline
Publication Date: 2020.12.09 APPLE INC
  • EP3255612B1 patent drawingFigure 1
  • EP3255612B1 patent drawingFigure 2
  • EP3255612B1 patent drawingFigure 3

AI summary

An improved tessellation graphics pipeline that obviates that use of early stage vertex shaders and hull shaders and allows greater efficiency and flexibility. Embodiments provide a graphics pipeline beginning with a tessellator that may obtain tessellation factors in any manner such as reading from a memory of factors provided by a developer or computing the factors using a compute kernel. In some embodiments, a single vertex shader may follow the tessellator and perform all the necessary vertex shading for the pipeline. Furthermore, in some embodiments, a compute kernel is used to generate the tessellation factors. The compute kernel provides flexibility that allows its employment for some graphic portions and not others. In addition, the streamlined pipeline facilitates the efficient use of scaling to determine tessellation factors for the same graphic portion at different camera distances or desired levels of replication of the mathematical model.