Graphics Buffer Tiling for Stencil Operation Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in rendering three-dimensional scenes due to unnecessary computations caused by occluded objects, particularly when dealing with overlapping objects and shadows, which prolong the rendering process and waste processing power.

Innovation Solution

The implementation of hierarchical stenciling and Z-buffering techniques that partition the buffer into tiles, allowing for early determination of occlusions and stencil operations, thereby bypassing detail rasterization for fully covered tiles and reducing computational load by compressing stencil values into single values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hierarchical stenciling and Z-buffering techniques are implemented to partition the buffer into tiles, then rendering speed is improved by bypassing detail rasterization for fully covered tiles, but device complexity increases due to the need for additional hierarchical test modules and buffer management structures

Engineering Contradiction:
Improverendering speedVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The buffer is partitioned into multiple tiles, allowing the rendering system to process and evaluate smaller regions independently. This segmentation enables the hierarchical stenciling and Z-buffering techniques to operate on tile-level data, identifying fully covered tiles that can bypass detailed rasterization, thereby improving rendering speed while managing complexity through localized processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary hierarchical stencil tests and Z-buffer comparisons at the tile level before committing to full rasterization. By pre-evaluating whether tiles are fully covered and can be culled or rendered with simplified operations, the system avoids unnecessary detailed processing, thus enhancing productivity without proportionally increasing device complexity.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If stencil operations are performed on fully covered tiles after determining primitive coverage, then rendering accuracy is improved by correctly handling occluded pixels, but processing time increases due to additional computational steps

Engineering Contradiction:
Improverendering accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system applies stencil operations selectively only to tiles that are fully covered by primitives and pass the hierarchical tests, rather than performing operations on all tiles. This partial action approach ensures rendering accuracy is maintained for visible pixels while avoiding unnecessary processing time consumption on tiles that will be culled or require minimal processing.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Different processing strategies are applied to different tiles based on their coverage characteristics. Fully covered tiles undergo hierarchical stencil tests and appropriate rendering operations, while partially covered or occluded tiles are handled differently. This local quality approach ensures accuracy where needed while minimizing processing time in regions where full precision is not required.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8184117B2Stencil operations
Publication Date: 2012.05.22 ADVANCED MICRO DEVICES INC
  • US8184117B2 patent drawing
  • US8184117B2 patent drawing
  • US8184117B2 patent drawing

AI summary

Described are a video graphics system, graphics processor, and methods for rendering three-dimensional objects. A buffer is partitioned into tiles of pixels. Each pixel of each tile includes at least one sample. A primitive is received and determined to cover fully one of the tiles. A section of the primitive that maps to the fully covered tile is tested to determine if every sample within the fully covered tile is to undergo the same stencil operation. The stencil operation is performed on the fully covered tile in the buffer if every sample within the fully covered tile is to undergo the same stencil operation.