Rasterization Partial Span Identification for MSAA Block Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing techniques require evaluating a large number of 4×4 pixel subsets during multi-sampling anti-aliasing, leading to increased power consumption and chip area usage, as they check for fully covered, void, or partial subsets, without efficiently reducing the number of blocks to be calculated.

Innovation Solution

The proposed solution reduces the number of 4×4 blocks to be evaluated by identifying the maximum number of partial blocks, utilizing the property that only a small set of spans are partial, and employing symmetry to reduce the number of comparisons, thereby calculating only partial spans, which significantly decreases the number of blocks that must be calculated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all 4×4 pixel subsets are evaluated to determine fully covered, void, or partial subsets during multi-sampling anti-aliasing, then rendering accuracy is maintained, but the number of calculations increases leading to higher power consumption and chip area usage

Engineering Contradiction:
Improverendering accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by stationary object

Solution Approach 1:

The patent extracts and identifies only the partial spans from the set of all spans, recognizing that only partial spans require detailed 4×4 block evaluation. By separating partial spans from fully covered and void spans, the method evaluates only the necessary blocks rather than all blocks, thereby reducing power consumption while maintaining rendering accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by evaluating only the necessary portion of blocks (those corresponding to partial spans) rather than all blocks. This selective evaluation approach performs exactly the required calculations without excessive computation, reducing power consumption while sufficient rendering accuracy is maintained.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If all 4×4 pixel subsets are evaluated during multi-sampling anti-aliasing, then complete coverage information is obtained, but the chip area required increases

Engineering Contradiction:
Improvecoverage information completenessVSAvoidchip area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent extracts only the partial spans that require detailed evaluation, separating them from spans that are fully covered or void. This extraction allows the system to maintain complete coverage information for partial spans while avoiding the need to evaluate all spans, thereby reducing the chip area required for the rasterization circuitry.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs partial evaluation of only those blocks that contain partial spans, rather than evaluating all blocks. This partial action approach maintains complete coverage information where needed while reducing the overall chip area by eliminating unnecessary evaluation circuits for fully covered and void spans.

Inventive Principle:
Principle #16Partial or excessive action

3Use of energy by stationary object

If the number of 4×4 blocks to be calculated is reduced by identifying maximum partial blocks, then power consumption and die area are reduced, but the complexity of determining partial spans increases

Engineering Contradiction:
Improvepower consumptionVSAvoidcomplexity of determining partial spans
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-calculating and storing the maximum number of partial spans for different primitive types and MSAA configurations. This pre-computation is done during design or initialization, allowing the runtime system to simply lookup and use these pre-determined values without complex real-time calculations, thus reducing power consumption without significantly increasing runtime complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies preliminary action by pre-determining the maximum number of partial blocks that can exist for given primitive types and MSAA types. This information is prepared in advance and stored, enabling the system to quickly identify and evaluate only the necessary blocks during rendering, reducing power consumption while avoiding complex runtime analysis.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If only partial spans are calculated instead of all spans, then the number of cycles required to process data is reduced, but the complexity of identifying partial spans increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcomplexity of identifying partial spans
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses preliminary action by pre-calculating the maximum number of partial spans for different primitive types and MSAA configurations. This pre-computation allows the system to quickly identify partial spans during rendering without complex real-time calculations, thereby reducing processing cycles while managing complexity through advance preparation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating simplified representations or lookup tables of partial span information that can be quickly referenced during rendering. Instead of performing complex real-time analysis, the system copies pre-computed partial span data into easily accessible formats, enabling fast identification of partial spans and reducing processing cycles.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10269154B2Rasterization based on partial spans
Publication Date: 2019.04.23 INTEL CORP
  • US10269154B2 patent drawing
  • US10269154B2 patent drawing
  • US10269154B2 patent drawing

AI summary

A pixel input is divided into blocks. The a number of blocks is determined based on the maximum number of partial spans. Finally, the blocks are rasterized.