Abstract:
The disclosed embodiments provide a system that facilitates seamlessly switching between graphics-processing units (GPUs) to drive a display. In one embodiment, the system receives a request to switch from using a first GPU to using a second GPU to drive the display. In response to this request, the system uses a kernel thread which operates in the background to configure the second GPU to prepare the second GPU to drive the display. While the kernel thread is configuring the second GPU, the system continues to drive the display with the first GPU and a user thread continues to execute a window manager which performs operations associated with servicing user requests. When configuration of the second GPU is complete, the system switches the signal source for the display from the first GPU to the second GPU.
Abstract:
Display control of a sink device is provided. The sink device has tiles forming a display and is connected to a source device via interfaces. Each interface provides a video stream to a respective tile. The source device includes a policy engine, and a GPU (graphics processing unit). The policy engine obtains link training data provided by the driver of the GPU, including information regarding a negotiated link configuration for the interfaces. The policy engine generates configuration data based on the synchronous link training data, the configuration data including a set of configurations each of which associated with a resolution of the display. The policy engine provides driving data to the GPU derived by mapping a resolution to a configuration implementation on the interfaces based on the synchronous link training data and the configuration data.
Abstract:
The disclosed embodiments provide a system that facilitates seamlessly switching between graphics-processing units (GPUs) to drive a display. In one embodiment, the system receives a request to switch from using a first GPU to using a second GPU to drive the display. In response to this request, the system uses a kernel thread which operates in the background to configure the second GPU to prepare the second GPU to drive the display. While the kernel thread is configuring the second GPU, the system continues to drive the display with the first GPU and a user thread continues to execute a window manager which performs operations associated with servicing user requests. When configuration of the second GPU is complete, the system switches the signal source for the display from the first GPU to the second GPU.
Abstract:
An electronic device selectively couples a head with links in a graphics processing unit to a currently selected display port in a pair of display ports. During operation, control logic in the electronic device monitors a pair of configuration signals from the pair of display ports, where the pair of configuration signals correspond to physical connections to the pair of display ports. Then, the control logic determines a selection control signal based on the monitored pair of configuration signals, a policy setting and a default display port, where the selection control signal specifies the currently selected display port. Moreover, the control logic provides the selection control signal to a multiplexer in the electronic device. Next, the multiplexer selectively couples the head with the links in the graphics processing unit to the currently selected display port based on the selection control signal.
Abstract:
Systems and methods are disclosed to enable switching of graphics processing unit (GPU) resources based on different factors. Embodiments include a virtual graphics driver as an interface between GPU drivers and the applications or graphics framework executing on an electronic device. The virtual graphics driver may switch GPU resources from a first GPU to a second GPU by routing function calls to the first GPU or the second GPU. The switching of GPU resources may be based on power management, system events such as hot-plug events, load management, user requests, any other factor, or any combination thereof. In some embodiments, a virtual frame buffer driver is provided that interfaces with the frame buffer of the GPU and provides a virtual view of the frame buffer to manage additional system application programming interfaces (APIs) during the switch.
Abstract:
An electronic device selectively couples a head with links in a graphics processing unit to a currently selected display port in a pair of display ports. During operation, control logic in the electronic device monitors a pair of configuration signals from the pair of display ports, where the pair of configuration signals correspond to physical connections to the pair of display ports. Then, the control logic determines a selection control signal based on the monitored pair of configuration signals, a policy setting and a default display port, where the selection control signal specifies the currently selected display port. Moreover, the control logic provides the selection control signal to a multiplexer in the electronic device. Next, the multiplexer selectively couples the head with the links in the graphics processing unit to the currently selected display port based on the selection control signal.
Abstract:
An electronic device selectively couples a head with links in a graphics processing unit to a currently selected display port in a pair of display ports. During operation, control logic in the electronic device monitors a pair of configuration signals from the pair of display ports, where the pair of configuration signals correspond to physical connections to the pair of display ports. Then, the control logic determines a selection control signal based on the monitored pair of configuration signals, a policy setting and a default display port, where the selection control signal specifies the currently selected display port. Moreover, the control logic provides the selection control signal to a multiplexer in the electronic device. Next, the multiplexer selectively couples the head with the links in the graphics processing unit to the currently selected display port based on the selection control signal.
Abstract:
Information is provided to a source device during link training regarding the state of a remote link when an intermediate device using a different protocol is connected between source and sink devices. The intermediate device includes two controllers connected by a cable, the first controller being connected to the source device and the second controller being connected to the sink device. State information regarding the remote device may be provided by a state machine that stores data to a register on the intermediate device. Based on the state of the remote link, the source device is able to generate a representation of the end to end link between the source and sink device, and to perform link training accordingly.
Abstract:
An electronic device selectively couples a head with links in a graphics processing unit to a currently selected display port in a pair of display ports. During operation, control logic in the electronic device monitors a pair of configuration signals from the pair of display ports, where the pair of configuration signals correspond to physical connections to the pair of display ports. Then, the control logic determines a selection control signal based on the monitored pair of configuration signals, a policy setting and a default display port, where the selection control signal specifies the currently selected display port. Moreover, the control logic provides the selection control signal to a multiplexer in the electronic device. Next, the multiplexer selectively couples the head with the links in the graphics processing unit to the currently selected display port based on the selection control signal.
Abstract:
Systems and methods include an electronic device having multiple GPUs and a GPU power control process that controls switching between a first GPU and a second GPU, such as a high performance GPU. The electronic device uses the first GPU when an external device is coupled to an adapter connected to the electronic device.