Class WlBufferResource
- All Implemented Interfaces:
WaylandObject
A buffer provides the content for a wl_surface. Buffers are created through factory interfaces such as wl_shm, wp_linux_buffer_params (from the linux-dmabuf protocol extension) or similar. It has a width and a height and can be attached to a wl_surface, but the mechanism by which a client provides and updates the contents is defined by the buffer factory interface.
Color channels are assumed to be electrical rather than optical (in other words, encoded with a transfer function) unless otherwise specified. If the buffer uses a format that has an alpha channel, the alpha channel is assumed to be premultiplied into the electrical color channel values (after transfer function encoding) unless otherwise specified.
Note, because wl_buffer objects are created from multiple independent factory interfaces, the wl_buffer interface is frozen at version 1.
-
Field Summary
FieldsFields inherited from class org.freedesktop.wayland.server.Resource
wlResourcePtr
-
Constructor Summary
ConstructorsConstructorDescriptionWlBufferResource
(MemorySegment pointer) WlBufferResource
(Client client, int version, int id, WlBufferRequests implementation) -
Method Summary
Methods inherited from class org.freedesktop.wayland.server.Resource
addDestroyListener, destroy, equals, getClient, getId, getImplementation, getPointer, getVersion, hashCode, postError, postEvent, postEvent, register, unregister
-
Field Details
-
INTERFACE_NAME
- See Also:
-
-
Constructor Details
-
WlBufferResource
-
WlBufferResource
-
-
Method Details
-
release
public void release()compositor releases bufferSent when this wl_buffer is no longer used by the compositor. The client is now free to reuse or destroy this buffer and its backing storage.
If a client receives a release event before the frame callback requested in the same wl_surface.commit that attaches this wl_buffer to a surface, then the client is immediately free to reuse the buffer and its backing storage, and does not need a second buffer for the next surface content update. Typically this is possible, when the compositor maintains a copy of the wl_surface contents, e.g. as a GL texture. This is an important optimization for GL(ES) compositors with wl_shm clients.
-