Geometry-to-Tiling Arbiter for Ordered Tile Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing tile-based rendering (TBR) systems in 3D graphics processing face challenges in improving performance through parallelization of geometry processing phases, as they often result in suboptimal utilization of hardware resources and inefficient data processing.
Innovation Solution
The implementation of a system with multiple parallel geometry pipelines and tiling pipelines, where geometry processing is parallelized, and a geometry to tiling arbiter ensures that primitive position blocks are processed in the correct order by the tiling pipelines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If geometry processing is parallelized using multiple geometry pipelines, then processing speed and productivity are improved, but maintaining correct ordering of primitive position blocks becomes more complex
Solution Approach 1:
A geometry to tiling arbiter is introduced as an intermediary component between multiple geometry pipelines and tiling pipelines. The arbiter receives primitive position blocks from multiple geometry pipelines, determines the correct processing order based on geometry group identifiers, and forwards blocks to tiling pipelines in the proper sequence. This mediator resolves the ordering complexity that arises from parallel processing while maintaining productivity benefits.
Solution Approach 2:
The geometry processing system is segmented into multiple independent geometry pipelines that can process different geometry groups simultaneously. Each pipeline processes a subset of geometry groups, and the segmentation is managed by the arbiter which uses geometry group identifiers to determine the correct interleaved output order. This segmentation enables parallel processing while the arbiter ensures correct ordering.
2Quantity of substance
If multiple parallel geometry pipelines are used to process geometry data, then memory bandwidth requirements are reduced, but ensuring correct processing order of primitives becomes more difficult
Solution Approach 1:
The geometry to tiling arbiter serves as a mediator that manages the complex ordering requirements. It receives primitive position blocks from multiple geometry pipelines, uses geometry group identifiers to determine the correct interleaved order, and forwards blocks to tiling pipelines accordingly. This intermediary simplifies the ordering management while enabling parallel processing that reduces memory bandwidth consumption.
Solution Approach 2:
The system dynamically determines the processing order of primitive position blocks based on geometry group identifiers assigned to each block. The arbiter dynamically selects which geometry pipeline's output to forward next, based on the current geometry group being processed. This dynamic ordering management enables efficient parallel processing while maintaining correct primitive sequence.
3Productivity
If geometry processing is divided into multiple parallel pipelines, then rendering performance is improved, but the system complexity increases
Solution Approach 1:
The rendering system is segmented into multiple parallel geometry pipelines, each capable of processing a subset of geometry groups independently. This segmentation improves rendering performance through parallel execution while the geometry to tiling arbiter manages the coordination between pipelines, adding minimal complexity compared to the performance gains.
Solution Approach 2:
A geometry to tiling arbiter is introduced as an intermediary component that coordinates between multiple geometry pipelines and tiling pipelines. The arbiter adds controlled complexity by implementing ordering logic based on geometry group identifiers, while enabling significant performance improvements through parallel processing. The intermediary manages the complexity rather than allowing it to propagate throughout the entire system.
Data Source
AI summary
Systems and method to implement a geometry processing phase of tile-based rendering. The systems include a plurality of parallel geometry pipelines, a plurality of tiling pipelines and a geometry to tiling arbiter situated between the plurality of geometry pipelines and the plurality of tiling pipelines. Each geometry pipeline is configured to generate one or more geometry blocks for each geometry group of a subset of ordered geometry groups; generate a corresponding primitive position block for each geometry block, and compress each geometry blocks to generate a corresponding compressed geometry block. The tiling pipelines are configured to generate, from the primitive position blocks, a list for each tile indicating primitives that fall within the bounds of that tile. The geometry to tiling arbiter is configured to forward the primitive position blocks generated by the plurality of geometry pipelines to the plurality of tiling pipelines in the correct order based on the order of the geometry groups.


