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.
2021-06-07 09:22:56 -04:00
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.
2021-05-19 09:57:37 -04:00
Simon Zeni
982498fab3
render: introduce renderer_get_render_buffer_caps
2021-04-28 20:55:57 +02:00
Simon Ser
3a04fb4560
render/pixman: check format is supported in create_buffer
2021-04-27 20:36:03 +02:00
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
2021-04-27 20:36:03 +02:00
Simon Zeni
144b41a45c
pixman: implement read pixels
2021-04-27 18:28:41 +02:00
Simon Zeni
30706b71fb
render/pixman: implement preferred_read_format
2021-04-27 18:28:41 +02:00
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
2021-04-22 15:44:49 +02:00
Simon Ser
8ca2b4cf49
render/pixman: destroy textures on renderer teardown
2021-04-22 15:44:49 +02:00
Simon Ser
9901d49fa5
render/pixman: cleanup when renderer is destroyed
...
We were leaking wlr_pixman_buffers and a wlr_drm_format_set.
2021-04-22 15:44:49 +02:00
Simon Zeni
0d90dddfab
render: introduce pixman renderer
2021-04-17 09:54:39 +02:00