Claims
- 1. A method for improving magnified texture-mapped pixel performance in a computational pipeline, comprising:
generating a plurality of textured pixel addresses; examining two consecutive textured pixel addresses of the plurality of textured pixel addresses to determine if the two consecutive textured pixel addresses map to a same texel; merging the two consecutive textured pixel addresses if the two consecutive textured pixel addresses map to the same texel; processing the two merged consecutive textured pixel addresses if the two consecutive textured pixel addresses map to the same texel or processing a first of the two consecutive textured pixel addresses if the two consecutive textured pixel addresses do not map to the same texel; and repeating said examining, said merging, and said processing next two textured pixel addresses of the plurality of textured pixel addresses;
wherein, if the two consecutive textured pixel addresses map to the same texel, the next two textured pixel addresses comprise subsequent two consecutive textured pixel addresses of the plurality of textured pixel addresses to be examined in said examining; and wherein, if the two consecutive textured pixel addresses do not map to the same texel, the next two textured pixel addresses comprise a second of the two consecutive textured pixel addresses and a subsequent consecutive textured pixel address of the plurality of textured pixel addresses to be examined in said examining.
- 2. The method of claim 1, further comprising:
after said merging, propagating the two consecutive textured pixel addresses if the two consecutive textured pixel addresses map to the same texel or propagating the first of the two consecutive textured pixel addresses if the two consecutive textured pixel addresses do not map to the same texel.
- 3. The method of claim 1,
wherein said processing comprises:
generating texel data for the two merged consecutive textured pixel addresses if they map to the same texel else generating texel data for the first of the two consecutive textured pixel addresses.
- 4. The method of claim 3,
wherein said generating comprises generating the texel data for one or more textured pixel addresses at the same time.
- 5. The method of claim 3,
wherein the texel data comprises the common set of texels.
- 6. The method of claim 3,
wherein said processing further comprises:
filtering texel data to generate one or two texel values depending if the two consecutive textured pixel addresses map to the same texel.
- 7. The method of claim 6,
wherein each textured pixel address comprises U and V coordinates, wherein the U and V coordinates each comprises an integer and a fractional component.
- 8. The method of claim 7,
wherein said examining uses the integer components of the U and V coordinates of the each of the two consecutive textured pixel addresses.
- 9. The method of claim 7,
wherein the two merged textured pixel addresses comprise the integer components of the U and V coordinates.
- 10. The method of claim 9,
wherein the two merged textured pixel addresses comprise the fractional components of the U and V coordinates.
- 11. The method of claim 7,
wherein said filtering uses both the integer and fractional components of the U and V coordinates of each textured pixel address.
- 12. The method of claim 1,
wherein the plurality of textured pixel addresses are ordered linearly.
- 13. The method of claim 12,
wherein the plurality of textured pixel addresses are stored in a data structure, where the data structure is operable to linearly order the plurality of textured pixel addresses.
- 14. The method of claim 13,
wherein the data structure comprises one or more of:
one or more FIFO queues; one or more circular queues; and one or more sets of registers.
- 15. The method of claim 1,
wherein one or more pixels of the plurality of pixels is magnified.
- 16. The method of claim 15,
wherein for each one of the one or more magnified pixels, each step in screen space corresponds to less then one texel step in texture space.
- 17. The method of claim 16,
wherein the screen space comprises X and Y coordinates.
- 18. The method of clam 16,
wherein the texture space comprises U and V coordinates.
- 19. A method for improving magnified texture-mapped pixel performance in a computational pipeline, comprising:
generating a plurality of odd and even pixel addresses corresponding to a plurality of odd and even pixels; examining a first textured pixel address pair in order to determine if a first pixel pair corresponds to a common set of texels, wherein the first textured pixel address pair comprises an odd textured pixel address and an even textured pixel address; merging and propagating the first textured pixel address pair if said examining results in a common set of texels for the first pixel pair, wherein said merging operates to create a combined texel structure, else propagating the odd textured pixel address to a next stage in the computational pipeline and holding the even textured pixel address; and examining the second textured pixel address pair in order to determine if the second pixel pair corresponds to a common set of texels, wherein the second textured pixel address pair comprises one of:
a subsequent odd textured pixel address and a subsequent even textured pixel address if said examining the first textured pixel address pair determines that the first textured pixel address pair corresponds to the common set of texels; the even textured pixel address and the subsequent odd textured pixel address if said examining the first textured pixel address pair determines that the first textured pixel address pair does not correspond to the common set of texels.
- 20. The method of claim 19, further comprising:
generating texel data in response to receiving the combined texel structure or alternatively in response to receiving the textured pixel address; and filtering the texel data in order to generate one or two texture values.
- 21. The method of claim 19,
wherein the plurality of textured pixel addresses are stored in a data structure, where the data structure is operable to linearly order the plurality of textured pixel addresses.
- 22. The method of claim 21,
wherein the data structure comprises one or more of:
one or more FIFO queues; one or more circular queues; and one or more sets of registers.
- 23. A system for improving magnified textured pixel performance in a computational pipeline, comprising:
one or more texture address generators, operable to generate a plurality of textured pixel addresses corresponding to a plurality of pixels; control logic operable to examine texel requirements of first two consecutive textured pixel addresses out of the plurality of textures pixel addresses in order to determine whether first two corresponding pixels have identical texel composition; a merge unit operable to:
create and propagate a combined texel structure if the first two corresponding pixels have identical texel composition, wherein the combined texel structure comprises the first two consecutive textured pixel addresses merged together; propagate a first textured pixel address out of the first two consecutive textured pixel addresses if the first two corresponding pixels have different texel composition, wherein a second textured pixel addresses is operable to be examined later; a texture memory unit operable to receive either the combined texel structure or the first textured pixel addresses from the merge unit, wherein the texture memory unit is further operable to generate texel data; and one or more texture filters operable to receive the texel data from the texture memory unit and to filter the texel data to generate one or two textured pixels; wherein, if the first two corresponding pixels do not have the same texel composition, the second texture pixel address and a subsequent consecutive texture pixel address are operable to be examined by control logic for texel requirements.
- 24. A system for improving magnified textured pixel performance in a computational pipeline, comprising:
a texture address unit, operable to receive a plurality of pixels and examine two consecutive pixels out of the plurality of pixels, wherein the texture address unit is further operable to generate texel address data corresponding to the plurality of pixels; a texture memory unit operable to receive the texel address data and generate texel data; one or more texture filters operable to receive the texel data from the texture memory unit and to filter the texel data to generate one or two textured pixels; wherein the texel address data comprises:
data for the two consecutive pixels merged together if said examining determines that the two consecutive pixels map to a same texel; data for a first of the two consecutive pixels if said examining determines that the two consecutive pixels do not map to the same texel; wherein, if said examining determines that the two consecutive pixels do not map to the same texel, the next two consecutive pixels comprise the second of the two consecutive pixels and a third of the plurality of pixels, else the next two consecutive pixels comprise the third of the plurality of pixels and a fourth of the plurality of pixels.
- 25. The system of claim 24,
wherein the texture address unit comprises:
one or more texture address generators, operable to generate a plurality of textured pixel addresses corresponding to a plurality of pixels; control logic operable to examine texel requirements of two consecutive textured pixel addresses in order to determine whether the two corresponding pixels map to the same texel; a merge unit operable to:
create and propagate a combined texel structure if the two corresponding pixels map to the same texel, wherein the combined texel structure comprises the two consecutive textured pixel addresses merged together; propagate a first of the two consecutive textured pixel addresses if the two corresponding pixels map to the same texel, wherein the second of the two consecutive textured pixel addresses is operable to be examined later.
- 26. The system of claim 25,
wherein the plurality of textured pixel addresses are stored in a data structure, where the data structure is operable to linearly order at least a part of the plurality of textured pixel addresses.
- 27. The system of claim 26,
wherein the data structure comprises one or more of:
one or more FIFO queues; one or more circular queues; and one or more sets of registers.
- 28. The system of claim 26,
wherein the data structure can be comprised in one or more of:
an output of the merge unit; and an input of the one or more texture address generators.
- 29. The system of claim 25,
wherein each textured pixel address comprises U and V coordinates, wherein the U and V coordinates each comprises an integer and a fractional component.
- 30. The system of claim 29,
wherein the combined texel structure comprises the integer components of the U and V coordinates.
- 31. The system of claim 30,
wherein the combined texel structure comprises the fractional components of the U and V coordinates.
- 32. The system of claim 29,
wherein the one or more texture filters use both integer and fractional components of the U and V coordinates of each textured pixel address.
- 33. The system of claim 25,
wherein the control logic is operable to examine integer components of the U and V coordinates of each textured pixel address when said examining the texel requirements of each textured pixel address.
- 34. The system of claim 25,
wherein the merge unit comprises the control logic.
- 35. The system of claim 24,
wherein each one of the plurality of pixels comprises an associated textured pixel address.
- 36. The system of claim 24, further comprising:
a split unit, which is operable to receive the texel data and split the texel data into a first texel data and a second texel data and propagate the split texel data to the one or more texture filters if said examining determines that the two consecutive pixels map to the same texel else propagate the texel data comprising the first texel data to the one or more texture filters.
- 37. The system of claim 24,
wherein one or more pixels of the plurality of pixels is magnified.
- 38. The system of claim 24,
wherein for each one of the one or more magnified pixels, each step in screen space corresponds to less then one texel step in texture space.
- 39. The system of claim 38,
wherein the screen space comprises X and Y coordinates.
- 40. The system of clam 38,
wherein the texture space comprises U and V coordinates.
- 41. The system of claim 24,
wherein said mapping to the same texel indicates that the two consecutive pixels correspond to a common set of texels.
- 42. The system of claim 24,
wherein the texture memory unit is operable to generate texel data for one or more textured pixel addresses at the same time.
- 43. A system comprising:
a first and second texture filter; a texture memory; a first and second texture address generator configured to generate a plurality of texture coordinates in response to receiving a plurality of pixel positions; a merge unit configured to determine if the first and second of the plurality of texture coordinates correspond to a common set of texels on a texture map, and to send a single request for the common set of texels to the texture memory unit if the first and the second of the plurality of texture coordinates correspond to the common set of texels; wherein the texture memory unit is configured to provide the common set of texels to a first and a second texel filter in response to the single request; wherein the first and second texture filters are configured to filter the common set of texels to generate a first and second texture value respectively for the first and second pixel position respectively; wherein, if the first and second of the plurality of texture coordinates do not correspond to the common set of texels, the merge unit is further configured to determine if the second and a third of the plurality of texture coordinates correspond to a next common set of texels, wherein, if the second and the third of the plurality of texture coordinates correspond to the next common set of texels, the merge unit is further configured to send a next single request for the next common set of texels to the texture memory unit.
- 44. A system for improving magnified texture-mapped pixel performance in a computational pipeline, comprising:
means for generating a plurality of textured pixel addresses; means for examining two consecutive textured pixel addresses of the plurality of textured pixel addresses to determine if the two consecutive textured pixel addresses map to a same texel; means for merging the two consecutive textured pixel addresses if the two consecutive textured pixel addresses map to the same texel; means for processing the merged two consecutive textured pixel addresses if the two consecutive textured pixel addresses map to the same texel or processing a first of the two consecutive textured pixel addresses if the two consecutive textured pixel addresses do not map to the same texel; and means for repeating said examining, said merging, and said processing next two textured pixel addresses of the plurality of textured pixel addresses; wherein the next two textured pixel addresses comprise subsequent two consecutive textured pixel addresses of the plurality of textured pixel addresses if the two consecutive textured pixel addresses map to the same texel, else wherein the next two textured pixel addresses comprise a second of the two consecutive textured pixel addresses and a subsequent consecutive textured pixel address of the plurality of textured pixel addresses if the two consecutive textured pixel addresses do not map to the same texel.
- 45. A method for improving magnified texture-mapped pixel performance in a computational pipeline, comprising:
generating a plurality of textured pixel addresses corresponding to a plurality of pixels using one or more texture address generators; examining two consecutive textured pixel addresses received from the one or more texture address generators using a merge unit in order to determine if the two consecutive pixels map to a common set of texels; merging and propagating the two consecutive textured pixel addresses if the two consecutive pixels map to the common set of texels, else propagating only a first of the two consecutive textured pixel addresses if the two consecutive pixels map to the common set of texels, wherein merging operates to create a combined texel structure; using a texture memory unit, generating texel data in response to receiving the combined texel structure, or generating data in response to receiving the first of the two consecutive textured pixel addresses; filtering the texel data received from the texture memory unit using one or more texture filters in order to generate one or more texture values; repeating the steps of said examining, said merging, said generating, and said filtering for the second and a third of the plurality of textured pixel addresses if the two consecutive pixels do not map to the common set of texels; repeating the steps of said examining, said merging, said generating, and said filtering for the third and a fourth of the plurality of textured pixel addresses if the two consecutive pixels map to the common set of texels.
- 46. A system for improving magnified textured pixel performance in a computational pipeline, comprising:
texture address unit operable to receive a plurality of pixels and generate corresponding textured pixel addresses stored in a linearly ordered memory unit, wherein the texture address unit is further operable to examine a first and a second textured pixel address stored in the linearly ordered memory unit, wherein the texture address unit is further operable to propagate texel address data, the texel address data comprising:
data for the first and the second consecutive textured pixel address merged together if said examining determines that the first and the second consecutive textured pixel address map to a same texel; data for the first consecutive textured pixel address if said examining determines that the first and the second consecutive textured pixel address do not map to the same texel; a texture memory unit operable to receive the texel address data and generate texel data; and one or more texture filters operable to receive the texel data from the texture memory unit and to filter the texel data to generate one or more textured pixels; wherein the linear memory unit is operable update its data resulting in shifting of one or two textured pixel addresses depending on said examining.
- 47. The system of claim 46, wherein the linearly ordered memory unit comprises one or more of:
one or more FIFO queues; one or more circular queues; and one or more sets of registers.
- 48. A method for improving magnified texture-mapped pixel performance in a computational pipeline, comprising:
generating a plurality of textured pixel addresses; examining two consecutive textured pixel addresses of the plurality of textured pixel addresses to determine if the two consecutive textured pixel addresses map to a same texel; merging the two consecutive textured pixel addresses if the two consecutive textured pixel addresses map to the same texel; processing the two merged consecutive textured pixel addresses if the two consecutive textured pixel addresses map to the same texel or processing a second of the two consecutive textured pixel addresses if the two consecutive textured pixel addresses do not map to the same texel; and repeating said examining, said merging, and said processing for next two textured pixel addresses of the plurality of textured pixel addresses; wherein, if the two consecutive textured pixel addresses map to the same texel, the next two textured pixel addresses comprise subsequent two consecutive textured pixel addresses of the plurality of textured pixel addresses; and wherein, if the two consecutive textured pixel addresses do not map to the same texel, the next two textured pixel addresses comprise a first of the two consecutive textured pixel addresses and a third consecutive textured pixel address of the plurality of textured pixel addresses.
- 49. A system for improving magnified textured pixel performance in a computational pipeline, comprising:
a texture address unit, operable to receive a plurality of pixels and examine two consecutive pixels out of the plurality of pixels, wherein the texture address unit is further operable to generate texel address data corresponding to the plurality of pixels; a texture memory unit operable to receive the texel address data and generate texel data; one or more texture filters operable to receive the texel data from the texture memory unit and to filter the texel data to generate one or two textured pixels; wherein the texel address data comprises:
data for the two consecutive pixels merged together if said examining determines that the two consecutive pixels map to a same texel; data for a second of the two consecutive pixels if said examining determines that the two consecutive pixels do not map to the same texel, wherein, if said examining determines that the two consecutive pixels do not map to the same texel, the next two consecutive pixels comprise the first of the two consecutive pixels and a third of the plurality of pixels, else the next two consecutive pixels comprise the third of the plurality of pixels and a fourth of the plurality of pixels.
- 50. A method for improving magnified texture-mapped pixel performance in a computational pipeline, comprising:
generating a plurality of textured pixel addresses; examining two textured pixel addresses of the plurality of textured pixel addresses to determine if the two textured pixel addresses map to a same texel; merging the two textured pixel addresses if the two textured pixel addresses map to the same texel; processing the two merged textured pixel addresses if the two textured pixel addresses map to the same texel or processing a first of the two textured pixel addresses if the two textured pixel addresses do not map to the same texel.
- 51. The method of claim 50,
wherein said processing comprises:
generating texel data for the two merged textured pixel addresses if they map to the same texel else generating texel data for the first of the two textured pixel addresses.
CONTINUATION DATA
[0001] This is a continuation-in-part of co-pending application Ser. No. 10/094,934 titled “Improving Magnified Texture-Mapped Pixel Performance in a Single-Pixel Pipeline” filed Mar. 11, 2002, whose inventors are Brian D. Emberling and Michael G. Lavelle, and which is assigned to Sun Microsystems Corporation.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10094934 |
Mar 2002 |
US |
Child |
10317599 |
Dec 2002 |
US |