Tile-Based Rendering With Variable Fragment Shading Rates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing systems face inefficiencies in handling variable fragment shading rates, particularly in tile-based systems, as they often require uniform shading rates across the entire image, which can lead to suboptimal processing efficiency and increased workload.

Innovation Solution

Implementing a graphics processing system that operates on a tile-by-tile basis, allowing for variable fragment shading rates, including coarser shading rates for groups of pixels, and efficiently combining different sources of shading rate information to optimize processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If uniform shading rates are used across the entire image, then implementation simplicity is maintained, but processing efficiency deteriorates due to suboptimal processing and increased workload

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The rendering space is subdivided into tiles, and within each tile, the image is further divided into regions with different fragment shading rates. This segmentation allows different parts of the image to be processed at different rates, improving overall processing efficiency while maintaining manageable system complexity through localized complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the image are assigned different fragment shading rates based on their specific requirements. Important regions with detailed geometry or high visual importance use higher shading rates, while less important regions use lower rates. This local differentiation optimizes processing efficiency by applying appropriate computational resources where needed without uniformly increasing complexity across the entire system.

Inventive Principle:
Principle #3Local quality

2Manufacturing precision

If higher shading sample rates are used, then image quality is improved, but processing workload increases

Engineering Contradiction:
Improveimage qualityVSAvoidprocessing workload
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system applies higher fragment shading rates selectively to regions where image quality is most important, such as areas with detailed geometry, high visual importance, or complex lighting. In regions with uniform appearance or lower visual importance, lower shading rates are used. This local quality approach maintains high image quality where needed while reducing overall processing workload.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of applying high shading rates uniformly across the entire image (excessive action), the system applies high rates only to specific regions where they are necessary (partial action). This reduces the total number of shading operations required while maintaining image quality in critical areas, thereby reducing processing workload without sacrificing necessary image quality.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If lower shading sample rates are used, then processing efficiency is improved, but image quality deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidimage quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system uses lower fragment shading rates in regions where they are acceptable, such as areas with uniform appearance, low visual importance, or simple geometry. This improves processing efficiency in those regions without significantly impacting overall image quality, as the lower rates are applied strategically rather than uniformly.

Inventive Principle:
Principle #3Local quality

4Productivity

If variable fragment shading rates are implemented, then processing efficiency is improved through selective subsampling, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system determines fragment shading rates on a per-tile basis, segmenting the rendering space into manageable units. Within each tile, different regions can have different shading rates, allowing the system to implement variable rate shading in a structured way that limits complexity growth. The geometry processing phase identifies regions of interest, and the rendering phase applies appropriate shading rates to each region, managing complexity through phased processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The geometry processing phase performs preliminary analysis to identify regions with different visual importance and geometric complexity before the rendering phase. This preliminary action allows the system to pre-determine appropriate fragment shading rates for different regions, reducing the complexity of real-time decisions during rendering. The system prepares region classifications and shading rate assignments in advance, streamlining the subsequent rendering process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4195156B1Graphics processing system and method of rendering
Publication Date: 2026.02.18 IMAGINATION TECH LTD
  • EP4195156B1 patent drawingFigure 1
  • EP4195156B1 patent drawingFigure 2
  • EP4195156B1 patent drawingFigure 3~4

AI summary

There is provided a method of rendering a scene formed by primitives in a graphics processing system. The method comprises, for a sequence of primitives: combining a pipeline fragment shading rate value and a primitive fragment shading rate value for a primitive to produce a combined fragment shading rate value for the primitive; storing fragment shading rate data representing the combined fragment shading rate value for the primitive and associating data identifying the primitive with the fragment shading rate data; determining, for a subsequent primitive, if a combined fragment shading rate value for the subsequent primitive is the same as for the preceding primitive, and if the combined fragment shading rate value for the subsequent primitive is the same as for the preceding primitive, associating data identifying the subsequent primitive with the fragment shading rate data that the data identifying the preceding primitive is associated with, and repeating the determining step for a next subsequent primitive, if there is one; or, if the combined fragment shading rate value for the subsequent primitive is not the same as for the preceding primitive, storing further fragment shading rate data representing the combined fragment shading rate value for the subsequent primitive and associating data identifying the subsequent primitive with the further fragment shading rate data; and repeating the determining step for a next subsequent primitive, if there is one.