The order of operations during wl_surface.commit hasn't been clarified
since wp_viewport, wl_surface.set_buffer_transform and
wl_surface.set_buffer_scale were added.

Explain that any state that changes co-ordinates is applied first, and
that unchanged co-ordinate altering state is held over from previous
commits.

Signed-off-by: Derek Foreman <der...@osg.samsung.com>
---

Instead of putting this in the damage_buffer commit I figured I'd
try to keep it separate.  I think we can paint this bike shed
independently, and don't need to hold up the weston damage_buffer
implementation for it?

I'll happily squash the two patches if that's unreasonable.
 protocol/wayland.xml | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 4d75f39..3cd440f 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1229,11 +1229,16 @@
        state. After commit, the new pending state is as documented for each
        related request.
 
-       On commit, a pending wl_buffer is applied first, all other state
-       second. This means that all coordinates in double-buffered state are
-       relative to the new wl_buffer coming into use, except for
-       wl_surface.attach itself. If there is no pending wl_buffer, the
-       coordinates are relative to the current surface contents.
+       On commit, a pending wl_buffer is applied first.  State which
+       affects the buffer to surface co-ordinate conversion (such as
+       wp_viewport or buffer scale and transform) should be applied next.
+       These bits of state are carried over from the previous commit if
+       the current commit doesn't replace them.
+
+       All other state follows. This means that all coordinates in
+       double-buffered state are relative to the new wl_buffer and
+       its associated transformations, except for wl_surface.attach
+       itself.
 
        All requests that need a commit to become effective are documented
        to affect double-buffered state.
-- 
2.6.2

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to