Tile-Based Immediate-Mode Rendering Pipeline with Per-Tile Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing systems face inefficiencies in rendering three-dimensional scenes due to the need to manage in-memory state objects and repetitive assembly and shading processes, which increase complexity and resource consumption.

Innovation Solution

Implementing a tile-based immediate mode renderer graphics pipeline that partitions frames into tiles, determines visible primitives, and renders them sequentially, using a single command stream to reduce resource management and repetitive shading, allowing for improved processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional graphics pipelines use in-memory state objects and repetitive assembly/shading processes, then rendering can be performed, but device complexity and resource consumption increase

Engineering Contradiction:
Improvestate management complexityVSAvoidrendering efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent extracts and eliminates the in-memory state object management system from traditional graphics pipelines. By using a command stream-based approach where commands are issued directly without maintaining complex state objects in memory, the system removes the source of complexity while maintaining rendering functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the rendering process into discrete command stream operations rather than using monolithic state object management. Each command in the stream is processed independently, allowing for simplified state management while maintaining rendering efficiency through the segmented approach.

Inventive Principle:
Principle #1Segmentation

2Productivity

If traditional pipelines perform repetitive assembly and shading processes, then all primitives can be rendered, but processing time and resource consumption increase

Engineering Contradiction:
Improverendering throughputVSAvoidrepetitive processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by processing and preparing command streams in advance, allowing primitives to be rendered without repeated assembly and shading operations. The command stream is pre-processed to determine which primitives need rendering, eliminating redundant processing steps.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuity of useful action by processing command streams continuously without interruption for state object management. The rendering pipeline operates continuously on the command stream, eliminating idle time associated with state object updates and reducing overall processing time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250308131A1Tile-based immediate mode renderer graphics pipeline
Publication Date: 2025.10.02 ADVANCED MICRO DEVICES INC
  • US20250308131A1 patent drawing
  • US20250308131A1 patent drawing
  • US20250308131A1 patent drawing

AI summary

To implement a tile-based immediate mode renderer graphics pipeline, an acceleration unit (AU) partitions a frame to be rendered into two or more tiles. For each primitive of a batch of primitives, the AU then determines whether the primitive is at least partially visible in a tile. Based on a primitive being at least partially visible in a tile, the AU stores geometry data of the primitive in the tile in a corresponding per-tile queue allocated to the tile. For each tile and using the geometry data in the per-tile queue allocated to the tile, the AU renders attribute data of the primitives at least partially visible in the tile to one or more buffers. The AU next determines lighting data for the primitives at least partially visible in the tile based on the attribute data in the buffer and stores the results in a frame buffer for display.