IP Library Granted Patent US 7,911,472
Granted Patent B2
US 7,911,472 · App. 11/305,763 · Granted Mar 22, 2011

System for reducing the number of programs necessary to render an image

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 7,911,472
App. No.
11/305,763
Granted
Mar 22, 2011
Kind
B2
Abstract

Disclosed is as system for reducing memory and computational requirements of graphics operations. The system provides techniques for combining otherwise individual operations to apply filters to images. The combined filter emerging from the combination spares the processor time and the creation of an entire intermediary image. The system further provides for application of these techniques in many contexts including where the operations are fragment programs in for a programmable GPU.

Claims (48)

1. A method of determining whether a first graphics processing unit (GPU) program may be combined with a second GPU program for processing, the method comprising the steps of:

checking a cache; and

if the cache has no information regarding a combination of a first graphics processing unit (GPU) program with a second GPU program, analyzing said programs to determine if a combination of the programs is possible;

if the cache indicates that the combination is possible, retrieving and using a result as indicated by said cache;

if the cache indicates that a combination is not possible, not analyzing said programs for possibility of combining.

2. The method of claim 1 wherein analyzing said programs comprises the step of:

comparing the output of the first program with the input of the second program.

3. The method of claim 2 wherein analyzing said programs comprises the step of:

checking each line in the second program and replacing references to the output of the first program.

4. The method of claim 2 wherein analyzing said programs comprises the step of:

determining if resident hardware is able to process the combined programs.

5. The method of claim 2 comprising the further steps of:

if said step of analyzing yields a result that the programs may be combined,

combining said programs by concatenating,

performing register allocation on the combined programs, and

placing the combined programs in the cache.

6. The method of claim 1 wherein analyzing said programs comprises the step of:

checking each line in the second program and replacing references to the output of the first program.

7. The method of claim 6 wherein analyzing said programs comprises the step of:

determining if resident hardware is able to process the combined programs.

8. The method of claim 6 comprising the further steps of:

if said step of analyzing yields a result that the programs may be combined,

combining said programs by concatenating,

performing register allocation on the combined programs, and

placing the combined program in the cache.

9. The method of claim 1 wherein analyzing said programs comprises the step of:

determining if resident hardware is able to process the combined programs.

10. The method of claim 9 comprising the further steps of:

if said step of analyzing yields a result that the programs may be combined,

combining said programs by concatenating,

performing register allocation on the combined programs, and

placing the combined programs in cache.

11. The method of claim 1 comprising the further steps of:

if said step of analyzing yields a result that the programs may be combined,

combining said programs by concatenating,

performing register allocation on the combined programs, and

placing the combined programs in the cache.

12. The method of claim 1 comprising the further step of:

if said step of analyzing yields a result that the programs may not be combined,

placing the result in the cache.

13. A non-transitory computer-readable medium having computer executable instructions stored therein for performing the method recited in claim 1 .

14. A computer system comprising:

a cache memory; and

one or more programmable control devices programmed to perform the acts of:

checking the cache; and

if the cache has no information regarding a combination of a first graphics processing unit (GPU) program and a second GPU program, analyzing said programs to determine if a combination of the programs is possible;

if the cache indicates that the combination is possible, retrieving and using a result as indicated by said cache;

if the cache indicates that a combination is not possible, not analyzing said programs for possibility of combining.

Assignments (1)
CHANGE OF NAME Recorded May 11, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019265/0961 →