Vertex Shader Redundancy Detection for Graphics Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems incur unnecessary memory traffic, usage, and power consumption due to the generation and storage of redundant vertex shader output values, particularly in cases where the output is a direct copy of the input attribute value.

Innovation Solution

Implementing a method to recognize when a vertex shader output attribute value is a copy of the input attribute value and controlling the vertex shader to not generate this copy, allowing subsequent processing stages to use the original input attribute value instead, thereby reducing memory traffic and power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the vertex shader generates output attribute values for all vertices, then the completeness of processing is improved, but memory traffic and power consumption increase due to redundant copy operations

Engineering Contradiction:
Improvecompleteness of processingVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically changes the processing parameter by detecting whether a vertex shader output attribute is a copy of an input attribute. When a copy is detected, the system alters the processing flow to skip generating the redundant output, thereby reducing power consumption while maintaining processing completeness for non-copy attributes

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of processing all vertex shader outputs uniformly, the system applies partial action by selectively skipping the generation of copy attributes. This partial processing approach reduces unnecessary power consumption while ensuring that only the essential non-copy attributes are fully processed and stored

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If the vertex shader generates and stores all output attribute values, then data availability for subsequent stages is improved, but memory usage and traffic increase due to redundant storage

Engineering Contradiction:
Improvedata availabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system extracts and identifies copy attributes from the vertex shader output set. By separating copy attributes from non-copy attributes, the system removes the unnecessary storage of redundant data, thereby reducing memory usage while maintaining data availability for subsequent processing stages through alternative data sources

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system discards the generation and storage of copy output attributes since they are redundant. The information is recovered by having subsequent processing stages directly access the original input attribute values, eliminating the need to store duplicate data while maintaining full data availability

Inventive Principle:
Principle #34Discarding and recovering

3Manufacturing precision

If the graphics processing system processes all vertex attributes through the vertex shader, then processing thoroughness is improved, but overall processing efficiency decreases due to unnecessary operations

Engineering Contradiction:
Improveprocessing thoroughnessVSAvoidprocessing efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system performs preliminary detection of copy attributes before the vertex shader executes. By identifying which output attributes will be copies of input attributes in advance, the system can prepare alternative processing paths that skip unnecessary operations, thereby improving processing efficiency without compromising thoroughness for non-copy attributes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the processing flow based on the detected attribute types. For copy attributes, the processing path is dynamically shortened by skipping generation and storage operations. For non-copy attributes, the full processing path is executed, ensuring processing thoroughness is maintained where needed while improving overall efficiency

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9818218B2Graphics processing
Publication Date: 2017.11.14 ARM LTD
  • US9818218B2 patent drawing
  • US9818218B2 patent drawing
  • US9818218B2 patent drawing

AI summary

A graphics processor includes a vertex shader 20 that processes input attribute values from a vertex buffer 26 to generate output vertex shaded attribute values 28 to be used by a rasterizer/fragment shader 22 of the graphics processor when processing an image for display. The system recognizes when a vertex shader output attribute value to be generated from a vertex shader input attribute value by the vertex shader 20 will be a copy of the vertex shader input attribute value from which it is to be generated. In this event, the vertex shader 20 does not generate the copy vertex shader output attribute value, but the rasterizer/fragment shader 22 instead processes the corresponding vertex shader input attribute value in place of the copy vertex shader output attribute value that would otherwise have been generated by the vertex shader 20.