Hierarchical Multi-Precision Pipeline Counters for Graphics Event Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional event reporting mechanisms in graphics processing pipelines are inadequate for counting events like the Z pass pixel count, as counters at the end of the pipeline cannot account for pixels that pass the Z test but are culled before reaching the end of the pipeline.
Innovation Solution
Implementing hierarchical multi-precision pipeline counters where local counters detect events and asynchronously report counts to a global accumulation counter, allowing for precise event counting and reporting across multiple stages of the execution pipeline.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a counter is placed at the end of the pipeline for convenient reporting, then the reporting mechanism is simple, but it cannot count events that occur in intermediate stages and are culled before reaching the end
Solution Approach 1:
The patent divides the single counter function into multiple segments: local counters are placed at intermediate pipeline stages to count events locally, and a global counter at the end accumulates these local counts. This segmentation allows accurate counting of culled events while maintaining a simple reporting interface at the pipeline end.
Solution Approach 2:
The patent implements a nested counter structure where local counters (m-bit) are embedded within pipeline stages and their outputs are nested into the global counter (n-bit) at the pipeline end. The global counter accumulates counts from multiple local counters, creating a hierarchical nesting relationship that solves the counting accuracy problem while keeping the external interface simple.
2Measurement precision
If high precision counters are used throughout the pipeline to ensure accurate event counting, then measurement precision is improved, but hardware cost increases
Solution Approach 1:
The patent applies different precision levels to different parts of the system: local counters use lower precision (m-bit) sufficient for their local counting needs, while the global counter uses higher precision (n-bit) to accumulate total counts. This local quality differentiation reduces overall hardware cost while maintaining measurement accuracy through the hierarchical accumulation structure.
Solution Approach 2:
The patent merges multiple low-precision local counter outputs into a single high-precision global counter. By combining the count values from multiple m-bit local counters into an n-bit global counter (where n > m), the system achieves high overall precision without requiring each individual counter to be high-precision, thus reducing hardware cost.
3Measurement precision
If multiple local counters are used in the pipeline to count events at their respective stages, then event detection accuracy is improved, but the complexity of reporting results to the API increases
Solution Approach 1:
The patent extracts the complex task of collecting and summing counts from multiple local counters and places it in the global counter unit. The global counter automatically accumulates counts from all local counters, extracting the complexity from the reporting path and leaving a simple interface where the API only needs to read from the single global counter location.
Solution Approach 2:
The global counter acts as an intermediary between multiple local counters and the API. It receives count values from local counters, performs the accumulation operation, and presents a single simplified interface to the API. This intermediary role resolves the complexity of reporting by multiple counters to a single reporting point.
Data Source
AI summary
An event occurring in a graphics pipeline is detected and counted at the location of its occurrence using an event detector and a local counter. The event count maintained by the local counter is reported asynchronously to a global counter. The global counter is configured to be of higher precision than the local counter and is positioned at a place that is convenient for reporting the events, e.g., at the end of the graphics pipeline.


