Redistributing Multi-Sample Workloads via Rasterized Coverage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increased processing demand and bandwidth consumption associated with multi-sampling techniques in graphics processing lead to decreased performance and higher system costs, as each pixel sample requires separate processing, resulting in inefficiencies.

Innovation Solution

The redistribution of multi-sample processing workload between threads in a parallel thread group based on rasterized coverage information, allowing inactive threads to process covered samples, thereby reducing the number of processing passes and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multi-sampling techniques are used to produce anti-aliased images, then image quality is improved, but processing demand and bandwidth consumption increase

Engineering Contradiction:
Improveimage qualityVSAvoidprocessing performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent merges the processing of multiple samples per pixel into a single processing pass by redistributing the workload across threads in a parallel thread group. Instead of processing each sample separately in multiple passes, threads are assigned to process different samples of the same pixel within one pass, combining what would have been separate operations into a unified workflow.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic workload redistribution based on rasterized coverage information. Threads are dynamically reassigned to process different samples based on which samples are actually covered by primitives, allowing the system to adapt to the specific rendering scenario and optimize processing efficiency in real-time.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If the number of samples per-pixel increases, then anti-aliasing quality is improved, but processing demand and bandwidth consumption increase

Engineering Contradiction:
Improveanti-aliasing qualityVSAvoidbandwidth consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts and processes only the covered samples that actually contribute to the final image, rather than processing all samples uniformly. By using rasterized coverage information to identify which samples are covered by primitives, the system extracts and processes only the necessary subset of samples, reducing redundant data transfer and processing.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If each processing thread processes one sample of a pixel, then sample processing is simplified, but the number of processing passes increases

Engineering Contradiction:
Improveprocessing simplicityVSAvoidnumber of processing passes
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the processing workload by dividing it among multiple threads in a parallel thread group, where each thread handles specific samples of pixels. This segmentation allows multiple samples to be processed simultaneously within a single pass, maintaining the simplicity of individual thread operations while eliminating the need for multiple sequential passes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9665958B2System, method, and computer program product for redistributing a multi-sample processing workload between threads
Publication Date: 2017.05.30 NVIDIA CORP
  • US9665958B2 patent drawing
  • US9665958B2 patent drawing
  • US9665958B2 patent drawing

AI summary

A system, method, and computer program product are provided for redistributing multi-sample processing workloads between threads. A workload for a plurality of multi-sample pixels is received and each thread in a parallel thread group is associated with a corresponding multi-sample pixel of the plurality of pixels. The workload is redistributed between the threads in the parallel thread group based on a characteristic of the workload and the workload is processed by the parallel thread group. In one embodiment, the characteristic is rasterized coverage information for the plurality of multi-sample pixels.