Graphics Renderer Texture Contribution Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems inefficiently handle texture layers in rendering operations, as they often fetch unnecessary texture data, leading to increased power consumption and performance degradation due to the lack of consideration for transparency and contribution weights of individual layers.

Innovation Solution

Implement a method where the graphics processor determines texture contribution control data for groups of fragments before rendering, allowing for the omission of fetching actual texture data for layers that do not contribute to the final output, using dummy values instead to maintain rendering accuracy without unnecessary data fetching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the graphics processor fetches texture data for all texture layers before rendering, then the rendering operation can proceed without checking contribution weights, but unnecessary texture data is fetched leading to increased power consumption and reduced performance

Engineering Contradiction:
Improverendering performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary evaluation of contribution control data before the actual texture fetching operation. The renderer assesses the contribution weights of each texture layer in advance, and only fetches texture data for layers that will actually contribute to the final output. This preliminary action prevents wasteful fetching of data from layers with zero or negligible contribution, thereby reducing power consumption while maintaining rendering performance.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If the graphics processor evaluates contribution control data for each fragment group, then unnecessary texture fetches are avoided, but additional processing steps are required

Engineering Contradiction:
Improveenergy waste from unnecessary fetchesVSAvoidrendering pipeline complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The contribution control data evaluation functionality is extracted as a separate, dedicated processing stage within the renderer. This extracted module specifically evaluates the contribution weights of texture layers before the main rendering pipeline proceeds. By isolating this evaluation step, the system avoids unnecessary texture fetches without significantly complicating the overall rendering pipeline, as the extracted function integrates smoothly with existing fragment processing workflows.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If texture data is fetched for all layers regardless of transparency, then the rendering operation is simpler to implement, but memory bandwidth is wasted on transparent or low-contribution layers

Engineering Contradiction:
Improveimplementation simplicityVSAvoidmemory bandwidth usage
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The system applies local quality control by evaluating and treating different texture layers differently based on their individual contribution control data. Instead of applying a uniform fetching strategy to all layers, the renderer selectively fetches texture data only for layers with non-zero contribution weights. This localized approach optimizes memory bandwidth usage by preventing waste on transparent or low-contribution layers while maintaining implementation feasibility through integration with existing fragment processing stages.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10943385B2Using textures in graphics processing systems
Publication Date: 2021.03.09 ARM LTD
  • US10943385B2 patent drawing
  • US10943385B2 patent drawing
  • US10943385B2 patent drawing

AI summary

When a renderer of a graphics processor is to perform a graphics rendering operation that uses one or more texture layers in accordance with contribution control data that controls the contribution that each texture layer makes to the rendering operation for a group of fragments, the renderer determines contribution control data for each fragment in the group, and based on the determined contribution control data, either: fetches and uses the texture data values for a texture layer for each fragment in the group from memory, or does not fetch texture data values for a texture layer for each fragment in the group from memory and instead uses a dummy value for the texture layer for each fragment in the group for the graphics rendering operation.