IP Library Granted Patent US 9,143,770
Granted Patent B2
US 9,143,770 · App. 12/982,173 · Granted Sep 22, 2015

Application programming interface supporting mixed two and three dimensional displays

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,143,770
App. No.
12/982,173
Granted
Sep 22, 2015
Kind
B2
Abstract

Application programming interfaces (APIs) are provided that enable applications to display two-dimensional and three-dimensional content in regions of a display screen. A first command is received from an application directing at least in part a first configuration of a first region of the screen to support the three-dimensional content. The first command is responded to by sending a first configuration request to place the screen in a three-dimensional mode within the first region. A second command is received directing at least in part a second configuration of a second region of the screen to support the two-dimensional content. The second command is responded to by sending a second configuration request to place the screen in mode corresponding to a two-dimensional mode within the second region.

Claims (41)

1. A method performed by one or more processors used by an application programming interface (API) to enable applications to display both first content and second content on a screen, the first content being three-dimensional content, the method comprising:

receiving, by one or more processors, a first command from an application directing at least in part a first configuration of a first region of the screen to support the first content, the first configuration being a first three-dimensional configuration;

responding to the first command by sending a first configuration request to place the screen in a three-dimensional mode within the first region;

receiving a second command directing at least in part a second configuration of a second region of the screen to support the second content;

responding to the second command by sending a second configuration request to place the screen in a mode corresponding to the second configuration within the second region; and receiving a third command configured to adjust a configurable depth of the three-dimensional content.

2. The method of claim 1 , wherein the second configuration is a two-dimensional configuration.

3. The method of claim 1 , wherein the second configuration is a second three-dimensional configuration, and the first configuration and the second configuration differing by at least one three-dimensional characteristic.

4. The method of claim 1 , further comprising:

receiving the three-dimensional content in the form of first primitives; and

rendering three-dimensional pixel data in a graphics pipeline based on the first primitives.

5. The method of claim 4 , further comprising:

accessing a three-dimensional region rendering programming sequence when rendering the three-dimensional pixel data to perform a three-dimensional screen region rendering task.

6. The method of claim 1 , further comprising:

receiving the three-dimensional content in a first form; and

translating at least a portion of the three-dimensional content into a second form.

7. The method of claim 1 , further comprising:

directing a visual presentation of a calling convention of the first command.

8. An application programming interface (API) that supports both a plurality of software applications that are at least partially executed by one or more processors and at least a first of a plurality of displays, the first of the plurality of displays supporting both two-dimensional content viewing and three-dimensional content viewing, the API comprising:

a first program sequence, at least partially executed by one or more processors, that, in response to a first request from a first of the plurality of software applications, at least in part causes a first screen region of the first of the plurality of displays to enter a first configuration, the first configuration supporting the three-dimensional content viewing;

a second program sequence that, in response to a second request, at least in part causes a second screen region of the first of the plurality of displays to enter a second configuration, the second configuration supporting the two-dimensional content viewing;

a third program sequence that, in response to a third request from the first of the plurality of software applications, causes a configurable depth of three-dimensional content displayed in the first screen region to be adjusted in accordance to the third request; and

at least one of the first screen region and the second screen region being less than a full-screen region of the first of the plurality of displays.

9. The API of claim 8 , wherein the first request from the first software application includes a three-dimensional indicator such that first program sequence causes the first screen region to enter the first configuration to support the display of three-dimensional content.

10. The API of claim 8 , wherein the second request includes a two-dimensional indicator such that the second program sequence causes the second screen region to enter the second configuration to support the display of two-dimensional content.

11. The API of claim 10 , further comprising:

a graphics pipeline that receives three-dimensional content in the form of first primitives, that renders three-dimensional pixel data based on the first primitives, and that sends the three-dimensional pixel data to cause a display of the three-dimensional content in the first screen region.

12. The API of claim 11 , wherein the graphics pipeline receives two-dimensional content in the form of second primitives, renders two-dimensional pixel data based on the second primitives, and sends the two-dimensional pixel data to cause display of the second content in the second screen region concurrently with the display of the three-dimensional content in the first screen region.

13. The API of claim 12 , wherein the graphics pipeline accesses a first library module when rendering the three-dimensional pixel data to perform a three-dimensional screen region rendering task, and accesses a second library module when rendering the two-dimensional pixel data to perform a two-dimensional screen region rendering task.

14. The API of claim 8 , further comprising:

an API description document that defines a plurality of calling conventions of the API, the plurality of calling conventions including a first calling convention for a request to configure a screen region to display three-dimensional content and a second calling convention for a request to configure a screen region to display two-dimensional content.

15. An application programming interface (API) that supports both a plurality of software applications that are at least partially executed by one or more processors and a display, the display having a full-screen region, the API comprising:

a library of programming elements, each element of the library of programming elements having a calling convention;

a first programming sequence, at least partially executed by one or more processors, triggered by a first call from a first of the plurality of software applications, the first call corresponding to a first element of the library of programming elements, and the first programming sequence at least in part causes placement of a first screen region of the display in a first configuration;

a second programming sequence, triggered by a second call, that at least in part causes placement of a second screen region of the display in a second configuration, at least one of the first screen region and the second screen region being less than the full-screen region, at least one of the first configuration and the second configuration being a three-dimensional configuration, and the first configuration being different from that of the second configuration; and

a third programming sequence, triggered by a third call, that adjusts a configurable depth of three-dimensional content being displayed in at least one of the first screen region or the second screen region.

16. The API of claim 15 , wherein the second call is from a second of the plurality of software applications.

17. The API of claim 15 , wherein the second call is from the first of the plurality of software applications.

18. The API of claim 15 , wherein at least a portion of the first programming sequence is within the first programming element of the library of programming elements.

19. The API of claim 15 , wherein the first programming sequence at least in part causes placement of the first screen region of the display in the first configuration by directing a display driver.

20. The API of claim 15 , wherein the first configuration is a three-dimensional configuration and the second configuration is a two-dimensional configuration.

21. The API of claim 15 , wherein the first configuration is a first three-dimensional configuration and the second configuration is a second three-dimensional configuration.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2011
From: BENNETT, JAMES D.; KARAOGUZ, JEYHAN
To: BROADCOM CORPORATION
Reel/Frame 026134/0044 →