Graphics Processing Region-Based Primitive Data Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional tile-based graphics processing systems face inefficiencies in memory usage and processing due to the need to store and process all geometry data upfront, leading to increased memory requirements and delayed rendering.
Innovation Solution
The proposed method organizes and stores primitive data on a per region basis, allowing for dynamic memory allocation and reduced memory usage by storing data in separate structures for each region, while also utilizing a combined data structure for larger primitives to avoid duplication, enabling partial deferred rendering and improved memory management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all geometry data is stored upfront in traditional tile-based rendering, then complete rendering data is available for processing, but memory requirements increase and rendering is delayed
Solution Approach 1:
The patent segments geometry data storage by creating separate data structures for each render output region instead of storing all geometry data in a single unified structure. This allows the system to store only the geometry data relevant to each specific region, reducing overall memory requirements while ensuring that complete rendering data is available for each region when needed.
2Reliability
If all geometry data is stored upfront in traditional tile-based rendering, then complete rendering data is available for processing, but rendering processing is delayed
Solution Approach 1:
The patent performs preliminary actions by determining which geometry data is needed for each render output region before the actual rendering process begins. By pre-identifying and storing only the relevant geometry data for each region in separate data structures, the system eliminates the delay of processing unnecessary data while ensuring complete rendering data is ready when needed.
3Quantity of substance
If primitive data is stored in separate data structures for each region, then memory usage is reduced and memory allocation is dynamic, but data organization complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the render output into multiple regions and creating separate data structures for each region. This segmentation reduces memory usage by storing only relevant geometry data for each region. The complexity is managed by systematically associating each region with its corresponding data structure, allowing for dynamic memory allocation while maintaining organized data access patterns.
4Loss of substance
If primitive data is stored in a combined data structure, then data duplication is avoided for larger primitives, but memory allocation flexibility is reduced
Solution Approach 1:
The patent implements a dynamic data storage approach where the system can adaptively choose between separate region-specific data structures and combined data structures based on the characteristics of the geometry data. For larger primitives that span multiple regions, the system uses combined data structures to avoid duplication, while maintaining the flexibility to use separate structures when appropriate, thus balancing memory efficiency with allocation flexibility.
Data Source
AI summary
When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions for rendering, each region comprising a respective area of the render output. It is determined for which of the plurality of regions of the render output a primitive should be rendered for. Primitive data for rendering the primitive is then stored either in a combined data structure in memory that is associated with a plurality of different regions of the render output, or is stored in a respective data structure for each region of the render output it is determined the primitive should be rendered for. Which manner the primitive data is stored is determined in dependence on a property, e.g. a coverage, of the primitive.


