MSAA Plane Allocation with Lossless Compression for Render Targets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in bandwidth consumption and data storage when implementing multi-sampling anti-aliasing (MSAA), particularly due to the need for pre-allocating multiple memory planes for each pixel, which can be resource-intensive and wasteful.

Innovation Solution

The proposed solution involves a progressive allocation of MSAA planes, where planes are allocated only as needed based on the number of distinct colors for each pixel, using a multisample control surface to map sample data to the appropriate planes, reducing unnecessary memory allocation and improving bandwidth efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple memory planes are pre-allocated for each pixel in MSAA, then sufficient storage capacity is ensured, but memory bandwidth consumption and system resources increase significantly

Engineering Contradiction:
Improvememory storage capacityVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent implements dynamic allocation of MSAA planes where the number of planes allocated to each pixel is adjusted based on the actual number of distinct colors in that pixel's sample data. This dynamic approach allows the system to allocate resources flexibly - using more planes when needed for high-color pixels and fewer planes for low-color pixels, thereby reducing overall memory bandwidth consumption while ensuring sufficient storage capacity is always available when required.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of plane allocation from a fixed pre-allocated value to a variable value determined by the actual color diversity of each pixel. By monitoring the number of distinct colors and adjusting the plane allocation parameter accordingly, the system optimizes the balance between storage capacity and bandwidth consumption, allocating exactly the right amount of memory resources for each pixel's needs.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If multiple memory planes are pre-allocated for each pixel in MSAA, then storage capacity is sufficient, but device complexity and resource overhead increase

Engineering Contradiction:
Improvememory storage capacityVSAvoidsystem resource overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where each pixel's sample data automatically determines its own plane allocation requirements through color analysis. The system counts the distinct colors in each pixel's samples and allocates planes accordingly, eliminating the need for complex external resource management. This self-determining approach reduces device complexity by allowing the data itself to drive the resource allocation decisions rather than requiring sophisticated external control mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system employs feedback mechanisms where the color data from MSAA samples is analyzed to determine the actual plane allocation needs. By continuously monitoring the number of distinct colors and using this feedback to adjust plane allocation, the system avoids over-provisioning resources. This feedback-driven approach reduces device complexity by using simple color-counting logic rather than complex resource management systems.

Inventive Principle:
Principle #23Feedback

3Loss of energy

If dynamic allocation of MSAA planes is implemented, then memory bandwidth efficiency improves, but processing complexity increases

Engineering Contradiction:
Improvememory bandwidth consumptionVSAvoidprocessing complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent segments the MSAA processing into distinct stages: color extraction from samples, distinct color counting, and plane allocation based on the count. This segmentation breaks down the complex dynamic allocation process into simple, manageable steps that can be executed efficiently. Each segment handles a specific task, making the overall processing less complex than it would appear at first glance, while still achieving the bandwidth efficiency benefits of dynamic allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism - a color counting and analysis stage - that bridges the gap between raw MSAA sample data and the final plane allocation decision. This intermediary processes the sample data to extract color information and determine allocation needs, simplifying the overall processing by creating a clear intermediate step rather than requiring complex direct mapping from samples to allocation decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9912957B1Lossless compression for multisample render targets alongside fragment compression
Publication Date: 2018.03.06 INTEL CORP
  • US9912957B1 patent drawing
  • US9912957B1 patent drawing
  • US9912957B1 patent drawing

AI summary

One embodiment provides for a general-purpose graphics processor comprising a multisample antialiasing compression module to examine a number of colors to be stored for a set of sample locations of a pixel and allocate one or more planes to store color data for the set of sample locations of the pixel and a lossless compression module to apply lossless compression on the one or more planes and update a compression status in a compression control surface for each of the one or more planes.