Binning Unit Coarse Depth Culling for GPU Overdraw Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional graphics processing units (GPUs) face inefficiencies in coarse depth culling, leading to overdraw and unnecessary processing of occluded primitives and pixels, particularly in mobile and tile-based deferred rendering systems, due to the lack of visibility-based culling and reliance on spatial sorting.
Innovation Solution
An augmented binning unit that performs coarse depth culling during the binning process, using a rasterizer to generate pixel coverage and depth information, and includes local and global culling stages to eliminate occluded primitives and pixels, thereby reducing the workload for subsequent color passes and minimizing memory bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional binning is used for spatial sorting, then primitives can be organized by tile, but visibility-based culling is not achieved leading to overdraw
Solution Approach 1:
The patent performs preliminary depth evaluation during the binning phase before actual rendering. By generating depth information and performing depth culling during binning, the system identifies and eliminates occluded primitives in advance, preventing overdraw and wasted rendering operations on hidden surfaces.
Solution Approach 2:
The patent introduces an intermediary depth buffer and depth evaluation mechanism between the binning stage and the rendering stage. This intermediary structure enables visibility-based culling by comparing primitive depths against the depth buffer, allowing the system to filter out occluded primitives before they reach the pixel shader stage.
2Reliability
If all primitives are processed through vertex shading and rasterization, then complete coverage is achieved, but resources are wasted on completely occluded primitives
Solution Approach 1:
The patent performs preliminary depth-based filtering during binning before primitives undergo expensive vertex shading and rasterization operations. By evaluating depth information early in the pipeline and culling occluded primitives at the binning stage, the system avoids wasting computational resources on primitives that will not contribute to the final image.
Solution Approach 2:
The patent extracts and evaluates depth information from primitives during binning, separating the depth evaluation function from the main rendering pipeline. This extracted depth information is then used to identify and remove occluded primitives before they enter the full rendering process, reducing unnecessary computational work.
3Productivity
If depth buffer is maintained for culling quads, then hidden surface removal is achieved, but buffer size is limited and cannot handle complex scenes
Solution Approach 1:
The patent segments the depth evaluation process into multiple stages: binning-stage depth evaluation, tile-stage depth evaluation, and pixel-stage depth evaluation. This segmentation allows depth culling to occur at multiple levels with progressively finer granularity, enabling effective hidden surface removal without requiring a single large buffer to handle all depth comparisons simultaneously.
Solution Approach 2:
The patent adds a temporal dimension to depth buffer management by maintaining depth information across different rendering stages and passes. By evaluating depth at multiple points in the rendering pipeline (during binning, during tile rendering, and during pixel shading), the system achieves comprehensive culling without being constrained by buffer size at any single stage.
Data Source
AI summary
Inventive aspects include a binning unit for coarse depth culling during binning of pixel geometries. The binning unit includes a rasterizer to receive primitives, and generates pixel coverage information and depth information. The binning unit includes one or more local culling stages to perform local culling within a window of primitives. The local culling unit outputs a set of surviving coverage and surviving depth information. The binning unit includes one or more global culling stages to use the set of the surviving coverage and the surviving depth information to further cull based on an entirety of previously received coverage information and depth information.


