Programmable blending in multi-threaded processing units
AssigneeNVIDIA Corporation
InventorsRui BASTOS, Mark J. Kilgard, William Craig McKnight, Jerome F. Duluk, Pierre Souillot, Dale L. Kirkland, Christian Amsinck, Joseph Detmer, Christian Rouet, Don Bittel
Life of this patent
Estimating the term…
Abstract
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.
Claims27
A method for performing a programmable blend operation, the method comprising:
- receiving source pixel data and destination pixel data for processing;
- determining whether a first blend operation is required based on whether an early-out condition exists;
- and
- if the early-out condition does not exit, and a first blend operation is required, then performing the first blend operation based on the source pixel data and destination pixel data to generate a first blend result, or if the early-out condition exists, and a first blend operation is not required, then performing a by-pass operation and storing the source pixel data or destination pixel data to a render target.
-3. (canceled)
The method of claim 23, wherein the second blend operation is also based on at least a value from a temporary variable array or a recent blend result register.
(canceled)
(canceled)
A graphics processing unit, comprising:
- a blend unit configured to perform a programmable blend operation by:
- receiving source pixel data and destination pixel data for processing determining whether a first blend operation is required based on whether an early-out condition exists;
- and
- if the early-out condition does not exit, and a first blend operation is required, then performing the first blend operation based on the source pixel data and destination pixel data to generate a first blend result, or
- if the early-out condition exists, and a first blend operation is not required, then performing a by-pass operation and storing the source pixel data or destination pixel data to a render target.
-13. (canceled)
The graphics processing unit of claim 26, wherein the second blend operation is also based on at least a value from a temporary variable array or a recent blend result register.
(canceled)
(canceled)
A computing device, comprising:
- a graphics processing unit (GPU) having a blend unit configured to perform a programmable blend operation by:
- receiving source pixel data and destination pixel data for processing;
- determining whether a first blend operation is required based on whether an early-out condition exists;
- and
- if the early-out condition does not exit, and a first blend operation is required, then performing the first blend operation based on the source pixel data and destination pixel data to generate a first blend result, or
- if the early-out condition exists, and a first blend operation is not required, then performing a by-pass operation and storing the source pixel data or destination pixel data to a render target;
- and
- a central processing unit (CPU) coupled to the GPU and configured to cause the GPU to perform the programmable blend operation by:
- receiving an application programming interface call requesting the programmable blend operation;
- and
- transmitting the sequence of instructions to the blend unit within the GPU.
Dependencies are inferred from the claim text.