Simon Ser
38ba5881a0
buffer: replace get_data_ptr with {begin,end}_data_ptr_access
...
This new API allows buffer implementations to know when a user is
actively accessing the buffer's underlying storage. This is
important for the upcoming client-backed wlr_buffer implementation.
4 years ago
Simon Ser
f73c04b801
render/pixman: avoid sqrt() in render_quad without rotation
...
When the matrix doesn't have a rotation, we can avoid a sqrt() call.
Tested with Sway's tabbed containers.
4 years ago
Simon Zeni
982498fab3
render: introduce renderer_get_render_buffer_caps
4 years ago
Simon Ser
3a04fb4560
render/pixman: check format is supported in create_buffer
4 years ago
Simon Ser
24fde77c62
buffer: add format param to get_data_ptr
...
Allow wlr_buffer_impl.get_data_ptr to return a format.
This allows the Pixman renderer to not care about get_dmabuf/get_shm,
and only care about get_data_ptr. This will also help with [1], because
client wl_shm buffers can't implement get_shm.
[1]: https://github.com/swaywm/wlroots/pull/2892
References: https://github.com/swaywm/wlroots/issues/2864
4 years ago
Simon Zeni
144b41a45c
pixman: implement read pixels
4 years ago
Simon Zeni
30706b71fb
render/pixman: implement preferred_read_format
4 years ago
Simon Ser
c314920a3d
render: remove NULL checks in wlr_texture_impl.destroy
...
The NULL check already exists in wlr_texture_destroy, no need to
duplicate it in each impl
4 years ago
Simon Ser
8ca2b4cf49
render/pixman: destroy textures on renderer teardown
4 years ago
Simon Ser
9901d49fa5
render/pixman: cleanup when renderer is destroyed
...
We were leaking wlr_pixman_buffers and a wlr_drm_format_set.
4 years ago
Simon Zeni
0d90dddfab
render: introduce pixman renderer
4 years ago