Patent application number | Description | Published |
20130159563 | System and Method for Transmitting Graphics Rendered on a Primary Computer to a Secondary Computer - One embodiment of the present invention sets forth a method for transmitting data rendered on a primary computer to a secondary computer. The method includes transmitting to GPU graphics processing commands received from a graphics application, where the graphics processing commands are configured to cause the GPU to render a first set of graphics data, determining that graphics data should be collected for transmission to the secondary computer, conveying to the GPU that the first set of graphics data should be stored in a first buffer within a frame buffer memory, transmitting to the GPU graphics processing commands received from a process application executing on the primary computer, where the graphics processing commands are configured to cause the GPU to perform operations on the first set of graphics data to generate a second set of graphics data, and transmitting the second set of graphics data to the secondary computer. | 06-20-2013 |
20130285883 | HYBRID DISPLAY MONITOR - One embodiment is a system that includes a display monitor, a docking station, and a computing device. The display monitor includes firmware that receives display frames and causes the display frames to be displayed. The docking station is coupled to the monitor and includes a connector device and a wireless receiver. The computing device includes a processing unit that generates display frames, a software driver, and a wireless transmitter. When the computing device is connected to the connector device, the processing unit transmits display frames to the display monitor via the connector device. When the software driver detects that the computing device has disconnected from the connector device, the software driver causes the processing unit to send the display frames to the wireless transmitter, which then transmits the display frames to the display monitor via a wireless connection established between the wireless transmitter and the wireless receiver. | 10-31-2013 |
20130286034 | COMPRESSING GRAPHICS DATA RENDERED ON A PRIMARY COMPUTER FOR TRANSMISSION TO A REMOTE COMPUTER - One embodiment of the present invention sets forth a method for compressing via a pixel shader color information associated with a line of pixels. An intermediary representation of an uncompressed stream of color information is first generated that indicates, for each pixel, whether a previous adjacent pixel shares color information with the pixel. A set of cascading buffers is then generated based on intermediary representation, where each cascading buffer represents a number of unique color codes across different groups of pixels. Finally, a compressed output stream that specifies the unique color codes as well as the number of pixels that share each unique color code is generated based on the set of cascading buffers. | 10-31-2013 |
20130290478 | SYSTEM AND METHOD FOR ENABLING A REMOTE COMPUTER TO CONNECT TO A PRIMARY COMPUTER FOR REMOTE GRAPHICS - One embodiment of the present invention sets forth a method for enabling a remote computer to receive graphics data from a primary computer. An external storage device is populated with remote graphics client software and connection information. The external storage device is then connected to a remote computer from which the user would like to connect to the primary computer. The remote graphics client software executes on the remote computer without any installation and configuration operations. The primary computer subsequently receives a connection request from the remote graphics client software executing on the remote computer. In response to the connection request, the primary computer transmits locally rendered graphics data to the remote computer for display on a display device coupled to the remote computer. | 10-31-2013 |
20130293557 | SERVER BASED GRAPHICS PROCESSING TECHNIQUES - 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). | 11-07-2013 |
20140055470 | Host Context Techniques for Server Based Graphics Processing - The server based graphics processing techniques, describer herein, include receiving function calls by a three dimension graphics application programming interface host-guest communication manager (D3D HGCM) service module from one or more given instances of a guest shin layer through a communication channel of a host-guest communication manager (HGCM). The one or more given instances of the guest shim layer are executing under control of a respective given instance of a guest operating system. The HGCM and D3D HGCM service module are executing under control of a host operating system. The rendering context for each function call received from the each instance of the guest shim layer is determined by the D3D HGCM service module. Each function call of a given rendering context is sent by the D3D HGCM service module to a corresponding device specific kernel mode driver of a given graphics processing unit for scheduling execution with the given graphics processing unit of the given rendering context. | 02-27-2014 |
20140063028 | Memory Space Mapping Techniques for Server Based Graphics Processing - 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. | 03-06-2014 |
20150042664 | SCALE-UP TECHNIQUES FOR MULTI-GPU PASSTHROUGH - A device for processing graphics data includes a plurality of graphics processing units. Each graphics processing unit may correspond to a virtualized operating system. Each graphics processing unit may include a configuration register indicating a 3D class code and a command register indicating that I/O cycle decoding is disabled. The device may be configured to transmit a configuration register value to a virtualized operating system indicating a VGA-compatible class code. The device may be configured to transmit a command register value to the virtualized operating system that indicates that I/O cycle decoding is enabled. In this manner, legacy bus architecture of the device may not limit the number of graphics processing units deployed in the device. | 02-12-2015 |
Patent application number | Description | Published |
20140078148 | SYSTEM AND METHOD FOR RENDERING AND DISPLAYING HIGH-RESOLUTION IMAGES - One embodiment of the present invention sets forth a technique for displaying high-resolution images using multiple graphics processing units (GPUs). The graphics driver is configured to present one virtual display device, simulating a high-resolution mosaic display surface, to the operating system and the application programs. The graphics driver is also configured to partition the display surface amongst the GPUs and transmit commands and data to the local memory associated with the first GPU. A video bridge automatically broadcasts this information to the local memories associated with the remaining GPUs. Each GPU renders and displays only the partition of the display surface assigned to that particular GPU, and the GPUs are synchronized to ensure the continuity of the displayed images. This technique allows the system to display higher resolution images than the system hardware would otherwise support, transparently to the operating system and the application programs. | 03-20-2014 |
20140079327 | HYBRID ENCODING/DECODING FOR REMOTE GAMING - Rendered image data is encoded by a server computing device and transmitted to a remote client device that executes an interactive application program. The client device decodes and displays the image data and, when the user interacts with the application program, the client device provides input control signals to the server computing device. When input control signals are received by the server, the latency incurred for encoding and/or decoding the image data is reduced. Therefore, the user does not experience inconsistencies in the frame rate of images displayed on the client when the user interacts with the application program. The reduction in latency is achieved by dynamically switching from a hardware implemented encoding technique to a software implemented encoding technique. Latency may also be reduced by dynamically switching from a hardware implemented decoding technique to a software implemented decoding technique. | 03-20-2014 |
20140082120 | EFFICIENT CPU MAILBOX READ ACCESS TO GPU MEMORY - Techniques are disclosed for peer-to-peer data transfers where a source device receives a request to read data words from a target device. The source device creates a first and second read command for reading a first portion and a second portion of a plurality of data words from the target device, respectively. The source device transmits the first read command to the target device, and, before a first read operation associated with the first read command is complete, transmits the second read command to the target device. The first and second portions of the plurality of data words are stored in a first and second portion a buffer memory, respectively. Advantageously, an arbitrary number of multiple read operations may be in progress at a given time without using multiple peer-to-peer memory buffers. Performance for large data block transfers is improved without consuming peer-to-peer memory buffers needed by other peer GPUs. | 03-20-2014 |
20140171190 | IMPLEMENTING A REMOTE GAMING SERVER ON A DESKTOP COMPUTER - One embodiment of the invention sets forth a method that includes receiving a request from a client device to launch an application program for execution on a server device, where the application program is configured to operate in a full-screen display mode, and, in response, creating an execution environment for the application program that disables the full-screen display mode. Within the execution environment, the application program is configured to generate the rendered image data for display on the client device. With the disclosed approach, application programs that are configured to execute on an application server computer system in a full-screen display mode can be executed through an execution environment that includes a shim layer configured to disable the full-screen display mode and transmit the render image data to a client device for display. | 06-19-2014 |