Server based graphics processing techniques
First Claim
Patent Images
1. A method comprising:
- delivering hardware resources, software and information of a computing platform to a plurality of user devices as a utility delivered over a network, wherein rendering display frames output on a display of a given user device by the hardware resources, software and information on the computing platform includes,receiving, by a given instance of a runtime application programming interface, a plurality of graphics commands;
passing the plurality of graphics commands from the given instance of the runtime application programming interface through a given instance of a guest shim layer to a given instance of a guest display device interface;
calling back from the given instance of the guest display device interface into the given instance of the guest shim layer with a function call in response to the plurality of graphics commands, wherein the given instance of the runtime application programming interface, the given instance of the guest shim layer and the given instance of the guest display device interface are executing under control of a given instance of a guest operating system; and
sending the function call from the given instance of the guest shim layer through a communication channel of a host guest communication manager to a host display device interface, wherein the host guest communication manager and host display device interface are executing under control of a host operating system.
1 Assignment
0 Petitions
Accused Products
Abstract
The server based graphics processing techniques, describer herein, include passing graphics commands from a shim layer to a guest display device interface, wherein the shim layer and the guest display device interface (DDI) are executing in a given instance of a guest virtual machine (VM). The guest DDI calls back to the shim layer with corresponding function calls. The function calls are passed from the shim layer to a host DDI through a communication channel of a host-guest communication manager (HGCM), wherein the host display device interface and host-guest communication manager are executing in a host virtual machine manager (VMM).
39 Citations
20 Claims
-
1. A method comprising:
-
delivering hardware resources, software and information of a computing platform to a plurality of user devices as a utility delivered over a network, wherein rendering display frames output on a display of a given user device by the hardware resources, software and information on the computing platform includes, receiving, by a given instance of a runtime application programming interface, a plurality of graphics commands; passing the plurality of graphics commands from the given instance of the runtime application programming interface through a given instance of a guest shim layer to a given instance of a guest display device interface; calling back from the given instance of the guest display device interface into the given instance of the guest shim layer with a function call in response to the plurality of graphics commands, wherein the given instance of the runtime application programming interface, the given instance of the guest shim layer and the given instance of the guest display device interface are executing under control of a given instance of a guest operating system; and sending the function call from the given instance of the guest shim layer through a communication channel of a host guest communication manager to a host display device interface, wherein the host guest communication manager and host display device interface are executing under control of a host operating system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more non-transitory computing device readable media storing one or more sets of computing device executable instructions which when executed by one or more processing units perform a process comprising:
-
loading a given instance of a guest shim layer in response to a given instance of a runtime application programming interface receiving a first graphics command from a given application; loading a given instance of a guest display device interface that calls back into the given instance of the guest shim layer, in response to loading the given instance of the guest shim layer, wherein the guest shim layer, the guest display device interface and the runtime application programming interface are executing under control of a virtual machine guest operating system; requesting, by the given instance of the shim layer to a host-guest communication manager, a communication channel between the given instance of the guest shim layer and a host display device interface, in response to loading the given instance of the guest shim layer; loading the host display device interface and create a communication channel between the given instance of the shim layer and the host display device interface, by the host-guest communication manager, in response to the request for the communication channel; passing the graphics commands from the given instance of the runtime application programming interface through the given instance of the guest shim layer to the given instance of the guest display device interface; calling back from the given instance of the guest display device interface into the given instance of the guest shim layer with one or more function calls based on a set of the graphics commands; sending the one or more function calls from the given instance of the guest shim layer through the communication channel to the host display device interface. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
delivering hardware resources, software and information of a computing platform to a plurality of user devices as a with delivered over a network, wherein rendering display frames output on a display of a given user device by the hardware resources, software and information on the computing platform includes, injecting an application initialization routine, when an application starts running in a given virtual machine guest, that includes an entry point that changes a search path for a display device interface to a search path of a guest shim layer; loading the guest shim layer to run in the given virtual machine guest, at the changed search path; loading a guest display device interface to run in the given virtual machine guest that calls back into the guest shim layer, in response to loading the guest shim layer; requesting, from a host-guest communication manager running in a virtual machine management host, a communication channel between the guest shim layer and a host display device interface, in response to loading the guest shim layer; and creating a given rendering context for the given instance of the virtual machine guest, in response to loading the host display device interface. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification