Memory space mapping techniques for server based graphics processing
First Claim
1. A method comprising:
- loading a given instance of a guest shim layer;
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 and the guest display device 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 (HGCM), a communication channel between the given instance of the guest shim layer and a three dimensional graphics application programming interface host-guest communication manager (D3D HGCM) service module, in response to loading the given instance of the guest shim layer;
loading the D3D HGCM service module and creating a communication channel between the given instance of the shim layer and the D3D HGCM service module, by the HGCM, in response to the request for the communication channel;
mapping shared memory between a virtual machine host operating system and the virtual machine guest operating system to create a graphics command buffer memory space for each of a plurality of rendering context, by the given instance of the shim layer; and
sending one or more function calls of a given rendering context, utilizing the graphics buffer memory space, from the given instance of the guest shim layer through the communication channel to the D3D HGCM service module.
1 Assignment
0 Petitions
Accused Products
Abstract
The server based graphics processing techniques, describer herein, include loading a given instance of a guest shim layer and 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 and the guest display device interface are executing under control of a virtual machine guest operating system. The given instance of the shim layer requests a communication channel between the given instance of the guest shim layer and a host-guest communication manager (D3D HGCM) service module from a host-guest communication manager (HGCM). In response to the request for the communication channel loading, the D3D HGCM service module is loaded and a communication channel between the given instance of the shim layer and the D3D HGCM service module is created by the HGCM. The given instance of the shim layer maps the graphics buffer memory space of a host D3D DDI binary executing under control of a host operating system. Thereafter, function calls are sent from the given instance of the guest shim layer through the communication channel to the D3D HGCM service module utilizing the graphics buffer memory space mapping.
-
Citations
14 Claims
-
1. A method comprising:
-
loading a given instance of a guest shim layer; 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 and the guest display device 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 (HGCM), a communication channel between the given instance of the guest shim layer and a three dimensional graphics application programming interface host-guest communication manager (D3D HGCM) service module, in response to loading the given instance of the guest shim layer; loading the D3D HGCM service module and creating a communication channel between the given instance of the shim layer and the D3D HGCM service module, by the HGCM, in response to the request for the communication channel; mapping shared memory between a virtual machine host operating system and the virtual machine guest operating system to create a graphics command buffer memory space for each of a plurality of rendering context, by the given instance of the shim layer; and sending one or more function calls of a given rendering context, utilizing the graphics buffer memory space, from the given instance of the guest shim layer through the communication channel to the D3D HGCM service module. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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; 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 and the guest display device 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 (HGCM), a communication channel between the given instance of the guest shim layer and a three dimensional graphics application programming interface host-guest communication manager (D3D HGCM) service module, in response to loading the given instance of the guest shim layer; loading the D3D HGCM service module and creating a communication channel between the given instance of the shim layer and the D3D HGCM service module, by the HGCM, in response to the request for the communication channel; mapping shared memory between a virtual machine host operating system and the virtual machine guest operating system to create a graphics command buffer memory space for each of a plurality of rendering context, by the given instance of the shim layer; and sending one or more function calls of a given rendering context, utilizing the graphics buffer memory space, from the given instance of the guest shim layer through the communication channel to the D3D HGCM service module. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification