On Mon,  2 Oct 2017 17:39:56 +0200
Mahdi Khanalizadeh <[email protected]> wrote:

> Add an explanation for wl_surface.attach why a wl_surface.damage request
> is necessary. Explicitly declare it implementation defined behaviour if the
> wl_surface.damage request is omitted to give the compositor some leeway
> on how it handles attaches.
> 
> Signed-off-by: Mahdi Khanalizadeh <[email protected]>
> ---
>  protocol/wayland.xml | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/protocol/wayland.xml b/protocol/wayland.xml
> index aabc7ae..6f6cc11 100644
> --- a/protocol/wayland.xml
> +++ b/protocol/wayland.xml
> @@ -1365,6 +1365,11 @@
>       wl_buffer before receiving the wl_buffer.release event, the surface
>       contents become undefined immediately.
>  
> +     Attaching a buffer should always be accompanied by a
> +     wl_surface.damage request to signal the compositor that the
> +     contents of the buffer have changed. Otherwise it is implementation
> +     defined whether the wl_surface.attach request has any visible effect.

Hi,

thank you for the clarification, I assume this is as a response to our
IRC discussion.

How about phrasing it: "Attaching a buffer should always be accompanied
by at least one wl_surface.damage request to signal the compositor
which parts of the surface contents are changed."?

- There can be multiple damage requests to build up a complex region.
- It's not about buffer contents, it is about surface contents.
- We don't want to imply that you must always give full surface-sized
  damage when the buffer is swapped.

However, most of the new paragraph are redundant with the first
paragraph for the damage request. Could you instead add one more
sentence to the first paragraph explaining that the compositor has no
obligation to use the new contents outside of the given damage?

There is also the request damage_buffer which is otherwise the same but
uses a different coordinate system.

> +
>       If wl_surface.attach is sent with a NULL wl_buffer, the
>       following wl_surface.commit will remove the surface content.
>        </description>

Thanks,
pq

Attachment: pgpNsKL7TQ__w.pgp
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to