[wayland-protocols,3/3] linux-explicit-synchronization: Clarify implicit synchronization guarantees of release events

Submitted by Alexandros Frantzis on Nov. 29, 2018, 9:35 a.m.

Details

Message ID 20181129093530.3400-4-alexandros.frantzis@collabora.com
State Accepted
Series "Updates to linux-explicit-synchronization"
Commit 57423eac60cc234ebfad15f394488a47f69afe16
Headers show

Commit Message

Alexandros Frantzis Nov. 29, 2018, 9:35 a.m.
Clarify that after zwp_buffer_release_v1 events, otherwise unused
buffers can be reused without any additional implicit synchronization.
This is in contrast to wl_buffer.release, which doesn't guarantee that
implicit synchronization is not required to safely use a buffer after
the event is received.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
---
 .../linux-explicit-synchronization-unstable-v1.xml     | 10 ++++++++++
 1 file changed, 10 insertions(+)

Patch hide | download patch | download mbox

diff --git a/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml b/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml
index 6d5783d..d0a8cf0 100644
--- a/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml
+++ b/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml
@@ -226,6 +226,11 @@ 
         signaled when all operations by the compositor on that buffer for that
         commit have finished.
 
+        Once the fence has signaled, and assuming the associated buffer is not
+        pending release from other wl_surface.commit requests, no additional
+        explicit or implicit synchronization is required to safely reuse or
+        destroy the buffer.
+
         This event destroys the zwp_linux_buffer_release_v1 object.
       </description>
       <arg name="fence" type="fd" summary="fence for last operation on buffer"/>
@@ -238,6 +243,11 @@ 
         using it, or has a guarantee that all its operations on that buffer for
         that commit have finished.
 
+        Once this event is received, and assuming the associated buffer is not
+        pending release from other wl_surface.commit requests, no additional
+        explicit or implicit synchronization is required to safely reuse or
+        destroy the buffer.
+
         This event destroys the zwp_linux_buffer_release_v1 object.
       </description>
     </event>

Comments

Pekka Paalanen Dec. 14, 2018, 12:01 p.m.
On Thu, 29 Nov 2018 11:35:30 +0200
Alexandros Frantzis <alexandros.frantzis@collabora.com> wrote:

> Clarify that after zwp_buffer_release_v1 events, otherwise unused
> buffers can be reused without any additional implicit synchronization.
> This is in contrast to wl_buffer.release, which doesn't guarantee that
> implicit synchronization is not required to safely use a buffer after
> the event is received.
> 
> Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
> ---
>  .../linux-explicit-synchronization-unstable-v1.xml     | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml b/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml
> index 6d5783d..d0a8cf0 100644
> --- a/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml
> +++ b/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml
> @@ -226,6 +226,11 @@
>          signaled when all operations by the compositor on that buffer for that
>          commit have finished.
>  
> +        Once the fence has signaled, and assuming the associated buffer is not
> +        pending release from other wl_surface.commit requests, no additional
> +        explicit or implicit synchronization is required to safely reuse or
> +        destroy the buffer.
> +
>          This event destroys the zwp_linux_buffer_release_v1 object.
>        </description>
>        <arg name="fence" type="fd" summary="fence for last operation on buffer"/>
> @@ -238,6 +243,11 @@
>          using it, or has a guarantee that all its operations on that buffer for
>          that commit have finished.
>  
> +        Once this event is received, and assuming the associated buffer is not
> +        pending release from other wl_surface.commit requests, no additional
> +        explicit or implicit synchronization is required to safely reuse or
> +        destroy the buffer.
> +
>          This event destroys the zwp_linux_buffer_release_v1 object.
>        </description>
>      </event>

Excellent wording.

Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>


Thanks,
pq