Graphics Processing Primitive Queues for Tile-Based Rendering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
Data Source
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.


