System, method and computer program product for branching during programmable vertex processing
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G09G-005/37
G09G-005/36
G06T-001/60
출원번호
UP-0286809
(2005-11-22)
등록번호
US-7755634
(2010-08-02)
발명자
/ 주소
Lindholm, John Erik
Moy, Simon S.
Glanville, Robert Steven
출원인 / 주소
NVIDIA Corporation
대리인 / 주소
Zilka-Kotab, PC
인용정보
피인용 횟수 :
1인용 특허 :
116
초록▼
A system, method and computer program product are provided for branching during graphics processing. Initially, a first operation is performed on data. In response to the first operation, a branching operation is performed to a second operation. The first operation and the second operation are assoc
A system, method and computer program product are provided for branching during graphics processing. Initially, a first operation is performed on data. In response to the first operation, a branching operation is performed to a second operation. The first operation and the second operation are associated with instructions selected from a predetermined instruction set.
대표청구항▼
What is claimed is: 1. A method for branching during graphics processing, comprising: performing a first operation on data; in response to the first operation, branching to a second operation, utilizing a processor; and outputting a result of the graphics processing; wherein the first operation and
What is claimed is: 1. A method for branching during graphics processing, comprising: performing a first operation on data; in response to the first operation, branching to a second operation, utilizing a processor; and outputting a result of the graphics processing; wherein the first operation and the second operation are associated with instructions selected from a predetermined instruction set; wherein the first operation and the second operation include at least one of a branch operation, a call operation, a fraction operation, a no operation, a move operation, a multiply operation, an addition operation, a multiply and addition operation, a reciprocal operation, a reciprocal square root operation, a three component dot product operation, a four component dot product operation, a distance operation, a minimum operation, a maximum operation, an exponential operation, a logarithm operation, and a lighting operation; wherein at least one of the first operation and the second operation includes one of the three component dot product operation, the four component dot product operation, the no operation, the minimum operation and the maximum operation; wherein at least one of the first operation and the second operation includes the minimum operation, and the minimum operation determines a minimum associated with a plurality of data sources, and moves the minimum into a destination location; wherein the first operation and the second operation are each carried out utilizing a data structure; wherein the data structure includes a source location identifier indicating a location of the data, a source component identifier indicating a component of the location in which the data is located, a destination location identifier indicating a destination of the output result, and a destination component identifier indicating a component of the destination to which the result is output. 2. The method as recited in claim 1, wherein the branching to the second operation is performed if content of a predetermined register is true. 3. The method as recited in claim 1, wherein the branching to the second operation is performed based on a comparison. 4. The method as recited in claim 3, wherein the comparison includes a greater than operation. 5. The method as recited in claim 3, wherein the comparison includes a less than operation. 6. The method as recited in claim 3, wherein the comparison includes a greater than or equal operation. 7. The method as recited in claim 3, wherein the comparison includes a less than or equal operation. 8. The method as recited in claim 3, wherein the comparison includes an equal operation. 9. The method as recited in claim 3, wherein the comparison includes a not equal operation. 10. The method as recited in claim 1, wherein the branching to the second operation is performed based on a comparison involving zero. 11. The method as recited in claim 1, wherein the branching is performed to a label. 12. The method as recited in claim 1, wherein the branching involves a swizzle operation. 13. The method as recited in claim 1, wherein at least one of the first operation and the second operation includes the maximum operation, and the maximum operation determines a maximum associated with a plurality of data sources, and moves the maximum into a destination location. 14. The method as recited in claim 1, wherein at least one of the first operation and the second operation includes the minimum operation and the maximum operation, and the maximum operation and the minimum operation each utilize two vectors as input, and output one vector. 15. The method as recited in claim 1, wherein at least one of the first operation and the second operation includes the distance operation, and the distance operation calculates a distance vector. 16. The method as recited in claim 15, wherein the distance vector is calculated by calculating a distance of a first vector and a second vector, where the distance vector includes four components. 17. The method as recited in claim 16, wherein a first component of the four component distance vector is 1.0, a second component of the four component distance vector includes a second component of the first vector multiplied by a second component of the second vector, a third component of the four component distance vector includes a third component of the first vector, and a fourth component of the four component distance vector includes a fourth component of the second vector. 18. The method as recited in claim 1, wherein the branching to the second operation is performed based on a Boolean condition. 19. The method as recited in claim 1, wherein the branching to the second operation is performed if content of a condition code register is true. 20. The method as recited in claim 1, wherein the component of the location in which the data is located and the component of the destination to which the result is output each include a single component of a vector that includes four components, where a first component of the vector is indicated by a x subscript, a second component of the vector is indicated by a y subscript, a third component of the vector is indicated by a z subscript, and a fourth component of the vector is indicated by a w subscript. 21. The method as recited in claim 1, wherein the data is normalized by altering the data by a scaling bias prior to the first operation being performed on the data. 22. A computer storage medium for storing a computer program for branching during graphics processing, comprising: computer code for performing a first operation on data; and computer code for branching to a second operation in response to the first operation; wherein the first operation and the second operation are associated with instructions selected from a predetermined instruction set; wherein the first operation and the second operation include at least one of a branch operation, a call operation, a fraction operation, a no operation, a move operation, a multiply operation, an addition operation, a multiply and addition operation, a reciprocal operation, a reciprocal square root operation, a three component dot product operation, a four component dot product operation, a distance operation, a minimum operation, a maximum operation, an exponential operation, a logarithm operation, and a lighting operation; wherein at least one of the first operation and the second operation includes one of the three component dot product operation, the four component dot product operation, the no operation, the minimum operation and the maximum operation; wherein at least one of the first operation and the second operation includes the minimum operation, and the minimum operation determines a minimum associated with a plurality of data sources, and moves the minimum into a destination location; wherein the computer program is operable such that the first operation and the second operation are each carried out utilizing a data structure; wherein the data structure includes a source location identifier indicating a location of the data, a source component identifier indicating a component of the location in which the data is located, a destination location identifier indicating a destination of the output result, and a destination component identifier indicating a component of the destination to which the result is output. 23. A computer storage medium for storing an application program interface data structure for branching during graphics processing, comprising: an instruction set for performing a first operation on data, and in response to the first operation, branching to a second operation; wherein the instruction set includes operations including at least one of a fraction operation, a no operation, a move operation, a multiply operation, an addition operation, a multiply and addition operation, a reciprocal operation, a reciprocal square root operation, a three component dot product operation, a four component dot product operation, a distance operation, a minimum operation, a maximum operation, an exponential operation, a logarithm operation, and a lighting operation; wherein at least one of the first operation and the second operation includes one of the three component dot product operation, the four component dot product operation, the no operation, the minimum operation and the maximum operation; wherein at least one of the first operation and the second operation includes the minimum operation, and the minimum operation determines a minimum associated with a plurality of data sources, and moves the minimum into a destination location; wherein the instruction set is operable such that the first operation and the second operation are each carried out utilizing a data structure; wherein the data structure includes a source location identifier indicating a location of the data, a source component identifier indicating a component of the location in which the data is located, a destination location identifier indicating a destination of the output result, and a destination component identifier indicating a component of the destination to which the result is output.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (116)
Lin Tao, 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation.
Duluk ; Jr. Jerome F. (Mountain View CA) Kasle David B. (Mountain View CA), Bounding box and projections detection of hidden polygons in three-dimensional spatial databases.
John Erik Lindholm ; Simon Moy ; Kevin Dawallu ; Mingjian Yang ; John Montrym ; David B. Kirk ; Paolo E. Sabella ; Matthew N. Papakipos ; Douglas A. Voorhies ; Nicholas J. Foskett, Clipping system and method for a graphics processing framework embodied on a single semiconductor platform.
Sfarti Adrian ; Baker Nicholas Robert ; Laker Robert William ; Malamy Adam Craig, Controlling a real-time rendering engine using a list-based control mechanism.
Duluk ; Jr. Jerome F. ; Hessel Richard E. ; Arnold Vaughn T. ; Benkual Jack ; Bratt Joseph P. ; Cuan George ; Dodgen Stephen L. ; Fang Emerson S. ; Gong Zhaoyu ; Ho Thomas Y. ; Hsu Hengwei ; Li Sidon, Deferred shading graphics pipeline processor.
Duluk ; Jr. Jerome F. ; Hessel Richard E. ; Arnold Vaughn T. ; Benkual Jack ; Bratt Joseph P. ; Cuan George ; Dodgen Stephen L. ; Fang Emerson S. ; Gong Zhaoyu ; Ho Thomas Y. ; Hsu Hengwei ; Li Sidon, Deferred shading graphics pipeline processor.
Kimura Koichi,JPX ; Ogura Toshihiko,JPX ; Aotsu Hiroaki,JPX ; Ikegami Mitsuru,JPX ; Kuwabara Tadashi,JPX ; Enomoto Hiromichi,JPX ; Kyoda Tadashi,JPX, Graphic system including a plurality of one chip semiconductor integrated circuit devices for displaying pixel data on.
John Erik Lindholm ; Simon Moy ; Kevin Dawallu ; Mingjian Yang ; John Montrym ; David B. Kirk ; Paolo E. Sabella ; Matthew N. Papakipos ; Douglas A. Voorhies ; Nicholas J. Foskett, Graphics processing unit with an integrated fog and blending operation.
Lindholm, John Erik; Moy, Simon; Kirk, David B.; Sabella, Paolo E., Graphics processing unit with transform module capable of handling scalars and vectors.
Lewis Michael C. ; Morein Stephen L., Graphics processor, system and method for generating screen pixels in raster order utilizing a single interpolator.
Chauvin Joseph W. ; Gabriel Steven A. ; Good Howard ; Griffin Kent E. ; Kenworthy Mark L. ; Powell ; III William Chambers ; Scott ; III George Easton ; Toelle Michael A. ; Torborg ; Jr. John G. ; Ver, Graphics rendering device and method for operating same.
Liu Hua-Kuang (Pasadena CA) Awwal Abdul A. S. (Kettering OH) Karim Mohammad A. (Centerville OH), Imer-product array processor for retrieval of stored images represented by bipolar binary (+1,-1) pixels using partial i.
Van Hook Timothy J. ; Cheng Howard H. ; DeLaurier Anthony P. ; Gossett Carroll P. ; Moore Robert J. ; Shepard Stephen J. ; Anderson Harold S. ; Princen John ; Doughty Jeffrey C. ; Pooley Nathan F. ; , Interface for a high performance low cost video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing.
Lindholm,John Erik; Moy,Simon; Dawallu,Kevin; Yang,Mingjian; Montrym,John; Kirk,David B.; Sabella,Paolo E.; Papakipos,Matthew N.; Voorhies,Douglas A.; Foskett,Nicholas J., Masking system and method for a graphics processing framework embodied on a single semiconductor platform.
Duluk, Jerome F.; Dodgen, Stephen L.; Bratt, Joseph P.; Papakipos, Matthew; Tuck, Nathan; Hessel, Richard E., Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor.
Alcorn Byron A. (Fort Collins) Cherry Robert W. (Loveland) Coleman Mark D. (Fort Collins) Rauchfuss Brian D. (Fort Collins CO), Method and apparatus for pixel clipping source and destination windows in a graphics system.
Kuchkuda Roman ; Rigg John ; Enriquez Manuel Rey ; Henson James V. ; Stehley Curt, Method and apparatus for rendering of fractional pixel lists for anti-aliasing and transparency.
James David V. ; Nemirovsky Mario D., Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instruct.
Elliott Conal M. ; Knoblock Todd B. ; Schechter Greg D. ; AbiEzzi Salim S. ; Campbell Colin L. ; Yeung Chun-Fu Ricky, Method and system for modeling and presenting integrated media with a declarative modeling language for representing re.
Lindholm,John Erik; Moy,Simon; Kirk,David B.; Sabella,Paolo E., Method, apparatus and article of manufacture for a transform module in a graphics processor.
Thekkath, Radhika; Uhler, G. Michael; Ho, Ying-wai; Harrell, Chandlee B., Processor having a conditional branch extension of an instruction set architecture.
Krech ; Jr. Alan S. ; Rossin Theodore G. ; Rojas Edmundo ; McGrath Michael S ; Rakel Ted ; Strunk Glenn W ; Ashburn Jon L ; Tucker S Paul, ROM-based control unit in a geometry accelerator for a computer graphics system.
Choi Seung-hak,KRX ; Eo Kil-su,KRX, Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor.
Fielder Dennis (Linton GBX) Derbyshire James (Willingham GBX) Gillingham Peter (Kanata CAX) Torrance Randy (Ottawa CAX) O\Connell Cormac (Kanata CAX), Single chip frame buffer and graphics accelerator.
Lindholm, John Erik; Moy, Simon; Dawallu, Kevin; Yang, Mingjian; Montrym, John; Kirk, David B.; Sabella, Paolo E.; Papakipos, Matthew N.; Voorhies, Douglas A.; Foskett, Nicholas J., System and method for a graphics processing framework embodied utilizing a single semiconductor platform.
Brown,Patrick R.; Kilgard,Mark J.; Glanville,Robert Steven, System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline.
Chen Chih-Kang (Santa Clara County CA) Duluk ; Jr. Jerome F. (Santa Clara County CA), System and method for cross correlation with application to video motion vector estimator.
Divine James S. (Austin TX) Studor Charles F. (Austin TX), System and method for executing branch on bit set/clear instructions using microprogramming flow.
Lindholm, John Erik; Molnar, Steven E.; Zatz, Harold Robert Feldman, System and method for generating multiple outputs in a single shader processing pass in a hardware graphics pipeline.
Young Eric S. ; Zhao Randy X. ; Khurana Anoop ; Niu Roger ; Kuo Dong-Ying ; Kottapalli Sreenivas R., System and method for performing blending using an over sampling buffer.
Harris Kathleen A. ; Jensen Kimberly Wagner, System for distinguishing front facing and back facing primitives in a computer graphics system using area calculations in homogeneous coordinates.
Lindholm,John Erik; Kirk,David B.; Moreton,Henry P.; Moy,Simon, System, method and article of manufacture for a programmable vertex processing model with instruction set.
John Erik Lindholm ; Simon Moy ; David B. Kirk ; Pao Sabella, System, method and computer program product for a blending operation in a transform module of a computer graphics pipeline.
Lindholm, John Erik; Moreton, Henry P.; Zatz, Harold Robert Feldman, System, method and computer program product for a programmable pixel processing model with instruction set.
Lindholm, John Erik; Tannenbaum, David C.; Glanville, Robert Steven, System, method and computer program product for an improved programmable vertex processing model with instruction set.
Lindholm,John Erik; Moy,Simon S.; Glanville,Robert Steven, System, method and computer program product for branching during programmable vertex processing.
Lindholm, John Erik; Moy, Simon; Dawallu, Kevin; Yang, Mingjian; Montrym, John; Kirk, David B.; Sabella, Paolo E.; Papakipos, Matthew N.; Voorhies, Douglas A.; Foskett, Nicholas J., System, method and computer program product for performing a scissor operation in a graphics processing framework embodied on a single semiconductor platform.
Bastos,Rui M.; Donovan,Walter E.; Lew,Stephen D.; Zatz,Harold Robert Feldman; Lindholm,John Erik, System, method and computer program product for providing arbitrary texture filtering.
Papakipos,Matthew N.; Donovan,Walter E.; Zatz,Harold Robert Feldman; Moreton,Henry Packard; Lindholm,John Erik, System, method and computer program product for using an arbitrary quantity as texture address.
Lindholm John Erik ; Moy Simon ; Dawallu Kevin ; Yang Mingjian ; Montrym John ; Kirk David B. ; Sabella Paolo E. ; Papakipos Matthew N. ; Voorhies Douglas A. ; Foskett Nicholas J., Transform, lighting and rasterization system embodied on a single semiconductor platform.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.