diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 0c7c0530..f3ba2966 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -729,7 +729,7 @@ - + @@ -751,6 +751,19 @@ indicates that the app does not care about framerate. The framerate is specified in mHz, that is framerate of 60000 is 60Hz. + A method of "scale" or "driver" implies a scaling operation of + the surface, either via a direct scaling operation or a change of + the output mode. This will override any kind of output scaling, so + that mapping a surface with a buffer size equal to the mode can + fill the screen independent of buffer_scale. + + A method of "fill" means we don't scale up the buffer, however + any output scale is applied. This means that you may run into + an edge case where the application maps a buffer with the same + size of the output mode but buffer_scale 1 (thus making a + surface larger than the output). In this case it is allowed to + downscale the results to fit the screen. + The compositor must reply to this request with a configure event with the dimensions for the output on which the surface will be made fullscreen. @@ -1596,8 +1609,6 @@ summary="indicates this is the current mode"/> - @@ -1610,14 +1621,15 @@ current. In other words, the current mode is always the last mode that was received with the current flag set. - The size of a mode is given relative to the global compositor - space. This is not necessarily the native size of the display, - as the output might be scaled, as described in wl_output.scale. - In this case the scaled flag will be set. + The size of a mode is given in physical hardware units of + the output device. This is not necessarily the same as + the output size in the global compositor space. For instance, + the output may be scaled, as described in wl_output.scale, + or transformed , as described in wl_output.transform. - - + +