mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2026-04-16 08:21:35 -04:00
protocol: warn clients about some wl_output properties
All wl_output properties don't always make sense for all compositors. Some compositors might not implement a "global compositor space", (e.g. 3D compositors) in which case properties like x and y don't make sense. Some compositors might expose virtual outputs, in which case modes, make and model are not relevant. In a lot of these situations, information from xdg_output is better suited. Compositors also expose output refresh rate, which shouldn't be used for synchronization purposes. Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Derek Foreman <derek.foreman.wayland@gmail.com>
This commit is contained in:
parent
a94b77d0a6
commit
8c121e1017
1 changed files with 18 additions and 1 deletions
|
|
@ -2407,6 +2407,13 @@
|
||||||
|
|
||||||
The physical size can be set to zero if it doesn't make sense for this
|
The physical size can be set to zero if it doesn't make sense for this
|
||||||
output (e.g. for projectors or virtual outputs).
|
output (e.g. for projectors or virtual outputs).
|
||||||
|
|
||||||
|
Note: wl_output only advertises partial information about the output
|
||||||
|
position and identification. Some compositors, for instance those not
|
||||||
|
implementing a desktop-style output layout or those exposing virtual
|
||||||
|
outputs, might fake this information. Instead of using x and y, clients
|
||||||
|
should use xdg_output.logical_position. Instead of using make and model,
|
||||||
|
clients should use xdg_output.name and xdg_output.description.
|
||||||
</description>
|
</description>
|
||||||
<arg name="x" type="int"
|
<arg name="x" type="int"
|
||||||
summary="x position within the global compositor space"/>
|
summary="x position within the global compositor space"/>
|
||||||
|
|
@ -2451,7 +2458,17 @@
|
||||||
the output device. This is not necessarily the same as
|
the output device. This is not necessarily the same as
|
||||||
the output size in the global compositor space. For instance,
|
the output size in the global compositor space. For instance,
|
||||||
the output may be scaled, as described in wl_output.scale,
|
the output may be scaled, as described in wl_output.scale,
|
||||||
or transformed, as described in wl_output.transform.
|
or transformed, as described in wl_output.transform. Clients
|
||||||
|
willing to retrieve the output size in the global compositor
|
||||||
|
space should use xdg_output.logical_size instead.
|
||||||
|
|
||||||
|
Clients should not use the refresh rate to schedule frames. Instead,
|
||||||
|
they should use the wl_surface.frame event or the presentation-time
|
||||||
|
protocol.
|
||||||
|
|
||||||
|
Note: this information is not always meaningful for all outputs. Some
|
||||||
|
compositors, such as those exposing virtual outputs, might fake the
|
||||||
|
refresh rate or the size.
|
||||||
</description>
|
</description>
|
||||||
<arg name="flags" type="uint" enum="mode" summary="bitfield of mode flags"/>
|
<arg name="flags" type="uint" enum="mode" summary="bitfield of mode flags"/>
|
||||||
<arg name="width" type="int" summary="width of the mode in hardware units"/>
|
<arg name="width" type="int" summary="width of the mode in hardware units"/>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue