Fragment Shading Rate Combining in Tile-Based Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processing systems struggle to efficiently handle variable fragment shading rates, leading to increased processing requirements and memory bandwidth demands, particularly in tile-based systems.
Innovation Solution
A method and system for efficiently combining different fragment shading rate (FSR) sources by leveraging the likelihood of consecutive primitives sharing the same FSR value, reducing the need for redundant calculations and storage requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If variable fragment shading rates are implemented in tile-based graphics processing systems, then rendering flexibility and quality are improved, but processing requirements and memory bandwidth demands increase
Solution Approach 1:
The patent applies preliminary action by determining and storing the combined fragment shading rate value during the geometry processing phase, before the rendering phase begins. This allows the rendering phase to simply retrieve and use the pre-calculated value, avoiding redundant calculations and reducing processing requirements during actual rendering.
Solution Approach 2:
The patent merges multiple fragment shading rate values (pipeline-level FSR value and primitive-level FSR value) into a single combined fragment shading rate value. This consolidation simplifies the data structure and reduces memory bandwidth demands by storing one combined value rather than multiple separate values.
2Measurement precision
If multiple fragment shading rate values are stored for each primitive, then rendering accuracy is improved, but memory bandwidth demands increase
Solution Approach 1:
The patent combines multiple fragment shading rate values into a single combined value that is stored in memory. This merging approach maintains the necessary rendering accuracy information while significantly reducing the quantity of data that needs to be stored and transferred, thereby lowering memory bandwidth demands.
Solution Approach 2:
The combined fragment shading rate value is calculated and stored in advance during geometry processing, before the rendering phase. This preliminary calculation eliminates the need to store multiple separate FSR values, reducing memory bandwidth requirements while preserving rendering accuracy.
3Measurement precision
If fragment shading rate calculations are performed for every primitive, then rendering precision is improved, but processing time increases
Solution Approach 1:
The patent performs the fragment shading rate calculation in advance during the geometry processing phase, storing the combined FSR value for later use. This preliminary action eliminates the need to recalculate FSR values during the rendering phase, significantly reducing processing time while maintaining rendering precision.
Solution Approach 2:
By merging pipeline-level and primitive-level FSR values into a single combined value, the patent reduces the computational complexity of FSR calculations. This consolidation maintains rendering precision while decreasing the time required for processing.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
There is provided a method of rendering, in a rendering space, a scene formed by primitives in a graphics processing system. The method comprises a geometry processing phase, comprising the step of storing fragment shading rate data representing a first fragment shading rate value and associating data identifying a primitive with the fragment shading rate data. The method further comprises a rendering phase comprising the steps of: retrieving the stored fragment shading rate data and associated data identifying the primitive, obtaining an attachment specifying one or more attachment fragment shading rate values for the rendering space; processing the primitive to derive primitive fragments to be shaded; and for each primitive fragment, combining the first fragment shading rate value for the primitive from which the primitive fragment is derived with an attachment fragment shading rate value from the attachment to produce a resolved combined fragment shading rate value for the respective fragment.