Systems and Methods for Providing a Shared Buffer in a Multiple FIFO Environment
First Claim
Patent Images
1. A system for sharing a buffer in a multiple first-in-first-out (FIFO) computer graphics processing environment, comprising:
- a shared buffer configured to receive a plurality of attribute values corresponding to a plurality of graphics data values;
a plurality of data processing components, organized serially in a computer graphics pipeline, configured to process the plurality of graphics data values;
a plurality of pointer arrays, organized serially in the computer graphics pipeline and configured to maintain a plurality of pointers, corresponding to the plurality of attribute values; and
a buffer mask configured to identify at least one location of available memory in the shared buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are methods and systems for reducing memory bandwidth usage in a common buffer, multiple FIFO computing environment. The multiple FIFO'"'"'s are arranged in coordination with serial processing units, such as in a pipeline processing environment. The multiple FIFO'"'"'s contain pointers to entry addresses in a common buffer. Each subsequent FIFO receives only pointers that correspond to data that has not been rejected by the corresponding processing unit. Rejected pointers are moved to a free list for reallocation to later data.
-
Citations
29 Claims
-
1. A system for sharing a buffer in a multiple first-in-first-out (FIFO) computer graphics processing environment, comprising:
-
a shared buffer configured to receive a plurality of attribute values corresponding to a plurality of graphics data values; a plurality of data processing components, organized serially in a computer graphics pipeline, configured to process the plurality of graphics data values; a plurality of pointer arrays, organized serially in the computer graphics pipeline and configured to maintain a plurality of pointers, corresponding to the plurality of attribute values; and a buffer mask configured to identify at least one location of available memory in the shared buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for providing a common buffer in a computing environment having pointers in multiple first-in-first-out buffers (FIFO), comprising:
-
determining, in an attribute setup unit, a plurality of attribute values; reading a free list, configured to mask unavailable addresses in a common buffer, to establish a plurality of entry addresses, in the common buffer, corresponding to the plurality of attribute values; writing the plurality of attribute values to the plurality of entry addresses in the common buffer; writing a plurality of pointers, corresponding to the plurality of entry addresses, to a first pointer FIFO; tracking, in a first processing unit, a plurality of triangles to determine if any of the plurality of triangles is rejected; copying, to the free list, a portion of the plurality of pointers corresponding to rejected triangles; and transferring, to a second pointer FIFO, any of the plurality of pointers corresponding to triangles that are not rejected. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for reducing memory bandwidth usage in a common buffer, multiple first-in-first-out (FIFO) computing environment, comprising:
-
processing, serially, a plurality of data values in a plurality of pipeline processing units; storing attribute data, in a common buffer, corresponding to the plurality of data values; maintaining a plurality of pointers, corresponding to the plurality of data values, in a plurality of FIFO buffers; and discarding a portion of the plurality of pointers, corresponding to a portion of the plurality of data values that have been rejected by one of the plurality of pipeline processing units. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A system for utilizing a common buffer in a multiple first-in-first-out (FIFO) computing environment, comprising:
-
free list logic configured to maintain availability information regarding a plurality of entry addresses in a common buffer; FIFO logic configured to store and transfer a plurality of pointer values through a plurality of serially arranged FIFO'"'"'s; pipeline logic configured to process data utilizing a plurality of serially arranged processing units; and pointer logic configured to discard any of the plurality of pointers, that correspond to data rejected, from a subsequent one of the plurality of serially arranged FIFO'"'"'s.
-
Specification