Method and system for storing graphics data
First Claim
1. A method of storing graphics data using a rendering engine of a graphics processor, the method comprising the steps of:
- receiving a command at a control portion of the graphics processor, the command including a graphics data portion and a graphics data duration portion;
storing data associated with the graphics data portion at a first memory location when the graphics data duration portion indicates a first duration value; and
storing data associated with the graphics data portion at a second memory location when the graphics data duration portion indicates a second duration value.
2 Assignments
0 Petitions
Accused Products
Abstract
In accordance with a specific implementation of the present invention, the control portion of a graphics processor receives a command having both a data portion and a data duration portion. When the data duration portion indicates the data is transient data for short-term use, the control portion stores the data associated with the data portion at the first memory partition. When the data duration portion indicates the data is persistent data for long-term use, the control portion stores the data associated with the data portion at a second memory partition. In a multiple processor system, transient data may be stored only in a memory partition associated with a first processor, while persistent data may be stored in multiple memory partitions, one for each graphics processor.
-
Citations
37 Claims
-
1. A method of storing graphics data using a rendering engine of a graphics processor, the method comprising the steps of:
-
receiving a command at a control portion of the graphics processor, the command including a graphics data portion and a graphics data duration portion;
storing data associated with the graphics data portion at a first memory location when the graphics data duration portion indicates a first duration value; and
storing data associated with the graphics data portion at a second memory location when the graphics data duration portion indicates a second duration value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
storing data associated with the graphics data portion at the first memory location when the first duration value indicates the data is expected to be used in rendering fewer than a first predetermined number of frames.
-
-
3. The method of claim 2, wherein the step of storing data associated with the graphics data portion at the first memory location further includes:
storing data associated with the graphics data portion at the first memory when the first predetermined number of frames is 2.
-
4. The method of claim 2, wherein the step of storing data associated with the graphics data portion at the second memory location further includes:
storing data associated with the graphics data portion at the second memory location when the second duration value indicates the data is expected to be used in rendering more than a second predetermined number of frames.
-
5. The method of claim 1, wherein the step of storing data associated with the graphics data portion at the second memory location further includes:
storing data associated with the graphics data portion at the second memory location when the second duration value indicates the data is expected to be used to rendering at least a predetermined number of frames.
-
6. The method of claim 1, wherein the step of receiving further includes receiving the command at the control portion of the graphics processor, the command including the graphics data portion, wherein the graphics data portion is texture data.
-
7. The method of claim 1 wherein the step of receiving further includes:
receiving the command at the control portion of the graphics processor, the command including the graphics data portion, wherein data associated with the graphics data portion is object data.
-
8. The method of claim 1, wherein
the step of receiving further includes: -
receiving the command wherein the command further includes a graphics data type portion;
the step of storing data associated with the graphics data portion at the first memory location further includes;
storing data associated with the graphics data portion at the first memory location when the graphics data duration portion indicates the first duration value and the graphics data type portion indicates a first data type value;
the step of storing data associated with the graphics data portion at the second memory location further includes;
storing data associated with the graphics data portion at the second memory location when the graphics data duration portion indicates the second duration value and the graphics data type portion indicates the first data type value; and
the method further includes the steps of;
storing data associated with the graphics data portion at a third memory location when the graphics data duration portion indicates the first duration value and the graphics data type portion indicates a second data type value;
storing data associated with the graphics data portion at a fourth memory location when the graphics data duration portion indicates the second duration value and the graphics data type portion indicates the second data type value.
-
-
9. The method of claim 8, wherein the step of receiving further includes receiving the command at the control portion of the graphics processor, the command including the graphics data type portion, wherein the first data type indicates texture data and the second data type value indicates object data.
-
10. The method of claim 1, wherein
the step of storing data associated with the graphics data portion at the first memory location further includes storing data associated with the first memory location, wherein the first memory location is in a range of X1 to Y1, data is stored sequentially in the first memory from X1 to Y1, and Y1 has a value closer to Z than X1; - where
X1, Y1 and Z represent physical memory addresses, the step of storing data associated with the graphics data portion at the second memory location further includes storing data associated with the second memory location, wherein the second memory location is in a range of X2 to Y2, the data is stored sequentially in the second memory from m2 to Y2, and Y2 has a value closer to Z than X2;
whereX2, and Y2 represent physical memory addresses.
- where
-
11. The method of claim 1, wherein
the step of storing data associated with the graphics data portion at the first memory further includes the first duration value for indicating the graphics data portion is associated with a current frame; -
the step of storing data associated with the graphics data portion at the second memory further includes the second duration value for indicating the graphics data portion is associated with multiple frames; and
the method further includes the step of storing data associated with the graphics data portion at a third memory location when the graphics data duration portion indicates a third duration value, where the third duration value indicates the graphics data duration portion is associated with a future frame.
-
-
12. The method of claim 11, wherein the step of storing data associated with the graphics data portion at the third memory further includes
storing data associated with the graphics data portion at the third memory where data associated with the fixture frame is based on a next scene. -
13. The method of claim 11, wherein the step of storing data associated with the graphics data portion at the third memory further includes:
storing data associated with the graphics data portion at the third memory where data associated with the future frame is based on a next predicted scene.
-
14. The method of claim 1 further comprising the step of
flushing the fist memory independent of flushing the second memory. -
15. The method of claim 1, further including the step of:
allocating the first memory portion based upon the graphics data portion.
-
16. The method of claim 1, further including the step of:
allocating the second memory portion based upon the graphics data portion.
-
17. The method of claim 1, where in the step of receiving further includes:
-
receiving a plurality of commands at the control portion of the graphics processor, each of the plurality of commands having its own graphics data portion and graphics data duration portion, wherein the graphics data portion includes a set indicator; and
the method further includes the step ofdeallocating portions of the first memory based upon the set indicator.
-
-
18. The method of claim 17, wherein the step of deallocating includes:
deallocating portion of the second memory based upon the set indicator.
-
19. The method of claim 18, wherein the step of receiving further includes:
receiving the command, wherein the graphics data duration portion indicates a persistence of the graphics data duration.
-
20. The method of claim 19, wherein the step of receiving further includes persistence being an indication of a number of frames during which the graphics data duration portion is likely to be used.
-
21. The method of claim 19, wherein the step of receiving further includes persistence being an indication of a time during which the data associated with the graphics data duration portion is likely to be used.
-
22. The method of claim 1 wherein
the step of storing data associated with the graphics data portion at the first memory location includes storing data associated with the graphics data portion at the first fame buffer; - and
the step of storing data associated with the graphics data portion at the second memory location includes storing data associated with the graphics data portion at the second frame buffer.
- and
-
23. A method of storing graphics data in a multiple graphics processor system, the method comprising the steps of:
-
receiving a command at a control portion of the graphics processor, the command including a graphics data portion and a graphics data duration portion;
storing data associated with the graphics data portion at a first memory location associated with a first graphics processor when the graphics data duration portion indicates a first duration value; and
storing data associated with the graphics data portion at a second memory location associated with a second graphics processor when the graphics data duration portion indicates a second duration value. - View Dependent Claims (24, 25)
storing data associated with the graphics data portion at a third memory location of the first graphics processor.
-
-
25. The method of claim 24, wherein the step of storing data associated with the graphics data portion at a first memory location further includes:
-
storing data associated with the graphics data portion at a third memory location and not storing the graphics data portion in a memory location associated with the second graphics processor.
-
-
26. A method of storing graphics data using a graphics processor, the method comprising the steps of:
-
receiving a plurality of commands at a control portion of the graphics processor, wherein each of the plurality of commands includes a graphics data portion, a graphics data duration portion, and a set indicator;
for each of the plurality of commands, storing data associated with the graphics data portion in a first memory location when the graphics data duration portion indicates a first duration value; and
for each of the plurality of commands, storing data associated with the graphics data portion in a second memory location when the graphics data duration portion indicates a second duration value. - View Dependent Claims (27, 28)
deallocating at least a portion of data stored at the first memory location based upon a first value of the set indicator, wherein the at least a portion of data stored at the first memory locations includes data associated with commands having a first common set indicator.
-
-
28. The method of claim 26, further comprising the step of:
deallocating at least a portion of data stored at the second memory location based upon the first value of the set indicator, wherein the at least a portion of data stored at the second memory locations includes data associated with commands having a second common set indicator value.
-
29. A method of storing graphics data using a graphics processor, the method comprising the steps of:
-
receiving a first command and a second command of a plurality of commands at a control portion of the graphics processor, wherein each the plurality of commands includes a graphics data portion, a graphics data duration portion;
storing data associated with the first command closer to a memory location Y than data associated with the second command, wherein the first command has a graphics data duration portion indicating a longer persistence than does the second command.
-
-
30. A method of storing graphics data using a graphics processor, the method comprising the steps of:
-
receiving a plurality of commands at a control portion of the graphics processor, wherein each of the plurality of commands includes a graphics data portion, and a graphics data duration portion;
storing data associated with the plurality of commands in a memory based upon a value of the graphics data duration portion;
performing garbage collection on the memory. - View Dependent Claims (31, 32)
identifying data associated with a specific command of the plurality of commands for garbage collection; and
the step of performing further includes performing garbage collection on identified data.
-
-
32. The method of claim 30 further comprising the step of:
-
identifying data associated with a set of command of the plurality of commands for garbage collection;
and the step of performing includes;
performing garbage collection on identified data.
-
-
33. A system for storing graphics data, comprising:
-
a control portion having an input to receive a command;
a first memory location having an input node coupled to the control portion for storing data when a graphics data duration portion of the command indicates a first duration value; and
a second memory location having an input node coupled to the control portion for storing data when a graphics data duration portion of the command indicates a second duration value. - View Dependent Claims (34)
a first frame buffer including the first memory location; and
a second &
me buffer including the second memory location.
-
-
35. A method of storing graphics data using a rendering engine of a graphics processor, the method comprising the steps of;
-
receiving a first command and a second command of a plurality of commands at a control portion of the graphics processor, wherein each of the a plurality of commands includes a graphics data portion and a graphics data duration portion;
storing data associated with the first command at a first memory location when the corresponding graphics data duration portion indicates a first duration value; and
storing data associated with the second command at a second memory location when the corresponding graphics data duration portion indicates a second duration value, wherein the graphics data portion corresponding to the first command indicates a longer persistence than the graphics data portion corresponding to the second command. - View Dependent Claims (36, 37)
the first duration value indicates the data associated with the first command is expected to be used in rendering fewer than a first predetermined number of frames, and the second duration value indicates the data associated with the second command is expected to be used in rendering more than a second predetermined number of frames.
-
-
37. The method of claim 35 wherein:
-
the first duration value corresponds with transient data associated with the first command and is expected to be used in rendering a next frame, and the second duration value corresponds with persistent data associated with the second command and is expected to be used in rendering beyond the next frame.
-
Specification