Graphics Processor Tile Elimination Data Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in tile-based rendering, particularly in identifying and processing only the necessary tiles for rendering, leading to unnecessary processing of empty tiles.

Innovation Solution

The method involves a first processing pass to sort primitives into regions and generate 'tile elimination' data, indicating which tiles should be rendered, allowing for early elimination of empty tiles in a second processing pass, thereby reducing unnecessary processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all tiles are processed in tile-based rendering, then complete coverage of the render output is ensured, but processing time and computational resources are wasted on empty tiles

Engineering Contradiction:
Improverender output completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing a first processing pass before the actual rendering to sort primitives into regions and generate tile elimination data. This preliminary sorting identifies which tiles contain primitives and which are empty, allowing the system to eliminate empty tiles before committing processing resources to them in the second rendering pass, thus preventing wasted processing time while ensuring complete coverage of only necessary tiles

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the tile elimination data generation step from the main rendering pipeline, separating the identification of empty tiles from the actual rendering process. By extracting this information in the first processing pass and using it to filter out empty tiles before the second pass, the system removes unnecessary processing operations while preserving the rendering of tiles that contain primitives

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If tile elimination data is generated early in the first processing pass, then processing efficiency is improved by eliminating empty tiles, but additional computational overhead is introduced for generating the elimination data

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the tile elimination data generation with the existing primitive sorting operation in the first processing pass. By combining these functions, the system utilizes the same processing infrastructure and data structures already required for sorting primitives into regions, thereby generating tile elimination information without requiring separate computational resources or significant additional complexity beyond what is already needed for tile-based rendering

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The first processing pass is designed to serve multiple functions: it sorts primitives into regions for proper rendering organization and simultaneously generates tile elimination data to identify empty tiles. This multi-functionality allows the system to achieve both primitive organization and empty tile identification using a single processing pass, improving overall efficiency without proportionally increasing computational overhead

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20240348935A1Graphics processors
Publication Date: 2024.10.17 ARM LTD
  • US20240348935A1 patent drawing
  • US20240348935A1 patent drawing
  • US20240348935A1 patent drawing

AI summary

A method of processing data in a graphics processor when performing tile-based rendering in which a render output is sub-divided into a plurality of tiles for rendering. The rendering is performed as two separate processing passes: a first processing pass that sorts primitives into respective regions of the render output and a second processing pass that renders the tiles into which the render output is sub-divided for rendering. During the first processing pass, “tile elimination” data is generated indicative of which of the rendering tiles should be rendered during the second processing pass. The tile elimination data generated in the first processing pass can then be used to control the rendering of tiles during the second processing pass.