Tile-Based Graphics Primitive Grouping for Write Cycle Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In tile-based graphics processing systems, the process of writing primitives to primitive lists is inefficient, requiring multiple write cycles for each primitive to be written to multiple regions, leading to increased processing power and time consumption.

Innovation Solution

Primitives are grouped together based on their overlapping regions of coverage, allowing multiple primitives to be written to their respective lists in a single write cycle, reducing the overall number of write cycles needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If primitives are written to primitive lists one by one in separate write cycles, then each primitive can be accurately sorted to its target regions, but the number of write cycles increases and processing efficiency decreases

Engineering Contradiction:
Improveprimitive sorting accuracyVSAvoidprimitive list writing speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent merges multiple primitive write operations into a single write cycle by grouping primitives that share the same target region. Instead of writing each primitive separately to its destination primitive list, the system identifies primitives that can be written to the same list simultaneously, combining multiple write operations into one efficient batch operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary grouping of primitives before the actual write operation. By pre-identifying which primitives can be written together to the same target region, the system prepares the data in advance, allowing the write stage to execute efficiently in fewer cycles without sacrificing sorting accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple write cycles are used to write primitives to multiple regions, then complete coverage of all target regions is achieved, but processing time and power consumption increase

Engineering Contradiction:
Improveregion coverage completenessVSAvoidprimitive processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent combines multiple write cycles into fewer cycles by merging primitives with identical target regions. This ensures that all required regions are still covered completely, while reducing the total number of write operations needed to achieve full coverage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent discards redundant write operations by identifying primitives that would be written in multiple separate cycles and instead writing them once in a grouped operation, recovering processing time and power that would have been spent on duplicate write cycles.

Inventive Principle:
Principle #34Discarding and recovering

3Manufacturing precision

If primitives are processed individually through the rendering pipeline, then each primitive can be rendered with full detail and accuracy, but the overall rendering throughput decreases

Engineering Contradiction:
Improveprimitive rendering qualityVSAvoidrendering throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent merges the processing of multiple primitives into batch operations where primitives sharing common characteristics (such as the same target region) are handled together. This maintains full rendering quality for each primitive while significantly improving throughput by reducing the overhead of individual processing cycles.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240169612A1Graphics processing systems
Publication Date: 2024.05.23 ARM LTD
  • US20240169612A1 patent drawing
  • US20240169612A1 patent drawing
  • US20240169612A1 patent drawing

AI summary

When processing primitives in a tile-based graphics processing system in which a render output is sub-divided into a plurality of tiles for rendering, before a primitive is written to a primitive list corresponding to a region of the render output, it is first determined whether the primitive can be grouped with one or more previous primitives based on the set of regions of the render output that primitive covers relative to the set of regions of the render output that one or more previous primitives cover. When it is determined that the primitive can be grouped with one or more previous primitives, the primitive is added to a group (i.e. grouped) with the one or more previous primitives. The grouped primitives are then later written together to one or more primitive lists, in a single primitive list write cycle.