Implicit Vertex Generation for Tile-Based Graphics Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current tile-based graphics processing systems face inefficiencies in performing graphics processing operations for an entire render output, particularly in terms of memory traffic and power usage, as they require explicit vertex data and extensive processing for each tile.

Innovation Solution

The implementation of a 'full-frame' command that allows the graphics processor to determine vertices implicitly from the render output area, eliminating the need for explicit vertex data and reducing memory traffic and power consumption by processing graphics operations on a tile-by-tile basis without unnecessary operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If explicit vertex data is provided for full-frame graphics processing operations, then processing accuracy is maintained, but memory bandwidth consumption increases and power usage rises

Engineering Contradiction:
Improveprocessing accuracyVSAvoidpower usage
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent uses implicit vertex generation as a simplified copy or representation of explicit vertex data. Instead of transferring actual vertex coordinates from memory, the system generates equivalent vertex information implicitly from command data, reducing memory bandwidth while maintaining processing accuracy

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts only the essential information needed for full-frame operations from the vertex data. By removing unnecessary explicit vertex coordinates and retaining only critical command parameters, the system reduces memory traffic while preserving the accuracy needed for graphics processing operations

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If explicit vertex data is provided for full-frame graphics processing operations, then processing accuracy is maintained, but memory traffic increases

Engineering Contradiction:
Improveprocessing accuracyVSAvoidmemory traffic
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system creates an implicit copy of vertex information directly in the graphics processor rather than copying actual vertex data from memory. This generates equivalent processing information without the memory bandwidth overhead of transferring explicit vertex coordinates

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts only the minimal necessary information from what would otherwise be extensive vertex data. By taking out only the essential command parameters and generating the rest implicitly, memory traffic is dramatically reduced while processing accuracy is preserved

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If tile-based processing is used for render output, then processing efficiency is improved, but complexity in handling full-frame operations increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidhandling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal command structure that works for both tile-specific and full-frame operations. The implicit vertex generation mechanism provides a multi-functional solution that simplifies the handling of full-frame operations within the existing tile-based processing framework, reducing complexity while maintaining efficiency

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

Data Source

PatentUS10733782B2Graphics processing systems
Publication Date: 2020.08.04 ARM LTD
  • US10733782B2 patent drawing
  • US10733782B2 patent drawing
  • US10733782B2 patent drawing

AI summary

To perform a graphics processing operation for the entirety of an area of a render output being generated by a graphics processor, a command to draw a primitive occupying the entire area of the render output is issued to the graphics processor. The graphics processor draws the primitive by determining the vertices to use for the primitive from the area of the render output. In a tile-based graphics processor at least, the graphics processor in an embodiment also determines whether it is unnecessary to process the graphics processing command for a rendering tile and when it is determined that processing the graphics processing command for the rendering tile is unnecessary, the graphics processor omits processing the graphics processing command for the rendering tile.