Task Merging in Tile-Based Graphics Pipeline

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing systems face inefficiencies in rendering 3D scenes due to overlapping primitives at sample positions, which can lead to reduced task occupancy and increased power consumption.

Innovation Solution

The method involves generating tasks from a flushed tag buffer in a tile-based graphics pipeline, determining whether merging criteria are satisfied, and adding fragments from a next tag buffer flush to the last task if the criteria are met, thereby increasing task occupancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are generated from flushed tag buffer without merging, then task processing is simpler and faster, but task occupancy is reduced and power consumption increases

Engineering Contradiction:
Improvetask occupancyVSAvoidtask merging logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges fragments from multiple tag buffer flushes into a single task when merging criteria are satisfied. The task merging logic combines fragments that share the same program reference and satisfy occupancy thresholds, thereby increasing task occupancy without proportionally increasing processing complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary determination of merging criteria satisfaction before finalizing task generation. By evaluating whether fragments should be merged in advance, the system optimizes task occupancy before execution, reducing the need for complex runtime decisions and improving overall pipeline efficiency.

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If tasks are generated from flushed tag buffer without merging, then processing is simpler, but power consumption increases due to reduced task occupancy

Engineering Contradiction:
Improvepower consumptionVSAvoidtime for merging criteria determination
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent applies merging only when criteria are satisfied (partial action) rather than always merging or never merging. This selective approach ensures power savings are achieved only when beneficial, avoiding unnecessary processing overhead and time loss in cases where merging would not provide advantages.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If fragments from next tag buffer flush are added to last task, then task occupancy increases, but task structure becomes more complex

Engineering Contradiction:
Improvetask occupancyVSAvoidtask structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent dynamically adjusts task structure by conditionally adding fragments from the next tag buffer flush to the last task based on merging criteria. This dynamic approach allows the task structure to adapt to actual data patterns, increasing occupancy when beneficial while maintaining simplicity when conditions are not met.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250054097A1Task merging
Publication Date: 2025.02.13 IMAGINATION TECH LTD
  • US20250054097A1 patent drawing
  • US20250054097A1 patent drawing
  • US20250054097A1 patent drawing

AI summary

Methods and apparatus for merging tasks in a graphics pipeline in which, subsequent to a trigger to flush a tag buffer, one or more tasks from the flushed tag buffer are generated, each task comprising a reference to a program and plurality of fragments on which the program is to be executed, wherein a fragment is an element of a primitive at a sample position. It is then determined whether merging criteria are satisfied and if satisfied, one or more fragments from a next tag buffer flush are added to a last task of the one or more tasks generated from the flushed tag buffer.