Graphics Engine Swizzle Mode Detection for Data Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics engines face difficulties in processing and compressing unformatted source graphics data in pre-defined swizzle modes, as the data organization is undefined or unknown, leading to inefficiencies in rendering and compression.

Innovation Solution

A graphics engine determines a custom swizzle mode aligned with the data directionality to optimize delta values for compression, groups pixels in both horizontal and vertical directions, scores these groupings, and reswizzles the data into a custom mode for efficient compression by a compressor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If unformatted source graphics data is processed with pre-defined swizzle modes, then the graphics engine can handle data from unknown formats, but the compression efficiency and rendering performance deteriorate due to misaligned data organization

Engineering Contradiction:
Improvecompatibility with unknown data formatsVSAvoidcompression efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic swizzle mode detection that analyzes the actual data layout characteristics of unformatted source graphics data and adapts the swizzle mode accordingly. Instead of using a fixed pre-defined swizzle mode, the system dynamically determines the optimal swizzle mode based on detected data patterns, thereby improving compression efficiency while maintaining compatibility with various unknown data formats

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the swizzle mode parameter based on detected data characteristics. By analyzing the data organization patterns and adjusting the swizzle mode parameter to match the actual data layout, the system optimizes compression efficiency for different data formats without requiring predefined knowledge of the data structure

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If unformatted source graphics data is processed with pre-defined swizzle modes, then the graphics engine can accept diverse data inputs, but the rendering performance deteriorates due to incorrect data interpretation

Engineering Contradiction:
Improveability to process diverse data inputsVSAvoidrendering accuracy
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by detecting and determining the appropriate swizzle mode before the actual rendering process. The system analyzes the data organization characteristics of unformatted source graphics data and pre-configures the correct swizzle mode, ensuring that subsequent rendering operations interpret the data correctly and achieve optimal rendering accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback mechanisms where the detected data characteristics inform the selection of swizzle mode. By continuously analyzing data patterns and adjusting the swizzle mode based on detected features, the system ensures accurate data interpretation and rendering performance across diverse input formats

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11989918B2Swizzle mode detection
Publication Date: 2024.05.21 ATI TECHNOLOGIES ULC
  • US11989918B2 patent drawing
  • US11989918B2 patent drawing
  • US11989918B2 patent drawing

AI summary

Systems, apparatuses, and methods for converting pixel data to a custom swizzle mode are disclosed. A graphics engine receives data in a pre-defined swizzle mode. The graphics engine determines a custom swizzle mode for the data that has directionality aligned to the data itself to further optimize deltas that are used for compressing the data. The graphics engine groups incoming data into group of two neighboring pixels in both the horizontal and vertical directions. The graphics engine scores horizontal and vertical groupings against each other to make a first swizzle mode bit selection. Then the graphics engine increases the grouping of pixels to include additional pixels and scores the increased groupings against each other to make subsequent swizzle mode bit selections. The data is reswizzled into the custom swizzle mode and provided to a compressor to be compressed.