Mirroring graphics content to an external display
First Claim
1. A method comprising:
- compositing, by a data processing system, graphics content to generate frames of image data for an internal display, the graphics content generated by an application executing on the data processing system;
storing the image data in a first framebuffer;
displaying an image generated from the image data in the first framebuffer on the internal display of the data processing system;
detecting if an external display is coupled to the data processing system;
when an external display is detected, determining if the application has generated separate graphics content for the external display;
when the application has not generated separate graphics content;
performing, by a scaler, scaling operations on the image data in the first framebuffer, wherein the scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content with the compositing for a current image frame started before the scaling is complete for a previous image frame;
storing the scaled image data in a second framebuffer,dropping the scaled image data associated with the current image frame if the image generated from scaled image data associated with the previous image frame has not completed displaying on the external display; and
sending data for displaying an image generated from the scaled image data in the second framebuffer to the external display.
0 Assignments
0 Petitions
Accused Products
Abstract
A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.
28 Citations
9 Claims
-
1. A method comprising:
-
compositing, by a data processing system, graphics content to generate frames of image data for an internal display, the graphics content generated by an application executing on the data processing system; storing the image data in a first framebuffer; displaying an image generated from the image data in the first framebuffer on the internal display of the data processing system; detecting if an external display is coupled to the data processing system; when an external display is detected, determining if the application has generated separate graphics content for the external display; when the application has not generated separate graphics content; performing, by a scaler, scaling operations on the image data in the first framebuffer, wherein the scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content with the compositing for a current image frame started before the scaling is complete for a previous image frame; storing the scaled image data in a second framebuffer, dropping the scaled image data associated with the current image frame if the image generated from scaled image data associated with the previous image frame has not completed displaying on the external display; and sending data for displaying an image generated from the scaled image data in the second framebuffer to the external display. - View Dependent Claims (2, 3)
-
-
4. An apparatus comprising:
-
a processing device configured to generate a list of compositing commands for graphics content to be displayed on an internal display, the graphics content generated by an application executing on the apparatus; a graphics processing unit, coupled to the processing device, configured to execute the list of compositing commands to generate frames of image data based on the graphics content; the internal display, coupled to the graphics processing unit, configured to display an image generated from the image data; and a scaler unit, coupled to the graphics processing unit, configured to perform scaling operations on the image data to generate scaled image data when the image for the internal display is to be displayed on an external display, wherein the scaler unit performs the scaling operations asynchronously with respect to operations of the processing device and the graphics processing unit with the compositing for a current image started before the scaling is complete for a previous frame, and further drops the scaled image data associated with the current image frame if the image generated from scaled image data associated with the previous image frame has not completed displaying on the external display, and wherein the scaling operations are not performed when the application has generated separate graphics content for the external display. - View Dependent Claims (5, 6)
-
-
7. A non-transitory machine readable storage medium storing instructions which when executed cause a data processing system to perform a method comprising:
-
compositing graphics content to generate frames of image data for an internal display, the graphics content generated by an application executing on the data processing system; storing the image data in a first framebuffer; displaying an image generated from the image data in the first framebuffer on the internal display of the data processing system; detecting if an external display is coupled to the data processing system; when an external display is detected, determining if the application has generated separate graphics content for the external display; when the application has not generated separate graphics content; performing, by a scaler, scaling operations on the image data in the first framebuffer, wherein the scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content with the compositing for a current image frame started before the scaling is complete for a previous frame; storing the scaled image data in a second framebuffer; dropping the scaled image data associated with the current image frame if the image generated from scaled image data associated with the previous image frame has not completed displaying on the external display; and sending data for displaying an image generated from the scaled image data in the second framebuffer to the external display. - View Dependent Claims (8, 9)
-
Specification