Tile-Based Graphics Processing With Hierarchical Bounding Boxes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tile-based graphics processing systems face inefficiencies in determining which primitives to process for rendering tiles, leading to unnecessary processing and reduced performance.

Innovation Solution

A hierarchical bounding box system is introduced, where primitives are grouped into packets and further organized into groups, with bounding boxes generated at multiple levels to optimize the identification of primitives for rendering tiles, reducing the number of tests required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If primitives are sorted into primitive listing regions using traditional tile-based rendering, then the render output can be divided into smaller area regions for separate processing, but the system requires writing primitive lists to memory and reading them back, increasing memory access operations and processing time

Engineering Contradiction:
Improverendering efficiencyVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the render output into smaller area regions called rendering tiles, and further segments primitives into packets with hierarchical bounding boxes. This segmentation allows the system to process only relevant primitives for each tile by traversing the bounding box hierarchy, avoiding the need to write and read complete primitive lists from memory for each tile, thus reducing memory access operations and improving rendering efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical bounding box structure with multiple levels (primitive level, packet level, and render output level) that adds a dimensional organization to primitive data. This hierarchical dimension allows efficient spatial queries by traversing the bounding box tree rather than linearly searching through primitive lists in memory, reducing the time required to identify primitives for each rendering tile

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If a hierarchy of bounding boxes is built with multiple levels (primitive, packet, and render output), then the identification of primitives for rendering tiles becomes more efficient, but the device complexity increases due to additional data structures and processing steps

Engineering Contradiction:
Improveprimitive identification efficiencyVSAvoidbounding box hierarchy complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the bounding box structure into three hierarchical levels: primitive bounding boxes at the lowest level, packet bounding boxes at the intermediate level, and render output bounding boxes at the highest level. This segmentation allows the system to quickly eliminate large portions of primitives that do not intersect with a rendering tile by traversing from the top level down, improving primitive identification efficiency while keeping each individual bounding box level relatively simple

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested bounding box hierarchy where primitive bounding boxes are contained within packet bounding boxes, which are in turn contained within render output bounding boxes. This nesting structure allows efficient culling by testing larger bounding boxes first and only processing smaller ones when necessary, improving identification efficiency while organizing complexity in a hierarchical manner that can be processed systematically

Inventive Principle:
Principle #7Nested doll (Nesting)

3Loss of energy

If primitives are grouped into packets and organized with bounding boxes at multiple levels, then unnecessary primitive processing is minimized, but the initial processing overhead to build the hierarchy increases

Engineering Contradiction:
Improveunnecessary processingVSAvoidhierarchy building time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by building the hierarchical bounding box structure once during the geometry processing pass, organizing all primitives into packets with bounding boxes at multiple levels before the rendering pass begins. This preliminary organization allows the rendering pass to efficiently traverse the pre-built hierarchy and skip unnecessary primitives without incurring repeated processing overhead, minimizing unnecessary primitive processing during actual rendering

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of useful action by making the hierarchical bounding box structure reusable across multiple rendering operations. Once the hierarchy is built during geometry processing, it can be traversed repeatedly during the rendering pass to efficiently identify primitives for multiple rendering tiles without rebuilding the structure, thereby minimizing repeated processing overhead and reducing unnecessary primitive processing across the entire rendering sequence

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250329077A1Graphics processing
Publication Date: 2025.10.23 ARM LTD
  • US20250329077A1 patent drawing
  • US20250329077A1 patent drawing
  • US20250329077A1 patent drawing

AI summary

A tile-based graphics processor that generates and processes packets of primitives is disclosed. The graphics processor generates a hierarchy of bounding boxes by generating primitive bounding boxes that bound respective primitives, primitive group bounding boxes that bound respective groups of primitives within a packet, and packet bounding boxes that bound all primitives within respective packets. The hierarchy of bounding boxes is traversed to determine which primitives to process for which rendering tiles.