Programmable blending in multi-threaded processing units
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G09G-005/00
G06T-001/20
G06T-015/50
G06T-011/40
출원번호
US-0723092
(2012-12-20)
등록번호
US-9183609
(2015-11-10)
발명자
/ 주소
Bastos, Rui
Kilgard, Mark J.
McKnight, William Craig
Duluk, Jr., Jerome F.
Souillot, Pierre
Kirkland, Dale L.
Amsinck, Christian
Detmer, Joseph
Rouet, Christian
Bittel, Don
출원인 / 주소
NVIDIA Corporation
대리인 / 주소
Artegis Law Group, LLP
인용정보
피인용 횟수 :
1인용 특허 :
13
초록▼
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 rast
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.
대표청구항▼
1. A computer-implemented method for performing a programmable blend operation, the method comprising: receiving source pixel data and destination pixel data for processing;mapping the source pixel data and the destination pixel data to a uniform arithmetic format;determining, via a processor, wheth
1. A computer-implemented method for performing a programmable blend operation, the method comprising: receiving source pixel data and destination pixel data for processing;mapping the source pixel data and the destination pixel data to a uniform arithmetic format;determining, via a processor, whether a first blend operation is required based on whether an early-out condition exists; andif the early-out condition does not exist, and a first blend operation is required, then performing the first blend operation based on the mapped source pixel data and mapped destination pixel data to generate a first blend result, orif the early-out condition exists, and a first blend operation is not required, then performing a by-pass operation and storing the mapped source pixel data or mapped destination pixel data to a render target. 2. The method of claim 1, wherein at least one instruction associated with the programmable blend operation specifies a reciprocal operation, a square root operation, or a piecewise-linear operation. 3. The method of claim 1, wherein at least one instruction associated with the programmable blend operation includes an input operand specified by a constant. 4. The method of claim 1, wherein the source pixel data comprises two or more samples represented by one color and a flag indicating the source pixel data is compressed. 5. The method of claim 1, wherein the early-out condition does not exist, and a first blend operation is required, and further comprising determining whether to perform a multi-pass series of blend operations or a single-pass blend operation. 6. The method of claim 5, wherein a multi-pass series of blend operations are to be performed, and further comprising performing a second blend operation subsequent to the first blend operation based on the source pixel data and destination pixel data to generate a second blend result. 7. The method of claim 6, wherein the second blend operation is also based on at least a value from a temporary variable array or a recent blend result register. 8. The method of claim 1, wherein the early-out condition exists when the source pixel data is either completely opaque or completely transparent. 9. 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;mapping the source pixel data and the destination pixel data to a uniform arithmetic format;determining whether a first blend operation is required based on whether an early-out condition exists; andif the early-out condition does not exist, and a first blend operation is required, then performing the first blend operation based on the mapped source pixel data and mapped destination pixel data to generate a first blend result, orif the early-out condition exists, and a first blend operation is not required, then performing a by-pass operation and storing the mapped source pixel data or mapped destination pixel data to a render target. 10. The graphics processing unit of claim 9, wherein at least one instruction associated with the programmable blend operation specifies a reciprocal operation, a square root operation, or a piecewise-linear operation. 11. The graphics processing unit of claim 9, wherein at least one instruction associated with the programmable blend operation includes an input operand specified by a constant. 12. The graphics processing unit of claim 9, wherein the source pixel data comprises two or more samples represented by one color and a flag indicating the source pixel data is compressed. 13. The graphics processing unit of claim 9, wherein the early-out condition does not exist, and a first blend operation is required, and the blend unit is further configured to determine whether to perform a multi-pass series of blend operations or a single-pass blend operation. 14. The graphics processing unit of claim 13, wherein a multi-pass series of blend operations are to be performed, and the blend unit is further configured to perform a second blend operation subsequent to the first blend operation based on the source pixel data and destination pixel data to generate a second blend result. 15. The graphics processing unit of claim 14, wherein the second blend operation is also based on at least a value from a temporary variable array or a recent blend result register. 16. The graphics processing unit of claim 9, wherein the early-out condition exists when the source pixel data is either completely opaque or completely transparent. 17. The graphics processing unit of claim 9, wherein the blend unit comprises a raster operations unit. 18. 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;mapping the source pixel data and destination pixel data to a uniform arithmetic format;determining whether a first blend operation is required based on whether an early-out condition exists; andif the early-out condition does not exist, and a first blend operation is required, then performing the first blend operation based on the mapped source pixel data and mapped destination pixel data to generate a first blend result, orif the early-out condition exists, and a first blend operation is not required, then performing a by-pass operation and storing the mapped source pixel data or mapped destination pixel data to a render target; anda 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; andtransmitting the sequence of instructions to the blend unit within the GPU. 19. The computing device of claim 18, wherein the early-out condition does not exist, and a first blend operation is required, and the blend unit is further configured to: determine that a multi-pass series of blend operations, as opposed to a single-pass blend operation, is to be performed; andperform a second blend operation subsequent to the first blend operation based on the source pixel data and destination pixel data to generate a second blend result.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (13)
Kallio, Kiia K., Antialiasing of two-dimensional vector images.
Alcorn Byron A. (Fort Collins CO) Cherry Robert W. (Loveland CO) Coleman Mark D. (Fort Collins CO) Rauchfuss Brian D. (Fort Collins CO), Arithmetic and logic processing unit for computer graphics system.
Komooka, Haruo; Hasegawa, Kazuhiko, Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen.
Deering Michael F. (Los Altos CA) Schlapp Stephen A. (San Jose CA) Lavelle Michael G. (Saratoga CA), Flexible dram access in a frame buffer memory and system.
Yeh,Gerard; Auld,David; Lee,Jackson F.; Cesana,Joseph; O Yang,Hsiang; Zha,Xianliang; Markovic,Zeljko, Method and apparatus for an integrated high definition television controller.
Bang,Hyo Choog; Kumar,Krishna Dev; Thak,Min Jae, Method for controlling the attitude of an satellites in elliptic orbits using solar radiation pressure.
Lumelsky Leon (Stamford CT) St. Clair Joe C. (Round Rock TX) Mansfield Robert L. (Austin TX) Segre Marc (Rhinebeck NY) Spencer Alexander K. (Austin TX), Pixel data path for high performance raster displays with all-point-addressable frame buffers.
Kilgard,Mark J.; Brown,Patrick R.; Werness,Eric S., System, method and computer program product for programmable fragment processing in a graphics pipeline.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.