Tile Rasterization Depth Buffering for Hidden Surface Removal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Tile-based rendering (TBR) graphics processing systems face significant bandwidth requirements due to the need for transferring transformed geometry data between the chip and off-chip memory, and frequent reads and writes of depth buffers during the rasterization phase, which can be resource-intensive.

Innovation Solution

Implement a hybrid rendering technique combining TBR with immediate mode rendering, using partial display lists and on-chip memory for transformed primitives, and incorporating coarse depth test logic to reduce the number of depth buffer reads and writes by performing coarse depth tests before full resolution hidden surface removal.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If full resolution depth testing is performed for every primitive fragment, then hidden surface removal accuracy is improved, but processing time and computational resources increase

Engineering Contradiction:
Improvedepth testing accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The processing is segmented into two distinct phases: coarse depth testing at reduced resolution for all primitive fragments, and fine depth testing at full resolution only for fragments that pass the coarse test. This segmentation allows the system to quickly eliminate obvious failures while maintaining accurate depth testing where needed, resolving the contradiction between comprehensive accuracy and processing efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing full resolution depth testing on all fragments (excessive action), the system performs partial depth testing at reduced resolution for all fragments, then applies full resolution testing only to the subset of fragments that require it. This partial action approach maintains necessary accuracy while significantly reducing overall processing time

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If reduced resolution depth testing is used for all primitive fragments, then processing speed is improved, but hidden surface removal accuracy deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoiddepth testing accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The depth testing process is divided into two resolution levels: an initial coarse pass at reduced resolution for all fragments, and a subsequent fine pass at full resolution for selected fragments. This segmentation enables the system to achieve high processing speed in the first pass while ensuring accuracy is maintained in the second pass for fragments that require it

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different quality levels of depth testing are applied to different fragments based on their specific needs. Fragments that fail the coarse test are discarded with reduced resolution testing, while fragments that pass are subjected to full resolution testing. This local differentiation of quality ensures processing speed is maximized where possible while accuracy is maintained where necessary

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP4250237B1Primitive fragment processing in the rasterization phase of a graphics processing system
Publication Date: 2026.05.06 IMAGINATION TECH LTD
  • EP4250237B1 patent drawingFigure 1
  • EP4250237B1 patent drawingFigure 2
  • EP4250237B1 patent drawingFigure 3

AI summary

Hidden surface removal logic and methods for performing full resolution depth testing in a graphics processing system in which a rendering space is subdivided into a plurality of tiles and each tile comprises a plurality of pixel samples. The hidden surface removal logic is configured to: receive a primitive fragment of a set of primitive fragments associated with a tile of the plurality of tiles, the primitive fragment corresponding to a pixel sample of the tile; receive information indicating whether the primitive fragment requires a depth buffer read for full resolution hidden surface removal; if the primitive fragment is a first primitive fragment in the set, initialize a current best depth value buffer for the tile and a depth value update map for the tile, wherein the current best depth value buffer for the tile comprises a depth value for each pixel sample of the tile, the depth value update map indicates which values of the current best depth value buffer have been updated, and the depth value update map is initialized to indicate that no depth values in the current best depth value buffer have been updated; determine whether the primitive fragment has a best depth value for the pixel sample corresponding to the primitive fragment according to a depth compare mode; and in response to determining that the primitive fragment has the best depth value for the pixel sample corresponding to the primitive fragment, update the depth value for that pixel sample in the current best depth value buffer with the depth of the primitive fragment, and update the depth value update map to indicate that the depth value for that pixel sample has been updated; wherein, when the first primitive fragment does not require a depth buffer read, initializing the current best depth value buffer comprises initializing each depth value in the current best depth value buffer to a worst depth value according to the depth compare mode, and, when the first primitive fragment requires a depth buffer read, initializing the current best depth value buffer comprises initializing each depth value in the current best depth value buffer to the corresponding depth value in the depth buffer for the tile..