Programmable Depth Stencil Shader for Graphics Pipeline Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In 3D graphics rendering, late depth stencil operations lead to redundant pixel shader work and serialization issues, particularly when rendering geometry far from the viewpoint, resulting in inefficiencies and stalls in the pixel shading pipeline.

Innovation Solution

A programmable depth stencil shader is introduced to optimize the graphics pipeline by allowing early depth stencil tests, reducing redundant work and serialization, and enabling concurrent execution of pixel shaders for triangles rendering at the same location without waiting for previous results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If depth stencil tests are performed before pixel shader execution (early depth stencil), then redundant pixel shader work is avoided, but pixel shader must execute to produce depth stencil values in late depth stencil scenarios

Engineering Contradiction:
Improverendering efficiencyVSAvoidpipeline stall time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs depth stencil tests before pixel shader execution by introducing a depth stencil shader that executes in the geometry shader stage. This preliminary action allows the pipeline to cull fragments early based on depth/stencil criteria without waiting for pixel shader completion, thus improving rendering efficiency while minimizing pipeline stalls through proactive testing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a depth stencil shader as an intermediary component between the geometry shader and pixel shader stages. This mediator performs depth stencil evaluation using vertex attributes and intermediate geometry data, enabling early culling decisions without requiring full pixel shader execution, thereby resolving the contradiction between early testing and depth value availability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If pixel shader execution is serialized to ensure correct depth stencil testing, then rendering accuracy is maintained, but pipeline performance deteriorates due to stalls

Engineering Contradiction:
Improverendering accuracyVSAvoidpipeline throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the depth stencil testing function from the pixel shader execution by implementing a separate depth stencil shader stage. This segmentation allows depth stencil operations to be performed independently on geometry data before pixel shading, enabling parallel processing paths that maintain rendering accuracy while improving pipeline throughput through reduced serialization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By performing depth stencil evaluation in advance during the geometry shader stage rather than after pixel shader execution, the patent eliminates the need for serialized waiting. The preliminary depth stencil results enable early fragment culling, maintaining accuracy while allowing subsequent pixel shaders to execute in parallel without stalls

Inventive Principle:
Principle #10Preliminary action

3Productivity

If redundant vertex processing is avoided by processing in world space, then vertex processing efficiency is improved, but redundant depth stencil and pixel work remains

Engineering Contradiction:
Improvevertex processing efficiencyVSAvoidredundant pixel shader work
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent shifts the depth stencil testing from traditional screen-space coordinates to world-space coordinates by utilizing vertex attributes transformed through the model-view-projection matrix. This dimensional change allows depth stencil evaluation to occur in world space alongside vertex processing, enabling early culling of geometry that would otherwise require full pixel shader execution, thus eliminating redundant work across all processing stages

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10573055B2Apparatus and method for a programmable depth stencil graphics pipeline stage
Publication Date: 2020.02.25 INTEL CORP
  • US10573055B2 patent drawing
  • US10573055B2 patent drawing
  • US10573055B2 patent drawing

AI summary

An apparatus and method for programmable depth stencil pipeline stage and shading. For example, one embodiment of a graphics processing apparatus comprises: a rasterizer to generate a plurality of pixel blocks, one or more of which overlap one or more primitives; programmable depth stencil circuitry to perform depth stencil tests on the pixels which overlap the one or more primitives to identify pixels which pass the depth stencil tests; and thread dispatch circuitry to dispatch pixel shader threads to perform pixel shading operations on those pixels which pass the depth stencil tests, the thread dispatch circuitry including thread dispatch recombine logic to combine pixels which have passed the depth stencil test from multiple pixel blocks into a set of pixel shader threads to be executed concurrently on single instruction multiple data (SIMD) hardware.