Claims
- 1. A method for sequencing graphics processing, comprising:
(a) receiving a plurality of mode bits indicative of the status of a plurality of modes of process operations; (b) identifying a plurality of addresses in memory based on the mode bits; (c) accessing the addresses in the memory for retrieving code segments which each are adapted to carry out the process operations in accordance with the status of the modes; and (d) executing the code segments within a graphics processing module for processing vertex data.
- 2. The method as recited in claim 1, wherein the mode bits are received from a software driver.
- 3. The method as recited in claim 2, and further comprising converting the mode bits into a control vector prior to identifying the addresses in the memory.
- 4. The method as recited in claim 3, wherein the control vector includes a string of bits each corresponding to one of the addresses.
- 5. The method as recited in claim 4, wherein the bits of the control vector are sequentially masked in order to identify the addresses.
- 6. The method as recited in claim 5, wherein a priority encoder is employed to identify the addresses.
- 7. The method as recited in claim 1, and further comprising setting a flag upon all of the addresses being identified in the memory.
- 8. A computer program embodied on a computer readable medium for sequencing graphics processing, comprising:
(a) a code segment for receiving a plurality of mode bits indicative of the status of a plurality of modes of process operations; (b) a code segment for identifying a plurality of addresses in memory based on the mode bits; (c) a code segment for accessing the addresses in the memory for retrieving code segments which each are adapted to carry out the process operations in accordance with the status of the modes; and (d) a code segment for executing the code segments within a graphics processing module for processing vertex data.
- 9. The computer program as recited in claim 8, wherein the mode bits are received from a software driver.
- 10. The computer program as recited in claim 9, and further comprising a code segment for converting the mode bits into a control vector prior to identifying the addresses in the memory.
- 11. The computer program as recited in claim 10, wherein the control vector includes a string of bits each corresponding to one of the addresses.
- 12. The computer program as recited in claim 11, wherein the bits of the control vector are sequentially masked in order to identify the addresses.
- 13. The computer program as recited in claim 12, wherein a priority encoder is employed to identify the addresses.
- 14. The computer program as recited in claim 8, and further comprising a code segment for setting a flag upon all of the addresses being identified in the memory.
- 15. A sequencer system for graphics processing, comprising:
(a) a buffer adapted for receiving a plurality of mode bits indicative of the status of a plurality of modes of process operations; (b) memory capable of storing code segments which each are adapted to carry out the process operations in accordance with the status of the modes; (c) a sequencer coupled to the buffer for identifying a plurality of addresses in the memory based on the mode bits, and accessing the addresses in the memory for retrieving the code segments; and (d) wherein the code segments are executed within a graphics processing module for processing vertex data.
- 16. The system as recited in claim 15, wherein the mode bits are received from a software driver.
- 17. The system as recited in claim 16, and further comprising logic for converting the mode bits into a control vector prior to identifying the addresses in the memory.
- 18. The system as recited in claim 17, wherein the control vector includes a string of bits each corresponding to one of the addresses.
- 19. The system as recited in claim 18, wherein the bits of the control vector are sequentially masked in order to identify the addresses.
- 20. A data structure for storing data capable of being used for sequencing graphics processing, comprising:
(a) a mode data object stored in memory including information indicative of the status of a plurality of modes of process operations; (b) an address data object stored in memory identifying a plurality of addresses in memory based on the mode data object; and (c) wherein the addresses are accessed in the memory for retrieving code segments which each are adapted to carry out the process operations in accordance with the status of the modes.
- 21. The system as recited in claim 15, wherein the sequencer sets a flag upon all of the addresses being identified in the memory.
- 22. A method for sequencing graphics processing between graphics processing modules, comprising:
(a) receiving vertex data in a memory space of a first set of memory spaces, wherein the memory space in which the vertex data is received is based on a predetermined sequence; (b) identifying an empty memory space of a second set of memory spaces based on a predetermined sequence, wherein a first graphics processing module is coupled between the first set of memory spaces and the second set of memory spaces; and (c) processing the vertex data in the first graphics processing module after the empty memory space of the second set of memory spaces is identified; and (d) outputting the vertex data from the first graphics processing module to the identified empty memory space of the second set of memory spaces.
- 23. The method as recited in claim 22, wherein a number of memory spaces in the first and second sets of memory spaces are different.
- 24. The method as recited in claim 22, and further comprising:
(a) identifying an empty memory space of a third set of memory spaces based on a predetermined sequence, wherein a second graphics processing module is coupled between the second set of memory spaces and the third set of memory spaces; (b) processing the vertex data in the second graphics processing module after the empty memory space of the third set of memory spaces is identified; and (c) outputting the vertex data from the second graphics processing module to the identified empty memory space of the third set of memory spaces.
- 25. The method as recited in claim 24, wherein the graphics processing modules include a transform module and a lighting module.
- 26. The method as recited in claim 22, wherein the predetermined sequence is a round robin sequence.
- 27. A computer program embodied on a computer readable medium for sequencing graphics processing between graphics processing modules, comprising:
(a) a code segment for receiving vertex data in a memory space of a first set of memory spaces, wherein the memory space in which the vertex data is received is based on a predetermined sequence; (b) a code segment for identifying an empty memory space of a second set of memory spaces based on a predetermined sequence, wherein a first graphics processing module is coupled between the first set of memory spaces and the second set of memory spaces; (c) a code segment for processing the vertex data in the first graphics processing module after the empty memory space of the second set of memory spaces is identified; and (d) a code segment for outputting the vertex data from the first graphics processing module to the identified empty memory space of the second set of memory spaces.
- 28. The computer program as recited in claim 27, wherein a number of memory spaces in the first and second sets of memory spaces are different.
- 29. The computer program as recited in claim 27, and further comprising:
(a) a code segment for identifying an empty memory space of a third set of memory spaces based on a predetermined sequence, wherein a second graphics processing module is coupled between the second set of memory spaces and the third set of memory spaces; (b) a code segment for processing the vertex data in the second graphics processing module after the empty memory space of the third set of memory spaces is identified; and (c) a code segment for outputting the vertex data from the second graphics processing module to the identified empty memory space of the third set of memory spaces.
- 30. The computer program as recited in claim 29, wherein the graphics processing modules include a transform module and a lighting module.
- 31. The computer program as recited in claim 27, wherein the predetermined sequence is a round robin sequence.
- 32. A method for processing multiple threads of vertex data in a graphics processing module, comprising:
(a) accessing a first code segment per a first program counter; (b) executing the first code segment in a graphics processing module, wherein the graphics processing module requires more than one clock cycle to complete the execution; (c) accessing a second code segment per a second program counter; and (d) executing the second code segment in the graphics processing module prior to the completion of the execution of the first code segment in the graphics processing module.
- 33. The method as recited in claim 32, wherein the graphics processing module includes at least one of an adder and a multiplier.
- 34. The method as recited in claim 32, wherein the method is capable of processing multiple threads of vertex data with independent sequencing in a plurality of graphics processing modules, wherein a code segment delay is employed between the graphics processing modules.
- 35. The method as recited in claim 32, wherein the graphics processing module requires a predetermined number of cycles to generate an output, and steps (a)-(d) are repeated for every predetermined number of cycles.
- 36. A computer program embodied on a computer readable medium for processing multiple threads of vertex data in a graphics processing module, comprising:
(a) a code segment for accessing a first code element per a first program counter; (b) a code segment for executing the first code element in a graphics processing module, wherein the graphics processing module requires more than one clock cycle to complete the execution; (c) a code segment for accessing a second code element per a second program counter; and (d) a code segment for executing the second code element in the graphics processing module prior to the completion of the execution of the first code element in the graphics processing module.
- 37. The computer program as recited in claim 36, wherein the graphics processing module includes at least one of an adder and a multiplier.
- 38. The computer program as recited in claim 36, wherein the computer program is capable of processing multiple threads of vertex data with independent sequencing in a plurality of graphics processing modules, wherein a code element delay is employed between the graphics processing modules.
- 39. The computer program as recited in claim 36, wherein the graphics processing module requires a predetermined number of cycles to generate an output, and code segments (a)-(d) are re-executed for every predetermined number of cycles.
RELATED APPLICATIONS
[0001] The present application is related to applications entitled “Method, Apparatus and Article of Manufacture for Area Rasterization using Sense Points” which was filed on Dec. 6, 1999 under Ser. No. 09/455,305, and attorney docket number NVIDP005, “Method, Apparatus and Article of Manufacture for Boustrophedonic Rasterization” which was filed on Dec. 6, 1999 under Ser. No. 09/454,505, and attorney docket number NVIDP006, “Method, Apparatus and Article of Manufacture for Clip-less Rasterization using Line Equation-based Traversal” which was filed on Dec. 6, 1999 under Ser. No. 09/455,728, and attorney docket number NVIDP007, “Transform, Lighting and Rasterization System Embodied on a Single Semiconductor Platform” which was filed on Dec. 6, 1999 under Ser. No. 09/454,516, and attorney docket number NVIDP008 and issued under U.S. Pat. No. 6,198,488, “Method, Apparatus and Article of Manufacture for a Vertex Attribute Buffer in a Graphics Processor” which was filed on Dec. 6, 1999 under Ser. No. 09/454,525, and attorney docket number NVIDP009, “Method, Apparatus and Article of Manufacture for a Transform Module in a Graphics Processor” which was filed on Dec. 6, 1999 under Ser. No. 09/456,102, and attorney docket number NVIDP010, and “Method and Apparatus for a Lighting Module in a Graphics Processor” which was filed on Dec. 6, 1999 under Ser. No. 09/454,524, and attorney docket number NVIDP011, which were filed concurrently herewith, and which are all incorporated herein by reference in their entirety.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09456104 |
Dec 1999 |
US |
Child |
10177682 |
Jun 2002 |
US |