Tessellation Engine Pipeline for GPU Graphics Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GPU systems, particularly those compatible with DirectX 11, are not optimized for efficient hardware performance in tessellation processes, leading to suboptimal execution of graphics-processing tasks.

Innovation Solution

A processing unit with a tessellation engine that dynamically uses on-chip or off-chip memory for tessellation, generating tessellation points in the order they are needed, and connecting them into primitives using a selected lookup table, allowing for efficient execution and reduced memory storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the DX11 unified shader model is used to implement tessellation, then compatibility with end-user applications is improved, but hardware execution efficiency deteriorates

Engineering Contradiction:
Improvecompatibility with end-user applicationsVSAvoidhardware execution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the tessellation process into distinct functional units: a tessellation control unit that generates tessellation factors, a tessellation evaluation unit that computes tessellation points, and a connectivity module that creates primitives. This segmentation allows each unit to be optimized independently for hardware efficiency while maintaining the unified shader model's compatibility with applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate data structures and buffers between the tessellation control unit and evaluation unit, allowing efficient data transfer and processing. The connectivity module acts as an intermediary that receives tessellation points and transforms them into primitives, decoupling the tessellation generation from the primitive creation processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If tessellation points are stored in memory for later processing, then processing flexibility is improved, but memory storage requirements and processing time increase

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The tessellation control unit performs preliminary calculations to generate tessellation factors and control points before the evaluation unit computes the actual tessellation points. This preliminary action allows the evaluation unit to efficiently generate points in the correct order, eliminating the need to store and later retrieve all points for processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a continuous pipeline where the tessellation control unit continuously generates control data, the evaluation unit continuously computes tessellation points, and the connectivity module continuously creates primitives. This continuous flow eliminates idle time and memory access delays, maintaining high utilization of processing resources throughout the tessellation process.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP2476101B1Tessellation engine and applications thereof
Publication Date: 2018.08.15 ADVANCED MICRO DEVICES INC
  • EP2476101B1 patent drawingFigure 1
  • EP2476101B1 patent drawingFigure 2
  • EP2476101B1 patent drawingFigure 3

AI summary

Disclosed herein methods, apparatuses, and systems for performing graphics processing. In this regard, a processing unit includes a tessellation module and a connectivity module. The tessellation module is configured to sequentially tessellate portions of a geometric shape to provide a series of tessellation points for the geometric shape. The connectivity module is configured to connect one or more groups of the tessellation points into one or more primitives in an order in which the series of tessellation points is provided.