Parallel Culling Shaders in Dual Pipeline Graphics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Culling algorithms in graphics processing result in performance overhead due to the need for extra processing, despite ultimately improving performance by eliminating unnecessary graphical elements.

Innovation Solution

Executing culling shaders in parallel with higher frequency operations on a dual pipeline architecture, utilizing unused slots in a lower frequency pipe to minimize overhead, and interleaving scalar and vector code to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If culling algorithms are implemented to eliminate unnecessary graphical elements, then processing efficiency is improved by avoiding unnecessary work, but performance overhead occurs due to extra processing requirements

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidperformance overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The culling shader performs preliminary evaluation of whether graphical elements need to be processed before the main pixel shading operations. By determining in advance which tiles or primitives should be culled (eliminated), the system avoids performing unnecessary pixel shading work, thus improving overall processing efficiency while the preliminary culling check itself is executed using unused pipeline slots to minimize time loss

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a temporal dimension by executing culling operations in parallel with pixel shading operations across different pipeline stages. The culling shader runs in unused slots of the same pipeline or parallel pipelines, allowing the culling decision for future frames or tiles to be made concurrently with the rendering of current content, effectively hiding the overhead time within otherwise idle processing windows

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

2Reliability

If culling shaders are executed sequentially before pixel shading, then culling decisions can be made, but processing time increases due to serial execution

Engineering Contradiction:
Improveculling decision accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system maintains continuous utilization of the graphics pipeline by filling unused slots with culling shader executions. Instead of having idle pipeline periods, the culling operations are scheduled to run during otherwise wasted cycles, ensuring that the pipeline remains continuously productive. This approach preserves the reliability of sequential culling decisions while eliminating the time penalty through overlapping execution with other pipeline operations

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements dynamic scheduling of culling operations based on pipeline availability. Rather than rigidly executing culling before shading in all cases, the system adaptively places culling shaders in unused pipeline slots wherever opportunities arise, making the execution timing flexible and responsive to actual hardware utilization patterns, thus reducing overall processing time while maintaining decision accuracy

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9390539B2Performing parallel shading operations
Publication Date: 2016.07.12 INTEL CORP
  • US9390539B2 patent drawing
  • US9390539B2 patent drawing
  • US9390539B2 patent drawing

AI summary

A graphics processing pipeline may include at least two or more pipes, such that a lower frequency operation may be executed on one pipe while a higher frequency operation in the same instruction stream is executed at the same time on another pipe. In some cases, the lower frequency operation result may be held for later use in connection with the higher frequency operation on a different pipe. Especially where unused slots can be used for the lower frequency operation, efficiency may be improved.