Claims
- 1. A method for communicating between a 3-D graphics API of a host computing system having a main memory stack and a 3-D graphics hardware rendering device having on-chip register storage, comprising:
receiving at least one instruction having at least one graphics data argument by the 3-D API; formatting said at least one instruction for the register storage of the hardware rendering device; providing said at least one formatted instruction to the hardware rendering device; processing said at least one graphics data argument, pursuant to said at least one formatted instruction, by the hardware rendering device; and outputting the result of said processed at least one graphics data argument from said hardware rendering device in accordance with said at least one formatted instruction.
- 2. The method of claim 1, wherein said formatting includes remapping to the register state of register storage.
- 3. The method of claim 1, further comprising communicating said at least one instruction directly to said hardware rendering device, thereby bypassing the main memory stack of the host computing system.
- 4. The method of claim 1, wherein said processing of said at least one graphics data argument includes performing at least one of reading from and writing to the on-chip register storage.
- 5. The method of claim 1, further comprising storing a register index in the on-chip register storage.
- 6. The method of claim 5, further comprising accessing the register index stored in the on-chip register storage and finding another register of the register storage to be used incident to carrying out said at least one instruction by said hardware rendering device.
- 7. The method of claim 1, wherein said hardware rendering device includes a processor and an arithmetic/logic unit that aid in the performance of said processing.
- 8. The method of claim 1, wherein said at least one instruction is an instruction with at least one floating point number argument and said outputting includes outputting from the hardware rendering device the fractional portion of said at least one floating point number.
- 9. The method of claim 7, wherein said outputting includes outputting four fractional portions of corresponding four floating point number arguments.
- 10. The method of claim 1, wherein said at least one instruction is an instruction with a plurality of floating point number arguments and said processing includes processing the plurality of floating point number arguments to calculate a number representative of a linear interpolation between two of the floating point number arguments.
- 11. The method of claim 1, wherein said at least one instruction is an instruction with a plurality of floating point number arguments and said outputting includes outputting a floating point number representative of a linear interpolation between two of the floating point number arguments.
- 12. The method of claim 1, wherein said at least one instruction includes a special modifier function to be performed during said processing of the graphics data by the hardware rendering device.
- 13. The method of claim 12, wherein said special modifier function performed during said processing is at least one of a negating modifier, complementing modifier, remapping modifier, stick biasing modifier, saturating modifier and scaling modifier.
- 14. A computer-readable medium bearing computer executable instructions for carrying out the method of claim 1.
- 15. A modulated data signal carrying computer executable instructions for performing the method of claim 1.
- 16. A computer system, comprising:
a hardware rendering device having on-chip register storage; a host computing system having stored thereon a 3-D API for communicating at least one instruction having at least one graphics data argument formatted for the register storage of said hardware rendering device to said hardware rendering device; wherein said hardware rendering device receives said at least one instruction; and wherein the hardware rendering device processes said at least one graphics data argument incident to the performance of said at least one instruction and said hardware rendering device outputs the result of the processing.
- 17. The computer system of claim 16, wherein said at least one graphics data argument is formatted to be remapped to the register state of register storage.
- 18. The computer system of claim 16, wherein said at least one instruction is communicated directly to said hardware rendering device and the main memory stack of the host computing system is bypassed.
- 19. The computer system of claim 16, wherein incident to the processing of said at least one graphics data argument, the hardware rendering device performs at least one of reading from and writing to on-chip register storage;
- 20. The computer system of claim 16, wherein said hardware rendering device further comprises a register index stored in the on-chip register storage.
- 21. The computer system of claim 20, wherein the register index stored in the on-chip register storage is accessed pursuant to said at least one instruction and another register is located for use in connection with carrying out said at least one instruction.
- 22. The computer system of claim 16, wherein said hardware rendering device further includes a processor and an arithmetic/logic unit.
- 23. The computer system of claim 16, wherein said at least one instruction is an instruction with at least one floating point number argument and said hardware rendering device outputs the fractional portion of said at least one floating point number.
- 24. The computer system of claim 23, wherein said hardware rendering device outputs four fractional portions of corresponding four floating point number arguments.
- 25. The computer system of claim 16, wherein said at least one instruction is an instruction with a plurality of floating point number arguments and said hardware rendering device processes the plurality of floating point number arguments to calculate a linear interpolation number representative of a linear interpolation between two of the floating point number arguments and wherein said hardware rendering device outputs said linear interpolation number.
- 26. The computer system of claim 16, wherein said at least one instruction includes a special modifier function to be performed during processing by the hardware rendering device.
- 27. The computer system of claim 26, wherein said special modifier function performed during said processing by the hardware rendering device is at least one of a negating modifier, complementing modifier, remapping modifier, stick biasing modifier, saturating modifier and scaling modifier.
- 28. A method for communicating between a 3-D graphics API of a host computing system having a main memory stack and a hardware procedural shader having on-chip register storage, comprising:
receiving at least one instruction having at least one graphics data argument by the 3-D API; formatting said at least one instruction for use with the hardware procedural shader; providing said at least one formatted instruction to said hardware procedural shader; processing said at least one graphics data argument, pursuant to said at least one formatted instruction, by the hardware procedural shader; and outputting the result of said processed at least one graphics data argument from said hardware procedural shader in accordance with said at least one formatted instruction.
- 29. The method of claim 26, further comprising communicating said at least one instruction directly to said hardware procedural shader, thereby bypassing the main memory stack of the host computing system.
- 30. The method of claim 26, wherein said processing of said at least one graphics data argument includes performing at least one of reading from and writing to the on-chip register storage.
- 31. The method of claim 26, wherein the method is a method for communicating between a 3-D graphics API of a host computing system and a hardware vertex shader with on-chip register storage, further comprising storing a register index in the on-chip register storage.
- 32. The method of claim 31, further comprising accessing the register index stored in the on-chip register storage and finding another register of the register storage to be used incident to carrying out said at least one instruction by said hardware vertex shader.
- 33. The method of claim 26, wherein said hardware procedural shader includes a processor and an arithmetic/logic unit that aid in the performance of said processing.
- 34. The method of claim 32, wherein the method is a method for communicating between a 3-D graphics API of a host computing system and a hardware vertex shader with on-chip register storage, and said at least one instruction is an instruction with at least one floating point number argument and said outputting includes outputting from the vertex shader the fractional portion of said at least one floating point number.
- 35. The method of claim 32, wherein said outputting includes outputting four fractional portions of corresponding four floating point number arguments.
- 36. The method of claim 26, wherein the method is a method for communicating between a 3-D graphics API of a host computing system and a hardware pixel shader with on-chip register storage, and said at least one instruction is an instruction with a plurality of floating point number arguments and said processing includes processing the plurality of floating point number arguments to calculate a number representative of a linear interpolation between two of the floating point number arguments.
- 37. The method of claim 26, wherein the method is a method for communicating between a 3-D graphics API of a host computing system and a hardware pixel shader with on-chip register storage, and said at least one instruction is an instruction with a plurality of floating point number arguments and said outputting includes outputting a floating point number representative of a linear interpolation between two of the floating point number arguments.
- 38. The method of claim 26, wherein the method is a method for communicating between a 3-D graphics API of a host computing system and a hardware pixel shader with on-chip register storage, wherein said at least one instruction includes a special modifier function to be performed during said processing of the graphics data by the arithmetic/logic unit of the pixel shader.
- 39. The method of claim 38, wherein said special modifier function performed during said processing is at least one of a negating modifier, complementing modifier, remapping modifier, stick biasing modifier, saturating modifier and scaling modifier.
- 40. A computer-readable medium bearing computer executable instructions for carrying out the method of claim 26.
- 41. A modulated data signal carrying computer executable instructions for performing the method of claim 26.
- 42. A computer system, comprising:
a hardware procedural shader having on-chip register storage; a host computing system having stored thereon a 3-D API for communicating at least one instruction having at least one graphics data argument formatted for said hardware procedural shader to said hardware procedural shader; wherein said hardware procedural shader receives said at least one instruction; and wherein the hardware procedural shader processes said at least one graphics data argument incident to the performance of said at least one instruction and said hardware procedural shader outputs the result of the processing.
- 43. The computer system of claim 42, wherein said at least one instruction is communicated directly to said hardware procedural shader and the main memory stack of the host computing system is bypassed.
- 44. The computer system of claim 42, wherein incident to the processing of said at least one graphics data argument, said hardware procedural shader performs at least one of reading from and writing to on-chip register storage.
- 45. The computer system of claim 42, wherein said hardware procedural shader is a vertex shader, and said vertex shader further comprises a register index stored in the on-chip register storage.
- 46. The computer system of claim 45, wherein the register index stored in the on-chip register storage is accessed pursuant to said at least one instruction and another register is located for use in connection with carrying out said at least one instruction.
- 47. The computer system of claim 42, wherein said hardware procedural shader further includes a processor and an arithmetic/logic unit.
- 48. The computer system of claim 42, wherein said hardware procedural shader is a vertex shader, and said at least one instruction is an instruction with at least one floating point number argument and said vertex shader outputs the fractional portion of said at least one floating point number.
- 49. The computer system of claim 48, wherein said vertex shader outputs four fractional portions of corresponding four floating point number arguments.
- 50. The computer system of claim 42, wherein said hardware procedural shader is a pixel shader, and said at least one instruction is an instruction with a plurality of floating point number arguments and said vertex shader processes the plurality of floating point number arguments to calculate a linear interpolation number representative of a linear interpolation between two of the floating point number arguments and wherein said vertex shader outputs said linear interpolation number.
- 51. The computer system of claim 42, wherein said hardware procedural shader is a pixel shader, and wherein said at least one instruction includes a special modifier function to be performed during processing by the pixel shader.
- 52. The computer system of claim 51, wherein said special modifier function performed during said processing by the pixel shader is at least one of a negating modifier, complementing modifier, remapping modifier, stick biasing modifier, saturating modifier and scaling modifier.
CROSS RELATED TO RELATED APPLICATION
[0001] This application claims priority to U.S. Provisional Patent Application No. 60/187,535, filed Mar. 7, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60187535 |
Mar 2000 |
US |