Shader Buffer Identification for Graphics Rendering Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing rendering methods in graphics processing systems face inefficiencies due to high external memory bandwidth consumption, particularly in mobile devices, where the energy cost of reading data from external memory reduces battery life and generates heat.

Innovation Solution

The proposed method involves analyzing shaders in a graphics system to identify buffers sampled by the last shader that are to be written by a previous render. If these buffers are sampled using screen space coordinates corresponding to the current fragment location, the draw call is merged with the previous render, and the shader is recompiled to read from on-chip registers instead of external memory buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is read from external memory buffers during rendering, then rendering operations can access previously rendered data, but external memory bandwidth consumption increases and power consumption rises

Engineering Contradiction:
Improveaccess to previously rendered dataVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges the current render with the previous render by detecting that the current shader samples from buffers written by the previous shader. This merging allows the system to execute both renders together, eliminating the need to read data from external memory buffers and instead using on-chip memory, thereby reducing power consumption while maintaining access to previously rendered data

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary analysis of shader code to identify sampling operations on buffers written by previous renders. By detecting these dependencies before rendering execution, the system can proactively merge renders and recompile shaders to use on-chip memory, preventing external memory accesses and reducing power consumption before they occur

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is read from external memory buffers during rendering, then rendering operations can access previously rendered data, but external memory bandwidth consumption increases

Engineering Contradiction:
Improveaccess to previously rendered dataVSAvoidexternal memory bandwidth usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the current render with the previous render by detecting that the current shader samples from buffers written by the previous shader. This merging allows the system to execute both renders together, eliminating the need to read data from external memory buffers and instead using on-chip memory, thereby reducing power consumption while maintaining access to previously rendered data

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary analysis of shader code to identify sampling operations on buffers written by previous renders. By detecting these dependencies before rendering execution, the system can proactively merge renders and recompile shaders to use on-chip memory, preventing external memory accesses and reducing power consumption before they occur

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If shaders are recompiled to read from on-chip registers instead of external memory buffers, then power consumption decreases, but system complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidshader compilation complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of shader code to identify sampling operations on buffers written by previous renders. By detecting these dependencies before rendering execution, the system can proactively merge renders and recompile shaders to use on-chip memory, preventing external memory accesses and reducing power consumption before they occur

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary analysis layer that examines shader code to detect buffer sampling operations. This intermediary layer identifies opportunities for render merging and shader recompilation, acting as a mediator between the shader compilation process and the rendering execution, thereby managing the complexity of determining when and how to recompile shaders while achieving power consumption reductions

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250069317A1Controlling rendering operations by shader buffer identification
Publication Date: 2025.02.27 IMAGINATION TECH LTD
  • US20250069317A1 patent drawing
  • US20250069317A1 patent drawing
  • US20250069317A1 patent drawing

AI summary

Methods of rendering a scene in a graphics system identify a draw call within a current render and analyse the last shader in the series of shaders used by the draw call to identify any buffers that are sampled by the last shader and that are to be written by a previous render that has not yet been sent for execution on the GPU. If any such buffers are identified, further analysis is performed to determine whether the last shader samples from the identified buffers using screen space coordinates that correspond to a current fragment location and if this determination is positive, the draw call is added to data relating to the previous render and the last shader is recompiled to replace an instruction that reads data from an identified buffer with an instruction that reads data from an on-chip register.