Primitive Assembly Circuit Handling Index Restart Sequences

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveflexibility in primitive definitionVSAvoiddifficulty of identifying complete primitives
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If sequential processing methods are used to accurately identify complete primitives with primitive restarts, then measurement precision is improved, but productivity decreases

Engineering Contradiction:
Improveaccuracy of primitive identificationVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If complex processing logic is implemented to handle primitive restarts accurately, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveaccuracy of primitive processingVSAvoidcomplexity of processing circuit
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11288850B1Identifying primitives and vertices to be rendered when rendering an output in a graphics processing system
Publication Date: 2022.03.29 ARM LTD
  • US11288850B1 patent drawing
  • US11288850B1 patent drawing
  • US11288850B1 patent drawing

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.