Programmable multiple texture combine circuit for a graphics processing system and method for use thereof
AssigneeMicron Technology, Inc.
InventorAaftab Munshi
Life of this patent
Estimating the term…
Abstract
The present invention is directed toward a texture combine circuit for generating fragment graphics data for a pixel in a graphics processing system. The texture combine circuit includes at least one texture combine unit and is coupled to receive graphics data, such as a plurality of texture graphics data, and perform user selected graphics combine operations on a set of input data selected from the plurality of texture graphics data to produce the fragment graphics data for the pixel. The texture combine circuit may include several texture combine units in a cascade connection, where each texture combine unit is coupled to receive the plurality of texture graphics data and the resultant output value of the previous texture combine units in the cascade.
Claims54
A texture combine circuit for generating fragment graphics data for a pixel in a graphics processing system, comprising:
- a texture interpolation circuit having output terminals to provide a plurality of texture graphics data for the pixel;
- a first texture combine unit coupled to the output terminals of the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and perform graphics combine operations on input data selected from the plurality of texture graphics data for the pixel to produce first combined graphics data at first texture combine unit output terminals;
- a second texture combine unit coupled to the output terminals of the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and further coupled to the first texture combine unit output terminals to receive the first combined graphics data, the second texture combine unit performing graphics combine operations on the input data selected from the plurality of texture graphics data for the pixel and the first combined graphics data to produce second combined graphics data at second texture combine unit output terminals;
- and
- a third texture combine unit coupled to the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and further coupled to the first and second output terminals to perform third graphics combine operations on a third group of data selected from the graphics data from the plurality of textures for the pixel, the first and the second resultant graphics values and provide third resultant graphics values resulting from the third graphics combine operations at third output terminals.
An apparatus in a graphics processing system for combining graphics data from a plurality of textures for a pixel, comprising:
- a first texture combine unit coupled to receive the graphics data from the plurality of textures for the pixel to perform first graphics combine operations on a first group of data selected from the graphics data and provide first resultant graphics values resulting from the first graphics combine operations at first output terminals;
- and
- a second texture combine unit coupled to receive the graphics data from the plurality of textures for the pixel and further coupled to the first output terminals to perform second graphics combine operations on a second group of data selected from the graphics data for the pixel and the first resultant graphics values and provide second resultant graphics values resulting from the second graphics combine operations at second output terminals,
- the first and second texture combine units including a pre-combine circuit having pre-combine output terminals and coupled to receive as input data the graphics data for the pixel to perform first functional operations on the selected data and produce pre-combine resultant values at the pre-combine output terminals, the first functional operations performed by the pre-combine circuit on the input data are:
- the input data is unchanged,
- the input data is inverted, or
- the input data converted from a range of 0 to 255 to a range of −255 to +255 by multiplying the input data by two and subtracting 255.
A graphics processing system, comprising:
- a bus interface for coupling to a system bus;
- a graphics processor coupled to the bus interface to process graphics data;
- address and data busses coupled to the graphics processor to transfer address and graphics data to and from the graphics processor;
- display logic coupled to the data bus to drive a display;
- a texture interpolation circuit coupled to the address and data busses and having output terminals to provide a plurality of texture graphics data for a pixel;
- and
- a texture combine circuit coupled to the graphics processor and the texture interpolation circuit to generate fragment graphics data for the pixel from the plurality of texture graphics data, the texture combine circuit comprising:
- a first texture combine unit coupled to the output terminals of the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and perform graphics combine operations on input data selected from the plurality of texture graphics data for the pixel to produce first combined graphics data at first texture combine unit output terminals;
- a second texture combine unit coupled to the output terminals of the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and further coupled to the first texture combine unit output terminals to receive the first combined graphics data, the second texture combine unit performing graphics combine operations on the input data selected from the plurality of texture graphics data for the pixel and the first combined graphics data to produce second combined graphics data at second texture combine unit output terminals;
- and
- a third texture combine unit coupled to the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and further coupled to the first and second output terminals to perform third graphics combine operations on a third group of data selected from the graphics data from the plurality of textures for the pixel, the first and the second resultant graphics values and provide third resultant graphics values resulting from the third graphics combine operations at third output terminals.
A computer system, comprising:
- a system processor;
- a system bus coupled to the system processor;
- a system memory coupled to the system bus;
- and
- a graphics processing system coupled to the system bus, the graphics processing system, comprising:
- a bus interface for coupling to a system bus;
- a graphics processor coupled to the bus interface to process graphics data;
- address and data busses coupled to the graphics processor to transfer address and graphics data to and from the graphics processor;
- display logic coupled to the data bus to drive a display;
- a texture interpolation circuit coupled to the address and data busses and having output terminals to provide a plurality of texture graphics data for a pixel;
- and
- a texture combine circuit coupled to the graphics processor and the texture interpolation circuit to generate fragment graphics data for the pixel from the plurality of texture graphics data, the texture combine circuit comprising:
- a first texture combine unit coupled to the output terminals of the texture interpolation circuit to perform graphics combine operations on input data selected from the plurality of texture graphics data for the pixel to produce first combined graphics data at first texture combine unit output terminals;
- and
- a second texture combine unit coupled to the output terminals of the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and further coupled to the first texture combine unit output terminals to receive the first combined graphics data, the second texture combine unit performing graphics combine operations on the input data selected from the plurality of texture graphics data for the pixel and the first combined graphics data to produce second combined graphics data at second texture combine unit output terminals;
- and
- a third texture combine unit coupled to the texture interpolation circuit to receive the plurality of texture graphics data for the pixel and further coupled to the first and second output terminals to perform third graphics combine operations on a third group of data selected from the graphics data from the plurality of textures for the pixel, the first and the second resultant graphics values and provide third resultant graphics values resulting from the third graphics combine operations at third output terminals.
A method for combining graphics data of a plurality of textures for a pixel, comprising:
- selecting a first data set from the graphics data of the plurality of textures for only the pixel;
- performing first graphics combine operations on the data set to produce first resultant graphics data;
- selecting a second data set from the graphics data of the plurality of textures for the pixel and the first resultant graphics data;
- performing second graphics combine operations on the second data set to produce second resultant graphics data;
- selecting a third data set from the graphics data of the plurality of textures for the pixel, the first resultant graphics data, and the second resultant graphics data;
- and
- performing third graphics combine operations on the third data set to produce third resultant graphics data.
Dependencies are inferred from the claim text.