Extended graphics context with common compositing
First Claim
1. A method for maintaining display of application graphics for a first application and a second application, both compiled for and in active concurrent execution within a first operating system, the method comprising:
- establishing an extended rendering context of the first operating system having a first context space of the extended rendering context associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping;
calculating updates to surfaces of the first application and the second application using the first operating system;
rendering the updated surfaces using the first operating system to generate an extended graphics frame in a shared memory location accessible by both the first operating system and a second operating system running concurrently on a shared kernel, such that a first portion of the extended graphics frame is associated with the first context space and a second portion of the extended graphics frame is associated with the second context space, and such that the updated surfaces of the first application are rendered to the first portion of the extended graphics frame and the updated surfaces of the second application are rendered to the second portion of the extended graphics frame; and
receiving, by a console application of the second operating system, a draw notification indicating that the second portion of the extended graphics frame is available at the shared memory location.
3 Assignments
0 Petitions
Accused Products
Abstract
Cross-environment rendering and user interaction support provide a seamless computing experience in a multi-operating system computing environment. The multi-operating system computing environment may include a mobile operating system and a desktop operating system running concurrently and independently on a mobile computing device. The mobile operating system may be associated with a first user environment and the desktop operating system may be associated with a second user environment. Real-time display of applications running in the mobile operating system within the second user environment is provided by rendering the application through an extended graphics context of the mobile operating system. Application graphics for multiple applications are rendered into portions of a single graphics frame. The mobile computing device may be a smartphone running the Android mobile operating system and a full desktop Linux distribution on a modified Android kernel.
240 Citations
20 Claims
-
1. A method for maintaining display of application graphics for a first application and a second application, both compiled for and in active concurrent execution within a first operating system, the method comprising:
-
establishing an extended rendering context of the first operating system having a first context space of the extended rendering context associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping; calculating updates to surfaces of the first application and the second application using the first operating system; rendering the updated surfaces using the first operating system to generate an extended graphics frame in a shared memory location accessible by both the first operating system and a second operating system running concurrently on a shared kernel, such that a first portion of the extended graphics frame is associated with the first context space and a second portion of the extended graphics frame is associated with the second context space, and such that the updated surfaces of the first application are rendered to the first portion of the extended graphics frame and the updated surfaces of the second application are rendered to the second portion of the extended graphics frame; and receiving, by a console application of the second operating system, a draw notification indicating that the second portion of the extended graphics frame is available at the shared memory location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A mobile computing device comprising:
-
a first application and a second application in active concurrent execution within a first operating system; a first graphics surface of the first operating system updated by the first application; a second graphics surface of the first operating system updated by the second application; an extended rendering context of the first operating system, the extended rendering context including a first context space associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping; a graphics server of the first operating system that renders updated surface information of the first graphics surface and the second graphics surface to generate an extended graphics frame in a shared memory location accessible by both the first operating system and a second operating system running concurrently on a shared kernel, such that a first portion of the extended graphics frame is associated with the first context space and a second portion of the extended graphics frame is associated with the second context space, and such that updated surfaces of the first application are rendered to the first portion of the extended graphics frame and the updated surfaces of the second application are rendered to the second portion of the extended graphics frame; and a console application running in the second operating system that accesses the shared memory location to display the second portion of the extended graphics frame on a display of a user environment associated with the second operating system. - View Dependent Claims (13, 14, 20)
-
-
15. A computing device including a non-transitory computer-readable medium storing instructions for a physical processor, the instructions, when executed, causing the processor to perform steps comprising:
-
executing a first application and a second application concurrently on a first operating system; establishing an extended rendering context of the first operating system, the first operating system having a first context space of the extended rendering context associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping; calculating updates to surfaces of the first application and the second application using the first operating system; rendering the updated surfaces using the first operating system to generate an extended graphics frame in a shared memory location accessible by both the first operating system and a second operating system running concurrently on a shared kernel, such that a first portion of the extended graphics frame is associated with the first context space and a second portion of the extended graphics frame is associated with the second context space, and such that the updated surfaces of the first application are rendered to the first portion of the extended graphics frame and the updated surfaces of the second application are rendered to the second portion of the extended graphics frame; and receiving, by a console application of the second operating system, a draw notification indicating that the second portion of the extended graphics frame is available at the shared memory location. - View Dependent Claims (16, 17, 18, 19)
-
Specification