Multi-rate Shading via Replayed Screen Space Tiles
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multi-rate shading methods require re-processing primitives for each shading pass, increasing workload and negating benefits, as they render screen space at a fixed rate, leading to under-sampling in rapidly changing colors or over-sampling in slowly changing colors.
Innovation Solution
The method employs a bin replay feature to cache primitives in on-chip memory and replay them across multiple passes at different shading rates, addressing color frequencies by using MSAA for slow changes and super-sampling for rapid changes without re-placing primitives, thereby optimizing shading rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If primitives are re-processed for each shading pass, then shading quality can be maintained, but workload increases and efficiency decreases
Solution Approach 1:
The patent applies preliminary action by placing and binning all primitives into screen space tiles before the shading passes begin. This pre-processing step allows the same primitive data to be reused across multiple shading passes without re-placing or re-binning, thereby maintaining shading quality while significantly reducing the workload in subsequent passes.
Solution Approach 2:
The patent uses copying by maintaining references to the same primitive data in on-chip memory across multiple shading passes. Instead of re-processing original primitives, the system copies and reuses the already-placed primitive information, which reduces computational overhead while preserving the accuracy needed for multi-rate shading.
2Device complexity
If fixed shading rate is used, then processing is simplified, but under-sampling occurs in rapidly changing colors or over-sampling in slowly changing colors
Solution Approach 1:
The patent applies dynamics by making the shading rate adaptive rather than fixed. The system dynamically adjusts the shading rate based on the frequency of color changes detected in different regions of the screen space. Rapidly changing colors receive higher shading rates to avoid under-sampling, while slowly changing colors use lower rates to avoid over-sampling, thereby optimizing both accuracy and efficiency.
Solution Approach 2:
The patent implements local quality by applying different shading rates to different regions of the screen space based on local color variation characteristics. Instead of using a uniform shading rate across the entire image, the system evaluates color change frequency locally and applies appropriate sampling rates to specific tiles or regions, ensuring optimal quality where needed while reducing unnecessary processing elsewhere.
3Manufacturing precision
If multi-rate shading is implemented without caching, then shading accuracy improves, but primitive placement workload increases
Solution Approach 1:
The patent applies preliminary action by completing primitive placement and binning operations before the multi-rate shading passes begin. This pre-processing ensures that all primitives are correctly positioned in screen space tiles with appropriate bin indices stored, allowing subsequent shading passes to simply replay the same primitive data at different rates without repeating the costly placement operations.
Solution Approach 2:
The patent uses copying by storing primitive data and bin indices in on-chip memory for reuse across multiple shading passes. The system copies the essential primitive information once and then replays it at different shading rates, eliminating the need to re-place primitives and significantly reducing processing time while maintaining shading accuracy.
Data Source
AI summary
One aspect of the disclosure provides a method for rendering an image. The method includes: placing primitives of the image in a screen space; binning the primitives into tiles of the screen space that the primitives touch; and rasterizing the tiles. The aforementioned rasterizing includes shading a subset of the primitives binned to one of the tiles over multiple passes at multiple shading rates, each of the shading rates is based at least on a frequency at which a color being shaded at each pass changes across the screen space, and the subset of the primitives are cached in an on-chip memory of a processor rendering the image between the passes.


