Vertex Shader Output Compression for GPU Data Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing bottlenecks occur due to inefficiencies in data throughput between vertex shaders and pixel shaders, limiting performance and developer control over visual parameters in the graphics pipeline.

Innovation Solution

Compressing vertex parameter values with a vertex shader, writing them to a cache, and decompressing them with a pixel shader to reduce bottlenecks and allow direct access to raw parameter values for enhanced rendering capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If vertex parameter values are transmitted uncompressed from vertex shader to pixel shader, then data accuracy is maintained, but data throughput efficiency deteriorates causing processing bottlenecks

Engineering Contradiction:
Improvedata throughput efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by transforming vertex parameter values from their original floating-point format to a compressed integer representation. This changes the data format parameters (from float to int, from high precision to reduced precision) to achieve more efficient storage and transmission. The compression scheme modifies the numerical representation while preserving the essential visual information needed for rendering, thereby improving data throughput efficiency without significantly compromising rendering quality.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If vertex parameter values are compressed to reduce data size, then cache memory usage is reduced, but data decompression complexity increases

Engineering Contradiction:
Improvedata volumeVSAvoiddecompression complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing the compression of vertex parameter values in advance during the vertex shader processing stage. The vertex parameters are compressed and stored in the cache before being needed by the pixel shader. This preliminary compression reduces the data volume that needs to be stored and transmitted, and the decompression is performed on-demand when the pixel shader needs the data, balancing the complexity trade-off.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If developers need direct access to raw parameter values for rendering, then rendering flexibility is improved, but data access efficiency deteriorates due to bottleneck limitations

Engineering Contradiction:
Improverendering control flexibilityVSAvoidprocessing throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies the intermediary principle by introducing a compression/decompression mechanism as a mediator between the vertex shader output and pixel shader input. The compressed data format acts as an intermediary representation that enables efficient cache storage and transmission while still allowing the pixel shader to access and decompress the original parameter values when needed for rendering operations. This intermediary layer resolves the conflict between throughput efficiency and access flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11232534B2Scheme for compressing vertex shader output parameters
Publication Date: 2022.01.25 SONY INTERACTIVE ENTERTAINMENT LLC
  • US11232534B2 patent drawing
  • US11232534B2 patent drawing
  • US11232534B2 patent drawing

AI summary

A graphics processing may include implementing a vertex shader and a pixel shader with a GPU. Vertex parameter values generated by the vertex shader may be stored in a memory. The pixel shader may access the vertex parameter values stored in the memory. Accessing the vertex parameter values may include disabling or bypassing hardware that performs interpolation on vertex parameter values. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.