Multicore 3D Graphics Memory Layout for Ordered Tile Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing rendering tasks in parallel on a multicore GPU while maintaining the order of primitives as provided by the application driver and managing memory efficiently to facilitate the rendering of complex scenes.

Innovation Solution

A multicore graphics rendering system with a hierarchical memory management system that uses allocation lists and virtualised memory spaces to manage memory allocation and ordering of rendering tasks, ensuring efficient parallel processing of geometry and fragment processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If rendering tasks are processed in parallel on multicore GPU, then rendering speed is improved, but maintaining the order of primitives becomes difficult

Engineering Contradiction:
Improverendering speedVSAvoidorder of primitives
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-assigning group indices to groups of primitives before parallel processing begins. This ordering information is stored and used during fragment processing to ensure that even though geometry processing occurs in parallel without strict ordering, the final rendering maintains the correct primitive sequence. The group indices are established in advance and used as reference markers throughout the rendering pipeline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of an allocation list that tracks memory allocations associated with specific group indices and frame portions. This allocation list acts as a mediator between the parallel geometry processing stage and the sequential fragment processing stage, ensuring that memory is allocated and freed in the correct order while allowing parallel execution. The intermediary structure decouples the parallel processing from the ordering requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If memory is allocated for complex scenes, then rendering capability is improved, but memory overflow becomes more likely

Engineering Contradiction:
Improverendering capabilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory management where memory allocations are tracked and released based on completion status rather than being statically allocated for the entire scene. The system dynamically adjusts memory usage by freeing portions of memory associated with completed frame portions while retaining allocations for incomplete portions. This allows the system to handle complex scenes adaptively without requiring excessive peak memory allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies discarding and recovering by systematically freeing memory allocations once their associated frame portions are completely processed. The allocation list tracks which memory portions are no longer needed and enables their release back to the memory pool. This continuous recovery of memory resources allows the system to maintain high rendering capability for complex scenes while preventing memory overflow through efficient resource reuse.

Inventive Principle:
Principle #34Discarding and recovering

3Productivity

If parallel processing is implemented, then rendering efficiency is improved, but memory management complexity increases

Engineering Contradiction:
Improverendering efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments memory management into distinct tracked portions, each associated with specific frame portions and group indices. Rather than managing memory as a single undifferentiated resource, the system divides memory allocations into discrete segments that can be independently tracked, allocated, and freed. This segmentation simplifies the management complexity by creating manageable units with clear ownership and lifecycle information stored in the allocation list.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260017747A1Memory Management for Multicore 3-D Graphics Rendering
Publication Date: 2026.01.15 IMAGINATION TECH LTD
  • US20260017747A1 patent drawing
  • US20260017747A1 patent drawing
  • US20260017747A1 patent drawing

AI summary

A multicore graphics rendering system includes a plurality of cores configured to implement tile-based rendering of a stream of primitives. First cores are configured to process groups of primitives, to produce transformed geometry data. The graphics rendering system uses at least one virtualised memory space. At least one virtualised memory space is segmented such that the first cores are allocated respective non-overlapping virtual address ranges in the space, the virtual address ranges being associated with different entries in a top level of the index. The top level of the hierarchical index is pre-allocated, and each core is primed by providing it with said top level of the hierarchical index.