Buffers for display acceleration
First Claim
Patent Images
1. A system for managing a display, the system comprising:
- a first processor configured to receive client graphics commands from a client application and store the client graphics commands in a command buffer, wherein the client graphics commands comprise commands for generating a first image layer;
a compositing module configured to;
generate compositing processing commands in response to determining that at least a second image layer is to be composited within the first image layer; and
store the compositing processing commands in a compositing buffer; and
a second processor configured to execute the client graphics commands from the command buffer, wherein the second processor executes the client graphics commands in parallel with the compositing module generating the compositing processing commands.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments enable a graphics processor to more efficiently process graphics and compositing processing commands. In certain embodiments, a client application submits client graphics commands to a graphics driver. The client in certain embodiments can notify a window server that client graphics commands have been submitted. In response, the window server can generate compositing processing commands and provide these commands to the graphics driver. Advantageously, a graphics processor can execute the client graphics commands while the window server generates compositing processing commands. As a result, processing resource can be used more efficiently.
46 Citations
37 Claims
-
1. A system for managing a display, the system comprising:
-
a first processor configured to receive client graphics commands from a client application and store the client graphics commands in a command buffer, wherein the client graphics commands comprise commands for generating a first image layer; a compositing module configured to; generate compositing processing commands in response to determining that at least a second image layer is to be composited within the first image layer; and store the compositing processing commands in a compositing buffer; and a second processor configured to execute the client graphics commands from the command buffer, wherein the second processor executes the client graphics commands in parallel with the compositing module generating the compositing processing commands. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of managing a display, the method comprising:
-
providing client graphics commands from a first client application to a processor, the client graphics commands comprising commands for generating a first image layer; determining whether at least a second image layer of a second client application is to be composited with the first image layer from the first client application; in response to said determination, generating compositing processing commands while, in parallel with the generating compositing processing commands, the processor executes the client graphics commands; and providing the compositing processing commands to the processor, wherein the compositing processing commands are configured to be executed by the processor after the client graphics commands are executed by the processor, such that a composited image is configured to be provided to a display. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system for managing a display, the system comprising:
-
a graphics driver comprising one or more command buffers, the one or more command buffers configured to receive client graphics commands from a client application, the client graphics commands comprising commands for generating a first image layer; and a window server in communication with the graphics driver and with the client application, the window server comprising one or more compositing buffers;
wherein the window server is configured to;generate compositing processing commands in response to determining that at least a second image layer is to be composited with the first image layer; store the compositing processing commands in a compositing buffer; and flush the compositing processing commands to the one or more command buffers of the graphics driver; wherein the graphics driver is configured to provide the client graphics commands to a processor, such that the processor is configured to execute the client graphics commands from the command buffer, wherein the processor executes the client graphics commands in parallel with the window server generating the compositing processing commands. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A machine readable non-transitory storage medium storing executable instructions which when executed by a processor cause the processor to perform operations for managing a display, the operation comprising:
-
providing client graphics commands from a first client application to a processor, the client graphics commands comprising commands for generating a first image layer; determining whether at least a second image layer of a second client application is to be composited with the first image layer from the first client application; in response to said determination, generating compositing processing commands while, in parallel with generating compositing processing commands, the processor executes the client graphics commands; and providing the compositing processing commands to the processor, wherein the compositing processing commands are configured to be executed by the processor after the client graphics commands are executed by the processor, such that a composited image is configured to be provided to a display. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A data processing system comprising:
-
a processor coupled to a bus; a memory coupled to the processor through the bus; a display coupled to the bus; instructions executed by the processor from the memory to cause the processor to;
receive client graphics commands from a first client application the client graphics commands comprising commands for generating a first image layer;determine whether at least a second image layer of a second client application is to be composited with the first image layer from the first client application; generate, in response to said determination, compositing processing commands while, in parallel with generating compositing processing commands, executing the client graphics commands; and provide the compositing processing commands to the memory, wherein the compositing processing commands are configured to execute after the client graphics commands are executed, such that a composited image is configured to be provided to the display.
-
-
30. A machine readable non-transitory storage medium storing executable instructions which when executed by a processor cause the processor to perform operations for managing a display, the operations comprising:
-
configuring a first processor to receive client graphics commands from a client application and storing the client graphics commands in a command buffer, wherein the client graphics commands comprise commands for generating a first image layer; generating compositing processing commands in response to determining that at least a second image layer is to be composited within the first image layer; storing the compositing processing commands in a compositing buffer; configuring a second processor to execute the client graphics commands from the command buffer, wherein the second processor executes the client graphics commands in parallel with a compositing module generating the compositing processing commands. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
Specification