Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit a8f190b

Browse files
committed
layer-shell: introduce ack for new outputs
This ack sequence eliminates the race between a client creating a new layer surface and the compositor rendering the first frame of a new output.
1 parent 1b5dc46 commit a8f190b

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

unstable/wlr-layer-shell-unstable-v1.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,35 @@
9292
are not affected.
9393
</description>
9494
</request>
95+
96+
<event name="new_output" since="3">
97+
<description summary="notify of a new wl_output">
98+
This event indicates that a new output has been created. All clients
99+
must send an ack_new_output request in response to this event. If a
100+
client wishes to create a new layer surface in response to this new
101+
output, it must make an ack_new_output request with the provided serial
102+
after creating any new layer surfaces using the get_layer_surface
103+
request and before the first commit on any of the new surfaces. If
104+
the client does not wish to create a new layer surface, they should
105+
ack immediately.
106+
107+
This allows the compositor to wait until new layer surfaces are ready
108+
before rendering the first frame of the output.
109+
</description>
110+
<arg name="serial" type="uint"/>
111+
</event>
112+
113+
<request name="ack_new_output" since="3">
114+
<description summary="ack a new_output event">
115+
This request informs the server that following commits on layer surfaces
116+
created by the client take the new output into account.
117+
118+
A client may make multiple ack_new_output requests before committing.
119+
The last request made before the commit indicates which new_output
120+
event the commit is in response to.
121+
</description>
122+
<arg name="serial" type="uint" summary="serial from a new_output event"/>
123+
</request>
95124
</interface>
96125

97126
<interface name="zwlr_layer_surface_v1" version="3">

0 commit comments

Comments
 (0)