IP Library Granted Patent US 9,424,622
Granted Patent B2
US 9,424,622 · App. 13/924,958 · Granted Aug 23, 2016

Methods and apparatus for processing graphics data using multiple processing circuits

Inventors: Grigori Temkine (Markham, CA); Gordon Caruk (Bramalea, CA); Oleg Drapkin (Richmond Hill, CA)
Assignee: ATI Technologies ULC
G06T1/20G09G5/363
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,424,622
App. No.
13/924,958
Granted
Aug 23, 2016
Kind
B2
Abstract

Methods and apparatus for providing multiple graphics processing capacity, while utilizing unused integrated graphics processing circuitry on a bridge circuit along with an external or discrete graphics processing unit is disclosed. In particular, a bridge circuit includes an integrated graphics processing circuit configured to process graphics jobs. The bridge circuit also includes an interface operable according to interface with a discrete graphics processing circuit. A controller is included with the bridge circuit and responsive whenever the discrete graphics processing circuit is coupled to the interface to cause the integrated graphics processing circuit to process a task of the graphics job in conjunction with operation of the discrete graphics processing circuit that is operable to process another task of the graphics job. Corresponding methods are also disclosed.

Claims (30)

1. An apparatus comprising:

an integrated graphics processing circuit configured to process graphics jobs from an application run on a processor;

a discrete graphics processing circuit;

an interface operable to interface with the discrete graphics processing circuit;

a system memory operably coupled to the integrated graphics processing circuit and the discrete graphics processing circuit; and

a controller operably coupled to the system memory and configured to detect when the discrete graphics processing circuit is coupled to the interface and to cause the integrated graphics processing circuit to process at least one task of a graphics job at the same time as the discrete graphics processing circuit operates to process at least another task of the same graphics job, wherein the graphics job includes a series of graphics calculation processing tasks for manipulating data so as to produce an image for display, wherein the integrated graphics processing circuit is configured to process the at least one task of the graphics job by performing at least a first number of the series of graphics calculation processing tasks for manipulating data so as to produce the image at the same time as the discrete graphics processing circuit operates to process the at least another task of the same graphics job by performing at least a second number of the series of graphics calculation processing tasks for manipulating data so as to produce the image, wherein the controller establishes separate data paths for the integrated graphics processing circuit and the discrete graphics processing circuit for each to independently access the system memory to manipulate the data.

2. The apparatus of claim 1 wherein the controller is comprised of at least one of a central processing unit and a controller in a bridge circuit.

3. The apparatus of claim 1 , wherein the at least the first number of the series of graphics calculation processing tasks for manipulating data so as to produce the image includes calculating vertexes, and wherein the at least the second number of the series of graphics calculation processing tasks for manipulating data so as to produce the image includes rendering.

4. An apparatus comprising:

an integrated graphics processing circuit configured to process graphics jobs from an application run on a processor;

a discrete graphics processing circuit;

an interface operable to interface with the discrete graphics processing circuit;

a system memory operably coupled to the integrated graphics processing circuit and the discrete graphics processing circuit; and

a controller operably coupled to the system memory and configured to detect when the discrete graphics processing circuit is coupled to the interface and to cause the integrated graphics processing circuit to perform at least a first number of graphics calculation processing tasks for manipulating data so as to produce an image for display, the at least the first number of graphics calculation processing tasks including 2D engine tasks, at the same time as the discrete graphics processing circuit operates to perform at least a second number of graphics calculation processing tasks for manipulating data so as to produce an image for display, the at least the second number of graphics calculation processing tasks including 3D rendering tasks, wherein the controller establishes separate data paths for the integrated graphics processing circuit and the discrete graphics processing circuit for each to independently access the system memory to manipulate the data.

5. An apparatus comprising:

an integrated graphics processing circuit configured to process graphics jobs from an application run on a processor;

a discrete graphics processing circuit;

an interface operable to interface with the discrete graphics processing circuit;

a system memory operably coupled to the integrated graphics processing circuit and the discrete graphics processing circuit; and

a controller operably coupled to the system memory and configured to detect when the discrete graphics processing circuit is coupled to the interface and to cause a first graphics calculation processing task for manipulating data so as to produce an image for display, the first graphics calculation processing task having higher memory needs, to be given preference for processing by the integrated graphics processing circuit; and to cause second graphics calculation processing tasks for manipulating data so as to produce the image of a same graphics job, the second graphics calculation processing tasks requiring less memory resources, to be given to the discrete graphics processing circuit for processing at the same time as at least a portion of the processing of the first graphics calculation processing task by the integrated graphics processing circuit, wherein the controller establishes separate data paths for the integrated graphics processing circuit and the discrete graphics processing circuit for each to independently access the system memory to manipulate the data.

6. A method carried out by a video graphics processing system comprising:

detecting, by a controller, when a discrete graphics processing circuit is coupled to an interface;

in response to the detection, causing, by the controller, an integrated graphics processing circuit to process at least one task of a graphics job at the same time as using the discrete graphics processing circuit to process at least another task of the same graphics job, the graphics job including a series of graphics calculation processing tasks for manipulating data so as to produce an image for display, the integrated graphics processing circuit processing the at least one task of the graphics job by performing at least a first number of the series of graphics calculation processing tasks for manipulating data so as to produce the image at the same time as the discrete graphics processing circuit processes the at least another task of the same graphics job by performing at least a second number of the series of graphics calculation processing tasks for manipulating data so as to produce the image, wherein separate data paths are established for the integrated graphics processing circuit and the discrete graphics processing circuit for each to independently access system memory for manipulating the data.

7. The method of claim 6 , wherein the at least the first number of the series of graphics calculation processing tasks for manipulating data so as to produce the image includes calculating vertexes, and wherein the at least the second number of the series of graphics calculation processing tasks for manipulating data so as to produce the image includes rendering.

8. A method carried out by a video graphics processing system comprising:

detecting, by a controller, when a discrete graphics processing circuit is coupled to an interface; and

in response to the detection, causing, by the controller, an integrated graphics processing circuit to perform at least a first number of graphics calculation processing tasks for manipulating data so as to produce an image for display, the at least the first number of graphics calculation processing tasks including 3D engine tasks, at the same time as the discrete graphics processing circuit operates to perform at least a second number of graphics calculation processing tasks for manipulating data so as to produce the image, the at least the second number of graphics calculation processing tasks including 2D rendering tasks, wherein separate data paths are established for the integrated graphics processing circuit and the discrete graphics processing circuit for each to independently access system memory for manipulating the data.

9. A method carried out by a video graphics processing system comprising:

detecting, by a controller, when a discrete graphics processing circuit is coupled to an interface;

in response to the detection, causing, by the controller, a first graphics calculation processing task for manipulating data so as to produce an image for display, the first graphics calculation processing task having higher memory needs, to be given preference for processing by an integrated graphics processing circuit configured to process graphics jobs from an application run on a processor, and to cause second graphics calculation processing tasks for manipulating data so as to produce the image of a same graphics job, the second graphics calculation processing tasks requiring less memory resources, to be given to the discrete graphics processing circuit for processing at the same time as at least a portion of the processing of the first graphics calculation processing task by the integrated graphics processing circuit, wherein separate data paths are established for the integrated graphics processing circuit and the discrete graphics processing circuit for each to independently access system memory for manipulating the data.

Assignments (2)
CHANGE OF NAME Recorded Apr 30, 2015
From: ATI TECHNOLOGIES INC.
To: ATI TECHNOLOGIES ULC
Reel/Frame 035553/0835 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2015
From: TEMKINE, GRIGORI; DRAPKIN, OLEG; CARUK, GORDON
To: ATI TECHNOLOGIES INC.
Reel/Frame 035457/0286 →
Continuity (2)
Continuation 11139733 · May 27, 2005
Related Publication 20140035936A1 · Feb 6, 2014