Graphics Processing Region-Based Primitive Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional tile-based graphics processing systems face inefficiencies in memory usage and processing due to the need to store and process all geometry data upfront, leading to increased memory requirements and delayed rendering.

Innovation Solution

The proposed method organizes and stores primitive data on a per region basis, allowing for dynamic memory allocation and reduced memory usage by storing data in separate structures for each region, while also utilizing a combined data structure for larger primitives to avoid duplication, enabling partial deferred rendering and improved memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all geometry data is stored upfront in traditional tile-based rendering, then complete rendering data is available for processing, but memory requirements increase and rendering is delayed

Engineering Contradiction:
Improvecompleteness of rendering dataVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments geometry data storage by creating separate data structures for each render output region instead of storing all geometry data in a single unified structure. This allows the system to store only the geometry data relevant to each specific region, reducing overall memory requirements while ensuring that complete rendering data is available for each region when needed.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all geometry data is stored upfront in traditional tile-based rendering, then complete rendering data is available for processing, but rendering processing is delayed

Engineering Contradiction:
Improvecompleteness of rendering dataVSAvoidrendering delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by determining which geometry data is needed for each render output region before the actual rendering process begins. By pre-identifying and storing only the relevant geometry data for each region in separate data structures, the system eliminates the delay of processing unnecessary data while ensuring complete rendering data is ready when needed.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If primitive data is stored in separate data structures for each region, then memory usage is reduced and memory allocation is dynamic, but data organization complexity increases

Engineering Contradiction:
Improvememory usageVSAvoiddata organization complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the render output into multiple regions and creating separate data structures for each region. This segmentation reduces memory usage by storing only relevant geometry data for each region. The complexity is managed by systematically associating each region with its corresponding data structure, allowing for dynamic memory allocation while maintaining organized data access patterns.

Inventive Principle:
Principle #1Segmentation

4Loss of substance

If primitive data is stored in a combined data structure, then data duplication is avoided for larger primitives, but memory allocation flexibility is reduced

Engineering Contradiction:
Improvedata duplicationVSAvoidmemory allocation flexibility
Core Design Contradiction:
Loss of substanceVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic data storage approach where the system can adaptively choose between separate region-specific data structures and combined data structures based on the characteristics of the geometry data. For larger primitives that span multiple regions, the system uses combined data structures to avoid duplication, while maintaining the flexibility to use separate structures when appropriate, thus balancing memory efficiency with allocation flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11216993B2Graphics processing systems
Publication Date: 2022.01.04 ARM LTD
  • US11216993B2 patent drawing
  • US11216993B2 patent drawing
  • US11216993B2 patent drawing

AI summary

When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions for rendering, each region comprising a respective area of the render output. It is determined for which of the plurality of regions of the render output a primitive should be rendered for. Primitive data for rendering the primitive is then stored either in a combined data structure in memory that is associated with a plurality of different regions of the render output, or is stored in a respective data structure for each region of the render output it is determined the primitive should be rendered for. Which manner the primitive data is stored is determined in dependence on a property, e.g. a coverage, of the primitive.