[PATCH 10/21] docs: Improve wl_shm and wl_shm_pool protocol docs
Jason Ekstrand
jason at jlekstrand.net
Sat Mar 30 14:57:01 PDT 2013
On Sat, Mar 30, 2013 at 12:11 AM, <matthias.clasen at gmail.com> wrote:
> From: Matthias Clasen <mclasen at redhat.com>
>
> Reword some paragraphs, and spell out 'file descriptor'.
> ---
> protocol/wayland.xml | 73 +++++++++++++++++++++++++++++++++++-----------------
> 1 file changed, 49 insertions(+), 24 deletions(-)
>
> diff --git a/protocol/wayland.xml b/protocol/wayland.xml
> index cc009eb..31d7ce8 100644
> --- a/protocol/wayland.xml
> +++ b/protocol/wayland.xml
> @@ -196,20 +196,21 @@
> The wl_shm_pool object encapsulates a piece of memory shared
> between the compositor and client. Through the wl_shm_pool
> object, the client can allocate shared memory wl_buffer objects.
> - The objects will share the same underlying mapped memory.
> - Reusing the mapped memory avoids the setup/teardown overhead and
> - is useful when interactively resizing a surface or for many
> - small buffers.
> + All objects created through the same pool share the same
> + underlying mapped memory. Reusing the mapped memory avoids the
> + setup/teardown overhead and is useful when interactively resizing
> + a surface or for many small buffers.
Perhaps "All wl_buffer objects" would be better
> </description>
>
> <request name="create_buffer">
> - <description summary="create wl_buffer from pool">
> - Create a wl_buffer from the pool. The buffer is created a
> - offset bytes into the pool and has width and height as
> - specified. The stride arguments specifies the number of bytes
> - from beginning of one row to the beginning of the next. The
> - format is the pixel format of the buffer and must be one of
> - those advertised through the wl_shm.format event.
> + <description summary="create a buffer from the pool">
> + Create a wl_buffer object from the pool.
Should go in summary
> +
> + The buffer is created offset bytes into the pool and has
> + width and height as specified. The stride arguments specifies
> + the number of bytes from beginning of one row to the beginning
> + of the next. The format is the pixel format of the buffer and
> + must be one of those advertised through the wl_shm.format event.
>
> A buffer will keep a reference to the pool it was created from
> so it is valid to destroy the pool immediately after creating
> @@ -226,15 +227,19 @@
>
> <request name="destroy" type="destructor">
> <description summary="destroy the pool">
> - Destroy the pool.
> + Destroy the shared memory pool.
Summary
> +
> + The mmapped memory will be released when all
> + buffers that have been created from this pool
> + are gone.
> </description>
> </request>
>
> <request name="resize">
> <description summary="change the size of the pool mapping">
> This request will cause the server to remap the backing memory
> - for the pool from the fd passed when the pool was creating but
> - using the new size.
> + for the pool from the file descriptor passed when the pool was
> + created, but using the new size.
> </description>
>
> <arg name="size" type="int"/>
> @@ -243,26 +248,41 @@
>
> <interface name="wl_shm" version="1">
> <description summary="shared memory support">
> - Support for shared memory buffers.
> + A global singleton object that provides support for shared
> + memory.
> +
> + Clients can create wl_shm_pool objects using the create_pool
> + request.
> +
> + At connection setup time, the wl_shm object emits one or more
> + format events to inform clients about the valid pixel formats
> + that can be used for buffers.
> </description>
>
> <enum name="error">
> - <entry name="invalid_format" value="0"/>
> - <entry name="invalid_stride" value="1"/>
> - <entry name="invalid_fd" value="2"/>
> + <description summary="wl_shm error values">
> + These errors can be emitted in response to wl_shm requests.
> + </description>
> + <entry name="invalid_format" value="0" summary="buffer format is not known"/>
> + <entry name="invalid_stride" value="1" summary="invalid size or stride during pool or buffer creation"/>
> + <entry name="invalid_fd" value="2" summary="mmapping the file descriptor failed"/>
> </enum>
>
> <enum name="format">
> - <entry name="argb8888" value="0"/>
> - <entry name="xrgb8888" value="1"/>
> + <description summary="pixel formats">
> + This describes the memory layout of an individual pixel.
> + </description>
> + <entry name="argb8888" value="0" summary="32-bit ARGB format"/>
> + <entry name="xrgb8888" value="1" summary="32-bit RGB format"/>
> </enum>
>
> <request name="create_pool">
> <description summary="create a shm pool">
> - This creates wl_shm_pool object, which can be used to create
> - shared memory based wl_buffer objects. The server will mmap
> - size bytes of the passed fd, to use as backing memory for then
> - pool.
> + Create a new wl_shm_pool object.
summary
> +
> + The pool can be used to create shared memory based buffer
> + objects. The server will mmap size bytes of the passed file
> + descriptor, to use as backing memory for the pool.
> </description>
>
> <arg name="id" type="new_id" interface="wl_shm_pool"/>
> @@ -271,6 +291,11 @@
> </request>
>
> <event name="format">
> + <description summary="pixel format description">
> + Informs the client about a valid pixel format that
> + can be used for buffers. Known formats include
> + argb8888 and xrgb8888.
We don't want to put known formats here. Those will be documented in
the formats enum. Documenting them here only makes for more
documentation to keep up-to-date.
> + </description>
> <arg name="format" type="uint"/>
> </event>
> </interface>
> --
> 1.8.1.4
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list