Tessellation Engine Direct Geometry Shader Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GPU implementations require storing tessellated data in memory and re-running the pipeline to process it for geometry shader operations, leading to increased rendering costs and inefficiencies.

Innovation Solution

Integrating a tessellation engine within the GPU pipeline to directly provide tessellated primitive data to both the vertex shader and geometry shader, allowing for on-the-fly processing and reducing the need for intermediate storage and re-processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tessellated data is stored in memory and re-run through the pipeline, then geometry shader can process tessellated data, but rendering costs increase and processing efficiency decreases

Engineering Contradiction:
Improvegeometry shader processing capabilityVSAvoidrendering efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges the tessellation engine output directly with the geometry shader input within the GPU pipeline, eliminating the need to store tessellated data in memory and re-run it through the pipeline. This integration allows the geometry shader to directly access and process tessellated primitives, maintaining versatility while improving rendering efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary mechanism that captures tessellation engine output and makes it available to the geometry shader without requiring full pipeline re-processing. This intermediary structure enables direct access to tessellated data, resolving the contradiction between geometry shader adaptability and rendering productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If more primitives are generated through tessellation, then image quality improves, but vertex and geometry shaders become overwhelmed

Engineering Contradiction:
Improveimage qualityVSAvoidshader processing load
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by allowing the geometry shader to selectively process only those tessellated primitives that require further geometric manipulation, rather than forcing all tessellated data through the geometry shader. This selective processing maintains high image quality where needed while reducing unnecessary shader overhead.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by enabling the geometry shader to process only a subset of tessellated primitives when full processing is not required. This approach maintains image quality for critical areas while avoiding the overhead of processing excessive primitives, thus balancing quality with shader processing capacity.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If tessellation engine output is directly processed by vertex shader, then processing pipeline is simplified, but geometry shader cannot access tessellated data

Engineering Contradiction:
Improvepipeline complexityVSAvoidgeometry shader access to tessellated data
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the pipeline handling of tessellated data by creating separate pathways: one where tessellated data flows directly to the vertex shader for immediate processing, and another where it is made available to the geometry shader for selective manipulation. This segmentation allows both simplified processing and geometry shader access to coexist.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements multi-functionality by designing the tessellation engine output interface to serve dual purposes: feeding directly into the vertex shader for efficient processing while simultaneously making data available to the geometry shader when geometric manipulation is required. This universal interface resolves the contradiction between pipeline simplicity and shader access versatility.

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

Data Source

PatentEP2289000B1System, method, and computer program product for a tessellation engine using a geometry shader
Publication Date: 2018.08.08 ADVANCED MICRO DEVICES INC
  • EP2289000B1 patent drawingFigure 1
  • EP2289000B1 patent drawingFigure 2
  • EP2289000B1 patent drawingFigure 3

AI summary

A method, system, and computer program product are disclosed for providing tessellated primitive data to a geometry shader. The method comprises computing a set of tessellated vertices and a computed set of connectivity data based on an original set of vertices and an original set of connectivity data, generating computed vertex data based on the original set of vertices and the set of tessellated vertices, receiving the computed set of connectivity data, requesting a subset of the computed vertex data based on the computed set of connectivity data, and processing primitives defined by the subset of the computed vertex data. The system and computer program product are further disclosed for accomplishing a similar result as the aforementioned method.