Variable Rate Shading for GPU Fragment Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer graphics systems face inefficiencies in processing power and memory usage due to constant sampling rates across entire frames, especially with increasing pixel density and display resolution, particularly in mobile devices like the HOLOLENS holographic headset, necessitating more efficient graphics processing methods.

Innovation Solution

Implementing a method in graphics processing units (GPUs) to dynamically vary fragment shading rates based on sampling rate parameters for different regions of primitives, allowing for on-the-fly adjustment of shading rates according to the level of detail, screen-space position, and object complexity, thereby reducing the amount of shading and texturing work required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If constant sampling rate is used for entire frame, then high-fidelity image quality is maintained, but processing power and memory usage increase significantly

Engineering Contradiction:
Improveimage qualityVSAvoidprocessing power
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The patent applies different sampling rates to different regions of the image based on their importance. Critical regions (containing important visual information) use higher sampling rates to maintain quality, while non-critical regions use lower sampling rates to reduce processing load. This resolves the contradiction by making image quality adaptive rather than uniform.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent divides the image into multiple regions and applies different processing strategies to each region. By segmenting the frame processing into region-specific operations, the system can allocate processing power selectively, maintaining high quality where needed while reducing overall computational demands.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If per-pixel rate shading is performed, then high-fidelity images are achieved, but processing power and memory usage increase

Engineering Contradiction:
Improveimage fidelityVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs shading operations at different rates for different regions. Important regions receive full per-pixel shading treatment, while less important regions use reduced-rate shading. This local differentiation maintains image fidelity in critical areas while improving overall processing efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent dynamically adjusts the shading rate based on region importance and content characteristics. Rather than using a static per-pixel shading approach throughout the entire frame, the system adapts the shading rate locally, achieving high fidelity where needed while optimizing processing efficiency elsewhere.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If constant sampling rate is used, then processing is simplified, but processing power consumption increases

Engineering Contradiction:
Improveprocessing complexityVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent introduces region-based sampling rate differentiation, which adds some complexity to processing but dramatically reduces power consumption. The system identifies critical regions and applies appropriate sampling rates, accepting localized complexity increases to achieve overall energy efficiency gains.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10546412B2Variable rate shading
Publication Date: 2020.01.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10546412B2 patent drawing
  • US10546412B2 patent drawing
  • US10546412B2 patent drawing

AI summary

Methods and devices for rendering graphics in a computer system include a graphical processing unit (GPU) with a flexible, dynamic, application-directed mechanism for varying the rate at which fragment shading is performed for rendering an image to a display. In particular, the described aspects allow different shading rates to be used for different regions of a primitive based on a new, interpolated shading rate parameter. In other words, the described aspects enable the GPU to change shading rates on-the-fly between different fragments of each primitive. Additionally, or independently, the GPU utilizes each respective shading rate parameter to determine how many sample positions to consider to be covered by the computed shaded output, e.g., the fragment color, thereby allowing the color sample to be shared across two or more pixels.