Dynamic allocation of texture cache memory
First Claim
Patent Images
1. A graphic processing system comprising:
- a cache adapted to receive data from a system memory, the cache being partitioned into a plurality of slots, each of the plurality of slots including a plurality of cache lines; and
a register containing information regarding a plurality of texture maps provided to the plurality of slots, each of the plurality of slots dynamically allocated to a maximum of one of the plurality of texture maps based on relative sizes of the plurality of texture maps.
3 Assignments
0 Petitions
Accused Products
Abstract
A graphics processing system has a cache which is partitionable into two or more slots. Once partitioned, the slots are dynamically allocatable to one or more texture maps. First, number of texture maps needed to render a given scene is determined. Then, available slots of the cache are allocated to the texture maps. Sometimes, more slots are allocated to the largest texture map. At other times, more slots are allocated to the texture map which is likely to be used most often. The slots can also be allocated equally to all of the texture maps needed.
-
Citations
13 Claims
-
1. A graphic processing system comprising:
-
a cache adapted to receive data from a system memory, the cache being partitioned into a plurality of slots, each of the plurality of slots including a plurality of cache lines; and
a register containing information regarding a plurality of texture maps provided to the plurality of slots, each of the plurality of slots dynamically allocated to a maximum of one of the plurality of texture maps based on relative sizes of the plurality of texture maps.
-
-
2. A graphics processing system comprising:
-
a cache adapted to receive data from a system memory, the cache being partitioned into a plurality of slots, each of the plurality of slots including a plurality of cache lines; and
a register containing information regarding a plurality of texture maps provided to the plurality of slots, each of the plurality of slots dynamically allocated to a maximum of one of the plurality of texture maps based on relative usage of the plurality of texture maps.
-
-
3. A graphics processing system comprising:
-
a cache adapted to receive data from a system memory, the cache being partitioned into a plurality of slots, each of the plurality of slots including a plurality of cache lines; and
a register containing information regarding a plurality of texture maps provided to the plurality of slots, each of the plurality of slots dynamically allocated to a maximum of one of the plurality of texture maps, wherein the plurality of slots is dynamically allocated equally to the plurality of texture maps.
-
-
4. A method of performing graphics processing comprising:
-
partitioning a cache into a plurality of slots;
determining one or more texture maps needed to render a scene;
dynamically allocating the plurality of slots to the one or more texture maps, the plurality of slots each allocated to the one or more texture maps by determining a number of available slots, dividing the number of available slots by a number of texture maps, allocating each one of the plurality of slots to each one of the one or more texture maps, and allocating any remaining slots; and
updating a register with a slot allocation status. - View Dependent Claims (5, 6)
determining a largest texture map without additional slots; and
allocating one remaining slot to the largest texture map.
-
-
6. The method of performing graphics processing of claim 4, wherein allocating the slots further comprises:
-
determining a texture map which is likely to be used most frequently to render the scene; and
allocating one remaining slot to the texture map which is likely to be used most frequently to render the scene.
-
-
7. A method of dynamically allocating cache memory in a texture cache, comprising:
-
partitioning the cache into a plurality of slots;
determining a number of texture blocks to be rendered; and
allocating each of the plurality of slots to a maximum of one of the texture blocks, wherein the plurality of slots is allocated equally among the texture blocks.
-
-
8. A method of dynamically allocating cache memory in a texture cache, comprising:
-
partitioning the cache into a plurality of slots;
determining a number of texture blocks to be rendered; and
allocating each of the plurality of slots to a maximum of one of the texture blocks, wherein allocating each of the plurality of slots further comprises;
determining a largest texture map without additional slots; and
allocating one remaining slot to the largest texture map.
-
-
9. A method of dynamically allocating cache memory in a texture cache, comprising:
-
partitioning the cache into a plurality of slots;
determining a number of texture blocks to be rendered; and
allocating each of the plurality of slots to a maximum of one of the texture blocks, wherein allocating each of the plurality of slots further comprises;
determining a texture map which is likely to be used most frequently to render the scene; and
allocating one remaining slot to the texture map which is likely to be used most frequently to render the scene.
-
-
10. A system for performing graphics processing comprising:
-
means for determining one or more texture maps needed to render a scene;
means for dynamically allocating the plurality of slots to the one or more texture maps, the plurality of slots each allocated to the one or more texture maps by means for determining a number of available slots, means for dividing the number of available slots by a number of texture maps, means for allocating each one of the plurality of slots to each of the one or more texture maps, and means for allocating any remaining slots; and
means for updating a register with a slot allocation status.
-
-
11. An electronic-readable medium having embodied thereon a program, the program being executable by a machine to perform method steps for performing graphics processing, the method steps comprising:
-
partitioning a cache into a plurality of slots;
determining one or more texture maps needed to render a scene;
dynamically allocating the plurality of slots to the one or more texture maps, the plurality of slots each allocated to the one or more texture maps by determining a number of available slots, dividing the number of available slots by a number of texture maps, allocating each one of the plurality of slots to each one of the one or more texture maps, and allocating any remaining slots; and
updating a register with a slot allocation status. - View Dependent Claims (12, 13)
determining a largest texture map without additional slots; and
allocating one remaining slot to the largest texture map.
-
-
13. The electronic-readable medium of claim 11, wherein allocating the one or more slots to the one or more texture maps comprises:
-
determining a texture map which is likely to be used most frequently to render the scene; and
allocating one remaining slot to the texture map which is likely to be used most frequently to render the scene.
-
Specification