IP Library Granted Patent US 9,715,715
Granted Patent B2
US 9,715,715 · App. 13/792,562 · Granted Jul 25, 2017

Efficient cache preloading

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 9,715,715
App. No.
13/792,562
Granted
Jul 25, 2017
Kind
B2
Abstract

Methods, systems, and software are provided that may perform, for example, the following. A preload table may be determined based on a graphics item to be processed. The graphics item may comprise a plurality of graphics lines. The preload table may indicate a pattern of pixel processing and cache line preloading operations for a single one of the graphics lines. For each of the graphics lines of the graphics item, the pixels may be processed and the cache line preloading operations may be performed in accordance with the preload table.

Claims (34)

1. A method for processing a graphics item comprising a plurality of graphics lines, each graphics line comprising one or more pixels, the method comprising:

loading, by a computing device, a first cache line with a first set of pixels from a first graphics line of the graphics item,

while loading the first cache line, generating, by the computing device, a preload table based on the properties of the first graphics line, and wherein the preload table indicates a pattern of pixel processing and cache line preloading operations for a single graphic line of the plurality of graphics lines, wherein the pattern of pixel processing comprises rendering one or more destination pixels;

processing at least one pixel of first cache line and simultaneously preloading a next cache line with a next set of pixels until all but a last pixel of the first graphics line is processed;

processing the last pixel of the first graphics line without issuing a preload command; and

repeating the method for each graphic line in this manner until all graphic lines of the graphic item are processed.

2. The method of claim 1 , wherein said processing the pixels comprises processing as part of at least one of the following: an alpha blending operation, an interpolation operation, a color format conversion operation, or a color processing operation.

3. The method of claim 1 , wherein the preload table comprises pairs of values, wherein each pair of values indicates one or more particular pixels of the graphics line to be processed and an index or index offset of a cache line to be preloaded.

4. The method of claim 1 , wherein said determining comprises determining the preload table based on an offset of a first pixel of each graphics line of the graphics item.

5. The method of claim 1 , wherein said determining comprises determining the preload table based on a length of each graphics line of the graphics item.

6. The method of claim 4 , wherein the length of each graphics line is the same.

7. The method of claim 1 , wherein said determining comprises determining the preload table such that the preload table identifies instructions that each of a plurality of cache lines are preloaded according to the preload table are preloaded with at least a predetermined number of pixels before a pixel from the cache line is processed according to the preload table.

8. The method of claim 1 , wherein said determining comprises determining the preload table such that the preload table identifies instructions that a first cache line used for a next one of the graphics lines is preloaded upon preloading a last cache line for a current one of the graphics lines.

9. The method of claim 8 , wherein said determining comprises determining the preload table such that the preload table identifies further instructions that if the first cache line holds less than a predetermined number of pixels, then a second next cache line is also preloaded.

10. A non-transitory computer-readable storage medium comprising computer-executable instructions when executed by a computing device for performing a method for processing a graphics item comprising a plurality of graphics lines, each of the graphics line comprising one or more pixels, the method comprising:

loading, by a computing device, a first cache line with a first set of pixels from a first graphics line of the graphics item;

while loading the first cache line, determining, by the computing device, a preload table based on the properties of the first graphics line, wherein the preload table indicates a pattern of pixel processing and cache line preloading operations for a single graphic line of the plurality of graphics lines, wherein the pattern of pixel processing comprises rendering one or more destination pixels;

processing at least one pixel of the first cache line and simultaneously preloading a next cache line with a next set of pixels until all but a last pixel of the first graphics line is processed;

processing the last pixel of the first graphics line without issuing a preload command; and

repeating the method for each graphic line in this manner until all graphic lines of the graphic item are processed.

11. The non-transitory computer-readable storage medium of claim 10 , wherein said processing the pixels comprises processing as part of at least one of the following: an alpha blending operation, an interpolation operation, a color format conversion operation, or a color processing operation.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the preload table comprises pairs of values, wherein each pair of values indicates one or more of particular pixels of the graphics line to be processed and an index or index offset of a cache line to be preloaded.

13. The non-transitory computer-readable storage medium of claim 10 , wherein said determining comprises determining the preload table based on an offset of a first pixel of each graphics line of the graphics item.

14. The non-transitory computer-readable storage medium of claim 10 , wherein said determining comprises determining the preload table based on a length of each graphics line of the graphics item.

15. The non-transitory computer-readable storage medium of claim 10 , wherein said determining comprises determining the preload table such that the preload table identifies instructions that each of a plurality of cache lines are preloaded according to the preload table are preloaded at least a predetermined number of pixels before a pixel from the cache line is processed according to the preload table.

16. The non-transitory computer-readable storage medium of claim 10 , wherein said determining comprises determining the preload table such that the preload table identifies instructions that a first cache line used for a next one of the graphics lines is preloaded upon preloading a last cache line for a current one of the graphics lines.

17. The non-transitory computer-readable storage medium of claim 16 , wherein said determining comprises determining the preload table such that the preload table identifies further instructions that if the first cache line holds less than a predetermined number of pixels, then a second next cache line is also preloaded.

18. A method for processing a graphics item comprising a plurality of graphics lines, each graphics line comprising one or more pixels, the method comprising:

loading, by a computing device, a first cache line with at least a first part of a first graphics line of the graphics item,

generating, by the computing device, a preload table based on the graphics item, wherein the preload table indicates how many pixels to process before performing a cache line preloading operation and indicates one or more destination pixels to render;

for each of a plurality of graphics lines of the graphics item, re-using by the computing device the preload table by applying the pre-load table line-by-line to each graphic line of the plurality of graphic lines to process pixels of the graphics line and perform cache preloading; and

wherein the preload table is generated based on at least one or more factors selected from the group consisting of a length of a graphics line, an alignment of a graphics lines, a length of a cache line, a scaling factor, a preload distance, and combinations thereof.

19. The method of claim 18 , wherein said processing the pixels comprises processing as part of at least one of the following: an alpha blending operation, an interpolation operation, a color format conversion operation, or a color processing operation.

20. The method of claim 18 , wherein said re-using the preload table comprises using, for each of the graphics line, the preload table as a set of instructions, and performing pixel processing and cache preloading according to the instructions.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2022
From: INTEL DEUTSCHLAND GMBH
To: INTEL CORPORATION
Reel/Frame 061356/0001 →
CHANGE OF NAME Recorded Nov 6, 2015
From: INTEL MOBILE COMMUNICATIONS GMBH
To: INTEL DEUTSCHLAND GMBH
Reel/Frame 037057/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2013
From: SOEGTROP, MICHAEL
To: INTEL MOBILE COMMUNICATIONS GMBH
Reel/Frame 029981/0281 →