IP Library Granted Patent US 8,416,235
Granted Patent B2
US 8,416,235 · App. 13/326,008 · Granted Apr 9, 2013

Method and system for providing transparent access to hardware graphic layers

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 8,416,235
App. No.
13/326,008
Granted
Apr 9, 2013
Kind
B2
Abstract

A software application and an operating system may run on a computer, which includes a graphics card and a video display, where the graphics card is operable to render images to the video display, and the operating system includes a universal application programming interface (API) which supports hardware layers on graphics cards. The operating system may be operable to receive draw events via the universal API; determine what hardware layers are available on the graphics card, and what their parameters are; and respond to draw requests from the software application by rendering the draw requests selectively to any of the available hardware layers on the graphics card.

Claims (23)

1. A method of accessing a plurality of hardware layers that are composited by a layering hardware, the method comprising:

determining, with a processor, which of the hardware layers are available by querying a first application programming interface;

associating, with the processor, a video surface with a hardware layer that is determined to be available, the hardware layers comprising the hardware layer;

receiving a draw stream from an application through a second application programming interface with the processor, the draw stream directed to the video surface; and

rendering the draw stream received at the second programming interface directly to the hardware layer with the processor without the application having knowledge of an existence of the hardware layer or the hardware layers.

2. The method of claim 1 further comprising determining, with the processor, capabilities of the hardware layers by querying the first application programming interface.

3. The method of claim 1 , wherein the video surface is a chunk of memory.

4. The method of claim 1 , wherein a plurality of video surfaces are combined with the layering hardware, the video surfaces including the video surface.

5. The method of claim 1 wherein the video surface is blended by the layering hardware.

6. The method of claim 1 , wherein a plurality of video surfaces are combined non-destructively with the layering hardware, the video surfaces including the video surface.

7. The method of claim 1 , wherein the second programming interface is a windowing system.

8. A computer-readable storage medium encoded with computer executable instructions, the computer executable instructions executable with a processor to access a plurality of hardware layers that are composited by a layering hardware, the computer-readable storage medium comprising:

instructions executable to determine which of the hardware layers are available in response to a query made through a first application programming interface;

instructions executable to associate a video surface with a hardware layer that is determined to be available, the hardware layers comprising the hardware layer;

instructions executable to receive a draw stream from an application through a second application programming interface, wherein the draw stream is directed to the video surface; and

instructions executable to render the draw stream received at the second programming interface directly to the hardware layer without the application having knowledge of an existence of the hardware layer.

9. The computer-readable storage medium of claim 8 , wherein the first and second programming interfaces are operating system programming interfaces.

10. The computer-readable storage medium of claim 8 further comprising instructions executable to provide information about the hardware layers to the application through the first programming interface.

11. The computer-readable storage medium of claim 8 , wherein the video surface is a partitioned chuck of memory in the layering hardware.

12. The computer-readable storage medium of claim 8 , wherein the video surface is composited by the layering hardware.

13. The computer-readable storage medium of claim 8 , wherein the second programming interface is a window manager.

14. The computer-readable storage medium of claim 8 , wherein the draw stream comprises a draw event.

15. The computer-readable storage medium of claim 8 , wherein the draw stream comprises a request by the application to render at least one of an image, a vector, or a character.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 053313/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: QNX SOFTWARE SYSTEMS LIMITED
To: 8758271 CANADA INC.
Reel/Frame 032607/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: 8758271 CANADA INC.
To: 2236008 ONTARIO INC.
Reel/Frame 032607/0674 →
CHANGE OF ADDRESS Recorded Feb 27, 2012
From: QNX SOFTWARE SYSTEMS LIMITED
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 027768/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: QNX SOFTWARE SYSTEMS LTD.
To: QNX SOFTWARE SYSTEMS
Reel/Frame 027753/0806 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: QNX SOFTWARE SYSTEMS GMBH & CO. KG
To: 7801769 CANADA INC.
Reel/Frame 027753/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: 7801769 CANADA INC.
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 027753/0939 →
REGISTRATION Recorded Feb 23, 2012
From: QNX SOFTWARE SYSTEMS GMBH & CO. KG
To: QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 027755/0101 →
CHANGE OF NAME Recorded Feb 23, 2012
From: QNX SOFTWARE SYSTEMS
To: QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 027755/0156 →
CHANGE OF SEAT Recorded Feb 23, 2012
From: QNX SOFTWARE SYSTEMS GMBH & CO. KG
To: QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 027755/0174 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: FRY, DARRIN; LIN, ANGELA; DONOHOE, DAVID
To: QNX SOFTWARE SYSTEMS LTD.
Reel/Frame 027753/0718 →