Image Processing Device Geometry Shader Cache Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional image processing pipelines face inefficiencies when handling variable size primitives, leading to increased processing costs and memory usage due to the need for repeated processing of the same input in the geometry shader stage.
Innovation Solution
An image processing apparatus with an index buffer and geometry shader that determines whether a primitive sequence is present, storing reference values and sizes, allowing for efficient reuse of output data through a cache buffer, reducing redundant calculations and memory storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the geometry shader processes variable size primitives by reading the index buffer sequentially, then the processing algorithm can be simple, but the same input primitive may be processed multiple times increasing processing cost
Solution Approach 1:
The patent applies preliminary action by determining whether a primitive sequence has already been processed before executing the geometry shader. The determination device checks if the same vertex data sequence exists in the processed primitive records, and only processes the primitive if it hasn't been processed before. This prevents redundant processing while maintaining algorithm simplicity.
2Ease of operation
If the index buffer stores complete primitive sequences for variable size primitives, then processing can be straightforward, but memory capacity is consumed for storing duplicate primitive data
Solution Approach 1:
The patent uses copying by storing only the index sequence and primitive size information in the index buffer, rather than storing complete primitive data. The determination device copies the index sequence to identify the primitive, and the actual processing uses vertex data from the vertex buffer. This reduces memory usage while maintaining processing ease.
Solution Approach 2:
The index buffer serves multiple functions: it stores both the index sequences for vertex data and the size information for variable size primitives. The determination device uses this same buffer structure for both primitive identification and processing control, eliminating the need for separate storage structures and reducing overall memory capacity requirements.
3Adaptability or versatility
If multiple outputs of the first geometry shader stage form inputs for the second stage, then complex primitive processing is enabled, but redundant processing occurs when the same input is processed multiple times
Solution Approach 1:
The patent implements feedback by having the determination device continuously check whether a primitive sequence has already been processed before passing it to the geometry shader. The processed primitive information is fed back into the determination logic, creating a loop that prevents redundant processing. This maintains the ability to handle complex multi-stage primitive processing while reducing energy consumption by eliminating duplicate operations.
Data Source
AI summary
The present invention intends to provide an image processing apparatus that can process geometrical primitives rapidly and with restrained memory consumption. A sequence of vertex data of a primitive sequence is stored in an index buffer, and size data of the primitive is stored in the head of the sequence. The result of processing of the primitive sequence in a geometry shader is stored in a cache buffer, and a primitive output, which is the output result stored in the cache buffer, is reused in reprocessing of the primitive processed in the geometry shader.


