Tile-Based Graphics Pipeline Primitive Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In tile-based graphics processing systems, preparing and storing primitive lists for each rendering tile can result in varying memory requirements due to different primitive distributions, leading to inefficiencies as some primitives may not actually fall within all tiles they are listed for, causing unnecessary rasterization processing.

Innovation Solution

Implementing a comparison step before rasterization to determine if a primitive falls within the current tile, using either bounding boxes or lower precision coordinate representations to assess whether the primitive lies within the tile, thereby avoiding unnecessary processing by discarding primitives that do not actually fall within the tile.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If primitive lists are prepared for each rendering tile to identify primitives to be rendered, then rendering efficiency is improved by avoiding unnecessary processing, but memory requirements vary significantly due to different primitive distributions across tiles

Engineering Contradiction:
Improverendering efficiencyVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The render target is divided into multiple sub-regions, each with its own primitive list. This segmentation allows primitives to be organized at a coarser granularity level, reducing the total number of primitives that need to be stored across all tile lists while still enabling efficient per-tile rendering by only processing primitives in the relevant sub-region.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of organizing primitives at the finest tile level, the patent introduces an intermediate sub-region level (a coarser spatial dimension), allowing primitives to be shared across multiple tiles within a sub-region. This dimensional hierarchy reduces redundancy in primitive storage.

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

2Ease of manufacture

If bounding box binning is used to prepare primitive lists with lower precision, then the preparation process is simplified, but unnecessary primitives may be included in tile lists causing wasted rasterization processing

Engineering Contradiction:
Improvepreparation process simplicityVSAvoidrasterization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

By dividing the render target into sub-regions and creating separate primitive lists for each sub-region, the patent achieves more precise primitive filtering than global bounding box binning. This segmentation allows the system to maintain simplicity in the binning process while improving rasterization efficiency by eliminating primitives that fall outside the current sub-region.

Inventive Principle:
Principle #1Segmentation

3Productivity

If exact binning is used to determine precisely which tiles a primitive appears in, then unnecessary rendering is avoided, but the complexity of preparing primitive lists increases

Engineering Contradiction:
Improverendering efficiencyVSAvoidprimitive list preparation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediate sub-region level between the render target and individual tiles. This segmentation provides a practical compromise: sub-regions are large enough to simplify primitive-list preparation compared to per-tile exact binning, yet small enough to maintain good rendering efficiency by limiting the number of primitives that need to be considered for each tile.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing complete exact binning for every tile, the patent uses sub-region level binning as a partial solution. This partial action approach achieves sufficient primitive filtering for most cases while avoiding the full complexity of precise per-tile binning, and can be combined with simpler per-tile filtering for edge cases.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10204391B2Method of and apparatus for processing graphics
Publication Date: 2019.02.12 ARM LTD
  • US10204391B2 patent drawing
  • US10204391B2 patent drawing
  • US10204391B2 patent drawing

AI summary

A tile-based graphics processing pipeline that uses primitive lists that can encompass plural rendering tiles includes a primitive list reading unit that reads primitive lists for a tile being rendered to determine primitives to be processed for the tile and a rasterizer that rasterizes input primitives to generate graphics fragments to be processed. The pipeline further comprises a comparison unit between the primitive list reading unit and the rasterizer that for primitives that have been read from primitive lists that include plural rendering tiles, compares the location of the primitive in the render target to the location of the tile being rendered, and then either sends the primitive onwards to the rasterizer if the comparison determines that the primitive could lie at least partially within the tile, or does not send the primitive to the rasterizer if the comparison determines that the primitive definitely does not lie within the tile.