IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0919551
(2001-07-31)
|
발명자
/ 주소 |
- Kehlet, David
- Ramani, Nandini
- Tang, Yan Yan
- Swanson, Roger W.
|
출원인 / 주소 |
|
대리인 / 주소 |
Meyertons Hood Kivlin & Goetzel, P.C.
|
인용정보 |
피인용 횟수 :
39 인용 특허 :
7 |
초록
▼
A system and method for packing pixels together to provide a increased fill rate in a frame buffer hardware in the graphics system. The graphics system may be configured to receive and rasterize graphics data at a faster cycle rate than the system's frame buffer memory fill rate. The output from the
A system and method for packing pixels together to provide a increased fill rate in a frame buffer hardware in the graphics system. The graphics system may be configured to receive and rasterize graphics data at a faster cycle rate than the system's frame buffer memory fill rate. The output from the rasterization hardware may be stored in a FIFO memory that is configured to selectively shift pixels in order to improve fill rate performance. The FIFO memory may be configured to ensure that the pixels meet certain criteria in order to prevent page faults and interleave conflicts that could reduce the fill rate. The FIFO memory may also be configured to remove empty cycles that occur as a result of the pixel packing.
대표청구항
▼
1. A method for efficiently transferring output pixels, received from one or more graphics data rendering pipelines, to a frame buffer, the method comprising:receiving a tile of output pixels from one or more rendering pipelines, wherein a tile comprises one or more pixels, up to a specified maximum
1. A method for efficiently transferring output pixels, received from one or more graphics data rendering pipelines, to a frame buffer, the method comprising:receiving a tile of output pixels from one or more rendering pipelines, wherein a tile comprises one or more pixels, up to a specified maximum number of pixels, and wherein a full tile comprises the specified maximum number of pixels;storing the tile in one or more first-in first-out (FIFO) write queues connected to the output of the rendering pipelines;determining whether a second tile of pixels stored in the FIFO write queues has one or more pixels eligible to be shifted to a first tile, in response to detecting that the first tile of pixels is not a full tile of pixels;shifting the one or more eligible pixels from the second tile into the first tile; andtransferring the first tile of pixels from the FIFO write queues to a frame buffer, wherein said shifting results in an increase in the average number of pixels stored in the frame buffer per frame buffer write cycle. 2. The method of claim 1, wherein said determining includes calculating whether the one or more eligible pixels have addresses falling within a predefined range relative to the other pixels of the first tile. 3. The method of claim 1, wherein said determining includes calculating whether the second tile has an address falling within a predefined range of the first tile's address. 4. The method of claim 1, wherein said determining includes calculating whether the one or more pixels to be shifted have memory addresses falling within a same memory bank as the other pixels in the first tile. 5. The method of claim 1, further comprising determining whether a third tile of pixels stored in the FIFO memories has pixels to shift to the first tile. 6. The method of claim 1, further comprising determining whether another tile of pixels stored in the FIFO memories after the first and second tiles has one or more pixels to shift to the first tile or second tile in order to fill in gaps in the first tile or second tiles. 7. The method of claim 1, wherein each tile of pixels has a plurality of pixel positions, and wherein said shifting is performed within the same pixel position within the first and second tiles. 8. The method of claim 1, wherein said shifting includes removing one or more bubbles in the FIFO memories within a common boundary block. 9. The method of claim 1, wherein said FIFO includes a plurality of columns, wherein each column is configured to store pixels destined for a particular memory interleave of the frame buffer, and wherein said shifting occurs within columns. 10. The method of claim 1, wherein said shifting includes shifting selected pixels having a common position within subsequent tiles that are part of a common block with the first and second tiles. 11. The method of claim 1, wherein each tile is configured to store up to four pixels, wherein each tile storing four pixels is a full tile. 12. A method for efficiently transferring output samples, received from one or more graphics data rendering pipelines, to a frame buffer, the method comprising:receiving a tile of samples from one or more rendering pipelines, wherein a tile comprises one or more samples up to a specified maximum number of samples, and wherein a full tile comprises the specified maximum number of samples;storing the tile in one or more first-in first-out (FIFO) write queues connected to the output of the rendering pipelines;determining whether a second tile of samples stored in the FIFO write queues has one or more samples eligible to be shifted to a first tile, in response to detecting that the first and oldest tile of samples is not a full tile of samples;shifting the one or more eligible samples from the second tile into the first tile; andtransferring the first tile of samples from the FIFO write queues to a frame buffer, wherein said shifting results in an increase in the average number of samples stored in the frame b uffer per frame buffer write cycle. 13. The method of claim 12, further comprising tagging the samples with tags to identify the sample's interleave. 14. The method of claim 13, further comprising using the tags to determine which of the samples are suitable to be shifted. 15. A system for efficiently transferring pixels output from one or more graphics data rendering pipelines to a frame buffer, the system comprising:one or more rendering pipelines configured to output a tile of pixels, wherein a tile comprises one or more pixels up to a specified maximum number of pixels, and wherein a full tile comprises the specified maximum number of pixels;one or more first-in first-out (FIFO) write queues connected to the output of the rendering pipelines and configured to store the tile;a frame buffer connected to the write queues; andan interface for:storing the tile in the write queues,determining whether a second tile of pixels stored in the write queues has one or more pixels eligible to be shifted to a first tile, in response to detecting that the first and oldest tile of pixels is not a full tile of pixels,shifting the one or more eligible pixels from the second tile into the first tile, andtransfering the first tile of pixels from the write queues to the frame buffer, wherein said shifting results in an increase in the average number of pixels stored in the frame buffer per frame buffer write cycle. 16. The system of claim 15, wherein the frame buffer is a double buffered frame buffer. 17. The system of claim 15, wherein the frame buffer is an external memory separate from the rendering chip. 18. The system of claim 15, wherein the write queues and rendering pipelines are on a common chip.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.