IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0454518
(1999-12-06)
|
발명자
/ 주소 |
- Kirk, David B.
- Sabella, Paolo E.
- Flaig, Charles M.
- Kilgard, Mark J.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
2 인용 특허 :
2 |
초록
▼
A system, method, and article of manufacture are provided for allowing direct memory access to graphics vertex data by a graphics accelerator module. First, vertex data is stored in memory. Next, an index is received which is representative of a portion of the vertex data in the memory. A location i
A system, method, and article of manufacture are provided for allowing direct memory access to graphics vertex data by a graphics accelerator module. First, vertex data is stored in memory. Next, an index is received which is representative of a portion of the vertex data in the memory. A location is then determined in the memory in which the portion of the vertex data is stored. Such portion of the vertex data may thereafter be directly retrieved from the determined location in the memory while bypassing a processor.
대표청구항
▼
1. A method for allowing direct memory access to graphics vertex data by a graphics accelerator module, comprising:storing vertex data in memory; receiving an index representative of a portion of the vertex data in the memory; determining a location in the memory in which the portion of the vertex d
1. A method for allowing direct memory access to graphics vertex data by a graphics accelerator module, comprising:storing vertex data in memory; receiving an index representative of a portion of the vertex data in the memory; determining a location in the memory in which the portion of the vertex data is stored; and retrieving the portion of the vertex data directly from the determined location in the memory; wherein the location in the memory is determined by carrying out a calculation using the index; wherein the calculation includes multiplying the index by a stride value and adding an offset value thereto in order to determine the location in the memory; wherein the vertex data includes a plurality of components each of which has a separate associated stride value and offset value; wherein each of the components of the vertex data includes at least one associated format value indicative of a size and type of the corresponding component of the vertex data; wherein the vertex data is situated in an interleaved configuration; wherein the vertex data includes normal data, texture data, color data, and weight data. 2. The method as recited in claim 1, wherein the memory includes system memory.3. The method as recited in claim 1, wherein the memory includes memory of the graphics accelerator module.4. The method as recited in claim 1, wherein after retrieving the portion of the vertex data, the method further includes the operations of: caching the portion of the vertex data in a cache memory; and retrieving the portion of the vertex data from the cache memory upon repeated receipt of an index representative of the portion of the vertex data.5. The method as recited in claim 1, wherein after retrieving the portion of the vertex data, processing the portion of the vertex data.6. The method as recited in claim 5, wherein the processing includes reformatting and transformation.7. The method as recited in claim 5, wherein after processing of the vertex data, the method further includes the operations of storing the processed vertex data in a vertex file; and retrieving the processed vertex data from the vertex file upon repeated receipt of the index representative of the portion of the vertex data.8. A system for allowing direct memory access to graphics vertex data, comprising:memory for storing vertex data; a graphics accelerator module for receiving an index representative of a portion of the vertex data in the memory; and a processor for determining a location in the memory in which the portion of the vertex data is stored; wherein the graphics accelerator module is adapted for retrieving the portion of the vertex data directly from the determined location in the memory; wherein the location in the memory is determined by carrying out a calculation using the index; wherein the calculation includes multiplying the index by a stride value and adding an offset value thereto in order to determine the location in the memory; wherein the vertex data includes a plurality of components each of which has a separate associated stride value and offset value; wherein each of the components of the vertex data includes at least one associated format value indicative of a size and type of the corresponding component of the vertex data; wherein the vertex data is situated in an interleaved configuration; wherein the vertex data includes normal data, texture data, color data, and weight data. 9. The system as recited in claim 8, wherein the memory includes system memory.10. The system as recited in claim 8, wherein the memory includes memory of the graphics accelerator module.11. The system as recited in claim 8, wherein after retrieving the portion of the vertex data, the system further includes: means for caching the portion of the vertex data in a cache memory; and means for retrieving the portion of the vertex data from the cache memory upon repeated receipt of an index representative of the portion of the vertex data.12. The system as recited in claim 8, wherein after retrieving the portion of the vertex data, the portion of the vertex data is processed.13. The system as recited in claim 12, wherein the processing includes reformatting and transformation.14. The system as recited in claim 12, wherein after processing of the vertex data, the system further includes logic for storing the processed vertex data in a vertex file; and logic for retrieving the processed vertex data from the vertex file upon repeated receipt of the index representative of the portion of the vertex data.15. A computer program embodied on a computer readable medium for allowing direct memory access to graphics vertex data by a graphics accelerator module, comprising:a code segment for storing vertex data in memory; a code segment for receiving an index representative of a portion of the vertex data in the memory; a code segment for determining a location in the memory in which the portion of the vertex data is stored; and a code segment for retrieving the portion of the vertex data directly from the determined location in the memory; wherein the location in the memory is determined by carrying out a calculation using the index; wherein the calculation includes multiplying the index by a stride value and adding an offset value thereto in order to determine the location in the memory; wherein the vertex data includes a plurality of components each of which has a separate associated stride value and offset value; wherein each of the components of the vertex data includes at least one associated format value indicative of a size and type of the corresponding component of the vertex data; wherein the vertex data is situated in an interleaved configuration; wherein the vertex data includes normal data, texture data, color data, and weight data. 16. The computer program as recited in claim 15, wherein the computer program is suitable for storing the vertex data in system memory.17. The computer program as recited in claim 15, wherein the computer program is suitable for storing the vertex data in graphics accelerator module memory.18. The computer program as recited in claim 15, wherein after retrieving the portion of the vertex data, the computer program further includes: a code segment for caching the portion of the vertex data in a cache memory; and a code segment for retrieving the portion of the vertex data from the cache memory upon repeated receipt of an index representative of the portion of the vertex data.19. The computer program as recited in claim 15, wherein after retrieving the portion of the vertex data, the portion of the vertex data is processed.20. The computer program as recited in claim 19, wherein the processing includes reformatting and transformation.21. The computer program as recited in claim 19, wherein after processing of the vertex data, the computer program further includes a code segment for storing the processed vertex data in a vertex file; and a code segment for retrieving the processed vertex data from the vertex file upon repeated receipt of the index representative of the portion of the vertex data.22. A method for allowing direct memory access to graphics data by a graphics accelerator module, comprising:(a) identifying a stride value and an offset value associated with graphics data; (b) determining a range in memory in which the graphics data is stored based at least in part on the stride value and the offset value; and (c) directly accessing the graphics data in the range in the memory; wherein the range in memory in which the graphics data is stored is determined based on a calculation including at least in part multiplying an index by a stride value and adding an offset value thereto; wherein the graphics data includes a plurality of components each of which has a separate associated stride value and offset value; wherein each of the components of the graphics data includes at least one associated format value indicative of a size and type of the corresponding component of the graphics data; wherein the graphics data is situated in an interleaved configuration; wherein the graphics data includes normal data, texture data, color data, and weight data. 23. A method as recited in claim 22, wherein the graphics data is retrieved when accessed.24. A method for allowing direct memory access to graphics data by a graphics accelerator module, comprising:(a) identifying a stride, an offset, and a format associated with graphics data; (b) locating graphics data stored in memory based at least in part on the stride, the offset, and the format; and (c) directly accessing the graphics data in the memory; wherein the graphics data includes a plurality of components each of which has a separate associated stride value and offset value; wherein each of the components of the graphics data includes at least one associated format value indicative of a size and type of the corresponding component of the graphics data; wherein the graphics data is situated in an interleaved configuration; wherein the graphics data includes normal data, texture data, color data, and weight data. 25. A data structure stored in memory for allowing direct memory access to graphics data by a graphics accelerator module, comprising:(a) parameter objects identifying a stride, an offset, and a format associated with graphics data; wherein the graphics data is stored in memory, and is directly accessed based at least in part on the stride, the offset, and the format; wherein the graphics data includes a plurality of components each of which has a separate associated stride value and offset value; wherein each of the components of the graphics data includes at least one associated format value indicative of a size and type of the corresponding component of the graphics data; wherein the graphics data is situated in an interleaved configuration; wherein the graphics data includes normal data, texture data, color data, and weight data. 26. A data structure stored in memory for allowing direct memory access to graphics data by a graphics accelerator module, comprising:(a) parameter objects identifying a size and a type associated with graphics data; wherein the graphics data is stored in memory, and is directly accessed based at least in part on the size and the type; wherein the graphics data includes a plurality of components each of which has a separate associated stride value and offset value; wherein each of the components of the graphics data includes at least one associated format value indicative of the size and type of the corresponding component of the graphics data; wherein the graphics data is situated in an interleaved configuration; wherein the graphics data includes normal data, texture data, color data, and weight data. 27. A data structure as recited in claim 25, wherein the graphics data includes:position (X Y Z W) [stride0, offset0, format0]; diffuse(R G B A) [stride1, offset1, format1]; specular(R G B F) [stride2, offset2, format2]; texture0 (S T R Q) [stride3, offset3, format3]; texture1 (S T R Q) [stride4, offset4, format4]; fog(F) [stride5, offset5, format5]; normal (Nx Ny Nz) [stride6, offset6, format6]; and weight (W) [stride7, offset7, format 7].
※ AI-Helper는 부적절한 답변을 할 수 있습니다.