Hierarchical Tile Grouping for Predictable GPU Tiling Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tile-based rendering (TBR) graphics processing systems face inefficiencies due to unpredictable memory usage and bandwidth requirements for tiling information, as the number of primitives and primitive blocks per tile cannot be accurately determined in advance, leading to potential memory overflow and suboptimal rendering performance.

Innovation Solution

Implement a multi-level hierarchical tiling structure where tiles are grouped into successively larger non-overlapping groups, with a control stream generated for each group to identify relevant primitive blocks, ensuring each block is associated with a fixed number of control streams, thereby managing memory allocation and reducing redundancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a traditional tile-based rendering system stores tiling information for all tiles, then complete rendering coverage is achieved, but memory usage and bandwidth requirements become unpredictable and potentially excessive

Engineering Contradiction:
Improverendering coverageVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The rendering space is divided into a hierarchical structure of tile groups at multiple levels. Level 0 contains individual tiles, level 1 contains groups of level 0 tiles, level 2 contains groups of level 1 tiles, and level 3 contains all tiles. This segmentation allows the system to store tiling information only for relevant groups rather than all tiles individually, reducing memory usage while maintaining complete rendering coverage through the hierarchical structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested hierarchical structure where smaller tile groups are contained within larger tile groups. Each tile group at a given level is contained within a tile group at the next higher level, creating a nested arrangement. This nesting allows the system to reuse tiling information across multiple levels, reducing redundant storage while ensuring complete coverage through the nested hierarchy.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Ease of manufacture

If the system determines the exact number of primitives and primitive blocks per tile in advance, then memory allocation becomes predictable, but this information is inherently unpredictable and cannot be accurately determined beforehand

Engineering Contradiction:
Improvememory allocation predictabilityVSAvoidprimitives per tile determination
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by pre-dividing the rendering space into a fixed hierarchical structure of tile groups before actual rendering occurs. This pre-established hierarchy allows the system to allocate memory in advance based on the known structure rather than on unpredictable actual primitive counts. The maximum number of primitives per tile group is determined by the hierarchical structure itself, providing predictable memory allocation requirements.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If every primitive block is associated with every tile it intersects, then complete rendering information is available, but redundant data storage increases significantly

Engineering Contradiction:
Improverendering information completenessVSAvoidredundant data storage
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

Instead of associating primitive blocks with every individual tile, the system segments the association by grouping tiles into hierarchical tile groups. Primitive blocks are associated with tile groups rather than individual tiles, which reduces redundancy. The hierarchical structure ensures that rendering information remains complete through the nested groups, while the grouping mechanism eliminates redundant storage of the same primitive block information across multiple individual tile associations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250349064A1Data Structures, Methods and Tiling Engines for Hierarchically Storing Tiling Information in a Graphics Processing System
Publication Date: 2025.11.13 IMAGINATION TECH LTD
  • US20250349064A1 patent drawing
  • US20250349064A1 patent drawing
  • US20250349064A1 patent drawing

AI summary

Methods and tiling engines for tiling primitives in a tile based graphics processing system. A multi-level hierarchy of tile groups is generated, each level comprising one or more tile groups comprising one or more of the plurality of tiles. A plurality of primitive blocks is received, each comprising geometry data for one or more primitives. Each of the plurality of primitive blocks is associated with one or more of the tile groups up to a maximum number of tile groups such that if at least one primitive of a primitive block falls, at least partially, within the bounds of a tile, the primitive block is associated with at least one tile group that includes that tile. A control stream is generated for each tile group based on the associations, wherein each control stream comprises a primitive block entry for each primitive block associated with the corresponding tile group.