Programmable pixel shading architecture
First Claim
1. A system for processing pixel data in a graphics pipeline, comprising:
- (a) a triangle module coupled to a rasterizer for calculating a plurality of equations using pixel data received from the rasterizer;
(b) a shader core module coupled to the rasterizer for receiving the pixel data therefrom and the triangle module for receiving the equations therefrom, the shader core module capable of executing floating point calculations and generating texture coordinates using the pixel data;
(c) a texture module coupled to the shader core module, the texture module capable of looking up texture values using the texture coordinates;
(d) a shader back end module coupled to the texture module and the triangle module, the shader back end module capable of converting the texture values to an appropriate floating point representation and generating color values using the equations; and
(e) a combiner module coupled to the shader core module and the shader back end module, the combiner module capable of combining the color values and the texture values.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and associated method are provided for processing pixel data in a graphics pipeline. Included is a triangle module coupled to a rasterizer for calculating a plurality of equations using pixel data received from the rasterizer. Also provided is a shader core module coupled to the rasterizer for receiving the pixel data therefrom. The shader core module is further coupled to the triangle module for receiving the equations therefrom. The shader core module functions to execute floating point calculations and generating texture coordinates using the pixel data. Coupled to the shader core module is a texture module. The texture module is capable of looking up texture values using the texture coordinates. Associated therewith is a shader back end module coupled to the texture module and the triangle module. The shader back end module is capable of converting the texture values to an appropriate floating point representation and generating color values using the equations. Still yet, a combiner module is coupled to the shader core module and the shader back end module. Such combiner module combines the color values and the texture values.
-
Citations
17 Claims
-
1. A system for processing pixel data in a graphics pipeline, comprising:
-
(a) a triangle module coupled to a rasterizer for calculating a plurality of equations using pixel data received from the rasterizer;
(b) a shader core module coupled to the rasterizer for receiving the pixel data therefrom and the triangle module for receiving the equations therefrom, the shader core module capable of executing floating point calculations and generating texture coordinates using the pixel data;
(c) a texture module coupled to the shader core module, the texture module capable of looking up texture values using the texture coordinates;
(d) a shader back end module coupled to the texture module and the triangle module, the shader back end module capable of converting the texture values to an appropriate floating point representation and generating color values using the equations; and
(e) a combiner module coupled to the shader core module and the shader back end module, the combiner module capable of combining the color values and the texture values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for processing pixel data in a graphics pipeline, comprising:
-
(a) calculating a plurality of equations with pixel data received from a rasterizer utilizing a first module;
(b) executing floating point calculations and generating texture coordinates with the pixel data utilizing a second module coupled to the first module;
(c) looking up texture values with the texture coordinates utilizing a third module coupled to the second module;
(d) converting the texture values to an appropriate floating point representation and generating color values with the equations utilizing a fourth module coupled to the third module; and
(e) combining the color values and the texture values utilizing a fifth module coupled to the fourth module.
-
-
14. A computer product for processing pixel data in a graphics pipeline, comprising:
-
(a) a computer signal for calculating a plurality of equations with pixel data received from a rasterizer;
(b) a computer signal for executing floating point calculations and generating texture coordinates with the pixel data;
(c) a computer signal for looking up texture values with the texture coordinates;
(d) a computer signal for converting the texture values to an appropriate floating point representation and generating color values with the equations; and
(e) a computer signal for combining the color values and the texture values.
-
-
15. A system for processing pixel data in a graphics pipeline, comprising:
-
(a) a first module coupled to a rasterizer for calculating a plurality of equations using pixel data received from the rasterizer;
(b) a second module coupled to the rasterizer for receiving the pixel data therefrom and the first module for receiving the equations therefrom, the second module capable of executing floating point calculations and generating texture coordinates using the pixel data;
(c) a third module coupled to the second module, the third capable of looking up texture values using the texture coordinates;
(d) a fourth module coupled to the second module and the third module, the fourth module capable of converting the texture values to an appropriate floating point representation and generating color values using the equations;
(e) a fifth module coupled to the second module and the fourth module, the fifth module capable of combining the color values and the texture values;
(f) a first buffer coupled between the first module and the second module for temporarily storing an output of the first module for use by the second module;
(g) a second buffer coupled between the first module and the fourth module for temporarily storing the equations for use by the fourth module;
(h) a third buffer coupled between the second module and the fifth module for temporarily storing an output of the floating point calculations for use by the fifth module; and
(i) a fourth buffer coupled between the fourth module and the fifth module for temporarily storing an output of the fifth module for use by the fourth module.
-
-
16. A system for processing pixel data in a graphics pipeline, comprising:
-
(a) a first module coupled to a rasterizer for calculating a plurality of equations using pixel data received from the rasterizer;
(b) a second module coupled to the rasterizer for receiving the pixel data therefrom and the first module for receiving the equations therefrom, the second module capable of executing floating point calculations and generating texture coordinates using the pixel data;
(c) a third module coupled to the second module, the third capable of looking up texture values using the texture coordinates;
(d) a fourth module coupled to the second module and the third module, the fourth module capable of converting the texture values to an appropriate floating point representation and generating color values using the equations; and
(e) a fifth module coupled to the second module and the fourth module, the fifth module capable of combining the color values and the texture values;
(f) wherein a plurality of precisions are supported including full precision floating point, half precision floating point and integer.
-
-
17. A system for processing pixel data in a graphics pipeline, comprising:
-
(a) a first module coupled to a rasterizer for calculating a plurality of equations using pixel data received from the rasterizer;
(b) a second module coupled to the rasterizer for receiving the pixel data therefrom and the first module for receiving the equations therefrom, the second module capable of executing floating point calculations and generating texture coordinates using the pixel data, wherein the floating point calculations include a no operation, texture fetch, derivative, move, multiply, addition, multiply and addition, reciprocal, reciprocal square root, three component dot product, four component dot product, distance vector, minimum, maximum, pack, unpack, set on less than, set on greater or equal than, floor, fraction, kill pixel, exponential base two (2), logarithm base two (2), and light coefficients;
(c) a third module coupled to the second module, the third capable of looking up texture values using the texture coordinates;
(d) a fourth module coupled to the second module and the third module, the fourth module capable of converting the texture values to an appropriate floating point representation and generating color values using the equations; and
(e) a fifth module coupled to the second module and the fourth module, the fifth module capable of combining the color values and the texture values.
-
Specification