Circuits, methods, and apparatus provide for the storage of texture descriptors in a graphics memory. Since the texture descriptors are stored in a graphics memory, they do not need to be stored in the graphics processor itself, thus reducing graphics processor circuitry and cost. This allows more textures to be associated with each graphics primitive, thereby improving image realism.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method for generating a graphics image, comprising: executing a current portion of a shader program to generate one or more pixels associated with the graphics image; inspecting a subsequent portion of the shader program to determine one or more texture descriptors that each identifies a different texture to be applied to the one or more pixels; retrieving the one or more texture descriptors from a graphics memory before the subsequent portion of the shader program is executed; and applying one or more textures to the one or more pixels based on the one or more texture descriptors.
2. The method of claim 1 , wherein the subsequent portion of the shader program includes a base address and index for each of the one or more texture descriptors.
3. The method of claim 1 , wherein the subsequent portion of the shader program includes an address of a pointer for each of the one or more texture descriptors.
4. The method of claim 1 , wherein the subsequent portion of the shader program includes an index to a pointer table for each of the one or more texture descriptors.
5. The method of claim 1 , wherein the subsequent portion of the shader program includes a pointer for each of the one or more texture descriptors.
6. The method of claim 1 , wherein the step of inspecting a subsequent portion of the shader program to determine one or more texture descriptors further comprises identifying one or more hints that each identifies a different texture descriptor of the one or more texture descriptors.
7. The method of claim 6 , wherein each of the one or more hints is generated by execution of the shader program.
8. The method of claim 1 , wherein the step of inspecting a subsequent portion of the shader program to determine one or more texture descriptors further comprises reading a predetermined number of instructions associated with the subsequent portion of the shader program to determine the one or more texture descriptors.
9. The method of claim 1 , wherein the step of inspecting a subsequent portion of the shader program to determine one or more texture descriptors further comprises reading instructions associated with the subsequent portion of the shader program until a predetermined number of texture descriptors are identified.
10. A graphics processor, comprising: a graphics memory; a shader core configured to execute a current portion of a shader program to generate one or more pixels associated with a graphics image; a texture cache subsystem configured to: inspect a subsequent portion of the shader program to determine one or more texture descriptors that each identifies a different texture to be applied to the one or more pixels, retrieve the one or more texture descriptors from the graphics memory before the subsequent portion of the shader program is executed, and apply one or more textures to the one or more pixels based on the one or more texture descriptors.
11. The graphics processor of claim 10 , wherein the subsequent portion of the shader program includes a base address and index for each of the one or more texture descriptors.
12. The graphics processor of claim 10 , wherein the subsequent portion of the shader program includes an address of a pointer for each of the one or more texture descriptors.
13. The graphics processor of claim 10 , wherein the subsequent portion of the shader program includes an index to a pointer table for each of the one or more texture descriptors.
14. The graphics processor of claim 10 , wherein the subsequent portion of the shader program includes a pointer for each of the one or more texture descriptors.
15. The graphics processor of claim 10 , wherein the texture cache subsystem is further configured to identify one or more hints within the subsequent portion of the shader program, wherein each hint identifies a different texture descriptor of the one or more texture descriptors.
16. The graphics processor of claim 15 , wherein each of the one or more hints is generated by execution of the shader program.
17. The graphics processor of claim 10 , wherein the texture cache subsystem is further configured to read a predetermined number of instructions associated with the subsequent portion of the shader program to identify the one or more texture descriptors.
18. The graphics processor of claim 10 , wherein the texture cache subsystem is further configured to read instructions associated with the subsequent portion of the shader program until a predetermined number of texture descriptors are identified.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 12, 2007
April 27, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.