Primitive Assembly Circuit Handling Index Restart Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In graphics processing systems, identifying and generating complete primitives from sets of indices that contain primitive restarts is challenging due to the potential for primitive restarts to occur anywhere in the index sequence, making it difficult to determine complete primitives accurately.
Innovation Solution
A method and apparatus that process a set of indices by determining the start position of each sequence of primitives, calculating distance values to identify complete primitives, and writing out a modified version of the indices to facilitate efficient processing, utilizing a primitive assembly circuit with start index position, distance values, and primitive determining circuits to handle primitive restarts and generate complete primitives.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If primitive restarts are allowed anywhere in the index sequence to enable flexible primitive definition, then adaptability is improved, but difficulty of detecting and measuring complete primitives increases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing the start position of each sequence of primitives in a first array before processing occurs. This allows the system to have the necessary information ready in advance, enabling efficient identification of complete primitives even when primitive restarts are present anywhere in the index sequence.
Solution Approach 2:
The patent introduces intermediary data structures (the first array storing start positions and the second array storing distance values) that mediate between the raw index sequence with primitive restarts and the final identification of complete primitives. These intermediary structures bridge the gap by providing processed information that makes primitive detection straightforward.
2Measurement precision
If sequential processing methods are used to accurately identify complete primitives with primitive restarts, then measurement precision is improved, but productivity decreases
Solution Approach 1:
The patent segments the processing into distinct stages: first calculating and storing start positions in a separate array, then using those positions to calculate distance values in a second array. This segmentation allows each stage to be optimized independently and enables parallel processing within stages, improving productivity while maintaining precision.
Solution Approach 2:
By pre-calculating and storing start positions in the first array before the main processing occurs, the system eliminates the need for complex sequential analysis during primitive identification. This preliminary action enables faster, parallel processing in subsequent stages while maintaining accurate identification of complete primitives.
3Reliability
If complex processing logic is implemented to handle primitive restarts accurately, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent divides the processing logic into separate, manageable functions: storing start positions in a first array, calculating distance values in a second array, and using these values to identify complete primitives. This segmentation reduces device complexity by breaking down complex logic into simpler, modular components that can be implemented more easily.
Solution Approach 2:
The patent uses intermediary arrays (first array for start positions, second array for distance values) as mediators that simplify the processing logic. Instead of implementing complex conditional logic to handle primitive restarts, the system uses these intermediary structures to provide pre-processed information, making the overall device simpler while maintaining reliability.
Data Source
AI summary
There is disclosed a method of processing an input set of indices that may contain one or more primitive restarts to determine which indices correspond to complete primitives. A modified version of the set of indices can then be written out that contains complete primitives. In particular this is done by determining, for each index in the set of indices, the index position of the start of a sequence of indices for a sequence of primitives that the index is part of, and then determined from this whether or not the index position corresponds to the start of a complete primitive.


