Graphics Processing Primitive Queues for Tile-Based Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional tile-based graphics processing systems are inefficient in writing primitives to primitive lists, requiring multiple write cycles for each primitive across multiple regions, leading to increased processing power and cycles.

Innovation Solution

The method involves writing primitives to primitive queues allocated to respective regions of the render output, allowing multiple primitives to be written collectively to their corresponding lists in a single write cycle, reducing the overall number of write cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If primitives are written to primitive lists using conventional methods, then each primitive can be written to its corresponding list, but multiple write cycles are required for each primitive across multiple regions, increasing processing power and cycles

Engineering Contradiction:
Improveprimitive list writing accuracyVSAvoidprimitive processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a primitive queue as an intermediate buffer that temporarily stores primitives before they are written to the final primitive list. This preliminary storage step allows the system to accumulate multiple primitives and write them collectively in a single operation, rather than writing each primitive individually. The queue acts as a staging area that enables batch processing, thereby reducing the total number of write cycles required while ensuring no primitive is lost or misplaced.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple primitives are written collectively to their corresponding lists in a single write cycle, then the number of write cycles is reduced, but an intermediate primitive queue structure is required

Engineering Contradiction:
Improvewrite cycle efficiencyVSAvoidprimitive queue structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs a primitive queue as an intermediary data structure between the primitive input and the final primitive list. This queue serves as a mediator that temporarily holds primitives, allowing them to be grouped and written collectively to the output list. The intermediary queue resolves the contradiction by providing a simple buffering mechanism that enables batch writing without requiring complex reorganization of the existing primitive processing pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240169643A1Graphics processing systems
Publication Date: 2024.05.23 ARM LTD
  • US20240169643A1 patent drawing
  • US20240169643A1 patent drawing
  • US20240169643A1 patent drawing

AI summary

When processing primitives in a tile-based graphics processing system in which a render output is sub-divided into a plurality of tiles for rendering, before a primitive is written to a primitive list corresponding to a region of the render output, it is first written to one or more primitive queues allocated to respective regions of the render output. To write the primitives to primitive lists, primitives are written together from a primitive queue allocated to a region of the render output to the primitive list for that region of the render output, in a single primitive list write cycle.