wayland::serve...r_release_v1_t(3)
πΈ NAME πΈ
Okay bestie, welcome to the wayland::server::zwp_linux_buffer_release_v1_t page from the Wayland++ manual, section 3 β and the vibe is buffer release explicit synchronization. Periodt.
β¨ SYNOPSIS β¨
#include <wayland-server-protocol-unstable.hpp>
π Public Member Functions π
void fenced_release (int fence, bool post=true)β release buffer with fencevoid immediate_release (bool post=true)β release buffer immediatelybool proxy_has_object () constβ Check whether this wrapper actually wraps an object.void post_no_memory () constβ Post"not enough memory"error to the client.uint32_t get_id () constβ Get the internal ID of the resource.client_t get_client () constβ Get the associated client.unsigned int get_version () constβ Get interface version.std::string get_class ()β Retrieve the interface name (class) of a resource object.
π Static Public Attributes π
static constexpr std::uint32_t fenced_release_since_version = 1β Minimum protocol version required for thefenced_releasefunction.static constexpr std::uint32_t immediate_release_since_version = 1β Minimum protocol version required for theimmediate_releasefunction.
π¦ Detailed Description π¦
buffer release explicit synchronization
This object is instantiated in response to a zwp_linux_surface_synchronization_v1.get_release request.
It provides an alternative to wl_buffer.release events, providing a unique release from a single wl_surface.commit request. The release event also supports explicit synchronization, providing a fence FD for the client to synchronize against.
Exactly one event, either a fenced_release or an immediate_release, will be emitted for the wl_surface.commit request. The compositor can choose release by release which event it uses.
This event does not replace wl_buffer.release events; servers are still required to send those events.
Once a buffer release object has delivered a 'fenced_release' or an 'immediate_release' event it is automatically destroyed.
Definition at line 2621 of file wayland-server-protocol-unstable.hpp.
π Member Function Documentation π
π void zwp_linux_buffer_release_v1_t::fenced_release (int fence, bool post = true)
release buffer with fence
Parameters
- fence β fence for last operation on buffer
Sent when the compositor has finalised its usage of the associated buffer for the relevant commit, providing a dma_fence which will be 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.
Definition at line 5336 of file wayland-server-protocol-unstable.cpp.
π«Ά std::string wayland::server::resource_t::get_class () [inherited]
Retrieve the interface name (class) of a resource object.
Returns
- Interface name of the resource object.
π§ client_t wayland::server::resource_t::get_client () const [inherited]
Get the associated client
Returns
- the client that owns the resource.
π uint32_t wayland::server::resource_t::get_id () const [inherited]
Get the internal ID of the resource
Returns
- the internal ID of the resource
π unsigned int wayland::server::resource_t::get_version () const [inherited]
Get interface version
Returns
- Interface version this resource has been constructed with.
π void zwp_linux_buffer_release_v1_t::immediate_release (bool post = true)
release buffer immediately
Sent when the compositor has finalised its usage of the associated buffer for the relevant commit, and either performed no operations 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.
Definition at line 5341 of file wayland-server-protocol-unstable.cpp.
πΈ void wayland::server::resource_t::post_no_memory () const [inherited]
Post "not enough memory" error to the client
If the compositor has not enough memory to fulfill a certail request of the client, this function can be called to notify the client of this circumstance.
β bool wayland::server::resource_t::proxy_has_object () const [inherited]
Check whether this wrapper actually wraps an object.
Returns
trueif there is an underlying object,falseif this wrapper is empty
π Member Data Documentation π
π std::uint32_t wayland::server::zwp_linux_buffer_release_v1_t::fenced_release_since_version = 1 [static], [constexpr]
Minimum protocol version required for the fenced_release function.
Definition at line 2666 of file wayland-server-protocol-unstable.hpp.
π¦ std::uint32_t wayland::server::zwp_linux_buffer_release_v1_t::immediate_release_since_version = 1 [static], [constexpr]
Minimum protocol version required for the immediate_release function.
Definition at line 2687 of file wayland-server-protocol-unstable.hpp.
π Author π
Generated automatically by Doxygen for Wayland++ from the source code.
Thatβs the whole wayland::serve...r_release_v1_t(3) situation from the Wayland++ manual β version 1.0.1, dated Fri Mar 27 2026. Bye bestie, go sync those fences π
β¨π
π¦ where this page comes from
- ubuntu stonking: waylandpp-dev 1.0.1-2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms