Tiling Unit Display List Pointer Update for Hidden Primitive Culling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In graphics processing systems, the increased number of primitives within a tile leads to larger display lists, increasing memory usage and data transfer between the GPU and memory, which is inefficient due to slow communication speeds.

Innovation Solution

A method is introduced where primitives are assigned to tiles by determining if a set of primitives entirely covers a polygonal region, comparing depth thresholds, and updating them based on received primitives, allowing for the culling of hidden primitives and updating depth thresholds for regions when a mesh entirely covers them, thereby reducing the data included in display lists and fetched by the HSR module.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the number of primitives within a tile is increased, then the rendering completeness is improved, but the display list size increases, leading to increased memory usage and data transfer

Engineering Contradiction:
Improverendering completenessVSAvoiddisplay list size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent performs preliminary depth comparison and primitive culling in the tiling unit before generating display lists. By comparing depth thresholds with received primitives and determining which primitives entirely cover polygonal regions, the system pre-identifies and removes hidden primitives from display lists, reducing their size while ensuring only visible primitives are included for rendering

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and removes hidden primitives from display lists through depth-based culling. The tiling unit compares depth values of primitives against depth thresholds and selectively excludes primitives that are completely obscured by other primitives, thereby reducing display list size while maintaining rendering quality by keeping only necessary visible primitives

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If the display list size is increased, then more primitives are available for rendering, but the data transfer between GPU and memory increases, reducing system performance

Engineering Contradiction:
Improveprimitive availabilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary processing in the tiling unit by comparing depth thresholds with received primitives and determining coverage relationships before display list generation. This advance culling of hidden primitives reduces the amount of data that needs to be transferred to memory, improving system performance while maintaining adaptability through efficient data structures and algorithms

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of display list content by selectively including only visible primitives based on depth comparison results. By modifying which primitives are included in display lists through depth-based filtering, the system reduces data transfer requirements while maintaining the necessary adaptability to render complex scenes with varying primitive counts

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If depth threshold comparison and primitive culling are performed, then the display list size is reduced, but the processing complexity in the tiling unit increases

Engineering Contradiction:
Improvedisplay list sizeVSAvoidtiling unit complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements depth threshold comparison and primitive culling operations within the tiling unit as preliminary processing steps. By performing these operations before display list generation, the system reduces display list size while concentrating the processing complexity in a single stage, allowing for efficient pipeline organization and optimized hardware implementation

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9684995B2Setting a display list pointer for primitives in a tile-based graphics processing system
Publication Date: 2017.06.20 IMAGINATION TECH LTD
  • US9684995B2 patent drawing
  • US9684995B2 patent drawing
  • US9684995B2 patent drawing

AI summary

A tiling unit assigning primitives to tiles in a graphics processing system which has a rendering space subdivided into a plurality of tiles. A primitive is assigned to a tile by including a primitive ID of the primitive in a display list for the tile. If a primitive, or a mesh of primitives entirely covers a tile such that all of the previous primitives in the tile are obscured (i.e. hidden) then a start pointer of the display list can be moved to thereby skip the obscured primitives. In this way, a hidden surface removal (HSR) module will not fetch the primitives which would ultimately be hidden by the primitive or the mesh which entirely covers the region. This method therefore reduces the number of primitives which are fetched by the HSR module.