IP Library › Granted Patent US 10,943,391
Granted Patent B2
US 10,943,391 · App. 16/221,213 · Granted Mar 9, 2021

Graphics texture footprint discovery

Inventor: Christopher J. Brennan (Boxborough, MA)
Assignee: ADVANCED MICRO DEVICES, INC.
G06T15/80G06F9/30029G06F9/3877G06F9/5038G06T15/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,943,391
App. No.
16/221,213
Granted
Mar 9, 2021
Kind
B2
Abstract

Accesses to a mipmap by a shader in a graphics pipeline are monitored. The mipmap is stored in a memory or cache associated with the shader and the mipmap represents a texture at a hierarchy of levels of detail. A footprint in the mipmap of the texture is marked based on the monitored accesses. The footprint indicates, on a per-tile, per-level-of-detail (LOD) basis, tiles of the mipmap that are expected to be accessed in subsequent shader operations. In some cases, the footprint is defined by a plurality of footprint indicators that indicate whether the tiles of the mipmap are expected to be accessed in subsequent shader operations. In that case, the plurality of footprint indicators are set to a first value to indicate that the tile was not access during the first frame or a second value to indicate that the tile was accessed during the first frame.

Claims (28)

1. A method comprising:

monitoring accesses to a mipmap by a shader in a graphics pipeline, wherein the mipmap is stored in a memory or cache associated with the shader, and wherein the mipmap represents a texture at a hierarchy of levels of detail; and

marking a footprint in the mipmap of the texture based on the monitored accesses, wherein the footprint indicates, on a per-tile, per-level-of-detail (LOD) basis, tiles of the mipmap that are expected to be accessed in subsequent shader operations.

2. The method of claim 1 , wherein monitoring accesses to the mipmap by the shader comprises determining that the shader accessed a first tile at a first LOD in the mipmap.

3. The method of claim 2 , wherein the footprint is defined by a plurality of footprint indicators that indicate, on a per-tile, per-LOD basis, whether the tiles of the mipmap are expected to be accessed in subsequent shader operations.

4. The method of claim 3 , wherein each of the plurality of footprint indicators are set to a first value to indicate that corresponding tiles were not accessed during a monitored time interval or a second value to indicate that corresponding tiles were accessed during the monitored time interval.

5. The method of claim 4 , wherein marking the footprint in the mipmap of the texture comprises setting a first footprint indicator of the plurality of footprint indicators to the second value to indicate that the first tile at the first LOD is included in the footprint in response to detecting that the shader accessed the first tile at the first LOD during the monitored time interval.

6. The method of claim 5 , wherein setting the first footprint indicator comprises performing a logical-OR of a value of the first footprint indicator prior to the monitored time interval and the second value.

7. The method of claim 5 , further comprising:

setting at least one second footprint indicator to the second value to indicate that at least one second tile adjacent to the first tile is expected to be accessed during the subsequent shader operations.

8. The method of claim 3 , wherein the plurality of footprint indicators comprises information indicating at least one of ages and priorities associated with the plurality of footprint indicators.

9. The method of claim 8 , further comprising:

modifying at least one of the plurality of footprint indicators based on at least one corresponding age or priority indicated in the at least one footprint indicator.

10. An apparatus comprising:

a memory or cache to store a mipmap for access by a shader in a graphics pipeline, wherein the mipmap represents a texture at a hierarchy of levels of detail; and

a processor configured to monitor accesses to the memory or cache by the shader and mark a footprint in the mipmap of the texture based on the monitored accesses, wherein the footprint indicates, on a per-tile, per-level-of-detail (LOD) basis, tiles of the mipmap that are expected to be accessed in subsequent shader operations.

11. The apparatus of claim 10 , wherein the processor is configured to determine that the shader accessed a first tile at a first LOD in the mipmap.

12. The apparatus of claim 11 , wherein the footprint is defined by a plurality of footprint indicators that indicate, on a per-tile, per-LOD basis, whether the tiles of the mipmap are expected to be accessed in subsequent shader operations.

13. The apparatus of claim 12 , wherein the processor is configured to set each of the plurality of footprint indicators to a first value to indicate that corresponding tiles were not access during a monitored time interval or a second value to indicate that corresponding tiles were accessed during the monitored time interval.

14. The apparatus of claim 13 , wherein the processor is configured to set a first footprint indicator of the plurality of footprint indicators to the second value to indicate that the first tile at the first LOD is included in the footprint in response to detecting that the shader accessed the first tile at the first LOD during the monitored time interval.

15. The apparatus of claim 14 , wherein the processor is configured to set the first footprint indicator by performing a logical-OR of a value of the first footprint indicator prior to the monitored time interval and the second value.

16. The apparatus of claim 14 , wherein the processor is configured to set at least one second footprint indicator to the second value to indicate that at least one second tile adjacent to the first tile is expected to be accessed during the subsequent shader operations.

17. The apparatus of claim 12 , wherein the plurality of footprint indicators comprises information indicating at least one of ages and priorities associated with the plurality of footprint indicators.

18. The apparatus of claim 17 , wherein the processor is configured to modify at least one of the plurality of footprint indicators based on at least one corresponding age or priority indicated in the at least one footprint indicator.

19. A method comprising:

marking a footprint in a mipmap of a texture in response to detecting accesses to the mipmap by a shader in a graphics pipeline during a first frame, wherein the mipmap is stored in a memory or cache associated with the shader, wherein the mipmap represents the texture at a hierarchy of levels of detail, and wherein the footprint indicates, on a per-tile, per-level-of-detail (LOD) basis, tiles of the mipmap that are expected to be accessed in a second frame subsequent to the first frame; and

generating textures for storage in a memory or cache associated with the shader based on the footprint.

20. The method of claim 19 , wherein the footprint is defined by a plurality of footprint indicators that indicate, on a per-tile, per-LOD basis, whether the tiles of the mipmap are expected to be accessed in subsequent shader operations, and wherein marking the footprint comprises setting each of the plurality of footprint indicators to a first value to indicate that the tile was not access during the first frame or a second value to indicate that the tile was accessed during the first frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2018
From: BRENNAN, CHRISTOPHER J.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 047807/0669 →
Continuity (1)
Related Publication 20200193697A1 · Jun 18, 2020