Programmable Blend Operations in GPU Color Raster Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional graphics processing units (GPUs) are unable to efficiently render complex blend modes required by graphics rendering standards like OpenVG, SVG, and Adobe Flash, as they rely on fixed-function sum of two products circuits, leading to performance issues compared to central processing units (CPUs).
Innovation Solution
Implementing a programmable blend operation within the GPU that decomposes complex blend modes into a series of simple blend passes, using a sequence of instructions to perform arbitrary blend operations, allowing for efficient rendering of graphics content by a graphics processing unit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fixed-function sum of two products circuit is used in the CROP unit, then the hardware implementation is simple, but complex blend modes required by graphics rendering standards cannot be implemented
Solution Approach 1:
The complex blend operation is segmented into multiple simple blend passes, where each pass uses a basic sum of two products circuit. The CROP unit executes a sequence of these simple passes to achieve complex blend modes, maintaining hardware simplicity while expanding functionality.
Solution Approach 2:
The CROP unit is made dynamically programmable by introducing an instruction cache and instruction memory that allow the blend operation sequence to be configured at runtime. This enables the same hardware to adapt to different complex blend modes by loading different instruction sequences.
2Adaptability or versatility
If a fragment shader is programmed to implement complex blend modes, then programmability is achieved, but read and write latency to frame buffer memory cripples rendering performance
Solution Approach 1:
The blending operation is extracted from the fragment shader and moved to the CROP unit. This allows the computationally intensive blend operations to be performed closer to the frame buffer memory, reducing memory access latency and improving rendering throughput while maintaining programmability through instruction sequences.
Solution Approach 2:
An instruction cache and instruction memory are introduced as intermediaries between the fragment shader output and the frame buffer memory. These intermediaries allow the CROP unit to execute complex blend operations locally without requiring frequent reads and writes to the main frame buffer memory, thus reducing latency.
3Reliability
If CPU is used to render graphics content with complex blend modes, then correct rendering is achieved, but processing throughput is insufficient compared to GPU
Solution Approach 1:
The GPU's CROP unit is given universal capability to handle both simple and complex blend modes through programmable instruction sequences. This allows the GPU to maintain its high parallel processing throughput while correctly rendering various complex blend modes that were previously only achievable on CPU.
Data Source
AI summary
A technique for efficiently rendering content reduces each complex blend mode to a series of basic blend operations. The series of basic blend operations are executed within a recirculating pipeline until a final blended value is computed. The recirculating pipeline is positioned within a color raster operations unit of a graphics processing unit for efficient access to image buffer data.


