diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 156859a..0e01889 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -126,6 +126,13 @@
+
+
+
+ Ask the compositor to create a new region.
+
+
+
@@ -568,6 +575,40 @@
+
+
+ This requests sets the region of the surface that contain
+ opaque content. The opaque region is an optimization hint for
+ the compositor that lets it optimize out redrawing of content
+ behind opaque regions. Setting an opaque region is not
+ required for correct behaviour, but marking transparent
+ content as opaque will result in repaint artifacts.
+
+ The region will be clipped to the extents of the current
+ surface size. Setting the region has copy semantics, and the
+ region object can be destroyed immediately after setting the
+ opaque region. If a buffer of a different size is attached or
+ if a nil region is set, the opaque region will revert back to
+ default. The default opaque region is empty.
+
+
+
+
+
+
+
+ This requests sets the region of the surface that can receive
+ pointer and touch events. The region will be clipped to the
+ extents of the current surface size. Setting the region has
+ copy semantics, and the region object can be destroyed
+ immediately after setting the input region. If a buffer of a
+ different size is attached or if a nil region is passed, the
+ input region will revert back to default. The default input
+ region is the entire surface.
+
+
+
+
@@ -735,4 +776,39 @@
+
+
+ Region.
+
+
+
+
+ Destroy the region. This will invalidate the object id.
+
+
+
+
+
+ Add the specified rectangle to the region
+
+
+
+
+
+
+
+
+
+
+ Subtract the specified rectangle from the region
+
+
+
+
+
+
+
+
+
+